首页 > 编程知识 正文

ospf hello报文,ospf协议报文类型

时间:2023-05-06 08:20:00 阅读:136640 作者:4867

1. OSPF消息OSPF报文 Hello 报文、 DD 报文、 LSR 报文、 LSU报文、LSAck 报文

OSPF报头OSPF用IP封装协议消息,协议号码89、5种OSPF的消息具有相同的OSPF报头。

OSPF标头中关注的字段主要包括:

version: IPv4 OSPFv2值为2; IPv6 OSPFv3的值为3,1字节; Type :描述为什么样的OSPF消息?

1 :问候消息、2:DD消息、3:LSR消息、4:LSU消息、5:LSAck消息、1字节; 路由器id :发送OSPF消息的源的路由器id,4字节; areaid :发送OSPF消息接口所属的OSPF区域id,4Byte; checksum :检查OSPF消息(验证字段除外),2字节; Auth类型字段: OSPF认证类型定义,0 :不验证; 1 )简单认证2:MD5认证,2字节。 Auth字段:如果认证类型为0,则未定义; 对于类型1,此字段是密码信息。 对于类型2,此字段包含Key ID、MD5认证数据长度和序列号信息。 周期性地发送OSPF Hello消息,其用于发现并维护OSPF的邻居关系,以及在MA网络中用于选择OSPF的DR/BDR。

问候信息中不携带LSA信息,问候信息以外的OSPF信息全部携带LSA信息。

OSPF Hello报文如下:

Hello消息应该关注的字段:

netMAsk :掩码,具有用于发送问候消息的接口的网络的掩码,ma网络中具有一个接口的网段hello/dead interval :问候消息发送间隔,以及ddlo消息发送间隔路由器优先级:用于选择不同网络类型的helloinnnval routerpriority:OSPF的DR/BDR的路由器优先级,用于确定是否位于默认dead时间位hello interval的4倍。 默认值为1。 0表示路由器不参与DR/BDR的选择。 是否指定路由器、DR接口的IP地址? 如果为0.0.0.0,则描述未选举的灾难恢复路由器activeneighbor:OSPF的邻居路由器的RID列表指示路由器已从邻居路由器接收到合法的问候消息选项字段。 8个选项DN O DC EA N P MC E MT

DN:用于基于MPLS的三层VPN、Down位

DC:按需链接

N/P:N只出现在hello数据包中,N=1表示该路由器支持第7类LSA

P:仅用于NSSA区域的7种LSA头部,用于告知NSSA区域末节以外区域的ABR将7种LSA转换为5种LSA

E:有接收外部LSA的能力。 如果始发路由器具有接收OSPF外部LSA的能力,则该位置是1比特。 在第5类LSA和来自主干区域和末节以外区域的所有LSA中,该位置为1。 在从末节区域开始的LSA中,该位置为0。 问候消息的该位指示一个接口具有发射和接收五种LSA的能力。 OSPF DD消息DD消息:数据库描述消息。 描述本地linkstatedatabase (lsdb )的概要信息,供两台设备用来同步数据库。 消息的内容是LSDB内的每个LSA的头(LSA的头可唯一标识一个LSA )。

OSPF的第一DD消息不携带LSA信息,仅用于主从协商,而后续的DD消息携带LSA摘要信息。

概要信息内容包括: adv路由器、Link State ID、LS Type、Options字段、LSA Age、校验和、序列号;

LSA是Adv Router、Link State ID、LS Type三者的唯一标志之一;

LSA Age、校验和、序列号用于区分LSA的新旧;

OSPF DD报文如下:

DD消息类型的关注字段:

I :当发送连续多个DD消息时,如果这是第一个DD消息,则I:initial为1,否则为0M:more;当发送连续多个DD消息时,如果这是最后一个DD消息,则为0。 否则,设置为1表示后面有其他DD消息MS: master/slave。 两台OSPF路由器交换DD消息时,需要进行主从选举,MS以设置为1为主。 DD Sequence:DD消息序列号。 主从双方利用序列号保证DD消息传输的可靠性和完整性。 Interface MTU :默认情况下不检查接口MTU、华为设备,值为0,VLink的字段用于在0 OSPF LSR消息中请求对方所需的LSA。

仅在OSPF邻居都成功交换了DD消息之后,设备才向对方发送LSR消息。

OSPF LSR报文如下:

