路由算法RIP、OSPF、BGP(Routing Algorithm RIP, OSPF,BGP)

路由算法RIP、OSPF、BGP

内部网关协议RIP

RIP协议应该是一种最简单的内部网关协议了。

内部网关协议是跟外部网关协议相对的。在自治系统(比如校园网)里面用的路由协议就是内部网关协议,而在自治系统和自治系统之间进行路由的是外部网关协议。

RIP协议是一个距离向量路由协议,它以跳数作为评价标准,跳数越少,距离越短,最大跳数15,超过表示距离不可达。因此RIP协议只适用于小型网络。

工作原理:

(1)RIP协议基于你有一个思想,我有一个思想,我们交换思想就可以得到更全面的想法一样,路由器仅和相邻的路由器交换信息;

(2)路由器交换的信息就是自己目前的路由表,具体是目的网络,最短距离,下一条网络;

(3)RIP协议按固定时间交换信息,比如30秒,就交换一次路由表信息,如果超过了某个固定时间(比如三分钟)还没有交换信息,说明目的路由器不可达,将距离设置为16。

就这样进行下去,最终就可以得到正确的路由。

需要注意的是每一个路由器的路由表是不同的,路由表并没有指出去目的网络的一个路径,而是仅给出下一跳的地址。

但是RIP虽然简单,但是有个缺点,就是会以讹传讹,坏消息传的很慢。

举个例子,本来路由器A连接这网络1,路由器B连接这路由器A。突然网络1瘫痪了,那么路由器A就把网络1的路径长度设置为16,但是隔了一段时间见路由器B却跟路由器A说我到网络1的距离是2(之前的错误信息),然后A就以为到网络1的距离是3,然后又跟B交换信息,B以为到网络1的距离是4,就这样一直传递错误的信息,直到距离到了16,才知道目的网络不可达。但是知道这个事实却花了好几分钟。  

RIP使用UDP数据报进行传送。

内部网关协议OSPF

OSPF同样是内部网关协议的,但是OSPF是基于链路状态的。这个链路状态包括连通性、费用、距离、时延、带宽等信息。换句话说,OSPF考虑问题更全面,因为最短路径应该是时间最短的,而路由的时间跟上面的因素而不仅仅是跳数有关。

工作原理:

(1)OSPF向所有路由器发送信息,它使用一种泛洪法(路由器的一种转发方式),向所有输出接口发送信息,这样最后所有的路由器都会得到这个消息的副本。

(2)发送的信息是与本路由器相邻的路由器的链路状态信息。

(3)只有当链路状态发生变化时,才会使用泛洪法转发信息。

经过上面的步骤,最后每个路由器都会得到一个全网的拓扑结构(注意RIP并没有这个),有了这个图,就可以使用最短路径算法(比如Dijkstra提出的最短路径算法)找到一条最短路径了,不过最后填入路由表的还是下一跳的信息。

OSPF的优点在于收敛快,适用于较大型的网络。

为了减少网络上的通行量,已经减少上述全网的拓扑结构的规模,可以将一个系统划分为不同的区域,这样泛洪法交换信息只局限于一个区域。    

OSPF直接使用IP数据报进行封装传送。

边界网关协议BGP

与内部网关协议不同,边界网关协议的目标并不是找到到目的网络的一个最短路径,而是找到一个合适的路径,因此BGP称为路径向量协议。

理由如下:

(1)互联网规模太大,如果使用最短路径算法计算时间将会很久。

(2)不同的自治系统有不同的策略,就好像不同的国家有不同的法律一样,有些路由器可能会过滤一些请求。

工作原理:

(1)在每个自治系统里面选择至少一个BGP发言人,这个角色是用来跟相邻自治系统来交换信息的,信息包括到达某个网络所要经过的一系列自治系统。

(2)当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达个自治系统的合适的路由。      

BGP协议交换路由信息的节点数量级是自治系统的量级。

02f,18aug03,agi added #include 02e,02jun03,agi removed #include "rwproto.h" 02d,02jun03,agi changed #include "rwos.h" to include "ospf_rwos.h" 02c,29may03,agi removed unused includes, added new includes 02c,08may03,asr Changes to make OSPF virtual stack compatible 02b,09may03,agi added #include , removed #include 02a,17feb02,ram SPR 81808 Added OSPF memory partition support 21,13october01,kc Dynamic configuration changes. 20,21september01,kc Removed unused raw socket specific declarations. 19,26september00,reshma Added WindRiver CopyRight 18,25september00,reshma RFC-1587 implementation for OSPF NSSA Option, also tested against ANVL. 17,20july00,reshma Unix compatibility related changes. 16,06july00,reshma Removed unnecessary header files and defines. 15,23february00,reshma Changes for ospf mib 14,23december99,reshma Compatibility with VxWorks-IP and VxWorks RTM-interface 13,13august99,jack compilation fixes no IP case 12,05august99,nishit Replaced including IP header files by the new ospf_ip_structures.h 11,17may99,jack Added new include file ospf_patricia_32_bits_key_prototypes.h 10,28december98,jack Compiled and added some comments 09,25november98,rajive Deleted socket include file 08,11november98,jack Config changes, linted and big endian changes 07,30october98,jack Incorporate changes for compilation on Vxworks 06,12february98,release engineer code style changes, feature enhancements, complete CISCO and BAY compaltibility. OSPF v4.2.0 05,10july97,cindy Pre-release v1.52b 04,10february97,cindy Release Version 1.52 03,22october97,cindy Release Version 1.50 02,05june96,cindy Including visnpstr.h as a kludge for the first beta release. 01,05june96,cindy First Beta Release
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Linux运维老纪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值