问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Segment Routing技术浅淡SRv6中IPv6 Header处理过程

发布网友 发布时间:2024-10-19 22:47

我来回答

1个回答

热心网友 时间:2天前

Segment Routing 是一种创新的转发技术,它利用IGP/BGP作为控制平面协议来分配、分发SID,使用MPLS或IPv6作为转发平面,其中SRv6使用IPv6作为转发平面。我们将深入探讨SRv6中IPv6包头的基本操作。

IPv6包头分为基本包头和扩展包头,基本包头占40字节,其中包含一个关键字段“next header”,类似于IPv4包头中的“protocol”字段,用于指示上层协议(或IPv4报文负载的协议),例如当next header字段为17时,表示后面跟着UDP报文;等于6时,表示后面跟着TCP报文;4时,表示后面跟了一个IPv4头部(IPv4 over IPv6)。

在路由扩展包头中,有一个Routing Type字段,定义于多个RFC中,包括:0表示Source Route(于2007年被取消)、1表示Nimred(于2009年被取消)、2表示Mobility(RFC 6275中定义,用于移动)、3表示RPL Source Route(RFC 6554中定义,主要用于物联网)以及4表示Segment Routing(当前为暂定使用,尚未被RFC定义,可能设计新的扩展包头)。

在SRv6的路由头部中,包括一个基本包头(next-header = 43)、一个路由扩展包头(Routing Type = 4)以及Segment Routing部分的字段。扩展路由包头中最关键的字段包括Segments Left、First Segment和Segment List。

Segment List在头端压路径标签时,会压入多层标签(基于MPLS的SRTE的操作方式),对于SRv6来说,会在SR specific中压入多个在数据包传输过程中需要经过的节点。其中,最后一个节点(即头端压入的Segment List [0])称为Tail-end或End-point,然后按顺序反向压入SR specific中,例如经过N个节点,则最后一个压入的是Segment List [n-1]。

First Segment表示数据包从头端发送到终节点经过的第一跳设备,在Segment List中,下面的节点是离头端更近的,最上面的是终节点,因此图中的First Segment字段值为n-1。

Segments Left(简称SL)指的是Active Segment,即当前要前往的下一跳设备。在头端时,SL的值为n-1,表示要前往终节点,下一个要经过的节点是Segment List [n-1]。

工作原理是每经过一个Segment List中的节点,SL的值会递减,同时将Segment List [SL]节点的SID(实际上是一个IPv6地址)复制到基本包头的目的IPv6地址字段中,告知路由器下一跳需要去往哪个节点。数据包依次通过每个节点直至目的地。

接下来,我们以数据包转发过程为例来说明其工作流程。假设A为头端节点,D为终节点,编程时压入必须经过的节点B、C、D。在SR Header中,反向压入:

Segment List [0] = D

Segment List [1] = C

Segment List [2] = B

此时,B是我们要经过的第一个节点,因此First Segment为B的下标2;数据包尚未发送,因此Segment List中的节点尚未到达,所以Segment Left也为B的下标2;同时,将Segment List [SL = 2] = B的地址复制到IPv6基本包头的目的地址字段中,当前IPv6基本包头的目的地址为B。

数据包到达节点B后,查看IPv6基本包头的目的地址为B,此时可以拆掉基本包头,查看后面的扩展包头,发现是一个SR Header,看到Segment Left字段为2,表示尚未到达终节点,需要继续转发。因此,First Segment字段不变,Segment Left减1变为1,并将Segment List [SL=1] = C节点的地址复制到IPv6基本包头的目的地址字段中,当前IPv6基本包头的目的地址为C,然后继续转发数据包。

数据包到达终节点D后,查看IPv6基本包头目的地址为D,此时可以拆掉扩展包头,根据此Segment List中的Function部分对payload部分进行服务。

通过以上工作流程,我们可以发现SRv6实际上很容易理解,也很容易进行编程处理,因为SR Header中的Segment List可以根据手动或控制器等方式编写。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
13岁一直到18岁晚上经常熬夜会有什么影响 具象表现素描内容简介 ...| 从14世纪文艺复兴到20世纪具象表现绘画 · 168幅画 · 图解西方... 【漫画赏析】比喻具象化——《孤高之人》手法分析 具象美术作品有哪些 具象艺术艺术家介绍 话说 曾经有个演唱会 是初音未来演唱会 39祭 谁知道微信聊天记录删掉了,还能恢复过来吗?有什么软件可以恢复吗?不... 六爻。测缘分。测婚姻 礼仪起源于祭祀的证据是什么? 注意狗头是什么意思? 为什么一吃烧烤就嗯肚子痛? 吃烧烤后肚子疼,吃什么药 昨天吃烧烤。然后吃完后肚子有点不舒服。然后第二天拉肚子。拉水的那 ... 刚刚吃完了路边的烧烤 后肚子叫个不停 是怎么回事 我需要整个高中化学非常详细的知识点的总结 网上有吗 老公说和小三断了,可小三老发信息要找我聊聊,我要不要和她聊呢?_百度... 林业消防无人机哪个牌子好? 心脑血管疾病为什么难康复? 索尼T10 和 富士Z3 哪个好? SONT T10\\富士Z3和Z5,买哪款? 心脑供血不足能根治吗 富士z3和sony w55买哪一款好? 我们有营业执照和税务登记证,我和老公都没买社保。请问怎么以个人的名... 什么是案例分析题 河南商丘中招考试还要费用吗 还是学校在垄断?给国家整出人才还要考试费... 商丘市中招补录时间 商丘一中小升初?商丘一中中招?的时间?试卷? 我的牌灵是恋人The lover ...ETD2/5的出荷 由于年底船公司爆仓 导致货物被改配到ETD2/10的船... 为什么Excel复制到另一个表就变了? 成都到德阳英杰电气怎么走 用笔记本上网 是不是 把笔记本带到全国各地 哪都能上网 笔记本是拿到哪里都可以上网吗? 吃完药嘴和嗓子苦怎么回事 淘宝网店装修教程是什么?装修复杂吗? 胃胀吃完药后嘴里苦的像药苦一样什么原因呢 ...淘宝网店装修如何进行色彩风格定位你知道吗? 什么是定金?什么是订金? 抚顺乙烯化工厂主要污染源是什么?它的监测方法? 手把手教你Webpack5 中怎么处理字体图标、图片资源 | Webpack干货系列... 请问有没有人在久久票务网订过票?结果怎么样? 久久票务网买票可靠吗 2024四川师范大学MBA学费多少钱一年? 数控床子信号线带电么 数控机床的配线(电机动力线,编码器线)可以用捆扎的方式放在走线槽里么... ...192.168.0.1 可是进不去 , 连上以后可以上无线 但是没有密码_百度... 腾达路由器连不上192.168.0.1 清华美院考博需准备什么 iphone好还是三星好说说理由。除此之外你非常欣赏的外国手机品牌有哪些...