学习笔记——动态路由——RIP(RIP工作原理/防环机制)

三、RIP工作原理/防环机制

1、工作原理

配置好RIP的路由器会每隔30s,向邻居路由器自动发送RIP路由更新报文。报文里面携带了其所知道的所有路由。

通过发送数据包进行路由信息的交互,路由器启动RIP协议,向周围邻居路由器传递request(请求)response(响应)报文,周围路由器收到后发回复报文,回复报文内包含有周围路由器自身的RIP路由表,路由器收到周围路由器的恢复后修改自己的路由表。

2、RIP防环机制

对于路由环路问题,RIP中存在3种解决方案:水平分割、毒性逆转、触发更新。

(1)水平分割(Split Horizon)

水平分割的原理:RIP路由设备从某个接口学到的路由不会从该接口再发回给邻居路由设备。这样不但减少了带宽消耗,还可以防止路由环路。

水平分割在不同网络中实现有所区别,分为按照接口和按照邻居进行水平分割两种

1)在广播型网络、点到点网络(P2P)和点到多点网络(P2MP)中,从哪个接口学习到的RIP路由信息,就禁止从该接口发送出去。

广播网、P2MP和P2P网络中的水平分割

如(上图示),DeviceA会向DeviceB发送到网络10.0.0.0/8的路由信息,如果没有配置水平分割,DeviceB会将从RouterA学习到的这条路由再发送回给RouterA。这样,RouterA可以学习到两条到达10.0.0.0/8网络的路由,一条是跳数为0的直连路由,一条是下一跳指向DeviceB且跳数为2的路由。

但是在DeviceA的RIP路由表中只有直连路由才是活跃的。当DeviceA到网络10.0.0.0的路由变成不可达,并且DeviceB还没有收到路由不可达的信息时,DeviceB会继续向DeviceA发送10.0.0.0/8可达的路由信息。即,DeviceA会接收到错误的路由信息,认为可以通过DeviceB到达10.0.0.0/8网络;而DeviceB仍旧认为可以通过DeviceA到达10.0.0.0/8网络,从而形成路由环路。

配置水平分割后,DeviceB将不会再把到网络10.0.0.0/8的路由发回给DeviceA,避免了路由环路的产生。

2)在非广播多路访问网络(NBMA,Non Broadcast Multiple Access)中,不允许将从某一邻居学习到的路由信息再发送回该邻居,是按照邻居进行水平分割。

NBMA网络中的水平分割

对于NBMA网络,由于一个接口上连接多个邻居,RIP支持在NBMA网络中按邻居进行水平分割处理。NBMA网络中,路由按照单播方式发送,同一接口上收到的路由可以按邻居进行区分。从某一接口的对端邻居处学习到路由,不会再通过该接口发送回去。

如(上图)示,配置水平分割后,DeviceB会将从DeviceA学习到的10.0.0.0/8路由发送给DeviceC,但是不会再发送回给DeviceA。

(2)毒性反转(Poison Reverse)

毒性逆转的原理配置了毒性反转之后,可以使错误路由立即超时RIP从某个接口学到路由后,从原接口发回邻居路由器,并将该路由的开销设置为16(即指明该路由不可达),并从原接口发回邻居路由设备。利用这种方式,可以清除对方路由表中的无用路由,也可以防止产生路由环路的发生。

如(上图)示,DeviceA会向DeviceB发送10.0.0.0/8路由信息,如果没有配置毒性逆转,Device B会将从DeviceA学习到的这条路由再发送回给DeviceA。这样,DeviceA可以学习到两条到达10.0.0.0/8网络的路由,一条是跳数为0的直连路由;一条是下一跳指向DeviceB且跳数为2的路由。

当DeviceA到网络10.0.0.0/8的路由变成不可达,并且DeviceB还没有收到路由不可达的信息时,DeviceB会继续向Device A发送10.0.0.0/8可达的路由信息。即,DeviceA会接收到错误的路由信息,认为可以通过DeviceB到达10.0.0.0/8网络;而DeviceB仍旧认为可以通过DeviceA到达10.0.0.0/8网络,由此导致了路由环路。

配置毒性逆转后,DeviceB在接收到从DeviceA发来的路由后,向DeviceA发送一个这条路由不可达的消息(即将该路由的开销设置为16跳,16跳即意味着该路由不可达),这样DeviceA就不会再从DeviceB学到这条可达路由,因此就可以避免上述环路的发生。

(3)触发更新

缺省情况下,一台RIP路由器每30秒会发送一次路由表更新给邻居路由器。

触发更新的原理:当本地路由信息发生变化时,触发更新功能允许路由器立即发送触发更新报文给邻居路由器,来通知路由信息更新,而不需要等待更新定时器超时,从而加速了网络收敛。触发更新可以缩短网络收敛时间,在路由表项变化时立即向其他设备广播该信息,而不必等待定时更新。

如(上图)所示,网络10.4.0.0不可达时,DeviceC最先得到这一信息。通常,更新路由信息会定时发送给相邻Device(RIP协议每隔30秒发送一次)。

但如果在DeviceC等待更新周期到来的时候,DeviceB的更新报文传到了DeviceC,DeviceC就会学到DeviceB的去往网络10.4.0.0的错误路由。这样DeviceB和DeviceC上去往10.4.0.0的路由都指向对方从而形成路由环路。

如果DeviceC发现网络故障之后,不再等待更新周期到来,就立即发送路由更新信息给DeviceB,使DeviceB的路由表及时更新,则可以避免产生上述问题。

触发更新还存在另外一种方式:当下一跳不可用之后(如因为链路故障)需要及时通告给其他设备,此时要把该路由的cost设置为16然后发布出去,此更新也叫做路由毒杀


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】

  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,关于 jQuery 的事件,我可以和你分享一些学习笔记。 1. 绑定事件 在 jQuery 中,我们可以通过以下方式来绑定事件: ``` $(selector).event(function(){ // 事件处理程序 }) ``` 其中,`selector` 表示要绑定事件的元素,`event` 表示要绑定的事件类型,比如 `click`、`mouseover` 等等。事件处理程序则是在事件触发时要执行的代码块。 2. 多个事件绑定 我们可以通过 `on()` 方法来同时绑定多个事件: ``` $(selector).on({ event1: function(){ // 事件处理程序1 }, event2: function(){ // 事件处理程序2 } }) ``` 这样,当 `event1` 或 `event2` 中任意一个事件触发时,对应的处理程序都会被执行。 3. 解除事件 如果需要解除某个元素的事件处理程序,可以使用 `off()` 方法: ``` $(selector).off(event); ``` 其中,`event` 表示要解除的事件类型。如果不指定事件类型,则会解除该元素上所有的事件处理程序。 4. 事件委托 在 jQuery 中,我们可以使用事件委托来提高性能。事件委托是指将事件绑定到父元素上,而不是绑定到子元素上,然后通过事件冒泡来判断是哪个子元素触发了该事件。这样,当子元素数量较多时,只需要绑定一次事件,就可以监听到所有子元素的事件。 ``` $(selector).on(event, childSelector, function(){ // 事件处理程序 }) ``` 其中,`selector` 表示父元素,`event` 表示要绑定的事件类型,`childSelector` 表示要委托的子元素的选择器,事件处理程序则是在子元素触发事件时要执行的代码块。 以上是 jQuery 中事件的一些基本操作,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灵韵设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值