CN101651721B - 网络地址转换设备类型的判断方法和系统 - Google Patents

网络地址转换设备类型的判断方法和系统 Download PDF

Info

Publication number
CN101651721B
CN101651721B CN2008101183625A CN200810118362A CN101651721B CN 101651721 B CN101651721 B CN 101651721B CN 2008101183625 A CN2008101183625 A CN 2008101183625A CN 200810118362 A CN200810118362 A CN 200810118362A CN 101651721 B CN101651721 B CN 101651721B
Authority
CN
China
Prior art keywords
server
network address
client
address translation
type
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.)
Active
Application number
CN2008101183625A
Other languages
English (en)
Other versions
CN101651721A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN2008101183625A priority Critical patent/CN101651721B/zh
Publication of CN101651721A publication Critical patent/CN101651721A/zh
Application granted granted Critical
Publication of CN101651721B publication Critical patent/CN101651721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种网络地址转换设备类型的判断方法和系统。该方法包括:客户端通过NAT设备分别向第一和第二服务器发送数据请求包;第一和第二服务器提供相同的服务;第一服务器接收到的数据请求包中包括NAT设备为客户端分配的第一地址信息;第二服务器接收到的数据请求包中包括NAT设备为客户端分配的第二地址信息;第一和第二服务器发送响应包;并向参考服务器发送指示信息,用于触发参考服务器发送参考响应包;参考服务器与第一服务器或第二服务器提供不同服务;客户端根据接收到的响应包和/或参考响应包的接收情况,识别NAT设备类型。本发明可快速并准确判断客户端所使用的NAT设备的类型,有利于提高对等设备的连通率。

Description

