1、概述
OSPF(Open Shortest Path First)是由IETF开发广泛使用的链路状态路由协议,使用快速收敛,层次化多区域结构设计,一般多部署在园区网、企业网或城域网中
2、邻居发现
实验需求:
3、实验步骤如下:
报文:
OSPF头部:
版本:OSPFv2 是IPv4版本 OSPFv3就是3
区域ID:所属区域
认证:OSPF的认证字段在OSPF头部中
Hello报文:
OSPF的Hello报文广播和P2P网络中是每10秒发送一次,在非广播多路访问(NBMA)和P2MP中每隔30秒发送一次,
Head Interval是指邻居失效时间,当超过该时间时OSPF便认为邻居失效。一般为Hello时间的4倍。
Designated Router:DR的IP地址
Backup Designated Router: BDR的IP地址
Active Neighbor:活动邻居的IP地址
例如 R1收到AR2发送的Hello报文中没有自己的Router-ID则会卡在Idle状态。
在OSPF中如果是Drother路由器的话,则不保持2-way状态,如果不是则会继续进入FULL邻接关系的协商。
若双方都进入2-way状态,邻接关系发生在2-way状态之后,
邻接状态的迁移如下:
在Exstart信息初始状态状态下,双方路由器会互相空传DD报文。
DD报文:
DD报文是在OSPF确定主从关系时发送的报文,在OSPF中,初始发送空DD报文
AR1和AR2一开始都认为自己是主路由器,都向对端发送空DD报文,并且华为默认不检查接口mtu
其中I,M,MS比特位置1,
i比特位置1表示第一个DD报文,
M比特位置1表示后续还有DD报文需要交互,任何一方m比特位没有置0,master必须发送DD报文,slave必须回复DD报文。以确保可靠性。
MS比特位置1表示是主路由器,
下图,源地址位AR2的接口IP地址,DD序列号位2131,并且i,m,ms位都置1说明是第一份DD报文,且AR2认为自己是主路由器。
同理,AR1也会向AR2发送DD报文,源地址位AR1的接口地址10.0.12.1,AR1也认为自己是主路由器,DD序列号为2152。
当AR1收到AR2发送的DD报文后,对比router-id,发现自己的Router-id没有对端的大,所以将自己的MS位置0,I位置0,并且使用AR2发送来的DD序列号2131继续交互报文。
当AR2收到后知道自己是主路由器,然后将MS位继续置1,并将之前的DD序列加1,发送给AR1。
master的ms位置1,slave回应DD报文是对msater的确认。
OSPF,初始状态为down状态,当收到对端发送来的DD报文后,确定完主从关系后,会进行LSA的交互,进入Exchange信息交换状态
选举出Master后,slave向Master回应DD报文中携带LSDB中的LSA头(LSA summary)列表,并使用Master的DD序列号,回应Master,
只要有一方还有要传递的lsa,则master必须发送DD报文。
Exchange阶段使用这样可靠的传递方式,来快速完成LSA头的交互。(如果Master没有收到Slave的回应,则5秒后重新传递该DD报文,直到收到回应)
当双方的M位都不置位时,则进入Loading状态,信息加载状态,在该状态下OSPF路由器会使用LSR报文来请求本地LSAB中没有的LSA,其中,
LS-type为LSA的类型,
Link-state-id,描述一个LSA
advertising router,产生此LSA的路由器。
其它OSPF路由器收到后,使用包含完整的LSA通过LSU进行回应,
其中:
Number of LSAs,表示LSU报文中所包含的LSA数量。
LSAs:完整的LSA内容。
若LSU没有收到回应,则5秒后重传。
OSPF路由器收到LSU报文后会对其发送LSAck报文进行确认,如下:
LSA头部:
link-state type: 代表不同的LSA类型
link state ID: 与type和adv-router一起用来OSPF中唯一标识一个LSA
adverttising router: 产生此LSA的路由器router-id
LS sequence Number:32位序列号,越大说明该LSA越新。
LS Age:0 seconds
LSA生产后所经过的时间,以s为单位。
无论LSA在链路上传递,还是保存在LSDB中,都会持续增长,
默认下,泛洪时每经过一台路由器其Age值加1,
Options:可选项
LS checksum:校验和,其它路由器用来看是否最新
判断LSA的新旧:
序列号越大越新,30min产生新的LSA,每产生一次序列号加1。
校验和:
对刚收到的LSA进行计算,5分钟计算一次,越大越新
Age:
LSA最大3600s。每30分钟都会被刷新 若Age为3600,则认为更新,若两者相比差大于15分钟,则小的认为更新,若两者差小于15分钟认为同等新,只保留先收到的。
比较顺序,序列号,校验和,老化时间
影响OSPF邻居关系建立的因素:
从OSPF的报文头部来看:
1、版本
2、区域ID
3、认证
4、Source-Router
从OSPF的Hello报文来看:
1、接口掩码
2、Hello时间间隔,Dead时间间隔
3、options中的区域类型
DD报文影响OSPF关系建立的因素:
1、MTU值,(华为默认不检查MTU值)
OSPF从down到full的过程:
1、down
2、Init (NBMA中的Attempt)
3、2-way
4、Exstart
5、Exchange
6、loading
7、Full
在OSPF初始情况下是Down状态,
卡在Init状态时,说明对方发送的Hello报文中,邻居字段没有自己的Route-ID
卡在2-way状态时,说明双方路由器为Dr-other路由器
卡在Exstart状态时,说明双方MTU值协商出错,
例1,当主路由器的接口MTU值为1500,从路由器的接口MTU值为1400。
此时主的状态卡在Exstart,从路由器的状态也卡在Exstart。
例2,当主路由器的接口MTU值为1400,从路由器的接口MTU值为1500.
此时主路由器的状态卡在Exstart,从路由器的状态卡在Exchange。
常用的LSA分为1,2,3,4,5,7类LSA
1类LSA:每台设备都会产生,描述了设备的链路状态和开销,只在区域内泛洪,
链路类型:p2p,vlink,传输链路,subnet
P2P:link ID 是对端的接口ip地址
date 是自己接口的ip地址
TransNet: link ID 是DR接口的IP地址
date 是自己接口的IP地址
SubNet: link ID是Loopback网络号
date 是掩码
Vlink: link ID是对端路由器的Route-ID
date是自己接口的IP地址
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 1.1.1.1 1.1.1.1 734 48 80000005 1
一类LSA的Linkstate ID,和AdvRouter 都是自己的Route-ID,Type为Router,每台路由器都会产生。
2类LSA:Network,由DR产生描述ma网络中的链路状态,只在区域内泛洪。
Type LinkState ID AdvRouter Age Len Sequence Metric
Network 10.1.13.3 3.3.3.3 1073 32 80000002 0
2类LSA的Type为 Network,Linkstate ID是DR的接口ID,advrouter是DR的router-ID
<AR1>dis ospf lsdb network 10.1.13.3
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.1
Link State Database
Type : Network
Ls id : 10.1.13.3
Adv rtr : 3.3.3.3
Ls age : 1101
Len : 32
Options : E
seq# : 80000002
chksum : 0x81a0
Net mask : 255.255.255.0
Priority : Low
Attached Router 3.3.3.3
Attached Router 1.1.1.1
其中Attached Router 标识和那些路由器建立了邻接关系。由DR产生
3类LSA:Summary由ABR产生,在区域间传递路由,只在仅泛洪一个区域内
<AR1>dis ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Sum-Net 10.1.45.0 3.3.3.3 1290 28 80000002 2
3类LSA的Type为sum-Net,Linkstate ID是目标地址,advrouter是ABR的router-ID,由ABR产生
4类LSA:ASBR-Summary由ABR产生,描述去往ASBR的距离,通告给出了ASBR所在的区域以外的其它区域。
Type LinkState ID AdvRouter Age Len Sequence Metric
Sum-Asbr 5.5.5.5 3.3.3.3 1290 28 80000001 2
4类LSA的TYpe为 Sum-Asbr,Linkstate ID是ASBR的Router-ID ,advrouter是ABR的Router-ID,由ABR产生。
5类LSA:AS-External由ASBR产生,,描述去往AS外部的路由,可泛洪到所有区域。除了(特殊区域)
Type LinkState ID AdvRouter Age Len Sequence Metric
External 10.1.59.0 5.5.5.5 1328 36 80000001 1
External 221.1.1.1 5.5.5.5 1307 36 80000002 1
type为External,linkstate ID外部路由,advrouter为ASBR的router-ID,由ASBR产生
7类LSA:NSSA LSA由ASBR产生,描述到AS外部路由,只在该区域泛洪。
泛洪机制:
OSPF路由生成的过程:
1、建立OSPF邻接关系
2、交互LSA,并装到LSDB中
3、使用SPF算法,将LSDB中算出来的最短路径路由,放到路由表中。
Router-ID冲突有什么问题:
Router-ID不具有抢占性
导致业务中断
网络震荡
邻居关系无法建立
划分区域的好处有哪些?
1、方便管理
2、易于故障排除
3、减少LSDB大小
OSPF汇总
ABR汇总,区域下做汇总
ASBR汇总,进程下做汇总
OSPF修改参考带宽需要注意什么?
要该都修改,