CN115499358A - SRv6-TE报文转发方法和转发设备 - Google Patents

SRv6-TE报文转发方法和转发设备 Download PDF

Info

Publication number
CN115499358A
CN115499358A CN202211117763.5A CN202211117763A CN115499358A CN 115499358 A CN115499358 A CN 115499358A CN 202211117763 A CN202211117763 A CN 202211117763A CN 115499358 A CN115499358 A CN 115499358A
Authority
CN
China
Prior art keywords
forwarding
sid
message
value
field
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
Application number
CN202211117763.5A
Other languages
English (en)
Inventor
杨冰
龚霞
朱永庆
伍佑明
袁世章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202211117763.5A priority Critical patent/CN115499358A/zh
Publication of CN115499358A publication Critical patent/CN115499358A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

本公开提供了一种SRv6‑TE报文转发方法和转发设备,属于转发技术领域。该方法包括:在报文到达转发设备时,确定报文SRH中的Flags的末尾字段S位的值,S位置1指示SRH中携带分段的SID列表,分段的SID列表指示转发路径中存在不同栈深处理能力的转发设备;若S位置1,则确定转发设备的MSD是否小于SRH中Last Entry字段的值;若转发设备的MSD小于Last Entry字段的值,则根据SID列表和报文当前对应的SID中的Argument字段,确定下一个SID;将下一个SID复制到该报文的IPv6报文头的目的地址字段中,并进行报文的转发。基于本公开实施例提供的SRv6‑TE报文转发方法,可以在转发过程中降低报文头的开销、避免传输带宽增加的问题。

Description

