下午好,我的网工朋友。
如果你问我,怎么更好地理解路由器和OSPF之间的关系?
我大概会这么回答:打个比方,路由器就像是交通警察,指挥着数据包在网络中穿梭,确保信息能够准确无误地到达目的地。
而OSPF(开放最短路径优先)协议,就是这些交通警察的指挥手册,它规定了路由器如何相互交流、如何做出最优的路由决策。
今天就和你探索一下OSPF路由器的八种状态机,以及它们是如何遵循OSPF协议的选路原则,来优化网络的交通流量。
今日文章阅读福利:《 经典ospf学习笔记 》
私信我,发送暗号“学习笔记”,即可获取老网工珍藏的OSPF经典学习笔记一份。
01 OSPF路由器在完全邻接之前,要经过哪几个状态?
01 Down
此状态还没有与其他路由器交换信息。首先从其ospf接口向外发送hello分组,还并不知道DR(若为广播网络)和任何其他路由器。发送hello分组是,使用组播地址224.0.0.5。
02 Attempt
只适于NBMA网络,在NBMA网络中邻居是手动指定的,在该状态下,路由器将使用HelloInterval取代PollInterval来发送Hello包。
03 Init
在DeadInterval里收到了Hello包,2-Way通信还没有建立起来的状态。
04 two-way
双向会话建立,而RID彼此出现在对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该**DR,BDR。)
05 ExStart
信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number,路由器ID大的的成为Master。
06 Exchang
信息交换状态:本地路由器和邻居交换一个或多个DBD分组(也叫DDP) 。DBD包含有关LSDB中LSA条目的摘要信息。
07 Loading
信息加载状态:收到DBD后,使用LSACK分组确认已收到DBD。将收到的信息同LSDB中的信息进行比较。如果DBD中有更新的链路状态条目,则想对方发送一个LSR,用于请求新的LSA 。
08 Full
完全邻接状态,这种邻接出现在Router LSA和Network LSA中。
02 OSPF选路原则
01 区域内路由>区域间路由>一类外部路由>二类外部路由。
仅在类型相同是才比较 cost,一类外部路由比较时累计内部路径开销,二类外部路由比较时不累加内部路径开销。
02 外部路由Metric-Type1的路由优于Metric-Type2的路由N
同为Type1的外部路由,优选内部成本加外部成本之和最小的路由 同为Type2的外部路由,优选外部成本花销小的路由,如果外部成本一致,则优选内部成本小的路由,否则路由负载均衡
“广播网络中”邻居关系由down状态变为init初始状态,hello报文参数协商完成后,邻居关系进入到了2-way状态,2-way状态表明双方已经成功建立了邻居关系。
成功建立后,进入到了信息交换初始状态ExStart。信息交换机状态 Exchange 及信息加载状态Loading ,最终进入full状态,Full状态表明双方已成功建立了邻接关系。
03 OSPF 路由器之间的邻居关系并不等于邻接关系。
邻居关系建立后还需要完成链路状态信息的交换,才能建立起邻接关系。
DRothers 之间不需要交换机LSA 链路状态 DRothers 是通过DR/BDR来获取整个广播网络的链路状态信息的。所以DRothers 之间不需要建立邻接关系。只需要建立邻居关系。
“点对点的网络中” OSPF 路由器,邻居关系由Full 状态转变为Down 状态,hello报文参数协商完成后,进入初始状态(init)然后直接进入信息交换初始状态(ExStart)信息交换状态(Exchange)以及信息加载状态。
最终成功建立邻接关系。进入了Full状态,是没有经过2-way 状态的。也不存这个状态。
所以点到点与广播网络中ospf的邻接关系建立过程不是完全一样的。
在点到点的网络中,能够建立邻居关系的路由器一定会建立邻接关系。
ospf 邻接关系建立过程中的链路状态数据库LSDB的同步过程 ospf 路由器先通过hello报文进行协商,然后通过数据库描述(DD:Database Description)报文,链路状态请求(LSR:Link State Request)报文,链路状态更新(LSU:Link State Update)LSACk 最终实现了lsdb的同步,并建立起ospf邻接关系。
Router LSA ---1 类 LSA
Network LSA ---2 类 LSA
Network summary LSA ---3 类 LSA
ASBR summary LSA ---4 类 LSA
Autonomous system external LSA ---5 类 LSA
Group membership LSA ---6 类 LSA
NSSA External LSA ---7 类 LSA
External attributes LSA for BGP ---8 类 LSA
Opaque LSA(链路本地范围)---9 类 LSA
Opaque LSA(本地区域范围)---10 类 LSA
Opaque LSA(AS 范围) ---11类 LSA
整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部