tlv协议格式应用(tlv格式数据解析案例)
tlv协议格式应用(tlv格式数据解析案例)
2024-11-22 11:26:18  作者:冬涩诺言  网址:https://m.xinb2b.cn/tech/hpn431871.html
说明

之前介绍过EIGRP建立邻居的过程,并且介绍了一些特性,这次主要看的是EIGRP的数据包格式,包括TLV,和EIGRP的三张表的内容。

EIGRP的包头字段

1、版本:从EIGRP发布以来,一直为版本22、操作码:指出EIGRP数据包的类型,1为更新 3为查询 4为答复 5为hello和ACK3、标记:包括两个标记,一个为init位,表示新的邻居开始,第二位为接收位,使用一个私有可靠组播算法4、序列号:RTP中使用的32位序列号5、确认序列号(ACK):本地路由器从邻居路由器那收到最新的序列号,单播传送的6、自主系统号(AS):指定EIGRP协议所处的标示号,所以,两端都必须一致7、TLV:(1)一般TLV:携带K值和hold time时间,包括序列、软件版本和下一个组播序列(一般用Hello包进行发送)

TLV的类型

在EIGRP中引用TLV的字段,TLV称为 Type/Length/Value ,这个TLV在路由选择协议中有非常好的扩展性,特别是ISIS中,它就是利用TLV字段来扩展支持更多的特性,当一个新的协议或者特性出现,路由协议需要去支持它,像OSPF的话,IPV6的支持就必须开发新的版本了,而ISIS对IPV6的支持,直接用TLV字段就能实现,EIGRP也是如此。


(1)一般TLV:携带K值和hold time时间,包括序列、软件版本和下一个组播序列(一般用Hello包进行发送)


(2)IP内部路由TLV:从同一个AS内学习到的路由参数

1、下一跳:包括这个路由的更新源,如果为0.0.0.0,那么表示自身2、延迟(delay):以10us为单位,沿途更新入向接口延迟总和3、带宽(bandwidth):2560 000 000/沿途更新入向接口的最小带宽4、MTU:指路由器沿途抵达目的地路由器上所有链路中最小的MTU,一般不作为metric的参数计算5、跳数:表示到达目的地路由的跳数,最大为255。6、可靠性:用于反映到达目的的路由上接口的出站误码率的总和,取值0x01~0xFF7、负载:用于反映到达目的的路由上接口的出站负载的总和,取值0x01~0xFF8、保留字段:未使用的字段9、前缀长度:携带子网掩码10、目的地址:一个路由的目的地址


(3)IP外部路由TLV:从不同AS或不同路由协议重分布进本AS内的路由参数

1、下一跳:路由的下一跳地址。2、原路由器:一个IP地址,或者重分布外部路由到EIGRP的RID3、原自主系统号:始发路由的路由器所在的AS4、Arbitrary Tag:路由映射 Tag5、外部协议度量:标注外部路由的度量值6、保留字段:不被使用7、外部协议ID:用来标示外部路由从哪个协议学习到。8、标记:定义了两个值,如果为0x01的话,那么表示外部路由,如果是0x02表示缺省路由

EIGRP的五种类型数据包

1、hello :目标地址为224.0.0.10,用于发现和维持邻居关系。邻居收到后不需要确认,Hello间隔由接口类型决定,低速链路–90s,高速链路–5s。(hello包中包含版本号、Opcode=5、seq、ACK、AS、EIGRP K值,seq和ACK永远为0,AS和EIGRP包括IP包的源地址是检查能否成为邻居的关键)


在Hello包中携带了K值、hold time时间,还包括软件的版本号,Opcode为5,如果两边邻居处于同一网段的话,邻居检查Hello包,还会看K值是否一致,如果不一致,则邻居建立不起来。

K值和软件版本是携带在TLV中传递的,也就是一般TLV字段

2、Update:发送给邻居路由表,通过单播或组播发送update数据包,邻居收到以后必须回复确认信息,如果没有收到来自邻居的确认信息,那么就会单播发送这个跟新包16次,在16次后还没有关于这个邻居的ACK信息,则认为邻居失效。会标明这路由信息属于外部还是内部的,内部的只携带了K值的参数,而外部标明了起源着是谁,还有tag信息。


在update包中,携带了路由信息,可以看到我ip interal route,它就是内部TLV字段,内部TLV的每个路由条目中包含的内容,在TLV字段中介绍了,可以查看数据包看看


可以看到Opcode为1,携带了子网掩码,和5个K值的参数,next hop为0.0.0.0,怎么是自己发送的。

3、Query:当路由信息丢失并没有备用路由时,使用Query数据包向邻居查询,邻居必须回复确认ACK和等待邻居的reply。