LSR消息种类应该关注的信息:

请求信息: LSA的三要素: LS Type、Link State ID、Adv RouterLSR中不携带Options字段。 OSPF LSU消息用于向对方发送所需的LSA

OSPF LSU报文如下:

OSPF LSAck消息是针对接收的

的LSA进行确认

2.OSPF LSA

主要分析OSPF 1类、2类、3类、4类、5类、7类LSA,使能OSPF的路由器会产生一种或多种LSA,收到的LSA的集合形成LSA的数据库LSDB。
LSA的头部报文结构
所有的LSA具有相同的头部

LS age:lsa产生的时间,以s为单位,缺省情况下没经过一台路由器LSA增加1.Option:与OSPF Hello报文种的一直,注意P选项仅出现在7LSA种,用于7转5,P即通告位,E 表示支持5类LSA的泛洪LS type + Link State ID + Advertising Router 用来标识一个唯一的LSALS type: 不同类型的LSALink State ID:不同类型LSA内容不同Adv Router:通告者,为产生此LSA的Router IDLS sequence number:序列号,判断LSA的新旧LS checksum:校验和,还可用于判断LSA新旧 1类LSA Router LSA 所有运行OSPF协议的设备都会产生,用来描述设备的链路状态和开销区域内泛洪LS type:值为1Link State ID = Adv Router= 设备的Router IDFlag位:V E B ,V表示始发路由器是具有邻接关系Vlink的一个端点,E表示始发路由器是一个ASBR,B表示始发路由器是一个ABRRouter LSA中定义了4中link 类型: 点到点 :描述点到点类型链路,Link ID:邻居路由器RID,Link Data:本端接口IP地址TransNet:描述MA类型链路,Link ID:DR接口IP地址,Link Data:自己接口IP地址;TransNet是指向伪节点StubNet:描述末节网络,Link ID:网段信息,Link Data:掩码信息;仅当有 stub link,loopback 接口网络 or P2P link 上的网络号都是以 stubnet形式出现。Vlink:描述虚链路,Link ID:VLink对端的RID,Link Data:本地VLink的接口IP地址
2类LSA Network LSA MA网络中由DR产生,描述MA(广播与NBMA)网络的链路状态区域内泛红LS type:值为2Link State ID:DR的接口IP地址Adv Router:产生2类LSA路由器的RIDNetmask:结合Link State ID即可算出2类LSA的网络号Attach Router:此MA网络中所有邻居路由器的RID

OSPF路由器通过1类、2类LSA进行SPT树的逻辑拓扑的计算。 3类LSA Network-summary LSA 由ABR产生,向其他非骨干区域通告,描述区域内某个网段LSA3在区域见传递路由,但是泛洪区域为区域内ABR位为骨干区域内的每条OSPF路由各产生一条3类LSA向其他非骨干区域进行通告Link State ID:网络号Adv Router:ABR的RID结合Netmask字段与Link State ID即可知道3类LSA携带的网段信息下图为:3.3.3.3/32Metric:开销,ABR到目的网络的开销值(即ABR1.1.1.1到目的网络3.3.3.3/32的开销值)
4类LSA ASBR-summary LSA 由ABR产生,描述到ASBR的距离,为5类LSA服务,通告给除ASBR所在区域的其他区域区域内泛洪报文格式与LSA3相同Link State ID: ASBR的RIDAdv Router:ABR的RIDNetmask:无意义Metric:ABR到ASBR的开销
5类LSA AS-external LSA 由ASBR产生,描述AS外部的路由泛洪到所有普通区域(除了STUB(totally)与NSSA区域(totally))Link State ID:引入外部路由网络号Adv Router:产生5类LSA的路由器的RIDNetmak:引入外部路由的掩码Option:E 描述的为外部路由External Type:外部路由的类型,缺省为2,Type1与Type2的区别:Type2仅考虑外部成本,Type1考虑端到端的成本(ospf内部成本+外部成本),Type2优先级由于Type1.Metric:ASBR到外部路由的开销Forwarding Address:可以是0.0.0.0,也可以不是,如果是0.0.0.0,访问外部路由将报文转发给ASBR,如果不是0.0.0.0,报文转发给此非零地址,路由器根据FA地址来决定访问外部路由是通过ASBR还是FA地址。Tag:用来标记外部路由,缺省为1,可手动配置 7类LSA NSSA-external LSA 由ASBR产生,描述AS外部路由仅在NSSA区域泛洪,NSSA区域区别与Stub区域,可以引入外部路由Link State ID:外部路由网络号Adv Router:产生7类LSA的路由器RIDNetmask:外部路由掩码Option:P,P置位标识ABR将7类转为5类LSA,产生的此5类LSA 三要素会发生变化,但是FA地址不变(可达的前提下)。External Type:与5类相同,缺省为type 2FA地址:缺省情况下7类LSA携带FA地址,目的防止环路与次优路径 LSA的新旧规则

