二、OSPF协议基础

基于SPF算法(Dijkstra算法)的链路状态路由协议OSPF(Open Shortest Path First,开放式最短路径优先)

目录

1.RIP在大型网络中部署所面临的问题

[2.Router ID](#2.Router ID)

3.OSPF的报文

4.OSPF邻居建立过程

5.OSPF报文的确认机制:

6.DD报文中的MTU

7.DR与BDR的作用

9.邻接和邻居关系

10.几种常见的广域网和局域网

11.网络类型

12.ospf链路网络类型

[13.OSPF 度量方式](#13.OSPF 度量方式)

14.OSPF静默接口

15.LSDB同步原则

16.LSA的种类

17.LSA头部

18.LSDB同步原则


1.RIP在大型网络中部署所面临的问题

2.Router ID

用于在自治系统中唯一标识一台运行OSPF的路由器,每台运行OSPF的路由器都有一个Router ID。

优先级:

1.手动配置router id

2.最大的环回接口IP地址

3.最大的物理接口IP地址

注:①实际上:1.手动配置router-id 2.全局router-id(设备第一个配置了IP且为UP的接口ip地址)

②更改router id之后必须重启ospf进程使其生效

dis ospf id //查看路由器全局router id

> reset ospf process // 重启ospf进程

3.OSPF的报文

五种:hello,DD,LSR,LSU,LSACK。

①hello报文:用于发现,建立,维护邻居关系。两部分:ospf通用头部+hello报文

ospf通用头部:

hello报文:

②DD报文:链路状态信息摘要报文

③LSR报文:用于向邻居请求自身缺少的LSA

④LSU报文:用于发送完整的LSA信息

当路由器收到LSR报文时,会根据报文中的LSA三要素在自身LSDB中查找相关的LSA,并将其封装在LSU报文中回复。

⑤LSACK报文:用于确认收到的LSA,使用LSA头部信息做确认回复。

4.OSPF邻居建立过程

5.OSPF报文的确认机制:

①hello报文,10s发一次,40s没收到则老化

②DD报文,使用seq来做隐式确认

③LSR报文,使用LSU报文作为确认回复

④LSU报文,使用LSACK报文作为确认回复

6.DD报文中的MTU

1、DD报文中的第一个字段就是发出该报文接口的MTU值,正常来说,OSPF邻居建立是需要要求两端接口的MTU值保持一致,否则无法建立。

但是华为默认不检查MTU值。因此一般会显示为0(接口缺省MTU为1500)(思科是默认检查MTU值的)

2、可以人为使用命令开启MTU检测

[AR1-GigabitEthernet0/0/0]ospf mtu-enable // 在接口开启OSPF的MTU检测

[AR1-GigabitEthernet0/0/0] mtu 1600

注:

①当接口开启MTU检测后,DD报文中MTU值将正常显示

②两端接口只有一端开启MTU检测,其不生效,也不会影响邻居建立

③必须两端同时开启MTU检测后才会生效

mtu影响的是DD报文阶段

①如果slave路由器接口的MTU>master路由器的MTU,那么从路由器将卡在exchange,主路由器将卡在exstart

②如果slave路由器接口的MTU<master路由器的MTU,那么从路由器将卡在exstart,主路由器将卡在exstart

7.DR与BDR的作用

8.DR与BDR选举规则

9.邻接和邻居关系

邻居(2-way):不需传递路由

邻接(Full):需要传递路由

注:DR和任何角色都要建立邻接关系,BDR和任何角色都要建立邻接关系,Drother和 Drother之间只需建立2way即可。

10.几种常见的广域网和局域网

广域网:

①X.25网络

②帧中继网络(FR)(前身是X.25)

③ATM(异步传输模式)网络

④SONET(同步光纤网络)网络

局域网:

①以太网(Ethernet)

②令牌环网(Token Ring

11.网络类型

根据数据链路层使用的协议来进行划分的网络类型

①MA网络------多点接入网络,分为两种【介质使用同轴电缆、网线、光纤】

1)BMA------广播型多点接入网络(broadcast)

以太网协议

2)NBMA------非广播型多点接入网络

帧中继、ATM

②P2P网络------点到点网络【介质使用串口线】

PPP(点到点协议)------常用

HDLC(高级链路控制协议)

③P2MP网络------点到多点网络

没有任何一种链路层协议被认为是P2MP,不是一种默认的网络类型,一般是人为手动配置的(多用于DSVPN技术)

12.ospf链路网络类型

①broadcast广播

当链路层协议为以太网时,OSPF网络类型会默认为广播型

1)hello时间10s,dead时间40s

2)需要选举DR、BDR 、Drother

3)组播更新地址:224.0.0.5和224.0.0.6

所有设备使用单播形式交互DD报文以及LSR报文

