交换机在路由老祖门下修行已有数载,其间精研各IGP内功,对OSPF、ISIS、RIP等等IGP武功已经融会贯通,并颇有一套自己的想法,大有青出于蓝之势。
修行日久,交换机感觉自身已臻大成,不禁产生了下山一展身手的想法。
一日,交换机来到路由老祖处。
老祖道:“交换机,你在我门下已修行数载,对路由之道可谓已有小成,今日起,为师要再教你本门至高绝学。这门绝学威力极大,但相较IGP修炼起来更加艰难。但是你天资聪颖,天赋过人,为师相信,不出3年,你必能修炼成功。”
交换机不禁有些不悦道:“师父,本门武功我已了然于胸,不论OSPF、ISIS、RIP甚至番邦蛮夷的EIGRP这种旁门左道,我都不在话下。自觉上至控制平面交换路由,下至转发平面转发数据,路由过滤,负载分担,统统难不倒我啊。我很想下山一展胸中所学,万望师父不要阻拦。”
知识补充:路由协议分类
路由老祖微微一笑,道:“这样吧,为师考验一下你,如果你通过考验,我便放你下山如何?”
“没问题!”交换机已经跃跃欲试。
题目很简单,如下图:
“ISPA和ISPB通过一条高速链路连接在一起,两个ISP想把各自的路由通告给对方。徒儿,如果是你,你该如何解决这个问题呢?”
“这有何难?先于域内运行OSPF,则R1和R2可以知晓各自域内的所有路由,再于R1和R2相连的接口上运行RIP协议,将OSPF路由引入RIP中,这样R1和R2就可以通过RIP协议交换各自的域内路由。在RIP协议交换路由完毕后,再将RIP路由引入回OSPF中,这样ISPA和ISPB就可以互相了解对方的路由了。”交换机非常自信。
路由老祖摇摇头道:“徒儿你IGP内功虽深厚,也未必能奈何的了如此简单的场景,如若不信,我和你作为这两台设备一试,如何?”
“好!”
于是二人席地而坐,四掌相对,开始交换路由。
双掌甫接,交换机便觉一股巨力涌至,赶忙集中精神,奋力化解,饶是自身内功深厚,仍有一些路由未接下。交换机暗自窃喜,这一波算是扛下了。
哪知第一波方兴未艾,不过30秒,胸口又如遭重槌,交换机强运内功勉力支撑,不料每隔30秒,都有一股巨力袭来,如此再三,交换机终于支撑不住,一口鲜血喷将出来。
老祖急忙收掌,交换机自行运气良久,方恢复如常。
老祖道:“徒儿,你IGP功力深厚,然则IGP在这个场景下有天然的缺陷,为师本欲传你的另一本门绝学却可以很好的应对这个问题。但为师现在先不点破,你回去好好想想,如何解决今天你遇到的问题。我相信以你的聪明才智,一定能想到解决的办法。”
交换机的解决方法有如下几个缺陷
1
ISPA和ISPB的边界路由设备必须有一个同步的过程,也就是说当R1和R2在建立邻居的时候,需要把自己的整个路由表传输给对方。而传统的RIP协议是使用UDP作为自己的传输协议的,这个协议的最大缺点就是不可靠,不适合传输大量的数据。
2
缺省情况下,RIP协议的路由更新报文的发送间隔为30秒,这样如果ISPA和ISPB的路由表非常大(达到100000条),30秒得时间间隔尚且不够完成路由的通告,这样整个高速链路就完全为RIP通告服务,而不能转发其他数据了。
读者看到这里也可以考虑下,如何解决这个问题。
回到住处,交换机苦思冥想一夜,终于有所头绪:
首先,路由传递初始,自己毫无防备,导致一些路由数据的丢失,造成这个问题的主要原因是自己的RIP使用的内功基础是UDP,UDP的特点在于敌不动我不动,不去预先建立连接。那如果采用另一内功TCP,TCP的特点就在于面向连接,这样我就有充分的防备,路由的初始同步问题就解决了。
其次,由于RIP每隔30秒就会同步一次路由表,在之前路由条数相对比较少的情况下,自己上尚可应付,现在面对规模如此巨大的路由表,难免不可支撑。
这个问题也好解决,那就取消每隔30秒全量同步路由的机制,改为增量通告规则:如果路由没有变化,则不发任何通告;如果是路由增加,则通告给对方增加的路由;如果是路由删除,则通告给对方删除的路由;如果是路由修改,则首先通告一个路由删除,再通告一个路由增加。
想通了这些,交换机兴冲冲的跑去找路由老祖,把自己的想法说了一遍。
路由老祖非常赞赏:“徒儿,你的想法和我要传你的本门另一绝学BGP不谋而合,我本欲亲自传授BGP于你,但是我发现你天赋异秉,现在我希望你按照自己的思路对所学进行改进,我相信最终不需要我传授,你自己也能练成BGP神功。”
未完待续……
题外话:
当我们把RIP的传输层协议改为TCP之后,RIP使用的发现和维护邻居的机制也应该改变,以往RIP协议使用HELLO报文建立邻居的方法也不可取了。
这里给大家留一个问题,当传输层协议改成TCP之后,我们发现和维护邻居的机制应该设计成怎样呢?
如果想了解跟多技术干货,记得关注【IE网工训练营】
领取专属 10元无门槛券
私享最新 技术干货