一种数据流的确定方法及控制器技术

技术编号:15794741 阅读:229 留言:0更新日期:2017-07-10 09:43
本发明专利技术公开了一种数据流的确定方法及控制器,该方法应用于管理至少一个网络设备的控制器,每个网络设备采用ECMP路由技术与其他网络设备通信,包括:对于每个网络设备,获取经过网络设备的数据流;根据每个数据流的源IP地址、源端口号、目的IP地址和目的端口号,计算数据流经过该网络设备的出接口号;确定每个出接口号在该网络设备上的接口标识;确定处于目标路径上的所有网络设备的接口标识对应的数据流集合,目标路径是经过至少一个网络设备的所有路径中任一路径;计算处于目标路径上的所有网络设备的接口标识对应的数据流集合的交集,以获得目标路径上能够通过的数据流集合。实施本发明专利技术实施例,可以提高路径上能够通过数据流的确定效率。

【技术实现步骤摘要】
一种数据流的确定方法及控制器
本专利技术涉及通信
,具体涉及一种数据流的确定方法及控制器。
技术介绍
传统的路由技术中,当两个网络设备间存在多条链路时,只能通过其中的一条链路传输报文,其它链路则处于备份状态或无效状态,限制了报文传输的带宽。为了解决上述问题,业界提出了等价多路径(英文:equal-costmulti-pathrouting,简称:ECMP)路由技术,该路由技术中两个网络设备间可以存在多条不同链路,可以将属于同一数据流的多个报文通过不同链路在两个网络设备间传输,而两个网络设备间的不同链路上能够传输的数据流可能不同,例如:链路1可以传输数据流1和数据流2,链路2可以传输数据流2和数据流3。此外,一条路径可能经过多个网络设备,而这些网络设备中任意两个网络设备间的链路可以传输的数据流也可能不同,例如:路径1经过的网络设备1和网络设备2间的链路1可以传输数据流2和数据流4,而经过的网络设备2和网络设备3间的链路3可以传输数据流3和数据流4,因此,如何确定路径上能够通过的数据流成为一个亟待解决的问题。目前,一种常见的确定路径上能够通过的数据流的方式为:控制器构造并发送大量报文,根据报文的传输路径确定每条路径上能够通过的数据流。然而,由于上述方式需要通过传输大量报文来确定每条路径上能够通过的数据流,而传输大量报文所需时间较长,以致降低了路径上能够通过的数据流的确定效率。
技术实现思路
本专利技术实施例公开一种数据流的确定方法及控制器,用于提高路径上能够通过的数据流的确定效率。本专利技术实施例第一方面公开一种数据流的确定方法,该数据流的确定方法应用于管理至少一个网络设备的控制器,至少一个网络设备中的每个网络设备采用ECMP路由技术与其他网络设备通信,该方法可以包括:对于至少一个网络设备中的每个网络设备,获取该网络设备的所有数据流,每个数据流可以包括源IP地址、源端口号、目的IP地址和目的端口号,源IP地址是用于初始发送数据流的报文的网络设备或控制器的IP地址,源端口号是用于初始发送数据流的报文的应用的标识,目的IP地址是用于最终接收数据流的报文的网络设备或控制器的IP地址,目的端口号是用于最终接收数据流的报文的应用的标识;根据每个数据流的源IP地址、源端口号、目的IP地址和目的端口号,计算该数据流经过该网络设备的出接口号,该数据流经过该网络设备的出接口号是该数据流经过该网络设备的出接口的接口号,该数据流经过该网络设备的出接口是该网络设备与该数据流经过的且与该网络设备相邻的下一个网络设备间的链路在该网络设备上的接口;确定每个出接口号在该网络设备上的接口标识,例如:网络设备1的出接口号0对应网络设备1上的接口1;确定处于目标路径上的所有网络设备的接口标识分别对应的数据流集合,目标路径可以是经过至少一个网络设备中每个网络设备的所有路径中的任一路径;计算处于目标路径上的所有网络设备的接口标识分别对应的数据流集合的交集,可以得到目标路径上能够通过的数据流集合。在一个实施例中,根据每个数据流的源IP地址、源端口号、目的IP地址和目的端口号计算该数据流经过该网络设备的出接口号时,对于经过该网络设备的每个数据流,可以先将数据流的源IP地址、源端口号、目的IP地址和目的端口号输入哈希(hash)算法,hash算法的输出即为该数据流的hash值,之后根据该网络设备的ECMP链路数量对该数据流的hash值进行取模运算,可以得到该数据流在该网络设备上的出接口号,该网络设备的ECMP链路数量是该网络设备与该数据流经过的网络设备中与该网络设备相邻的下一个网络设备间的ECMP链路数量。在一个实施例中,确定每个出接口号在该网络设备上的接口标识时,可以先从第一出接口号对应的数据流中选取检测数据流,之后向该网络设备发送检测数据流的报文,获取检测数据流的报文在该网络设备上的出接口的第一接口标识,将第一接口标识确定为第一出接口号在该网络设备上的出接口的接口标识,第一出接口号是该网络设备的出接口号中的任一出接口号,检测数据流是经过该网络设备的数据流中出接口号为第一出接口号的任一数据流。在一个实施例中,确定每个出接口号在该出接口号对应的网络设备上的接口标识时,可以先从第二出接口号对应的的数据流中选取检测数据流,并向该网络设备发送携带有该检测数据流的源IP地址、源端口号、目的IP地址和目的端口号的接口标识查询请求,之后将会接收到该网络设备发送的该检测数据流在该网络设备上的出接口的第二接口标识,第二接口标识即为第二出接口号在该网络设备上的出接口的接口标识,第二出接口号是该网络设备的出接口号中的任一出接口号,检测数据流是经过该网络设备的数据流中出接口号为第二出接口号的任一数据流。在一个实施例中,确定处于目标路径上的所有网络设备的接口标识对应的数据流集合时,可以先统计至少一个网络设备中的每个网络设备的每个接口标识的数据流,并对于目标路径,确定处于目标路径上的所有网络设备在目标路径上的出接口的接口标识,之后可以确定目标路径上的每个网络设备在目标路径上的出接口的接口标识对应的数据流集合。在一个实施例中,得到每条路径上能够通过的数据流集合之后,对于每条路径,可以从路径对应的数据流集合中任选一个数据流,并在该路径上发送该数据流的检测报文以检测该路径的转发质量,即检测该路径上的连通性、丢包率和延时中的至少一种,以便可以检测每条路径的转发质量,从而可以为每个数据流的报文选择一条最佳的传输路径,并且,本专利技术可以仅通过一个检测报文就能检测一条路径的转发质量。此外,由于检测报文的路径是确定的,因此,可以很容易的计算出丢包率。本专利技术实施例第二方面公开了一种控制器,该控制器包括的单元能够执行本专利技术实施例第一方面公开的数据流的确定方法。本专利技术实施例第三方面公开一种控制器,包括处理器、存储器和通信接口。其中,存储器用于存储一组程序代码,处理器用于执行存储器存储的程序代码,通信接口用于在处理器的控制下与网络设备或其它控制器进行通信。当处理器执行存储器存储的程序代码时,可根据存储器存储的程序代码执行本专利技术实施例第一方面公开的数据流的确定方法。本专利技术实施例第四方面公开一种可读存储介质,该可读存储介质存储了控制器用于执行本专利技术实施例第一方面公开的数据流的确定方法的程序代码。本专利技术实施例中,控制器可以根据经过控制器管理的网络设备的数据流,确定控制管理的每个网络设备的每个出接口的接口标识对应的数据流集合,当需要确定目标路径上能够通过的数据流集合时,控制器可以先确定处于目标路径上的所有网络设备的接口标识对应的数据流集合,之后计算所有网络设备的接口标识对应的数据流集合的交集,以获得目标路径上能够通过的数据流集合。本专利技术不需要通过大量报文来检测哪条路径上可以通过哪些数据流,可以缩短路径上能够通过的数据流集合的确定时间,从而可以提高路径上能够通过的数据流的确定效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例公开的一种确定数据流的网络架构图;图2是本专利技术实施例公开本文档来自技高网...
一种数据流的确定方法及控制器

