OSPF报文和邻居过程建立

OSPF基本属性:
1.无类路由协议,链路状态协议,IGP
2.IP协议号:89
3.支持触发更新,增量更新,周期更新1800s,3600s失效
4.协议优先级:10(越小越优)

OSPF报文头部:
1.version:版本,当前使用的是ospfv2,其值为2
2.type:报文类型,OSPF有5种报文类型
3.Packet Length:整个OSPF报文的报文长度,单位是字节
4.Router-ID:发送该报文的路由器的RID
5.Area-ID:区域ID,表示报文需要被通告到的区域6.checksum:校验字段,校验的范围是整个OSPF报文,包括OSPF报文头部
7.auth type:为0表示不认证,为1表示简单的明文认证,为2表示加密认证(md5)
8.Authentication:认证信息

5种报文类型:
1.Hello报文的作用:
邻居发现:自动发现邻居路由器
邻居建立:通过hello报文中的参数协商,建立邻居关系
邻居保持:通过keeplive机制,检测邻居运行的一个状态
2.DD:数据库描述报文
3.LSU:链路状态更新报文
4.LSR:链路状态请求报文
5.LSACK:链路状态回复报文

形成OSPF邻居关系的条件:
1.区域ID一致
2.Hello时间与Dead时间一致,默认Dead时间是Hello时间的4倍
3.认证类型和密码一致
4.特殊区域标签一致
5.MTU值一致
6.RID冲突会导致邻居建立失败

OSPF邻居状态变化:
1.Down:表示邻居的初始状态,表示没有从邻居收到任何信息,在NBMA网络上,此状态仍可以向静态配置的邻居发送Hello报文
2.Attempt:此状态只在NBMA网络上存在,表示没有收到
邻居的任何信息,但是已经周期性向邻居发送报文,发送间隔为Hellointerval。
3.init:该状态,路由器已经从邻居收到Hello报文,但是自己不在所收到的Hello报文的邻居列表中,表示尚未和邻居建立双向通信关系。
4. 2-Way:该状态表示路由器发现邻居并与邻居开启双向通道(收到从邻居发过来的Hello报文的邻居列表字段中有自己的RID),2-Way表明与邻居建立了邻居关系。
5.exstart:该状态是形成邻接关系的第一个步骤,邻居状态变成此状态之后,路由器开始向邻居发送DD报文,主从关系从该状态进行选举。
6.exchange:该状态,路由器相互发送包含链路状态摘要信息的DD报文,描述本地LSDB的内容。
7.Loading:该状态路由器相互发送LSR报文请求LSA,发送LSU去通告LSA。
8.Full:表示两台路由器的LSDB(链路状态数据库)已经同步完成。

DD报文(Seq=X,I,M,MS)
I:init:初始位
M:more:更多位(置1表示还有更多的DD报文需要发送)
MS:master/slave:主从位(置1宣告自己是master)
X:序列号

邻接关系的建立:
1.当RTA的邻居状态变为Exstart后,RTA会发送第一个DD报文。
2.RTB收到对方发送的第一个DD报文中,看到对方的RID比自己小,不理会。
3.RTA收到对方发送的第一个DD报文中,看到对方的RID比自己大,状态从Exstart过度到exchange。
4.RTA的状态变成exchange后,RTA会发送一个新的DD报文,此报文中包含LSDB的摘要信息,序列号设置为RTB之前所发送的DD报文中的序列号Y。I设置为0,表示这个不是第一个DD报文,M设置为0,表示这是最后一个LSDB的摘要信息的DD报文,MS设置为0,宣告自己是slave。
5.RTB收到之后,状态从Exstart过渡到exchange。
6.RTB的邻居变为exchange后,会发送一个新的DD报文次报文包含了LSDB的摘要信息。DD报文的序列号设置为Y+1,MS设置为1,宣告自己是Master。
7.RTA收到DD报文之后,进行数据库的同步,同步完成之后,虽然不需要新的LSDB的摘要信息的DD报文,但是RTA作为slave,需要对Master发送的每一个DD报文进行确认回复。所以,RTA向RTB发送一个新的DD报文,序列号为Y+1,该报文内容为空,用于确认收到Master发送过来的DD报文,状态从exchange过渡到loading。
8.RTB收到该报文之后,会把状态从exchange直接过渡到Full。
9.RTA开始向RTB发送LSR报文,请求那些在exchange状态下通过DD报文发现的,并且在本地LSDB中没有的链路状态信息。
10.RTB收到LSR请求后,向RTA发送LSU报文,LSU报文中包含了那些被请求的链路状态的详细信息。
11.RTA收到LSU之后,状态从loading过渡到FULL。
12.RTA向RTB发送LSACK,作为对LSU的确认,RTB收到LSACK之后,双方便建立起完整的邻接关系。

邻居:OSPF路由器启动后,便会通过OSPF接口向外发送Hello报文用于发现邻居。状态到达2-Way即可成为建立了邻居关系。

你可能感兴趣的:(网络知识)