网络地址转换设备类型的判断方法和系统
技术领域
本发明涉及互联网技术领域,特别是涉及一种网络地址转换设备类型的判断方法和系统。
背景技术
网络地址转换(Network Address Translator,以下简称NAT)是通过将内部私有网络(以下简称:内网)的网络地址翻译成合法公共网络(以下简称:公网)地址,从而对外隐藏内网的IP地址的技术。内部节点在内网中使用内网地址,而当内部节点要与公网进行通讯时,可在NAT设备处将内部地址转换成公网地址,使得内网节点可在公网(如因特网)上正常使用。NAT技术有效解决了公共IP地址紧缺的问题。通过NAT技术,包括多台计算机的一个内网可仅申请一个或少量的合法IP地址,就可把整个内网中的计算机接入到因特网中。此时,NAT屏蔽了内部网络,所有内网计算机对于公网而言是不可见的,且内部计算机用户通常不会意识到NAT的存在。
NAT在因特网上的大规模使用为现有的网络应用,尤其是对等通信(Pearto Pear,简称P2P)带来了一些问题。例如:由于NAT技术改变了网络数据包的地址信息,没有独立IP地址的内网节点之间无法采用现有的通信协议对等连接成功。为了使得没有独立IP地址的节点之间能够建立对等连接,现有技术采用的方法是根据内网节点连接的NAT设备类型,发起相应的绕过NAT设备的连网策略,从而使得内网节点能够绕开其连接的NAT设备进入公网。因此,准确的判断NAT设备类型对选用有效连接策略,提高对等通信设备之间的连通率有重要作用。现有的NAT设备主要分为四种类型:受限锥形、不受限锥形、受限对称和不受限对称。不同的NAT设备具有不同的特性。在获知NAT设备类型信息基础上选用相应的连网策略,目前已有很多成熟的做法,使得对等通信设备能够绕开各自使用的NAT设备进入公网,建立对等连接。但在判断NAT设备类型方面尚缺少有效方法。通常,现有技术采用的是猜测方法试探与对等设备所使用的NAT设备的类型。如果NAT设备类型的猜测结果正确,系统发起的绕开NAT策略可有效建立对等设备之间的对等连接;但如果猜测结果错误,对等设备之间的连接失败。
发明人在实现本发明过程中发现,现有的猜测NAT设备类型的方法准确性不高,由于猜测未能够有效保证NAT设备类型的准确性,因而未能采取相应的绕过NAT设备的连网策略,从而降低对等通信设备之间的连通率。因此,现有技术尚缺少快速、准确判断NAT设备类型的有效方法。
发明内容
本发明要解决的技术问题是提供一种网络地址转换设备类型的判断方法和系统,实现快速并准确判断网络地址转换设备类型。
为解决上述技术问题,本发明提供了一种网络地址转换设备类型的判断方法,包括:
客户端通过NAT设备分别向第一服务器和第二服务器发送数据请求包;所述第一服务器和第二服务器提供相同的服务;所述第一服务器接收到的数据请求包中包括所述NAT设备为所述客户端分配的第一地址信息;所述第二服务器接收到的数据请求包中包括所述NAT设备为所述客户端分配的第二地址信息;
所述第一服务器和第二服务器根据所述第一地址信息或第二地址信息发送响应包;
所述第一服务器或第二服务器向参考服务器发送指示信息,用于触发所述参考服务器根据所述第一地址信息或第二地址信息发送参考响应包;所述参考服务器与第一服务器或第二服务器提供不同服务;
所述客户端根据接收到的响应包和/或参考响应包的接收情况,识别所述NAT设备的类型。
为解决上述技术问题,本发明还提供了一种网络地址转换设备类型的判断系统,包括客户端、NAT设备、第一服务器、第二服务器和参考服务器;所述客户端通过所述NAT设备与所述第一服务器或第二服务器通信连接;所述第一服务器和第二服务器提供相同服务;所述参考服务器提供与所述第一服务器或第二服务器提供不同服务;
所述客户端包括请求发送模块,用于通过NAT设备分别向第一服务器和第二服务器发送数据请求包;所述第一服务器接收到的数据请求包中包括所述NAT设备为所述客户端分配的第一地址信息;所述第二服务器接收到的数据请求包中包括所述NAT设备为所述客户端分配的第二地址信息;
所述第一服务器和第二服务器用于根据所述第一地址信息或第二地址信息发送响应包;在接收到数据请求包时,所述第一服务器或第二服务器还用于向参考服务器发送指示信息,用于触发所述参考服务器根据所述第一地址信息或第二地址信息发送参考响应包;
所述客户端还包括识别模块,用于根据接收到的响应包和/或参考响应包的接收情况,识别所述NAT设备的类型。
本发明提供的网络地址转换设备类型的判断方法和系统中,通过选取未与客户端通信的服务器为参考服务器,在第一服务器和第二服务器接收到客户端发送的数据请求包时,触发参考服务器通过NAT设备向客户端发送参考响应包,客户端根据接收响应包的具体情况,以及接收到的响应包中包括的地址信息,可快速并准确获知NAT设备的类型,为后续文件传输或音视频交流建立直接连接做好准备,提升了用户之间直接网络交互的概率,有利于缩短用户建立直接沟通所花费的时间,从而提供了更好的用户体验。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明NAT设备类型的判断系统实施例的结构示意图;
图2为本发明NAT设备类型的判断方法第一实施例的流程图;
图3为本发明NAT设备类型的判断方法第二实施例的信令交互图。
具体实施方式
本发明实施例中,第一服务器和第二服务器即为客户端提供相同服务(如:用户数据报协议(User Datagram Protocol,以下简称UDP)服务),且在程序逻辑上已与客户端建立通信联系的服务器;参考服务器为客户端提供不同服务(如不同UDP服务);可在程序逻辑上保证在预设时间间隔内,客户端不会主动与参考服务器发生通信联系,但在收到第一服务器或第二服务器的指示信息后,参考服务器会发送参考响应包给客户端。第一服务器、第二服务器和参考服务器分别具有各自独立的公网IP地址。
图1为本发明NAT设备类型的判断系统实施例的结构示意图。如图1所示,本发明NAT设备类型判断系统中,包括第一服务器11、第二服务器12、参考服务器13、客户端14和NAT设备15。第一服务器11、第二服务器12和参考服务器13位与公网中,分别具有独立的公网IP地址。第一服务器11和第二服务器12用于为客户端14提供相同的UDP服务,参考服务器13用于为客户端14提供不同于第一服务器11或第二服务器12所提供的UDP服务。在端口设置具体实现上,例如:第一服务器11和第二服务器12可绑定不同端口(如:不同的UDP端口),参考服务器13绑定的端口与第一服务器11或第二服务器12绑定的端口不同(如:参考服务器13绑定的UDP端口不同)。当然,端口设置方式也不限于此,如:为了提高NAT设备15类型识别的安全性,第一服务器11和第二服务器12也可绑定相同的UDP端口等。
客户端14位于内网中,通过NAT设备15连接到公网中,与第一服务器11和第二服务器12建立通信连接。该NAT设备15可具体为NAT网关。在客户端14与位于公网的网元建立通信连接时,需要通过NAT设备15将客户端14内网地址转换成公网地址,即NAT设备15为客户端14分配公网的IP地址/端口对。在客户端14与不同网元建立通信连接时,NAT设备15分配公网的IP地址/端口对可能相同,也可能不同。
客户端可包括请求发送模块141和识别模块142。
请求发送模块141用于向通过NAT设备15分别向第一服务器11和第二服务器12发送数据请求包。经过NAT设备15进行地址转换,第一服务器11接收到的数据请求包中包括NAT设备15为客户端14分配的第一地址信息;第二服务器12接收到的数据请求包中包括NAT设备15为客户端14分配的第二地址信息。具体的,客户端14向第一服务器11发送第一数据请求包时,NAT设备15将客户端14的内网地址转换成公网地址,为客户端14分配第一地址,第一地址信息包括第一IP地址和第一端口。该第一地址信息对于客户端14是未知的;在NAT设备15向第一服务器11转发第一数据请求包时,会携带第一地址信息,因而第一服务器器11根据接收到的第一数据请求包,可获取NAT设备15为客户端14分配的第一地址信息。类似地,客户端14向第二服务器12发送第二数据包时,NAT设备15将客户端14的内网地址转换成公网地址,为客户端14分配第二地址,第二地址信息包括第二IP地址和第二端口。该第二地址信息对于客户端14是未知的;在NAT设备15向第二服务器12转发第二数据请求包时,会携带第二地址信息,因而第二服务器器12根据接收到的第二数据请求包,可获取NAT设备15为客户端14分配的第二地址信息。
识别模块142用于根据接收到的响应包和/或参考响应包的接收情况,识别客户端14所使用的NAT设备15的类型。识别模块142可包括第一识别单元1421、第二识别单元1422和第三识别单元1423。
第一识别单元1421用于根据接收到的第一服务器11和第二服务器12发送的响应包(第一响应包和第二响应包),比较第一地址信息和第二地址信息是否相同;如果相同,识别NAT设备15的类型为锥形NAT设备;如果不同,识别NAT设备15的类型为对称NAT设备。第一地址信息为所述NAT设备为所述客户端分配的第一IP地址和第一端口;所述第二地址信息为所述NAT设备为所述客户端地址分配的第二IP地址和第二端口;所述第一地址信息与所述第二地址信息不同包括:第一IP地址和第二IP地址不同,且第一端口与第二端口不同;第一IP地址和第二IP地址相同,且第一端口与第二端口不同;或者,第一IP地址和第二IP地址不同,且第一端口与第二端口相同。
第二识别单元1422用于在第一识别单元1421识别出NAT设备15的类型为锥形NAT设备时,判断NAT设备15是否接收到参考响应包,如果有,识别NAT设备15的类型为不受限锥形NAT设备;如果没有,识别NAT设备15的类型为受限锥形NAT设备。
第三识别单元1423用于在第一识别单元1421识别出NAT设备15的类型为对称NAT设备时,判断NAT设备15是否接收到参考响应包,如果有,识别NAT设备15的类型为不受限对称NAT设备;如果没有,识别NAT设备15的类型为受限对称NAT设备。
本实施例通过选取未与客户端通信的服务器为参考服务器,在第一服务器和第二服务器接收到客户端发送的数据请求包时,触发参考服务器通过NAT设备向客户端发送参考响应包,客户端根据接收响应包的具体情况,以及接收到的响应包中包括的地址信息,可快速并准确获知NAT设备的类型,为后续文件传输或音视频交流建立直接连接做好准备,提升了用户之间直接网络交互的概率,有利于缩短用户建立直接沟通所花费的时间,从而提供了更好的用户体验。
如图1所示,在本实施例技术方案的基础上,客户端14还可包括获取模块143。获取模块143用于获取第一服务器11、第二服务器12以及参考服务器13的地址信息。在客户端14具体获取地址信息的方式上,可将第一服务器11、第二服务器12以及参考服务器13的地址信息预先存储在客户端14上,也可在客户端14登录过程中从服务器侧获取,该服务器侧可为客户端登录的注册服务器,例如,在客户端登录即时通讯(以下简称IM)软件时,接收IM服务器下发的第一服务器、第二服务器以及参考服务器的地址信息并存储。
本发明NAT设备类型的判断系统各网元之间的交互流程可参见以下本发明NAT设备类型的判断方法第一实施例和第二实施例,以及图2-3的记载。
图2为本发明NAT设备类型的判断方法第一实施例的流程图。关于运行本实施例的系统实施例可参见图1。如图2所示,本实施例包括:
步骤21、客户端通过NAT设备分别向第一服务器和第二服务器发送数据请求包。第一服务器和第二服务器绑定相同UDP服务;并且第一服务器接收到的数据请求包中包括NAT设备为客户端分配的第一地址信息;第二服务器接收到的数据请求包中包括NAT设备为客户端分配的第二地址信息。
步骤22、第一服务器根据第一地址信息发送响应包;第二服务器根据第二地址信息发送响应包。
步骤23、第一服务器或第二服务器向参考服务器发送指示信息,用于触发参考服务器根据第一地址信息或第二地址信息发送参考响应包;参考服务器与第一服务器或第二服务器绑定不同UDP服务。
步骤24、客户端根据接收到的响应包和/或参考响应包的接收情况,识别客户端所使用的NAT设备的类型。
在上述技术方案的基础上,在客户端向第一服务器或第二服务器发送数据请求包之前,还可包括客户端获取第一服务器、第二服务器和参考服务器地址信息。在客户端具体获取所需的地址信息的具体方式上,客户端可预先存储第一服务器、第二服务器和参考服务器的地址信息。或者,在客户端登录过程中获取服务器侧下发的第一服务器、第二服务器和参考服务器的地址信息。客户端在获取地址信息后,分别向第一服务器和第二服务器发送数据请求包;而客户端不会主动发送数据请求包给参考服务器,但在第一服务器或第二服务器在接收到客户端发送的数据请求包时,会指示参考服务器向客户端发送响应包,此时,客户端是否能接收到来自参考服务器的响应包,与客户端所使用的NAT设备的类型有关。
现有的NAT设备主要分为四种类型:受限锥形、不受限锥形、受限对称和不受限对称。客户端通过NAT设备向第一服务器发送第一数据请求包、向第二服务器发送第二数据请求包,NAT设备将客户端的内网地址转换成公网地址,如:公网的IP地址/端口对。在该情形下,对于四种不同类型的NAT设备存在如下特性:
如果NAT设备类型为受限锥形(Restricted Cone),在第一服务器和第二服务器看来,第一数据请求包和第二数据请求包来自相同地址,即发送第一数据请求包的NAT设备和发送第二数据请求包的NAT设备的IP地址和端口都相同。而受限锥形的NAT设备通常只能接收到程序逻辑上已经有通信连接的第一服务器和第二服务器发送的数据请求包,不能收到程序逻辑上未有联系的参考服务器的数据请求包。通常,在一定时间段内,二个设备之间没有通信联系,则可认为二个设备在程序逻辑上未有联系;这段时间的长短是随网络状况不同而略有不同。
如果NAT设备类型为不受限锥形(Full Cone),在第一服务器和第二服务器看来,第一数据请求包和第二数据请求包来自相同地址,即发送第一数据请求包的NAT设备和发送第二数据请求包的NAT设备的IP地址和端口都相同。而不受限锥形的NAT设备通常可接收到程序逻辑上已经有通信连接的第一服务器和第二服务器发送的数据请求包,还可收到程序逻辑上未有联系的参考服务器的数据请求包。
如果NAT设备类型为受限对称(Restricted Symmetric),在第一服务器和第二服务器看来,第一数据请求包和第二数据请求包来自不同地址,即发送第一数据请求包的NAT设备和发送第二数据请求包的NAT设备的IP地址和端口都不相同,或者IP地址相同但端口不同。而受限对称的NAT设备通常只能接收到程序逻辑上已经有通信连接的第一服务器和第二服务器发送的数据请求包,不能收到程序逻辑上未有联系的参考服务器的数据请求包。
如果NAT设备类型为不受限锥形(Non-Restricted Symmetric),在第一服务器和第二服务器看来,第一数据请求包和第二数据请求包来自不同地址,即发送第一数据请求包的NAT设备和发送第二数据请求包的NAT设备的IP地址和端口都不相同,或者IP地址相同但端口不同。而不受限对称的NAT设备通常可接收到程序逻辑上已经有通信连接的第一服务器和第二服务器发送的数据请求包,还可收到程序逻辑上未有联系的参考服务器的数据请求包。
发明人在实现本发明过程中发现,如果客户端获取了NAT设备分配给客户端的地址信息,可有效区分该NAT设备的类型为锥形或对称;如果进一步获取了NAT设备接收与该NAT设备程序逻辑上有联系以及程序逻辑上未有联系的响应包的接收情况,即可进一步判断该锥形NAT设备为受限锥形或不受限锥形,以及对称NAT设备为受限对称或不受限对称,从而可快速、准确的判断客户端使用的NAT设备的类型。因此,识别客户端使用的NAT设备类型的关键,在于如何获取上述信息。本实施例通过二类UDP服务,并选取未与客户端通信的服务器为参考服务器,在第一服务器和第二服务器接收到客户端发送的数据请求包时,触发参考服务器通过NAT设备向客户端发送参考响应包,客户端根据接收响应包的具体情况,以及接收到的响应包中包括的地址信息,即可快速获知NAT设备的类型,相对于现有技术猜测NAT设备类型的方法,本实施例明显提高了NAT设备类型判别的准确性,为后续文件传输或音视频交流建立直接连接做好准备,提升了用户之间直接网络交互的概率,有利于缩短用户建立直接沟通所花费的时间,从而提供了更好的用户体验。
图3为本发明NAT设备类型的判断方法第二实施例的信令交互图。关于运行本实施例的系统实施例可参见图1。如图3所示,本实施例包括:
步骤31、客户端向NAT设备发送第一数据请求包,该第一数据请求包携带第一服务器的IP地址和端口信息。
步骤32、NAT设备将客户端的内网地址转换成公网地址,即为客户端分配第一地址信息,该第一地址信息包括NAT设备为客户端分配的公网的第一IP地址和第一端口信息,并将携带有第一地址信息的第一数据请求包发送给第一服务器。
步骤33、第一服务器根据第一地址信息向NAT设备发送第一响应包,该第一响应包中包括第一地址信息。
步骤34、NAT设备将接收的第一响应包转发给客户端。
步骤35、客户端向NAT设备发送第二数据请求包,该第二数据请求包携带第二服务器的IP地址和端口信息。
步骤36、NAT设备将客户端的内网地址转换成公网地址,即为客户端分配第二地址信息,该第二地址信息包括NAT为客户端分配的公网的第二IP地址和第二端口信息,并将携带有第二地址信息的第二数据请求包发送给第二服务器。
步骤37、第二服务器根据第二地址信息向NAT设备发送第二响应包,该第二响应包中包括第二地址信息。
步骤38、NAT设备将接收的第二响应包转发给客户端。
步骤39、在第一服务器接收到携带有第一地址信息的第一数据请求包时,向参考服务器发送指示信息,该指示信息用于触发参考服务器根据第一地址信息发送参考响应包。
上述技术方案中,客户端向第一服务器或第二服务器发送数据请求包的执行次序并无限定;此外,在第二服务器接收到携带有第二地址信息的第二数据请求包时,也可由第二服务器向参考服务器发送指示信息(图3未示出)。
步骤310、参考服务器根据第一地址信息向NAT设备发送参考响应包。
由于参考服务器与客户端在程序逻辑上是未建立通信连接,因此,NAT设备类型不同,NAT设备是否能够接收得到参考服务器发送的参考响应包的具体情况不同。如果NAT设备能够接收到客户端发送的参考响应包,执行步骤311;否则,执行步骤312。
步骤311、NAT设备将接收的参考响应包转发给客户端。
步骤312、客户端根据接收的第一响应包和第二响应包,和/或客户端接收参考响应包的具体情况,识别该客户端所使用的NAT设备的类型。
如果客户端接收到的来自第一服务器的第一响应包中包括的第一地址信息,与来自第二服务器的第二响应包的第二地址信息相同,例如:第一IP地址与第二IP地址相同,且第一端口信息与第二端口信息相同,则该客户端所使用的NAT设备的类型为锥形;如果第一地址信息与第二地址信息不同,例如:第一IP地址与第二IP地址不同且第一端口信息与第二端口信息不同;或第一IP地址与第二IP地址相同且第一端口信息与第二端口信息不同;或第一IP地址与第二IP地址不同且第一端口信息与第二端口信息相同,则该客户端所使用的NAT设备的类型为对称。
在判断出客户端使用的NAT设备类型为锥形NAT设备时,客户端进一步根据接收参考服务器发送的参考响应包的具体情况,进一步判定锥形NAT设备的类型为受限锥形或不受限锥形。具体为,如果客户端接收到参考响应包,则该锥形NAT设备的类型为不受限锥形;否则,该锥形NAT设备的类型为受限锥形。
类似地,在判断出客户端使用的NAT设备类型为对成NAT设备时,客户端进一步根据接收参考服务器发送的参考响应包的具体情况,进一步判定对成NAT设备的类型为受限对称或不受限对称。具体为,如果客户端接收到参考响应包,则该对称NAT设备的类型为不受限对称;否则,该对称NAT设备的类型为受限对称。通常,是在预设时间段内,判断客户端是否接收到参考响应包。该预设时间段的选取依据不同的网络状况,而略有不同。优选的,该时间段可为20秒至40秒。
本实施例通过二类UDP服务,并选取未与客户端通信的服务器为参考服务器,在第一服务器和第二服务器接收到客户端发送的数据请求包时,触发参考服务器通过NAT设备向客户端发送参考响应包,客户端根据接收响应包的具体情况,以及接收到的响应包中包括的地址信息,即可快速并准确获知NAT设备的类型。
本领域普通技术人员可以理解:附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