【技术保护点】
一种数据流的确定方法,其特征在于,所述方法应用于管理至少一个网络设备的控制器,所述至少一个网络设备中的每个网络设备采用等价多路径ECMP路由技术与其他网络设备通信,所述方法包括:对于每个网络设备,获取经过所述网络设备的数据流,每个所述数据流包括源IP地址、源端口号、目的IP地址和目的端口号;根据每个所述数据流的源IP地址、源端口号、目的IP地址和目的端口号,计算所述数据流经过所述网络设备的出接口号;确定每个所述出接口号在所述网络设备上的接口标识;确定处于目标路径上的所有网络设备的接口标识对应的数据流集合,所述目标路径是经过所述至少一个网络设备中每个网络设备的所有路径中的任一路径;计算所述所有网络设备的接口标识对应的数据流集合的交集,以获得所述目标路径上能够通过的数据流集合。

【技术特征摘要】
1.一种数据流的确定方法,其特征在于,所述方法应用于管理至少一个网络设备的控制器,所述至少一个网络设备中的每个网络设备采用等价多路径ECMP路由技术与其他网络设备通信,所述方法包括:对于每个网络设备,获取经过所述网络设备的数据流,每个所述数据流包括源IP地址、源端口号、目的IP地址和目的端口号;根据每个所述数据流的源IP地址、源端口号、目的IP地址和目的端口号,计算所述数据流经过所述网络设备的出接口号;确定每个所述出接口号在所述网络设备上的接口标识;确定处于目标路径上的所有网络设备的接口标识对应的数据流集合,所述目标路径是经过所述至少一个网络设备中每个网络设备的所有路径中的任一路径;计算所述所有网络设备的接口标识对应的数据流集合的交集,以获得所述目标路径上能够通过的数据流集合。2.根据权利要求1所述的方法,其特征在于,所述根据每个所述数据流的源IP地址、源端口号、目的IP地址和目的端口号,计算所述数据流经过所述网络设备的出接口号包括:对于经过所述网络设备的每个数据流,根据所述数据流的源IP地址、源端口号、目的IP地址和目的端口号确定所述数据流的哈希hash值;根据所述网络设备的ECMP链路数量对所述数据流的hash值进行取模运算,以获得所述数据流在所述网络设备上的出接口号。3.根据权利要求1或2所述的方法,其特征在于,所述确定每个所述出接口号在所述网络设备上的接口标识包括:从第一出接口号对应的数据流中选取检测数据流,所述第一出接口号是所述网络设备的出接口号中的任一出接口号;向所述网络设备发送所述检测数据流的报文;获取所述检测数据流的报文在所述网络设备上的出接口的第一接口标识;将所述第一接口标识确定为所述第一出接口号在所述网络设备上的出接口的接口标识。4.根据权利要求1或2所述的方法,其特征在于,所述确定每个所述出接口号在所述网络设备上的接口标识包括:从第二出接口号对应的数据流中选取检测数据流,所述第二出接口号是所述网络设备的出接口号中的任一出接口号;向所述网络设备发送接口标识查询请求,所述接口标识查询请求携带有所述检测数据流的源IP地址、源端口号、目的IP地址和目的端口号;接收所述网络设备发送的所述检测数据流在所述网络设备上的出接口的第二接口标识;将所述第二接口标识确定为所述第二出接口号在所述网络设备上的出接口的接口标识。5.根据权利要求1或2所述的方法,其特征在于,所述确定处于目标路径上的所有网络设备的接口标识对应的数据流集合包括:统计所述至少一个网络设备中的每个网络设备的每个接口标识对应的数据流;对于目标路径,确定处于所述目标路径上的所有网络设备在所述目标路径上的出接口的接口标识;确定所述目标路径上的每个网络设备在所述目标路径上的出接口的接口标识对应的数据流集合。6.一种控制器,其特征在于,所述控制器管理至少一个网络设备,所述至少一个网络设备中的每个网络设备采用等价多路径ECMP路由技术与其他网络设备...

【专利技术属性】
技术研发人员:张震伟郑明宋伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1