彭凤凌,庹先国,2,王洪辉,蒲建华
(1.成都理工大学 地质灾害防治与地质环境保护国家重点实验室,四川 成都610059;2.西南科技大学 核废物与环境安全国防重点学科实验室,四川 绵阳621010)
NAT技术[1-3]的发展虽然缓解了IP地址枯竭问题,但却使得公网不能主动访问内网,位于两个不同NAT设备后的客户端通信问题更是麻烦,给通信带来了极大不便。而不同内网之间通信的应用在当今信息时代无处不在,如在移动电子商务方面[4],甚至将移动终端纳入互联网上一个普通网络节点,并与其它平台通信和进行各种事务的处理,因此怎样突破NAT设备实现不同内网的通信显得十分重要。对此,前人有许多研究,如文献 [5]介绍了一种UDP协议通过打洞实现与内网通信的方法[5],该通信方案比较完善,但UDP协议建立的端口映射不能持久,也就不能够保证打洞的可靠性和稳定性,且UDP本身不可靠,当需要实现大数据 (如文件)传输时,需要改进协议解决数据掉包等问题,使得通信过程复杂,信息传递的实时性差。文献 [6]提出了一种TCP协议的P2P通信方法[6],虽能保证通信的可靠性,但是通信方案会因NAT设备类型的不同而有所变化,且对于属于 “对称型”的NAT设备,文献[5-6]所提出的方法往往不能够真正穿透内网。基于以上问题,笔者通过对Android系统平台手机的无线通信技术进行研究,在摒弃 “打洞”思路基础上采用 “转发”思路,设计并实现了基于Android手机与内网PC的通信系统。在确保通信安全性基础上能突破所有NAT设备 (包括最难实现打洞的 “对称式”NAT设备)。……