CN116192767A - 一种丢包管理方法及相关装置 - Google Patents
一种丢包管理方法及相关装置 Download PDFInfo
- Publication number
- CN116192767A CN116192767A CN202111436377.8A CN202111436377A CN116192767A CN 116192767 A CN116192767 A CN 116192767A CN 202111436377 A CN202111436377 A CN 202111436377A CN 116192767 A CN116192767 A CN 116192767A
- Authority
- CN
- China
- Prior art keywords
- message
- packet
- forwarding
- forwarding node
- packet loss
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种丢包管理方法,该方法包括:由控制器根据业务流量的网络质量需求以及业务流量的转发路径上各个分段链路的网络质量参数,确定转发路径上各个分段链路所需执行的抗丢包策略,并将各个分段链路的抗丢包策略下发给转发节点,由转发节点执行相应的抗丢包策略。通过对转发路径上的各个分段链路进行增强传输控制,能够保证各个分段链路上的丢包率,从而确保整条转发路径的丢包率,提高端到端路径的传输质量。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种丢包管理方法及相关装置。
背景技术
随着互联网从单一的计算机通信领域渗透各行各业,各类新兴的应用层出不穷,如支持“万人在线,千人互动”的超大型实时音视频会议、在线云游戏、增强现实(AugmentedReality,AR)/虚拟现实技术(Virtual Reality,VR)沉浸式体验等应用。这些新兴应用对网络时延、吞吐、丢包率方面不断提出更高的要求。
互联网通常由多个自治域组成,自治域间的互联存在着复杂的商业关系。互联网的传输路径受商业关系影响,往往不会是网络中的最短路径,例如同一地区内两个节点间的传输可能会被绕到另一个地区,进而增加了端到端的时延。
为解决互联网路径的非最优问题,业界提出互联网覆盖(Overlay)网络技术。通过在互联网上不同地区的数据中心周边放置网络中继转发节点(Point-of-Presence,PoP),且PoP之间相互连接调度,从而在现有的公共互联网基础上构建一层新的虚拟覆盖网络。在Overlay网络的基础上,通过统一的管理配置和数据面传输协议传输,能够实现面向实时业务的加速,此类Overlay网络也称为实时业务加速网络(Real-Time Network,RTN)。
由于RTN实际是一层虚拟的覆盖网络,RTN下层的基础架构(Underlay)网络通常由异构网络组合而成,例如由公共互联网和专线网络组成。因此,一条端到端的RTN路径往往会跨越多种不同的Underlay网络链路。
然而,在一些情况下,RTN的全局控制器根据正常状态下的Overlay路径质量计算转发路径之后,在实际应用该转发路径转发流量时,下游Underlay链路可能会出现突发拥塞,导致转发路径的质量劣化,从而影响流量的正常转发。
发明内容
本申请提供一种丢包管理方法,通过对转发路径上的各个分段链路进行增强传输控制,能够保证各个分段链路上达到可预期的确定性的丢包率,从而在整条转发路径上实现确定性的丢包率,提高端到端路径的传输质量。
本申请第一方面提供一种丢包管理方法,该方法应用于转发节点上。该方法包括:第一转发节点获取多个抗丢包策略,所述多个抗丢包策略中的每个抗丢包策略与报文的转发路径以及所述报文对应的业务类型具有对应关系。其中,第一转发节点所获取到的多个抗丢包策略例如可以是管理第一转发节点的控制器所下发的。
所述第一转发节点获取报文以及所述报文的转发路径。其中,报文的转发路径可以是由控制器或者RTN网络中的集中控制器根据业务流量的需求以及网络链路的实时质量确定,然后下发至第一转发节点上。
所述第一转发节点在所述报文中添加第一抗丢包策略,得到更新后的报文,并基于所述转发路径向第二转发节点转发所述更新后的报文。
其中,所述第一抗丢包策略是所述第一转发节点根据所述报文的业务类型和所述转发路径在所述多个抗丢包策略中确定的,所述第一抗丢包策略用于指示所述第一转发节点与所述第二转发节点之间的分段链路在出现丢包时的抗丢包策略。
本方案中,转发节点根据报文的转发路径和业务类型在报文中添加分段链路的抗丢包策略,使得分段链路中的另一个转发节点能够执行相应的抗丢包策略,从而实现对转发路径上的各个分段链路进行抗丢包传输控制。通过对各个分段链路的抗丢包传输控制,保证了各个分段链路上的丢包率,从而确保整条转发路径的丢包率,提高端到端路径的传输质量。
在一种可能的实现方式中,所述方法还包括:所述第一转发节点根据所述业务类型确定所述报文的时延门限值,所述时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;所述第一转发节点在所述报文中添加所述第一抗丢包策略和所述时延门限值,得到所述更新后的报文。
本方案中,通过设置时延门限值来限制转发节点执行抗丢包策略的时长,能够避免因为抗丢包策略的执行时间过长而影响报文的及时转发,保证了报文送达的时效性。
在一种可能的实现方式中,所述方法还包括:所述第一转发节点测量所述第一转发节点与其他转发节点之间的分段链路的网络质量,得到一个或多个分段链路的网络质量参数;所述第一转发节点向控制器发送所述一个或多个分段链路的网络质量参数。
本方案中,通过由转发节点周期性地测量转发节点之间的分段链路的网络质量,并且将测量到的网络质量参数上传至控制器,可以使得控制器能够基于分段链路的实时网络质量确定各个分段链路采用的抗丢包策略。
在一种可能的实现方式中,所述一个或多个分段链路的网络质量参数包括时延、丢包率、带宽容量和抖动中的一种或多种。
在一种可能的实现方式中,所述第一转发节点在所述报文中添加第一抗丢包策略,包括:所述第一转发节点在所述报文中封装第一报文头部,所述第一报文头部中携带所述第一抗丢包策略。
在一种可能的实现方式中,所述第一报文头部还包括所述第一抗丢包策略的执行参数;若所述第一抗丢包策略为自动重传请求ARQ策略,则所述执行参数包括自动重传次数;或,若所述第一抗丢包策略为前向纠错编码FEC策略,则所述执行参数包括编码方式、报文总数和源码报文总数;或,若所述第一抗丢包策略为多径重传策略,则所述执行参数包括报文的重传路径。
本申请第二方面提供一种丢包管理方法,包括:第二转发节点接收第一转发节点发送的第一报文,所述第一报文中包括第一抗丢包策略;所述第二转发节点执行所述第一报文中的第一抗丢包策略,所述第一抗丢包策略是所述第一转发节点根据所述第一报文的业务类型和所述第一报文的转发路径确定的;所述第二转发节点转发所述第一报文。
本方案中,转发节点通过执行报文中所指示的抗丢包策略,能够实现对转发路径上的各个分段链路进行抗丢包传输控制。通过对各个分段链路的抗丢包传输控制,保证了各个分段链路上的丢包率,从而确保整条转发路径的丢包率,提高端到端路径的传输质量。
在一种可能的实现方式中,所述方法还包括:所述第二转发节点获取多个抗丢包策略,所述多个抗丢包策略中的每个抗丢包策略与报文的转发路径以及业务类型具有对应关系;所述第二转发节点获取所述第一报文的转发路径;所述第二转发节点在所述第一报文中添加第二抗丢包策略,得到更新后的第一报文,并基于所述转发路径向第三转发节点转发所述更新后的第一报文。
其中,所述第二抗丢包策略是所述第二转发节点根据所述第一报文的业务类型和所述转发路径在所述多个抗丢包策略中确定的,所述第二抗丢包策略用于指示所述第二转发节点与所述第三转发节点之间的分段链路在出现丢包时的抗丢包策略。
简单来说,在第二转发节点并非为转发路径中的最后一个转发节点时,第二转发节点同样在报文中添加下一个分段链路的抗丢包策略,以使得下一个转发节点能够执行相应的抗丢包策略,保证分段链路的传输质量。
在一种可能的实现方式中,所述第一报文中还包括第一时延门限值,所述第一时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;所述第二转发节点根据执行所述第一抗丢包策略的时长,更新所述第一报文中的第一时延门限值,得到更新后的第一报文;所述第二转发节点转发所述更新后的第一报文。
示例性地,假设第一报文中的第一时延门限值为50ms,第二转发节点执行第一抗丢包策略的时长为10ms,则第二转发节点可以将第一报文中的第一时延门限值更新为40ms。然后,所述第二转发节点再转发所述更新后的第一报文。
简单来说,第二转发节点在执行完第一抗丢包策略之后,第二转发节点相当于耗费了部分所允许的抗丢包策略执行时长,因此第二转发节点需要更新第一报文中的第一时延门限值,即将第一时延门限值减去第二转发节点执行第一抗丢包策略的时长。
在一种可能的实现方式中,所述方法还包括:所述第二转发节点接收第二报文,所述第二报文包括第三抗丢包策略和第二时延门限值,所述第二时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;所述第二转发节点执行所述第三抗丢包策略,并确定所述第二时延门限值与执行所述第三抗丢包策略时长之间的差值;所述第二转发节点根据所述第二报文的业务类型和转发路径确定第四抗丢包策略,所述第四抗丢包策略用于指示所述第二转发节点与第四转发节点之间的分段链路在出现丢包时的抗丢包策略,所述第四转发节点为所述第二报文的转发路径中位于所述第二转发节点之后的转发节点;基于所述第四抗丢包策略的执行时长大于所述差值,所述第二转发节点向第四转发节点转发更新后的第二报文,所述更新后的第二报文是基于所述第二报文得到的,且所述更新后的第二报文不包括抗丢包策略。
也就是说,在转发节点接收到包括抗丢包策略和时延门限值的报文之后,转发节点先执行报文中对应的抗丢包策略,并求取报文中的时延门限值与自身执行抗丢包策略的时长之间的差值。然后,该转发节点确定下一跳转发节点所需执行的抗丢包策略,并判断下一跳转发节点执行抗丢包策略的时长是否大于上述得到的时延门限差值。如果下一跳转发节点执行抗丢包策略所需的时长大于时延门限差值,转发节点直接剥掉报文中的抗丢包策略并转发给下一个转发节点,以使得下一个转发节点不再执行抗丢包策略。
通过时延门限值的设置,可以保证转发路径上的转发节点花费过长的时间来执行抗丢包策略,确保能够满足业务流量的时延要求。
在一种可能的实现方式中,所述方法还包括:所述第二转发节点接收第三报文,所述第三报文为源码报文,所述源码报文为包括待传输数据的报文;若所述第三报文的抗丢包策略为FEC策略,所述第二转发节点转发所述第三报文,并在本地保存所述第三报文的副本,以用于恢复丢失的报文。
也就是说,对于作为源码报文的报文,第二转发节点在接收到该报文之后,在本地缓存该报文的同时向下一个转发节点发送该报文,以使得报文能够及时传输给下一个转发节点,避免在第二转发节点中停留。
在一种可能的实现方式中,所述方法还包括:所述第二转发节点接收第四报文,所述第四报文为修复报文,所述修复报文用于恢复丢失的源码报文;若所述第二转发节点已获取到所述第四报文对应的传输块中所有的源码报文,则丢弃所述第四报文,所述传输块包括多个报文;若所述第二转发节点未获取到所述第四报文对应的传输块中所有的源码报文,且所述第二转发节点所获取到的属于所述传输块的报文的数量大于或等于第一阈值,则基于所述第四报文对所述传输块中的报文进行解码,以恢复所述传输块中所丢失的源码报文;若所述第二转发节点未获取到所述第四报文对应的传输块中所有的源码报文,且所述第二转发节点所获取到的属于所述传输块的报文的数量小于第一阈值,则保存所述第四报文。
本申请第三方面提供一种丢包管理方法,包括:控制器获取业务流量的转发路径以及所述业务流量的网络质量需求;所述控制器获取所述转发路径上多个分段链路的网络质量参数,其中,所述多个分段链路中的每个分段链路均为所述转发路径上相邻的两个转发节点之间的链路;所述控制器根据所述网络质量需求和所述网络质量参数,确定所述多个分段链路上每个分段链路在出现丢包时的抗丢包策略;所述控制器向所述多个分段链路上的转发节点发送所述抗丢包策略。其中,业务流量的网络质量需求是指业务流量在整个转发过程中需要满足的网络质量条件,例如业务流量的网络质量需求可以为业务流量在整条转发路径中的丢包率小于3%;分段链路的网络质量参数则例如可以包括时延、丢包率、带宽容量和抖动中的一种或多种。
本方案中,通过由控制器根据业务流量的网络质量需求以及业务流量的转发路径上各个分段链路的网络质量参数,确定转发路径上各个分段链路所需执行的抗丢包策略,并将各个分段链路的抗丢包策略下发给转发节点,由转发节点执行相应的抗丢包策略。通过对转发路径上的各个分段链路进行增强传输控制,能够保证各个分段链路上的丢包率,从而确保整条转发路径的丢包率,提高端到端路径的传输质量。
在一种可能的实现方式中,所述抗丢包策略包括自动重传请求ARQ策略、前向纠错编码FEC策略和多径重传策略中的一种或多种。
在一种可能的实现方式中,所述ARQ策略包括自动重传次数;所述FEC策略包括编码方式、报文总数和源码报文总数;所述多径重传策略包括报文的重传路径。
在一种可能的实现方式中,所述获取所述转发路径上多个分段链路的网络质量参数,包括:获取网络质量参数集合,所述网络质量参数集合包括由多个转发节点所上传的分段链路的网络质量参数;在所述网络质量参数集合中确定所述转发路径上多个分段链路的网络质量参数。
在一种可能的实现方式中,所述网络质量需求包括丢包率;所述根据所述网络质量需求和所述网络质量参数,确定所述多个分段链路上每个分段链路的抗丢包策略,包括:根据所述网络质量需求中的丢包率,确定所述多个分段链路上每个分段链路所允许的最大丢包率;根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路的抗丢包策略。
在一种可能的实现方式中,所述根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路的抗丢包策略,包括:根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路对应的抗丢包策略集合,所述抗丢包策略集合包括一个或多个满足最大丢包率要求的抗丢包策略;根据所述网络质量参数所指示的每个分段链路的实际时延,分别从所述每个分段链路对应的抗丢包策略集合中确定时延最低的抗丢包策略。
本申请第四方面提供一种丢包管理方法,所述方法应用于包括控制器和多个转发节点的系统,所述方法包括:所述控制器获取业务流量的转发路径以及所述业务流量的网络质量需求;所述控制器确定所述转发路径上多个分段链路的网络质量参数,其中,所述多个分段链路中的每个分段链路均为所述转发路径上相邻的两个转发节点之间的链路;所述控制器根据所述网络质量需求和所述网络质量参数,确定所述多个分段链路上每个分段链路在出现丢包时的抗丢包策略,所述抗丢包策略与业务流量的转发路径和所述业务流量对应的业务类型具有对应关系;所述控制器向所述多个分段链路上的转发节点发送所述抗丢包策略;所述多个分段链路上的转发节点在报文转发过程中,执行与报文的转发路径以及所述报文对应的业务类型所对应的抗丢包策略,所述报文属于所述业务流量。
在一种可能的实现方式中,所述获取所述转发路径上多个分段链路的网络质量参数,包括:获取网络质量参数集合,所述网络质量参数集合包括由多个转发节点所上传的分段链路的网络质量参数;在所述网络质量参数集合中确定所述转发路径上多个分段链路的网络质量参数。
在一种可能的实现方式中,所述网络质量需求包括丢包率;所述根据所述网络质量需求和所述网络质量参数,确定所述多个分段链路上每个分段链路的抗丢包策略,包括:根据所述网络质量需求中的丢包率,确定所述多个分段链路上每个分段链路所允许的最大丢包率;根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路的抗丢包策略。
在一种可能的实现方式中,所述根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路的抗丢包策略,包括:根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路对应的抗丢包策略集合,所述抗丢包策略集合包括一个或多个满足最大丢包率要求的抗丢包策略;根据所述网络质量参数所指示的每个分段链路的实际时延,分别从所述每个分段链路对应的抗丢包策略集合中确定时延最低的抗丢包策略。
在一种可能的实现方式中,所述多个分段链路上的转发节点在报文转发过程中,执行与报文的转发路径和业务类型所对应的抗丢包策略,包括:第一转发节点获取报文以及所述报文的转发路径,所述第一转发节点为所述多个分段链路上的首个转发节点;所述第一转发节点在所述报文中添加第一抗丢包策略,得到更新后的报文,并基于所述转发路径转发所述更新后的报文;其中,所述第一抗丢包策略是所述第一转发节点根据所述报文对应的业务类型和所述转发路径在多个抗丢包策略中确定的,所述第一抗丢包策略用于指示所述第一转发节点与所述第一转发节点的下一个转发节点之间的分段链路在出现丢包时的抗丢包策略,所述多个抗丢包策略来自于所述控制器。
在一种可能的实现方式中,所述方法还包括:所述第一转发节点根据所述报文的业务类型确定所述报文对应的时延门限值,所述时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;所述第一转发节点在所述报文中添加所述第一抗丢包策略,得到更新后的报文,包括:所述第一转发节点在所述报文中添加所述第一抗丢包策略和所述时延门限值,得到所述更新后的报文。
在一种可能的实现方式中,所述方法还包括:所述第一转发节点测量所述第一转发节点与其他转发节点之间的分段链路的网络质量,得到一个或多个分段链路的网络质量参数;所述第一转发节点向控制器发送所述一个或多个分段链路的网络质量参数。
在一种可能的实现方式中,所述第一转发节点在所述报文中添加第一抗丢包策略,包括:所述第一转发节点在所述报文中封装第一报文头部,所述第一报文头部中携带所述第一抗丢包策略。
在一种可能的实现方式中,所述第一报文头部还包括所述第一抗丢包策略的执行参数;若所述第一抗丢包策略为自动重传请求ARQ策略,则所述执行参数包括自动重传次数;或,若所述第一抗丢包策略为前向纠错编码FEC策略,则所述执行参数包括编码方式、报文总数和源码报文总数;或,若所述第一抗丢包策略为多径重传策略,则所述执行参数包括报文的重传路径。
在一种可能的实现方式中,所述多个分段链路上的转发节点在报文转发过程中,执行与报文的转发路径和业务类型所对应的抗丢包策略,包括:第二转发节点接收第一报文,所述第一报文中包括第二抗丢包策略,所述第二转发节点为所述多个分段链路上除了首个转发节点以外的任意一个节点;所述第二转发节点执行所述第一报文中的第二抗丢包策略,所述第二抗丢包策略是所述第二转发节点的前一个转发节点根据所述第一报文的业务类型和所述第一报文的转发路径确定的;所述第二转发节点转发所述第一报文。
在一种可能的实现方式中,所述第二转发节点转发所述第一报文,包括:所述第二转发节点获取所述第一报文的转发路径;所述第二转发节点在所述第一报文中添加第三抗丢包策略,得到更新后的第一报文,并基于所述转发路径向第三转发节点转发所述更新后的第一报文;其中,所述第三抗丢包策略是所述第二转发节点根据所述第一报文的业务类型和所述转发路径在所述多个抗丢包策略中确定的,所述第三抗丢包策略用于指示所述第二转发节点与所述第三转发节点之间的分段链路在出现丢包时的抗丢包策略。
在一种可能的实现方式中,所述第一报文中还包括第一时延门限值,所述第一时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;所述第二转发节点转发所述第一报文,包括:所述第二转发节点根据执行所述第二抗丢包策略的时长,更新所述第一报文中的第一时延门限值,得到更新后的第一报文;所述第二转发节点转发所述更新后的第一报文。
在一种可能的实现方式中,所述方法还包括:所述第二转发节点接收第二报文,所述第二报文包括第四抗丢包策略和第二时延门限值,所述第二时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;所述第二转发节点执行所述第三抗丢包策略,并确定所述第二时延门限值与执行所述第三抗丢包策略时长之间的差值;所述第二转发节点根据所述第二报文的业务类型和转发路径确定第四抗丢包策略,所述第四抗丢包策略用于指示所述第二转发节点与第四转发节点之间的分段链路在出现丢包时的抗丢包策略,所述第四转发节点为所述第二报文的转发路径中位于所述第二转发节点之后的转发节点;基于所述第四抗丢包策略的执行时长大于所述差值,所述第二转发节点向第四转发节点转发更新后的第二报文,所述更新后的第二报文是基于所述第二报文得到的,且所述更新后的第二报文不包括抗丢包策略。
在一种可能的实现方式中,所述方法还包括:所述第二转发节点接收第三报文,所述第三报文为源码报文,所述源码报文为包括待传输数据的报文;若所述第三报文的抗丢包策略为FEC策略,所述第二转发节点转发所述第三报文,并在本地保存所述第三报文的副本,以用于恢复丢失的报文。
在一种可能的实现方式中,所述方法还包括:所述第二转发节点接收第四报文,所述第四报文为修复报文,所述修复报文用于恢复丢失的源码报文;若所述第二转发节点已获取到所述第四报文对应的传输块中所有的源码报文,则丢弃所述第四报文,所述传输块包括多个报文;若所述第二转发节点未获取到所述第四报文对应的传输块中所有的源码报文,且所述第二转发节点所获取到的属于所述传输块的报文的数量大于或等于第一阈值,则基于所述第四报文对所述传输块中的报文进行解码,以恢复所述传输块中所丢失的源码报文;若所述第二转发节点未获取到所述第四报文对应的传输块中所有的源码报文,且所述第二转发节点所获取到的属于所述传输块的报文的数量小于第一阈值,则保存所述第四报文。
本申请第五方面提供一种网络设备,包括:获取单元,用于获取多个抗丢包策略,所述多个抗丢包策略中的每个抗丢包策略与报文的转发路径以及所述报文对应的业务类型具有对应关系;所述获取单元,还用于获取报文以及所述报文的转发路径;处理单元,用于在所述报文中添加第一抗丢包策略,得到更新后的报文;发送单元,用于基于所述转发路径向第二转发节点转发所述更新后的报文;其中,所述第一抗丢包策略是所述第一转发节点根据所述报文的业务类型和所述转发路径在所述多个抗丢包策略中确定的,所述第一抗丢包策略用于指示所述第一转发节点与所述第二转发节点之间的分段链路在出现丢包时的抗丢包策略。
在一种可能的实现方式中,所述处理单元,还用于:根据所述报文的业务类型确定所述报文的时延门限值,所述时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;所述第一转发节点在所述报文中添加所述第一抗丢包策略和所述时延门限值,得到所述更新后的报文。
在一种可能的实现方式中,所述处理单元,还用于测量所述第一转发节点与其他转发节点之间的分段链路的网络质量,得到一个或多个分段链路的网络质量参数;所述发送单元,还用于向控制器发送所述一个或多个分段链路的网络质量参数。
在一种可能的实现方式中,所述一个或多个分段链路的网络质量参数包括时延、丢包率、带宽容量和抖动中的一种或多种。
在一种可能的实现方式中,所述发送单元,用于在所述报文中封装第一报文头部,所述第一报文头部中携带所述第一抗丢包策略。
在一种可能的实现方式中,所述第一报文头部还包括所述第一抗丢包策略的执行参数;若所述第一抗丢包策略为自动重传请求ARQ策略,则所述执行参数包括自动重传次数;或,若所述第一抗丢包策略为前向纠错编码FEC策略,则所述执行参数包括编码方式、报文总数和源码报文总数;或,若所述第一抗丢包策略为多径重传策略,则所述执行参数包括报文的重传路径。
本申请第六方面提供一种网络设备,包括:获取单元,用于接收第一转发节点发送的第一报文,所述第一报文中包括第一抗丢包策略;处理单元,用于执行所述第一报文中的第一抗丢包策略,所述第一抗丢包策略是所述第一转发节点根据所述第一报文的业务类型和所述第一报文的转发路径确定的;发送单元,用于转发所述第一报文。
在一种可能的实现方式中,所述获取单元,还用于获取多个抗丢包策略,所述多个抗丢包策略中的每个抗丢包策略与报文的转发路径以及业务类型具有对应关系;所述获取单元,还用于所述第二转发节点获取所述第一报文的转发路径;所述处理单元,还用于在所述第一报文中添加第二抗丢包策略,得到更新后的第一报文;所述发送单元,还用于基于所述转发路径向第三转发节点转发所述更新后的第一报文;其中,所述第二抗丢包策略是所述第二转发节点根据所述第一报文的业务类型和所述转发路径在所述多个抗丢包策略中确定的,所述第二抗丢包策略用于指示所述第二转发节点与所述第三转发节点之间的分段链路在出现丢包时的抗丢包策略。
在一种可能的实现方式中,所述第一报文中还包括第一时延门限值,所述第一时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;
所述处理单元,还用于根据执行所述第一抗丢包策略的时长,更新所述第一报文中的第一时延门限值,得到更新后的第一报文;所述发送单元,具体用于转发所述更新后的第一报文。
在一种可能的实现方式中,所述获取单元,还用于接收第二报文,所述第二报文包括第三抗丢包策略和第二时延门限值,所述第二时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;所述处理单元,还用于执行所述第三抗丢包策略,并确定所述第二时延门限值与执行所述第三抗丢包策略时长之间的差值;所述处理单元,还用于根据所述第二报文的业务类型和转发路径确定第四抗丢包策略,所述第四抗丢包策略用于指示所述第二转发节点与第四转发节点之间的分段链路在出现丢包时的抗丢包策略,所述第四转发节点为所述第二报文的转发路径中位于所述第二转发节点之后的转发节点;所述发送单元,还用于基于所述第四抗丢包策略的执行时长大于所述差值,向第四转发节点转发更新后的第二报文,所述更新后的第二报文是基于所述第二报文得到的,且所述更新后的第二报文不包括抗丢包策略。
在一种可能的实现方式中,所述获取单元,还用于接收第三报文,所述第三报文为源码报文,所述源码报文为包括待传输数据的报文;若所述第三报文的抗丢包策略为FEC策略,所述第二转发节点转发所述第三报文,并在本地保存所述第三报文的副本,以用于恢复丢失的报文。
在一种可能的实现方式中,所述获取单元,还用于接收第四报文,所述第四报文为修复报文,所述修复报文用于恢复丢失的源码报文;所述处理单元,还用于若所述第二转发节点已获取到所述第四报文对应的传输块中所有的源码报文,则丢弃所述第四报文,所述传输块包括多个报文;所述处理单元,还用于:若未获取到所述第四报文对应的传输块中所有的源码报文,且所获取到的属于所述传输块的报文的数量大于或等于第一阈值,则基于所述第四报文对所述传输块中的报文进行解码,以恢复所述传输块中所丢失的源码报文;若未获取到所述第四报文对应的传输块中所有的源码报文,且所获取到的属于所述传输块的报文的数量小于第一阈值,则保存所述第四报文。
本申请第七方面提供一种控制器,包括:获取单元,用于获取业务流量的转发路径以及所述业务流量的网络质量需求;所述获取单元,还用于获取所述转发路径上多个分段链路的网络质量参数,其中,所述多个分段链路中的每个分段链路均为所述转发路径上相邻的两个转发节点之间的链路;处理单元,用于根据所述网络质量需求和所述网络质量参数,确定所述多个分段链路上每个分段链路在出现丢包时的抗丢包策略;发送单元,用于向所述多个分段链路上的转发节点发送所述抗丢包策略。
在一种可能的实现方式中,所述抗丢包策略包括自动重传请求ARQ策略、前向纠错编码FEC策略和多径重传策略中的一种或多种。
在一种可能的实现方式中,所述ARQ策略包括自动重传次数;所述FEC策略包括编码方式、报文总数和源码报文总数;所述多径重传策略包括报文的重传路径。
在一种可能的实现方式中,所述获取单元,还用于获取网络质量参数集合,所述网络质量参数集合包括由多个转发节点所上传的分段链路的网络质量参数;所述处理单元,还用于在所述网络质量参数集合中确定所述转发路径上多个分段链路的网络质量参数。
在一种可能的实现方式中,所述网络质量需求包括丢包率;所述处理单元,还用于:根据所述网络质量需求中的丢包率,确定所述多个分段链路上每个分段链路所允许的最大丢包率;根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路的抗丢包策略。
在一种可能的实现方式中,所述处理单元,还用于:根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路对应的抗丢包策略集合,所述抗丢包策略集合包括一个或多个满足最大丢包率要求的抗丢包策略;根据所述网络质量参数所指示的每个分段链路的实际时延,分别从所述每个分段链路对应的抗丢包策略集合中确定时延最低的抗丢包策略。
在一种可能的实现方式中,所述多个分段链路的网络质量参数包括时延、丢包率、带宽容量和抖动中的一种或多种。
本申请第八方面提供一种网络设备,该网络设备包括:存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述网络设备执行如第一方面中的任意一种实现方式的方法。
本申请第九方面提供一种网络设备,该网络设备包括:存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述网络设备执行如第二方面中的任意一种实现方式的方法。
本申请第十方面提供一种控制器,该控制器包括:存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述控制器执行如第三方面中的任意一种实现方式的方法。
本申请第十一方面提供一种网络系统,该网络系统包括:如第七方面所述的网络设备、如第八方面所述的网络设备和如第九方面所述的控制器。
本申请第十二方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面至第三方面中的任意一种实现方式的方法。
本申请第十三方面提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面至第三方面中的任意一种实现方式的方法。
本申请第十四方面提供一种芯片,包括一个或多个处理器。处理器中的部分或全部用于读取并执行存储器中存储的计算机程序,以执行上述第一方面至第三方面任意可能的实现方式中的方法。
可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。本申请提供的方法可以由一个芯片实现,也可以由多个芯片协同实现。
附图说明
图1为本申请实施例提供的一种媒体演进对网络能力的需求示意图;
图2为本申请实施例提供的一种互联网应用Overlay技术的示意图;
图3为本申请实施例提供的一种RTN网络的关键运行流程;
图4为本申请实施例提供的一种RTN的Overlay报文封装示意图;
图5为本申请实施例提供的一种丢包管理方法所应用的系统架构示意图;
图6为本申请实施例提供的一种丢包管理方法600的流程示意图;
图7为本申请实施例提供的一种转发路径的示意图;
图8为本申请实施例提供的一种转发路径上的多个分段链路的网络质量参数示意图;
图9为本申请实施例提供的一种在分段链路上采用抗丢包策略的示意图;
图10为本申请实施例提供的一种丢包管理方法1000的流程示意图;
图11为本申请实施例提供的一种OEP报文头的格式示意图;
图12为本申请实施例提供的一种同步转发和缓存报文的流程示意图;
图13为本申请实施例提供的一种丢包管理方法1300的流程示意图;
图14为本申请实施例提供的一种报文转发的流程示意图;
图15为本申请实施例提供的一种报文转发的示意图;
图16为本申请实施例提供的丢包管理方法对客户端基于TCP业务的吞吐的提升示意图;
图17为本申请实施例提供的丢包管理方法对跨国链路传输丢包率的优化效果示意图;
图18为本申请实施例提供的一种网络设备1800的结构示意图;
图19为本申请实施例提供的一种控制器1900的结构示意图;
图20为本申请实施例提供的一种网络设备2000的结构示意图;
图21为本申请实施例提供的一种网络设备2100的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图,对本申请的实施例进行描述。显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的描述在适当情况下可以互换,以便使实施例能够以除了在本申请图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行顺序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本申请方案的目的。
为了便于理解,以下先介绍本申请实施例所涉及的技术术语。
专线网络:专线网络就是为某个机构提供一个独立的网络传输通道,例如为机构提供一条独立的网线。具体来说,专线网络是依托国内骨干网及宽带城域网资源,提供专线接入方式,满足用户接入互联网或连接自身的局域网区域的需求。专线的优点就是安全性好,用户的数据传输变得可靠,服务质量(Quality of Service,QoS)能够得到保证。不过,专线网络的租用价格也相对比较高,且需要专业人员进行管理。
一般来说,网络专线主要包括两种信道。1,物理专用信道。物理专用信道就是在服务商到用户之间铺设有一条专用的线路,线路只给用户独立使用,其他的数据不能进入此线路,而一般的线路就允许多用户共享信道。2,虚拟专用信道。虚拟专用信道就是在一般的信道上为用户保留一定的带宽,使用户可以独享这部分带宽,就像在公用信道上又开了一个通道,只让相应用户使用,而且用户的数据是加密的,以此来保证可靠性与安全性;
公网/公共互联网:即Internet,主要通过目前已有的互联网链路访问目的地址。公网/公共互联网的网络质量容易因跨互联网服务提供商(Internet Service Provider,ISP)或不同国家/区域而发生抖动,公网/公共互联网的QoS比专线网络差。
自动重传请求(Automatic Repeat-reQuest,ARQ):是指在接收站接收到一个包含出错数据的信息(帧)时,自动发出一个重传错帧的请求。
前向纠错码(Forward Error Correction,FEC),一种增加数据通讯可信度的方法。在单向通讯信道中,一旦发现传输的数据出错或丢失,其接收器将无权再请求传输。FEC则是利用数据进行传输冗余信息的方法,当传输的数据出现错误时,允许接收器根据冗余信息重建数据。在采用FEC技术的情况下,数据在被送入传输信道之前预先按一定的算法进行编码处理,加入带有数据本身特征的冗余信息,在接收端按照相应算法对接收到的数据进行解码,从而找出在传输过程中产生的错误码并将其纠正。
随着互联网从单一的计算机通信领域渗透各行各业,各类新兴的应用层出不穷,如支持“万人在线,千人互动”的超大型实时音视频会议、在线云游戏、AR/VR沉浸式体验等应用。这些新兴应用对网络时延、吞吐、丢包率方面不断提出更高的要求。可以参阅图1,图1为本申请实施例提供的一种媒体演进对网络能力的需求示意图。如图1所示,媒体演进的路径为:文本>图像>语音>视频>AR/VR>全息影像。并且,随着媒体的逐渐演进,媒体对网络的带宽以及时延的要求越来越高。
日益增加的业务需求驱动着网络架构不断演进,学术界和工业界在寻址、选路、传输协议等各个方面都提出了优化技术方案。目前,主要的成果致力于通过集中管控和私有协议,实现针对特定业务的路由加速。
一般来说,互联网通常由多个运营商/ISP/自治域组成,自治域间的互联存在着复杂的商业关系。互联网的传输路径受商业关系影响,往往不会是网络中的最短路径,例如两个亚洲节点间的传输可能会被绕到欧洲,进而增加了端到端的时延。同时,互联网中的路由对路径性能是不感知的,路径中的转发失败或拥塞往往很难避免,或需要很长的收敛时间。
为解决互联网路径的非最优问题,业界提出互联网覆盖(Overlay)网络技术。通过在互联网上不同地区的数据中心周边放置网络中继转发节点(Point-of-Presence,PoP),且PoP之间相互连接调度,从而在现有的公共互联网基础上构建一层新的虚拟覆盖网络。在Overlay网络的基础上,通过统一的管理配置和数据面传输协议传输,能够实现面向实时业务的加速,此类Overlay网络也称为实时业务加速网络(Real-Time Network,RTN)。
可以参阅图2,图2为本申请实施例提供的一种互联网应用Overlay技术的示意图。如图2所示,从终端到目的节点的默认链路为虚线所指示的链路,即从域A直接跨到域C的跨域链路,而该跨域链路面临严重的拥塞,导致端到端性能下降。通过Overlay技术,在域A中部署PoP1,在域B中部署PoP2,在域C中部署PoP3,并将终端的流量接入PoP1。Overlay骨干网中控制PoP1到PoP3的路由为PoP1-PoP2-PoP3,从而有效绕开域A和域B间的拥塞链路,提升整体端到端表现。
在系统架构上,现有的RTN网络由集中式的全局控制器(管控面)和分布式PoP转发点(数据面)形成的Overlay互联网络两大部分构成。可以参阅图3,图3为本申请实施例提供的一种RTN网络的关键运行流程。如图3所示,RTN网络的运行过程包括以下的多个步骤。
步骤1,PoP内部的本地控制器向全局控制器注册,全局控制器在Overlay网络拓扑中加入该PoP。此外,用户可以通过控制台(Portal)向全局控制器输入业务属性、QoS需求、优先级等业务参数,用于计算Overlay智能路由。
步骤2,全局控制器的管理模块把Overlay网络的拓扑信息传给Overlay智能路由计算引擎。当Overlay网络的拓扑发生变化时(例如新增/删除PoP),全局控制器的管理模块实时向Overlay智能路由计算引擎更新拓扑。
步骤3,PoP内部包括本地控制器和若干个软件转发单元。不同PoP的转发单元之间通过各自的对外弹性IP地址(Elastic IP,EIP)互通。为获取PoP之间链路质量状态,PoP中的转发单元周期性地发出相互探测报文,例如每秒发送一次相互探测报文,以采集PoP之间的链路的时延、抖动、丢包率、带宽容量等指标,并上报给本PoP的局部控制器。
步骤4,PoP的局部控制器聚合本PoP到其他PoP之间路径的测量指标样本后,周期性向全局控制器上报测量数据,例如每分钟向全局控制器上报一次测量数据。
步骤5,全局控制器的Overlay智能路由计算引擎根据RTN网络拓扑、测量数据和用户输入的业务参数,面向差异化的业务类型,为每类业务计算特定的端到端(End-to-end,E2E)Overlay路由,并将路由表下发到每个PoP的本地控制器中。PoP再将路由表装载到本地的各个转发单元中,以实现基于路由表确定转发路径。
上述步骤描述了RTN网络从测量网络指标到Overlay路由下发的完整流程。需要注意的是,RTN的Overlay路由是PoP级别的路由,即,一条E2E路由是从一个“源PoP”前往一个“目的PoP”,中间途径的转发点都是PoP。例如,在上述的图2中,PoP1-PoP2-PoP3就是一条从PoP1去往PoP3的Overlay路由。
在实际应用中,业务客户端(如手机、终端计算机)通过软件开发工具包(SoftwareDevelopment Kit,SDK)或域名系统(Domain Name System,DNS)域名跳转等方式把流量引入RTN网络的某个PoP(该PoP称为接入PoP)。在接入PoP添加RTN网络的Overlay报文头部(即RTN头部),形成可在PoP点之间转发的RTN报文。
如图4所示,图4为本申请实施例提供的一种RTN的Overlay报文封装示意图。在图4中,RTN报文中包括负载(payload)和常规的报文头部,即互联网协议(Internet Protocol,IP)头部和用户数据报协议(User Datagram Protocol,UDP)头部;RTN还包括RTN头部。RTN报文途径RTN网络的Overlay路由,被转发到与目的终端(服务器或其他客户端)相连的PoP。目的PoP剥离RTN头部,还原出原始报文,并发给最终的目的终端,即可完成完整的RTN网络转发。
由上述的介绍可知,RTN在PoP互联的Overlay网络上,屏蔽了底层Underlay网络的路由限制;并通过闭环控制,智能计算最优路由,同时利用数据面私有协议格式实现Overlay转发,实现了骨干网的传输加速,尤其适用于长距离跨国广域网的实时业务流量加速。
在一些实现中,RTN数据面可以采用源路由(Source Routing,SR)转发技术来实现报文转发。源路由转发技术可通过集中控制器对网络路径进行全局优化,同时简化中间节点转发状态维护。
具体地,源PoP在RTN报文头部填入完整的Overlay路由。在Overlay路由中,每个SR转发点字段写入路由沿途PoP点的ID。沿途PoP的转发单元收到RTN报文后,从RTN报文头部的SR列表中查询到下一跳PoP的ID,从而将报文转发给下一跳PoP。
由RTN架构可以看出,由于RTN实际是一层虚拟的覆盖网络,RTN下层的基础架构(Underlay)网络通常由异构网络组合而成,例如由公共互联网和专线网络组成。因此,一条端到端的RTN路径往往会跨越多种不同的Underlay网络链路。另一方面,以IP协议栈为主的公网是没有资源管控的无确定性保障的网络,导致运行在Overlay层面的RTN路由缺乏传输指标可预期的稳态质量保证。
因此,在一些情况下,RTN的全局控制器根据正常状态下的Overlay路径质量计算转发路径之后,在实际应用该转发路径转发流量时,下游Underlay链路可能会出现突发拥塞,导致转发路径的质量劣化,从而影响流量的正常转发。
有鉴于此,本申请实施例提供了一种丢包管理方法,通过构建分段网络增强控制技术,提高端到端路径的传输质量,使得智能路由的执行能够取得可预期的确定性效果。
具体地,本申请实施例提供的丢包管理方法,能够应用于任意跨域长距离网络传输场景,并不局限于特定的业务、ISP、网络链路类型(如公共互联网或专线)或通信协议等。特别地,本申请实施例所提供的方法尤其适用于提升针对时延敏感型业务加速的RTN网络的报文转发质量。因此,本实施例将以RTN作为主要载体,介绍本实施例所提供的丢包管理方法。
可以参阅图5,图5为本申请实施例提供的一种丢包管理方法所应用的系统架构示意图。如图5所示,本实施例所提供的丢包管理方法所应用的系统架构可以称为覆盖增强控制(Overlay Enhancement Control,OEC)系统架构。以下将结合图5,以OEC系统架构承载于RTN网络为例,对OEC系统架构进行介绍。
如图5所示,OEC系统架构包括一个OEC控制器和多个OEC节点,其中OEC控制器为控制面节点,OEC节点为Overlay数据面节点。OEC控制器和多个OEC节点是软件实体或软件模块,即OEC控制器和OEC节点可以部署于RTN网络中的物理设备(转发单元)上。例如,OEC控制器可以部署于RTN网络中的全局控制器上,OEC节点则可以部署于RTN网络中的PoP上。此外,RTN网络中的物理设备则部署于underlay网络上,RTN网络中的物理设备通过underlay网络实现报文的转发。
具体地,OEC控制器分别与多个OEC节点连接,用于计算各个OEC节点所执行的抗丢包策略,并将抗丢包策略下发至OEC节点。在业务报文的传输过程中,业务报文在OEC节点之间转发,且OEC节点通过覆盖增强传输协议(Overlay Enhancement Protocol,OEP)协议实现业务报文的转发并指示各个OEC节点需执行的抗丢包策略。其中,OEP协议体现为在OEC节点在业务报文中所封装的专有的Overlay报文格式。
在图5中,OEC控制器获取用户所定义的业务需求,例如业务流组、优先级、业务的QoS需求或者OEC时延,以及OEC节点所上传的链路实时状态,计算端到端路径上途径的每个分段链路的OEC策略,并将OEC策略下发到数据面的OEC节点。OEC节点接收到RTN报文后,按照对应的OEC策略对RTN报文执行增强控制,并封装相应的OEP报文头,发往下一跳OEC节点,即完成本OEC节点的分段链路内的报文处理。如果下一跳OEC节点发现丢包,则根据报文所采用的OEC策略进行丢包恢复,实现分段链路级别增强控制的效果。
为了便于理解,以下将从控制器下发OEC策略以及OEC节点在转发报文的过程中执行OEC策略的两个方面详细介绍本申请实施例提供的丢包管理方法。
可以参阅图6,图6为本申请实施例提供的一种丢包管理方法600的流程示意图。如图6所示,该丢包管理方法600包括以下的步骤601-步骤604。
步骤601,控制器获取业务流量的转发路径以及所述业务流量的网络质量需求。
本实施例中,用户之间的业务流量需要在控制器所管理的多个转发节点之间转发。对于业务类型不同、起始地址不同或目的地址不同的业务流量,通常会有不同的转发路径,控制器可以获取各种业务流量的转发路径,以便于后续确定在转发路径上所实现的传输增强控制。其中,业务流量的转发路径可以是由控制器或者RTN网络中的集中控制器根据业务流量的需求以及网络链路的实时质量确定的,在此不再赘述。
示例性地,如图6所示,业务流量从发送端经过转发节点1、转发节点2和转发节点3转发后,到达接收端。即业务流量的转发路径为:发送端>转发节点1>转发节点2>转发节点3>接收端。
此外,业务类型不同的业务流量,其网络质量需求往往也是不一样的。其中,业务流量的网络质量需求可以是指业务流量在网络传输中的时延、丢包率和抖动等。例如,在业务流量为实时传输的音视频数据的情况下,业务流量对于时延的要求较高;在业务流量为金融数据等银行业务流量的情况下,业务流量对于丢包率的要求较高。
由于本实施例中是通过对业务流量的转发路径中的每个分段链路进行传输增强控制,因此控制器可以先获取业务流量在转发路径上传输的网络质量需求,以便于基于业务流量总体的网络质量需求确定每个分段链路上需要达到的网络质量。
步骤602,所述控制器获取所述转发路径上多个分段链路的网络质量参数,其中,所述多个分段链路中的每个分段链路均为所述转发路径上相邻的两个转发节点之间的链路。
在获取得到业务流量的转发路径之后,控制器可以确定该转发路径上的多个转发节点。其中,业务流量是通过转发路径上的多个转发节点的依次转发,从而实现在转发路径上的传输。例如,图6中所示的转发路径中的多个转发节点包括转发节点1、转发节点2和转发节点3。
基于转发路径上的多个转发节点,控制器可以确定转发路径上的多个分段链路,该多个分段链路用于构成该转发路径。其中,多个分段链路中的每个分段链路都是转发路径上相邻的两个转发节点之间的链路。例如,图6中所示的转发路径可以包括分段链路1和分段链路2这两个分段链路,分段链路1为转发节点1和转发节点2之间的链路,分段链路2为转发节点2和转发节点3之间的链路。
在确定转发路径上的多个分段链路之后,控制器可以获取多个分段链路中每个分段链路的网络质量参数。其中,分段链路的网络质量参数可以是指分段链路上的时延、丢包率、带宽容量和抖动中的一种或多种。
可选的,控制器所管理的转发节点可以是周期性地测量自身与其他节点之间的分段链路的网络质量,并将测量到的网络质量参数上传给控制器。这样一来,控制器可以获取到各个转发节点所上传的分段链路的网络质量参数。由于在实际的网络拓扑中存在着大量的转发节点和分段链路,因此控制器可以获取到大量转发节点所上传的分段链路的网络质量参数。控制器可以根据每一条转发路径上所包括的分段链路,在转发节点所上传的网络质量参数中确定该转发路径中的多个分段链路的网络质量参数。
具体来说,控制器可以获取网络质量参数集合,该网络质量参数集合包括由控制器所管理的多个转发节点所上传的分段链路的网络质量参数。所述控制器在所述网络质量参数集合中确定所述转发路径上多个分段链路的网络质量参数。
示例性地,转发节点1测量得到转发节点1与转发节点2之间的分段链路1的丢包率为3%,时延为100ms,转发节点1则将分段链路1的标识、丢包率3%以及时延100ms发送给控制器。其中,分段链路1的标识可以为转发节点1的标识和转发节点2的标识,即以两个转发节点的标识来表示该两个转发节点之间的分段链路。转发节点3测量得到转发节点3与转发节点2之间的分段链路2的丢包率为5%,时延为70ms,转发节点3则将分段链路2的标识、丢包率5%以及时延70ms发送给控制器。
步骤603,所述控制器根据所述网络质量需求和所述网络质量参数,确定所述多个分段链路上每个分段链路在出现丢包时的抗丢包策略。
本实施例中,控制器可以根据业务流量的网络质量需求以及转发路径上各个分段链路的网络质量参数,确定转发路径上各个分段链路待执行的抗丢包策略,以使得转发路径上各个分段链路在执行对应的抗丢包策略时能够满足业务流量的网络质量需求。
其中,分段链路对应的抗丢包策略用于指示分段链路中出现丢包时的处理策略。示例性地,所述抗丢包策略包括ARQ策略、FEC策略和多径重传策略中的一种或多种。
ARQ策略是指分段链路中的转发节点在发现数据丢包或数据出错时,自动向前一个转发节点发出重传错帧的请求。ARQ策略可以具有对应的策略参数。例如,ARQ策略对应的策略参数包括自动重传次数,该自动重传次数用于指示出现数据丢包时转发节点重新传输丢失的报文的次数。
FEC策略则是指分段链路中的前一个转发节点按照一定的算法对数据进行编码处理,并将编码处理后的数据发往下一个转发节点;下一个转发节点根据相应的算法对数据进行解码,从而找出在传输过程中产生的错误数据或者丢失的数据并将其纠正。基于分组的FEC策略对应的策略参数可以包括编码方式、报文总数和源码报文总数。其中源码报文总数是指装载了实际待传输数据的报文的总数;报文总数则是指源码报文总数和冗余报文总数之和;冗余报文是指基于实际待传输数据的特征所生成的冗余信息的报文,用于恢复丢失或者出错的源码报文。例如,FEC策略对应的策略参数可以包括:编码方式为里所(Reed-solomon,RS)编码,报文总数为38,源码报文总数为36。
多径重传策略是指转发节点在通过一条路径向目标转发节点发送报文且出现报文错误或丢失时,该转发节点则通过另一条路径(即备选路径)重新向目标转发节点发送报文。多径重传策略对应的策略参数可以包括一条或多条备选路径对应的出接口。
步骤604,所述控制器向所述多个分段链路上的转发节点发送所述抗丢包策略。
在控制器确定了转发路径上的各个分段链路的抗丢包策略之后,控制器可以向各个分段链路上的转发节点发送分段链路对应的抗丢包策略,以使得转发节点在转发业务流量时执行分段链路对应的抗丢包策略。
可选的,在转发节点转发业务流量的过程中,对于任意一个分段链路,该分段链路中负责转发业务流量的转发节点(即分段链路的首节点)可以将分段链路待执行的抗丢包策略写入至业务流量的报文中,由分段链路中负责接收业务流量的转发节点(即分段链路的尾节点)执行业务流量的报文中所指示的抗丢包策略。因此,本实施例中,控制器可以是将各个分段链路对应的抗丢包策略发送该分段链路对应的首节点中,以使得分段链路中作为首节点的转发节点在业务流量的报文中指示分段链路的抗丢包策略。
示例性地,可以参阅图7,图7为本申请实施例提供的一种转发路径的示意图。图7中包括两条转发路径,分别为转发路径1和转发路径2。转发路径1上的转发节点包括:转发节点1、转发节点2、转发节点3和转发节点4;转发路径2上的转发节点包括:转发节点1、转发节点2、转发节点5和转发节点6。
对于转发路径1,控制器确定转发路径1上的分段链路1、分段链路2和分段链路3所采用的抗丢包策略分别为抗丢包策略1、抗丢包策略2和抗丢包策略3。因此,控制器向各个分段链路上的首节点发送各个分段链路对应的抗丢包策略。即,控制器向转发节点1发送分段链路1对应的抗丢包策略1;控制器向转发节点2发送分段链路2对应的抗丢包策略2;控制器向转发节点3发送分段链路3对应的抗丢包策略3。
对于转发路径2,控制器确定转发路径2上的分段链路1、分段链路4和分段链路5所采用的抗丢包策略分别为抗丢包策略4、抗丢包策略5和抗丢包策略6。因此,控制器向各个分段链路上的首节点发送各个分段链路对应的抗丢包策略。即,控制器向转发节点1发送分段链路1对应的抗丢包策略4;控制器向转发节点2发送分段链路4对应的抗丢包策略5;控制器向转发节点5发送分段链路5对应的抗丢包策略6。
值得注意的是,尽管转发节点1和转发节点2上收到了多个抗丢包策略,但是不同的抗丢包策略是与不同的转发路径对应的。即,当业务流量的转发路径为转发路径1时,转发节点1可以确定分段链路1上对应的抗丢包策略1;当业务流量的转发路径为转发路径2时,转发节点1可以确定分段链路1上对应的抗丢包策略4。
本方案中,通过由控制器根据业务流量的网络质量需求以及业务流量的转发路径上各个分段链路的网络质量参数,确定转发路径上各个分段链路所需执行的抗丢包策略,并将各个分段链路的抗丢包策略下发给转发节点,由转发节点执行相应的抗丢包策略。通过对转发路径上的各个分段链路进行增强传输控制,能够保证各个分段链路上的丢包率,从而确保整条转发路径的丢包率,提高端到端路径的传输质量。
以上介绍了控制器确定转发路径上各个分段链路的抗丢包策略的过程,以下将介绍控制器如何根据业务流量的网络质量需求和分段链路的网络质量参数确定具体的抗丢包策略。
在获取到业务流量的网络质量需求以及业务流量的转发路径上各个分段链路的网络质量参数之后,控制器可以根据所述网络质量需求中的丢包率,确定所述多个分段链路上每个分段链路所允许的最大丢包率。
示例性地,可以参阅图8,图8为本申请实施例提供的一种转发路径上的多个分段链路的网络质量参数示意图。如图8所示,转发路径上包括转发节点1、转发节点2、转发节点3、转发节点4和转发节点5。其中,转发节点1和转发节点2之间的分段链路1的丢包率为3%,时延为100ms;转发节点2和转发节点3之间的分段链路2的丢包率为5%,时延为70ms;转发节点3和转发节点4之间的分段链路3的丢包率为10%,时延为10ms;转发节点4和转发节点5之间的分段链路4的丢包率为6%,时延为10ms。
假设控制器根据业务流量的网络质量需求确定图8所示的转发路径的丢包率q为3%,那么控制器可以确定各个分段链路上所允许的最大丢包率。具体地,可以将丢包率q分解成转发路径上各个分段链路所允许的最大丢包率。在一种可能的分解方式中,控制器可以控制各个分段链路上所允许的最大丢包率相同,且各个分段链路上所允许的最大丢包率为p。那么,丢包率q与各个分段链路上所允许的最大丢包率p之间的关系可以如公式1所示。
1-q=(1-p)4 公式1
基于公式1可以计算得到各个分段链路上所允许的最大丢包率p为:
也就是说,转发路径上的各个分段链路在采用抗丢包策略之后,各个分段链路所允许的最大丢包率为0.76%。
在确定转发路径上多个分段链路上每个分段链路所允许的最大丢包率之后,控制器可以根据所述每个分段链路所允许的最大丢包率和网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路的抗丢包策略,以使得在各个分段链路上执行对应的抗丢包策略之后,各个分段链路的预期丢包率小于或等于所允许的最大丢包率。
具体地,控制器可以根据在各个分段链路上执行不同的抗丢包策略时的效果,即确定各个分段链路上在执行各种类型的抗丢包策略后的预期丢包率。然后,控制器根据各个分段链路上在执行各种类型的抗丢包策略后的预期丢包率,为各个分段链路在各种类型的抗丢包策略中选择满足要求的抗丢包策略。
简单来说,对于实际丢包率较高的分段链路,控制器则在该分段链路上采用抗丢包效果较好的抗丢包策略;对于实际丢包率较低的分段链路,控制器则在该分段链路上采用抗丢包效果较弱的抗丢包策略或者不采取抗丢包策略(即抗丢包策略为null)。
可选的,控制器可以是在确保分段链路的预期丢包率小于或等于所允许的最大丢包率的前提下,尽可能地选择时延更低的抗丢包策略。
具体地,控制器根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路对应的抗丢包策略集合,所述抗丢包策略集合包括一个或多个满足最大丢包率要求的抗丢包策略。例如,对于某一个分段链路而言,该分段链路的实际丢包率为2%,且该分段链路所允许的最大丢包率为1%,在ARQ策略和FEC策略都能使得该分段链路的预期丢包率小于1%的情况下,则该分段链路的抗丢包策略集合包括ARQ策略和FEC策略。
然后,控制器根据所述网络质量参数所指示的每个分段链路的实际时延,分别从所述每个分段链路对应的抗丢包策略集合中确定时延最低的抗丢包策略。
一般来说,由于执行ARQ策略的期间,分段链路中的尾节点需要向首节点发送重传请求,然后首节点基于重传请求重新向尾节点发送报文,因此ARQ策略的时延通常可以认为是分段链路的实际传输时延的两倍。FEC策略的时延则为分段链路中的尾节点基于FEC编码方式解码并修复报文所需的时长,FEC策略的时延通常是固定的。
因此,控制器可以根据每个分段链路的实际时延确定每个分段链路在执行不同的抗丢包策略时的具体时延,从而在每个分段链路对应的抗丢包策略集合中确定时延最低的抗丢包策略。
示例性地,可以参阅图9,图9为本申请实施例提供的一种在分段链路上采用抗丢包策略的示意图。如图9所示,假设分段链路上采用FEC策略的时延为30ms,采用ARQ策略的时延为当前分段链路的传输时延(Latency)的2倍。
对于转发节点1与转发节点2之间的分段链路,该分段链路采用ARQ策略的时延为200ms,远高于采用FEC策略的30ms,因此控制器确定该分段链路采用FEC策略,具体参数为:传输块(block)内源码报文数K=36,修复报文数为2,总报文数为38,冗余度为2/38=5.3%,可以修复3%的Segment丢包。
同理,转发节点2与转发节点3之间的分段链路也采用与上述分段链路相同的FEC策略。
对于转发节点3与转发节点4之间的分段链路,虽然采用ARQ策略的时延开销为20ms,低于采用FEC策略的30ms时延开销,但是ARQ策略能修复的丢包率上限为10%*10%=1%,高于该分段链路的预期丢包率上限0.76%,因此,转发节点3与转发节点4之间的分段链路仍然采用FEC策略。
对于转发节点4与转发节点5之间的分段链路,ARQ策略能修复丢包上限为6%*6%=0.36%,满足该分段链路的预期丢包率要求,且ARQ的时延开销为20ms,优于采用FEC策略的时延30ms。因此,控制器可以确定转发节点4与转发节点5之间的分段链路采用ARQ策略,且自动重传次数为1。
需要说明的是,以上实施例介绍了控制器计算各个分段链路所采用的抗丢包策略的方式,但是在实际应用中控制器计算各个分段链路所采用的抗丢包策略的方式并不唯一,可以根据具体部署场景和分段链路的实际网络质量参数,应用不同的计算方式,在此不再赘述。
以上介绍了控制器计算转发路径上各个分段链路所采用的抗丢包策略,并将抗丢包策略下发至转发路径上的转发节点的过程。以下将详细介绍转发路径上各个分段链路的转发节点在转发业务流量的过程中执行抗丢包策略的过程。
可以参阅图10,图10为本申请实施例提供的一种丢包管理方法1000的流程示意图。如图10所示,该丢包管理方法1000包括以下的步骤1001-步骤1005。
步骤1001,第一转发节点获取多个抗丢包策略,所述多个抗丢包策略中的每个抗丢包策略与报文的转发路径以及业务类型具有对应关系。
本实施例中,第一转发节点所获取到的多个抗丢包策略可以是管理第一转发节点的控制器所下发的。控制器根据上述的方法600计算得到第一转发节点所位于的转发路径中的分段链路的抗丢包策略,并且将分段链路的抗丢包策略下发给第一转发节点。可以理解的是,第一转发节点可能同时位于不同的转发路径上,且同一条转发路径上所转发的业务流量的类型也可能是不同的,而抗丢包策略是与转发路径以及业务流量的类型相关的,因此第一转发节点可以接收到控制器所下发的多个抗丢包策略。并且,第一转发节点获取到的多个抗丢包策略中的每个抗丢包策略与报文的转发路径以及业务类型具有对应关系。
可选的,第一转发节点也可以是从其他的转发节点获取多个抗丢包策略。例如,控制器将抗丢包策略下发给与控制器直接相连的转发节点之后,由这些转发节点负责抗丢包策略的转发,以使得抗丢包策略能够在多个转发节点中扩散。
步骤1002,所述第一转发节点获取第一报文以及所述第一报文的转发路径。
在业务流量的转发过程中,第一转发节点可以获取到属于某一类型的业务流量的第一报文。并且,第一转发节点可以根据第一报文中的信息确定用于转发第一报文的转发路径。示例性地,第一转发节点可以根据第一报文中的五元组信息确定用于转发第一报文的转发路径。第一报文中的五元组信息包括:源地址、目的地址、源端口、目的端口和协议号。
其中,业务流量的转发路径可以是由控制器或者RTN网络中的集中控制器根据业务流量的需求以及网络链路的实时质量确定,然后下发至第一转发节点上。
步骤1003,所述第一转发节点在所述第一报文中添加第一抗丢包策略,得到第二报文,并基于所述转发路径向第二转发节点转发所述第二报文。
其中,所述第一抗丢包策略是所述第一转发节点根据所述第一报文的业务类型和所述转发路径在第一转发节点中的多个抗丢包策略中确定的,所述第一抗丢包策略用于指示所述第一转发节点与所述第二转发节点之间的分段链路在出现丢包时的抗丢包策略。由于第一转发节点所获取到的多个抗丢包策略中的每个抗丢包策略均与报文的转发路径以及业务类型具有对应关系。因此,基于第一报文的业务类型和转发路径,第一转发节点可以在多个抗丢包策略中确定第一报文唯一对应的抗丢包策略,即上述的第一抗丢包策略。
第一报文的业务类型可以是携带于第一报文的特定字段中,第一转发节点通过解析第一报文,可以确定第一报文的业务类型。例如,第一转发节点可以确定第一报文的业务类型为实时通信(Real Time Communication,RTC)业务、超文本传输协议(Hyper TextTransfer Protocol,HTTP)业务或文件同步(file sync)业务。
可选的,所述第一抗丢包策略可以是包括ARQ策略、FEC策略和多径重传策略中的一种或多种。第一转发节点在第一报文中添加第一抗丢包策略的过程中,可以是添加第一抗丢包策略对应的策略类型,以及第一抗丢包策略对应的策略参数。示例性地,在第一抗丢包策略为ARQ策略的情况下,第一抗丢包策略对应的策略参数可以包括自动重传次数;在第一抗丢包策略为FEC策略的情况下,第一抗丢包策略对应的策略参数可以包括编码方式、报文总数和源码报文总数;在第一抗丢包策略为多径重传策略的情况下,第一抗丢包策略对应的策略参数可以包括报文的重传路径。
可以理解的是,相比于转发节点不执行抗丢包策略而直接转发报文,转发路径上的转发节点执行抗丢包策略通常需要耗费额外的时间。对于某一些业务类型的业务流量,这部分业务流量的时延要求较高。例如,对于部分实时语音业务或实时视频业务,这部分业务的时延要求较高,一旦业务报文的传输时延达到一定的阈值,这部分业务报文则会遭到丢弃而无法使用。
为了保证转发节点在执行抗丢包策略的同时,并不会因为抗丢包策略的执行时间过长而影响报文的及时转发,本实施例中提出了一种执行抗丢包策略的时延门限值。当转发路径上的转发节点发现执行抗丢包策略的时长大于时延门限值时,则不再继续执行抗丢包策略,而是直接将报文转发至下一跳节点。
可选的,在转发第一报文之前,第一转发节点可以根据第一报文的业务类型确定第一报文的时延门限值,所述时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长。然后,所述第一转发节点在所述第一报文中添加所述第一抗丢包策略和所述时延门限值,得到所述第二报文。
由于不同类型的业务流量对时延的要求并不相同,因此第一转发节点可以根据第一报文的业务类型来确定第一报文对应的时延门限值。具体地,第一转发节点可以确定传输第一报文所允许的最大传输时延,以及基于转发路径转发第一报文时的实际传输时延,从而通过将所述最大传输时延与所述实际传输时延相减,得到第一报文对应的时延门限值。例如,假设第一报文所允许的最大传输时延为100ms,而在网络中传输第一报文的实际传输时延为50ms,则第一报文的时延门限值可以设置为40ms或50ms。
简单来说,转发路径中的转发节点在执行抗丢包策略之前,确定报文中的时延门限值;如果该转发节点执行抗丢包策略所需的时间大于报文中的时延门限值,则该转发节点不再执行抗丢包策略而直接转发报文;如果该转发节点执行抗丢包策略所需的时间小于或等于报文中的时延门限值,则该转发节点可以执行抗丢包策略。
步骤1004,所述第二转发节点执行所述第二报文中的第一抗丢包策略。
在第二转发节点接收到第一转发节点所发送的第二报文之后,第二转发节点解析第二报文,并且在出现丢包时执行第二报文中的第一抗丢包策略,以实现抗丢包控制。
例如,在第二报文中的第一抗丢包策略为ARQ策略时,第二转发节点可以根据第二报文中的第一抗丢包策略所指示的自动重传次数向第一转发节点发送自动重传请求,以指示第一转发节点重新发送丢失的报文。
又例如,在第二报文中的第一抗丢包策略为FEC策略时,第二转发节点可以根据第二报文中的第一抗丢包策略所指示的编码方式对接收到第二报文进行解码,并且恢复丢失的报文。
步骤1005,所述第二转发节点转发所述第二报文。
可选的,在第二转发节点为转发路径上的最后一个转发节点的情况下,第二转发节点可以不再在第二报文中添加抗丢包策略,而是直接将抗丢包策略转发至目的地址。
在第二转发节点不是转发路径上的最后一个转发节点的情况下,第二转发节点也需要在第二报文中添加抗丢包策略,以指示第二转发节点的下一跳转发节点执行相应的抗丢包策略。
与第一转发节点添加抗丢包策略的过程类似,所述第二转发节点可以获取多个抗丢包策略,所述多个抗丢包策略中的每个抗丢包策略与报文的转发路径以及业务类型具有对应关系。所述第二转发节点获取所述第二报文的转发路径。然后,所述第二转发节点在所述第二报文中添加第二抗丢包策略,得到第三报文,并基于所述转发路径向第三转发节点转发所述第三报文。
其中,所述第二抗丢包策略是所述第二转发节点根据所述第一报文的业务类型和所述转发路径在所述多个抗丢包策略中确定的,所述第二抗丢包策略用于指示所述第二转发节点与所述第三转发节点之间的分段链路在出现丢包时的抗丢包策略。
在本步骤中,第二转发节点获取多个抗丢包策略并且在多个抗丢包策略中确定报文中需添加的抗丢包策略的方式与上述第一转发节点获取抗丢包策略以及添加抗丢包策略的方式类似,具体可以参考上述的步骤1001-1003,在此不再赘述。
可选的,第二转发节点接收到的第二报文中还可以包括第一时延门限值,所述第一时延门限值用于指示允许转发路径中的转发节点执行抗丢包策略的时长。其中,第一时延门限值是第一转发节点根据报文的业务类型而添加在第二报文中。
在第二转发节点执行完第一报文中所指示的第一抗丢包策略之后,所述第二转发节点可以根据执行所述第一抗丢包策略的时长,更新所述第一报文中的第一时延门限值,并在第一报文中添加相应的抗丢包策略,从而得到第二报文。示例性地,假设第一报文中的第一时延门限值为50ms,第二转发节点执行第一抗丢包策略的时长为10ms,则第二转发节点可以将第一报文中的第一时延门限值更新为40ms。然后,所述第二转发节点再转发所述更新后的第一报文。
简单来说,第二转发节点在执行完第一抗丢包策略之后,第二转发节点相当于耗费了部分所允许的抗丢包策略执行时长,因此第二转发节点需要更新第一报文中的第一时延门限值,即将第一时延门限值减去第二转发节点执行第一抗丢包策略的时长。
在一个可能的实施例中,所述第二转发节点可以接收第四报文,所述第四报文包括第三抗丢包策略和第二时延门限值,所述第二时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长。所述第二转发节点执行所述第三抗丢包策略,并确定所述第二时延门限值与执行所述第三抗丢包策略时长之间的差值。然后,所述第二转发节点根据所述第二报文的业务类型和转发路径确定第四抗丢包策略,所述第四抗丢包策略用于指示所述第二转发节点与第四转发节点之间的分段链路在出现丢包时的抗丢包策略,所述第四转发节点为所述第二报文的转发路径中位于所述第二转发节点之后的转发节点,即第四转发节点为分段链路上的下游节点,第二转发节点为分段链路上的上游节点。基于所述第四抗丢包策略的执行时长大于所述差值,所述第二转发节点向第四转发节点转发更新后的第二报文,所述更新后的第二报文是基于所述第二报文得到的,且所述更新后的第二报文不包括抗丢包策略。
也就是说,在转发节点接收到包括抗丢包策略和时延门限值的报文之后,转发节点先执行报文中对应的抗丢包策略,并求取报文中的时延门限值与自身执行抗丢包策略的时长之间的差值。然后,该转发节点确定下一跳转发节点所需执行的抗丢包策略,并判断下一跳转发节点执行抗丢包策略的时长是否大于上述得到的时延门限差值。如果下一跳转发节点执行抗丢包策略所需的时长大于时延门限差值,转发节点则不再在报文中携带抗丢包策略,而是直接向下一个转发节点转发原始的报文。
通过时延门限值的设置,可以保证转发路径上的转发节点花费过长的时间来执行抗丢包策略,确保能够满足业务流量的时延要求。
以上介绍了转发节点在报文中添加抗丢包策略以使得下游的转发节点执行抗丢包策略的过程,为了便于理解,以下将详细介绍转发节点在报文中添加抗丢包策略的方式。
本实施例中,转发节点之间可以通过专有的Overlay协议实现对原始报文的增强控制,即OEP协议。具体地,转发节点可以采用在原始报文上封装OEP报文头。例如,上述的第一转发节点可以在第一报文中封装OEP报文头,该OEP报文头则可以包括第一抗丢包策略和时延门限值。
可以参阅图11,图11为本申请实施例提供的一种OEP报文头的格式示意图。如图11所示,OEP报文头中包括多个字段,分别为令牌(Token)、时延门限值(Time Threshold)和抗丢包策略参数(OEC-specified para)。以下将详细介绍OEP报文头中的各个字段。
Token:由于OEC策略可能会周期性地更新,因此本实施例中可以采用OEP报文中的“Toekn”字段记录当前使用OEC策略的版本号,避免冲突。
Time Threshold:具体地,用户可以预先在控制器中设置业务报文的端到端传输的OEC时延门限值,确保报文传输的及时性;时延门限值也可以是由控制器或转发节点根据业务流量的时延要求以及业务流量的实际传输时延确定的。该时延门限值则记录在“TimeThreshold”字段,转发路径上沿途的转发节点执行完抗丢包策略后,在报文的TimeThreshold字段中减去当前转发节点执行抗丢包策略的时长。如果报文到达某个转发节点时,Time Threshold中所指示的时长已经不足够的完成当前的抗丢包策略,则将报文直接发往承载网络转发,不再执行OEC策略,避免到达超时。
OEC-specified para:该字段是与当前分段链路使用的具体抗丢包策略的参数。例如,如ARQ策略中的报文序号、重传次数;FEC策略中的编解码方法、编码块容量、源码数、编码块序号、编码块内部索引等;多径重传策略中的重传路径等。
在转发节点采用FEC策略作为抗丢包策略的情况下,分段链路的首节点采用相应的编码方式对待传输的报文进行编码,并得到多个编码后的报文。其中,多个编码后的报文可以分为多个传输块,每个传输块包括特定数量的编码后的报文。例如,每个传输块中包括38个编码后的报文,该38个编码后的报文中包括36个源码报文和2个冗余报文。
示例性地,假设第一转发节点确定在第一转发节点和第二转发节点之间的分段链路采用FEC策略,第一转发节点则对待传输的报文进行编码,得到编码后的报文,并向第二转发节点发送编码后的报文。第二转发节点接收到编码后的报文之后,基于报文中所指示的FEC策略对报文进行解码,以恢复丢失的源码报文。
可以理解的是,对于一些FEC编解码方式,转发节点通常需要接收到整个传输块中足够数量的报文之后,才能够对传输块中的报文进行解码,以实现恢复丢失的报文。例如,在传输块中包括36个源码报文和2个冗余包的情况下,转发节点往往需要接收到36个同一个传输块中的报文,才能够对该传输块中的报文进行解码。
实际上,对于FEC策略下的编码方式,编码后得到的一个传输块中本身就包含了原始的源码报文,即一个传输块中的报文是由原始的源码报文和编码计算生成的冗余包所构成。在一些情况下,在报文的传输过程中可能并不会丢失报文,即转发节点实际上可能并不需要根据整个传输块中足够数量的报文来进行解码操作。因此,转发节点在等待接收到足够数量的报文之后再对传输块的报文进行解码,然后再向下一个转发节点发送解码的报文则会导致整个传输块的报文都停留在转发节点中,从而增加了数据的传输时延。
基于此,本实施例提出了一种同步转发和缓存报文的方式,以减少数据的传输时延。
示例性地,在第二转发节点接收第一转发节点所发送的报文的过程中,所述第二转发节点接收第三报文,所述第三报文为源码报文,所述源码报文为包括待传输数据的报文。若所述第三报文的抗丢包策略为FEC策略,所述第二转发节点转发所述第三报文,并在本地保存所述第三报文的副本,以用于恢复丢失的报文。
也就是说,对于作为源码报文的报文,第二转发节点在接收到该报文之后,在本地缓存该报文的同时向下一个转发节点发送该报文,以使得报文能够及时传输给下一个转发节点,避免在第二转发节点中停留。
类似地,在第二转发节点接收第一转发节点所发送的报文的过程中,所述第二转发节点接收第四报文,所述第四报文为修复报文,所述修复报文用于恢复丢失的源码报文。
若所述第二转发节点已获取到所述第四报文对应的传输块中所有的源码报文,则丢弃所述第四报文。即,在第二转发节点已经获取到传输块中所有的源码报文的情况下,第二转发节点不再需要基于第四报文在实现传输块中源码报文的恢复,因此可以丢弃第四报文。
若所述第二转发节点未获取到所述第四报文对应的传输块中所有的源码报文,且所述第二转发节点所获取到的属于所述传输块的报文报文的数量大于或等于第一阈值,则基于所述第四报文对所述传输块中的报文报文进行解码,以恢复所述传输块中所丢失的源码报文。也就是说,在第二转发节点没有接收到传输块中所有的源码报文的情况下,可以认为第二转发节点丢失了传输块中部分的源码报文,因此第二转发节点在接收到足够解码的报文时,则基于第四报文对传输块中的报文报文进行解码,以恢复所丢失的源码报文。
若所述第二转发节点未获取到所述第四报文对应的传输块中所有的源码报文,且所述第二转发节点所获取到的属于所述传输块的报文报文的数量小于第一阈值,则保存所述第四报文。也就是说,在第二转发节点没有接收到传输块中所有的源码报文的情况下,可以认为第二转发节点后续可能需要对源码报文进行修复,因此第二转发节点在没接收到足够解码的报文时,则保存第四报文,以便于后续能够基于第四报文对传输块中的报文报文进行解码,以恢复所丢失的源码报文。
为了便于理解,以下将结合附图详细介绍本实施例所提出的同步转发和缓存报文的方式。
可以参阅图12,图12为本申请实施例提供的一种同步转发和缓存报文的流程示意图。
如图12所示流程,转发节点收到报文后,首先解析OEP报文头的FEC报文类型字段,识别当前报文是源码报文还是修复报文。
如果当前报文为源码报文,采取两步处理:1,按照源码报文所在的传输块和传输块内的偏移序号,将源码报文存储在缓存模块中对应的缓存位置上,用于以后对整体传输块的解码;2,剥离源码报文的OEP报文头,并将对剥离OEP报文头的报文执行转发(例如添加新的OEP报文头,再执行转发;或者直接将剥离OEP报文头的报文转发至目的地址),无需等待整体传输块都解码后再转发。即,不耽误已经正确接收到的报文的正常转发。
如果当前报文为修复报文,转发节点首先判断该修改包所在传输块内的源码报文是否已经全部接收。如果源码报文均已接收,则无需再继续解码,直接丢弃修复报文;否则,把修复报文存储在缓存模块中对应的缓存位置上。直至接收到足够可解码数量的报文后,对传输块内的报文执行解码,恢复丢失的源码报文,并向上游节点回复ACK报文,以表示成功修复源码报文。
以上介绍了转发节点在转发报文的过程中执行相应的抗丢包策略的过程。值得注意的是,除了转发报文以及执行相应的抗丢包策略之外,第一转发节点和第二转发节点还需要测量自身与其他相邻的转发节点之间的分段链路的实时网络质量,并将测量到的实时网络质量上传至控制器,以便于控制器基于分段链路的实时质量确定各个分段链路对应的抗丢包策略。
以第一转发节点为例,所述第一转发节点测量所述第一转发节点与其他转发节点之间的分段链路的网络质量,得到一个或多个分段链路的网络质量参数;所述第一转发节点向控制器发送所述一个或多个分段链路的网络质量参数。所述一个或多个分段链路的网络质量参数包括时延、丢包率、带宽容量和抖动中的一种或多种。
为了便于理解,以下将从控制器和转发节点协同的角度,结合具体例子详细介绍本实施例所提供的丢包管理方法。
可以参阅图13,图13为本申请实施例提供的一种丢包管理方法1300的流程示意图。如图13所示,该丢包管理方法1300包括以下的步骤1-步骤6。
步骤1,控制器获取业务的转发路径和业务的网络质量需求。
具体地,控制器可以通过北向接口或控制台接收用户输入的预设参数,包括各类业务类型定义、QoS需求和OEC时延门限值等参数。其中,业务类型定义可以通过五元组信息或可变长掩码中的若干组合方式来定义。QoS需求则可以包括预期的端到端时延、丢包率、抖动中的一个或多个参数。此外,控制器还可以获取各种业务流量的转发路径。
步骤2,控制器周期性地接收转发节点所上传的分段链路的网络质量参数。
其中,分段链路的网络质量参数例如可以包括时延、丢包率、带宽容量和抖动。
步骤3,控制器根据网络质量需求和网络质量参数,确定每个分段链路的抗丢包策略。
具体地,控制器可以根据具体的业务在承载网络(如RTN)的端到端转发路径(以RTN为例,一条E2E路由包括源PoP点、目的PoP点、途径各PoP点)、该业务的QoS需求、时延门限值、转发路径上各分段链路的网络质量参数等信息,计算业务报文在转发路径的各个分段链路上采用的具体抗丢包策略。
具体来说,控制器为全部预设业务类型在全部端到端转发路径上按照上述方法计算转发路径上每个分段链路的抗丢包策略,形成业务OEC策略表。
步骤4,控制器向各个转发节点下发抗丢包策略和策略匹配规则。
其中,由于抗丢包策略与转发路径以及业务类型具有对应关系,因此控制器向各个转发节点发送相关的抗丢包策略的同时,还向转发节点下发对应的策略匹配规则,以使得转发节点能够根据报文的转发路径和业务类型确定对应的抗丢包策略。这样一来,转发节点可以根据控制器所下发的抗丢包策略和策略匹配规则,在本地形成一个业务策略表,该业务策略表包括策略匹配规则和对应的抗丢包策略。
步骤5,分段链路的首节点在报文中添加抗丢包策略。
分段链路的首节点从承载网(如RTN)收到原始报文后,可以根据报文的业务类型和转发路径匹配本地的业务OEC策略表,得到该报文在下一跳分段链路对应的抗丢包策略和参数。并且,首节点将相关的抗丢包策略参数写入报文的OEP协议头部,然后把报文发到分段链路的尾节点。
步骤6,分段链路的尾节点执行抗丢包策略。
报文到达分段链路的尾节点后,分段链路的尾节点从报文的OEP头部中解析出相应的抗丢包策略和参数,并执行抗丢包策略中的反馈动作。例如,当报文使用ARQ策略时,分段链路的尾节点需要构建对应的ACK报文反馈给发送端OEC节点;当报文使用FEC策略时,分段链路的尾节点需要按OEP头部中携带的FEC相关参数创建解码缓存矩阵,待收够可解码的报文后,进行解码操作。
示例性地,可以参阅图14,图14为本申请实施例提供的一种报文转发的流程示意图。
如图14所示,转发节点A、转发节点B、转发节点C为部署了OEC模块的转发节点。图14中还描述了转发节点A的本地OEC策略和参数表,以及报文在分段链路中OEP报文头的参数。
其中,本地OEC策略表中指示了在转发路径为<S1,R1>时,不同业务类型对应的抗丢包策略。具体地,对于RTC业务,其抗丢包策略为FEC策略,且FEC策略的参数为RS编码,每个传输块内的总包数N=38个,源码报文数K=36个,需要Ack确认。对于HTTP业务,其抗丢包策略为多径重传策略,且重传路径为转发节点A与转发节点F之间的链路。对于file sync业务,其抗丢包策略为ARQ策略,且自动重传次数为1。
报文从发送端发送到转发节点A时,转发节点A确定该报文的转发路径为<S1,R1>且业务类型为RTC业务,并通过匹配OEC策略表确定其在转发路径下一跳分段链路采用的抗丢包策略为:FEC策略;且FEC策略的参数为RS编码,每个传输块内的总包数N=38个,源码报文数K=36个,需要Ack确认。转发节点A按上述的FEC策略参数对报文进行RS编码,把编码信息写入OEP报文头的字段,发往转发节点B。
转发节点B收到报文后,解析OEP报文头,得知转发节点A在当前分段链路上采用的OEC策略为RS编码且需要Ack。转发节点B按照OEP报文头记录的RS参数对报文进行解码,恢复原始报文。随后,转发节点B向上游的转发节点A反馈解码成功的ACK信息。
最终,在OEC分段增强技术的支撑下,原始报文到达承载网络(如RTN)的目的点,后续由承载网络继续发往最终目的端接收者(客户端/服务器)。
此外,转发节点在执行报文所指示的抗丢包策略之前,需要先检查当前报文中的时延门限值是否满足执行本地策略。即当前OEP报文头中的Time Threshold值是否大于待执行策略的预期时间。如果当前报文中的时延门限值不足,为确保报文转发的及时性,避免因OEC控制本身的时延导致报文无法按时送达,转发节点放弃执行预期策略,剥离OEP报文头,还原原始报文,送交给原始承载网络(如RTN)转发。
可以参阅图15,图15为本申请实施例提供的一种报文转发的示意图。如图15所示,转发节点A收到3个报文后,发现报文2的Time Threshold不足,则通过普通承载网络RTN转发,不再执行抗丢包策略,保证报文的转发实时性。
可以参阅图16,图16为本申请实施例提供的丢包管理方法对客户端基于TCP业务的吞吐的提升示意图。如图16所示,在实验中,客户端TCP协议栈使用Cubic传输控制协议,端到端经过3个分段链路,对比普通传输方法与本申请实施例提供的丢包管理方法在不同的分段链路丢包率下对客户端TCP吞吐的影响。可以看出,在网络丢包率较小的时候,本申请实施例提供的丢包管理方法可以提升端侧TCP吞吐数十倍,即使在网络丢包率劣化到5%时,本申请实施例提供的丢包管理方法也可以将端侧吞吐提升3倍以上。
可以参阅图17,图17为本申请实施例提供的丢包管理方法对跨国链路传输丢包率的优化效果示意图。如图17所示,在“广州-北京-印度-广州”的RTN路径上连续采集12个小时的丢包率数据。可以看出,在晚间业务高峰时间段,普通RTN传输的跨国传输丢包率明显上升,而采用本申请实施例提供的丢包管理方法后,丢包率可优化10%左右,实现端到端丢包率低于5%。
为了实现上述实施例,本申请还提供了一种网络设备。可以参阅图18,图18为本申请实施例提供的一种网络设备1800的结构示意图。
如图18所示,该网络设备1800,包括:获取单元1801、处理单元1802和发送单元1803;获取单元1801,用于获取多个抗丢包策略,所述多个抗丢包策略中的每个抗丢包策略与报文的转发路径以及所述报文对应的业务类型具有对应关系;所述获取单元1801,还用于获取报文以及所述报文的转发路径;处理单元1802,用于在所述报文中添加第一抗丢包策略,得到更新后的报文;发送单元1803,用于基于所述转发路径向第二转发节点转发所述更新后的报文;其中,所述第一抗丢包策略是所述第一转发节点根据所述报文的业务类型和所述转发路径在所述多个抗丢包策略中确定的,所述第一抗丢包策略用于指示所述第一转发节点与所述第二转发节点之间的分段链路在出现丢包时的抗丢包策略。
在一种可能的实现方式中,所述处理单元1802,还用于:根据所述业务类型确定所述报文的时延门限值,所述时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;所述第一转发节点在所述报文中添加所述第一抗丢包策略和所述时延门限值,得到所述更新后的报文。
在一种可能的实现方式中,所述处理单元1802,还用于测量所述第一转发节点与其他转发节点之间的分段链路的网络质量,得到一个或多个分段链路的网络质量参数;
所述发送单元1803,还用于向控制器发送所述一个或多个分段链路的网络质量参数。
在一种可能的实现方式中,所述一个或多个分段链路的网络质量参数包括时延、丢包率、带宽容量和抖动中的一种或多种。
在一种可能的实现方式中,所述发送单元,用于在所述报文中封装第一报文头部,所述第一报文头部中携带所述第一抗丢包策略。
在一种可能的实现方式中,所述第一报文头部还包括所述第一抗丢包策略的执行参数;若所述第一抗丢包策略为自动重传请求ARQ策略,则所述执行参数包括自动重传次数;或,若所述第一抗丢包策略为前向纠错编码FEC策略,则所述执行参数包括编码方式、报文总数和源码报文总数;或,若所述第一抗丢包策略为多径重传策略,则所述执行参数包括报文的重传路径。
在另一个可能的实施例中,获取单元1801,用于接收第一转发节点发送的第一报文,所述第一报文中包括第一抗丢包策略;处理单元1802,用于执行所述第一报文中的第一抗丢包策略,所述第一抗丢包策略是所述第一转发节点根据所述第一报文的业务类型和所述第一报文的转发路径确定的;发送单元1803,用于转发所述第一报文。
在一种可能的实现方式中,所述获取单元1801,还用于获取多个抗丢包策略,所述多个抗丢包策略中的每个抗丢包策略与报文的转发路径以及业务类型具有对应关系;所述获取单元1801,还用于所述第二转发节点获取所述第一报文的转发路径;所述处理单元1802,还用于在所述第一报文中添加第二抗丢包策略,得到更新后的第一报文;所述发送单元1803,还用于基于所述转发路径向第三转发节点转发所述更新后的第一报文;其中,所述第二抗丢包策略是所述第二转发节点根据所述第一报文的业务类型和所述转发路径在所述多个抗丢包策略中确定的,所述第二抗丢包策略用于指示所述第二转发节点与所述第三转发节点之间的分段链路在出现丢包时的抗丢包策略。
在一种可能的实现方式中,所述第一报文中还包括第一时延门限值,所述第一时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;
所述处理单元1802,还用于根据执行所述第一抗丢包策略的时长,更新所述第一报文中的第一时延门限值,得到更新后的第一报文;所述发送单元1803,具体用于转发所述更新后的第一报文。
在一种可能的实现方式中,所述获取单元1801,还用于接收第二报文,所述第二报文包括第三抗丢包策略和第二时延门限值,所述第二时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;所述处理单元1802,还用于执行所述第三抗丢包策略,并确定所述第二时延门限值与执行所述第三抗丢包策略时长之间的差值;所述处理单元1802,还用于根据所述第二报文的业务类型和转发路径确定第四抗丢包策略,所述第四抗丢包策略用于指示所述第二转发节点与第四转发节点之间的分段链路在出现丢包时的抗丢包策略,所述第四转发节点为所述第二报文的转发路径中位于所述第二转发节点之后的转发节点;所述发送单元1803,还用于基于所述第四抗丢包策略的执行时长大于所述差值,所述第二转发节点向第四转发节点转发更新后的第二报文,所述更新后的第二报文是基于所述第二报文得到的,且所述更新后的第二报文不包括抗丢包策略。
在一种可能的实现方式中,所述获取单元1801,还用于接收第三报文,所述第三报文为源码报文,所述源码报文为包括待传输数据的报文;所述处理单元1802,还用于若所述第三报文的抗丢包策略为FEC策略,所述第二转发节点转发所述第三报文,并在本地保存所述第三报文的副本,以用于恢复丢失的报文。
在一种可能的实现方式中,所述获取单元1801,还用于接收第四报文,所述第四报文为修复报文,所述修复报文用于恢复丢失的源码报文;所述处理单元1802,还用于若所述第二转发节点已获取到所述第四报文对应的传输块中所有的源码报文,则丢弃所述第四报文;所述处理单元1802,还用于:若未获取到所述第四报文对应的传输块中所有的源码报文,且所获取到的属于所述传输块的报文的数量大于或等于第一阈值,则基于所述第四报文对所述传输块中的报文进行解码,以恢复所述传输块中所丢失的源码报文;若未获取到所述第四报文对应的传输块中所有的源码报文,且所获取到的属于所述传输块的报文的数量小于第一阈值,则保存所述第四报文。
可以参阅图19,图19为本申请实施例提供的一种控制器1900的结构示意图。
如图19所示,该控制器1900具体也可以为一个网络设备,该控制器1900包括:获取单元1901,用于获取业务流量的转发路径以及所述业务流量的网络质量需求;所述获取单元1901,还用于获取所述转发路径上多个分段链路的网络质量参数,其中,所述多个分段链路中的每个分段链路均为所述转发路径上相邻的两个转发节点之间的链路;处理单元1902,用于根据所述网络质量需求和所述网络质量参数,确定所述多个分段链路上每个分段链路在出现丢包时的抗丢包策略;发送单元1903,用于向所述多个分段链路上的转发节点发送所述抗丢包策略。
在一种可能的实现方式中,所述抗丢包策略包括自动重传请求ARQ策略、前向纠错编码FEC策略和多径重传策略中的一种或多种。
在一种可能的实现方式中,所述ARQ策略包括自动重传次数;所述FEC策略包括编码方式、报文总数和源码报文总数;所述多径重传策略包括报文的重传路径。
在一种可能的实现方式中,所述获取单元1901,还用于获取网络质量参数集合,所述网络质量参数集合包括由多个转发节点所上传的分段链路的网络质量参数;所述处理单元1902,还用于在所述网络质量参数集合中确定所述转发路径上多个分段链路的网络质量参数。
在一种可能的实现方式中,所述网络质量需求包括丢包率;所述处理单元1902,还用于:根据所述网络质量需求中的丢包率,确定所述多个分段链路上每个分段链路所允许的最大丢包率;根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路的抗丢包策略。
在一种可能的实现方式中,所述处理单元1902,还用于:根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路对应的抗丢包策略集合,所述抗丢包策略集合包括一个或多个满足最大丢包率要求的抗丢包策略;根据所述网络质量参数所指示的每个分段链路的实际时延,分别从所述每个分段链路对应的抗丢包策略集合中确定时延最低的抗丢包策略。
在一种可能的实现方式中,所述多个分段链路的网络质量参数包括时延、丢包率、带宽容量和抖动中的一种或多种。
可以参阅图20,图20为本申请实施例提供的一种网络设备2000的结构示意图。图20所示的网络设备2000尽管示出了某些特定特征,但是本领域的技术人员将从本申请实施例中意识到,为了简洁起见,图20未示出各种其他特征,以免混淆本申请实施例所公开的实施方式的更多相关方面。为此,作为示例,在一些实现方式中,网络设备2000包括一个或多个处理单元(如,CPU)2001、网络接口2002、编程接口2003、存储器2004和一个或多个通信总线2005,用于将各种组件互连。在另一些实现方式中,网络设备2000也可以在上述示例基础上省略或增加部分功能部件或单元。
在一些实现方式中,网络接口2002用于在网络系统中和一个或多个其他的网络设备/服务器连接。在一些实现方式中,通信总线2005包括互连和控制系统组件之间的通信的电路。存储器2004可以包括非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器2004也可以包括易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。
在一些实现中,存储器2004或存储器2004的非暂时性计算机可读存储介质存储以下程序、模块和数据结构,或其子集,例如包括获取单元(图中未示出)、发送单元(图中未示出)和处理单元20041。
在一个可能的实施例中,该网络设备2000可以具有上述图6对应的方法实施例中的第一网络设备中的任意功能。
应理解,网络设备2000对应于上述方法实施例中的第一网络设备,网络设备2000中的各模块和上述其他操作和/或功能分别为了实现上述方法实施例中的第一网络设备所实施的各种步骤和方法,具体细节可参见上述图6对应的方法实施例,为了简洁,在此不再赘述。
应理解,本申请可以是由网络设备2000上的网络接口2002来完成数据的收发操作,也可以是由处理器调用存储器中的程序代码,并在需要时配合网络接口2002来实现收发单元的功能。
在各种实现中,网络设备2000用于执行本申请实施例提供的报文传输方法,例如是执行上述图6所示的实施例所对应的丢包传输方法。
本申请图20所述的网络设备具体结构可以为图21所示。
图21为本申请实施例提供的一种网络设备2100的结构示意图,网络设备2100包括:主控板2121和接口板2130。
主控板2121也称为主处理单元(main processing unit,MPU)或路由处理器(route processor),主控板2121用于对网络设备2100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板2121包括:中央处理器2111和存储器2112。
接口板2130也称为线路处理单元(line processing unit,LPU)、线卡(linecard)或业务板。接口板2130用于提供各种业务接口并实现数据包的转发。业务接口包括但不限于以太网接口、POS(Packet over SONET/SDH)接口等。接口板2130包括:中央处理器2131、网络处理器2132、转发表项存储器2134和物理接口卡(physical interface card,PIC)2133。
接口板2130上的中央处理器2131用于对接口板2130进行控制管理并与主控板2121上的中央处理器2111通信。
网络处理器2132用于实现报文的转发处理。网络处理器2132的形态可以是转发芯片。
物理接口卡2133用于实现物理层的对接功能,原始的流量由此进入接口板2130,以及处理后的报文从该物理接口卡2133发出。物理接口卡2133包括至少一个物理接口,物理接口也称物理口,物理接口可以为灵活以太(Flexible Ethernet,FlexE)物理接口。物理接口卡2133也称为子卡,可安装在接口板2130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器2132处理。在一些实施例中,接口板2130的中央处理器2131也可执行网络处理器2132的功能,比如基于通用CPU实现软件转发,从而接口板2130中不需要网络处理器2132。
可选的,网络设备2100包括多个接口板,例如网络设备2100还包括接口板2140,接口板2140包括:中央处理器2141、网络处理器2142、转发表项存储器2144和物理接口卡2143。
可选的,网络设备2100还包括交换网板2120。交换网板2120也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板2130的情况下,交换网板2120用于完成各接口板之间的数据交换。例如,接口板2130和接口板2140之间可以通过交换网板2120通信。
主控板2121和接口板耦合。例如,主控板2121、接口板2130和接口板2140,以及交换网板2120之间通过系统总线和/或系统背板相连实现互通。在一种可能的实现方式中,主控板2121和接口板2130之间建立进程间通信协议(inter-process communication,IPC)通道,主控板2121和接口板2130之间通过IPC通道进行通信。
在逻辑上,网络设备2100包括控制面和转发面,控制面包括主控板2121和中央处理器2131,转发面包括执行转发的各个组件,比如转发表项存储器2134、物理接口卡2133和网络处理器2132。控制面执行发布路由、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器2132基于控制面下发的转发表对物理接口卡2133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器2134中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
应理解,网络设备1800中的获取单元1801和发送单元1803可以相当于网络设备2100中的物理接口卡2133或物理接口卡2143;网络设备1800中的处理单元1802可以相当于网络设备2100中的中央处理器2111或中央处理器2131,也可以相当于存储器2112中存储的程序代码或指令。
应理解,本申请实施例中接口板2140上的操作与接口板2130的操作一致,为了简洁,不再赘述。应理解,本实施例的网络设备2100可对应于上述各个方法实施例中的第一网络设备,该网络设备2100中的主控板2121、接口板2130和/或接口板2140可以实现上述各个方法实施例中的第一网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。可选的,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能。具体采用哪种架构,取决于具体的组网部署场景,此处不做唯一限定。
在一些可能的实施例中,上述的网络设备可以实现为虚拟化设备。虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(virtual machine,VM),虚拟路由器或虚拟交换机。虚拟化设备部署在硬件设备上(例如,物理服务器)。例如,可以基于通用的物理服务器结合网络功能虚拟化(network functions virtualization,NFV)技术来实现第一网络设备。
应理解,上述各种产品形态的网络设备,分别具有上述方法实施例中第一网络设备的任意功能,此处不再赘述。
进一步地,本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行上述图6对应的方法实施例中执行的方法。
本申请实施例还提供了一种芯片系统,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器。其中,所述处理器用于实现上述任一方法实施例中的方法。
可选的,该芯片系统还包括存储器,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现上述任一方法实施例中的方法。
可选的,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
以上对本申请实施例进行了详细介绍,本申请实施例方法中的步骤可以根据实际需要进行顺序调度、合并或删减;本申请实施例装置中的模块可以根据实际需要进行划分、合并或删减。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
Claims (36)
1.一种丢包管理方法,其特征在于,包括:
第一转发节点获取多个抗丢包策略,所述多个抗丢包策略中的每个抗丢包策略与报文的转发路径以及所述报文对应的业务类型具有对应关系;
所述第一转发节点获取报文以及所述报文的转发路径;
所述第一转发节点在所述报文中添加第一抗丢包策略,得到更新后的报文,并基于所述转发路径向第二转发节点转发所述更新后的报文;
其中,所述第一抗丢包策略是所述第一转发节点根据所述业务类型和所述转发路径,在所述多个抗丢包策略中确定的,所述第一抗丢包策略用于指示所述第一转发节点与所述第二转发节点之间的分段链路在出现丢包时的抗丢包策略。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一转发节点根据所述业务类型确定所述报文对应的时延门限值,所述时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;
所述第一转发节点在所述报文中添加所述第一抗丢包策略,得到更新后的报文,包括:
所述第一转发节点在所述报文中添加所述第一抗丢包策略和所述时延门限值,得到所述更新后的报文。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一转发节点测量所述第一转发节点与其他转发节点之间的分段链路的网络质量,得到一个或多个分段链路的网络质量参数;
所述第一转发节点向控制器发送所述一个或多个分段链路的网络质量参数。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述第一转发节点在所述报文中添加第一抗丢包策略,包括:
所述第一转发节点在所述报文中封装第一报文头部,所述第一报文头部中携带所述第一抗丢包策略。
5.根据权利要求4所述的方法,其特征在于,所述第一报文头部还包括所述第一抗丢包策略的执行参数;
若所述第一抗丢包策略为自动重传请求ARQ策略,则所述执行参数包括自动重传次数;
或,若所述第一抗丢包策略为前向纠错编码FEC策略,则所述执行参数包括编码方式、报文总数和源码报文总数;
或,若所述第一抗丢包策略为多径重传策略,则所述执行参数包括报文的重传路径。
6.一种丢包管理方法,其特征在于,包括:
第二转发节点接收第一转发节点发送的第一报文,所述第一报文中包括第一抗丢包策略;
所述第二转发节点执行所述第一报文中的第一抗丢包策略,所述第一抗丢包策略是所述第一转发节点根据所述第一报文的业务类型和所述第一报文的转发路径确定的;
所述第二转发节点转发所述第一报文。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述第二转发节点获取多个抗丢包策略,所述多个抗丢包策略中的每个抗丢包策略与报文的转发路径以及业务类型具有对应关系;
所述第二转发节点转发所述第一报文,包括:
所述第二转发节点获取所述第一报文的转发路径;
所述第二转发节点在所述第一报文中添加第二抗丢包策略,得到更新后的第一报文,并基于所述转发路径向第三转发节点转发所述更新后的第一报文;
其中,所述第二抗丢包策略是所述第二转发节点根据所述第一报文的业务类型和所述转发路径在所述多个抗丢包策略中确定的,所述第二抗丢包策略用于指示所述第二转发节点与所述第三转发节点之间的分段链路在出现丢包时的抗丢包策略。
8.根据权利要求6或7所述的方法,其特征在于,所述第一报文中还包括第一时延门限值,所述第一时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;
所述第二转发节点转发所述第一报文,包括:
所述第二转发节点根据执行所述第一抗丢包策略的时长,更新所述第一报文中的第一时延门限值,得到更新后的第一报文;
所述第二转发节点转发所述更新后的第一报文。
9.根据权利要求6-8任意一项所述的方法,其特征在于,所述方法还包括:
所述第二转发节点接收第二报文,所述第二报文包括第三抗丢包策略和第二时延门限值,所述第二时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;
所述第二转发节点执行所述第三抗丢包策略,并确定所述第二时延门限值与执行所述第三抗丢包策略时长之间的差值;
所述第二转发节点根据所述第二报文的业务类型和转发路径确定第四抗丢包策略,所述第四抗丢包策略用于指示所述第二转发节点与第四转发节点之间的分段链路在出现丢包时的抗丢包策略,所述第四转发节点为所述第二报文的转发路径中位于所述第二转发节点之后的转发节点;
基于所述第四抗丢包策略的执行时长大于所述差值,所述第二转发节点向第四转发节点转发更新后的第二报文,所述更新后的第二报文是基于所述第二报文得到的,且所述更新后的第二报文不包括抗丢包策略。
10.根据权利要求6-9任意一项所述的方法,其特征在于,所述方法还包括:
所述第二转发节点接收第三报文,所述第三报文为源码报文,所述源码报文为包括待传输数据的报文;
若所述第三报文的抗丢包策略为FEC策略,所述第二转发节点转发所述第三报文,并在本地保存所述第三报文的副本,以用于恢复丢失的报文。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述第二转发节点接收第四报文,所述第四报文为修复报文,所述修复报文用于恢复丢失的源码报文;
若所述第二转发节点已获取到所述第四报文对应的传输块中所有的源码报文,则丢弃所述第四报文,所述传输块包括多个报文;
若所述第二转发节点未获取到所述第四报文对应的传输块中所有的源码报文,且所述第二转发节点所获取到的属于所述传输块的报文的数量大于或等于第一阈值,则基于所述第四报文对所述传输块中的报文进行解码,以恢复所述传输块中所丢失的源码报文;
若所述第二转发节点未获取到所述第四报文对应的传输块中所有的源码报文,且所述第二转发节点所获取到的属于所述传输块的报文的数量小于第一阈值,则保存所述第四报文。
12.一种丢包管理方法,其特征在于,包括:
控制器获取业务流量的转发路径以及所述业务流量的网络质量需求;
所述控制器获取所述转发路径上多个分段链路的网络质量参数,其中,所述多个分段链路中的每个分段链路均为所述转发路径上相邻的两个转发节点之间的链路;
所述控制器根据所述网络质量需求和所述网络质量参数,确定所述多个分段链路上每个分段链路在出现丢包时的抗丢包策略;
所述控制器向所述多个分段链路上的转发节点发送所述抗丢包策略。
13.根据权利要求12所述的方法,其特征在于,所述获取所述转发路径上多个分段链路的网络质量参数,包括:
获取网络质量参数集合,所述网络质量参数集合包括由多个转发节点所上传的分段链路的网络质量参数;
在所述网络质量参数集合中确定所述转发路径上多个分段链路的网络质量参数。
14.根据权利要求12或13所述的方法,其特征在于,所述网络质量需求包括丢包率;
所述根据所述网络质量需求和所述网络质量参数,确定所述多个分段链路上每个分段链路的抗丢包策略,包括:
根据所述网络质量需求中的丢包率,确定所述多个分段链路上每个分段链路所允许的最大丢包率;
根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路的抗丢包策略。
15.根据权利要求14所述的方法,其特征在于,所述根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路的抗丢包策略,包括:
根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路对应的抗丢包策略集合,所述抗丢包策略集合包括一个或多个满足最大丢包率要求的抗丢包策略;
根据所述网络质量参数所指示的每个分段链路的实际时延,分别从所述每个分段链路对应的抗丢包策略集合中确定时延最低的抗丢包策略。
16.根据权利要求12-15任意一项所述的方法,其特征在于,所述抗丢包策略包括自动重传请求ARQ策略、前向纠错编码FEC策略和多径重传策略中的一种或多种。
17.根据权利要求16所述的方法,其特征在于,所述ARQ策略包括自动重传次数;
所述FEC策略包括编码方式、报文总数和源码报文总数;
所述多径重传策略包括报文的重传路径。
18.一种丢包管理方法,其特征在于,所述方法应用于包括控制器和多个转发节点的系统,所述方法包括:
所述控制器获取业务流量的转发路径以及所述业务流量的网络质量需求;
所述控制器确定所述转发路径上多个分段链路的网络质量参数,其中,所述多个分段链路中的每个分段链路均为所述转发路径上相邻的两个转发节点之间的链路;
所述控制器根据所述网络质量需求和所述网络质量参数,确定所述多个分段链路上每个分段链路在出现丢包时的抗丢包策略,所述抗丢包策略与业务流量的转发路径和所述业务流量对应的业务类型具有对应关系;
所述控制器向所述多个分段链路上的转发节点发送所述抗丢包策略;
所述多个分段链路上的转发节点在报文转发过程中,执行与报文的转发路径以及所述报文对应的业务类型所对应的抗丢包策略,所述报文属于所述业务流量。
19.根据权利要求18所述的方法,其特征在于,所述获取所述转发路径上多个分段链路的网络质量参数,包括:
获取网络质量参数集合,所述网络质量参数集合包括由多个转发节点所上传的分段链路的网络质量参数;
在所述网络质量参数集合中确定所述转发路径上多个分段链路的网络质量参数。
20.根据权利要求18或19所述的方法,其特征在于,所述网络质量需求包括丢包率;所述根据所述网络质量需求和所述网络质量参数,确定所述多个分段链路上每个分段链路的抗丢包策略,包括:
根据所述网络质量需求中的丢包率,确定所述多个分段链路上每个分段链路所允许的最大丢包率;
根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路的抗丢包策略。
21.根据权利要求20所述的方法,其特征在于,所述根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路的抗丢包策略,包括:
根据所述每个分段链路所允许的最大丢包率和所述网络质量参数所指示的每个分段链路的实际丢包率,确定所述多个分段链路上每个分段链路对应的抗丢包策略集合,所述抗丢包策略集合包括一个或多个满足最大丢包率要求的抗丢包策略;
根据所述网络质量参数所指示的每个分段链路的实际时延,分别从所述每个分段链路对应的抗丢包策略集合中确定时延最低的抗丢包策略。
22.根据权利要求18-21任意一项所述的方法,其特征在于,所述多个分段链路上的转发节点在报文转发过程中,执行与报文的转发路径和业务类型所对应的抗丢包策略,包括:
第一转发节点获取报文以及所述报文的转发路径,所述第一转发节点为所述多个分段链路上的首个转发节点;
所述第一转发节点在所述报文中添加第一抗丢包策略,得到更新后的报文,并基于所述转发路径转发所述更新后的报文;
其中,所述第一抗丢包策略是所述第一转发节点根据所述报文对应的业务类型和所述转发路径在多个抗丢包策略中确定的,所述第一抗丢包策略用于指示所述第一转发节点与所述第一转发节点的下一个转发节点之间的分段链路在出现丢包时的抗丢包策略,所述多个抗丢包策略来自于所述控制器。
23.根据权利要求22所述的方法,其特征在于,所述方法还包括:
所述第一转发节点根据所述报文的业务类型确定所述报文对应的时延门限值,所述时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;
所述第一转发节点在所述报文中添加所述第一抗丢包策略,得到更新后的报文,包括:
所述第一转发节点在所述报文中添加所述第一抗丢包策略和所述时延门限值,得到所述更新后的报文。
24.根据权利要求22或23所述的方法,其特征在于,所述方法还包括:
所述第一转发节点测量所述第一转发节点与其他转发节点之间的分段链路的网络质量,得到一个或多个分段链路的网络质量参数;
所述第一转发节点向控制器发送所述一个或多个分段链路的网络质量参数。
25.根据权利要求22-24任意一项所述的方法,其特征在于,所述第一转发节点在所述报文中添加第一抗丢包策略,包括:
所述第一转发节点在所述报文中封装第一报文头部,所述第一报文头部中携带所述第一抗丢包策略。
26.根据权利要求25所述的方法,其特征在于,所述第一报文头部还包括所述第一抗丢包策略的执行参数;
若所述第一抗丢包策略为自动重传请求ARQ策略,则所述执行参数包括自动重传次数;
或,若所述第一抗丢包策略为前向纠错编码FEC策略,则所述执行参数包括编码方式、报文总数和源码报文总数;
或,若所述第一抗丢包策略为多径重传策略,则所述执行参数包括报文的重传路径。
27.根据权利要求18-26任意一项所述的方法,其特征在于,所述多个分段链路上的转发节点在报文转发过程中,执行与报文的转发路径和业务类型所对应的抗丢包策略,包括:
第二转发节点接收第一报文,所述第一报文中包括第二抗丢包策略,所述第二转发节点为所述多个分段链路上除了首个转发节点以外的任意一个节点;
所述第二转发节点执行所述第一报文中的第二抗丢包策略,所述第二抗丢包策略是所述第二转发节点的前一个转发节点根据所述第一报文的业务类型和所述第一报文的转发路径确定的;
所述第二转发节点转发所述第一报文。
28.根据权利要求27所述的方法,其特征在于,所述第二转发节点转发所述第一报文,包括:
所述第二转发节点获取所述第一报文的转发路径;
所述第二转发节点在所述第一报文中添加第三抗丢包策略,得到更新后的第一报文,并基于所述转发路径向第三转发节点转发所述更新后的第一报文;
其中,所述第三抗丢包策略是所述第二转发节点根据所述第一报文的业务类型和所述转发路径在所述多个抗丢包策略中确定的,所述第三抗丢包策略用于指示所述第二转发节点与所述第三转发节点之间的分段链路在出现丢包时的抗丢包策略。
29.根据权利要求27或28所述的方法,其特征在于,所述第一报文中还包括第一时延门限值,所述第一时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;
所述第二转发节点转发所述第一报文,包括:
所述第二转发节点根据执行所述第二抗丢包策略的时长,更新所述第一报文中的第一时延门限值,得到更新后的第一报文;
所述第二转发节点转发所述更新后的第一报文。
30.根据权利要求27-29任意一项所述的方法,其特征在于,所述方法还包括:
所述第二转发节点接收第二报文,所述第二报文包括第四抗丢包策略和第二时延门限值,所述第二时延门限值用于指示允许所述转发路径中的转发节点执行抗丢包策略的时长;
所述第二转发节点执行所述第三抗丢包策略,并确定所述第二时延门限值与执行所述第三抗丢包策略时长之间的差值;
所述第二转发节点根据所述第二报文的业务类型和转发路径确定第四抗丢包策略,所述第四抗丢包策略用于指示所述第二转发节点与第四转发节点之间的分段链路在出现丢包时的抗丢包策略,所述第四转发节点为所述第二报文的转发路径中位于所述第二转发节点之后的转发节点;
基于所述第四抗丢包策略的执行时长大于所述差值,所述第二转发节点向第四转发节点转发更新后的第二报文,所述更新后的第二报文是基于所述第二报文得到的,且所述更新后的第二报文不包括抗丢包策略。
31.根据权利要求27-30任意一项所述的方法,其特征在于,所述方法还包括:
所述第二转发节点接收第三报文,所述第三报文为源码报文,所述源码报文为包括待传输数据的报文;
若所述第三报文的抗丢包策略为FEC策略,所述第二转发节点转发所述第三报文,并在本地保存所述第三报文的副本,以用于恢复丢失的报文。
32.根据权利要求31所述的方法,其特征在于,所述方法还包括:
所述第二转发节点接收第四报文,所述第四报文为修复报文,所述修复报文用于恢复丢失的源码报文;
若所述第二转发节点已获取到所述第四报文对应的传输块中所有的源码报文,则丢弃所述第四报文,所述传输块包括多个报文;
若所述第二转发节点未获取到所述第四报文对应的传输块中所有的源码报文,且所述第二转发节点所获取到的属于所述传输块的报文的数量大于或等于第一阈值,则基于所述第四报文对所述传输块中的报文进行解码,以恢复所述传输块中所丢失的源码报文;
若所述第二转发节点未获取到所述第四报文对应的传输块中所有的源码报文,且所述第二转发节点所获取到的属于所述传输块的报文的数量小于第一阈值,则保存所述第四报文。
33.一种网络设备,其特征在于,包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述网络设备执行如权利要求1至5任一项所述的方法。
34.一种网络设备,其特征在于,包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述网络设备执行如权利要求6至11任一项所述的方法。
35.一种控制器,其特征在于,包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述网络设备执行如权利要求12至17任一项所述的方法。
36.一种网络系统,其特征在于,包括如权利要求33所述的网络设备、如权利要求34所述的网络设备以及如权利要求35所述的控制器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436377.8A CN116192767A (zh) | 2021-11-29 | 2021-11-29 | 一种丢包管理方法及相关装置 |
PCT/CN2022/134030 WO2023093804A1 (zh) | 2021-11-29 | 2022-11-24 | 一种丢包管理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436377.8A CN116192767A (zh) | 2021-11-29 | 2021-11-29 | 一种丢包管理方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116192767A true CN116192767A (zh) | 2023-05-30 |
Family
ID=86442882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111436377.8A Pending CN116192767A (zh) | 2021-11-29 | 2021-11-29 | 一种丢包管理方法及相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116192767A (zh) |
WO (1) | WO2023093804A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3015169B1 (fr) * | 2013-12-18 | 2017-05-26 | Thales Sa | Procede de communication dans un reseau de telecommunications sans fil, programme d'ordinateur et noeud de communication sans fil associes |
CN106255149B (zh) * | 2016-08-10 | 2019-12-24 | 广州市百果园网络科技有限公司 | 一种媒体数据传输方法及装置 |
CN111800218B (zh) * | 2019-04-08 | 2022-04-22 | 华为技术有限公司 | 一种数据流的传输方法和设备 |
CN110943800B (zh) * | 2019-11-06 | 2023-04-28 | 厦门亿联网络技术股份有限公司 | 数据包的发送方法、装置及系统、存储介质、电子装置 |
CN112653575B (zh) * | 2020-12-11 | 2022-08-30 | 网宿科技股份有限公司 | 一种网络配置方法、控制器及流量引导系统 |
-
2021
- 2021-11-29 CN CN202111436377.8A patent/CN116192767A/zh active Pending
-
2022
- 2022-11-24 WO PCT/CN2022/134030 patent/WO2023093804A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023093804A1 (zh) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107347021B (zh) | 一种基于sdn网络可靠传输方法 | |
US12010016B2 (en) | Data stream transmission method and device | |
CN102668472B (zh) | 用于链路聚合组上的驱动式多播业务分布的方法 | |
Wu et al. | Energy-efficient bandwidth aggregation for delay-constrained video over heterogeneous wireless networks | |
US8547981B2 (en) | Self-routed layer 4 packet network system and method | |
CN106254202A (zh) | 一种基于喷泉码的多路并行传输方法以及装置 | |
US20080137669A1 (en) | Network of nodes | |
US20070133420A1 (en) | Multipath routing optimization for unicast and multicast communication network traffic | |
US20040100899A1 (en) | System and method for implementing redundancy for multilink point to point protocol | |
CN110311865B (zh) | 一种视频数据的传输方法以及相关设备 | |
US20220368626A1 (en) | Packet or frame replication and elimination with explict or implict notification to reset sequence number recovery | |
US11843959B2 (en) | Method and system for enabling low-latency data communication by aggregating a plurality of network interfaces | |
CN111555982B (zh) | 一种基于IPv6扩展头的报文智能选路的方法和系统 | |
CN112751763A (zh) | 一种报文转发方法、设备、存储介质及系统 | |
CN111082898A (zh) | 一种报文处理方法和装置 | |
WO2023036042A1 (zh) | 网络优化策略的确定方法、装置及系统 | |
CN111935009B (zh) | 数据包路由方法、装置、设备、系统及存储介质 | |
EP4052442A1 (en) | In-band protocol-based in-network computation offload framework | |
CN116708598A (zh) | 用于实时网络传输的系统及方法 | |
CN116233256A (zh) | 调度路径配置方法、装置、设备及存储介质 | |
CN107770061B (zh) | 转发报文的方法及转发设备 | |
CN116192767A (zh) | 一种丢包管理方法及相关装置 | |
CN113207190A (zh) | 接入层ip包的处理方法、装置及设备 | |
JP2006067075A (ja) | データ送受信方法及びシステム | |
US20240214280A1 (en) | Method for determining network optimization policy, apparatus, and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |