一种系统终端设备建立NAT穿越通道的方法技术方案

技术编号:5209463 阅读:308 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种系统终端设备建立NAT穿越通道的方法,包括:呼叫方系统终端设备通过转发服务节点分别获取转发服务节点上的数据接收端口及网络地址、NAT设备上的数据接收端口及网络地址和系统终端设备上的数据接收端口及网络地址,并发送给被呼叫方的系统终端设备;被呼叫方的系统终端设备的数据发送端口向呼叫方系统终端设备分别并行进行直通测试、转发测试和穿越测试,获取呼叫方系统终端设备的接收数据端口的网络地址和端口;将被呼叫方的系统终端设备的数据接收的网络地址与端口发送给呼叫方系统终端设备。本发明专利技术考虑多级NAT下端到端通信的多样性,充分利用多级NAT所构成私网内的网络资源,可以在多种场景下实现NAT的穿越。

【技术实现步骤摘要】

本专利技术涉及计算机网络通信
,更具体地,本专利技术涉及一种系统终端设备建立NAT穿越通道的方法。
技术介绍
众所周知由于IP地址有限以及分配上的不均匀,导致网络地址严重缺乏,从实际应用和部署上看,网络地址翻译(Network Address Translator,NAT)技术是解决IP地址不足情况下接入互联网的重要方法。随着个人信息设备的增多、网络接入设备的普及和网络技术的发展,越来越多的公司、团体和家庭希望将这些设备以网络的方式组织在一起,并接入互联网,但是出于安全的考虑,如何在网络上隐藏高安全等级的节点是很多公司面临的问题,在这种IP地址严重缺乏、设备组网互联需求迫切并且在大量安全隐患的情况下,通过NAT技术形成的单级或者多级私网结构接入互联网在实际部署中已经越来越普遍和流行。NAT设备为NAT控制下的私有网络(简称私网)地址提供地址翻译功能,使得私网内的主机可以透明地访问外部网络地址,反向访问不可以,NAT下主机的私有网络地址在外部网络中是不可路由的,外部网络主机无法直接访问位于私网内的主机,而且私网内的主机之间在很多情况下也无法直接通信,这对很多主机部署在私网内的端到端通信带来了很多问题和挑战。目前解决部署在私有网络中的主机通信问题的技术是NAT穿越技术,有不少研究团体、标准化组织都已做出了很多有意义的工作。目前常用的方法和技术有:应用程序网关(Application Lay Gate,ALG)、中继(Relaying)、反转连接(Connection Reversal)、穿洞(Hole Punching)技术等,也出现了像中间箱通信(Middle Box Communication)、简单UDP穿越NAT(SimpleTraversal of User Datagram Protocol Through NAT,STUN)、中继穿越NAT(Traversal Using Relay NAT,TURN)、交互连接建立(InteractiveConnectivity Establishment,ICE)等一系列提交IETF用来解决NAT穿越问题的标准或草案。现有的这些技术、标准和草案都存在这样的问题:没有考虑多级NAT下的穿越问题,或者只是简单地使用中继的方式通过公网服务器进行转发实现穿越,或者是依赖NAT设备本身Hairpin特性利用穿洞技术实现,这显然是十分低效的,而且在很多场景下无法实现。没有考虑多级NAT下端到端通信的多样性,也没有充分利用多级NAT所构成私网内的网络资源。
技术实现思路
为克服现有NAT网络环境中转发穿越效率低并且测试速度慢的缺陷,本专利技术提出了一种系统终端设备建立NAT穿越通道的方法。根据本专利技术的一个方面,提供了一种系统终端设备建立NAT穿越通道的方法,包括:-->步骤1)、呼叫方系统终端设备通过转发服务节点分别获取转发服务节点上的数据接收端口及网络地址、及其层级信息、NAT设备上的数据接收端口及网络地址,并将转发服务节点上的数据接收端口及网络地址、NAT设备上的数据接收端口及网络地址和系统终端设备上的数据接收端口及网络地址送给被呼叫方的系统终端设备;步骤2)、被呼叫方系统终端设备收到所述呼叫方系统终端设备发送的携带有呼叫方接收数据端口的网络地址和端口后的连接请求后,通过转发服务节点分别获取转发服务节点上的数据接收端口及网络地址、及其层级信息、NAT设备上的数据接收端口及网络地址;步骤3)、并行执行被呼叫方的系统终端设备对于呼叫方的系统终端设备上的数据接收端口及网络地址的直通测试、呼叫方的转发服务节点上的数据接收端口及网络地址的转发测试以及呼叫方的NAT设备上的数据接收端口及网络地址的穿越测试,发送测试请求消息;步骤4)、被呼叫方的系统终端设备在所述直通测试、转发及穿越测试进行中或者完成后,根据测定的数据传输路径和优先级,选择数据传输路径。其中,所述系统终端设备包括:路径完成状态记录装置,用于记录路径探测的完成状态;直通测试单元执行状态记录装置,用于记录直通测试单元是否在执行;转发及穿越测试单元执行状态记录装置,用于记录转发及穿越测试单元是否在执行;完成优先级状态记录装置,用于记录当前完成状态是由直通测试单元还是转发及穿越测试单元完成;所述测试请求消息中包括所述被呼叫方的转发服务节点上的数据接收测试点、系统终端设备上的数据接收测试点。其中,步骤3)进一步包括:步骤A20)、所述被呼叫方的系统终端设备通过自身的数据发送测试点向呼叫方的系统终端设备的自身的数据接收测试点发送直通测试请求;步骤A21)、呼叫方的系统终端设备接收到直通测试请求消息后,进行直通测试,并返回应答消息;步骤A22)、当所述应答消息未经过转发服务器,或者所述被呼叫方的系统终端设备通过自身的数据接收测试点向呼叫方系统终端设备强制测试点发出强制测试消息,所述被呼叫方的系统终端设备确认呼叫方接收数据端口的网络地址和端口,设置路径完成状态。其中,步骤A20)中,所述被呼叫方在系统终端设备上的数据接收测试点等待返回消息。其中,步骤A22)进一步包括:步骤A220)、被呼叫方的系统终端设备获取返回消息,确认双方可以直通可达,以双方的系统终端设备上的数据接收测试点为各自接收地址,向呼叫方返回所述被呼叫方系统终端设备上的数据接收测试点,路径完成状态置位,完成优先级状态设为直通测试。其中,步骤A22)进一步包括:-->步骤A220)、被呼叫方的系统终端设备确认双方不可以直通可达,获取应答消息中的强制测试点,从系统终端设备上的数据接收测试点向强制测试点发送强制测试消息;步骤A221)被呼叫方的系统终端设备的数据接收测试点收到所述返回的强制测试应答消息后,获取应答消息中的测试点,将其作为新的NAT设备上的数据接收测试点,向呼叫方的系统终端设备上的数据接收测试点发送穿越直通测试请求消息,所述穿越直通测试请求消息中包含新的NAT设备上的数据接收测试点;步骤A222)、被呼叫方的系统终端设备获取返回消息,确认双方可以经过NAT设备转发的直通,以被呼叫方的系统终端设备的新的NAT设备上的数据接收测试点和呼叫方的系统终端设备的转发服务节点上的数据接收测试点为各自接收地址,记录接收对应关系,路径完成状态置位,完成优先级状态设为直通测试。其中,步骤3)进一步包括:步骤B20)、所述被呼叫方的系统终端设备通过自身的数据发送测试点向呼叫方转发服务节点上的数据接收测试点发起转发测试;步骤B21)、呼叫方的系统终端设备接收到转发测试消息后,进行转发测试,并返回应答消息;步骤B22)、当返回的应答消息中存在未经过转发点转发的应答消息,所述被呼叫方确定路径完成状态未置位后从系统终端设备的数据发送测试点向呼叫方转发服务节点上的数据接收测试点发送非对称转发测试请求;步骤B23)、当返回的应答消息中不存在未经过转发点转发的应答消息,确认更新呼叫方的转发点,调整转发点,重新开始转发测试;如果没有新的转发点则开始穿越测试。其中,步骤B20)中,所述转发测试的测试请求消息中包括所述被呼叫方的转发服务节点上的数据接收测试点、NAT设备上的数据接收测试点或者系统终端设备上的数据接收测试点、被呼叫方的转发服务节点上的数据接收测试点的层级信息,所述被呼叫方在本文档来自技高网
...