可以看到Opcode为3,当一条路由失效,并且没有FS的时候,就会对邻居进行插叙,可以看到192.168.4.0/24标记为目的不可达,这里序列号为46,看下回应的ACK内容


回应了ACK 46,并且是单播回应给10.0.0.2的

4、Reply:是对邻居Query数据包的回复,也需要邻居回复确认。


Opcode为4,reply,它回应的是关于192.168.4.0/24的不可达信息,另外,看下啊 Sequece:57,Acnowledge为48,这个48回应就是之前query,它的序列号为48,这是一种可靠性的表现查看关于回应ACK的信息,因为在收到一个reply后,也需要回应ACK


5、Ack:是对收到的数据包的确认,告诉邻居我已经收到数据包了,收到ACK,不需要对ACK做回复,这样导致死循环 (因为在IP中没有可靠的传输机制,必须依靠EIGRP来完成)

其中hello包中还携带了hold time时间,这个时间是给邻居使用的 ,告诉邻居如果在这个时间内还没收到关于我的任何hello信息的话,那么就认为邻居不存在了。

EIGRP的三张表探讨

地址信息如图,从R1上观看EIGRP的三张表情况,与在A与B之间还有个网段10.1.1.0/24

R1(config)#router eigrp 1R1(config-router)#network 10.1.1.1 0.0.0.0R1(config-router)#network 12.1.1.0 0.0.0.255

R2(config)#router eigrp 1R2(config-router)#network 12.1.1.2 0.0.0.0R2(config-router)#network 23.0.0.0R2(config-router)#network 10.1.1.2 0.0.0.0

R3(config)#router eigrp 1R3(config-router)#network 23.1.1.2 0.0.0.0

这里一定要注意IGP也就是内部协议network的含义匹配上network范围的网段都参路由协议,并且把这个网段宣告出去,也就是说12.1.1.2 0.0.0.0代表精确匹配,这里掩码为反掩码,0代表精确匹配,1代表忽略,就像12.1.1.0 0.0.0.255,它匹配的范围就是,12.1.1不变,因为0代表精确匹配,而255,则为忽略,也就是1~254, 另外不携带反掩码信息的话,那么就是以主类网络宣告

一、邻居表

通过 show ip eigrp neighbos查看邻居状态,包括可以加 detail参数,可以看到更加详细的内容


1、H:代表序列号,邻居的先后建立的顺序

2、address:显示邻居建立的地址信息,EIGRP对于同一个直连路由器建立的邻居,在有多条链路的情况下,会认为是多个邻居存在,就像B一样,同一台路由器,有多条链路,在A看来是不同的邻居存放的

3、interface:自己哪个接口参与建立的邻居关系

4、hold:在对方Hello包中携带的参数,在高速链路上,默认为15,也就是Hello包的3倍,当15s没有收到来自邻居的Hello包后,就认为对方失效 ,当然在正常情况下,每5s收到一个对方的Hello包,也就是hlod不低于10

5、uptime:与邻居建立的时间计时器。

6、SRTT(Smooth Round-Trip Timer):平均往返时间,用来计算当一个路由器发送EIGRP数据包到邻居,从邻居接收到该数据包并且确认的平均时间。

7、multicast flow tmer:在说RTO之前,介绍个组播流计时器,当一个更新发送出去以后,邻居没有回应,那么这个等待的时间就由组播计时器决定,当计时器超时以后,就切换成单播来再次发送更新给邻居,等待邻居回应的ACK

8、RTO:决定单播传送之间的间隔时间

9、Q:当组播发送了更新后,而对方没有回应ACK的时候,会缓存在本地 ,那么会以单播的形式重新发送这个数据包给邻居,如果16次还没收到ACK,重置邻居

10、 Seq : 收到了邻居更新的次数,每次增加1

这里说下,关于SRTT和RTP是思科私有的算法,所以,没有公开的计算方法,在正常情况下,RTO是ST的6倍,但是,当邻居出现了故障以后,这个参数就会改变,RTO最大值为5000, 另外 在Cisco IOS中,没有可以定义这两个值的命令,卷一也没有提及过。

二、拓扑表

对于EIGRP来说,拓扑表中存在的内容是整个网络收敛的关键,对于EIGRP在网络中部署的关键,就是让每条路由都有可用的FS,关于FS和其他概念在DUAL算法总总结,这里拓扑表只做一个小小的介绍。

show ip eigrp topology来查看参数


可以看到,拓扑表中存放着去往每个目的地的路由信息,这里有FD和AD的概念,这个是DUAL的核心算法,在后面会再次介绍,当有多条路径去往同一个目的地的,当满足了特定的条件后,它也会出现在拓扑表中,这个条件就是FC,这个在DUAL算法的时候进行详细说明。