Claims (6)

1.一种网络地址转换设备类型的判断方法,其特征在于,包括:
客户端通过网络地址转换设备分别向第一服务器和第二服务器发送数据请求包;所述第一服务器和第二服务器提供相同的服务;所述第一服务器接收到的数据请求包中包括所述网络地址转换设备为所述客户端分配的第一地址信息;所述第二服务器接收到的数据请求包中包括所述网络地址转换设备为所述客户端分配的第二地址信息;
所述第一服务器和第二服务器根据所述第一地址信息或第二地址信息发送响应包;
所述第一服务器或第二服务器向参考服务器发送指示信息,用于触发所述参考服务器根据所述第一地址信息或第二地址信息发送参考响应包;所述参考服务器与第一服务器或第二服务器提供不同服务;
所述客户端根据接收到所述第一服务器和第二服务器发送的响应包,比较所述第一地址信息和第二地址信息是否相同;如果相同,识别所述网络地址转换设备的类型为锥形网络地址转换设备;如果不同,识别所述网络地址转换设备的类型为对称网络地址转换设备;
在识别出所述网络地址转换设备的类型为锥形网络地址转换设备时,判断所述网络地址转换设备是否接收到所述参考响应包,如果有,识别所述网络地址转换设备的类型为不受限锥形网络地址转换设备;如果没有,识别所述网络地址转换设备的类型为受限锥形网络地址转换设备;
在识别出所述网络地址转换设备的类型为对称网络地址转换设备时,判断所述网络地址转换设备是否接收到所述参考响应包,如果有,识别所述网络地址转换设备的类型为不受限对称网络地址转换设备;如果没有,识别所述网络地址转换设备的类型为受限对称网络地址转换设备;
其中所述参考服务器与所述客户端未建立通信连接。
2.根据权利要求1所述的网络地址转换设备类型的判断方法,其特征在于,在所述客户端发送数据请求包之前,还包括:所述客户端获取所述第一服务器、第二服务器和参考服务器的地址信息。
3.根据权利要求2所述的网络地址转换设备类型的判断方法,其特征在于,所述客户端获取所述第一服务器、第二服务器和参考服务器的地址信息,包括:
所述客户端预先存储所述第一服务器、第二服务器和参考服务器的地址信息;或
所述客户端接收服务器侧下发的所述第一服务器、第二服务器和参考服务器的地址信息。
4.根据权利要求3所述的网络地址转换设备类型的判断方法,其特征在于,所述第一地址信息为所述网络地址转换设备为所述客户端分配的第一IP地址和第一端口;所述第二地址信息为所述网络地址转换设备为所述客户端地址转换的第二IP地址和第二端口;所述第一地址信息与所述第二地址信息不同包括:
所述第一IP地址和第二IP地址不同,且第一端口与第二端口不同;或
所述第一IP地址和第二IP地址相同,且第一端口与第二端口不同;或
所述第一IP地址和第二IP地址不同,且第一端口与第二端口相同。
5.一种网络地址转换设备类型的判断系统,其特征在于,包括客户端、网络地址转换设备、第一服务器、第二服务器和参考服务器;所述客户端通过所述网络地址转换设备与所述第一服务器或第二服务器通信连接;所述第一服务器和第二服务器提供相同服务;所述参考服务器提供与所述第一服务器或第二服务器提供不同服务;所述参考服务器与所述客户端未建立通信连接;
所述客户端包括请求发送模块,用于通过网络地址转换设备分别向第一服务器和第二服务器发送数据请求包;所述第一服务器接收到的数据请求包中包括所述网络地址转换设备为所述客户端分配的第一地址信息;所述第二服务器接收到的数据请求包中包括所述网络地址转换设备为所述客户端分配的第二地址信息;
所述第一服务器和第二服务器用于根据所述第一地址信息或第二地址信息发送响应包;在接收到数据请求包时,所述第一服务器或第二服务器还用于向参考服务器发送指示信息,用于触发所述参考服务器根据所述第一地址信息或第二地址信息发送参考响应包;
所述客户端还包括识别模块,所述识别模块包括:
第一识别单元,用于根据接收到所述第一服务器和第二服务器发送的响应包,比较所述第一地址信息和第二地址信息是否相同;如果相同,识别所述网络地址转换设备的类型为锥形网络地址转换设备;如果不同,识别所述网络地址转换设备的类型为对称网络地址转换设备;
第二识别单元,用于在所述第一识别单元识别出所述网络地址转换设备的类型为锥形网络地址转换设备时,判断所述网络地址转换设备是否接收到所述参考响应包,如果有,识别所述网络地址转换设备的类型为不受限锥形网络地址转换设备;如果没有,识别所述网络地址转换设备的类型为受限锥形网络地址转换设备;
第三识别单元,用于在所述第一识别单元识别出所述网络地址转换设备的类型为对称网络地址转换设备时,判断所述网络地址转换设备是否接收到所述参考响应包,如果有,识别所述网络地址转换设备的类型为不受限对称网络地址转换设备;如果没有,识别所述网络地址转换设备的类型为受限对称网络地址转换设备。
6.根据权利要求5所述的网络地址转换设备类型的判断系统,其特征在于,所述客户端还包括:
获取模块,用于获取所述第一服务器、第二服务器和参考服务器的地址信息。
CN2008101183625A 2008-08-14 2008-08-14 网络地址转换设备类型的判断方法和系统 Active CN101651721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101183625A CN101651721B (zh) 2008-08-14 2008-08-14 网络地址转换设备类型的判断方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101183625A CN101651721B (zh) 2008-08-14 2008-08-14 网络地址转换设备类型的判断方法和系统

