RIP路由协议
路由显示命令
模拟路由环境(考试的题目)
这里主要描述常规的路由表更新过程及原理,而不仅限于考试。首先路由器本身就具备网络转发的功能,也就是说路由器本身知道跟自己直接连接的网络,如果客户机以它为网关,数据目标是投递到路由器直连的网络它能自动的进行路由转发。自路由原则:举例:如下的路由器A的路由表路由器有两个直接连接的网段分别为192.168.1.0/24 192.168.2.0/24对应的接口网卡地址为192.168.1.1 及 192.168.2.1路由表的前面部分有一个ADC 表示该网段是A活动的,D动态的,C直接连接的路由表说明到 192.168.1.0/24 网段的数据包,将以192.168.1.1为源地址,从ether1这个接口出去;192.168.2.0/24的数据包将以192.168.2.1为源地址,从ether2接口出去。所以如果192.168.1.0/24网段的机器,如果以192.168.1.1为网关,发送到192.168.2.0/24 经过路由器A时是可以被自动转发的。
同理,下面是路由器B的路由表路由器B连接了192.168.2.0/24 及 192.168.3.0/24两个网段。到192.168.2.0/24网段将以源地址为192.168.2.254 从ehter1接口出去到192.168.3.0/24网段将以源地址为192.168.3.1/24从ether2接口出去
其他网络不可达原则:此时在没有配置任何动态路由协议的情况下网段192.168.1.0/24的主机是无法访问192.168.3.0/24网段的主机的。因为在路由器A上没有到达192.168.3.0网段的路由信息。同样对于路由器B来说它也无法知道192.168.1.0网段的路由信息,所以路由也是不可达的。但是如果路由器配置了默认网关,对于不可达的数据包都会往默认网关上去传送。
动态路由学习:为了进行1.0 根3.0网段的互通,需要在两个路由器上启用动态路由协议,比如RIP协议。如下图所示,配置了RIP邻居及发布的网络后,在路由器A中可以看到新增了一条路由记录ADr 192.168.3.0/24 网关为192.168.2.254 距离为120 这里没有说源地址是多少。其中r表示rip协议,表明这个项目是从RIP协议学到的,目标网络为192.168.3.0/24然后投递到192.168.2.254,路由器在投递的时候会查找192.168.2.254 发现属于2.0/24网段,将从ether2接口出去,并且源地址为192.168.2.1 数据包到达路由B的192.168.2.254接口上,发现数据包是给192.168.3.0的,将从ether2出口发出,并且表明源地址是3.1 这就是整个传递的过程。以及路由器项目的过程。
最短路径原则:路由器A,路由器B互为路由学习的邻居,路由器表更新的过程取决于邻居对于路由表项的通告。比如:上面的例子是路由器B通告了192.168.3.0/24的网络给路由器A,当然也可以配置通告192.168.4.0/24 192.168.5.0/24等网络给A那么这个时候可能会出现以下的情况,假定一个路由器C,三个路由器互为邻居,如果这时候路由器B和路由器C都 通告192.168.4.0/24 那么路由器A将如何进行路由表更新呢?也就是选择哪个路由器作为到达192.168.4.0网段的下一条路由器。这个时候路由算法会对比到达192.168.4.0网段所需要经过的跳数(距离)如果经过路由器B的距离到达192.168.4.0网段花销比较小,那么就算法B作为下一跳的出口(网关);如果通过C的距离到达192.168.4.0花销比较少,那么就会选择C作为下一跳出口(网关)
逆反信息、过期信息及毒化:路由器维护路由表可能还会遇到下面情况:1、远处的路由器坏了,或者网络断了,那么如何发现并更新路由表(删除)2、如果远处的路由器传输自己维护的网段信息,那么如何处理(逆反信息)3、如果从远处的两个路由器传来信息,一个传来可达,一个传来不可达如何处理(毒化)为了处理上面的情况,路由器对于每个表项目都设置了生命周期,如果该路由项目达到生命周期没有刷新,就会从路由表去掉。为了防止别的路由器通告自身维护的路由信息,那么可以设置路由器对于逆反的路由表像不做处理,不学习。为了防止出现两个网络的可达冲突或者路径冲突,一旦出现某个网络冲突,那么就停止这个网络的所有学习(更新),并发毒化通告,通告邻居这个不可达信息。每个接收到通知的都不学习这个路由表。根据设置可能会自动的把路由项目过期处理。等隔一个时间断后,再重新开始学习。以上就是RIP路由表更新的过程。根据路由算法不一样,更新的方式可能不一样,大部分初级、中级的考试都是以RIP协议作为考试。
分析:路由器B的新学习到的路由项为:网络 距离N2 4N3 8 N6 4N8 3 N9 5 1、我们从这题无法判断哪些网络跟路由器B直接连接,但是如果学习到的路由表项目如果有B直接连接的,那么就直接跳过。2、根据最短距离的原则,在原来B的路由表中,出现重复的网络有:N2 、N6 、 N8 、N9那么比原来短的,或者差不多的有:N6、N83、根据学习的原则没有的项目为:N3,N3直接加入到B的路由表项 4、路径更新:因为N6在原来的项目中距离为8,下一条为F路由器,现在C通告的为4,比原来的好,那么实际B经过C到达N6的路径为4+1=5(需要经过C为一跳)所以N6 更新为 N6 5 C同理,N8计算过后,发现跟原来的一样3+1 =4 所以不需要更新这个项目。最后N3 新增 距离为8+1=9 最后的路由项为 N3 9 C是否完了?还没,我们看看原来B的路由表:其中:网络 距离 下一跳N2 2 CN7 5 C 这个时候发现N2、N7原来是从C学习的,而C新发来的数据没有N7,表示这时候可能N7已经不可达了,那么需要从B中将N7删除掉,另外N2的网络通告尽管比旧表的路径低(差),但是因为发生了变化,所以只能更新(刷新)此时N2 的路径为:4+1=5 所以最后的表项为:网络 距离 下一跳N1 7 A N2 5 C N3 9 C N6 5 C N8 4 E N9 4 F
1、留意原来旧表中信息从哪里学习的,判断是否需要更新包括路径、有效信息
2、如果同等路径的,以及自身维护的网络,不会进行路由表的更新