目录
在动态路由协议——OSPF_ospf主从选举-CSDN博客中我们学习了OSPF路由协议基础,这里就以有基础来进行讲解
一.OSPF学习补充
(1)OSPF报文头部
version——OSPF的版本号,IP v4是v2,IP v6是v3
Type——传输报文的类型
router id ———路由器的唯一标识
area id ——OSPF的区域号,0是骨干区域,非0是非骨干区域
checksum——校验报文完整性
auth type 和 authentication——都是认证
(橘色是对邻居关系建立影响大的字段)
(2)ospf建立邻居关系
1.Hello报文——建立邻居关系
1.R1先发出Hello报文,此时他的邻居是空的,并没有学习到任何邻居状态,是Down状态
2.R2发出Hello报文,邻居为空,R1知道有R2这个邻居,但R2不知道R1,现在的状态是Init
3.R2发出Hello报文,邻居已经有R1的地址,此时R1和R2知道彼此的存在,并且知道对方知道自己,邻居关系建立完成,为2-WAY
2.hello报文头部
network mask——掩码
hello interval ——hello报文以10S为周期发送,表示周期发送时间
options——8bit位,现在需要学习的只有3位——
E ------是否支持外部路由 MC——是否支持组播(OSPF是以组播形式发送) NIP ——是否为特殊区域(stub ,nssa,后面会学习)
routerdead interval——死亡时间(一般40s没有收到hello报文就认为邻居关系结束)
DR——表示谁是DR
BDR——表示谁是备份DR(关于BDR,DR在之前的文章有)
neighbor——邻居表
自此,邻居关系建立成功
(3)OSPF建立邻接关系
1.发送DD报文
1.从设备发出DD报文,刚开始都认为自己是主设备,M=1表示是主设备,MS=1表示后面还有DD报文。
2.双方都发出DD报文,现在是ExStart状态。
3.现在已经选举出主从,由从设备R1率先发出LSDB摘要。
4.R2后发LSDB摘要,此时是exchange(交换)状态
5.确定交换LSDB报文,此时是Loading 状态
2.DD报文头部
MTU——不分片下能接收的最大报文长度,要求建立邻接关系两边一样,否则就丢弃
I——I=1,表示传输的是第一个DD报文
M——M=1 ,就是主设备
MS—MS=1表示还有DD报文要传输
3.同步LSDB
在之前的OSPF基础的文章中有关于LSR,LSU,LSACK的介绍,我门要知道这三个报文是一组的,一条一条请求LSDB表中的LSA信息。
(4)关于DR,BDR
1.DR,BDR是非抢占式的,新添一条设备优先级高也不改变DR 设备
2DR,BDR是基于接口
二.OSPF计算路由
(1).OSPF协议有以下4个步骤
1.建立邻居关系
2,建立邻接关系
3.计算路由——数据核心补充内容
4.生成路由——数据核心补充内容
(2)LSA类型
1.LAS报文头部
这里我们着重学习三元组——包括
LS Type——LSA类型
LINK State id——链路状态IP地址
advertising router——通告路由器的IP地址
2.router LSA
一类LSA,记录链路状态和开销,包含路由信息和拓扑信息。在区域内防洪
(1)一类LSA报文头部
V——表示虚连接,为了使没有和DR连接的设备也能加入到OSPF学习当中
E——表示外部路由引入,ASBR,是外部路由就设为1
B——区域间路由器,为ABR,是的话设为1
(2)一类报文中类型
不同连接状态(type )有不同的id 和data
这里要了解到P2P与STUBNET是一起出现,STUBNET是关于网段信息,P2P是物理连接,
transnet只有拓扑信息,没有掩码信息,不完整,就有了二类LSA
3.network LSA
计算DR网段
1.报文头部
包含接口IP地址,掩码,和与之连接的邻居路由器的IP地址,与transnet一起组成拓扑和路由信息
三.路由计算
(1).SPF树计算
1.以自己为根,查找一类LSA,找出除网段信息的IP地址加入候选表,比较开销和优先级选出地址,就是DR设备,加入SPF树
2,根据选出的DR设备查找二类LSA,找出IP地址信息加入候选列表,比较开销和优先级选出地址,加入SPF树
3.根据新选出的设备查找一类LSA表,IP地址加候选列表,选出最佳的。
4.根据选出的DR查二类LSA表,一样的步骤选出下一个节点
。。。。。
5.直到候选列表没有信息,如果有还没有添加的router id就加到对应的节点上。
6.加叶子,将网段信息加入树的节点中。
(2)根据开销计算出最佳路由
这里要注意一点,OSPF的最佳路由不是都会出现在最终的路由表中,例如:OSPF 的路由与直连都可以到达一个目的IP,那么一定会选择优先级高的直连,那么opsF就不会出现在最终的路由表里。