IT-RS-OSPF-Mechanism-1

OSPF运行机制的粗浅体会

华为的OSPF实现中,将网络类型设置为P2P、MA、NBMA、P2MP。

一、在OSPF邻居(邻接)建立过程中,不同网络类型下,使用不同目的地址实现,具体如下:
1.P2P。5种类型数据包均使用组播,目的地址224.0.0.5。
2.NBMA。5种类型数据包均使用单播,目的地址为对端接口地址(TTL为1)。
3.MA。DD和LSR使用单播,其它使用组播(DR/BDR发出数据包目的组播为224.0.0.5,监听224.0.0.5和224.0.0.6。DRother发出数据包目的组播为224.0.0.6,监听224.0.0.5。)
4.P2MP。hello使用组播,其它使用单播(组播目的地址为224.0.0.5)。

二、P2P。
为什么使用组播地址作为所有数据包的目的地址?
这种网络特点是接口(链路)的对端只能存在一个邻居。此时使用组播实现了与单播相同目的、同时兼具效率,在这种网络类型下甚至使用广播也没有什么关系,况且在没有单播配置邻居前提下,如何才能单播发出hello数据包呢?如果非要设计为单播建邻居,也是可以的,但这无疑增加了实现的难度(实际上,即使在华为设备的P2P网络类型下单播指了邻居,也是无法发出单播的hello包的)

三、MA。
1.为什么使用224.0.0.5作为hello包的目的地址?
OSPF的作用是建立和维持邻居关系,MA链路上有1个还是N个OSPF路由器?什么时候会增加1个?这些都是未知的,在这种情况下,还有什么比使用一个约定好的组播地址更省心的方法呢?不知道大佬你有没有想到,反正我是没有。
2.为什么使用单播进行DD数据包的同步呢?
每一台路由都有自己的OSPF LSDB,或大或小,如何将自己的DD准确无误的告诉MA网段中其它所有邻居呢?
A:组播,效率高,可靠性低。每台路由器只需要1次性的将自己的DD发送往指定组播地址就OK了,可万一传递或处理过程中出了差错怎么办呢?接下来的路由更新肯定受到影响,轻则不完整,重则存在错误路由。既然路由都不能保证了,谁还会用这样的路由协议呢?
B:单播,效率低,可靠性高。MA网段中的N台路由器之间需要两两互传DD数据,N台就要有n*(n-1)/2个DD的“Session”,在同一个MA网段中,同样的1份DD,有多少个邻居就要传递多少份,效率确实低!同时为了保证任何1次传递中的可靠性,还要考虑传递报文过程中的确认机制,为了可靠,只能这样了。

未完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值