CN111801911B - 业务功能链拥塞跟踪 - Google Patents

业务功能链拥塞跟踪 Download PDF

Info

Publication number
CN111801911B
CN111801911B CN201980014347.2A CN201980014347A CN111801911B CN 111801911 B CN111801911 B CN 111801911B CN 201980014347 A CN201980014347 A CN 201980014347A CN 111801911 B CN111801911 B CN 111801911B
Authority
CN
China
Prior art keywords
congestion
node
message
network service
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
Application number
CN201980014347.2A
Other languages
English (en)
Other versions
CN111801911A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111801911A publication Critical patent/CN111801911A/zh
Application granted granted Critical
Publication of CN111801911B publication Critical patent/CN111801911B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

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

业务功能链拥塞跟踪
相关申请案交叉申请
本申请要求2018年9月24日递交的发明名称为“业务功能链拥塞跟踪(ServiceFunction Chaining Congestion Tracking)”的第16/140,085号美国非临时专利申请案的在先申请优先权,以及2018年2月22日递交的发明名称为“业务功能链拥塞跟踪(ServiceFunction Chaining Congestion Tracking)”的第62/633,960号美国临时申请案的在先申请优先权,其全部内容以引用的方式并入本文中。
技术领域
本发明涉及业务功能链,尤其涉及业务功能链中的拥塞跟踪。
背景技术
经过网络中节点的报文可通过业务功能链进行处理。业务功能链能够使得网络中的某些节点完成与所述报文相关的功能,例如,防火墙、网络地址转换(network addresstranslation,NAT)、负载均衡器等。网络服务报头(network service header,NSH)可用于控制要执行的业务功能的顺序。有时,网络拥塞会减缓传输过程,甚至导致报文被删除,这会导致报文传输缓慢、经过网络中源节点到目标节点的报文被重传、甚至报文中的数据丢失。
发明内容
以下描述各种示例,简单介绍本文的概念,这些概念将在下文中进一步详细描述。发明内容部分并非旨在确定请求保护的主题的关键或必要特征,也并非旨在用于限制请求保护的主题的范围。
根据本发明的一个方面,提供了一种用于跟踪业务功能链中拥塞的计算机实现的方法。所述方法包括:所述业务功能链中的业务功能转发节点接收报文,所述报文包括信息报文、传送报头和网络服务报头;根据所述网络服务报头将所述报文转发至所述业务功能链中的业务功能;检测所述业务功能链中存在的拥塞;更新所述网络服务报头中的拥塞字段以指示所述业务功能链中出现拥塞。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述拥塞字段包括所述报文的所述网络服务报头中的两个比特。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述拥塞字段中的至少一个非零比特指示所述报文的拥塞跟踪是激活的。
可选地,在任一前述方面中,所述方面的另一实施方式包括:更新所述拥塞字段包括增加所述拥塞字段表示的值,其中,拥塞字段的值越高表示拥塞越严重。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述网络服务报头包括业务路径标识,所述业务路径标识通过所述业务功能链来指定业务路径。
可选地,在任一前述方面中,所述方面的另一实施方式包括:可以修改所述业务路径标识以指定代表拥塞的所述拥塞字段对应的不同业务路径。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述业务功能转发节点耦合至对所述报文执行业务的业务功能节点的多个实例。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述业务功能链包括:接收在源和目标之间传输的报文的第一节点,其中,所述第一节点创建所述网络服务报头;以及剥离所述网络服务报头并向所述第一节点传回拥塞指示的末节点。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述拥塞指示用于指示所述第一节点通过所述业务功能链修改所述报文的路径。
根据本发明的一个方面,提供了一种设备,包括存储器和一个或多个处理器,其中,所述存储器包括指令,所述一个或多个处理器与所述存储器通信。所述一个或多个处理器执行所述指令以执行用于跟踪业务功能链中拥塞的操作,所述方法包括:所述业务功能链中的业务功能转发节点接收报文,所述报文包括信息报文、传送报头和网络服务报头;根据所述网络服务报头将所述报文转发至所述业务功能链中的业务功能;检测所述业务功能链中存在的拥塞;更新所述网络服务报头中的拥塞字段以指示所述业务功能链中出现拥塞。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述拥塞字段包括所述报文的所述网络服务报头中的两个比特。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述拥塞字段中的至少一个非零比特指示所述报文的拥塞跟踪是激活的。
可选地,在任一前述方面中,所述方面的另一实施方式包括:更新所述拥塞字段包括增加所述拥塞字段表示的值,其中,拥塞字段的值越高表示拥塞越严重。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述网络服务报头包括业务路径标识,所述业务路径标识通过所述业务功能链来指定业务路径,其中,可以修改所述业务路径标识以指定代表拥塞的所述拥塞字段对应的不同业务路径。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述业务功能转发节点耦合至对所述报文执行业务的业务功能节点的多个实例。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述业务功能链包括:接收在源和目标之间传输的报文的第一节点,其中,所述第一节点创建所述网络服务报头;以及剥离所述网络服务报头并向所述第一节点传回拥塞指示的末节点,其中,所述拥塞指示用于指示所述第一节点通过所述业务功能链修改所述报文的路径。
根据本发明的一个方面,提供了非瞬时性计算机可读介质,存储用于跟踪业务功能链中拥塞的计算机指令,当所述计算机指令由一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:所述业务功能链中的业务功能转发节点接收报文,所述报文包括信息报文、传送报头和网络服务报头;根据所述网络服务报头将所述报文转发至所述业务功能链中的业务功能;检测所述业务功能链中存在的拥塞;更新所述网络服务报头中的拥塞字段以指示所述业务功能链中出现拥塞。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述拥塞字段包括所述报文的所述网络服务报头中的两个比特,其中,所述拥塞字段中的至少一个非零比特指示所述报文的拥塞跟踪是激活的,更新所述拥塞字段包括增加所述拥塞字段表示的值,其中,拥塞字段的值越高表示拥塞越严重。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述网络服务报头包括业务路径标识,所述业务路径标识通过所述业务功能链来指定业务路径,其中,可以修改所述业务路径标识以指定代表拥塞的所述拥塞字段对应的不同业务路径。
可选地,在任一前述方面中,所述方面的另一实施方式包括:所述业务功能链包括:接收在源和目标之间传输的报文的第一节点,其中,所述第一节点创建所述网络服务报头;以及剥离所述网络服务报头并向所述第一节点传回拥塞指示的末节点,其中,所述拥塞指示用于指示所述第一节点通过所述业务功能链修改所述报文的路径。
附图说明
图1示出了示例性实施例提供的示例性网络,包括经过网络中多个节点的报文的业务功能链路径;
图2为示例性业务转发节点的框图;
图3为示例性实施例提供的示例性的封装有网络服务报头的报文的框图;
图4为示例性实施例提供的示例性网络服务报头的框图;
图5为示例性实施例提供的跟踪通过业务功能链的报文的网络服务报头中拥塞的方法的流程图;
图6为示例性实施例提供的用于实现算法和执行方法的客户端、服务器、和基于云的资源的电路的框图。
具体实施方式
以下结合附图进行详细描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实施本发明的具体实施例。这些实施例进行了足够详细的描述以使本领域技术人员能够实践本发明,且应理解,可利用其它实施例,并且在不脱离本发明的范围的情况下,可进行结构、逻辑和电气上的改变。因此,以下描述的示例性实施例并非限定,本发明的范围由所附权利要求书界定。
本文描述的功能或算法可在一实施例中通过软件实现。所述软件可包括存储于计算机可读介质或计算机可读存储设备(例如一个或多个非瞬时性存储器或其它类型的基于硬件的本地或网络存储设备)上的计算机可执行指令。此外,这些功能对应于模块,所述模块可以是软件、硬件、固件或其任意组合。可根据需要在一个或多个模块中执行多个功能,所描述的实施例仅仅是一个示例。所述软件可在数字信号处理器、ASIC、微处理器或运行在计算机系统上的其它类型的处理器上执行,例如个人计算机、服务器或其它计算机系统,从而将所述计算机系统转换成特定编程的机器。
经过网络中节点的报文可通过业务功能链进行处理。业务功能链(ServiceFunction Chaining,SFC)是一种通过防火墙、网络地址转换器(network addresstranslator,NAT)、负载均衡器和其它服务等一系列功能来引导网络数据报文的技术。因特网工程任务组(Internet Engineering Task Force,IETF)在IETF RFC 7665中标准化了实现此目的的架构。网络服务报头(network service header,NSH)可用于控制要执行的业务功能的顺序。有时,网络拥塞会减缓传输过程,甚至导致报文被删除,这会导致报文传输缓慢、经过网络中源节点到目标节点的报文被重传、甚至报文中的数据丢失。
IETF对NSH进行了标准化,如在IETF RFC 8300“网络服务报头(Network ServiceHeader,NSH)”中所描述的一样。NSH最初的规定是与业务功能链(Service FunctionChaining,SFC)相关的,如在IETF RFC 7665“业务功能链(Service Function Chaining,SFC)架构”中规定的一样。但是,NSH的使用并不局限于SFC。
图1示出了简单的示例性网络100,包括经过网络的多个节点的报文105的路径。需要注意的是,在一些实施例中,经过网络的数百个节点可以有多条不同的可用路径。在一实施例中,第一节点110可接收报文105。报文105可来自源节点,并且可在网络传送报头中指定目标节点。110处的第一节点A通过创建添加至报文105的网络服务报头来执行业务分类功能。所述网络服务报头包含,例如根据IETF RFC 8300,用于控制在报文经过网络中节点的过程中对报文执行处理的信息。此外,修改所述NSH,使用RFC 8300中指定为未使用的NSH的字段,以指示网络中的节点执行拥塞跟踪。
在一个实施例中,接着通过连接117将所述报文转发至第一业务转发节点SFF115。线条表示网络100中各个节点之间的链路或连接。连接117用三条平行线表示,表示将由一个或多个下游节点对所述报文执行业务功能。待执行业务功能的节点之间的传输用相同参考标号来表示。第一SFF 115耦合至第一业务功能SF 120和125的多个实例。在一个实施例中,业务功能是无状态的,因此,可以使用所需业务功能的任何实例。该示例中的SFF115将所述报文转发至SF 120以执行业务功能,如连接127所示。执行业务,所述报文(修改或未修改)可以返回给SSF 115。
一些业务可能丢弃所述报文,而其它业务则可能将多个报文返回给SFF 115,这取决于所执行的业务。需要注意的是,SFF 115也可以通过连接128将所述报文发送给SF 125。可以使用执行相同业务功能的多个SF实例,以保证SFF 115有足够的资源执行业务功能。在一个实施例中,可由SFF 115选择SF实例。在进一步的实施例中,可以在NSH中指定SF实例。
SFF和SF可以是单独的设备,尽管在一些实施例中,它们可以是同一设备上的单独的进程或虚拟机(virtual machine,VM)。SFF可以是一个非常简单的报文转发设备,它只是响应NSH来发送报文。SF通常更复杂,其可能是有状态或无状态的。对于无状态SF,SFF可以选择任意实例。对于有状态SF,流中的报文应该被引导至同一个SF。此类引导可以通过NSH中的编码来执行。SFF不需要知道哪些SF是有状态的,哪些是无状态的。SFF只是查找NSH中的字段和本地表中的索引,然后按照表项的指示转发报文。
SFF 115和/或SF 120在执行业务过程中持续跟踪拥塞。响应于转发报文至业务功能,可以检测到拥塞。转发报文至业务功能包括将所述报文发送至端口的输出队列,或者发送至不同相应端口的多个不同报文优先级输出队列。可以通过待执行的业务的报文的输出队列的大小、报文在队列中的时间长度、以及所述业务完成后从接收到报文到将所述报文转发到所述输出队列或不同端口的队列之间的时间长度来检测拥塞。
图2为示例性SFF 200的框图。输入端口210从前一节点接收报文。转发功能215接收所述报文并将所述报文放置在一个或多个输出队列220和225中,每个输出队列与相应的输出端口230和235相关联。在各种实施例中,一个或多个输出端口可有两个或多个输出队列。例如,另一个输出队列240显示为馈送输出端口235。当一个输出端口有多个输出队列时,各个队列的优先级可能不同。
在一个实施例中,当添加所述报文时,通过SFF节点端口的输出队列220、225或240中已经存在的超过某个阈值数目的报文的来检测拥塞。对于不同优先级的报文,可能存在多个队列。每个队列可以有一个阈值。对于不同的优先级报文队列中的每个优先级报文队列,所述阈值可以不同或相同,这样可以按照每个报文优先级进行拥塞检测。在报文从输出队列220、225或240中通过端口230、235或240传输出去后,并且当从所述队列(较低优先级队列)传输完时,可以从最高优先级队列中获取下一个要发送的报文。在其它实施例中,还可以使用从队列中选择报文的另一种方法。
可以更新NSH中的一个或多个比特以反映具有该NSH的报文所发生的拥塞。可收集和研究这些比特或其它类型的拥塞表示,以确定后续网络设备和容量的变化,或者可反馈给节点A 110以重新配置后续报文的路径,从而避免拥塞。
在一实施例中,拥塞跟踪还可以使用显式拥塞通知(Explicit CongestionNotification,ECN),即在类似管理器中使用NSH报头中的两个比特,与如IETF RFC 3168中所规定那样使用传送报头的IP部分中的两个比特类似,“向IP添加显式拥塞通知(ECN)”。使用NSH中的比特跟踪拥塞可以跟踪SFC域中的拥塞,确保拥塞的2比特指示或表示仅与SFC域中的拥塞相关,而不是与进入节点A的SFC域之前的拥塞相关。向路径中的下一个节点通知拥塞。在其它实施例中,可以使用两个以上的比特来表示拥塞。
再次参考图1,业务完成后,SFF 115通过连接132将报文转发至第二业务功能转发节点SFF 130。SFF具有通过连接137耦合的第二业务功能SF 135和通过连接142耦合的SF140的两个实例。SFF 130通过连接142使得SF 140对报文执行业务,然后将所述报文返回给SFF130。第三业务功能SF 145也通过连接147耦合并执行第三业务功能SF。在其它实施例中,第三业务功能SFF 145的多个实例以及其它业务功能的实例可以耦合至SFF节点。需要注意的是,连接142和连接147都用三条平行线表示,这三条平行线指示还需对报文执行的业务功能。
在第二和第三业务功能完成后,SFF 130通过连接152将报文转发至末节点B 150。连接117和连接152各有三条平行线。因此,具有多条平行线的连接指示报文采用的路径。末节点B 150剥离NSH并提取反映拥塞的一个或多个比特。末节点150可收集用于研究的拥塞指示或通过多种方式之一向第一节点A 110反馈拥塞信息。末节点B 150可以通过连接160将业务报文155转发至目标。在一些实施例中,第一节点A110和末节点B 150也可以用作业务功能转发节点。
第一节点A 110可以使用拥塞信息向报文源发回信号以限制某些报文流,或修改添加到报文105的NSH以指定具有较少拥塞的不同路径,从而更快地传输报文流。
在一些实施例中,来自源的多个报文应按照相同的业务功能执行顺序。所述源可以指定在选定端口上建立与第一节点A 110的通信的顺序。然后,第一节点A 110可以对从各个端口和各个源接收的报文使用业务功能表。当第一节点A 110所使用的一条路由发生拥塞时(如拥塞信息所示),从其它源或从该源接收的报文(如到达第一节点A 110的所选端口上的报文)可以通过具有一个或多个不同SFF的一条不同路径被重新路由,这些不同SFF可能没有拥塞,但以相同的顺序提供相同的业务功能。已经过所述路径的报文携带的拥塞信息提供的反馈可用于找到更好的路径,从而更快地处理所述报文和减少报文丢失。
图3为示例性封装报文300的框图。报文300包括第一节点A 110接收的信息报文310和传送报头330。传送报头330封装NSH报头320,该报头320又封装了信息报文310。NSH报头320提供各种功能,用于通过后续节点控制和监测报文300的过程,直到某个后续节点,即末节点B 150,对报文300进行解封装,从而移除NSH报头320。NSH报头320甚至能够在报文的最终处理之前协助将报文引导至访问特定节点(或多个节点)不止一次的路径上。传送报头330可包含与OSI(开放系统互连)网络层模型的传输层相关的寻址和/或其它控制信息。例如,传送报头可以是第四版互联网协议(Internet Protocol version 4,IPv4)头或第六版互联网协议(Internet Protocol version 6,IPv6)头。
图4为示例性NSH报头320的框图。所示的示例与IETF RFC 8300NSH规范一致,但在其它实施例中可能有所不同。这里提供了NSH头320的示例,说明如何使用一些未使用的字段来指示应执行NSH中的拥塞跟踪,并说明业务功能转发器和/或业务功能如何修改这些字段以标识拥塞。首先,大致介绍这些字段,随后标识所选字段的使用方式,以指示应执行和指示基于NSH的拥塞跟踪。
各种NSH字段的含义如下:
Ver字段410指示NSH版本——当前仅指定或使用版本0。
O字段412为一个比特,当其值为1时,指示报文是需要特定OAM处理的OAM报文。
标记为“U”的5个字段414、419、420、421和422均为一个比特,目前尚未指定,在RFC8300规范中要求以0发送。当识别并处理当前指定的NSH的节点接收到这些字段的值时,需要忽略该值。下面描述两个或两个以上用于拥塞的当前未指定的字段。
TTL 416字段用于环路防止,并在处理NSH报头的每个节点处都会减少。如果TTL为0,则丢弃封装后的报文。
Length字段418是以4字节字为单位的NSH的长度。
MD Type字段430是出现在NSH末尾的可变长度的MD Data的类型。
Next Protocol字段432指示NSH之后的信息报文的协议类型或该信息报文的初始部分。通常,图3中的传送报头330表示信息报文的协议类型或信息报文的初始部分。当添加NSH时,传送报头330被更改,以指示在传送报头之后的数据以所述NSH开始,并且将添加所述NSH之前已在传送报头中的报文内容协议类型的指示放入NSH的“Next Protocol”字段中。当报文解封装并移除NSH时,即将被移除的NSH的Next Protocol字段中的协议类型的指示放入传送报头中时,这种情况则相反。
Service Path Identifier字段434和Service Index字段436可一起使用来控制报文在网络中的处理和路径。通常,Service Index字段436在处理报文的NSH的每个节点处递增。
Meta Data字段438是MD Type字段430提供的类型的可变长度信息,该MD Type字段可以服务于各种目的。可变长度“Meta Data”之前的NSH的内容为固定的8字节长度。
可以使用标记为“U”的五个当前未使用的NSH比特(414、419、420、421和422)中的一个或多个在NSH级别提供显式拥塞通知(Explicit Congestion Notification,ECN)。通常,ECN是使用IETF RFC 3168中规定的两个比特来提供。RFC 3168“向IP添加显式拥塞通知(ECN)”在互联网协议头(IPv4或IPv6)中使用了两个比特,NSH中也可以使用类似的2比特编码。然而,在其它实施例中可以使用更多比特对更多拥塞信息进行编码。
用于因特网协议或传输等级的ECN向目的地指示是否支持ECN,以及支持ECN的节点在从源到目的地的路径上是否遇到拥塞。然后,删除了NSH的末节点B 150可以通知操作员或自动化网络管理存在拥塞,并且如果后续下行流量的传送报头支持拥塞标记,则可以进一步向下游节点传播拥塞。
在NSH中添加ECN的益处比预期的要大。在NSH中添加ECN,指示在报文中添加NSH的节点和从所述报文中删除所述NSH的节点之间支持ECN的节点处遇到的拥塞。在SFC的情况下,在NSH中添加ECN,也会为任何支持NSH ECN的SF的SFF提供拥塞指示。当同一个SF的多个实例都位于在一个SFF上时,该SFF可以使用来自NSH ECN的拥塞信息来主动均衡SF实例之间的负载。此外,如果连接到该SFF的SF的所有实例都繁忙,则SFF可以使用某个管理信道向业务功能分类器(Service Function Classifier,SFC)发送信号,如果该SF可从其它SFF获得,则SFC可以利用其它SFF为需要该SF的报文构造NSH。
在一个实施例中,在NSH中使用两个比特用于拥塞跟踪。如果任一比特为非零值,则SFF进行拥塞跟踪。如果报文的路径中的任意一个SFF检测到拥塞,另一个比特也可以设置为非零值,例如1。这两个比特中的值11表示拥塞。在不同的实施例中,这些值可以采用不同的方式。例如,第一个比特可以表示是否进行拥塞检测。设置为1时,进行检测。如果检测到拥塞,可以将这些比特设置为01,表示继续进行检测,但拥塞并不严重。如果在检测到路径进一步拥塞时,可以将这些比特设置为11,表示拥塞严重,或者至少比第一次拥塞检测相关的拥塞更严重。对于两个以上的比特,值可以简单地随着每次拥塞检测而增加,值越大表示拥塞越严重,从而具有相同或相似业务规格的报文可以选择不同的路径,甚至可以在路径之间平衡报文流量以最小化拥塞差异。
图5为在业务功能链中跟踪拥塞的计算机实现的方法500的流程图。方法500包括:在操作510中,业务功能链中的业务功能转发节点接收报文。该报文包括信息报文、传送报头和网络服务报头。在操作520中,根据所述网络服务报头将所述报文转发到与所述业务功能转发节点相关联的业务功能。在操作530中,在处理报文时检测拥塞。在各种实施例中,可通过待执行的业务的一个或多个报文的输出队列的大小、报文在队列中的时间长度、以及所述业务完成后从接收到报文到将所述报文转发到所述输出队列之间的时间长度来检测拥塞。在操作540中,更新所述网络服务报头中的拥塞字段以指示所述业务功能链中出现拥塞。在操作550中,包括拥塞指示的报文被转发到下一个业务功能转发器以进一步处理业务。末节点B 150可以通过例如应答消息中的单个比特来通知链中存在拥塞。在其它实施例中,拥塞可以有其它通知方式,可使用一个或多个比特来指示拥塞或拥塞级别。拥塞指示可用于通过业务链为相同或相似类型的通信选择其它路径,甚至用于通过增加更多资源来维护或修改业务功能链,以处理沿相同或不同路径提供业务功能。
在一个实施例中,拥塞字段包括报文的网络服务报头中的两个比特。所述拥塞字段中的至少一个非零比特指示所述报文的拥塞跟踪是激活的。
更新所述拥塞字段包括增加所述拥塞字段表示的值,其中,拥塞字段的值越高表示拥塞越严重。
在一个实施例中,网络服务报头包括业务路径标识,所述业务路径标识通过所述业务功能链来指定业务路径。可以修改所述业务路径标识以指定代表拥塞的所述拥塞字段对应的不同业务路径。
业务功能转发节点可以关联对报文执行业务的业务功能节点的多个实例。在一个实施例中,业务功能链包括:接收在源和目标之间传输的报文的第一节点,其中,所述第一节点创建所述网络服务报头;以及剥离所述网络服务报头并向所述第一节点传回拥塞指示的末节点。所述拥塞指示用于指示所述第一节点A 110可通过所述业务功能链修改所述报文的路径。
图6为用于通过使用网络服务报头跟踪业务功能链中的拥塞的电路的框图。所述电路可用于在各个实施例中实现一个或多个SFF或SF节点,以及用于执行根据示例性实施例的方法。不需要在各个实施例中使用所有组件。
计算机600形式的一个示例性计算设备可以包括处理单元602、存储器603、可移动存储器610和不可移动存储器612。尽管所述示例性计算设备被图示和描述为计算机600,但是所述计算设备在不同的实施例中可以有不同的形式。例如,所述计算设备可以是智能手机、平板电脑、智能手表或其它计算设备,其包括结合图6所示和描述的相同或类似元件。智能手机、平板电脑和智能手表等设备通常统称为移动设备或用户设备。此外,尽管各种数据存储元件作为计算机600的一部分进行说明,但是所述存储器可还包括或者可选地包括可通过网络(例如互联网或基于服务器的存储器)访问的基于云的存储器。
存储器603可以包括易失性存储器614和非易失性存储器608。计算机600可以包括或可以访问包括各种计算机可读介质的计算环境,例如包括易失性存储器614,非易失性存储器608、可移动存储器610和不可移动存储器612的计算环境。计算机存储包括随机存取存储器(random access memory,RAM)、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(erasable programmable read-only memory,EPROM)或电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、闪存或其它存储器技术,只读光碟(compact disc read-only memory,CD ROM)、数码通用光碟(Digital Versatile Disk,DVD)或其它光盘贮存器、磁带盒、磁带、磁盘存储器或其它磁贮存装置,或任何其它能贮存计算机可读指令的媒介。
计算机600可以包括或可以访问计算环境,该计算环境包括输入接口606、输出接口604和通信接口616。输出接口604可以包括显示设备,例如触摸屏,其也可以用作输入设备。输入接口606可包括触摸屏、触摸板、鼠标、键盘、摄像头、一个或多个设备专用按钮、集成在计算机600内或通过有线或无线数据连接耦合到计算机600的一个或多个传感器以及其它输入设备中的一个或多个。计算机可以使用通信连接在网络环境中运行,以连接到一个或多个远程计算机,例如数据库服务器。所述远程计算机可以包括个人计算机(personalcomputer,PC)、服务器、路由器、网络PC、对端设备或其它常见的DFD网络交换机等。所述通信连接可以包括局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、蜂窝网、Wi-Fi、蓝牙或其它网络。根据一个实施例,计算机600的各种组件与系统总线620连接。存储在计算机可读介质上的计算机可读指令可由计算机600的处理单元602执行,例如程序618。在一些实施例中,程序618包括软件,当由处理单元602执行所述程序时,所述软件执行根据本文包括的任一实施例的网络切换操作。硬盘驱动器、CD-ROM和RAM是包括非瞬时性计算机可读介质(例如存储设备)的制品的一些示例。术语计算机可读介质和存储设备不包括载波,因为载波太短暂。存储还可以包括联网存储器,例如存储区域网络(storagearea network,SAN)。计算机程序618可用于使处理单元602执行本文描述的一个或多个方法或算法。在一个实施例中,处理单元602包括单个集成电路处理器,用于执行存储在存储器中的指令。在另一实施例中,处理单元602包括多个处理器,例如具有多个处理器的多核处理器的处理器。在另一实施例中,处理单元602可以包括专用处理器,并且还可以包括现场可编程门阵列甚至专用电路。
尽管上文详细描述了几个实施例,但其它修改也是可能的。例如,在图中描述的逻辑流程不需要所示特定顺序或连续顺序来达到期望的结果。可以提供或消除所描述的流程中的其它步骤,并且可以向所描述的系统添加或移除其它组件。其它实施例可在所附权利要求书的范围内。