SRv6-TE报文转发方法和转发设备
技术领域
本公开属于转发技术领域,具体涉及一种SRv6-TE报文转发方法和转发设备。
背景技术
目前,SRv6(Segment Routing IPv6,基于IPv6(Internet Protocol Version 6,互联网协议第6版)转发平面的段路由)-TE(Traffic Engineering,流量工程)报文的转发依赖SRH(Segment Routing Header,分段路由报头)中的SID(Segment ID,分段标识)列表,SRv6-TE报文的转发与转发设备的MSD(Maximum SID Depth,最大栈深)相关,MSD指示当前节点或者链路所能支持的最大栈深。
通常,不同设备在保证转发性能的前提下,对SRH的栈深处理能力不同。目前使用Binding SID(绑定分段标识)对跨不同栈深域的SRv6-TE报文进行转发,主要通过增加新的IPv6+SRH的报文头的方式,可以使得MSD小的设备处理大栈深的SRv6-TE报文,或者在这部分转发路径中放弃严格路径的转发方式,使用SRv6-BE(Segment Routing IPv6 BestEffort,SRv6最短路径转发)的方式转发。
然而,若转发路径中不同栈深的设备较多,需要嵌套多层Binding SID,从而产生转发过程中报文头开销过大、传输带宽增加的问题。
发明内容
本公开实施例的目的是提供一种SRv6-TE报文转发方法和转发设备,能够解决转发过程中报文头开销过大、传输带宽增加的问题。
为了解决上述技术问题,本公开是这样实现的:
第一方面,本公开实施例提供了一种SRv6-TE报文转发方法,该方法包括:在报文到达转发设备时,确定报文SRH中的Flags(标志位)的末尾字段S位的值,S位置1指示SRH中携带分段的SID列表,分段的SID列表指示转发路径中存在不同栈深处理能力的转发设备;若S位置1,则确定转发设备的MSD是否小于SRH中Last Entry字段的值;若转发设备的MSD小于Last Entry字段的值,则根据SID列表和报文当前对应的SID中的Argument(变量)字段,确定下一个SID;将该下一个SID复制到报文的IPv6报文头的DA(Destination Address,目的地址)字段中,并进行报文的转发。
可选地,根据SID列表和报文对应的SID中的Argument字段,确定下一个SID,包括:确定报文对应的SID的Argument字段的后四位的值;将索引值为Argument字段的后四位的值对应的SID列表中SID确定为下一个SID。
可选地,在确定下一个SID之后,该方法还包括:保持SRH中SL(Segment List,分段表)字段的值不变。
可选地,在确定转发设备的MSD是否小于SRH头中Last Entry字段的值之后,该方法还包括:若转发设备的MSD大于或等于Last Entry字段的值,则基于SID列表和SL字段确定下一个SID,并将SL字段的值减1。
可选地,转发设备为报文的第一个转发设备,在确定报文中的标志位Flags的末尾字段S位的值之前,该方法还包括:当报文到达转发设备时,若转发路径中存在至少一个转发设备的MSD小于M,将报文SRH中的Flags的S位置1,设置SID列表中最后一个SID的Argument字段的后四位的值与Last Entry字段的值相同,其中,M指示转发路径中转发设备的数量或SID列表中SID的数量,M为正整数。
可选地,当报文到达转发设备时,确定报文当前的SID的Argument字段的后四位的值与Last Entry字段的值是否相同;若报文当前的SID的Argument字段的后四位的值与Last Entry字段的值相同,则确定转发设备为尾节点;或者,若报文当前的SID的Argument字段的后四位的值与Last Entry字段的值不同,则确定转发设备为中间节点。
可选地,在确定报文报头SRH中的Flags的末尾字段S位的值之后,该方法还包括:若S位置0,则基于SID列表和SL字段确定下一个SID,并将SL字段的值减1;其中,S位置0指示SRH中携带未分段的SID列表。
第二方面,本公开实施例提供了一种转发设备,该转发设备包括:确定模块和转发模块;确定模块,用于在报文到达转发设备时,确定报文SRH中的Flags的末尾字段S位的值,S位置1指示SRH中携带分段的SID列表;若S位置1,则确定转发设备的MSD是否小于SRH中Last Entry字段的值;若转发设备的MSD小于Last Entry字段的值,则根据SID列表和报文当前对应的SID中的Argument字段,确定下一个SID;复制模块,用于将下一个SID复制到报文的IPv6报文头的DA字段中,转发模块用于进行报文的转发。
可选地,确定模块具体用于:确定报文对应的SID的Argument字段的后四位的值;将索引值为Argument字段的后四位的值对应的SID列表中SID确定为下一个SID。
可选地,转发设备包括:保持模块;保持模块,用于在确定模块确定下一个SID之后,保持SRH中分段表SL字段的值不变。
可选地,确定模块,还用于确定转发设备的MSD是否小于SRH头中Last Entry字段的值之后,若转发设备的MSD大于或等于Last Entry字段的值,则基于SID列表和SL字段确定下一个SID,并将SL字段的值减1。
可选地,转发设备为报文的第一个转发设备,转发设备500包括:设置模块;设置模块,用于转发设备为报文的第一个转发设备,确定报文中的标志位Flags的末尾字段S位的值之前,当报文到达转发设备时,若转发路径中存在至少一个转发设备的MSD小于M,将报文SRH中的Flags的S位置1,设置SID列表中最后一个SID的Argument字段的后四位的值与LastEntry字段的值相同,其中,M指示转发路径中转发设备的数量或SID列表中SID的数量,M为正整数。
可选地,确定模块,还用于当报文到达转发设备时,确定报文当前的SID的Argument字段的后四位的值与Last Entry字段的值是否相同;若报文当前的SID的Argument字段的后四位的值与Last Entry字段的值相同,则确定转发设备为尾节点;或者,若报文当前的SID的Argument字段的后四位的值与Last Entry字段的值不同,则确定转发设备为中间节点。
可选地,确定模块,还用于定报文SRH中的Flags的末尾字段S位的值之后,若S位置0,则基于SID列表和SL字段确定下一个SID,并将SL字段的值减1;其中,S位置0指示SRH中携带未分段的SID列表。
第三方面,本公开实施例提供了一种转发设备,该转发设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的SRv6-TE报文转发方法的步骤。
第四方面,本公开实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的SRv6-TE报文转发方法的步骤。
第五方面,本公开实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的SRv6-TE报文转发方法。
第六方面,本公开实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面所述的SRv6-TE报文转发方法的步骤。
在本公开实施例中,重新定义了报文SRH中的Flags字段的字节S位,该S位指示报文SRH中的SID列表为分段的SID列表,在报文到达转发设备之后,转发设备可以基于S位确定SID列表的性质,在SID列表为分段的SID列表的情况下,转发设备根据自己的MSD和报文SRH中Last Entry字段的值的大小确定报文的转发方式,若自己的MSD小于Last Entry字段的值,则转发设备根据SID列表和报文当前对应的SID中Argument字段确定下一个SID,然后将该下一个SID拷贝到报文的IPv6 DA中并转发出去。因此,相比于相关技术中采用BindingSID的方式,无需增加新的IPv6+SRH的报文头,可以避免叠加多层Binding SID,降低为报文配置SRH的复杂度,减少报文转发的开销,避免增加额外的转发带宽,可以使得报文转发更加灵活,在转发路径中存在跨栈深的复杂转发节点时,能够灵活使用各个设备的实际情况,增加设备的复用性,更加贴合现网复杂的网元环境。
附图说明
图1为本公开实施例提供的一种SRv6-TE报文转发的转发系统示意图;
图2为本公开实施例提供的SRv6-TE报文转发方法的流程示意图之一;
图3为本公开实施例提供的一种SRH中Flags字段的定义示意图;
图4为本公开实施例提供的SRv6-TE报文转发方法的流程示意图之二;
图5为本公开实施例提供的SRv6-TE报文转发方法的流程示意图之三;
图6为本公开实施例提供的转发设备可能的结构示意图之一;
图7为本公开实施例提供的转发设备可能的结构示意图之二;
图8为本公开实施例提供的一种节点的硬件示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本公开实施例提供的SRv6-TE报文转发方法进行详细地说明。
图1为本公开实施例提供的一种SRv6-TE报文转发的转发系统示意图。如图1中系统所示,该转发系统包括:CE(Customer Edge,客户边缘)101、头节点102、中间转发节点103、尾节点104和CE 105;其中,头节点102、中间转发节点103、尾节点104均为转发节点(或转发设备),各个转发节点中包括不同MSD的至少2个节点。CE 101将IP报文发送给头节点102(头节点),头节点102为IP报文增加IPV6+SRH报文头,然后将报文发送给中间转发节点103,每个中间转发节点103确定SRH中的Flags的末尾字段S位的值,S位置1,则中间转发节点103确定自己的MSD是否小于报文SRH中Last Entry字段的值,若中间转发节点103的MSD小于报文SRH中Last Entry字段的值,则该中间转发节点103根据SID列表和报文当前对应的SID中的Argument字段确定下一个SID,将该下一个SID复制到报文的IPv6报文头的DA字段中,并进行报文的转发,在传输到尾节点104,尾节点104去掉报文的IPV6+SRH报文头,并将报文发送给CE 105。
图2为本公开实施例提供的一种SRv6-TE报文转发方法的流程示意图,如图2中所示,该方法包括下述的S201至S204:
S201、在报文到达转发设备时,转发设备确定报文SRH中的Flags的末尾字段S位的值。
其中,Flags的字段S位置1指示报文SRH中携带分段的SID列表;Flags的字段S位置0指示报文SRH中携带未分段的SID列表。
需要说明的是,SRH中Flags为标志位。
S202、若Flags的字段S位置1,则转发设备确定转发设备的MSD是否小于报文SRH中Last Entry字段的值。
需要说明的是,SRH中Last Entry字段为段列表最后一个元素的索引。
S203、若转发设备的MSD小于报文SRH中Last Entry字段的值,则该转发设备根据SID列表和报文当前对应的SID中的Argument字段确定下一个SID。
通常,Arguments(Args)字段是一个可选字段。它是指令在执行时对应的参数,这些参数可能包含流、服务或任何其他相关的信息。
S204、转发设备将该下一个SID复制到报文的IPv6报文头的DA字段中,并进行报文的转发。
本公开实施例提供的SRv6-TE报文转发方法中,重新定义了报文SRH中的Flags字段的字节S位,该S位指示报文SRH中的SID列表为分段的SID列表,在报文到达转发设备之后,转发设备可以基于S位确定SID列表的性质,在SID列表为分段的SID列表的情况下,转发设备根据自己的MSD和报文SRH中Last Entry字段的值的大小确定报文的转发方式,若自己的MSD小于Last Entry字段的值,则转发设备根据SID列表和报文当前对应的SID中Argument字段确定下一个SID,然后将该下一个SID拷贝到报文的IPv6 DA中并转发出去。因此,相比于相关技术中采用Binding SID的方式,无需增加新的IPv6+SRH的报文头,可以避免叠加多层Binding SID,降低为报文配置SRH的复杂度,减少报文转发的开销,避免增加额外的转发带宽,可以使得报文转发更加灵活,在转发路径中存在跨栈深的复杂转发节点时,能够灵活使用各个设备的实际情况,增加设备的复用性,更加贴合现网复杂的网元环境。
可选地,在公开实施例提供的SRv6-TE报文转发方法中,上述的S203具体可以通过下述的S203a执行:
S203a、若转发设备的MSD小于报文SRH中Last Entry字段的值,则转发设备确定报文对应的SID的Argument字段的后四位的值;将SID列表中的索引值为Argument字段的后四位的值对应的SID确定为下一个SID。
可以理解,下一个SID为下一跳报文对应的SID。
基于该方案,重新定义了Argument字段,该Argument字段可以指示在报文SRH携带分段的SID列表的情况下,如何确定下一跳对应的SID,例如将Argument字段的后四位的值作为索引值,查询SID列表中该索引值对应的SID为下一个SID,该方式使用4个bit(比特),相比于相关技术基于SL字段的8个bit确定下一跳对应的SID的方式,在可以仅读取部分SID列表的情况下,可以选择末4bit的字段定位SID列表中的SID,不仅可以避免无法确定目的地址的情况,还可以降低报文头的开销。
可选地,在公开实施例提供的SRv6-TE报文转发方法中,在上述的S203之后,还可以包括下述的S205:
S205、转发设备保持报文SRH中SL字段的值不变。
基于该方案,若转发设备的MSD小于报文SRH中Last Entry字段的值,则按照上述的转发方式确定下一个SID之后,通过保持报文SRH中SL字段的值不变,可以使得转发设备的MSD大于或等于报文SRH中Last Entry字段的值的情况,按照传统的转发方式基于SL字段进行转发。
可选地,在公开实施例提供的SRv6-TE报文转发方法中,在上述的S202之后,还可以包括下述的S206:
S206、若转发设备的MSD大于或等于Last Entry字段的值,则转发设备基于报文SRH中SID列表和报文SRH中SL字段确定下一个SID,并将报文SRH中SL字段的值减1。
基于该方案,在转发设备确定自己的MSD大于或等于Last Entry字段的值,则转发设备可以按照传统的转发方式进行转发,即可以基于报文SRH中SID列表和报文SRH中SL字段确定下一个SID,然后将报文SRH中SL字段的值减1,以使得后序其他MSD大于或等于报文SRH中Last Entry字段的值的转发设备基于SL字段进行转发。
可选地,在公开实施例提供的SRv6-TE报文转发方法中,若转发设备为报文的第一个转发设备,在上述的S201之前,还可以包括下述的S206:
S206、当报文到达转发设备时,若转发路径中存在至少一个转发设备的MSD小于M,将报文SRH中的Flags的S位置1,设置SID列表中最后一个SID的Argument字段的后四位的值与Last Entry字段的值相同。
其中,M可以指示转发设备的数量,也可以指示SID列表中的SID的数量。
示例性地,图3为本公开实施例提供的一种SRH中Flags字段的定义示意图,如图3中所示,将Flags的最后一位定义为S字段,使用该字段标记SID列表的属性。
通常,转发设备将报文SRH中Last Entry字段的值置为M-1。
可以理解,在报文到达第一个转发设备时,第一个转发设备可以根据分配的转发路径确定该转发路径中各个转发设备的MSD,若存在至少一个转发设备的MSD小于M,则第一个转发设备可以将报文SRH中的Flags的S位置1,以指示SID列表为分段的SID列表,将报文SRH中Last Entry字段的值置为M-1,将SID列表中最后一个SID的Argument字段的后四位的值设置为与Last Entry字段相同的值,以便于后续的转发设备根据目的地址确定自己是否为尾节点。
基于该方案,第一个转发设备可以在接收到报文之后,可以根据转发设备的MSD对报文SRH中的字段进行设置,以使得不增加开销的前提下,后续的转发设备可以基于设置的字段的值进行报文的转发。
可选地,在公开实施例提供的SRv6-TE报文转发方法中,该方法还包括下述的S207和S208a,或S207和S208b:
S207、当报文到达转发设备时,转发设备确定报文当前的SID的Argument字段的后四位的值与报文SRH中的Last Entry字段的值是否相同。
S208a、若报文当前的SID的Argument字段的后四位的值与报文SRH中的LastEntry字段的值相同,则确定转发设备为尾节点。
S208b、若报文当前的SID的Argument字段的后四位的值与报文SRH中的LastEntry字段的值不同,则确定转发设备为中间节点。
需要说明的是,上述的SS207和S208a,或S207和S208b可以在S202之前执行,也可以在S202之后执行,本公开实施例对此不作具体限定。
基于该方案,当报文到达转发设备时,转发设备可以确定报文当前的SID的Argument字段的后四位的值与报文SRH中的Last Entry字段的值是否相同,以判断转发设备是尾节点还是中间节点,若是中间节点,则可以按照上述的方式判断转发设备的MSD和报文SRH中Last Entry字段的值的是否相同确定转发方式,若是尾节点,停止处理报文SRH,则可以按照相关技术尾节点的方式处理和转发报文。
可选地,在公开实施例提供的SRv6-TE报文转发方法中,在上述的S201之后,该方法还包括下述的S209:
S209、若报文SRH中Flags的S位置0,则基于SID列表和SL字段确定下一个SID,并将SL字段的值减1。
可以理解,若转发设备确定报文SRH中Flags的S位置0,则转发设备确定报文SRH中SID列表不是分段的SID列表,转发路径中的转发设备的最大栈深均大于报文SRH中LastEntry字段的值,因此可以基于相关技术中的转发方式进行转发。
基于该方案,转发设备可以基于报文SRH中Flags的S位确定携带的SID列表是否为分段的SID列表,在S=0的情况下,确定SID列表不是分段的列表,从而在不增加开销的情况下可以快速区分SID列表的类型,从而在指示的SID列表不是分段列表的情况下基于相关技术中的方式进行转发。
示例:
图4为本公开实施例提供的一种SRv6-TE报文转发流程示意图,如图4中所示,在报文到达转发设备之后,可以包括下述的S401至S407:
S401、转发设备确定Flags中S位的值。
其中,在S位置0的情况下执行下述的S402,在S位置1的情况下执行下述的S403。
S402、按照常规SRv6报文转发方式进行转发。
S403、转发设备判断转发设备的MSD是否大于或等于Last Entry字段的值。
其中,在MSD≥Last Entry的情况下,执行上述的S402,在MSD<Last Entry的情况下,执行上述的S404。
S404、转发设备判断当前报文的SID的Argument字段的后4位是否等于LastEntry。
在当前报文的SID的Argument字段的后4位与Last Entry的值相同的情况下,执行下述的S405,当当前报文的SID的Argument字段的后4位与Last Entry的值不同的情况下,执行下述的S406。
S405、转发设备确定转发设备为尾节点,参照SID做尾节点处理。
S406、转发设备将当前报文的SID的Argument字段的后4位的值作为下一个SID的索引值,根据下一个SID的索引值从SID列表中获取下一个SID,并将该下一个SID拷贝到IPv6报文头的DA中,不改变SL的值,并进行报文的转发。
图5为本公开实施例提供的一种SRv6-TE报文转发流程示意图,如图5中所示,当报文从CE 1到达R1时,R1将报文SRH中Flags的S位置1,Last Entry设置为6,SL设置为6,封装SID列表为:(2::,3::3,8::6,4::2,5::1,6::0,7::4)。其中,各个SID索引依次为6、5、4、3、2、1。
当报文到达R2时,R2确定Flags的S位置1,Argument字段的后四位的值≠LastEntry的值,Last Entry小于自身的MSD(10),则按照常规流程转发:将SL的值减1,SL=5,将索引值5对应的SID(3::3)拷贝到IPv6 DA中。
当报文到达R3时,R3确定Flags的S位置1,Argument字段的后四位的值≠LastEntry的值,Last Entry大于自身的MSD(5),则按照SID(3::3)中属于Argument字段的后四位的值为3,则将索引值3对应的SID(4::2)拷贝到IPv6 DA中,不改变SL值。
按照上述的方式,直至报文转发至R8,此时IPv6 DA为(8::6),SL=5,R8确定Flags的S位置1、Argument字段的后四位的值=Last Entry的值,则R8确定R8为尾节点,停止处理SRH头,按照尾节点的方式处理和转发报文,将报文转发至CE 2。
需要说明的是,本公开实施例提供的SRv6-TE报文转发方法,执行主体还可以为SRv6-TE报文转发装置,或者该SRv6-TE报文转发装置中的用于执行SRv6-TE报文转发方法的控制模块。本公开实施例中以SRv6-TE报文转发装置执行SRv6-TE报文转发的方法为例,说明本公开实施例提供的SRv6-TE报文转发的装置。
图6为本公开实施例提供的一种转发设备的结构示意图,如图5中所示,转发设备600包括:确定模块601、复制模块602和转发模块603;确定模块601,用于在报文到达转发设备时,确定报文SRH中的标Flags的S位的值,S位置1指示SRH中携带分段的分段标识SID列表;若S位置1,则确定转发设备的MSD是否小于SRH中Last Entry字段的值;若转发设备的MSD小于Last Entry字段的值,则根据SID列表和报文当前对应的SID中的Argument字段,确定下一个SID;复制模块502,用于将上述下一个SID复制到报文的IPv6报文头的DA字段中;转发模块603,用于进行报文转发。
可选地,确定模块具体用于:确定报文对应的SID的Argument字段的后四位的值;将索引值为Argument字段的后四位的值对应的SID列表中SID确定为下一个SID。
可选地,转发设备还包括:保持模块;保持模块,用于在确定模块确定下一个SID之后,保持SRH中分段表SL字段的值不变。
可选地,确定模块,还用于确定转发设备的MSD是否小于SRH头中Last Entry字段的值之后,若转发设备的MSD大于或等于Last Entry字段的值,则基于SID列表和SL字段确定下一个SID,并将SL字段的值减1。
可选地,转发设备为报文的第一个转发设备,转发设备500包括:设置模块;设置模块,用于转发设备为报文的第一个转发设备,确定报文中的标志位Flags的末尾字段S位的值之前,当报文到达转发设备时,若转发路径中存在至少一个转发设备的MSD小于M,并将报文SRH中的Flags的S位置1,设置SID列表中最后一个SID的Argument字段的后四位的值与Last Entry字段的值相同,其中,M指示转发路径中转发设备的数量或SID列表中SID的数量,M为正整数。
可选地,确定模块,还用于当报文到达转发设备时,确定报文当前的SID的Argument字段的后四位的值与Last Entry字段的值是否相同;若报文当前的SID的Argument字段的后四位的值与Last Entry字段的值相同,则确定转发设备为尾节点;或者,若报文当前的SID的Argument字段的后四位的值与Last Entry字段的值不同,则确定转发设备为中间节点。
可选地,确定模块,还用于定报文SRH中的Flags的末尾字段S位的值之后,若S位置0,则基于SID列表和SL字段确定下一个SID,并将SL字段的值减1;其中,S位置0指示SRH中携带未分段的SID列表。
本公开实施例提供一种转发设备,重新定义了报文SRH中的Flags字段的字节S位,该S位指示报文SRH中的SID列表为分段的SID列表,在报文到达转发设备之后,转发设备可以基于S位确定SID列表的性质,在SID列表为分段的SID列表的情况下,转发设备根据自己的MSD和报文SRH中Last Entry字段的值的大小确定报文的转发方式,若自己的MSD小于Last Entry字段的值,则转发设备根据SID列表和报文当前对应的SID中Argument字段确定下一个SID,然后将该下一个SID拷贝到报文的IPv6 DA中并转发出去。因此,相比于相关技术中采用Binding SID的方式,无需增加新的IPv6+SRH的报文头,可以避免叠加多层Binding SID,降低为报文配置SRH的复杂度,减少报文转发的开销,避免增加额外的转发带宽,可以使得报文转发更加灵活,在转发路径中存在跨栈深的复杂转发节点时,能够灵活使用各个设备的实际情况,增加设备的复用性,更加贴合现网复杂的网元环境。
本公开实施例提供的转发设备600能够实现图1至图5方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图7所示,本公开实施例还提供一种转发设备700,包括处理器701,存储器702,存储在存储器702上并可在处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述SRv6-TE报文转发方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,图8示出的网络实体或节点800仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,节点800包括中央处理单元(Central Processing Unit,CPU)801,其可以根据存储在ROM(Read Only Memory,只读存储器)802中的程序或者从存储部分808加载到RAM(Random Access Memory,随机访问存储器)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统操作所需的各种程序和数据。CPU 801、ROM 802以及RAM803通过总线804彼此相连。I/O(Input/Output,输入/输出)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如CRT(Cathode Ray Tube,阴极射线管)、LCD(Liquid Crystal Display,液晶显示器)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN(Local AreaNetwork,无线网络)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU 801)执行时,执行本申请的系统中限定的各种功能。
本公开实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述SRv6-TE报文转发方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如ROM、RAM、磁碟或者光盘等。
本公开实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述SRv6-TE报文转发方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本公开实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本公开实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述的SRv6-TE报文转发方法的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本公开实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本公开各个实施例所述的方法。
上面结合附图对本公开的实施例进行了描述,但是本公开并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本公开的启示下,在不脱离本公开宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本公开的保护之内。

