(完整版)OSPF的五种报文

合集下载

ospf路由协议

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协议实验

计算机网络实验报告-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协议详解总结

OSPF协议详解总结
以上的这些描述信息还要加上LSA的头(head)type:Router /LSA的类型/此处的Router表示是LSA类型1 ls id:1.1.1.1 /LSA的标识/ adv rtr: 1.1.1.1 /生成该LSA的路由器/表示这条LSA是谁生成的ls age:4 /本条LSA的老化时间/每隔1秒这个数字会涨1 len: 108 /LSA的长度/ seq#:80000001 /LSA序列号/link count:7 /本LSA中包含的连接个数/
* 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的5种报文类型

OSPF的5种报文类型

OSPF的5种报⽂类型1 HELLO报⽂(hello packet)周期性的发送给本路由器的邻居,使⽤的组播地址224.0.0.5.BR和BDR发送和接受报⽂使⽤的组播地址是224.0.0.6。

HELLO PACKET内容包括⼀些定时器数值、DR、BDR、以及⾃⼰已经知道的邻居。

HELLO 时钟的值与路由收敛速度、⽹络负荷⼤⼩成正⽐。

缺省情况下,PTP、BROADCAST类型接⼝发送HELLO报⽂的时间间隔的值为10秒;PTMP、NBMA类型接⼝发送HELLO PACKET时间间隔为30秒;2 DD报⽂(Database description packet)相邻路由器直间互发DD报⽂,报告对⽅⾃⼰所拥有的路由信息内容包括LSDB中每⼀条LSA摘要(摘要是指LSA的HEAD,通过改HEAD可以唯⼀标识⼀条LSA),这样做的⽬的是为了减少路由器之间传递信息的量,因为LSA的HEAD只占⼀条LSA的整个数据量的⼀⼩部分。

根据HEAD,对端路由器就可以判断出是否已经有了这条LSA。

DATABASE DESCRIPTION PACKET 有两种(1)空 DD 报⽂,⽤来确定MASTER/SLAVE关系。

确定MASTER/SLAVE关系后,才发送有路由信息的DD报⽂(2)带有路由信息的DD报⽂,收到有路由信息的DD报⽂后,路由器⽐较⾃⼰的数据库,发现对⽅的数据库中有⾃⼰需要的数据,则向对⽅发送LSR(LINK STATE REQUEST)3 LSR报⽂(LINK STATE REQUEST PACKET)两台路由器之间互相交换DD报⽂后,知道对端的路由器有那些LSA是本地LSDB所缺少的或者对端更新的LSA,这时需要发送LSR报⽂向对⽅请求所需的LSA。

内容包括所需要的LSA摘要。

4 LSU报⽂(LINK STATE UPDATE PACKET)⽤来向对端路由器发送所需要的LSA,内容是多条LSA的集合5 LSACK报⽂(LINK STATE ACKNOWLEDGMENT PACKET)由于没有使⽤可靠的TCP协议,但是OSPF包⼜要求可靠的传输,所以就有了LSACK包。

OSPF协议各种错误的解释及产生的原因(V5)

OSPF协议各种错误的解释及产生的原因(V5)

OSPF协议各种错误的解释及产生的原因(V5)OSPF协议各种错误的解释及产生的原因内部公开OSPF协议各种错误的解释及产生的原因(V5)OSPF协议各种错误可以通过display ospf error命令显示,通过这个命令来说明OSPF协议的各种错误的产生原因。

【命令】display ospf [ process-id ] error【视图】任意视图【参数】process-id:OSPF进程号,取值范围为1~65535。

如果不指定进程号,则对当前所有OSPF进程有效。

【描述】display ospf error命令的功能是显示OSPF发生错误的次数。

在正常情况下,这些错误的值不会很大,如果出现了网络故障,通常会发现某个错误的值非常大,而且一直在不断地增长。

display ospf error显示结果如下:【举例】dis ospf errorOSPF Process 1 with Router ID 1.0.0.1 OSPF Packet Error Statistics0 : OSPF Router ID confusion 0 : OSPF bad packet 0 : OSPF bad version 0 : OSPF bad checksum0 : OSPF bad area ID 0 : OSPF drop on unnumber interface 0 : OSPF bad virtual link 0 : OSPF bad authentication type 0 : OSPF bad authentication key 0 : OSPF packet too small 0 : OSPF Neighbor state low 0 : OSPF transmit error 0 : OSPF interface down 0 : OSPF unknown neighbor 0 : HELLO: Netmask mismatch 0 : HELLO: Hello timer mismatch 0 :HELLO: Dead timer mismatch 0 : HELLO: Extern option mismatch 0 : HELLO: NBMA neighbor unknown 0 : DD: MTU option mismatch 0 : DD: Unknown LSA type 0 : DD: Extern option mismatch 0 : LS ACK: Bad ack 0 : LS ACK: Unknown LSA type 0 : LS REQ: Empty request 0 : LS REQ: Bad request0 : LS UPD: LSA checksum bad 0 : LS UPD: Received lessrecent LSA 2021-07-21华为三康机密,未经许可不得扩散第1页, 共6页OSPF协议各种错误的解释及产生的原因0 : LS UPD: Unknown LSA type内部公开【原因和处理方法】错误名称 OSPF Router ID confusion 收到了一个含有和本机相同Router-ID的OSPF报文。

RIPV1、V2、OSPF报文格式

RIPV1、V2、OSPF报文格式

OSPF的报文格式
OSPF用IP报文直接封装协议报文,协议号为 89。OSPF分为5种报文:Hello报文、DD报文 、LSR报文、LSU报文和LSAck报文。一个比较 完整的OSPF报文(以LSU报文为例)结构如图 8所示
图8
OSPF报文头 报文头
OSPF有五种报文类型,它们有相同的报文头。 如图9所示。
Hello报文主要字段解释
Network Mask:发送Hello报文的接口所在网络的掩码, 如果相邻两台路由器的网络掩码不同,则不能建立邻居 关系。 HelloInterval:发送Hello报文的时间间隔。如果相邻两 台路由器的Hello间隔时间不同,则不能建立邻居关系。 Rtr Pri:路由器优先级。如果设置为0,则该路由器接口 不能成为DR/BDR。 RouterDeadInterval:失效时间。如果在此时间内未收到 邻居发来的Hello报文,则认为邻居失效。如果相邻两台 路由器的失效时间不同,则不能建立邻居关系。 Designated Router:指定路由器的接口的IP地址。 Backup Designated Router:备份指定路由器的接口的IP 地址。 Neighbor:邻居路由器的Router ID。
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

各种数据报和数据包格式

各种数据报和数据包格式

IP 数据包格式版本字段:4位。

当前的IP 协议版本是4,通常称为IPv4。

下一个版本是6,称为IPv6首部长度:4位,IP 数据报首部的长度,每个单位为4个字节。

IP 数据报的长度是4个字节的整数倍。

服务类型:8位,服务类型。

前3位为优先级,用于表示数据报的重要程度,优先级取值从0(普通优先级)到7(网络控制高优先级)。

D 、T 和R 位表示本数据报希望的传输类型。

D 表示低时延(Delay )需求T 表示高吞吐量(Throughput )要求R 代表高可靠性(Reliability )要求。

总长度:总长度指首部和数据之和的长度,单位为字节。

总长度字段为16位,因此数据报的最大长度为216-1=65535字节。

标识(identification):占16位。

IP 软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。

但这个“标识”并不是序号,因为IP 是无连接服务,数据报不存在按序接收的问题。

当数据报由于长度超过网络的MTU 而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。

相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。

标志(flag):占3位,但目前只有2位有意义。

标志字段中的最低位记为MF(More Fragment)。

MF=1即表示后面“还有分片”的数据报。

MF=0表示这已是若干数据报片中的最后一个。

标志字段中间的一位记为DF(Don’t Fragment),意思是“不能分片”。

只有当DF=0时才允许分片。

片偏移:占13位。

片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。

也就是说,相对用户数据字段的起点,该片从何处开始。

片偏移以8个字节为偏移单位。

这就是说,每个分片的长度一定是8字节(64位)的整数倍。

总长度 服务类型版本 首部长度 标识 源站IP 地址寿命 协议首部校验和 片偏移 标志目的站IP 地址IP 选项(可选)填充 数据……生存时间:占8位,生存时间字段常用的的英文缩写是TTL(Time To Live),表明是数据报在网络中的寿命。

华为OSPF培训

