OSPF邻居建立过程
![](https://i-blog.csdnimg.cn/blog_migrate/d82866c066fa5933bd168b3a7ce80481.png)
手动建立邻居
OSPF支持通过单播方式建立邻居关系。
对于不支持组播的网络可以通过手动配置实现邻居的发现和维护
命令:
![](https://i-blog.csdnimg.cn/blog_migrate/6c0d683d14cdbf48fb1b5c1f401272eb.png)
OSPF的数据库(LSDB)同步过程
选举主从路由器
选举方式:比较RouterID
选举结果:从路由器跟随主路由器的序列号开始发送数据,主路由器可以对序列号+1
![](https://i-blog.csdnimg.cn/blog_migrate/61941c32d1b56650b30721956fa5ab95.png)
①:Seq:序列号(随机值) I:是否第一个包 M:后面是否还有包 MS:
主 还是
从 (双方第一个包默认为主)
OSPF单区域(问题点)
-
收到的LSA通告太多了,OSPF路由器的负担很大
-
内部动荡会引起全网路由器的完全SPF计算
-
资源消耗过多,LSDB庞大,设备性能下降,影响数据转发
-
每台路由器都需要维护的路由表越来越大,单区域内路由无法汇总
解决方案(区域的作用):
-
把大型网络分割为多个较小,可管理的单元- 区域area;
-
减少了LSA 泛洪的范围,有效地把拓扑变化控制在区域内,达到网络优化的目的;
-
在区域边界可以做路由汇总,减小了路由表;
-
充分利用OSPF特殊区域的特性,进一步减少LSA泛洪,从而优化路由;
-
多区域提高了网络的拓展性,有利于组件大规模的网络。
OSPF验证命令:
查看OSPF邻居:display ospf peer
查看OSPF接口:display ospf interface
查看OSPF路由:display ospf routing
查看ABR和ASBR:display ospf abr-asbr
查看LSDB:display ospf lsdb
修改OSPF度量值cost:
方法一:直接在接口下改,进到指定接口→ospf cost ××
方法二:在OSPF下改,进到OSPF bandwidth-reference 100 (数值表示参考带宽,单位 Mbps)
loopback口的cost值为0
cost值的累加:
数据发送方向:出接口累加
路由学习方向:入接口累加
网络类型
三种不同的网络类型
![](https://i-blog.csdnimg.cn/blog_migrate/2fba807d3e7a168861626497ae8d7ec5.png)
-
点到点网络(P2P)
-
仅可以两台路由器互连
-
支持广播、组播
-
使用串行链路连接(S口链路)
-
PPP 链路、HDLC链路
-
广播网络(Broadcast)
-
两台或两台以上路由器互连
-
支持广播、组播
-
E口、G口链路连接
-
Ethernet链路
-
选举DR、BDR
-
NBMA网络(非广播多路访问网络)
-
两台或两台以上路由器通过帧中继交换机VC(VC:虚链路)互连
-
选举DR、BDR
-
FR(帧中继)链路、ATM(异步传输模式)链路
-
不支持广播、组播
![](https://i-blog.csdnimg.cn/blog_migrate/90bff6be375d7d96919dc67f5bde8a4e.png)
-
P2MP网络(点到多点网络)
-
多个点到点网络的集合
-
支持广播、组播
![](https://i-blog.csdnimg.cn/blog_migrate/9b0eb2b6641d2b440bc659d9bff920b0.png)
DR、BDR作用
-
减少临接关系
-
降低OSPF协议流量
DR、BDR选举
-
仅有广播链路、非广播多路访问(NBMA)两种链路会进行DR、BDR选举
-
DR、BDR都是基于接口去进行选举的。所以可能同一台设备会有不同接口是DR、BDR或者DRother的情况
选举规则:
-
优先级(越大越优)
-
Router ID(数值越大越优)
邻居与临接
邻居(2-way状态) 临接(Full状态)
DRother之间只建立邻居关系,其他关系均为临接关系
帧中继网络(非广播多路访问NBMA)实验
拓扑图:
中间为FRSW(帧中继交换机),各条链路DLCI(数据链路链接标识)如图所示
要求:
-
通过配置R1、R2、R3及帧中继交换机,实现网络互通
-
配置OSPF
![](https://i-blog.csdnimg.cn/blog_migrate/41d797d30317362fdc2742072ba0eb7e.png)
分析:
-
由于是帧中继网络,那么连线应为串口链路。
-
在帧中继网络中,各连接端口应配置为FR(帧中继)端口(默认PPP端口);
-
如需实现网络互通,则需要在帧中继交换机上配置源和目的的 接口与 数据链路连接标识 (DLCI)对应关系,并在各路由器对应接口配置数据链路连接标识(DLCI);
-
帧中继网络中不能发送广播信号,那么建立OSPF邻居就需要通过单播建立。
配置:
R1:
sys
sysn R1
int s4/0/0
ip add 123.0.0.1 24
link-protocol fr------链路协议改为FR
fr map ip 123.0.0.2 102 broadcast-----目的网络123.0.0.2 DLCI号为102(需与帧中继交换机配置相同,建议前期规划)
fr map ip 123.0.0.3 103 broadcast
ospf 1
peer 123.0.0.2----单播建立邻居123.0.0.2,此时进入“Attempt”状态,不会发送Hello包,当123.0.0.2也单播过来后,进入“2-way”状态,成为邻居。
peer 123.0.0.3
area 0
network 123.0.0.1 0.0.0.255
R2:
sys
sysn R2
int s4/0/0
ip add 123.0.0.2 24
link-protocol fr
fr map ip 123.0.0.1 201 broadcast
fr map ip 123.0.0.3 203 broadcast
ospf 1
peer 123.0.0.1
peer 123.0.0.3
area 0
network 123.0.0.2 0.0.0.255
R3:
sys
sysn R3
int s4/0/0
ip add 123.0.0.3 24
link-protocol fr
fr map ip 123.0.0.1 301 broadcast
fr map ip 123.0.0.2 302 broadcast
ospf 1
peer 123.0.0.1
peer 123.0.0.3
area 0
network 123.0.0.2 0.0.0.255
FRSW(帧中继交换机):
![](https://i-blog.csdnimg.cn/blog_migrate/ce2be65caa9a545501e6e35af93f7b2f.png)
测试:
R1 ping R3 , 测试网络互通性
通过查看OSPF三张表查看三台路由器的邻居/临接状态
-
验证帧中继映射信息命令(确保status是Active状态)(查看DLCI号码、对应的目的地址、从哪个端口出去)
dis fr map-info
-
修改OSPF网络类型(如需修改,建议所有配置OSPF协议的都进行更改)
ospf network-type broadcast / nbma / p2mp / p2p
回环口/32主机路由现象:OSPF认为回环口只有一个地址,因此在传递时自动变成/32主机路由信息,可以通过修改网络类型为Broadcast 来进行还原。
虚连接Virtual Link
-
为了 避免区域间的环路,OSPF规定 不允许直接在两个非骨干区域之间发布路由信息,只允许在一个区域内部或者在骨干区域和非骨干区域之间发布路由信息。因此, 每个ABR(区域边界路由器)都必须连接到骨干区域。即要求所有非骨干区域必须与骨干区域相连,同时骨干区域也必须保持连续。
-
但由于网络设计、升级、合并、改造等因素,从而造成不规范区域架构,最终导致 路由学习不完整,解决办法就是 使用虚链路。
-
但虚连接的存在增加的网络的复杂程度,使故障排除更加困难。因此,在网络规划中应该 尽量避免使用虚连接。
-
虚连接仅是作为修复无法避免的网络拓扑问题的一种 临时手段。
-
虚链路可以看做是一个标明网络的某个部分是否需要重新规划设计的标志。
不规范的OSPF区域设计解决办法:
-
图中3.3.3.3/2.2.2.2 分别代表的是 对端的Router-id
![](https://i-blog.csdnimg.cn/blog_migrate/6207a79eef8d004497462f3ae15518e9.png)
配置
命令
| 备注 |
vlink-peer
|
配置虚连接,使用
对端Router-id
注意:此命令需要在同一区域下进行配置
|
display ospf vlink |
验证虚连接
|
虚链路的Hello包是通过
单播进行发送的。
非骨干区域不能转发路由信息。
OSPF中由于各种原因造成非骨干区域没有与骨干区域互连的解决办法
要求:
根据拓扑图配置相关命令,在不修改区域号的前提下,使area 2 的路由可以与area 0互连。
拓扑图:
![](https://i-blog.csdnimg.cn/blog_migrate/d8e75ef84abe27249269a7042b05e1e2.png)
问题点:
area 2区域没有与骨干区域area 0 连接,就会造成AR4上的路由信息到达不了AR1设备,同样,AR1设备的路由信息也到达不了AR4设备。
解决办法(在AR2设备及AR3设备上添加虚链路即可):
可将AR2设备上,进入ospf,添加配置 vlink-peer 3.3.3.3
进入AR3设备,进入ospf,添加配置vlink-peer 2.2.2.2
完成
查看虚连接:dis ospf vlink
![](https://i-blog.csdnimg.cn/blog_migrate/152fea2f6589c2eda873c23edf5ecf9a.png)
需要保证虚链路邻居状态(Neighbor-State)为Full。
注意:
-
2.2.2.2以及3.3.3.3表示的是设备的Route-id,并不是指IP地址
-
如右边有更多设备,则建立虚链路应该是AR2与AR3连接/AR3与AR4连接、AR4与AR5连接… 不可跨区域连接
-
虚链路发的包是在area 0 区域的
虚链路另外的应用:
可提供冗余的备份链路,当骨干区域因链路故障将被分割时,通过虚连接仍然可以保证骨干区域在逻辑上的连通性
![](https://i-blog.csdnimg.cn/blog_migrate/7a5f44c7c114b5ae71703ffc573d37cd.png)
虚链路:能不用尽量不用。