赞
踩
OSPF Open Shortest Path First.使用Dijkstra算法计算路由,快速收敛,层次化多区域结构设计
OSPF v2主要标准RFC1583和RFC2328
OSPF v3用于IPv6网络中RFC5340
邻居发现
OSPF通过Hello报文发现和维持邻居关系,邻居关系不等于邻接关系,只有达到two-way状态的路由器才算邻居关系(双向建立)。OSPF在所有启用OSPF的接口发送HELLO报文
在BM和点到点,hello报文10s发送一次,在NBMA和P2MP网络中30s发送一次
在BM、P2P和P2MP网络中OSPF通过组播HELLO包自动发现邻居,组播地址224.0.0.5;NBMA网络中,需手工指定邻居
在建立邻居关系使,路由器对HELLO报文中的参数进行检查比对
Hello/dead发送时间间隔
区域ID
区域类型 Option字段,其中E和N/P置位代表的含义不同
邻居关系建立的过程:
三步握手
Down init two-way
Down 状态:邻居的初始状态,邻居的Router ID还没有出现在OSPF邻居列表中
Init 状态:A收到邻居的Hello报文,active neighbor 字段没有自己的Router ID ,A中邻居状态为Init
邻接关系建立过程
OSPF路由器在双向邻居关系建立完成后,开始建立邻接关系,在BM和NBMA网络中,邻接关系发生在DR和BDR选举之后,其他网络类型,没有DR/BDR选举,邻居建立完成后即开始建立邻接关系
邻接关系是邻居路由器间为完成LSDB同步而发生的LSA交换过程,也是邻居路由器间初次通告LSA、快速同步的过程
它是LSA泛洪的一种方式,同步完成后,邻居之间最终是Full状态。
在广播和NBMA网络上DRother路由器彼此之间会一直保持在2-way的状态,而它们同DR/BDR间是FULL邻接关系
在其他类型OSPF网络上,邻接关系发生在2-WAY状态后
邻接关系的状态迁移过程
信息交换初始状态Exstart:在这一状下,本地路由器和邻居路由器互传空DD报文
确定主/从关系;确定DD的初始序列号;比较接口MTU(可选)
空DD报文中 I(initialze) M(more) MS(Master/Slave)
I位:初始化位,代表同步过程开始
M位:M=0代表,后续DD报文中没有LSA summary 要传;任何一方M不为0,Master就要继续发送DD报文,Slave收到之后,不论是否还有LSA Summary要传递,一定要回应DD报文
M/S初始双方M/S均置位
信息交换状态Exchange:选举出Master后,Slave 路由器相Master会送DD报文,其中包含LSA头(LSA summary),并使用Master的序列号。Exchange阶段通过这种可靠的DD交互,完成快速交换LSA头
Master和Slave的角色分工不同,由RID大的路由器充当,负责发送序列号递增的DD报文,Slave用收到的DD报文的序列号进行确认和回应。所以DD交互过程是可靠的
信息加载状态(loading):在这一状态下,本地路由器会向它的邻居路由器发送LSReq,请求本地LSDB中没有的LSA。收到LSReq,路由器会用包含完整的被请求LSA的LSU进行回应。请求方收到LSU后,则LSAck确认。一份LSAck可同时为多份LSUpdate做确认
完全邻接状态full:在full状态下,邻居路由器之间已完成同步过程,建立起完全邻接关系
影响邻居关系及邻接关系建立的问题
1主IP网络及掩码 Hello报文中,携带有接口主IP网络的掩码,
2MTU不一致
OSPF网络类型
Point-to-Point networks
Broadcast networks
Nonbroadcast Multi-Access networks
Point-to-Multipoint networks
广播型网络 | 当链路层是ethernet时,缺省情况下,OSPF认为网络类型是broadcast.在该类型的网络中:通常以组播形式发送Hello报文、LSU报文和LSAck报文。其中224.0.0.5为OSPF设备预留组播地址;224.0.0.6为 DR/BDR预留组播地址。以单播形式发送DD报文和LSR报文 |
NBMA | 当链路层协议是帧中继、ATM时,缺省情况下,OSPF认为网络类型是NBMA。以单播形式发送协议报文(hello、DD、LSR、LSU、LSAck) |
P2MP | 没有一种链路层协议被缺省认为是此类型。必须是由其他网络类型强制更改的,常用做法是NBMA网络改到P2MP 以组播(224.0.0.5)发送hello;以单播形式发送(DD、LSR、LSU、LSAck) |
P2P | 当链路层协议是PPP、HDLC和FrameRelay(仅限P2P类型子接口)时,缺省情况下,网络类型为P2P 组播形式(224.0.0.5)发送hello、DD、LSR、LSU、LSAck |
各种网络类型互联
网络类型组合 | 邻居建立 | 邻接同步 | 路由计算 | 补充说明 |
NBMA+其他网络类型 | 不可以 |
|
| NBMA 只能和同类型节点建立邻居关系 |
P2MP+Broadcast | 调整间隔后可以 | 可以 | 无法计算出对方路由 |
|
P2MP和P2P | 调整间隔后可以 | 可以 | 可以 |
|
Broadcast+P2P | 可以 | 可以 | 无法计算出对方的路由 |
|
默认NBMA和P2MP的hello时间都为30s,P2P和Broadcast的hello时间都为10s
NBMA只支持单播形式的报文,其他几种网络类型的Hello报文都是组播发送
Broadcast和P2P无法计算出对方的路由,OSPF在画二者的拓扑结构时,Broadcast需要连接到虚节点,而P2P网络需要和邻居节点直连,在逻辑拓扑上二者无法连接到一起,无法计算出各自节点后面的路由
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。