OSPF 链路-状态更新报文
OSPF路由协议
OSPF路由协议及其基本原理
1.3 OSPF 的五个类型的报文: 链路状态更A,路由器使用扩散技术来传递
LSA。LSA 有很多类(路由器、网络、概括和外部等),这些都会在后文中详细介绍。 链路状态确认(Link State Acknowledgement)报文:确认链路状态更新报文。这种应答使 OSPF 的扩散过程更可靠。
《局域网交换机和路由器的配置与管理》
网络互联设备基础实验
OSPF路由协议
• 1. OSPF路由协议及其基本原理 • 2. OSPF路由协议的基本配置
OSPF路由协议及其基本原理
1.1 OSPF 的由来: Internet最早使用RIP动态路由协议。RIP协议适合小型网络系统。但是在网络数目增多时存
1.3 OSPF 的主要工作流程: (4)在协议工作过程中路由器必须发送路由器链路通告,如该路由器为DR,它还必须
发送网络链路通告,如路由器为区域边界路由器,路由器要将接收自其他区域(包括骨干区域) 的路由信息整理后(形成汇总链路通告)送入本区域,以上这些信息仅在一个区域内传播。对于 由AS 边界路由器产生的AS 外部链路通告,AS 内的每个路由器都要获知,也就是说,该信息要 传播到AS 的每个角落。
OSPF路由协议及其基本原理
1.2 OSPF 的基本原理: OSPF 使用IP 协议中的服务类型(TOS)参数控制传输报文的服务质量。对于不同服务类型
的报文来说,它们具有不同的服务质量参数,如延迟,带宽以及丢失率等。OSPF根据不同的报 文类型计算不同的路径。当两点间有多条成本相同的路径时,OSPF在路由表中保留并轮流使用 这些路径,提高网络带宽的利用率。OSPF支持各种灵活的IP 子网配置方式,由OSPF 传播的路 由都有目的和掩码两部分,所以同一个网络内的不同子网可以有不同长度的掩码,即变长子网掩 码(VLSM)。数据包被路由到最长前缀匹配之处。主机被认为是全部匹配的子网。为了确保路 由器信息可靠地进行交换,OSPF路由器间要相互认证(Authentication),只有可信的路由器 才能加入路由信息的交换中来。OSPF可以采用多种认证方式,不同区域内的认证方式可以不同。 这样,一些区域可能采用更加严格的认证手段。OSPF 还可以有效地使用从EGP 得到的路由信息, 在本AS内传播。
OSPF_协议的解析及详解
OSPF_协议的解析及详解OSPF协议的解析及详解一、引言OSPF(Open Shortest Path First)是一种开放式最短路径优先协议,用于在IP网络中进行路由选择。
本协议旨在提供高效、可靠、可扩展的路由选择机制,以满足大规模网络的需求。
本文将对OSPF协议进行解析和详解,包括协议的基本原理、工作机制、数据包格式、路由计算算法等内容。
二、OSPF协议基本原理1. 链路状态路由协议OSPF是一种链路状态(Link State)路由协议,它通过交换链路状态信息来构建网络拓扑图,从而计算最短路径。
每个路由器都维护一个链路状态数据库(Link State Database,LSDB),其中存储了整个网络的拓扑信息。
2. OSPF区域划分OSPF将网络划分为多个区域(Area),每个区域内部运行独立的SPF (Shortest Path First)计算,减少了计算复杂度和控制报文的传输量。
区域之间通过区域边界路由器(Area Border Router,ABR)进行连接。
3. OSPF邻居关系建立OSPF邻居关系是通过交换Hello报文来建立的。
当两个路由器在同一广播域内收到对方的Hello报文时,它们可以成为邻居,并交换链路状态信息。
三、OSPF协议工作机制1. Hello报文交换OSPF路由器通过周期性发送Hello报文来探测邻居,并维护邻居关系。
Hello报文包含了路由器的ID、Hello间隔时间等信息。
2. 链路状态信息交换OSPF邻居之间交换链路状态信息,包括链路状态更新报文(LSU)和链路状态请求报文(LSR)。
LSU报文用于广播链路状态信息,LSR报文用于请求缺失的链路状态信息。
3. SPF计算每个OSPF路由器通过收集链路状态信息,构建链路状态数据库,并使用SPF算法计算最短路径树。
SPF算法基于Dijkstra算法,通过计算最短路径树,确定到达目的地的最短路径。
4. 路由表生成根据最短路径树,每个OSPF路由器生成路由表,选择最佳路径并更新转发表。
OSPF_协议的解析及详解
OSPF_协议的解析及详解OSPF协议的解析及详解OSPF(Open Shortest Path First)是一种内部网关协议(IGP),用于在大型企业网络中进行路由选择。
本文将对OSPF协议进行解析和详解,包括其工作原理、协议格式、路由选择算法等内容。
一、OSPF协议的工作原理OSPF协议基于链路状态路由(LSR)算法,通过交换链路状态信息来计算最短路径。
它将网络拓扑信息分发给所有路由器,每个路由器都会构建一个链路状态数据库(LSDB),并根据该数据库计算最短路径树。
OSPF协议使用Hello消息来发现邻居路由器,并建立邻居关系。
一旦建立了邻居关系,路由器就会交换链路状态更新消息(LSU)来更新链路状态数据库。
每个路由器都会根据链路状态数据库计算最短路径,并将其存储在路由表中。
二、OSPF协议的协议格式OSPF协议使用IP协议号89,其协议格式如下:1. OSPF报文头部:- 版本号:用于指示OSPF协议的版本。
- 报文类型:用于指示报文的类型,如Hello、数据库描述、链路状态请求等。
- 报文长度:指示整个报文的长度。
- 路由器ID:唯一标识一个路由器。
- 区域ID:将网络划分为不同的区域,用于控制链路状态数据库的大小。
2. OSPF Hello消息:- 网络类型:指示网络类型,如点对点、广播、NBMA等。
- 路由器优先级:用于选举DR(Designated Router)和BDR(Backup Designated Router)。
- 邻居列表:列出与该路由器相邻的所有路由器。
3. OSPF LSU消息:- 序列号:用于标识链路状态数据库的更新。
- 链路状态记录:包含了与该路由器相邻的所有路由器的链路状态信息。
4. OSPF LSR消息:- 链路状态请求列表:列出了需要请求的链路状态信息。
三、OSPF协议的路由选择算法OSPF协议使用Dijkstra算法来计算最短路径树。
该算法通过不断更新最短路径表来选择最短路径。
ospf路由协议
Osfp 路由协议1、OSPF协议概述OSPF(Open Short Path First)开放最短路径优先协议,是一种基于链路状态的内部网协议(Interior Gateway Protocol),主要用于规模较大的网络中。
2、OSPF的特点●适应范围广:支持各种规模的网络,最多可支持数百台路由器。
●快速收敛:在网络拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中被处理。
●无环路由:根据收集到的链路状态用最短路径树算法计算路由。
●区域划分:允许自治系统内的网络被划分成区域来管理,区域间传送的路由信息被汇聚,从而减少了占用的网络资源。
●路由分级:使用4类不同的路由,按照优先顺序分别是区域间路由、区域路由、第一类路由、第二类路由。
3、OSPF的基本概念●自治系统(Autonomous System,AS):为一组路由器使用相同路由协议交换路由信息的路由器。
●路由器ID号:运行OSPF协议的路由器,每一个OSPF进程必须存在自己的Router-ID。
●OSPF邻居:OSPF路由器启动后,便会通过OSPF接口向外发送Hello报文,收到Hello报文的OSPF路由器会检查报文中所定义的参数,使双方成为邻居。
●OSPF连接:只有当OSPF路由器双方成功交换DD报文,交换LSA并达到LSDB的同步后,才能形成邻接关系。
4、OSPF路由的计算过程每台路由器根据自己周围的网络拓扑结构生成链路状态通告(State Advertisement,LSA),并通过更新报文将LSA发送给网络中的其他OSPF路由器。
每台OSPF路由器都会收到其他路由器通告的LSA,所有的LSA放在一起便组成了链路状态数据库(Link State Database,LSD)。
LSA是对路由器周围网络拓扑结构的描述,LSDB 则是对整个自治系统的网络拓扑结构的描述。
OSPF路由器将LSDB转换成一张带权的有向图,这张图便是对整个网络拓扑结构的真实反映。
OSPF的基本工作原理
Hello报文
用于发现和建立邻居关系,通 过定期发送Hello报文来维护 邻居关系。
路由表报文
用于在OSPF区域内传递路由 信息,实现路由表的同步。
链路状态请求报文
用于请求其他路由器发送缺失 的链路状态记录,以完成链路 状态数据库的同步。
03 OSPF路由计算
OSPF路由表的生成
01
生成OSPF路由表
OSPF路由的优选原则
最短路径
01
OSPF路由器在选择最佳路径时,会优先选择路径长度最短的路
径。
稳定性
02
OSPF路由器还会考虑路径的稳定性,通常会选择经过的路由器
数量最少、网络带宽最高、负载最轻的路径。
可靠性
03
在选择路径时,OSPF路由器还会考虑路径的可靠性,优先选择
经过的路由器和链路状态更好的路径。
路由更新
当网络拓扑发生变化时,OSPF路由器会发送链路状态更 新报文,通知其他路由器网络变化情况,其他路由器会更 新自己的链路状态数据库和路由表。
OSPF协议的消息类型和交换方式
链路状态更新报文
用于同步链路状态信息,当网 络发生变化时,发送链路状态 更新报文通知其他路由器。
数据库描述报文
用于描述链路状态数据库的内 容,帮助其他路由器快速同步 链路状态数据库。
02
数据库同步
OSPF路由器通过收集网络中的链路 状 Nhomakorabea信息,构建一个链路状态数据库 ,并根据该数据库生成OSPF路由表 。
当网络发生变化时,OSPF路由器会 通过数据库同步机制,将链路状态信 息更新到其他OSPF路由器中,确保 所有路由器的链路状态数据库保持一 致。
03
路由计算
OSPF路由器根据链路状态数据库中 的信息,按照一定的算法计算出到达 各个目的网络的最佳路径,并将这些 路径添加到OSPF路由表中。
RIPV1、V2、OSPF报文格式
LSR报文
两台路由器互相交换过DD报文之后,知道对端的路由 器有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报 文向对方请求所需的LSA。内容包括所需要的LSA的摘要。 报文格式如下图所示:
0 Version 7 Type=3 Router ID Area ID Checksum Authentication LS type Link State ID Advertising Router ...... AuType 15 Packet length 31
LSR报文主要字段解释
LS type:LSA的类型号。例如Type1表示Router LSA。 Link State ID:链路状态标识,根据LSA的类型而定。 Advertising Router:产生此LSA的路由器的Router ID。
LSU报文
LSU报文用来向对端路由器发送所需要的 LSA,内容是多条LSA(全部内容)的集合。 LSU报文在支持组播和广播的链路上是以组播 形式将LSA泛洪出去。为了实现Flooding的可 靠性传输,需要LSAck报文对其进行确认。对 没有收到确认报文的LSA进行重传,重传的 LSA是直接发送到邻居的。
OSPF的报文格式
OSPF用IP报文直接封装协议报文,协议号为 89。OSPF分为5种报文:Hello报文、DD报文 、LSR报文、LSU报文和LSAck报文。一个比较 完整的OSPF报文(以LSU报文为例)结构如图 8所示
图8
OSPF报文头 报文头
OSPF有五种报文类型,它们有相同的报文头。 如图9所示。
0 Version 7 Type=2 Router ID Area ID Checksum Authentication Interface MTU Options DD Sequence Number LSA Headers ... 00000 I M M S AuType 15 Packet length 31
ospf工作原理
ospf工作原理
OSPF(Open Shortest Path First) 是一个内部网关协议,常用于在IP网络中进行路由选择。
它基于链路状态算法,可以动态地计算出网络中的最短路径,并根据网络状况进行路由更新。
OSPF的工作原理包括以下几个关键步骤:
1. 邻居发现:当一个OSPF路由器启动时,它会发送Hello报文来寻找邻居路由器。
这些Hello报文会定期发送,用于判断邻居路由器是否在线和路由器间连接是否正常。
2. 链路状态数据库构建:一旦建立了邻居关系,路由器会交换链路状态更新(LSU)报文,这些报文包含了邻居路由器与其连接的状态信息。
每个路由器将这些状态信息存储在链路状态数据库(LSD)中,该数据库记录了整个网络的拓扑结构。
3. 最短路径计算:使用Dijkstra算法,每个路由器根据链路状态数据库计算出到达目的地最短路径,并将该信息存储在路由表中。
4. 路由更新:当链路状态发生变化时,如连接中断或新的路由器加入,路由器会发送路由更新(LSU)报文来通知其他路由器更新其链路状态数据库和路由表。
5. 路由选择:根据路由表中的信息,路由器通过比较不同目的地的路径距离来选择最佳的路由。
OSPF使用接口成本作为指标来衡量路径优劣,较低的成本表示更优的路径。
通过这些步骤,OSPF可以动态地计算出网络中的最短路径,并选择最优路由进行数据传输。
它具有快速收敛、支持负载均衡和冗余路径等特点,被广泛应用于大规模IP网络中。
ospf复习题
ospf复习题OSPF复习题OSPF(Open Shortest Path First)是一种内部网关协议(IGP),用于在大型网络中实现动态路由。
它是一种开放的协议,被广泛应用于企业网络和互联网服务提供商(ISP)网络中。
本文将通过一些复习题来回顾和巩固关于OSPF的知识。
一、选择题1. OSPF是一种()协议。
A. 内部网关协议B. 外部网关协议C. 边界网关协议D. 路由选择协议2. OSPF使用()作为其路由算法。
A. Dijkstra算法B. Bellman-Ford算法C. 贝叶斯算法D. 二叉树算法3. 在OSPF中,邻居关系的建立是通过()实现的。
A. OSPF Hello报文B. OSPF LSA报文C. OSPF Update报文D. OSPF ACK报文4. 在OSPF中,路由器的优先级设置为0表示()。
A. 该路由器不参与选举B. 该路由器是DR(Designated Router)C. 该路由器是BDR(Backup Designated Router)D. 该路由器是ASBR(Autonomous System Boundary Router)5. OSPF使用()来防止路由环路。
A. 分割子网B. 路由聚合C. 路由过滤D. 分区域二、填空题1. OSPF使用()作为其链路状态数据库(LSDB)的数据结构。
2. OSPF支持()类别的路由器。
3. OSPF的Hello报文默认每()秒发送一次。
4. 在OSPF中,通过()来选择最佳路径。
5. OSPF使用()作为其链路状态更新(LSU)报文。
三、简答题1. 请简要说明OSPF的工作原理。
2. OSPF的路由器类型有哪些?请分别举例说明。
3. OSPF的链路状态数据库(LSDB)是如何更新的?4. 请说明OSPF的DR(Designated Router)和BDR(Backup Designated Router)的作用。
OSPF报文格式
要理解OSPF路由协议的工作原理,特别是路由更新机制,首先就要对它的各种报文格式有一个全面的了解。
OSPF报文主要有5种:Hello报文、DD (Database Description,数据库描述)报文、LSR (LinkState Request,链路状态请求)报文、LSU(LinkState Update,链路状态更新)报文和LSAck(LinkState Acknowledgment,链路状态应答)报文。
它们各自在OSPF路由更新中所担当的用途不一样,报文格式也存在比较大的差别。
9.2 OSPF报头及各种报文格式OSPF报文直接封装为IP协议报文,因为OSPF是专为TCP/IP网络而设计的路由协议。
以上所说到的五种OSPF报文使用相同的OSPF报头格式,如图9-9所示。
图9-9 OSPF协议报头格式l Version版本字段,占1个字节,指出所采用的OSPF协议版本号,目前最高版本为OSPF v4,即值为4(对应二进制就是0100)。
l Packet Type报文类型字段,标识对应报文的类型。
前面说了OSPF有5种报文,分别是:Hello报文、DD报文、LSR报文、LSU报文、LSAck报文。
具体将在下面各小节介绍。
l Packet Length:包长度字段,占2个字节。
它是指整个报文(包括OSPF报头部分和后面各报文内容部分)的字节长度。
l Router ID:路由器ID字段,占4个字节,指定发送报文的源路由器ID。
l Area ID:区域ID字段,占4个字节,指定发送报文的路由器所对应的OSPF区域号。
l Checksum:校验和字段,占2个字节,是对整个报文(包括OSPF报头和各报文具体内容,但不包括下面的Authentication字段)的校验和,用于对端路由器校验报文的完整性和正确性。
l AuType:认证类型字段,占2个字节,指定所采用的认证类型,0为不认证,1为进行简单认证,2采用MD5方式认证。
完整版ospf邻接建立详细过程包括五报文七状态
5、ospf 毗邻建立过程描述:第一总结下五报文和七状态路由器还末收到邻居发来的HELLO包(1.5)在NBMA还有个attempt( 试一试状态 ):为 NBMA 网络中的一个正常过滤状态,即我发送了HELLO等待对方的回应,若是对方不回应则素来滞留在此状态。
收到来自邻居的hello 包,但是hello 中未包含自己的信息。
路由器在收到邻居发来的HEELO包中,看到自己的ROUTER-ID ,在这个态开始选举DR 和 BDR在选举DR和BDR此后,开始选主从Master/Slave主从协商达成后,进行DBD 的同步 ,链路数据库描述(DBD)DBD 同步达成后,进行LSA的同步LSA同步达成此后依照上图做实验解析:在 R1 和 R2 启用 ospf 后,会组播向外发送hello 报文。
active neighbor 字段中为R1 的和说明进入TWO-WAY 状态,并且开始选举DR和 BDR选举达成后开始转为 extart 状态进入 exstart state ,开始选主从( ROUTER-ID大的为主,作用为了同步 DBD 的序列号) R1 和 R2 分别向外发 DBD 报文,都认为自己为主:如图在 DBD 中 I M MS 分别表示第一个包、M 表示后边还有几个包MS 表示为主Interface MTU :在不分片的情况下,此接口最大可发出的I( Initial ):当发送连续多个DD 报文时,若是这是第一个IP 报文长度为1500 。
DD 报文,则置为1,否则置为 0。
M( More ):当连续发送多个置为 1,表示后边还有其他的DD 报文时,若是这是最后一个DD 报文。
DD 报文,则置为0。
否则MS( Master/Slave ):当两台从( Slave)关系, Router ID OSPF路由器交换大的一方会成为DD 报文时,第一需要确定双方的主( Master ) Master 。
当值为 1 时表示发送方为Master 。
OSPF协议包含的五种报文简述
OSPF协议包含的五种报⽂简述OSPF使⽤5种不同的报⽂类型。
每种类型⽤于⽀持不同的,专门的⽹络功能。
这5种类型是:·HELLO报⽂(类型1 )。
·数据库描述报⽂(类型2 )。
·链路-状态请求报⽂(类型3 )。
·链路-状态更新报⽂(类型4 )。
·链路-状态应答报⽂(类型5 )。
⼀、HELLO报⽂OSPF包含⼀个⽤于建⽴和维护相邻站点之间关系的协议( HELLO协议)。
这些关系称为连接性。
连接性是OSPF交换路由数据的基础。
通过这个协议和报⽂类型, OSPF节点能发现区中的其他OSPF节点。
它的名字表明了其含义,HELLO协议在可能的相邻路由器之间建⽴通信。
HELLO协议使⽤特别的⼦报⽂结构,这个结构附加到标准2 4字节的OSPF头后⾯。
这些结构共同构成HELLO报⽂。
OSPF⽹络中的所有路由器必须遵守⼀定的规则,这个规则在整个⽹络中要⼀致。
这些规则包括:⽹络掩码。
HELLO报⽂⼴播的间隔。
⽹络中的其他路由器认为⼀个没有反应的路由器为死节点的时间(路由器死时间间隔)。
OSPF中的所有路由器对这些参数必须使⽤相同值,否则⽹络可能不会正常⼯作。
这些参数通过HELLO报⽂进⾏交换。
它们⼀起构成相邻节点之间通信的基础。
它们要确保在不同⽹络的路由器之间不形成相邻关系(连接性),并且⽹络中的所有成员要对多久彼此联系⼀次成达共识。
HELLO报⽂也包括最近已与其联系过的其他路由器列表(使⽤它们⾃⼰惟⼀的路由器I D )。
这个N e i g h b o r (相邻者)域使邻居发现过程成为可能。
HELLO报⽂还包括⼏个其他的域,如Designated Router(指定路由器)、Backup Designated Router(备份指定路由器)和其他⼀些域。
这些域对于维护连接性,⽀持OSPF⽹络的稳定周期和收敛都是有⽤的。
⼆、DD报⽂当OSPF中的两个路由器初始化连接时要交换数据库描述(DD)报⽂。
OSPF 协议
1.OSPF协议简介OSPF(Open Shortest Path First)协议是一种内部网关协议(IGP),用于在大型企业网络或互联网中实现路由选择。
它是一个开放的、链路状态路由协议,旨在优化路由器之间的通信,并根据网络拓扑信息计算最短路径。
OSPF协议具有以下特点:•开放性:OSPF协议是公开的,它的工作原理和规范可以被广泛理解和应用。
这使得不同厂商的路由器可以相互通信和交换路由信息,促进了网络设备的互操作性。
•链路状态路由:OSPF协议通过在网络中广播链路状态更新来确定网络拓扑信息。
每个路由器都维护一个链路状态数据库(LSDB),其中包含有关网络中所有路由器和链路的状态信息。
基于这些信息,OSPF使用Dijkstra 算法计算最短路径,并构建路由表。
•分层和区域化:OSPF协议将网络划分为不同的区域(Area),每个区域内部的路由器使用区域内链路状态数据库进行路由计算,而不需要了解整个网络的拓扑。
这种分层和区域化的设计减少了路由器之间的通信量,提高了网络的可扩展性。
•动态适应性:OSPF协议能够根据网络的变化自动调整路由,以适应链路的故障、拓扑的变化或带宽的变化。
当网络发生改变时,路由器会通过链路状态更新通知其他路由器,并更新各自的链路状态数据库,从而重新计算最短路径。
OSPF协议在大型企业网络和互联网中被广泛应用,特别适用于要求快速收敛、具备高可靠性和可扩展性的网络环境。
它提供了灵活的路由控制和路由优先级设置,使网络管理员能够根据具体需求进行网络设计和优化。
2.OSPF协议的工作原理OSPF(Open Shortest Path First)协议是一种基于链路状态的路由协议,它通过交换链路状态信息来计算最短路径并构建路由表。
以下是OSPF协议的工作原理的概要:1.邻居发现:OSPF协议运行在每个支持OSPF的路由器上。
当路由器启动时,它会发送Hello报文来发现和识别相邻的OSPF路由器。
OSPF协议概述
OSPF协议概述OSPF(Open Shortest Path First)是一种用于路由选择的内部网关协议(IGP)。
它是基于链路状态的路由选择协议,被广泛应用于大型企业网络和互联网中。
本文将详细介绍OSPF协议的概念、特点、工作原理以及相关术语。
一、概念OSPF是一种开放标准的路由协议,由IETF(Internet Engineering Task Force)制定。
它通过在网络中传递链路状态信息,计算出最短路径,并将路由信息传递给所有的路由器,从而实现路由选择。
OSPF使用Dijkstra算法来计算最短路径,具有较高的路由计算效率和可扩展性。
二、特点1. 开放性:OSPF是一种开放标准协议,可以在不同厂商的设备上实现互操作性。
2. 分层结构:OSPF将网络划分为不同的区域(Area),每个区域内部运行独立的OSPF进程,减少了路由计算的复杂性。
3. 支持VLSM:OSPF可以支持可变长度子网掩码(VLSM),允许更精细的地址划分。
4. 支持多路径:OSPF可以同时使用多条路径进行负载均衡,提高网络的带宽利用率。
5. 支持认证:OSPF支持对邻居路由器进行认证,提高网络的安全性。
三、工作原理1. 链路状态数据库(LSDB):每个OSPF路由器维护一个LSDB,其中存储了该路由器所知的网络拓扑信息。
2. 邻居发现:OSPF路由器通过发送Hello报文来发现相邻路由器,并建立邻居关系。
3. 链路状态更新:当网络拓扑发生变化时,路由器会向邻居路由器发送链路状态更新报文,更新LSDB。
4. 最短路径计算:路由器使用Dijkstra算法计算从自身到达其他网络的最短路径,并更新路由表。
5. 路由表更新:每个OSPF路由器根据最短路径计算结果,更新自己的路由表。
四、OSPF术语1. 路由器(Router):运行OSPF协议的设备,负责转发数据包。
2. 邻居(Neighbor):与路由器直接相连的其他路由器。
OSPF介绍
OSPF(Open Shortest Path First)是一个基于链路状态的内部网关协议(IGP),它用于路由IP数据包。
OSPF的主要目标是在自治系统(AS)内部为IP网络提供高效、可扩展和快速收敛的路由。
OSPF是一个动态路由协议,它通过使用Dijkstra算法来计算最短路径树(SPT)以确定最佳路径。
OSPF报文结构分为头部和数据部分。
头部包含了报文的基本信息,而数据部分包含了不同类型的OSPF报文所需的详细信息。
OSPF头部字段:1.版本号(Version):占用一个字节,表示OSPF协议的版本。
目前的标准版本是OSPFv2(IPv4)和OSPFv3(IPv6)。
2.类型(Type):占用一个字节,表示报文类型。
OSPF有5种报文类型,分别是:Hello(1)、Database Description(2)、Link State Request(3)、Link State Update(4)和Link State Acknowledgment(5)。
3.报文长度(Packet Length):占用两个字节,表示整个OSPF报文(包括头部和数据部分)的长度。
4.路由器ID(Router ID):占用四个字节,用于唯一标识一个OSPF路由器。
5.区域ID(Area ID):占用四个字节,表示报文所属的OSPF区域。
6.校验和(Checksum):占用两个字节,用于检查报文在传输过程中是否出现错误。
7.预留字段(AuType and Authentication):在OSPFv2中,AuType字段占用两个字节,表示认证类型;接下来的8个字节为Authentication字段,用于报文认证。
在OSPFv3中,这些字段已被删除,因为它使用IPsec进行认证。
OSPF数据部分的字段因报文类型而异。
例如,在Hello报文中,主要字段包括:1.网络掩码(Network Mask,仅在OSPFv2中存在):占用四个字节,表示连接到OSPF路由器的子网掩码。
OSPF的五种报文介绍
减少路由信息的传递量
通过只请求所需的特定链路状态记录,而不是整个链路状态数据库,可以减少网络中OSPF报文的数 量和路由器的资源消耗。
发送频率
动态调整
链路状态请求报文的发送频率可以根据网络状况动态调整。例如,当某个OSPF路由器 发现其链路状态数据库中的某些链路状态记录过时或缺失时,它会定期或不定期地发送
内容
路由器ID和链路状态数据库摘要
Hello报文中包含了发送者的路由器ID和链路状态数据库的摘要信息,这些信 息用于建立和维护邻居关系以及防止路由环路。
认证信息
为了确保Hello报文的真实性,OSPF提供了认证功能,可以在Hello报文中添加 认证信息,对报文进行验证,确保其来源可靠。
02 数据库描述报文
04 链路状态更新报文
作用
链路状态更新报文用于在OSPF区域内传送链路状态数据库的最新信息。当路由器启动或检测到链路 状态发生变化时,它会将相应的链路状态记录下来,并通过链路状态更新报文将这些记录发送给其他 路由器。
这些记录包括始发路由器、目的路由器、路径代价等信息,用于构建路由器的链路状态数据库。
当路由器发现新的LSA时,会立即发送一 个数据库描述报文,然后按照周期性发送 。
内容
LSA头部信息
数据库描述报文包含了LSA的头部信息,如 LSA类型、序列号、校验和等。
LSA详情列表
数据库描述报文列出了区域内所有的LSA详 情,包括LSA的ID、年龄、链路状态等。
03 链路状态请求报文
作用
请求链路状态信息
发送频率
要点一
周期性发送
链路状态确认报文通常每隔一段时间(例如,5秒)向所有 邻居发送一次,以确认它们的链路状态数据库是最新的。
OSPF动态路由协议笔记之(二):基本工作原理(下)
OSPF动态路由协议笔记之(⼆):基本⼯作原理(下)OSPF动态路由协议笔记之(⼆) : 基本原理(下) 本笔记承接上⼀节,继续对OSPF报⽂的报⽂头部和报⽂类型进⾏详尽的介绍,接着介绍OSPF建⽴邻接关系的过程(即LSDB同步的过程),最后补充上⼀节笔记中提及的DR和BDR选举的过程。
OSPF报⽂类型及作⽤ (1)OSPF协议报⽂头部 RIP路由器之间是基于UDP 520的报⽂进⾏通信,OSPF也有其规定的通信标准。
OSPF使⽤IP承载其报⽂,IP报⽂头部协议号为89。
在OSPF Packet部分,所有的OSPF报⽂均使⽤相同的OSPF报⽂头部。
报⽂头部各字段含义如下: ①Version(1个字节):版本。
对于当前所使⽤的OSPFv2,该字段的值为2。
② Type(1个字节):类型。
OSPF报⽂类型。
其值分别代表以下⼏种报⽂类型: l 1:Hello报⽂; l 2:DD报⽂; l 3:LSR报⽂; l 4:LSU报⽂; l 5:LSAck报⽂。
③Packet length(2个字节):数据包长度。
表⽰整个OSPF报⽂的长度,单位是字节。
④Router ID(4个字节):发送该报⽂的路由器标识。
表⽰⽣成此报⽂的路由器的Router ID。
⑤ Area ID(4个字节):发送该报⽂的所属区域。
表⽰此报⽂需要被通告到的区域。
⑥Checksum(2个字节):校验和。
⽤于校验报⽂的完整性,其校验的范围是整个OSPF报⽂,包括OSPF报⽂头部。
⑦Auth Type(2个字节):验证类型。
为0时表⽰不认证;为1时表⽰简单的明⽂密码认证;为2时表⽰加密(MD5)认证。
⑧Authentication(8个字节):鉴定字段。
认证所需的信息,该字段的内容随AuType(验证类型)的值不同⽽不同。
当验证类型为0时未作定义;类型为1时此字段为密码信息;类型为2时此字段包括Key ID、MD5验证数据长度和序列号的信息,MD5验证数据添加在OSPF报⽂后⾯,不包含在Authenticaiton字段中。
计算机网络原理 内部网关协议OSPF
计算机网络原理 内部网关协议OSPF开放式最短路径优先OSPF (Open Shortest Path First )协议是另一种内部网关协议。
它是为了解决RIP 的局限性而开发的非专用路由方案。
最初的研发工作开始于1988年,结束于1991年。
随后不断地发布对该协议的更新。
OSPF 提供了许多距离矢量协议中没有的特征。
对这些特征的支持已经使OSPF 成为大型网络环境中广泛采用的路由协议。
它具有以下几个特征:● 相同代价时的负载平衡。
同时使用多条路径可以更加有效地利用网络资源。
● 网络的逻辑划分。
这样做减少了不利条件下各种信息的传播。
它还提供了聚集路由声明的能力,限制了不必要的子网信息公告。
● 支持认证。
OSPF 支持对任何传输路由公告的结点进行认证。
这就防止了欺骗性信息源破坏路由表。
● 更小的收敛时间。
OSPF 提供了路由更改的即时传播功能。
这样就加快了更新网络拓扑结构所需的收敛速度。
● 支持CIDR 和VLSM 。
这个特征允许网络管理员有效分配IP 地址资源。
OSPF 是一个链路状态协议。
与其他链路状态协议一样,每个OSPF 路由器执行SPF 算法,以处理保存在链路状态数据库中的信息。
这个算法产生了一支最短路径树,详细描述了达到每个目的的网络的优选路径。
OSPF 报文用IP 数据报来传输。
它们不是被封装到TCP 或UDP 报文中。
OSPF 报文的报头格式如图6-7所示。
报文长度为24个8位组的报头。
版本字段指出了协议的版本号,类型字段指示报文的类型如图6-8所示。
8162431图6-7 OSPF 报文报头格式 图6-8 OSPF 报文类型源路由器IP 地址字段给出了发送地址,域标识符字段给出了32位的域标识号,鉴别类型字段说明了所使用的鉴别机制。
Hello 报文有两个功能:● 检测链路是否可以使用。
● 在广播型与非广播型网络上选择指定路由器及后备。
OSPF Hello 的报文格式如图6-9所示。
OSPF协议概述
OSPF协议概述OSPF(开放最短路径优先)是一种用于路由选择的动态路由协议。
它是一个开放标准的协议,被广泛应用于大型企业网络和互联网。
本文将对OSPF协议的概述进行详细介绍。
一、OSPF协议的基本原理OSPF协议基于链路状态路由算法,通过交换链路状态信息来计算最短路径。
OSPF使用了多种类型的报文来交换路由信息,包括Hello报文、LSA(链路状态通告)报文和LSU(链路状态更新)报文。
通过这些报文的交换,OSPF路由器能够了解整个网络的拓扑结构,并计算出最短路径。
二、OSPF协议的特点1. 分层结构:OSPF将网络划分为区域(Area),每个区域内部使用OSPF协议进行路由计算,不同区域之间使用区域边界路由器(ABR)进行通信。
这种分层结构使得OSPF在大规模网络中具有良好的可扩展性。
2. 支持VLSM:OSPF支持可变长度子网掩码(VLSM),可以更灵活地划分IP地址空间,提高地址利用率。
3. 动态更新:OSPF路由器之间会周期性地交换链路状态信息,以便及时了解网络拓扑的变化。
这种动态更新的机制使得OSPF能够快速适应网络的变化,并选择最优路径。
4. 路由分级:OSPF将路由信息分为内部路由和外部路由。
内部路由是在OSPF域内学习到的路由信息,外部路由是从其他路由协议学习到的路由信息。
OSPF将内部路由和外部路由分开存储和计算,提高了路由选择的效率。
三、OSPF协议的工作过程1. 邻居关系建立:OSPF路由器通过交换Hello报文来建立邻居关系。
Hello报文包含了路由器的ID、优先级以及所在网络的IP地址等信息。
当两个路由器的Hello报文相互匹配时,它们就可以建立邻居关系。
2. 路由计算:OSPF路由器通过交换LSA报文来了解整个网络的拓扑结构。
每个路由器都会维护一个链路状态数据库(LSDB),用于存储收到的LSA报文。
通过计算LSDB中的链路状态信息,每个路由器可以得到最短路径树,并选择最优路径。
OSPF技术
Show ip router
课程议题
OSPF的基本配置
ቤተ መጻሕፍቲ ባይዱ
OSPF基本配置
Router(config)#
router ospf process-id 创建OSPF路由进程
点是配置较为简便 point-to-multipoint nonbroadcast
broadcast
point-to-point
OSPF运行的模式
Broadcast::使得WAN接口看上去像LAN接口,一个IP子网,多播 hello包自动发现邻居,选举DR/BDR,要求网络全互连。 Nonbroadcast(NBMA):一个IP子网,邻居手工指定,选举
完全邻接状态
OSPF状态
维护路由选择信息
OSPF链路状态序列号
LSDB中的每个LSA记录都有个序列号,序列号是32位长,以 0x80000001开头,0x7FFFFFFF结尾。OSPF路由器默认每30分 钟洪泛一次LSA来保证LSDB的同步,每洪泛1次,序列号就加1。
课程议题
OSPF区域概念
LSA报头格式
LSA使用一个通用的头格式。 头20字节长并附加于标准的24字节OSPF头后面。 LSA头惟一地标识了每种LSA
链路状态确认报文
OSPF的特点是可靠地分布LSA报文,可靠性意味着通告的接收方
必须应答。
课程议题
OSPF的邻居状态与数据 库同步
建立双向通讯
发现网络路由和添加链路条目
路由器所在区域内的网络,以路由器LSA和网络LSA的方式通告
O IA
OSPF区域间路由
位于路由器所在区域之外但在OSPF自主系统内的网络,以汇总 LSA的方式通告通告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
链路-状态更新报文用于把LSA发送给它的相邻节点。
这些更新报文是用于对LSA请求的应答。
有5种不同的LSA报文类型。
这些报文类型用从1到5的类型号标识。
注意由于OSPF通常把链路-状态广播看作LSA,因此会存在潜在的混淆。
然而,实际上用于更新路由表的机制为链路-状态更新报文—简记为LS U.还有另一个报文结构,链路-状态应答报文,简写为LSA;由于一些不可知的原因,这种报文称为链路-状态应答,而LSA通常是指更新报文。
这些报文类型及其LSA号,如下所述:
●Rauter LSA (路由器LSA )(类型1 )—路由器LSA描述了路由器链路到区的状态和耗费。
所有这样的链路必须在一个LSA报文中进行描述。
同时,路由器必须为它属于的每个区产生一个路由器LSA.所以,区边界路由器将产生多个路由器LSA,而区内的路由器只需产生一个这样的更新。
●Network LSA (网络LSA )(类型2 )—网络LSA与路由器LSA 相似,它描述的是连接进网络的所有路由器的链路状态和耗费信息。
二者的区别是网络LSA是网络中所有链路-状态和耗费信息的总和。
只有网络的指定路由器记录这个信息,并由它来产生网络LSA.
●Summary LSA-IP Network (汇总LSA - I P网络)(类型3 )—使用汇总LSA - I P这个名字有些不灵活,因此OSPF的设计者采用了编号策略来记LSA!只有OSPF网络中的区边界路由器能产生这种LSA类型。
使用这种LSA类型把一个区的汇总路由信息和OSPF网络中相邻区路由器信息进行交换。
它经常汇总缺省的路由而不是传播汇总的OSPF 信息至其他网络。
●Summary LSA-Autonomous System Boundary Router(汇总LSA -自治系统边界路由器)(类型4 )—类型4与类型3 LSA的关系密切。
二者的区别是类型3描述区内路由,而类型4描述的是OSPF网络之外的路由。
●S -外部LSA (类型5 )—第5个LSA是自治系统外部LSA.正如其名,这种LSA用于描述OSPF网络之外的目的地。
这些目的地可以是特
定主机或是外部网络地址。
作为和外部自治系统相联系的ASBR OSPF 节点负责把外部路由信息在它属于的整个区中传播。
这些LSA类型用于描述OSPF路由域的不同方面,它们直接寻址到OSPF区中的每一个路由器并同时传输。
这样的洪泛确保OSPF区中的所有路由器关于网络的5个不同方面( LSA类型)有一样的信息。
路由器完整的LSA数据存储在链路-状态数据库中。
当D i j k s t r a算法应用于这些数据库的内容时会得到OSPF路由表。
表和数据库的区别是数据库含有原始数据的完整集合,而路由表包含通过特定路由器接口到已知目的地的最短路径列表。
不必研究每种LSA类型的结构,只需研究它们的头就足够了。
1. LSA头
所有的LSA使用一个通用的头格式。
这个头20字节长并附加于标准的2 4字节OSPF头后面。
LSA头惟一地标识了每种LSA.所以,它包括关于LSA类型、链路-状态I D及通告路由器I D的信息。
下面是LSA头域:
●LS年龄—LSA头中的前两个字节包含LSA的年龄。
这个年龄是自从LSA产生时已消逝的时间秒数。
●OSPF选项—下面的字节由一系列标志组成,这些标志标识了OSPF网络能提供的各种可选的服务。
●LS类型—1字节LS类型指出5种LSA类型中的一种。
每种LSA类型的格式是不同的。
因此,指出何种类型的数据附加在头后面必不可少。
● 链路-状态I D—链路-状态I D域4字节长用于指明LSA描述的特定网络环境区域。
这个域与前面提及的LS类型域关系紧密。
实际上,这个域的内容直接依赖于LS类型。
比如,在路由器LSA中,链路-状态I D 包含产生了这个报文的OSPF路由器I D——通告路由器I D.
●S顺序号—OSPF路由器会递增每个LSA报文的序列号。
所以,接收到两个相同LSA事例的路由器有两种选择来决定哪一个是最新的报文, LS顺序号域4字节长。
检查这个域可以确定LSA在网络中已传输了多久。
从理论上讲,一个新的LSA年龄比一个老的LSA年龄大是有可能的,特别是在大型复杂的OSPF网络中。
所以,接收路由器比较LS顺序号。
大号的LSA是最新生成的,这种机制不会因动态路由的变迁而受到损坏,而应认为其是一种更可靠的确定LSA时间的方法。
●LS校验和—3字节的LS校验和用于检查LSA在传输到目的地的过程中是否受到破坏。
校验和采用简单的数学算法。
它的输出结果依赖于其输入,并且有高度的一致性。
给定相同的输入,校验和算法总是给出相同的输出。
LS校验和域使用部分LSA报文内容(包括头,不包括LS 年龄和校验和域)来生成校验和值。
源节点运行F l e t c h e r算法并把结果存于LS校验和域中。
目的节点执行相同的算法并把结果与存储在校验和域中的结果比较,如果两个值不相同,就可以认为报文在传输过程中被破坏。
之后,产生一个传输请求。
●LS长度—LS长度域用于通知接收方LSA的长度(以字节为单位),这个域1个字节长。
LSA报文体的剩余部分包含一个LSA的列表。
每个LSA描述OSPF 网络5个不同方面中的一个。
所以,路由器LSA报文会广播区内已知存在的路由器信息。
2. 处理LSA更新
OSPF路由表与其他路由表的本质区别是它的更新并不直接被接收站点所使用。
从其他路由器接收到的更新包含“从发送路由器角度看”网络得到的信息。
所以,在使用和解释接收到的LSA数据之前必须由D i j k s t r a算法,把它转化为自己本身的信息。
表面上讲, LSA的传输是因为一个路由器检测到了链路状态变化。
所以,在接收到任何类型的LSA之后,OSPF路由器必须把LSA的内容和自身路由表的对应部分进行比较。
只有通过S P F算法,使用新数据
形成新的网络视图之后才能进行比较, S P F算法输出的结果是得到网络的新视图。
这些结果与已存在的OSPF路由表相比较,看是否它的路由受到了网络状态变化的影响。
如果由于状态变化必须改变一条或多条路由,就要使用新的信息建造一个新的路由表。
3. 复制LSA
考虑到LSA在整个OSPF区内洪泛,就有可能同时存在多个相同LSA类型的事例。
因此,OSPF网络的稳定性要求路由器能够识别多个LSA中的最新者。
收到两个或多个相同LSA类型的路由器会检查LSA头中的LS年龄、LS顺序号以及LS校验和域。
只有包含在最新LSA中的信息才被接受,并且要经过前面一节中描述的处理过程。