路由环路知识点总结( 二 )


 

路由环路知识点总结

文章插图
 
解决方法(默认开启)是利用null0接口 。
本地生成的汇总路由指向这个逻辑空接口,这里要提一下路由查询的先后顺序:收到数据包先查看普通的单播路由条目,再查看本地汇总路由条目,最后才看默认路由 。如图,这样就可以识别出那些数据包是恶意数据包,并且从null0口丢弃 。
 
Link state路由协议与SPF算法
视角:全局(整个区域)视角/上帝视角 。
除了拥有邻居表,Ospf有一张很强悍的表,叫LSDB(链路状态数据库)(同is-is) 。
在每个ospf区域中,通过互发lsa(跨网段传输的链路通告),每个路由器都能够获悉所在的整个区域的拓扑和链路状态 。
这样一来在区域内选路就可以从全局的视角锁定最佳路径,并且百分百无环路,无论是单链路环路还是跨结点环路都可避免,这是链路状态路由协议的创新之处 。
OSPF区域间路由环路的避免又是通过哪种方式实现的?
答案是:分层结构的拓扑实现 。
Ospf规定所有常规区域都要链接到骨干层,即使物理上与骨干层分隔,也要有条逻辑链路(虚链路)连接到骨干区域 。这种树形结构从根本上就摒弃了环路 。
因此ospf也是天然无环的 。
与ospf相似的IS-IS,则不要求L1层必须连接到L2层,因而有两个独特的防环机制:第一,非L2区域的通信都要通告L2区域转发;第二,L2区域路由默认不会进入L1(除了路由泄露) 。
因而实现了防环 。
 
【路由环路知识点总结】BGP的高层防环机制
谈到Bgp就要有关AS自治系统,bgp的防环主要分为AS内防环与AS间防环(可以类比ospf的区域内和区域间) 。
AS间:路由更新的as-path字段包含所经过的所有AS号,当bgp路由器看到路由更新中有自己的AS号就会果断放弃这条更新(但在特殊情况下可以用命令取消这个特性) 。
这就是距离向量与距离矢量之间的区别:距离矢量路由协议(如rip)只记录到达目的地经过多少步,而距离向量路由器则记录了途中经过的路径 。
看来学好思科还得咬文嚼字啊 。
Ibgp的水平分割原则是:从IBGP邻居所收到的路由信息,不会传递给其它的IBGP邻居,但可以传递给EBGP邻居 。
注意这和rip的水平分割不大一样 。
水平分割是为了防止3个及以上的ibgp peer围绕成环,造成自治系统内部的跨结点环路 。
除了网络故障带来的路由环路,网络的不合理规划也会造成环路 。
比如在BGP中如果让ibgp间的中转路径路由器处于另一个AS内的话就会造成环路 。
当然这只是其中一个例子,意在说明人为的环路是很难避免的,但思科想的还真周到,提供了next-hop-unchange这条命令来处理上面那个环路 。
 
路由环路知识点总结

文章插图
 
注意,通常使用路由反射器(RR)来解决水平分割带来的路由不学习的问题,但有趣之处在于,水平分割用来防环,路由反射器用来防水平分割,因而反射器又产生了环 。后来RR经过改进,增加了一个特性叫插入簇ID与起源ID 。默认情况下RR会在路由更新中加入自己的router-id以及路由更新的起源路由器的router-id,这也是一种路径向量的机制 。




推荐阅读