技术新讯 > 电子通信装置的制造及其应用技术 > 报文转发方法及相关装置与流程  >  正文

报文转发方法及相关装置与流程

  • 国知局
  • 2024-10-21 14:24:55

本技术涉及通信领域,尤其涉及一种报文转发方法及相关装置。

背景技术:

1、互联网协议第六版(internet protocol version 6,ipv6)段路由(segmentrouting ipv6,srv6)是基于源路由理念而设计的在网络上转发ipv6数据包的一种协议。该协议定义了通过段标识列表(segment list,sid list)来代表转发路径。一个sid list包括多个段标识(segment identifier,sid),每个sid分别表示转发路径上的一个节点或链路。

2、绑定段标识(binding segment id,bsid)为一种特殊的sid,bsid可以对应一个sid list,指示一条转发路径,该sid list包括一个或多个sid。bsid可被包括在一个sidlist中。

3、在路由扩展头(segment routing header,srh)中的第一个sid为bsid的情况下,一般会将该bsid对应的sid list封装为一个单独的新的srh头,与原有的srh头一起转发。在这种情况下,在发送报文时需要一次性封装两层srh头。而对于同时封装两层srh头的场景,通常采用芯片内环回的方式进行封装,导致网络设备的转发性能降低。

技术实现思路

1、本技术提供了一种报文转发方法及相关装置,以提升网络设备的转发性能。

2、第一方面,本技术提供了一种报文转发方法,该方法应用于通信领域,该方法包括:

3、首先,在确定路由扩展头srh中的段标识列表sid list中的第一个段标识sid为绑定段标识bsid时,对该bsid进行拆分,得到拆分后的sid list,其中,该拆分后的sid list中的第一个sid为普通的sid。然后,基于该拆分后的sid list发送报文。

4、针对单设备一次封装两层srh头引起的转发性能下降的问题,在本技术中,在srh中的sid list中的第一个sid为bsid时,通过对该bsid进行拆分,将第一个sid设定为普通的sid,以保证在发送报文时无需额外封装一层bsid对应的srh头,从而解决了性能下降的问题,提升了网络设备的转发性能,减少了带宽损耗,降低了转发时延。

5、作为第一方面的其中一种实现方式,对bsid进行拆分,得到拆分后的sid list,包括:

6、获取bsid中包含的总跳数l;

7、将bsid中的前l1跳设置为第一sid list,第一sid list包含普通的sid;

8、将bsid中的后l2跳设置为第二sid list,第二sid list包含bsid,l1与l2的和小于或者等于l,l、l1、l2均为正整数。

9、该种实现方式中,在sid list的第一sid为bsid时,通过对该bsid进行拆分,将该bsid的前l1跳设置为普通的sid对应的sid list,将该bsid的后l2跳设置为bsid对应的sidlist,以使srh对应的sid list的首节点不是bsid,保证发送报文时无需额外封装一层bsid对应的srh头,发出的报文无需封装双层srh头。另外,通过灵活设定拆分的跳数,以灵活设定拆分的节点的位置。

10、作为第一方面的其中一种实现方式,在确定路由扩展头srh中的段标识列表sidlist中的第一个段标识sid为绑定段标识bsid之前,包括:

11、获取目标路径和头节点对应的最大段标识深度msd;

12、在目标路径中包含的总跳数大于或者等于msd时,将目标路径中的节点拼接为n个bsid,得到sid list,每个bsid包含的跳数为msd。

13、在sid list中存在普通的sid时,统计普通的sid的个数x,x和n均为正整数。

14、该种实现方式中,在发送报文之前,首先会计算出目标路径,并在判断出目标路径中包含的总跳数超过msd时,对节点进行分段拼接,以使每一段路径内封装的跳数不超过msd,保证报文的正常转发。

15、作为第一方面的其中一种实现方式,在确定路由扩展头srh中的段标识列表sidlist中的第一个段标识sid为绑定段标识bsid时,对bsid进行拆分,得到拆分后的sidlist,包括:

16、在x与n的和大于msd,且x小于或者等于msd,n与1的和小于或者等于msd时,将剩余的x跳拼接成bsid,得到n+1个bsid;

17、对n+1个bsid中的第一个bsid进行拆分,得到拆分后的sid list。

