CN111385209B - 一种报文处理方法、报文转发方法、装置及设备 - Google Patents
一种报文处理方法、报文转发方法、装置及设备 Download PDFInfo
- Publication number
- CN111385209B CN111385209B CN201811623644.0A CN201811623644A CN111385209B CN 111385209 B CN111385209 B CN 111385209B CN 201811623644 A CN201811623644 A CN 201811623644A CN 111385209 B CN111385209 B CN 111385209B
- Authority
- CN
- China
- Prior art keywords
- message
- interface information
- header
- network device
- packet
- 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.)
- Active
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
- H04L45/74—Address processing for routing
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/325—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
-
- 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/42—Centralised 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/20—Hop count for routing purposes, e.g. TTL
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- 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
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
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
本申请实施例公开了一种报文处理方法、报文转发方法、装置及设备,用于提高报文转发效率,节约网络设备的存储空间以及扩大网络规模。本申请实施例的报文处理方法包括:获取包含目的地址的报文;根据所述报文的目的地址获取转发路径上的网络设备的出接口信息,所述转发路径为从所述源设备转发所述报文到与所述目的地址对应的目的设备的路径;对所述报文封装报文头,所述报文头包括所述转发路径上转发所述报文的网络设备的出接口信息。
Description
技术领域
本申请涉及网络通信领域,尤其涉及一种报文处理方法、装置及设备,与一种报文转发方法、装置及设备。
背景技术
随着人工智能、大数据等新兴业务的快速增长,对网络设备能够提供低延时的报文转发能力的需求越来越强。目前,网络设备在转发报文时往往需要查询表项来获取出接口信息,这些表项例如为转发表(forwarding info base,FIB)、媒体访问控制(mediaaccess control,MAC)表等。但查找表项获得报文转发的出接口信息需要花费一定的时间,所以会导致网络设备转发报文的效率较低,难以满足目前日益增长的报文转发速度需求。同时,因为网络设备需要存储这些表项,所以也会占用网络设备的存储空间。而网络设备的存储空间有限,所以能够存储的转发表或MAC表的大小也有限,导致网络规模受到限制。
发明内容
本申请实施例提供了一种报文处理方法、报文转发方法、装置及设备,用于提高报文转发效率,节约网络设备的存储空间。
第一方面,本申请实施例提供了一种报文处理方法,应用于源设备,源设备可以是用户设备(user equipment,UE)、服务器、路由器、交换机或软件定义网络(softwaredefined network,SDN)控制器等。其中,用户设备可以包括个人计算机(personalcomputer,PC)、手机、平板电脑等。该报文处理方法包括如下步骤:首先,源设备获取全网网络设备的拓扑信息,例如全网网络设备的设备标识、端口号和IP地址等。然后,源设备获取包含目的地址的报文。报文的目的地址可以是互联网协议(Internet Protocol,IP)地址,具体的可以是第六版因特网协议(Internet Protocol version 6,IPv6)地址或第四版因特网协议(Internet Protocol version 4,IPv4)地址等,本申请不做具体限定。根据报文的目的地址和全网络拓扑信息,源设备可以计算出转发报文到根据与目的地址对应的目的设备的转发路径。根据转发路径上网络设备之间相连接的端口的端口号,可以确定出转发路径上的网络设备的出接口信息。网络设备的出接口信息可以是端口号,也可以是出接口索引。最后,源设备对报文封装报文头,报文头包括转发路径上的网络设备的出接口信息。报文头例如可以是段路由头(segment routing header,SRH)。在本申请实施例中,报文头可以包括转发路径上的所有网络设备的出接口信息,也可以是部分网络设备的出接口信息。当转发路径上的网络设备在获取到报文之后,可以从报文的报文头中获取网络设备的出接口信息,进而根据该出接口信息对应的接口将报文转发给下一跳网络设备。相比较于传统技术,转发路径中的网络设备无需查找转发表或MAC表即可实现对报文的转发,提高了报文的转发效率。同时,转发路径中的网络设备也不需要存储转发表或MAC表,不仅节约了存储空间,而且网络规模不再受限于有限大小的转发表或MAC表,扩大了网络规模。
转发路径上的网络设备的出接口信息可以包括源设备的出接口信息,也可以不包括源设备的出接口信息。若转发路径上的网络设备的出接口信息包括源设备的出接口信息,所述方法还包括:利用所述源设备的出接口信息对应的出接口将所述报文向所述源设备的下一跳设备转发,提高源设备转发报文的效率以及节约源设备的存储空间。
可选的,报文头可以包括第一字段,例如段剩余跳数(left)字段。所述第一字段存储有所述源设备的出接口信息在所述报文头中的位置信息。当需要从报文中获取源设备的出接口信息时,可以根据第一字段中存储的位置信息获取源设备的出接口信息。
可选的,报文头还可以包括段列表(segment list)。段列表包括数组,数组用于存储转发路径上的网络设备的出接口信息。每个数组中的每个元素存储一个出接口信息。为了标识各个出接口信息,每个数组中的每个元素具有自己的索引号,通过元素的索引号可以找到对应的出接口信息。
那么,第一字段存储有所述源设备的出接口信息在所述报文头中的位置信息包括:第一字段存储有与所述源设备的出接口信息对应数组的索引号。当需要从报文中获取源设备的出接口信息时,可以根据第一字段中存储的与源设备的出接口信息对应的数组的索引号获取对应的源设备的出接口信息。
可选的,段列表中数组的元素可以按照转发路径上包括的网络设备对报文的转发顺序排列,数组的索引号指示转发顺序。例如,报文的转发顺序可以通过数组索引号由大到小的顺序指示。
可选的,报文头还包括第二字段,所述第二字段用于指示所述源设备在获取到与所述源设备对应的出接口信息之后,将所述第一字段中存储的位置信息修改为所述报文头中所述下一跳网络设备的出接口信息在所述报文头中的位置信息。这样,下一跳网络设备可以根据报文的第一字段存储的位置信息,获取到下一跳网络设备的出接口信息。在其中一种可能实现的方式中,第二字段可以存储在段列表中。对于SRv6而言,该第二字段可以是段标识(segment identifier,SID)中的Function字段。Function字段包括很多种字段,在本申请实施例中能够实现上述功能的字段为属于Function字段的END字段。
可选的,所述方法还包括:对所述报文封装IPv6头,所述IPv6头中包括目的地址字段,所述目的地址字段中存储所述源设备的出接口信息,以与第一字段中存储的位置信息对应的出接口信息相同。当第一字段中存储的位置信息发生变化,那么目标地址字段中存储的出接口信息也要相应的变化。
可选的,所述方法还包括:对所述报文封装以太网头,所述以太网头中包括目的MAC地址,所述目的MAC地址为特定的MAC地址,用于指示所述转发路径中的网络设备从所述SRH或IPv6头中获取与所述网络设备对应的出接口信息。当转发路径的网络设备获取到报文之后,可以判断以太网头中的目的MAC地址是否为特定的MAC地址,如果是的话,则从报文的报文头中提取对应的出接口信息,并根据该出接口信息对应的接口转发报文;如果不是,则可以按照传统方式查表转发。
第二方面,本申请实施例提供了一种报文转发方法,应用于网络设备,网络设备为上文中提到的转发路径上的网络设备。网络设备可以是路由器、交换机或SDN控制器等。该报文转发方法包括如下步骤:首先,网络设备接收报文,报文的报文头包括用于转发所述报文的所述网络设备的出接口信息。报文头例如为段路由头。出接口信息用于网络设备向网络设备的下一跳网络设备发送报文。其次,网络设备根据出接口信息确定出接口信息对应的出接口,并通过出接口向网络设备的下一跳网络设备发送报文。当网络设备从报文中获取到网络设备的出接口信息之后,网络设备可以根据报文中的出接口信息确定出对应的网络设备的出接口,从而可以通过该对应的出接口向下一跳网络设备发送该报文。在整个报文转发过程中,网络设备不需要查找转发表或MAC表,自然也不需要存储转发表或MAC表,所以不仅缩短了网络设备的报文转发时间,而且节约了网络设备的存储空间,扩大了网络规模。
可选的,报文头还可以包括第一字段,第一字段例如为段剩余跳数字段。第一字段中存储网络设备的出接口信息在报文中的位置信息。在根据出接口信息确定出接口信息对应的出接口之前,方法还包括:根据第一字段中存储的网络设备的出接口信息在报文头中的位置信息,从报文中获取网络设备的出接口信息。
可选的,报文头还包括段列表,段列表包括数组,所述数组中的元素用于存储所述网络设备的出接口信息,所述数组的元素具有索引号。
所述第一字段中存储有所述网络设备的出接口信息在所述报文中的位置信息包括:所述第一字段中存储有与所述网络设备的出接口信息对应元素的索引号。当获取网络设备的出接口信息时,根据所述第一字段中存储的元素的索引号找到对应的元素,并从该元素中获取到网络设备的出接口信息。
可选的,报文头中还包括第二字段,所述报文头还包括所述下一跳网络设备的出接口信息。在网络设备接收报文之后,方法还包括:根据所述第二字段的指示将所述第一字段中存储的所述网络设备的出接口信息在所述报文中的位置信息,修改为所述下一跳网络设备的出接口信息在所述报文中的位置信息。若第二字段中存储的是与网络设备的出接口信息对应的元素的索引号,下一跳网络设备的出接口信息也存储于报文头中的数组的元素中,且与网络设备的出接口信息对应元素的索引号,与下一跳网络设备的出接口信息对应元素的索引号不同。那么,可以根据第二字段的指示将第一字段中存储的与网络设备的出接口信息对应的元素的索引号,修改为与下一跳网络设备的出接口信息对应的元素的索引号。
可选的,报文中还包括IPv6头,IPv6头中包括目的地址字段,目的地址字段中存储网络设备的出接口信息,以与第一字段存储的位置信息相匹配。
可选的,在根据所述出接口信息确定所述出接口信息对应的出接口之后,方法还包括:将目的地址字段中存储的网络设备的出接口信息,修改为下一跳设备的出接口信息。
可选的,报文还包括以太网头,以太网头中包括目的媒体访问控制MAC地址,目的MAC地址用于指示所述网络设备根据所述报文头中的所述出接口信息确定对应的出接口。
第三方面,本申请实施例提供了一种报文处理装置,应用于源设备,执行第一方面或第一方面的任意一种可能的实现方式中源设备执行的方法。具体地,该源设备包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
第四方面,本申请实施例还提供了一种报文转发装置,应用于网络设备,执行第二方面或第二方面的任意一种可能的实现方式中网络设备执行的方法。具体地,该网络设备包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
第五方面,本申请实施例提供了一种报文处理设备,设备为源设备,源设备包括存储器、处理器和收发器;存储器,用于存储指令;处理器,用于执行存储器中的指令,执行上述报文处理方法;收发器,用于与转发路径上的网络设备进行通信。
第六方面,本申请实施例提供了一种报文转发设备,设备为网络设备,网络设备包括存储器、处理器和收发器;存储器,用于存储指令;处理器,用于执行存储器中的指令,执行上述报文转发方法;收发器,用于与网络设备的下一跳网络设备进行通信。
第七方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述报文处理方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述报文转发方法。
第九方面,本申请实施例提供了一种报文处理系统,该系统包括源设备和网络设备,其中,源设备,用于获取包含目的地址的报文;根据报文的目的地址获取转发路径上的网络设备的出接口信息,转发路径为从源设备转发报文到与目的地址对应的目的设备的路径;对报文封装报文头,报文头包括转发路径上转发报文的网络设备的出接口信息;网络设备,用于接收报文;根据报文中的出接口信息确定出接口信息对应的出接口;通过出接口向网络设备的下一跳网络设备发送报文。
附图说明
图1为本申请实施例提供的一种报文处理系统的结构框图;
图2为本申请实施例提供的一种报文处理方法的流程示意图;
图3为本申请实施例提供的报文TLV字段的格式示意图;
图4为图1所示实施例对应的报文的格式示意图;
图5为本申请实施例提供的网络设备101向网络设备102发送的报文格式的示意图;
图6为本申请实施例提供的一种报文转发方法的流程图;
图7为本申请实施例提供的网络设备102向网络设备103发送的报文格式的示意图;
图8为本申请实施例提供的网络设备103向网络设备104发送的报文格式的示意图;
图9为本申请实施例提供的一种报文处理装置的结构框图;
图10为本申请实施例提供的一种报文转发装置的结构框图;
图11为本申请实施例提供的一种报文处理设备的结构框图;
图12为本申请实施例提供的一种报文转发设备的结构框图;
图13为本申请实施例提供的一种报文处理系统的另一个结构框图。
具体实施方式
在传统技术中,网络设备在转发报文时,需要通过查表的方式来获取对应的出接口信息。例如,若报文中的目的MAC地址为网络设备的接收该报文的接口的MAC地址,则该网络设备需要根据报文的目的IP地址查找本地存储的转发表,从该转发表中查找与该目的IP地址对应的出接口信息。若报文中的MAC地址不是网络设备的接收该报文的接口的MAC地址,则需要根据报文中的目的MAC地址查找MAC表,从MAC表中查找与该MAC地址对应的出接口信息。
而查找例如转发表或MAC表等表项需要花费较长的时间,尤其是在表项较多的情况下,会导致报文转发效率较低。同时,因为网络设备需要存储这些表,所以需要占用网络设备较多的存储空间。
为了克服上述技术问题,本申请实施例提供了一种报文处理系统、方法、装置及相关设备,用于提高网络设备的报文转发速率,以及减少网络设备的存储空间。
下面以一个应用场景为例介绍本申请实施例提供的报文处理系统。参见图1,该系统可以应用于SRv6网络中。SRv6网络是指段路由(segment routing,SR)部署在IPv6数据平面上的网络。
本申请实施例中的报文处理系统具体包括:网络设备101、网络设备102、网络设备103和网络设备104。其中,网络设备101与网络设备102连接,网络设备102与网络设备103连接,网络设备103与网络设备104连接。
网络设备101和网络设备104可以是用户设备、服务器、路由器、交换机或软件定义网络控制器等。其中,用户设备可以包括个人计算机、手机、平板电脑等。
网络设备102和网络设备103可以是路由器、交换机或SDN控制器等。
在该报文处理系统中,网络设备101可以获取SRv6网络中各个网络设备的拓扑信息,并可以计算出待发送的报文的转发路径。其中,待发送的报文可以是网络设备101生成的,也可以是从其他网络设备接收到的。
在本申请实施例中,各个网络设备的拓扑信息例如包括网络设备的设备标识(system ID)、端口号以及IPv6地址等。其中,设备标识用于唯一标识网络设备。网络设备101根据各个网络设备的端口的IPv6地址,以及报文的目的地址,可以计算出报文的转发路径。转发路径为从报文的起始节点(在本申请实施例中为网络设备101)转发报文至报文的目的地址对应的网络设备(在本申请实施例中可以为网络设备104)的路径。所以,在本申请实施例中,报文的转发路径为从网络设备101→网络设备102→网络设备103→网络设备104。
在计算出报文的转发路径之后,网络设备101可以对报文封装报文头。其中,报文头中包括转发路径上的网络设备的出接口信息。这里的出接口信息用于标识网络设备中用于转发报文的出接口。在本申请实施例中,出接口信息可以为端口号或接口索引。在本申请实施例中,报文头中包括网络设备101的出接口信息、网络设备102的出接口信息、网络设备103的出接口信息以及网络设备104的出接口信息。其中,网络设备101的出接口信息用于网络设备101将报文转发给网络设备102,网络设备102的出接口信息用于网络设备102将报文转发给网络设备103,网络设备103的出接口信息用于网络设备103将报文转发给网络设备104。
所以,转发报文的过程为:网络设备101根据报文头中包括的网络设备101的出接口信息,从对应的出接口向网络设备102转发报文;网络设备102在接收到报文后,根据报文头中包括的网络设备102的出接口信息,从对应的出接口向网络设备103转发报文;网络设备103在接收到报文后,根据报文头中包括的网络设备103的出接口信息,从对应的出接口向网络设备104转发报文。这样,报文就到达了与目的地址对应的网络设备,即网络设备104。
可见,在报文的转发过程中,网络设备101、网络设备102、网络设备103和网络设备104并不需要查找转发表或MAC表来获取出接口信息,而是可以直接从报文的报文头中获知,因而减少了查表所需要的时间,提高了报文转发效率。同时,网络设备101、网络设备102、网络设备103和网络设备104不需要存储转发表或MAC表,所以也节约了这些网络设备的存储空间,扩大了网络规模。
参见图2,本申请实施例提供了一种报文处理方法,应用于源设备,该源设备可以是图1所示实施例中的网络设备101。
本申请实施例提供的报文处理方法具体包括如下步骤:
S101:获取包含目的地址的报文。
在本申请实施例中,报文可以是源设备生成的,也可以是接收的来自其他网络设备的报文。报文的目的地址可以是IP地址,具体的可以是IPv6地址或IPv4地址等,本申请不做具体限定。
在实际应用中,用户可以从源设备生成的或接收的报文中选择一些特定的报文来执行S101至S103的流程。具体的选择规则可以是选择具有特定的目的MAC地址、特定的目的IP地址或者是不符合路由协议格式等报文作为报文。在选择得到报文之后,通过执行S101至S103实现报文的高效率转发以及节约网络设备存储空间的目的。
S102:根据所述报文的目的地址获取转发路径上的网络设备的出接口信息。
在本申请实施例中,源设备在获取报文之前,可以获取全网网络设备的拓扑信息,例如全网网络设备的设备标识、端口号和IP地址等。其中,具体的,全网网络设备可以将包括拓扑信息的报文发送给源设备,以使源设备获取到全网网络设备的拓扑信息。包括拓扑信息的报文可以是基于中继系统到中间系统(intermediate system to intermediatesystem,IS-IS)协议的标记交换路径(label switching path,LSP)报文、基于开放式最短路径优先(open shortest path first,OSPF)的链路状态广播(link stateadvertisement,LSA)报文,或者是基于边界网关协议(Border Gateway Protocol,BGP)的更新消息(update message)等。
其中,拓扑信息可以携带在报文的类型-长度-值(type-length-value,TLV)字段中。参见图3,该图为报文TLV字段的格式示意图。在该图中,TLV字段中可以包括TLV字段的类型(type)、TLV字段的长度(length)、网络设备的设备标识、端口号以及网络设备的IP地址。其中,TLV字段的类型可以占用1个字节,TLV字段的长度可以占用1个字节,设备标识可以占用6个字节,端口号可以占用2个字节,IP地址可以占用16个字节。
根据全网拓扑信息,源设备可以计算出报文从源设备到达全网中任意一个网络设备的路径。所以,当源设备获取到报文之后,可以根据报文的目的地址和全网拓扑信息可以计算出报文的转发路径。转发路径为从源设备转发报文到与目的地址对应的目的设备的路径。在具体应用中,从源设备到目的设备的路径可能有多条,可以从中选择其中一条作为转发路径。选取转发路径的规则可以有很多,例如选取最短的路径为转发路径,所谓最短的路径是指链路开销(cost)最小的路径。
在本申请实施例中,转发路径上的网络设备可以包括不包括目的设备。以图1所示的实施例为例,网络设备104为目的设备,转发路径上的网络设备包括网络设备101、网络设备102和网络设备103。转发路径上的网络设备的出接口信息用于网络设备将报文转发给转发路径中的下一跳网络设备,根据该出接口信息可以确定出对应的出接口。其中的出接口信息可以是上文全网拓扑信息中的端口号或者接口索引。以图1所示的实施例为例,网络设备101转发报文的端口号为0001,网络设备102转发报文的端口号为0002,网络设备103转发报文的端口号为0003。
可选的,转发路径上的网络设备也可以包括目的设备,相应的网络设备的出接口信息也包括目的设备的出接口信息。在目的设备接收到报文后,根据报文头中目的设备的出接口信息将将报文传输给安装在目的设备上的应用程序。目的设备的出接口信息可以是目的设备的端口号,例如网络设备104的出接口信息为端口号0000,或者接口索引。
S103:对所述报文封装报文头,所述报文头包括所述转发路径上转发所述报文的网络设备的出接口信息。
当源设备获取到转发路径上的网络设备的出接口信息之后,可以将转发路径上的网络设备的出接口信息封装在报文的报文头中。转发路径中的网络设备在对报文转发的过程中,可以从报文的报文头中获取对应的出接口信息,然后从该出接口信息对应的出接口转发报文。相比较于传统技术,转发路径中的网络设备无需查找转发表或MAC表即可实现对报文的转发,提高了报文的转发效率。同时,转发路径中的网络设备也不需要存储转发表或MAC表,不仅节约了存储空间,而且网络规模不再受限于有限数目的表项,有利于扩大网络规模。
需要说明的是,封装在报文头中的网络设备的出接口信息可以包括转发路径中所有网络设备的出接口信息,也可以包括部分网络设备的出接口信息。例如图1所示的实施例,封装在报文头中的转发网络设备的出接口信息,可以是网络设备101、网络设备102和网络设备103中的一个或多个网络设备的出接口信息。
封装在报文头中的网络设备的出接口信息可以包括源设备的出接口信息,也可以不包括。若封装在报文头中的网络设备的出接口信息包括源设备的出接口信息,那么源设备可以从报文头中获取源设备的出接口信息,从而利用所述源设备的出接口信息对应的出接口将所述报文向所述源设备的下一跳设备转发,以提高源设备转发报文的效率以及节约源设备的存储空间。
在实际应用中,其中,报文的报文头可以是SR技术中的段路由头或其他类型的报文头,本申请实施例不做具体限定。报文头中可以包括第一字段,该第一字段例如可以是段剩余跳数(left)字段或其他类型的字段,本申请实施例不做具体限定。若转发路径中的网络设备包括源设备,那么第一字段中可以存储源设备的出接口信息在报文头中的位置信息。当需要从报文中获取源设备的出接口信息时,可以根据第一字段中存储的位置信息获取源设备的出接口信息。
可选的,报文头中还可以包括段列表,用于存储网络设备的出接口信息。具体的,段列表包括数组,数组中的每个元素存储一个出接口信息。为了标识各个出接口信息,每个元素可以具有自己的索引号,通过元素的索引号可以找到对应的出接口信息。段列表中的数组的元素可以按照转发路径上的网络设备对报文的转发顺序进行排列,而元素的索引号可以用于指示转发顺序。相应的,第一字段中存储的源设备的出接口信息在报文头中的位置信息可以是源设备的出接口信息对应的元素的索引号。
参见图4,该图为图1所示实施例对应的报文的格式示意图。除了报文的负载以外,报文还包括报文头,该报文头为段路由头,该段路由头包括段列表和段left字段。其中段列表包括数组,该数组包括四个元素,这四个元素的索引号分别为0、1、2和3,如图4所示这四个元素分别为:Segment_list[3]、Segment_list[2]、Segment_list[1]和Segment_list[0]。这四个元素中存储的内容也可以成为SID。其中,索引号为3的元素中存储网络设备101的端口号0001,索引号为2的元素中存储网络设备102的端口号0002,索引号为1的元素中存储网络设备103的端口号0003,索引号为0的元素中存储网络设备104的端口号0000。需要说明的是,图1所示的实施例中,段列表中包括目的设备,即网络设备104的端口号,在实际应用中,也可以不包括网络设备104的端口号。
报文的转发顺序可以通过元素索引号由大到小的顺序指示,所以,根据图4中元素的索引号可以知晓报文可以依次通过端口号为0001、0002和0003对应的端口进行转发。当然,在实际应用中,还可以通过元素索引号由小到大的顺序指示转发顺序。报文头中的段left字段可以存储网络设备101的端口号0001对应的元素的索引号3。当需要获取网络设备101的端口号时,可以根据段left字段中存储的元素的索引号查找索引号为3的元素,并从该索引号为3的元素中获取网络设备101的端口号0001。
在本申请实施例中,报文还可以包括第二字段,第二字段用于指示所述源设备在获取到与所述源设备对应的出接口信息之后,将所述第一字段中存储的所述源设备的出接口信息在所述报文头中的位置信息修改为所述报文头中源设备的下一跳网络设备的出接口信息在所述报文头中的位置信息,以便下一跳网络设备能够根据第一字段中存储的下一跳网络设备的出接口信息在所述报文头中的位置信息获取下一跳网络设备的出接口信息。
当第一字段中存储的是源设备的出接口信息对应的元素的索引号,那么当源设备在从第一字段中获取到与源设备的出接口信息对应的元素的索引号之后,可以将第一字段中存储的与源设备的出接口信息对应元素的索引号修改为源设备的下一跳网络设备的出接口信息对应元素的出接口。
在其中一种可能实现的方式中,第二字段可以存储在段列表中。对于SRv6而言,该第二字段可以是SID中的Function字段。Function字段包括很多种字段,在本申请实施例中能够实现上述功能的字段为属于Function字段的END字段。END字段可以指示网络设备判断网络设备对应的出接口信息的索引号减1是否大于0,如果是,则可以将段left字段中存储的索引号修改为下一跳网络设备的出接口信息对应的索引号。
例如,当网络设备101在获取到网络设备101的端口号0001之后,判断出端口号0001对应的索引号3减去1大于0,所以网络设备101可以将段left字段中存储的索引号3修改为网络设备102的端口号0002对应的索引号2。
在实际应用中,END字段可以存储在段列表中。例如,段列表中数组的每一个元素均可以分配128bit,元素中存储的数据可以包括三部分,一部分是端口号,占用16bit;一部分是END字段,END字段的默认值为0x20,占用8bit;其余部分为保留位,保留位可以全为0,占用104bit。这三部分合起来可以被称为段标识(segment identification,SID)。
以segment list[3]=0001::20为例说明,“::”表示连续的0。前4位0001表示端口号,后4位0x20表示END字段,中间的0为保留位。当网络设备101根据段left字段中存储的索引号3,在从索引号为3的元素中获取到0001::20之后,可以根据END字段0x20将段left字段中存储的索引号3修改为索引号2。
在实际应用中,源设备在为报文封装了报文头之后,还可以在报文头之外封装IPv6头。其中,IPv6的头可以包括源地址(source address,SA)字段和目的地址(destination address,DA)字段。源地址字段可以存储生成报文的网络设备的地址。在部分申请实施例中目的地址字段可以存储源设备的出接口信息。在图1所示的实施例中,源地址字段中可以存储网络设备101的IPv6地址,即fafa::01;目的地址字段中可以存储网络设备101的端口号0001。
可选的,若段列表中包括END字段,目的地址中还可以包括该END字段。也就是说,目的地址中的信息可以与段列表中段left字段存储的元素索引号对应的信息相同。当网络设备在获取到第二字段存储的数组索引号对应的信息之后,可以将目的地址中存储的信息修改为下一跳网络设备在段列表中存储的信息。
例如,网络设备101在获取到图4所示格式的报文之后,根据该报文中的段left字段中存储的索引号3,从段列表中找到索引号3的元素存储的信息,即0001::20。其中的0001为网络设备101发送报文的出接口的端口号,0x20为END指令。然后,网络设备101根据END指令判断段left字段中的索引号减1是否大于0。由于此时段left字段中的索引号为索引号3,所以判断结果为大于0,根据该判断结果,网络设备101将段left字段中的索引号修改为索引号2,并将IPv6头中的目的地址从0001::20修改为索引号2对应的数组中的信息,即0002::20,从而形成图5所示的报文格式。最后。网络设备101通过与端口号0001对应的出接口向网络设备102发送图5所示格式的报文。
在实际应用中,在报文的报文头之外除了可以封装IPv6头,还可以在IPv6头之外封装以太网头。以太网头中可以包括目的MAC(destination MAC,DMAC)地址。该目的MAC地址可以是特定的MAC地址,用于指示转发路径中的网络设备从报文头中获取与网络设备对应的出接口信息。也就是说,当网络设备获取到报文之后,判断以太网头中的目的MAC地址是否为特定的MAC地址,如果是的话,则从报文的报文头中提取对应的出接口信息,并根据该出接口信息对应的接口转发报文;如果不是,则可以按照传统方式查表转发。在图1所示的实施例中,该特定的MAC地址可以是fa:fa:fa:fa:fa:fa。
除了目的MAC地址以外,报文的以太网头中还可以包括源MAC(source MAC,SMAC)地址。SMAC地址为生成报文的网络设备的MAC地址。以图1所示实施例为例,生成报文的网络设备的MAC地址为aa:aa:aa:aa:aa:aa。
上文着重描述了报文的处理方法,下面介绍转发路径上网络设备在获取到报文之后对报文的转发方法。
参见图6,该图为本申请实施例提供的报文转发方法的流程图。
本申请实施例提供的报文转发方法可以应用于网络设备。网络设备与源设备是不同的网络设备。例如,网络设备可以为图1所示实施例中的网络设备102或网络设备103。
该报文转发方法可以包括如下步骤:
S201:接收报文,该报文的报文头中包括用于转发所述报文的所述网络设备的出接口信息。
S202:根据出接口信息确定出接口信息对应的出接口;
S203:通过出接口向网络设备的下一跳网络设备发送报文。
在本申请实施例中,网络设备接收的报文的报文头中包括网络设备的出接口信息。出接口信息与出接口具有对应关系。出接口信息例如可以是发送报文的出接口的端口号。网络设备可以根据与出接口信息对应的出接口发送获取到的报文。
以图1所示的实施例为例,若网络设备为网络设备101,那么网络设备的端口号可以是0001;若网络设备为网络设备102,那么网络设备的端口号可以是0002;若网络设备为网络设备103,那么网络设备的端口号可以是0003。
网络设备的出接口信息可以存储在报文的报文头中。报文头例如为段路由头,即段路由头中包括网络设备的出接口信息。
报文头中可以包括第一字段,例如为段left字段。第一字段中可以存储网络设备的出接口信息在报文头中的位置信息。网络设备可以根据第一字段中存储的位置信息从报文头中找到网络设备的出接口信息。
可选的,报文头中还可以包括第二字段,在网络设备找到网络设备的出接口信息之后,可以根据该第二字段将第一字段中存储的网络设备的出接口信息在报文头中的位置信息,修改为下一跳网络设备的出接口信息在报文头中的位置信息,以便能够让下一跳网络设备根据第一字段中存储的位置信息找到下一跳网络设备的出接口信息,依次类推。其中,第二字段可以是上文中提到的Function字段,相关内容请参见上文,此处不再赘述。
作为其中一种可能的实现方式,报文头中可以包括段列表。段列表包括数组,数组包括至少一个元素。数组的元素用于存储转发路径上的网络设备的出接口信息。每个元素存储一个出接口信息。每个元素均具有自己的索引号。段列表中的元素可以按照转发路径上的网络设备对报文的转发顺序排列,元素的索引号可以指示转发顺序。段列表中的每个元素除了可以存储出接口信息以外,还可以存储上文中的END字段。
相应的,第一字段可以存储与网络设备的出接口信息对应元素的索引号,该索引号就是网络设备的出接口信息在报文头中的位置信息。
当网络设备从报文头中获取到网络设备的出接口信息之后,网络设备可以根据报文中的出接口信息确定出对应的网络设备的出接口,从而可以通过该对应的出接口向下一跳网络设备发送该报文。在整个报文转发过程中,网络设备不需要查找转发表或MAC表,自然也不需要存储转发表或MAC表,所以不仅缩短了网络设备的报文转发时间,而且节约了网络设备的存储空间。
另外,在实际应用中,网络设备接收到的报文除了可以包括报文头,还可以包括在报文头外封装的IPv6头和以太网头,具体描述参见前文,此处不再赘述。
下面以图1所示实施例中的网络设备102、网络设备103为例介绍本申请实施例提供的报文转发方法。
网络设备102在接收到图5所示格式的报文之后,根据该报文中的段left字段中存储的索引号2,从段列表中找到与索引号2对应的信息,即0002::20。其中的0002为网络设备102发送报文的出接口的端口号,0x20为END指令。然后,网络设备102根据END指令判断段left字段中的索引号减1是否大于0。由于此时段left字段中的索引号为索引号2,所以判断结果为是,根据该判断结果,网络设备102将段left字段中的索引号修改为索引号1,并将IPv6头中的目的地址从0002::20修改为索引号1对应的数组中的信息,即0003::20,从而形成图7所示的报文格式。最后。网络设备102通过与端口号0002对应的出接口向网络设备103发送图7所示格式的报文。
网络设备103在接收到图7所示格式的报文之后,根据该报文中的段left字段中存储的索引号1,从段列表中找到与索引号1对应的信息,即0003::20。其中的0003为网络设备103发送报文的出接口的端口号,0x20为END指令。然后,网络设备103根据END指令判断段left字段中的索引号减1是否大于0。由于此时段left字段中的索引号为索引号1,所以判断结果为否,说明网络设备103为最后一跳设备。然后网络设备103根据该判断结果,将报文中的报文头剥离掉,只保留IPv6头、以太网头和负载,同时将IPv6头的目的地址从0003::20修改为索引号0对应的数组中的信息。索引号为0的元素中存储网络设备104的SID,即0000::20,从而形成图8所示的报文格式。其中,该SID包括网络设备104的端口号0000。最后,网络设备103通过与端口号0003对应的出接口向网络设备104发送图8所示格式的报文。
网络设备104在接收到图8所示格式的报文之后,根据段left字段的索引号0确认该报文的最后一跳网络设备为自己,所以可以对报文中的IPv6头和以太网头进行解封装,得到报文包含的数据信息中的净荷(payload)。
在网络设备102和网络设备103转发报文的过程中,无需查找转发表或MAC表,就能够实现报文的转发,而从报文的报文头中获取出接口信息的时间要远远小于查表的时间,所以有效提高了报文转发效率。而且网络设备102和网络设备103不需要存储转发表或MAC表,所以也节约了网络设备102和网络设备103的存储空间。
相应的,参见图9,本申请实施例还提供了一种报文处理装置,应用于源设备,该源设备可以实现图2所示实施例中源设备的功能。源设备包括:报文获取单元901、信息获取单元902和第一封装单元903。其中,报文获取单元901用于执行图2所示实施例中的S101;信息获取单元902用于执行图2所示实施例中的S102;第一封装单元903用于执行图2所示实施例中的S103。具体的,报文获取单元901,用于获取包含目的地址的报文;
信息获取单元902,用于根据所述报文的目的地址获取转发路径上的网络设备的出接口信息,所述转发路径为从所述源设备转发所述报文到与所述目的地址对应的目的设备的路径;第一封装单元903,用于对所述报文封装报文头,所述报文头包括所述转发路径上转发所述报文的网络设备的出接口信息。
该报文处理装置能够实现前述方法实施例中的相应网络设备的功能,具体执行步骤请参考前述方法实施例,此处不在赘述。
参见图10,本申请实施例提供了一种报文转发装置,应用于网络设备,该网络设备可以实现图6所示实施例中网络设备的功能。网络设备包括:接收单元1001、确定单元1002和发送单元1003。其中,接收单元1001用于执行图6所示实施例中的S201;确定单元1002用于执行图6所示实施例中的S202;发送单元1003用于执行图6所示实施例中的S203。具体的,接收单元1001,用于接收报文,所述报文的报文头包括用于转发所述报文的所述网络设备的出接口信息;确定单元1002,用于根据所述出接口信息确定所述出接口信息对应的出接口;发送单元1003,用于通过所述出接口向所述网络设备的下一跳网络设备发送所述报文。
该报文转发装置能够实现前述方法实施例中的相应网络设备的功能,具体执行步骤请参考前述方法实施例,此处不在赘述。
参见图11,本申请实施例提供了一种报文处理设备1100,该设备为源设备,设备1100可以实现图2所示实施例中源设备的功能,设备包括存储器1101、处理器1102和收发器1103,
存储器1101,用于存储指令;
处理器1102,用于执行存储器1101中的指令,执行上述应用于图2所示实施例中源设备的报文处理方法;
收发器1103,用于与转发路径上的网络设备进行通信。
存储器1101、处理器1102和收发器1103通过总线1104相互连接;总线1104可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
参见图12,本申请实施例提供了一种报文转发设备1200,该设备为网络设备,设备1200可以实现图6所示实施例中网络设备的功能,设备包括存储器1201、处理器1202和收发器1203,
存储器1201,用于存储指令;
处理器1202,用于执行存储器1201中的指令,执行上述应用于图6所示实施例中网络设备的报文转发方法;
收发器1203,用于与网络设备的下一跳网络设备进行通信。
存储器1201、处理器1202和收发器1203通过总线1204相互连接;总线1204可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述存储器1101和存储器1201可以是随机存取存储器(random-access memory,RAM)、闪存(flash)、只读存储器(read only memory,ROM)、可擦写可编程只读存储器(erasable programmable read only memory,EPROM)、电可擦除可编程只读存储器(electrically erasable programmable read only memory,EEPROM)、寄存器(register)、硬盘、移动硬盘、CD-ROM或者本领域技术人员知晓的任何其他形式的存储介质。
上述处理器1102和处理器1202例如可以是中央处理器(central processingunit,CPU)、通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
上述收发器1103和收发器1203例如可以是接口卡等,可以为以太(ethernet)接口或异步传输模式(asynchronous transfer mode,ATM)接口。
参见图13,本申请实施例还提供一种报文处理系统,该系统包括源设备1301和网络设备1302,其中,源设备1301用于执行图9所示实施例中报文处理装置的功能,网络设备1302用于执行图10所示实施例中报文转发装置的功能。具体的,
源设备1301,用于获取包含目的地址的报文;根据报文的目的地址获取转发路径上的网络设备的出接口信息,转发路径为从源设备转发报文到与目的地址对应的目的设备的路径;对报文封装报文头,报文头包括转发路径上转发报文的网络设备的出接口信息;
网络设备1302,用于接收报文;根据报文中的出接口信息确定出接口信息对应的出接口;通过出接口向网络设备的下一跳网络设备发送报文。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述应用于源设备的报文处理方法。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述应用于网络设备的报文转发方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (31)
1.一种报文处理方法,其特征在于,应用于源设备,所述方法包括:
获取包含目的地址的报文;
根据所述报文的目的地址获取转发路径上的网络设备的出接口信息,所述转发路径为从所述源设备转发所述报文到与所述目的地址对应的目的设备的路径;
对所述报文封装报文头,所述报文头包括所述转发路径上转发所述报文的网络设备的出接口信息。
2.根据权利要求1所述的方法,其特征在于,所述转发路径上的网络设备的出接口信息包括所述源设备的出接口信息,所述方法还包括:
利用所述源设备的出接口信息对应的出接口将所述报文向所述源设备的下一跳设备转发。
3.根据权利要求2所述的方法,其特征在于,所述报文头包括第一字段,所述第一字段存储有所述源设备的出接口信息在所述报文头中的位置信息。
4.根据权利要求3所述的方法,其特征在于,所述报文头还包括段列表;
所述段列表包括数组,所述数组用于存储所述转发路径上的网络设备的出接口信息,所述数组中的每个元素存储一个出接口信息;所述数组中的每个元素具有自己的索引号;
所述第一字段存储有所述源设备的出接口信息在所述报文头中的位置信息包括:
所述第一字段存储有与所述源设备的出接口信息对应元素的索引号。
5.根据权利要求4所述的方法,其特征在于,所述段列表中数组中的元素按照所述转发路径上包括的网络设备对所述报文的转发顺序排列,所述元素的索引号指示所述转发顺序。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述报文头还包括第二字段,所述第二字段用于指示所述源设备在获取到与所述源设备对应的出接口信息之后,将所述第一字段中存储的所述源设备的出接口信息在所述报文头中的位置信息修改为所述报文头中所述下一跳网络设备的出接口信息在所述报文头中的位置信息。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
对所述报文封装第六版因特网协议IPv6头,所述IPv6头中包括目的地址字段,所述目的地址字段中存储所述源设备的出接口信息。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
对所述报文封装以太网头,所述以太网头中包括目的媒体访问控制MAC地址,所述目的MAC地址用于指示所述转发路径中的网络设备从所述报文头中获取与所述网络设备对应的出接口信息。
9.根据权利要求1-5任一项所述的方法,其特征在于,所述报文头为段路由头。
10.一种报文转发方法,其特征在于,应用于网络设备,所述方法包括:
接收报文,所述报文的报文头包括用于转发所述报文的所述网络设备的出接口信息;
根据所述出接口信息确定所述出接口信息对应的出接口;
通过所述出接口向所述网络设备的下一跳网络设备发送所述报文。
11.根据权利要求10所述的方法,其特征在于,所述报文头还包括第一字段;
所述第一字段中存储有所述网络设备的出接口信息在所述报文中的位置信息;
在根据所述出接口信息确定所述出接口信息对应的出接口之前,所述方法还包括:
根据所述第一字段中存储的所述网络设备的出接口信息在所述报文头中的位置信息,从所述报文头中获取所述网络设备的出接口信息。
12.根据权利要求11所述的方法,其特征在于,所述报文头还包括段列表,段列表包括数组,所述数组中的元素用于存储所述网络设备的出接口信息,所述数组的元素具有索引号;
所述第一字段中存储有所述网络设备的出接口信息在所述报文中的位置信息包括:
所述第一字段中存储有与所述网络设备的出接口信息对应元素的索引号。
13.根据权利要求11所述的方法,其特征在于,所述报文中还包括第二字段,所述报文头还包括所述下一跳网络设备的出接口信息;
在接收报文之后,所述方法还包括:
根据所述第二字段的指示将所述第一字段中存储的所述网络设备的出接口信息在所述报文中的位置信息,修改为所述下一跳网络设备的出接口信息在所述报文中的位置信息。
14.根据权利要求13所述的方法,其特征在于,所述报文中还包括第六版因特网协议IPv6头,所述IPv6头中包括目的地址字段,所述目的地址字段中存储所述网络设备的出接口信息。
15.根据权利要求10-14任一项所述的方法,其特征在于,所述报文还包括以太网头,所述以太网头中包括目的媒体访问控制MAC地址,所述目的MAC地址用于指示所述网络设备根据所述报文头中的所述出接口信息确定对应的出接口。
16.一种报文处理的装置,其特征在于,应用于源设备,所述装置包括:
报文获取单元,用于获取包含目的地址的报文;
信息获取单元,用于根据所述报文的目的地址获取转发路径上的网络设备的出接口信息,所述转发路径为从所述源设备转发所述报文到与所述目的地址对应的目的设备的路径;
第一封装单元,用于对所述报文封装报文头,所述报文头包括所述转发路径上转发所述报文的网络设备的出接口信息。
17.根据权利要求16所述的装置,其特征在于,所述转发路径上的网络设备的出接口信息包括所述源设备的出接口信息;
所述装置还包括:
报文转发单元,用于利用所述源设备的出接口信息对应的出接口将所述报文向所述源设备的下一跳设备转发。
18.根据权利要求17所述的装置,其特征在于,所述报文头包括第一字段,所述第一字段存储有所述源设备的出接口信息在所述报文头中的位置信息。
19.根据权利要求18所述的装置,其特征在于,所述报文头还包括段列表;
所述段列表包括数组,所述数组用于存储所述转发路径上的网络设备的出接口信息,所述数组中的每个元素存储一个出接口信息;所述数组中的每个元素具有自己的索引号;
所述第一字段存储有所述源设备的出接口信息在所述报文头中的位置信息包括:
所述第一字段存储有与所述源设备的出接口信息对应元素的索引号。
20.根据权利要求19所述的装置,其特征在于,所述段列表中的数组中的元素按照所述转发路径上包括的网络设备对所述报文的转发顺序排列,所述元素的索引号指示所述转发顺序。
21.根据权利要求18-20任一项所述的装置,其特征在于,所述报文头还包括第二字段,所述第二字段用于指示所述源设备在获取到与所述源设备对应的出接口信息之后,将所述第一字段中存储的所述源设备的出接口信息在所述报文头中的位置信息,修改为所述报文头中所述下一跳网络设备的出接口信息在所述报文头中的位置信息。
22.根据权利要求17-20任一项所述的装置,其特征在于,所述装置还包括:
第二封装单元,用于对所述报文封装第六版因特网协议IPv6头,所述IPv6头中包括目的地址字段,所述目的地址字段中存储所述源设备的出接口信息。
23.根据权利要求17-20任一项所述的装置,其特征在于,所述装置还包括:
第三封装单元,用于对所述报文封装以太网头,所述以太网头中包括目的媒体访问控制MAC地址,所述目的MAC地址用于指示所述转发路径中的网络设备从所述报文头中获取与所述网络设备对应的出接口信息。
24.根据权利要求17-20任一项所述的装置,其特征在于,所述报文头为段路由头。
25.一种报文转发装置,其特征在于,应用于网络设备,所述装置包括:
接收单元,用于接收报文,所述报文的报文头包括用于转发所述报文的所述网络设备的出接口信息;
确定单元,用于根据所述出接口信息确定所述出接口信息对应的出接口;
发送单元,用于通过所述出接口向所述网络设备的下一跳网络设备发送所述报文。
26.根据权利要求25所述的装置,其特征在于,所述报文头还包括第一字段;
所述第一字段中存储有所述网络设备的出接口信息在所述报文中的位置信息;
所述装置还包括:
获取单元,用于根据所述第一字段中存储的所述网络设备的出接口信息在所述报文头中的位置信息,从所述报文头中获取所述网络设备的出接口信息。
27.根据权利要求26所述的装置,其特征在于,所述报文头还包括段列表,段列表包括数组,所述数组中的元素用于存储所述网络设备的出接口信息,所述数组的元素具有索引号;
所述第一字段中存储有所述网络设备的出接口信息在所述报文中的位置信息包括:
所述第一字段中存储有与所述网络设备的出接口信息对应元素的索引号。
28.根据权利要求26所述的装置,其特征在于,所述报文中还包括第二字段,所述报文头还包括所述下一跳网络设备的出接口信息;
所述装置还包括:
修改单元,用于根据所述第二字段的指示将所述第一字段中存储的所述网络设备的出接口信息在所述报文中的位置信息,修改为所述下一跳网络设备的出接口信息在所述报文中的位置信息。
29.根据权利要求28所述的装置,其特征在于,所述报文中还包括第六版因特网协议IPv6头,所述IPv6头中包括目的地址字段,所述目的地址字段中存储所述网络设备的出接口信息。
30.根据权利要求25-28任一项所述的装置,其特征在于,所述报文还包括以太网头,所述以太网头中包括目的媒体访问控制MAC地址,所述目的MAC地址用于指示所述网络设备根据所述报文头中的所述出接口信息确定对应的出接口。
31.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行以上权利要求1-15任意一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623644.0A CN111385209B (zh) | 2018-12-28 | 2018-12-28 | 一种报文处理方法、报文转发方法、装置及设备 |
PCT/CN2019/127893 WO2020135416A1 (zh) | 2018-12-28 | 2019-12-24 | 一种报文处理方法、报文转发方法、装置及设备 |
EP19903566.8A EP3886375A4 (en) | 2018-12-28 | 2019-12-24 | MESSAGE PROCESSING METHOD, MESSAGE FORWARDING METHOD, EQUIPMENT AND DEVICE |
US17/358,220 US20210320863A1 (en) | 2018-12-28 | 2021-06-25 | Packet processing method, apparatus, and device, and packet forwarding method, apparatus, and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623644.0A CN111385209B (zh) | 2018-12-28 | 2018-12-28 | 一种报文处理方法、报文转发方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385209A CN111385209A (zh) | 2020-07-07 |
CN111385209B true CN111385209B (zh) | 2021-06-22 |
Family
ID=71128394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811623644.0A Active CN111385209B (zh) | 2018-12-28 | 2018-12-28 | 一种报文处理方法、报文转发方法、装置及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210320863A1 (zh) |
EP (1) | EP3886375A4 (zh) |
CN (1) | CN111385209B (zh) |
WO (1) | WO2020135416A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333098B (zh) * | 2020-10-29 | 2022-11-25 | 杭州迪普科技股份有限公司 | 一种业务板卡间的报文转发方法及装置 |
CN114915589B (zh) * | 2021-02-10 | 2024-06-04 | 华为技术有限公司 | 报文传输方法及装置 |
CN114915584A (zh) * | 2021-02-10 | 2022-08-16 | 华为技术有限公司 | 报文转发方法、装置及系统 |
CN115134298A (zh) * | 2021-03-23 | 2022-09-30 | 华为技术有限公司 | 报文处理方法以及网络设备 |
CN115150312B (zh) * | 2021-03-31 | 2024-05-17 | 华为技术有限公司 | 一种路由方法及设备 |
CN115277524A (zh) * | 2021-04-29 | 2022-11-01 | 华为技术有限公司 | 路径学习方法、装置、业务节点及存储介质 |
CN115695565B (zh) * | 2021-07-13 | 2024-04-09 | 大唐移动通信设备有限公司 | 一种数据报文处理方法、装置及计算机可读存储介质 |
US11706121B2 (en) * | 2021-09-20 | 2023-07-18 | Juniper Networks, Inc. | Segment identifiers that support end-to-end segment routing with color extended community and border gateway protocol virtual private network option b |
CN114615197B (zh) * | 2022-04-07 | 2024-09-03 | 中国电信股份有限公司 | 报文转发方法、装置、电子设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100643272B1 (ko) * | 2004-04-26 | 2006-11-10 | 삼성전자주식회사 | 조정자 기반 무선 네트워크 간의 네트워크 통신 방법 및장치 |
CN101771732B (zh) * | 2010-01-06 | 2014-08-27 | 福建星网锐捷网络有限公司 | 报文处理方法、装置和网络设备 |
ES2385011B1 (es) * | 2010-10-25 | 2013-05-20 | Telefónica, S.A. | Procedimiento para establecer rutas sobre la red de transmisión de manera eficaz. |
CN102130826A (zh) * | 2010-11-25 | 2011-07-20 | 华为技术有限公司 | 报文的发送方法和装置 |
CN102123101B (zh) * | 2011-03-21 | 2015-04-01 | 中兴通讯股份有限公司 | 一种报文处理方法及装置 |
CN102217253B (zh) * | 2011-05-05 | 2013-10-09 | 华为技术有限公司 | 报文转发方法、装置及网络设备 |
CN102368736B (zh) * | 2011-11-10 | 2014-12-10 | 华为技术有限公司 | 一种报文发送方法和设备 |
CN103516609B (zh) * | 2013-09-17 | 2017-05-17 | 杭州华三通信技术有限公司 | 一种业务报文的传输方法和设备 |
CN104660508B (zh) * | 2013-11-25 | 2018-03-16 | 华为技术有限公司 | 一种报文转发方法及装置 |
CN106470157B (zh) * | 2015-08-21 | 2020-06-30 | 中兴通讯股份有限公司 | 隧道的优先级设置方法及装置 |
CN106656781B (zh) * | 2015-11-02 | 2020-12-11 | 中兴通讯股份有限公司 | 一种报文传输的方法、装置和系统 |
US10069725B1 (en) * | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Collapsed forwarding for service domain routers |
US10148560B2 (en) * | 2016-07-28 | 2018-12-04 | Cisco Technology, Inc. | Enhanced error signaling and error handling in a network environment with segment routing |
ES2879295T3 (es) * | 2017-04-28 | 2021-11-22 | Volpak Sau | Una máquina de envasado automática para llenar una bolsa hecha de un material termosellable con una dosis de un producto suelto |
CN108989173B (zh) * | 2018-07-09 | 2020-04-28 | 新华三技术有限公司 | 一种报文传输的方法及装置 |
-
2018
- 2018-12-28 CN CN201811623644.0A patent/CN111385209B/zh active Active
-
2019
- 2019-12-24 WO PCT/CN2019/127893 patent/WO2020135416A1/zh unknown
- 2019-12-24 EP EP19903566.8A patent/EP3886375A4/en active Pending
-
2021
- 2021-06-25 US US17/358,220 patent/US20210320863A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP3886375A4 (en) | 2022-01-12 |
WO2020135416A1 (zh) | 2020-07-02 |
US20210320863A1 (en) | 2021-10-14 |
EP3886375A1 (en) | 2021-09-29 |
CN111385209A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111385209B (zh) | 一种报文处理方法、报文转发方法、装置及设备 | |
US11245620B2 (en) | Method for forwarding packet and network device | |
EP3910891A1 (en) | Path calculation method, apparatus and device | |
CN110661711B (zh) | 生成标签转发表的方法、报文发送方法、装置及设备 | |
EP1320224B1 (en) | Telecommunications network and a packet header therefor | |
CN111835637B (zh) | 一种基于SRv6的数据处理方法及相关网络设备 | |
CN108429680B (zh) | 一种基于虚拟私有云的路由配置方法、系统、介质及设备 | |
CN111510386B (zh) | 用于处理报文的方法和装置 | |
WO2017198131A1 (zh) | 用于重定向数据流的方法和系统、网络设备和控制设备 | |
EP4009596A1 (en) | Message forwarding method, device, and system in sr network | |
EP3886384A1 (en) | Method for updating route in network, network device, and system | |
US20220191138A1 (en) | Method for Making Host Network Performance Requirement Programmable, Device, and System | |
CN112532563B (zh) | 报文的发送方法和装置 | |
CN114338495A (zh) | 业务处理方法以及相关设备 | |
JP2014150364A (ja) | アドレス生成装置 | |
CN108306825B (zh) | 一种等价转发表项生成方法和vtep设备 | |
CN110022263B (zh) | 一种数据传输的方法及相关装置 | |
JP7273125B2 (ja) | BIERv6パケットを送信するための方法および第1のネットワークデバイス | |
CN117354221A (zh) | 报文转发处理方法及相关装置 | |
EP4415325A1 (en) | Message processing method, apparatus and system | |
CN117221201A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |