文档库 最新最全的文档下载
当前位置:文档库 › OSPF连载:区域间的路由如何计算

OSPF连载:区域间的路由如何计算

OSPF连载:区域间的路由如何计算
OSPF连载:区域间的路由如何计算

为了解决上述问题,我们人为的把网络划分成若干个组群区域,但仅仅是划分了区域还是不够的,因为我们要清楚区域间的路由是如何处理的。

在划分区域后,一个区域内的路由处理是同没有划分区域之前是一样的。每一个区域中的路由器都按照该区域中定义的链路状态算法来计算网络拓扑结构,这意味着每一个区域都有着该区域独立的网络拓扑数据库及网络拓扑图。对于每一个区域,其网络拓扑结构在区域外是不可见的,同样,在每一个区域中的路由器对其域外的其余网络结构也不了解。当进行跨区域进行路由计算的时候区域边界路由器发生了一些变化。如下图所示:

由于中间的路由器分数两个不同的区域,一个接口属于区域0另一个接口属于区域3。接在区域0中的每台路由器生成自己的LSA(生成的是Router LSA第二种LSA)传递给ABR,这种Router LSA在区域边界路由器被阻断,不能够传到区域3。同理区域3中生成的Router LSA也在区域边界路由器被阻断,不能传递到区域0。那么区域3中是如何得知区域0中的路由信息呢?在图中我们可以看出,ABR既参与了区域0的路由计算也参与了区域3的路由计算。所以在区域边界路由器中会存在区域0和区域3的路由表。同时,在区域边界路由器中生成type=3类型的LSA。Type=3这种LSA用一条LSA表示一条路由。这样,在区域边界路由器就获知了区域0和区域3的路由。在区域边界路由器参与区域0

和区域3路由计算的时候会将自己学习到的路由标识出来,以告诉区域0和区域3。由此,区域3中的路由器知道如何到达区域边界路由器,而区域边界路由器又知道如何到达区域0,这样就能够计算出路由。这样计算的好处是:第一、减少了LSA的信息,因为以前LSA的信息不仅包含了路由信息还包含了连接状况信息,而生成的Router LSA只需要包含路由信息即可,大大减少了存储容量。缓解了随着网络规模的扩大造成LSA数量众多,LSDB占

用存储空间过大的弊端。第二、区域0中的路由变化不会影响到区域3,区域3中的路由变化也不会影响区域0。

但是针对网络的变化或者说网络中经常存在的链路UP/down的情况,用划分区域的方法还是没有得到改善,因为这种情况不会因为区域的产生而消失。因此还需要针对这个问题推出解决办法。在OSPF协议中的ABR路由器采用了路由汇聚的办法来减少路由的计算,因此在划分区域的时候采用最重要的根据IP地址来划分。比如说:假设区域0种存在10.0.1.0/24、10.0.2.0/24、10.0.3.0/24,10.0.4.0/24这四个网段,当ABR向区域3发布的时候可以通过一条命令只发布10.0.0.0/16这个网段到区域3中即可,也就是说可以通过路由聚合来发布。这样就大大减少了路由表,当区域0中无论发生什么变化,对于聚合后的路由没有任何影响。也就是说,无论区域0发生什么变化也不会影响区域3,反之亦然。至此,针对OSPF协议的就得到了进一步的完善。

在上面我们讲过,OSPF协议在区域间传递路由时通过不在描述连路状态,减少路由信息。那么我们看看这么做有什么弊端。实际上OSPF在区域间进行路由计算的时候已经不在是链路状态算法了,而是使用DV算法。区域间的路由计算是通过ABR的传递,这样既然采用了DV算法,那么就会产生以区域为单位的自环问题。为了解决以区域为单位的自环问题,协议设计者提出了一个骨干域的概念。它规定在划分区域时有一个区域是特殊的,这个区域用区域号0来标示,而其他所有的区域必须以区域0为中心。换句话说,所有的ABR 都必须在骨干域中。

划分骨干域的概念很好的解决了大规模网络中常出现的问题,同时解决了路由自环。但

是,到此时,OSPF协议虽然解决了路由自环和大规模网络中常出现的问题,接下来又出现了新的问题---限制了网络的设计,因为划分区域时所有的区域必须和骨干域连接,使得网络设计者不在随心所欲。要解决这个问题,可以将划分的区域扩大,但当网络规模扩大时又会面临LSA存储空间过大,路由器Cpu符合太大,以及区域内部网络变化频繁。

这时,又提出了新的概念---虚连接。所谓的虚连接就是指在两个ABR之间建立一条虚拟连路。如果两个区域之间跨越的不是骨干区域,在这两个区域之间可以配置一条虚连接命令,来建立一条虚拟通道。一般这条命令配置在两个区域的ABR路由器上。通过在两个区域的ABR路由器上配置一条点对点的虚连接,这两个区域之间就可以相互建立发送Hello 报文来建立邻居关系。需要注意的是,在前文中讲到的OSPF报文只能发送一条的限制在虚连接中是例外。虚连接的提出很好的解决了大规模网络中遇到的问题,以及路由自环和网络设计的限制问题。

OSPF协议详解分析

OSPF 学习笔记 OSPF 协议号是89,也就是说在ip 包的protocol 中是89,用ip 包来传送 数据包格式: 在OSPF 路由协议的数据包中,其数据包头长为24 个字节,包含如下8 个字段: * Version number-定义所采用的OSPF 路由协议的版本。 * Type-定义OSPF 数据包类型。OSPF 数据包共有五种: * Hello-用于建立和维护相邻的两个OSPF 路由器的关系,该数据包是周期性地发送的。 * Database Description-用于描述整个数据库,该数据包仅在OSPF 初始化时发送。 * Link state request-用于向相邻的OSPF 路由器请求部分或全部的数据,这种数据包是在当 路由器发现其数据已经过期时才发送的。 * Link state update-这是对link state 请求数据包的响应,即通常所说的LSA 数据包。 * Link state acknowledgment-是对LSA 数据包的响应。 * Packet length-定义整个数据包的长度。 * Router ID-用于描述数据包的源地址,以IP 地址来表示,32bit * Area ID-用于区分OSPF 数据包属于的区域号,所有的OSPF 数据包都属于一个特定 的OSPF 区域。 * Checksum-校验位,用于标记数据包在传递时有无误码。 * Authentication type-定义OSPF 验证类型。 * Authentication-包含OSPF 验证信息,长为8 个字节。 FDDI 或快速以太网的Cost 为1,2M 串行链路的Cost 为48,10M 以太网的Cost 为10 等。 所有路由器会通过一种被称为刷新(Flooding)的方法来交换链路状态数据。Flooding 是指路由器将其LSA 数据包传送给所有与其相邻的OSPF 路由器,相邻路由器根据其接收到的链路状态信息 更新自己的数据库,并将该链路状态信息转送给与其相邻的路由器,直至稳定的一个过程。当路由 器有了一个完整的链路状态数据库时,它就准备好要创建它的路由表以便能够转发数据流。CISCO 路由器上缺省的开销度量是基于网络介质的带宽。要计算到达目的地的最低开销,链路状态型路由选择协议(比如OSPF)采用Dijkstra 算法,OSPF 路由表中最多保存 6 条等开销路由条目以进行负 载均衡,可以通过"maximum-paths" 进行配置。如果链路上出现fapping 翻转,就会使路由器不停 的计算一个新的路由表,就可能导致路由器不能收敛。路由器要重新计算客观存它的路由表之前先 等一段落时间,缺省值为 5 秒。在CISCO 配置命令中"timers spf spf-delay spy-holdtime" 可以对两次连续SPF 计算之间的最短时间(缺省值10 秒)进配置。 路由器初始化时Hello 包是用224.0.0.5 广播给域内所有OSPF 路由器,选出DR 后在用224.0.0.6 和DR,BDR 建立邻接。DR 用224.0.0.5 广播给DRother LSA BDR 也是 DRother 用224.0.0.6 广播LSA 给DR 和BDR DR 是在一个以太网段内选举出来的,如果一个路由器有多个以太网段那么将会有多个 DR 选举;DR 的选择是通过OSPF 的Hello 数据包来完成的,在OSPF 路由协议初始化的过程中,会通过Hello 数据包在一个广播性网段上选出一个ID 最大的路由器作为指定

