[发明专利]数据传输方法和客户端在审
申请号: | 201210117306.6 | 申请日: | 2012-04-19 |
公开(公告)号: | CN103379182A | 公开(公告)日: | 2013-10-30 |
发明(设计)人: | 禹扬帆;刘义;方腾飞 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/12 | 分类号: | H04L29/12;H04L29/06;H04L12/46 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 吴贵明;江舟 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据传输 方法 客户端 | ||
技术领域
本申请涉及互联网领域,具体而言,涉及一种数据传输方法和客户端。
背景技术
目前,计算机上一般都会安装一种或者多种防火墙,防火墙并不是为了屏蔽所有的通信渠道,比如,当安装了防火墙之后,用户依然可以上网浏览互联网信息。假设现在有这样一个场景:两个计算机上的用户互相聊天,聊天的数据内容是音频数字信号,音频数字信号的特点就是:持续且数据量大,如果按照传统的数据传输方法用户将按照防火墙的要求先将数据发送到服务器,然后服务器将数据转发给对端用户,这样的处理方式势必给中央服务器带来很大的带宽消耗,同时也增加了数据从发送端到接收端的延迟时间。
当然,现在的互联网有很多应用已经使用P2P的技术,然而基于这种技术,在存在本地防火墙的环境下,如果用户A和用户B之间进行通信,则用户A发送的数据包在通过用户A的计算机时,该计算机所设置的本地防火墙将对该数据包进行检测,只有该数据包满足了本地防火墙的通信规则的要求,该数据包才可能被传送,被传送的数据包将被传送到中转服务器,中转服务器将接收到的数据转发至用户B,当用户A接收用户B发送的数据包时,也同样需要中转服务器进行数据的转发,从而导致中转服务器的中转压力太大。造成上述问题的主要原因是,只有中转服务器中保存了进行通信双方的地址和端口之间的映射关系,数据的收发双方并不知道对方进行数据通信的端口号和地址,因此发送端需要将数据发送到中转服务器,中转服务器根据自身存储的映射表找到接收端的地址和端口号,然后按照找到的地址和端口号将数据发送给接收端,从而实现双方数据的转发。
可见,在数据发送的过程中,中转服务器需要对通信双方的数据进行中转。然而,在这种中转方式下,当大量用户同时进行数据发送时,由于中转服务器本身的吞吐能力和带宽能力将导致最终数据包的传输延迟,甚至有些数据将无法被正确送达到接收端。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种数据传输方法和装置,以至少解决现有技术中通信双方需要通过中转站对数据进行中转而造成的数据传输延迟的技术问题。
根据本申请的一个方面,提供了一种数据传输方法,包括:第一客户端通过注册服务器获得第二客户端的私网IP地址和端口号以及与第二客户端连接的第二NAT设备的公网IP地址和端口号;第一客户端将待发数据包封装成第一客户端中第一防火墙所允许传输的数据包,其中,封装后的数据包中携带第二客户端的私网IP地址和端口号以及第二NAT设备的公网IP地址和端口号;第一客户端将封装后的数据包通过第一防火墙、与第一客户端连接的第一NAT设备以及第二NAT设备发送至第二客户端。
优选地,在第一客户端通过注册服务器获得第二客户端的私网IP地址和端口号以及与第二客户端连接的第二NAT设备的公网IP地址和端口号时,还包括:第二客户端通过注册服务器获得第一客户端的私网IP地址和端口号以及与第一NAT设备的公网IP地址和端口号;第二客户端将待发数据包封装成第二客户端中第二防火墙所允许传输的数据包,其中,封装后的数据包中携带第一客户端的私网IP地址和端口号以及第一NAT设备的公网IP地址和端口号;第二客户端将封装后的数据包通过第二防火墙、第二NAT设备以及第一NAT设备发送至第一客户端。
优选地,第一客户端通过注册服务器获得第二客户端的私网IP地址和端口号以及与第二客户端连接的第二NAT设备的公网IP地址和端口号、第二客户端通过注册服务器获得第一客户端的私网IP地址和端口号以及与第一NAT设备的公网IP地址和端口号的步骤包括:在第一客户端与注册服务器之间建立第一接收隧道和第一发送隧道;在第二客户端与注册服务器之间建立第二接收隧道和第二发送隧道;第一客户端与第二客户端通过第一接收隧道、第一发送隧道和第二接收隧道和第二发送隧道交互第二客户端的私网IP地址和端口号以及与第二客户端连接的第二NAT设备的公网IP地址和端口号、第一客户端的私网IP地址和端口号以及与第一NAT设备的公网IP地址和端口号。
优选地,第一客户端将封装后的数据包通过第一防火墙、与第一客户端连接的第一NAT设备以及第二NAT设备发送至第二客户端的步骤包括:第一客户端通过第一防火墙、第一NAT设备以及第二NAT设备告知封装后的数据包的起始序列、长度和结束序列,其中,封装后的数据包为由多个数据组成的数据序列;第一客户端通过第一防火墙、第一NAT设备以及第二NAT设备持续将封装后的数据包发送给第二客户端,直到封装后的数据包括发送结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210117306.6/2.html,转载请声明来源钻瓜专利网。