CN101478493B - 一种穿越nat的通信方法及设备 - Google Patents

一种穿越nat的通信方法及设备 Download PDF

Info

Publication number
CN101478493B
CN101478493B CN2009100088685A CN200910008868A CN101478493B CN 101478493 B CN101478493 B CN 101478493B CN 2009100088685 A CN2009100088685 A CN 2009100088685A CN 200910008868 A CN200910008868 A CN 200910008868A CN 101478493 B CN101478493 B CN 101478493B
Authority
CN
China
Prior art keywords
port numbers
public network
nat
node
section point
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.)
Expired - Fee Related
Application number
CN2009100088685A
Other languages
English (en)
Other versions
CN101478493A (zh
Inventor
林鹏程
周迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2009100088685A priority Critical patent/CN101478493B/zh
Publication of CN101478493A publication Critical patent/CN101478493A/zh
Application granted granted Critical
Publication of CN101478493B publication Critical patent/CN101478493B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种穿越NAT的通信方法,包括:管理服务器与第一NAT协商第一节点的公网端口号,向第二NAT发送申请报文,使第二NAT根据第二节点的私网IP和私网端口号、第一节点的公网IP和公网端口号,分配第二节点的公网端口号,建立映射表项,并将第二节点的公网端口号发送给管理服务器;向第一NAT发送建立报文,使第一NAT建立映射表项;将第一节点的公网IP和公网端口号发送给第二节点,使第二节点与第一节点通过第一NAT的映射表项和第二NAT的映射表项建立连接。本发明中,可以获得NAT设备的外部地址及外部端口号,灵活实现设备在NAT网络中的组网应用;并可以实现P2P穿越双对称NAT网络通信。

Description

一种穿越NAT的通信方法及设备 
技术领域
本发明涉及通信技术领域,尤其涉及一种穿越NAT的通信方法及设备。 
背景技术
随着网络应用的多样性,各种终端设备(具有特定功能的设备,例如图像采集设备、声音监控设备等)进行分步式放置,增加了客户端(例如PC机等用户设备)对终端设备访问的复杂性。因此,可以增加一个管理服务器对终端设备进行统一管理,客户端只需要获得管理服务器的地址,通过访问管理服务器,获取终端设备的访问路径(包括终端设备的地址及端口号);终端设备再利用获取的信息,对客户端发起连接,构成集中式管理***。 
其中,集中式管理***的运行流程如图1所示,包括以下步骤: 
步骤101,终端设备向管理服务器进行注册,使管理服务器获取该终端设备的IP地址、端口号等信息; 
步骤102,终端设备定期向管理服务器发送保活报文; 
步骤103,客户端向管理服务器发送访问申请,包含申请访问的终端设备名称,客户端发起访问申请的源端口号等信息; 
步骤104,管理服务器向终端设备发送通告信息,将客户端IP地址和端口号传给终端设备,告知该客户端将访问终端设备; 
步骤105,终端设备如果状态正常,则返回OK信息,并将与客户端通信的端口号告知管理服务器; 
步骤106,管理服务器向客户端返回OK信息,且将终端设备的IP地址和目的端口号返回给客户端; 
步骤107,客户端利用获取到的终端设备的IP地址和目的端口号,向终端设备发起连接; 
步骤108,终端设备确定客户端发送的与本地存储的IP地址和端口号匹配,与该客户端进行通信。 
通常,上述集中式管理运行流程可以保证客户端、管理服务器与终端设备处在同一个网络(公网或私网),没有经过NAT(Network AddressTranslation,网络地址转换)设备时客户端和终端设备间的通信和访问。但是随着网络应用的发展,必然会遇到终端设备与管理服务器、客户端不在同一个网络中的应用场景。 
参考图1,如果终端设备与管理服务器、客户端位于不同的网络(例如,终端设备和管理服务器在一个私网中,客户端在另一个私网中;或终端设备在一个私网中,客户端在另一个私网中,管理服务器在公网中),在步骤107中,客户端向终端设备发起通信时,由于客户端和终端设备分属不同的私网,NAT设备上由于没有对应的客户端与终端设备间私网IP和私网端口号、公网IP和公网端口号之间对应关系的映射表项,导致NAT设备将阻塞报文进入终端设备所在的私网。为了解决这样的问题,可以有以下几种实现方式: 
1、在终端设备及与公网连接的NAT设备上进行一对一的地址转换配置,NAT设备将来自终端设备消息的IP数据报报头中的私网IP地址转换为公网IP地址。 
该方案的缺点是:配置的静态地址转换并没有节省公网IP地址,每增加新的终端设备,都需要在NAT设备手动配置新的公网IP地址。 
2、在公网中增加一台代理服务器,代理服务器同时与一个私网中的客户端和另一个私网中的终端设备进行通信,进而转发两者之间的通信。 
该方案的缺点是:需要增加一台额外的代理服务器;代理服务器需要同时与两个网络中的设备进行通信,同时在通信过程中需要一直保持连接关系,增加了网络维护成本。 
3、利用STUN(Simple Traversal of UDP Through Network AddressTranslators,UDP对NAT的穿越)协议实现双NAT网络的穿越:管理服务器分别与客户端和终端设备建立连接,获得客户端和终端设备在NAT外网的IP地址;再由客户端或终端设备向对方NAT的外网IP地址发送邀请包,获取 自己与对方通讯的NAT外网的IP地址(即客户端或终端设备的NAT外网IP地址)。客户端或终端设备获取了本地NAT外网IP地址和对方NAT外网IP地址的映射关系,然后在报文负载中所描述的地址信息就直接填写NAT上对外地址,而不是内网的私有IP地址,报文的内容在经过NAT时按普通的NAT流程转换报文头部的IP地址,负载内的IP地址信息无需再修改。STUN协议是客户端/服务器协议,分两种请求方式:一是UDP(User Datagram Protocol,用户数据报协议)发送的绑定请求(Binding Requests),用于确定NAT分配的绑定地址;另一种是TCP(Transmission Control Protocol,传输控制协议)发送的秘密请求(Shared Secret Requests)。 
STUN标准中,根据终端设备的私网地址(P:p)到NAT出口的公网地址(A:b)的映射方式,把NAT设备分为四种类型: 
(1).Full Cone:来自相同的私网地址的请求消息映射为相同的公网地址,与目的公网地址无关。映射关系为P:p?A:b,任何外网主机可通过NAT的(A:b)发送数据到终端设备的(P:p)上。 
(2).Restricted Cone:来自相同的私网地址的请求消息映射为相同的公网地址,返回的数据只接受该内部节点曾发数据的那个目的设备地址X。映射关系为P:p?A:b?X,只有来自X的数据包才可通过(A:b)发送数据到(P:p)上。 
(3).Port Restricted Cone:来自相同的私网地址的请求消息映射为相同的公网地址,返回的数据只接受该内部节点曾发数据的那个目的地址X:x。映射关系为P:p?A:b?X:x,只有来自X:x的数据包才可通过(A:b)发送数据到(P:p)上。 
(4).Symmetric(对称)NAT:只有来自相同的私网地址(P:p),并且发送到同一个地址(X:x)的请求消息,才被映射为相同的公网地址(A:b),返回的数据只接受该内部节点曾发数据的那个目的地址X:x。映射关系为P:p?A:b?X:x,当(P:p)访问(Y:y)时,映射为P:p?B:c?Y:y。 
该技术方案的缺点是:对于方式1和2,由于终端设备或客户端可以获得对方NAT外网的IP地址,因此STUN协议实现双NAT网络的穿越不会产生问题;而当NAT设备一方是对称型,另一方是Port Restricted或对称型时,管理服务器只知道对方NAT外网的IP地址,而无法动态获取NAT设备的公网端口号,因此报文无法穿越NAT设备到达对方。 
4、利用UPnP(Universal Plug and Play,通用即插即用)技术实现NAT穿越:通过UPnP技术在NAT设备建立静态端口映射,通过在应用终端实现UPnP客户端与嵌入在NAT设备中的UPnP服务交互,实现控制NAT设备完成NAT穿透的功能。 
该技术方案的缺点是:需要终端设备和NAT设备同时支持UPnP技术,需要对原有的终端设备进行改造;终端设备和客户端通信的端口是随机生成的,NAT设备无法通过监听随机的端口号,建立端口映射。 
发明内容
本发明提供了一种穿越NAT的通信方法及设备,在双NAT设备都为对称型的环境中,提供更加灵活的组网方案。 
本发明提供了一种穿越NAT的通信方法,应用于包括管理服务器、第一节点、第二节点、第一NAT和第二NAT的***中,其中所述第一节点和所述第二节点分属于不同的私网,且所述第一节点通过所述第一NAT与公网通信,所述第二节点通过所述第二NAT与所述公网通信;所述方法包括以下步骤: 
所述管理服务器与所述第一NAT协商所述第一节点的公网端口号; 
所述管理服务器向所述第二NAT发送申请报文,所述申请报文中携带所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和公网端口号; 
所述第二NAT根据所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和公网端口号,分配所述第二节点的公网端口号,建立所述第二节点私网IP和私网端口号、所述第一节点的公网IP和公网端口号,以及所述第二节点的公网端口号间的映射表项,并将所述第二节点的公网端口号发送给所述管理服务器; 
所述管理服务器向所述第一NAT发送建立报文,所述建立报文携带所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和公网端口号、所述第一节点的公网端口号,使所述第一NAT建立所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和公网端口号、以及所述第一节点的公网端口号间的映射表项; 
所述管理服务器将所述第一节点的公网IP和公网端口号发送给所述第二节点,使所述第二节点与所述第一节点通过所述第一NAT的映射表项和所述第二NAT的映射表项建立连接。 
优选地,所述管理服务器与所述第一NAT协商所述第一节点的公网端口号之前还包括: 
所述管理服务器接收所述第二节点发送的申请报文,通过所述申请报文获取所述第二节点的私网IP和私网端口号、所述第二节点的公网IP; 
所述管理服务器将所述第二节点的私网IP和私网端口号通知所述第一节点,并获知所述第一节点的私网端口号。 
优选地,所述管理服务器与所述第一NAT协商所述第一节点的公网IP和第一节点私网IP是通过第一节点向管理服务器进行注册获得。 
优选地,所述管理服务器与所述第一NAT协商所述第一节点的公网端口号具体包括: 
所述管理服务器随即生成一个端口号,向所述第一NAT发送查询报文,所述查询报文中携带所述端口号和序列号; 
所述第一NAT检查本地的已经建立的映射表项,如果所述映射表项中所述端口号对应的端口未被占用,则将所述端口号返回给所述管理服务器;如果所述端口号对应的端口已被占用,则根据所述序列号生成一个新端口号,添加到所述映射表项中,并将所述新端口号返回给管理服务器。 
优选地, 
所述查询报文中还携带用户的账号信息,所述账号信息包括用户名和密码; 
所述第一NAT检查本地的映射表项之前还需要验证所述账号信息是否正确。 
优选地,如果建立映射表项失败,重新发起分配端口协商过程。 
优选地,所述第一节点为终端设备,所述第二节点为客户端;或所述第一节点和所述第二节点都为客户端。 
本发明提供了一种应用上述权利要求所述方法的管理服务器,应用于包括本发明管理服务器、第一节点、第二节点、第一NAT和第二NAT的***中,其中所述第一节点和所述第二节点分属于不同的私网,且所述第一节点通过所述第一NAT与公网通信,所述第二节点通过所述第二NAT与所述公网通信,所述管理服务器包括: 
第一协商单元,用于与所述第一NAT协商所述第一节点的公网端口号; 
获取单元,位于第二协商单元内,用于当所述管理服务器向所述第二NAT发送申请报文时,获取所述申请报文中携带的所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和所述第一协商单元协商的所述第一节点的公网端口号; 
第二协商单元,与所述第一协商单元连接,根据所述获取单元获得的所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和所述第一协商单元协商的所述第一节点公网端口号,用于与所述第二NAT协商所述第二节点的公网端口号,分配所述第二节点的公网端口号,并建立所述第二节点的私网IP和所述第二节点的私网端口号、所述第一节点的公网IP和所述第一节点的公网端口号,以及所述第二节点的公网端口号间的映射表项,并将所述第二节点的公网端口号发送给所述管理服务器; 
通知处理单元,与所述第一协商单元和第二协商单元分别连接,用于向所述第一NAT发送建立报文,所述建立报文携带所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和所述第二协商单元分配的公网端口号、所述第一协商单元协商的所述第一节点的公网端口号,使所述第一NAT建立所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和公网端口号、以及所述第一节点的公网端口号间的映射表项; 
管理建立单元,与所述第一协商单元连接,用于将所述第一节点的公网IP和所述第一协商单元协商的所述第一节点公网端口号发送给所述第二节点,使所述第二节点与所述第一节点通过所述第一NAT的映射表项和所述第二NAT的映射表项建立连接。 
优选地,所述获取单元,还用于接收所述第二节点发送的申请报文,通过所述申请报文获取所述第二节点的私网IP和私网端口号、所述第二节点的公网IP;并将所述第二节点的私网IP和私网端口号通知所述第一节点,并获知所述第一节点的私网端口号。 
优选地,所述获取单元,还用于获取所述第一节点和所述第二节点的公网IP。 
本发明提供了一种应用上述权利要求所述方法的NAT,应用于包括管理服务器、第一节点、第二节点、第一NAT和第二NAT的***中,其中所述第一节点和所述第二节点分属于不同的私网,且所述第一节点通过所述第一NAT与公网通信,所述第二节点通过所述第二NAT与所述公网通信,当所述NAT为第一NAT时,所述第一NAT包括: 
处理单元,用于与所述管理服务器协商所述第一节点的公网端口号; 
建立单元,与所述处理单元连接,用于接收来自所述管理服务器的建立报文,根据所述建立报文中携带的所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和公网端口号、所述处理单元协商的所述第一节点的公网端口号,建立所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和公网端口号、以及所述第一节点的公网端口号间的映射表项; 
当所述NAT为第二NAT时,所述第二NAT还包括: 
接收单元,与所述处理单元连接,用于接收来自所述管理服务器的申请报文,所述申请报文中携带所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和所述处理单元协商的公网端口号; 
分配单元,与所述接收单元连接,用于根据所述接收单元接收的所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和公网端口号,分配所述第二节点的公网端口号,建立所述第二节点私网IP和私网端口号、所述第一节点的公网IP和公网端口号,以及所述第二节点的公网端口号间的映射表项,并将所述第二节点的公网端口号发送给所述管理服务器。 
优选地,当所述NAT为第一NAT时,当所述NAT为第一NAT时,所述处理单元具体包括: 
接收子单元,用于接收来自所述管理服务器的查询报文,所述查询报文中携带所述管理服务器随机生成的端口号和序列号; 
检查子单元,与所述接收子单元连接,用于根据所述查询子单元接收到的查询报文检查本地的已经建立的映射表项,如果所述映射表项中所述端口号对应的端口未被占用,则将所述端口号返回给所述管理服务器;如果所述端口号对应的端口已被占用,则根据所述序列号生成一个新端口号,添加到所述映射表项中,并将所述新端口号返回给管理服务器。 
与现有技术相比,本发明具有以下优点: 
本发明中,可以实现一方是对称NAT设备、另一方是对称NAT设备或端口限制打孔NAT设备,可以获得NAT设备的外网地址及外网端口号,实现可控的开放私网访问端口,灵活实现设备在NAT网络中的组网应用;并可以实现P2P(Point to Point,点对点)穿越双对称NAT网络通信。 
附图说明
图1是现有技术中集中式管理***的运行流程图; 
图2是本发明中管理服务器向终端设备侧的NAT设备分配端口流程图; 
图3是本发明中管理服务器向客户端侧的NAT设备申请端口流程图; 
图4是本发明中管理服务器和终端设备在同一个NAT设备所属的私网内时,报文交互流程图; 
图5是本发明中当管理服务器在公网,客户端和终端设备分别在两个私网时,报文交互流程图; 
图6是应用本发明方法的一种管理服务器结构示意图; 
图7是应用本发明方法的一种NAT设备结构示意图。 
具体实施方式
本发明的核心思想是:利用管理服务器分别与终端设备的NAT设备和客户端的NAT设备进行通信,管理服务器向两个NAT设备申请建立映射关系,其中,该映射关系为第二节点私网IP和私网端口号、第一节点的公网IP和公网端口号,以及第二节点的公网端口号间的映射表项;和第一节点的私网IP和私网端口号,第二节点的公网IP和公网端口号、以及第一节点的公网端口号间的映射表项,管理服务器再将允许报文通过的公网IP地址和公网端口号发送给第一节点和第二节点,使第一节点和第二节点之间利用有效的公网IP和公网端口号进行通信。 
本发明一种穿越NAT的通信方法,应用于包括管理服务器、第一节点、第二节点、第一NAT和第二NAT的***中,其中所述第一节点和所述第二节点分属于不同的私网,且所述第一节点通过所述第一NAT与公网通信,所述第二节点通过所述第二NAT与所述公网通信;所述方法包括以下步骤: 
1,所述管理服务器与所述第一NAT协商所述第一节点的公网端口号; 
2,所述管理服务器向所述第二NAT发送申请报文,所述申请报文中携带所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和公网端口号; 
3,所述第二NAT根据所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和公网端口号,分配所述第二节点的公网端口号,建立所述第二节点私网IP和私网端口号、所述第一节点的公网IP和公网端口号,以及所述第二节点的公网端口号间的映射表项,并将所述第二节点的公网端口号发送给所述管理服务器; 
4,所述管理服务器向所述第一NAT发送建立报文,所述建立报文携带所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和公网端口号、所述第一节点的公网端口号,使所述第一NAT建立所述第一节点私网IP和私网端口号、所述第二节点的公网IP和公网端口号、以及所述第一节点公网端口号间的映射表项; 
5,所述管理服务器将所述第一节点的公网IP和公网端口号发送给所述第 二节点,使所述第二节点与所述第一节点通过所述第一NAT的映射表项和所述第二NAT的映射表项建立连接。 
步骤1之前还包括: 
当所述管理服务器接收到第二节点发送的申请报文时,将通过所述申请报文获取所述第二节点的私网IP和私网端口号、所述第二节点的公网IP; 
且所述管理服务器进一步将所述第二节点的私网IP和私网端口号通知所述第一节点,以获取所述第一节点的私网端口号。 
步骤1之前还包括:所述管理服务器获取所述第一节点的公网IP、第一节点的私网IP是通过第一节点自动向该管理服务器发起注册获得。 
具体地,本发明步骤1包括: 
步骤1-1所述管理服务器随机生成一个端口号,向所述第一NAT发送查询报文,所述查询报文中携带所述端口号和序列号; 
步骤1-2所述第一NAT检查本地的已经建立的映射表项,如果所述映射表项中前述端口号对应的端口未被占用,则将所述端口号返回给所述管理服务器;如果所述端口号对应的端口已被占用,则根据所述序列号生成一个新端口号,添加到所述映射表项中,并将所述新端口号返回给管理服务器。 
步骤1-3如果建立映射表项失败,重新按照上述步骤发起分配端口协商过程。 
进一步地,在上述步骤1-1中,所述查询报文中还进一步携带用户的账号信息,所述账号信息包括用户名和密码; 
所述第一NAT检查本地的映射表项之前还需要验证所述账号信息是否正确。 
当所述管理服务器和所述终端设备位于同一私网中,所述客户端位于另一私网中;或所述管理服务器位于公网中,所述终端设备位于一个私网中,所述客户端位于另一私网中。本发明方法所述第一节点为终端设备,所述第二节点为客户端;或所述第一节点和所述第二节点都为客户端。 
以下结合附图详细说明本发明管理服务器与终端设备侧的NAT设备以及客户端侧的NAT设备交互过程。 
其中,管理服务器向终端设备侧的NAT设备分配端口过程如图2所示,包括以下步骤: 
步骤201,管理服务器随机生成一个端口号,向终端设备侧的NAT设备发送查询报文,该查询报文中携带用户的账号信息、端口号和序列号等信息,其中账号信息包括用户名和密码。 
步骤202,终端设备侧的NAT设备验证该查询报文携带的账号信息,如果账号信息中的用户名及密码与本地存储信息匹配,再检查本地的映射表项,如果映射表项中该端口号对应的端口未被占用,则将该端口号返回给管理服务器;如果该端口号对应的端口已被占用,可根据序列号,再随机生成一个新端口号,添加到映射表项中,并将该新端口号返回给管理服务器;其中,终端设备侧的NAT设备应该保证分配的端口在预设时间T内不被其他资源占用。 
步骤203,管理服务器在T时间内,向NAT设备发送建立报文,该建立报文中携带终端设备的私网IP地址和私网端口号、客户端的公网IP地址和公网端口号、步骤202协商的终端设备的公网端口号、序列号等信息。 
步骤204,终端设备的NAT设备检查建立报文携带信息的正确性,并依据报文信息建立映射表项,该映射表项包括终端设备的私网IP和私网端口号、终端设备的公网IP和公网端口号、客户端的公网IP和端口号的对应关系,并向管理服务器返回确认报文。 
其中,由于在交互过程中,序列号是唯一的,管理服务器每进行新的交互,则会递增序列号,因此,管理服务器和终端设备的NAT设备可以利用该唯一的序列号确认一个完整的分配终端设备的NAT的公网端***互流程;另外,为了保证交互的可靠和NAT端口资源利用率,建议时间T可设置为60秒,建立的映射表项的老化时间与其他普通的映射表项老化时间一致;如果管理服务器接收到步骤204返回的确认报文如果表示失败,则可以重新发起分配端***互流程。 
管理服务器向客户端侧的NAT设备申请端口过程如图3所示,包括以下步骤: 
步骤301,管理服务器向客户端侧的NAT设备发送申请报文,该申请报文中携带账号信息、客户端私网IP和私网端口号、终端设备公网IP和公网端口号;其中,账号信息包括用户名和密码。 
步骤302,客户端侧的NAT设备验证申请报文携带的账号信息后,利用客户端私网IP和私网端口号,终端设备公网IP和端口号,分配客户端侧的NAT设备的公网端口号,并生成映射表项。同时,将公网端口号返回给管理服务器。此时,管理服务器获知客户端侧的NAT设备的公网端口号。 
本发明中,当管理服务器和终端设备在同一个NAT_S(终端设备与公网连接的NAT)设备内,而客户端在NAT_C(客户端与公网连接的NAT)设备内。在NAT_C和NAT_S设备分别配置管理服务器的访问账号,在管理服务器配置访问NAT_C和NAT_S设备的用户名和密码,使得管理服务器拥有访问NAT_C和NAT_S设备的权限,并且在管理服务器上设置NAT_S为终端设备侧的NAT设备,获得NAT_S的公网IP(SIP1);在NAT_S设备将管理服务器配置为内部服务器,使客户端和管理服务器可以通过NAT_S进行通信。 
此时,完整的报文交互流程如图4所示,包括以下步骤: 
步骤401,终端设备向管理服务器发送注册请求报文,该注册请求报文中携带终端设备私网IP(TIP1)地址,因此,管理服务器可以获得终端设备私网IP(TIP1)地址,对终端设备进行管理。 
步骤402,为了保证管理服务器管理的终端设备都为正常工作状态,需要终端设备向管理服务器定期发送保活报文,告知管理服务器本终端设备正常;另外,可使得此方案同样适用于管理服务器处于公网的环境中的应用场景。 
步骤403,客户端通过NAT_C和NAT_S设备向管理服务器发送访问申请报文,该访问申请报文中携带客户端与终端设备通信的私网IP(PIP1)和私网端口号(PPort1),及客户端侧NAT_C设备的公网IP(CIP1)。 
步骤404,管理服务器分析访问申请报文,获得客户端的公网IP(CIP1),客户端的私网IP(PIP1)和私网端口号(PPort1),并将客户端私网IP(PIP1)和私网端口号(PPort1)通知终端设备。 
步骤405,终端设备向管理服务器返回与客户端通信的私网端口号(TPort1)。 
步骤406,管理服务器根据客户端私网IP(PIP1)、私网端口号和终端设备私网IP(TIP1)、私网端口号(TPort1)等信息随机生成一个公网端口号(SPort1),向NAT_S设备发送查询报文,该查询报文中携带该公网端口号SPort1、账号信息和序列号,其中账号信息包括用户名和密码。其中,该公网端口号的生成算法包括多种,比如递增,从一个初始端口开始,递增分配,或者一种与运算,甚至是将两个私网IP的最后2位或3位合在一起,生成一个端口号等,主要考虑的是算法生成的端口重复性要低。 
步骤407,NAT_S设备验证查询报文携带的账号信息,再检查本设备的已经建立的映射表项,如果映射表项中该查询报文中携带的公网端口号对应的端口未被占用,则将该公网端口号(SPort1)返回给管理服务器;如果该端口已被占用,可根据序列号,再随机生成另一个端口号公网(SPort2),并将该另一个公网端口号(SPort2)返回给管理服务器;本实施例中以使用端口号(SPort2)为例进行说明。 
步骤408,管理服务器向NAT_C设备发送申请报文,该申请报文中携带账户信息、客户端私网IP(PIP1)和私网端口号(PPort1)、终端设备公网IP(SIP1)和公网端口号(SPort2);其中账户信息包括用户名和密码。 
步骤409,NAT_C设备验证申请报文携带的账号信息后,利用客户端私网IP(PIP1)和私网端口号(PPort1),终端设备公网IP(SIP1)和公网端口号(SPort2),分配NAT_C设备的公网端口号(CPort1),生成客户端私网IP和私网端口号、终端设备公网IP和公网端口号以及NAT_C设备的公网端口号之间的映射关系,且将公网端口号(CPort1)返回给管理服务器。 
步骤410,管理服务器向NAT_S设备发送建立报文,该建立报文携带终端设备私网IP(TIP1)和私网端口号(TPort1),客户端公网IP(CIP1)和公网端口号(CPort1),步骤407协商的终端设备的公网端口号(SPort2),序列号等信息。 
步骤411,NAT_S设备检查建立报文携带信息的正确性,依据报文信息 建立映射表项,该映射表项包括终端设备的私网IP(TIP1)和私网端口号(TPort1)、终端设备的公网端口号(Sport2)、客户端的公网IP(CIP1)和公网端口号(CPort1)的对应关系,并向管理服务器返回确认报文。 
其中,该映射表项中还可以包括终端设备的公网IP(SIP1)、客户端的私网IP(PIP1)和私网端口号(PPort1)。终端设备的公网NAT_S可以获悉自身的IP地址,即终端的公网IP(SIP1);同时,在终端设备的公网NAT_S与客户端公网的建立连接时,该NAT_S还可以从客户端的公网上获悉该客户端的私网IP(PIP1)和客户端的私网端口号(PPort1);即NAT_S设备建立的映射表项中可以包括终端设备的私网IP(TIP1)和私网端口号(TPort1)、终端设备的公网端口号(Sport2)和的公网IP(SIP1)、以及客户端的公网IP(CIP1)和公网端口号(CPort1)、客户端的私网IP(PIP1)和私网端口号(PPort1)之间的对应关系。 
步骤412,管理服务器将终端设备的公网IP(SIP1)和公网端口号(SPort2)发送给客户端。 
步骤413,客户端利用获取到的终端设备的公网IP(SIP1)和公网端口号(SPort2),向终端设备发起连接。 
步骤414,终端设备判断客户端的私网IP(PIP1)和私网端口号(PPort1),进行通信。 
本发明中,当管理服务器在公网,而客户端和终端设备分别在NAT_C,NAT_S侧时,完整的报文交互流程如图5所示,包括以下步骤: 
步骤501,终端设备通过NAT_S向管理服务器发送注册请求报文,该注册请求报文中携带终端设备的私网IP(TIP1)地址,因此,管理服务器可以获得终端设备私网IP(TIP1)地址,对终端设备进行管理。 
步骤502,为了保证管理服务器管理的终端设备都为正常工作状态,需要终端设备通过NAT_S向管理服务器定期发送保活报文,告知管理服务器本终端设备正常。为保证管理服务器和终端设备的双向通信,需确保终端设备发送保活报文的周期要小于NAT设备映射关系的老化时间。 
步骤503,客户端通过NAT_C向管理服务器发送访问申请报文,该访问 申请报文中携带客户端与终端设备通信的私网IP(PIP1)和私网端口号(PPort1),及客户端侧NAT_C设备的公网IP(CIP1)。 
步骤504,管理服务器分析访问申请报文,获得客户端的公网IP(CIP1),客户端的私网IP(PIP1)和私网端口号(PPort1),并将客户端私网IP(PIP1)和私网端口号(PPort1)通知终端设备。 
步骤505,终端设备向管理服务器返回与客户端通信的私网端口号(TPort1)。 
步骤506,管理服务器根据客户端私网IP(PIP1)、私网端口号和终端设备私网IP(TIP1)、私网端口号(TPort1)等信息随机生成一个公网端口号(SPort1),向NAT_S设备发送查询报文,该查询报文中携带该公网端口号SPort1、账号信息和序列号,其中账号信息包括用户名和密码。 
步骤507,NAT_S设备验证查询报文携带的账号信息,再检查本设备的已经建立的映射表项,如果映射表项中该查询报文中携带的公网端口号对应的端口未被占用,则将该公网端口号(SPort1)返回给管理服务器;如果该端口已被占用,可根据序列号,再随机生成另一个公网端口号(SPort2),并将该另一个公网端口号(SPort2)返回给管理服务器;本实施例中以使用端口号(SPort2)为例进行说明。 
步骤508,管理服务器向NAT_C设备发送申请报文,该申请报文中携带账户信息、客户端私网IP(PIP1)和私网端口号(PPort1)、终端设备公网IP(SIP1)和公网端口号(SPort2);其中账户信息包括用户名和密码。 
步骤509,NAT_C设备验证申请报文携带的账号信息后,利用客户端私网IP(PIP1)和私网端口号(PPort1),终端设备公网IP(SIP1)和公网端口号(SPort2),分配NAT_C设备的公网端口号(CPort1),并生成客户端私网IP和私网端口号、终端设备公网IP和公网端口号以及NAT_C设备的公网端口号之间的映射关系,且将公网端口号(CPort1)返回给管理服务器。 
步骤510,管理服务器向NAT_S设备发送建立报文,该建立报文携带终端设备私网IP(TIP1)和私网端口号(TPort1),客户端公网IP(CIP1)和公网端口号(CPort1),步骤507协商的终端设备的公网端口号(SPort2), 序列号等信息。 
步骤511,NAT_S设备检查建立报文携带信息的正确性,依据报文信息建立映射表项,该映射表项包括终端设备的私网IP(TIP1)和私网端口号(TPort1)、终端设备的公网端口号(Sport2)、客户端的公网IP(CIP1)和公网端口号(CPort1)的对应关系,并向管理服务器返回确认报文。 
其中,该映射表项中还可以包括终端设备的公网IP(SIP1)、客户端的私网IP(PIP1)和私网端口号(PPort1)。终端设备的公网NAT_S可以获悉自身的IP地址,即终端的公网IP(SIP1);同时,在终端设备的公网NAT_S与客户端公网的建立连接时,该NAT_S还可以从客户端的公网上获悉该客户端的私网IP(PIP1)和客户端的私网端口号(PPort1);即NAT_S设备建立的映射表项中可以包括终端设备的私网IP(TIP1)和私网端口号(TPort1)、终端设备的公网端口号(Sport2)和的公网IP(SIP1)、以及客户端的公网IP(CIP1)和公网端口号(CPort1)、客户端的私网IP(PIP1)和私网端口号(PPort1)之间的对应关系。 
步骤512,管理服务器将终端设备的公网IP(SIP1)和公网端口号(SPort2)发送给客户端。 
步骤513,客户端利用获取到的终端设备的公网IP(SIP1)和公网端口号(SPort2),向终端设备发起连接。 
步骤514,终端设备判断客户端的私网IP(PIP1)和私网端口号(PPort1),进行通信。 
本发明提供了一种穿越NAT的通信***,包括管理服务器、第一节点、第二节点、第一NAT和第二NAT,其中第一节点和第二节点分属于不同的私网,且第一节点通过第一NAT与公网通信,第二节点通过第二NAT与公网通信; 
管理服务器,用于与第一NAT协商第一节点的公网端口号;向第二NAT发送申请报文,该申请报文中携带第二节点的私网IP和私网端口号、第一节点的公网IP和公网端口号;向第一NAT发送建立报文,该建立报文携带第一节点的私网IP和私网端口号,第二节点的公网IP和公网端口号、第一节点的 公网端口号,使第一NAT建立第一节点的私网IP和私网端口号,第二节点的公网IP和公网端口号、以及第一节点的公网端口号间的映射表项;将第一节点的公网IP和公网端口号发送给第二节点,使第二节点与第一节点通过第一NAT的映射表项和第二NAT的映射表项建立连接;其中,第二NAT的映射表项为第二节点私网IP和私网端口号、第一节点的公网IP和公网端口号,以及第二节点的公网端口号间的映射表项; 
第二NAT,用于接收管理服务器发送的申请报文,根据申请报文中的第二节点的私网IP和私网端口号、第一节点的公网IP和公网端口号,分配第二节点的公网端口号,建立第二节点私网IP和私网端口号、第一节点的公网IP和公网端口号,以及第二节点的公网端口号间的映射表项,并将第二节点的公网端口号发送给管理服务器; 
第一NAT,用于与管理服务器协商第一节点的公网端口号,接收管理服务器发送的建立报文,根据建立报文中携带的第一节点的私网IP和私网端口号、第二节点的公网IP和公网端口号、第一节点的公网端口号,建立第一节点的私网IP和私网端口号,第二节点的公网IP和公网端口号、以及第一节点的公网端口号间的映射表项。 
本发明提供了一种管理服务器,应用于包括本发明管理服务器、第一节点、第二节点、第一NAT和第二NAT的***中,其中第一节点和第二节点分属于不同的私网,且第一节点通过第一NAT与公网通信,第二节点通过第二NAT与公网通信,如图6所示,该管理服务器包括: 
第一协商单元610,用于与第一NAT协商第一节点的公网端口号; 
获取单元620,位于第二协商单元630内,用于当管理服务器向第二NAT发送申请报文时,获取该申请报文中携带的第二节点的私网IP和私网端口号、第一节点的公网IP和第一协商单元610协商的第一节点的公网端口号; 
其中该获取单元620还用于接收第二节点发送的申请报文,通过申请报文获取第二节点的私网IP和私网端口号、第二节点的公网IP;并将第二节点的私网IP和私网端口号通知第一节点,并获知第一节点的私网端口号。 
其中该获取单元620还用于获取第一节点和第二节点的公网IP。 
第二协商单元630,与第一协商单元610连接,根据获取单元620获得的第二节点的私网IP和私网端口号、第一节点的公网IP和第一协商单元610协商的第一节点公网端口号,用于与第二NAT协商第二节点的公网端口号,分配第二节点的公网端口,并建立第二节点的私网IP和第二节点的私网端口、第一节点的公网IP和第一节点的公网端口号,以及第二节点的公网端口号间的映射表项,并将第二节点的公网端口号发送给管理服务器; 
通知处理单元640,与第一协商单元610和第二协商单元630分别连接,用于向第一NAT发送建立报文,该建立报文携带第一节点的私网IP和私网端口号,第二节点的公网IP和第二协商单元630分配的公网端口号、第一协商单元610协商的第一节点的公网端口号,使第一NAT建立第一节点的私网IP和私网端口号,第二节点的公网IP和公网端口号、以及第一节点的公网端口号间的映射表项; 
管理建立单元650,与第一协商单元610连接,用于将第一节点的公网IP和第一协商单元610协商的第一节点公网端口号发送给第二节点,使第二节点与第一节点通过第一NAT的映射表项和第二NAT的映射表项建立连接。 
本发明提供了一种NAT,应用于包括管理服务器、第一节点、第二节点、本发明第一NAT和第二NAT的***中,其中第一节点和第二节点分属于不同的私网,且第一节点通过第一NAT与公网通信,第二节点通过第二NAT与公网通信,如图7所示,当NAT为第一NAT 71时,第一NAT 71包括: 
处理单元711,用于与管理服务器协商第一节点的公网端口号。 
建立单元712,与该处理单元711连接,用于接收来自管理服务器的建立报文,根据建立报文中携带第一节点的私网IP和私网端口号,第二节点的公网IP和公网端口号、处理单元711协商的第一节点的公网端口号,建立第一节点的私网IP和私网端口号,第二节点的公网IP和公网端口号、以及第一节点的公网端口号间的映射表项。 
其中,该映射表项中还可以包括第一节点的公网IP、第二节点的私网IP和第二节点的私网端口号。 
其中,所述处理单元711具体包括:接收子单元713,用于接收来自管理服务器的查询报文,该查询报文中携带管理服务器随机生成的公网端口号、序列号以及账号信息,该账号信息包括用户名和密码。其中,该公网端口号的生成算法包括多种,比如递增,从一个初始端口开始,递增分配,或者一种与运算,甚至是将两个私网IP的最后2位或3位合在一起,生成一个端口号等,主要考虑的是算法生成的端口重复性要低。 
检查子单元714,与该接收子单元713连接,用于验证接收子单元713接收的查询报文中携带的账号信息,并根据接收子单元713接收的查询报文检查本地的已经建立的映射表项,如果映射表项中端口号对应的端口未被占用,则将端口号返回给管理服务器;如果端口号对应的端口已被占用,则根据序列号生成一个新端口号,添加到映射表项中,并将新端口号返回给管理服务器。 
当NAT为第二NAT 72时,该第二NAT 72还包括: 
接收单元721,与处理单元711连接,用于接收来自管理服务器的申请报文,申请报文中携带第二节点的私网IP和私网端口号、第一节点的公网IP和处理单元711协商的公网端口号。其中,该来自管理服务器的申请报文中还携带了账户信息,该账户信息包括用户名和密码。 
分配单元722,与接收单元721连接,用于在验证了接收单元721接收到的账户信息后,根据接收单元721接收的第二节点的私网IP和私网端口号、第一节点的公网IP和公网端口号,分配第二节点的公网端口号,建立第二节点私网IP和私网端口号、第一节点的公网IP和公网端口号,以及第二节点的公网端口号间的映射表项,并将第二节点的公网端口号发送给管理服务器。 
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。 
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技 术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。 
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。 

Claims (12)

1.一种穿越NAT的通信方法,应用于包括管理服务器、第一节点、第二节点、第一NAT和第二NAT的***中,其中所述第一节点和所述第二节点分属于不同的私网,且所述第一节点通过所述第一NAT与公网通信,所述第二节点通过所述第二NAT与所述公网通信;其特征在于,所述方法包括以下步骤:
所述管理服务器与所述第一NAT协商所述第一节点的公网端口号;
所述管理服务器向所述第二NAT发送申请报文,所述申请报文中携带所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和公网端口号;
所述第二NAT根据所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和公网端口号,分配所述第二节点的公网端口号,建立所述第二节点私网IP和私网端口号、所述第一节点的公网IP和公网端口号,以及所述第二节点的公网端口号间的映射表项,并将所述第二节点的公网端口号发送给所述管理服务器;
所述管理服务器向所述第一NAT发送建立报文,所述建立报文携带所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和公网端口号、所述第一节点的公网端口号,使所述第一NAT建立所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和公网端口号、以及所述第一节点的公网端口号间的映射表项;
所述管理服务器将所述第一节点的公网IP和公网端口号发送给所述第二节点,使所述第二节点与所述第一节点通过所述第一NAT的映射表项和所述第二NAT的映射表项建立连接。
2.如权利要求1所述的通信方法,其特征在于,所述管理服务器与所述第一NAT协商所述第一节点的公网端口号之前还包括:
所述管理服务器接收所述第二节点发送的申请报文,通过所述申请报文获取所述第二节点的私网IP和私网端口号、所述第二节点的公网IP;
所述管理服务器将所述第二节点的私网IP和私网端口号通知所述第一节点,并获知所述第一节点的私网端口号。
3.如权利要求1所述的通信方法,其特征在于,所述管理服务器获得所述第一节点的公网IP和第一节点私网IP是通过第一节点向管理服务器进行注册获得。
4.如权利要求1所述的通信方法,其特征在于,所述管理服务器与所述第一NAT协商所述第一节点的公网端口号具体包括:
所述管理服务器随机生成一个端口号,向所述第一NAT发送查询报文,所述查询报文中携带所述端口号和序列号;
所述第一NAT检查本地的已经建立的映射表项,如果所述映射表项中所述端口号对应的端口未被占用,则将所述端口号返回给所述管理服务器;如果所述端口号对应的端口已被占用,则根据所述序列号生成一个新端口号,添加到所述映射表项中,并将所述新端口号返回给管理服务器。
5.如权利要求4所述的通信方法,其特征在于,
所述查询报文中还携带用户的账号信息,所述账号信息包括用户名和密码;
所述第一NAT检查本地的映射表项之前还需要验证所述账号信息是否正确。
6.如权利要求4所述的通信方法,其特征在于,如果建立映射表项失败,重新发起分配端口协商过程。
7.如权利要求1至6中任一项所述的通信方法,其特征在于,所述第一节点为终端设备,所述第二节点为客户端;或所述第一节点和所述第二节点都为客户端。
8.一种应用权利要求1所述方法的管理服务器,应用于包括本发明管理服务器、第一节点、第二节点、第一NAT和第二NAT的***中,其中所述第一节点和所述第二节点分属于不同的私网,且所述第一节点通过所述第一NAT与公网通信,所述第二节点通过所述第二NAT与所述公网通信,其特征在于,所述管理服务器包括:
第一协商单元,用于与所述第一NAT协商所述第一节点的公网端口号;
获取单元,位于第二协商单元内,用于当所述管理服务器向所述第二NAT发送申请报文时,获取所述申请报文中携带的所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和所述第一协商单元协商的所述第一节点的公网端口号;
第二协商单元,与所述第一协商单元连接,根据所述获取单元获得的所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和所述第一协商单元协商的所述第一节点公网端口号,用于与所述第二NAT协商所述第二节点的公网端口号,分配所述第二节点的公网端口号,并建立所述第二节点的私网IP和所述第二节点的私网端口号、所述第一节点的公网IP和所述第一节点的公网端口号,以及所述第二节点的公网端口号间的映射表项,并将所述第二节点的公网端口号发送给所述管理服务器;
通知处理单元,与所述第一协商单元和所述第二协商单元分别连接,用于向所述第一NAT发送建立报文,所述建立报文携带所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和所述第二协商单元分配的公网端口号、所述第一协商单元协商的所述第一节点的公网端口号,使所述第一NAT建立所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和公网端口号、以及所述第一节点的公网端口号间的映射表项;
管理建立单元,与所述第一协商单元连接,用于将所述第一节点的公网IP和所述第一协商单元协商的所述第一节点公网端口号发送给所述第二节点,使所述第二节点与所述第一节点通过所述第一NAT的映射表项和所述第二NAT的映射表项建立连接。
9.如权利要求8所述的管理服务器,其特征在于,
所述获取单元,还用于接收所述第二节点发送的申请报文,通过所述申请报文获取所述第二节点的私网IP和私网端口号、所述第二节点的公网IP;并将所述第二节点的私网IP和私网端口号通知所述第一节点,并获知所述第一节点的私网端口号。
10.如权利要求8所述的管理服务器,其特征在于,
所述获取单元,还用于获取所述第一节点和所述第二节点的公网IP。
11.一种应用权利要求1所述方法的NAT,应用于包括管理服务器、第一节点、第二节点、第一NAT和第二NAT的***中,其中所述第一节点和所述第二节点分属于不同的私网,且所述第一节点通过所述第一NAT与公网通信,所述第二节点通过所述第二NAT与所述公网通信,其特征在于,当所述NAT为第一NAT时,所述第一NAT包括:
处理单元,用于与所述管理服务器协商所述第一节点的公网端口号;
建立单元,与所述处理单元连接,用于接收来自所述管理服务器的建立报文,根据所述建立报文中携带的所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和公网端口号、所述处理单元协商的所述第一节点的公网端口号,建立所述第一节点的私网IP和私网端口号,所述第二节点的公网IP和公网端口号、以及所述第一节点的公网端口号间的映射表项;
当所述NAT为第二NAT时,所述第二NAT还包括:
接收单元,与所述处理单元连接,用于接收来自所述管理服务器的申请报文,所述申请报文中携带所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和所述处理单元协商的公网端口号;
分配单元,与所述接收单元连接,用于根据所述接收单元接收的所述第二节点的私网IP和私网端口号、所述第一节点的公网IP和公网端口号,分配所述第二节点的公网端口号,建立所述第二节点私网IP和私网端口号、所述第一节点的公网IP和公网端口号,以及所述第二节点的公网端口号间的映射表项,并将所述第二节点的公网端口号发送给所述管理服务器。
12.如权利要求11所述的NAT,其特征在于,当所述NAT为第一NAT时,所述处理单元具体包括:
接收子单元,用于接收来自所述管理服务器的查询报文,所述查询报文中携带所述管理服务器随机生成的端口号和序列号;
检查子单元,与所述接收子单元连接,用于根据所述接收子单元接收到的查询报文检查本地的已经建立的映射表项,如果所述映射表项中所述端口号对应的端口未被占用,则将所述端口号返回给所述管理服务器;如果所述端口号对应的端口已被占用,则根据所述序列号生成一个新端口号,添加到所述映射表项中,并将所述新端口号返回给管理服务器。
CN2009100088685A 2009-02-10 2009-02-10 一种穿越nat的通信方法及设备 Expired - Fee Related CN101478493B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100088685A CN101478493B (zh) 2009-02-10 2009-02-10 一种穿越nat的通信方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100088685A CN101478493B (zh) 2009-02-10 2009-02-10 一种穿越nat的通信方法及设备

Publications (2)

Publication Number Publication Date
CN101478493A CN101478493A (zh) 2009-07-08
CN101478493B true CN101478493B (zh) 2011-02-02

Family

ID=40839128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100088685A Expired - Fee Related CN101478493B (zh) 2009-02-10 2009-02-10 一种穿越nat的通信方法及设备

Country Status (1)

Country Link
CN (1) CN101478493B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834836B (zh) * 2009-12-22 2013-08-28 佳都新太科技股份有限公司 基于公共ip网的通讯方法、装置及***
CN101834874A (zh) * 2010-05-21 2010-09-15 四川长虹电器股份有限公司 一种能穿透防火墙的多媒体网络通信方法
CN102685261B (zh) * 2011-03-15 2014-11-05 ***通信集团公司 一种控制设备的地址映射状态的方法、***及装置
CN102497314A (zh) * 2011-12-09 2012-06-13 徐州医学院 一种层次型穿越内网的路由方法
CN102523236B (zh) * 2011-12-31 2015-05-20 杭州华三通信技术有限公司 一种动态连接建立方法和设备
CN103369061B (zh) * 2012-04-01 2016-08-24 华为终端有限公司 一种穿越两级nat的方法及nat设备
CN103905579B (zh) * 2012-12-28 2018-01-30 ***通信集团公司 平台与终端间的通信方法、通信***、平台及相关设备
CN104660722A (zh) * 2013-11-21 2015-05-27 倚强科技股份有限公司 网络连线方法及其网络***
CN104702565B (zh) * 2013-12-05 2019-09-17 南京中兴新软件有限责任公司 媒体资源共享的方法、共享服务器及共享***
CN103916382B (zh) * 2013-12-25 2018-05-01 三亚中兴软件有限责任公司 基于sip媒体能力重协商的nat穿越方法、代理服务器和***
CN103795819B (zh) * 2014-01-27 2017-02-01 宁波键一生物科技有限公司 P2p应用中基于nat的终端间的数据传输方法
CN104202398B (zh) * 2014-09-04 2017-09-26 北京星网锐捷网络技术有限公司 远程控制的方法、装置及***
CN104883390B (zh) * 2015-04-17 2018-07-13 浙江宇视科技有限公司 一种访问第三方视频监控设备的方法及装置
CN106302846B (zh) * 2015-06-12 2019-05-28 华为技术有限公司 一种通信连接建立方法及装置、***
CN106331198B (zh) * 2015-06-29 2020-04-21 中兴通讯股份有限公司 Nat穿透方法及装置
CN105183535B (zh) * 2015-08-05 2019-06-07 北京奇虎科技有限公司 访问虚拟机的方法和装置
CN105227692B (zh) * 2015-09-17 2019-05-03 青岛海信电器股份有限公司 一种nat穿越方法及网关设备
US10645059B2 (en) * 2016-04-11 2020-05-05 Western Digital Technologies, Inc. Establishing connections between data storage devices
CN105979405A (zh) * 2016-06-24 2016-09-28 浙江宇视科技有限公司 访问视频设备的方法及装置
CN106130990B (zh) * 2016-06-29 2019-06-18 中国联合网络通信集团有限公司 容器访问的控制方法及装置
CN106210092B (zh) * 2016-07-19 2019-08-06 天彩电子(深圳)有限公司 一种融合upnp及stun的p2p穿越方法及其***
CN107517206A (zh) * 2017-08-18 2017-12-26 北京北信源软件股份有限公司 一种安全通信的方法、装置、可读介质和存储控制器
CN110445883A (zh) * 2018-05-03 2019-11-12 海信集团有限公司 一种物联网的通信方法和装置
CN114928616A (zh) * 2021-02-03 2022-08-19 上海哔哩哔哩科技有限公司 对等网络的传输方法和***
CN114007193B (zh) * 2021-12-31 2022-05-13 亿次网联(杭州)科技有限公司 一种分布式网络节点的通信方法和***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553659A (zh) * 2003-06-05 2004-12-08 中兴通讯股份有限公司 一种实现媒体流穿越网络地址转换设备的方法
CN1783877A (zh) * 2004-11-30 2006-06-07 Ut斯达康通讯有限公司 实时通讯数据流穿越网络地址转换设备和防火墙的方法
EP1729446A1 (en) * 2005-05-31 2006-12-06 AudioCodes Ltd. A method circuit and system for remotely updating a network appliance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553659A (zh) * 2003-06-05 2004-12-08 中兴通讯股份有限公司 一种实现媒体流穿越网络地址转换设备的方法
CN1783877A (zh) * 2004-11-30 2006-06-07 Ut斯达康通讯有限公司 实时通讯数据流穿越网络地址转换设备和防火墙的方法
EP1729446A1 (en) * 2005-05-31 2006-12-06 AudioCodes Ltd. A method circuit and system for remotely updating a network appliance

Also Published As

Publication number Publication date
CN101478493A (zh) 2009-07-08

Similar Documents

Publication Publication Date Title
CN101478493B (zh) 一种穿越nat的通信方法及设备
CN112511611B (zh) 节点集群的通信方法、装置、***及电子设备
CN113630439B (zh) 实时通信rtc连接方法、服务器及存储介质
CN110677383B (zh) 防火墙开墙方法、装置、存储介质及计算机设备
CN101352021A (zh) 移动设备上的网络服务的动态发现
CN112995247B (zh) 数据发送或处理的方法、装置和***
KR101937736B1 (ko) 차세대 네트워크를 위한 객체 식별자 기반의 이종 식별자 노드간 상호연동 식별 장치 및 방법
CN101478505B (zh) 不同私有网络的网络装置间建立网络***及网络联机方法
CN103179104B (zh) 一种远程服务的访问方法、***及其设备
CN104836863A (zh) 实现tcp反向端口映射的***和方法
US20230291706A1 (en) Method for accessing network, media gateway, electronic device and storage medium
US9413590B2 (en) Method for management of a secured transfer session through an address translation device, corresponding server and computer program
CN111343083B (zh) 即时通信方法、装置、电子设备及可读存储介质
CN111711705B (zh) 基于代理节点作双向nat实现网络连接的方法和装置
CN103002041A (zh) 一种处于nat环境下的设备的通信方法
CN103262502A (zh) 多核平台的dns代理服务
CN109067729B (zh) 一种认证方法及装置
CN101083594A (zh) 一种网络设备的管理方法及装置
CN111786989B (zh) 通信处理方法、装置及电子设备
CN110430478B (zh) 组网通信方法、装置、终端设备及存储介质
CN111988440B (zh) 网络地址转换方法及***
JP2015118478A (ja) 通信アダプタ装置、通信システム、トンネル通信方法、及びプログラム
US8737413B2 (en) Relay server and relay communication system
CN104702565A (zh) 媒体资源共享的方法、共享服务器及共享***
CN111181904B (zh) 网络访问方法、装置及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110202

Termination date: 20200210