一种基于中转服务器的云桌面通信方法及系统与流程

文档序号:33628232发布日期:2023-03-28 21:57阅读:30来源:国知局
1.本发明涉及云桌面
技术领域
:,特别是涉及一种基于中转服务器的云桌面通信方法及系统。
背景技术
::2.云桌面是云计算技术的一项应用,即通过虚拟化技术,在处于数据中心机房内的服务器中安装一种虚拟化软件,通过配置该虚拟化软件来创建多台拥有相对独立的cpu与内存资源的虚拟机。目前,随着云桌面技术的日益发展及安全性的提高,越来越多的企业使用云桌面进行远程办公。网络传输为云桌面重要的组成部分,如何更加快速和流畅地进行网络传输,成为云桌面一个不可忽视的问题。3.传统行业理想的模式是采用点对点的传输,即运算节点机房的网络和用户(客户端)的私网直接进行对接,不经过任何中转。但是受限于现在互联网环境的特殊环境(公网ip资源的稀缺及网络安全的挑战等),常规企业或个人的路由器的安全级别都比较高,导致一般的点对点传输链路可能无法正常使用。4.基于上述原因,许多云桌面的服务提供商采用限流中转的方式来支撑网络传输。但目前的中转传输方案大多是基于iptable,iptable要先把数据包接收再转发,中间会经历数据拷贝等操作,会导致网络传输时间成本增加30%-80%,即增加了云桌面的网络延时,此外,iptable的并发性和稳定性都不是很乐观,难以满足大规模云桌面的应用需求。技术实现要素:5.为了解决上述技术问题,本发明提供一种基于中转服务器的云桌面通信方法及系统,其中的中转服务器通过直接修改ip数据报文的目的地址来实现数据转发,在节约公网地址的同时,减少了网络延时,提升了网络传输速度。6.本发明采用如下技术方案:7.一方面,一种基于中转服务器的云桌面通信方法,包括:8.s101,客户端通过公网向中转服务器发送第一ip数据报文;所述第一ip数据报文包括第一ip报文头和第一数据部分;所述第一数据部分包括云桌面的内网ip地址;9.s102,中转服务器接收所述第一ip数据报文,将所述第一ip报文头中的目的地址修改成云桌面的内网ip地址,并将修改后的第一ip数据报文发送至对应的云桌面。10.优选的,所述s102之后,还包括:11.s103,云桌面通过内网向中转服务器发送第二ip数据报文;所述第二ip数据报文包括第二ip报文头和第二数据部分;所述第二数据部分包括客户端的公网ip地址;12.s104,中转服务器接收所述第二ip数据报文,将所述第二ip报文头中的目的地址修改成客户端的公网ip地址,并将修改后的第二ip数据报文发送至对应的客户端。13.优选的,所述s102中,中转服务器将所述第一ip报文头中的目的地址修改成云桌面的内网ip地址之前,还包括:14.判断云桌面的内网ip地址是否在预设云桌面内网ip地址的范围内或判断云桌面的内网ip地址是否属于预设云桌面内网ip地址中的一个,如果是,将所述第一ip报文头中的目的地址修改成云桌面的内网ip地址;如果不是,丢弃第一ip数据报文或提示错误。15.优选的,所述s101之前,还包括:16.客户端通过公网向信令服务器发送连接云桌面请求的第三ip数据报文;17.信令服务器接收所述第三ip数据报文,并通过内网向云桌面发送包括客户端公网ip地址的第四ip数据报文;18.云桌面接收所述第四ip数据报文,通过内网向信令服务器发送包括云桌面内网ip地址和中转服务器公网ip地址的第五ip数据报文;19.信令服务器接收所述第五ip数据报文,并通过外网发送给客户端。20.优选的,所述中转服务器为设置有公网ip地址的linux服务器,且所述中转服务器与至少一个云桌面组成集群网络。21.优选的,所述中转服务器的内核设置有探针,当有ip数据报文到达内核的时候,触发探针回调,对ip数据报文的目的地址进行修改。22.优选的,所述第一数据部分还包括云桌面mac地址和云桌面的端口,云桌面mac地址、云桌面的内网ip地址和云桌面的端口依次设置。23.另一方面,一种基于中转服务器的云桌面通信系统,包括客户端、中转服务器和至少一个云桌面;所述中转服务器与所述客户端和云桌面分别相连接;24.所述客户端,用于通过公网向中转服务器发送第一ip数据报文;所述第一ip数据报文包括第一ip报文头和第一数据部分;所述第一数据部分包括云桌面的内网ip地址;25.所述中转服务器,用于接收所述第一ip数据报文,将所述第一ip报文头中的目的地址修改成云桌面的内网ip地址,并将修改后的第一ip数据报文发送至对应的云桌面。26.优选的,所述云桌面,用于通过内网向中转服务器发送第二ip数据报文;所述第二ip数据报文包括第二ip报文头和第二数据部分;所述第二数据部分包括客户端的公网ip地址;27.所述中转服务器,还用于接收所述第二ip数据报文,将所述第二ip报文头中的目的地址修改成客户端的公网ip地址,并将修改后的第二ip数据报文发送至对应的客户端。28.优选的,所述的基于中转服务器的云桌面通信系统,还包括:信令服务器,所述信令服务器与所述客户端和云桌面分别相连接;所述客户端通过公网向信令服务器发送连接云桌面请求的第三ip数据报文;所述信令服务器接收所述第三ip数据报文,并通过内网向云桌面发送包括客户端公网ip地址的第四ip数据报文;所述云桌面接收所述第四ip数据报文,通过内网向信令服务器发送包括云桌面内网ip地址和中转服务器公网ip地址的第五ip数据报文;所述信令服务器接收所述第五ip数据报文,并通过外网发送给客户端。29.本发明具有如下有益效果:30.(1)本发明的中转服务器在接收到客户端或云桌面发送的数据报文时,直接修改ip数据报文的目的地址以实现数据转发,即没有产生新的连接,因此能够减少网络延时,提升了网络传输速度,且不会使中转服务器产生额外的性能损耗;31.(2)本发明的中转服务器的内核设置有探针,当有ip数据报文到达内核的时候,触发探针回调,对ip数据报文的目的地址进行修改,通过探针技术,让ip数据报文没有进入应用层,而是在内核层就已经进行了修改,降低了系统调用的开销;32.(3)本发明的中转服务器与云桌面组成集群网络,即与集群内部的云桌面通过内网传输,因此能以极低的网络传输时间及成本进行转发,且损耗可控;此外由于中转服务器与云桌面通过内网通信,只有中转服务器需要公网ip,因此节约了公网地址;33.(4)本发明在使用中转服务器进行中转之前,会先通过信令服务器与客户端进行ip地址及端口的交互,从而中转服务器能够对外关闭所有端口,只有在特定来源的ip数据报文访问时才打开特定端口,因此从根本上封堵了外部没有认证的网络的攻击行为,保证了中转服务器的安全,避免用户使用云桌面时要承担额外的安全风险。34.(5)本发明运维便捷,为企业节省大量的出错成本。35.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。附图说明36.图1为本发明实施例的基于中转服务器的云桌面通信方法的流程图一(客户端发起);37.图2为本发明实施例的ip数据报文的示意图;其中,(a)表示ip报文头,(b)表示数据部分;38.图3为本发明实施例的基于中转服务器的云桌面通信方法的流程图二(客户端发起和云桌面响应);39.图4为本发明实施例的基于中转服务器的云桌面通信方法的完整流程图(包括ip地址交互部分);40.图5为本发明实施例的测试结果示意图;41.图6为本发明实施例的基于中转服务器的云桌面通信系统的结构示意图一(不包括信令服务器);42.图7为本发明实施例的基于中转服务器的云桌面通信系统的结构示意图二(包括信令服务器)。具体实施方式43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。44.在本发明的描述中,需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。45.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,步骤标识s101、s102、s103等仅用于方便表述,并不表示执行顺序,相应的执行顺序可以根据需要进行调节。46.参见图1所示,本发明一种基于中转服务器的云桌面通信方法,包括:47.s101,客户端通过公网向中转服务器发送第一ip数据报文;所述第一ip数据报文包括第一ip报文头和第一数据部分;所述第一数据部分包括云桌面的内网ip地址;48.s102,中转服务器接收所述第一ip数据报文,将所述第一ip报文头中的目的地址修改成云桌面的内网ip地址,并将修改后的第一ip数据报文发送至对应的云桌面。49.具体的,第一ip报文头的格式参见图2(a)所示,包括源地址和目的地址,第一数据部分的格式参见图2(b)所示,包括云桌面的mac地址、云桌面的ip地址(内网ip地址)和云桌面的端口。s101中,公网向中转服务器发送的第一ip数据报文中,第一ip报文头中的源地址为客户端的ip地址(公网地址),第一ip报文头中的目的地址为中转服务器的ip地址(公网地址)。s102中,中转服务器将所述第一ip报文头中的目的地址修改成云桌面的内网ip地址,同时将第一数据部分的云桌面的ip地址字段修改为中转服务器的ip地址,即中转服务器将中转服务器的ip地址和云桌面的ip地址进行了对调,并把对调后的第一ip数据报文直接传递给路由器,路由器根据第一ip数据报文的目的地址,把第一ip数据报文发送到指定的云桌面。50.中转服务器在接收到客户端或云桌面发送的数据报文时,就直接修改ip数据报文的目的地址以实现数据转发,即没有产生新的连接,因此能够减少网络延时,提升了网络传输速度,且不会使中转服务器产生额外的性能损耗。51.本实施例中,所述中转服务器是一个高安全高防护性且拥有公网ip地址的linux服务器,所述中转服务器与至少一个云桌面组成集群网络。52.具体的,与一个中转服务器组成集群网络的云桌面个数取决于流量的上限,比如说,网络带宽为10g,那么理论上一个中转服务器可以支持20m的云桌面个数为10000/20=500,通常情况下会进行冗余设计,因此实际云桌面个数要低于理论值。53.中转服务器与云桌面组成集群网络,即与集群内部的云桌面通过内网传输,因此能以极低的网络传输时间及成本进行转发,且损耗可控;此外由于中转服务器与云桌面通过内网通信,只有中转服务器需要公网ip,因此节约了公网地址54.进一步的,linux中转服务器的内核设置有探针,当有ip数据报文到达内核的时候,触发探针回调,对ip数据报文的目的地址进行修改。55.具体的,linux内核提供有xdp的框架。xdp全称expressdatapath,xdp是linux网络处理流程中的一个ebpf钩子,能够挂载ebpf程序,能够在网络数据包到达网卡驱动层时对其进行处理。56.中转服务器通过内核设置的探针,在有ip数据报文到达内核的时候,触发探针回调,对ip数据报文的目的地址进行修改,通过探针技术,让ip数据报文没有进入应用层,而是在内核层就已经进行了修改,降低了系统调用的开销。57.进一步的,所述s102中,中转服务器将所述第一ip报文头中的目的地址修改成云桌面的内网ip地址之前,还包括:58.判断云桌面的内网ip地址是否在预设云桌面内网ip地址的范围内或判断云桌面的内网ip地址是否属于预设云桌面内网ip地址中的一个,如果是,将所述第一ip报文头中的目的地址修改成云桌面的内网ip地址;如果不是,丢弃第一ip数据报文或提示错误。59.具体的,参见图2(b)所示,本实施例会对第6~9个字节的ip地址进行检测,确保是可信任的ip地址,才进行对应的数据处理。60.参见图3所示,为了响应所述客户端的第一ip数据报文,所述s102之后,还包括:61.s103,云桌面通过内网向中转服务器发送第二ip数据报文;所述第二ip数据报文包括第二ip报文头和第二数据部分;所述第二数据部分包括客户端的公网ip地址;62.s104,中转服务器接收所述第二ip数据报文,将所述第二ip报文头中的目的地址修改成客户端的公网ip地址,并将修改后的第二ip数据报文发送至对应的客户端。63.同上,s104中,中转服务器将所述第二ip报文头中的目的地址修改成客户端的公网ip地址,同时将第二数据部分的客户端的公网ip地址字段修改为中转服务器的ip地址,即中转服务器将中转服务器的ip地址和客户端的ip地址进行了对调,并把对调后的第二ip数据报文发送至对应的客户端。64.参见图4所示,本实施例中,所述s101之前,还包括:65.客户端通过公网向信令服务器发送连接云桌面请求的第三ip数据报文;66.信令服务器接收所述第三ip数据报文,并通过内网向云桌面发送包括客户端公网ip地址的第四ip数据报文;67.云桌面接收所述第四ip数据报文,通过内网向信令服务器发送包括云桌面内网ip地址和中转服务器公网ip地址的第五ip数据报文;68.信令服务器接收所述第五ip数据报文,并通过外网发送给客户端。69.对应的,所述信令服务器具有公网地址,且与中转服务器和云桌面组成集群网络。70.通过专门的信令服务器来进行ip地址的交互(将客户端的ip地址传给云桌面,将云桌面的ip地址和中转服务器的ip地址传给客户端),能够保证中转服务器的安全,且能避免用户使用云桌面时要承担额外的安全风险。一方面,信令服务器可以根据集群网络中的云桌面的使用情况,选择一台合适云桌面,另一方面,云桌面或云桌面的中心系统可以通过与中转服务器通过交互指示或请求中转服务器打开特定的端口,并且这个特定的端口只允许通过特定的来源的网络包,保证了中转服务器的安全。71.具体的,由于中转服务器是一个暴露在公网的节点,如果不对入网端口进行封闭管理,很容易被互联网上的不法分子钻空子,对其进行干扰。轻则影响业务效率,重则直接使业务瘫痪。因此本发明采用自内而外的方法发起业务流程。即让位于内网的云桌面先指示中转服务器要打开的特定的端口,中转服务器控制该特定的端口只允许通过特定的来源网络包,从而根本上封堵了外部没有认证的网络攻击行为,从而保证了中转服务器的安全。72.参见图5所示,为使用两台电脑直接测测试数据比对。具体的,其中一台电脑b作为中转服务器,另一台电脑a同时做客户端和云桌面两个通讯节点使用,即电脑a的数据包,发给电脑b,电脑b也就是中转节点,再修改ip报文头中的目的地址后,重新转发给电脑a,完成一个传输回路。两台电脑直连是能够排除网络环境的干扰,仅仅测试中转功能的性能,以突出本发明的低延时的特点。73.图5中,第一列的“本机测试”,指的是数据包只在本机内发送给本地,不出本地,计算的是网络框架软件的性能。第一列的“iptable”指的是现有技术的通信方法,第一列的“xdp”指的是本发明的通信方法,现有技术的iptable和本发明的xdp通信方法是出了本地a,再由中转节点(电脑b)传输回来。此外,第一列括号里的数字,表示单位时间内(一秒)的网络包的个数,比如说“本机测试(100)”的数据来源就是“电脑a每秒发送100个网络包”。74.从图5可以看出,使用本发明的中转方法相比现有技术的中转方法有最高30%~50%的提升。75.参见图6所示,为应用于本技术实施例的基于中转服务器的云桌面通信方法的架构,具体的,一种基于中转服务器的云桌面通信系统,包括客户端50、中转服务器51和至少一个云桌面52;所述中转服务器51与所述客户端50和云桌面52分别相连接;76.所述客户端50,用于通过公网向中转服务器51发送第一ip数据报文;所述第一ip数据报文包括第一ip报文头和第一数据部分;所述第一数据部分包括云桌面52的内网ip地址;77.所述中转服务器51,用于接收所述第一ip数据报文,将所述第一ip报文头中的目的地址修改成云桌面52的内网ip地址,并将修改后的第一ip数据报文发送至对应的云桌面52。78.进一步的,所述云桌面52,用于通过内网向中转服务器51发送第二ip数据报文;所述第二ip数据报文包括第二ip报文头和第二数据部分;所述第二数据部分包括客户端50的公网ip地址;79.所述中转服务器51,还用于接收所述第二ip数据报文,将所述第二ip报文头中的目的地址修改成客户端50的公网ip地址,并将修改后的第二ip数据报文发送至对应的客户端50。80.参见图7所示,所述的基于中转服务器51的云桌面52通信系统,还包括:信令服务器53,所述信令服务器53与所述客户端50和云桌面52分别相连接;所述客户端50通过公网向信令服务器53发送连接云桌面52请求的第三ip数据报文;所述信令服务器53接收所述第三ip数据报文,并通过内网向云桌面52发送包括客户端50公网ip地址的第四ip数据报文;所述云桌面52接收所述第四ip数据报文,通过内网向信令服务器53发送包括云桌面52内网ip地址和中转服务器51公网ip地址的第五ip数据报文;所述信令服务器53接收所述第五ip数据报文,并通过外网发送给客户端50。81.以上所述,仅为本发明较佳的具体实施方式;但本发明的保护范围并不局限于此。任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其改进构思加以等同替换或改变,都应涵盖在本发明的保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1