OSPF邻接建立
一、邻接建立的七中状态及用途
1、Init的用途?
2、Twoway:
- 检查什么参数必须一致,P2P和MA有何不同
- 用途是什么
- DR的选举和抢占,wait计时器的用途
- P2P和MA链路的协商区别
3、Exstart:
a. 用途是什么?
B.DBD的主从选举
C.检查什么参数一致?为什么?
4、Exchange:
A.要点是同步DBD
5、Loading:
A.要点是发送LSR
6、Full:
a.发出的LSR全部收到应答
B.检查DBD全部一样
C.已经同步了LSDB
7、邻接关系之后如何维护:
A.DNA概念、DC的概念
B.应用场景、virtual-link
二、OSPF数据报文
1、Hello报文:最常用的报文,其作用为建立和维护邻接关系,周期性地在使能了OSPF的接口上发送。报文内容包括一些定时器的数值、本网络中的DR、BDR以及已知的邻居。
2、DD报文:两台设备在邻接关系初始化时,用DD报文描述本端设备的LSDB,进行数据库的同步。报文内容包括LSDB中每一条LSA的Header(LSA的Header可以唯一标识一条LSA),即所有LSA的摘要信息。LSA Header只占一条LSA的整个数据量的一小部分,这样可以减少设备之间的协议报文流量,对端设备根据LSA Header就可以判断出是否已有这条LSA。在两台设备交换DD报文的过程中,一台为Master,另一台为Slave。由Master规定起始序列号,每发送一个DD报文序列号加1,Slave方使用Master的序列号作为确认。
3、LSR报文:两台设备互相交换过DD报文之后,需要发送LSR报文向对方请求更新LSA,内容包括所需要的LSA的摘要信息
4、LSU报文:LSU报文用来向对端设备发送其所需要的LSA或者泛洪本端更新的LSA,内容是多条LSA(全部内容)的集合。为了实现Flooding的可靠性传输,需要LSAck报文对其进行确认,对没有收到确认报文的LSA进行重传,重传的LSA是直接发送到邻居的。
5、LSAck报文:LSAck报文用来对接收到的LSU报文进行确认,内容是需要确认的LSA的Header(一个LSAck报文可对多个LSA进行确认)。
三、数据报文格式
Hello报文头部:
消息类型: (hello packet :1 DBD:2 LSR:3 LSU:4 LSACK:5 )
Hello Packet:
三元组:确定LSA的唯一性(链路状态ID、通告路由器、Router-LSA)
LSR:内容只有三元组(请求特定的LSA)
Network Mask 32比特 发送Hello报文的接口所在网络的掩码。
HelloInterval 16比特 发送Hello报文的时间间隔。
Options 8比特
可选项:
E:允许Flood AS-External-LSAs
MC:转发IP组播报文
N/P:处理Type-7 LSAs
DC:处理按需链路
Rtr Pri 8比特 DR优先级。默认为1。如果设置为0,则路由器不能参与DR或BDR的选举。
RouterDeadInterval 32比特 失效时间。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效。
Designated Router 32比特 DR的接口地址。
Backup Designated Router 32比特 BDR的接口地址。
Neighbor 32比特 邻居,以Router ID标识。
OSPF Hello 抓包:
四、LSA类型与功能
1、LSA类型1:Router Link
- 素有路由器产生
- P2P:秒速到邻居的连接
- Transit:秒速到DR的连接
- Stub:描述子网
- Vitrual-link:描述虚链路点到点连接
- 用途讲解
2、LSA类型2:Network
- DR产生
- 描述DR到BDR和其他路由器的连接
- 描述本MA子网
3、LSA类型3:network summary
A.ABR产生,LSA的汇总
4、LSA类型4:ASBR summary
A.ABR产生
B.使得本区域路由器发现位于另外区域的位置
5、LSA类型5:external
A.ASBR产生
B.外部路由
6、LSA类型7:NSSA external
A.在NSSA区域ASBR产生
B.外部路由