CN109379359A - SRv6数据包的处理方法和装置 - Google Patents
SRv6数据包的处理方法和装置 Download PDFInfo
- Publication number
- CN109379359A CN109379359A CN201811219993.6A CN201811219993A CN109379359A CN 109379359 A CN109379359 A CN 109379359A CN 201811219993 A CN201811219993 A CN 201811219993A CN 109379359 A CN109379359 A CN 109379359A
- Authority
- CN
- China
- Prior art keywords
- data packet
- value
- ipv6
- srv6
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种SRv6数据包的处理方法和装置,该处理方法包括以下步骤:接收到IPv6数据包和SRH基本首部;将所述IPv6数据包中的Next Header字段的值赋值给所述SRH基本首部的Next Header字段;将所述IPv6数据包中的Next Header字段的值修改为43;将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述IPv6数据包中的Payload Length字段的值增加所述求和结果;将所述SRH基本首部拷贝到所述IPv6数据的基本首部的后面得到SRv6数据包,发送所述SRv6数据包。从而提供了一种处理SRv6数据包的方法。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种SRv6数据包的处理方法和装置。
背景技术
段路由(Segment Routing,SR)协议是一种源路由协议,由源节点来为应用报文指定路径,并将路径转换成一个有序的段列表封装到报文头中,位于该路径的中间节点只需要根据报文头中指定的路径进行转发。段列表是指导网络节点(例如,路由器等)处理报文的任何指令,如:根据最短路径转发报文到目的地、通过指定接口转发报文或者将报文转发到指定的应用/业务实例等。
为了在IPv6(Internet Protocol Version 6,网络协议第6版)中支持段路由协议,在IPv6的基本首部后面新增了扩展头,即段路由头(Segment Routing Header,SRH),从而得到SRv6(IPv6 Segment routing)数据包。
因此,在网络节点中,如何处理SRv6数据包,就成为一个亟待解决的问题。
发明内容
本发明的目的在于提供一种SRv6数据包的处理方法和装置。
为了实现上述发明目的之一,本发明一实施方式提供一种SRv6数据包的处理方法,包括以下步骤:接收到IPv6数据包和SRH基本首部;将所述IPv6数据包中的Next Header字段的值赋值给所述SRH基本首部的Next Header字段;将所述IPv6数据包中的NextHeader字段的值修改为43;将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述IPv6数据包中的Payload Length字段的值增加所述求和结果;将所述SRH基本首部拷贝到所述IPv6数据的基本首部的后面得到SRv6数据包,发送所述SRv6数据包。
作为本发明一实施方式的进一步改进,还包括以下步骤:接收到SRv6数据包;在确定所述SRv6数据包中的Segments Left字段的值等于0时,从所述SRv6数据包的基本首部中删除SRH基本首部,并且将所述SRv6数据包的基本首部的字段Next Header的值修改为所述SRH基本首部中的字段Next Header的值,将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述SRv6数据包的基本首部的Payload Length字段的值减去所述求和结果,得到IPv6数据包;转发所述IPv6数据包。
作为本发明一实施方式的进一步改进,所述转发所述IPv6数据包,包括:依据预设路由协议获取所述IPv6数据包的出端口,从所述出端口转发所述IPv6数据包。
作为本发明一实施方式的进一步改进,还包括以下步骤:接收到SRv6数据包;在确定所述SRv6数据包中的Segments Left字段的值不等于0时,将Segments Left字段的值减一,将所述IPv6数据包中的IPv6基本首部中的目的地址修改为Segments Left字段的值所指向的Segments List字段中的值;转发所述SRv6数据包。
作为本发明一实施方式的进一步改进,所述转发所述SRv6数据包,包括:获取所述SRv6数据包中的IPv6基本首部中的目的地址,将所述SRv6数据包发送到所述目的地址。
本发明实施例还提供了一种SRv6数据包的处理装置,包括以下模块:第一数据接收模块,用于接收到IPv6数据包和SRH基本首部;第一数据处理模块,用于将所述IPv6数据包中的Next Header字段的值赋值给所述SRH基本首部的Next Header字段;将所述IPv6数据包中的Next Header字段的值修改为43;将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述IPv6数据包中的Payload Length字段的值增加所述求和结果;第一数据发送模块,用于将所述SRH基本首部拷贝到所述IPv6数据的基本首部的后面得到SRv6数据包,发送所述SRv6数据包。
作为本发明一实施方式的进一步改进,还包括以下模块:第二数据接收模块,用于接收到SRv6数据包;第二数据处理模块,用于在确定所述SRv6数据包中的Segments Left字段的值等于0时,从所述SRv6数据包的基本首部中删除SRH基本首部,并且将所述SRv6数据包的基本首部的字段Next Header的值修改为所述SRH基本首部中的字段Next Header的值,将所述SRH基本首部中的HdrExt Len字段的值左移3位、且与8求和,并将所述SRv6数据包的基本首部的Payload Length字段的值减去所述求和结果,得到IPv6数据包;第二数据发送模块,用于转发所述IPv6数据包。
作为本发明一实施方式的进一步改进,所述第二数据发送模块,还用于:依据预设路由协议获取所述IPv6数据包的出端口,从所述出端口转发所述IPv6数据包。
作为本发明一实施方式的进一步改进,还包括以下模块:第三数据接收模块,用于接收到SRv6数据包;第三数据处理模块,用于在确定所述SRv6数据包中的Segments Left字段的值不等于0时,将Segments Left字段的值减一,将所述IPv6数据包中的IPv6基本首部中的目的地址修改为Segments Left字段的值所指向的Segments List字段中的值;第三数据发送模块,用于转发所述SRv6数据包。
作为本发明一实施方式的进一步改进,所述第三数据发送模块,还用于:获取所述SRv6数据包中的IPv6基本首部中的目的地址,将所述SRv6数据包发送到所述目的地址。
相对于现有技术,本发明的技术效果在于:本发明实施例提供了一种SRv6数据包的处理方法和装置,该处理方法包括以下步骤:接收到IPv6数据包和SRH基本首部;将所述IPv6数据包中的Next Header字段的值赋值给所述SRH基本首部的Next Header字段;将所述IPv6数据包中的Next Header字段的值修改为43;将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述IPv6数据包中的Payload Length字段的值增加所述求和结果;将所述SRH基本首部拷贝到所述IPv6数据的基本首部的后面得到SRv6数据包,发送所述SRv6数据包。从而提供了一种处理SRv6数据包的方法。
附图说明
图1是本发明中的SRv6数据包的格式示意图;
图2是本发明实施例一中的SRv6数据包的处理方法的流程示意图;
图3A-图3D是本发明实施例一中的段列表的原理图;
图4是本发明实施例二中的硬件处理结构的结构示意图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
应当理解的是尽管术语第一、第二等在本文中可以被用于描述各种元件或结构,但是这些被描述对象不应受到这些术语的限制。这些术语仅用于将这些描述对象彼此区分开。例如,第一数据发送模块可以被称为第二数据发送模块,并且类似地第二数据发送模块也可以被称为第一数据发送模块,这并不背离本申请的保护范围。
如图1所示,IPv6数据包的基本首部的字段的含义为:
(1)Version:版本号,长度为4bit;
(2)Traffic Class:传输类别,长度为8bit,用于区分不同的IPv6(InternetProtocol Version 6,网络协议第6版)数据包的类别或优先级;
(3)Flow Label:流标识,长度为20bit,流就是Internet上从特定源到特定目的地的一系列数据包。而在这个“流”所经过的路径上的网络节点都保证指定的QOS(Quality ofService,服务质量)。所有属于同一个流的数据包都有相同的流标识;
(4)Payload Length:载荷长度,长度为16bit。基本首部以外的字节数,即单位为byte,包括扩展首部和数据部分;
(5)Next Header:下一首部,长度为8bit。定义了紧跟在基本首部后面的扩展首部的数字标识号或数据部分的协议类型;若没有扩展首部,相当于IPV4(Internet ProtocolVersion 4,网络协议第4版)中的协议字段;若有扩展首部,用来说明紧跟在基本首部后的第一扩展首部的数据标识号,即是扩展首部的类型;每个扩展首部也包含下一首部字段;
(6)Hop Limit:跳数极限,长度为8bit,其作用类似于IPV4的TTL(Time To Live,生存时间)字段;
(7)Source Address:源地址,长度为128bit,标识发送数据包的节点的IPv6地址;
(8)Destination Address:目的地址,长度为128bit,标识接收数据包的节点的IPv6地址;
(9)Next Header:下一首部,长度为8bit,定义紧跟在SRH(Segment RoutingHeader,分段路由首部)后面的首部的协议类型;
(10)Hdr Ext Len:长度为8bit,无符号整数,用于描述SRH基本首部的长度,单位为8byte,不包括开始的8byte;
(11)Routing Type:路由类型,由IANA(Internet Assigned Numbers Authority,互联网数字分配机构)指定;
(12)Segments Left:剩余段的数量,用于标识在段列表中的下一个预处理的段的标号,在每个段被处理之后,该值会减1;
(13)Last Entry:最后入口,用于指示段列表中的最后一个段;
(14)Flags:标记,长度为8bit;
(15)Tag:用于表示该数据包属于的类型或组等,在同一类型或组中数据包用于相同的属性;
(16)Segment List[n]:段列表中的第n个段,为长度为128bit的IPv6地址,用于标识段列表中的第n个段;
(17)Type Length Value(TLV):类型,长度和值。
本发明实施例一提供了一种SRv6数据包的处理方法,在实现了SRv6(IPv6Segment routing,IPv6段路由)的网络中,当一个节点想要向另一个节点发送SRv6数据包、或者位于SR域(Segment Routing Domain,SRD)边界的节点接收到一个非SRv6的数据包,需要转化成SRv6数据包,之后再转发到该SR域中,这时,在该节点中就会执行该处理方法,可以理解的是,该处理方法可以由硬件模块、软件模块或者软硬结合的模块来执行,如图2所示,包括以下步骤:
步骤201:接收到IPv6数据包和SRH(Segment Routing Header,分段路由首部)基本首部;这里,该节点会预先接收或生成IPv6数据包,并且会预先生成SRH基本首部。
步骤202:将所述IPv6数据包中的Next Header字段的值赋值给所述SRH基本首部的Next Header字段;将所述IPv6数据包中的Next Header字段的值修改为43;将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述IPv6数据包中的PayloadLength字段的值增加所述求和结果;
这里,如图1所示,最终需要将SRH基本首部插入到IPv6基本首部的后面,可以理解的是,之后,该IPv6基本首部后面的数据会处于该SRH基本首部的后面,因此,该SRH的NextHeader字段的值需要修改为该IPv6数据包中的Next Header字段的值。由于SRv6的类型值为43(这里,43为十进制数),因此,需要将IPv6基本首部中的Next Header字段的值修改为43。在SRH基本首部中,Hdr Ext Len字段的值的单位为8byte,而在IPv6基本首部中,Payload Length字段的值的单位为byte,因此,需要将Hdr Ext Len字段的值乘以8(即左移3bit位)、在加上8byte得到求和结果,之后需要将该求和结果与该IPv6基本首部中的Payload Length字段求和,并将最终的结果写到该IPv6基本首部中的Payload Length字段。即:拷贝IPv6Hdr.NH到SRH.NH,IPv6Hdr.NH=43,IPv6Hdr.PL+=SRH.HDRLEN<<3+8。
步骤203:将所述SRH基本首部拷贝到所述IPv6数据的基本首部的后面得到SRv6数据包,发送所述SRv6数据包。这里,将SRH基本首部拷贝到IPv6数据的基本首部的后面,则就会得到SRv6数据包了。
优选的,还包括以下步骤:
接收到SRv6数据包;在确定所述SRv6数据包中的Segments Left字段的值等于0时,从所述SRv6数据包的基本首部中删除SRH基本首部,并且将所述SRv6数据包的基本首部的字段Next Header的值修改为所述SRH基本首部中的字段Next Header的值,将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述SRv6数据包的基本首部的Payload Length字段的值减去所述求和结果,得到IPv6数据包;转发所述IPv6数据包。
这里,在SR域中,SRv6数据包每经过一个节点,Segments Left字段的值都减一,直至变为0,当等于0时,需要将SRv6数据包转化成IPv6数据,然后进行转发或直接送至目的节点,该步骤就是将SRv6数据包转化成IPv6数据。
这里,如图1所示,这需要将位于IPv6基本首部的后面的SRH基本首部给删除掉,可以理解的是,该IPv6基本首部中的Next Header字段的值需要修改为SRH基本首部中的NextHeader字段的值。在SRH基本首部中,Hdr Ext Len字段的值的单位为8byte,而在IPv6基本首部中,Payload Length字段的值的单位为byte,因此,需要将Hdr Ext Len字段的值乘以8(即左移3bit位)、在加上8byte得到求和结果,之后,需要该IPv6基本首部中的PayloadLength字段的值减去该求和结果,并将最终的差运算结果写到该IPv6数据包中的PayloadLength字段。即:拷贝SRH.NH到IPv6Hdr.NH,IPv6Hdr.PL-=SRH.HDRLEN<<3+8。
优选的,所述转发所述IPv6数据包,包括:依据预设路由协议获取所述IPv6数据包的出端口,从所述出端口转发所述IPv6数据包。
优选的,还包括以下步骤:
接收到SRv6数据包;在确定所述SRv6数据包中的Segments Left字段的值不等于0时,将Segments Left字段的值减一,将所述IPv6数据包中的IPv6基本首部中的目的地址修改为Segments Left字段的值所指向的Segments List字段中的值;转发所述SRv6数据包。这里,在SR域中,SRv6数据包每经过一个节点,Segments Left字段的值都减一,直至变为0。当不等于0时,如图3A-图3D所示,该SRv6数据包的源地址为2001:7a:78d::1,源节点所规定的路径依次为SRC:2001:7a:78d::41、SRC:2001:7a:78d::31、SRC:2001:7a:78d::21和SRC:2001:7a:78d::11。则Segments Left字段的值可以依次为3、2、1和0,且3对应到SL[3],2对应到SL[2],1对应到SL[1],0对应到SL[0]。
优选的,所述转发所述SRv6数据包,包括:获取所述SRv6数据包中的IPv6基本首部中的目的地址,将所述SRv6数据包发送到所述目的地址。
本发明实施例还提供了一种SRv6数据包的处理装置,包括以下模块:
第一数据接收模块,用于接收到IPv6数据包和SRH基本首部;
第一数据处理模块,用于将所述IPv6数据包中的Next Header字段的值赋值给所述SRH基本首部的Next Header字段;将所述IPv6数据包中的Next Header字段的值修改为43;将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述IPv6数据包中的Payload Length字段的值增加所述求和结果;
第一数据发送模块,用于将所述SRH基本首部拷贝到所述IPv6数据的基本首部的后面得到SRv6数据包,发送所述SRv6数据包。
优选的,还包括以下模块:第二数据接收模块,用于接收到SRv6数据包;第二数据处理模块,用于在确定所述SRv6数据包中的Segments Left字段的值等于0时,从所述SRv6数据包的基本首部中删除SRH基本首部,并且将所述SRv6数据包的基本首部的字段NextHeader的值修改为所述SRH基本首部中的字段Next Header的值,将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述SRv6数据包的基本首部的PayloadLength字段的值减去所述求和结果,得到IPv6数据包;第二数据发送模块,用于转发所述IPv6数据包。
优选的,所述第二数据发送模块,还用于:依据预设路由协议获取所述IPv6数据包的出端口,从所述出端口转发所述IPv6数据包。
优选的,还包括以下模块:第三数据接收模块,用于接收到SRv6数据包;第三数据处理模块,用于在确定所述SRv6数据包中的Segments Left字段的值不等于0时,将Segments Left字段的值减一,将所述IPv6数据包中的IPv6基本首部中的目的地址修改为Segments Left字段的值所指向的Segments List字段中的值;第三数据发送模块,用于转发所述SRv6数据包。
优选的,所述第三数据发送模块,还用于:获取所述SRv6数据包中的IPv6基本首部中的目的地址,将所述SRv6数据包发送到所述目的地址。
本发明实施例二提供了一种硬件处理结构,如图4所示,包括:
(1)Parser模块,该硬件处理框架在接收到IPv6数据包时,会将该IPv6数据包发送给Parser模块,于是该Parser模块就会接收到该IPv6数据包,之后会获取IPv6数据包中位于IPv6基本首部之后的4个字节,即获取Pkt.L4.other[31:0]中存储的数据;
(2)UDF模块,用于依据IPv6基本首部中的Next Header字段以及Pkt.L4.other[31:0]来识别SRv6数据包,即如果IPv6基本首部中的Next Header的值等于43(十进制数)并且SRH基本首部中Routing Type字段的值等于4(即Pkt.L4.other[15:8]等于十进制数4)时,则该IPv6的数据包为SRv6数据包;
当SRH基本首部中的Segments Left字段的值等于0(即Pkt.L4.other[7:0]等于0)时,申请一块长度为16bit的内存区域,记为UDFdata[15:0],将UDFdata[15:0]存储的数据为SRH基本首部中的Next Header字段和Hdr Ext Len的值,即UDFdata[15:0]=Pkt.L4.other[31:16],UDFId=100;
当SRH基本首部中的Segments Left字段的值不等于0(即Pkt.L4.other[7:0]不等于0)时,申请一块长度为16bit的内存区域,记为UDFdata[15:0],将UDFdata[15:0]存储的数据为SRH基本首部中的Next Header字段和Hdr Ext Len的值,即UDFdata[15:0]=Pkt.L4.other[15:0],UDFId=200;
(3)localSIDLookup模块,将该IPv6数据包中的IPv6基本首部中的DestinationAddress和UDFId在localSIDTable中进行查找,查找到配置项;
当Segments Left字段的值等于0时,依据配置项进行以下处理:
A)申请一段长度为8bit的内存,记为payloadStart[7:0],payloadStart[7:0]的值等于SRH基本首部的Next Header字段的位置值(即Pkt.L4.start[7:0]);申请一段长度为8bit的内存,记为payloadLen[7:0],payloadLen[7:0]=8+UDFdata[7:0]<<3,UDFdata[7:0]即SRH的长度,即SRH基本首部中的Hdr Ext Len的值,单位是8byte;Pkt.L4.start[7:0]是位于IPv6基本首部(即PktL3)的末尾,Parser模块中只识别出IPv6基本首部,因此后面就是SRH的位置;
B)在localSIDTable中,该配置项的操作是Remove Packet,即需要从payloadStart[7:0]开始,删除长度是payloadLen[7:0];
C)更新IPv6基本首部中Next Header字段的值修改为SRH基本首部中的NextHeader字段的值;将IPv6基本首部中的Payload Length字段的值减去payloadLen[7:0];即IPv6.PL-=IPv6.PL–SRH.EXTLEN<<3-8;
D)转发报文:如果是直接映射转发,根据配置给出转发出口;如果是根据报文内容转发,需要做环回,获取配置项中的VRF(Virtual Routing Forwarding),出口填写LoopbackPort,重新环回Parser模块后,走正常的转发逻辑,根据IPv6基本首部中Destination Address以及VRF进行转发。
当Segments Left字段的值不等于0时,依据配置项进行以下处理:
A)申请一段长度为8bit的内存,记为payloadStart[7:0],payloadStart[7:0]=Pkt.L3.start[7:0]+(40–8)+UDFdata[7:0]<<4;UDFdata[7:0]是SRH基本首部中的Segments Length字段的值,需要把下一个SID复制到IPv6基本首部中的DestinationAddress的位置;这里,正常逻辑是先做SRH.SL--,然后取SRH.SLlist[SL]就可以了,但是由于硬件做减法不通用,需要做额外逻辑,因此,这里做一个优化:
下一个SID的位置是:Pkt.L3.start[7:0]+40(IPv6HdrLen)+8(SRHBaseLen)+(SL-1)<<4,即Pkt.l3.start[7:0]+32+SL<<4,于是,payloadStart[7:0]=Pkt.l3.start[7:0]+32+UDFdata[7:0]<<4;
B)在localSIDTable中,该配置项的操作是Copy Packet,从payloadStart[7:0]开始,拷贝16字节到IPv6Da位置,完成报文的更新;
C)转发报文:如果是直接映射转发,根据配置给出转发出口;如果是根据报文内容转发,需要做环回,获取配置项中的VRF(Virtual Routing Forwarding),出口填写LoopbackPort,重新环回Parser模块后,走正常的转发逻辑,根据IPv6基本首部中Destination Address以及VRF进行转发。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (10)
1.一种SRv6数据包的处理方法,其特征在于,包括以下步骤:
接收到IPv6数据包和SRH基本首部;
将所述IPv6数据包中的Next Header字段的值赋值给所述SRH基本首部的Next Header字段;将所述IPv6数据包中的Next Header字段的值修改为43;将所述SRH基本首部中的HdrExt Len字段的值左移3位、且与8求和,并将所述IPv6数据包中的Payload Length字段的值增加所述求和结果;
将所述SRH基本首部拷贝到所述IPv6数据的基本首部的后面得到SRv6数据包,发送所述SRv6数据包。
2.根据权利要求1所述的处理方法,其特征在于,还包括以下步骤:
接收到SRv6数据包;
在确定所述SRv6数据包中的Segments Left字段的值等于0时,从所述SRv6数据包的基本首部中删除SRH基本首部,并且将所述SRv6数据包的基本首部的字段Next Header的值修改为所述SRH基本首部中的字段Next Header的值,将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述SRv6数据包的基本首部的Payload Length字段的值减去所述求和结果,得到IPv6数据包;
转发所述IPv6数据包。
3.根据权利要求2所述的处理方法,其特征在于,所述转发所述IPv6数据包,包括:
依据预设路由协议获取所述IPv6数据包的出端口,从所述出端口转发所述IPv6数据包。
4.根据权利要求1所述的处理方法,其特征在于,还包括以下步骤:
接收到SRv6数据包;
在确定所述SRv6数据包中的Segments Left字段的值不等于0时,将Segments Left字段的值减一,将所述IPv6数据包中的IPv6基本首部中的目的地址修改为Segments Left字段的值所指向的Segments List字段中的值;
转发所述SRv6数据包。
5.根据权利要求4所述的处理方法,其特征在于,所述转发所述SRv6数据包,包括:
获取所述SRv6数据包中的IPv6基本首部中的目的地址,将所述SRv6数据包发送到所述目的地址。
6.一种SRv6数据包的处理装置,其特征在于,包括以下模块:
第一数据接收模块,用于接收到IPv6数据包和SRH基本首部;
第一数据处理模块,用于将所述IPv6数据包中的Next Header字段的值赋值给所述SRH基本首部的Next Header字段;将所述IPv6数据包中的Next Header字段的值修改为43;将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述IPv6数据包中的Payload Length字段的值增加所述求和结果;
第一数据发送模块,用于将所述SRH基本首部拷贝到所述IPv6数据的基本首部的后面得到SRv6数据包,发送所述SRv6数据包。
7.根据权利要求6所述的处理装置,其特征在于,还包括以下模块:
第二数据接收模块,用于接收到SRv6数据包;
第二数据处理模块,用于在确定所述SRv6数据包中的Segments Left字段的值等于0时,从所述SRv6数据包的基本首部中删除SRH基本首部,并且将所述SRv6数据包的基本首部的字段Next Header的值修改为所述SRH基本首部中的字段Next Header的值,将所述SRH基本首部中的Hdr Ext Len字段的值左移3位、且与8求和,并将所述SRv6数据包的基本首部的Payload Length字段的值减去所述求和结果,得到IPv6数据包;
第二数据发送模块,用于转发所述IPv6数据包。
8.根据权利要求7所述的处理装置,其特征在于,所述第二数据发送模块,还用于:
依据预设路由协议获取所述IPv6数据包的出端口,从所述出端口转发所述IPv6数据包。
9.根据权利要求6所述的处理装置,其特征在于,还包括以下模块:
第三数据接收模块,用于接收到SRv6数据包;
第三数据处理模块,用于在确定所述SRv6数据包中的Segments Left字段的值不等于0时,将Segments Left字段的值减一,将所述IPv6数据包中的IPv6基本首部中的目的地址修改为Segments Left字段的值所指向的Segments List字段中的值;
第三数据发送模块,用于转发所述SRv6数据包。
10.根据权利要求9所述的处理装置,其特征在于,所述第三数据发送模块,还用于:
获取所述SRv6数据包中的IPv6基本首部中的目的地址,将所述SRv6数据包发送到所述目的地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811219993.6A CN109379359B (zh) | 2018-10-19 | 2018-10-19 | SRv6数据包的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811219993.6A CN109379359B (zh) | 2018-10-19 | 2018-10-19 | SRv6数据包的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109379359A true CN109379359A (zh) | 2019-02-22 |
CN109379359B CN109379359B (zh) | 2021-09-07 |
Family
ID=65400929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811219993.6A Active CN109379359B (zh) | 2018-10-19 | 2018-10-19 | SRv6数据包的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109379359B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110891022A (zh) * | 2019-11-20 | 2020-03-17 | Ut斯达康通讯有限公司 | 基于SRv6的虚拟子网标识符发布方法和装置 |
CN111245723A (zh) * | 2020-03-10 | 2020-06-05 | 盛科网络(苏州)有限公司 | 一种分段路由ipfix的芯片实现方法及装置 |
CN111541612A (zh) * | 2020-04-21 | 2020-08-14 | 清华大学 | 一种发送、接收方法及其装置 |
CN112104552A (zh) * | 2019-06-17 | 2020-12-18 | 华为技术有限公司 | 处理报文的方法、装置及计算机存储介质 |
CN112422435A (zh) * | 2020-11-13 | 2021-02-26 | 新华三技术有限公司合肥分公司 | 报文转发控制方法、装置和电子设备 |
CN112688984A (zh) * | 2019-10-18 | 2021-04-20 | 中国移动通信有限公司研究院 | 一种向网络节点下发及执行指令的方法、设备及介质 |
WO2021088433A1 (zh) * | 2019-11-07 | 2021-05-14 | 华为技术有限公司 | 一种报文的处理方法,装置和系统 |
CN113037651A (zh) * | 2020-12-30 | 2021-06-25 | 网络通信与安全紫金山实验室 | 流量转发的提升QoS的方法、装置、设备及存储介质 |
CN113364677A (zh) * | 2021-06-07 | 2021-09-07 | 北京工业大学 | 一种SRv6 Endpoint故障保护方法 |
WO2021180012A1 (zh) * | 2020-03-11 | 2021-09-16 | 华为技术有限公司 | 一种防止对SRv6 HMAC校验进行重放攻击的方法和设备 |
WO2021213507A1 (zh) * | 2020-04-24 | 2021-10-28 | 中国移动通信有限公司研究院 | 数据包处理的方法及设备 |
CN114338498A (zh) * | 2021-12-28 | 2022-04-12 | 中国电信股份有限公司 | 基于SRv6的报文处理方法、系统、电子设备及介质 |
WO2022078509A1 (zh) * | 2020-10-15 | 2022-04-21 | 中兴通讯股份有限公司 | IPv6报文的扩展头封装方法及装置 |
US11671354B2 (en) | 2021-10-18 | 2023-06-06 | Cisco Technology, Inc. | Collection of segment routing IPV6 (SRV6) network telemetry information |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080037542A1 (en) * | 2001-04-16 | 2008-02-14 | Franck Le | Method and apparatus for classifying ip data |
US20150256456A1 (en) * | 2014-03-06 | 2015-09-10 | Cisco Technology, Inc. | Segment routing extension headers |
CN106330714A (zh) * | 2015-07-02 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现业务功能链的方法和装置 |
CN106411738A (zh) * | 2015-07-30 | 2017-02-15 | 中兴通讯股份有限公司 | Ipv6报文封装的处理方法和装置 |
US20180026884A1 (en) * | 2016-07-21 | 2018-01-25 | Cisco Technology, Inc. | Cloud overlay for operations administration and management |
US20180034727A1 (en) * | 2016-07-28 | 2018-02-01 | Cisco Technology, Inc. | Enhanced error signaling and error handling in a network environment with segment routing |
CN108156077A (zh) * | 2016-12-02 | 2018-06-12 | 中兴通讯股份有限公司 | 一种基于IPv6数据平面的分段路由转发方法及装置 |
EP3355553A1 (en) * | 2017-01-30 | 2018-08-01 | Cisco Technology, Inc. | Reliable load-balancer using segment routing and real-time application monitoring |
-
2018
- 2018-10-19 CN CN201811219993.6A patent/CN109379359B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080037542A1 (en) * | 2001-04-16 | 2008-02-14 | Franck Le | Method and apparatus for classifying ip data |
US20150256456A1 (en) * | 2014-03-06 | 2015-09-10 | Cisco Technology, Inc. | Segment routing extension headers |
CN106330714A (zh) * | 2015-07-02 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现业务功能链的方法和装置 |
CN106411738A (zh) * | 2015-07-30 | 2017-02-15 | 中兴通讯股份有限公司 | Ipv6报文封装的处理方法和装置 |
US20180026884A1 (en) * | 2016-07-21 | 2018-01-25 | Cisco Technology, Inc. | Cloud overlay for operations administration and management |
US20180034727A1 (en) * | 2016-07-28 | 2018-02-01 | Cisco Technology, Inc. | Enhanced error signaling and error handling in a network environment with segment routing |
CN108156077A (zh) * | 2016-12-02 | 2018-06-12 | 中兴通讯股份有限公司 | 一种基于IPv6数据平面的分段路由转发方法及装置 |
EP3355553A1 (en) * | 2017-01-30 | 2018-08-01 | Cisco Technology, Inc. | Reliable load-balancer using segment routing and real-time application monitoring |
Non-Patent Citations (4)
Title |
---|
CISCO: ""C4-187269"", 《3GPP TSG CT WG4 MEETING #86-BIS》 * |
CISCO: "Internet Protocol, Version 6 (IPv6)", 《IETF》 * |
CISCO: "IPv6 segment routing header(SRH)", 《IETF》 * |
R. HINDEN: "Internet Protocol, Version 6 (IPv6) Specification", 《IETF》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112104552A (zh) * | 2019-06-17 | 2020-12-18 | 华为技术有限公司 | 处理报文的方法、装置及计算机存储介质 |
CN112688984B (zh) * | 2019-10-18 | 2023-11-24 | 中国移动通信有限公司研究院 | 一种向网络节点下发及执行指令的方法、设备及介质 |
CN112688984A (zh) * | 2019-10-18 | 2021-04-20 | 中国移动通信有限公司研究院 | 一种向网络节点下发及执行指令的方法、设备及介质 |
WO2021088433A1 (zh) * | 2019-11-07 | 2021-05-14 | 华为技术有限公司 | 一种报文的处理方法,装置和系统 |
CN110891022A (zh) * | 2019-11-20 | 2020-03-17 | Ut斯达康通讯有限公司 | 基于SRv6的虚拟子网标识符发布方法和装置 |
CN110891022B (zh) * | 2019-11-20 | 2021-11-16 | Ut斯达康通讯有限公司 | 基于SRv6的虚拟子网标识符发布方法和装置 |
CN111245723A (zh) * | 2020-03-10 | 2020-06-05 | 盛科网络(苏州)有限公司 | 一种分段路由ipfix的芯片实现方法及装置 |
CN111245723B (zh) * | 2020-03-10 | 2022-06-24 | 苏州盛科通信股份有限公司 | 一种分段路由ipfix的芯片实现方法及装置 |
WO2021180012A1 (zh) * | 2020-03-11 | 2021-09-16 | 华为技术有限公司 | 一种防止对SRv6 HMAC校验进行重放攻击的方法和设备 |
CN111541612A (zh) * | 2020-04-21 | 2020-08-14 | 清华大学 | 一种发送、接收方法及其装置 |
WO2021213507A1 (zh) * | 2020-04-24 | 2021-10-28 | 中国移动通信有限公司研究院 | 数据包处理的方法及设备 |
WO2022078509A1 (zh) * | 2020-10-15 | 2022-04-21 | 中兴通讯股份有限公司 | IPv6报文的扩展头封装方法及装置 |
CN112422435B (zh) * | 2020-11-13 | 2022-03-25 | 新华三技术有限公司合肥分公司 | 报文转发控制方法、装置和电子设备 |
CN112422435A (zh) * | 2020-11-13 | 2021-02-26 | 新华三技术有限公司合肥分公司 | 报文转发控制方法、装置和电子设备 |
CN113037651A (zh) * | 2020-12-30 | 2021-06-25 | 网络通信与安全紫金山实验室 | 流量转发的提升QoS的方法、装置、设备及存储介质 |
CN113364677A (zh) * | 2021-06-07 | 2021-09-07 | 北京工业大学 | 一种SRv6 Endpoint故障保护方法 |
US11671354B2 (en) | 2021-10-18 | 2023-06-06 | Cisco Technology, Inc. | Collection of segment routing IPV6 (SRV6) network telemetry information |
CN114338498A (zh) * | 2021-12-28 | 2022-04-12 | 中国电信股份有限公司 | 基于SRv6的报文处理方法、系统、电子设备及介质 |
CN114338498B (zh) * | 2021-12-28 | 2024-04-09 | 中国电信股份有限公司 | 基于SRv6的报文处理方法、系统、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109379359B (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109379359A (zh) | SRv6数据包的处理方法和装置 | |
US11374848B2 (en) | Explicit routing with network function encoding | |
CN113055289B (zh) | 基于业务功能链sfc的报文转发方法、装置和系统 | |
US8913617B1 (en) | Packet processor for altering a header portion of a data packet | |
WO2022117092A1 (zh) | 一种基于SRv6 SID的时延测量方法及装置 | |
US7680943B2 (en) | Methods and apparatus for implementing multiple types of network tunneling in a uniform manner | |
US7697544B1 (en) | Multi-protocol label switching in a network device | |
US8320374B2 (en) | Method and apparatus for improved multicast routing | |
JP5189512B2 (ja) | パケット転送方法及びノード装置 | |
US8345700B2 (en) | Embedding of MPLS labels in IP address fields | |
CN106464590A (zh) | 一种获取路径信息的方法及装置 | |
WO2022062506A1 (zh) | 一种数据处理方法、装置、存储介质及电子装置 | |
US20090207860A1 (en) | Method, apparatus and system for transferring data | |
JP2021515456A (ja) | 統一srラベルスタックを用いてメッセージ処理を行う方法および装置 | |
CN100499579C (zh) | 对ipv4分片报文进行通用路由封装的方法 | |
WO2021088813A1 (zh) | 报文封装方法及装置、报文解封装方法及装置 | |
WO2020249035A1 (zh) | 一种实现业务功能处理的方法及装置 | |
US9729431B1 (en) | Using standard fields to carry meta-information | |
US10841111B2 (en) | Forwarding multicast data packets using bit index explicit replication (BIER) for BIER-incapable network devices | |
CN112653622B (zh) | 一种SRv6 uSID转发方法及装置 | |
US20190386837A1 (en) | Forwarding multicast data packets using bit index explicit replication (bier) for bier-incapable network devices | |
US8743907B1 (en) | Apparatus for reassembling a fragmented data unit and transmitting the reassembled data unit | |
US10171368B1 (en) | Methods and apparatus for implementing multiple loopback links | |
CN115037675A (zh) | 一种报文转发方法及装置 | |
CN114079640B (zh) | 一种数据处理方法、用户面功能及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Applicant after: Suzhou Shengke Communication Co.,Ltd. Address before: Xinghan Street Industrial Park of Suzhou city in Jiangsu province 215021 B No. 5 Building 4 floor 13/16 unit Applicant before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |