(完整版)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协议实验
实验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的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协议各种错误的解释及产生的原因内部公开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报文格式
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培训
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 :支持以组播地址发送协议报文
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)报⽂。
实验5计算机网络
实验3OSPF协议实验实验内容⏹OSPF路由协议概述⏹OSPF协议报文交互过程⏹OSPF协议的链路状态描述⏹区域划分及LSA种类⏹OSPF协议路由的计算⏹OSPF组网设计实验实验内容⏹OSPF的基本配置原理验证⏹OSPF报文分析⏹OSPF链路状态描述⏹指定路由器(DR)和备份DR的选举⏹OSPF邻居状态机⏹区域划分及LSA的分类⏹1-5类LSA的分析⏹路由的计算算法的分析⏹路由备份组网设计应用及设计⏹OSPF协议的实现创新实验协议的分析OSPF 基本配置E0/0:168.1.1.2/24Loop1:2.2.2.2/24RID:2.2.2.2RID:3.3.3.3E0/0:168.1.1.1/24S1R1R2Loop1:1.1.1.1/24PCD在R1的E0/0接口相连链路上截获报文Area 0二层交换机截获的OSPF报文OSPF 报文结构分析OSPF的五种协议报文⏹Hello报文☐发现及维持邻居关系,选举DR,BDR。
⏹DD报文☐本地LSDB的摘要⏹LSR报文☐向对端请求本端没有或对端的更新的LSA ⏹LSU报文☐向对方发送其需要的LSA⏹LSAck报文☐收到LSU之后,进行确认LSA 描述网络拓扑结构RTCRTDrid:3.3.3.3rid:4.4.4.4rid:2.2.2.2rid:6.6.6.6rid:5.5.5.5rid:1.1.1.140.0.0.240.0.0.310.0.0.130.0.0.330.0.0.230.0.0.110.0.0.020.0.0.2RTFRTERTARTBEthernetX.25ppp20.0.0.1Frame Relay对广播/NBMA的链路状态描述link id: 30.0.0.3 /*本网段中DR的接口地址*/ data : 30.0.0.1 /*本接口的地址*/type : TransNet (2) /*类型*/metric : 50 /*花费*//*DR(6.6.6.6)生成的LSA:*/Netmask: 255.255.255.0Attached:30.0.0.1 router Attached: 30.0.0.2 router Attached: 30.0.0.3 router 第二类LSA 第一类LSAOSPF的邻居状态机DownAttempt InitLoading 2-way ExStart ExchangeFull指定路由器DR选举M= n(n-1)/2 = 28M= (n-2)×2+1= 13DRBDR1 登记选民(所有OSPF路由器都定期发hello报文)2登记候选人(Priority>0)3竞选(声称自己是DR)4投票(首先选Priority最大的,然后选Router ID最大的)原则:1稳定压倒一切2快速响应相邻路由器的交互过程及其邻居状态机RT1RT2Down Down Hello( DR = 0.0.0.0,Neighbors Seen = 0)Hello( DR = RT2,Neighbors Seen = RT1)DD (Seq = x,I = 1, M = 1, MS = 1)DD (Seq = y,I = 1, M = 1, MS = 1)DD (Seq = y,I = 0, M = 1, MS = 0)DD (Seq = y+1,I = 0, M = 1, MS = 1)DD (Seq = y+1,I = 0, M = 1, MS = 0)DD (Seq = y+n,I = 0, M = 0, MS = 1)DD (Seq = y+n,I = 0, M = 0, MS = 0)LS Request LS Update LS AckExStart ExStart Init ExchangeExchange LoadingFullFull划分区域Area0Area1Area3区域内路由计算过程LSDB LSA of RTA LSA of RTB LSA of RTC LSA of RTD(2)每台路由器的LSDB(3)由链路状态数据库生成带权有向图CABD1235CABD123CAB D 123CAB D123CABD123RTARTBRTCRTD3215(1)网络的拓扑结构(4)每台路由器分别以自己为根节点计算最小生成树区域内路由计算过程路由备份组网设计实验InternetE0:202.112.1.1/24E0:202.112.2.1/24E1:192.168.3.1/24E1:192.168.4.1/24S0:192.168.0.1/24S0:192.168.0.2/24Vlan1:192.168.3.2/24Vlan3:192.168.4.2/24Vlan2:192.168.5.1/24Vlan4:192.168.6.1/24PC1:192.168.5.2/24网关:192.168.5.1PC2:192.168.6.2/24网关:192.168.6.1R1R2S1200200200100200E0/1E0/2E0/23E0/24Area0VLAN3:202.112.2.2/24VLAN2:202.112.1.2/24Loop1:211.100.2.1/24。
完整版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路由协议是一种典型的链路状态(Link-state)的路由...
六、划分区域
OSPF在大型网络中可能遇到的问题: LSDB非常庞大,占用大量的存储空间。
计算最小生成树耗时增加,CPU负担很重。 网络拓扑结构经常变化,网络经常处于“动 荡”之中。
解决办法——划分区域 在OSPF路由协议的定义中,可以将一个路 由域或者一个自治系统AS划分为几个区域。 在OSPF中,由按照一定的OSPF路由法则组 合在一起的一组网络或路由器的集合称为区 域(AREA)。
一、概述
OSPF路由协议是一种典型的链路状态 (Link-state)的路由协议,一般用于同一 个路由域内。在这里,路由域是指一个自治 系统(Autonomous System),即AS,它 是指一组通过统一的路由政策或路由协议互 相交换路由信息的网络。在这个AS中,所有 的OSPF路由器都维护一个相同的描述这个 AS结构的数据库,该数据库中存放的是路由 域中相应链路的状态信息,OSPF路由器正 是通过这个数据库计算出其OSPF路由表的。
对PPP的链路状态描述
1对1的链路状态描述 对本接口网段地址的描述 link id :20.0.0.0 data :255.0.0.0 type :StubNet (3) metric :5
/*网段*/ /*掩码*/ /*类型*/ /*花费*/
对路由器RTB的描述 link id :2.2.2.2 data :20.0.0.2 type :Router (1) metric :5
rip协议明显落伍在ospf路由协议中一个网络或者说是一个路由域可以划分为很多个区域area每一个区域通过ospf边界路由器相连区域间可以通过路由总结summary来减少路由信息减小路由表提高路由器的运算速5ospf路由协议支持路由验证只有互相通过路由验证的路由器之间才能交换路由信息
(完整版)OSPF的五种报文
OSPF的五种报文2008-09-14 10:53Router-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。
OSPF的五种报文介绍
减少路由信息的传递量
通过只请求所需的特定链路状态记录,而不是整个链路状态数据库,可以减少网络中OSPF报文的数 量和路由器的资源消耗。
发送频率
动态调整
链路状态请求报文的发送频率可以根据网络状况动态调整。例如,当某个OSPF路由器 发现其链路状态数据库中的某些链路状态记录过时或缺失时,它会定期或不定期地发送
内容
路由器ID和链路状态数据库摘要
Hello报文中包含了发送者的路由器ID和链路状态数据库的摘要信息,这些信 息用于建立和维护邻居关系以及防止路由环路。
认证信息
为了确保Hello报文的真实性,OSPF提供了认证功能,可以在Hello报文中添加 认证信息,对报文进行验证,确保其来源可靠。
02 数据库描述报文
04 链路状态更新报文
作用
链路状态更新报文用于在OSPF区域内传送链路状态数据库的最新信息。当路由器启动或检测到链路 状态发生变化时,它会将相应的链路状态记录下来,并通过链路状态更新报文将这些记录发送给其他 路由器。
这些记录包括始发路由器、目的路由器、路径代价等信息,用于构建路由器的链路状态数据库。
当路由器发现新的LSA时,会立即发送一 个数据库描述报文,然后按照周期性发送 。
内容
LSA头部信息
数据库描述报文包含了LSA的头部信息,如 LSA类型、序列号、校验和等。
LSA详情列表
数据库描述报文列出了区域内所有的LSA详 情,包括LSA的ID、年龄、链路状态等。
03 链路状态请求报文
作用
请求链路状态信息
发送频率
要点一
周期性发送
链路状态确认报文通常每隔一段时间(例如,5秒)向所有 邻居发送一次,以确认它们的链路状态数据库是最新的。
ospf 状态机
Down:第一种为Down,表示了自己既没有收到任何信息也没有对外发送任何信息。
这是OSPF建立交互关系的初始化状态,在非广播性的网络环境内,OSPF路由器还可能对处于Down状态的路由器发送Hello数据包。
Attem:当自己不停的向对方发送Hello报文时我们称为Attem状态。
该状态仅在NBMA环境,例如帧中继、X.25或ATM环境中有效,表示在一定时间内没有接收到某一相邻路由器的信息,但是OSPF路由器仍必须向该相邻路由器发送Hello数据包来保持联系。
Init:当自己收到对方发来的Hello报文时,称为Init状态。
这个时候路由器自己并不知道对方是否收到了自己所发送的Hello报文。
在该状态时,OSPF路由器已经接收到相邻路由器发送来的Hello数据包,但自身的IP地址并没有出现在该Hello数据包内,也就是说,双方的双向通信还没有建立起来。
2-way :当双方都收到了各自发送的Hello报文时我们称之为2-way状态。
这个状态可以说是建立交互方式真正的开始步骤。
在这个状态,路由器看到自身已经处于相邻路由器的Hello数据包内,双向通信已经建立。
指定路由器及备份指定路由器的选择正是在这个状态完成的。
在这个状态,OSPF路由器还可以根据其中的一个路由器是否指定路由器或是根据链路是否点对点或虚拟链路来决定是否建立交互关系。
当达到2-way这种状态后就表明了双方已经建立了通讯所具备的条件。
Exstart:接下来便进行LSDB的同步工作,也就是前面讲到的发送前两个DD报文的时候我们称为Exstart状态,实际上这种状态是非常短暂的。
这个状态是建立交互状态的第一个步骤。
在这个状态,路由器要决定用于数据交换的初始的数据库描述数据包的序列号,以保证路由器得到的永远是最新的链路状态信息。
同时,在这个状态路由器还必须决定路由器之间的主备关系,处于主控地位的路由器会向处于备份地位的路由器请求链路状态信息。
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-五种网络类型(广播、NBMA、点到点等)
OSPF-五种网络类型(广播、NBMA、点到点等).txt没有不疼的伤口,只有流着血却微笑的人有时候给别人最简单的建议却是自己最难做到的。
OSPF 五种网络类型解说——————————————————————————————————————————OSPF链路类型有3种:点到点,广播型,NBMA。
在3种链路类型上扩展出5种网络类型:点到点,广播,NBMA,点到多点,虚链路。
其中虚链路较为特殊,不针对具体链路,而NBMA 链路对应NBMA和点到多点两种网络类型。
以上是RFC的定义,在Cisco路由器的实现上,我们应记为3种链路类型扩展出8种网络类型,其中NBMA链路就对应5种,即在RFC的定义基础上又增加了3种类型。
首先分析一下3种链路类型的特点:1. 点到点:一个网络里仅有2个接口,使用HDLC或PPP封装,不需寻址,地址字段固定为FF2. 广播型:广播型多路访问,目前而言指的就是以太网链路,涉及IP 和Mac,用ARP实现二层和三层映射。
3. NBMA:网络中允许存在多台Router,物理上链路共享,通过二层虚链路(VC)建立逻辑上的连接。
NBMA网络不是没有广播的能力,而是广播针对每一条VC发送,这样就使得一台路由器在不是Full-Mesh的NBMA拓扑中,发送的广播或组播分组可能无法到达其他所有路由器。
在点到点链路上运行OSPF没有必要选举DR,因为就是两点一线,简单得很;而在NBMA网络中运行OSPF由于是多路访问,DR可以存在,通过调整成手动发现邻居可以防止过多的Hello 开销。
下面具体分析一下RFC中定义的5种网络类型:1. 点到点串行封装HDLC或PPP,OSPF会自动检测接口类型(发现封装模式为PPP或HDLC,就认为是点到点),OSPF数据包使用224.0.0.5发送,不知道DR是什么东西,就知道对端是谁,OSPF hello间隔为10s,失效为40s。
2. 广播型选举DR/BDR,自动发现邻居。
OSPFv2与OSPFv3的区别
OSPFv2与OSPFv3的区别1 概述OSPFv2是IETF组织开发的一个基于链路状态的部网关协议,具有适应围广、收敛迅速、无自环、便于层级化网络设计等特点,因此在IPv4网络中获得了广泛应用。
随着IPv6网络的建设,同样需要动态路由协议为IPv6报文的转发提供准确有效的路由信息。
基于此,IETF在保留了OSPFv2优点的基础上针对IPv6网络修改形成了OSPFv3。
OSPFv3主要用于在IPv6网络中提供路由功能,是IPv6网络中路由技术的主流协议。
2 OSPFv3技术实现与OSPFv2相比,OSPFv3在工作机制上与OSPFv2基本相同;但为了支持IPv6地址格式,OSPFv3对OSPFv2做了一些改动。
下面先对OSPFv2进行简要介绍,之后再详细介绍OSPFv3与OSPFv2的异同点。
2.1 OSPFv2简介2.1.1 OSPF基本概念1. DR和BDR在广播网或NBMA网络中,OSPF协议定义了DR和BDR,BDR是对DR的一个备份,在选举DR的同时也选举出BDR。
DR和BDR会和本网段的所有DROther(既不是DR也不是BDR的路由器)建立邻接关系并交换路由信息,DROther之间不建立邻接关系、不交换路由信息,从而减少了广播网络和NBMA网络上各路由器之间邻接关系的数量,同时减少网络流量,节约了带宽资源。
2. 区域随着网络规模日益扩大,当一个大型网络中的路由器都运行OSPF路由协议时,会存在以下问题:l 路由器数量会增多,每台路由器都生成LSA,整个LSDB即所有LSA的集合会非常大,占用大量存储空间;l 计算最短路径树耗时增加,导致CPU负担很重;l 在网络规模增大之后,拓扑结构发生变化的概率也会增大,网络会经常处于“振荡”之中,造成网络量的OSPF协议报文在传递,降低了网络的带宽利用率。
更为严重的是,每一次变化都会导致网络中所有的路由器重新进行路由计算。
OSPF协议通过将自治系统划分成不同的区域来解决上述问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 所示。