三、路由表

路由表是存放最优的下一跳的信息,可以看到在拓扑表中去往23.0.0.0/8,经过不同的下一跳到达,在路由表中出现的则只会是最优的,在拓扑表中为FD is 3087200,也就是最优的,下一跳为12.1.1.2。


总结:这次详细讲解了EIGRP的数据包格式,包括TLV中的作用,另外关于拓扑表的详细内容必须到DUAL算法中才好讲解,拓扑表的内容都是通过DUAL算法得来的。

  • 中考如何报指标生(填报中考指标生)
  • 2024-11-23填报中考指标生各位初三的同学和家长大家好,每年初三下学期都有一个重要项目——指标生申请,指标生即指高中学校给予各初中学校的招生指标,目的是促进教育平等化,使各初中学校的学生都有机会上好的高中并不是每个孩子,都有机会。
  • 慈禧中止变法的原因(慈禧庚子变法)
  • 2024-11-23慈禧庚子变法1900年,农历十月初十,清朝廷诏命内外大臣督抚条呈朝章国政,凡吏治民生、学校科举、兵政财政等改革事项,限两个月内具奏,慈禧的意思是旨在征求庚子国变后,不听朝廷召令“东南互保”的诸督抚李鸿章、刘坤一、。
  • 思维导图成语破镜重圆(思维导图学成语-车水马龙)
  • 2024-11-23思维导图学成语-车水马龙01基础知识【成语】:车水马龙【拼音】:chēshuǐmǎlóng【解释】:车象流水,马象游龙形容来往车马很多,连续不断的热闹情景【出自】:《后汉书·明德马皇后纪》:“前过濯龙门上,见外家问起居者,车。
  • 简单的系鞋带方法赶紧学起来吧(生活篇系鞋带很简单)
  • 2024-11-23生活篇系鞋带很简单大家好,我是惠斌喜欢游玩!你关注过好看的鞋带系法吗?细节往往同样能凸显个性!下面我们会给你介绍不同鞋子的最美观的鞋带系法首先让我们弄清楚一件事,这不是如何系鞋带的指南,这是系鞋带的最好方法“到底有什么。
  • 为什么狗狗晚上睡觉要打呼噜(为什么狗狗会打呼噜)
  • 2024-11-23为什么狗狗会打呼噜你家的狗狗爱打呼么?狗狗打呼的原因其实和人类打呼的理由没什么两样,但是别觉得这是一件很好玩的事情,可能潜在疾病就是这样引起的!小编就来告诉你几种引起狗狗打呼噜的原因,赶紧来看一下不要忽略小毛病,小心变。
  • 北大眼睛失明的教授(失明20年坚守讲台)
  • 2024-11-23失明20年坚守讲台来源:【中国教育报】因病失明上课时要用磁铁辅助定位板书却20年如一日地坚守在科研与教学一线用知识照亮他人他就是中山大学航空航天学院盲人教授富明慧前不久富明慧与同事胡玲玲共同完成的“拉胀材料的力学行为机。
  • 林业法律法规宣传简报(微纪录片矢志为民)
  • 2024-11-23微纪录片矢志为民编者按:民有所呼,我有所应2021年是中国共产党成立100周年,学习百年党史,是为了更好地结合实际,回应人民群众的新期盼在湖湘大地上,党旗始终在基层一线高高飘扬,涌现出了许多党组织和党员深入基层解决群。
  • 交通标志标线讲解大全(快转发给新手司机)
  • 2024-11-23快转发给新手司机有车的人是越来越多了,这就意味着路上的车辆也越来越多,如果没有交通规则约束,还有公路上的车辆行驶的指标,那么路上的车辆一定混杂堵塞,这样车辆根本无法通行交通e频道小编给大家整理的交警指挥手势、交通标志。
  • qcw05教学(一图一表5W1H秒懂QCQAQM)
  • 2024-11-23一图一表5W1H秒懂QCQAQM老调重弹也可以出新意,作为质量人,肯定都会听过QC,QA,QM这三个词,相信也有很多人对此一知半解,我们质量圈接下来就用一图一表来将这三者的关系屡清楚用5W1H的方式来了解What,什么是QC/QA/。
  • 美短起司怎么看品相(美短起司的品相如何看)
  • 2024-11-23美短起司的品相如何看头部,美短起司猫的头部较圆,腮部发达,眼睛呈圆形,两耳距离适中且较大,鼻部略短,两腮部有花纹,额头中间呈八字形,八字形内侧为白色,外侧有花纹身体,身材比例细长,体长比身高稍长其实,美国短毛猫指的是宠物。