一种报文处理方法、报文转发方法、装置及设备转让专利
申请号 : CN201811623644.0
文献号 : CN111385209B
文献日 : 2021-06-22
发明人 : 夏寅贲 , 刘世兴
申请人 : 华为技术有限公司
摘要 :
权利要求 :
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任意一项所述的方法。
说明书 :
一种报文处理方法、报文转发方法、装置及设备
技术领域
背景技术
口信息,这些表项例如为转发表(forwarding info base,FIB)、媒体访问控制(media
access control,MAC)表等。但查找表项获得报文转发的出接口信息需要花费一定的时间,
所以会导致网络设备转发报文的效率较低,难以满足目前日益增长的报文转发速度需求。
同时,因为网络设备需要存储这些表项,所以也会占用网络设备的存储空间。而网络设备的
存储空间有限,所以能够存储的转发表或MAC表的大小也有限,导致网络规模受到限制。
发明内容
defined network,SDN)控制器等。其中,用户设备可以包括个人计算机(personal
computer,PC)、手机、平板电脑等。该报文处理方法包括如下步骤:首先,源设备获取全网网
络设备的拓扑信息,例如全网网络设备的设备标识、端口号和IP地址等。然后,源设备获取
包含目的地址的报文。报文的目的地址可以是互联网协议(Internet Protocol,IP)地址,
具体的可以是第六版因特网协议(Internet Protocol version 6,IPv6)地址或第四版因
特网协议(Internet Protocol version 4,IPv4)地址等,本申请不做具体限定。根据报文
的目的地址和全网络拓扑信息,源设备可以计算出转发报文到根据与目的地址对应的目的
设备的转发路径。根据转发路径上网络设备之间相连接的端口的端口号,可以确定出转发
路径上的网络设备的出接口信息。网络设备的出接口信息可以是端口号,也可以是出接口
索引。最后,源设备对报文封装报文头,报文头包括转发路径上的网络设备的出接口信息。
报文头例如可以是段路由头(segment routing header,SRH)。在本申请实施例中,报文头
可以包括转发路径上的所有网络设备的出接口信息,也可以是部分网络设备的出接口信
息。当转发路径上的网络设备在获取到报文之后,可以从报文的报文头中获取网络设备的
出接口信息,进而根据该出接口信息对应的接口将报文转发给下一跳网络设备。相比较于
传统技术,转发路径中的网络设备无需查找转发表或MAC表即可实现对报文的转发,提高了
报文的转发效率。同时,转发路径中的网络设备也不需要存储转发表或MAC表,不仅节约了
存储空间,而且网络规模不再受限于有限大小的转发表或MAC表,扩大了网络规模。
息,所述方法还包括:利用所述源设备的出接口信息对应的出接口将所述报文向所述源设
备的下一跳设备转发,提高源设备转发报文的效率以及节约源设备的存储空间。
出接口信息时,可以根据第一字段中存储的位置信息获取源设备的出接口信息。
了标识各个出接口信息,每个数组中的每个元素具有自己的索引号,通过元素的索引号可
以找到对应的出接口信息。
源设备的出接口信息时,可以根据第一字段中存储的与源设备的出接口信息对应的数组的
索引号获取对应的源设备的出接口信息。
小的顺序指示。
中所述下一跳网络设备的出接口信息在所述报文头中的位置信息。这样,下一跳网络设备
可以根据报文的第一字段存储的位置信息,获取到下一跳网络设备的出接口信息。在其中
一种可能实现的方式中,第二字段可以存储在段列表中。对于SRv6而言,该第二字段可以是
段标识(segment identifier,SID)中的Function字段。Function字段包括很多种字段,在
本申请实施例中能够实现上述功能的字段为属于Function字段的END字段。
对应的出接口信息相同。当第一字段中存储的位置信息发生变化,那么目标地址字段中存
储的出接口信息也要相应的变化。
SRH或IPv6头中获取与所述网络设备对应的出接口信息。当转发路径的网络设备获取到报
文之后,可以判断以太网头中的目的MAC地址是否为特定的MAC地址,如果是的话,则从报文
的报文头中提取对应的出接口信息,并根据该出接口信息对应的接口转发报文;如果不是,
则可以按照传统方式查表转发。
报文转发方法包括如下步骤:首先,网络设备接收报文,报文的报文头包括用于转发所述报
文的所述网络设备的出接口信息。报文头例如为段路由头。出接口信息用于网络设备向网
络设备的下一跳网络设备发送报文。其次,网络设备根据出接口信息确定出接口信息对应
的出接口,并通过出接口向网络设备的下一跳网络设备发送报文。当网络设备从报文中获
取到网络设备的出接口信息之后,网络设备可以根据报文中的出接口信息确定出对应的网
络设备的出接口,从而可以通过该对应的出接口向下一跳网络设备发送该报文。在整个报
文转发过程中,网络设备不需要查找转发表或MAC表,自然也不需要存储转发表或MAC表,所
以不仅缩短了网络设备的报文转发时间,而且节约了网络设备的存储空间,扩大了网络规
模。
应的出接口之前,方法还包括:根据第一字段中存储的网络设备的出接口信息在报文头中
的位置信息,从报文中获取网络设备的出接口信息。
设备的出接口信息时,根据所述第一字段中存储的元素的索引号找到对应的元素,并从该
元素中获取到网络设备的出接口信息。
段中存储的所述网络设备的出接口信息在所述报文中的位置信息,修改为所述下一跳网络
设备的出接口信息在所述报文中的位置信息。若第二字段中存储的是与网络设备的出接口
信息对应的元素的索引号,下一跳网络设备的出接口信息也存储于报文头中的数组的元素
中,且与网络设备的出接口信息对应元素的索引号,与下一跳网络设备的出接口信息对应
元素的索引号不同。那么,可以根据第二字段的指示将第一字段中存储的与网络设备的出
接口信息对应的元素的索引号,修改为与下一跳网络设备的出接口信息对应的元素的索引
号。
执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
述报文处理方法;收发器,用于与转发路径上的网络设备进行通信。
行上述报文转发方法;收发器,用于与网络设备的下一跳网络设备进行通信。
网络设备的出接口信息,转发路径为从源设备转发报文到与目的地址对应的目的设备的路
径;对报文封装报文头,报文头包括转发路径上转发报文的网络设备的出接口信息;网络设
备,用于接收报文;根据报文中的出接口信息确定出接口信息对应的出接口;通过出接口向
网络设备的下一跳网络设备发送报文。
附图说明
具体实施方式
络设备需要根据报文的目的IP地址查找本地存储的转发表,从该转发表中查找与该目的IP
地址对应的出接口信息。若报文中的MAC地址不是网络设备的接收该报文的接口的MAC地
址,则需要根据报文中的目的MAC地址查找MAC表,从MAC表中查找与该MAC地址对应的出接
口信息。
设备较多的存储空间。
面上的网络。
接,网络设备103与网络设备104连接。
的,也可以是从其他网络设备接收到的。
101根据各个网络设备的端口的IPv6地址,以及报文的目的地址,可以计算出报文的转发路
径。转发路径为从报文的起始节点(在本申请实施例中为网络设备101)转发报文至报文的
目的地址对应的网络设备(在本申请实施例中可以为网络设备104)的路径。所以,在本申请
实施例中,报文的转发路径为从网络设备101→网络设备102→网络设备103→网络设备
104。
于转发报文的出接口。在本申请实施例中,出接口信息可以为端口号或接口索引。在本申请
实施例中,报文头中包括网络设备101的出接口信息、网络设备102的出接口信息、网络设备
103的出接口信息以及网络设备104的出接口信息。其中,网络设备101的出接口信息用于网
络设备101将报文转发给网络设备102,网络设备102的出接口信息用于网络设备102将报文
转发给网络设备103,网络设备103的出接口信息用于网络设备103将报文转发给网络设备
104。
头中包括的网络设备102的出接口信息,从对应的出接口向网络设备103转发报文;网络设
备103在接收到报文后,根据报文头中包括的网络设备103的出接口信息,从对应的出接口
向网络设备104转发报文。这样,报文就到达了与目的地址对应的网络设备,即网络设备
104。
知,因而减少了查表所需要的时间,提高了报文转发效率。同时,网络设备101、网络设备
102、网络设备103和网络设备104不需要存储转发表或MAC表,所以也节约了这些网络设备
的存储空间,扩大了网络规模。
做具体限定。
IP地址或者是不符合路由协议格式等报文作为报文。在选择得到报文之后,通过执行S101
至S103实现报文的高效率转发以及节约网络设备存储空间的目的。
括拓扑信息的报文发送给源设备,以使源设备获取到全网网络设备的拓扑信息。包括拓扑
信息的报文可以是基于中继系统到中间系统(intermediate system to intermediate
system,IS‑IS)协议的标记交换路径(label switching path,LSP)报文、基于开放式最短
路径优先(open shortest path first,OSPF)的链路状态广播(link state
advertisement,LSA)报文,或者是基于边界网关协议(Border Gateway Protocol,BGP)的
更新消息(update message)等。
类型(type)、TLV字段的长度(length)、网络设备的设备标识、端口号以及网络设备的IP地
址。其中,TLV字段的类型可以占用1个字节,TLV字段的长度可以占用1个字节,设备标识可
以占用6个字节,端口号可以占用2个字节,IP地址可以占用16个字节。
计算出报文的转发路径。转发路径为从源设备转发报文到与目的地址对应的目的设备的路
径。在具体应用中,从源设备到目的设备的路径可能有多条,可以从中选择其中一条作为转
发路径。选取转发路径的规则可以有很多,例如选取最短的路径为转发路径,所谓最短的路
径是指链路开销(cost)最小的路径。
备102和网络设备103。转发路径上的网络设备的出接口信息用于网络设备将报文转发给转
发路径中的下一跳网络设备,根据该出接口信息可以确定出对应的出接口。其中的出接口
信息可以是上文全网拓扑信息中的端口号或者接口索引。以图1所示的实施例为例,网络设
备101转发报文的端口号为0001,网络设备102转发报文的端口号为0002,网络设备103转发
报文的端口号为0003。
出接口信息将将报文传输给安装在目的设备上的应用程序。目的设备的出接口信息可以是
目的设备的端口号,例如网络设备104的出接口信息为端口号0000,或者接口索引。
程中,可以从报文的报文头中获取对应的出接口信息,然后从该出接口信息对应的出接口
转发报文。相比较于传统技术,转发路径中的网络设备无需查找转发表或MAC表即可实现对
报文的转发,提高了报文的转发效率。同时,转发路径中的网络设备也不需要存储转发表或
MAC表,不仅节约了存储空间,而且网络规模不再受限于有限数目的表项,有利于扩大网络
规模。
例,封装在报文头中的转发网络设备的出接口信息,可以是网络设备101、网络设备102和网
络设备103中的一个或多个网络设备的出接口信息。
备可以从报文头中获取源设备的出接口信息,从而利用所述源设备的出接口信息对应的出
接口将所述报文向所述源设备的下一跳设备转发,以提高源设备转发报文的效率以及节约
源设备的存储空间。
剩余跳数(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的端口号。
然,在实际应用中,还可以通过元素索引号由小到大的顺序指示转发顺序。报文头中的段
left字段可以存储网络设备101的端口号0001对应的元素的索引号3。当需要获取网络设备
101的端口号时,可以根据段left字段中存储的元素的索引号查找索引号为3的元素,并从
该索引号为3的元素中获取网络设备101的端口号0001。
口信息在所述报文头中的位置信息修改为所述报文头中源设备的下一跳网络设备的出接
口信息在所述报文头中的位置信息,以便下一跳网络设备能够根据第一字段中存储的下一
跳网络设备的出接口信息在所述报文头中的位置信息获取下一跳网络设备的出接口信息。
中存储的与源设备的出接口信息对应元素的索引号修改为源设备的下一跳网络设备的出
接口信息对应元素的出接口。
能够实现上述功能的字段为属于Function字段的END字段。END字段可以指示网络设备判断
网络设备对应的出接口信息的索引号减1是否大于0,如果是,则可以将段left字段中存储
的索引号修改为下一跳网络设备的出接口信息对应的索引号。
改为网络设备102的端口号0002对应的索引号2。
分是END字段,END字段的默认值为0x20,占用8bit;其余部分为保留位,保留位可以全为0,
占用104bit。这三部分合起来可以被称为段标识(segment identification,SID)。
引号3,在从索引号为3的元素中获取到0001::20之后,可以根据END字段0x20将段left字段
中存储的索引号3修改为索引号2。
(destination address,DA)字段。源地址字段可以存储生成报文的网络设备的地址。在部
分申请实施例中目的地址字段可以存储源设备的出接口信息。在图1所示的实施例中,源地
址字段中可以存储网络设备101的IPv6地址,即fafa::01;目的地址字段中可以存储网络设
备101的端口号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所示格式的报文。
址可以是特定的MAC地址,用于指示转发路径中的网络设备从报文头中获取与网络设备对
应的出接口信息。也就是说,当网络设备获取到报文之后,判断以太网头中的目的MAC地址
是否为特定的MAC地址,如果是的话,则从报文的报文头中提取对应的出接口信息,并根据
该出接口信息对应的接口转发报文;如果不是,则可以按照传统方式查表转发。在图1所示
的实施例中,该特定的MAC地址可以是fa:fa:fa:fa:fa:fa。
设备的MAC地址为aa:aa:aa:aa:aa:aa。
号。网络设备可以根据与出接口信息对应的出接口发送获取到的报文。
网络设备103,那么网络设备的端口号可以是0003。
文头中找到网络设备的出接口信息。
信息,修改为下一跳网络设备的出接口信息在报文头中的位置信息,以便能够让下一跳网
络设备根据第一字段中存储的位置信息找到下一跳网络设备的出接口信息,依次类推。其
中,第二字段可以是上文中提到的Function字段,相关内容请参见上文,此处不再赘述。
存储一个出接口信息。每个元素均具有自己的索引号。段列表中的元素可以按照转发路径
上的网络设备对报文的转发顺序排列,元素的索引号可以指示转发顺序。段列表中的每个
元素除了可以存储出接口信息以外,还可以存储上文中的END字段。
跳网络设备发送该报文。在整个报文转发过程中,网络设备不需要查找转发表或MAC表,自
然也不需要存储转发表或MAC表,所以不仅缩短了网络设备的报文转发时间,而且节约了网
络设备的存储空间。
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发送报文的出接口的端口号,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所示格式的报文。
得到报文包含的数据信息中的净荷(payload)。
所以有效提高了报文转发效率。而且网络设备102和网络设备103不需要存储转发表或MAC
表,所以也节约了网络设备102和网络设备103的存储空间。
元902和第一封装单元903。其中,报文获取单元901用于执行图2所示实施例中的S101;信息
获取单元902用于执行图2所示实施例中的S102;第一封装单元903用于执行图2所示实施例
中的S103。具体的,报文获取单元901,用于获取包含目的地址的报文;
备的路径;第一封装单元903,用于对所述报文封装报文头,所述报文头包括所述转发路径
上转发所述报文的网络设备的出接口信息。
和发送单元1003。其中,接收单元1001用于执行图6所示实施例中的S201;确定单元1002用
于执行图6所示实施例中的S202;发送单元1003用于执行图6所示实施例中的S203。具体的,
接收单元1001,用于接收报文,所述报文的报文头包括用于转发所述报文的所述网络设备
的出接口信息;确定单元1002,用于根据所述出接口信息确定所述出接口信息对应的出接
口;发送单元1003,用于通过所述出接口向所述网络设备的下一跳网络设备发送所述报文。
1103,
结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址
总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根
总线或一种类型的总线。
器1203,
结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址
总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根
总线或一种类型的总线。
(erasable programmable read only memory,EPROM)、电可擦除可编程只读存储器
(electrically erasable programmable read only memory,EEPROM)、寄存器
(register)、硬盘、移动硬盘、CD‑ROM或者本领域技术人员知晓的任何其他形式的存储介
质。
路(application‑specific integrated circuit,ASIC)、现场可编程门阵列(field
programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或
者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,
模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,
DSP和微处理器的组合等等。
1302用于执行图10所示实施例中报文转发装置的功能。具体的,
的路径;对报文封装报文头,报文头包括转发路径上转发报文的网络设备的出接口信息;
解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示
或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于
覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限
于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产
品或设备固有的其它步骤或单元。
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或
讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式
体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机
设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全
部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only
Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程
序代码的介质。
存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另
一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何
可用介质。
述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些
修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。