Claims (29)

1.一种用于跟踪业务功能链中拥塞的方法,其特征在于,所述方法包括:
业务功能链的末节点接收来自上一跳的业务功能转发节点的报文,所述报文包括第一节点添加的网络服务报头,所述网络服务报头包括用于指示所述业务功能链中出现拥塞的拥塞字段;
所述末节点基于所述拥塞字段获取拥塞信息;
所述末节点向所述第一节点反馈所述拥塞信息,以使得所述第一节点进行拥塞控制,所述拥塞控制包括限制报文流或修改报文流的路径;所述限制报文流包括基于所述拥塞信息向报文源发回信号以限制所述报文流;或者所述修改报文流的路径包括修改所述报文流中的报文的网络服务报头以指定具有较少拥塞的路径。
2.根据权利要求1所述的方法,其特征在于,所述拥塞字段包括所述报文的所述网络服务报头中的两个比特。
3.根据权利要求1所述的方法,其特征在于,所述拥塞字段中的至少一个非零比特指示所述报文的拥塞跟踪是激活的。
4.根据权利要求1所述的方法,其特征在于,所述拥塞字段的值用于表示拥塞程度。
5.根据权利要求4所述的方法,其特征在于,所述拥塞字段的值越高表示所述拥塞程度越严重。
6.根据权利要求1至5任一所述的方法,其特征在于,所述网络服务报头包括业务路径标识,所述业务路径标识用于标识所述业务功能链对应的业务路径。
7.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
所述末节点剥离所述报文包括的所述网络服务报头。
8.一种设备,应用于业务功能链的末节点,其特征在于,包括:
接收模块,用于接收来自上一跳的业务功能转发节点的报文,所述报文包括第一节点添加的网络服务报头,所述网络服务报头包括用于指示所述业务功能链中出现拥塞的拥塞字段;
获取模块,用于基于所述拥塞字段获取拥塞信息;
转发模块,用于向所述第一节点反馈所述拥塞信息,以使得所述第一节点进行拥塞控制,所述拥塞控制包括限制报文流或修改报文流的路径;所述限制报文流包括基于所述拥塞信息向报文源发回信号以限制所述报文流;或者所述修改报文流的路径包括修改所述报文流中的报文的网络服务报头以指定具有较少拥塞的路径。
9.根据权利要求8所述的设备,其特征在于,所述拥塞字段包括所述报文的所述网络服务报头中的两个比特。
10.根据权利要求8所述的设备,其特征在于,所述拥塞字段中的至少一个非零比特指示所述报文的拥塞跟踪是激活的。
11.根据权利要求8所述的设备,其特征在于,所述拥塞字段的值用于表示拥塞程度。
12.根据权利要求11所述的设备,其特征在于,所述拥塞字段的值越高表示所述拥塞程度越严重。
13.根据权利要求8至12任一所述的设备,其特征在于,所述网络服务报头包括业务路径标识,所述业务路径标识用于标识所述业务功能链对应的业务路径。
14.根据权利要求8至12任一所述的设备,其特征在于,所述设备还包括用于剥离所述报文包括的所述网络服务报头的模块。
15.一种用于跟踪业务功能链中拥塞的方法,其特征在于,所述方法包括:
第一节点通过下一跳的业务功能转发节点发送被业务功能链的末节点接收的报文,所述报文包括所述第一节点添加的网络服务报头,所述网络服务报头包括用于指示所述业务功能链是否出现拥塞的拥塞字段;
所述第一节点接收所述末节点反馈的拥塞信息,以进行拥塞控制,所述拥塞控制包括限制报文流或修改报文流的路径;所述限制报文流包括基于所述拥塞信息向报文源发回信号以限制所述报文流;或者所述修改报文流的路径包括修改所述报文流中的报文的网络服务报头以指定具有较少拥塞的路径。
16.根据权利要求15所述的方法,其特征在于,所述拥塞字段包括所述报文的所述网络服务报头中的两个比特。
17.根据权利要求15所述的方法,其特征在于,所述拥塞字段中的至少一个非零比特指示所述报文的拥塞跟踪是激活的。
18.根据权利要求15所述的方法,其特征在于,所述拥塞字段的值用于表示拥塞程度。
19.根据权利要求18所述的方法,其特征在于,所述拥塞字段的值越高表示所述拥塞程度越严重。
20.根据权利要求15至19任一所述的方法,其特征在于,所述网络服务报头包括业务路径标识,所述业务路径标识用于标识所述业务功能链对应的业务路径。
21.一种设备,应用于第一节点,其特征在于,包括:
转发模块,用于通过下一跳的业务功能转发节点发送被业务功能链的末节点接收的报文,所述报文包括所述第一节点添加的网络服务报头,所述网络服务报头包括用于指示所述业务功能链是否出现拥塞的拥塞字段;
接收模块,用于接收所述末节点反馈的拥塞信息,以进行拥塞控制,所述拥塞控制包括限制报文流或修改报文流的路径;所述限制报文流包括基于所述拥塞信息向报文源发回信号以限制所述报文流;或者所述修改报文流的路径包括修改所述报文流中的报文的网络服务报头以指定具有较少拥塞的路径。
22.根据权利要求21所述的设备,其特征在于,所述拥塞字段包括所述报文的所述网络服务报头中的两个比特。
23.根据权利要求21所述的设备,其特征在于,所述拥塞字段中的至少一个非零比特指示所述报文的拥塞跟踪是激活的。
24.根据权利要求21所述的设备,其特征在于,所述拥塞字段的值用于表示拥塞程度。
25.根据权利要求24所述的设备,其特征在于,所述拥塞字段的值越高表示所述拥塞程度越严重。
26.根据权利要求21至25任一所述的设备,其特征在于,所述网络服务报头包括业务路径标识,所述业务路径标识用于标识所述业务功能链对应的业务路径。
27.一种计算机可读介质,其特征在于,包括计算机指令,当所述计算机指令由计算机执行时,使得所述计算机执行如权利要求1至7中任一所述的方法或使得所述计算机执行如权利要求15至20中任一所述的方法。
28.一种设备,其特征在于,包括:
存储器,包括指令;
与所述存储器通信的一个或多个处理器,其中,所述一个或多个处理器执行所述指令,以使得所述设备执行如权利要求1至7中任一所述的方法或以使得所述设备执行如权利要求15至20中任一所述的方法。
29.一种应用于业务功能链的系统,其特征在于,所述系统包括如权利要求8至14任一所述的设备和如权利要求21至26任一所述的设备。
CN201980014347.2A 2018-02-22 2019-02-18 业务功能链拥塞跟踪 Active CN111801911B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862633960P 2018-02-22 2018-02-22
US62/633,960 2018-02-22
US16/140,085 2018-09-24
US16/140,085 US11184283B2 (en) 2018-02-22 2018-09-24 Service function chaining congestion tracking
PCT/CN2019/075312 WO2019161758A1 (en) 2018-02-22 2019-02-18 Service function chaining congestion tracking

