CN116489237A - 数据包处理方法、装置及网络设备 - Google Patents
数据包处理方法、装置及网络设备 Download PDFInfo
- Publication number
- CN116489237A CN116489237A CN202210037301.6A CN202210037301A CN116489237A CN 116489237 A CN116489237 A CN 116489237A CN 202210037301 A CN202210037301 A CN 202210037301A CN 116489237 A CN116489237 A CN 116489237A
- Authority
- CN
- China
- Prior art keywords
- data packet
- functions
- network device
- information
- srh
- 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.)
- Pending
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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
- H04L45/037—Routes obligatorily traversing service-related nodes
- H04L45/0377—Routes obligatorily traversing service-related nodes for service chaining
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种数据包处理方法、装置及网络设备,涉及数据包处理技术领域。该方法,由第一网络设备执行,包括:接收第二网络设备发送的数据报文信息,所述数据报文信息中携带数据包;根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息;在预设流表中确定与所述功能标识信息对应的目标动作,对所述数据包执行所述目标动作。上述方案,使得一个网络设备能够对数据包执行多次动作。
Description
技术领域
本申请涉及数据包处理技术领域,特别涉及一种数据包处理方法、装置及网络设备。
背景技术
在使用IPv6段路由(Segment Routing IPv6,SRv6)用户面技术时,由于分段标识(Segment ID,SID)字段功能(Function)的限制,其SID的单个Function无法满足某一设备对数据包处理两次或两次以上。当某一设备需要对数据包连续处理两次或多次以上时,SRv6的SID便不能完成对这些数据包的处理。如何基于现有SRv6用户面技术,实现某一设备对数据包的多次处理,是一个亟待解决的问题。
发明内容
本申请实施例提供一种数据包处理方法、装置及网络设备,以解决现有技术中无法实现一个网络设备对数据包的多次处理的问题。
为了解决上述技术问题,本申请实施例提供一种数据包处理方法,由第一网络设备执行,包括:
接收第二网络设备发送的数据报文信息,所述数据报文信息中携带数据包;
根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息;
在预设流表中确定与所述功能标识信息对应的目标动作,对所述数据包执行所述目标动作。
可选地,所述根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息,包括以下一项:
在所述第一网络设备对应的分段标识中的功能字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息,所述第一网络设备对应的分段标识位于所述数据报文信息中的分段路由报文头SRH中;
在所述数据报文信息中的SRH中的类型长度取值TLV字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息。
可选地,通过所述功能字段中的不同比特位指示所述至少两个功能的功能标识信息;或者
通过所述功能字段中的相同比特位指示所述至少两个功能的功能标识信息。
可选地,所述数据报文信息中的SRH中的标志字段用于指示是否存在至少一个分段标识对应多个功能,在所述数据报文信息中的SRH中的标志字段指示存在至少一个分段标识对应多个功能的情况下,所述数据报文信息中的标签字段用于指示所述至少一个分段标识以及其对应的多个功能的个数。
可选地,在所述第一网络设备对所述数据包待执行的功能的个数大于预设值的情况下,所述数据报文信息中的SRH中包括与所述第一网络设备对应的至少两个分段标识;
其中,所述预设值为所述第一网络设备对应的一个分段标识所指示的功能的个数的最大值。
本申请实施例还提供一种网络设备,所述网络设备为第一网络设备,包括存储器,收发机,处理器;
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
通过收发机接收第二网络设备发送的数据报文信息,所述数据报文信息中携带数据包;
根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息;
在预设流表中确定与所述功能标识信息对应的目标动作,对所述数据包执行所述目标动作。
可选地,所述处理器,用于读取所述存储器中的计算机程序并执行以下操作中的一项:
在所述第一网络设备对应的分段标识中的功能字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息,所述第一网络设备对应的分段标识位于所述数据报文信息中的分段路由报文头SRH中;
在所述数据报文信息中的SRH中的类型长度取值TLV字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息。
可选地,通过所述功能字段中的不同比特位指示所述至少两个功能的功能标识信息;或者
通过所述功能字段中的相同比特位指示所述至少两个功能的功能标识信息。
可选地,所述数据报文信息中的SRH中的标志字段用于指示是否存在至少一个分段标识对应多个功能,在所述数据报文信息中的SRH中的标志字段指示存在至少一个分段标识对应多个功能的情况下,所述数据报文信息中的标签字段用于指示所述至少一个分段标识以及其对应的多个功能的个数。
可选地,在所述第一网络设备对所述数据包待执行的功能的个数大于预设值的情况下,所述数据报文信息中的SRH中包括与所述第一网络设备对应的至少两个分段标识;
其中,所述预设值为所述第一网络设备对应的一个分段标识所指示的功能的个数的最大值。
本申请实施例还提供一种数据包处理装置,应用于第一网络设备,包括:
接收单元,用于接收第二网络设备发送的数据报文信息,所述数据报文信息中携带数据包;
获取单元,用于根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息;
执行单元,用于在预设流表中确定与所述功能标识信息对应的目标动作,对所述数据包执行所述目标动作。
本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行上述的方法。
本申请的有益效果是:
上述方案,通过在数据报文信息中携带多个功能的功能标识信息,使得一个网络设备能够对数据包执行多次动作,从而能够实现灵活性好、降低成本、减少时延、节省开销等有益效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1表示SRH扩展头的格式示意图;
图2表示SRH中的三层编程空间示意图;
图3表示TLV的格式示意图;
图4表示本申请实施例的的数据包处理方法的流程示意图;
图5表示具体应用情况一和二的网络拓扑图;
图6表示具体应用情况一的数据包转发流程及每一跳的报头变化示意图;
图7表示具体应用情况二的数据包转发流程及每一跳的报头变化示意图;
图8表示本申请实施例的数据包处理装置的单元示意图;
图9表示本申请实施例的网络设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例,例如除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面结合附图介绍本申请的实施例。本申请实施例提供的数据包处理方法、装置及网络设备可以应用于无线通信系统中。该无线通信系统可以为采用第五代(5thGeneration,5G)移动通信技术的系统(以下均简称为5G系统),所述领域技术人员可以了解,5G NR系统仅为示例,不为限制。
首先对与本申请实施例相关的一些概念进行说明如下。
一、IPv6段路由(Segment Routing IPv6,SRv6)
SRv6是SR技术在IPv6网络的应用。SRv6通过在IPv6报文中插入一个路由扩展头分段路由报文头(Segment Routing Header,SRH),并在SRH中添加路径所要经过的所有段的SID,即SID List,来显式指定该报文的转发路径。SRv6的出现是一个巨大的创新,它结合软件定义网络(Software-defined networking,SDN)技术使能可编程的网络,这为云网时代的网络基础服务、增值网络服务提供了创新的土壤。
SRv6技术使用128bit的IPv6地址作为Segment ID(SID),以其极简可编程的特性,实现了任意接入和任意连接,可灵活满足各种网络业务需求,同时提供更高的可靠性和可扩展性,将成为新一代IP承载网的核心技术。在SRv6中,SID用来定义某种网络功能、代表某种网络指令。SRv6 SID采用IPv6地址形式,但不与任何设备上的接口地址对应。其格式如表1所示:
表1 SRv6 SID格式
Locator | Function | Arguments |
其中,Locator是分配给一个网络节点的标识,用于路由和转发数据包,在SRv6SID中Locator是一个可变长的部分,用于适配不同规模的网络。Function是用来表达该指令要执行的转发动作,相当于计算机指令的操作码,在SRv6网络编程中,不同的转发行为由不同的Function来表达,SRv6 SID节点行为(Endpoint Behaviors)即SID中的Function。Arguments是指令在执行的时候所需要的参数。这些参数可能包含流,服务或任何其他相关的信息。例如:定义一个对网络报文进行报文分片的指令,就可以在Arguments携带报文的分片长度。
需要说明的是,只要保证Locator+Function+Arguments<=128即可,未规定每部分所占的位数。
二、SRv6 Endpoint Behaviors
SRv6网络编程标准中,SRv6节点(Endpoint)通过本地定义的行为(Behavior)处理SRv6报文。SRv6定义了多种Endpoint Behavior,每个节点需要实例化它们和分配SID,并通过路由协议公布,以便外部了解节点所能提供的Behavior。常用的Endpoint Behavior有END、END.X、END.DT4、END.DT6、End.B6.Encaps、H.Encaps、End.DX4等,实现Underlay选路、Overlay业务承载、流量工程、服务链等功能。Endpoint Behavior对应的处理逻辑,这里不做具体介绍。
三、SRv6扩展头设计
为了基于IPv6转发平面实现Segment Routing,IPv6路由扩展报文头新增加一种类型,称为SRH(Segment Routing Header,分段路由报文头),该扩展报文头指定一个IPv6显式路径,存储IPv6的路径约束信息(Segment List)。
源节点在IPv6报文中增加一个SRH扩展头,中转节点就可以按照SRH扩展头里包含的路径信息进行转发。SRH扩展头的格式如图1所示。
其中,IPv6基本头中Next Header取值为43,表明下一个报文头为路由扩展头。路由扩展头的路由类型字段取值为4,表明该路由扩展头为SRH。SRH主要包含以下几个部分,如表2所示:
表2 SRH报文头部字段
四、SRv6三层编程空间
SRv6的网络可编程性体现在SRH扩展头中。SRH中有三层编程空间如图2所示:
第一部分是由Segment List构成的路径信息,是可以编程的,它可以将多个Segment组合起来,形成SRv6路径。
第二部分是对SRv6 SID的128比特的运用。SRv6的每个Segment是128比特长,可以灵活分为多段,每段的长度也可以变化,由此具备灵活编程能力。
第三部分是紧接着Segment序列之后的可选TLV(Type-Length-Value)。报文在网络中传送时,需要在转发面封装一些非规则的信息,它们可以通过SRH中TLV的灵活组合来完成。
SRv6通过三层编程空间,具备了更强大的网络编程能力,可以更好地满足不同的网络路径需求。
五、SRH TLVS
TLV提供用于段处理的元数据,目前定义的唯一TLV是HMAC和填充TLV,将来可能会定义其他TLV。在处理定义的SID时,除非本地配置另有说明,否则将忽略所有TLV。因此,对于任何实施方式,TLV和HMAC支持都是可选的。但是,添加或解析TLV的实现必须支持PADTLVs。其他文档可能会定义其他TLV和处理规则。
当Hdr Ext Len大于(Last Entry+1)×2时,将显示TLV。
在段端点处处理TLV时,TLV MUST完全包含在Hdr Ext Len确定的SRH中。检测到超出SRH Hdr Ext Len边界的TLV会导致ICMP参数问题代码0,向源地址发送消息,指向SRH的Hdr Ext Len字段,并且数据包被丢弃。
TLV的格式的如图3所示。
Type:来自“段路由头TLV”IANA-SRHTLV的8位代码点,无法识别的类型在收到时必须被忽略。
Length:可变长度数据字段的长度(以字节为单位)。
Variable-length data:类型专用的数据。
类型长度值(TLV)条目包含可选信息,该信息可以由数据包的目标地址(DA)中标识的节点使用。
每个TLV都有自己的长度,格式和语义。(由IANA)分配给每个TLV类型的代码点定义了TLV中携带的信息的格式和语义。多个TLV可以在同一SRH中进行编码。
TLV类型的最高位(bit 0)指定该类型的TLV数据是否可以在到达数据包最终目的地的途中更改:
0:途中TLV数据不变;
1:TLV数据在途中确实发生了变化。
所有TLVs均使用xn+y格式指定其对齐要求。xn+y格式是根据RFC8200定义的。在构造SRH时,SR源节点使用TLV和填充TLV的xn+y对齐要求。
TLV的“长度”字段用于在检查SRH时跳过TLV,以防节点不支持或无法识别类型。长度以字节为单位定义TLV长度,不包括“类型”和“长度”字段。
当设备需要对数据包多次处理或多功能处理时,通常使用以下两种方法:
1)对设备下发多级流表,对数据包进行多次处理。
2)增加设备,经第三方设备处理后再转回到当前设备处理。
目前,现有技术一定程度上能满足对数据包的多次处理传输,但是其依然存在许多问题:
1、灵活性差,不能根据需求对数据包的转发处理进行调整。
2、成本高,需要额外的设备来满足对数据包不同的处理需求。
3、时延大,经多个设备处理后,会增大数据包的传输时延。
4、开销大,经过头节点压入多个SID实现对数据包的处理,增大了数据包的开销率。
5、流表容量有限,设备所能容纳的流表数量是有限的,如果对设备下发的流表过多,将超过设备的容量范围。
本申请实施例提供了一种数据包处理方法、装置及网络设备,用以解决现有技术中无法实现一个网络设备对数据包的多次处理的问题,且解决了对数据包的多次处理传输的方式存在灵活性差、成本高、时延大、开销大以及流表容量有限等问题。
其中,方法和装置是基于同一申请构思的,由于方法和装置解决问题的原理相似,因此装置和方法的实施可以相互参见,重复之处不再赘述。
如图4所示,本申请实施例提供一种数据包处理方法,由第一网络设备执行,包括:
步骤S401,接收第二网络设备发送的数据报文信息;
需要说明的是,所述数据报文信息中携带数据包;
步骤S402,根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息;
这里需要说明的是,该数据报文信息中携带功能标识信息,第一网络设备依据该功能标识信息在查找预设流表之后便可知道自己需要对数据包执行何种动作(或者执行何种操作、或执行何种功能处理)。
步骤S403,在预设流表中确定与所述功能标识信息对应的目标动作,对所述数据包执行所述目标动作。
这里需要说明的是,因第一网络设备上可能会实现多种功能,即第一网络设备能够执行多种功能,但是,在此次业务处理过程中,第一网络设备可能只需要执行某几个功能,数据报文信息中便指示第一网络设备需要执行的功能的索引(即功能标识信息),而对于每个功能具体对应何种动作是由预设流表定义的,该预设流表指的便是由控制器下发给第一网络设备,用于进行功能的索引与动作的对应关系的定义,也就是说,该预设流表包括功能的索引以及与索引对应的动作。具体地,第一网络设备在获取到功能标识信息后,需要在预设流表中查找每个功能标识信息对应的动作,在获取到功能标识信息对应的动作之后,便对数据包执行该动作。
例如,第一网络设备在数据报文信息中获取到两个功能标识信息分别为:功能索引A和功能索引B;预设流表中定义了索引A对应的动作为动作1,索引B对应的动作为动作2,索引C对应的动作为动作3,第一网络设备在查找预设流表后确定需要执行动作1和动作2,则第一网络设备便对数据包执行索引A和功能索引B分别对应的动作1和动作2。
需要说明的是,本申请实施例中所提到的动作例如可以为H.Encaps(即在外层加上IPv6以及SRH的报头)、End(即Segment Left减1,并根据Segment列表更新IPv6的目的地址)、End.DX4(即剥掉外层的IPv6报头,将内含的IPv4数据包发给对应的设备)、IDS(即对数据报文做入侵检测)等。
这里需要说明的是,该第一网络设备和第二网络设备均指的是数据包转发过程中的转发设备。这些转发设备均连接到控制器(例如,SDN控制器),由控制器进行统一管理。
可选地,本申请的至少一个实施例中步骤S402的实现方式可以采用如下一项:
A11、在所述第一网络设备对应的分段标识(SID)中的功能字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息;
需要说明的是,该第一网络设备对应的分段标识位于所述数据报文信息中的分段路由报文头(SRH)中。
也就是说,此种情况下,功能标识信息是由SRH中的SID中的功能(Function)字段指示的。
一种可选地情况下,通过所述功能字段中的不同比特位指示所述至少两个功能的功能标识信息。进一步需要说明的是,所述数据报文信息中的SRH中的标志(Flags)字段用于指示是否存在至少一个SID对应多个功能,在所述数据报文信息中的SRH中的Flags字段指示存在至少一个SID对应多个功能的情况下,所述数据报文信息中的标签(Tag)字段用于指示所述至少一个分段标识以及其对应的多个功能的个数。
例如,可通过SRH头部中的Flags和Tag字段标识是否存在多个Function以及Function的数量:如Flags字段为0,则表示所有的SID只有一个Function;若为1,则表示某个SID存在多个Function;进一步地,可根据Tag的值来确定哪个SID存在多个Function以及多个Function的具体数量,若按照多个Function处理数据包时,如果需要额外的参数,可以在参数(Arguments)字段定义参数。如有优先级,则按着优先级处理数据包;如没有优先级,则按照定义的执行顺序处理数据包。扩展后的SRv6 SID格式如表3所示:
表3 功能扩展后的SRv6 SID格式
Locator | Function1 | Function2 | ....... | Arguments |
此种情况下,指的是把SID原定义的一个Function根据功能以及数量需求定义为两个或多个Function(s),只要保证Locator+Function(s)+Arguments<=128比特,当三者的长度和小于128比特时,SID的其余位数可设置为0。
具体地,当转发设备(例如SRv6节点)收到IPv6报文之后,会根据IPv6 DA(Destination Adddress)查找SID,当获取到SID中所携带的功能标识信息时,则查找流表执行与功能标识信息对应的动作;当非SRv6的转发设备收到IPv6报文之后,会根据IPv6 DA(Destination Adddress)查找全局路由表,根据全局路由表所指示的下一跳进行IPv6报文的转发。
此种情况的具体实现过程为:首先,定义SRv6 SID Endpoint Behaviors,即SID中的Function,是对数据包的转发处理逻辑和执行命令,对需要多次处理的数据报文的网络设备,通过在网络设备上配置或定义扩展的SRv6 SID Endpoint Behaviors;然后,应用层或SDN控制器等功能收到数据流的业务请求后,执行如下流程:根据对不同设备定义的不同配置下发或填充流表,数据报文中的功能标识信息与流表进行匹配,当数据报文中的功能标识信息匹配到流表中的索引时,进入动作域(需要说明的是,动作域指的是一系列数据报文处理动作的集合,本申请中指SRv6数据包中定义的SID的Function部分),执行动作域中定义的SRv6 SID Endpoint Behaviors。定义的SRv6 SID Endpoint Behaviors可能是协议规定的基本操作,也可能是对SID的Function扩展后的操作,实现了对数据包的基本功能加扩展功能处理,即多次处理。
另一种可选地情况下,通过所述功能字段中的相同比特位指示所述至少两个功能的功能标识信息,也就是说,此种情况下,对SID中的Function字段赋予新编号,即一个新编号能够表示多个功能,对于需要执行多Function的网络设备,可在SID中的Function字段使用协议中未分配的编号,目前协议中未分配的编号为40-32766,即使用这些未分配的编号标识要执行多个Function的处理转发,例如:可使用编号40标识要执行2个Function,使用编号41要执行3个Function等等,具体使用哪个编号以及标识的Function数量可根据用户需求定义,使用新标识的SRv6 SID格式如表4所示:
表4 未分配编号标识的SRv6 SID格式
Locator | Function(40-32766) | Arguments |
此种情况的具体实现过程为:首先,可通过特定信令(比如:通过扩展SRv6的BGP协议)定义多个Function的列表(list)(list中包括至少一个功能对应的功能标识),并给予这些Function的list新编号(如上面说的未分配的40-32766编号),即每个新编号对应一个Function list(Function列表中包括至少两个Function),此Function list定义了网络设备对数据包的处理逻辑,控制器通过特定信令把新定义的Function list下发到网络设备上,下发到网络设备上的定义Function list可以是多个也可以是此网络设备要执行的单个Function list;然后当数据包到达网络设备时,根据数据包的SID中Function字段携带的新编号进行网络设备中提前定义或配置的Function list的新编号的匹配,当匹配到新编号对应的Function list后,指示网络设备执行对应的Function list,即网络设备根据Function list中的每一个Function的功能标识信息在流表中查找相应的动作,进而根据需求完成对数据包的多次处理。
A12、在所述数据报文信息中的SRH中的类型长度取值(TLV)字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息,所述数据报文信息中的SRH中的与所述第一网络设备对应的分段标识中的功能字段与所述TLV字段中的功能标识信息存在关联关系。
需要说明的是,此种情况下,功能标识信息是由SRH中的TLV字段指示的,可选地,因TLV字段中可能存在多个转发设备对应的功能标识信息,为了能够准确的将功能标识信息与转发设备对应,该TLV字段中的功能标识信息应当与SID中的功能字段是关联的,例如,TLV字段中定义了一个或多个功能标识信息的列表,SID中的功能字段中指的是功能标识信息的列表的编号。
例如,可通过在SRH头部的可选字段TLV中定义Function list编号及内容(包括哪些Function及其执行顺序),在SID里的Function部分指示去可选的TLV中获取该functionlist编号所具体应执行的function list并执行,目前协议定义的TLV只有HMAC和填充TLV,此情况可通过定义新的TLV来标识多个Function,例如可以叫作MFUN。
可选地,此种情况下的具体实现方式可以为:
根据所述数据报文信息中的SRH中的SRH头的长度与分段列表的最后一个元素的索引之间的关系,确定SRH中是否存在类型长度取值TLV字段;
在确定所述数据报文信息中的SRH中存在TLV字段的的情况下,在所述数据报文信息的SRH中的TLV字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息。
需要说明的是,因TLV字段是可选字段,在本申请中当SRH中包含TLV字段便说明需要在TLV字段中获取功能标识信息,可选地,所述根据所述数据报文信息中的SRH中的SRH头的长度与分段列表的最后一个元素的索引之间的关系,确定SRH中是否存在类型长度取值TLV字段的实现方式为:
若N1大于(N2+1)×2,则确定SRH中存在类型长度取值TLV字段;
其中,N1为SRH头的长度,N2为分段列表的最后一个元素的索引。
也就是说,当满足上述条件时,网络设备便需要检查TLV字段,进而获取到功能标识信息。
此种情况的具体实现过程为:首先,配置指示网络设备要处理SRH头部中的可选部分TLV,可通过SRH头部中SRH头的长度(Hdr Ext Len)和分段列表的最后一个元素的索引(Last Entry)的关系标识SRH头部中是否包含TLV,即当Hdr Ext Len大于(Last Entry+1)×2时,将显示TLV,指示网络设备要处理TLV;然后TLV字段中定义相关的function list编号(40-32766)及内容(包括哪些Function及其执行顺序),网络设备根据SID中的Function字段指示去匹配TLV字段中定义的Function list,匹配成功后,执行对应的functionlist,进而完成对数据包的多次处理。
需要说明的是,上述是以Function数量较少未超过128比特为例进行说明的,当Function数量较多超过128比特时,即一个转发设备对应的SID不能表示其所有的待执行的功能的情况下,可以将128比特容置不了的功能用另外一个SID进行表示,当另外一个SID还不能表示其剩余的所有的待执行的功能的情况下,还可以再次引入另外一个SID进行表示,依此类推;也就是说此种情况下,一个转发设备会对应至少两个SID。
也就是说,在所述第一网络设备对所述数据包待执行的功能的个数大于预设值的情况下,所述数据报文信息中的SRH中包括与所述第一网络设备对应的至少两个分段标识;
其中,所述预设值为所述第一网络设备对应的一个分段标识所指示的功能的个数的最大值。
也就是说,针对Locator+Function+Arguments<=128比特的情况,可以支持在H-1个Function的情况下,保证SID总长度不大于128比特;但若要执行H个Function,就会导致SID的总长度大于128比特,在这种情况下,可以使用现有技术,即增加SID的数量,把第H个Function用单独的SID定义,进而实现H个Function的功能。
下面对本申请的具体应用进行举例说明如下。
具体应用情况一、入侵检测
假设使两台仅支持IPv4的主机(主机a和b),通过SRv6实现流量工程和入侵检测,拓扑图如图5所示。
图5中路由器R1、R3和R4为支持SRv6的路由器(即上面提到的转发设备),R2为仅支持IPv6的路由器,通过静态配置实现静态路由,路由器与路由器之间仅通过IPv6实现互通。
在此种应用情况下,目的是让主机a与主机b实现IPv4互通,并让数据包经由R3路由器,同时在R3路由器实现SRv6数据流入侵检测,从而实现流量工程+入侵检测。详细的数据包转发流程及每一跳的报头变化如图6所示,图6中报文上的数字表示数据包在网络中的转发顺序。
需要说明的是,图6中的Segment列表是逆序排列的,即排在列表的第一个Segment是路径上的最后一跳,排在列表的最末位Segment是路径的第一跳。
详细实现过程为:
步骤S11、首先定义网络设备对数据包的转发处理逻辑,即定义了R1、R3、R4对数据包的处理逻辑,并下发到不同的网络设备中,由SDN控制器控制网络设备,下发流表等。
步骤S12、当主机a发出的数据业务流,到达支持SRv6的路由器R1时,控制器根据业务流对R1下发,R1会对匹配到的数据报文根据所配置的操作对数据包进行封装,匹配字段为:主机a的IP地址,执行动作为:H.Encaps;即在外层加上IPv6以及SRH的报头,IPv6头部的源IP为R1的地址、目的地址为R3的IP地址,其中SRH的报头中包含了对应R3、R4地址的SID(即R3::a和R4::a),并进行正常的IPv6转发。经R1处理后的数据包转发到R2,R2会对匹配到的数据报文,根据配置的静态路由,基于目的IPv6地址进行转发。
步骤S13、当数据包到达R3,R3对获取到的数据包对应的功能标识信息按照下发的流表执行定义的动作(具体地,R3根据接收到的数据报文按照目的地址(目的地址为:R3的IP地址)匹配到对应的SID,然后根据SID中的功能字段获取功能标识信息,之后通过查找流表确定具体的动作),动作为:End.IDS,此R3对应的SID定了两个Function(s),一是基本功能,即将Segment Left减1,并根据Segment列表更新IPv6的目的地址,将数据包转发至下一跳R4;二是基于对End操作做功能扩展,完成对经过R3匹配到的SRv6数据报文做入侵检测(IDS)。关于入侵检测扩展功能和SID的基本功能的先后执行顺序,如定义功能时有优先级,则按优先级执行;如无优先级则按定义功能的先后顺序执行。
步骤S14、在支持SRv6的路由器R4,R4对获取到的数据包对应的功能标识信息按照下发的流表执行定义的动作,动作为:End.DX4;即剥掉外层的IPv6报头,将内含的IPv4数据包发给主机b,完成转发流程。
需要注意的是,此种情况中提到的End.IDS是经定义后的对End功能扩展后的SRv6Endpoint Behaviors,在不增加设备的情况下实现了End操作和入侵检测,且具体在哪个设备实现入侵检测不限于此种应用情况中的R3,可根据需求组网进行设计。H.Encaps、End、End.DX4是SRv6协议规定的基本SRv6 Endpoint Behaviors。以上涉及到的流表下发或填充皆由应用层或SDN控制器执行。
具体应用情况二、安全加密
假设使两台仅支持IPv4的主机(主机a和b),通过SRv6实现流量工程和安全加密,拓扑图如图5所示。
图5中路由器R1、R3和R4为支持SRv6的路由器(即上面提到的转发设备),R2为仅支持IPv6的路由器,通过开源软件实现静态路由,路由器与路由器之间仅通过IPv6实现互通。
在此种应用情况下,目的是让主机a与主机b实现IPv4互通,并让数据包经由R4路由器,同时在R4路由器实现SRv6数据流安全加密,从而实现流量工程+安全加密。详细的数据包转发流程及每一跳的报头变化如图7所示,图7中报文上的数字表示数据包在网络中的转发顺序。
需要说明的是,图7中的Segment(SID)列表是逆序排列的,即排在列表的第一个Segment(SID)是路径上的最后一跳,排在列表的最末位Segment(SID)是路径的第一跳。
详细实现过程为:
步骤S21、首先定义网络设备对数据包的转发处理逻辑,即定义了R1、R3、R4对数据包的处理逻辑,并下发到不同的网络设备中,由SDN控制器控制网络设备,下发流表等。
步骤S22、当主机a发出的数据业务流,到达支持SRv6的路由器R1时,控制器根据主机a的业务流对R1下发流表,R1会对匹配到的数据报文根据所配置的操作和流表对数据包进行封装,匹配字段为:主机a的IP地址,执行动作为:H.Encaps;即在外层加上IPv6以及SRH的报头,IPv6头部的源IP为R1的地址、目的地址为R3的IP地址,其中SRH的报头中包含了对应R3、R4地址的SID(即R3::a和R4::a),并进行正常的IPv6转发。经R1处理后的数据包转发到R2,R2会对匹配到的数据报文,根据配置的静态路由,基于目的IPv6地址进行转发。
步骤S23、当数据包到达R3,R3对获取到的数据包对应的功能标识信息按照下发的流表执行定义的动作,动作为:End;即将Segment Left减1,并根据Segment列表更新IPv6的目的地址,将数据包转发至下一跳R4。
步骤S24、在支持SRv6的路由器R4,R4对获取到的数据包对应的功能标识信息按照下发的流表执行定义的动作,动作为:End.DX4SE;此R4对应的SID定了两个Function(s),一是基本功能,即剥掉外层的IPv6报头;二是基于对End.DX4操作做功能扩展,完成对经过R4的SRv6数据流做IP层安全加密,将经过加密后的内含的IPv4数据包发给主机b,完成转发流程。关于安全加密扩展功能和SID的基本功能的先后执行顺序,如定义功能时有优先级,则按优先级执行;如无优先级则按定义功能的先后顺序执行。
需要注意的是,此种情况中提到的End.DX4SE是经定义后的对End.DX4功能扩展后的SRv6 Endpoint Behaviors,在不增加设备的情况下实现了安全加密,且具体在哪个设备实现安全加密不限于此种应用情况中的R4,可根据需求进行组网设计。H.Encaps、End、End.DX4是SRv6协议规定的基本SRv6 Endpoint Behaviors。以上涉及到的流表下发或填充皆由应用层或SDN控制器执行。
需要说明的是,本申请实施例能够达到如下有益效果:
1、灵活性好:可根据需求对定义对数据包的多功能处理。
2、减少成本:此申请无需增加额外的设备资源即可完成对数据包的多次处理。
3、减少时延:当前设备对数据包连续多次处理相比于经过第三方设备处理后再回到当前设备处理大大减少了时延。
4、节省开销率:通过对SID功能的扩展,在完成相同处理需求的情况下减少了SID的数量,进而减少了数据包的开销,增大了数据包的有效利用率。
5、减少流表数量:下发一级流表即可完成对数据包的多次处理。
如图8所示,本申请实施例提供一种数据包处理装置800,应用于第一网络设备,包括:
接收单元801,用于接收第二网络设备发送的数据报文信息,所述数据报文信息中携带数据包;
获取单元802,用于根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息;
执行单元803,用于在预设流表中确定与所述功能标识信息对应的目标动作,对所述数据包执行所述目标动作。
可选地,所述获取单元802,用于实现以下一项:
在所述第一网络设备对应的分段标识中的功能字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息,所述第一网络设备对应的分段标识位于所述数据报文信息中的分段路由报文头SRH中;
在所述数据报文信息中的SRH中的类型长度取值TLV字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息。
可选地,通过所述功能字段中的不同比特位指示所述至少两个功能的功能标识信息;或者
通过所述功能字段中的相同比特位指示所述至少两个功能的功能标识信息。
可选地,所述数据报文信息中的SRH中的标志(Flags)字段用于指示是否存在至少一个分段标识对应多个功能,在所述数据报文信息中的SRH中的Flags字段指示存在至少一个分段标识对应多个功能的情况下,所述数据报文信息中的标签(Tag)字段用于指示所述至少一个分段标识以及其对应的多个功能的个数。
可选地,所述在所述数据报文信息中的SRH中的类型长度取值TLV字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息的实现方式,包括:
根据所述数据报文信息中的SRH中的SRH头的长度与分段列表的最后一个元素的索引之间的关系,确定SRH中是否存在类型长度取值TLV字段;
在确定所述数据报文信息中的SRH中存在TLV字段的的情况下,在所述数据报文信息的SRH中的TLV字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息。
可选地,所述根据所述数据报文信息中的SRH中的SRH头的长度与分段列表的最后一个元素的索引之间的关系,确定SRH中是否存在类型长度取值TLV字段的实现方式,包括:
若N1大于(N2+1)×2,则确定SRH中存在类型长度取值TLV字段;
其中,N1为SRH头的长度,N2为分段列表的最后一个元素的索引。
可选地,在所述第一网络设备对所述数据包待执行的功能的个数大于预设值的情况下,所述数据报文信息中的SRH中包括与所述第一网络设备对应的至少两个分段标识;
其中,所述预设值为所述第一网络设备对应的一个分段标识所指示的功能的个数的最大值。
需要说明的是,该装置实施例是与上述方法实施例一一对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
如图9所示,本申请实施例还提供一种网络设备,所述网络设备为第一网络设备,包括处理器900、收发机910、存储器920及存储在所述存储器920上并可在所述处理器900上运行的程序;其中,收发机910通过总线接口与处理器900和存储器920连接,其中,所述处理器900用于读取存储器中的程序,执行下列过程:
通过收发机910接收第二网络设备发送的数据报文信息,所述数据报文信息中携带数据包;
根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息;
在预设流表中确定与所述功能标识信息对应的目标动作,对所述数据包执行所述目标动作。
收发机910,用于在处理器900的控制下接收和发送数据。
其中,在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器900代表的一个或多个处理器和存储器920代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机910可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元,这些传输介质包括无线信道、有线信道、光缆等传输介质。处理器900负责管理总线架构和通常的处理,存储器900可以存储处理器900在执行操作时所使用的数据。
处理器900可以是中央处理器(CPU)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),处理器也可以采用多核架构。
进一步地,所述处理器,用于读取所述存储器中的计算机程序并执行以下操作中的一项:
在所述第一网络设备对应的分段标识中的功能字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息,所述第一网络设备对应的分段标识位于所述数据报文信息中的分段路由报文头SRH中;
在所述数据报文信息中的SRH中的类型长度取值TLV字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息。
进一步地,通过所述功能字段中的不同比特位指示所述至少两个功能的功能标识信息;或者
通过所述功能字段中的相同比特位指示所述至少两个功能的功能标识信息。
进一步地,所述数据报文信息中的SRH中的标志(Flags)字段用于指示是否存在至少一个分段标识对应多个功能,在所述数据报文信息中的SRH中的Flags字段指示存在至少一个分段标识对应多个功能的情况下,所述数据报文信息中的标签(Tag)字段用于指示所述至少一个分段标识以及其对应的多个功能的个数。
进一步地,所述处理器,用于读取所述存储器中的计算机程序并执行以下操作:
根据所述数据报文信息中的SRH中的SRH头的长度与分段列表的最后一个元素的索引之间的关系,确定SRH中是否存在类型长度取值TLV字段;
在确定所述数据报文信息中的SRH中存在TLV字段的的情况下,在所述数据报文信息的SRH中的TLV字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息。
进一步地,所述处理器,用于读取所述存储器中的计算机程序并执行以下操作:
若N1大于(N2+1)×2,则确定SRH中存在类型长度取值TLV字段;
其中,N1为SRH头的长度,N2为分段列表的最后一个元素的索引。
进一步地,在所述第一网络设备对所述数据包待执行的功能的个数大于预设值的情况下,所述数据报文信息中的SRH中包括与所述第一网络设备对应的至少两个分段标识;
其中,所述预设值为所述第一网络设备对应的一个分段标识所指示的功能的个数的最大值。
在此需要说明的是,本申请实施例提供的上述网络设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现应用于第一网络设备的数据包处理方法的步骤。所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机可执行指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机可执行指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些处理器可执行指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的处理器可读存储器中,使得存储在该处理器可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些处理器可执行指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种数据包处理方法,其特征在于,由第一网络设备执行,包括:
接收第二网络设备发送的数据报文信息,所述数据报文信息中携带数据包;
根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息;
在预设流表中确定与所述功能标识信息对应的目标动作,对所述数据包执行所述目标动作。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息,包括以下一项:
在所述第一网络设备对应的分段标识中的功能字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息,所述第一网络设备对应的分段标识位于所述数据报文信息中的分段路由报文头SRH中;
在所述数据报文信息中的SRH中的类型长度取值TLV字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息。
3.根据权利要求2所述的方法,其特征在于,通过所述功能字段中的不同比特位指示所述至少两个功能的功能标识信息;或者
通过所述功能字段中的相同比特位指示所述至少两个功能的功能标识信息。
4.根据权利要求3所述的方法,其特征在于,所述数据报文信息中的SRH中的标志字段用于指示是否存在至少一个分段标识对应多个功能,在所述数据报文信息中的SRH中的标志字段指示存在至少一个分段标识对应多个功能的情况下,所述数据报文信息中的标签字段用于指示所述至少一个分段标识以及其对应的多个功能的个数。
5.根据权利要求1所述的方法,其特征在于,在所述第一网络设备对所述数据包待执行的功能的个数大于预设值的情况下,所述数据报文信息中的SRH中包括与所述第一网络设备对应的至少两个分段标识;
其中,所述预设值为所述第一网络设备对应的一个分段标识所指示的功能的个数的最大值。
6.一种网络设备,所述网络设备为第一网络设备,其特征在于,包括存储器,收发机,处理器;
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
通过收发机接收第二网络设备发送的数据报文信息,所述数据报文信息中携带数据包;
根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息;
在预设流表中确定与所述功能标识信息对应的目标动作,对所述数据包执行所述目标动作。
7.根据权利要求6所述的网络设备,其特征在于,所述处理器,用于读取所述存储器中的计算机程序并执行以下操作中的一项:
在所述第一网络设备对应的分段标识中的功能字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息,所述第一网络设备对应的分段标识位于所述数据报文信息中的分段路由报文头SRH中;
在所述数据报文信息中的SRH中的类型长度取值TLV字段中,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息。
8.根据权利要求7所述的网络设备,其特征在于,通过所述功能字段中的不同比特位指示所述至少两个功能的功能标识信息;或者
通过所述功能字段中的相同比特位指示所述至少两个功能的功能标识信息。
9.根据权利要求8所述的网络设备,其特征在于,所述数据报文信息中的SRH中的标志字段用于指示是否存在至少一个分段标识对应多个功能,在所述数据报文信息中的SRH中的标志字段指示存在至少一个分段标识对应多个功能的情况下,所述数据报文信息中的标签字段用于指示所述至少一个分段标识以及其对应的多个功能的个数。
10.根据权利要求6所述的网络设备,其特征在于,在所述第一网络设备对所述数据包待执行的功能的个数大于预设值的情况下,所述数据报文信息中的SRH中包括与所述第一网络设备对应的至少两个分段标识;
其中,所述预设值为所述第一网络设备对应的一个分段标识所指示的功能的个数的最大值。
11.一种数据包处理装置,应用于第一网络设备,其特征在于,包括:
接收单元,用于接收第二网络设备发送的数据报文信息,所述数据报文信息中携带数据包;
获取单元,用于根据所述数据报文信息,获取第一网络设备对所述数据包待执行的至少两个功能的功能标识信息;
执行单元,用于在预设流表中确定与所述功能标识信息对应的目标动作,对所述数据包执行所述目标动作。
12.一种处理器可读存储介质,其特征在于,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行权利要求1至5任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210037301.6A CN116489237A (zh) | 2022-01-13 | 2022-01-13 | 数据包处理方法、装置及网络设备 |
PCT/CN2023/071351 WO2023134631A1 (zh) | 2022-01-13 | 2023-01-09 | 数据包处理方法、装置及网络设备 |
EP23739973.8A EP4465617A4 (en) | 2022-01-13 | 2023-01-09 | DATA PACKET PROCESSING METHOD AND APPARATUS, AND NETWORK DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210037301.6A CN116489237A (zh) | 2022-01-13 | 2022-01-13 | 数据包处理方法、装置及网络设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116489237A true CN116489237A (zh) | 2023-07-25 |
Family
ID=87225479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210037301.6A Pending CN116489237A (zh) | 2022-01-13 | 2022-01-13 | 数据包处理方法、装置及网络设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4465617A4 (zh) |
CN (1) | CN116489237A (zh) |
WO (1) | WO2023134631A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117729274A (zh) * | 2024-02-07 | 2024-03-19 | 之江实验室 | 报文处理的方法、装置、设备及可读存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10506083B2 (en) * | 2017-06-27 | 2019-12-10 | Cisco Technology, Inc. | Segment routing gateway storing segment routing encapsulating header used in encapsulating and forwarding of returned native packet |
CN109561021B (zh) * | 2017-09-25 | 2021-08-20 | 华为技术有限公司 | 一种报文转发的方法及网络设备 |
CN110324245B (zh) * | 2018-03-31 | 2021-03-23 | 华为技术有限公司 | 一种基于集成流表转发报文的方法及装置 |
CN113507417B (zh) * | 2018-10-27 | 2023-05-09 | 华为技术有限公司 | 报文处理方法、相关设备及计算机存储介质 |
CN111510386B (zh) * | 2019-01-30 | 2023-06-20 | 华为技术有限公司 | 用于处理报文的方法和装置 |
CN112104552B (zh) * | 2019-06-17 | 2021-12-28 | 华为技术有限公司 | 处理报文的方法、装置及计算机存储介质 |
CN112468396B (zh) * | 2019-09-06 | 2022-05-31 | 华为技术有限公司 | 主机网络性能需求可编程化的方法、设备和系统 |
CN113259238B (zh) * | 2020-02-07 | 2022-10-21 | 中国移动通信有限公司研究院 | 分段标识的处理方法及设备 |
CN113438161B (zh) * | 2020-03-23 | 2022-10-04 | 华为技术有限公司 | 一种生成段标识sid的方法和网络设备 |
CN113497760B (zh) * | 2020-04-07 | 2024-05-07 | 中兴通讯股份有限公司 | 分段路由头压缩方法、业务处理方法及装置 |
-
2022
- 2022-01-13 CN CN202210037301.6A patent/CN116489237A/zh active Pending
-
2023
- 2023-01-09 WO PCT/CN2023/071351 patent/WO2023134631A1/zh active Application Filing
- 2023-01-09 EP EP23739973.8A patent/EP4465617A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023134631A1 (zh) | 2023-07-20 |
EP4465617A1 (en) | 2024-11-20 |
EP4465617A4 (en) | 2025-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11824771B2 (en) | Packet processing method, related device, and computer storage medium | |
US20230300070A1 (en) | Packet Sending Method, Device, and System | |
EP4099648A1 (en) | Method for processing segment id, and apparatus | |
CN113259238A (zh) | 分段标识的处理方法及设备 | |
EP4068704A1 (en) | Packet sending method, routing table entry generation method, device, and storage medium | |
WO2022222750A1 (zh) | 报文转发方法、装置、网络设备及存储介质 | |
CN112887229B (zh) | 一种会话信息同步方法及装置 | |
CN108259346A (zh) | 一种等价路由表项建立方法和装置 | |
CN113162779B (zh) | 一种多云互联的方法及设备 | |
US20230388223A1 (en) | Packet forwarding method, apparatus, and system | |
CN114422218A (zh) | 一种租户隔离方法、装置及存储介质 | |
CN104836738A (zh) | 路由硬件表项资源管理方法、装置及网络设备 | |
CN109756411B (zh) | 报文转发方法、装置、第一vtep设备及存储介质 | |
CN114221904B (zh) | 一种报文转发方法、装置及系统 | |
CN116489237A (zh) | 数据包处理方法、装置及网络设备 | |
CN107181689B (zh) | 路由器之间的消息交互方法和装置 | |
CN113098749A (zh) | 报文发送方法、装置及存储介质 | |
CN113630316B (zh) | 一种数据传输方法及通信装置 | |
CN113726652B (zh) | 一种通告信息的处理方法、装置及存储介质 | |
CN112702263B (zh) | 转发报文的方法及装置 | |
CN107995084B (zh) | 隧道选择方法及装置 | |
CN115529114A (zh) | 一种信息传输方法及相关设备 | |
CN116418739A (zh) | 一种报文处理方法、装置及网络设备 | |
CN115242699A (zh) | 报文传输方法、切片生成方法、装置及系统 | |
CN115426314B (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 |