学习笔记——动态路由协议——OSPF(简介)
一、 OSPF********简介
1****、****前言
因为静态路由由网络管理员进行人工配置,在网络环境发生变化时需要手动进行调整以维持配置的有效性,这使得静态路由在现网大规模部署中受到了一定的限制。
现网中广泛采用的动态路由协议因其高效、稳定且具备良好扩展性而著称。其中最为广泛应用的是OSPF(Open Shortest Path First Protocol),它在其应用领域中扮演着重要角色。如RFC2328所述,在其设计之初便采用了基于链路状态算法的机制来实现数据包转发功能。
****(********1)****产生的背景
在OSPF出现之前,在网络中主要采用RIP协议进行动态路由计算,并呈现出以下三大核心特点:逐级收敛机制确保了网络的快速稳定;通过分布式路由计算功能实现节点间的相互协作;以 hop计数 作为衡量节点间路径长度的关键指标。

① 逐跳收敛
根据图示,在N1网络出现状态变化时(如图所示),系统会通过RTA发起状态更新通知。接收该指令后,在接收到状态更新指令后(即立即),RTB将执行相关处理,并在完成本地处理后发送相关路由信息通知 RTC(即 RTC)。此流程会持续进行直到达到稳定状态(即完成计算并反馈)。值得注意的是,在逐级收敛机制下(即逐跳收敛的方式),该方法可能导致了网络收发效率较低的现象(即造成了一定性能损失)。
当路由器依次执行"接收更新"、"计算路由"、"发送更新"时,在此过程中的一个阶段被称为"路由收敛"。一个显著的局限性是该协议仅能在完成内部路径规划并收集所有相邻 router 的最新状态信息后才能向其邻居传输 route update 数据包。
OSPF路由协议将这一过程重新组织为:“接收到最新路由信息”==》“立即转发最新信息”==》“生成新的路由配置”**** ,即路由器从邻居接收到最新路由信息后立即向其他邻居路由器转发这条信息,并在此基础上生成新的路由配置。采用这种收敛机制可以使网络中所有路由器完成收敛所需的时间得到显著缩短。
② 传闻路由更新机制
在处理路由计算时,RIP系统完全依赖于来自邻居路由器接收到的道路信息,而RTE则仅限于依据RTD所获得的信息来确定路由路径.对于连接位于RTA、RTB及RTC三个区域之间的网络,这些系统均缺乏相关知识.此外,RIP系统在进行路由计算时,缺乏对整个网络拓扑结构的认知.
由于RIP路由器仅依赖于邻域中的路由器获取路由信息,在面对非最佳或错误的路由数据时其无法识别并过滤这些数据
③****以“跳数”为度量
因为RIP依据跳数来衡量网络距离,在N1与N2之间的互访中会选择经过RTA->RTB->RTD->RTE这条最优路径。可以看出,在RTB->RTC与RTD之间的以太链路相比起直接连接RTB->RTD的串行链路而言拥有更高的带宽性能。由于跳数度量方式未考虑各链路本身的开销因素的存在而导致可能产生非最优路径的情况存在。
该方法基于跳数忽略了数据包流量在链路上的转发延迟问题。如果改用累积带宽作为路径选择的主要参考依据,则能够有效避免选择次优路径的风险。
****(2)****RIP的缺陷和OSPF改进
| RIP特性 | 带来的问题 | 优化或解决的方式 |
|---|---|---|
| 逐跳收敛 | 收敛慢,故障恢复时间长 | “收到更新->计算路由->发送更新” 改为“收到更新->发送更新->计算路由” |
| 传闻路由更新机制 | 缺少对全局网络拓扑的了解 | 路由器基于拓扑信息,独立计算路由 |
| 最多有效跳数为15 | 环形组网中,使远端路由不可达 | 不限定跳数 |
| 以“跳数”为度量 | 存在选择次优路径的风险 | 将链路带宽作为选路参考值 |
RIP与OSPF比较
1 相同点
OSPF有两种类型:一个是已经现成的 ospf-1(尽管它尚未正式推出),另一个是 ospf-2;此外,在 RIP 方面也有两个现行版本:分别是 RIP-1 和 RIP-2
OSPF-2与RIP-2一样是一种无类路由协议,支持VLSM、CIDR等特性;
OSPF-2与RIP-2一样都支持认证功能;
RIP以UDP报文形式传输网络数据包序列信息,在OSPF协议中则采用IP报文进行数据传输路径信息的打包与发送;值得注意的是,在传统的网络架构中,默认情况下这两类协议都仅提供了一种不支持实时双向通信的低效传输机制;
RIP和OSPF协议报文的安全传输都是靠协议本身;
2 不同点☆☆☆
OSPF是以链路状态为基础的链路状态路由协议;而RIP则是以距离向量为基础,并采用动态更新机制来计算最短路径(两者的核心区别)。
RIP通过数据分组的形式传递与路由相关的路由信息;而OSPF采用广播传输策略发送相关数据包,并且其收敛时间显著快于RIP。
RIP是一种具有高活跃度的路由协议,在路由收敛后会持续不断地发送大量RIP协议报文;而OSPF则是一种简洁高效的路由协议,在网络收敛后仅会偶尔发送少量的OSPF报文。
RIP协议采用UDP作为其传输层协议;端口号为520;OSPF不拥有传输层协议;它直接嵌入于IP报包中。
RIP协议采用UDP作为其传输层协议;端口号为520;OSPF不拥有传输层协议;它直接嵌入于IP报包中。
RIP报文有两种: 请求报文和响应报文;
OSPF包含五项核心数据:Hello数据包用于建立连接、DB数据描述包提供网络拓扑信息、LSR类型查询报告发送当前LSR实例、LSU类型更新报告提供网络接口属性变化以及LSAck确认接收端口连接状态;
RIP通过'跳数'这一指标来衡量路由成本;OSPF在理论层面上允许采用多种指标来表示路径成本;其中最常用的指标是基于链路带宽的评估
OSPF具有区域化结构,RIP没有;
在OSPF网络中,路由器被划分为不同的类别,并各自承担特定的功能与任务;而RIP则无此区分。
OSPF在网络设备管理中为每台路由器分配了独特的Router-Id标识符,在仅支持静态路由的RIP协议架构中则不设置此字段。
| 内容**** | OSPF**** | RIPv2**** | RIPv1 |
|---|---|---|---|
| 协议类型 | 链路状态 | 距离矢量 | 距离矢量 |
| CIDR**** | 支持 | 支持 | 不支持 |
| VLSM**** | 支持 | 支持 | 不支持 |
| 自动汇总**** | 不支持 | 支持 | 支持 |
| 手动汇总**** | 支持 | 支持 | 不支持 |
| 路由的泛洪**** | 周期性的组播更新 | 周期性的组播更新 | 周期性的组播更新 |
| 路径的开销(度量值) | 带宽 | 跳数 | 跳数 |
| 路由的收敛速度 | 快 | 慢 | 慢 |
| 跳数的限制**** | 没有限制 | 限制15跳 | 限制15跳 |
| 认证 | 支持 | 支持 | 不支持 |
| 层次化网络 | 支持(区域) | 不支持 | 不支持 |
| 路由更新 | 事件触发更新 | 路由表更新 | 路由表更新 |
| 路由的计算方法 | SPF | Bellman-ford | Bellman-ford |
****(3)****有类路由、无类路由
最近接触了RIP和OSPF相关内容。在网络架构(NA)中(这两个)协议被分别划分为距离矢量路由协议与链路状态路由协议。然而,在网络规划(NP)中划分路径时,则采用基于有类别标记与无类别的区分方法。
RIP正是基于有类的路由协议,OSPF则是无类的路由协议。
有类的路由不会识别子网的信息,如宣告10.0.1.0/24 172.16.1.0/22 192.168.1.64/28 路由表中只会识别A类10.0.0.0/8,B类172.16.0.0/16 C类192.168.1.0/24
无类的路由协议无法依据不同类别来识别,而是通过子网掩码位数来区分各网络段,因此无类的路由协议都不需要支持自动汇总
有类的路由自然也就不支持VLSM 无类的路由就可以支持VLSM
IP路由协议可以被分为两大类,一类是有类的,另一类是无类的。
IP Classful:RIPv1, IGRP ,EGP
IP Classless:RIPv2 ,EIGRP, OSPF, IS-IS, BGP
这类路由协议只会传递网络前缀(即网络地址),而不包含子网掩码。当其发送更新信息时,在此过程中首先确认直接连接的节点是否与发送该更新的信息源位于同一较大子网中;如果是,则继续验证两者的子网掩码是否一致;若不一致,则该更新信息将被丢弃而不向其他节点广播。
当路由器********A发送更新给路由器B时,它遵循下列几个步骤:
1、路由器A检查192.168.1.0/24是否和192.168.2.0/30(更新传向过的网络)属于同一个大一点的网路。
2、答案是是的,所以路由器A比较它们的子网掩码192.168.1.0/24和192.168.2.0/30。
由于它们各自拥有不同的子网掩码配置,在数据转发过程中会产生冲突或信息重叠而导致有用的信息丢失。这正是有类路由协议无法支持可变长子网掩码(VLSM)的根本原因所在:有类路由协议无法采用可变长的子网掩码(VLSM),而无类路由协议在发送网络前缀的同时也会发送其对应的子网掩码信息。因此,在这种情况下,无类路由协议能够继续采用传统的可变长子网掩码技术来实现高效的地址分配和通信范围扩展。
有类地址:传统的IP地址缺乏 subnet mask,在此情况下所有的 IP 地址均归属于相应的 main classification 网络。距离矢量路由协议如 RIPv1 和 IGRP 均属于 classful routing protocols。它们无法从相邻节点获取 subnet information;一旦有关于 subnet 的路由信息被学习到,则会自动转换为对应的 main classful network。例如,在这种情况下(如 IP 地址 182.16.1.0),它会被转换为主分类 B 类网络地址 182.16.0.0。
无分段地址:通过可变长度的子网掩码来划分不同的网络类型。例如,在IP地址182.16.1.101中,默认情况下其子网部分为182.16.0.0/16(使用子网掩码255.255.0.0),若更换为使用二十六位掩码(即子网掩码为255.255.255.252),则相应的子网部分变为182.16.1.100/30。支持采用可变长度子网掩码的路由协议包括RIPv2、OSPF以及EIGRP等。
2****、OSPF********定义****
OSPF 协议是一种基于链路状态的开放最短路径优先协议(Open Shortest Path First),由 IETF 定义为一种内网关路由协议,在行业内具有广泛应用。
·IPv4协议使用的是OSPF Version 2(RFC2328);IPv6协议使用OSPF Version 3(RFC2740)
OSPF路由器之间的交互是基于路径状态(Path State, LS)数据而非直接交换路由数据。其中路径状态(Path State)信息是OSPF router正常运行时所依赖的核心数据。
OSPF路由器从网络中收集LS信息,并将其保存于LSDB里。这些路由器对区域内所有设备的连接关系有着清晰的认识,并因此能够计算出避免环路的最佳路径。
所有OSPF路由器均采用SPF算法用于确定到目标节点的最短路径。基于这些计算出的最短路径信息,在路由表中建立相应的数据结构以存储最新的路由信息。
3****、****动态路由协议用处
为什么需要动态路由协议?
静态路由是由工程师手动配置及维护的路由条目,在命令行界面下操作直接明了,并适配于规模较小或运行稳定的网络环境。
静态路由有以下问题∶
1)无法适应规模较大的网络∶ 随着设备数量增加,配置量急剧增加。
2)难以实时适应网络环境的变化: 当网络状态发生变动时,并不能自动完成网络收敛过程,并且这要求相关领域的技术人员必须进行手动配置和调整。

