CN107995108A - 网络路径优化方法及sdn控制器 - Google Patents

网络路径优化方法及sdn控制器 Download PDF

Info

Publication number
CN107995108A
CN107995108A CN201610938903.3A CN201610938903A CN107995108A CN 107995108 A CN107995108 A CN 107995108A CN 201610938903 A CN201610938903 A CN 201610938903A CN 107995108 A CN107995108 A CN 107995108A
Authority
CN
China
Prior art keywords
subflow
candidate
paths
transmission path
nonintersecting
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.)
Granted
Application number
CN201610938903.3A
Other languages
English (en)
Other versions
CN107995108B (zh
Inventor
林士能
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanning Fulian Fugui Precision Industrial Co Ltd
Original Assignee
Nanning Fugui Precision Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanning Fugui Precision Industrial Co Ltd filed Critical Nanning Fugui Precision Industrial Co Ltd
Publication of CN107995108A publication Critical patent/CN107995108A/zh
Application granted granted Critical
Publication of CN107995108B publication Critical patent/CN107995108B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/128Shortest path evaluation for finding disjoint paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements

Abstract

本发明实施例提供了一种路径优化方法,应用于软件定义网络控制器。当该SDN控制器监测到第一网络装置和第二网络装置建立MPTCP会话的握手信息时:根据网络拓扑,分析出第一网络装置和第二网络装置之间的多条传输路径及多个第一候选不相交路径组;从多个第一候选不相交路径组中选择出一个相容度最高的第一不相交路径组,所述第一不相交路径组包括第一传输路径;为所述MPTCP会话的第一子流配置所述第一传输路径;及生成用于所述第一子流的第一流表并下发至所述第一子流途径的转发设备中。本发明实施例利用已知的OpenFlow技术标准协议,取得网络拓扑相关信息,并为MPTCP会话的子流配置优化路径,从而减轻网络拥堵。

Description

网络路径优化方法及SDN控制器
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种基于软件定义网络(SoftwareDefined Network,SDN)之网络路径优化方法及SDN控制器。
背景技术
多路径传输控制协议(Multipath Transmission Control Protocol,简称:MPTCP)的核心思想是在应用层和传输层中间加入支持多路径传输的MPTCP层,将传统的TCP数据分为多个TCP子流,不同TCP子流沿不同路径传输。
MPTCP是一个端到端协议,两端根据可用端口及可用IP地址来决定是否建立或增加MPTCP子流,并为建立或增加的子流随机分配传输路径。而这些随机分配的一条或多条传输路径可能传输质量较差,从而影响传输效率,造成网络拥堵。
发明内容
有鉴于此,本发明目的是提供一种基于软件定义网络(SDN)之网络路径优化方法,为MPTCP会话的子流配置传输质量良好的传输路径,以解决网络堵塞。
本发明目的还提供一种使SDN控制器,所述SDN控制器可以为MPTCP会话的子流配置传输质量良好的传输路径,以解决网络堵塞。
本发明实施例提供的一种路径优化方法,应用于SDN控制器。当该SDN控制器监测到第一网络装置和第二网络装置建立MPTCP会话的握手信息时:根据所述网络拓扑,分析出所述第一网络装置和所述第二网络装置之间的多条传输路径及多个第一候选不相交路径组,每个所述第一候选不相交路径组包括从所述多条传输路径中选择的且两两之间均没有共用传输路段的至少两条候选传输路径;从多个所述第一候选不相交路径组中选择出一个相容度最高的第一不相交路径组,所述第一不相交路径组包括第一传输路径;为所述MPTCP会话的第一子流配置所述第一传输路径;及生成用于所述第一子流的第一流表并下发至所述第一子流途径的转发设备中。
本发明实施例还提供了一种SDN控制器,包括第一监测模块、分析模块、选择模块、配置模块和部署模块。所述第一监测模块用于监测第一网络装置和第二网络装置建立MPTCP会话的握手信息。所述分析模块用于根据所述网络拓扑,分析出所述第一网络装置和所述第二网络装置之间的多条传输路径及多个第一候选不相交路径组,每个所述第一候选不相交路径组包括从所述多条传输路径中选择的且两两之间均没有共用传输路段的至少两条候选传输路径。所述选择模块用于从多个所述第一候选不相交路径组中选择出一个相容度最高的第一不相交路径组,所述第一不相交路径组包括第一传输路径。所述配置模块用于为所述MPTCP会话的第一子流配置所述第一传输路径。所述部署模块用于生成用于所述第一子流的第一流表并下发至所述第一子流途径的转发设备中。
本发明实施例之基于软件定义网络(SDN)之网络路径优化方法利用已知的开放流(OpenFlow)技术标准协议(例如,ONF-OFPI),取得网络拓扑相关信息,并为MPTCP会话的子流配置优化路径,从而减轻网络拥堵。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1是本发明实施例之网络拓扑的示意图。
图2是本发明实施例之SDN控制器的功能模块图。
图3是本发明实施例通过福特-福克森算法遍历到的传输路径的示意图。
图4是图3之传输路径的带宽示意图。
图5是本发明实施例之路径优化方法的步骤流程图。
图6是本发明另一实施例之路径优化方法的步骤流程图。
图7是图6之路径更新步骤S408中的具体流程图。
主要元件符号说明
路径优化系统 10
存储器 20
处理器 30
网络拓扑 100
SDN控制器 110
第一网络装置 112
第二网络装置 114
转发设备 122、124、126、128、130、132、134、136、138、140
第一监测模块 210
分析模块 212
选择模块 214
配置模块 216
部署模块 218
第二监测模块 220
更新模块 222
量化模块 224
第一传输路径 A
第二传输路径 B
第三传输路径 C
第四传输路径 D
如下具体实施例将结合上述附图进一步说明本发明。
具体实施方式
图1是本发明实施例之网络拓扑图,所述网络拓扑100包括至少一个SDN控制器110、第一网络装置112、第二网络装置114,以及转发设备122、124、126、128、130、132、134、136、138及140。其中,第一网络装置112及第二网络装置114均具有MPTCP能力,其可以是个人计算机、平板计算机、移动电话或机顶盒等电子设备。转发设备122-140可以是交换机、路由器、AP或其它网络转发装置。
本发明实施例之SDN控制器110会实时监测网络拓扑100中的MPTCP信息(如建立连接、增加子流、删除子流等)。根据所监测到的MPTCP信息,进行关联操作,如为MPTCP会话中的子流分配或重新分配高质量的传输路径。
图2是本发明实施例之SDN控制器110的功能模块图。该SDN控制器110包括路径优化系统10、存储器20和处理器30。路径优化系统10包括第一监测模块210、分析模块212、选择模块214、配置模块216、部署模块218、第二监测模块220、更新模块222及量化模块224。所述模块210-224被配置成由一个或多个处理器(本实施例为处理器30)执行,以完成本发明实施例。本发明实施例所称的模块是完成一特定功能的计算机程序段。存储器20用于存储路径优化系统10的程序代码资料。
以下为MPTCP会话第一子流的建立。
第一监测模块210,监测第一网络装置112和第二网络装置114建立MPTCP会话的握手信息。该用于建立MPTCP会话的握手信息包括三次握手消息,这三握手消息依次为TCPSYN消息、SYN+ACK消息及ACK消息。这三次握手消息的字段中均携带有MP_CAPABLE选项。当第一监测模块210监测到第一网络装置112和第二网络装置114之间的这三次握手之后,则判断第一网络装置112和第二网络装置114之间正在建立MPTCP连接(即MPTCP会话)。
需要说明的,该第一监测模块210是采用SDN的监测方式:预先向网络拓扑100中各个转发设备(e.g.,122、124、…)下发了用于监测MPTCP信息的流表,这些转发设备会对流经的信息进行监测并在监测到MPTCP信息后上传或上报给SDN控制器110。
分析模块212,根据网络拓扑100(各个转发设备间的连接状态),分析出第一网络装置112和第二网络装置114之间的多条传输路径及多个第一候选不相交路径组,每个所述第一候选不相交路径组包括从所述多条传输路径中选择的两两之间均没有共用传输路段的至少两条候选传输路径。
在本实施例中,分析模块212可以根据福特-福克森(Ford-Fulkerson)算法,遍历出第一网络装置112和第二网络装置114之间多条传输路径(不相交路径),图3为Ford-Fulkerson算法推导出的4条传输路径(即A,B,C,D),该4条传输路径可以根据预设数量分为多个第一候选不相交路径组,如预设数量为每组2条候选传输路径,则可以形成(A,B)、(A,C)、(A,D)、(B,C)、(B,D)及(C,D),共6个第一候选不相交路径组;如预设数量为每组3条候选传输路径,则可以形成(A,B,C)、(A,B,D)、(A,C,D)、(B,C,D),共4个第一候选不相交路径组。需要说明的是,第一候选不相交路径组内的候选传输路径的数据可以预先设定,也可以根据传输路径的数量决定,在此不做限定。
在另一实施例中,分析模块212可以先遍历出第一网络装置112和第二网络装置114之间所有传输路径,然后根据预设每组候选传输路径的数量,形成多个第一候选不相交路径组,同一组内的候选传输路径之间均没有共用路段。
选择模块214,从多个所述第一候选不相交路径组中选择出一个相容度最高的第一不相交路径组,所述第一不相交路径组包括第一传输路径。需要说明的是,该第一传输路径即为该第一不相交路径组中的多条候选传输路径中的其中一条。
每个第一候选不相交路径组的相容度可以由多种因子所决定的,例如组内所有候选传输路径的带宽总体传输质量、组内各条候选传输路径之间的传输质量差异等。其中,第一不相交路径组内的各条候选传输路径的传输质量好且各条候选传输路径之间的传输质量相近。在一个实施例中,量化模块224被用于用于量化每个第一候选不相交路径组的相容度以得到相应的相容度值。具体为:
当每个所述第一候选不相交路径组包括两条候选传输路径时,以其中一个第一候选不相交路径组为例进行说明:这个第一候选不相交路径组的相容度值(compatibilityvalue,CV)为:这个第一候选不相交路径组内的两条候选传输路径带宽之和与这两条候选传输路径带宽之比的乘积,其中,这两条候选传输路径带宽之比恒不大于1。以(C,D)组为例:从图4中得知,候选传输路径C的可用带宽(Available Bandwidth,ABC)为150,候选传输路径D的可用带宽(ABD)为20,故:CV(C,D)=(ABC+ABD)*(ABC/ABD)=(150+20)*(20/150)=22.61。
当每个所述第一候选不相交路径组包括至少三条候选传输路径时,以其中一个第一候选不相交路径组为例进行说明:这个第一候选不相交路径组的相容度值为:这个第一候选不相交路径组内的至少三条候选传输路径两两之间的相容度的平均值。以(A,B,D)组为例:CV(A,B,D)=(CV(A,B)+CV(A,D)+CV(B,D))/3。
通过量化模块224可得到,如果预设数量为每组2条候选传输路径时,(A,B)、(A,C)、(A,D)、(B,C)、(B,D)及(C,D)的6个第一候选不相交路径组中,(A,B)组成的第一不相交路径组的相容度值最高。
通过量化模块224块得到,如果预设数量为每组3条候选传输路径时,(A,B,C)、(A,B,D)、(A,C,D)、(B,C,D)的4个第一候选不相交路径组中,(A,B,C)组成的第一不相交路径组的相容度值最高。
因此,如果预设数量为每组2条候选传输路径时,选择模块214从6个第一候选不相交路径组中选择出第一不相交路径组(A,B)。该第一不相交路径组中包括第一传输路径A和第二传输路径B。如果预设数量为每组3条候选传输路径时,选择模块214从4个第一候选不相交路径组中选择出第一不相交路径组(A,B,C)。该第一不相交路径组中包括第一传输路径A、第二传输路径B及第三传输路径C。
配置模块216,为所述MPTCP会话的第一子流配置第一传输路径A。第一传输路径A可以是根据传输质量从第一不相交路径组中的多条候选传输路径中选择而出,该第一传输路径A在第一不相交路径组中质量最优。
部署模块218根据开放流(Openflow)协议,生成用于第一子流的第一流表并下发至第一子流途径的转发设备中。在本实施例中,该第一流表根据第一传输路径A生成并下发到第一传输路径A途径的转发设备(122、132、138、134及140)中。
以下为MPTCP会话第二子流的建立。
第一监测模块210,监测用于在所述MPTCP会话中加入第二子流的握手信息。该增加第二子流的握手信息包括三次握手消息。该三次握手消息的字段中均携带有MP_JOIN选项。
配置模块216,为所述第二子流配置所述第二传输路径B。由于在第一子流的建立中,选择模块214选择出第一不相交路径组,该第一不相交路径组还包括第二传输路径B,因此,当第一监测模块210监测到加入第二子流的握手信息后,配置模块216会直接为第二子流配置第二传输路径B。
部署模块218,生成用于所述第二子流的第二流表并下发至所述第二子流途径的转发设备中。在本实施例中,该第二流表根据第二传输路径B生成并下发到第二传输路径B途径的转发设备(122、128、134、130及140)中。
以下为MPTCP会话第三子流的建立。
如图3所示的4条传输路径,如果预设数量为每个第一候选不相交路径组包括2条候选传输路径时,在建立第一子流时得到的相容度最高的第一不相交路径组,不能为该第三子流提供具体的传输路径。
第一监测模块210,监测用于在所述MPTCP会话中加入第三子流的握手信息。该增加第三子流的握手信息包括三次握手消息。该三次握手消息的字段中均携带有MP_JOIN选项。
分析模块212,根据所述网络拓扑,分析出所述网络拓扑中与所述第一传输路径A及所述第二传输路径B均不相交的多条第三候选传输路径。如图3所示,所述多条第三候选传输路径包括传输路径C和D。
选择模块214,从多个所述第三候选传输路径(即C,D)中选择出一个与第一传输路径A及所述第二传输路径B相容度最高的第三传输路径C。
在本实施例中,通过量化模块224可知,(CV(a,b)+CV(a,c))/2>(CV(d,b)+CV(d,c))/2。即,相比于第四传输路径D,第三传输路径C具有与第一传输路径A及所述第二传输路径B更高的相容度。
配置模块216,为所述第三子流配置所述第三传输路径C。
部署模块218,生成用于所述第三子流的第三流表并下发至所述第三子流途径的转发设备中。在本实施例中,该第一流表根据第三传输路径C生成并下发到第三传输路径C途径的转发设备(122、124、126及140)中。
以下为建立MPTCP会话第三子流的另一实施例。
如图3所示的4条传输路径,如果预设数量为每个第一候选不相交路径组包括3条候选传输路径时,在建立第一子流时得到的相容度最高的第一不相交路径组,可以为该第三子流提供第三传输路径C。
第一监测模块210,监测在所述MPTCP会话中加入加入第三子流的握手信息。
配置模块216,为所述第三子流配置所述第三传输路径C。该第三传输路径C来自于第一不相交路径组中。
部署模块218,生成用于所述第三子流的第三流表并下发至所述第三子流途径的转发设备中。
以下为MPTCP子流的删除及更新(1)。
第二监测模块220,监测所述MPTCP会话中每个子流的传输质量。在本实施例中,第二监测模块220可以根据多个因子评测每个子流的传输质量。所述因子包括往返延时(Round-Trip Time,RTT)、丢包率(Packet Lost Ratio)、可用带宽(Available Bandwidth)与接收窗口(Receiving Window,RWIN),但不以此为限。
在一实施例,第二监测模块220可以对每个子流的传输质量进行趋势分析。当分析出其中一个子流的传输质量持续下滑并预设阀值的,则通知配置模块216删除该子流。
配置模块216,当其中一个子流的传输质量低于一个预设阀值时,为该传输质量低于所述预设阀值的子流重新配置传输路径,或删除该传输质量低于所述预设阀值的子流。如果MPTCP会话当前包括第一子流、第二子流和第三子流时,当第二子流的传输质量低于第一预设阀值,则删除该第二子流,或者为该第二子流重新配置新的其它传输路径,例如将第二子流的传输路径由第二传输路径B重新配置为传输质量更高的第四传输路径D(每条传输路径的传输质量是动态变化的,假设此时第四传输路径D的传输质量优于第三传输路径C)。
部署模块218,根据重新配置操作或删除操作,生成相应的第四流表并下发至与所述第四流表关联的转发设备中。当重新配置操作被实施时,第四流表下发至第四传输路径D上的转发设备及通知第二传输路径B上的转发设备删除第二流表(当然,流表也可以设置老化机制)。当删除操作被实施时,触发第二传输路径B上的两端的转发设备(122、140)向第一网络装置112和第二网络装置114发送RST消息和FIN消息。
以下为MPTCP子流的删除及更新(2)。
如果对第二子流的删除操作被实施,更新模块222会对所述MPTCP会话中的其余子流(即剩余的第一子流和第三子流)的传输路径进行更新:依据所述其余子流(第一子流和第三子流)的数量及所述网络拓扑,分析出与该数量匹配的多个第二候选不相交路径组;从多个所述第二候选不相交路径组中选择出一个相容度最高的第二不相交路径组;依据所述第二不相交路径组,为所述其余子流重新配置相应的传输路径;及根据更新策略生成相应的第五流表下发至相应的转发设备中。
本发明实施例之基于软件定义网络(SDN)之网络路径优化方法利用已知的开放流(OpenFlow)技术标准协议(例如,ONF-OFPI),取得网络拓扑相关信息,并为MPTCP会话的子流配置优化路径,从而减轻网络拥堵。
在一个实施例中,SDN控制器还可以建立一个信息连接表,所述信息连接表用于记录所述MPTCP会话中的子流信息,所述子流信息包括子流令牌信息、协议号、源地址、源端口号、目的地址及目的端口号。
在一个实施例中,SDN控制器还可以监测第一网络装置或第二网络网络发出的其它信息,如ADD_ADDR消息、REMOVE_ADDR消息。
图5是本发明实施例之网络路径优化方法的步骤流程图。该方法的执行可以为如图2所示的SDN控制器110,也可以是支持本方法的任意其它控制器。下面以SDN控制器为执行主体进行示例性描述。
步骤S300,监测第一网络装置112和第二网络装置114建立MPTCP会话的握手信息。
步骤S302,根据网络拓扑100,分析出第一网络装置112和第二网络装置114之间的多条传输路径及多个第一候选不相交路径组,每个所述第一候选不相交路径组包括从所述多条传输路径中选择的两两之间均没有共用传输路段的至少两条候选传输路径。
步骤S304,从多个所述第一候选不相交路径组中选择出一个相容度最高的第一不相交路径组,所述第一不相交路径组包括第一传输路径。
步骤S306,为所述MPTCP会话的第一子流配置第一传输路径。第一传输路径可以是根据传输质量从第一不相交路径组选择而出。
步骤S308,生成用于第一子流的第一流表并下发至第一子流途径的转发设备中。
步骤S300-S308用于MPTCP会话的建立及第一子流的建立。
步骤S310,监测用于在所述MPTCP会话中加入第二子流的握手信息。
步骤S312,为所述第二子流配置所述第二传输路径。
步骤S314,生成用于所述第二子流的第二流表并下发至所述第二子流途径的转发设备中。
步骤S310-S314用于MPTCP会话的建立及第二子流的建立。
步骤S316,监测用于在所述MPTCP会话中加入第三子流的握手信息。
步骤S318,判断步骤S304中的第一不相交路径组是否包括第三传输路径。如果不包括,进入步骤S320;如果包括,进入步骤S324。
步骤S320,根据所述网络拓扑,分析出所述网络拓扑中与所述第一传输路径及所述第二传输路径均不相交的多条第三候选传输路径。
步骤S322,从多个所述第三候选传输路径中选择出一个与第一传输路径及所述第二传输路径相容度最高的第三传输路径。
步骤S324,为所述第三子流配置所述第三传输路径。
步骤S326,生成用于所述第三子流的第三流表并下发至所述第三子流途径的转发设备中。
步骤S316-S326用于MPTCP会话的建立及第三子流的建立。
本发明实施例并不限制第一、第二及第三子流的建立,参照第二子流和第三子流的建立,可以进一步建立第四子流、第五子流、…。
图6是本发明实施例之网络路径优化方法的步骤流程图。
步骤S400、监测所述MPTCP会话中每个子流的传输质量。
步骤S402、判断是否存在至少一个子流的传输质量低于一个预设阀值。
如果有,进入步骤S404;如果没有,返回步骤S400。
步骤S404、为该传输质量低于所述预设阀值的子流实施处理操作,该处理操作包括重新配置传输路径,或删除子流。当实施删除操作时,进入步骤S406;当实施重新配置操作时,进入步骤S410。
步骤S406、根据删除操作生成相应的第四流表并下发至与所述第四流表关联的转发设备中。
步骤S408、对所述MPTCP会话中的其余子流的传输路径进行更新。该步骤S408包括步骤S500-S506。
如图7所示,步骤S500、依据所述其余子流的数量及所述网络拓扑,分析出与该数量匹配的多个第二候选不相交路径组。步骤S502、从多个所述第二候选不相交路径组中选择出一个相容度最高的第二不相交路径组。步骤S504、依据所述第二不相交路径组,为所述其余子流重新配置传输路径。步骤S506、根据重新配置操作生成相应的第五流表下发至相应的转发设备中。返回步骤S400。
步骤S410、根据重新配置策略生成相应的第四流表并下发至与所述第四流表关联的转发设备中。返回步骤S400。
需要说明的是,上文所述实施例,并不构成对发明保护范围的限定。任何在本发明的精神和原则内所作的修改,等同替换和改进等,均应包含在本发明的保护范围内。

Claims (14)

1.一种网络路径优化方法,应用于软件定义网络(SDN)控制器,所述SDN控制器位于网络拓扑中,其特征在于,所述方法包括:
当监测到第一网络装置和第二网络装置建立MPTCP会话的握手信息时:
根据所述网络拓扑,分析出所述第一网络装置和所述第二网络装置之间的多条传输路径及多个第一候选不相交路径组,每个所述第一候选不相交路径组包括从所述多条传输路径中选择的且两两之间均没有共用传输路段的至少两条候选传输路径;
从多个所述第一候选不相交路径组中选择出一个相容度最高的第一不相交路径组,所述第一不相交路径组包括第一传输路径;
为所述MPTCP会话的第一子流配置所述第一传输路径;及
生成用于所述第一子流的第一流表并下发至所述第一子流途径的转发设备中。
2.如权利要求1所述之网络路径优化方法,其特征在于,所述第一不相交路径组还包括第二传输路径,所述方法还包括:
监测用于在所述MPTCP会话中加入第二子流的握手信息;
为所述第二子流配置所述第二传输路径;及
生成用于所述第二子流的第二流表并下发至所述第二子流途径的转发设备中。
3.如权利要求2所述之网络路径优化方法,其特征在于,每个所述第一候选不相交路径组包括两条候选传输路径,所述方法还包括:
监测用于在所述MPTCP会话中加入第三子流的握手信息;
根据所述网络拓扑,分析出所述网络拓扑中与所述第一传输路径及所述第二传输路径均不相交的多条第三候选传输路径;
从多个所述第三候选传输路径中选择出一条与所述第一传输路径及所述第二传输路径相容度最高的第三传输路径;
为所述第三子流配置所述第三传输路径;
生成用于所述第三子流的第三流表并下发至所述第三子流途径的转发设备中。
4.如权利要求2所述之网络路径优化方法,其特征在于,每个所述第一候选不相交路径组包括三条候选传输路径,所述第一不相交路径组还包括第三传输路径,所述方法还包括:
监测所述MPTCP会话中加入第三子流的握手信息;
为所述第三子流配置所述第三传输路径;及
生成用于所述第三子流的第三流表并下发至所述第三子流途径的转发设备中。
5.如权利要求2-4任意一项所述之网络路径优化方法,其特征在于,还包括:
监测所述MPTCP会话中每个子流的传输质量;
当其中一个子流的传输质量低于一个预设阀值时,为该传输质量低于所述预设阀值的子流重新配置传输路径,或删除该传输质量低于所述预设阀值的子流;
根据重新配置操作或删除操作,生成相应的第四流表并下发至与所述第四流表关联的转发设备中。
6.如权利要求5所述之网络路径优化方法,其特征在于,所述删除该传输质量低于所述预设阀值的子流之后,还包括:
对所述MPTCP会话中的其余子流的传输路径进行更新:
依据所述其余子流的数量及所述网络拓扑,分析出与该数量匹配的多个第二候选不相交路径组;
从多个所述第二候选不相交路径组中选择出一个相容度最高的第二不相交路径组;
依据所述第二不相交路径组,为所述其余子流更新传输路径;及
根据更新操作生成相应的第五流表下发至相应的转发设备中。
7.如权利要求1所述之网络路径优化方法,其特征在于,还包括:
量化每个所述第一候选不相交路径组的相容度以得到相应的相容度值:
当一个所述第一候选不相交路径组包括两条候选传输路径时,其相容度值为:该一个所述第一候选不相交路径组内的两条所述候选传输路径带宽之和与两条所述候选传输路径带宽之比的乘积,其中,两条所述候选传输路径带宽之比恒不大于1;
当一个所述第一候选不相交路径组包括至少三条候选传输路径时,其相容度值为:该一个所述第一候选不相交路径组内的组内的至少三条所述候选传输路径两两之间的相容度的平均值。
8.一种SDN控制器,所述SDN控制器位于网络拓扑中,其特征在于,所述SDN控制器包括:
第一监测模块,用于监测第一网络装置和第二网络装置建立MPTCP会话的握手信息;
分析模块,用于根据所述网络拓扑,分析出所述第一网络装置和所述第二网络装置之间的多条传输路径及多个第一候选不相交路径组,每个所述第一候选不相交路径组包括从所述多条传输路径中选择的且两两之间均没有共用传输路段的至少两条候选传输路径;
选择模块,用于从多个所述第一候选不相交路径组中选择出一个相容度最高的第一不相交路径组,所述第一不相交路径组包括第一传输路径;
配置模块,用于为所述MPTCP会话的第一子流配置所述第一传输路径;及
部署模块,用于生成用于所述第一子流的第一流表并下发至所述第一子流途径的转发设备中。
9.如权利要求8所述之SDN控制器,其特征在于,所述第一不相交路径组还包括第二传输路径:
所述第一监测模块,还用于监测用于在所述MPTCP会话中加入第二子流的握手信息;
所述配置模块,还用于为所述第二子流配置所述第二传输路径;及
所述部署模块,还用于生成用于所述第二子流的第二流表并下发至所述第二子流途径的转发设备中。
10.如权利要求9所述之SDN控制器,其特征在于,每个所述第一候选不相交路径组包括两条候选传输路径:
所述第一监测模块,还用于监测用于在所述MPTCP会话中加入第三子流的握手信息;
所述分析模块,还用于根据所述网络拓扑,分析出所述网络拓扑中与所述第一传输路径及所述第二传输路径均不相交的多条第三候选传输路径;
所述选择模块,还用于从多个所述第三候选传输路径中选择出一条与所述第一传输路径及所述第二传输路径相容度最高的第三传输路径;
所述配置模块,还用于为所述第三子流配置所述第三传输路径;
所述部署模块,还用于生成用于所述第三子流的第三流表并下发至所述第三子流途径的转发设备中。
11.如权利要求9所述之SDN控制器,其特征在于,每个所述第一候选不相交路径组包括三条候选传输路径,所述第一不相交路径组还包括第三传输路径:
所述第一监测模块,还用于监测所述MPTCP会话中加入第三子流的握手信息;
所述配置模块,还用于为所述第三子流配置所述第三传输路径;及
所述部署模块,还用于生成用于所述第三子流的第三流表并下发至所述第三子流途径的转发设备中。
12.如权利要求9-11任意一项所述之SDN控制器,其特征在于,还包括第二监测模块:
所述第二监测模块,用于监测所述MPTCP会话中每个子流的传输质量;
所述配置模块,还用于当其中一个子流的传输质量低于一个预设阀值时,为该传输质量低于所述预设阀值的子流重新配置传输路径,或删除该传输质量低于所述预设阀值的子流;
所述部署模块,还用于根据重新配置操作或删除操作,生成相应的第四流表并下发至与所述第四流表关联的转发设备中。
13.如权利要求12所述之SDN控制器,其特征在于,所述删除该传输质量低于所述预设阀值的子流之后,还包括:
更新模块,用于对所述MPTCP会话中的其余子流的传输路径进行更新:
依据所述其余子流的数量及所述网络拓扑,分析出与该数量匹配的多个第二候选不相交路径组;
从多个所述第二候选不相交路径组中选择出一个相容度最高的第二不相交路径组;
依据所述第二不相交路径组,为所述其余子流更新传输路径;及
根据更新操作生成相应的第五流表下发至相应的转发设备中。
14.如权利要求8所述之SDN控制器,其特征在于,还包括:
量化模块,用于量化每个第一候选不相交路径组的相容度以得到相应的相容度值:
当一个所述第一候选不相交路径组包括两条候选传输路径时,其相容度值为:该一个所述第一候选不相交路径组内的两条所述候选传输路径带宽之和与两条所述候选传输路径带宽之比的乘积,其中,两条所述候选传输路径带宽之比恒不大于1;
当一个所述第一候选不相交路径组包括至少三条候选传输路径时,其相容度值为:该一个所述第一候选不相交路径组内的组内的至少三条所述候选传输路径两两之间的相容度的平均值。
CN201610938903.3A 2016-10-27 2016-10-31 网络路径优化方法及sdn控制器 Expired - Fee Related CN107995108B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/336755 2016-10-27
US15/336,755 US10091097B2 (en) 2016-10-27 2016-10-27 Transmission path optimization method and software-defined networking controller using the method

Publications (2)

Publication Number Publication Date
CN107995108A true CN107995108A (zh) 2018-05-04
CN107995108B CN107995108B (zh) 2021-07-13

Family

ID=62022697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610938903.3A Expired - Fee Related CN107995108B (zh) 2016-10-27 2016-10-31 网络路径优化方法及sdn控制器

Country Status (3)

Country Link
US (1) US10091097B2 (zh)
CN (1) CN107995108B (zh)
TW (1) TWI653855B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109257282A (zh) * 2018-08-09 2019-01-22 北京邮电大学 一种数据传输方法及装置
CN112769697A (zh) * 2020-12-22 2021-05-07 广州技象科技有限公司 多用户接入的传输路径分配方法及装置
WO2022180666A1 (ja) * 2021-02-24 2022-09-01 日本電信電話株式会社 通信システム、通信方法、中継サーバ及びプログラム
WO2022180665A1 (ja) * 2021-02-24 2022-09-01 日本電信電話株式会社 通信システム、通信方法、接続先管理サーバ及びプログラム
CN115379469A (zh) * 2022-08-12 2022-11-22 江苏省电力试验研究院有限公司 一种基于机器学习的多接入异构网络mptcp子流调度方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106716950B (zh) * 2014-09-30 2021-06-01 华为技术有限公司 多路径传输控制协议通信的地址管理装置、系统及方法
CN113162854B (zh) * 2017-01-27 2022-11-15 华为技术有限公司 路径计算方法和装置
US11088947B2 (en) * 2017-05-04 2021-08-10 Liveu Ltd Device, system, and method of pre-processing and data delivery for multi-link communications and for media content
CN111213401B (zh) * 2017-08-18 2023-08-29 诺基亚技术有限公司 用于无线混合接入网络的业务分布控制
US11303560B2 (en) * 2017-09-15 2022-04-12 Nokia Technologies Oy HCPE-based intelligent path selection over a multipath network
CN108737198B (zh) * 2018-06-22 2021-08-13 深圳市信锐网科技术有限公司 一种快速部署交换机的方法、系统及相关装置
CN111277423B (zh) * 2018-12-04 2022-05-20 中兴通讯股份有限公司 数据中心流量互通方法、装置、设备及存储介质
CN110113263A (zh) * 2019-05-16 2019-08-09 北京邮电大学 一种通信路径确定方法及装置
CN110535697B (zh) * 2019-08-22 2021-05-11 杭州趣链科技有限公司 一种均衡区块链跨域广播网络负载的方法
CN112910713A (zh) * 2021-03-02 2021-06-04 山东省计算中心(国家超级计算济南中心) 云边数据分流传输方法、边缘节点、控制中心及存储介质
CN114567582B (zh) * 2022-02-24 2022-11-22 南京航空航天大学 一种基于路径跟踪反馈的sdn网络可信路由调度方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811453A (zh) * 2012-08-17 2012-12-05 武汉大学 一种工业无线网状网络多径路由的选路判定方法
CN105337857A (zh) * 2015-11-23 2016-02-17 北京邮电大学 一种基于软件定义网络的多路径传输方法
CN105491178A (zh) * 2015-11-23 2016-04-13 北京邮电大学 一种基于软件定义网络的主机网卡ip地址获取方法
CN105553845A (zh) * 2016-01-19 2016-05-04 重庆邮电大学 一种软件定义网络路由选择方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201214187A (en) 2010-09-17 2012-04-01 Nat Univ Tsing Hua Embedded anti-thief system and method thereof for executing anti-thief
WO2013059683A1 (en) * 2011-10-19 2013-04-25 The Regents Of The University Of California Comprehensive multipath routing for congestion and quality-of-service in communication networks
TW201325103A (zh) 2011-12-09 2013-06-16 Nat Univ Tsing Hua 低功率無線感測系統之雙層基板與製造方法
US9571384B2 (en) 2013-08-30 2017-02-14 Futurewei Technologies, Inc. Dynamic priority queue mapping for QoS routing in software defined networks
US9112794B2 (en) * 2013-11-05 2015-08-18 International Business Machines Corporation Dynamic multipath forwarding in software defined data center networks
TWI542172B (zh) 2014-09-22 2016-07-11 財團法人工業技術研究院 路徑更換方法與系統及其控制器
TWI607641B (zh) * 2016-07-12 2017-12-01 國立清華大學 軟體定義網路的控制器及其多路徑路由方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811453A (zh) * 2012-08-17 2012-12-05 武汉大学 一种工业无线网状网络多径路由的选路判定方法
CN105337857A (zh) * 2015-11-23 2016-02-17 北京邮电大学 一种基于软件定义网络的多路径传输方法
CN105491178A (zh) * 2015-11-23 2016-04-13 北京邮电大学 一种基于软件定义网络的主机网卡ip地址获取方法
CN105553845A (zh) * 2016-01-19 2016-05-04 重庆邮电大学 一种软件定义网络路由选择方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙茂鑫: "SDN 网络环境下的MPTCP 的移动切换机制", 《计算机技术与发展》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109257282A (zh) * 2018-08-09 2019-01-22 北京邮电大学 一种数据传输方法及装置
CN109257282B (zh) * 2018-08-09 2020-07-14 北京邮电大学 一种数据传输方法及装置
CN112769697A (zh) * 2020-12-22 2021-05-07 广州技象科技有限公司 多用户接入的传输路径分配方法及装置
WO2022180666A1 (ja) * 2021-02-24 2022-09-01 日本電信電話株式会社 通信システム、通信方法、中継サーバ及びプログラム
WO2022180665A1 (ja) * 2021-02-24 2022-09-01 日本電信電話株式会社 通信システム、通信方法、接続先管理サーバ及びプログラム
CN115379469A (zh) * 2022-08-12 2022-11-22 江苏省电力试验研究院有限公司 一种基于机器学习的多接入异构网络mptcp子流调度方法
CN115379469B (zh) * 2022-08-12 2023-11-28 江苏省电力试验研究院有限公司 一种基于机器学习的多接入异构网络mptcp子流调度方法

Also Published As

Publication number Publication date
US20180123948A1 (en) 2018-05-03
TW201817199A (zh) 2018-05-01
TWI653855B (zh) 2019-03-11
US10091097B2 (en) 2018-10-02
CN107995108B (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
CN107995108A (zh) 网络路径优化方法及sdn控制器
CN106063195B (zh) 具有单独控制设备和转发设备的网络中的控制设备发现
CN104092604B (zh) 报文传输控制方法及装置
CN106375214B (zh) 一种基于sdn的层次化路由路径确定方法及装置
US8228818B2 (en) Systems, methods, and devices for monitoring networks
CN103081418B (zh) 计算机系统和计算机系统中的通信方法
CN108400934B (zh) 软件定义网络控制器、服务功能链系统及路径追踪方法
Sandri et al. On the benefits of using multipath tcp and openflow in shared bottlenecks
CN105991430A (zh) 跨多个自治网络系统的数据路由
CN104579961B (zh) 数据报文的调度方法及装置
CN104618237B (zh) 一种基于tcp/udp的广域网加速系统及方法
CN105049299A (zh) 时延状态信息的检测方法及装置、网络架构
CN106817299B (zh) 软件定义网络的表项生成方法和装置以及报文转发方法
CN104106244A (zh) 控制装置、通信系统、通信方法和程序
CN108809847A (zh) 实现负载均衡的方法、装置和网络系统
CN106330597A (zh) Vxlan隧道端点vtep之间的路径可达检测方法和装置
CN105099938A (zh) 网络中拥塞窗口的确定方法和装置
CN103780509A (zh) 报文转发方法和路由转发设备
CN102694732A (zh) 一种基于局部虚拟化的虚拟网构建方法和系统
CN106302204A (zh) 传输处理方法及装置
US7903557B1 (en) Multipathing using multiple endpoint addresses for load balancing in a network
KR20180122513A (ko) Sdn 기반 네트워크 가상화 플랫폼의 네트워크 하이퍼바이저에서 트래픽 엔지니어링 방법 및 프레임워크
CN104994019B (zh) 一种用于sdn控制器的水平方向接口系统
Burakowski et al. Virtualized network infrastructure supporting co-existence of Parallel Internets
CN105207906B (zh) 一种业务路径确定方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210713