路由器收到报文后如何进行报文转发?路由的查询方式及路由表来源

2023-03-30 10:46:55

一、 路由器的工作过程

马保国马老师的中国武术讲求"接、化、发",即"接拳"、"化脓"、"发丧"。

真·接化发

而路由器生成报文转发表的过程也是"接、化、发",但此"接、化、发"的意思为"接收路由更新信息"、"转化为路由表项"、"发送至转发表",当有数据报文到达路由器进行中转时,路由器查看本地转发表并将报文从转发表中的匹配的网络前缀表项的对应接口发出。

路由器层级“接化发”

由上图所示,路由器分为控制层面和转发层面,控制层面维护路由协议和路由表,转发层面维护转发表。用户可以通过使用静态路由或者动态路由协议来改变路由表表项,从而改变转发表表项,改变报文经过路由器时转发的路径。


二、路由器的作用

2.1建立维护路由表

通过静态路由或动态路由协议建立路由表

CLI手动添加静态路由

查看路由表中添加的静态路由表项


2.2查阅转发表转发报文

转发表通过路由表项生成,与路由表的最大不同之处在于路由表中可能存在下一跳非直连的情况,而转发表会通过路由的迭代计算来保证报文转发的下一跳一定是本地网络接口。

当有数据报文经过路由器进行转发时,路由器查看本地转发表并将报文从转发表中的匹配的网络前缀表项的对应接口发出。

路由器转发表项


三、路由表项的来源

3.1 直连路由

路由器接口配置IP地址,接口协议与链路均为up后,路由器自主生成的路由条目。

路由表中的直连路由


3.2 静态路由

通过人工配置手动为路由表添加路由条目。适用于规模较小的网络环境,缺点是大型网络环境下路由条目较多维护难度大、无法动态感知网络发生的变化。

路由表中的静态路由


2.3 动态路由

通过在路由器上运行动态路由协议,使路由器与路由器之间建立邻居关系并协商路由信息。

常见的动态路由协议有RIP、OSPF、EIGRP、IS-IS、BGP等。

路由表中的动态路由(RIP及OSPF)


4、 路由表项的选择原则

既然路由表项的来源有很多种,那如果有相同目标地址的路由表项有着不同的来源路由器将如何选择?

首先,路由器会根据不同的路由条目来源设定一个管理距离,管理距离越小的路由表项将会添加至路由表中,未添加至路由表的表项将作为冗余的浮动路由存在于路由器中,当被添加至路由表中的表项失效后冗余的浮动路由将顶替原路由表项添加至路由表中。

常见路由条目来源管理距离如下表所示:

不同路由信息来源的管理距离

其次,如果路由信息来源相同,同时也有相同目标地址和掩码的路由表项时就需要通过设置metric(度量值)来决定哪个路由表项会被添加至路由表,相同的度量值将以等价路由的方式添加至路由表,等价路由可以基于目标地址或报文顺序在等价路由的多个出接口上进行负载。


当有相同目标地址及掩码的路由表项有着不同的路由信息来源时:

RIP与OSPF均有到达192.168.24.0/24网络的路由

如上图,路由器中通过rip和ospf都学习到了192.168.24.0/24的路由,但是rip的管理距离是120,大于ospf的110,所以路由表里只加入了opsf的路由,如下图所示:

根据管理距离值的大小,将OSPF路由条目添加进路由表中

如下图,一旦ospf失效,作为浮动路由的RIP路由表项将顶替原ospf路由表项添加至路由表中。

OSPF路由失效后,RIP将路由条目添加进路由表


当有相同目标地址及掩码的路由表项有着相同的路由信息来源时,通过metric决定:

例如:一台路由器上有两条默认静态路由,静态路由的管理距离为1,若两条路由的metric相同,则这两条路由为等价路由,均添加至路由表中。

添加两条默认静态路由metric值相同

路由以等价路由的方式出现在路由表中

若两条路由的metric相同,则metric值较小的路由添加至路由表中,metric值较大的路由作为冗余的浮动路由存在于路由器中。

添加两条默认静态路由metric值不同

metric较小的路由被添加至路由表

当被添加至路由表中的表项失效后冗余的浮动路由将顶替原路由表项添加至路由表中。

当metric值较小的路由表项失效后,metric相对较大的路由被添加至路由表


五、路由的查询方式

路由器对有路由的查询方式分为有类查询和无类查询两种方式,有类查询下现已不常使用。有类和无类路由查找是路由器在收到需要转发的数据报文后用何种方式对本地路由表查找的过程。

5.1 有类查询方式

需要要求路由器执行有类查询方式在思科路由器上需要执行"no ip classless"和"no ip cef"两条命令。

有类路由查询方式使用主类路由匹配原则,如果路由表中含有主类路由则匹配主类路由,若主类路由中无目标地址路由则丢弃报文,不会匹配默认路由。如果路由表中没有主类路由则可匹配默认路由。

路由表有类查询方式-1


路由器有类查询方式-2

主类路由举例,172.16.5.0/24网段的主类路由为172.16.0.0/16.

192.168.0.0/25网段的主类路由为192.168.0.0/24.


5.2 无类查询方式

路由无类查询方式为默认方式,无类路由查询方式使用最长匹配原则,匹配越精确,路由越优先。

路由表无类查询方式

例如,一个目标地址为192.168.5.100的报文经过一个路由器,路由器中有两条目标地址相同但子网掩码不同的路由表项(路由表表项前缀不同,属于不同的路由,同时加入路由表及转发表)。此时根据最长匹配原则,192.168.5.0/25明显比192.168.5.0/24匹配长度长,所以报文从对应的2号出接口转发。


以上内容均为本人对所掌握知识总结归纳所创作的原创文章,希望能给大家的学习过程带来帮助,如有技术理解错误希望能够得到大家的指正,大家共同学习,共同进步。

欢迎关注我的头条号,私信交流,学习更多网络技术!