【计算机网络原理·实验·第六章】搭建动态路由环境-OSPF

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

这是一种计算某网状结构中一个节点到另一个节点的最短路径的算法。这个最短的度量值一般是距离,当然也可以是消费值、带宽等。
在这里插入图片描述
上图是按照消费为度量来计算最短路径,这里的最短实际上是去某驿站消费最小。
在这里插入图片描述
直观整理出这张表格后,开始分析和网络的关系。我们可以把这些节点视为网络中的路由器,而小区名等这些可以认作网段。

OSPF协议基础知识

在这里插入图片描述
1.Router-ID:活跃的端口IP的最大值。假设一个路由器有两个端口,分别是A(192.168.1.1)&B(172.16.0.5)则会选择A,因为A的IP值大172<192;如果B变成了222.1.1.1则又会把B变成这个路由器的ID。总之,选择IP地址大的活跃端口作为路由ID,如果数值大的端口shutdown,则会选择次之的较大端口作为ID。

2.Cost开销:带宽高,开销小
在这里插入图片描述
3.链路:运行在OPSF下的路由器的接口
4.LSA链路状态:包含IP,子网掩码,开销值(度量值)等的信息,路由交换的不是路由表而是链路状态。
5.邻居:用于交换LSA。需要邻居表里相互有彼此,否则仍然不能交换链路状态
在这里插入图片描述
每一个路由器会发送hello数据包来确定与自己直连的路由器的存在,在所有路由器获得自己的邻居信息后会再与非直连路由交换这些信息。交换完后所有的路由器就都能够得到网络拓扑,并且总结出链路状态数据库

交换路由信息后,每个路由上都有一个链路状态表,记录着网络拓扑,然后就可以计算到其他网段哪一条路径开销最小。交换信息时,会在交换路径信息之前,先确认各自路由状态表中的路由器数量,如果路由器数量小于拓扑中实际存在的数量,则会优先交换路由数量和路由ID的信息,之后再交换路径信息。

最后,路由器分别计算对于自己而言去其他网段的最短(最小开销)路径。
也就说每个路由器有三张表。
1.邻居表:通过hello数据包记录与自己直连的路由表
2.链路状态表:交换路由信息后所有路由都有的表,记录着网络拓扑
3.路由表:每个路由器独立计算,明确去其他网段的最佳路径的表

数据包格式
在这里插入图片描述
问候包:发现并建立邻居关系
数据库描述包:给出链路状态的摘要信息(自己目前链路状态表有多少路由器,核查路由器数目是否一致,不一致则少的添加至与多的一样)
链路状态请求包LSR:请求对方给出完整链路信息时使用的数据包。
链路状态更新包LSU:响应请求包或网络变动时告知其他路由器本路由的链路状态信息。
链路状态确认包LSAck:对LSU确认。

多区域

OSPF协议适用于大规模网络,但是如果网络规模过大,一旦出现网络变动,开始逐个交换链路摘要、链路信息,然后重新计算最短路径……这样对性能的影响是非常大的。所以我们希望对这种状态进行一个局部控制,让这个变化影响局部而不是所有路由器。

多区域:把整个网络划分成好多区域,让网络变化产生影响时,只对局部路由更新上述修改过程,减少开销。
在这里插入图片描述
图中的R4 R5称为区域边界路由器。他们的链路状态数据库有两个,两个区域内的链路状态信息都有。
R3是自制系统边界路由器,自制系统就是不同的ISP运营的网络拓扑,因为互联网并不是由一家ISP运营,所以当不同ISP之间通信时,其他ISP使用的动态路由协议可能与自身的不同,要求有一定的转换机制,让不同的路由协议也能实现网络交互。也就说像是RIP和OSPF下的网络是可以互相通信的。

配置OSPF多区域网络时,要注意区域必须与主干区域相连,区域不能不连接主干区域就连接非主干区域。

实验:配置OSPF实验环境

本次是单区域实验,后续会把多区域实验补上。主干区域的编号默认为0。
实验图如下,配置所有路由直连网段的OSPF协议。
在这里插入图片描述

configure terminal
router ospf 1 
·这里的序号可以不一致,可以每个路由使用不同的序号,这里为了方便记忆都用1
network IP 反转子网掩码 area 0 
·这是配置ospf协议的命令,工作在主干区域0

R1:
在这里插入图片描述

扫描二维码关注公众号,回复: 11512614 查看本文章

在这里插入图片描述
其他同样的命令。进行操作。

show ip route

在这里插入图片描述
可以看到路由表中的o,代表的ospf协议。
来解析一下[110/128]的意思:第一个值110是管理距离,RIP是120,直连是0,静态路由是1,值越小越可靠。而128是途径开销的累计之和。
管理距离的作用:比如上图中到4.0网段,下一跳给192.168.3.2,如果此时加一条静态路由,下一跳给192.168.1.2,则会优先使用静态路由的路径。人工指定后,管理距离小的优先级最高。
路由器也可以同时运行多种协议,OSPF和RIP同时运行,最终选择以管理距离小的协议为准。也就说如果RIP协议规划的路径与OSPF不同时,遵循OSPF协议的规划。
在这里插入图片描述
抓包工具也捕获了对应类型的数据包
我们说了ospf协议有三张表

sh ip os n de 路由邻居表
show ip ospf neighbor detail 邻居信息
show ip ospf database router 链路状态信息
show ip router 路由表

邻居表:
在这里插入图片描述
链路状态数据库
在这里插入图片描述
路由表
在这里插入图片描述
详细链路状态数据库:
在这里插入图片描述
首先记录了这条信息来自于哪里,来自于路由器ID为192.168.20.1的。

在这里插入图片描述
记录了链接信息,连接了几个路由器,连接了哪些网段。我们通过图来直观看一下,确实如此,连接的网段和路由是一致的。
在这里插入图片描述

OSPF协议的健壮性

debug ip ospf event 监控ospf动态
undebug all 取消上一个命令
tracer IP  追踪路由

先用PC1 PING PC2,然后追踪路径。此时断开最佳路径,看多长时间后找到备用路径;然后恢复最佳路径,看多长时间后恢复最佳路径。最佳路径的恢复时间明显快于备用路径的选择时间。
断开最佳路后的ospf动态:
在这里插入图片描述
可以逐条解读。基本上就是英语的翻译。可以知道数据包的去向。
在这里插入图片描述
恢复最佳路径的时间明显快于寻找备用路径的时间。

RIP和OSPF协议有种触类旁通的感觉。动态路由协议大多相似,验证协议之间的区别和数据格式尤为重要。

猜你喜欢

转载自blog.csdn.net/Chahot/article/details/107034488