18、该种实现方式中,在按照msd对目标路径中的节点进行分段拼接时,若剩余未进行拼接的节点为x跳,则在满足x与n的和大于msd,且x小于或者等于msd,n与1的和小于或者等于msd时,需对x跳进行拼接,以保证每一段路径内封装的跳数不超过msd,保证报文的正常转发。

19、作为第一方面的其中一种实现方式,采用贪心算法从目标路径的尾节点对bsid进行拼接。

20、该种实现方式中,在对目标路径内的节点进行拼接的过程中,可以采用贪心算法,自尾节点向头节点进行bsid的拼接,以保证bsid的拼接次数尽可能少。

21、作为第一方面的其中一种实现方式,基于拆分后的sid list发送报文,包括:

22、发送报文,报文中包含基于拆分后的sid list封装的单层srh头。

23、该种实现方式中,在将报文中的srh头对应的sid list的第一个sid设置为普通的sid后,发送该报文,以避免一次性封装两层srh头,导致转发性能下降的问题,降低了转发时延。

24、第二方面,本技术提供了一种通信装置,有益效果可以参见第一方面的描述,此处不再赘述。该装置具有实现上述第一方面的方法实例中行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,该装置包括:

25、处理单元,用于在确定路由扩展头srh中的段标识列表sid list中的第一个段标识sid为绑定段标识bsid时,对bsid进行拆分,得到拆分后的sid list,拆分后的sid list中的第一个sid为普通的sid;

26、收发单元,用于基于拆分后的sid list发送报文。

27、作为第二方面的其中一种实现方式,处理单元还用于:

28、获取bsid中包含的总跳数l;

29、将bsid中的前l1跳设置为第一sid list,第一sid list包含普通的sid;

30、将bsid中的后l2跳设置为第二sid list,第二sid list包含bsid,l1与l2的和小于或者等于l,l、l1、l2均为正整数。

31、作为第二方面的其中一种实现方式,在确定路由扩展头srh中的段标识列表sidlist中的第一个段标识sid为绑定段标识bsid之前,处理单元还用于:

32、获取目标路径和头节点对应的最大段标识深度msd;

33、在目标路径中包含的总跳数大于或者等于msd时,将目标路径中的节点拼接为n个bsid,得到sid list,每个bsid包含的跳数为msd。

34、在sid list中存在普通的sid时,统计普通的sid的个数x,x和n均为正整数。

35、作为第二方面的其中一种实现方式,处理单元还用于:

36、在x与n的和大于msd,且x小于或者等于msd,n与1的和小于或者等于msd时,将剩余的x跳拼接成bsid,得到n+1个bsid;

37、对n+1个bsid中的第一个bsid进行拆分,得到拆分后的sid list。

38、作为第二方面的其中一种实现方式,采用贪心算法将目标路径中的节点拼接为bsid。

39、作为第二方面的其中一种实现方式,收发单元还用于:

40、发送报文,报文中包含基于拆分后的sid list封装的单层srh头。

41、第三方面,本技术提供了一种通信装置,通信装置包括存储器和处理器;

42、存储器,用于存储程序代码;

43、处理器,用于运行程序代码中的指令,使得通信装置执行上述第一方面或第一方面的任一可能的实现方式中的方法。

44、第四方面,本技术提供了一种网络系统,系统包括头节点和多个分段端节点,多个分段端节点为报文的转发路径中具有分段路由功能的节点,头节点为分段路由网络入口处的节点;

45、该头节点用于实现上述第一方面或第一方面的任一可能的实现方式中的方法。

46、第五方面,本技术提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,该程序由计算机执行时,使得计算机实施上述第一方面或第一方面的任一可能的实现方式中的方法。

47、第六方面,本技术提供了一种计算机程序产品,该计算机产品被计算机执行时,实现上述第一方面或第一方面的任一可能的实现方式中的方法。

48、第七方面,本技术提供了一种电路系统,该电路系统包括处理电路,该处理电路配置为执行上述第一方面或第一方面的任一种可能实现方式中的方法。

49、第八方面,本技术提供了一种芯片系统,包括处理器和存储器,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,以执行如上述第一方面或第一方面的任一种可能实现方式中的方法。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

50、上述第二至第八方面的方案,用于实现或配合实现上述第一方面或其中任一种可能的实现方式中的方法,因此能够与第一方面达到相同或相应的有益效果,此处不再进行赘述。

本文地址:https://www.jishuxx.com/zhuanli/20241021/318055.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。