计算机网络实验_实验5 OSPF路由协议实验_实验56 OSPF协议路由的计算_

北航计算机网络实验 实验5.6 OSPF协议的路由计算

OSPF协议的路由计算 ?SPF算法和COST值 ?区域内路由的计算 ?区域间路由的计算 --骨干区域和虚连接?区域外路由的计算 --与自治系统外部通信

SPF算法 LSDB LSA 的RTA LSA 的RTB LSA 的RTC LSA 的RTD (二)每台路由器的链路状态数据库(一)网络的拓朴结构 C A B D 1 2 3 C A B D 1 2 3 C A B D 1 2 3 C A B D 1 2 3 (四)每台路由器分别以自己为根节点计算最短路径树 (三)由链路状态数据库得 到的带权有向图 C A B D 1 2 3 5 RTC RTD 3 2 1 5 RTB RTA

SPF算法和COST值 ?SPF算法也被称为Dijkstra算法,是OSPF路由协议的基础。 ?SPF算法将每一个路由器作为根(Root)来计算到每一 个目的地路由器之间的距离,每一个路由器根据一个统 一的数据库会计算出路由域的拓扑结构图,该结构图类 似于一棵树,在SPF算法中,被称为最短路径树。 ?在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost值。 ?Cost值应用于每一个启动了OSPF的链路,它是一个16 bit的整数,范围是1~65535。

Cost值的计算方法 ?计算方法108/bandwidth ?56-kbps serial link = 1785 ?10M Ethernet = 10 ?64-kbps serial link = 1562 ?T1 (1.544-Mbps serial link) = 64 ?用户可以手动调节链路Cost,缺省情况下,接口按照当前的波特率自动计算开销

(完整版)OSPF路由理论知识总结,推荐文档

1OSPF概述 1.1协议特点 OSPF是基于链路状态的动态路由,自从该协议的出现,RIP协议基本就不在实际生产环境中使用了。 RIP协议主要存在以下几点问题: 不适合大规模组网,超过15跳路由就会不可达。 更新路由是会发送全部的路由信息,相比之下会占用大量的带宽资源。 存在路由环路 路由收敛慢 OSPF协议特点: 路由没有跳数限制 路由收敛快 SPF算法解决了路由环路 更新变化的路由信息 1.2OSPF协议基本原理 OSPF协议的工作过程包含了寻找邻居、建立邻接关系、链路状态信息传递、计算路由OSPF的三张表 1)邻居表:该表记录了建立邻居关系的路由器邻居信息,是通过组播方式发送Hello报 文发现邻居(目的地址224.0.0.5)。

2)LSDB表:该表中记录了所有链路状态的信息,同一个区域内路由器的LSDB表是相 同的,并且只维护该区域的LSDB表。 3)路由表:该表是存放最优先的路由信息。 OSPF协议路由的生成过程: 生成LSA描述自己的接口状态 通过区域内的LSDB信息 通过SPF算法计算出路由 2分层结构 2.1OSPF区域 为什么划分区域: 减少区域内的LSDB信息,降低对路由器性能要求 合理规划区域,统一管理 隔离拓扑变化,减少路由震荡对整个自治系统的影响 OSPF区域的两个规定: 1)所有非骨干区域必须要和骨干区域互联 2)骨干区域必须保持连通,不能分散 在特殊情况下,非骨干区域没有和骨干区域互联时,可以通过虚链路的方式实现。满足和骨干区域互联的要求。 普通区域缺省情况下,OSPF区域被定义为普通区 域。普通区域包括: 骨干区域自身必须保持连通。

OSPF路由信息详解