序列号越大越新
序列号相同,checksum越大越新
序列号与checksum都相同,比较age时间

若 Age时间为3600,为最新,表明该LSA要更新若两个LSA的age时间间隔大于900s,则age时间小的为新若两个LSA的age时间间隔在900内,视为相同LSA,保留其中一条LSA 3. LSA的一些场景实践 场景1:同区域内存在几个1类LSA,几个2类LSA

AR1,AR2,AR3都产生一个一类LSA,AR2与AR3网络类型为广播,DR产生一个二类LSA。
AR1的链路类型为P2P,一类LSA中的Link Type:P2P,Subnet。
AR3的链路类型为广播,一类LSA中的Link Type:Transit。
AR2左侧链路P2P,产生Link Type:P2P,Subnet;右侧链路广播,Link Type:Transit。
如果上述路由器存在loopback口,将在1类LSA中新增Link Type为subnet的信息
区域0的LSDB中包含:3条一类LSA,1条二类LSA。

场景2 不同区域场景


三类LSA由ABR产生,
将区域0的一类LSA转换为3类LSA,传递到区域1,同时将区域1的1类、2类LSA转换为三类LSA,传递到区域0.

场景3:AR1引入外部路由1.1.1.1/32

提问:
1,区域1为普通区域,图中哪些路由器产生4类LSA,描述的内容?
2,AR4上可以收到几条4类LSA?
3,如果区域1是NSSA区域,AR2和AR3的角色?
4,AR4上可以收到几条4类LSA?
5,在区域2的AR7上可以收到几条4类LSA?
6,如果在AR2上引入一条外部路由,AR3上是否做7转5,如何选路?AR7上有几条4类LSA?

分析:
1.4类LSA只能由ABR产生,通告给除ASBR所在区域的其他区域,图中区域0的ABR有4个,AR2,AR3,AR5,AR6。4类LSA描述的内容为去往ASBR的距离。
2.当区域1为NSSA区域时,缺省为RID大的进行7转5,ABR如果进行7转5产生5类LSA,同样角色为ASBR。
结论:
1,区域1为普通区域,引入外部路由后,在区域0中AR2 AR3 AR5 AR6都是ABR,都会产生4类LSA,在AR4上可以收到2条4类LSA,分别由AR2 AR3产生,内容:Linkstate ID:1.1.1.1,Adv Router:2.2.2.2/3.3.3.3,描述的是到ASBR的开销。AR5与AR6上相同,同样描述的是到ASBR 1.1.1.1的开销,所以在AR7上可以收到两条2类LSA。
2,当区域1为NSSA区域,AR2 AR3的角色ABR,ASBR;由RID大的AR3将7类LSA转为5类LSA,
3,在区域0不会产生4类LSA,因为5类LSA在区域0产生,区域0通往1.1.1.1/32的外部路由是通过去往FA地址的3类LSA,AR5 AR6上可以产生4类LSA,分别指向ASBR,因为在区域0有两个ASBR,判断是否是ASBR是根据一类LSA中V B E位,所以会分别产生指向2.2.2.2/3.3.3.3的4类LSA,即AR5产生两条4类LSA,AR6产生两条4类LSA。AR7共收到4条4类LSA。与一条携带FA地址的5类LSA,AR7访问AR1的外部路由是通过FA地址即3类LSA。
4,在AR2上引入外部路由,在区域1表现为7类LSA,其他区域以5类LSA的方式泛洪,在AR3上会收到一条5类LSA,一条7类LSA,AR3不会进行7转5,因为7类LSA中的NP位没有置位。选路是比较5类和7类的开销来决定。AR7上仍然收到4条4类LSA。3类,5类LSA都是描述的路由信息,每一条路由信息,都会产生一条3类或5类LSA。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。