CN115695338A - 一种报文转发的方法及网络设备 - Google Patents
一种报文转发的方法及网络设备 Download PDFInfo
- Publication number
- CN115695338A CN115695338A CN202110875153.0A CN202110875153A CN115695338A CN 115695338 A CN115695338 A CN 115695338A CN 202110875153 A CN202110875153 A CN 202110875153A CN 115695338 A CN115695338 A CN 115695338A
- Authority
- CN
- China
- Prior art keywords
- path
- sid
- network device
- packet
- message
- 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
Images
Classifications
-
- 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
-
- 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/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种报文转发的方法及网络设备,用于提供一种报文流量镜像的方法。本申请实施例方法包括:第一网络设备接收第一报文,第一报文是在第一路径上的转发报文,当确定所述第一报文的目的地址为所述网络设备的段标识SID时,第一网络设备根据第一报文得到第二报文;然后通过第一路径转发所述第一报文;通过第二路径转发所述第二报文,直到第二报文被转发到流量处理设备,从而实现在第一网络设备对第一路径上的报文进行镜像,实现以路径为粒度对报文进行镜像。
Description
技术领域
本申请涉及通信领域,尤其涉及一种报文转发的方法及网络设备。
背景技术
流量镜像是指在网络设备将数据流量进行复制后,将复制后的数据流量发送到流量处理设备的过程,以通过流量处理设备对流量进行分析和检测。
当前,网络设备使用端口镜像的方式来实现流量镜像。例如,请参阅图1,网络设备B和流量处理设备E连接,网络设备B接收来自网络设备A的报文流量,如果对经由网络设备B到网络设备C的数据流量进行镜像,那么需要将网络设备B的镜像端口上发送的所有数据流量都发送至流量处理设备E,从而实现流量镜像。
当前方法中,是从端口的粒度来实现流量镜像,数据流量镜像的粒度较粗。
发明内容
本申请实施例提供了一种报文转发的方法及网络设备,该方法应用于一种通信系统,该通信系统包括多个网络设备及流量处理设备,多个网络设备用于转发报文,多个网络设备包括第一网络设备,第一网络设备用于将在第一路径上进行转发的数据镜像到流量处理设备,从而提供一种数据流量镜像的方法,以适应不同的报文分析需求。
第一方面,本申请实施例提供了一种报文转发的方法,应用于第一网络设备,该方法可以包括:首先,接收第一报文;然后,检查第一报文的目的地址,确定第一报文的目的地址为网络设备的段标识SID;再后,响应于确定第一报文的目的地址为第一网络设备的SID,根据第一报文得到第二报文,其中,第二报文的净荷与第一报文的净荷相同;最后,通过第一路径正常转发第一报文,并通过第二路径转发第二报文,直到第二报文被转发到流量处理设备。本申请实施例中,当第一报文中的目的地址是本节点(第一网络设备)的SID时,第一网络节点根据第一报文得到第二报文,第一报文是第一路径上的转发报文,第一网络设备通过第二路径转发第二报文,实现在第一网络设备将第一路径上的报文镜像到流量处理设备。
在一种可选的实现方式中,SID为特定类型的SID,特定类型的SID用于指示第一网络设备复制第一报文,并将第二报文通过第二路径转发到流量处理设备。本实施例中,第一网络设备根据特定类型的SID执行复制第一报文并在第二路径上转发第二报文的操作,从而第一网络设备能够根据第一报文得到用于镜像到流量处理设备的第二报文。
在一种可选的实现方式中,特定类型的SID为端点复制绑定END.DB类型的SID。本实施例中,定义一种新类型的SID(END.DB类型的SID),当第一网络设备确定第一报文的目的地址为END.DB类型的SID,第一网络设备根据END.DB类型的SID执行复制第一报文的操作,从而第一网络设备能够根据第一报文得到用于镜像到流量处理设备的第二报文,以将第二报文转发至流量处理设备。
在一种可选的实现方式中,特定类型的SID为端点END类型的SID,SID的附加行为flavor的类型为连接类型或分支类型。本实施例中,定义一种新型的flavor,当第一网络设备确定第一报文的目的地址为端点END类型的SID,且该SID的flavor的类型为特定类型时,执行复制第一报文的操作,该特定类型可以为连接(couple)类型或分支(branch)类型。第一网络设备根据SID的flavor的类型执行复制第一报文的操作,从而第一网络设备能够根据第一报文得到用于镜像到流量处理设备的第二报文,以将第二报文转发至流量处理设备。
在一种可选的实现方式中,所述方法还包括:第一网络设备获得对应第二路径的路径信息,然后,第一网络设备可以根据对应第二路径的路径信息转发第二报文。
在一种可选的实现方式中,获得对应第二路径的路径信息可以包括:第一网络设备可以根据END.DB类型的SID和关联关系获得第二转发路径的路径信息,其中,该关联关系包括该SID和第二路径的路径信息的对应关系。本实施例中,定义了一种新型的END.DB类型的SID,END.DB类型的SID关联第二路径的路径信息,提供了一种根据END.DB类型的SID确定用于到达流量处理设备的第二路径的路径信息的实现方式。
在一种可选的实现方式中,第一报文包含有第一分段路由头SRH,获得对应第二路径的路径信息可以包括:根据第一SRH获得第二路径的路径信息。本实施例中,可以通过第一报文中的第一SRH获取第二路径的路径信息,从而实现第一网络设备可以通过第二路径转发第二报文。
在一种可选的实现方式中,第一SRH中包含第二路径的路径信息,根据第一SRH获得第二路径的路径信息可以包括:对第一SRH中的剩余段SL的字段值执行减1的操作,确定第二路径的路径信息。
在一种可选的实现方式中,根据对应第二路径的路径信息转发第二报文可以包括:第一网络设备在第二报文中封装第二SRH,第二SRH包含第二路径的路径信息(如路径信息包括流量处理设备的地址),第一网络设备根据第二SRH转发第二报文,以使第二报文转发至流量处理设备,实现数据镜像。
在一种可选的实现方式中,根据对应第二路径的路径信息转发第二报文可以具体包括:第一网络设备获得第二报文的目的地的IPv6地址,第二报文中封装IPv6报文头,IPv6报文头的目的地址为第二报文的目的地的IPv6地址,根据目的地的IPv6地址转发第二报文。本实施例中,若流量处理设备不支持SRv6技术,流量处理设备的地址可以为流量处理设备的IPv6地址,第一网络设备根据目的地的IPv6地址转发第二报文。
在一种可选的实现方式中,第二路径的路径信息包括至少一个地址,至少一个地址包括流量处理设备的地址;或者,第二路径的路径信息与一个绑定段标识BSID对应;或者,第二路径用END.X类型的SID指示。
在一种可选的实现方式中,第一报文为SRv6报文。
在一种可选的实现方式中,方法还包括:获取第一路径的路径信息,通过第一路径转发第一报文可以具体包括:第一网络设备根据第一路径的路径信息转发第一报文,如第一路径的路径信息可以至少包括第一网络设备的下一跳网络设备的地址。
在一种可选的实现方式中,获取第一路径的路径信息可以具体包括:第一网络设备对第一SRH中的SL字段值执行减x的操作,确定第一路径的路径信息;其中,x为大于或者等于2的整数,第二路径的路径信息包括(x-1)个地址。本实施例中,第一SRH中包括segmentlist,在segment list中,第一网络设备的地址与第二第一网络设备的地址之间间隔(x-1)个地址。其中,第二网络设备为第一路径上的下一跳第一网络设备。例如,若segment list为(SID C,SID E,SID B.Branch,SID A,SL=2),例如第一网络设备为一网络设备B、第二网络设备为网络设备C,网络设备B和网络设备C之间间隔一个地址,该一个地址为流量处理设备E的地址,则x=2。即在这种情况下,对SRH中的segment left字段值执行减2的操作,第一网络设备确定第一路径的路径信息(如SID C)。
在一种可选的实现方式中,所述方法还包括:若第一网络设备到流量处理设备的路径发生故障,则删除第二报文。本实施例中,为了避免由于中间节点保护机制,第一转发节点将第二报文转发到第一路径上的下一跳转发节点,从而使下一跳转发节点收到两份报文(第一报文和第二报文),当第一转发节点到流量处理设备的路径故障时,第一转发节点删除第二报文。
在一种可选的实现方式中,第二路径的路径信息可以有多种表示方式,第二路径的路径信息包括至少一个地址,该至少一个地址包括流量处理设备的地址;或者,第二路径的路径信息用绑定段标识BSID来指示;或者,第二路径的路径信息用END.X类型的SID指示到达流量处理设备的路径。
第二方面,本申请实施例提供了一种网络设备,包括:
收发模块,用于接收第一报文;
处理模块,用于确定第一报文的目的地址为网络设备的段标识SID;
处理模块,还用于响应于确定第一报文的目的地址为网络设备的SID,根据第一报文得到第二报文,第二报文的净荷与第一报文的净荷相同;
收发模块,用于通过第一路径转发第一报文;
收发模块,还用于通过第二路径转发第二报文。
在一种可选的实现方式中,SID为特定类型的SID,特定类型的SID用于指示网络设备复制第一报文,并将第二报文通过第二路径转发到流量处理设备。
在一种可选的实现方式中,特定类型的SID为端点复制绑定END.DB类型的SID。
在一种可选的实现方式中,特定类型的SID为端点END类型的SID,SID的附加行为flavor的类型为连接类型或分支类型。
在一种可选的实现方式中,处理模块,还用于获得对应第二路径的路径信息;
收发模块,还用于根据对应第二路径的路径信息转发第二报文。
在一种可选的实现方式中,处理模块,还用于根据SID和关联关系获得第二转发路径的路径信息,关联关系包括SID和第二转发路径的路径信息的对应关系。
在一种可选的实现方式中,第一报文含有第一分段路由头SRH;
处理模块,还用于根据第一SRH获得第二路径的路径信息。
在一种可选的实现方式中,第一SRH中包含第二路径的路径信息;
处理模块,还用于对第一SRH中的剩余段SL的字段值执行减1的操作,确定第二路径的路径信息。
在一种可选的实现方式中,处理模块,还用于在第二报文中封装第二SRH,第二SRH包含第二路径的路径信息;
收发模块,还用于根据第二SRH转发第二报文。
在一种可选的实现方式中,处理模块,还用于获得第二报文的目的地的IPv6地址,第二报文中封装IPv6报文头,IPv6报文头的目的地址为第二报文的目的地的IPv6地址;
收发模块,还用于根据目的地的IPv6地址转发第二报文。
在一种可选的实现方式中,第二路径的路径信息包括至少一个地址,至少一个地址包括流量处理设备的地址;或者,第二路径的路径信息与一个绑定段标识BSID对应;或者,第二路径用END.X类型的SID指示。
在一种可选的实现方式中,第一报文为SRv6报文。
在一种可选的实现方式中,处理模块,还用于获取第一路径的路径信息;
收发模块,还用于根据第一路径的路径信息转发第一报文。
在一种可选的实现方式中,处理模块,还用于对第一SRH中的SL字段值执行减x的操作,确定第一路径的路径信息;其中,x为大于或者等于2的整数,第二路径的路径信息包括(x-1)个地址。
在一种可选的实现方式中,处理模块,还用于当网络设备到流量处理设备的路径发生故障时,则删除第二报文。
第三方面,本申请实施例提供了一种网络设备,包括:包括处理器,处理器与至少一个存储器耦合,处理器用于读取至少一个存储器所存储的计算机程序,使得网络设备执行如上述第一方面中任一项所述的方法。
第四方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中包括计算机程序代码,当计算机程序代码被计算机执行时,使得计算机实现上述如上述第一方面中任一项所述的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,用于储存计算机程序或指令,计算机程序或指令被执行时使得计算机执行如上述第一方面中任一项所述的方法。
第六方面,本申请实施例提供了一种通信系统,包括第一网络设备和流量处理设备;第一网络设备用于执行上述第一方面任一项所述的方法,流量处理装置用于接收第二报文。
附图说明
图1为一种通信系统的场景示意图;
图2为IPv6 SR的报文封装格式的示意图;
图3为SID格式的示意图;
图4为END.X类型的SID表示的路径的示意图;
图5为本申请实施例中一种通信系统的场景示意;
图6为本申请实施例中一种报文转发的方法的一个实施例的步骤流程示意图;
图7A和图7B为本申请实施例中第二报文的两种封装格式的一个示例的结构示意图;
图8为本申请实施例中第二报文的一个示例的结构示意图;
图9为本申请实施例中第二报文的另一个示例的结构示意图;
图10为本申请实施例中另一种通信系统的场景示意图;
图11为本申请实施例中一种网络设备的一个实施例的结构示意图;
图12为本申请实施例中一种网络设备的领一个实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
为了方便理解本申请,首先对本申请实施例中涉及的词语进行示例性说明。
SRv6技术,是基于源路由理念而设计的在网络上转发互联网协议第6版(internetprotocol version 6,IPv6)数据的一种协议。SRv6通过在IPv6报文中插入一个分段路由头(segment routing header,SRH)(SRH也称为“扩展头”),从而在SRH中压入一个显式的IPv6地址栈,通过转发节点不断的更新目的地址和偏移地址栈的操作来完成对数据的逐跳转发。
段(Segment),Segment是IPv6地址形式,通常也可以称为段标识(segmentidentifier,SID),段列表(segment list)也称为“SID list”。segment list为SRH中地址栈的表示形式,segment list用于指示数据的转发路径。
SRv6 Policy,在SRv6技术基础上发展的一种新的隧道引流技术。SRv6 Policy对应的路径表示为指定路径的段列表(segment list),或称为SID列表(SID List)。每个SID列表是从源节点到目的节点端到端的路径,并指示网络中的转发节点遵循指定的路径。SID列表由源节点添加到报文中,通信系统中的其余转发节点执行SID列表中嵌入的指令。
IPv6段路由(segment routing,SR)的报文封装格式为:在原始报文前面添加新的IPv6基本头和SRH。请参阅图2所示,IPv6基本头中包括源地址(source address,SA)和目的地址(destination address,DA)。SRH主要包括以下几个字段。
下一个报头(next header)字段:8bits,用来标识下一个报文头的类型。
扩展头长度(hdr ext len)字段:8bits,表示以8个字节为单位的SRH的长度。
路由类型(routing type)字段:8bits,取值为4,表示携带的是SRH。
剩余段(segments left,SL)字段:8bits,用于指示当前活跃的segment,即用于指示报文将要传输的下一跳。SL字段的初始取值为“n-1”(n表示SRH中SID的数目),通常情况下,报文每经过一个节点,SL字段值减1。
段列表(segment list)字段:也称为“SID列表”。段列表中的SID按照路径上节点从远到近的顺序进行排列,即segment list[0]表示路径的最后一个SID,segment list[1]表示路径的倒数第二个SID,以此类推。
segment list字段和segments left字段共同决定基本头中的目的地址。以下举例子说明。
SID列表为segment list[0]到segment list[n-1]。其中,[*]用于表示节点的编号(或者也称为“下标”),n表示路径中转发节点的数量。源节点在压路径标签的时,会压入多个标签,即压入报文在传输过程中需要经过的节点。比如,路径包括n个节点(如节点A,节点B,节点C等),第一个压入到目的地址中的是segment list[n-1](例如,segment list[2])对应的转发节点A的地址。最后一个压入到目的地址中的是segment list[0]的地址。例如,segment list可以如下所示。
segment list[0]=SID C;
segment list[1]=SID B;
segment list[2]=SID A。
segment list还可以表示为<segment list[2],segment list[1],segment list[0]>的形式,或还可以表示为(segment list[0],segment list[1],segment list[2])形式。其中,“<>”和“()”符号之间的区别为:对于<segment list[2],segment list[1],segment list[0]>,segment list中SID被压入目的地址的顺序是从左至右,即“<>”中最左边的segment list[2]是第一个需要被处理的,最右边的segment list[0]是最后一个需要被处理的。对于(segment list[0],segment list[1],segment list[2]),segment list中SID被压入目的地址的顺序是从右至左,即“()”最右边的segment list[2]是第一个需要被处理的,最左边的segment list[0]是最后一个需要被处理的。
SID,请参阅图3所示,SID包括定位(locator)字段和功能(function)字段。其中,locator具有定位(或路由)功能,一般要在SR域内唯一。function部分是标识绑定到本节点的操作指令,如果本节点收到一个SID,先判断locator部分,如果该locator是本节点发布的,那需要处理本节点绑定的操作指令。随着指令的类型不同,SID的类型也是不相同的,不同类型的SID具有不同的功能。下述几种不同的类型的SID对应的操作指令也称为“END”指令。
示例性的,下面介绍几种不同类型的SID。
End SID,End SID表示Endpoint SID,用于标识网络中的某个目的节点。
End.X SID,请参阅图4所示,End.X SID表示三层交叉连接的Endpoint SID,用于标识网络中的某条链路,例如,链路A::2,链路A::1,链路A::3。
End.DT4 SID,用于标识网络中的互联网协议第4版(internet protocol version4,IPv4)虚拟专用网络(virtual private network,VPN)实例,End.DT4类型的SID对应的指令(或称为转发动作)是解封装报文,并且查找IPv4 VPN实例路由表转发。
End.DT6 SID,用于标识网络中的某个IPv6 VPN实例。End.DT6类型的SID对应的指令是解封装报文,并且查找IPv6 VPN实例路由表转发。
本地(local)SID,每个节点维护一个local SID表,local SID表用于记录本节点生成的SID,以及与SID绑定的操作指令和转发信息。
按照节点的所执行的功能,SRv6通信系统中的节点可以分为三种角色,源节点、中转节点和Endpoint节点。同一个节点可以是不同的角色,比如节点在某个SRv6路径里可能是源节点,在其他SRv6路径里可能就是中转节点或者Endpoint节点。
源节点:负责在IPv6报文的IPv6头中插入SRH,或者,在报文外层加上IPv6头并插入SRH。该节点将报文流引入SRH中segment list定义的SRv6路径。
中转节点:在报文的SRv6路径上,不参与SRv6处理,只执行普通的IPv6报文转发。中转节点可以是支持SRv6的节点,也可以是不支持SRv6的节点。
Endpoint节点:对接收到的SRv6报文进行SRv6相关处理。接收到的SRv6报文的IPv6目的地址是Endpoint节点上配置的SRv6 SID,该节点需要按SRv6 SID的指令进行处理,并更新SRH。
附加行为(flavors),除了endpoint节点行为和中转节点行为之外,为了增强End系列指令而定义的附加行为。
本申请实施例提供了一种报文转发的方法,该方法基于SRv6技术,以路径粒度将数据流量从一个网络设备镜像到流量处理设备,以使流量处理设备对流量进行分析等操作。该方法应用于一种通信系统,请参阅图5所示,图5为通信系统的场景示意图。通信系统包括多个网络设备501(或简称为“节点”)和流量处理设备502,流量处理设备502可以和多个网络设备501中的一个网络设备连接。其中,网络设备501可以是路由器或交换机等转发设备。流量处理设备可以是路由器、交换机、服务器,个人计算机(Personal Computer,PC)等可以实现流量分析功能的设备,或者,该流量处理设备也可以是流量分析的专用设备,具体的并不限定。示例性的,多个网络设备例如可以是网络设备A、网络设备B、网络设备C和网络设备D。其中,网络设备A、网络设备B和网络设备C依次通信连接,网络设备D与网络设备B连接,流量处理设备E与网络设备D通信连接,应理解,图5中通信系统的架构仅是为了方便说明而举的例子,并不造成对本申请中各网络设备间的连接关系的限定。示例性的,网络设备A可以为源节点,网络设备B和网络设备C均可以为endpoint节点。网络设备D可以为中转节点,或者,网络设备D也可以为endpoint节点。
请参阅图6所示,本申请实施例提供了一种报文转发的方法,该报文转发的方法应用于第一网络设备,第一网络设备可以是通信系统中的任意一个网络设备,该网络设备为endpoint节点。
步骤601、第一网络设备接收第一报文。
第一网络设备从上一跳网络设备接收第一报文,第一报文为在第一路径上进行转发的报文,第一路径中包括所述第一网络设备。请再次参阅图5所示,例如,第一路径对应SRv6policy(可以记为“SRv6 policy-1”)的源节点(或称为头节点)是网络设备A,网络设备A上配置有第一路径的路径信息,第一路径经过网络设备A、网络设备B和网络设备C。第一网络设备以网络设备B为例进行说明。第一路径的路径信息可以用段列表来表示。例如,第一路径的段列表为<SIDA,SID B,SID C>。其中,SID A为网络设备A的SID,如1:1::1;SID B为网络设备B的SID,如1:2::1;SID C为节点C的SID,如1:3::1。本申请实施例中,网络设备C的SID、网络设备D的SID、流量处理设备E的SID为END类型的SID,本申请中简写为“SID C”、“SID D”、“SID E”。
示例性的,当网络设备A接收到第一报文(如记为“报文P”)时,第一报文的报文头包括基本头和扩展头(SRH)。基本头中包含源地址(SA)和目的地址。例如,目的地址为SIDB。SRH中包括段列表(segment list)。网络设备A向网络设备B发送第一报文,即网络设备B从网络设备A接收第一报文。网络设备B需要将第一报文复制一份转发给流量处理设备(也简称为“节点E”),以便于流量处理设备对流量进行分析。需要说明的是,本申请实施例中,为了区分“按照第一路径进行转发的报文”和“镜像到流量处理设备的报文”,将按照第一路径进行转发的报文称为“第一报文”,将镜像到流量处理设备的报文称为“第二报文”。
步骤602、第一网络设备确定所述第一报文的目的地址为所述第一网络设备的SID。
示例性的,第一网络设备检查第一报文中的目的地址,判定第一报文中的目的地址是否为本节点的SID。例如,网络设备B检查“报文P”的报文头中的基本头中的目的地址,判定目的地址是否为SID B,若网络设备B确定“报文P”的目的地址是SID B,则执行下述步骤603,若网络设备B确定“报文P”的目的地址不是SID B,则执行其他步骤。
步骤603、第一网络设备响应于确定第一报文的目的地址为第一网络设备的SID,根据所述第一报文得到第二报文,其中,第二报文的净荷与第一报文的净荷相同。
当第一报文的目的地址是第一网络设备的SID时,第一网络设备根据SID复制第一报文。示例性的,网络设备B检查第一报文中的目的地址,当网络设备B确定该目的地址是SID B时,网络设备B根据第一报文得到第二报文。
可选地,第一网络设备的SID为特定类型的SID,特定类型的SID用于指示第一网络设备复制第一报文,并将根据第一报文得到的第二报文通过所述第二路径转发到流量处理设备。示例性的,特定类型的SID可以通过如下两种方式来实现。
第一种实现方式,特定类型的SID为定义的一种新类型的SID,即该新类型的SID用于使endpoint节点执行复制第一报文,并按第二路径转发第二报文的操作,该类型可以称为“端点复制绑定类型”,记为“END.DB(duplicate and binding)”类型。其中,第二路径是指用于到达流量处理设备的路径。
第二种实现方式,特定类型的SID为端点END类型的SID,该SID的flavor是一种新类型的flavor,该新类型的flavor用于使endpoint节点执行复制报文,并按第二路径转发该报文的操作。该新类型的flavor可以称为“连接(couple)类型”或“分支(branch)类型”。
可选地,第一网络设备获取第二路径的路径信息。针对上述两种实现方式,对第一网络设备获取第二路径的路径信息进行示例性说明。
在上述第一种实现方式中,END.DB类型的SID关联第二路径的路径信息,即在第一网络设备中预先配置了该SID与第二路径的对应关系。本申请实施例中,为了方便描述,将网络设备B的END.DB类型的SID称为“B.DB”,即B.DB与第二路径具有关联关系(或对应关系,或映射关系)。网络设备B根据B.DB及B.DB与第二路径的关联关系确定第二路径的路径信息。
在上述第二种实现方式中,第一报文的报文头中含有第一SRH,第一SRH中包含第二路径的路径信息。第一网络设备(如网络设备B)对第一SRH中的剩余段SL的字段值执行减1的操作,确定第二路径的路径信息。例如,第一SRH中的segment list为:<SA,SIDB.Branch,SID E,SID C>,其中,SID B.Branch表示网络设备B的SID的Flavor为Branch。即从网络设备B开始,出现了分支路径,第一路径为:网络设备A→网络设备B→网络设备C,分支路径(即为第二路径)为:网络设备B→流量处理设备E。网络设备B对SL的字段值执行减1的操作,确定第二路径的路径信息为SID E(流量处理设备的地址)。
示例性的,上述第二路径的路径信息表示方式可以有以下几种情况。
第一种情况,第二路径包括至少一个地址,该至少一个地址包括流量处理设备E的地址。例如,第二路径的路径信息包括:网络设备D的地址(如SID D)和流量处理设备E的地址,例如,<SID D,SID E>,其中,SID D,SID E均是END类型的SID。再如,第二路径只包括流量处理设备E的地址。若流量处理设备E支持SRv6技术,则流量处理设备E的地址为“流量处理设备的SID”(如记为“SID E”)。若流量处理设备不支持SRv6技术,则流量处理设备的地址为流量处理设备的IPv6地址(如记为“EIPv6”)。
第二种情况,第二路径用绑定段标识BSID(binding SID)来指示。
定义一个新的SRv6 Policy,该新的SRv6 Policy对应第二路径(如记为“SRv6Policy-2”),SRv6 Policy-2用BSID来指示,SRv6 Policy-2包括BSID和segment list(或称为“SID list”),如果报文的目的地址为BSID,则网络设备B将流量引导到该BSID所属的SRv6 Policy-2上。segment list携带到达流量处理设备E需要经过的节点。
第三种情况,第二路径的路径信息用END.X类型的SID指示。例如,<D到E的END.XSID>(即END.X SID对应“节点D到节点E的链路”)。
可选地,第一网络设备获取第一路径的路径信息。针对上述两种实现方式,对第一网络设备获取第一路径的路径信息进行示例性说明。
在上述第一种实现方式中,网络设备B对第一SRH的SL字段值执行减1的操作,确定第一路径的路径信息。例如,第一SRH中的段列表为<SIDA,SID B,SID C>,网络设备B对SL字段值执行减1的操作,确定第一路径的路径信息为SID C。
在上述第二种实现方式中,第一报文中包括第一SRH,第一网络设备对第一SRH中的SL字段值执行减x的操作,确定第一路径的路径信息。其中,x为大于或者等于2的整数,第二路径的路径信息包括(x-1)个地址。举例说明,网络设备B对报文P中第一SRH的SL字段值执行减x的操作。在segment list中,第一网络设备的地址与第二网络设备的地址之间间隔(x-1)个地址。其中,第二网络设备为第一路径上的下一跳网络设备。例如,若segment list为(SID C,SID E,SID B.Branch,SID A,SL=2),即第一网络设备为网络设备B、第二网络设备为网络设备C。网络设备B和网络设备C之间间隔1个地址,该1个地址为流量处理设备E的地址,则x=2。即在这种情况下,对第一SRH中的segment left字段值执行减2的操作,即第一路径的路径信息为SID C。再如,若segment list为(SID C,SID E,SID D,SID B.Branch,SID A),即第一网络设备(网络设备B)和第二网络设备(网络设备C)之间间隔2个地址,该2个地址包括网络设备D的地址和流量处理设备E的地址,则x=3。即在这种情况下,对报文P中的第一SRH的SL字段值执行减3的操作,即第一路径的路径信息包括SID C。
步骤604、第一网络设备通过第二路径转发第二报文,并通过第一路径转发第一报文。
在上述第一种实现方式中,END.DB类型的SID关联第二路径的路径信息,网络设备B在第二报文中封装第二SRH,第二SRH包含第二路径的路径信息,根据第二SRH转发第二报文。即网络设备B可以直接封装第二路径的路径信息和第一报文的复制报文,得到第二报文。封装的方式如下述方式A和方式B。
方式A、请参阅图7A所示,复制报文(与第一报文相同)中包括基本头、SRH(记为“第一SRH”)和净荷(payload)。例如,第一SRH中包括的segment list为:<SID A,SID B.BD,SIDC>,网络设备B在复制报文的基本头的后面封装一个新的SRH(如记为“第二SRH”),第二SRH中包括第二路径的路径信息。例如,“第二SRH”包括<SID D,SID E>,即网络设备B封装复制报文和第二SRH,得到第二报文。第二报文包括基本头、第一SRH、第二SRH和净荷。
方式B、请参阅图7B所示,网络设备B在复制报文的外层再重新封装一个新的报文头(记为“第二报文头”)。为了区分新的报文头和复制报文中的报文头,将复制报文中的报文头称为“第一报文头”。第一报文头中包括第一基本头、第一SRH和净荷,第二报文头中包括第二基本头、第二SRH和净荷。第一基本头中包括源地址(如SID A)和目的地址(如SIDB.DB),第一SRH中包括segment list:<SID A,SID B.BD,SID C>。第二基本头包括目的地址(如SID D),第一SRH中包括segment list:<SID D,SID E>。第二报文包括第一报文头、第二报文头和净荷。上述方式A中和方式B中,第二报文的净荷与第一报文的净荷相同。
在上述第二种实现方式中,第一报文中的segment list中包含有第一路径的路径信息和第二路径的路径信息。第一网络设备(如网络设备B)需要确定segment list中的第二路径的路径信息。可以理解的是,segment list中指示了两个分支路径,两个分支路径即第一路径和第二路径。网络设备B根据SID的分支类型(branch)的附加行为执行将复制报文的SRH中SL字段值减1的操作,从而在segment list中确定第二路径的路径信息。示例性的,在该种实现方式中,请参阅图8所示,复制报文包括基本头和扩展头(第一SRH),第一SRH中包括segment list,segment list指示了两个分支路径。其中,一个分支是第一路径,即第一报文的转发路径,另一个分支是第二路径,即第二报文的转发路径。其中,第二路径的路径信息可以用流量处理设备E的地址来表示,如SID E。或者,该第二路径的路径信息也可以用END.X类型的SID来表示,例如,END.X对应的从节点D到节点E的路径。示例性的,segmentlist为<SID A,SID B.Branch,SID E,SID C>。其中,第一路径为:网络设备A→网络设备B→网络设备C。分支路径(第二路径)为网络设备B→网络设备E。也就是说,从网络设备B开始,出现了分支路径,一条路径到达网络设备C,一条路径到达流量处理设备E。网络设备B对复制报文中第一SRH中的SL字段值执行减1的操作,即获取到达流量处理设备的路径信息(流量处理设备的地址),然后将流量处理设备的地址(如SID E)压入到复制报文的基本头中的目的地址字段,得到第二报文,从而根据对应第二路径的路径信息转发第二报文,直到第二报文被转发到流量处理设备。
针对在上述第一种实现方式和第二种实现方式,第二路径的路径信息包括至少以下三种情况:
情况1,第二路径的路径信息包括多个节点的地址。例如,第二路径的路径信息包括SID D和SID E。示例性的,网络设备D为endpoint节点,网络设备B将网络设备D的地址压入到目的地址字段。网络设备B向网络设备D发送第二报文A,网络设备D收到第二报文A后,再将流量处理设备E的地址压入到目的地址字段,得到第二报文B,网络设备D将第二报文B转发至流量处理设备。其中,第二报文A和第二报文B仅目的地址不同。
情况2,第二路径的路径信息只包括流量处理设备的地址。网络设备D为中转节点,网络设备D接收到第二报文后,检查目的地址,确定目的地址为流量处理设备E的地址。网络设备D查询路由表,并根据流量处理设备的地址向流量处理设备发送第二报文。
情况3,第二路径为END.X对应的节点D到节点E的路径。网络设备B将网络设备D的地址复制到目的地址字段,得到第二报文。网络设备B向网络设备D发送第二报文。当网络设备D确定目的地址是本节点的地址,并确定本节点的SID为END.X类型的SID时,END.X类型的SID指示从网络设备D到流量处理设备E的路径,网络设备D根据END.X类型的SID将第二报文转发给流量处理设备。
第一网络设备通过第二路径转发第二报文的同时,第一网络设备通过第一路径转发第一报文。第一网络设备根据第一路径的路径信息转发所述第一报文。例如,网络设备B向网络设备C转发第一报文。需要说明的是,第一网络设备转发第二报文和第一网络设备转发第一报文的时序并不限定。
本申请实施例中,第一网络设备接收到第一报文,当第一网络设备确定第一报文中的目的地址是本节点的SID时,第一网络设备根据该SID执行复制第一报文的操作,第一网络设备根据第一报文得到第二报文,然后通过第一路径转发第一报文。通过第二路径转发第二报文,直到第二报文被转发到流量处理设备,从而实现在第一网络设备对第一路径上的转发的报文进行镜像。本申请实施例中,被镜像的第一报文是第一路径上的转发报文,基于SRv6技术,第一网络设备将第一路径上的报文镜像到流量处理设备,实现以路径为粒度对报文进行镜像,提供了一种细粒度的报文流量镜像方式。并且,传统的端口镜像方法需要第一网络设备和流量处理设备直连,而本申请实施中并不限定第一网络设备和流量处理设备的连接方式,第一网络设备可以和流量处理设备直连,或者,第一网络设备可以和流量处理设备非直连,第一网络设备和流量处理设备的连接方式更灵活。
下面针对上述第一种实现方式的技术方案和第二种实现方式的技术方案分别进行示例性说明。
(一)、在第一个应用场景中,针对上述第一种实现方式中的技术方案进行示例性说明。第一种实现方式:定义一种新类型的SID,即END.DB,END.DB类型的SID用于指示网络设备执行复制第一报文并按第二路径转发第二报文的操作。
S20、网络设备A配置第一报文(如报文P)的第一路径的segment list为:<SID A,SID B.DB,SID C>。
S21、网络设备A向网络设备B发送报文P(第一报文)。相应的,网络设备B从网络设备A接收报文P。
再次参阅图7A和图7B所示,该报文P的结构简化表示为(SA,SID B.DB)(SID C,SIDB.DB,SID A,SL=1)。其中,(SA,SID B.DB)为基本头中的源地址和目的地址,(SID C,SIDB.DB,SID A)对应报文头中SRH中的segment list,SL的字段值为1。
S22、网络设备B确定报文P中的目的地址是本网络设备B的END.DB类型的SID。
S23、网络设备B响应于确定所述第一报文的目的地址为所述第一网络设备的SID,网络设备B根据END.DB类型SID执行复制报文P的操作,得到报文P的复制报文(如记为“报文P1”),并查询本地SID表,确定该END.DB类型SID关联的第二路径的路径信息。
当流量处理设备支持SRv6技术时,该第二路径的路径信息可以为:<SID D,SID E>。当流量处理设备不支持SRv6技术时,该第二路径的路径信息可以为一个IPv6地址(即流量处理设备的地址),或者,该第二路径的路径信息为:网络设备D到流量处理设备E的路径的END.X。
S24、网络设备B分别对报文P和报文P1进行处理。
1、网络设备B对报文P进行处理:网络设备B对报文P中SRH的SL字段值执行减1的操作后,SL=0,即将SID C复制到目的地址字段,得到报文P'。例如,报文P'的结构表示为:(SA,SID C)(SID C,SID B.DB,SID A,SL=0)。
2、网络设备B对报文P1进行处理:网络设备B封装第二路径的路径信息和报文P1,得到报文P1'。
示例一,当流量处理设备支持SRv6技术时,网络设备B封装第二路径的路径信息<SID D,SID E>和报文P1(复制报文),得到报文P1'(第二报文)。具体的封装方式请参阅上述图6对应的实施例中步骤604的方式A和方式B中的说明,此处不赘述。网络设备B将第二路径的路径信息中的最后一个SID(即SID D)复制到目的地址字段,得到报文P1'。例如,报文P1'的结构表示为:(SA,SID D)(SID E,SID D,SL=1)(SID C,SID B.DB,SID A,SL=1)。
示例二,当流量处理设备不支持SRv6技术时,第二路径的路径信息为流量处理设备E的IPv6地址(如记为“EIPv6”),或者,第二路径的路径信息为END.X对应的网络设备D到流量处理设备E的路径(如记为“D→E”)。网络设备B直接将第二路径对应的地址复制到目的地址字段,例如,报文P1"的结构表示为:(SA,EIPv6)(SID C,SID B.DB,SID A,SL=1),或,(SA,END.X SID D→E)(SID C,SID B.DB,SID A,SL=1)。
S25、网络设备B通过第一路径转发报文P,且网络设备B通过第二路径转发报文P1'。
1、网络设备B向网络设备C发送报文P。网络设备B根据第一路径的路径信息转发报文P。
2、网络设备B向网络设备D发送报文P1'。网络设备B根据第二路径的路径信息向网络设备D发送报文P1',直到第二报文被转发到流量处理设备E。例如,网络设备D接收到报文P1',将流量处理设备的地址压入目的地址字段,得到报文P1"。进一步的,网络设备D向流量处理设备E转发将报文P1",实现在网络设备B将报文镜像到流量处理设备E。其中,报文P1"的结构为:(SA,SID E)(SID E,SID D,SL=0)(SID C,SID B.DB,SID A,SL=1),其中,(SA,SID E)对应源地址和目的地址;(SID E,SID D,SL=0)对应新插入的SRH(第二SRH);(SIDC,SID B.DB,SID A,SL=1)对应报文P1中原始的SRH(第一SRH)。
本实施例中,定义一种新类型的SID(记为“END.DB类型”),END.DB类型的SID用于指示网络设备执行复制报文并按照指定路径转发第二报文的操作。END.DB类型的SID关联第二路径的路径信息,第一网络设备能够根据END.DB类型的SID的指令复制第一报文,并将第二报文按照第二路径转发至流量处理设备,从而实现数据流量镜像。
可选地,当达到流量处理设备的路径出现故障时,为了避免由于中间节点保护机制的保护,使得第二报文转发到第二网络设备,第二网络设备为第一路径上第一网络设备的下一跳网络设备(如,第二网络设备为网络设备C),而使得网络设备C接收到两份报文,一份是第一报文,一份第二报文。本实施例中,不使用中间节点保护机制,或者,当第二路径出现故障时,第一网络设备直接删除第二报文。
例如,若报文P1"(第二报文)的结构表示为:(SA,EIPv6)(SID C,SID B.DB,SID A,SL=1),如果使用中间节点保护机制,当网络设备D发生故障时,报文P1"可能在网络设备B上被执行中间节点保护的操作,导致网络设备B对报文P1"中SRH中的SL字段值执行减1操作,从而将网络设备C的地址复制到目的地址字段,最后,网络设备B将报文P1"转发到网络设备C,从而导致网络设备C接收到两份报文。本实施例中,网络设备B根据报文P1"中的目的地址查询路由表,确定下一跳为网络设备C,当网络设备B检测到网络设备C发生故障后,网络设备B可以直接删除该报文P1",从而避免网络设备C接收到两份报文。
(二)、在第二个应用场景中,针对上述第二种实现方式中的技术方案进行示例性说明。本实施例中,定义一种新类型的flavor,该flavor的类型为Branch(或couple)类型,Branch(或couple)类型的flavor用于指示第一网络设备对第一报文执行复制操作,分别对复制后的复制报文中的SL字段值执行减1的操作,并对第一报文中的SL字段值执行减x的操作。其中,x为大于或者等于2的整数,在第一报文的segment list中,第一网络设备的地址与第二网络设备的地址之间间隔(x-1)个地址。其中,第二网络设备为第一路径上的第一网络设备的下一跳网络设备。
S30、网络设备A配置第一报文(如报文P)的segment list。例如,segment list为:<SA,SID B.Branch,SID E,SID C>。其中,SID B.Branch表示网络设备B的SID的Flavor为Branch。即从网络设备B开始,出现了分支路径,第一路径为:网络设备A→网络设备B→网络设备C,分支路径(即为第二路径)为:网络设备B→流量处理设备E。
S31、网络设备A向网络设备B转发第一报文,相应的,网络设备B从网络设备A接收第一报文(如报文P)。
请参阅图9所示,示例性的,报文P的结构简化表示为:(SA,SID B.Branch)(SID C,SID E,SID B.Branch,SID A,SL=2),其中,(SA,SID B.Branch)对应源地址和目的地址,(SID C,SID E,SID B.Branch,SID A)对应SID list,“SL=2”指示报文将要传输的下一跳为网络设备B。
S32、网络设备B确定第一报文中的目的地址是本节点的SID。
S33、网络设备B响应于确定所述第一报文的目的地址为所述第一网络设备的SID,且该SID的flavor的类型为Branch,网络设备B执行Branch对应的指令,复制报文P,得到报文P1。
S34、网络设备B根据SID的flavor分别对报文P和报文P1进行处理。
1、对报文P进行处理。获取第一路径的路径信息。
网络设备B对报文P中SRH的SL字段值执行减x的操作。其中,x为大于或者等于2的整数(预置值),在segment list中,第一网络设备的地址与第二网络设备的地址之间间隔(x-1)个地址。其中,第二网络设备为第一路径上第一网络设备的下一跳网络设备。例如,若segment list为(SID C,SID E,SID B.Branch,SID A,SL=2),即第一网络设备为网络设备B、第二网络设备为网络设备C,“第一网络设备的地址(如SID B.Branch)”和“第二网络设备的地址(如SID C)”之间间隔一个地址,该一个地址为流量处理设备E的地址,则x=2。即在这种情况下,对SRH中的segment left字段值执行减2的操作。本实施例中,segment list以(SID C,SID E,SID B.Branch,SID A)为例进行说明。网络设备B对报文P中的SL字段值执行减2的操作后,SL=0,即下一跳为网络设备C,网络设备B将SID C复制到目的地址字段,得到报文P',报文P'的结构简化表示为:(SA,SID C)(SID C,SID E,SID B.Branch,SID A,SL=0)。例如,第一路径的路径信息包括目的地址SID C和segment list。
2、对报文P1进行处理,以获取第二路径的路径信息。
网络设备B对报文P1中SRH的SL字段值执行减1的操作。若segment list为(SID C,SID E,SID B.Branch,SID A,SL=2),对segment left字段值执行减1的操作后,SL=1,即下一跳为流量处理设备E,网络设备B将SID E复制到目的地址字段,报文P1'的结构简化表示为:(SA,SID E)(SID C,SID E,SID B.Branch,SID A,SL=0)。例如,第二路径的路径信息包括目的地址SID E和segment list。
S35、网络设备B向网络设备C发送报文P',且网络设备B向流量处理设备E发送报文P1'。
本实施例中,第一网络设备接收第一报文,第一报文中的segment list中已经配置有第二路径(即用于到达流量处理设备E的路径)的路径信息和第一路径的路径信息。本实施例中,当每一网络设备确定第一报文中的目的地址是本节点的SID,且该SID的flavor的类型为Branch时,第一网络设备对第一报文执行复制操作,然后分别对两个分支路径上的转发报文中的SL字段值执行不同的操作,分别获取第一路径的路径信息和第二路径的路径信息,第一网络设备根据第一路径的转发信息转发第一报文,而根据第二路径的转发信息转发第二报文,从而在第一网络设备实现数据流量镜像到流量处理设备E。
可选地,当达到流量处理设备的路径出现故障时,为了避免由于中间节点保护机制的保护,使得第二报文转发到第二网络设备(如网络设备C),而使得网络设备C接收到两份报文,一份是第一报文,一份第二报文。本实施例中,不使用中间节点保护机制,或者,当第二路径出现故障时,第一网络设备直接删除第二报文。
可选地,在第三个应用场景中,第一网络设备可以为尾结点。请参阅图10所示,通信系统包括网络设备A,网络设备B,网络设备D、流量处理设备E和设备F。其中,网络设备A,网络设备B,网络设备D和流量处理设备E依次连接。第一报文的目的端是设备F,也即网络设备B需要转发第一报文,直到第一报文转发至设备F。示例性的,网络设备B的SID的类型可以为END.DT4(或END.DT6)。相对于上述第二个应用场景,本应用场景和上述第二个应用场景相同之处在于,第一网络设备(如网络设备B)的flavor的类型为Branch。本应用场景和上述第二个应用场景中的不同之处在于,上述第二个应用场景中,网络设备B的SID的类型为END类型,本应用场景中,网络设备B的SID的类型可以也可以为END.DT4类型(或END.DT6类型)。
S40、网络设备A配置第一报文的segment list。第一报文(如报文P)的第一路径的segment list为<SA,SID B.Branch,SID E>。其中,SID B.Branch表示网络设备B的SID的flavor类型为Branch。网络设备B的SID的类型可以为END.DT4。
S41、网络设备A向网络设备B发送第一报文(如报文P)。相应的,网络设备B从网络设备A接收第一报文。
报文P的结构简化表示为:(SA,SID B.Branch)(SID E,SID B.Branch,SID A,SL=1)。其中,(SID A,SID B.Branch)为源地址和目的地址,(SID E,SID B.Branch,SID A)为segment list,“SL=1”指示下一跳为网络设备B。
S42、网络设备B确定第一报文中(如报文P)的目的地址是本节点的SID。
S43、网络设备B响应于确定第一报文中的目的地址是本节点的SID,且该SID的flavor的类型为Branch,网络设备B根据该SID的flavor的类型复制报文P,得到报文P1(复制报文)。
S44、网络设备B根据Branch类型的flavor分别对第一报文(报文P)和复制报文(报文P1)进行处理。
1、对报文P进行处理,以获取第一路径的路径信息。
示例性的,网络设备B确定本节点的SID的类型是END.DT4。网络设备B根据END.DT4类型的SID对报文P解封装,获取内层的IPv4 DA(如设备F的目的地址),网络设备B查询该END.DT4对应的私网路由表,获取第一路径的路径信息。或者,网络设备B确定本节点的SID的类型是END.DT6。网络设备B根据END.DT6类型的SID对报文P解封装,获取内层的IPv6 DA(如设备F的目的地址),网络设备B查询该END.DT6对应的私网路由表,获取第一路径的路径信息,第一路径为用于到达设备F的路径。
2、对报文P1进行处理,以获取第二路径的路径信息。
网络设备B对报文P1中SRH的SL字段值执行减1的操作。报文P1中的segment list为(SID E,SID B.Branch,SID A,SL=1),网络设备B对SL字段值执行减1的操作后,SL=0,即下一跳为流量处理设备E,网络设备B将SID E复制到目的地址字段,得到报文P1',报文P1'的结构简化表示为:(SA,SID E)(SID E,SID B.Branch,SID A,SL=0)。第二路径的路径信息包括SID E和segment list。
S45、网络设备B向设备F发送报文P',并向流量处理设备E发送报文P1'。
本实施例中,第一网络设备根据本节点Branch类型的flavor对第一报文执行复制操作,得到复制报文,第一网络设备分别对第一报文和复制报文执行不同的操作,根据第一路径的路径信息转发第一报文,直到第一报文被转发到目的端(设备F),并根据第二报文的路径信息转发第二报文,直到第二报文转发到流量处理设备E,从而实现在第一网络设备将第一路径上的流量镜像到流量处理设备E。
本申请实施例提供了一种网络设备,网络设备用于执行上述方法实施例中第一网络设备所执行的方法。请参阅图11所示,网络设备1100包括收发模块1101和处理模块1102。
收发模块1101,用于接收第一报文;
处理模块1102,用于确定第一报文的目的地址为第一网络设备的SID;
处理模块1102,还用于响应于确定第一报文的目的地址为第一网络设备的SID,根据第一报文得到第二报文,第二报文的净荷与第一报文的净荷相同;
收发模块1101,还用于通过第一路径转发第一报文;
收发模块1101,还用于通过第二路径转发第二报文。
可选地,收发模块1101为收发器。其中,收发器具有发送和/或接收的功能。可选地,收发器由接收器和/或发射器代替。
可选地,收发模块1101为网络接口。可选地,网络接口是输入输出接口或者收发电路。输入输出接口包括输入接口和输出接口。收发电路包括输入接口电路和输出接口电路。
可选地,处理模块1102为处理器,处理器是通用处理器或者专用处理器等。可选地,处理器包括用于实现接收和发送功能的收发单元。例如该收发单元是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路是分开的部署的,可选地,是集成在一起部署的。上述收发电路、接口或接口电路用于代码或数据的读写,或者,上述收发电路、接口或接口电路用于信号的传输或传递。
进一步的,收发模块1101用于执行上述方法实施例中的步骤601、步骤604;步骤S21、步骤S25;步骤S31、步骤S35;步骤S41;步骤S45。处理模块1102用于执行上述方法实施例中的步骤602、步骤603;步骤S22、步骤S23、步骤S24;步骤S32、步骤S33、步骤S34;步骤S42、步骤S43、步骤S44。
可选地,SID为特定类型的SID,特定类型的SID用于指示第一网络设备复制第一报文,并将第二报文通过第二路径转发到流量处理设备。
可选地,特定类型的SID为端点复制绑定END.DB类型的SID。
可选地,特定类型的SID为端点END类型的SID,SID的附加行为flavor的类型为连接类型或分支类型。
可选地,处理模块1102,还用于获得对应第二路径的路径信息;
收发模块,还用于根据对应第二路径的路径信息转发第二报文。
可选地,处理模块1102,还用于根据SID和关联关系获得第二转发路径的路径信息,关联关系包括SID和第二转发路径的路径信息的对应关系。
可选地,第一报文含有第一分段路由头SRH;
处理模块1102,还用于根据第一SRH获得第二路径的路径信息。
可选地,第一SRH中包含第二路径的路径信息;
处理模块1102,还用于对第一SRH中的剩余段SL的字段值执行减1的操作,确定第二路径的路径信息。
可选地,处理模块1102,还用于在第二报文中封装第二SRH,第二SRH包含第二路径的路径信息,
收发模块1101,还用于根据第二SRH转发第二报文。
可选地,处理模块1102,还用于获得第二报文的目的地的IPv6地址,第二报文中封装IPv6报文头,IPv6报文头的目的地址为第二报文的目的地的IPv6地址;
收发模块1101,还用于根据目的地的IPv6地址转发第二报文。
可选地,第二路径的路径信息包括至少一个地址,至少一个地址包括流量处理设备的地址;或者,第二路径的路径信息与一个绑定段标识BSID对应;或者,第二路径用END.X类型的SID指示。
可选地,第一报文为SRv6报文。
可选地,处理模块1102,还用于获取第一路径的路径信息;
收发模块1101,还用于根据第一路径的路径信息转发第一报文。
可选地,处理模块1102,还用于对第一SRH中的SL字段值执行减x的操作,确定第一路径的路径信息;其中,x为大于或者等于2的整数,第二路径的路径信息包括(x-1)个地址。
可选地,处理模块1102,还用于当第一网络设备到流量处理设备的路径发生故障时,则删除第二报文。
参阅图12所示,本申请实施例提供了一种网络设备,该网络设备可用于实现上述方法实施例中第一网络设备所执行的方法,具体可以参见上述方法实施例中的说明。
网络设备1200可以包括一个或多个处理器1201,处理器1201也可以称为处理单元,可以实现一定的控制功能。处理器1201可以是通用处理器或者专用处理器等。中央处理器可以用于对网络设备进行控制,执行软件程序,处理软件程序的数据。
在一种可选的设计中,处理器1201也可以存有指令1203,所述指令1203可以被所述处理器运行,使得所述网络设备1200执行上述方法实施例中描述的方法。
在另一种可选的设计中,处理器1201中可以包括用于实现接收和发送功能的收发单元。例如该收发单元可以是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路可以是分开的,也可以集成在一起。上述收发电路、接口或接口电路可以用于代码/数据的读写,或者,上述收发电路、接口或接口电路可以用于信号的传输或传递。
在又一种可能的设计中,网络设备1200可以包括电路,所述电路可以实现上述方法实施例中发送或接收的功能。
网络设备1200中可以包括一个或多个存储器1202,其上可以存有指令1204,所述指令可在所述处理器上被运行,使得网络设备1200执行上述方法实施例中描述的方法。可选的,所述存储器中还可以存储有数据。可选的,处理器中也可以存储指令和/或数据。所述处理器和存储器可以单独设置,也可以集成在一起。
可选地,网络设备1200还可以包括收发器1205和/或天线1206。处理器1201可以称为处理单元,对网络设备1200进行控制。收发器1205可以称为收发单元、收发机、收发电路、收发装置或收发模块等,用于实现收发功能。
可选地,收发器可以为网络接口,例如,网络接口为以太网接口。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码被计算机执行时,使得计算机实现上述方法实施例中第一网络设备执行的方法。
本申请实施例还提供了一种计算机可读存储介质,用于储存计算机程序或指令,所述计算机程序或指令被执行时使得计算机执行上述方法实施例中第一网络设备执行的方法。
本申请实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口例如是输入/输出接口、管脚或电路等。处理器用于读取指令以执行上述方法实施例中第一网络设备所执行的方法。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (32)
1.一种报文转发的方法,其特征在于,所述方法应用网络设备,所述方法包括:
接收第一报文;
确定所述第一报文的目的地址为所述网络设备的段标识SID;
响应于确定所述第一报文的目的地址为所述网络设备的SID,根据所述第一报文得到第二报文,所述第二报文的净荷与所述第一报文的净荷相同;
通过第一路径转发所述第一报文;
通过第二路径转发所述第二报文。
2.根据权利要求1所述的方法,其特征在于,所述SID为特定类型的SID,所述特定类型的SID用于指示所述网络设备复制所述第一报文,并将所述第二报文通过所述第二路径转发到流量处理设备。
3.根据权利要求2所述的方法,其特征在于,所述特定类型的SID为端点复制绑定END.DB类型的SID。
4.根据权利要求2所述的方法,其特征在于,所述特定类型的SID为端点END类型的SID,所述SID的附加行为flavor的类型为连接类型或分支类型。
5.根据权利要求1至4任一项权利要求所述的方法,其特征在于,所述方法还包括:
获得对应所述第二路径的路径信息,所述通过第二路径转发所述第二报文包括:
根据对应所述第二路径的路径信息转发所述第二报文。
6.根据权利要求5所述的方法,其特征在于,所述获得对应所述第二路径的路径信息包括:
根据所述SID和关联关系获得所述第二路径的路径信息,所述关联关系包括所述SID和所述第二路径的路径信息的对应关系。
7.根据权利要求5所述的方法,其特征在于,所述第一报文包含有第一分段路由头SRH,所述获得对应所述第二路径的路径信息包括:
根据所述第一SRH获得所述第二路径的路径信息。
8.根据权利要求7所述的方法,其特征在于,所述第一SRH中包含所述第二路径的路径信息,所述根据所述第一SRH获得所述第二路径的路径信息,包括:
对所述第一SRH中的剩余段SL的字段值执行减1的操作,确定所述第二路径的路径信息。
9.根据权利要求5至7任一项权利要求所述的方法,其特征在于,所述根据对应所述第二路径的路径信息转发所述第二报文,包括:
在所述第二报文中封装第二SRH,所述第二SRH包含所述第二路径的路径信息,根据所述第二SRH转发所述第二报文。
10.根据权利要求5至7任一项权利要求所述的方法,其特征在于,所述根据对应所述第二路径的路径信息转发所述第二报文,包括:
获得所述第二报文的目的地的IPv6地址,所述第二报文中封装IPv6报文头,所述IPv6报文头的目的地址为所述第二报文的目的地的IPv6地址,根据所述目的地的IPv6地址转发所述第二报文。
11.根据权利要求5至10中任一项所述的方法,其特征在于,
所述第二路径的路径信息包括至少一个地址,所述至少一个地址包括流量处理设备的地址;
或者,
所述第二路径的路径信息与一个绑定段标识BSID对应;
或者,
所述第二路径用END.X类型的SID指示。
12.根据权利要求1至10任一项权利要求所述的方法,其特征在于,所述第一报文为SRv6报文。
13.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取第一路径的路径信息,所述通过第一路径转发所述第一报文,包括:
根据所述第一路径的路径信息转发所述第一报文。
14.根据权利要求13所述的方法,其特征在于,所述获取第一路径的路径信息,包括:
对所述第一SRH中的SL字段值执行减x的操作,确定所述第一路径的路径信息;其中,x为大于或者等于2的整数,所述第二路径的路径信息包括(x-1)个地址。
15.根据权利要求1至14中任一项所述的方法,其特征在于,所述方法还包括:
若所述网络设备到流量处理设备的路径发生故障,则删除所述第二报文。
16.一种网络设备,其特征在于,包括:
收发模块,用于接收第一报文;
处理模块,用于确定所述第一报文的目的地址为所述网络设备的段标识SID;
所述处理模块,还用于响应于确定所述第一报文的目的地址为所述网络设备的SID,根据所述第一报文得到第二报文,所述第二报文的净荷与所述第一报文的净荷相同;
所述收发模块,用于通过第一路径转发所述第一报文;
所述收发模块,还用于通过第二路径转发所述第二报文。
17.根据权利要求16所述的网络设备,其特征在于,所述SID为特定类型的SID,所述特定类型的SID用于指示所述网络设备复制所述第一报文,并将所述第二报文通过所述第二路径转发到流量处理设备。
18.根据权利要求17所述的网络设备,其特征在于,所述特定类型的SID为端点复制绑定END.DB类型的SID。
19.根据权利要求17所述的网络设备,其特征在于,所述特定类型的SID为端点END类型的SID,所述SID的附加行为flavor的类型为连接类型或分支类型。
20.根据权利要求16至19任一项权利要求所述的网络设备,其特征在于,
所述处理模块,还用于获得对应所述第二路径的路径信息;
所述收发模块,还用于根据对应所述第二路径的路径信息转发所述第二报文。
21.根据权利要求20所述的网络设备,其特征在于,
所述处理模块,还用于根据所述SID和关联关系获得所述第二转发路径的路径信息,所述关联关系包括所述SID和所述第二转发路径的路径信息的对应关系。
22.根据权利要求20所述的网络设备,其特征在于,所述第一报文含有第一分段路由头SRH;
所述处理模块,还用于根据所述第一SRH获得所述第二路径的路径信息。
23.根据权利要求22所述的网络设备,其特征在于,所述第一SRH中包含所述第二路径的路径信息;
所述处理模块,还用于对所述第一SRH中的剩余段SL的字段值执行减1的操作,确定所述第二路径的路径信息。
24.根据权利要求20至22任一项权利要求所述的网络设备,其特征在于,
所述处理模块,还用于在所述第二报文中封装第二SRH,所述第二SRH包含所述第二路径的路径信息,
所述收发模块,还用于根据所述第二SRH转发所述第二报文。
25.根据权利要求20至22任一项权利要求所述的网络设备,其特征在于,
所述处理模块,还用于获得所述第二报文的目的地的IPv6地址,所述第二报文中封装IPv6报文头,所述IPv6报文头的目的地址为所述第二报文的目的地的IPv6地址;
所述收发模块,还用于根据所述目的地的IPv6地址转发所述第二报文。
26.根据权利要求20至25中任一项所述的网络设备,其特征在于,
所述第二路径的路径信息包括至少一个地址,所述至少一个地址包括流量处理设备的地址;
或者,
所述第二路径的路径信息与一个绑定段标识BSID对应;
或者,
所述第二路径用END.X类型的SID指示。
27.根据权利要求16至25任一项权利要求所述的网络设备,其特征在于,所述第一报文为SRv6报文。
28.根据权利要求23所述的网络设备,其特征在于,
所述处理模块,还用于获取第一路径的路径信息;
所述收发模块,还用于根据所述第一路径的路径信息转发所述第一报文。
29.根据权利要求28所述的网络设备,其特征在于,
所述处理模块,还用于对所述第一SRH中的SL字段值执行减x的操作,确定所述第一路径的路径信息;其中,x为大于或者等于2的整数,所述第二路径的路径信息包括(x-1)个地址。
30.根据权利要求16至29中任一项所述的网络设备,其特征在于,
所述处理模块,还用于当所述网络设备到流量处理设备的路径发生故障时,则删除所述第二报文。
31.一种网络设备,其特征在于,包括:包括处理器,所述处理器与至少一个存储器耦合,所述处理器用于读取所述至少一个存储器所存储的计算机程序,使得所述网络设备执行如权利要求1至15中任一项所述的方法。
32.一种计算机可读存储介质,其特征在于,用于储存计算机程序或指令,所述计算机程序或指令被执行时使得计算机执行如权利要求1至15中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110875153.0A CN115695338A (zh) | 2021-07-30 | 2021-07-30 | 一种报文转发的方法及网络设备 |
PCT/CN2021/126561 WO2023005018A1 (zh) | 2021-07-30 | 2021-10-27 | 一种报文转发的方法及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110875153.0A CN115695338A (zh) | 2021-07-30 | 2021-07-30 | 一种报文转发的方法及网络设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115695338A true CN115695338A (zh) | 2023-02-03 |
Family
ID=85059709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110875153.0A Pending CN115695338A (zh) | 2021-07-30 | 2021-07-30 | 一种报文转发的方法及网络设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115695338A (zh) |
WO (1) | WO2023005018A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116915685A (zh) * | 2023-09-06 | 2023-10-20 | 新华三技术有限公司 | 报文传输方法、装置及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9686181B2 (en) * | 2014-10-07 | 2017-06-20 | Cisco Technology, Inc. | Selective service bypass in service function chaining |
CN113839871A (zh) * | 2017-09-25 | 2021-12-24 | 华为技术有限公司 | 一种报文转发的方法及网络设备 |
CN112787931B (zh) * | 2019-11-06 | 2022-09-23 | 华为技术有限公司 | 报文传输方法、代理节点及存储介质 |
CN113162849A (zh) * | 2020-01-22 | 2021-07-23 | 华为技术有限公司 | 一种报文处理方法、装置及系统 |
-
2021
- 2021-07-30 CN CN202110875153.0A patent/CN115695338A/zh active Pending
- 2021-10-27 WO PCT/CN2021/126561 patent/WO2023005018A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116915685A (zh) * | 2023-09-06 | 2023-10-20 | 新华三技术有限公司 | 报文传输方法、装置及电子设备 |
CN116915685B (zh) * | 2023-09-06 | 2023-12-12 | 新华三技术有限公司 | 报文传输方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2023005018A1 (zh) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981457B (zh) | 一种报文处理的方法、网络节点和系统 | |
US10757231B2 (en) | Providing network efficiencies in forwarding packets among provider networks and applying segment routing policies | |
US10237177B2 (en) | Transfer device and transfer system | |
WO2019057199A1 (zh) | 一种报文转发的方法及网络设备 | |
US8812726B2 (en) | Service insertion in a computer network using internet protocol version 6 techniques | |
CN112087386B (zh) | 一种报文处理的方法、设备和系统 | |
CN110224935B (zh) | 一种处理组播数据报文的方法及装置 | |
WO2021088433A1 (zh) | 一种报文的处理方法,装置和系统 | |
CN104579727A (zh) | 一种管理网络节点的网络连接的方法和装置 | |
CN104683210A (zh) | 一种自动建立隧道的方法和装置 | |
CN111988266A (zh) | 一种处理报文的方法 | |
CN112737954B (zh) | 报文处理方法、装置、系统、设备及存储介质 | |
CN111669422B (zh) | 报文的传输方法和设备 | |
KR20220093155A (ko) | 패킷 전달 방법, 제1 네트워크 디바이스 및 제1 디바이스 그룹 | |
CN109743758B (zh) | 多链路通信方法、通信装置及通信系统 | |
CN115695338A (zh) | 一种报文转发的方法及网络设备 | |
US8923303B2 (en) | Method, system and installation for forwarding data transmission frames | |
CN116192995A (zh) | 一种报文处理方法、设备及系统 | |
US10171368B1 (en) | Methods and apparatus for implementing multiple loopback links | |
JPWO2004066562A1 (ja) | データ転送装置 | |
CN108156066A (zh) | 报文转发方法和装置 | |
CN112565044B (zh) | 报文处理方法及装置 | |
WO2022267875A1 (zh) | 一种报文传输的方法及相关设备 | |
WO2023088145A1 (zh) | 一种报文处理方法、装置及设备 | |
WO2024001701A1 (zh) | 数据处理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |