OSPF报文格式分析
ospf知识点总结与案例分析
Ospf知识点总结与案例分析一、知识点总结1.OSPF报文有哪些?报文的作用?报文hello建立、维护和保持邻居关系DD 数据库摘要描述选举主从LSR 请求所需要的LSA,只携带了LSA的头部信息LSU 更新请求的LSA,携带了完整LSA信息LSACK 对收到的LSA做确认①影响邻居关系建立?OSPF头部:Router ID不冲突、区域ID一致、认证类型、数据一致Hello报文:网络掩码一致(P2P除外)、option选项、hello和dead时间一致、邻居列表有自己的router id②领接关系建立失败?双方开启协商MTU,如果从大主小,从卡在exchange,主卡在exstart,如果从小主大,主从都卡在exstart状态2.OSPF状态机有哪些?状态机的作用?down状态,开启了ospf,未收到对方的hello报文init状态,收到对方的hello报文,不包含自己的router id2-way状态,收到对方hello报文,包含自己的router id,邻居建立成功的标识Exstart状态,双方首包发送DD报文,进行主从关系选举,携带序列号、I、M、MS,进行比较选出主从Exchange,从以主的序列号进行发送DD,进行数据库摘要描述,主收到后,序列号+1,也会给从发送DD数据库摘要,从收到后要给予回复,从永远会比主多发一个回复给予确认Loading状态,进行实际的LSR、LSU、LSACK的交互FUll状态,SPF算法进行路径最优计算状态机作用,标识ospf协商的工作阶段,方便后续排错3.DR BDR 作用?DR作用,避免出现LSA的过度泛洪,减小LSDB数据库大小BDR作用,BDR是DR可靠,当DR出现故障时,BDR能够成为DR的角色DR选举:优先级高的为DR,优先级相同,router id大的优先4.OSPF的网络类型有哪些?broadcast广播P2P点到点NBMA 非广播多路访问P2MP 点到多点这些网络类型的作用是什么?区分二层链路,更好的构建拓扑信息5.OSPF防环原则和LSA头部和分类区域内1/2LSA 通过SPF怎么防环?//说明过程根据spf算法,以自己为根算出最短路径树,不出现环路区域间3/4LSA 通过ABR水平割防环?区域设计防环?3类lsa传递的路由信息,从非骨干区域接收的路由只接收不计算非骨干区域必须和骨干区域相连接3类描述的是区域间的路由信息,而4类描述的是asbr的cost 信息区域外5/7LSA 通过3/4防环。
3-2-OSPF报文类型.
维护路由信息
• 路由器A通知所有OSPF的DR路由器(使用组播地 址224.0.0.6)。
• DR通知其他路由器(使用组播地址224.0.0.5)。
LSA序列号的编号方式
• LSDB中的每条LSA均有序列号。 • 序列号的编号采用4字节,从0x80000001到0x7FFFFFFF。 • OSPF每隔30分钟刷新每个LSA以保证链路状态数据库准确同步。 每次LSA刷新时,序列号将增加一。 • 最终,一个LSA的序列号将耗尽,并重新开始使用0x80000001。 一旦这种情况出现,现存的LSA必须尽早地将年龄置为最大年龄(1 小时)并清空。 • 当一个路由器收到一个LSA的2个实例时,它将根据其中的序列号 来判断哪个是新的LSA。
• 每个OSPF路由器将通告一条router LSA(其中包含本路由器属于 该区域的所有接口链路状态信息)。 • Link ID为192.168.1.67的路由器更新了8次;最后一次更新是48秒 前。
OSPF调试:debug ip ospf packet
Debug of a single packet
• 显示OSPF报文头中的各字段
总结
• OSPF的5种报文类型: hello, DBD, LSU, LSR和LSAck。 • Hello协议用来建立邻居路由器的邻接关系。在多路访问网络中需 要选举DR。 • OSPF邻接关系的建立需要经过几个状态(down, init, two-way, exstart, and exchange),最终形成Full状态。Full状态意味着相 邻路由器的LSDB已经同步。
RB 接收到对方的 HELLO报文,转 换为初始状态 在对方发来的 HELLO报文中看到 确定数据库描述报 自己的 Router ID, 文的序列号,转换 转换为双向状态 为信息交换初始状 态
计算机网络实验报告-OSPF协议实验
实验2 OSPF协议实验1.查看R2的OSPF的邻接信息,写出其命令和显示的结果:答:2.将R1的router id 更改为3.3.3.3,写出其命令。
显示OSPF的概要信息,查看此更改是否生效。
如果没有生效,如何使其生效?答:没有生效,需要重启OSPF协议:让reset ospf processdis ospf brief3.6.1 OSPF协议报文格式3.分析截获的报文,可以看到OSPF的五种协议报文,请写出这五种协议报文的名称。
并选择一条Hello报文,写出整个报文的结构(OSPF首部及Hello报文体)。
答:OSPF头部:Byte1:版本号 2Byte2:报文类型1(Hello)Byte3-4:报文长度48Byte5-8:发送者RouterID 2.2.2.2Byte9-12:区域信息0.0.0.0Byte13-16:校验和0xf290Byte17-18:Auth Type NullByte19-24:Auth Data noneHello报文体:Byte1-4:子网掩码255.255.255.0Byte5-6:报文周期10Byte7:报文选项 EByte8:优先级 1Byte9-12:Dead Interval 40Byte13-16:DR地址0.0.0.0Byte17-20:BDR地址0.0.0.0Byte21-24:ActiveNeighbor 3.3.3.34.分析OSPF协议的头部,OSPF协议中Router ID的作用是什么?它是如何产生的?用来唯一确定自治区域内的一台路由器。
答:可以手动设定,若没有指定,会自动选择路由器回环接口中最大IP地址为Router ID 5.分析截获的一条LSUpdate报文,写出该报文的首部,并写出该报文中有几条LSA?以及相应LSA的种类。
答:OSPF头部:Byte1:版本号 2Byte2:报文类型4(LS Update)Byte3-4:报文长度64Byte5-8:发送者RouterID 2.2.2.2Byte9-12:区域信息0.0.0.0Byte13-16:校验和0x0868Byte17-18:Auth Type NullByte19-24:Auth Data none该报文中有1条LSA,种类为Router-LSA3.6.2 链路状态信息交互过程6.结合截获的报文和DD报文中的字段(MS,I,M),写出DD主从关系的协商过程和协商结果。
OSPF协议详解总结
* Area ID-用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定
的OSPF区域。
* Checksum-校验位,用于标记数据包在传递时有无误码。
* Authentication type-定义OSPF验证类型。
* Authentication-包含OSPF验证信息,长为8个字节。
相邻关系。见下图
DR的选举过程:这里可以以选举村长为例
选举的时候用Hello包中的DR字节来标识,开始的时候都是标识的自己,一旦选举出一个DR来那么即使后来再有优先级更高的进来也不重新选举(因为一旦重新选举那么所有的邻接关系都要重新建立)
OSPF启动的过程:
down
init
发送Hello(224.0.0.5)DR字段为全零(因为还没有选出DR),
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秒)进配置。
报文分析,技术介绍,OSPF的报文格式,报文类型及含义
PROFIBUS-DP站点可分为主站和从站,开发从站设备要比开发主站设备容易得多,因为从站只需要响应来自主站的请求即可。
从站接收总线上的每条报文,如果与自己无关,则忽略不处理,如果是发给自己的则按照下图给出的状态机进行响应。
该状态机中有四个状态:1、Power_On(上电)状态在上电后从站进入Power_On状态,在这个状态下从站首先需要进行初始化,设置各项参数如站地址和报文缓冲区等等。
2、Wait-Prm(等待参数化)状态初始化完毕后,从站进入Wait-Prm状态,等待来自一个主站的Set_Prm报文。
通俗地讲,参数化相当于一个主站告诉一个从站,你是属于我的,同时也指定了从站的一些运行参数。
主站只对被它参数化的从站进行数据轮询。
3、Wait_Cfg(等待组态)状态在进行正确的参数化后,从站进入Wait_Cfg状态,等待Check_Cfg报文。
Check_Cfg 报文规定输入和输出字节数,也就是主站和从站每次交换的数据量。
4、Date_Exchange(数据交换)状态当进行正确的参数化和组态后,从站进入Date_Exchange状态,这个时候从站才可以和主站进行正常的数据交换。
下面是我从一个PROFIBUS-DP网络中采集下来的部分报文数据,该网络中有一站地址为1的主站和站地址为3的从站。
我结合有关报文解释一下从站3的工作机制。
(报文数据为16进制)......(从站已经完成初始化)......10 03 01 49 4D 16(该报文为主站1发给从站3的请求帧,查询从站3的FDL状态,即从站3是否“活着”。
)10 01 03 00 04 16(该报文为从站3对主站1的应答帧,告诉主站1“我活着呢”。
).....68 05 05 68 83 81 6D 3C 3E EB 16(该报文为主站1发给从站3的请求帧,读取查询从站3的诊断报文,以获取从站3的进一步信息。
)68 0B 0B 68 81 83 08 3E 3C 02 05 00 FF 00 08 94 16(该报文为从站3对主站1的应答帧,其中包含6个字节的诊断数据:02 05 00 FF 00 08,具体含义可参阅协议,其中第四字节为FF表明从站3尚未被任何主站所参数化。
OSPF报文格式分析
OSPF报文格式分析OSPF(Open Shortest Path First)是一种开放式的最短路径优先(SPF)路由协议,用于在网络中计算最短路径并进行路由选择。
OSPF报文格式定义了在OSPF中用于交换信息的数据包结构。
1. OSPF报文头(OSPF Header):该部分长度为24个字节,包含了OSPF报文的基本信息,如版本号、报文类型、报文长度等。
2. OSPF Hello报文(Hello Packet):Hello报文用于网络中的邻居发现和建立OSPF邻居关系。
其长度为44个字节,包含了发送者的路由器ID、OSPF区域ID以及其他邻居信息。
3. OSPF数据库描述报文(Database Description Packet):该报文用于交换邻居路由器的链路状态数据库(LSDB)的摘要信息。
其长度不定,根据需要而变化。
4. OSPF连通性状态请求报文(Link State Request Packet):该报文用于向邻居请求链路状态信息。
其长度不定,根据需要而变化。
5. OSPF连通性状态更新报文(Link State Update Packet):该报文用于向邻居更新链路状态信息。
其长度不定,根据需要而变化。
6. OSPF连通性状态确认报文(Link State Acknowledgement Packet):该报文用于确认其他OSPF报文的接收情况。
其长度不定,根据需要而变化。
以上是OSPF报文格式的主要部分。
其中,OSPF头部信息在每个报文中都会出现,用于标识报文类型和报文长度等信息。
根据OSPF的设计原则,不同的功能对应不同类型的报文,如Hello报文用于邻居发现,Database Description报文用于数据库同步等。
OSPF报文的格式设计考虑了网络性能和可扩展性的因素。
通过在报文中包含必要的标识和描述信息,OSPF路由器能够根据收到的报文类型和内容做出适当的响应,从而保证网络的正常运行。
OSPF协议原理与配置详解
网络类型
点到点网络(point-to-point)
链路层封装 PPP/HDLC协议
广播网络(broadcast )
链路层封装 Ethernet/FDDI/Token Ring
网络类型
NBMA网络(Non-Broadcast Multi-Access)
FR/ATM/X.25
点到多点网络(point-to-multipoint)
等值路由:OSPF支持到同一目的地址的多 条等值路由。在RIP中也有。
OSPF协议概述(3)
路由分级:OSPF使用4类不同的路由,按 优先顺序分别是:区域内路由、区域间路由、 第一类外部路由、第二类外部路由。
支持验证:它支持基于接口的报文验证以 保证路由计算的安全性。
组播发送:OSPF在有组播发送能力的链路 层上以组播地址发送协议报文,即达到了 广播的作用,又最大程度的减少了对其他 网络段设备的干扰。(224.0.0.5)
OSPF和RIP的比较(2)
只有当链路状态发生变化时,路由器才用 洪泛法向所有路由器发送此信息。而RIP不 管网络拓扑有无发生变化,路由器之间都 要定期交换路由器表的信息。
基本的OSPF协议
Router ID:一个32bit的无符号整数,是一 台路由器的唯一标识,在整个自治系统内 惟一。一般是手工配置。
由32位数组成,在AS内唯一。这个Router ID 一般需要手工配置,一 般将其配置为该路由器的某个接口的IP地址。由于IP地址是唯一的,所 以这样就很容易保证Router ID 的唯一性。在没有手工配置Router ID 的 情况下,一些厂家的路由器支持自动从当前所有接口的IP 地址自动选举 一个IP 地址作为Router ID。
的路由。
OSPF协议报文认证分析与安全研究
OS F报 文 头 格 式 , 中 Au y e字 段 定 义 了 认 证 类 型 ( P 其 Tp 目
取 明文 口令 后 , 可 使 用 该 口令 以合 法 的 身 份 进 行 攻 击 。 即
路 由器 每 隔 一 定 的 时 间 发 送 一 次 Hel 据 包 , 以 发 现 、 l o数 用
第 一步、 O P 在 S F分 组 报 文 的 最 后 (P报 文 C C 之 前 ) I R 第 二 步 、 5散 列 函 数 的 构 造 , 第 一 步 生 成 的 消 息 , MD 将
据 包 会 以 组 播 的 形 式 发送 。 最 新 的 R C 3 8规 定 O P F 22 S F协 议 的 五 种 报 文 都 有 相 同
第 三步 、 MD 用 5算 法 对 第 二 步 中 的 散 列 函 数 计 算 其 散 第 四步 、 第 三 步 中产 生 的 1 用 6字 节 散 列 值 替 换 第 一 步 从 第 一 步 到第 四 步 过 程 中 没 有 计 算 该 1 6字 节 信 息 的 分 析完 认 证 后 , 们 再 分 析 一 下 认 证 的安 全性 问 题 。 我 无 认 证 时 , 通 信 设 备 的攻 击 只 要 能 “ 入 ” 理 链 路 , 对 窃 物 简 单 明文 认 证 时 , 通 信 设 备 的攻 击 也 只 要 能 “ 入 ” 对 窃
物理链路 , 听物理链路 上 的 O P 监 S F路 由 协 议 报 文 , 接 获 直
态 数 据 库 过 程 中 的 初 始 序 列 号 和 交 换 所 有 的 L A 数 据 包 头 列 值 , 生 1 节 的 消 息 摘 要 。 S 产 6字
D D交 换 过 程 发 现 的 本 路 由器 中 没 有 的 或 已 过 时 的 L A B S 已 经 写 入 到 OS F分 组 报 文 中 的公 共 密 钥 , 成 加 密过 程 。 P 完
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协议包含的五种报文简述
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_报文格式
1234567012345670123456701234567OSPF报文头注意:虚连接的Area ID填0.0.0.0,这是因为虚连接被认为是BackBone的一部分。
01234567 1234567012345670123456712345670123456701234567012345670Link State Request Packet 注:虚连接的Interface MTU 填0x0000Link State Update PacketLink State Acknowledgment PacketHeaderRouter-LSAs 12345670123456701234567012345670Header Network-LSAs1234567012345670123456701234567HeaderSummary-LSAs123456701234567 0123456701234567HeaderAS-External-LSAs四种Link TypeÈç¹ûPoint-to-Point为unnumberedPoint-to-Point NBMA 如果只有一个在跑则是Type3(Hello中体现) 否则邻接关系无法建立T表示始发路由器支持TOSOSPF报文格式OSPF报文目的地址特殊12BDR的互相发HelloDR/BDR给所有邻居发Hello无资格成为DR BDR发Hello无资格成为DR BDR的Router发来的Hello也要回复对方Hello NBMA网中有资格成为DR/BDR的Router不能太多邻居Down了以后这之后如果该接口的优先级为0接口状态变为DROther等待网段上的DR/BDR发来的Hello之后再按照以上原则动作如果该接口的优先级大于0接口状态变为Waiting¸øÆäÖÐËùÓÐÓÅÏȼ¶´óÓÚ0的邻居启动Start事件给每一个优先级大于0的邻居发Hello。
OSPF协议概述
OSPF内容概要1.概述OSPF是一个内部网关协议,用于在单一自治系统内决策路由。
它是基于链路状态的路由协议,链路状态是指路由器接口或链路的参数。
这些参数是接口的物理条件:包括接口是Up还是Down、接口的IP地址、分配给接口的子网掩码、接口所连的网络,以及使用路由器的网络连接的相关费用。
OSPF与其他路由器交换交换信息,但所交换的不是路由,而是链路状态。
OSPF路由器不是告知其他路由器可以到达哪些网络及距离是多少,而是告知它的网络链路状态,这些接口所连的网络及使用这些接口的费用。
各个路由器都有其自身的链路状态,称为本地链路状态,这些本地链路状态在OSPF路由域内传播,直到所有的OSPF路由器都有完整而等同的链路状态数据库为止。
一旦每个路由器都接收到所有的链路状态,每个路由器可以构造一棵树,以它自己为根,而分支表示到AS 中所有网络的最短的或费用最低的路由。
OSPF对于规模巨大的网络,通常将网络划分成多个OSPF区域,并只要求路由器与同一区域的路由器交换链路状态,而在区域边界路由器上交换区域内的汇总链路状态,这样可以减少传播的信息量,且使最短路径计算强度减少。
在区域划分时,必须要有一个骨干区域(即区域0),其它非0或非骨干区域与骨干区域必须要有物理或者逻辑连接。
当有物理连接时,必须有一个路由器,它的一个接口在骨干区,而另一个接口在非骨干区。
当非骨干区不可能与物理连接到骨干区时,必须定义一个逻辑的或虚拟链路,虚拟链路由两个端点和一个传输区来定义,其中一个端点是路由器接口,是骨干区域的一部分,另一端点也是一个路由器接口,但在与骨干区没有物理连接的非骨干区域中.传输区是一个区域,介于骨干区域与非骨干区域之间。
2.术语在OSPF中,经常要使用以下术语:Router ID(路由器ID):用于标识每个路由器的32位数.通常,将最高的IP地址分配给路由器ID。
如果在路由器上使用了回送接口,则路由器ID是回送接口的最高IP地址,不管物理接口的IP地址。
ospf论文【范本模板】
《TCP/IP技术》课程论文题目基于packet tracer的ospf协议分析学院数理与信息工程学院专业计算机科学与技术班级计科092学号200953225215学生姓名赵承宇指导教师沈士根编写日期2012。
3.9基于packet tracer的ospf协议分析赵承宇摘要:路由协议主要运行于路由器上,路由协议是用来确定信息如何经过路径来走的,路由协议有很多比如RIP,OSPF等。
这种协议起到一个地图导航,负责找路的作用.为了更清楚的知道ospf协议的特点,工作原理,我使用了思科的packet tracer 这个软件,通过配置一个模型来学习ospf协议。
关键字:路由,协议,ospf,packet tracerZhao cheng-yuAbstract:Routing protocol maily runs on routet, routing rrotoclo is used to determine the path of arrive,it includes RIP,OSPF and so on。
Play a map navigation,responsible for finding the way role。
In order to knlw ospf agreement chatacteristics, working principle more clearly,I used the cisco’s packet tracer of the software,through the configuration a model to study ospf agreement。
Keywords:Routing , protocol , ospf , packet tracer1 引言开放最短路径优先(Open Shortest Path First ,OSPF)协议是由IETF IGP工作小组提出的,一种基于SPF算法的路由协议。
完整版OSPF的五种报文
OSPF勺五种报文2008-09-14 10:53Router-LSA由每个路由器生成,描述了路由器的链路状态和花费。
传递到整个区域。
Network-LSA,由DR生成,描述了本网段的链路状态,传递到整个区域。
Net-Summary-LSA由ABR生成,描述了到区域内某一网段的路由,传递到相关区域。
Asbr-Summary-LSA由ABR生成,描述了到ASBF的路由,传递到相关区域。
AS-External-LSA,由ASBR^成,描述了到AS外部的路由,传递到整个A(STUB 区域除外)。
1、hello报文:最常用的一种报文,周期性的发送给本路由器的邻居。
内容包括一些定时器的数值、DR BDR以及自己已知的邻居。
Hello报文格式如表4-2 所示。
表4-? Hello tS文格式D 7 15 31Version Type* Packet i&ngthRouter IDArea IDCTiecksunn AuTypeAuthentlcatonNetwork MaskHeElolnterval Options Rtr PrlDesignated RouterBackup D亡引gnated Router主要字段解释如下:* N e t w o r k M a s k:发送H e l l o报文的接口所在网络的掩码。
* HelloInterval :发送Hello报文的时间间隔。
如果相邻两台路由器的Hello间隔时间不同,则不能建立邻居关系。
* Rtr Pri : DR优先级。
如果设置为0,则路由器不能成为DR/BDR* RouterDeadlnterval :失效时间。
如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效。
如果相邻两台路由器的失效时间不同,则不能建立邻居关系。
2、DD报文:两台路由器进行数据库同步时,用DD报文来描述自己的LSDB内容包括LSDB中每一条LSA的Header(LSA的Header可以唯一标识一条LSA。
OSPF_协议的解析及详解
OSPF_协议的解析及详解OSPF协议的解析及详解一、介绍OSPF(Open Shortest Path First)是一种用于互联网协议(IP)网络中的动态路由协议。
它是一种链路状态路由协议,用于在路由器之间交换路由信息,以确定最短路径并进行路由选择。
本协议详解将介绍OSPF协议的工作原理、协议数据单元(Protocol Data Unit,PDU)格式、邻居关系建立、路由计算算法以及网络拓扑维护等内容。
二、OSPF协议的工作原理1. 链路状态数据库(Link State Database,LSDB):每个OSPF路由器都维护一个LSDB,其中包含了整个网络的链路状态信息。
LSDB中的每一条链路状态都包含了该链路的状态、成本、邻居路由器等信息。
2. 链路状态广播:OSPF路由器通过链路状态广播(Link State Advertisement,LSA)向相邻的路由器发送链路状态信息。
这些LSA包含了路由器所知道的链路状态信息。
3. 链路状态数据库同步:当一个OSPF路由器收到LSA时,它会更新自己的LSDB,并将新的LSA广播给其他相邻路由器。
通过这种方式,所有的OSPF路由器能够保持LSDB的同步。
4. 最短路径计算:OSPF使用最短路径优先算法(Shortest Path First,SPF)来计算最短路径。
该算法基于Dijkstra算法,通过比较链路的成本来确定最短路径。
5. 路由选择:每个OSPF路由器根据最短路径计算的结果选择最佳路径,并将该路径添加到自己的路由表中。
三、OSPF协议数据单元(PDU)格式OSPF协议使用不同类型的PDU来交换路由信息。
以下是常见的OSPF PDU类型及其格式:1. Hello PDU:用于邻居关系建立和维护。
包含了路由器的ID、优先级、Hello间隔等信息。
2. Database Description (DBD) PDU:用于在邻居路由器之间交换链路状态数据库的摘要信息。
华为OSPF总结
华为OSPF总结1 OSPF基本概念1.1 拓扑和路由器类型OSPF整体拓扑●OSPF把自治系统划分成逻辑意义上的一个或多个区域,所有其他区域必须与区域0相连。
路由器类型●区域内路由器(Internal Router):该类设备的所有接口都属于同一个OSPF区域。
●区域边界路由器ABR(Area Border Router):该类路由器可以同时属于两个以上的区域,但其中一个接口必须在骨干区域。
ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。
●骨干路由器(Backbone Router):该类路由器至少有一个接口属于骨干区域。
所有的ABR和位于Area0的内部路由器都是骨干路由器.●自治系统边界路由器ASBR(AS Boundary Router):与其他AS交换路由信息的路由器称为ASBR。
ASBR并不一定位于AS的边界,它可能是区域内路由器,也可能是ABR。
只要一台OSPF路由器引入了外部路由的信息,它就成为ASBR.拓扑所体现的IS—IS与OSPF不同点●在OSPF中,每个链路只属于一个区域;而在IS-IS中,每个链路可以属于不同的区域;●在IS—IS中,单个区域没有骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域;●在IS-IS中,Level—1和Level—2级别的路由都采用SPF算法,分别生成最短路径树SPT而在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由发布还是距离矢量算法,区域之间的路由需要通过骨干区域来转发。
1。
2 OSPF网络类型,DR,BDR介绍OSPF支持的网络类型●点到点P2P类型:当链路层协议是PPP、HDLC时,缺省情况下,OSPF认为网络类型是P2P。
在该类型的网络中,以组播形式(224。
0。
0.5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。
●点到多点P2MP 类型(Point—to-Multipoint):没有一种链路层协议会被缺省的认为是Point—to—Multipoint 类型。
实验之北航研究生计算机网络实验
实验四 OSPF 协议分析1 .查看R2的OSPF 的邻接信息,写出其命令和显示的结果:答: displa Riprouting-table查看此更改是否生效。
如果没有生效,如何使其生效?答: [R1]undorouterid[R1]routerid3.3.3.3没有生效,需重启 ospf 进程 :<R1>resetospfprocess3.6.1OSPF 协议报文格式3. 分析截获的报文,可以看到 OSPF 的五种协议报文,请写出这五种协议报文 的名称。
并选择一条 Hello 报文,写出整个报文的结构 (OSPF 首部及 Hello 报文体)。
答: HELLO 报文、 DBDescription 报文、 LSRequest 报文、 LSUpdate 报文和LSAcAnowledge 报文。
OSPFHeader1.1.1.1./32 OSPF10 1168.1.1.1 2.2.2.2/32 Direct 0 0127.0.0.1127.0.0.0/8 Direct 0 0 127.0.0.1 127.0.0.1/32 Direct 0 0127.0.0.1 168.1.1.0/24 Direct 0 0 168.1.1.2 168.1.1.2/32Direct 0127.0.0.1Destination/MasA 更改为 3.3.3.3 ,写出其命令。
显示 OSPF 的概要信息,Proto Pre Cost NeRtHop2. 将 R1 的 routeridVersion:2MessageTRpe:HelloPacAet(1)PacAetLength:48SourceOSPFRouter:1.1.1.1AreaID:0.0.0.0(BacAbone)ChecAsum:0R4d92[correct]AuthTRpe:Null(0)AuthData(none):0000000000000000OSPFHelloPacAetNetworAMasA:255.255.255.0HelloInterval[sec]:10Options:0R02((E)ERternalRouting)RouterPrioritR:1RouterDeadInterval[sec]:40DesignatedRouter:168.1.1.1BacAupDesignatedRouter:0.0.0.0ActiveNeighbor:2.2.2.24.分析OSPF 协议的头部,OSPF 协议中RouterID 的作用是什么?它是如何产生的?答:routerID 作用:a)作为OSPF区域中本路由器的唯一标识;b ) DR、BDR 选举中,在优先级相同的时候,routerID 大的选举为DR。
OSPF的五种报文介绍
减少路由信息的传递量
通过只请求所需的特定链路状态记录,而不是整个链路状态数据库,可以减少网络中OSPF报文的数 量和路由器的资源消耗。
发送频率
动态调整
链路状态请求报文的发送频率可以根据网络状况动态调整。例如,当某个OSPF路由器 发现其链路状态数据库中的某些链路状态记录过时或缺失时,它会定期或不定期地发送
内容
路由器ID和链路状态数据库摘要
Hello报文中包含了发送者的路由器ID和链路状态数据库的摘要信息,这些信 息用于建立和维护邻居关系以及防止路由环路。
认证信息
为了确保Hello报文的真实性,OSPF提供了认证功能,可以在Hello报文中添加 认证信息,对报文进行验证,确保其来源可靠。
02 数据库描述报文
04 链路状态更新报文
作用
链路状态更新报文用于在OSPF区域内传送链路状态数据库的最新信息。当路由器启动或检测到链路 状态发生变化时,它会将相应的链路状态记录下来,并通过链路状态更新报文将这些记录发送给其他 路由器。
这些记录包括始发路由器、目的路由器、路径代价等信息,用于构建路由器的链路状态数据库。
当路由器发现新的LSA时,会立即发送一 个数据库描述报文,然后按照周期性发送 。
内容
LSA头部信息
数据库描述报文包含了LSA的头部信息,如 LSA类型、序列号、校验和等。
LSA详情列表
数据库描述报文列出了区域内所有的LSA详 情,包括LSA的ID、年龄、链路状态等。
03 链路状态请求报文
作用
请求链路状态信息
发送频率
要点一
周期性发送
链路状态确认报文通常每隔一段时间(例如,5秒)向所有 邻居发送一次,以确认它们的链路状态数据库是最新的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OSPF的报文格式OSPF报文直接封装为IP报文协议报文,协议号为89。
一个比较完整的OSPF报文(以LSU报文为例)结构如图8所示。
1. OSPF报文头OSPF有五种报文类型,它们有相同的报文头。
如图9所示。
主要字段的解释如下:●∙∙∙∙∙∙∙∙∙∙∙∙∙ Version:OSPF的版本号。
对于OSPFv2来说,其值为2。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Type:OSPF报文的类型。
数值从1到5,分别对应Hello报文、DD报文、LSR报文、L SU报文和LSAck报文。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Packet length:OSPF报文的总长度,包括报文头在内,单位为字节。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Router ID:始发该LSA的路由器的ID。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Area ID:始发LSA的路由器所在的区域ID。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Checksum:对整个报文的校验和。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ AuType:验证类型。
可分为不验证、简单(明文)口令验证和MD5验证,其值分别为0、1、2。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Authentication:其数值根据验证类型而定。
当验证类型为0时未作定义,为1时此字段为密码信息,类型为2时此字段包括Key ID、MD5验证数据长度和序列号的信息。
说明:MD5验证数据添加在OSPF报文后面,不包含在Authenticaiton字段中。
2. Hello报文(Hello Packet)最常用的一种报文,周期性的发送给邻居路由器用来维持邻居关系以及DR/BDR的选举,内容包括一些定时器的数值、DR、BDR以及自己已知的邻居。
Hello报文格式如图10所示。
主要字段解释如下:●∙∙∙∙∙∙∙∙∙∙∙∙∙ Network Mask:发送Hello报文的接口所在网络的掩码,如果相邻两台路由器的网络掩码不同,则不能建立邻居关系。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ HelloInterval:发送Hello报文的时间间隔。
如果相邻两台路由器的Hello间隔时间不同,则不能建立邻居关系。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Rtr Pri:路由器优先级。
如果设置为0,则该路由器接口不能成为DR/BDR。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ RouterDeadInterval:失效时间。
如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效。
如果相邻两台路由器的失效时间不同,则不能建立邻居关系。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Designated Router:指定路由器的接口的IP地址。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Backup Designated Router:备份指定路由器的接口的IP地址。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Neighbor:邻居路由器的Router ID。
3. DD报文(Database Description Packet)两台路由器进行数据库同步时,用DD报文来描述自己的LSDB,内容包括LSDB中每一条LSA的H eader(LSA的Header可以唯一标识一条LSA)。
LSA Header只占一条LSA的整个数据量的一小部分,这样可以减少路由器之间的协议报文流量,对端路由器根据LSA Header就可以判断出是否已有这条LSA。
DD报文格式如图11所示。
主要字段的解释如下:●∙∙∙∙∙∙∙∙∙∙∙∙∙ Interface MTU:在不分片的情况下,此接口最大可发出的IP报文长度。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ I(Initial):当发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ M(More):当连续发送多个DD报文时,如果这是最后一个DD报文,则置为0。
否则置为1,表示后面还有其他的DD报文。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ MS(Master/Slave):当两台OSPF路由器交换DD报文时,首先需要确定双方的主(M aster)从(Slave)关系,Router ID大的一方会成为Master。
当值为1时表示发送方为Maste r。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ DD Sequence Number:DD报文序列号,由Master方规定起始序列号,每发送一个DD 报文序列号加1,Slave方使用Master的序列号作为确认。
主从双方利用序列号来保证DD报文传输的可靠性和完整性。
4. LSR报文(Link State Request Packet)两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报文向对方请求所需的LSA。
内容包括所需要的LSA的摘要。
LSR报文格式如图12所示。
图12 LS R报文格式主要字段解释如下:●∙∙∙∙∙∙∙∙∙∙∙∙∙ LS type:LSA的类型号。
例如Type1表示Router LSA。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Link State ID:链路状态标识,根据LSA的类型而定。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Advertising Router:产生此LSA的路由器的Router ID。
5. LSU报文(Link State Update Packet)LSU报文用来向对端路由器发送所需要的LSA,内容是多条LSA(全部内容)的集合。
LSU报文格式如图13所示。
图13 LSU 报文格式主要字段解释如下:Number of LSAs:该报文包含的LSA的数量。
LSAs:该报文包含的所有LSA。
6. LSAck报文(Link State Acknowledgment Packet)LSAck报文用来对接收到的LSU报文进行确认,内容是需要确认的LSA的Header。
一个LSAck 报文可对多个LSA进行确认。
报文格式如图14所示。
图14 LSAc k报文格式主要字段解释如下:LSA Headers:该报文包含的LSA头部。
7. LSA头格式所有的LSA都有相同的报文头,其格式如图15所示。
图15 LSA 的头格式主要字段的解释如下:●∙∙∙∙∙∙∙∙∙∙∙∙∙ LS age:LSA产生后所经过的时间,以秒为单位。
LSA在本路由器的链路状态数据库(L SDB)中会随时间老化(每秒钟加1),但在网络的传输过程中却不会。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ LS type:LSA的类型。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Link State ID:具体数值根据LSA的类型而定。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Advertising Router:始发LSA的路由器的ID。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ LS sequence number:LSA的序列号,其他路由器根据这个值可以判断哪个LSA是最新的。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ LS checksum:除了LS age字段外,关于LSA的全部信息的校验和。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ length:LSA的总长度,包括LSA Header,以字节为单位。
LSA类型(1) Router LSA图16 Rout er LSA格式主要字段的解释如下:●∙∙∙∙∙∙∙∙∙∙∙∙∙ Link State ID:产生此LSA的路由器的Router ID。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ V(Virtual Link):如果产生此LSA的路由器是虚连接的端点,则置为1。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ E(External):如果产生此LSA的路由器是ASBR,则置为1。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ B(Border):如果产生此LSA的路由器是ABR,则置为1。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ # links:LSA中所描述的链路信息的数量,包括路由器上处于某区域中的所有链路和接口。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Link ID:链路标识,具体的数值根据链路类型而定。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Link Data:链路数据,具体的数值根据链路类型而定。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Type:链路类型,取值为1表示通过点对点链路与另一路由器相连,取值为2表示连接到传送网络,取值为3表示连接到Stub网络,取值为4表示虚连接。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ #TOS:描述链路的不同方式的数量。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ metric:链路的开销。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ TOS:服务类型。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ TOS metric:指定服务类型的链路的开销。
(2) Network LSANetwork LSA由广播网或NBMA网络中的DR发出,LSA中记录了这一网段上所有路由器的Router ID。
图17 Netw ork LSA格式主要字段的解释如下:●∙∙∙∙∙∙∙∙∙∙∙∙∙ Link State ID:DR的IP地址。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Network Mask:广播网或NBMA网络地址的掩码。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Attached Router:连接在同一个网段上的所有与DR形成了完全邻接关系的路由器的R outer ID,也包括DR自身的Router ID。
(3) Summary LSANetwork Summary LSA(Type3 LSA)和ASBR Summary LSA(Type4 LSA)除Link State ID字段有所不同外,有着相同的格式,它们都是由ABR产生。
图18 Summ ary LSA格式主要字段的解释如下:●∙∙∙∙∙∙∙∙∙∙∙∙∙ Link State ID:对于Type3 LSA来说,它是所通告的区域外的网络地址;对于Type4来说,它是所通告区域外的ASBR的Router ID。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Network Mask:Type3 LSA的网络地址掩码。
对于Type4 LSA来说没有意义,设置为0.0.0.0。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ metric:到目的地址的路由开销。
说明:Type3的LSA可以用来通告缺省路由,此时Link State ID和Network Mask都设置为0.0.0.0。
(4) AS External LSA由ASBR产生,描述到AS外部的路由信息。
图19 AS E xternal LSA格式主要字段的解释如下:●∙∙∙∙∙∙∙∙∙∙∙∙∙ Link State ID:所要通告的其他外部AS的目的地址,如果通告的是一条缺省路由,那么链路状态ID(Link State ID)和网络掩码(Network Mask)字段都将设置为0.0.0.0。
●∙∙∙∙∙∙∙∙∙∙∙∙∙ Network Mask:所通告的目的地址的掩码。