肥宅钓鱼网
当前位置: 首页 钓鱼百科

tcp ip协议的高级协议(TCPIP卷一9EIGRP的数据包格式)

时间:2023-07-21 作者: 小编 阅读量: 2 栏目名: 钓鱼百科

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

说明

之前介绍过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算法得来的。

如果大家有任何疑问或者文中有错误跟疏忽的地方,欢迎大家留言指出,博主看到后会第一时间修改,谢谢大家的支持,更多技术文章尽在网络之路Blog,版权归网络之路Blog所有,原创不易,侵权必究,觉得有帮助的,关注转发一波谢谢。

上一篇回顾

TCPIP卷一(8):EIGRP的组建和邻居状态机

下一篇学习

TCPIP卷一(10)EIGRP的DUAL算法SIA解决方案

    推荐阅读
  • 治耳鸣偏方(治耳鸣土方法)

    2、决明子枸杞和黑芝麻,这些食物可以煎汤来代茶饮,对于治疗耳鸣也有一定的效果。

  • 清朝历史真实画像(图看清朝侩子手)

    以下内容希望对你有帮助!清朝历史真实画像

  • 防紫外线玻璃差异点(防紫外线玻璃的缺点)

    耐温度性能不同:B类产品最强;A类产品其次;D类产品排第三、C类产品排第四;玻璃颜色不同:A类产品、B类产品、D类产品颜色均为透明色;C类产品颜色为深黑色。

  • 生化危机系列游戏的发售顺序(生化危机系列全部史低促销)

    《生化危机6》中,Leon、Chris将第一次联手面对空前的威胁,而且还会有新的人物加入,每个都有独特的个性和技能。自从浣熊市出事、美国总统揭开幕后真相后,已经过去了十年。与此同时,生化恐怖安全主义评估联盟的成员ChrisRedfield抵达了中国,那里同样遭受了生化恐怖袭击的威胁。全世界范围内不再有任何地方是安全的,一场全球危机让每个人都失去了生存的希望。4代也是第一款支持DolbyDigitalPro-Logic2Surrround环绕音效的系列作。生化危机第四代采用完全3D化的方式呈现。

  • 五行属火又寓意好的字女孩(五行属火又寓意好的字有哪些)

    适合给女孩起名的搭配佳丽、梦丽、舞丽、丽沐、丽盈、樱丽等等,给人的感觉都非常美好。恬“恬”这个字的本意为安静,是寓意着父母希望自己家的女孩是一个安静、温婉的美好女子的心愿。“恬”字的五行也属火,对于五行缺火的女孩来说,能够弥补女孩的命理不足,提高女孩未来的福气和运气。“熳”字也是寓意女孩会成为一个身材好、自律、成功的人的意思。

  • 菱形钢板网机器生产厂家(钢板网防震防裂)

    钢板网钢板网房屋装饰也比较常见,由各种材质的金属板采用专业机械剪切,使原钢板的长度扩张到几倍至几十倍。Q235钢板网主要用于宾馆、会议厅、酒店等*场所的吊顶,具有美观大方、坚固耐用、通风效果好的特点。

  • 微信删除的账单记录能恢复吗(微信账单删除能恢复吗)

    在微信及其他第三方支付方式火爆的情况下,大家已经习惯上使用第三方支付购物或支付等。微信及第三方支付转账记录具有法律效应,可以作为经营者的账单流水依据。因此,微信的转账记录不光能在手机中缓存,还有微信客户端专业团队双向保存。由于微信转账记录涉及到个人财产及商家账单流水的重要性,所以微信账单记录删除怎么恢复?上述小编给大家介绍了两种能够恢复账单记录的方法:从微信账单恢复、利用专业软件恢复。

  • 打电话显示外拨已转接来电什么意思(打电话时显示外拨已转接来电是怎么回事)

    打电话显示外拨已转接来电的意思是对方设置了呼叫转移,先是提示已转接来电是转接的过程,后提示关机或不在服务区是转移的号码处于关机或不在服务区状态才会提示的,设置了来电转拨的,拨过去的号码就是拒接任何陌生号码。CF,是电信业一项传统通信业务,又称呼叫前转、呼入转移。呼叫转移是指当客户不能接听电话时,可把来电转移到客户预先设定的前转号码上的业务。

  • 读者的文章精选(我和读者的故事)

    我自然很是受益,每次看见大哥拿《读者文摘》回来,我写完作业,就是一口气读完。忽然想起自己一直以来的一个疑问:中美两家《读者文摘》曾经有长达数年的版权之争。同意《读者文摘》杂志正式初版,从一九八一年四月起在国内公开发行。请你们注意加强对编辑工作的领导,严格审稿制度,坚持四项基本原则,把思想性、知识性和健康的趣味性很好地结合起来,使《读者文摘》既有正确的政治方向,又丰富多采、生动活泼。

  • win10找不到edge浏览器怎么办(win10系统edge浏览器打不开网页的解决教程)

    edge浏览器是windows10系统内置最新网页浏览器,最近有win10用户反馈,自己在使用edge浏览器时遇到了打不开网页的问题,不知如何解决?edge浏览器打不开网页:1,右键点击下方的“启用用户账号控制”2,在窗口中将控制滑块移到上半部分,点击确定。3,重启电脑,打开EDGE。5,勾选我们要清楚的项目,然后点击下方的“清楚”。