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比特 可选项:
DN:DN-bit位置为1的时候,代表路由是从骨干区域来的
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.外部路由
五、 OSPF执行SPF计算:
1、计算最短路径树
a、最短的cost b、SPF算法
2、路由过滤
a、黑洞问题 b、不可达问题
3、生产路由表
总结:在一个area中,LSA必须泛洪同步,路由时自己独立计算,和其它邻居通过无关(路由器只能原封不动的转发其它路由器发送过来的LSA,不可修改)
六、 LSDB的维护
1、新旧比较,然后泛洪、回馈、丢弃3种行为
2、比较序列号
3、比较老化时间:最大老化时间;如果小于15m,谁有限
4、checkSum
5、60分钟刷新删除陈旧的LSA(IS-IS为30分钟)
6、30分钟泛洪自己的LSA(IS-IS为15分钟)
7、自己更改自己,别人不能更改,否则LSA破坏风暴
七、多区域
1、多区域的用途
2、ABR的角色
3、LSA类型3的报文格式:
4、区域间距离适量路由协议
注:LSA3汇总:对LSA1和LSA2的汇总,隐藏了描述连接情况的LSA,且多余子网的LSA只发送一个
5、防止环路手段:
ABR角色防环
ABR不能从非骨干区域收LSA类型3防环
downbit防止环路:DN-bit位置为1的时候,代表路由是从骨干区域来的
6、Virtual-Link
工作原理
检测链路变化
优点是什么?
缺点是什么? 答:做的不当可能会有次有路径的问题
OSPF ABR的定义:
RFC2328对ABR定义不明确,以下几种定义都符合RFC2328
1.配置了多个区域
2.配置了包括骨干区在内的多个区域,骨干区内使能了至少一个接口。
3.配置了包括骨干区在内的国歌区域,骨干区内至少有一个接口是UP的。
不同的定义导致相同组网产生不同的路由选择结果
RFC3509对ABR进行了重新定义,ABR部分如下:
配置了包括骨干区在内的国歌区域,骨干区内至少有一个接口的邻居状态处在Full。
华为VRP5的实现遵循了RFC3509的标准。
八、外部区域
1、LSA类型5
2、LSA类型4
3、Forware Address 实例1
a.OSPF hello的Option中E bit被Reset
b.发送0.0.0.0
5、NSSA区域:
a.LSA类型7
b.OSPF hello的Option中NP bit被Set(代表stub),同时E bit 必须Reset(代表NSSA)
c.不发送0.0.0.0
d.Forward Address实例2(转发地址:对于外部LSA(类型4、类型5)才有,内部LSA没有)
e.多个ABR时候如何操作
OSPF外部路由设计建议:
不建议引入智联二采用network + silent发布烤炉:
1.优先级
2.聚合
3.路由不确定性
最终选路规则(1)
路由优选顺序(从高到低):
区域内路由:优选cost小的
区域间路由(ia):优选cost小的
E1外部路由:
优选整体cost小的(整体COST=LSA中metric+到ASBR/FA的内部路径开销);
存在多种优选规则,见下下章Type5/Type7的LSA
E2外部路由:
优选整体csot小的(整体cost=LSA种metric)
cost相同时,优选到ASBR/FA内部路径cost小的;
存在多种优选规则,见下章Type5/Type7的LSA
等价路由形成的基本条件:
路由类型一致、cost相同
最终选路规则(2)
OSPF外部路由选路跪着2(描述同一条路由的1或多条相同类型的Type5/Type7间LSA):
FA(Forwarding-Address)对外部路由优选的影响
对于携带非零(0.0.0.0)FA地址的Type5/Type7 LSA,在计算路由时以FA地址(而非ASBR)作为该外部路由的逻辑下一跳地址
只有在本地OSPF路由表中存在匹配FA的OSPF内部路由时,该LSA携带的外部路由才可能添加到OSPF路由表中
Type5 LSA携带FA(Forwarding-Address)的条件(在生成该LSA的ASBR上)
该ASE路由的下一跳对应的路由为OSPF内部路由或本地启用OSPF的借口对应的直连网段
下一跳对应的路由的出接口类型为BMA或NBMA;且此借口不是silent借口
下一跳对饮的路由的直接下一跳地址落在OSPF协议中network发布的网络范围之内(VRP5有些版本无此限制)
注:满足上面3个条件,则生成Type5 LSA时FA为该路由的直接下一跳地址
Type7 LSA携带FA(Forward-Address)的原则(在生成该ASE的ASBR上)
需要转换的Type7 LSA