OSPF协议

本文深入探讨了OSPF协议,包括其作为无类别链路状态型IGP协议的角色,以及与其它路由协议的区别。详细介绍了OSPF的五种数据包和八种状态机,阐述了OSPF的工作过程,如邻居和邻接关系的建立。此外,还讨论了区域划分规则、基础配置步骤、邻居成为邻接的条件以及接口网络类型的差异。内容涵盖OSPF的收敛速度、路径选择、资源占用等因素,为理解和配置OSPF提供了全面指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.OSPF简介

2.路由协议区别

3.OSPF的数据包 ---5种

4.OSPF的状态机 ---8种

5.OSPF的工作过程

6.OSPF的基础配置

1.配置OSPF

2.区域划分规则:

3.实验现象

7.邻居建立成为邻接的条件

8.OSPF的接口网络类型

1.OSPF协议在不同的网络类型,其工作的方式不同

2.修改接口的默认工作方式:


1.OSPF简介

OSPF:开放式最短路径优先协议

无类别链路状态型IGP协议

由于其基于拓扑进行更新收敛,故更新量会随着拓扑的变大而成指数上升;故OSPF协议为了能在大、中型网络中运行,需要结构化的部署----合理的区域划分、良好的地址规划

正常等开销负载均衡; 跨层封装协议,协议号89;

组播更新 224.0.0.5 224.0.0.6 触发更新+周期更新(30min)

2.路由协议区别

                                    距离矢量 DV                                                      链路状态LS
                                    RIP EIGRP                                                        OSPF ISIS
                               邻居间共享路由条目                                          邻居间传递的是拓扑
                                    传闻性协议                                                       本地计算路由

判断一个路由协议的好坏?

1、收敛速度快 2、选择路径佳(前提防环) 3、占用资源少

3.OSPF的数据包 ---5种

Hello包 ---- 组播收发,用于邻居、邻接关系的发现、建立、周期保活

DBD包----- 数据库描述包-- 本地LSDB(链路状态数据库)目录

LSR包----- 链路状态请求 -- 用于询问对端本地未知的LSA信息

LSU包----- 链路状态更新 -- 用于共享具体的每一条LSA信息

LSACK包-----链路状态确认 -- 确认包

LSA--链路状态通告--具体的一条一条 路由或者拓扑信息不是一种数据包,所有的LSA是使用LSU这种包来转发的;

OSPF的数据包是跨层封装于3层报头后方 ,协议号89

4.OSPF的状态机 ---8种

状态机----两台OSPF路由器间不同关系的阶段

Down: 一旦接收到对端的hello包进入下一个状态

Attempt:该状态仅对NBMA网络上的邻居有效,表示最近没有从邻居收到信息,但仍需作出进一步的尝试,用以与邻居联系。这时按HelloInterval的间隔向邻居发送Hello包

Init:初始化接收到的hello包中存在本地的RID,那么进入下一个状态机

2Way:双向通讯 邻居关系建立的标志

条件:点到点网络直接进入下一个状态机;MA网络进行DR/BDR选举,非DR/BDR之间不能进入下一个状态机;

Exstart:预启动 使用不携带数据库目录信息的DBD包,进行主从关系的选举RID数值大为主,优先进入下一个状态机

Exchange准交换 使用携带数据库目录信息的DBD包,进行目录共享,需要ACK确认

Loading加载 接收到其他邻接的目录信息后,和本地进行比对,若本地存在未知的LSA信息,将使用LSR询问对端,对端使用LSU来更新这些LSA信息,直至双方数据库一致LSU需要ACK确认;

Full转发 标志着邻接关系已经建立

5.OSPF的工作过程

1.路由器上启动OSPF协议后,直连的邻居间,开始组播收发hello包,Hello包中将存储本地已知邻居的RID,在双方RID均已知的情况下,建立邻居关系生成邻居表

2.邻居关系建立后,邻居间将进行条件匹配,匹配失败将停留为邻居关系**(2Way)仅hello周期保活即可;匹配成功者间将进行邻接关系的建立

3.邻接关系间的路由器,将使用DBD/LSR/LSU/LSACK来获取本地未知的所有LSA信息;使得同一区域内所有路由器的数据库完全一致;---- 数据库表

4.当本地数据库完成同步后,将数据库-->有向图-->树型结构图-->将本地到达所有未知网段的最短路径加载于本地路由表中;

5.收敛完成仅hello包周期保活即可正常每30min,邻接关系间再进行一次DBD的对比,若一致及正常;若不一致将马上进行同步;

6.结构突变:触发更新

  • 断开网段 直连断开网段的设备,直接使用LSU告知邻接,需确认

  • 新增网段 直连新增网段的设备,直接使用LSU告知邻接,需确认

  • 无法沟通 hello time 对应的 dead time ;dead time 到时后,断开邻居关系,去除基于该邻接共享的LSA计算所得路由

6.OSPF的基础配置

1.配置OSPF

[r1]ospf 1 router-id 1.1.1.1启动时,定义进程号,仅具有本地意义;建议配置RID;

RID格式为ipv4地址,且需要全网唯一手工配置--环回接口上取最大数值的ip地址---物理接口最大ip地址的数值