Claims (10)

1.一种基于互联网协议第6版转发平面的段路由-流量工程SRv6-TE报文的转发方法,应用于转发设备,其特征在于,所述方法包括:
在报文到达转发设备时,确定报文分段路由报头SRH中的标志位Flags的末尾字段S位的值,所述S位置1指示所述SRH中携带分段的分段标识SID列表,所述分段的SID列表指示转发路径中存在不同栈深处理能力的转发设备;
若所述S位置1,则确定所述转发设备的最大栈深MSD是否小于所述SRH中最后一项LastEntry字段的值;
若所述转发设备的MSD小于所述Last Entry字段的值,则根据所述SID列表和所述报文当前对应的SID中的变量Argument字段,确定下一个SID;
将所述下一个SID复制到所述报文的基于互联网协议第6版IPv6报文头的目的地址DA字段中,并进行所述报文的转发。
2.根据权利要求1所述的方法,其特征在于,所述根据所述SID列表和所述报文对应的SID中的Argument字段,确定下一个SID,包括:
确定所述报文对应的SID的Argument字段的后四位的值;将索引值为所述Argument字段的后四位的值对应的SID列表中SID确定为下一个SID。
3.根据权利要求2所述的方法,其特征在于,所述确定下一个SID之后,所述方法还包括:
保持所述SRH中分段表SL字段的值不变。
4.根据权利要求1所述的方法,其特征在于,所述确定所述转发设备的MSD是否小于所述SRH头中Last Entry字段的值之后,所述方法还包括:
若所述转发设备的MSD大于或等于所述Last Entry字段的值,则基于所述SID列表和所述SL字段确定下一个SID,并将所述SL字段的值减1。
5.根据权利要求1所述的方法,其特征在于,所述转发设备为报文的第一个转发设备,所述确定报文中的标志位Flags的末尾字段S位的值之前,所述方法还包括:
当报文到达所述转发设备时,若转发路径中存在至少一个转发设备的MSD小于M,将报文SRH中的Flags的S位置1,设置SID列表中最后一个SID的Argument字段的后四位的值与所述Last Entry字段的值相同,其中,M指示转发路径中转发设备的数量或SID列表中SID的数量,M为正整数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当报文到达转发设备时,确定报文当前的SID的Argument字段的后四位的值与所述Last Entry字段的值是否相同;
若报文当前的SID的Argument字段的后四位的值与所述Last Entry字段的值相同,则确定所述转发设备为尾节点;或者,
若报文当前的SID的Argument字段的后四位的值与所述Last Entry字段的值不同,则确定所述转发设备为中间节点。
7.根据权利要求1所述的方法,其特征在于,所述确定报文SRH中的标志位Flags的末尾字段S位的值之后,所述方法还包括:
若所述S位置0,则基于所述SID列表和SL字段确定下一个SID,并将所述SL字段的值减1;
其中,所述S位置0指示所述SRH中携带未分段的SID列表。
8.一种转发设备,其特征在于,所述转发设备包括:确定模块、复制模块和转发模块;
所述确定模块,用于在报文到达转发设备时,确定报文分段路由报头SRH中的标志位Flags的末尾字段S位的值,所述S位置1指示所述SRH中携带分段的分段标识SID列表;
若所述S位置1,则确定所述转发设备的最大栈深MSD是否小于所述SRH中最后一项LastEntry字段的值;
若所述转发设备的MSD小于所述Last Entry字段的值,则根据所述SID列表和所述报文当前对应的SID中的变量Argument字段,确定下一个SID;
所述复制模块,用于将所述下一个SID复制到所述报文的基于互联网协议第6版IPv6报文头的目的地址DA字段中;
所述转发模块,用于进行所述报文转发。
9.一种转发设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至7中任一项所述的SRv6-TE报文转发方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至7中任一项所述的SRv6-TE报文转发方法的步骤。
CN202211117763.5A 2022-09-14 2022-09-14 SRv6-TE报文转发方法和转发设备 Pending CN115499358A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211117763.5A CN115499358A (zh) 2022-09-14 2022-09-14 SRv6-TE报文转发方法和转发设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211117763.5A CN115499358A (zh) 2022-09-14 2022-09-14 SRv6-TE报文转发方法和转发设备