Publications (2)

Publication Number Publication Date
CN101651721A CN101651721A (zh) 2010-02-17
CN101651721B true CN101651721B (zh) 2013-11-27

Family

ID=41673823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101183625A Active CN101651721B (zh) 2008-08-14 2008-08-14 网络地址转换设备类型的判断方法和系统

Country Status (1)

Country Link
CN (1) CN101651721B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI508495B (zh) * 2013-04-10 2015-11-11 D Link Corp Method of exchanging distributed network messages
TWI493924B (zh) * 2013-04-10 2015-07-21 D Link Corp Through the two network devices to help complete the STUN technology network system and its methods
CN107317869B (zh) * 2017-07-06 2020-09-04 深圳市斑点猫信息技术有限公司 一种节点nat类型探测方法、装置以及系统
CN108900549A (zh) * 2018-08-15 2018-11-27 深圳区块大陆科技有限公司 一种安全的区块链组网技术
CN111107119B (zh) * 2018-10-29 2022-08-09 杭州海康威视系统技术有限公司 基于云存储系统的数据访问方法、装置、系统及存储介质
KR102526770B1 (ko) * 2018-11-05 2023-04-28 삼성전자주식회사 추가의 네트워크 주소 변환 테이블을 참조하여 빠른 패킷 포워딩을 제공하는 전자 장치
CN111988440B (zh) * 2019-05-22 2022-09-02 富联精密电子(天津)有限公司 网络地址转换方法及系统
CN113542244B (zh) * 2021-07-01 2023-08-08 京东科技控股股份有限公司 微服务调用方法、装置、服务器和系统
CN113676542B (zh) * 2021-08-23 2023-06-02 北京奇艺世纪科技有限公司 一种连接建立方法、系统及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064642A (zh) * 2006-04-29 2007-10-31 华为技术有限公司 一种ip多媒体子系统注册流程改进方法
CN101083565A (zh) * 2006-05-29 2007-12-05 腾讯科技(深圳)有限公司 一种检测网络类型的方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064642A (zh) * 2006-04-29 2007-10-31 华为技术有限公司 一种ip多媒体子系统注册流程改进方法
CN101083565A (zh) * 2006-05-29 2007-12-05 腾讯科技(深圳)有限公司 一种检测网络类型的方法及系统

