怎么理解OSPF的4种网络类型和Router LSA的4种链路类型?

1,309次阅读
没有评论

热帖以前学习OSPF路由协议的时候,各大视频资料的讲师只是说OSPF有4种网络类型,Broadcast、NBMA、P2P、P2MP,然后怎么通过命令调试之类的巴拉巴拉;然后讲到Router LSA的时候,又冒出来4种链路类型,P2P、StubNet、TransNet、V-link(虚链路)。网络类型、链路类型、接口类型?各种概念在脑海中乱串,一片混乱。

现在我们来尝试理清这几个概念,以及扮演OSPF的最初设计者,思考为什么OSPF需要设计4种网络类型,Router LSA定义4种链路类型又有什么用途

首先,我们需要有一个基本概念,那就是OSPF定义的网络类型和Router LSA中定义的链路类型是两种独立的概念,它们之间没有任何关联。网络类型描述的是OSPF实例对等体/进程实例之间通过什么样的网络进行连接,它修饰和描述的是OSPF实例,反映的是OSPF邻居/邻接通过什么方式建立,通过什么方式进行协议报文交互,是一个比较大的概念;而链路类型仅仅用来描述已宣告进OSPF实例的直连接口的状况,反映与直连接口相连的是一个传输网络、末梢网络、另一台路由器还是虚链路?它修饰和描述的是直连接口。网络类型的颗粒度要远远大于链路类型。

现在,我们想要问的是OSPF设计的时候为什么需要定义4种网络类型?一、历史遗留和兼容性的问题。OSPF诞生在90年代,那个时候除了以太网外,还存在各种各样的网络,比如串行链路、帧中继FR、X.25等等,为了兼容当时现有网络和方便现网升级改造,所以OSPF直接引入了P2P、P2MP、NBMA这些概念。而串行链路、帧中继、以太网这些都是二层数据链路层的概念,定义4种网络类型主要是为了OSPF协议能够在不同的二层数据链路层介质或者封装上都能够运行起来。二、为了节省设备和IP资源,优化协议运行效率。以MA网络为例,如果不定义Broadcast、NBMA网络类型,所有的路由器之间都两两建立邻居的话,则N台设备,需要建立和维护n(n-1)/2个连接,消耗的设备资源及占用的带宽极大,不利于网络规模的扩张。而通过定义P2P、P2MP、Broadcast、NBMA网络类型的概念,对不同结构的网络分别定义OSPF运行规则,比如MA网络中通过DR/BDR的选举后,需要建立和维护的连接变为2(n-2)+1个,大大修剪了设备间连接的建立和维护数量。而P2P、P2MP保持全连接的状态,又可以避免DR/BDR选举影响到网络收敛。总之,OSPF通过定义4种网络类型,对不同结构的网络设置不同的邻接关系建立规则,降低了邻接关系维护数量,又提高了网络收敛速度。

最后,我们想要了解的是Router LSA定义4种链路类型有什么作用。回到根本,Router LSA的作用主要是用来描述路由器设备自身“家门口的状况”,就是“点”+“线”,直连接口状况+链路状况。“点”+“线”的概念我们很容易联想到二叉树,而OSPF的路由算法就是SPF最短路径优先(通过计算得到一颗无环的二叉树,然后将到达各个目标网段最短的路径对应的条目加载到OSPF路由表)…所以,很明显,定义4种链路类型的目的主要是用来描述设备直连网络信息,最终为了路由选路计算服务的。

OSPF网络类型和链路类型的问题纠结很久了,一直似是而非、似懂非懂,不知是否有理解或者表述错误,欢迎同行或者感兴趣的朋友一起交流学习~

正文完
 1
itylq
版权声明:本站原创文章,由 itylq 2023-02-09发表,共计1385字。
转载说明:本站文章遵循CC-4.0国际许可协议,转载请注明出处(格式如“来源:IT摇篮曲www.itylq.com")。
评论(没有评论)