Linux基础知识 ·

路由的概念

[隐藏]

路由最大的功能就是能够转发我们的数据,并且如同它的名字一样,是能够完成路径选择的。每个主机都有自己的路由表,当自己的数据转发给下一个路由之后,数据就交由下一个路由去转发了,每一次转发我们称为一跳。

路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。路由器通过动态维护路由表来反映当前的网络拓扑,并通过网络上其他路由器交换路由和链路信息来维护路由表。

路由表的组成:

Linux系统上,路由表是由小网到大网一次排序的,若是有多条路由信息,那么将会是从小网段,依次排序到大网段,直至0.0.0.0/0的默认路由。

路由表信息含义:

1.Destination:目标网络或主机。

2.Gateway:网关地址,“*”代表未设。

3.Genmask:目标网络的子网掩码;'255.255.255.255'为主机,'0.0.0.0'为缺省路由。

4.Flags:

  • U (route is up) 路由正常
  • H (target is a host) 主机路由
  •  G (use gateway) 使用网关的间接路由
  • R (reinstate route for dynamic routing) 为动态选路恢复路由
  • D (dynamically installed by daemon or redirect) 该路由由选路进程或重定向动态创建
  • M (modified from routing daemon or rederict) 该路由已由选路进程或重定向修改
  • ! (reject route) 阻塞路由

5.Metric:通向目标的距离(通常以跳来计算)。新内核不使用此概念,而选路进程可能会用。

6.Ref:使用此路由的活动进程个数(Linux内核并不使用)。

7.Use:查找此路由的次数。根据-F 和 -C的使用,此数值是路由缓存的损失数或采样数。

8.Iface:使用此路由发送分组的接口。

静态路由:

手动添加路由信息,被称为静态路由或手动路由,所规划的路由必须是当前设备或IP可以直接通讯的情况。若中间间隔有设备,必须先连接中间的设备,然后依次连接规划路由。

动态路由:

通过路由器与路由器之间的协商自动实现动态路由,需要额外的软件支持。

参与评论