4****、****OSPF在园区网络中的应用

OSPF是基于链路状态机制的一种核心路由协议,在其设计理念中巧妙地避免了所有可能的路由环路。该协议提供了区域划分功能,在区域内各路由器通过SPF算法实现了内部无环路的有效避免。该协议还根据特定规则处理不同区域之间的接口关系以确保不会产生跨域路由环路
OSPF支持触发更新,能够快速检测并通告自治系统内的拓扑变化。
OSPF能够有效应对网络规模扩大的挑战。当路由器数量不断增加以及路由信息流量激增时, OSPF能够将每个自治系统划分为多个区域,并对各区域进行限制。这种分区域的特点表明,在大规模和中型网络环境中表现尤为突出。
OSPF支持提供认证功能;通过配置可使OSPF路由器之间的报文必须经过认证才能实现交换。
5、OSPF特点
OSPF是一种IGP协议(Interior Gateway Protocol),即开放最短路径优先协议(OSPF)。该协议具有较快的网络收敛速度(Convergence Speed),相较于RIP网络(RIP network)而言更为迅速;与BGP(Border Gateway Protocol)相比也具有更快的收敛速度;但相较于EIGRP(Enhanced Interior Gateway Routing Protocol)则要稍显收敛较慢
2、链路状态协议,无类的路由协议,支持VLSM (可变长子网掩码),支持CIDR;
OSPF协议基于IP层进行封装,并通过端口号89实现通信;其中管理距离AD(.preference)的协议内部优先级为10(外部优先级为150)。
OSPF依据接口的开销值(cost)来进行路由计算的,在 hop计数方面相较于RIP表现更为优异,并支持100M/接口带宽的技术特性
OSPF采用了等距加权多路径协议进行负载均衡控制;而EIGRP则采用非等距加权多路径协议(非等距加权负载均衡),适用于动态网络环境
6、OSPF支持区域划分,多区域配置,区域0为骨干区域,其他为常规区域。
7、OSPF安全措施:GTSM ,采用TTL安全机制。0是不认证,1、简单明文认证,2、MD5认证;
8、OSPF在同一个区域内 是绝对无环路,基于SPF算法,不可能产生环路由;
9、OSPF使用组播来收发报文:OSPF组播地址:224.0.0.5(DR router) 224.0.0.6;
OSPF协议拥有三个特点:
① 路由信息传递与路由计算分离
OSPF采用链路状态协议进行运作,在网络中并不直接发送各路由器的路由表信息。相反地,则会生成并发送与网络路径相关的链路状态数据包。每个路由器根据接收到的网络拓扑信息独立地计算出最优通信路径。
② 基于SPF算法
每个路由器独立地管理着自己的链路状态数据库。
相邻路由器之间会交换各自的链路状态信息,并协调更新各自的数据库。
随后每个路由器利用SPF(Shortest Path First)算法确定最佳路径。
这一过程有助于加快网络的整体收敛速度。
③ 以“累计链路开销”作为选路参考值
在衡量标准上,OSPF将路径宽度作为选择路由的重要标准。 “累计带宽”作为一种衡量手段,在相较于 “累积跳数”更具科学性。
VX:czlingyun 暗号:
VX:czlingyun 暗号:
