网络路由介绍,route指令,查询路由表的过程,默认路由

2024-08-27 08:04

本文主要是介绍网络路由介绍,route指令,查询路由表的过程,默认路由,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

路由

本地主机的路由功能

引入

route指令 

查询路由表的过程

介绍

示例

默认路由

注意


路由

本地主机的路由功能

引入

报文经过多个路由器转发至公网,再从公网定位后转发至私网,最终到达目标主机

而报文肯定是要先经过本地主机的

  • 所以本地主机也具有路由功能,也就有自己的路由表

route指令 

从左到右介绍是:

  • 当前主机可以连接到的网络/主机(也就是下一跳的网络号/ip地址)
  • 下一跳的路由器地址(0.0.0.0表示当前记录对应的ip地址与本机在同一网段,不需要经过路由器)
  • 每一个网络都配有一个子网掩码(确定ip地址的网络部分和主机部分)
  • 路由标志 -- U : 该路由正在使用 , G : 该设备是路由器
  • Iface -- 该路由的网络接口

 

查询路由表的过程

介绍

  • 拿着目标主机的ip & genmask 和 destination 作对比
  • 如果匹配,则通过特定网络接口发送报文
  • 不匹配就继续往下查

  • 如果不知道结果,则说明这个路由器功能损坏,我们不把这种特殊情况列入

示例

路由就跟现实中问路是一样的:

假如你要去某个地方,问附近的路人

  • 要么他不知道
  • 要么他知道地方,比如左转等等
  • 要么他不知道,但他说谁谁谁比较熟悉这个地儿,让你去找他问
  • 要么他就是这个地方的人,直接带着你去(比如保安啥的)

但在网络世界里,"不知道"一般不会出现

  • 如果出现,只能说这个路由器有问题
  • 路由器本来就是要指明方向的,结果它做不到,这就属于特殊情况

默认路由

指向当前网段的一台路由器,该路由器负责连接当前网络和其他网络 

如果有多台路由器:

  • 这些路由器可以相互通信并交换路由信息,通过动态路由协议判断由哪个路由器来转发数据包
  • 如果有多个路由器能够到达目的地网络,路由器会选择最佳路径来转发数据包

总之就这样,经过查找每台设备的路由表,并根据转发规则,报文会一步步靠近目标主机

注意

以上目的ip都是公网ip

  • 如果目的ip是私网ip,只可能是想要访问同一网段内的主机

这篇关于网络路由介绍,route指令,查询路由表的过程,默认路由的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1111095

相关文章

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

C# 预处理指令(# 指令)的具体使用

《C#预处理指令(#指令)的具体使用》本文主要介绍了C#预处理指令(#指令)的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1、预处理指令的本质2、条件编译指令2.1 #define 和 #undef2.2 #if, #el

MyBatis-Plus使用动态表名分表查询的实现

《MyBatis-Plus使用动态表名分表查询的实现》本文主要介绍了MyBatis-Plus使用动态表名分表查询,主要是动态修改表名的几种常见场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录1. 引入依赖2. myBATis-plus配置3. TenantContext 类:租户上下文

MySQL基本表查询操作汇总之单表查询+多表操作大全

《MySQL基本表查询操作汇总之单表查询+多表操作大全》本文全面介绍了MySQL单表查询与多表操作的关键技术,包括基本语法、高级查询、表别名使用、多表连接及子查询等,并提供了丰富的实例,感兴趣的朋友跟... 目录一、单表查询整合(一)通用模版展示(二)举例说明(三)注意事项(四)Mapper简单举例简单查询

JAVA SpringBoot集成Jasypt进行加密、解密的详细过程

《JAVASpringBoot集成Jasypt进行加密、解密的详细过程》文章详细介绍了如何在SpringBoot项目中集成Jasypt进行加密和解密,包括Jasypt简介、如何添加依赖、配置加密密钥... 目录Java (SpringBoot) 集成 Jasypt 进行加密、解密 - 详细教程一、Jasyp

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

Java通过ServerSocket与Socket实现通信过程

《Java通过ServerSocket与Socket实现通信过程》本文介绍了Java中的ServerSocket和Socket类,详细讲解了它们的构造方法和使用场景,并通过一个简单的通信示例展示了如何... 目录1 ServerSocket2 Socket3 服务器端4 客户端5 运行结果6 设置超时总结1

springboot+mybatis一对多查询+懒加载实例

《springboot+mybatis一对多查询+懒加载实例》文章介绍了如何在SpringBoot和MyBatis中实现一对多查询的懒加载,通过配置MyBatis的`fetchType`属性,可以全局... 目录springboot+myBATis一对多查询+懒加载parent相关代码child 相关代码懒

在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)

《在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)》DataGrip是JetBrains公司出品的一款现代化数据库管理工具,支持多种数据库系统,包括MySQL,:本文主要介绍在D... 目录前言一、登录 mysql 服务器1.1 打开 DataGrip 并添加数据源1.2 配置 MySQL