动态路由协议摘要
动态路由是网络中的路由器之间自动的相互通信,传递路由信息,不用人工干预,利用受到的路由信息,定期的更新路由表的这么一个过程,它能够实时的适应网络结构的变化
简单的说一下几种常见的路由协议
管理距离值
RIP Routing Information Protocol 路由信息协议 120
IGRP Interior Gateway Routing Protocol 内部网关路由协议 100
EIGRP Enhanced Interior Gateway Routing Protocol 增强的内部网关路由协议 90
OSPF Open Shortest Path First 开放最短路径优先协议 110
IS-IS 中间系统-中间系统协议 115
Intermediate System to Intermediate System Routing Protocol
BGP Border Gateway Protocol 边界网关协议 140
管理距离值 :有多个路由协议从源到目标,比较管理距离值,选择最优路由协议,值越低越可信,即优先选择
范围 0-255
动态路由协议的几种分类
按路由算法分
距离矢量路由协议:将完整的路由表定期的发送到相邻的路由器上,相邻路由器会将接收到的路由表项与自己原有的路由表进行合并, 来完善自己的路由表
RIPV1 RIV2 IGRP BGP
链路状态路由协议:是指哪块有变化,把有变化的发送出去,有三个独立的表,邻居表:用来更总直接连接的邻居,链路状态iao 判断整个网络的拓扑结构 ,路由表:存放远程的网络信息
OSPF IS-IS
混合路由协议:将距离矢量和链路状态结合起来的产物 兼具二者的特点; 议距离矢量的跳数选择最优路径,发送链路状态信息作路由更新
EIGRP :默认100 跳最大255 跳
按AS自治系统分为
内部路由协议
RIP IGRP EIGRP OSPF IS-IS
外部路由协议
BGP
根据有类无类划分
有类路由协议
RIPV1 IGRP BGP
无类路由协议
RIPV2 EIGRP OSPF IS-IS
提一下 有类和无类的区别:有类向外通告不携带子网掩码 无类向外通告携带子网掩码
根据共有私有划分为
私有协议
IGRP EIGRP
共有协议
RIP OSPF IS-IS BGP
# 私有协议只能在cisco设备上使用 ,而共有协议可以在任何厂家设备上使用
路由环路
在维护路由表信息的时候,如果在拓扑发生改变后,网络收敛缓慢产生了不协调或者矛盾的路有选择条目,就会发生路由环路的问题,这种条件下,路由器对无 法到达的网络路由不予理睬,导致用户的数据包不停在网络上循环发送,最终造成网络资源的严重浪费。为此,解决路由环路的问题的方法就出现了。
解决路由环路问题的方法,概括来讲,主要分为六种:
1. 定义最大值:
距离矢量路由算法可以通过IP头中的生存时间(TTL)自纠错,但路由环路问题可能首先要求无 穷计数。为了避免这个延时问题,距离矢量协议定义了一个最大值,这个数字是指最大的度量值(最大值为16),比如跳数。也就是说,路由更新信息可以向不可 到达的网络的路由中的路由器发送15次,一旦达到最大值16,就视为网络不可到达,存在故障,将不再接受来自访问该网络的任何路由更新信息。
2. 水平分割:
其规则就是不向原 始路由更新来的方向再次发送路由更新信息,比如有三台路由器ABC,B向C学习到访问网络10.4.0.0的路径以后, 不再向C声明自己可以通过C访问10.4.0.0网络的路径信息,A向B学习到访问10.4.0.0网络路径信息后,也不再向B声明,而一旦网络 10.4.0.0发生故障无法访问,C会向A和B发送该网络不可达到的路由更新信息,但不会再学习A和B发送的能够到达10.4.0.0的错误信息。
3. 路由中毒(也称为路由毒化):
定义最大值在一定程度上解决了路由环路问题,但并不彻底,可以看到,在达到最大值之前,路由环路还是存在的。为此,路由中毒就可以彻底解决这个问题。其原理是这样的:假设有三台路由器ABC,当网络10.4.0.0出现故障无法访问的时候,路由器 C便向邻居路由发送相关路由更新信息,并将其度量值标为无穷大,告诉它们网络10.4.0.0不可到达,路由器B收到毒化消息后将该链路路由表项标记为无 穷大,表示该路径已经失效,并向邻居A路由器通告,依次毒化各个路由器,告诉邻居10.4.0.0这个网络已经失效,不再接收更新信息,从而避免了路由环路。
4.反向中毒(也称为毒化逆转):
为了保证所有的路由器都能够受到毒化信息,毒化逆转呢 不考虑水平分割的限制,虚心的接受
5.控制更新时间(即抑制计时器):
抑制计时器用于阻止定期更新的消息在不恰当的时间内重置一个已经坏掉的路由。抑制计时器告诉路 由器把可能影响路由的任何改变暂时保持一段时间,抑制时间通常比更新信息发送到整个网络的时间要长。当路由器从邻居接收到以前能够访问的网络现在不能访问的更新后,就将该路由标记为不可访问,并启动一个抑制计时器,如果再次收到从邻居发送来的更新信息,包含一个比原来路径具有更好度量值的路由,就标记为可 以访问,并取消抑制计时器。如果在抑制计时器超时之前从不同邻居收到的更新信息包含的度量值比以前的更差,更新将被忽略,这样可以有更多的时间让更新信息传遍整个网络。
6.触发更新:
正常情况下,路由器会定期将路由表发送给邻居路由器。而触发更新就是立刻发送路由更新信息,以响应某些变化。检测到网络故障的路由器会立即发送一个更新信息给邻居路由器,并依次产生触发更新通知它们的邻居路由器,使整个网络上的路由器在最短的时间 内收到更新信息,从而快速了解整个网络的变化。但这样也是有问题存在,有可能包含更新信息的数据包被某些网络中的链路丢失或损坏,其他路由器没能及时收到触发更新,因此就产生了结合抑制的触发更新,抑制规则要求一旦路由无效,在抑制时间内,到达同一目的地有同样或更差度量值的路由将会被忽略,这样触发更新 将有时间传遍整个网络,从而避免了已经损坏的路由重新插入到已经收到触发更新的邻居中,也就解决了路由环路的问题。
以上探讨的解决方案可以同时工作,以防止在更复杂的网络设计中出现路由环路的问题。