文章目录
- 一、ospf 的基本概念
- 1.1 OSPF
- 1.2 OSPF基本特点
- 1.3 OSPF的优点
- 1.4 ospf的运行原理
- 1.5 目前默认网址
- 1.6 三个表
- 1.7 报文格式
- 1.8 OSPF数据包类型
- 二、OSPF邻居关系建立过程
- 2.1 对OSPF建立邻居过程分析
- 2. 2 邻居关系和邻接关系的建立:
- 2. 21邻居发现与维护
- 2.3 邻居和邻接
- 2.4 邻居关系的建立
- 2.5 DR选举特点
- 2.6 DR, BDR选举规则
- 2.61 选举规则
- 2.7选举方法
- 2.71 自动选举DR和BDR和手工选举DR和BDR
- 2.72 手工选举DR和BDR
- 2.73 DR和BDR选举过程
- 三、OSPF的基本工作机制
- 3.1 OSPF支持的网络类型
- 3.2 OSPF的组播地址 与组播过程
- 3. 3 常见链路层协议对应的默认网络类型
- 3.4接口
- 3.5 OSPF/area的概念
- 3.5.1单区域的存在的问题
- 3.5.2OSPF多区域
- 四、OSPF的配置命令
- 4.1 OSPF的基础配置
- 4.2 OSPF的查看及验证
- 五、实例;给路由配置ospd,使pc1和pc2相通
一、ospf 的基本概念
1.1 OSPF
- 开放式最短路径优先OSPF (Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)
- 目前针对IPv4协议使用的是OSPF Version 2 (RFC2328) ;针对IPv6协议使用OSPF Version 3 (RFC2740) 。如无特殊说明,本文中所指的OSPF均为OSPF Version 2,开放式;表示可以应用在任意设备使用。
1.2 OSPF基本特点
- ① OSPF是一种无类路由协议,支持VLSM可变长子网掩码。支持IPV4和IPV6.
组播地址:224.0.0.5 ——224.0.0.6 - ② OSPF度量:从源到目的所有出接口的度量值,和接口带宽反比(10^8/带宽)。
- ③ 收敛速度极快,但大型网络配置很复杂。
- ④ IP封装,协议号89
组播地址:224.0.0.5 ——224.0.0.6
1.3 OSPF的优点
① OSPF采用组播形式收发协议报文,这样可以减少对其它不运行OSPP路由器的影响。
② OSPF支持无类型域间选路(CIDR)
③ OSPF支持对等价路由进行负载分担。
④ OSPF支持报文认证。
1.4 ospf的运行原理
- OSPF组播的方式在所有开启OSPF的接口发送Hello包,用来确定是否有OSPF邻居,若发现了,则建立OSPF邻居关系,形成邻居表,之后互相发送LSA (链路状态通告) 相互通告路由,形成LSDB (链路状态数据库)。再通过SPF算法,计算最佳路径 (cost最小) 后放入路由表。
1.5 目前默认网址
- ① 224.0.0.5(
支持所有路由
) 和224.0.0.6(指定路由DR
)广播地址。 - ② OSPF度量值:10^8/最小带宽(
单位bps,100M带宽的cost=1
)
1.6 三个表
- ① 邻居列表:列出每台路由器全部已经建立邻接关系的邻居路由器
- ② 链路状态数据库:列出网络中其他路由器的信息,由此显示了全网的网络拓扑
- ③ 路由表:列出通过SPF算法计算出到达每个相连网络的最佳路径
- ④查看邻居表;
disospf peer
邻接;全毗邻的邻居关系 链路状态必须同步,存储LSA形成LDSB,经过计算,从而的到OSPF路由表 查看链路状态数据库.
1.7 报文格式
项目 | Value |
Hello报文 | 周期性;10秒 确认邻居是否还在 40秒回应邻居邻居 |
DD报文 | 发送LSA的头部,相当于摘要 |
LSR报文 | 看到LSA的头部,请求所需具体信息 |
LSU报文 | 把所需的信息发送过去 |
LSAck | 发送收到确认信息 |
1.8 OSPF数据包类型
① Hello:10秒发送一次,死亡时间40s,4倍关系,可以修改。
② DBD:Database Description 仅仅是一个对本地数据库的概念性叙述,供路由器核对数据库是否同步
③ LSR:Link-State Request 请求链路状态,在数据库同步过程中使用,请求其他角色发送自己失去的LSA最新版本。
④ LSU:Link-State Update 链路状态更新,LSU包括几种类型的LSA,LSU负责泛洪LSA,和相应LSR。LSA只会发送给之前以LSR请求
的LSA的直连邻居,进行泛洪的时候,邻居路由负责把收到的LSA信息重新封装在新的LSU中。
⑤ LSACK:链路状态确认,路由器必须对每个收到的LSA进行LSACK确认,但可以用一个LSACK确认多个LSA。
二、OSPF邻居关系建立过程
2.1 对OSPF建立邻居过程分析
OSPF建立过程可以简单分为以下三个过程
- ①建立邻居关系
- ②建立各自拓扑表
- ③建立邻接关系
2. 2 邻居关系和邻接关系的建立:
2. 21邻居发现与维护
- ① 两台路由器以组播的方式(224.0.0.5)发送ospf协议的hello报文(Router ID相关参数协商信息)。组播地址224.0.0.5表示所有运行ospf路由器都能收到该报文。
(224.0.0.5是DR和BDR发送报文给DRother时用,224.0.0.6是DR和BDR监听DRother时用(实验表明都是用224.0.0.5)) - ② 两台路由器根据收到的报文,进行参数协商,如果验证、区域等参数都设置一致,则认为发现邻居
- ③ 发现邻居后,进行维护。邻居之间周期性(10s)的交互hello报文
在一定时间内,内收到邻居发来的报文,认为邻居正常,反则认为失效。 - ④ OSPF hello定时器(10s):接口向邻居发送hello报文的间隔。邻居之间定时器要保持一致,且与路由的收敛速度、网络负荷大小成反比
- ⑤ 邻居失效时间 (40s):在邻居失效时间内,如果接口还没有收到hello报文,则宣告邻居无效非广播网络中,每隔30秒发送一次,保持时间120秒的垃圾回收时间
2.3 邻居和邻接
- ① ospf路由器启动后,便会通过ospf接口向外发送hello报文。收到报文的ospf路由器且报文中参数一致,则双方形成邻居关系。
- ② 形成邻居关系的路由器不一定都能形成邻接关系,要根据网络类型,只要双方成功交互DD报文,交换LSA并达到LSDB的同步之后,才能真正成为邻接关系。
- ③ DR、BDR之间为邻接关系 (full)(LSA和DD报文)
DR、BDR与DRother之间为邻接
DRother之间为邻居关系(2-way)(hello报文)
2.4 邻居关系的建立
- ① Ex-start;表示选主从,I=o表示确认主从关系 I=1表示协商主从,MS=1表示naster主发, MS=0表示slace被发,M=1表示后面还有DD报文 M=0表示最后一个报文。
- ② Exchange,这一步携带主从摘要 谁是主和副
- ③ LSACK;最后发送LSACK的确认邻接关系的建立
2.5 DR选举特点
① DR:指定路由器
② DR:备份指定路由器
③ DRothers:其他路由器,只和DR,BDR形成邻接关系
2.6 DR, BDR选举规则
选举规则:选优先级大的,如果优先级相同,选routerid大的;默认优先级=1,(可选范围是0-255,如果是0则不参与选举 没有抢占性)
2.61 选举规则
1、最高优先级值的路由器被选为DR(默认优先级相同:1),次高优先级的为BDR
2、若优先级相同,则比较router-id,拥有最高router-id的成为DR,次高的成为BDR
3、优先级被设置为0的不参与选举
4、OSPF系统启动后,若40s内没有新设备接入就会开始选举,所以为保证DR与BDR的选举不发生意外,建议优先配置想成为DR与BDR的设备。
5、DR与BDR不可以抢占
6、当DR小时之后,BDR直升DR,重新选BDR
7、所有DR,BDR,DRothers说的都是接口,而不是设备 8、不同网段间选DR,BDR,而不是以OSPF区域为单位
2.7选举方法
2.71 自动选举DR和BDR和手工选举DR和BDR
- 网段上Router ID 最大的路由器将被选举DR,第二大的将被选举BDR
2.72 手工选举DR和BDR
- ① 优先级,优先级大的是DR。
- ② 优先级范围是0-255.数值越大,优先级越高,默认 为1
注:最先开机的路由器,自己就是DR - ③ 如果优先级相同,则需要比较RouterID
- ④ 如果路由器的优先级被设置为0,它将不参与DR和BDR的选举。
2.73 DR和BDR选举过程
- 路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器
三、OSPF的基本工作机制
3.1 OSPF支持的网络类型
① 点到点网络
②广播型多路访问网络
③非广播型多路访问(NBMA)网路. P2MP网络
3.2 OSPF的组播地址 与组播过程
- OSPF的组播地址
224.0.0.5
224.0.0.6 - 组播过程
① 刚开始通过224.0.0.5发送hello包,确定DR,BDR后
② DRother通过224.0.0.6发送其他的状态信息给DR,BDR。
③ DR,BDR通过224.0.0.5发送路由信息给其他DRothers. ④ OSPF度量值:COST
⑤COST=10^8 /BW
⑥最短路径是基于接口指定的代价计算的
3. 3 常见链路层协议对应的默认网络类型
网络类型 | 常见链路协议 |
Point-to-point | ppp链路;lapd链路;HDLCll |
Broadcast | 以太网链路 |
NBMA | 帧中断链路;ATM链路 |
P2MP | 需手工指定 |
3.4接口
- ① 注意OSPF为“接口敏感型协议" , DR及BDR的身份状态是基于OSPF接口的。
- ② MA网络中,所有的DRother路由器均只与DR和BDR建立邻接关系, DRother间不建立全毗邻邻接关系。
- ③ 如此一来,该多路访问网络中设备需要维护的OSPF邻居关系大幅减小: M= (
n-2
)x2+1,LSA的泛洪问题也可以得到一定的缓解。 - ⑤ 广播泛红
路由器收到包含变化后的LSA的LSU后,更新自己的LSDB,过一段时间(SPF延迟),对更新的链路状态数据库执行SPF算法,必要时更新路由表。
3.5 OSPF/area的概念
3.5.1单区域的存在的问题
a、LSA泛洪严重, OSPF路由器的负担很大。
b、区域内部动荡会引起全网路由器的SPF计算。
c、LSDB庞大,资源消耗过多,设备性能下降,影响数据转发。
d、每台路由器都需要维护的路由表越来越大,单区域内路由无法汇总。
3.5.2OSPF多区域
a、减少了LSA洪泛的范围,有效地把拓扑变化控制在区域内,达到网络优化的目的在区域边界可以做路由汇,,减小了路由表。
b、充分利用OSPF特殊区域的特性,进一步减少LSA泛洪,从而优化路由。
c、多区域提高了网络的扩展性,有利于组建大规模的网络。
area0为骨干区域;同一个ospf中只有一个且有一个。 通过area0进行链接
- 另外为标准区域
AR1;区域内路由器 Internal Router
AR2;区域边界路由器ABR Area Border Router
AR3、骨干路由器 Backbone RouterAS
AR4;边界路由器 ASBR AS Boundary Router
四、OSPF的配置命令
4.1 OSPF的基础配置
- ① 创建OSPF进程,并指定OSPF的进程号及Router-ID:
[Router] ospf [process -d | router-id ]
- ② 进入特定area的配置视图:
[ Router—ospf ] area area-id
- ③ 在特定area的配置视图内,在特定的接口激活OSPF:
[Router—ospf-area] network ip-address wildcard-mask
4.2 OSPF的查看及验证
命令 | 含义 |
display ospf brief | 查看OS[F的协议相关运行参数 |
display ospf peer | 查看OSPF邻居表 |
display ospf Isdb | 查看LSDB表 |
Column 1 | Column 2 |
display ospf routing | 查看OSPF路由 |
五、实例;给路由配置ospd,使pc1和pc2相通