CN110650089B - 一种支持多路聚合通信的中间设备 - Google Patents
一种支持多路聚合通信的中间设备 Download PDFInfo
- Publication number
- CN110650089B CN110650089B CN201911020017.2A CN201911020017A CN110650089B CN 110650089 B CN110650089 B CN 110650089B CN 201911020017 A CN201911020017 A CN 201911020017A CN 110650089 B CN110650089 B CN 110650089B
- Authority
- CN
- China
- Prior art keywords
- data
- communication
- path
- network
- module
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 264
- 230000002776 aggregation Effects 0.000 title abstract description 13
- 238000004220 aggregation Methods 0.000 title abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 109
- 230000005540 biological transmission Effects 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000013507 mapping Methods 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 9
- 230000009365 direct transmission Effects 0.000 claims 1
- 230000001413 cellular effect Effects 0.000 description 17
- 238000010295 mobile communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 239000000243 solution Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 101100301835 Arabidopsis thaliana RH45 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000012482 calibration solution Substances 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- 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/24—Multipath
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种支持多路聚合通信的中间设备,用于部署在多个第一通信主机与多个第二通信主机的通信路径上,所述中间设备至少包括:通信模块、接口模块以及处理模块;所述处理模块配置为:将由所述通信模块接收的所述第一通信主机或第二通信主机的数据分流至用于将属于特定数据类型的数据绕过内核网络协议栈处理而直接传输至用户空间的第一路径以及用于将不属于所述特定数据类型的数据返回至所述内核网络协议栈的第二路径,并按照将所述第一路径的数据映射至至少两个彼此独立的通信路径的方式与部署在所述第一通信主机侧或第二通信主机侧的具有多路径传输能力的设备或代理建立多路径连接。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种支持多路聚合通信的中间设备。
背景技术
随着电子信息技术的不断发展,配备多个网络接口的智能设备随处可见。由于传统TCP/IP网络架构只允许单一接口的通信,导致多接口资源未被完全利用。为了改变这一现状,多路径传输技术应运而生。
多路径传输控制协议(Multipath Transport Control Protocol,MPTCP)是一种利用多条路径并发传输的传输层协议,可以提高端到端的吞吐率,增加网络利用率和冗余性。MPTCP完全兼容传输控制协议(Transport Control Protocol,TCP)。在TCP的基础上新增了TCP选项头,以实现MPTCP建链、拆链和数据传输等功能。MPTCP典型的应用场景可以是在接入网中,也可以是在企业网中。例如,智能设备(例如电脑、手机、平板电脑、智能穿戴设备等)通过无线保真(Wireless Fidelity,Wi-Fi)或有线网络与家庭网关(Home Gateway,HG)连接,移动终端通过长期演进(Long Term Evolution,LTE)网络或Wi-Fi与混合接入汇聚点节点(Hybrid Access Aggregation Point,HAAP)连接,在混合接入(Bonding Access,BA)场景下,具备数字用户线路(Digital Subscriber Line,DSL)、移动通信网络和Wi-Fi等多条链路连接,也就是说,HG和HAAP之间可以通过如Wi-Fi、DSL、LTE等连接。移动终端和HAAP之间可以通过Wi-Fi或LTE连接。以移动终端实现多路径传输为例,移动终端通过HG与HAAP和服务器连接。其中,服务器与HAAP之间采用TCP,HAAP与HG之间采用MPTCP,HG与移动终端之间采用TCP。在现有的网络中,用户和服务器之间利用大规模广泛部署的网络中间件(路由器、防火墙等)实现用户和服务器之间的数据交换,尽管MPTCP兼容应用层的应用程序,不需要修改应用程序,但是MPTCP的实现涉及内核改造,需要这些网络中间件通过修改内核来支持MPTCP传输。
例如,公开号为KR20180077602A的韩国专利文献公开了一种多路径传输***及方法,支持MPTCP通过MPTCP代理服务器发送和接收数据,该用户终端也能够与MPTCP代理服务器链接。为此,该发明包括:用户终端,其通过执行从应用市场服务器下载而安装的MPTCP服务认证应用程序,来与MPTCP代理服务器生成VPN,并通过VPN进行MPTCP服务认证处理。MPTCP代理服务器,其与用户终端生成VPN,根据通过VPN从用户终端接收到的认证请求,认证是否允许用户终端使用MPTCP服务,然后为用户提供MPTCP服务。如果用户终端是允许使用MPTCP服务的终端,则可以通过VPN与MPTCP代理服务器连接。因此,该发明甚至使得不包括MPTCP服务认证功能的用户终端通过与MPTCP代理服务器连接而通过MPTCP代理服务器与不支持MPTCP的内容服务器发送和接收数据。通过使用MPTCP服务认证应用程序在用户终端和MPTCP代理服务器之间设置VPN之后,服务器通过设置的VPN来执行MPTCP服务认证过程。该专利通过MPTCP代理-认证的架构体系实现的是具有多个网络接口的用户终端与MPTCP代理之间的多路径传输,MPTCP代理与传统的服务器之间是TCP链接,从而用户终端,例如智能手机能够接入蜂窝网络与Wi-Fi网络,因此采用该专利能够使得用户终端利用蜂窝网络和Wi-Fi与传统的服务器进行交互。但是该专利提供的方法,需要用户设备(User Equipment,UE)下载相应的应用程序来完成认证,这种下载并安装认证应用程序的方式,可能存在潜在的安全风险,例如MPTCP协议自身决定路径选择,多网络健康状况相应迟钝,而且可能被普通权限的同级程序拦截。而且,有的用户设备并不支持认证应用程序的安装,例如采用IOS***的智能终端。
事实上,在操作***内核不支持MPTCP的用户设备上一般都是采用内核改造的方式实现对MPTCP的支持。例如,公开号为CN107231349A的中国专利文献公开一种在智能终端设备中实现MPTCP协议的方法及装置,所述方法包括:获取智能终端设备所用的Android操作***源码,向Virtual Box虚拟机中移植该套源码,使得Android操作***能够在VirtualBox虚拟机中运行;在Virtual Box虚拟机上运行集成MPTCP的Android操作***,构建多路传输控制协议MPTCP的网络环境,以实现对MPTCP协议的功能测试;当测试成功后,将MPTCP源代码文件复制到智能终端设备所用的Android操作***的源码中,在智能终端设备上进行测试。该发明向Android内核集成MPTCP代码的方法,能够在Virtual Box虚拟机环境中测试正确的MPTCP协议代码直接应用于采用Android平台的智能终端设备中。
此外,在特殊的应用场景下,例如在高铁上、火车上、汽车等高速移动的应用场景下如何改善一个甚至多个用户体验质量(Quality of Experience,QoE)是目前亟待解决的问题。在这种高速移动的通信网络环境下,网络具有高度间歇连接的特性。虽然可以通过MPTCP协议利用移动网络中继上的路径多样性,但是MPTCP协议无法适应这种频繁的网络中断。
例如,公开号为CN101925125B的中国专利文献公开了一种与移动IP结合的具有移动性的多路径TCP的方法,目的是为支持多路径TCP的移动主机提供移动性的支持,可以满足用户同时使用多个接口并随时随地进行通信的需求。所述方法是由移动节点在移动IP网络中从家乡网络向任何一个外地网络漫游,并且继续保持与当地一个固定的通信节点进行通信的一种多路径TCP方法,依次按以下步骤实现的:
步骤1:所述的移动IP网络初始化;
步骤1.1,本网络的初始化;设置第一个家乡代理,这是一个所述移动节点家乡链路上的路由器,移动节点已经通过其注册了当前的转交地址,当移动节点远离家乡,家乡代理截取家乡链路上发往移动节点家乡地址hoa的包,封装,并以隧道模式发往移动节点已经注册的所述转交地址;
步骤1.2所述移动节点和通信节点的设置:各自至少一个接口mesh,至少一个所述接口mesh的地址表示maddr,所述移动节点和通信节点的家乡地址hoa以及至少一个接口地址caddr,该移动节点和通信节点中还设有:多路径调度模块、路径管理模块、多路径协商和检测模块、调度策略模块以及子TCP流控制管理模块,其中:所述多路径调度模块与所述路径管理模块、多路径协商和检测模块、调度策略模块、自TCP流控制管理模块互连,实现了多路径TCP的正常运行;调度策略管理模块负责数据向各所述子TCP流的分配,子TCP流控制管理模块负责所述子TCP流的创建和删除,路径管理模块负责向所述多路径TCP层提供多路径地址表,多路径协商和检测模块负责获取对方的多个接口地址标识与接口地址并与对方建立多路径的TCP。该专利在与利用MPTCP与移动IP结合的方式来实现多路径传输和移动性的支持。修改的移动IP层负责移动性的支持,多路径TCP层负责多路径的建立与管理。该专利针对的是当移动端从本地网络漫游到外地网络时,由于IP地址发生了变化,而通信对端的主机又无法获知移动节点的新的IP地址,最终导致路由失效使得移动节点通信中断的问题。但是该专利采用的MPTCP技术无法适应频繁的网络中断。例如,文献[1]Jing Wang,Yufan Zheng,Yunzhe Ni,Chenren Xu,Feng Qian,Wangyang Li,Wantong Jiang,YihuaCheng,Zhuo Cheng,Yuanjie Li,Xie Xiufeng,Yi Sun,and Zhongfeng Wang.An active-passive measurement study of tcp performance over lte on high-speed rails.InACM MobiCom,2019.表明了高速铁路在350公里/小时的情况下,切换(和TCP中断)每8.6秒发生一次,与列车静止时相比,TCP吞吐量下降超过80%。更重要的一点是,该专利采用MPTCP协议涉及内核改造,无法与大规模部署的传统中间件兼容。
例如,文献[2]Pablo Rodriguez,Rajiv Chakravorty,Julian Chesterfield,IanPratt,and Suman Banerjee.Mar:A commuter router infrastructure for the mobileinternet.In ACM MobiSys,2004.公开了一种利用无线分集(信道分集、网络文集和技术分集)为无线数据连接的用户提供改进数据性能的移动地接入路由器的基础设施。该基础设施是一种无线多宿主设备,可以防止在移动的交通工具上,例如汽车、公共汽车、火车等,能够根据流量需求动态实例化新通道,汇总带宽并将负载从质量较差的通道动态转移到质量更高的通道,从而实现移动环境下的高速数据访问。
例如,文献[3]Ratul Mahajan Jitendra Padhye Sharad Agarwal and BrianZill.High performance vehicular connectivity with opportunistic erasurecoding.In USENIX ATC,2012.针对移动车辆网络连通性差的问题,公开了一种机会擦除编码的丢失恢复方法。与现有的擦除编码的方法不同,机会擦除编码只在路径空闲容量的瞬时打开器件发送编码包,而现有的擦除编码方法忽略了路径的空闲容量,这种传输策略可确保编码的数据包提供尽可能多的保护,而不会延迟或窃取数据包的容量。机会擦除编码贪婪地最大化了接收端在每个编码数据包中恢复的新数据。
例如,文献[4]Joshua Hare,Lance Hartung,and Suman Banerjee.Transparentflow migration through splicing for multi-homed vehicular internetgateways.In IEEE VNC,2013.公开了一种称为FloMiS的技术,通过该技术可以将流从一个网络迁移到另一个网络,而无需对端点(基于Internet的服务器或移动客户端)进行任何更改。针对移动环境下每个蜂窝路径都会遇到停顿和故障,从而导致网络流量中断的问题。该技术仅在网关中实现FloMiS机制,网关通过该机制重新启动对中断流内容的请求,并以透明的方式将它们拼接回原始流传递给移动客户端。FloMiS旨在优化大部分网络的流量,实验数据表明,FloMiS能够在短短的两次往返时间内迁移超过93%的流,客户端通常会在断开连接几分钟后恢复。
文献[2-4]基于多载波移动中继提出可用于带宽聚合和链路故障缓解的网络架构元素和解决方案,并展示了在低速场景(例如,公共汽车)下的技术效果,但是在高速公路上,甚至是高铁上,其速度能够达到350公里/小时,导致至少10秒内就要发生一次网络切换或网络中断,大幅度降低网络的吞吐量,导致极其不友好的用户体验。
综上,需要解决现有技术中在用户处于移动的场景下,网络的频繁切换或中断带来的较差的用户体验质量QoE以及现有多路径传输协议MPTCP无法与大规模部署的网络中间件兼容,从而无法在现有的网路环境下利用多路径带来的带宽聚合增益的问题。
此外,一方面由于对本领域技术人员的理解存在差异;另一方面由于发明人做出本发明时研究了大量文献和专利,但篇幅所限并未详细罗列所有的细节与内容,然而这绝非本发明不具备这些现有技术的特征,相反本发明已经具备现有技术的所有特征,而且申请人保留在背景技术中增加相关现有技术之权利。
发明内容
针对现有技术之不足,本发明提供了一种支持多路聚合通信的中间设备,用于部署在多个第一通信主机与多个第二通信主机的通信路径上。所述中间设备至少包括:通信模块,用于接收和发送所述第一通信主机或第二通信主机的数据;接口模块,用于接入包括至少两个彼此独立的通信路径的多个网络;处理模块,用于将接收的所述第一通信主机或第二通信主机的数据映射至所述接口模块接入的至少两个彼此独立的通信路径上。所述处理模块配置为:将由所述通信模块接收的所述第一通信主机或第二通信主机的数据分流至用于将属于特定数据类型的数据绕过内核网络协议栈处理而直接传输至用户空间的第一路径以及用于将不属于所述特定数据类型的数据由所述内核网络协议栈处理的第二路径。所述处理模块配置为按照将所述第一路径的数据映射至至少两个彼此独立的通信路径的方式与部署在所述第一通信主机侧或第二通信主机侧的具有多路径传输能力的多路径模块建立多路径连接。通过该设置方式,能够在用户空间调用数据,从而中间设备能够在用户空间层面构建一个完整的多用户多路径传输架构,不仅能够支持上下文数据驱动调度,并且可以高度扩展以集成不同的分组调度策略,从而有利于中间设备的实际部署和性能优化。
一种支持多路聚合通信的中间设备,用于部署在多个第一通信主机与多个第二通信主机的通信路径上。所述中间设备至少包括:通信模块,用于接收和发送所述第一通信主机或第二通信主机的数据;接口模块,用于接入包括至少两个彼此独立的通信路径的多个网络;处理模块,用于将接收的所述第一通信主机或第二通信主机的数据映射至所述接口模块接入的至少两个彼此独立的通信路径上。所述处理模块配置为:将由所述通信模块接收的所述第一通信主机或第二通信主机的数据分流至用于将属于特定数据类型的数据绕过内核网络协议栈处理直接传输至用户空间的第一路径以及用于将不属于所述特定数据类型的数据由所述内核网络协议栈处理的第二路径。所述处理模块配置为基于位置感知预测多个网络性能的方式将所述第一路径的数据映射至至少两个彼此独立的通信路径,从而增加多路径传输的鲁棒性。通过该设置方式,中间设备通过驱动基于位置感知预测网络性能的上下文数据库实现分组调度,不仅能够适应网络的频繁切断,还能够聚合不同运营商带来的无线信号覆盖范围和带宽,从而提高端到端传输的可靠性和吞吐量,使得用户体验质量QoE得到本质改善。
根据一种优选实施方式,所述处理模块至少包括调度器。所述调度器配置为:基于至少包括来自基于位置感知预测所述多个网络性能的上下文数据的上下文数据库驱动所述第一路径内不同所述第一通信主机或第二通信主机的数据映射至同一个所述通信路径或至少两个彼此独立的通信路径;和驱动所述第一路径内同一个所述第一通信主机或第二通信主机的数据映射至至少两个彼此独立的通信路径。
根据一种优选实施方式,所述处理模块按照如下步骤构建所述上下文数据库:基于获取的信号数据进行处理以构建信号参数数据;基于所述信号参数数据构建用于网络性能预测的性能数据;基于所述多个网络之间的断开连接模式构建切换数据。所述性能数据和所述切换数据构建基于位置感知预测所述多个网络性能的上下文数据。
根据一种优选实施方式,所述处理模块按照如下步骤对获取的信号数据进行处理以构建所述信号参数数据:基于获取的信号数据将不同制式的信号参数跟踪独立,从而分离物理位置和网络位置的依赖关系;将获取的信号数据中对应的每个小区识别码的信号参数跟踪根据第一时间和重叠窗口分割为若干跟踪条目。
根据一种优选实施方式,所述处理模块按照如下步骤基于所述信号参数数据构建用于网络性能预测的性能数据:基于所述信号参数数据中存储的与小区识别码关联的至少一天内的所述跟踪条目与该小区识别码关联的新输入的跟踪条目之间的距离度量进行最佳匹配以生成所述性能数据。在所述跟踪条目进行匹配的情况下,所述处理模块返回自所述跟踪条目匹配之前的位于第二时间内的所述性能数据。
根据一种优选实施方式,在至少一个关于所述小区识别码的距离度量的最小值大于第一阈值的情况下,所述上下文数据库通过向所述调度器反馈置信值以作为参考,从而量化所述性能数据的可靠性。
根据一种优选实施方式,所述处理模块按照如下步骤构建切换数据:基于断开连接时间的判断而将所述多个网络之间的切换判定为表示成功的第一切换数据、表示失败的第二切换数据、表示中断的第三切换数据。
一种多路径通信方法,所述方法包括:至少一个数据转发处理模块将接收的第一通信主机或第二通信主机的数据分流至用于将属于特定数据类型的数据绕过内核网络协议栈处理而直接传输至用户空间的第一路径以及用于将不属于所述特定数据类型的数据由所述内核网络协议栈处理的第二路径。在用户空间将所述第一路径的数据以反向复用多条通信路径的方式与部署在所述第一通信主机侧或第二通信主机侧的另一个数据转发处理模块或具有多路径传输能力的多路径模块建立多路径连接。
根据一种优选实施方式,所述数据转发处理模块至少包括调度器。所述调度器配置为:基于至少包括来自基于位置感知预测所述多个网络性能的上下文数据的上下文数据库驱动所述第一路径内不同所述第一通信主机或第二通信主机的数据映射至同一个所述通信路径或至少两个二彼此独立的通信路径;和驱动所述第一路径内同一个所述第一通信主机或第二通信主机的数据映射至至少两个彼此独立的通信路径。
附图说明
图1是本发明的中间设备的一个优选实施方式的模块示意图;
图2是本发明的一个优选数据库的模块示意图;
图3是本发明的一个优选上下文数据库的“Key-Value”设置表;和
图4是本发明的方法的一个优选实施方式的模块示意图。
附图标记列表
100:第一通信主机 200:数据转发处理模块
201:通信模块 202:接口模块
203:处理模块 204:调度器
210:内核空间 211:内核网络协议栈
220:用户空间 221:标准套接字
222:原始套接字 230:第一路径
240:第二路径 250:上下文数据库
251:信号参数数据 252:性能数据
253:切换数据 254:信号参数跟踪
255:小区识别码 256:信号数据
257:跟踪条目 258:匹配算法
259:匹配结果 260:批处理
261:RSRP识别码 262:网络性能参数
300:多路径模块 400:第二通信主机
500:通信路径 2531:第一切换数据
2532:第二切换数据 2533:第三切换数据
具体实施方式
下面结合附图1至附图4进行详细说明。
首先,对本发明使用的部分术语进行定义:
第一通信主机:可以是各种形式的用户设备(User Equipment,UE),可以是具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备,移动台(Mobile station,MS),终端设备(Terminal Equipment)等等,也可以是用户设备上的应用程序,同时第一通信主机也可以是相对于虚拟机而言的对实体计算机的称呼。第一通信主机提供给虚拟机硬件环境,有时也称为寄主或宿主。
第二通信主机:可以是现有服务器,也可以是具有多路径传输能力的服务器。
代理服务器:可以是指网络代理,是一种特殊的网络服务,允许一个网络终端通过这个服务与另一个网络终端进行非直接的连接。
带宽聚合:多路径期望在多条可用路径上的并行传输可以成倍地增加网络可用带宽。若能使用这种方式实现有效的带宽聚合,多宿主设备将获得好的网络性能。
分组(Packet):对应于TCP/IP的网络层,指的是TCP/IP协议通信传输的数据单位,也可以称为数据包,通常在调度中称为分组,指的是调度策略转发数据的粒度。
用户空间(User Space):用户程序的运行空间。
内核空间(Kernel Space):操作***内核的运行空间。
上下文(Context):上下文简单说来就是一个环境参数。环境参数是关于网络性能以及调度用户流时的传输时间和字节等参数。
网络命名空间:Linux内核提供了命名空间,命名空间将全局***资源包装到一个抽象中,该抽象只会与命名空间中的进程绑定,从而提供资源隔离;网络命名空间为命名空间中的所有进程提供了全新的网络堆栈,包括网络接口、路由表等。
小区识别码(Cell-ID):用于确定用户位置,即无线网络上报终端所处的小区号(根据服务的基站来估计),位置业务平台把小区号翻译成经纬度坐标。
参考信号接收功率(Reference Signal Receiving Power,RSRP):测量频率带宽上承载参考信号的资源元素上的接收功率的线性平均值,是LTE网络中可以代表无线信号强度的关键参数以及物理层测量需求之一,是在某个符号内承载参考信号的所有资源粒子上接收到的信号功率的平均值。用处和规范都等同于WCDMA中的RSCP(Received SignalCode Power)接收信号码功率。
信号参数跟踪:指的是蜂窝信号相关参数的时序图。
实施例1
针对现有技术之不足,本发明提供了一种支持多路聚合通信的中间设备,用于部署在多个第一通信主机100与多个第二通信主机400的通信路径上。优选地,本实施例提供的中间设备能够与现有网络中大规模部署的网络中间件兼容,即不需要内核改造,也不需要修改上层应用或网络层协议。
优选地,中间设备至少包括:通信模块201、接口模块202以及处理模块203。通信模块201用于接收和发送第一通信主机100或第二通信主机400的数据。接口模块202用于接入包括至少两个彼此独立的通信路径500的多个网络。处理模块203用于将接收的第一通信主机100或第二通信主机400的数据映射至接口模块202接入的至少两个彼此独立的通信路径500上。优选地,通信模块201至少包括有线/无线网关、信号接收器、信号发射器,能够接收有线或无线信号。优选地,通信模块201还包括WLAN接口、Wi-Fi接口、以太网RH45接口等。优选地,通信模块201还包括蓝牙模块、ZigBee模块等。优选地,接口模块202是设置有相应SIM卡槽的基带处理电路,或者是包括SIM卡槽、基带处理芯片。SIM卡槽通过设置在SIM卡槽外的***逻辑电路与基带处理芯片连接。优选地,基带处理电路或基带处理芯片能够调制和解调不同移动通信技术的信号,例如,全球移动通信(Global System for MobileCommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、码分多址(Code Division Multiple Access,CDMA)、时分-同步码分多址(TimeDivision–Synchronous Code Division Multiple Access,TD-SCDMA)、第三代移动通信技术(The 3rd-Generation Mobile Communication,3G)、长期演进(Long term Evolution,LTE)、符合***移动通信技术(The 4th-Generation Mobile Communication,4G)标准的LTE-Advanced、具备***移动通信技术特征的***架构演进项目(System ArchitectureEvolution,SAE)以及第五代移动通信技术(The 5th-Generation Mobile Communication,5G)。优选地,处理模块203可以是中央处理器(Central Processing Unit,CPU),通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application-Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable GateArray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。优选地,数据处理模块203承载有操作***,例如Linux***。
优选地,如图1所示,处理模块203配置为:将由通信模块201接收的第一通信主机100或第二通信主机400的数据分流至用于将属于特定数据类型的数据绕过内核网络协议栈211处理而直接传输至用户空间220的第一路径230以及用于将不属于特定数据类型的数据由所述内核网络协议栈211处理的第二路径240。优选地,特定数据类型是用户根据使用环境和应用场景而自定义的。用户可以编辑修改特定数据的类型。优选地,特定数据的类型指的是至少包括数据采用的协议格式以及源地址。例如,可以通过源地址而获取该数据是否是直接服务的第一通信主机100传输的数据。例如,还可以通过数据的协议格式而有选择的对特定协议的数据实现多路径传输。优选地,如图1所示,通信模块201可以对不同通信协议、格式的数据进行解析,从而能够根据用户定义的特定数据的类类型,将相关的数据分流至第一路径230。通过该设置方式,接收的第一通信主机100的数据能够通过通信模块201自动完成协议转换,无需额外的模块,提高了兼容性,且大幅度减少了编程工作的难度。优选地,绕过内核网络协议栈211的处理的方式是数据的调用是通过原始套接字222而不是标准套接字221。通过该设置方式,原始套接字222能够收发没有经过内核网络协议栈211处理的数据包,因此数据的调用是在用户空间220而不是内核空间210,不需要对内核进行改造,而且也不涉及应用程序的修改,能够与现有技术中广泛部署的网络中间件兼容,而有利于本实施例提供的中间设备的实际部署。优选地,如图1所示,第二路径240从标准套接字221收发数据包。而标准套接字221收发的数据包都是经过内核网络协议栈211处理的数据包。通过该设置方式,第二路径240可以用于发送类似于结算的控制信息。
优选地,处理模块203配置为按照将第一路径230的数据映射至至少两个彼此独立的通信路径500的方式与部署在第一通信主机100侧或第二通信主机400侧的具有多路径传输能力的多路径模块300建立多路径连接。优选地,具有多路径传输能力的多路径模块300可以是代理或者本实施例提供的中间设备。优选地,在第二通信主机400支持多路径通信的情况下,本实施例提供的中间设备可以与该第二通信主机400建立多路径连接。
通过以上设置,本实施例的有益效果是:通过第一路径230收发第一通信主机100或第二通信主机400的数据,能够在用户空间220调用数据,从而本实施例提供的中间设备能够在用户空间220层面构建一个完整的多用户多路径传输架构,能够支持上下文数据驱动调度,并且可以高度扩展以集成不同的分组调度策略,从而有利于中间设备的实际部署和性能优化。
优选地,如图1所示,在本实施例提供的中间设备与第二通信主机400侧的多路径模块300之间有至少两个彼此独立的可用通信路径500。优选地,通信路径500也可以称为管道。管道可以以不同的方式灵活实现。例如,可以使用TCP链接作为管道,也可以使用流控制传输协议(Stream Control Transmission Protocol,SCTP)的链接作为管道。优选地,处理模块203将第一路径230内的数据反向复用到多个通信路径500上,从而可以通过每个管道上的TCP套接字来传输第一路径230内的数据。TCP有效载荷和控制数据都被封装到传输层中。优选地,用户可以根据使用环境选择多个拥塞控制算法,例如选择TCP BBR拥塞控制算法,能够减少端到端延迟和丢包。优选地,反向复用是指在处理模块203将来自第一路径230的数据流分段并封装成报文,然后将报文分发到管道上。每个报文都有一个报头,其中包含应用程序连接的ID、长度和序列号。
优选地,在第二通信主机400侧设置多路径模块300,或者可以用本实施例提供的中间设备替代多路径模块300,其数据传输过程如下:处理模块203将用户的数据分配至接口模块202接入的至少两个通信路径500上,从而能够利用多路分集的效益实现带宽聚合,使得数据包能够通过多个路径传输至设置在第二通信主机400侧的中间设备。此处的中间设备提取多条路径到达的数据包,并还原成第一通信主机100传输的数据。然后,将第一通信主机100传输的数据传输至第二通信主机400。当第二通信主机400向第一通信主机100反馈数据时,此时与第二通信主机400建立会话的中间设备与第一通信主机100侧的中间设备的功能相同,即通过原始套接字222将符合特定数据类型的数据以反向复用至少两个彼此独立的通信路径500的方式传输至第一通信主机100侧的中间设备上。通过以上设置方式,通过利用反向多路复用通信路径500和选择不同的传输层通信协议的方式,能够通过消除连接建立的开销(例如,慢启动)立即使得短数据流受益,而且使得每个管道上的流量更加密集,从而带来更好的宽带利用率。
优选地,处理模块203在单独的网络命名空间传输和处理第一路径230内的用户数据。通过该设置方式,能够避免与其他程序使用的内核配置冲突,并减轻潜在的安全问题。例如,在代理服务器上需要禁用反向路径过滤的操作,使得用于将数据包转发到真实网卡的虚拟以太网设备接收本实施例提供的中间设备生成的任何源IP的数据包,由此产生的安全风险将与正常运行的程序隔离开来,并由处理模块203在自己的网络命名空间中管理。
优选地,本实施例提供的中间设备其部署方式如图1所示。第一通信主机100可以通过无线或有线的方式与通信模块201连接。例如,可以通过无线访问接入点(WirelessAccess Point,AP)与通信模块201连接。还可以通过有线连接的方式与通信模块201连接。多路径模块300同样可以通过有线或无线连接的方式与第二通信主机400连接。而在本实施例提供的中间设备与多路径模块203之间可以通过接口模块202接入的不同制式的网络建立多路径连接。例如,可以通过基站(例如BTS、NodeB、eNodeB等)接入不同的核心网,并由核心网接入短波通信网、GPS、卫星通信网、蜂窝移动网、PSTN、ISDN、Internet等。在不同的应用场景下,本实施例提供的中间设备部署的位置不同。例如,中间设备可以部署在第一通信主机100侧的家庭网关、路由器、客户端前置设备(Customer Premise Equipment,CPE)的数据转发节点上;本实施例提供的中间设备还可以部署在混合汇聚点节点(HAAP)。例如,3G核心网元SGSN(Serving GPRS Support Node)以及GGSN(Gateway GPRS Support Node)上。优选地,还可以部署在4G核心网络中,例如,部署在LTE(Long Term Evolution)的全IP分组核心网EPC(Evolved Packet Core)的网元上,比如SGW(Serving Gateway)和PGW(PDNGateway)。
优选地,本实施例提供的中间设备根据部署的位置不同,可以实现不同的功能。例如在高速移动的地铁、火车、动车上,由于快速移动以及复杂地形的限制,乘客的移动网络处于频繁的网络中断状态。因此可以将本实施例提供的移动通信设备部署在地铁、火车、动车上,通过AP将乘客的用户设备接入,从而可以利用不同运营商的不同频段的移动网络与具有多路径传输功能的多路径模块300连接,或者与部署在第二通信主机400侧的另一个中间设备连接实现多路径传输。例如,在车站、机场等人流量较大的公共场所中,可以与为用户提供网络服务的设备连接,从而为大量的用户提供基于多路传输的网络访问功能。优选地,可以将具有多路径传输功能的多路径模块300或者部署在第二通信主机400侧的另一个中间设备部署于内容分发网络(Content Delivery Network,CDN)提供商的骨干网络中,可以利用多路传输技术提高用户访问该CDN的效率。也可以将多路径传输功能的多路径模块300或者部署在第二通信主机400侧的另一个中间设备部署于特定的内网中,可以取得类似虚拟专用网络VPN的效果,即在外部访问该内网中的数据,同时也可以获得多路传输提供的传输效率增益。
实施例2
本实施例提供一种支持多路径通信的中间设备,用于部署在移动使用场景中。优选地,移动使用场景可以是地铁、火车、动车、公共汽车、汽车等应用场景。优选地,现有技术下的大部分的用户设备(User Equipment,UE)、家庭网关以及路由器基于成本和应用场景考虑其接口支持接入多个网络的能力有限,例如,现有的技术下的智能手机考虑到成本只支持双卡双待,两张SIM卡共用一套射频(Radio Frequency,RF)和一套调制解调器,无法实现两个制式移动网络的同时使用,只能同时使用Wi-Fi和一种制式的移动通信网络,那么在特殊应用场景中,例如地铁、火车、动车、公共汽车、汽车等没有Wi-Fi网络信号的应用场景下,用户只能在同一时间使用一个运营商的移动网络。而且,如背景技术所述,对于高速移动的使用环境,现有的MPTCP,或者如文献[2-4]所公开的技术方案无法适应频繁的网络切换或网络中断,使得网络的吞吐量大幅度的降低,导致极其不友好的用户体验。因此本实施例在实施例1提供的中间设备的基础上提出一种基于位置感知预测网络性能的方式实现数据包的调度。基于位置感知可以是至少通过移动物体的物理位置和网络位置来感知网络的动态变化,从而预测在不同的位置下移动物体的移动通信网络的性能,例如预测移动通信网络的吞吐量、路径往返延迟时间等。通过驱动基于位置感知预测网络性能的上下文数据库250实现分组调度,不仅能够适应网络的频繁切换,还能够聚合不同运营商带来的无线信号覆盖和带宽,从而提高端到端传输的可靠性和吞吐量,使得用户体验质量QoE得到本质改善。
优选地,中间设备至少包括:通信模块201,用于接收和发送第一通信主机100或第二通信主机400的数据;接口模块202,用于接入包括至少两个彼此独立的通信路径500的多个网络;处理模块203,用于将接收的第一通信主机100或第二通信主机400的数据映射至接口模块202接入的至少两个彼此独立的通信路径500上。处理模块203配置为:将由通信模块201接收的第一通信主机100或第二通信主机400的数据分流至用于将属于特定数据类型的数据绕过内核网络协议栈211处理直接传输至用户空间220的第一路径230以及用于将不属于特定数据类型的数据由所述内核网络协议栈211处理的第二路径240。优选地,以上模块的优选实施方式可以与实施例1相同,本实施例不再赘述。
优选地,中间设备用于部署在多个第一通信主机100与多个第二通信主机400的通信路径上。优选地,在中间设备部署在例如地铁、火车、动车、公共汽车、汽车上的情况下,第一通信主机100可以是指用户的用户设备。中间设备可以部署在车厢中,通过无线的方式接入多个第一通信主机100的信号数据。优选地,第二通信主机400可以是传统的服务器,提供相应的服务。在第二通信主机400侧设置有与第二通信主机400建立会话的多路径模块300或另一个中间设备,第一通信主机100侧的中间设备与多路径模块300或另一个中间设备建立多路径连接。优选地,第一通信主机100侧的中间设备能够通过多个运营商的基站,例如BTS、NodeB、eNodeB来与核心网络连接。另一个中间设备可以部署在相应核心网的网关上,例如,3G核心网元SGSN(Serving GPRS Support Node)以及GGSN(Gateway GPRS SupportNode)上。优选地,还可以部署在4G核心网络中,例如,部署在LTE(Long Term Evolution)的全IP分组核心网EPC(Evolved Packet Core)的网元上,比如SGW(Serving Gateway)和PGW(PDN Gateway)。通过以上设置方式,可以利用多个运营商的基站,带来更大的覆盖范围。事实上,如果把网络中断定义为吞吐量小于100Kbps的时段,单个运营商的中断的时间分别为12%、17%和26%。如果能够复用三个运营商,那么中断时间减少至1%,从而可以大幅度减少网络中断的时间。
优选地,处理模块203配置为基于位置感知预测多个网络性能的方式将第一路径230的数据映射至至少两个彼此独立的通信路径500,从而增加多路径传输的鲁棒性。优选地,对于火车、动车、高铁以及公共汽车来说,其行驶路径都是预先规划好的。因此可以通过建模和预测轨旁连接,可以避免数据传输的链路被快速的切换。但是,高速移动使得网络连接不像低移动场景下那样可预测。我们以京沪高铁路线的“复兴号”列车进行了试验,因为它代表了列车速度(即350km/h)的最快的高铁网络环境。在第二通信主机400侧,在中国的教育和研究计算机网络CERNET中部署了三个功能强大的协同定位服务器(IntelNuc6i7kyk)。第一通信主机100侧使用三家运营商的SIM卡进行测试。通过测试可以发现蜂窝小区的切换可以在不同的时间发生,而且在不同的时间能够同时连接到完全不同的蜂窝小区。而且,通过测试发现,在低速移动场景下,蜂窝信号可以用作网络性能预测的指标,然而在高速移动的环境下,蜂窝信号强度与网络性能的关联性较弱。具体表现如下:当蜂窝信号的RSRP大于-100dBm时,所有运营商的中值吞吐量差异很小。而且变化幅度大,例如在弱信号(小于等于-110dBm)的情况下,其吞吐量为5Mbps,在RSRP为-80dBm的情况下,其吞吐量为100kbps。因此,在高速移动场景中,网络性能的预测是及其重要的。由于原位策略使得小区识别码的跟踪与列车的移动性跟踪不一致,并且当信号强度在30dB范围内时,网络性能非常随机。因此需要采用在位置感知的基础上预测网络性能,从而在高速移动场景中避免网络被切换或中断。例如,基于位置感知预测网络性能可以是通过使用蜂窝信号构建基于位置感知预测网络性能的上下文数据库250的方式,将网络相关条件传递给调度器204,使得调度器204能够在频繁的网络中断或网络切换的情况下保证网络的吞吐量,从而提高在高速移动场景下的端到端传输的性能。
根据一种优选实施方式,处理模块203至少包括调度器204。调度器204配置为基于至少包括来自基于位置感知预测多个网络性能的上下文数据的上下文数据库250驱动第一路径230内不同第一通信主机100或第二通信主机400的数据映射至同一个通信路径500或至少两彼此独立的通信路径500;和驱动第一路径230内同一个第一通信主机100或第二通信主机400的数据映射至至少两个彼此独立的通信路径500。
优选地,本实施例采用基于蜂窝信息的可靠位置性能校准解决方案。蜂窝信息对GPS信号中断(例如隧道里无法使用GPS)和列车延迟具有很强的鲁棒性。优选地,上下文数据库250可以采用“Key-Value”键值分布式存储数据库,根据关键字(Key)取值(Value),具有极高的并发读写能力。优选地,上下文数据库250的关键字问题是如何根据蜂窝信息设计有效的网络性能查找的关键字。优选地,现有技术一般采用稻草人解决方案。稻草人解决方案是直接将瞬时的蜂窝信息(小区识别码255和RSRP值)映射至TCP性能。这种解决方案可能会导致关键字部分出现两个问题。首先,由于无线信道不断地经历快速衰落,因此在不同日期的相同位置处产生的RSRP跟踪可能显著不同。其次,由于不仅移动设备可以日常切换到同一物理位置的不同蜂窝小区,而且还有路由上的重复小区识别码255,因此小区识别码255和列车的物理位置之间的映射是不确定的。优选地,处理模块230按照如下步骤构建上下文数据库250:基于获取的信号数据256进行处理以构建信号参数数据251;基于信号参数数据251构建用于网络性能预测的性能数据252;基于多个网络之间的断开连接模式构建切换数据253。通过该设置方式,在关键字设置部分小区识别码255基于对应的数据类型取不同的值(Value),从而避免上述所提到的关键字与值对应不匹配的问题。
优选地,性能数据252和切换数据253构建基于位置感知预测多个网络性能的上下文数据。优选地,上下文数据库250向调度器204传递性能数据252和切换数据253。优选地,如图3所示,上下文数据库250至少包括信号参数数据251、性能数据252以及切换数据253。其中,信号参数数据251以及切换数据253的关键字设置为小区识别码255。切换数据253对应的值为对应预测的切换失败或中断相关的数据。信号参数数据251的值为相关RSRP识别码261。优选地,性能数据252的关键字为RSRP识别码261。优选地,性能数据252对应的值为网络性能参数262,例如吞吐量、RTT、丢包率等。优选地,信号数据256指的是实时获取的蜂窝信号数据,例如LTE数据。信号数据256可以通过中间设备内部或者外部提供实时信号数据,例如MobileInsight不仅能够提供实时切换信号和PHY层的带宽,还可以提供小区识别码255和信号强度。
优选地,切换数据253为调度器204提供相关网络切换的信息。优选地,处理模块230按照如下步骤构建切换数据253:基于断开连接时间的判断而将多个网络之间的切换判定为表示成功的第一切换数据2531、表示失败的第二切换数据2532、表示中断的第三切换数据2533。优选地,如文献[1]所公开的,在移动场景下,移动通信网络的切换会出现三种情况:
1、成功:通过该过程成功接收到所有切换控制信号,并且网络断开连接时间通常小于100ms,TCP无法感知。
2、失败:发送(并记录)从UE到基站的切换请求,但是在另一个方向上,即基站到UE的切换命令丢失。断开连接时间的中位数为1秒,断开连接时间的95%分位数可达5秒。
3、中断:一般发生在UE突然失去蜂窝覆盖范围的情况下,例如进入隧道,或没有基站部署的区域。断开连接时间的中位数为3秒,断开连接时间的90%分位数为10秒。与切换失败不同,UE将无法在中断中看到任何切换请求日志。
优选地,切换数据253至少可以将表示预测切换失败的第二切换数据2532以及预测切换中断的第三切换数据2533反馈至调度器204。通过该设置方式,除了要预测高度动态变化的网络性能之外,由切换失败和中断导致的断开连接是降低网络性能的另一个关键因素。通过在高速移动的场景下向调度器204提供相关的切换信息,能够避免调度器204将数据包分发到需要长时间断开连接的通信路径500上。
根据一种优选实施方式,处理模块203按照如下步骤对获取的信号数据256进行处理以构建信号参数数据251:基于获取的信号数据256将不同制式的信号参数跟踪254独立,从而分离物理位置和网络位置的依赖关系。通过该设置方式带来的有益效果是:由于在同一条路由上,每个运营商的信号切换策略和结果在不同的时间可能会有很大的差异,因此通过在上下文数据库250的查询过程设计为以每个运营商独立匹配为基础,分离物理位置和网络位置的依赖关系,能够提高数据库分析和查询效率。
优选地,将获取的信号数据256中对应的每个小区识别码255的信号参数跟踪254根据第一时间和重叠窗口分割为若干跟踪条目257。优选地,信号参数跟踪254可以是RSRP跟踪。将RSRP跟踪以第一时间为单位分割成若干小段。重叠窗口是指每两个小段之间的重叠部分。通过该设置方式,在短时间内使用信号跟踪作为搜索历史网络性能的关键的一部分。尽管每个蜂窝小区的整个RSRP追踪不太可能完全重复,但局部趋势可能仍然遵循物理规则。因此,本实施例的优选实施方式是将所有RSRP跟踪分成若干跟踪条目257,然后按小区识别码255对它们进行分组。通过收集多天的数据跟踪,以枚举的方式来获取大多数情况。
根据一种优选实施方式,处理模块230按照如下步骤基于信号参数数据251构建用于网络性能预测的性能数据252:基于信号参数数据251中存储的与小区识别码255关联的至少一天内的跟踪条目257与该小区识别码255关联的新输入的跟踪条目257之间的距离度量进行最佳匹配以生成性能数据252。优选地,距离度量可以是欧几里德距离。通过该设置方式,能够通过欧几里德距离度量两个跟踪条目257的相似性,而两个跟踪条目257相似的网络也应具有相似的性能。
优选地,在跟踪条目257进行匹配的情况下,处理模块230返回自跟踪条目257匹配之前的位于第二时间内的性能数据252。优选地,由于蜂窝数据收到TCP性能预测存在时间延迟,因此需要采用前瞻性查询的方式来提高网络性能预测的可靠性。时间延迟至少包括高达200ms的蜂窝芯片延迟、上行链路延迟以及预测匹配算法的执行时间。优选地,第二时间可以是以上延迟的总时间,例如5秒。
根据一种优选实施方式,在至少一个关于小区识别码255的距离度量的最小值大于第一阈值的情况下,上下文数据库250通过向调度器204反馈置信值以作为参考,从而量化性能数据252的可靠性。优选地,置信值被计算为Nl/K,其中Nl是小于经验阈值的顶部K最小距离的计数。优选地,由于RSRP段的输入可能与通过上述匹配得到的性能参数差异较大,或者欧几里德距离的值较大,导致相似性较低,预测的网络性能不可靠。因此除了预测的网络性能之外,通过返回置信值作为调度器204的参考,能够量化查询结果的可靠性。
实施例3
本实施例公开了一种多路径通信方法,用于部署在多个第一通信主机100与多个第二通信主机400的通信路径上,能够支持多路聚合通信。优选地,本实施例提供的多路径通信方法能够与现有网络中大规模部署的网络中间件兼容,即不需要内核改造,也不需要修改上层应用或网络层协议。
一种多路径通信方法,方法包括:至少一个数据转发处理模块200将接收的第一通信主机100或第二通信主机400的数据分流至用于将属于特定数据类型的数据绕过内核网络协议栈211处理而直接传输至用户空间220的第一路径230以及用于将不属于特定数据类型的数据由所述内核网络协议栈211处理的第二路径240。优选地,特定数据类型是用户根据使用环境和应用场景而自定义的。用户可以编辑修改特定数据的类型。优选地,特定数据的类型指的是至少包括数据采用的协议格式以及源地址。例如,可以通过源地址而获取该数据是否是直接服务的第一通信主机100传输的数据。例如,还可以通过数据的协议格式而有选择的对特定协议的数据实现多路径传输。优选地,数据转发处理模块200可以通过自身带有的网关等通信设备对接收的数据进行解析。优选地,如图4所示,绕过内核网络协议栈211的处理的方式是数据的调用是通过原始套接字222而不是标准套接字221。通过该设置方式,原始套接字222能够收发没有经过内核网络协议栈211处理的数据包,因此数据的调用是在用户空间220而不是内核空间210,不需要对内核进行改造,而且也不涉及应用程序的修改,能够与现有技术中广泛部署的网络中间件兼容,而有利于本实施例提供的中间设备的实际部署。优选地,如图4所示,第二路径240从标准套接字221收发数据包。而标准套接字221收发的数据包都是经过内核网络协议栈211处理的数据包。通过该设置方式,第二路径240可以用于发送类似于结算的控制信息。
优选地,如图4所示,第一通信主机100侧的数据转发处理模块200在用户空间将第一路径230的数据以反向复用多条通信路径500的方式与部署在第二通信主机400侧的另一个数据转发处理模块200或具有多路径传输能力的多路径模块300建立多路径连接。通过该设置方式,通过第一路径230收发第一通信主机100数据,能够在用户空间220调用数据,从而本实施例提供的数据转发处理模块200能够在用户空间220层面构建一个完整的多用户多路径传输架构,能够支持上下文数据驱动调度,并且可以高度扩展以集成不同的分组调度策略,从而有利于中间设备的实际部署和性能优化。
优选地,如图4所示,在本实施例提供的部署在第一通信主机100侧的数据转发处理模块200与第二通信主机400侧的数据转发处理模块200之间有至少两个彼此独立的可用通信路径500。优选地,通信路径500也可以称为管道。管道可以以不同的方式灵活实现。例如,可以使用TCP链接作为管道,也可以使用流控制传输协议(Stream ControlTransmission Protocol,SCTP)的链接作为管道。优选地,数据转发处理模块200将第一路径230内的数据反向复用到多个通信路径500上,从而可以通过每个管道上的TCP套接字来传输第一路径230内的数据。TCP有效载荷和控制数据都被封装到传输层中。优选地,用户可以根据使用环境选择多个拥塞控制算法,例如选择TCP BBR拥塞控制算法,能够减少端到端延迟和丢包。优选地,反向复用是指在处理模块203将来自第一路径230的数据流分段并封装成报文,然后将报文分发到管道上。每个报文都有一个报头,其中包含应用程序连接的ID、长度和序列号。通过该设置方式,数据转发处理模块200能够驱动第一路径230内不同所述第一通信主机100或第二通信主机400的数据映射至同一个通信路径500或至少两个彼此独立的通信路径500。数据转发处理模块200还能够驱动第一路径230内同一个第一通信主机100或第二通信主机400的数据映射至至少两个彼此独立的通信路径500。
优选地,数据转发处理模块200能够在单独的网络命名空间传输和处理第一路径230内的用户数据。通过该设置方式,能够避与其他程序使用的内核配置冲突,并减轻潜在的安全问题。例如,在代理服务器上需要禁用反向路径过滤的操作,让用于将数据包转发到真实网卡的虚拟以太网设备接收本实施例提供的中间设备生成的任何源IP的数据包,由此产生的安全风险将与正常运行的程序隔离开来,并由数据转发处理模块200在自己的网络命名空间中管理。
优选地,本实施例提供数据转发处理模块200可以是采用硬件的形式实现。数据转发处理模块200至少包括处理器或控制器,还包括通信模块201。通信模块201可以是通信接口、收发器、收发电路等。优选地,数据转发处理模块200的通信模块201还包括Wi-Fi模块、蓝牙模块、Zigbee模块以及多种能够解析和处理多种不同制式网络的处理电路或者处理芯片。优选地,数据转发处理模块200包含任意数量的发射器或发射电路、接收器或接收电路。优选地,数据转发处理模块200还包括存储器。存储器内存储处理器执行的指令。进一步的,上述设计的处理器、存储器、通信模块等可通过总线连接。总线架构可以包括任意数量的互连的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线架构还可以将诸如***设备、稳压器和功率管理电路之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本实施例不再对其进行进一步描述。优选地,需要说明的是,本实施例上述涉及的处理器可以是中央处理器(Central ProcessingUnit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
优选地,本实施例的数据转发处理模块200也可以采用基于现有设备的硬件执行相应的软件的形式实现。例如,数据转发处理模块200可以设置于现有用户设备、网络中间件、服务器中,通过现有设备内的硬件执行相应的软件实现多路径传输的功能。
优选地,本实施例的数据转发模块200的部署方式同实施例1相同,本实施例不再赘述。
优选地,数据转发处理模块200至少包括调度器204。调度器204配置为基于至少包括来自基于位置感知预测多个网络性能的上下文数据的上下文数据库250驱动第一路径230内不同第一通信主机100或第二通信主机400的数据映射至同一个通信路径500或至少两个彼此独立的通信路径500;和驱动第一路径230内同一个第一通信主机100或第二通信主机400的数据映射至至少两个彼此独立的通信路径500。优选地,以上模块、器件以及实现基于位置感知预测多个网络性能的方式同实施例1和实施例2公开的内容相同,本实施例不再赘述。
如本文所用的词语“模块”描述任一种硬件、软件或软硬件组合,其能够执行与“模块”相关联的功能。
需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。
Claims (10)
1.一种支持多路聚合通信的中间设备,用于部署在多个第一通信主机(100)与多个第二通信主机(400)的通信路径上,所述中间设备至少包括:
通信模块(201),用于接收和发送所述第一通信主机(100)或第二通信主机(400)的数据;
接口模块(202),用于接入包括至少两个彼此独立的通信路径(500)的多个网络;
处理模块(203),用于将接收的所述第一通信主机(100)或第二通信主机(400)的数据映射至所述接口模块(202)接入的至少两个彼此独立的通信路径(500)上;
其特征在于,所述处理模块(203)配置为:
将由所述通信模块(201)接收的所述第一通信主机(100)或第二通信主机(400)的数据分流至用于将属于特定数据类型的数据绕过内核网络协议栈(211)处理而直接传输至用户空间(220)的第一路径(230)以及用于将不属于所述特定数据类型的数据由所述内核网络协议栈(211)处理的第二路径(240),
并按照将所述第一路径(230)的数据映射至至少两个彼此独立的通信路径(500)的方式与部署在所述第一通信主机(100)侧或第二通信主机(400)侧的具有多路径传输能力的多路径模块(300)建立多路径连接。
2.一种支持多路聚合通信的中间设备,用于部署在多个第一通信主机(100)与多个第二通信主机(400)的通信路径上,所述中间设备至少包括:
通信模块(201),用于接收和发送所述第一通信主机(100)或第二通信主机(400)的数据;
接口模块(202),用于接入包括至少两个彼此独立的通信路径(500)的多个网络;
处理模块(203),用于将接收的所述第一通信主机(100)或第二通信主机(400)的数据映射至所述接口模块(202)接入的至少两个彼此独立的通信路径(500)上;
其特征在于,所述处理模块(203)配置为:
将由所述通信模块(201)接收的所述第一通信主机(100)或第二通信主机(400)的数据分流至用于将属于特定数据类型的数据绕过内核网络协议栈(211)处理直接传输至用户空间(220)的第一路径(230)以及用于将不属于所述特定数据类型的数据由所述内核网络协议栈(211)处理的第二路径(240),
并基于位置感知预测多个网络性能的方式将所述第一路径(230)的数据映射至至少两个彼此独立的通信路径(500),从而增加多路径传输的鲁棒性。
3.根据权利要求1或2所述的中间设备,其特征在于,所述处理模块(203)至少包括调度器(204),所述调度器(204)配置为:
基于至少包括来自基于位置感知预测所述多个网络性能的上下文数据的上下文数据库(250)驱动所述第一路径(230)内不同所述第一通信主机(100)或第二通信主机(400)的数据映射至同一个所述通信路径(500)或至少两个彼此独立的通信路径(500);
和驱动所述第一路径(230)内同一个所述第一通信主机(100)或第二通信主机(400)的数据映射至至少两个彼此独立的通信路径(500)。
4.根据权利要求3所述的中间设备,其特征在于,所述处理模块(230)按照如下步骤构建所述上下文数据库(250):
基于获取的信号数据(256)进行处理以构建信号参数数据(251);
基于所述信号参数数据(251)构建用于网络性能预测的性能数据(252);
基于所述多个网络之间的断开连接模式构建切换数据(253);其中,
所述性能数据(252)和所述切换数据(253)构建基于位置感知预测所述多个网络性能的上下文数据。
5.根据权利要求4所述的中间设备,其特征在于,所述处理模块(230)按照如下步骤对获取的信号数据(256)进行处理以构建所述信号参数数据(251):
基于获取的信号数据(256)将不同制式的信号参数跟踪(254)独立,从而分离物理位置和网络位置的依赖关系;
将获取的信号数据(256)中对应的每个小区识别码(255)的信号参数跟踪(254)根据第一时间和重叠窗口分割为若干跟踪条目(257)。
6.根据权利要求5所述的中间设备,其特征在于,所述处理模块(230)按照如下步骤基于所述信号参数数据(251)构建用于网络性能预测的性能数据(252):
基于所述信号参数数据(251)中存储的与小区识别码(255)关联的至少一天内的所述跟踪条目(257)与该小区识别码(255)关联的新输入的跟踪条目(257)之间的距离度量进行最佳匹配以生成所述性能数据(252),并且在所述跟踪条目(257)进行匹配的情况下,
所述处理模块(230)返回自所述跟踪条目(257)匹配之前的位于第二时间内的所述性能数据(252)。
7.根据权利要求6所述的中间设备,其特征在于,在至少一个关于所述小区识别码(255)的距离度量的最小值大于第一阈值的情况下,
所述上下文数据库(250)通过向所述调度器(204)反馈置信值以作为参考,从而量化所述性能数据(252)的可靠性。
8.根据权利要求7所述的中间设备,其特征在于,所述处理模块(203)按照如下步骤构建切换数据(253):
基于断开连接时间的判断而将所述多个网络之间的切换判定为表示成功的第一切换数据(2531)、表示失败的第二切换数据(2532)、表示中断的第三切换数据(2533)。
9.一种多路径通信方法,其特征在于,所述方法包括:至少一个数据转发处理模块(200)将接收的第一通信主机(100)或第二通信主机(400)的数据分流至用于将属于特定数据类型的数据绕过内核网络协议栈(211)处理而直接传输至用户空间(220)的第一路径(230)以及用于将不属于所述特定数据类型的数据由所述内核网络协议栈(211)处理的第二路径(240),
并在用户空间将所述第一路径(230)的数据以反向复用多条通信路径(500)的方式与部署在所述第一通信主机(100)侧或第二通信主机(400)侧的另一个数据转发处理模块(200)或具有多路径传输能力的多路径模块(300)建立多路径连接。
10.根据权利要求9所述的多路径通信方法,其特征在于,所述数据转发处理模块(200)至少包括调度器(204),所述调度器(204)配置为:
基于至少包括来自基于位置感知预测多个网络性能的上下文数据的上下文数据库(250)驱动所述第一路径(230)内不同所述第一通信主机(100)或第二通信主机(400)的数据映射至同一个所述通信路径(500)或至少两个彼此独立的通信路径(500);
和驱动所述第一路径(230)内同一个所述第一通信主机(100)或第二通信主机(400)的数据映射至至少两个彼此独立的通信路径(500)。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010493154.4A CN111641558B (zh) | 2019-10-24 | 2019-10-24 | 一种基于位置感知的网络中间设备 |
CN202010493153.XA CN111654436B (zh) | 2019-10-24 | 2019-10-24 | 一种适用于高速移动环境的网络中继设备 |
CN201911020017.2A CN110650089B (zh) | 2019-10-24 | 2019-10-24 | 一种支持多路聚合通信的中间设备 |
PCT/CN2020/123086 WO2021078233A1 (zh) | 2019-10-24 | 2020-10-23 | 一种多路径传输设备及架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911020017.2A CN110650089B (zh) | 2019-10-24 | 2019-10-24 | 一种支持多路聚合通信的中间设备 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010493153.XA Division CN111654436B (zh) | 2019-10-24 | 2019-10-24 | 一种适用于高速移动环境的网络中继设备 |
CN202010493154.4A Division CN111641558B (zh) | 2019-10-24 | 2019-10-24 | 一种基于位置感知的网络中间设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110650089A CN110650089A (zh) | 2020-01-03 |
CN110650089B true CN110650089B (zh) | 2020-06-30 |
Family
ID=69013518
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010493154.4A Active CN111641558B (zh) | 2019-10-24 | 2019-10-24 | 一种基于位置感知的网络中间设备 |
CN202010493153.XA Active CN111654436B (zh) | 2019-10-24 | 2019-10-24 | 一种适用于高速移动环境的网络中继设备 |
CN201911020017.2A Active CN110650089B (zh) | 2019-10-24 | 2019-10-24 | 一种支持多路聚合通信的中间设备 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010493154.4A Active CN111641558B (zh) | 2019-10-24 | 2019-10-24 | 一种基于位置感知的网络中间设备 |
CN202010493153.XA Active CN111654436B (zh) | 2019-10-24 | 2019-10-24 | 一种适用于高速移动环境的网络中继设备 |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN111641558B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110730470B (zh) * | 2019-10-24 | 2020-10-27 | 北京大学 | 一种融合多接入技术的移动通信设备 |
WO2021078233A1 (zh) * | 2019-10-24 | 2021-04-29 | 北京大学 | 一种多路径传输设备及架构 |
CN113141637B (zh) * | 2020-01-19 | 2022-12-02 | 华为技术有限公司 | 一种多路径传输控制的方法及控制装置 |
CN111642022B (zh) * | 2020-06-01 | 2022-07-15 | 重庆邮电大学 | 一种支持数据包聚合的工业无线网络确定性调度方法 |
CN112910534B (zh) * | 2021-01-18 | 2022-07-05 | 广州大学 | 基于数据驱动的中继选择方法、***、装置及介质 |
CN112817730B (zh) * | 2021-02-24 | 2022-08-16 | 上海交通大学 | 深度神经网络服务批处理调度方法、***及gpu |
CN113329438B (zh) * | 2021-04-29 | 2022-02-11 | 北京连山科技股份有限公司 | 一种与自组网结合的多路数据传输汇聚方法 |
CN113300958A (zh) * | 2021-05-24 | 2021-08-24 | 北京字跳网络技术有限公司 | 一种报文传输方法、装置、电子设备和存储介质 |
CN114726850B (zh) * | 2022-04-02 | 2024-01-05 | 福达新创通讯科技(厦门)有限公司 | 一种vnc远程访问的方法、装置及存储介质 |
WO2023206095A1 (zh) * | 2022-04-26 | 2023-11-02 | 西门子股份公司 | 数据中继装置、方法、容器管理装置、***和计算设备 |
CN115001522B (zh) * | 2022-05-19 | 2024-01-23 | 北京华信傲天网络技术有限公司 | 一种内置第五代移动通信***的设备 |
CN116056173B (zh) * | 2023-04-03 | 2023-06-30 | 北京九栖科技有限责任公司 | 一种解决sctp多宿地址对n2口信令合成影响的方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2069950A4 (en) * | 2006-09-13 | 2017-06-21 | Asankya Networks, Inc. | Systems and methods of improving performance of transport protocols in a multi-path environment |
CN101350108B (zh) * | 2008-08-29 | 2011-05-25 | 同济大学 | 基于位置跟踪和多通道技术的车载通信方法及装置 |
US7948986B1 (en) * | 2009-02-02 | 2011-05-24 | Juniper Networks, Inc. | Applying services within MPLS networks |
CN101841463B (zh) * | 2010-03-05 | 2012-05-16 | 清华大学 | 基于sctp的多路径并发传输方法 |
CN101925125B (zh) * | 2010-04-23 | 2013-01-30 | 清华大学 | 一种与移动ip结合的具有移动性的多路径tcp的方法 |
CN103503399B (zh) * | 2010-12-22 | 2016-05-18 | 爱立信(中国)通信有限公司 | 通信网络中的移动性处理 |
US8755383B2 (en) * | 2011-03-21 | 2014-06-17 | Avaya, Inc. | Usage of masked ethernet addresses between transparent interconnect of lots of links (TRILL) routing bridges |
CN102802121B (zh) * | 2012-09-01 | 2014-05-14 | 北京理工大学 | 基于地理位置的车载物联网路由选择方法 |
JP6301358B2 (ja) * | 2012-12-14 | 2018-03-28 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 通信ネットワークにおけるマルチパス伝送制御プロトコル信号伝達の処理 |
KR102051504B1 (ko) * | 2013-05-15 | 2019-12-03 | 삼성전자주식회사 | 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치 |
CN103312606A (zh) * | 2013-05-23 | 2013-09-18 | 杭州卓沃电子商务有限公司 | 一种基于多路径并发的无线Mesh网络路由及其方法 |
CN104703242B (zh) * | 2013-12-09 | 2018-10-30 | 中国科学院大学 | 基于位置信息和票据的多路径编码感知无线网络路由方法 |
EP3136801B1 (en) * | 2014-04-24 | 2018-08-08 | Huawei Technologies Co., Ltd. | Method and device for mobility management of mptcp connection |
US9755953B1 (en) * | 2014-07-24 | 2017-09-05 | Rockwell Collins, Inc. | Multi-path routing control for an encrypted tunnel |
WO2016144224A1 (en) * | 2015-03-12 | 2016-09-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and arrangements for multipath traffic aggregation |
CN104994036B (zh) * | 2015-06-09 | 2018-04-24 | 北京邮电大学 | 一种多路径传输协议中的动态数据调度方法 |
CN104954206B (zh) * | 2015-07-31 | 2018-03-30 | 重庆邮电大学 | 一种多路径并行传输***的乱序分析方法 |
CN105045674B (zh) * | 2015-09-15 | 2018-11-20 | 浪潮(北京)电子信息产业有限公司 | 一种链路切换方法和*** |
CN105898800B (zh) * | 2015-10-30 | 2019-05-14 | 法法汽车(中国)有限公司 | 用于移动网络的多链路聚合的链路带宽分配方法及装置 |
EP3244581B1 (en) * | 2016-05-09 | 2020-03-04 | Alcatel Lucent | Multi-path wireless communication |
CN106708627B (zh) * | 2016-12-29 | 2020-08-07 | 中国科学院计算技术研究所 | 一种基于kvm的多虚拟机映射、多通路的fuse加速方法及*** |
CN107231349A (zh) * | 2017-05-23 | 2017-10-03 | 北京邮电大学 | 一种在智能终端设备中实现mptcp协议的方法及装置 |
CN107708067B (zh) * | 2017-11-21 | 2020-04-21 | 中山大学 | 基于用户位置信息的Wi-Fi和Li-Fi异构网络负载均衡方法 |
CN108650295A (zh) * | 2018-03-30 | 2018-10-12 | 深圳市风云实业有限公司 | 协议报文跨层通信方法装置及电子设备 |
CN108777666B (zh) * | 2018-08-23 | 2020-10-09 | Oppo广东移动通信有限公司 | 链路聚合的分流方法及相关设备 |
-
2019
- 2019-10-24 CN CN202010493154.4A patent/CN111641558B/zh active Active
- 2019-10-24 CN CN202010493153.XA patent/CN111654436B/zh active Active
- 2019-10-24 CN CN201911020017.2A patent/CN110650089B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111641558B (zh) | 2021-11-30 |
CN111641558A (zh) | 2020-09-08 |
CN111654436A (zh) | 2020-09-11 |
CN111654436B (zh) | 2021-07-13 |
CN110650089A (zh) | 2020-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110650089B (zh) | 一种支持多路聚合通信的中间设备 | |
CN110730248B (zh) | 一种多路径传输中继设备及方法 | |
JP6689876B2 (ja) | ポイントツーマルチポイントブロードキャストに支援されたビークルツーxブロードキャスト | |
CN112243253B (zh) | 一种通信设备 | |
CN108713327B (zh) | 用于实现通信网络中的通信的网络节点和在网络节点中执行的方法 | |
US8787303B2 (en) | Methods and apparatus for data traffic offloading at a router | |
CN109005562B (zh) | 传输数据的方法、装置和*** | |
CN109155905A (zh) | 一种业务消息发送方法、终端设备以及网络设备 | |
CN110366140B (zh) | 一种数据传输方法和装置 | |
CN103024853B (zh) | 一种适用于高速铁路td-lte宽带通信***的多模接入网关及接入方法 | |
US10820324B2 (en) | Collaborative radio resources allocations to applications of mobile units | |
US20080171548A1 (en) | Configuring a base station to act as a regional mobility agent | |
CN110635988B (zh) | 一种用于多路径传输的数据转发方法及设备 | |
US20220159771A1 (en) | Communication control method and relay apparatus | |
CN113660680B (zh) | 副链路中继架构中的配置方法和设备 | |
CN114651480A (zh) | 执行多路径通信 | |
WO2015078021A1 (zh) | 数据传输设备、通信***及通信方法 | |
US11228667B2 (en) | Base station, method, and device for data transmission | |
CN113498142A (zh) | 一种中继通信方法及相关设备 | |
US20230131149A1 (en) | Location-awareness-based network intermediate device | |
CN102282806B (zh) | 实现数据转发的方法、网络***及设备 | |
WO2021078233A1 (zh) | 一种多路径传输设备及架构 | |
CN115699887A (zh) | 一种通信方法及装置 | |
US20200029381A1 (en) | Method and device for determining radio bearer mode | |
Zhang et al. | Enhancing vehicular internet connectivity using whitespaces, heterogeneity, and a scouting radio |
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 |