Also Published As

Publication number Publication date
CN101651721A (zh) 2010-02-17

Similar Documents

Publication Publication Date Title
CN101651721B (zh) 网络地址转换设备类型的判断方法和系统
CN102790808B (zh) 一种域名解析方法和系统、一种客户端
CA2611776C (en) Method and communication unit for communicating between communication apparatuses
US7788383B2 (en) Communicating a selection of a potential configuration
EP2044747B1 (en) Technique for providing access to a media resource attached to a network-registered device
US9270747B2 (en) Method and apparatus of performing peer-to-peer communication establishment and connection change-over
US9699237B2 (en) Managed media relay selection for real-time communications
RU2464722C2 (ru) Способ, устройство и система для распределения сообщений
CN103597471A (zh) 用于对计算机网络上的数据通信进行缓存的方法和系统
US10367893B1 (en) Method and apparatus of performing peer-to-peer communication establishment
CN102404396A (zh) P2p流量识别方法、装置、设备和系统
CN107222561A (zh) 一种传输层反向代理方法
WO2017161965A1 (zh) 一种动态域名系统dns重定向方法、装置及系统
US20180375735A1 (en) Device discovery in a network environment
CN104125145A (zh) 基于网页浏览器的通信方法、设备和系统
CN104506549A (zh) 建立网游连接的方法、设备及系统
CN111064742B (zh) 一种基于网络代理实现内网访问的方法、装置及相关设备
CN102546331B (zh) 业务信息的发送方法与装置
CN109327435B (zh) 媒体资源获取方法、装置及网关设备
CN112870692B (zh) 一种游戏加速方法、加速系统、加速装置以及存储介质
CN106572149A (zh) 一种基于p2p网络技术的烧录器远程控制装置及方法
CN103036789B (zh) 报文发送方法、装置和网络出口设备
CN103414836B (zh) 接入基于ip的电话会议的处理方法及装置
CN102957728A (zh) 管理会话建立方法、用户驻地设备及自动配置服务器
CN112543351A (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