OSPF协议 OSPF(Open Shortest Path First开放式最短路径优先)[1]是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。与RIP相比,OSPF是链路状态路由协议,而RIP是距离矢量路由协议。OSPF的协议管理距离(AD)是110。 一。OSPF起源 IETF为了满足建造越来越大基于IP网络的需要,形成了一个工作组,专门用于开发开放式的、链路状态路由协议,以便用在大型、异构的I P网络中。新的路由协议以已经取得一些成功的一系列私人的、和生产商相关的、最短路径优先(SPF )路由协议为基础,在市场上广泛使用。包括OSPF在内,所有的S P F路由协议基于一个数学算法—Dijkstra算法。这个算法能使路由选择基于链路-状态,而不是距离向量。OSPF由IETF在20世纪80年代末期开发,OSPF是SPF类路由协议中的开放式版本。最初的OSPF规范体现在RFC1131中。这个第1版( OSPF版本1 )很快被进行了重大改进的版本所代替,这个新版本体现在RFC1247文档中。RFC 1247 OSPF称为OSPF版本2是为了明确指出其在稳定性和功能性方面的实质性改进。这个OSPF版本有许多更新文档,每一个更新都是对开放标准的精心改进。接下来的一些规范出现在RFC 1583、2178和2328中。OSPF版本2的最新版体现在RFC 2328中。最新版只会和由RFC 2138、1583和1247所规范的版本进行互操作。 链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。 OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF 路由器正是通过这个数据库计算出其OSPF路由表的。 作为一种链路状态的路由协议,OSPF将链路状态广播数据LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。 二.OSPF的hello协议 1.Hello协议的目的: 1.用于发现邻居 2.在成为邻居之前,必须对Hello包里的一些参数进行协商 3.Hello包在邻居之间扮演着keepalive的角色 4.允许邻居之间的双向通信 5.用于在NBMA(Nonbroadcast Multi-access)网络上选举DR和BDR 2.Hello Packet包含以下信息: 1.源路由器的RID 2.源路由器的Area ID 3.源路由器接口的掩码

OSPF配置命令

OSPF配置命令 1.router ospf 启动OSPF路由协议进程并进入OSPF配置模式。若进程已经启动,则该命令的作用就是进入OSPF配置模式。 2.network address mask area area-id 配置OSPF运行的接口并指定这些接口所在的区域ID。 OSPF路由协议进程将对每一个network配置,搜索落入address mask范围(可以是无类别的网段)的接口,然后将这些接口信息放入OSPF链路状态信息数据库相应的area-id 中。 OSPF协议交互的是链路状态信息而不是具体路由信息。OSPF路由是对链路状态信息数据库调用SPF算法计算出来的。 area-id为0的区域为主干区,一个OSPF域内只能有一个主干区。其他区域维护各自的链路状态信息数据库,非0区域之间的链路状态信息交互必须经过主干区。 同时位于两个区域的路由器称为区域边界路由器,即ABR。ABR是非0区域的路由出口,在ABR上一般有一个非0区域和一个主干区域的链路状态信息数据库,两个数据库之间交互区域间的链路状态信息。 3.area area-id range address mask{advertise|no-advertise} 该命令用于在ABR上将某区域的路由聚合后通告进另一区域,目的是减小路由表的大小。 address mask表示聚合的范围(可以是无类别的网段)。如果是advertise,落入这一范围的路由将被聚合成一条address mask的路由通告出去,而那些具体路由将不被通告;如果是no-advertise,落入这一范围的路由将不会被通告也不会被聚合后通告。 4.redistribute protocol[metric number][metric-type {1|2}] 将非OSPF协议的路由信息重分配进OSPF。 protocol为重分配的路由源,可以是connected、static、rip和bgp。 metric number为被重分配路由的外部度量值,可选项。没有配置该选项时,被重分配路由的外部度量值取default metric number配置的值,未配置default metric number 时,默认为10。 外部路由被重分配进OSPF后,可能变成OSPF External1类型或者OSPF External2类型。可以通过metric-type {1|2}来指定被重分配后的类型,默认为OSPF External2类型。两种类型的区别体现在度量值的计算方法上:OSPF External1类型认为被重分配路由的外部度量值和OSPF域内度量值相当,OSPF域内度量值不可忽略,所以其最终的度量值为外部和OSPF域内之和;OSPF External2类型认为被重分配路由的OSPF域内度量值相对其外部度量值可忽略,所以其最终的度量值即外部度量值。 一旦配置了重分配,路由器即成为自治系统边界路由器,即ASBR。 5.default metric number 配置重分配路由的外部度量值的缺省值。 6.summary-address address mask

华为路由器OSPF协议配置命令

华为路由器OSPF协议配置命令