Publications (1)

Publication Number Publication Date
CN115499358A true CN115499358A (zh) 2022-12-20

Family

ID=84469056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211117763.5A Pending CN115499358A (zh) 2022-09-14 2022-09-14 SRv6-TE报文转发方法和转发设备

Country Status (1)

Country Link
CN (1) CN115499358A (zh)

Similar Documents

Publication Publication Date Title
US8085773B2 (en) MPLS device enabling service providers to control service levels in forwarding of multi-labeled packets
CN113904983A (zh) 一种报文处理的方法、网络节点和系统
WO2021056945A1 (zh) 一种在sr网络中转发报文的方法、设备和系统
US10616105B1 (en) Extending virtual routing and forwarding using source identifiers
US11184281B2 (en) Packet processing method and apparatus
EP4044529A1 (en) Detnet data packet processing method and apparatus
US8873527B2 (en) System and method for managing routers and communication interfaces on a computing device
US20220045948A1 (en) Path creation method and device for network on chip and electronic apparatus
CN114024900A (zh) 一种数据处理方法及相关设备
EP4044530A1 (en) Method and apparatus for monitoring running state of peer, and storage medium
CN111988776A (zh) 网络切换方法、装置、设备和存储介质
CN115499358A (zh) SRv6-TE报文转发方法和转发设备
US11743180B2 (en) System and method for routing traffic onto an MPLS network
CN112787932B (zh) 一种用于生成转发信息的方法、装置和系统
CN113395206B (zh) 路由确定方法、装置和网络设备
CN104702505A (zh) 一种报文传输方法和节点
CN109257372B (zh) 基于网络融合的报文转发方法、设备、存储介质及装置
US11451513B2 (en) Notification device and notification method
US20200169463A1 (en) Software-defined networking device based on service profile learning
WO2022237879A1 (zh) 一种路由获取方法、装置、存储介质及电子装置
US11902158B2 (en) System and method for forwarding packets in a hierarchical network architecture using variable length addresses
JP7475473B2 (ja) ルート決定方法及び装置並びにネットワーク・デバイス
CN111245581B (zh) 以太网帧的配置方法及业务管道分配方法和系统
CN110958185B (zh) 基于业务的QoS配置方法及装置
US20230068443A1 (en) Dynamic packet routing using prioritized groups

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