【技术保护点】
一种系统终端设备建立NAT穿越通道的方法,包括:步骤1)、呼叫方系统终端设备通过转发服务节点分别获取转发服务节点上的数据接收端口及网络地址、及其层级信息、NAT设备上的数据接收端口及网络地址,并将转发服务节点上的数据接收端口及网络地址、NAT设备上的数据接收端口及网络地址和系统终端设备上的数据接收端口及网络地址送给被呼叫方的系统终端设备;步骤2)、被呼叫方系统终端设备收到所述呼叫方系统终端设备发送的携带有呼叫方接收数据端口的网络地址和端口后的连接请求后,通过转发服务节点分别获取转发服务节点上的数据接收端口及网络地址、及其层级信息、NAT设备上的数据接收端口及网络地址;步骤3)、并行执行被呼叫方的系统终端设备对于呼叫方的系统终端设备上的数据接收端口及网络地址的直通测试、呼叫方的转发服务节点上的数据接收端口及网络地址的转发测试以及呼叫方的NAT设备上的数据接收端口及网络地址的穿越测试,发送测试请求消息;步骤4)、被呼叫方的系统终端设备在所述直通测试、转发及穿越测试进行中或者完成后,根据测定的数据传输路径和优先级,选择数据传输路径。

【技术特征摘要】
1.一种系统终端设备建立NAT穿越通道的方法,包括:步骤1)、呼叫方系统终端设备通过转发服务节点分别获取转发服务节点上的数据接收端口及网络地址、及其层级信息、NAT设备上的数据接收端口及网络地址,并将转发服务节点上的数据接收端口及网络地址、NAT设备上的数据接收端口及网络地址和系统终端设备上的数据接收端口及网络地址送给被呼叫方的系统终端设备;步骤2)、被呼叫方系统终端设备收到所述呼叫方系统终端设备发送的携带有呼叫方接收数据端口的网络地址和端口后的连接请求后,通过转发服务节点分别获取转发服务节点上的数据接收端口及网络地址、及其层级信息、NAT设备上的数据接收端口及网络地址;步骤3)、并行执行被呼叫方的系统终端设备对于呼叫方的系统终端设备上的数据接收端口及网络地址的直通测试、呼叫方的转发服务节点上的数据接收端口及网络地址的转发测试以及呼叫方的NAT设备上的数据接收端口及网络地址的穿越测试,发送测试请求消息;步骤4)、被呼叫方的系统终端设备在所述直通测试、转发及穿越测试进行中或者完成后,根据测定的数据传输路径和优先级,选择数据传输路径。2.权利要求1的方法,其中,所述系统终端设备包括:路径完成状态记录装置,用于记录路径探测的完成状态;直通测试单元执行状态记录装置,用于记录直通测试单元是否在执行;转发及穿越测试单元执行状态记录装置,用于记录转发及穿越测试单元是否在执行;完成优先级状态记录装置,用于记录当前完成状态是由直通测试单元还是转发及穿越测试单元完成;所述测试请求消息中包括所述被呼叫方的转发服务节点上的数据接收测试点、系统终端设备上的数据接收测试点。3.权利要求2的方法,其中,步骤3)进一步包括:步骤A20)、所述被呼叫方的系统终端设备通过自身的数据发送测试点向呼叫方的系统终端设备的自身的数据接收测试点发送直通测试请求;步骤A21)、呼叫方的系统终端设备接收到直通测试请求消息后,进行直通测试,并返回应答消息;步骤A22)、当所述应答消息未经过转发服务器,或者所述被呼叫方的系统终端设备通过自身的数据接收测试点向呼叫方系统终端设备强制测试点发出强制测试消息,所述被呼叫方的系统终端设备确认呼叫方接收数据端口的网络地址和端口,设置路径完成状态。4.权利要求3的方法,其中,步骤A20)中,所述被呼叫方在系统终端设备上的数据接收测试点等待返回消息。5.权利要求4的方法,其中,步骤A22)进一步包括:步骤A220)、被呼叫方的系统终端设备获取返回消息,确认双方可以直通可达,以双方的系统终端设备上的数据接收测试点为各自接收地址,向呼叫方返回所述被呼叫方系统终端设备上的数据接收测试点,路径完成状态置位,完成优先级状态设为直通测试。6.权利要求4的方法,其中,步骤A22)进一步包括:步骤A220)、被呼叫方的系统终端设备确认双方不可以直通可达,获取应答消息中的强制测试点,从系统终端设备上的数据接收测试点向强制测试点发送强制测试消息;步骤A221)被呼叫方的系统终端设备的数据接收测试点收到所述返回的强制测试应答消息后,获取应答消息中的测试点,将其作为新的NAT设备上的数据接收测试点,向呼叫方的系统终端设备上的数据接收测试点发送穿越直通测试请求消息,所述穿越直通测试请求消息中包含新的NAT设备上的数据接收测试点;步骤A222)、被呼叫方的系统终端设备获取返回消息,确认双方可以经过NAT设备转发的直通,以被呼叫方的系统终端设备的新的NAT设备上的数据接收测试点和呼叫方的系统终端设备的转发服务节点上的数据接收测试点为各自接收地址,记录接收对应关系,路径完成状态置位,完成优先级状态设为直通测试。7.权利要求2的方法,其中,步骤3)进一步包括:步骤B20)、所述被呼叫方的系统终端设备通过自身的数据发送测试点向呼叫方转发服务节点上的数据接收测试点发起转发测试;步骤B21)、呼叫方的系统终端设备接收到转发测试消息后,进行转发测试,并返回应答消息;步骤B22)、当返回的应答消息中存在未经过转发点转发的应答消息,所述被呼叫方确定路径完成状态未置位后从系统终端设备的数据发送测试点向呼叫方转发服务节点上的数据接收测试点发送非对称转发测试请求;步骤B23)、当返回的应答消息中不存在未经过转发点转发的应答消息,确认更新呼叫方的转发点,调整转发点,重新开始转发测试;如果没有新的转发点则开始穿越测试。8.权利要求7的方法,其中,步骤B20)中,所述转发测试的测试请求消息中包括所述被呼叫方的转发服务节点上的数据接收...

【专利技术属性】
技术研发人员:傅川张国清
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1