所有设备固定使用224.0.0.5交互hello报文

4)LSU和LSACK比较特别:

a. 当drother发送LSU报文时通过224.0.0.6组播地址发送给DR和BDR;然后DR通过224.0.0.5发送给其他drother和BDR;

drother收到更新后通过224.0.0.6回复ACK;BDR收到更新后通过224.0.0.5回复ACK。

b.当DR发送LSU报文时通过224.0.0.5组播地址发送给BDR和drother;

drother收到更新后通过224.0.0.6回复ACK;BDR收到更新后通过224.0.0.5回复ACK。

c.当BDR发送LSU报文时通过224.0.0.5组播地址发送给DR和drother;

DR收到更新后通过224.0.0.5回复ACK;drother收到更新后通过224.0.0.6回复ACK。

总结:DR和BDR收包和发包都在224.0.0.5,DRother在224.0.0.5上收包,在224.0.0.6上发包

②点到点

当链路层协议为PPP/HDLC时,OSPF网络类型会默认为点到点

++++应用场景:加快ospf网络收敛速度++++

1)hello时间10s,dead时间40s。

2)不需要选举DR BDR Drother

3)直接建立邻接关系

4)所有报文通过224.0.0.5更新

int g0/0/0

ospf network-type p2p //更改ospf链路类型

③非广播多路访问NBMA(了解即可)

当链路层协议为帧中继FR/ATM时,OSPF网络类型会默认为NBMA

如果使用NBMA网络类型组网,那么需要在OSPF进程中,使用peer x.x.x.x命令来指定对端邻居。

1)hello时间 30s,dead时间120s

2)需要选举DR BDR DRother

3)DR和任何角色都要建立邻接关系,BDR和任何角色都要建立邻接关系,Drother和Drother之间建立2-WAY即可

4)所有报文通过单播形式更新

④点到多点(了解即可)

没有任何一种链路层协议被认为是P2MP,P2MP一般是人为手动配置的(多用于DSVPN技术)

1)hello 30s,dead 120S

2)不需要选举DR BDR Drother

3)直接建立邻接关系

4)hello报文是通过224.0.0.5组播更新,其他4种报文通过单播更新。

注:两端网络类型要保持一致才能传递路由,虽然邻居可以建立,状态为full,LSA也能发送,但算法算不出来

13.OSPF 度量方式

①带宽参考值/实际接口带宽(参考值100M)

当计算出的cost 大于0且小于2时, cost=1

大于等于2且小于3时,cost=2

以此类推

②修改接口cost的方法:

1)直接通过命令手动修改 [AR1-GigabitEthernet0/0/0]ospf cost 100

2)修改带宽参考值 [AR1-ospf-1]bandwidth-reference 10000

计算一条路由条目的cost值:数据传递方向路由器出接口cost累加

14.OSPF静默接口

当路由器的接口被配置为静默接口后,该接口可以生成LSA,但是不再收发和处理OSPF报文

①黑名单模式配置:

ospf 1

silent-interface GigabitEthernet 0/0/0

②白名单模式配置:

ospf 1

silent-interface all

undo silent-interface GigabitEthernet 0/0/0

15.LSDB同步原则

OSPF支持的更新方式:

触发更新: 路由新增或消失

周期更新: 因为每一条LSA都有一个老化时间,当老花时间达到3600s时,将删除LSA。

所以每条LSA会在1800s做一次周期更新。

注:一条LSA周期更新只在始发路由器进行更新,再发布给其他路由器

16.LSA的种类

17.LSA头部

18.LSDB同步原则

注:DD摘要的动作:①查看自己没有的LSA并请求 ②对比同一条LSA的新旧

相关推荐
qdprobot8 分钟前
ESP32桌面天气摆件加文心一言AI大模型对话Mixly图形化编程STEAM创客教育
网络·人工智能·百度·文心一言·arduino
hakesashou2 小时前
Python中常用的函数介绍
java·网络·python
C++忠实粉丝2 小时前
计算机网络socket编程(4)_TCP socket API 详解
网络·数据结构·c++·网络协议·tcp/ip·计算机网络·算法
九州ip动态2 小时前
做网络推广及游戏注册为什么要换IP
网络·tcp/ip·游戏
Estar.Lee2 小时前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip
蝶开三月2 小时前
php:使用socket函数创建WebSocket服务
网络·websocket·网络协议·php·socket
G丶AEOM2 小时前
SSL/TLS,SSL,TLS分别是什么
网络·网络协议·网络安全
儒道易行2 小时前
【DVWA】RCE远程命令执行实战
网络·安全·网络安全
Koi慢热3 小时前
路由基础(全)
linux·网络·网络协议·安全
hzyyyyyyyu5 小时前
内网安全隧道搭建-ngrok-frp-nps-sapp
服务器·网络·安全