宣告1、区域划分 2、接口激活协议 3、传递接口信息

[r1-ospf-1]area 0

[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0

[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255

2.区域划分规则:

1、星型结构 -- 区域0为骨干 大于0为非骨干 非骨干区域必须直连骨干区域

2、ABR--区域边界路由器 两个区域间必须依靠ABR连接

3.实验现象

1、启动配置完成后,邻居间使用hello包建立邻居关系生成邻居表

hello包 -- 组播收发 周期发送 -- hello time 10s30s ,dead time 为hello time 4倍

[r2]display ospf peer ----查看邻居表

[r2]display ospf peer brief 查看邻居关系简报

邻居间hello包中有一些参数必须完全一致否则无法建立邻居关系

Hello 和dead time区域ID认证参数末梢区域标记;另外在华为的设备中OSPF要求邻居间接口上配置的ip地址,其掩码长度必须一致

2、邻居关系建立后,邻居间进行条件匹配,匹配失败,将保持为邻居关系匹配成功,将建立为邻接关系,邻接关系将使用DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息同步生成数据库表---LSDB 链路状态数据库

[r2]display ospf lsdb ---查看数据库表

3、数据库表同步完成后,邻接间的互动完成,仅hello包保活;之后本地基于本地的数据库表;转换为有向图,再转换为树形结构,最终将本地到达所有未知网段的最短路径加载于本地的路由表中:

<r1>display ip routing-table protocol ospf ----查看OSPF路由表

默认ospf协议在华为设备中,优先级为10度量为cost值

cost值=开销值=参考带宽/接口带宽 默认参考带宽为100M

OSPF协议将cost值之和最小定义为最佳路径加载于本地路由表

接口带宽大于参考带宽,cost值为1,将可能导致选路不佳;可以修改默认的参考带宽

[r1]ospf 1

[r1-ospf-1]bandwidth-reference ?

INTEGER<1-2147483648> The reference bandwidth (Mbits/s)

[r1-ospf-1]bandwidth-reference 1000

切记:一旦修改,整个网络所有ospf路由器需要一致;

4、关于ospf的MTU问题:

在ospf协议的DBD包中将携带本地接口的MTU值,若两端一致可以正常建立邻居关系;若不一致将无法建立邻接关系;

默认华为设备不携带MTU

[r1-ospf-1] int g0/0/1

[r1-GigabitEthernet0/0/1]ospf mtu-enable 两端设备均需开启

7.邻居建立成为邻接的条件

根据网络类型决定

点到点网络中,所有的邻居关系必然成为邻接关系

MA网络中从邻居到邻接前将利用一个周期的dead time(30S)进行DR/BDR选举

选举规则:

  1. 先比较这些参选接口的优先级默认1取值范围0-255越大越好0标识不参选

  2. DR优先级最大,BDR次大选举非抢占,故若希望干涉选举,需要重启ospf进程,或者将非DR/BDR修改为0

修改优先级重启进程

  • [r2]interface GigabitEthernet 0/0/1

  • [r2-GigabitEthernet0/0/1]ospf dr-priority 3

  • <r2>reset ospf process

  • Warning: The OSPF process will be reset. Continue? [Y/N]:y

非DR/BDR间为邻居关系;

8.OSPF的接口网络类型

1.OSPF协议在不同的网络类型,其工作的方式不同

 [r1]display  ospf interface GigabitEthernet 0/0/1
 ​
 •     OSPF Process 1 with Router ID 1.1.1.1
 ​
 •         Interfaces
 ​
  Interface: 12.1.1.1 (GigabitEthernet0/0/1)
 ​
  Cost: 1    State: DR     Type: Broadcast  MTU: 1500  

     

       网络类型                                                ospf                                                              接口网络类型
LoopBack P2P(LoopBack)                     无hello                                                   环回使用32位主机路由
点到点 (PPP/HDLC/GRE)                 P2P 10s hello time                                            不选DR/BDR
BMA (以太网) Broadcast                   10s hello time                                                    选DR/BDR
NBMA MGRE) P2P

在tunnel接口上,ospf的默认工作方式为P2P这种工作方式,只能建立一个邻居关系,故在MGRE环境中将无法正常工作;

2.修改接口的默认工作方式:

  1. [r1]interface Tunnel 0/0/0

  2. [r1-Tunnel0/0/0]ospf network-type ?

    broadcast Specify OSPF broadcast network

    nbma Specify OSPF NBMA network

    p2mp Specify OSPF point-to-multipoint network

    p2p Specify OSPF point-to-point network

切记:一个网段中所有接口的ospf工作方式必须一致;否则将无法建立邻居关系,或者因为不同工作方式的hello time一样错误建邻,无法收敛

MGRE环境中,使用OSPF,且所有tunnel接口修改为broadcast工作方式后,必须基于拓扑接口考虑DR位置问题

MGRE可以构建不同的拓扑结构:

1、星型--中心到站点--轴辐状 中心站点为DR,取消BDR

2、全连网状 --- 不需要再关注DR

3、部分网状 --- 基于能够全网段内正常共享LSA来考虑最佳的DR位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网工blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值