CN108574615A - 一种基于多路径mptcp的内容传输方法、设备及系统 - Google Patents
一种基于多路径mptcp的内容传输方法、设备及系统 Download PDFInfo
- Publication number
- CN108574615A CN108574615A CN201710147590.4A CN201710147590A CN108574615A CN 108574615 A CN108574615 A CN 108574615A CN 201710147590 A CN201710147590 A CN 201710147590A CN 108574615 A CN108574615 A CN 108574615A
- Authority
- CN
- China
- Prior art keywords
- network node
- tunnel
- nms
- address
- network
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种基于多路径MPTCP的内容传输方法、设备及系统,该方法包括:网络管理系统NMS获取第一网络节点的IP地址和第二网络节点的IP地址;该NMS根据该第一网络节点的IP地址和该第二网络节点的IP地址确定该第一网络节点与该第二网络节点之间的隧道,该NMS中预存了根据该NMS管理的各个网络节点的IP地址配置的隧道的信息;该NMS向该第一网络节点和该第二网络节点中的至少一个网络节点发送目标隧道的信息,以使该第一网络节点和该第二网络节点根据该目标隧道的信息在该目标隧道上建立连接,该目标隧道为该第一网络节点与该第二网络节点之间的隧道。采用本发明实施例,能够提高隧道连接的建立效率。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种基于多路径(Multi-path TCP,MPTCP)的内容传输方法、设备及系统。
背景技术
视频的传输对带宽和时延的要求比Web高很多,内容供应商为了提高用户观看视频的体验以及减少给承载网带来的带宽压力,通常会采用内容传输网络(ContentDelivery Network,CDN)进行视频传输。另外,如果CDN网络中的客户端与服务器(用户可以通过客户端观看视频,服务器用于为客户端提供视频)采用隧道技术可以极大地提高视频数据的传输效率(例如,多协议标记交换(Multiprotocol Label Switching,MPLS)中的隧道可以按需动态创建和删除),当服务器和客户端均存在多个网络之间互连的协议(Internet Protocol,IP)地址时可以通过网络管理系统(Network Management System,NMS)在该服务器到该客户端之间配置多个隧道。此时,可以采用MPTCP技术来充分地利用这多条隧道,以便进一步提高数据传输的效率和质量(Quality of Service,QOS),能够满足4K/8K/VR等内容的传输。当客户端与服务器基于MPTCP技术进行传输时,客户端和服务器不知道它们之间哪些路径是属于隧道,只能通过逐条试错的方法来通过相应的测量确定哪些路径属于隧道,确定隧道包括如下步骤:
前提:假设客户端有3个IP地址C1、C2和C3,服务器有4个IP地址S1、S2、S3和S4,服务器和客户端之间具有3条带宽为1G的隧道,分别配置在C1与S1之间、C2与S2之间、C3与S3之间,可以依次表示为[C1,S1,1Gbps]、[C2,S2,1Gbps]、[C3,S3,1Gbps]。
步骤1:客户端和服务器之间建立初始连接。该初始连接是为该客户端与该服务器之间当前的传输建立的第一个连接,该初始连接的建立实际上包含三步握手的过程:首先客户端地址C1向服务器地址S1发送连接请求SYN+MP_CAPABLE[Key-Client];之后,服务器向客户端发送确认信息SYN+ACK+MP_CAPABLE[Key-Server];最后,客户端向服务器发送确认信息ACK+MP_CAPABLE[Key-Client,Key-Server]。至此,初始连接建立完成。这里面的Key-Client和Key-Server是客户端和服务器分别按照预先约定的算法生成的,仅在初始连接建立过程中会明文传输。之后,用对Key进行Hash并得到Token用来标识该连接。该客户端使用Token-Client=Hash(Key-Client)来表示该初始连接,该服务器采用Token-Server=Hash(Key-Server)来表示该初始连接。
步骤2:服务器向客户端发送该服务器的其他IP地址信息。由于客户端在向服务器请求内容传输时,仅知道服务器的1个IP地址(如通过DNS获得),不知道其他IP地址。所以,服务器需要依次把自己其他的IP地址S2、S3和S4的信息发送给客户端,以便客户端可以通过该其他IP地址与服务器建立新的连接,例如,S2、S3和S4的信息可以依次表示为(ADD_ADDR,S2)、(ADD_ADDR,S3)和(ADD_ADDR,S4)。
步骤3:客户端根据服务器发送的该服务器的其他IP地址,依次与服务器建立新连接。每个新连接的建立要经历四步握手的过程,以建立C1到S2之间的连接为例:首先,客户端地址C1向服务器的新地址S2发送在初始连接的基础上新建连接的请求SYN+MP_JOIN[Token-Server,C1]。之后,服务器响应客户端请求,并向客户端发送鉴权信息SYN+ACK+MP_JOIN[Auth-Server,S2];其中Auth-Server=hash(Key-Server,Key-Client),鉴权的目的是确认服务器具有初始连接的相关标识。之后,客户端向服务器发送鉴权信息ACK+MP_JOIN[Auth-Client];其中,Auth-Client=hash(Key-Client,Key-Server);鉴权的目的是证明客户端具有初始连接的相关标识。最后,服务器向客户端发送ACK确认新建C1到S2的连接成功。可以理解的是,建立C1到S3、S4之间的连接,建立C2到S1、S2、S3、S4之间的连接,以及建立C3到S1、S2、S3、S4之间的连接的原理与建立C1到S2直接的连接的原理类似,此处不再赘述;客户端地址C1,C2和C3最多可以和服务器地址S1,S2,S3,S4之间建立3*4=12个连接。
步骤4:客户端判断已建立的哪些连接属于建立在隧道上的连接(可简称“隧道连接”)。需要说明的是,在多路径MPTCP传输过程中,过多的连接会导致数据包分解和整合的代价很高,因此有时候也会限制多路径传输中的路径数量,所以客户端需要保留尽可能少的连接,通常情况下更倾向于保留隧道连接。判断是否为隧道连接的标准可以通过测量每个连接的平均传输速率来得到,比如,把平均传输速率位于TOP 30%的连接作为隧道连接。需要注意的是,由于受网络拥塞的影响,非隧道连接(指不建立在隧道上的连接)的传输速率很不稳定,有可能客户端在做判断的时候该非隧道连接传输速率较高,会让客户端误认为这是隧道连接,并删除真正的隧道连接,从而影响整体传输速率的稳定性。
步骤5:客户端结束基于传输速率确定出的非隧道连接。该过程与普通传输控制协议(Transmission Control Protocol,TCP)连接断开过程一样。例如,客户端要结束地址C1和服务器地址S4之间的连接,其过程为:首先,客户端向服务器发送FIN+ACK请求结束该连接;服务器接收到客户端请求之后,向客户端发送ACK消息表示同意断开连接;服务器继续发送未结束的数据,并在数据全部发送完毕之后向客户端发送FIN消息告诉客户端所有数据已经传输结束;客户端向服务器发送ACK消息,确认C1和S4之间的TCP连接已经结束。结束其他非隧道连接的方式同结束C1与S4之间的非隧道连接的方式类似,此处不再赘述。
现有技术的问题在于,客户端和服务器之间基于MPTCP技术进行传输时,需要进行3*4=12次试错,才可以确认C1与S1之间的连接、C2与S2之间的连接、C3与S3之间连接为建立在隧道上的连接,即建立隧道连接时建立的效率较低。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于多路径MPTCP的内容传输方法、设备及系统,能够提高隧道连接建立的效率。
第一方面,本发明实施例提供了一种基于多路径MPTCP的内容传输方法,该方法包括:网络管理系统NMS获取第一网络节点的IP地址和第二网络节点的IP地址;该NMS根据该第一网络节点的IP地址和该第二网络节点的IP地址确定该第一网络节点与该第二网络节点之间的隧道,该NMS中预存了根据该NMS管理的各个网络节点的IP地址配置的隧道的信息;该NMS向该第一网络节点和该第二网络节点中的至少一个网络节点发送目标隧道的信息,以使该第一网络节点和该第二网络节点根据该目标隧道的信息在该目标隧道上建立连接,该目标隧道为该第一网络节点与该第二网络节点之间的隧道。
通过执行上述步骤,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
在一种可能的实现方式中,该网络管理系统NMS获取第一网络节点的IP地址和第二网络节点的IP地址,包括:网络管理系统NMS接收第一网络节点发送的该第一网络节点的IP地址,以及接收该第二网络节点发送的该第二网络节点的IP地址。
在又一种可能的实现方式中,该网络管理系统NMS获取第一网络节点的IP地址和第二网络节点的IP地址,包括:网络管理系统NMS接收第一网络节点发送的该第一网络节点的IP地址和第二网络节点的IP地址,该第二网络节点的IP地址由该第二网络节点预先发送给该第一网络节点。
在又一种可能的实现方式中,该NMS向该第一网络节点和该第二网络节点中的至少一个网络节点发送目标隧道的信息,包括:该NMS向该第一网络节点和该第二网络节点发送目标隧道的信息。
在又一种可能的实现方式中,该NMS向该第一网络节点和该第二网络节点中的至少一个网络节点发送目标隧道的信息,包括:该NMS向该第一网络节点发送目标IP地址信息,该第一网络节点用于将该目标隧道的信息发送给该第二网络节点。
在又一种可能的实现方式中,该方法还包括:该NMS接收该第一网络节点发送的用于请求删除该目标隧道的第一请求指令;该NMS根据该第一请求指令删除该目标隧道。
在又一种可能的实现方式中,该方法还包括:该NMS接收该第一网络节点发送第二请求指令,该第二请求指令用于请求建立该第一网络节点与该第二网络节点之间的新隧道;该NMS根据该第二请求指令在该第一网络节点与该第二网络接间配置新隧道。
第二方面,本发明实施例提供一种基于多路径MPTCP的内容传输方法,该方法包括:第一网络节点向网络管理系统NMS发送该第一网络节点的IP地址,以使该NMS根据预先获取的第二网络节点的IP地址和该第一网络节点的IP地址确定该第一网络节点与该第二网络节点之间的隧道,该NMS中预存了根据该NMS管理的各个网络节点的IP地址配置的隧道的信息,该第一网络节点和该第二网络节点之间建立了初始连接,该初始连接是为该第一网络节点与该第二网络节点之间当前的传输建立的第一个连接;该第一网络节点接收该NMS发送的目标隧道的信息,该目标隧道为该第一网络节点与该第二网络节点之间的隧道;该第一网络节点根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接。
通过执行上述操作,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
在一种可能的实现方式中,该第一网络节点接收该NMS发送的目标隧道的信息之前,该方法还包括:该第一网络节点接收该第二网络节点发送的该第二网络节点的IP地址;该第一网络节点将该第二网络节点的IP地址发送给该NMS。
在又一种可能的实现方式中,该第一网络节点接收该NMS发送的目标隧道的信息之后,该第一网络节点根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之前,该方法还包括:该第一网络节点将该目标隧道的信息发送给该第二网络节点,该目标隧道的信息用于该第二网络节点与该第一网络节点在该目标隧道上建立连接。
在又一种可能的实现方式中,该第一网络节点根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之后,该方法还包括:该第一网络节点确定该初始连接不建立在该目标隧道上;该第一网络节点与该第二网络节点中断该初始连接。
在又一种可能的实现方式中,该第一网络节点根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之后,该方法还包括:该第一网络节点分析该目标隧道的带宽占用情况;该第一网络节点在该目标隧道的带宽的占用率低于第一预设阈值时向该NMS发送第一请求指令,以使该NMS根据该第一请求指令删除该目标隧道。
在一种可能的实现方式中,该方法还包括:该第一网络节点在该目标隧道的带宽的占用率高于第二预设阈值时向该NMS发送第二请求指令,以使该NMS根据该第二请求指令在该第一网络节点与该第二网络接间配置新隧道。
第三方面,本发明实施例提供一种基于多路径MPTCP的网络管理系统NMS,该NMS包括获取单元、第一确定单元和第一发送单元,其中:获取单元,用于获取第一网络节点的IP地址和第二网络节点的IP地址;第一确定单元,用于根据该第一网络节点的IP地址和该第二网络节点的IP地址确定该第一网络节点与该第二网络节点之间的隧道,该NMS中预存了根据该NMS管理的各个网络节点的IP地址配置的隧道的信息;第一发送单元,用于向该第一网络节点和该第二网络节点中的至少一个网络节点发送目标隧道的信息,以使该第一网络节点和该第二网络节点根据该目标隧道的信息在该目标隧道上建立连接,该目标隧道为该第一网络节点与该第二网络节点之间的隧道。
通过运行上述单元,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
在一种可能的实现方式中,该获取单元具体用于接收第一网络节点发送的该第一网络节点的IP地址,以及接收该第二网络节点发送的该第二网络节点的IP地址。
在又一种可能的实现方式中,该获取单元具体用于接收第一网络节点发送的该第一网络节点的IP地址和第二网络节点的IP地址,该第二网络节点的IP地址由该第二网络节点预先发送给该第一网络节点。
在又一种可能的实现方式中,该第一发送单元具体用于向该第一网络节点和该第二网络节点发送目标隧道的信息。
在又一种可能的实现方式中,该第一发送单元具体用于向该第一网络节点发送目标IP地址信息,该第一网络节点用于将该目标隧道的信息发送给该第二网络节点。
在又一种可能的实现方式中,还包括:第一接收单元,用于接收该第一网络节点发送的用于请求删除该目标隧道的第一请求指令;删除单元,用于根据该第一请求指令删除该目标隧道。
在又一种可能的实现方式中,还包括:第二接收单元,用于接收该第一网络节点发送第二请求指令,该第二请求指令用于请求建立该第一网络节点与该第二网络节点之间的新隧道;配置单元,用于根据该第二请求指令在该第一网络节点与该第二网络接间配置新隧道。
第四方面,本发明实施例提供一种基于多路径MPTCP的内容传输节点,该节点为第一网络节点,该第一网络节点包括第二发送单元、第三接收单元和建立单元,其中,第二发送单元,用于向网络管理系统NMS发送该第一网络节点的IP地址,以使该NMS根据预先获取的第二网络节点的IP地址和该第一网络节点的IP地址确定该第一网络节点与该第二网络节点之间的隧道,该NMS中预存了根据该NMS管理的各个网络节点的IP地址配置的隧道的信息,该第一网络节点和该第二网络节点之间建立了初始连接,该初始连接是为该第一网络节点与该第二网络节点之间当前的传输建立的第一个连接;第三接收单元,用于接收该NMS发送的目标隧道的信息,该目标隧道为该第一网络节点与该第二网络节点之间的隧道;建立单元,用于根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接。
通过运行上述单元,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
在一种可能的实现方式中,还包括:第四接收单元,用于在该第三接收单元接收该NMS发送的目标隧道的信息之前,接收该第二网络节点发送的该第二网络节点的IP地址;第三发送单元,用于将该第二网络节点的IP地址发送给该NMS。
在又一种可能的实现方式中,还包括:第四发送单元,用于在该第三接收单元接收该NMS发送的目标隧道的信息之后,该建立单元根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之前,将该目标隧道的信息发送给该第二网络节点,该目标隧道的信息用于该第二网络节点与该第一网络节点在该目标隧道上建立连接。
在又一种可能的实现方式中,还包括:第二确定单元,用于在该建立单元根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之后,确定该初始连接不建立在该目标隧道上;中断单元,用于与该第二网络节点中断该初始连接。
在又一种可能的实现方式中,还包括:分析单元,用于在该建立单元根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之后,分析该目标隧道的带宽占用情况;第五发送单元,用于在该目标隧道的带宽的占用率低于第一预设阈值时向该NMS发送第一请求指令,以使该NMS根据该第一请求指令删除该目标隧道。
在又一种可能的实现方式中,还包括:第六发送单元,用于在该目标隧道的带宽的占用率高于第二预设阈值时向该NMS发送第二请求指令,以使该NMS根据该第二请求指令在该第一网络节点与该第二网络接间配置新隧道。
第五方面,本发明实施例提供一种基于多路径MPTCP的网络管理系统NMS,该NMS包括处理器、存储器和通信接口,该存储器用于存储程序和数据,该处理器调用该存储器中的程序,用于执行如下操作:获取第一网络节点的IP地址和第二网络节点的IP地址;根据该第一网络节点的IP地址和该第二网络节点的IP地址确定该第一网络节点与该第二网络节点之间的隧道,该NMS中预存了根据该NMS管理的各个网络节点的IP地址配置的隧道的信息;通过该通信接口向该第一网络节点和该第二网络节点中的至少一个网络节点发送目标隧道的信息,以使该第一网络节点和该第二网络节点根据该目标隧道的信息在该目标隧道上建立连接,该目标隧道为该第一网络节点与该第二网络节点之间的隧道。
通过执行上述操作,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
在一种可能的实现方式中,该处理器获取第一网络节点的IP地址和第二网络节点的IP地址,具体为:通过该通信接口接收第一网络节点发送的该第一网络节点的IP地址,以及接收该第二网络节点发送的该第二网络节点的IP地址。
在又一种可能的实现方式中,该处理器获取第一网络节点的IP地址和第二网络节点的IP地址,具体为:通过该通信接口接收第一网络节点发送的该第一网络节点的IP地址和第二网络节点的IP地址,该第二网络节点的IP地址由该第二网络节点预先发送给该第一网络节点。
在又一种可能的实现方式中,该处理器通过该通信接口向该第一网络节点和该第二网络节点中的至少一个网络节点发送目标隧道的信息,具体为:通过该通信接口向该第一网络节点和该第二网络节点发送目标隧道的信息。
在又一种可能的实现方式中,该处理器通过该通信接口向该第一网络节点和该第二网络节点中的至少一个网络节点发送目标隧道的信息,具体为:通过该通信接口向该第一网络节点发送目标IP地址信息,该第一网络节点用于将该目标隧道的信息发送给该第二网络节点。
在又一种可能的实现方式中,该方法还包括:该通过该通信接口接收该第一网络节点发送的用于请求删除该目标隧道的第一请求指令;根据该第一请求指令删除该目标隧道。
在又一种可能的实现方式中,该方法还包括:该处理器通过该通信接口接收该第一网络节点发送第二请求指令,该第二请求指令用于请求建立该第一网络节点与该第二网络节点之间的新隧道;根据该第二请求指令在该第一网络节点与该第二网络接间配置新隧道。
第六方面,本发明实施例提供一种基于多路径MPTCP的内容传输节点,该节点为第一网络节点,该第一网络节点包括处理器、存储器和通信接口,该存储器用于存储程序和数据,该处理器调用该存储器中的程序,用于执行如下操作:通过该通信接口向网络管理系统NMS发送该第一网络节点的IP地址,以使该NMS根据预先获取的第二网络节点的IP地址和该第一网络节点的IP地址确定该第一网络节点与该第二网络节点之间的隧道,该NMS中预存了根据该NMS管理的各个网络节点的IP地址配置的隧道的信息,该第一网络节点和该第二网络节点之间建立了初始连接,该初始连接是为该第一网络节点与该第二网络节点之间当前的传输建立的第一个连接;通过该通信接口接收该NMS发送的目标隧道的信息,该目标隧道为该第一网络节点与该第二网络节点之间的隧道;根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接。
通过执行上述操作,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
在一种可能的实现方式中,该处理器通过该通信接口接收该NMS发送的目标隧道的信息之前,该处理器还用于:通过该通信接口接收该第二网络节点发送的该第二网络节点的IP地址;将该第二网络节点的IP地址发送给该NMS。
在又一种可能的实现方式中,该处理器通过该通信接口接收该NMS发送的目标隧道的信息之后,该处理器根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之前,该处理器还用于:将该目标隧道的信息通过该通信接口发送给该第二网络节点,该目标隧道的信息用于该第二网络节点与该第一网络节点在该目标隧道上建立连接。
在又一种可能的实现方式中,该处理器根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之后,该处理器还用于:确定该初始连接不建立在该目标隧道上;与该第二网络节点中断该初始连接。
在又一种可能的实现方式中,该处理器根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之后,该处理器还用于:分析该目标隧道的带宽占用情况;在该目标隧道的带宽的占用率低于第一预设阈值时通过该通信接口向该NMS发送第一请求指令,以使该NMS根据该第一请求指令删除该目标隧道。
在又一种可能的实现方式中,该处理器还用于:在该目标隧道的带宽的占用率高于第二预设阈值时通过该通信接口向该NMS发送第二请求指令,以使该NMS根据该第二请求指令在该第一网络节点与该第二网络接间配置新隧道。
第七方面,本发明实施例提供一种基于多路径MPTCP的内容传输系统,该系统包括网络管理系统NMS和第一网络节点,该NMS为第三方面,或者第三方面的任一可能的实现方式,或者第五方面,或者第五方面的任一可能的实现方式所描述的网络管理系统NMS;该第一网络节点为第四方面,或者第四方面的任一可能的实现方式,或者第六方面,或者第六方面的任一可能的实现方式所描述的网络管理系统NMS。
第八方面,本发明实施例提供一种存储介质,该存储介质用于存储指令,该指令在计算机上运行时执行第一方面或者第一方面的任意可能实现方式所描述的方法。
第九方面,本发明实施例提供一种存储介质,该存储介质用于存储指令,该指令在计算机上运行时执行第二方面或者第二方面的任意可能实现方式所描述的方法。
通过实施本发明实施例,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是本发明实施例提供的一种基于多路径MPTCP的内容传输系统的结构示意图;
图2A是本发明实施例提供的一种第一网络节点的结构示意图;
图2B是本发明实施例提供的一种网络管理系统的结构示意图;
图3是本发明实施例提供的一种基于多路径MPTCP的内容传输方法的流程示意图;
图4是本发明实施例提供的又一种第一网络节点的结构示意图;
图5是本发明实施例提供的又一种网络管理系统的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
请参见图1,图1是本发明实施例提供的一种基于多路径MPTCP的内容传输系统20的结构示意图,该系统20至少包括第一网络节点201、第二网络节点202和网络管理系统(Network Management System,NMS)203;通常情况下,CDN网络中会存在多个网络节点(接入到该CDN网络的客户端、服务器都可以看作是该CDN网络中的网络节点),该第一网络节点201和第二网络节点202为该多个网络节点中的两个不同的网络节点,网络管理系统203用于管理该多个网络节点,例如,该网络管理系统用来维护该CDN中各个网络节点间的隧道,包括创建隧道、删除隧道等。关于第一网络节点201和第二网络节点202存在多种可能的组合方式,例如,该第一网络节点201为CDN中的客户端而该第二网络节点202为CDN中的服务器;再如,该第一网络节点201为CDN中的边缘节点而该第二网络节点202为该CDN中的中心节点;再如,该第一网络节点201为CDN中的服务器而该第二网络节点202为CDN中的客户端;再如,该第一网络节点201为CDN中的中心节点而该第二网络节点202为该CDN中的边缘节点;等等。在本发明实施例中,第一网络节点201、第二网络节点202和网络管理系统203之间需要交互信息或数据,因此该第一网络节点201、第二网络节点202和网络管理系统203之间可以通过有线或无线的方式建立连接,例如,通过通信总线进行连接。下面简单介绍一下第一网络节点201和网络管理系统203。
请参照图2A,图2A是本发明实施例提供的一种第一网络节点210的结构示意图,该第一网络节点210即为图1中所示的第一网络节点201,该第一网络节点210包括处理器2101、存储器2102和通信接口2103,该处理器2101、存储器2102和通信接口2103通过总线相互连接。存储器2102包括但不限于是随机存储记忆体(英文:Random Access Memory,简称:RAM)、只读存储器(英文:Read-Only Memory,简称:ROM)、可擦除可编程只读存储器(英文:Erasable Programmable Read Only Memory,简称:EPROM)、或便携式只读存储器(英文:Compact Disc Read-Only Memory,简称:CD-ROM),该存储器2102用于相关指令及数据。通信接口2103用于与第二网络节点202、网络管理系统203等设备进行通信,包括接收或发送一些消息、数据等。处理器2101可以是一个或多个中央处理器(英文:Central ProcessingUnit,简称:CPU),在处理器2101是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。处理器2101用于读取该存储器2102中存储的程序代码来执行或者控制该第一网络节点210上的模块来执行某些操作,需要说明的是,在后续的方法描述中提到的由第一网络节点执行的一些操作,可以看作是该处理2102来执行或者控制该第一网络节点210上的其他模块(例如,通信接口2103)来执行的。
请参照图2B,图2B是本发明实施例提供的一种网络管理系统230的结构示意图,该网络管理系统230即为图1中所示的网络管理系统203,该网络管理系统230包括处理器2301、存储器2302和通信接口2303,该处理器2301、存储器2302和通信接口2303通过总线相互连接。存储器2302包括但不限于是随机存储记忆体(英文:Random Access Memory,简称:RAM)、只读存储器(英文:Read-Only Memory,简称:ROM)、可擦除可编程只读存储器(英文:Erasable Programmable Read Only Memory,简称:EPROM)、或便携式只读存储器(英文:Compact Disc Read-Only Memory,简称:CD-ROM),该存储器2302用于相关指令及数据。通信接口2303用于与第一网络节点201、第二网络节点202等设备进行通信,包括接收或发送一些消息、数据等。处理器2301可以是一个或多个中央处理器(英文:Central ProcessingUnit,简称:CPU),在处理器2301是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。处理器2301用于读取该存储器2302中存储的程序代码来执行或者控制该网络管理系统230上的模块来执行某些操作,需要说明的是,在后续的方法描述中提到的由网络管理系统执行的一些操作,可以看作是该处理2302来执行或者控制该网络管理系统230上的其他模块(例如,通信接口2303)来执行的。
请参见图3,图3是本发明实施例提供的一种基于多路径MPTCP的内容传输方法,该方法可以基于图1所示的系统来实现,下面将以该第一网络节点为客户端且该第二网络节点为服务器为例进行描述,该方法执行时包括但不限于如下步骤:
步骤S301:第一网络节点与第二网络节点建立初始连接。
具体地,第一网络节点与第二网络节点之间采用多路径MPTCP技术进行传输,因此第一网络节点与第二网络节点之间需要建立多个连接,该第一网络节点的任意一个IP地址与该第二网络节点的任意一个IP地址可以之间可以建立一个连接,为该第一网络节点与该第二网络节点之间当前的传输(或称“传输任务”)建立的第一个连接为该初始连接。该第一网络节点与该第二网络节点之间建立初始连接的过程可以如下:该初始连接的建立实际上包含三步握手的过程:首先第一网络节点的一个IP地址向第二网络节点的一个IP地址发送连接请求SYN+MP_CAPABLE[Key-Client];之后,第二网络节点向第一网络节点发送确认信息SYN+ACK+MP_CAPABLE[Key-Server];最后,第一网络节点向第二网络节点发送确认信息ACK+MP_CAPABLE[Key-Client,Key-Server]。至此,初始连接建立完成。这里面的Key-Client和Key-Server是第一网络节点和第二网络节点分别按照预先约定的算法生成的,仅在初始连接建立过程中会明文传输。之后,用对Key进行Hash并得到Token用来标识该连接。该第一网络节点使用Token-Client=Hash(Key-Client)来表示该初始连接,该第二网络节点采用Token-Server=Hash(Key-Server)来表示该初始连接。
步骤S302:网络管理系统NMS获取第一网络节点的IP地址和第二网络节点的IP地址。
具体地,该第一网络节点和该第二网络节点中至少有一个网络节点存在多个IP地址,因此此处提到的获取第一网络节点的IP地址的数量可能为多个,获取的第二网络节点的IP地址的数量也可能为多个;在第一种情况中,此处获取的第一网络节点的IP地址是指该第一网络节点的全部IP地址,获取的第二网络节点的IP地址是指该第二网络节点的全部IP地址;在第二种情况中,此处获取的第一网络节点的IP地址是指该第一网络节点的部分IP地址,获取的第二网络节点的IP地址是指该第二网络节点的部分IP地址。下面以第一种情况为例讲述NMS获取第一网络节点的IP地址和第二网络节点的IP地址的几种可能的方式。
在一种可选的方案中,该第一网络节点将自身的所有IP地址发送给该NMS,以及该第二网络节点将自身的所有IP地址发送给该NMS,例如,该第一网络节点发送的消息的样例为Check+MPTCP-ID+[C1,C2,C3],该第二网络节点发送的消息的样例为Check+MPTCP-ID+[S1,S2,S3,S4],其中,Check可以用来表明该消息样例的类型,这样NMS就知道后续要做怎么样的操作,MPTCP-ID的作用是为了标识第一网络节点和第二网络节点采用多路径传输时的多路径的是哪个,第一网络节点发送的消息样例中的MPTCP-ID与第二网络节点发送的消息样例中的MPTCP-ID相同,来表明该第一网络节点发送的消息样例中的IP地址可以与该第二网络节点发送的消息样例中的IP地址直接形成连接。MPTCP-ID可以通过对客户端和服务器的原始标识Key-Client和Key-Server按照同一算法进行Hash得到,其中Key-Client和Key-Server在初始连接建立的过程中可以获得。另外,[C1,C2,C3]表明该第一网络节点的包括C1、C2和C3这三个IP地址;[S1,S2,S3,S4]表明该第二网络节点包括S1、S2、S3和S4这四个IP地址。相应地,该NMS接收该第一网络节点发送的该第一网络节点的所有IP地址,以及接收该第二网络节点发送的该第二网络节点的所有IP地址,至此,该NMS获取了该第一网络节点的IP地址和该第二网络节点的IP地址。
在又一种可选的方案中,该第一网络节点将自身的IP地址发送给第二网络节点,例如,初始连接建立时第二网络节点已经知道了第一网络节点的一个IP地址,假设第一网络节点共有C1、C2和C3这三个IP地址且建立初始连接用到的是C1,那么第一网络节点还需要把C2和C3这两个IP地址发送给第二网络节点,发送的消息样例可以为[ADD_ADDR,C2]和[ADD_ADDR,C3]其中,[ADD_ADDR,C2]表明该第一网络节点的IP地址还包括C2,[ADD_ADDR,C3]表明该第一网络节点的IP地址还包括C3。然后该第二网络节点将该第二网络节点的IP地址和该第一网络节点的IP地址统一发送给该NMS,此处发送的消息中可以不需要多路径连接的标识信息MPTCP-ID,即发送的消息样例为Check+[C1,C2,C3]和Check+[S1,S2,S3,S4],其中,Check+[C1,C2,C3]表明该第一网络节点包括C1、C2和C3这三个IP地址,Check+[S1,S2,S3,S4]表明该第二网络节点包括S1、S2、S3和S4这四个IP地址。相应地,该NMS接收该第二网络节点发送的该第一网络节点的IP地址和该第二网络节点的IP地址,至此,该NMS获取了该第一网络节点的IP地址和该第二网络节点的IP地址。
步骤S303:该NMS根据该第一网络节点的IP地址和该第二网络节点的IP地址确定该第一网络节点与该第二网络节点之间的隧道。
具体地,该第一网络节点和该第二网络节点均属于该NMS管理的网络节点,该NMS在本地数据库中预存了根据该NMS管理的各个网络节点的IP地址配置的隧道的信息,因此该NMS可以根据获取到的该第一网络节点的IP地址和获取到的该第二网络节点的IP地址从该本地数据库中查找出由该第一网络节点的IP地址与该第二网络节点的IP地址构成的隧道,即该第一网络节点与该第二网络节点之间的隧道。可选的,该本地数据库中还记录了每个隧道的资源情况,例如,记录了为每个隧道预留的带宽是多少,可选的,通过C1:S1:1Gbps表示IP地址C1与IP地址S1之间存在隧道,且为该隧道预留的带宽为1Gbps。
步骤S304:该NMS向该第一网络节点和该第二网络节点中的至少一个网络节点发送目标隧道的信息。
具体地,该目标隧道为该第一网络节点与该第二网络节点之间的隧道,该目标隧道的信息表明了构成该目标隧道所需要的IP地址是什么,该目标隧道的数量可以为一个也可以为多个。在一种可选的方案中,该NMS分别向第一网络节点和该第二网络节点发送给目标隧道的信息;在又一种可选的方案中,该NMS向该第二网络节点发送该目标隧道的信息,然后该第二网络节点向该第一网络节点发送该目标隧道的信息,相应地,该第一网络节点接收该目标隧道的信息;在又一种可选的方案中,该NMS向该第一网络节点发送该目标隧道的信息,然后该第一网络节点向该第二网络节点发送该目标隧道的信息,相应地,该第二网络节点接收该目标隧道的信息。
步骤S305:该第一网络节点和该第二网络节点根据该目标隧道的信息在该目标隧道上建立连接。
具体地,该第一网络节点和该第二网络节点根据接收到的该目标隧道的信息确定该目标隧道由哪些IP地址构成,然后根据确定出的IP地址在该目标隧道上建立连接。举例来说,第一网络节点包括C1、C2和C3这三个IP地址,第二网络节点包括S1、S2、S3和S4这四个IP地址,根据目标隧道的信息确定C1与S1这两个IP地址构成一个目标隧道、C2与S2这两个IP地址构成一个目标隧道、以及C3与S3这两个IP地址构成一个目标隧道,那么该第一网络节点会通过C1与第二网络节点的S1建立连接,该第一网络节点还会通过C2与第二网络节点的S2建立连接,该第一网络节点还会通过C3与第二网络节点的S3建立连接。
该第一网络节点与该第二网络节点之间除初始连接外的连接的建立过程可以经历四步握手的过程,以建立C1到S2之间的连接为例:首先,第一网络节点地址C1向第二网络节点的新地址S2发送在初始连接的基础上新建连接的请求SYN+MP_JOIN[Token-Server,C1]。之后,第二网络节点响应第一网络节点请求,并向第一网络节点发送鉴权信息SYN+ACK+MP_JOIN[Auth-Server,S2];其中Auth-Server=hash(Key-Server,Key-Client),鉴权的目的是确认第二网络节点具有初始连接的相关标识。之后,第一网络节点向第二网络节点发送鉴权信息ACK+MP_JOIN[Auth-Client];其中,Auth-Client=hash(Key-Client,Key-Server);鉴权的目的是证明第一网络节点具有初始连接的相关标识。最后,第二网络节点向第一网络节点发送ACK确认新建C1到S2的连接成功。可以理解的是,建立C1到S3、S4之间的连接,建立C2到S1、S2、S3、S4之间的连接,以及建立C3到S1、S2、S3、S4之间的连接的原理与建立C1到S2直接的连接的原理类似,此处不再赘述。
多路径传输的多个连接建立完成之后,该第二网络节点就可以通过多个TCP连接同时向第一网络节点发送数据了。由于多个TCP连接需要向第一网络节点发送同一个内容的不同数据包,所以在发送之前第二网络节点会进行数据包的拆分和调度,让不同的连接发送不同的数据包;第一网络节点在通过多个TCP连接接收到数据之后,会对数据包进行重组。数据包的拆分和重组可以与现有技术相同,此处不再赘述。
可以理解的是,该第一网络节点和该第二网络节点在该网络管理系统执行的隧道上建立了连接后,还可以额外执行步骤S306和S307,步骤S306和S307的描述如下:
步骤S306:该第一网络节点确定该初始连接不建立在该目标隧道上。
具体地,该第一网络节点可以将建立该初始连接用到的两个IP地址与接收到的目标隧道的信息进行比较,判断用到的这两个IP地址是否为构成某条目标隧道用到的两个IP地址,若是则表明该初始连接为建立在目标隧道上的连接,若否则表明该初始连接不建立在目标隧道上。
步骤S307:该第一网络节点与该第二网络节点中断该初始连接。
具体地,当该第一网络节点确定该初始连接建立在该目标隧道上时,不需要中断该初始连接;当该第一网络节点确定该初始连接不建立在该目标隧道上时,该第一网络节点与该第二网络节点中断该初始连接,中断的方式与普通TCP连接断开过程可以一样。例如,初始连接为C1与S4之间的连接,中断该初始连接的过程为:首先,第一网络节点向第二网络节点发送FIN+ACK请求结束该连接;第二网络节点接收到第一网络节点请求之后,向第一网络节点发送ACK消息表示同意断开连接;第二网络节点继续发送未结束的数据,并在数据全部发送完毕之后向第一网络节点发送FIN消息告诉第一网络节点所有数据已经传输结束;第一网络节点向第二网络节点发送ACK消息,确认C1和S4之间的TCP连接已经结束。
需要说明的是,该第一网络节点和该第二网络节点在该网络管理系统执行的隧道上建立了连接后,还可以额外执行步骤S308和S314,步骤S308和S314的描述如下:
步骤S308:该第二网络节点分析该目标隧道的带宽占用情况
具体地,如果第一网络节点同时向第二网络节点请求多个内容的传输,那么第一网络节点和第二网络节点之间就会建立多个多路径传输过程。此时,一个隧道上会有多个TCP连接同时进行内容的传输。可以理解的是,当有多个内容传输时,各个连接上的负载较大,当有少数内容传输时,各个连接上的负载较小。可以理解的是,可以通过分析该目标隧道上的带宽的占用情况来获知该目标隧道承受的负载,可选的,当目标隧道的数量为多个时,可以统计这多个目标隧道的总的带宽占用情况。
步骤S309:该第二网络节点在该目标隧道的带宽的占用率低于第一预设阈值时向该NMS发送第一请求指令,该第一请求指令用于指示该NMS删除该目标隧道;该第一预设阈值为预先配置的用来衡量带宽大小的参考值,例如,可以设置为50%。
步骤S310:该NMS接收该第一请求指令并根据该第一请求指令删除该目标隧道。
具体地,当存在多个目标隧道时,此处删除目标隧道可以为删除该多个目标隧道中的部分目标隧道,另外,隧道的删除方式可以参照现有技术,此处不赘述。可以理解的而是,删掉部分目标隧道可以降低隧道租赁的成本。
步骤S311:该第二网络节点在该目标隧道的带宽的占用率高于第二预设阈值时向该NMS发送第二请求指令,该第二请求指令用于指示该NMS在该第一网络节点与该第二网络接间配置新隧道;该第二预设阈值为预先配置的用来衡量带宽大小的又一参考值,通常情况下,该第二预设阈值大于等于该第一预设阈值,例如,可以设置为90%。
步骤S312:该NMS接收该第二请求指令并根据该第二请求指令在该第一网络节点与该第二网络接间配置新隧道。
具体地,配置新隧道即为新建隧道,隧道的新建方式可以参照现有技术,此处不赘述。可以理解的是,在目标隧道上的带宽的利用率较高时新建新隧道可以保证内容的高效传输。
步骤S313:该NMS将删除目标隧道或新增隧道的信息发送给第一网络节点和第二网络节点,举例来说,假设该NMS在C1与S4之间建立了新隧道,那么该NMS分别向第一网络节点的地址C1和第二网络节点的地址S4发送消息,该消息样例可以为[Add_Tunnel,C1,S4,1Gbps],用于指示在C1与S4之间建立了可用带宽为1Gbps的隧道。在另外一种可选的方案中,该NMS将删除目标隧道或新增隧道的信息发送给第一网络节点,然后该第一网络节点将删除目标隧道或新增隧道的信息发送给第二网络节点,这样一来,第一网络节点和第二网络节点就都具有了该删除目标隧道或新增隧道的信息。
步骤S314:该第一网络节点和该第二网络节点根据删除目标隧道或新增隧道的信息调整相关连接;举例来说,假设该NMS在C1与S4之间建立了新隧道,那么该第一网络节点和该第二网络节点均可以接收到消息[Add_Tunnel,C1,S4,1Gbps],并根据该消息获知要在C1与S4之间建立了可用带宽为1Gbps的隧道,后续该第一网络节点和该第二网络节点就在C1与S4之间建立连接,即在该新隧道上建立连接,这样一来,在该新隧道上建立的连接也就成了上述多路径中的一个路径了,能够与其他已有路径一同承担内容的传输任务。可以理解的是,如果该NMS发送给该第一网络节点和该第二网络节点的消息告知删除了某个目标隧道,那么该第一网络设备和该第二网络设备接收到该消息并根据该消息获知删除了该某个目标隧道时,该第一网络设备和该第二网络设备中断在该某个目标隧道上的连接,中断连接的方式上面已有描述,此处不再赘述。
需要说明的是,步骤S306-S307构成的特征与步骤S308-S314构成的特征这两个特征可以都存在,也可以都不存在,还可以只存在其中一个,当这两个特征均存在时,哪个特征对应的步骤先执行本发明实施例不作限定。
在图3所描述的方法中,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的装置。
请参见图4,图4是本发明实施例提供的一种基于多路径MPTCP的网络管理系统NMS的结构示意图,该系统40可以包括获取单元401、第一确定单元402和第一发送单元403,其中:获取单元401,用于获取第一网络节点的IP地址和第二网络节点的IP地址;第一确定单元402,用于根据该第一网络节点的IP地址和该第二网络节点的IP地址确定该第一网络节点与该第二网络节点之间的隧道,该NMS中预存了根据该NMS管理的各个网络节点的IP地址配置的隧道的信息;第一发送单元403,用于向该第一网络节点和该第二网络节点中的至少一个网络节点发送目标隧道的信息,以使该第一网络节点和该第二网络节点根据该目标隧道的信息在该目标隧道上建立连接,该目标隧道为该第一网络节点与该第二网络节点之间的隧道。
通过运行上述单元,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
在一种可能的实现方式中,该获取单元401具体用于接收第一网络节点发送的该第一网络节点的IP地址,以及接收该第二网络节点发送的该第二网络节点的IP地址。
在又一种可能的实现方式中,该获取单元401具体用于接收第一网络节点发送的该第一网络节点的IP地址和第二网络节点的IP地址,该第二网络节点的IP地址由该第二网络节点预先发送给该第一网络节点。
在又一种可能的实现方式中,该第一发送单元403具体用于向该第一网络节点和该第二网络节点发送目标隧道的信息。
在又一种可能的实现方式中,该第一发送单元403具体用于向该第一网络节点发送目标IP地址信息,该第一网络节点用于将该目标隧道的信息发送给该第二网络节点。
在又一种可能的实现方式中,还包括:第一接收单元,用于接收该第一网络节点发送的用于请求删除该目标隧道的第一请求指令;删除单元,用于根据该第一请求指令删除该目标隧道。
在又一种可能的实现方式中,还包括:第二接收单元,用于接收该第一网络节点发送第二请求指令,该第二请求指令用于请求建立该第一网络节点与该第二网络节点之间的新隧道;配置单元,用于根据该第二请求指令在该第一网络节点与该第二网络接间配置新隧道。
需要说明的是,各个单元的实现还可以对应参照图3所示的方法实施例的相应描述。
在图4所描述的网络管理系统40中,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
请参见图5,图5是本发明实施例提供一种基于多路径MPTCP的内容传输节点的结构示意图,该节点为第一网络节点50,该第一网络节点50包括第二发送单元501、第三接收单元502和建立单元503,其中,第二发送单元501,用于向网络管理系统NMS发送该第一网络节点50的IP地址,以使该NMS根据预先获取的第二网络节点的IP地址和该第一网络节点50的IP地址确定该第一网络节点50与该第二网络节点之间的隧道,该NMS中预存了根据该NMS管理的各个网络节点的IP地址配置的隧道的信息,该第一网络节点50和该第二网络节点之间建立了初始连接,该初始连接是为该第一网络节点50与该第二网络节点之间当前的传输建立的第一个连接;第三接收单元502,用于接收该NMS发送的目标隧道的信息,该目标隧道为该第一网络节点50与该第二网络节点之间的隧道;建立单元503,用于根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接。
通过运行上述单元,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
在一种可能的实现方式中,还包括:第四接收单元,用于在该第三接收单元502接收该NMS发送的目标隧道的信息之前,接收该第二网络节点发送的该第二网络节点的IP地址;第三发送单元,用于将该第二网络节点的IP地址发送给该NMS。
在又一种可能的实现方式中,还包括:第四发送单元,用于在该第三接收单元502接收该NMS发送的目标隧道的信息之后,该建立单元503根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之前,将该目标隧道的信息发送给该第二网络节点,该目标隧道的信息用于该第二网络节点与该第一网络节点50在该目标隧道上建立连接。
在又一种可能的实现方式中,还包括:第二确定单元,用于在该建立单元503根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之后,确定该初始连接不建立在该目标隧道上;中断单元,用于与该第二网络节点中断该初始连接。
在又一种可能的实现方式中,还包括:分析单元,用于在该建立单元503根据该目标隧道的信息与该第二网络节点在该目标隧道上建立连接之后,分析该目标隧道的带宽占用情况;第五发送单元,用于在该目标隧道的带宽的占用率低于第一预设阈值时向该NMS发送第一请求指令,以使该NMS根据该第一请求指令删除该目标隧道。
在又一种可能的实现方式中,还包括:第六发送单元,用于在该目标隧道的带宽的占用率高于第二预设阈值时向该NMS发送第二请求指令,以使该NMS根据该第二请求指令在该第一网络节点50与该第二网络接间配置新隧道。
需要说明的是,各个单元的实现还可以对应参照图3所示的方法实施例的相应描述。
在图5所描述的第一网络节点50中,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
需要说明的是,在一种可选的方案中,该网络管理系统40为图1中所示的网络管理系统202,该第一网络节点50为图1中所示的第一网络节点201。
综上所述,通过实施本发明实施例,网络管理系统NMS根据获取的第一网络节点的IP地址和第二网络节点的IP地址查找找出该第一网络节点与该第二网络节点之间的目标隧道,然后将该目标隧道的信息发送给第一网络节点和第二网络节点,而该第一网络节点和该第二网络节点则直接在该目标隧道上建立连接,有针对性地建立隧道连接而不是通过试错的方式建立隧道连接,极大地提升了建立隧道连接的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (27)
1.一种基于多路径MPTCP的内容传输方法,其特征在于,包括:
网络管理系统NMS获取第一网络节点的IP地址和第二网络节点的IP地址;
所述NMS根据所述第一网络节点的IP地址和所述第二网络节点的IP地址确定所述第一网络节点与所述第二网络节点之间的隧道,所述NMS中预存了根据所述NMS管理的各个网络节点的IP地址配置的隧道的信息;
所述NMS向所述第一网络节点和所述第二网络节点中的至少一个网络节点发送目标隧道的信息,以使所述第一网络节点和所述第二网络节点根据所述目标隧道的信息在所述目标隧道上建立连接,所述目标隧道为所述第一网络节点与所述第二网络节点之间的隧道。
2.如权利要求1所述的方法,其特征在于,所述网络管理系统NMS获取第一网络节点的IP地址和第二网络节点的IP地址,包括:
网络管理系统NMS接收第一网络节点发送的所述第一网络节点的IP地址,以及接收所述第二网络节点发送的所述第二网络节点的IP地址。
3.如权利要求2所述的方法,其特征在于,所述网络管理系统NMS获取第一网络节点的IP地址和第二网络节点的IP地址,包括:
网络管理系统NMS接收第一网络节点发送的所述第一网络节点的IP地址和第二网络节点的IP地址,所述第二网络节点的IP地址由所述第二网络节点预先发送给所述第一网络节点。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述NMS向所述第一网络节点和所述第二网络节点中的至少一个网络节点发送目标隧道的信息,包括:
所述NMS向所述第一网络节点和所述第二网络节点发送目标隧道的信息。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述NMS向所述第一网络节点和所述第二网络节点中的至少一个网络节点发送目标隧道的信息,包括:
所述NMS向所述第一网络节点发送目标IP地址信息,所述第一网络节点用于将所述目标隧道的信息发送给所述第二网络节点。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
所述NMS接收所述第一网络节点发送的用于请求删除所述目标隧道的第一请求指令;
所述NMS根据所述第一请求指令删除所述目标隧道。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
所述NMS接收所述第一网络节点发送第二请求指令,所述第二请求指令用于请求建立所述第一网络节点与所述第二网络节点之间的新隧道;
所述NMS根据所述第二请求指令在所述第一网络节点与所述第二网络接间配置新隧道。
8.一种基于多路径MPTCP的内容传输方法,其特征在于,包括:
第一网络节点向网络管理系统NMS发送所述第一网络节点的IP地址,以使所述NMS根据预先获取的第二网络节点的IP地址和所述第一网络节点的IP地址确定所述第一网络节点与所述第二网络节点之间的隧道,所述NMS中预存了根据所述NMS管理的各个网络节点的IP地址配置的隧道的信息,所述第一网络节点和所述第二网络节点之间建立了初始连接,所述初始连接是为所述第一网络节点与所述第二网络节点之间当前的传输建立的第一个连接;
所述第一网络节点接收所述NMS发送的目标隧道的信息,所述目标隧道为所述第一网络节点与所述第二网络节点之间的隧道;
所述第一网络节点根据所述目标隧道的信息与所述第二网络节点在所述目标隧道上建立连接。
9.根据权利要求8所述的方法,其特征在于,所述第一网络节点接收所述NMS发送的目标隧道的信息之前,所述方法还包括:
所述第一网络节点接收所述第二网络节点发送的所述第二网络节点的IP地址;
所述第一网络节点将所述第二网络节点的IP地址发送给所述NMS。
10.根据权利要求8所述的方法,其特征在于,所述第一网络节点接收所述NMS发送的目标隧道的信息之后,所述第一网络节点根据所述目标隧道的信息与所述第二网络节点在所述目标隧道上建立连接之前,所述方法还包括:
所述第一网络节点将所述目标隧道的信息发送给所述第二网络节点,所述目标隧道的信息用于所述第二网络节点与所述第一网络节点在所述目标隧道上建立连接。
11.根据权利要求8-10任一项所述的方法,其特征在于,所述第一网络节点根据所述目标隧道的信息与所述第二网络节点在所述目标隧道上建立连接之后,所述方法还包括:
所述第一网络节点确定所述初始连接不建立在所述目标隧道上;
所述第一网络节点与所述第二网络节点中断所述初始连接。
12.根据权利要求8-11任一项所述的方法,其特征在于,所述第一网络节点根据所述目标隧道的信息与所述第二网络节点在所述目标隧道上建立连接之后,所述方法还包括:
所述第一网络节点分析所述目标隧道的带宽占用情况;
所述第一网络节点在所述目标隧道的带宽的占用率低于第一预设阈值时向所述NMS发送第一请求指令,以使所述NMS根据所述第一请求指令删除所述目标隧道。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
所述第一网络节点在所述目标隧道的带宽的占用率高于第二预设阈值时向所述NMS发送第二请求指令,以使所述NMS根据所述第二请求指令在所述第一网络节点与所述第二网络接间配置新隧道。
14.一种基于多路径MPTCP的网络管理系统NMS,其特征在于,包括:
获取单元,用于获取第一网络节点的IP地址和第二网络节点的IP地址;
第一确定单元,用于根据所述第一网络节点的IP地址和所述第二网络节点的IP地址确定所述第一网络节点与所述第二网络节点之间的隧道,所述NMS中预存了根据所述NMS管理的各个网络节点的IP地址配置的隧道的信息;
第一发送单元,用于向所述第一网络节点和所述第二网络节点中的至少一个网络节点发送目标隧道的信息,以使所述第一网络节点和所述第二网络节点根据所述目标隧道的信息在所述目标隧道上建立连接,所述目标隧道为所述第一网络节点与所述第二网络节点之间的隧道。
15.如权利要求14所述的NMS,其特征在于,所述获取单元具体用于接收第一网络节点发送的所述第一网络节点的IP地址,以及接收所述第二网络节点发送的所述第二网络节点的IP地址。
16.如权利要求15所述的NMS,其特征在于,所述获取单元具体用于接收第一网络节点发送的所述第一网络节点的IP地址和第二网络节点的IP地址,所述第二网络节点的IP地址由所述第二网络节点预先发送给所述第一网络节点。
17.根据权利要求14-16任一项所述的NMS,其特征在于,所述第一发送单元具体用于向所述第一网络节点和所述第二网络节点发送目标隧道的信息。
18.根据权利要求14-16任一项所述的NMS,其特征在于,所述第一发送单元具体用于向所述第一网络节点发送目标IP地址信息,所述第一网络节点用于将所述目标隧道的信息发送给所述第二网络节点。
19.根据权利要求14-18任一项所述的NMS,其特征在于,还包括:
第一接收单元,用于接收所述第一网络节点发送的用于请求删除所述目标隧道的第一请求指令;
删除单元,用于根据所述第一请求指令删除所述目标隧道。
20.根据权利要求14-19任一项所述的NMS,其特征在于,还包括:
第二接收单元,用于接收所述第一网络节点发送第二请求指令,所述第二请求指令用于请求建立所述第一网络节点与所述第二网络节点之间的新隧道;
配置单元,用于根据所述第二请求指令在所述第一网络节点与所述第二网络接间配置新隧道。
21.一种基于多路径MPTCP的内容传输节点,所述节点为第一网络节点,其特征在于,所述第一网络节点包括:
第二发送单元,用于向网络管理系统NMS发送所述第一网络节点的IP地址,以使所述NMS根据预先获取的第二网络节点的IP地址和所述第一网络节点的IP地址确定所述第一网络节点与所述第二网络节点之间的隧道,所述NMS中预存了根据所述NMS管理的各个网络节点的IP地址配置的隧道的信息,所述第一网络节点和所述第二网络节点之间建立了初始连接,所述初始连接是为所述第一网络节点与所述第二网络节点之间当前的传输建立的第一个连接;
第三接收单元,用于接收所述NMS发送的目标隧道的信息,所述目标隧道为所述第一网络节点与所述第二网络节点之间的隧道;
建立单元,用于根据所述目标隧道的信息与所述第二网络节点在所述目标隧道上建立连接。
22.根据权利要求21所述的第一网络节点,其特征在于,还包括:
第四接收单元,用于在所述第三接收单元接收所述NMS发送的目标隧道的信息之前,接收所述第二网络节点发送的所述第二网络节点的IP地址;
第三发送单元,用于将所述第二网络节点的IP地址发送给所述NMS。
23.根据权利要求21所述的第一网络节点,其特征在于,还包括:
第四发送单元,用于在所述第三接收单元接收所述NMS发送的目标隧道的信息之后,所述建立单元根据所述目标隧道的信息与所述第二网络节点在所述目标隧道上建立连接之前,将所述目标隧道的信息发送给所述第二网络节点,所述目标隧道的信息用于所述第二网络节点与所述第一网络节点在所述目标隧道上建立连接。
24.根据权利要求21-23任一项所述的第一网络节点,其特征在于,还包括:
第二确定单元,用于在所述建立单元根据所述目标隧道的信息与所述第二网络节点在所述目标隧道上建立连接之后,确定所述初始连接不建立在所述目标隧道上;
中断单元,用于与所述第二网络节点中断所述初始连接。
25.根据权利要求21-24任一项所述的第一网络节点,其特征在于,还包括:
分析单元,用于在所述建立单元根据所述目标隧道的信息与所述第二网络节点在所述目标隧道上建立连接之后,分析所述目标隧道的带宽占用情况;
第五发送单元,用于在所述目标隧道的带宽的占用率低于第一预设阈值时向所述NMS发送第一请求指令,以使所述NMS根据所述第一请求指令删除所述目标隧道。
26.根据权利要求25所述的第一网络节点,其特征在于,还包括:
第六发送单元,用于在所述目标隧道的带宽的占用率高于第二预设阈值时向所述NMS发送第二请求指令,以使所述NMS根据所述第二请求指令在所述第一网络节点与所述第二网络接间配置新隧道。
27.一种基于多路径MPTCP的内容传输系统,所述系统包括网络管理系统NMS和第一网络节点,其特征在于,所述NMS为权利要求14-20任一项所述的NMS,所述第一网络节点为权利要求21-26任一项所述的第一网络节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710147590.4A CN108574615B (zh) | 2017-03-13 | 2017-03-13 | 一种基于多路径mptcp的内容传输方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710147590.4A CN108574615B (zh) | 2017-03-13 | 2017-03-13 | 一种基于多路径mptcp的内容传输方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108574615A true CN108574615A (zh) | 2018-09-25 |
CN108574615B CN108574615B (zh) | 2021-02-12 |
Family
ID=63577396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710147590.4A Active CN108574615B (zh) | 2017-03-13 | 2017-03-13 | 一种基于多路径mptcp的内容传输方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108574615B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113162779A (zh) * | 2020-01-07 | 2021-07-23 | 华为技术有限公司 | 一种多云互联的方法及设备 |
WO2022236771A1 (en) * | 2021-05-13 | 2022-11-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Multi-path communication |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101925125A (zh) * | 2010-04-23 | 2010-12-22 | 清华大学 | 一种与移动ip结合的具有移动性的多路径tcp的方法 |
CN102640471A (zh) * | 2009-12-14 | 2012-08-15 | 诺基亚公司 | 多径通信的方法和装置 |
CN103503399A (zh) * | 2010-12-22 | 2014-01-08 | 爱立信(中国)通信有限公司 | 通信网络中的移动性处理 |
CN103905463A (zh) * | 2014-04-21 | 2014-07-02 | 北京邮电大学 | 一种适用于多路径传输的连接管理与控制方法 |
CN105337857A (zh) * | 2015-11-23 | 2016-02-17 | 北京邮电大学 | 一种基于软件定义网络的多路径传输方法 |
EP3125472A1 (en) * | 2015-07-30 | 2017-02-01 | Alcatel Lucent | Telecommunication system, method and computer readable medium to control how a transmission of packets of a data flow is realized |
CN106465436A (zh) * | 2014-04-04 | 2017-02-22 | 诺基亚技术有限公司 | 利用多路径传输进行访问管理 |
CN106464582A (zh) * | 2014-06-27 | 2017-02-22 | 思科技术公司 | 多路径数据流优化 |
-
2017
- 2017-03-13 CN CN201710147590.4A patent/CN108574615B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102640471A (zh) * | 2009-12-14 | 2012-08-15 | 诺基亚公司 | 多径通信的方法和装置 |
CN101925125A (zh) * | 2010-04-23 | 2010-12-22 | 清华大学 | 一种与移动ip结合的具有移动性的多路径tcp的方法 |
CN103503399A (zh) * | 2010-12-22 | 2014-01-08 | 爱立信(中国)通信有限公司 | 通信网络中的移动性处理 |
CN106465436A (zh) * | 2014-04-04 | 2017-02-22 | 诺基亚技术有限公司 | 利用多路径传输进行访问管理 |
CN103905463A (zh) * | 2014-04-21 | 2014-07-02 | 北京邮电大学 | 一种适用于多路径传输的连接管理与控制方法 |
CN106464582A (zh) * | 2014-06-27 | 2017-02-22 | 思科技术公司 | 多路径数据流优化 |
EP3125472A1 (en) * | 2015-07-30 | 2017-02-01 | Alcatel Lucent | Telecommunication system, method and computer readable medium to control how a transmission of packets of a data flow is realized |
CN105337857A (zh) * | 2015-11-23 | 2016-02-17 | 北京邮电大学 | 一种基于软件定义网络的多路径传输方法 |
Non-Patent Citations (1)
Title |
---|
SAVVAS ZANNETTOU, MICHAEL SIRIVIANOS, FRAGKISKOS PAPADOPOULOS: "Exploiting Path Diversity in Datacenters using MPTCP-aware SDN", 《HTTPS://ARXIV.ORG/ABS/1511.09295V1》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113162779A (zh) * | 2020-01-07 | 2021-07-23 | 华为技术有限公司 | 一种多云互联的方法及设备 |
US11750496B2 (en) | 2020-01-07 | 2023-09-05 | Huawei Cloud Computing Technologies Co., Ltd. | Method for multi-cloud interconnection and device |
CN113162779B (zh) * | 2020-01-07 | 2024-03-05 | 华为云计算技术有限公司 | 一种多云互联的方法及设备 |
WO2022236771A1 (en) * | 2021-05-13 | 2022-11-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Multi-path communication |
Also Published As
Publication number | Publication date |
---|---|
CN108574615B (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218047B (zh) | 网络切片处理方法及装置、通信系统及存储介质 | |
WO2018152919A1 (zh) | 一种路径选取方法及系统、网络加速节点及网络加速系统 | |
EP2913978A1 (en) | Business scheduling method and apparatus and convergence device | |
JP2004048662A (ja) | ネットワークのパス構成のためのビジネス方法および装置 | |
US9998298B2 (en) | Data transmission method, apparatus, and computer storage medium | |
USRE44798E1 (en) | Cross-layer architecture for a network device | |
EP4181477A1 (en) | Path selection in software defined wide area networks | |
EP3057287A1 (en) | Node allocation method, device and system | |
CN112910704B (zh) | 一种支持动态自适应网络配置的局域网系统、方法和装置 | |
CN111803925B (zh) | 云游戏的转发服务器的调度方法、装置及可读存储介质 | |
WO2007082448A1 (fr) | Procédé de qualité de service (qos) garantie, dispositif de gestion de ressources et système d'accès multi-services | |
CN108551679A (zh) | 基于局域网Mesh技术的无线设备通信方法及系统 | |
KR20170128285A (ko) | 서비스 스트라텀과 접속 스트라텀 사이의 서비스들을 확립하기 위한 방법들 및 디바이스들 | |
WO2007022440A2 (en) | Resource selection in a communication network | |
CN106302230A (zh) | 一种数据传输方法及装置 | |
US20240259475A1 (en) | Service scheduling method and apparatus, device, and computer-readable storage medium | |
CN114679350A (zh) | 基于sd-wan的链路选取方法、装置及存储介质 | |
CN103384220B (zh) | 一种流量工程标签交换路径的建立方法、设备和系统 | |
CN108574615A (zh) | 一种基于多路径mptcp的内容传输方法、设备及系统 | |
CN112134744B (zh) | 一种分布式管理系统中节点的管理方法 | |
CN110380981B (zh) | 一种流量分发方法及设备 | |
CN115580568B (zh) | 基于IPv6流标签实现网络服务质量保障的方法及系统 | |
CN104780591B (zh) | 终端设备间业务互操作实现方法、装置、系统及相关设备 | |
CN105376174A (zh) | 执行lte/epc中基于服务链的策略的方法与设备 | |
CN114490071A (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 |