分享

OSPF数据包基础知识点分享

 网络工程师老杨 2021-08-05

01


邻居数据结构

Router#sh ip ospf neighbor 192.168.1.2

显示的是NBMA环境下, OSPF邻居的数据结构,其中邻居的实际接优先级是1 ,

本地使用 neighbor 9.9.12.2 priority 100

本命令只对DR、BDR选举过程有效

02


LSAd更新

LSA可以通过下面两种方法之——来确认 :

显式确认(Explcit Acknowledgment)确认收到包含这个LSA头部的链路状态确认数据包。

隐式确认(lmplcit Acknowledgment)确认收到包含这个LsA的相同实例(没有其他更加新的LSA)的更新数据包。

主路由器将控制数据库的同步过程,并确保每次只有一个数据库描述数据包是未处理的。当从路由器收到一个从主路由器发出的DBD后,从路由器将通过发送一个具有相同序列号的DBD报文来确认(这个过程一直延续,直到主路由器发出m位置0的报文)。如果nxmtlnterval到期后,从路由器还没确认,主路由器会重传。LSDB里每个LSA都有一个序列号,用来标示LSA的新旧,从0x8000001到0x7ffffff ,当LSA触发更新的时候,其泛洪LSA的时候会增加序列号,且随着30min 一次的泛洪,序列号也会加1 (由产生该LSA的router ).每个LSA条目都有一个老化时间aging timer , 存储在age字段中,默认的30分钟。LSA失效后,最初发送该条目的路由器会发送一个LSU ,其中包含序列号更高的LSA。

03


OSPF邻居关系建立中的问题

1. MTU 问题

ip os mtu-ignore

在接口模式下配置可以忽略MTU ,注意是在MTU小的那一个OSPF路由器接口上(如果两端MTU不一样)

2. 接口掩码问题

a)在一个MA网络中,如果邻居两端接口掩码不致,则邻居建立不起来。

原因在于2类LSA中,事由掩码字段的

b) 在p2p的网络中,如果邻居两端接口掩码不-致,邻居能建立,并且路由也能学习到

玩玩而已,别真特么去搞两个掩码不一样。

3.网络类型问题

两端如果OSPF网络类型不同,那么邻居关系能建立起来,路由器甚至能收到对方的LSA,但是路由学不到。

OSPF数据包

01


数据包类型

02


数据包头部

ArealD是-个点分+进制表示的数在这里,如area256,则报文中存放的是0.0.1.0 ( 转换成二二进制看)Autype=0不认证=1明文=2密文

03


数据包格式

1.HELLO包格式

2.DBD报文格式

3.LSR报文格式

4.LSU报文格式

04


LSA格式

1. Router LSA

这个最基本的LSA通告列出了路由器所有的链路或接口并指明了它们的状态和沿每条链路方向出站的cost。

LinkstatelD始发路由器的RouterlD

V位         置为I时说明始发路由器是-条或多条具有完全邻接关系的虚链路的一个端点这里被描述的区域是传送区域。

E位         当始发路由器是一个ASBR路由器时,设置该位为1

B位         当始发路由器是-个ABR路由器时,设置该位为1

从链路ID到链路数据字段,这段即为具体的LSA内容

LINKID、Link Date的取值根据OSPF link类型不同而不同:

TOS号       RFC2328不在支持。如果没有Tos度量和一条链路相关联 ,那么这个字段就设置为0x00

METRIC       度量值

TOS       CISCO只支持为0

2.NetworkLSA

链路状态ID ( LINK stat ID )          DR路由器接口.上的IP地址

相连的路由器          相连的路由器的routerlD (包括DR他自己)

注意:2类LSA是不带metric的

3.Network summary LSA和ASBR summary LSA

两者有同样的格式,惟-的不同之处是它们所指的类型和链路状态ID。

链路状态ID(L .ink state ID)           对于类型3的LSA来说,它是所通告的网络或子网的IP地址。

                                                       对于类型4的LSA来说链路状态ID是所通告的ASBR路由器的路由器ID

3类LSA是由ABR产生的, ABE指的是,必须有一个接口属于区域0 ,并且有另外-个接口属于其他区域。

4.自治系统外LSA

5.NSSA外部LSA

05


OPTION字段

Option字段,出现在每一个HELLO、DBD 以及每一个LSA中。

1. N/P 位( RFC1587 )

其中NP位为1位,N位及P位分别只出现在HELLO及LSA报文中:

●在Hello报文中:Nbit指示该路由器为NSSA区域路由器。当Nbit被置1时Ebit就必须被清零。

●在LSA报文中:Pbit仅在7类LSA中出现

1)置1时指示NSSA区域的ABR能够将这条7类LSA转成5类LSA。

2)为0时,ABR将不能将该7类LSA转换成5类LSA

只有NSSA区域的ABR重发布路由时,通告的7类LSA中的Pbit才为0

NSSA区域ABR在重发布时,将7类LSA的P位置0,通知其他NSSA区域ABR不要对该LSA进行7转5 ,因为骨干区域内的其他路由器已经从骨干区域内收到该路由的5类LSA,因此NSSA区域其他ABR执行7转5是没有意义的。

2.E位

当始发路由器具有接受AS外部LSA的能力时,该位将被设置。

在所有的AS外部LSA和所有始发于骨干区域以及非末梢区域的LSA中,该位将设置为1。而在所有始发于末梢区域的LSA当中,该位设置为0。另外,可以在Hello数据包中使用该位来表明一个接口具有接收和发送类型5的LSA的能力。E位配置错误的邻居路由器将不能形成邻接关系,这个限制可以确保一个区 域的所有路由器都同样地具有支持末梢区域的能力。

3.MC位

该位描述是否组播扩展OSPF

为了方便广大网络爱好学习者一起学(聚)习(众)交(搞)流(基),特开设思科干货交流群,里面已经上传大量学习资料,欢迎广大网络工程师进群学习!

欢我们的内容就点“在看”分享给小伙伴哦

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多