2021-12-29 网工基础(十六)动态路由OSPF基础

一 动态路由概述

动态路由协议能够自动发现和生成路由,并在拓扑变化时及时更新路由,可以有效减少管理人员工作量,更适用于大规模网络。

自动发现、学习路由、感知拓扑变更、

二 动态路由分类

按工作区域分类

1 IGP(Interior Gateway Protocols,内部网关协议):RIP、OSPF、IS-IS、思科EIGRP

2 EGP(Exterior Gateway Protocols,外部网关协议):BGP

按工作机制及算法分类

1 (Distance Vector Routing Protocols,距离矢量路由协议):RIP

2 (Link-State Routing Protocols,链路状态路由协议):OSPF、IS-IS

OSPF基础

由于静态路由由网络管理员手工配置,因此当网络发生变化时,静态路由需要手动调整,这制约了静态路由在现网大规模的应用。

动态路由协议因其灵活性高可靠性好易于扩展等特点被广泛应用于现网。在动态路由协议之中,OSPF(Open Shortest Path First,开放式最短路径优先)协议是使用场景非常广泛的动态路由协议之一。

OSPF在RFC2328中定义,是一种基于链路状态算法的路由协议。

一 距离矢量路由协议

运行距离矢量路由协议的路由器周期性的泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中。

对于网络中的所有路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的方向在哪里距离有多远。这即是距离矢量算法的本质。

二 链路状态路由协议

1 LSA泛洪

与距离矢量路由协议不同,链路状态路由协议通告的的是链路状态而不是路由表。运行链路状态路由协议的路由器之间首先会建立一个协议的邻居关系,然后彼此之间开始交互LSALink State Advertisement链路状态通告)。

不再通告路由信息,而是LSA。

LSA描述了路由器接口的状态信息,例如接口的开销连接的对象等。

2 LSDB组建

每台路由器都会产生LSAs,路由器将接收到的LSAs放入自己的LSDBLink State DataBase链路状态数据库)。路由器通过LSDB,掌握了全网的拓扑。

路由器将LSA存放在LSDB中。

LSDB汇总了网络中路由器对于自己接口的描述。

LSDB包含全网拓扑的描述。

查看LSDB:display ospf lsdb

3 环回接口概念

环回接口是一种虚拟的逻辑接口,永远不会中断常用于做测试,本质和普通的接口没有什么区别。

创建环回接口:interface LoopBack 0-1023

4 OSPF基础术语

区域

OSPF Area用于标识一个OSPF的区域

区域是从逻辑上将设备划分为不同的组,每个组用区域号(AreaID)来标识,区域0称为OSPF的骨干区域

Router-ID

Router-ID(Router IdentifierRID路由器标识符),用于在一个OSPF域中唯一地标识一台路由器

Router-ID的设定可以通过手工配置的方式,或使用系统自动配置的方式。

通告

多台OSPF路由器之间。彼此动态的交换OSPF的hello消息,用来发现维护邻居关系,将该子网参与到OSPF的动态计算中。

相关命令

创建OSPF进程和RID:ospf 进程号1-65535 router-id 标识号X.X.X.X

注意:如果只创建进程,RID会自动创建

查看OSPF信息:display ospf brief

在用户视图下重启OSPF进程:reset ospf process

在OSPF进程下创建区域:area 区域号<0-4294967295>

在接口下将接口划入进程中的区域(优先级10):ospf enable 进程号 area 区域号

在OSPF进程下设置默认路由一直通告(优先级150):default-route-advertise always

查看路由器OSPF的邻接状态:display ospf peer brief

在接口下设置OSPF网络类型: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开销值:ospf cost 开销值<1-65535>

实验:组件OSPF网络

首先在路由器AR1上配置

<AR1>system-view

[AR1]ospf 1 router id 1.1.1.1     \\创建OSPF进程和RID

[AR1-ospf-1]quit
[AR1]quit

<AR1>reset ospf process     \\重启OSPF进程
Warning: The OSPF process will be reset. Continue? [Y/N]:y