华为OSPF培训
192.178.14.0/28
Area 3
LSA类型
Router-LSA 由每个路由器生成,描述了路由器的链路状 态和花费,传递到整个区域
Network-LSA,由DR生成,描述了本网段的链路状态, 传递到整个区域
Net-Summary-LSA,由ABR生成,描述了到区域内某一 网段的路由,传递到相关区域
分别有哪些LSA? 5:OSPF有哪些协议报文?
解答
1:不会。必须重置OSPF进程或者重启路由器。 2:SPF计算最短路径树,以自己为根的、其它
路由器为叶的单向树。
3:OSPF协议在生成LSA时,首先将自己 的Router ID加入到LSA中,但是如果该路 由信息传递超过两个区域后就会丧失最初 的生成者的信息。。
OSPF Packet
HELLO协议报文(一)
HELLO协议报文的作用: 1:发现邻居 2:宣告一些参数,这些参数必须相同才能建立邻居关系 3:维护邻居关系 4:在邻居之间建立双向的通信 5:在多路访问网络中选举DR和BDR
HELLO协议报文(二)
HELLO协议报文的内容:
OSPF HEADER
Asbr-Summary-LSA,由ABR生成,描述了到ASBR的 路由,传递到相关区域
AS-External-LSA,由ASBR生成,描述了到AS外部的 路由,传递到整个AS(STUB区域除外)
问题
1:ROUTER ID修改之后,会立即生效? 2:OSPF为什么是无自环的? 3:为什么OSPF 区域必须和骨干区域相连? 4:在STUB区域、骨干区域、NSSA区域
相对RIP,OSPF具有很多的优点:
1: 无路由自环 2 :可适应大规模网络 3 :路由变化收敛速度快 4 :支持区域划分 5 :支持等值路由 6 :支持验证 7 :支持路由分级管理 8 :支持以组播地址发送协议报文
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OSPF的五种报文
2008-09-14 10:53
Router-LSA 由每个路由器生成,描述了路由器的链路状态和花费。

传递到整个区域。

Network-LSA,由DR生成,描述了本网段的链路状态,传递到整个区域。

Net-Summary-LSA,由ABR生成,描述了到区域内某一网段的路由,传递到相关区域。

Asbr-Summary-LSA,由ABR生成,描述了到ASBR的路由,传递到相关区域。

AS-External-LSA,由ASBR生成,描述了到AS外部的路由,传递到整个AS(STUB 区域除外)。

1、hello报文:最常用的一种报文,周期性的发送给本路由器的邻居。

内容包括一些定时器的数值、DR、BDR 以及自己已知的邻居。

Hello 报文格式如表4-2 所示。

主要字段解释如下:
* Network Mask:发送Hello 报文的接口所在网络的掩码。

* HelloInterval:发送Hello 报文的时间间隔。

如果相邻两台路由器的Hello 间隔时间不同,则不能建立邻居关系。

* Rtr Pri:DR 优先级。

如果设置为0,则路由器不能成为DR/BDR。

* RouterDeadInterval:失效时间。

如果在此时间内未收到邻居发来的Hello 报文,则认为邻居失效。

如果相邻两台路由器的失效时间不同,则不能建立邻居关系。

2、DD报文:两台路由器进行数据库同步时,用DD 报文来描述自己的LSDB,内容包括LSDB 中每一条LSA 的Header(LSA 的Header 可以唯一标识一条LSA)。

LSA Header 只占一条LSA 的整个数据量的一小部分,这样可以减少路由器之间的协议报文流量,对端路由器根据LSA Header 就可以判断出是否已有这条LSA。

DD 报文格式如表4-3 所示。

主要字段的解释如下:
* Interface MTU:在不分片的情况下,此接口最大可发出的IP 报文长度。

* I(Initial):当发送连续多个DD 报文时,如果这是第一个DD 报文,则置为1,否则置为0。

* M(More):当发送连续多个DD 报文时,如果这是最后一个DD 报文,则置为0。

否则置为1,表示后面还有其他的DD 报文。

* MS(Master/Slave):当两台OSPF 路由器交换DD 报文时,首先需要确定双方的主从关系,Router ID 大的一方会成为Master。

当值为1 时表示发送方为Master。

* DD Sequence Number:DD 报文序列号,由Master 方规定起始序列号,每发送一个DD 报文序列号加1,Slave 方使用Master 的序列号作为确认。

主从双方利用序列号来保证DD 报文传输的可靠性和完整性。

3、LSR:两台路由器互相交换过DD 报文之后,知道对端的路由器有哪些LSA 是本地的LSDB所缺少的,这时需要发送LSR 报文向对方请求所需的LSA。

内容包
括所需要的LSA的摘要。

LSR 报文格式如表4-4 所示。

主要字段解释如下:
LS type:LSA 的类型号。

例如Type1 表示Router LSA。

Link State ID:即LSA 头格式中的字段,根据LSA 的类型而定。

Advertising Router:产生此LSA 的路由器的Router ID。

4、LSU:用来向对端路由器发送所需要的LSA,内容是多条LSA(全部内容)的集合。

LSU 报文格式如表4-5 所示。

5、LSAck:用来对接收到的LSU 报文进行确认。

内容是需要确认的LSA 的Header (一个LSAck报文可对多个LSA 进行确认)。

报文格式如表4-6 所示。

相关文档
最新文档