CN111630817B - 一种路由方法及设备 - Google Patents
一种路由方法及设备 Download PDFInfo
- Publication number
- CN111630817B CN111630817B CN201880086683.3A CN201880086683A CN111630817B CN 111630817 B CN111630817 B CN 111630817B CN 201880086683 A CN201880086683 A CN 201880086683A CN 111630817 B CN111630817 B CN 111630817B
- Authority
- CN
- China
- Prior art keywords
- routing
- path
- node
- weight
- nodes
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0858—One way delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种路由方法及设备,用于提供满足Qos要求的路由路径。其中,一种路由方法包括:第一路由节点对可达的相邻路由节点间的路径进行Qos测量,得到每两相邻路由节点间的路径的Qos参数集合;所述第一路由节点将所述Qos参数集合上报至所述控制节点,以使所述控制节点根据所述Qos参数集合计算所述第一路由节点至其它路由节点的路由路径;所述第一路由节点接收由所述控制节点下发的所述第一路由节点至所述其它路由节点的一个或多个路由表;所述第一路由节点接收报文,并从所述一个或多个路由表中确定与所述报文的标识对应的路由表,并根据所述路由表对接收到的报文进行转发。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种路由方法及设备。
背景技术
传统的叠加网Overlay网络在网络技术领域,是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,以基于IP的基础网络技术为主,实现应用在网络上的承载,并能与其它网络业务分离。通常的实现方式是将数据包在隧道起点封装在另一个数据包内,被封装的包转发到隧道终点后再被解封。对于连接在overlay 边缘设备之外的终端系统来说,物理网络是透明的,也就是对于终端系统来说,终端系统无需知晓物理网络的部署。
请参见图1,一个Overlay网络在逻辑上划分为两个平面,控制平面,主要负责虚拟隧道的建立维护以及主机可达性信息的通告;转发平面,承载Overlay报文的物理网络。在图1中,当由源主机发送的报文A到达Overlay网络的边缘设备后,边缘设备基于隧道封装协议,及报文要到达的目的主机,对接收到的报文A进行隧道封装得到经隧道封装的报文,然后将经隧道封装的报文在物理网络上传输,直至到达目的主机的目的边缘设备,目的边缘设备对接收到的报文进行解隧道,得到原始报文A,将报文A交由目的主机,也就是从源主机A发送的报文A经过物理网络的传输,到达目的主机B。
然而报文在图1所示的Overlay网络传输过程中,也就是在边缘设备对接收到的报文进行封装后的传输过程中,并没有考虑传输路径的服务质量(Quality of Service,Qos),例如时延、抖动、丢包率等,只要IP层认为是可达的则认为该路由路径是可用的,然而实际上IP层认为可达的路由路径并不足以承载报文的传输。
发明内容
本申请实施例提供了一种路由方法及设备,用于提供满足Qos要求的路由路径。
第一方面,本申请实施例提供一种路由方法。该方法包括:第一路由节点对可达的相邻路由节点间的路径进行Qos测量,得到每两相邻路由节点间的路径的Qos参数集合,所述第一路由节点为控制节点控制的任一路由节点;所述第一路由节点将所述每两相邻路由节点间的路径的Qos参数集合上报至所述控制节点。所述控制节点根据各个路由节点上报的每两相邻路由节点间的路径的Qos参数集合计算所述各个路由节点至其它路由节点的路由路径,所述其它路由节点为所述控制节点控制的路由节点中除该路由节点外的路由节点;所述控制节点将各个路由节点至其它路由节点的一个或多个路由表下发至该路由节点;所述各个路由节点在接收到报文后,从接收到的一个或多个路由表中确定与接收到的报文的标识对应的路由表,根据所述路由表对所述接收到的报文进行转发,其中,所述接收到的报文的标识用于表征所述接收到的报文的Qos要求。
在本申请实施例中,控制节点根据各个路由节点动态测量的Qos参数集合计算路由路径,可以计算出各个路由节点至其它路由节点的基于不同Qos参数的路由路径,进而可以得到各个路由节点的基于不同Qos参数的路由表。这样在各个路由节点接收到报文后,能够根据与接收到的报文的标识对应的路由表确定用于转发报文的路由路径,也就是说确定出的路由路径是能够满足接收到的报文的Qos要求的,是可以足够承载报文传输的。
在本申请实施例中,各个路由节点可以实时地向控制节点上传Qos参数集合,也可以按照实际需要周期性地向控制节点上传Qos参数集合,例如每2秒(s)、4s或者5s上传一次。此处,各个路由节点为控制节点控制的路由节点,第一路由节点为控制节点控制的路由节点中的任一路由节点。
在一个可能的设计中,所述多个路由表中的每一路由表对应一种报文标识。从而保证各个路由节点可以根据接收到的报文的标识,从多个路由表中确定出与接收到的报文的标识对应的路由表。
在一个可能的设计中,所述控制节点基于所述Qos参数集合,计算所述各个路由节点至其它路由节点的路由路径时,所述控制节点将所述每两相邻路由节点间的路径的每个Qos参数的值分别作为该路径的权值;所述控制节点分别将所述权值中对应同一Qos参数的权值代入迪杰斯特拉算法,得到所述各个路由节点至所述其它路由节点的不同路由类型的路由路径。
在本申请实施例中,采用迪杰斯特拉最短路由路径算法,计算时需要为每两相邻路由节点间的路径设置参数,也就是为每两相邻路由节点间的路径设置权值,该权值可以是每两相邻路由节点间的Qos参数的值,例如路径的时延、丢包率、抖动,也可以是每两相邻路由节点间的多个Qos参数的值的组合,例如时延和丢包率的拟合,也可以是每两相邻路由节点间的一个Qos参数的值与费用的拟合,进而得到基于不同路由类型的路由路径,可以是基于时延的路由路径、基于丢包率的路由路径、基于抖动的路由路径,或者是基于时延和丢包率的路由路径。
在本申请实施例中,在各个路由节点实时向控制节点上报测量得到的Qos参数集合时,控制节点可以实时地计算各个路由节点至其它路由节点的路由路径,也可以以一定周期计算各个路由节点至其它路由节点的路由路径,也可以在Qos参数集合中至少一个Qos参数的值与上一次上报的Qos参数的值的差值大于预设阈值时,计算各个路由节点至其它路由节点的路由路径,以防止路由震荡。
在各个路由节点周期性地向控制节点上报测量得到的Qos参数集合时,控制节点可以按照各个路由节点上报周期相同的周期计算各个路由节点至其它路由节点的路由路径,也可以按照与上报周期不同的周期计算各个路由节点至其它路由节点的路由路径。
在一个可能的设计中,所述Qos参数包括时延、丢包率、抖动中的一种或多种;所述控制节点将所述每两相邻路由节点间的路径的每个Qos参数的值分别作为该路径的权值时,所述控制节点可以将所述每两相邻路由节点间的路径的当前时延与第一权重的乘积、历史时延与第二权重的乘积相加所得到的估计时延作为该路径的权值,其中,所述第一权重与所述第二权重的和为1,所述第一权重为常数或为所述每两相邻路由节点间的路径的抖动与平均时延的比值;也可以将所述每两相邻路由节点间的路径的平均丢包率作为该路径的权值,其中,用于计算所述每两相邻路由节点间的路径的平均丢包率的每一项为每次测量所得到的丢包率与第三权重的乘积,所述第三权重为每次测量过程中的最大连续丢包数与发送的总数据包量的比值加1;也可以将所述每两相邻路由节点间的路径所传输的报文的长度乘以传输正确率,除以所述每两相邻路由节点间的路径传输的报文在该路径上的传输时长所得到的传输效率作为该路径的权值,其中,所述传输时长为所述每两相邻路由节点间的路径传输的报文的长度除以所述每两相邻路由节点间的路径的带宽所得到的值、与所述每两相邻路由节点间的路径的估计时延的二分之一之和,所述传输正确率为1减去所述每两相邻路由节点间的路径的平均丢包率所得到的差值;也可以将所述每两相邻路由节点间的路径的费用与第四权重的乘积、任一Qos参数的值与第五权重的乘积相加所得到的值作为该路径的权值,其中,所述第四权重与所述第五权重的和为1,所述第四权重大于或等于0且小于或等于1。
在本申请实施例中,在将每两相邻路由节点间的路径的每一Qos参数的值分别作为该路径的权值之前,为了能够更精确地反映该路径的Qos状况,首先分别对Qos参数的值做相应的处理,例如结合每两相邻路由节点间的路径的当前时延、历史时延及抖动对当前时延进行处理,当测量得到的时延连续增加时可以快速收敛,而对于偶然的增加也有部分平滑,此处平滑的意思就是降低突发时延的影响;或者是将每两相邻路由节点间的路径的平均丢包率作为该路径的权值,其中,计算每两相邻路由节点间的路径的平均丢包率时考虑到每一周期中连续丢包数的影响,这样对于一些业务,例如实时媒体业务,连续丢包数对该类业务的影响比较大,例如会导致实时媒体业务的卡顿,这样,在将连续丢包数计入每两相邻路由节点间的路径的平均丢包率计算时,能够更精准地衡量该路径的Qos状况;或者考虑到不同Qos参数的组合,例如将基于时延和丢包率计算得到的传输效率作为该路径的权值,或者将每两相邻路由节点间的路径的费用与任一Qos参数的值加权平均后所得到的值作为该路径的权值。
在一个可能的设计中,所述控制节点将所述每两相邻路由节点间的路径的平均丢包率作为该路径的权值时,所述控制节点可以将所述每两相邻路由节点间的路径的传输正确率与所述每两相邻路由节点间的路径传输的报文到达该路径之前的所有路径的传输正确率的乘积作差所得到的差值作为该路径的权值;和/或所述控制节点将所述每两相邻路由节点间的路径所传输的报文的长度乘以传输正确率,除以该报文在该路径上的传输时长所得到的传输效率作为该路径的权值时,所述控制节点可以将所述传输效率的倒数作为该路径的权值。
在本申请实施例中,可以将所述每两相邻路由节点间的路径的传输正确率与所述每两相邻路由节点间的路径传输的报文到达该路径之前的所有路径的传输正确率的乘积作差所得到的差值作为该路径的权值,以进一步更精准地表征每两相邻路由节点间的路径的丢包率,;或者将传输效率的倒数作为该路径的权值,可以简化将权值代入迪杰斯特拉算法的计算复杂度。
在一个可能的设计中,所述第一路由节点根据所述路由表对接收到的报文进行转发时,所述第一路由节点根据所述控制节点下发的业务接入点POP与路由节点之间的对应关系,确定与所述接收到的报文的目的业务POP对应的目的路由节点;所述第一路由节点从所述路由表中确定出能够到达所述目的路由节点的第二路由节点;所述第一路由节点将所述接收到的报文转发至所述第二路由节点。
在本申请实施例中,第一路由节点还接收由控制节点下发的业务POP与路由节点之间的对应关系,以确定与接收到的报文的目的业务POP对应的目的路由节点,进而确定能够达到该目的路由节点的第二路由节点。
在一个可能的设计中,所述第一路由节点将所述接收到的报文转发至所述第二路由节点时,所述第一路由节点根据所述第二路由节点对所述接收到报文进行隧道封装,得到经隧道封装的报文,其中,所述经隧道封装的报文中携带有路由类型,以使所述第二路由节点能够根据所述路由类型确定出满足所述报文的Qos要求的路由表;所述第一路由节点将所述经隧道封装的报文转发至所述第二路由节点。
在本申请实施例中,经隧道封装的报文中携带的路由类型可以是Qos参数,例如时延、丢包率,或者是时延和丢包率的组合,也可以是费用。
在本申请实施例中,经隧道封装的报文中携带有路由类型,这样在第二路由节点接收到报文后,可以根据该路由类型直接确定用于转发该报文的路由路径的路由表,省去对报文进行进一步解析得到报文的标识,进而查找路由表与报文标识之间的对应关系的过程,可以降低报文的转发时延。
在本申请实施例中,经隧道封装的报文中除了可以携带有路由类型的字段外,还可以携带有其它字段,例如Version:版本号;PhLen:隧道头长度;All Ph Len:所有头长度;TTL:用于表征报文在第几个路由节点被丢弃;HashKey:哈希值;Tos:用于表征报文的特征;Nheader:扩展头类型;Ph CheckSum:头的校验和。通过增加这些字段可以提高报文转发的可靠性,例如HashKey用于对报文进行哈希,得到哈希值,该哈希值可以在负荷分担时被调取使用,或者TTL可以避免报文环路。
在一个可能的设计中,所述报文的标识为五元组、差分服务代码点DSCP或服务类型 Tos中的任意一种。
在本申请实施例中,报文的标识可能有不同的形式,且以上几种只是举例,本申请实施例不限制报文的标识的形式。其中,在报文的标识为五元组时,为提高资源利用率和各个路由节点的查表性能,可以要求上层用户绑定端口范围,对于在规定的端口范围的上层用户均使用同一五元组,以减少各个路由节点的存储信息。
第二方面,本申请实施例提供一种第一路由节点。该第一路由节点具有实现上述第一方面方法中第一路由节点或各个路由节点中的一个路由节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第一路由节点的具体结构可以包括测量模块、上报模块、下发模块及转发模块。所述第一路由节点所包括的模块可执行上述第一方面或第一方面的任意一种可能的设计所提供的方法中的相应功能。
第三方面,本申请实施例提供一种控制节点。该控制节点具有实现上述第一方面方法中的控制节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,控制节点的具体结构可以包括接收模块、计算模块及下发模块。所述控制节点所包括的模块可执行上述第一方面或第一方面的任意一种可能的设计所提供的方法中的相应功能。
第四方面,本申请实施例提供一种第一路由节点。该第一路由节点包括:存储器,用于存储计算机可执行程序代码;通信接口以及处理器,处理器与存储器、通信接口耦合。其中存储器所存储的程序代码包括指令,当处理器执行所述指令时,所述指令使第一路由节点执行上述第一方面或第一方面的任意一种可能的设计中第一路由节点或各个路由节点中的一个路由节点所执行的方法。
第五方面,本申请实施例提供一种控制节点。该控制节点包括:存储器,用于存储计算机可执行程序代码;通信接口以及处理器,处理器与存储器、通信接口耦合。其中存储器所存储的程序代码包括指令,当处理器执行所述指令时,所述指令使控制节点执行上述第一方面或第一方面的任意一种可能的设计中控制节点所执行的方法。
第六方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行上述第一方面或第一方面的任意一种可能的设计所述的方法。
第七方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包含有指令,当所述指令在计算机上运行时,使得所述计算机执上述第一方面或第一方面的任意一种可能的设计所述的方法。
第八方面,本申请实施例提供一种芯片,该芯片系统包括处理器,用于支持第一路由节点或各个路由节点中的一个路由节点、控制节点实现上述第一方面所述的方法,例如生成或处理上述第一方面方法中所涉及的数据和/或信息。在一个可能的设计中,该芯片系统还包括存储器,所述存储器用于保存第一路由节点或各个路由节点中的一个路由节点、控制节点必要的程序指令和数据,该芯片系统中的处理器可以调用该芯片系统中的存储器存储的程序指令和数据,以使该芯片系统可以实现上述第一路由节点或各个路由节点中的一个路由节点、控制节点能够实现功能。该芯片系统,可以由芯片构成,也可以包含芯片和其它分立器件。
附图说明
图1为现有技术中叠加Overlay网络的架构示意图;
图2为现有技术中软件定义网络SDN的层次示意图;
图3为本申请实施例提供的一种基于SDN的Overlay网络的层次示意图;
图4为本申请实施例提供的一种基于服务质量Qos的路由方法的流程示意图;
图5为本申请实施例提供的被赋予权值的每两相邻路由节点间的路径;
图6为本申请实施例提供的各个路由节点的基于时延的路由表;
图7为本申请实施例提供的每两相邻路由节点间的路径的费用的示意图;
图8A为本申请实施例提供的路由表与五元组之间的对应关系的示意图;
图8B为本申请实施例提供的路由表与差分服务代码点DSCP之间的对应关系的示意图;
图9为本申请实施例提供的业务接入点POP与路由节点之间的对应关系的示意图;
图10为本申请实施例提供的隧道封装协议的格式的示意图;
图11为本申请实施例提供的vR1对接收到的报文进行转发的示意图;
图12为本申请实施例提供的一种第一路由节点的结构示意图;
图13为本申请实施例提供的一种控制节点的结构示意图;
图14为本申请实施例提供的另一种第一路由节点的结构示意图;
图15为本申请实施例提供的另一种控制节点的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
以下,对本申请实施例中的部分用语进行解释说明,以便与本领域技术人员理解。
(1)软件定义网络(Software Defined Network,SDN),如图2所示,SDN的典型架构共分为三层,最上层为应用层(Applicaiton Layer),包括各种不同的应用、网络仿真、网络规划等。中间层为控制层(Control Layer),主要负责数据平面资源的编排、网络拓扑和状态信息的维护等。最底层为网络设备层(Infrastructure Layer),主要负责基于流表的数据处理、转发和状态收集。其中,应用层根据不同的应用需求,调用与控制层相接的应用程序编程接口(Application Programming Interface,API),实现不同功能的应用程序;控制层对网络设备层上的网络设备,例如路由器、交换机等进行集中控制。
(2)Overlay网络,Overlay网络的路由节点通过虚拟的或逻辑的连接进行通信,每一个虚拟的或逻辑的连接对应于物理网络的一条路径。Overlay网络能够为不同的租户提供不同的网络需求,不同的租户共享基础设施,例如服务器、存储、网络。然而每个租户得到的虚拟网络是相互独立的,完全隔离的,通过云服务商提供的控制平面,租户可任意的配置管理自己的虚拟网络。
(3)迪杰斯特拉算法(Dijstra’s Algorithm),该算法是从一个顶点到其余各顶点的最短路径算法,解决的是最短路径间题。该算法的主要特点是以起点为中心向外层层扩展,直到扩展到终点为止。
在本申请实施例中,由各个路由节点对与可达的相邻路由节点间的路径进行Qos测量,并将每两相邻路由节点间的路径测量得到的Qos参数集合上报至控制节点,控制节点则根据各个路由节点动态测量的Qos参数集合计算路由路径,可以计算出各个路由节点至其它路由节点的基于不同Qos参数的路由路径,进而可以得到各个路由节点的基于不同Qos参数的路由表。这样在各个路由节点接收到报文后,能够根据与接收到的报文的标识对应的路由表确定用于转发报文的路由路径,也就是说确定出的路由路径是能够满足接收到的报文的Qos要求的,是可以足够承载报文传输的。
请参见图3,为本申请实施例的一种应用场景。在图3中,给出一种网络架构,包括:SDN控制器、虚拟路由节点(Virtual Router,vRouter)以及物理路由节点,其中,在图3 中,将vRouter简记为vR,将物理路由节点简记为R,SDN控制器与每一vRouter之间可以通过传输控制协议/因特网互连协议(Transmission Control Protcol/Internet Protcol, TCP/IP),也可以通过OpenFlow协议,或者通过其它预先设置好的通信协议进行通信。 vRouter之间及vRouter与物理路由节点之间也可以通过TCP/IP协议进行通信,例如vRouter 需要将发送的数据包映射到物理路由节点上传输时,则通过TCP/IP协议将数据包发送到映射的物理路由节点上。而物理路由节点之间可以通过路由协议进行通信,例如开放式最短路径优先(Open Shortest Path First,OSPF)、路由信息协议(Routing InformationProtocol, RIP)、边界网关(Border Gateway Protocol,BGP)或者为其它路由协议。在图3所示的网络架构中,还包括业务接入点(Point of Presence,POP),业务POP可以向vRouter发送报文,也可以通过应用服务器或进程与SDN控制器进行交互。
继续参见图3,该网络架构在逻辑上可以分为三层,第一层为控制层,包括SDN控制器;第二层为Overlay层,包括多个vRouter(vR);第三层为Internet公网层,包括多个物理路由节点。此处将第一层描述为“控制层”,第二层描述为“Overlay层”,第三层描述为“Internet公网层”并不具有限制作用,本领域普通技术人员可以根据每一层所实现的功能,将每一层的名称更换为其它与其功能对应的名称。
本申请实施例提供的路由方法和设备部署在控制层和Overlay层。需要说明的是,控制层、Overlay层和Internet公网层并不一定会在物理上分离,也就是说控制层和Overlay 层可能就设置在Internet公网层的某一物理路由节点上,而无需专门的硬件控制设备,也可能是独立于Internet公网负责报文转发的物理路由节点的服务器或者以软件形式安装在服务器上,甚至以软件形式安装在服务器的虚拟机上。其中,当Overlay层是独立于Internet 公网负责报文转发的物理路由节点的服务器时,该服务器也就是Overlay层中的vRouter,需要说明的是每一vRouter对应Internet公网中的至少一个物理路由节点,也就是一个 vRouter对应一个Internet公网中的一个物理路由节点或多个物理路由节点,此处“对应”的指的是vRouter是根据Internet公网中的物理路由节点进行设置的,任意两个vRouter之间的路由路径映射为Internet公网中由物理路由节点构成的一条路由路径。
下面结合说明书附图以及具体的实施方式对本申请实施例中的技术方案进行详细的说明。在下面的介绍过程中,以将本申请实施例提供的技术方案应用在图3所示的场景为例,且以控制节点是SDN控制器为例。
请参见图4,基于图3中的网络架构,本申请实施例提供一种基于服务质量Qos的路由方法,该方法的流程描述如下:
S401:第一路由节点对可达的相邻路由节点间的路径进行Qos测量,得到每两相邻路由节点间的路径的Qos参数集合,第一路由节点为SDN控制器控制的任一路由节点。下面介绍中,以第一路由节点是图3中所示的vR1为例,当然,第一路由节点也可以是图3 中所示的vR1-vR7中的除vR1外的其它任一路由节点。
第一路由节点可达的相邻路由节点指的是第一路由节点经过一跳就能够到达的路由节点,每两相邻路由节点间的路径指的是与第一路由节点相邻的路由节点间的路径。例如参见图3,SDN控制器控制的路由节点是vR1-vR7,在vR1-vR7中,vR1可达的相邻路由节点是vR2和vR7。第一路由节点对可达的相邻路由节点间的路径进行Qos测量,得到每两相邻路由节点间的路径的Qos参数集合,例如vR1对vR1至vR2之间的路径,及对 vR1至vR7之间的路径进行Qos测量,得到vR1至vR2之间的路径的Qos参数,及vR1 至vR7之间的路径的Qos参数,则vR1至vR2之间的路径的Qos参数及vR1至vR7之间的路径的Qos参数构成Qos参数集合。
在本申请实施例中,除了第一路由节点对可达的相邻路由节点间的路径进行Qos测量外,SDN控制器控制的除第一路由节点外的其它路由节点,例如vR1-vR7中除vR1外的其它路由节点也可以进行Qos测量。
在本申请实施例中,Qos测量的参数包括时延、抖动、丢包率、乱序中的任意一种或多种组合等。其中,以vR1对vR1至vR2之间的路径进行Qos测量为例,时延指从vR1 发出数据包到vR2接收到该数据包的时间;抖动指在vR1发出两个连续的数据包时,vR2 接收到其中一个数据包的第一时延与vR2接收到另一数据包的第二时延之差的绝对值;丢包率指传输过程中被丢弃的数据包量,可以用丢包百分比表示,也可以用丢包数量表示;乱序指vR2接收到的数据包的顺序和vR1发出的数据包的顺序不同。因此,每两相邻路由节点间的路径的Qos参数包括时延、抖动、丢包率、乱序中的任意一种或多种组合。
第一路由节点进行Qos测量时,可以采用现有技术中的被动测量、主动测量,或者被动测量和主动测量的结合的方式。下面以vR1为例,详细介绍vR1通过主动测量方式对vR1至vR2之间的路径进行Qos测量的过程。
在具体实现过程中,由vR1向vR2发送测试数据包,在vR1接收由vR2反馈的相关信息,例如vR2接收到由vR1发送的测试数据包的时间、接收到由vR1发送的数据包的数量等等,vR1便可以根据发送测试数据包时的相关数据,例如发送测试数据包的时间、发送测试数据包的总数量,计算得到vR1至vR2路径上的时延、抖动、丢包率、乱序等参数的值。在此需要说明的是,vR1向vR2发送的测试数据包实际是承载在Internet公网上的物理路由节点上传输的,例如vR1发送的测试数据包映射在Internet公网中的物理路由节点R9至R1至R2上转发,然而在实际Qos测量过程中,vR1并不测量测试数据包在R9 至R1及R1至R2上传输时,在R9至R1及R1至R2的路径上的Qos参数,而是测量测试数据包在vR1至vR2上传输时,vR1至vR2路径上的Qos参数。
此处需要说明的是,在vR1对vR1至vR2之间的路径进行Qos测量时,vR2也会对 vR2至vR1之间的路径进行Qos测量,也就是说本申请实施例中的Qos测量是双向测量。其中,在Qos测量采用双向测量时,SDN控制器可以分别利用双向测量结果,例如由vR1 至vR2的路径采用vR1测量的结果,由vR2至vR1的路径采用vR2测量的结果,或者是基于双向测量结果估计得到单向测量参数,并利用单向测量参数,单向测量指的是,由vR1 对vR1至vR2之间的路径进行Qos测量,或者由vR2对vR2至vR1之间的路径进行Qos 测量。
若以测量时延、丢包率为例,其中,时延的单位为毫秒(ms),丢包率的单位百分比,则<vR1,vR2>={1,0.01},也就是vR1对vR1至vR2之间的路径进行时延、丢包率测量后,得到的Qos参数为{1、0.01}。同样的,除vR1外的其它路由节点进行Qos测量后,得到的Qos参数可以表示为:<vR1,vR7>={2,0.03},<vR2,vR3>={1,0.1},<vR2, vR4>={3,0.01},<vR2,vR1>={1,0.01},<vR3,vR5>={5,0.01},<vR3,vR2>={1, 0.001},<vR4,vR6>={2,0.01},<vR5,vR6>={2,0},<vR5,vR3>={5,0.01},<vR6, vR4>={1,0},<vR6,vR7>={0,0.01},<vR6,vR5>={2,0}。
在此需要说明的是,在进行丢包率测量时,Qos参数中除了记载丢包率,也可以包括与丢包率相关的参数,例如每个测量周期内的最大连续丢包数。
S402:第一路由节点将每两相邻路由节点间的路径的Qos参数集合上报至SDN控制器,则SDN控制器接收由各个路由节点上报的Qos参数集合。
此处需要说明的是,各个路由节点可以是SDN控制器控制的包括第一路由节点在内的多个路由节点,例如上述举例的SDN控制器控制的路由节点是vR1-vR7,第一路由节点可以是vR1-vR7中的任意一个路由节点。也就是说SDN控制器接收由vR1-vR7中各个路由节点上报的每两相邻路由节点间的路径的Qos参数集合。
其中,各个路由节点可以实时地向SDN控制器上传Qos参数集合,也可以按照实际需要周期性地向SDN控制器上传Qos参数集合,例如每2秒(s)、4s或者5s上传一次。
S403:SDN控制器基于Qos参数集合,计算各个路由节点至其它路由节点的路由路径,其它路由节点为SDN控制器控制的路由节点中除该路由节点外的路由节点。
在本申请实施例中,在其它路由节点为该路由节点的相邻路由节点为,各个路由节点至其它路由节点的路由路径可以是该路由节点与相邻路由节点之间的路径;在其它路由节点为该路由节点的非相邻路由节点时,各个路由节点至其它路由节点的路由路径可以是该路由节点经过多跳之后到达的路由节点所经的所有路径。
在具体实现过程中,SDN控制器将每两相邻路由节点间的路径的每个Qos参数的值分别作为该路径的权值。
在本申请实施例中,可以将一个Qos参数的值作为该路径的权值,例如将时延、丢包率、或者抖动作为该路径的权值。也可以将多个Qos参数的值的组合作为该路径的权值,例如将时延和丢包率的拟合作为该路径的权值。也可以将一个Qos参数的值与费用的拟合作为该路径的权值。在下面介绍中,将以时延作为路径的权值为例,具体请参见图5,将 vR1至vR2之间的时延1作为该路径的权值,将vR2至vR3之间的时延1作为该路径的权值,将vR2至vR4之间时延3作为该路径的权值,将vR3至vR5之间的时延5作为该路径的权值,将vR4至vR6之间的时延2作为该路径的权值,将vR5至vR6之间的时延 2作为该路径的权值,将vR6至vR7之间的时延0作为该路径的权值,将vR1至vR7之间时延2作为该路径的权值。
接着,SDN控制器将权值中对应同一Qos参数的权值代入迪杰斯特拉算法,计算得到各个路由节点至其它路由节点的不同路由类型的路由路径。此处不同路由类型可以是Qos 参数,例如时延、丢包率或者是时延和丢包率,也可以是费用。继续沿用上述举例,则是将每两相邻路由节点间的路径的时延代入迪杰斯特拉算法中,得到各个路由节点至其它路由节点间的基于时延的路由路径。例如SDN控制器计算第一路由节点至其它路由节点间的基于时延的路由路径,也就是SDN控制器计算vR1至{vR2、vR3、vR4、vR5、vR6、 vR7}中每一路由节点间的基于时延的路由路径,其中,其它路由节点以vR5为例,先以 vR1为中心,vR1可达的相邻路由节点为vR2、vR7,且vR1至vR2的时延是1,vR1至 vR7的时延是2,由于vR1至vR7的时延大于vR1至vR2的时延,则将vR2作为vR1至 vR5的下一跳路由节点。接着以vR2为中心,vR2的可达的相邻路由节点为vR3、vR4,且vR2至vR3的时延是1,vR2至vR4的时延是3,由于vR2至vR4的时延大于vR2至 vR3的时延,则将vR3作为vR2至vR5的下一跳路由节点。然后以vR3为中心,vR3可达的相邻路由节点为vR5,vR3至vR5的时延为5,且小于从vR2至vR4至vR6至vR5 的时延6,由此确定由vR1至vR5的路由路径为vR1至vR2至vR3至vR5,该路由路径的时延为7。
根据同样的计算过程,SDN控制器可以计算出vR1分别至vR2、vR3、vR4、vR6、vR7 的路由路径,以及各个路由节点中除第一路由节点外的其它路由节点的基于时延的路由路径,例如vR2分别至vR1、vR3、vR4、vR5、vR6、vR7的路由路径,vR3分别至vR1、 vR2、vR4、vR5、vR6、vR7的路由路径,.....以及vR7分别至vR1、vR2、vR3、vR4、vR5、 vR6的路由路径。根据计算出的第一路由节点至其它路由节点的路由路径,则可以得到第一路由节点至其它路由节点中每一路由节点的下一跳路由节点,进而得到第一路由节点的路由表。在具体实现过程中,由于上述举例是将每两相邻路由节点间的路径的时延作为该路径的权值,因此得到各个路由节点的路由表是基于时延的,具体请参见图6,给出了vR1 至其它路由节点中每一路由节点的下一跳路由节点的路由表,vR2至其它路由节点中每一路由节点的下一跳路由节点的路由表,及vR3至其它路由节点中每一路由节点的下一跳路由节点的路由表。图6中每个路由表中包括三项,第一项是各个路由节点至其它路由节点中每一路由节点,也就是目的路由节点的IP地址及端口号,第二项是各个路由节点到达其它路由节点中每一路由节点的下一跳路由节点的IP地址及端口号,第三项为路由类型,例如图6中所给出的示例时延。
同样的,也可以将每两相邻路由节点间的路径的丢包率作为该路径的权值,以计算各个路由节点至其它路由节点的基于丢包率的路由路径,或者将每两相邻路由节点间的路径的时延与丢包率的拟合作为该路径的权值,以计算各个路由节点至其它路由节点的基于时延与丢包率的路由路径,或者将每两相邻路由节点间的费用作为该路径的权值,以计算各个路由节点至其它路由节点的基于费用的路由路径,进而得到各个路由节点的基于丢包率的路由表、基于时延和丢包率的路由表及基于费用的路由表,其具体实现过程同计算各个节点的基于时延的路由表,在此不再赘述。
在本申请实施例中,SDN控制器为能够更准确地表征每两相邻路由节点间的路径的 Qos状况,在将每两相邻路由节点间的路径的每个Qos参数的值分别作为该路径的权值之前,分别对每个Qos参数的值做平滑处理,下面分别进行介绍。
1、时延
SDN控制器将每两相邻路由节点间的路径的当前时延与第一权重的乘积、历史时延与第二权重的乘积相加所得到的估计时延作为该路径的权值。在下面介绍中,以第一路由节点上报的与一个可达的相邻路由节点间的路径的时延为例,假设第一路由节点按照一定周期向SDN控制器上报该路径的时延。将该路径的当前时延记为RTTi,表示第一路由节点在第i个周期上报的时延;将该路径的历史时延记为RTT(i-1),表示第一路由节点在i-1个周期上报的时延;将当前时延的第一权重记为α,则历史时延的第二权重可以表示为1-α,将该路径的估计时延记为RTT,则RTT可以表示为式(1):
RTT=(1-α)*RTT(i-1)+α*RTTi (1)
其中,α可以为常数值,也可以为该路径的抖动与平均时延的比值。在α为常数值时,α大于0且小于1。通过对RTTi进行上述处理,能够降低第i个周期的时延的突发性对该路径的时延的影响。
在α为该路径的抖动与平均时延的比值时,若将该路径的抖动记为Jitter,平均时延记为Averge(RTT),则α=Jitter/Averge(RTT),把α代入到式(1)中,可以得到RTT的另外一种表达方式,如式(2):
RTT=(1-Jitter/Averge(RTT))*RTT(i-1)+Jitter/Averge(RTT)*RTTi (2)
SDN控制器对其它的每两相邻的路由节点间的路径的时延处理过程同对第一路由节点与一可达的相邻路由节点间的路径的时延的处理过程,在此不再赘述。
在本申请实施例中,结合每两相邻路由节点间的路径的当前时延、历史时延及抖动对当前时延进行处理,当每周期测量的当前时延连续增加时可以快速收敛,对于偶然的增加也有部分平滑,此处平滑的意思就是降低突发时延的影响。在具体实现过程中,以图5中 vR1至vR2之间的路径为例,将vR1至vR2之间的路径的当前时延1ms、历史时延0.5ms、抖动0.5ms,平均时延0.75ms代入式(2),可以计算出该路径的估计时延为5/6ms,则将估计时延5/6ms作为该路径的权值。相应的,则以每两相邻路由节点间的路径的估计时延,计算第一路由节点至其它路由节点的路由路径。
2、丢包率
SDN控制器将每两相邻路由节点间的路径的平均丢包率作为该路径的权值。在下面介绍中,以第一路由节点上报的与一个可达的相邻路由节点间的路径的丢包率及最大连续丢包数为例,假设第一路由节点按照一定周期向SDN控制器上报该路径的丢包率及最大连续丢包数,共上报N个周期,其中,将第n个周期内最大连续丢包数与第n个周期发送的总数据包量的比值记为pn,n=1,2,....N,将第n个周期测量得到的丢包率记为LostRaten,将该路径在第n个周期的实际丢包率记为Ln,则Ln可以表示为式(3):
Ln=(1+pn)*LostRaten (3)
其中,若将每两相邻路由节点间的路径的平均丢包率记为LostRate,LostRate的计算方式的计算方式有两种,下面分别进行介绍。
计算方式一
将过去N个周期的实际丢包率的平均值作为该路径的权值,则LostRate可以表示为式 (4):
计算方式二
将过去N个周期的实际丢包率和当前周期的实际丢包率进行加权平均后所得到的值作为该路径的权值,则LostRate可以表示为式(5):
在本申请实施例中,SDN控制器对其它的每两相邻的路由节点间的路径的丢包率处理过程同对第一路由节点与一可达的相邻路由节点间的路径的丢包率的处理过程,在此不再赘述。
在本申请实施例中,在计算每两相邻路由节点间的路径的平均丢包率时,考虑到每个周期中最大连续丢包数的影响,而最大连续丢包数对于一些业务(例如实时媒体业务)的影响比较大,例如会导致实时媒体业务的卡顿等。这样,在将最大连续丢包数计入每两相邻路由节点间的路径的平均丢包率计算时,能够更精准的衡量该路径的丢包率情况,从而可以保证计算出的基于丢包率的路由路径是能够承载报文传输的。
为了进一步更精确表征每两相邻路由节点间的路径的丢包率,可以将所述每两相邻路由节点间的路径的传输正确率与所述每两相邻路由节点间的路径传输的报文到达该路径之前的所经的所有路径的传输正确率的乘积作差所得到的差值作为该路径的权值。具体可以表示为式(6):
LostRatepath=1-∏i∈path(1-LostRatei) (6)
其中,path表示报文被转发过程所经过的路径,i表示所经路径中的一段路径。例如第一路由节点vR1接收到由源POP发送的报文,而要将该报文转发至目的路由节点vR3,在经过路径vR1至vR2时,若计算出vR1至vR2的路径的平均丢包率为0.01,则将0.01 作为vR1至vR2路径的权值,然后经过路径vR2至vR3,这时若计算出vR2至vR3的路径的平均丢包率为0.02,则将1-(1-0.01)×(1-0.02)=0.0298作为vR2至vR3路径的权值。
3、时延和丢包率的拟合
SDN控制器将每两相邻路由节点间的路径所传输的报文的长度乘以传输正确率,除以每两相邻路由节点间的路径所传输的报文在该路径的传输时长所得到的传输效率作为该路径的权值。在下面介绍中,以第一路由节点与一可达的相邻路由节点间的路径为例,将该条路径传输的报文的长度记为L,报文在该条路径上传输的时长记为T,该路径的平均丢包率记为LostRatepath,该路径传输报文的传输效率记为Q,则Q可以表示为式(7):
其中,报文在该路径上的传输时长T为报文的长度L除以该路径的带宽、估计时延的二分之一之和,若将该路径的估计时延记为RTT,则T可以表示为式(8):
在此需要说明的是,式(7)中的LostRatepath可以按照式(6)计算得到,式(8)中的RTT可以按照式(2)计算得到,在此不再赘述。
SDN控制器对其它的每两相邻的路由节点间的路径的时延和丢包率处理过程同对第一路由节点与一可达的相邻路由节点间的路径的时延和丢包率的处理过程,在此不再赘述。
进一步,在本申请实施例中为了根据迪杰斯特拉算法计算路由路径更加简单,在具体实现过程中,可以将传输效率的倒数作为该路径的权值,也就是将1/Q作为该路径的权值。在此仍以图5中所示的vR1至vR2的路径为例,根据1中的计算结果vR1至vR2的路径的估计时延为5/6(ms),根据2中的计算结果vR1至vR2之间的路径的平均丢包率为0.01,若该路径传输报文的长度为L=12字节(Byte),带宽B=256千比特(Kbit/s),根据式(7) 和式(8)可以计算出该路径的传输效率Q=(1-0.01)/(1/(256×1000)+5/(2×12×8 ×6)),其中,Q的单位为bit/ms,则将1/Q,也就是(1/(256×1000)+5/(2×12×8×6)) /(1-0.01)作为该路径的权值。
4、费用和任一Qos参数
SDN控制器将每两相邻路由节点间的路径的费用与第四权重的乘积、任一Qos参数的值与第五权重的乘积相加所得到的值作为该路径的权值,其中,第四权重和第五权重之和为1,第四权重大于或等于0且小于或等于1。在下面介绍中,以第一路由节点与一可达的相邻路由节点间的路径为例,若该路径将第四权重记为β,则第五权重可以表示为1-β,任一Qos参数记为S,将每两相邻路由节点间的路径的费用记为C,则该路径的代价函数W可以表示式(9):
W=β*C+(1-β)*S (9)
其中,以图5中所示的vR1至vR2的路径为例,vR1至vR2路径的费用C为报文从 vR1流出的流出费用加上报文流入vR2的流入费用,具体请参见图7。
SDN控制器对其它的每两相邻的路由节点间的路径的费用的处理过程同对第一路由节点与一可达的相邻路由节点间的路径的费用的处理过程,在此不再赘述。
在本申请实施例中,在各个路由节点实时向SDN控制器上报测量得到的Qos参数集合时,SDN控制器可以实时地计算各个路由节点至其它路由节点中每一路由节点之间的路由路径,也可以以一定周期计算各个路由节点至其它路由节点的路由路径,也可以在Qos参数集合中至少一个Qos参数的值与上一次上报的Qos参数的值的差值大于预设阈值时,计算各个路由节点至其它路由节点间的路由路径,以防止路由震荡。
在各个路由节点周期性地向SDN控制器上报测量得到的Qos参数集合时,SDN控制器可以按照各个路由节点上报周期相同的周期计算各个路由节点至其它路由节点之间的路由路径,也可以按照与上报周期不同的周期计算各个路由节点至其它路由节点之间的路由路径,也可以在Qos参数集合中至少一个Qos参数值与上一次上报的Qos参数值的差值大于预设阈值时,计算各个路由节点至其它路由节点中每一路由节点之间的路由路径,以防止路由震荡。
在本申请实施例中,计算各个路由节点基于不同Qos参数的路由表的目的就是为满足不同报文的Qos要求。因此,在确定出各个路由节点至其它路由节点的基于不同Qos参数的路由表之后,还要建立路由表与报文标识之间的对应关系,每一路由表对应一种报文标识,具体请参见图8A,以使得各个路由节点在接收到报文后,能够根据满足该报文的Qos要求的路由表确定该报文的路由路径,进而保证确定的路由路径足够承载该报文的传输。
在本申请实施例中,报文的标识可以用五元组表示、也可以用差分服务代码点(Differentiated Services Code Point,DSCP)表示,下面分别介绍。
1、报文的标识用五元组表示
五元组包括报文的源IP、目的IP、源端口、目的端口及协议类型。请参见图8A,例如基于时延的路由表对应报文标识为包括源IP为11.1.1.1、源端口为60001、目的IP为66.1.1.1、目的端口为60001、协议类型17的五元组;基于丢包率的路由表对应报文标识为包括源IP为11.1.1.2、源端口为50001、目的IP为66.1.1.2、目的端口为50001、协议类型为6的五元组。
在本申请实施例中,为提高各个路由节点的资源利用率及查表性能,可以要求上层用户绑定端口范围,对于在规定端口范围内的用户使用同一五元组,以使各个路由节点保存的信息尽量少。
2、报文的标识用DSCP表示
在本申请实施例中,在SDN控制器确定出各个路由节点至其它路由节点的基于不同 Qos参数的路由表之后,将其对应到固定的DSCP值。例如请参见图8B,基于丢包率的路由表对应的报文标识为值是AF4的DSCP,基于时延的路由表对应的报文标识为值是EF 的DSCP,基于费用的路由表对应的报文标识为值是BE的DSCP。在此需要说明的是DSCP 的值有两种表示方式,关键字形式和数字形式,其中,AF4、EF、BE就是关键字形式,相应的AF4的数字形式是100010,EF的数字形式是101110,BE的数字形式是000000。
在本申请实施例中,报文的标识除了用五元组或DSCP表示外,还可以用服务类型Tos 表示,其中,报文标识无论是用五元组、DSCP或者Tos表示,这些字段都是携带在报文的报文头中的。
S404:SDN控制器将各个路由节点至其它路由节点的一个或多个路由表下发至该路由节点,则各个路由节点接收由SDN控制器下发的一个或多个路由表。
在本申请实施例中,为了提高各个路由节点的资源利用率,SDN控制器是将各个路由节点至其它路由节点的一个或多个路由表下发至该路由节点,而不会转发给其它路由节点。例如SDN控制器将vR1至其它路由节点之间的路由表下发给vR1,而不会下发给除 vR1以外的其它路由节点。
在具体实现过程中,SDN控制器应是将各个路由节点至其它路由节点的路由表与报文标识之间的映射表或者对应关系下发至该路由节点。此处,SDN控制器可以通过上述的TCP/IP协议或OpenFlow协议将各个路由节点至其它路由节点的一个或多个路由表下发至该路由节点。
SDN控制器将各个路由节点至其它路由节点的一个或多个路由表下发至该路由节点的目的是为了使各个路由节点在接收到报文后,从接收到的一个或多个路由表中确定与接收到的报文的标识对应的路由表,根据所述路由表对接收到的报文进行转发。下面以第一路由节点接收由SDN控制器下发的一个或多个路由表为例,介绍第一路由节点根据接收到的一个或多个路由对接收到的报文进行转发的过程。而各个路由节点中除第一路由节点外的其它路由节点对接收到的由源业务POP发送的报文进行转发的过程同第一路由节点,在此不再不赘述。
S405:第一路由节点接收报文,并从一个或多个路由表中确定与报文的标识对应的路由表,并根据路由表对接收到的报文进行转发。
在本申请实施例中,各个路由节点能够根据与报文的标识对应的路由表确定用于转发该报文的路由路径,也就是说确定出的路由路径是能够满足接收到的报文的Qos要求的,是可以足够承载报文传输的。
在具体实现过程中,第一路由节点除了接收由SDN控制器下发的一个或多个路由表之外,还接收由SDN控制器下发的业务POP与路由节点之间的对应关系,相应的,第一路由节点也需要向SDN控制器上报与其对应的业务POP。例如vR1向SDN控制器上报属于其的业务POP11、业务POP12、业务POP13,当然SDN控制器控制的各个路由节点中除第一路由节点外的其它路由节点也可以向SDN控制器上报属于其的业务POP,例如vR2 向SDN控制器上报属于其的业务POP21、业务POP22、业务POP23,......vR7向SDN控制器上报属于其的业务POP71、业务POP72、业务POP73。在本申请实施例中,第一路由节点也可以向SDN控制器上报用于表征业务POP的标识,该标识可以是业务POP的IP 地址。在SDN控制器接收到各个路由节点上报的业务POP之后,则建立路由节点与业务 POP之间的对应关系,具体请参见图9。
下面主要介绍第一路由节点对接收到的报文进行转发的过程。
在本申请实施例中,第一路由节点根据业务POP与路由节点之间的对应关系确定与报文的目的业务POP对应的目的路由节点,并从一个或多个路由表中确定出与报文的标识对应的路由表,也就是根据图8A所示的对应关系,确定出报文的标识对应的路由表。对于上述两个步骤,可以先确定出目的路由节点,再确定出与报文的标识对应的路由表,也可以先确定出与报文的标识对应的路由表,再确定出目的路由节点,也可以两步骤同时执行,在此不作限制。
在确定出与报文的标识对应的路由表之后,则从与报文的标识对应的路由表中确定出能够到达目的路由节点的第二路由节点,由第一路由节点将接收到的报文转发给第二路由节点,也就是从与报文的标识对应的路由表中确定出能够达到目的路由节点的下一跳路由节点,由第一路由节点将接收到的报文转发给下一跳路由节点。
在本申请实施例中,由于确定出的路由表是与接收到的报文的标识是对应的,那么确定出的路由表就是与接收到的报文的Qos要求对应的,相应的基于该路由表确定出的路由路径是能够满足接收到的报文的Qos要求的,也就是说基于该路由表确定出的路由路径是可以承载所接收到的报文的传输的。
在第一路由节点对接收到进行转发之前,第一路由节点可以根据第二路由节点对接收到的报文进行隧道封装。具体的,可以利用现有技术中的隧道封装协议,例如虚拟扩展局域网(Virtual Extensible LAN,VXLAN)或通用路由封装(Generic RoutingEncapsulation, GRE)进行封装,或者其它隧道封装协议进行封装。
在本申请实施例中提供另外一种隧道封装协议,使用该隧道封装协议对报文进行封装后,经隧道封装的报文中携带路由类型,这样在第二路由节点接收到经隧道封装后的报文之后,可以根据隧道头部携带的路由类型确定报文对应的路由表,无需根据图8A所示的对应关系确定与报文的标识对应路由表,从而可以减少报文的转发时延。
在本申请实施例中,经隧道封装的报文中携带的路由类型可以是Qos参数,例如时延、丢包率,或者是时延和丢包率的组合,也可以是费用。
在具体实现过程中,经隧道封装的报文中除了携带有路由类型外,还可以包括其它字段,例如Version:版本号;PhLen:隧道头长度;All Ph Len:所有头长度;TTL:用于表征报文在第几个路由节点被丢弃;HashKey:哈希值;Tos:用于表征报文的特征;Nheader:扩展头类型;Ph CheckSum:头的校验和。在本申请实施例中,通过增加这些字段可以提高报文转发可靠性,例如HashKey用于对报文进行哈希运算,得到哈希值,该哈希值可以在负荷分担时被调取使用,TTL可以避免报文环路。基于上述描述,本申请实施提供的隧道封装协议的格式可以如图10所示。
如图10所示,隧道封装格式中还包括常规字段,网络之间互联的协议(InternetProtocol,IP)报文头和用户数据包协议(User Datagram Protocol,UDP)报文头,其中, IP报文头和UDP报文头共28字节,IP报文头包括源IP地址,也就是接收到由业务POP 发送的报文的第一路由节点的IP地址;目的IP地址,也就是到达与报文的目的业务POP 对应的目的路由节点的下一跳路由节点的IP地址,也就是第二路由节点的IP地址。UDP 报文头中携带有源端口号,也就是接收到由业务POP发送的报文的第一路由节点的端口号;目的端口号,也就是到达与报文的目的业务POP对应的目的路由节点的下一跳路由节点的端口号,也就是第二路由节点的端口号。
下面结合具体的示例介绍第一路由节点对接收到的报文进行转发的过程。在下面介绍过程中,以第一路由节点是vR1,vR1接收由业务POP11发送的报文,报文的目的业务POP是业务POP31为例。
请参见图11,业务POP11发送的报文中携带有业务POP11的IP地址及业务POP31 的IP地址,其中,业务POP11的IP地址为66.66.66.66,业务POP31的IP地址为88.88.88.88,与业务POP11对应的路由节点vR1的IP地址为1.1.1.1,vR1在接收到由业务POP11发送的报文后根据业务POP与路由节点之间的对应关系,确定与业务POP31对应的目的路由节点,也就是图11中所示的vR3,vR3的IP地址为3.3.3.3。
vR1还需要对接收到的报文进行解析,以获取报文的标识。例如检查报文头的DSCP字段,或者检查报文头中的Tos字段,或者检查报文头中携带的五元组信息。在此,以检查报文头的DSCP字段,且以确定出的DSCP值是EF为例。在此需要说明的是,在业务 POP11向vR1发送报文之前,通过应用服务器或进程向SDN控制器上报所要发送报文的 Qos要求,例如发送的Qos要求表明对时延要求的优先级较高、或者对丢包率的要求较高、或者是对费用要求的优先级较高。其中,以对时延要求的优先级较高为例,SDN控制器在接收到该Qos要求后,向业务POP11返回与该Qos要求对应DSCP值,例如EF。业务POP11 则根据该DSCP值在报文头中添加DSCP值,然后向vR1发送报文。
在vR1确定出DSCP值之后,则根据图8B所示的对应关系,从路由表中确定出与报文的标识对应的路由表,即确定与EF对应的路由表。然后从与EF对应的路由表中确定出能够到达目的路由节点的第二路由节点,也就是图11中所示的IP地址为2.2.2.2,端口号为8000的路由节点。在确定出第二路由节点后,则利用图10所述的隧道封装格式对报文进行封装,IP报文头中包括源IP地址为1.1.1.1,目的IP地址2.2.2.2;UDP报文头中包括源端口号8000,目的端口号8000,在其它字段中添加相应的内容,在此不再赘述。
在vR1对接收到的报文进行隧道封装后,则将经隧道封装的报文转发至第二路由节点。在第二路由节点接收到经隧道封装的报文之后,对接收到的经隧道封装报文进行解隧道,根据报文的报文头中携带的目的业务POP对应的目的路由节点,确定目的路由节点是否为自身。若为否,则根据隧道头部携带的路由类型,直接确定与该路由类型对应的路由表,以从该路由类型的路由表中确定出能够达到目的路由节点的下一跳路由节点,此处的下一跳路由节点为第二路由节点的下一跳路由节点,也就是图11中所示的vR3,vR3的IP地址为3.3.3.3,根据下一跳路由节点,利用图10所述的隧道封装格式对报文进行封装,IP 报文头中包括源IP地址为2.2.2.2,目的IP地址3.3.3.3;UDP报文头中包括源端口号8000,目的端口号8000。其中,在第二路由节点对报文进行封装时,还可以根据实际需要对隧道头部中的其它字段进行修改,例如TTL的值,在报文每被转发一次,TTL的值减1。在vR2 对报文进行隧道封装后,将经隧道封装的报文转发至vR3,在vR3接收到经隧道封装的报文之后,对接收到的经隧道封装报文进行解隧道,根据报文的报文头中携带的目的业务POP 对应的目的路由节点,确定目的路由节点是否为自身。在为是时,则将该报文转发给目的业务POP,也就是图11所示的对应IP地址为88.88.88.88的业务POP31。
下面结合附图介绍本申请实施例提供的设备。
图12示出了一种第一路由节点1200的结构示意图。该第一路由节点1200可以包括测量模块1201、上报模块1202、接收模块1203及转发模块1204。其中,测量模块1201 可以用于执行图4所示的实施例中的S401,和/或用于支持本文所描述的技术的其它过程。上报模块1202可以用于执行图4所示的实施例中的S402,和/或用于支持本文所描述的技术的其它过程。接收模块1203可以用于执行图4所示的实施例中的S404,和/或用于支持本文所描述的技术的其它过程。转发模块1204可以用于执行图4所示的实施例中的S405,和/或用于支持本文所描述的技术的其它过程。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图13示出了一种控制节点1300的结构示意图。该控制节点1300可以包括接收模块1301、计算模块1302及下发模块1303。其中,接收模块1301可以用于执行图4所示的实施例中的S402,和/或用于支持本文所描述的技术的其它过程。计算模块1302可以用于执行图4所示的实施例中的S403,和/或用于支持本文所描述的技术的其它过程。下发模块 1303可以用于执行图4所示的实施例中的S404,和/或用于支持本文所描述的技术的其它过程。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图14示出了一种第一路由节点1400的结构示意图。该第一路由节点1400可以包括通信接口1401、处理器1402及存储器1403,处理器1402耦合至存储器1403及通信接口1401。其中,处理器1402可以是中央处理器(CPU),或特定应用集成电路(ApplicationSpecific Integrated Circuit,ASIC),可以是一个或多个用于控制程序执行的集成电路,可以是基带芯片,等等。存储器的数量可以是一个或多个,存储器可以是只读存储器(Readonly Memory,ROM)、随机存取存储器(Random Access Memory,RAM)或磁盘存储器,等等。存储器1403用于存储计算机执行指令,当第一路由节点1400运行时,处理器1402 执行存储器1403存储的计算机执行指令,以使第一路由节点1400执行图4所示的实施例提供的基于服务质量Qos的路由方法。具体的基于服务质量Qos的路由方法可参考上文及附图中的相关描述,此处不再赘述。
图15示出了一种控制节点1500的结构示意图。该控制节点1500可以包括处理器1501、通信接口1502及存储器1503,处理器1501耦合至通信接口1502及存储器1503。其中,处理器1501可以是中央处理器(CPU),或特定应用集成电路(Application SpecificIntegrated Circuit,ASIC),可以是一个或多个用于控制程序执行的集成电路,可以是基带芯片,等等。存储器的数量可以是一个或多个,存储器可以是只读存储器(Read onlyMemory, ROM)、随机存取存储器(Random Access Memory,RAM)或磁盘存储器,等等。存储器1503用于存储计算机执行指令,当控制节点1500运行时,处理器1501执行存储器1503 存储的计算机执行指令,以使控制节点1500执行图4所示的实施例提供的基于服务质量 Qos的路由方法。具体的基于服务质量Qos的路由方法可参考上文及附图中的相关描述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,该存储介质可以包括存储器,该存储器可存储有程序,该程序执行时包括如前图4所示的方法实施例中记载的第一路由节点及SDN 控制器所执行的全部步骤。
本申请实施例还提供一种计算机程序产品,该程序产品在被计算机调用执行时,可以使得计算机执行图4所示的方法实施例提供所述的方法。
本申请实施例还提供一种芯片系统,该芯片系统包括处理器,用于支持第一路由节点、各个路由节点中的一个路由节点及SDN控制器实现图4所示的实施例提供所述的方法,例如生成或处理图4所示的实施例提供的方法中所涉及的数据和/或信息。该芯片系统还包括存储器,所述存储器用于保存第一路由节点、各个路由节点中的一个路由节点及SDN控制器必要的程序指令和数据,该芯片系统中的处理器可以调用该芯片系统中的存储器存储的程序指令和数据,以使该芯片系统可以实现上述第一路由节点、各个路由节点中的一个路由节点及SDN控制器能够实现功能。该芯片系统,可以由芯片构成,也可以包含芯片和其它分立器件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (25)
1.一种路由方法,其特征在于,应用于叠加网络,所述方法包括:
第一路由节点对可达的相邻路由节点间的路径进行Qos测量,得到每两相邻路由节点间的路径的Qos参数集合,所述第一路由节点为控制节点控制的任一路由节点;
所述第一路由节点将所述每两相邻路由节点间的路径的Qos参数集合上报至所述控制节点,以使所述控制节点根据所述每两相邻路由节点间的路径的Qos参数集合计算所述第一路由节点至其它路由节点的路由路径,所述其它路由节点为所述控制节点控制的路由节点中除所述第一路由节点外的路由节点;
所述第一路由节点接收由所述控制节点下发的所述第一路由节点至所述其它路由节点的一个或多个路由表;
所述第一路由节点接收报文,并从所述一个或多个路由表中确定与所述报文的标识对应的路由表,并根据所述路由表对接收到的报文进行转发,其中,所述报文的标识用于表征所述报文的Qos要求;
其中,所述第一路由节点根据所述路由表对接收到的报文进行转发,包括:
所述第一路由节点根据所述控制节点下发的业务接入点POP与路由节点之间的对应关系,确定与所述报文的目的业务POP对应的目的路由节点;
所述第一路由节点从所述路由表中确定出能够到达所述目的路由节点的第二路由节点;
所述第一路由节点将所述接收到的报文转发至所述第二路由节点。
2.根据权利要求1所述的方法,其特征在于,所述路由表是所述控制节点将所述每两相邻路由节点间的路径的每个Qos参数的值分别作为该路径的权值,以及分别将所述权值中对应同一Qos参数的权值代入迪杰斯特拉算法,得到所述第一路由节点至所述其它路由节点的不同路由类型的路由路径后,基于所述不同路由类型的路由路径得到的。
3.根据权利要求1或2所述的方法,其特征在于,所述Qos参数包括时延、丢包率、抖动中的一种或多种;
该路径的权值通过以下方式得到:
所述控制节点将该路径的当前时延与第一权重的乘积、历史时延与第二权重的乘积相加所得到的估计时延作为该路径的权值,其中,所述第一权重与所述第二权重的和为1,所述第一权重为常数或为该路径的抖动与平均时延的比值;
所述控制节点将该路径的平均丢包率作为该路径的权值,其中,用于计算该路径的平均丢包率的每一项为每次测量所得到的丢包率与第三权重的乘积,所述第三权重为每次测量过程中的最大连续丢包数与发送的总数据包量的比值加1;
所述控制节点将所述报文的长度乘以传输正确率,除以所述报文在该路径上的传输时长所得到的传输效率作为该路径的权值,其中,所述传输时长为所述报文的长度除以该路径的带宽所得的值、与该路径的估计时延的二分之一之和,所述传输正确率为1减去该路径的平均丢包率所得到的差值;
所述控制节点将该路径的费用与第四权重的乘积、任一Qos参数的值与第五权重的乘积相加所得到的值作为该路径的权值,其中,所述第四权重与所述第五权重的和为1,所述第四权重大于或等于0且小于或等于1。
4.根据权利要求1所述的方法,其特征在于,所述第一路由节点将所述接收到的报文转发至所述第二路由节点,包括:
所述第一路由节点根据所述第二路由节点对所述接收到的报文进行隧道封装,得到经隧道封装的报文,其中,所述经隧道封装的报文中携带有路由类型,以使所述第二路由节点能够根据所述路由类型确定出满足所述报文的Qos要求的路由表;
所述第一路由节点将所述经隧道封装的报文转发至所述第二路由节点。
5.根据权利要求1、2、4任一项所述的方法,其特征在于,所述报文的标识为五元组、差分服务代码点DSCP或服务类型Tos中的任意一种。
6.根据权利要求3所述的方法,其特征在于,所述报文的标识为五元组、差分服务代码点DSCP或服务类型Tos中的任意一种。
7.一种路由方法,其特征在于,应用于叠加网络,所述方法包括:
控制节点接收由各个路由节点上报的Qos参数集合,所述Qos参数集合为所述各个路由节点对可达的相邻路由节点间的路径进行Qos测量,所得到的每两相邻路由节点间的路径的Qos参数集合;
所述控制节点基于所述Qos参数集合,计算所述各个路由节点至其它路由节点的路由路径,所述其它路由节点为所述控制节点控制的路由节点中除该路由节点外的路由节点;
所述控制节点将所述各个路由节点至所述其它路由节点的一个或多个路由表下发至该路由节点,以使所述各个路由节点在接收到报文后,从接收到的一个或多个路由表中确定与接收到的报文的标识对应的路由表,根据所述路由表对所述接收到的报文进行转发,其中,所述接收到的报文的标识用于表征所述接收到的报文的Qos要求;
其中,所述方法还包括:
所述控制节点向所述各个路由节点下发业务接入点POP与路由节点之间的对应关系,以使所述各个路由节点在根据所述对应关系确定出与所述接收到的报文的目的业务POP对应的目的路由节点后,从所述路由表中确定出能够到达所述目的路由节点的下一跳路由节点,并将所述接收到的报文转发至所述下一跳路由节点。
8.根据权利要求7所述的方法,其特征在于,所述控制节点基于所述Qos参数集合,计算所述各个路由节点至其它路由节点的路由路径,包括:
所述控制节点将所述每两相邻的路由节点间的路径的每个Qos参数的值分别作为该路径的权值;
所述控制节点分别将所述权值中对应同一Qos参数的权值代入迪杰斯特拉算法,得到所述各个路由节点至所述其它路由节点的不同路由类型的路由路径。
9.根据权利要求7或8所述的方法,其特征在于,所述Qos参数包括时延、丢包率、抖动中的一种或多种;
所述控制节点将所述每两相邻的路由节点间的路径的每个Qos参数的值分别作为该路径的权值,包括:
所述控制节点将所述每两相邻的路由节点间的路径的当前时延与第一权重的乘积、历史时延与第二权重的乘积相加所得到的估计时延作为该路径的权值,其中,所述第一权重与所述第二权重的和为1,所述第一权重为常数或为所述每两相邻的路由节点间的路径抖动与平均时延的比值;
所述控制节点将所述每两相邻的路由节点间的路径的平均丢包率作为该路径的权值,其中,用于计算所述每两相邻的路由节点间的路径的平均丢包率的每一项为每次测量所得到的丢包率与第三权重的乘积,所述第三权重为每次测量过程中的最大连续丢包数与发送的总数据包量的比值加1;
所述控制节点将所述每两相邻的路由节点间的路径传输的报文的长度乘以传输正确率,除以所述每两相邻的路由节点间的路径传输的报文在该路径上的传输时长所得到的传输效率作为该路径的权值,其中,所述传输时长为所述每两相邻的路由节点间的路径传输的报文的长度除以所述每两相邻的路由节点间的路径的带宽所得到的值、与所述每两相邻的路由节点间的路径的估计时延的二分之一之和,所述传输正确率为1减去所述每两相邻的路由节点间的路径的平均丢包率所得到的差值;
所述控制节点将所述每两相邻的路由节点间的路径的费用与第四权重的乘积、任一Qos参数的值与第五权重的乘积相加所得到的值作为该路径的权值,其中,所述第四权重与所述第五权重的和为1,所述第四权重大于或等于0且小于或等于1。
10.根据权利要求9所述的方法,其特征在于,所述控制节点将所述每两相邻的路由节点间的路径的平均丢包率作为该路径的权值,包括:
所述控制节点将所述每两相邻的路由节点间的路径的传输正确率与所述每两相邻的路由节点的路径传输的报文到达该路径之前的所经的所有路径的传输正确率的乘积作差所得到的差值作为该路径的权值;和/或
所述控制节点将所述每两相邻的路由节点间的路径所传输的报文的长度乘以传输正确率,除以所述每两相邻的路由节点的路径传输的报文在该路径上的传输时长所得到的传输效率作为该路径的权值,包括:
所述控制节点将所述传输效率的倒数作为该路径的权值。
11.根据权利要求7、8、10任一项所述的方法,其特征在于,所述报文的标识为五元组、差分服务代码点DSCP或服务类型Tos中的任意一种。
12.根据权利要求9所述的方法,其特征在于,所述报文的标识为五元组、差分服务代码点DSCP或服务类型Tos中的任意一种。
13.一种第一路由节点装置,其特征在于,应用于叠加网络,包括:
处理器,用于对所述第一路由节点装置可达的相邻路由节点间的路径进行Qos测量,得到每两相邻路由节点间的路径的Qos参数集合,所述第一路由节点装置为控制节点控制的任一路由节点;
通信接口,用于将所述每两相邻路由节点间的路径的Qos参数集合上报至所述控制节点,以使所述控制节点根据所述每两相邻路由节点间的路径的Qos参数集合计算所述第一路由节点装置至其它路由节点的路由路径,所述其它路由节点为所述控制节点控制的路由节点中除所述第一路由节点装置外的路由节点;接收由所述控制节点下发的所述第一路由节点装置至所述其它路由节点的一个或多个路由表;以及接收报文,并在所述处理器从所述一个或多个路由表中确定与所述报文的标识对应的路由表后,根据所述路由表对接收到的报文进行转发,其中,所述报文的标识用于表征所述报文的Qos要求;
其中,在所述通信接口根据所述路由表对接收到的报文进行转发时,具体用于:
在所述处理器根据所述控制节点下发的业务接入点POP与路由节点之间的对应关系,确定与所述报文的目的业务POP对应的目的路由节点;以及从所述路由表中确定出能够到达所述目的路由节点的第二路由节点后,将所述接收到报文转发至所述第二路由节点。
14.根据权利要求13所述的第一路由节点装置,其特征在于,所述路由表是所述控制节点将所述每两相邻路由节点间的路径的每个Qos参数的值分别作为该路径的权值,以及分别将所述权值中对应同一Qos参数的权值代入迪杰斯特拉算法,计算得到所述第一路由节点装置至所述其它路由节点的不同路由类型的路由路径后,基于所述不同路由类型的路由路径得到的。
15.根据权利要求13或14所述的第一路由节点装置,其特征在于,所述Qos参数包括时延、丢包率、抖动中的一种或多种;
该路径的权值通过以下方式得到:
所述控制节点将该路径的当前时延与第一权重的乘积、历史时延与第二权重的乘积相加所得到的估计时延作为该路径的权值,其中,所述第一权重与所述第二权重的和为1,所述第一权重为常数或为该路径的抖动与平均时延的比值;
所述控制节点将该路径的平均丢包率作为该路径的权值,其中,用于计算该路径的平均丢包率的每一项为每次测量所得到的丢包率与第三权重的乘积,所述第三权重为每次测量过程中的最大连续丢包数与发送的总数据包量的比值加1;
所述控制节点将所述报文的长度乘以传输正确率,除以所述报文在该路径上的传输时长所得到的传输效率作为该路径的权值,其中,所述传输时长为所述报文的长度除以该路径的带宽所得的值、与该路径的估计时延的二分之一之和,所述传输正确率为1减去该路径的平均丢包率所得到的差值;
所述控制节点将该路径的费用与第四权重的乘积、任一Qos参数的值与第五权重的乘积相加所得到的值作为该路径的权值,其中,所述第四权重与所述第五权重的和为1,所述第四权重大于或等于0且小于或等于1。
16.根据权利要求13所述的第一路由节点装置,其特征在于,在所述通信接口将所述接收到的报文转发至所述第二路由节点时,具体用于:
在所述处理器根据所述第二路由节点对所述接收到的报文进行隧道封装,得到经隧道封装的报文后,将所述经隧道封装的报文转发至所述第二路由节点,其中,所述经隧道封装的报文中携带有路由类型,以使所述第二路由节点能够根据所述路由类型确定出满足所述报文的Qos要求的路由表。
17.根据权利要求13、14、16任一项所述的第一路由节点装置,其特征在于,所述报文的标识为五元组、差分服务代码点DSCP或服务类型Tos中的任意一种。
18.根据权利要求15所述的第一路由节点装置,其特征在于,所述报文的标识为五元组、差分服务代码点DSCP或服务类型Tos中的任意一种。
19.一种控制节点装置,其特征在于,应用于叠加网络,包括:
通信接口,用于接收由各个路由节点上报的Qos参数集合,所述Qos参数集合为所述各个路由节点对可达的相邻路由节点间的路径进行Qos测量,所得到的每两相邻路由节点间的路径的Qos参数集合;
处理器,用于基于所述Qos参数集合,计算所述各个路由节点至其它路由节点的路由路径,所述其它路由节点为所述控制节点装置控制的路由节点中除该路由节点外的路由节点;
所述通信接口在所述处理器计算出所述各个路由节点至其它路由节点的路由路径之后,还用于将所述各个路由节点至所述其它路由节点的一个或多个路由表下发至该路由节点,以使所述各个路由节点在接收到报文后,从接收到的一个或多个路由表中确定与接收到的报文的标识对应的路由表,根据所述路由表对所述接收到的报文进行转发,其中,所述接收到的报文的标识用于表征所述接收到的报文的Qos要求;
其中,所述通信接口还用于:
向所述各个路由节点下发业务接入点POP与路由节点之间的对应关系,以使所述各个路由节点在根据所述对应关系确定出与所述接收到的报文的目的业务POP对应的目的路由节点后,从所述路由表中确定出能够到达所述目的路由节点的下一跳路由节点,并将所述接收到的报文转发至所述下一跳路由节点。
20.根据权利要求19所述的控制节点装置,其特征在于,在所述处理器基于所述Qos参数集合,计算所述各个路由节点至其它路由节点的路由路径时,具体用于:
将所述每两相邻路由节点间的路径的每个Qos参数的值分别作为该路径的权值;
分别将所述权值中对应同一Qos参数的权值代入迪杰斯特拉算法,得到所述各个路由节点至所述其它路由节点的不同路由类型的路由路径。
21.根据权利要求19或20所述的控制节点装置,其特征在于,所述Qos参数包括时延、丢包率、抖动中的一种或多种;
在所述处理器将所述每两相邻路由节点间的路径的每个Qos参数的值分别作为该路径的权值时,具体用于:
将所述每两相邻路由节点间的路径的当前时延与第一权重的乘积、历史时延与第二权重的乘积相加所得到的估计时延作为该路径的权值,其中,所述第一权重与所述第二权重的和为1,所述第一权重为常数或为所述每两相邻路由节点间的路径的抖动与平均时延的比值;
将所述每两相邻路由节点间的路径的平均丢包率作为该路径的权值,其中,用于计算所述每两相邻路由节点间的路径的平均丢包率的每一项为每次测量所得到的丢包率与第三权重的乘积,所述第三权重为每次测量过程中的最大连续丢包数与发送的总数据包量的比值加1;
将所述每两相邻路由节点间的路径传输的报文的长度乘以传输正确率,除以所述每两相邻路由节点间的路径传输的报文在该路径上的传输时长所得到的传输效率作为该路径的权值,其中,所述传输时长为所述每两相邻路由节点间的路径传输的报文的长度除以所述每两相邻路由节点间的路径的带宽所得到的值、与所述每两相邻路由节点间的路径的估计时延的二分之一之和,所述传输正确率为1减去所述每两相邻路由节点间的路径的平均丢包率所得到的差值;
将所述每两相邻路由节点间的路径的费用与第四权重的乘积、任一Qos参数的值与第五权重的乘积相加所得到的值作为该路径的权值,其中,所述第四权重与所述第五权重的和为1,所述第四权重大于或等于0且小于或等于1。
22.根据权利要求21所述的控制节点装置,其特征在于,在所述处理器将所述每两相邻路由节点间的路径的平均丢包率作为该路径的权值时,具体用于:
将所述每两相邻路由节点间的路径的传输正确率与所述每两相邻路由节点间的路径传输的报文到达该路径之前的所经的所有路径的传输正确率的乘积作差所得到的差值作为该路径的权值;和/或
在所述处理器将所述每两相邻路由节点间的路径所传输的报文的长度乘以传输正确率,除以所述每两相邻路由节点间的路径传输的报文在该路径上的传输时长所得到的传输效率作为该路径的权值时,具体用于:
将所述传输效率的倒数作为该路径的权值。
23.根据权利要求19、20、22任一项所述的控制节点装置,其特征在于,所述报文的标识为五元组、差分服务代码点DSCP或服务类型Tos中的任意一种。
24.根据权利要求21所述的控制节点装置,其特征在于,所述报文的标识为五元组、差分服务代码点DSCP或服务类型Tos中的任意一种。
25.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-12任一权利要求所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/076755 WO2019157666A1 (zh) | 2018-02-13 | 2018-02-13 | 一种路由方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111630817A CN111630817A (zh) | 2020-09-04 |
CN111630817B true CN111630817B (zh) | 2022-07-22 |
Family
ID=67618932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880086683.3A Active CN111630817B (zh) | 2018-02-13 | 2018-02-13 | 一种路由方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11362944B2 (zh) |
EP (1) | EP3745659A4 (zh) |
CN (1) | CN111630817B (zh) |
WO (1) | WO2019157666A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020097871A1 (zh) * | 2018-11-15 | 2020-05-22 | 深圳市欢太科技有限公司 | 数据传输方法及相关产品 |
US11252083B2 (en) * | 2019-02-07 | 2022-02-15 | Lockheed Martin Corporation | Data packet forwarding in an NGSO satellite network |
US11349736B1 (en) * | 2020-11-09 | 2022-05-31 | Vmware, Inc. | Flow-based latency measurement for logical overlay network traffic |
US11546242B2 (en) | 2020-12-30 | 2023-01-03 | Vmware, Inc. | Logical overlay tunnel monitoring |
US11729080B2 (en) * | 2021-05-12 | 2023-08-15 | Vmware, Inc. | Agentless method to automatically detect low latency groups in containerized infrastructures |
CN113645188B (zh) * | 2021-07-07 | 2023-05-09 | 中国电子科技集团公司第三十研究所 | 一种基于安全关联的数据包快速转发方法 |
US11444871B1 (en) | 2021-07-26 | 2022-09-13 | Cisco Technology, Inc. | End-to-end path selection using dynamic software-defined cloud interconnect (SDCI) tunnels |
US20230246961A1 (en) * | 2022-02-03 | 2023-08-03 | Karunesh Rama KAIMAL | Methods and systems for routing network traffic among organizations using a service-oriented protocol |
CN115134315B (zh) * | 2022-09-01 | 2022-12-02 | 珠海星云智联科技有限公司 | 报文转发方法及相关装置 |
CN117376214B (zh) * | 2023-12-08 | 2024-03-19 | 广州优刻谷科技有限公司 | 一种物联网异构设备数据转发方法、系统存储介质及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119308A (zh) * | 2007-08-21 | 2008-02-06 | 北京航空航天大学 | 动态保证服务质量的无线移动自组织网络的路由装置及方法 |
CN103188152A (zh) * | 2011-12-31 | 2013-07-03 | 南京邮电大学 | 基于业务区分的认知网络QoS路由选择方法 |
CN103746915A (zh) * | 2014-01-14 | 2014-04-23 | 重庆金美通信有限责任公司 | 一种基于区分服务的路由选择方法 |
CN104468352A (zh) * | 2014-12-26 | 2015-03-25 | 深圳市新格林耐特通信技术有限公司 | 基于sdn的特殊流量qos保障方法 |
CN106998285A (zh) * | 2017-04-28 | 2017-08-01 | 烽火通信科技股份有限公司 | 一种基于sdn实现静态路由隧道的系统及方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1509000A1 (en) * | 2003-08-19 | 2005-02-23 | Sony International (Europe) GmbH | RF Coverage Extension for Wireless Home Networking Systems |
US9479341B2 (en) | 2006-08-22 | 2016-10-25 | Centurylink Intellectual Property Llc | System and method for initiating diagnostics on a packet network node |
JP2009055327A (ja) * | 2007-08-27 | 2009-03-12 | Hitachi Ltd | ネットワークシステム |
CN101394341B (zh) * | 2007-09-17 | 2011-08-03 | 华为技术有限公司 | 维护路由的方法、系统及装置 |
US8327014B2 (en) * | 2008-06-30 | 2012-12-04 | Cisco Technology, Inc. | Multi-layer hardware-based service acceleration (MHSA) |
JP5150769B2 (ja) * | 2008-11-17 | 2013-02-27 | アマゾン テクノロジーズ インコーポレーテッド | 要求ルーティングおよびクライアントロケーション情報を利用したルーティング情報の更新 |
US10447543B2 (en) * | 2009-06-11 | 2019-10-15 | Talari Networks Incorporated | Adaptive private network (APN) bandwith enhancements |
US9363164B2 (en) * | 2012-07-20 | 2016-06-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Logical inter-cloud dispatcher |
US9338082B2 (en) * | 2012-12-27 | 2016-05-10 | T-Mobile Usa, Inc. | Resilient backhaul network |
US9417901B2 (en) * | 2013-01-11 | 2016-08-16 | Electronics And Telecommunications Research Institute | Switch and method for guaranteeing quality of service of multi-tenant cloud service and system having the same switch |
US9667518B2 (en) * | 2015-09-11 | 2017-05-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for delay measurement of a traffic flow in a software-defined networking (SDN) system |
CN107517488B (zh) * | 2016-06-15 | 2020-10-23 | 华为技术有限公司 | 报文处理的方法及设备 |
-
2018
- 2018-02-13 CN CN201880086683.3A patent/CN111630817B/zh active Active
- 2018-02-13 EP EP18906625.1A patent/EP3745659A4/en active Pending
- 2018-02-13 WO PCT/CN2018/076755 patent/WO2019157666A1/zh unknown
-
2020
- 2020-08-12 US US16/991,214 patent/US11362944B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119308A (zh) * | 2007-08-21 | 2008-02-06 | 北京航空航天大学 | 动态保证服务质量的无线移动自组织网络的路由装置及方法 |
CN103188152A (zh) * | 2011-12-31 | 2013-07-03 | 南京邮电大学 | 基于业务区分的认知网络QoS路由选择方法 |
CN103746915A (zh) * | 2014-01-14 | 2014-04-23 | 重庆金美通信有限责任公司 | 一种基于区分服务的路由选择方法 |
CN104468352A (zh) * | 2014-12-26 | 2015-03-25 | 深圳市新格林耐特通信技术有限公司 | 基于sdn的特殊流量qos保障方法 |
CN106998285A (zh) * | 2017-04-28 | 2017-08-01 | 烽火通信科技股份有限公司 | 一种基于sdn实现静态路由隧道的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3745659A4 (en) | 2020-12-09 |
CN111630817A (zh) | 2020-09-04 |
EP3745659A1 (en) | 2020-12-02 |
WO2019157666A1 (zh) | 2019-08-22 |
US20200374228A1 (en) | 2020-11-26 |
US11362944B2 (en) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111630817B (zh) | 一种路由方法及设备 | |
US11848757B2 (en) | In-situ passive performance measurement in a network environment | |
US20220103477A1 (en) | Packet processing method for implementing qos guarantee, device, and system | |
US11876883B2 (en) | Packet processing method, network node, and system | |
US10642739B2 (en) | Distributed coordination of caching and processing by networking devices | |
US8867349B2 (en) | Regulation of network traffic in virtual private networks | |
US9071541B2 (en) | Path weighted equal-cost multipath | |
EP3665866B1 (en) | Scalable network path tracing | |
US10153964B2 (en) | Network routing using dynamic virtual paths in an overlay network | |
US20220278904A1 (en) | Method, Apparatus, and System for Sending Packet and Receiving Packet to Perform OAM | |
WO2015039617A1 (zh) | 一种报文处理方法、系统及设备 | |
US20220124023A1 (en) | Path Switching Method, Device, and System | |
EP4052442A1 (en) | In-band protocol-based in-network computation offload framework | |
WO2020226541A1 (en) | Sharing and oversubscription of general-purpose graphical processing units in data centers | |
Nandha Kumar et al. | SRv6‐based Time‐Sensitive Networks (TSN) with low‐overhead rerouting | |
Farhoudi et al. | Analysis of practical aspects of multi-plane routing-based load balancing approach for future link-state convergent all-IP access networks | |
WO2023082815A1 (zh) | 确定性路由的构建方法、装置和存储介质 | |
WO2020003135A1 (en) | Sliding window based non-busy looping mode in cloud computing | |
WO2020202167A1 (en) | Method for virtual network function (vnf) load characterization using traffic analytics in sdn managed clouds | |
WO2015039616A1 (zh) | 一种报文处理方法及设备 | |
WO2023057790A1 (en) | Resource allocation using traffic aggregability and future bandwidth availability in a network | |
CN112055954B (zh) | 网络中优选路径路由的资源预留和维护 | |
Mozo et al. | SLBN: A scalable max-min fair algorithm for rate-based explicit congestion control | |
CN114598636A (zh) | 流量调度方法、设备及系统 | |
US20140269737A1 (en) | System, method and apparatus for lsp setup using inter-domain abr indication |
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 |