Publications (2)

Publication Number Publication Date
CN111801911A CN111801911A (zh) 2020-10-20
CN111801911B true CN111801911B (zh) 2022-09-09

Family

ID=67617085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980014347.2A Active CN111801911B (zh) 2018-02-22 2019-02-18 业务功能链拥塞跟踪

Country Status (4)

Country Link
US (2) US11184283B2 (zh)
EP (1) EP3747160A4 (zh)
CN (1) CN111801911B (zh)
WO (1) WO2019161758A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10924405B2 (en) * 2018-02-23 2021-02-16 Futurewei Technologies, Inc. Service function chaining congestion feedback
CN111614574A (zh) * 2019-02-26 2020-09-01 华为技术有限公司 一种通信方法、装置及系统
US11831540B2 (en) * 2021-10-01 2023-11-28 International Business Machines Corporation Service chain instance pool sizing
CN114205267A (zh) * 2021-12-15 2022-03-18 中国电信股份有限公司 链路信息的追踪方法、系统和服务功能
CN115086220B (zh) * 2022-06-30 2024-05-17 绿盟科技集团股份有限公司 一种网络报文转发方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104869065A (zh) * 2014-02-26 2015-08-26 中兴通讯股份有限公司 数据报文处理方法及装置
CN105451207A (zh) * 2014-07-25 2016-03-30 阿尔卡特朗讯 基于pcc架构的业务功能链的控制方法及装置
CN106209419A (zh) * 2016-06-27 2016-12-07 上海华为技术有限公司 一种选择网络功能进行数据转发的方法及业务功能转发器
WO2017023741A1 (en) * 2015-07-31 2017-02-09 Convida Wireless, Llc Mtc service selection in the (s)gi-lan
EP3258658A1 (en) * 2015-03-20 2017-12-20 ZTE Corporation Load balancing method, device and system for service function chain

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012175117A1 (en) * 2011-06-21 2012-12-27 Telefonaktiebolaget L M Ericsson (Publ) Managing communications within a wireless communications network
US8750121B2 (en) * 2011-10-28 2014-06-10 Telefonaktiebolaget L M Ericsson (Publ) Addressing the large flow problem for equal cost multi-path in the datacenter
JP6016262B2 (ja) * 2012-07-31 2016-10-26 日本電気通信システム株式会社 移動端末、制御ノード、パケット転送ノード、及び輻輳制御のための方法
US9413655B2 (en) 2014-06-13 2016-08-09 Cisco Technology, Inc. Providing virtual private service chains in a network environment
US10135735B2 (en) * 2014-07-16 2018-11-20 Nec Corporation Method and system for managing flows in a network
US20160065456A1 (en) * 2014-09-03 2016-03-03 Alcatel Lucent System and method providing service chaining in a mobile network
EP3195637A1 (en) * 2014-09-19 2017-07-26 Nokia Solutions and Networks Oy Service function chain interworking
US10530691B2 (en) * 2015-06-25 2020-01-07 Nec Corporation Method and system for managing data traffic in a computing network
US10735331B1 (en) * 2016-12-09 2020-08-04 Barefoot Networks, Inc. Buffer space availability for different packet classes
US11153211B2 (en) * 2017-12-09 2021-10-19 Intel Corporation Fast data center congestion response

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104869065A (zh) * 2014-02-26 2015-08-26 中兴通讯股份有限公司 数据报文处理方法及装置
CN105451207A (zh) * 2014-07-25 2016-03-30 阿尔卡特朗讯 基于pcc架构的业务功能链的控制方法及装置
EP3258658A1 (en) * 2015-03-20 2017-12-20 ZTE Corporation Load balancing method, device and system for service function chain
WO2017023741A1 (en) * 2015-07-31 2017-02-09 Convida Wireless, Llc Mtc service selection in the (s)gi-lan
CN106209419A (zh) * 2016-06-27 2016-12-07 上海华为技术有限公司 一种选择网络功能进行数据转发的方法及业务功能转发器

Also Published As

Publication number Publication date
US11184283B2 (en) 2021-11-23
US20220052950A1 (en) 2022-02-17
EP3747160A1 (en) 2020-12-09
EP3747160A4 (en) 2021-01-27
WO2019161758A1 (en) 2019-08-29
CN111801911A (zh) 2020-10-20
US20190260679A1 (en) 2019-08-22

Similar Documents

Publication Publication Date Title
CN111801911B (zh) 业务功能链拥塞跟踪
US11792046B2 (en) Method for generating forwarding information, controller, and service forwarding entity
US11374848B2 (en) Explicit routing with network function encoding
CN108702331B (zh) Sr应用段与服务功能链(sfc)报头元数据的集成
US10122629B2 (en) Systems and methods for externalizing network functions via packet trunking
US9832130B2 (en) Data packet routing method and device
US9985892B1 (en) System and method for providing congestion notification in layer 3 networks
US10212095B2 (en) Maximum transmission unit installation for switches in a software-defined network
US11522795B1 (en) End to end application identification and analytics of tunnel encapsulated traffic in the underlay
US10178017B2 (en) Method and control node for handling data packets
JP5993817B2 (ja) キャリア網における経路制御システム及び方法
EP2880550B1 (en) Connection mesh in mirroring asymmetric clustered multiprocessor systems
WO2018036254A1 (zh) 报文转发方法及装置
CN105247831A (zh) 流表修改方法、流表修改装置和开放流网络系统
US20200028779A1 (en) Packet processing method and apparatus
US10177935B2 (en) Data transfer system, data transfer server, data transfer method, and program recording medium
EP3166273B1 (en) Method and system for processing service node ability
CN111147379A (zh) 数据传输方法、系统和相关设备
US10171368B1 (en) Methods and apparatus for implementing multiple loopback links
CN104702505A (zh) 一种报文传输方法和节点
CN108156066A (zh) 报文转发方法和装置
WO2023005620A1 (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