<AR1>system-view
[AR1]ospf 1

[AR1-ospf-1]area 0     \\创建区域

[AR1-ospf-1-area-0.0.0.0]quit
[AR1-ospf-1]quit
[AR1]interface GigabitEthernet 0/0/0

[AR1-GigabitEthernet0/0/0]ospf enable 1 area 0     \\将接口g0/0/0划入进程中的区域

[AR1-GigabitEthernet0/0/0]quit
[AR1]interface LoopBack 0

[AR1-LoopBack0]ospf enable 1 area 0     \\将接口LoopBack 0划入进程中的区域

[AR1-LoopBack0]quit
[AR1]interface LoopBack 1

[AR1-LoopBack1]ospf enable 1 area 0     \\将接口LoopBack 1划入进程中的区域

[AR1-LoopBack1]ospf network-type broadcast      \\设置LoopBack 0接口的网络类型为广播

再在路由器AR2上配置

<AR2>system-view

[AR2]ospf 1 router id 1.1.1.2     \\创建OSPF进程和RID

[AR2-ospf-1]quit
[AR2]quit

<AR2>reset ospf process     \\重启OSPF进程
Warning: The OSPF process will be reset. Continue? [Y/N]:y

<AR2>system-view
[AR2]ospf 1

[AR2-ospf-1]area 0     \\创建区域

[AR2-ospf-1-area-0.0.0.0]quit
[AR2-ospf-1]quit
[AR2]interface GigabitEthernet 0/0/0

[AR2-GigabitEthernet0/0/0]ospf enable 1 area 0     \\将接口g0/0/0划入进程中的区域

配置完成后,会从出现很多交互信息

[AR2-GigabitEthernet0/0/0]
Jan  1 2022 14:40:20-08:00 AR2 %%01OSPF/4/NBR_CHANGE_E(l)[0]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=1.1.1.1, NeighborE
vent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init) 
[AR2-GigabitEthernet0/0/0]
Jan  1 2022 14:40:20-08:00 AR2 %%01OSPF/4/NBR_CHANGE_E(l)[1]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=1.1.1.1, NeighborE
vent=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=2Way) 
[AR2-GigabitEthernet0/0/0]
Jan  1 2022 14:40:20-08:00 AR2 %%01OSPF/4/NBR_CHANGE_E(l)[2]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=1.1.1.1, NeighborE
vent=AdjOk?, NeighborPreviousState=2Way, NeighborCurrentState=ExStart) 
[AR2-GigabitEthernet0/0/0]
Jan  1 2022 14:40:20-08:00 AR2 %%01OSPF/4/NBR_CHANGE_E(l)[3]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=1.1.1.1, NeighborE
vent=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Exchan
ge) 
[AR2-GigabitEthernet0/0/0]
Jan  1 2022 14:40:20-08:00 AR2 %%01OSPF/4/NBR_CHANGE_E(l)[4]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=1.1.1.1, NeighborE
vent=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loading)
 
[AR2-GigabitEthernet0/0/0]
Jan  1 2022 14:40:20-08:00 AR2 %%01OSPF/4/NBR_CHANGE_E(l)[5]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=1.1.1.1, NeighborE
vent=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full) 

查看邻接状态

[AR2]display ospf peer brief

抓包查看可以看见路由器之间的LSA的交互

查看LSDB

<AR2>display ospf lsdb

查看LSDB中标识号1.1.1.1的路由器信息

<AR2>display ospf lsdb router 1.1.1.1

5 SPF计算

每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算。每台路由器都计算出一棵以自己为根的无环的拥有最短路径的“树”。有了这棵“树”,路由器就已经知道了到达网络各个角落的优选路径。

6 路由表生成

最后,路由器将计算出来的优选路径,加载进自己的路由表(Routing Table)。

每台路由器根据SPF计算结果,将路由加载入路由表。

查看路由器AR2的路由表

[AR2]display ip routing-table

发现有两条OSPF信息,说明配置成功。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鹅一只

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

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

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

打赏作者

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

抵扣说明:

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

余额充值