华为路由器OSPF协议配置命令 4.7.13 ip ospf network-type 设置接口的网络类型。no ip ospf network-type 取消设置。 [ no ] ip ospf network-type { nonbroadcast | point_to_multipoint } 【参数说明】 nonbroadcast设置接口的网络类型为非广播NBMA类型。 point_to_multipoint设置接口的网络类型为点到多点。 【命令模式】 接口配置模式 【使用指南】

在没有多址访问能力的广播网上,应该将接口配置成NBMA方式。当一个NBMA网络中,不能保证任意两台路由器之间都是直接可达的话,应将网络设置为点到多点的方式。 【举例】 配置接口Serial0为非广播NBMA类型。 Quidway(config-if-Serial0)#ip ospf network-type nonbroadcast 【相关命令】 4.7.14 ip ospf neighbor ip ospf pollinterval 在NBMA和点到多点接口上配置发送轮询HELLO报文的时间间隔,no ip ospf pollinterval 命令恢复为缺省值。

ip ospf pollinterval time no ip ospf pollinterval 【参数说明】 time为发送轮询HELLO报文的时间间隔,以秒为单位,合法的范围是0~65535。 【缺省情况】 接口缺省发送轮询HELLO报文的时间间隔为120秒。 【命令模式】 接口配置模式 【使用指南】 在NBMA和点到多点网络中,当一台路由器的邻居一直没有响应时(时间间隔超过了

OSPF协议的LSDB分析和路由计算

OSPF协议的lsdb分析和路由计算 OSPF协议的LSDB分析和路由计算 拟制: 日期: 审核: 日期: 审核: 日期: 批准: 日期: 华为三康技术有限公司 Huawei-3Com Technologies Co., Ltd. 版权所有侵权必究 All rights reserve

目录 1OSPF协议的LSDB分析和路由计算 (6) 1.1OSPF的路由形成概述 (6) 1.2组网图 (6) 1.3OSPF的启动 (7) 1.3.1启动OSPF (7) 1.3.2接口使能OSPF (8) 1.4LSDB详解 (9) 1.5Router LSA (10) 1.6Network LSA (12) 1.7由一、二类LSA计算域内路由 (13) 1.7.1域内路由计算1:计算最短路径树 (13) 1.7.2域内路由计算2:把存根网络作为叶子加入最短路径树 (23) 1.8Summary LSA (24) 1.8.1Summary Network LSA (24) 1.8.2Summary ASBR LSA (26) 1.9AS-external-LSA (26) 1.10计算区域外部路由 (27) 1.10.1根据Summary LSA计算区域外部路由 (27) 1.10.2根据AS-external-LSA计算区域外部路由 (28) 2FAQ (30) 2.1初学OSPF,看哪些文章好? (30) 2.2什么是接口状态,什么是邻居状态,它们之间有什么关系? (30) 2.3建立邻居关系需要多少时间? (33) 2.4当存在连续的两个非骨干区域时,最边缘的区域怎样建立虚连接? (33) 2.5在NSSA区域中的ABR,没有引入路由的情况下,为什么其声称自己是ASBR? (33) 2.6当NSSA区域有多个ABR时,谁进行type7类LSA到type5类LSA的转换? (33) 2.7LSA和报文的关系 (33) 2.8报文的作用 (34) 2.9DD报文中的I/M/MS位解释 (34) 2.10有关路由COST的问题 (34)

OSPF连载:区域间的路由如何计算

为了解决上述问题,我们人为的把网络划分成若干个组群区域,但仅仅是划分了区域还是不够的,因为我们要清楚区域间的路由是如何处理的。 在划分区域后,一个区域内的路由处理是同没有划分区域之前是一样的。每一个区域中的路由器都按照该区域中定义的链路状态算法来计算网络拓扑结构,这意味着每一个区域都有着该区域独立的网络拓扑数据库及网络拓扑图。对于每一个区域,其网络拓扑结构在区域外是不可见的,同样,在每一个区域中的路由器对其域外的其余网络结构也不了解。当进行跨区域进行路由计算的时候区域边界路由器发生了一些变化。如下图所示: 由于中间的路由器分数两个不同的区域,一个接口属于区域0另一个接口属于区域3。接在区域0中的每台路由器生成自己的LSA(生成的是Router LSA第二种LSA)传递给ABR,这种Router LSA在区域边界路由器被阻断,不能够传到区域3。同理区域3中生成的Router LSA也在区域边界路由器被阻断,不能传递到区域0。那么区域3中是如何得知区域0中的路由信息呢?在图中我们可以看出,ABR既参与了区域0的路由计算也参与了区域3的路由计算。所以在区域边界路由器中会存在区域0和区域3的路由表。同时,在区域边界路由器中生成type=3类型的LSA。Type=3这种LSA用一条LSA表示一条路由。这样,在区域边界路由器就获知了区域0和区域3的路由。在区域边界路由器参与区域0 和区域3路由计算的时候会将自己学习到的路由标识出来,以告诉区域0和区域3。由此,区域3中的路由器知道如何到达区域边界路由器,而区域边界路由器又知道如何到达区域0,这样就能够计算出路由。这样计算的好处是:第一、减少了LSA的信息,因为以前LSA的信息不仅包含了路由信息还包含了连接状况信息,而生成的Router LSA只需要包含路由信息即可,大大减少了存储容量。缓解了随着网络规模的扩大造成LSA数量众多,LSDB占

关于ospf_外部路由e1_和e2_路由选择区别

关于ospf外部路由e1 和e2 路由选择区别 最近看到网上关于e1 和e2 类型路由的一些问题,做了如下的总结,如有不正确,可以相互探讨。Mail:xueguang_wang@https://www.wendangku.net/doc/8018790404.html,。网络无限。转载注明出处。感谢枫叶、星野一起参与的讨论。 1.ospf 在单个asbr 发布外部路由的时候 1.1单个ASBR OSPF 域内等值路径 wust 2007.06.10 mars 在r2 的ospf 上重新发布rip 的路由,发布的类型为e2 或e1 这个时候,r5 上都会出现两条路由,分别通过r3 和r4 到达10.1.1.0 (因为都是等代价路由,这部分比较简单,不细说)

1.2 单个ASBR OSPF 域内不等值路径 在r2 上重分布的时候发布e2 的路由,发布的metric 为20 在r5 上只会看到一条路由,通过r4 到达的地址的路由。 因为lsdb库收敛后最终有1条5 类lsa,收到的路由的metric为20,r5 通过spf的算法,计算如何到达asbr 的最近距离。通过计算,r5选择r4作为10.1.1.0网段的下一跳路由。由于e2的路由再放入路由表的时候不需要叠加ospf 域内的cost 值。因此在路由表中该路由的metric值也为20。 原本我在理解e2路由的时候总是认为r5到达10.1.1.0网段的metric由于不考虑内部路由,所以无所谓内部网络是如何的,哪怕路径不等价,也是做为两条路由放在路由表中的,实际是对ospf如何通过lsdb库构建路由不熟悉犯的错。 在r2 上重分布的时候发布e1 的路由,发布的metric 为 在r5的lsdb库中只有一条5类的lsa,收到的路由的metric为20,r5 通过spf的算法,计算如何到达asbr 的最近距离。通过计算,r5选择r4作为10.1.1.0网段的下一跳路由。由于e1的路由在放入路由表的时候需要叠加ospf 域内的cost 值。因此在路由表中该路由的metric值也为22。 : 域内路径不等价的情况下,e1 和e2 的路由选择的路径是相同的,其选择路径

OSPF路由协议原理及配置

OSPF路由协议原理及配置 协议原理(P147-P159) OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。 OSPF特点:(P147-148) (1)OSPF无路由自环问题。 (2)OSPF支持变长子网掩码VLSM。 (3)OSPF支持区域划分、适应大规模网络。 (4)OSPF支持等值路径负载分担(Cisco定义最大6条)。 (5)OSPF支持验证,防止对路由器、路由协议的攻击行为 (6)OSPF路由变化时收敛速度快,可适应大规模网络。 (7)OSPF并不周期性地广播路由表,因此节省了宝贵的带宽资源。 (8)OSPF被直接封装于IP协议之上(使用协议号89),它靠自身的传输机制保证可靠性。 (9)OSPF数据包的TTL值被设为1,即OSPF数据包只能被传送到一跳范围之内的邻居路由器。 (10)OSPF以组播地址发送协议报文(对所有DR/BDR路由器的组播地址:224.0.0.6; 对所有的SPF路由器的组播地址:224.0.0.5)。 OSPF的hello协议 1.Hello协议的目的: 1.用于发现邻居 2.在成为邻居之前,必须对Hello包里的一些参数进行协商 3.Hello包在邻居之间扮演着keepalive的角色 4.允许邻居之间的双向通信 5.用于在NBMA(Nonbroadcast Multi-access)网络上选举DR和BDR 2.Hello 数据包包含以下内容:(P150) 1.网络掩码(Network Mask):发送此Hello包的接口子网掩码。 2.Hello间隔(Hello Interval):发送Hello包的时间间隔(在广播类型和点到点类型网络上是10秒钟,在其他类型网络上是30秒。) 3.路由器优先级(Priority):用于选举DR、BDR。 4.死亡间隔(Dead Interval):在这个时间间隔内如果没有收到邻居的Hello 包,则将邻居从邻居列表中删除。

OSPF路由协议概念及工作原理

OSPF路由协议概念及工作原理 1.概述 OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。 作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。 2.数据包格式 在OSPF路由协议的数据包中,其数据包头长为24个字节,包含如下8个字段: * Version number-定义所采用的OSPF路由协议的版本。 * Type-定义OSPF数据包类型。OSPF数据包共有五种: * Hello-用于建立和维护相邻的两个OSPF路由器的关系,该数据包是周期性地发送的。* Database Description-用于描述整个数据库,该数据包仅在OSPF初始化时发送。 * Link state request-用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。 * Link state update-这是对link state请求数据包的响应,即通常所说的LSA数据包。* Link state acknowledgment-是对LSA数据包的响应。 * Packet length-定义整个数据包的长度。 * Router ID-用于描述数据包的源地址,以IP地址来表示。 * Area ID-用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定的OSPF区域。 * Checksum-校验位,用于标记数据包在传递时有无误码。

ospf工作原理

随着Internet技术在全球范围内的飞速发展,IP网络作为一种最有前景的网络技术,受到了人们的普遍关注。而作为IP网络生存、运作、组织的核心——IP路由技术提供了解决IP网络动态可变性、实时性、QoS等关键技术的一种可能。在众多的路由技术中,OSPF协议已成为目前Internet广域网和Intranet企业网采用最多、应用最广泛的路由技术之一。本文在分析OSPF动态路由协议基本工作原理的基础上,提出了Dijkstra算法和OSPF路由表计算的实现方法。 目前应用较多的路由协议有RIP和OSPF,它们同属于内部网关协议,但RIP基于距离矢量算法,而OSPF基于链路状态的最短路径优先算法。它们在网络中利用的传输技术也不同。 RIP是利用UDP的520号端口进行传输,实现中利用套接口编程,而OSPF则直接在IP上进行传输,它的协议号为89.在RIP当中,所有的路由都由跳数来描述,到达目的地的路由最大不超过16跳,且只保留唯一的一条路由,这就限制了RIP的服务半径,即其只适用于小型的简单网络。同时,运行RIP的路由器需要定期地(一般30s)将自己的路由表广播到网络当中,达到对网络拓扑的聚合,这样不但聚合的速度慢而且极容易引起广播风暴、累加到无穷、路由环致命等问题。为此,OSPF应运而生。OSPF是基于链路状态的路由协议,它克服了RIP的许多缺陷: 第一,OSPF不再采用跳数的概念,而是根据接口的吞吐率、拥塞状况、往返时间、可靠性等实际链路的负载能力定出路由的代价,同时选择最短、最优路由并允许保持到达同一目标地址的多条路由,从而平衡网络负荷; 第二,OSPF支持不同服务类型的不同代价,从而实现不同QoS的路由服务; 第三,OSPF路由器不再交换路由表,而是同步各路由器对网络状态的认识,即链路状态数据库,然后通过Dijkstra最短路径算法计算出网络中各目的地址的最优路由。这样OSPF 路由器间不需要定期地交换大量数据,而只是保持着一种连接,一旦有链路状态发生变化时,才通过组播方式对这一变化做出反应,这样不但减轻了不参与系统的负荷而且达到了对网络拓扑的快速聚会。而这些正是OSPF强大生命力和应用潜力的根本所在。 一、OSPF工作原理分析 OSPF是一种分层次的路由协议,其层次中最大的实体是AS(自治系统),即遵循共同路由策略管理下的一部分网络实体。在每个AS中,将网络划分为不同的区域。每个区域都有自己特定的标识号。对于主干(backbone)区域,负责在区域之间分发链路状态信息。这种分层次的网络结构是根据OSPF的实际提出来的。当网络中自治系统非常大时,网络拓扑数据库的内容就更多,所以如果不分层次的话,一方面容易造成数据库溢出,另一方面当网络中某一链路状态发生变化时,会引起整个网络中每个节点都重新计算一遍自己的路由表,既浪费资源与时间,又会影响路由协议的性能(如聚合速度、稳定性、灵活性等)。因此,需要把自治系统划分为多个域,每个域内部维持本域一张唯一的拓扑结构图,且各域根据自己的拓扑图各自计算路由,域边界路由器把各个域的内部路由总结后在域间扩散。这样,当网络中的某条链路状态发生变化时,此链路所在的域中的每个路由器重新计算本域路由表,而其它域中路由器只需修改其路由表中的相应条目而无须重新计算整个路由表,节省了计算

OSPF是一种典型的链路状态路由协议

OSPF是一种典型的链路状态路由协议。采用OSPF的路由器彼此交换并保存整个网络的链路信息,从而掌握全网的拓扑结构,独立计算路由。因为RIP路由协议不能服务于大型网络,所以,I ETF的IGP工作组特别开发出链路状态协议——OSPF。目前广为使用的是OSPF第二版,最新标准为RFC2328。 OSPF作为一种内部网关协议(Interior Gateway Protocol,IGP),用于在同一个自治域(AS)中的路由器之间发布路由信息。区别于距离矢量协议(RIP),OSPF具有支持大型网络、路由收敛快、占用网络资源少等优点,在目前应用的路由协议中占有相当重要的地位。 1. 链路状态 OSPF路由器收集其所在网络区域上各路由器的连接状态信息,即链路状态信息(Link-State),生成链路状态数据库(Link-State Database)。路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个网络的拓扑状况。OSPF路由器利用“最短路径优先算法(Shortest Path First, SPF)”,独立地计算出到达任意目的地的路由。 2. 区域 OSPF协议引入“分层路由”的概念,将网络分割成一个“主干”连接的一组相互独立的部分,这些相互独立的部分被称为“区域”(Area),“主干”的部分称为“主干区域”。每个区域就如同一个独立的网络,该区域的OSPF路由器只保存该区域的链路状态。每个路由器的链路状态数据库都可以保持合理的大小,路由计算的时间、报文数量都不会过大。 3. OSPF网络类型 根据路由器所连接的物理网络不同,OSPF将网络划分为四种类型:广播多路访问型(Broadcast multiAccess)、非广播多路访问型(None Broadcast MultiAccess,NBMA)、点到点型(Point-to-Point)、点到多点型 (Point-to-MultiPoint)。 广播多路访问型网络如:Ethernet、Token Ring、FDDI。NBMA型网络如:Frame Relay、X.25、SMDS。Point-to-Point型网络如:PPP、HDLC。 4. 指派路由器(DR)和备份指派路由器(BDR) 在多路访问网络上可能存在多个路由器,为了避免路由器之间建立完全相邻关系而引起的大量开销,OSPF要求在区域中选举一个DR。每个路由器都与之建立完全相邻关系。DR负责收集所有的链路状态信息,并发布给其他路由器。选举DR 的同时也选举出一个BDR,在DR失效的时候,BDR担负起DR的职责。 点对点型网络不需要DR,因为只存在两个节点,彼此间完全相邻。协议组成OSPF 协议由Hello协议、交换协议、扩散协议组成。本文仅介绍Hello协议,其他两个协议可参考RFC2328中的具体描述。 当路由器开启一个端口的OSPF路由时,将会从这个端口发出一个Hello报文,以后它也将以一定的间隔周期性地发送Hello报文。OSPF路由器用Hello报文来初始化新的相邻关系以及确认相邻的路由器邻居之间的通信状态。

相关文档