OSPF-建立邻居
时间:2023-06-26 11:00:02 | 来源:网站运营
时间:2023-06-26 11:00:02 来源:网站运营
OSPF-建立邻居:目录传送门
序:开放式最短路径优先协议,由IETF开发,SPF是OSPF的核心思想,运用Dijkstra算法
一、基础知识1.1预知知识- OSPF的流量使用IP协议号89,不依赖TCP、UDP
- 天然无类路由协议,支持VLSM
- OSPF是IGP协议中的链路状态协议
- OSPF的管理距离是110
- OSPF只支持等价负载均衡
- OSPF的周期更新时间为30min
- OSPF不可以通过Offset list来改变路由的metric
1.2 术语解析- Router-ID:OSPF路由器唯一的身份标识,用IP地址的形式来表示(Router-ID只在OSPF启动时,或者重置OSPF进程后计算)
- COST:OSPF使用接口的带宽计算metric值(一般计算方法为(带宽/100M),有例外)
- 链路(Link):特指运行在OSPF进程下的接口
- 链路状态(Link-State):就是OSPF接口上的描述信息,储存在链路状态数据库
- 组播地址:224.0.0.5,所有OSPF路由器;224.0.0.6,DR和BDR专属
1.3核心计时器1.4 DR BDR选举(MA网络)- 比较接口优先级,选举优先级最高的称为DR,次优先级的为BDR,优先级范围时0-255,默认时1,优先级设置为0表示不参与DR和BDR的选举
- 在优先级相同时,route-id 最大的成为DR,其次BDR
!注意:
①多路访问网络可以没有DR,但是将无法建立邻接关系
②DR和BDR非抢占,DR和BDR与任何R都是FULL状态,但是普通R和普通R之间是two-way状态
1.5序列号①线性空间:从0x80000001到0x7fffffff
②循环序列号空间:(假设序列号空间为n)
a>b 且 (a-b)<=n/2
a>b 且 (b-a)>n/2
!略
③棒棒糖:圆形空间,无限序列
二、OSPF邻居建立2.1 OSPF概括- 宣告OSPF的路由器从所有启动OSPF协议的接口上发出hello包。如果两台路由器共享一条公共数据链路,并且相互成功协商hello包中相关参数,那么它们就成为了邻居
- 邻接关系,可以想象为一条点到点的虚链路,它是在一些邻居路由器之间构成的。
- 每台路由器都会在所有形成邻接关系的邻居之间发送LSA(链路状态通告)。LSA描述了路由器所有的链路、接口、路由器的邻居以及链路状态信息。
- 每一台收到从邻居路由器发出的LSA的路由器都会把这些LSA记录在它的链路状态数据库中,并且发送一份LSA的拷贝给其他邻居
- 通过LSA泛洪到整个区域,所有的路由器都会形成相同的链路状态数据库
- 当这些路由器的数据库完全相同时,每一台路由器都将以其自身为根,使用SPF算法来计算一个无环路的拓扑图
- 每一台路由器都将从SPF算法树中构建出自己的路由表
2.2邻居建立过程- down:网段上没有收到消息
- init:接口检测到来自邻居的hello包,但是还未建立双向通信
- two-way:与邻居建立双向通信,路由器在邻居发来的hello包中看到自己。(是否选举DR和BDR取决于网络类型)
- ex-start:路由器尝试建立初始序列号,在信息交换包中会用到。序列号确保路由器总是能获取最新的消息。一台路由器将成为主主路由器,另一条将成为从路由器。此时I(init)、M(more)、MS(master)位全部为1.
- exchange:路由器发送DBD(数据库描述)包来描述整个LSDB。DBD包中包含有关路由器LSDB中出现的LSA条目的头部信息。I为此时置0,M位置1表示接下来还有DBD报文,MS置1表示主路由器
- loading:当路由器收到了M位置0的DBD包时,将进入loading状态,在此状态中,路由器完成信息交换。路由器构建链路状态请求表和链路状态重传表,任何不完整或过时的消息都会放在请求表里,任何要发出的更新都会放在重传表里,直到收到确认
- full:在此状态中,邻接关系建立完成,邻居路由器建立了完全邻接关系,双方拥有相同的LSDB
2.3 OSPF网络类型- 点到点:串行链路和点到点帧中继链路
- 广播:以太网链路
- 非广播:帧中继链路和ATM,需要手动指定邻居,没有发现邻居的能力
- 点到多点:视为点到点链路对待
- 点到多点非广播:与点到多点链路类似,但是不支持广播,没有发现邻居的能力
2.4 OSPF邻居建立中的问题2.4.0
建立邻居的四大必备条件:- Area-id 必须相同
- hello,dead时间必须相同
- 认证通过
- 区域类型相同
2.4.1
MTU不一致MTU不一致时,邻居时建立不起来的,不过可以在接口模式下配置 ip ospf mtu-ignore 去忽略MTU,注意在MTU小的接口上配置
2.4.2
接口掩码不一致a,在MA网络中不一致,邻居无法建立,因为2类LSA有掩码字段用于描述信息
b,在p2p网络中,邻居可以建立,路由也能学到,不过别闹······
2.4.3
网络类型不同两端如果网络类型不同,邻居可以建立,LSA可以传递,但是路由学不到