CN105610999A - 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统 - Google Patents
一种通过穿透nat实现p2p通信的方法、设备、服务器及系统 Download PDFInfo
- Publication number
- CN105610999A CN105610999A CN201610190661.4A CN201610190661A CN105610999A CN 105610999 A CN105610999 A CN 105610999A CN 201610190661 A CN201610190661 A CN 201610190661A CN 105610999 A CN105610999 A CN 105610999A
- Authority
- CN
- China
- Prior art keywords
- associated terminal
- nat
- server
- radio reception
- network address
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种通过穿透NAT实现P2P通信的方法,所述方法包括:无线接入设备检测NAT心跳周期;并按照所述NAT心跳周期向服务器上报TCP应用层信息,以便所述服务器根据所述TCP应用层信息更新关联终端的关联转发表;接收所述服务器的响应报文,所述响应报文携带所述关联终端的公网地址;向所述关联终端的公网地址发送请求报文;并在检测没有收到回应时,通过中继模式或请求所述服务器通知所述关联终端按照所述心跳周期向自身发起心跳嗅探包穿透NAT,实现与所述关联终端进行P2P通信。本发明技术方案不仅能够穿透所有类型NAT及串联多级NAT设备,同时对设备和网络环境也没有特殊要求,并且可以低成本推广应用。
Description
技术领域
本发明涉及穿透NAT实现P2P通信技术领域,尤其涉及一种穿透NAT实现P2P通信的方法、设备、服务器及系统。
背景技术
NAT(NetworkAddressTranslator,网络地址转换),它是一种把内部私有网络IP地址翻译成公有网络IP地址的技术,在IP地址日益缺乏的情况下,NAT的主要目的是使地址能够重用,IP地址可分为公有地址和私有地址,私有地址用于内网,不同的内网,私有地址可重用,从而节省了公有地址,但私有地址不可在公网中被路由,所以内网的主机要访问公网的服务器,便要经过NAT,公有地址是全球唯一的,能在公网上被路由。
内网主机用私有地址在内网能与其它内网主机无误地通信,但内网主机要与外网通信,必须经过NAT设备(如网关、路由器)。例如,内网主机A要与外网服务器S通信,必须先通过网关,此时网关改变的数据包地址及端口,把私有地址改为公有地址,使数据包能够在公网上被路由,送至外网服务器S。外网服务器S返回的数据包到达网关后,网关把公有地址改为相应的私有地址,然后转发到内网主机A。如此,一个内网只需一个公有IP地址,就把整个内网的终端接入外网,从而解决了IP地址缺乏的问题。
目前,NAT功能常被集成到路由器、防火墙、ISDN(IntegratedServicesDigitalNetwork,综合业务数字网)路由器或者单独的NAT设备中,NAT可分为基本的NAT和NAPT(NetworkAddress/PortTranslator)。
基本的NAT,它仅将内网主机的私有IP地址转换成公网IP地址,但并不将TCP/UDP端口信息进行转换,有动态与静态之区分。由于现在大部分都属于另一种类型,即NAPT,故这里不详细讨论基础NAT。
另外一种NAT叫做NAPT,从名称上我们也可以看得出,NAPT不但会改变经过这个NAT设备的IP数据包的IP地址,还会改变IP数据包的TCP/UDP端口。
例如,私有网络中某一主机ClientA(10.0.0.2),它的某个进程通过1234端口,想访问外网服务器18.181.0.31的1235端口。那么当数据包通过NAT时,这个NAT的外网地址是155.99.25.11,首先NAT会改变这个数据包的原IP地址,改为155.99.25.11。并分配一个端口(如62000)给ClientA,把数据包的原端口号改为62000。所以本来是(10.0.0.2:1234->18.181.0.31:1235)的数据包到了互联网上变为了(155.99.25.11:62000->18.181.0.31:1235)。NAT会记住62000端口对应的是10.0.0.2的1234端口,以后从外网服务器18.181.0.31发送到62000端口的数据会被NAT自动的改变目的IP和端口号,然后转发到10.0.0.2上。
NAPT又分为锥型(Cone)和对称型(Symmetric),它们的区别在于,在NAT已分配端口号给ClientA的情况下,如果ClientA继续用1235端口与另一外网服务器通讯,锥型NAT还会继续用原来62000端口,即所分配的端口号不变。而对于对等型NAT,NAT将会分配另一端口号(如62001)给ClientA的1235端口。也就是说,同一内网主机同一端口号,对于锥型NAT,无论与哪一外网主机通讯,都不改变所分配的端口号;而对于对等型NAT,同一内网主机同一端口号,每一次与不同的外网主机通信,就重新分配另一个端口号。
锥型NAT可另外分类为完全锥形(FullCone)NAT,受限制锥形(RestrictedCone)NAT,端口受限制锥形(PortRestrictedCone)NAT。
完全锥形(FullCone)NAT
这种NAT内部的主机A连接过外网主机C后,NAT会打开一个端口。然后外网的任何发到这个打开的端口的UDP数据报都可以到达A,不管是不是C发过来的。
受限制锥形(RestrictedCone)NAT
这种NAT内部的主机A连接过外网的主机C后,NAT打开一个端口。然后C可以用任何端口和A通信,但其他的外网主机不可以。
端口受限制锥形(PortRestrictedCone)NAT
这种NAT内部的主机A连接过外网的主机C后,NAT打开一个端口。然后C只能用原来的端口和A通信,其他的外网主机不可以。
NAT很好地解决了地址紧缺的问题,还能够有效避免来自网络外部的攻击,隐藏并保护网络内部的计算机。同时,NAT也阻碍了外网到内网的直接访问,例如:CDNP2P分布式传输和和服务器主动推送等。
NAT穿透是实现P2P通信的主要方案,常用方案是ICE(TheInternetCommunicationsEngine,互联网通信引擎)和UPnP。
ICE穿透要求外网服务器是双网卡配置,这将带来更多的安全风险,内网终端要求有兼容环境的存储空间。例如:嵌入式设备上运行开源程序,如果是用不同语言实现的,需要加载基本库。这在低成本的嵌入式项目中,将影响实际应用。
UPnP可以穿透UDP/TCP和对称型,但却不支持串联的NAT设备。
常用的内网NAT穿透方案有:
1)ICE(STUN+TURN)
STUN(SimpleTraversalofUDPoverNAT,NAT的UDP简单穿越)是一种网络协议,可以穿透TCPNAT的圆锥型和受限锥型,不能穿透UDP和对称型。这里,不考虑UDPNAT穿透,假设没有对称型防火墙或阻塞型,则需要TURN(TraversalUsingRelaysaroundNAT,使用中继穿透NAT)中继的概率是1/8=1/2*1/4(对称型NAT),具体如图1所示,具体步骤如下:
步骤S101,客户端向服务器请求NAT映射后的公网地址;
步骤S102,判断是否收到应答?如果收到进入步骤S104,否则进入步骤S103;
步骤S103,确认为阻塞型,网络断路或UDP/TCP报文被防火墙阻断;
步骤S104,确认为非阻塞型,比较客户端外网地址和NAT映射后的公网;
步骤S105,判断地址是否相同?如果相同进入步骤S106,否则进入步骤S111;
步骤S106,确认为公网,没有NAT设备;
步骤S107,客户端向服务器请求从其他IP地址和Port端口回复包;
步骤S108,判断是否收到应答?如果收到进入步骤S109,否则进入步骤S110;
步骤S109,确认为开放型,客户端在开放网络上;
步骤S110,确认为对称型PW,UDP/TCP报文被前置防火墙阻断;
步骤S111,确认为私网,有NAT设备;
步骤S112,客户端向服务器请求从其他IP和Port回复包;
步骤S113,判断是否收到应答?如果收到进入步骤S114,否则进入步骤步骤S115;
步骤S114,确认为完全锥形,NAT设备是完全开放的;
步骤S115,确认为受限NAT,NAT设备是受限开放的;
步骤S116,客户端向服务器的另一个IP请求NAT映射后的公网地址,比较客户端外网地址和NAT映射后的公网地址;
步骤S117,判断地址是否相同?如果相同进入步骤S119,否则进入步骤S118;
步骤S118,对称锥形NAT,UDP/TCP报文被前置NAT设备阻断;
步骤S119,确认为受限锥形;
步骤S120,客户端向服务器请求从相同地址和不同端口回复包;
步骤S121,判断地址相同吗?如果相同进入步骤S122,否则进入步骤S123;
步骤S122,确认为地址受限锥形;
步骤S123,确认为端口受限锥形。
STUN协议需要外网服务器配置双网卡,用于内网终端的NAT类型检测。开源版本“RFC3489:stund-0.97”和“RFC5389:stunserver”都是基于C++实现,运行要有C++Lib库支持,编译大小是1M多,不适用于低成本嵌入式设备项目。
2)UPnP(即插即用)
UPnP是开放的设备互联协议,基于TCP/IP且不需要驱动。开启UPnP功能的NAT设备,内网终端可以让NAT网关做自动端口映射。UPnP协议簇实现互联互通,就是将内网终端的外网地址广播公告出去。UPnP可以穿透UDP/TCPNAT和对称型NAT,穿透效率很高,但应用场景有限。在串联多级NAT设备的情况下,需要每级都打开UPnP功能请求自动端口映射,外网服务器才能获知内网终端的公网地址。但事实上,外层NAT设备是不可预知和控制的。
发明内容
本发明所要解决的技术问题穿透所有类型NAT及多级串联NAT设备,且不对设备和网络环境提出额外要求,同时解决低成本推广应用问题。
为了解决上述问题,本发明提供了一种通过穿透NAT实现P2P通信的方法,所述方法包括:
无线接入设备检测NAT心跳周期;
并按照所述NAT心跳周期向服务器上报TCP应用层信息,以便所述服务器根据所述TCP应用层信息更新关联终端的关联转发表;
接收所述服务器的响应报文,所述响应报文携带所述关联终端的公网地址;
向所述关联终端的公网地址发送请求报文;
并在检测没有收到回应时,通过中继模式或请求所述服务器通知所述关联终端按照所述心跳周期向自身发起心跳嗅探包穿透NAT,实现与所述关联终端进行P2P通信。
可选的,所述方法还包括:在检测收到回应时,则直接与所述关联终端进行P2P通信。
可选的,在向所述关联终端的公网地址发送请求报文之前,所述方法还包括:
所述响应报文还携带所述关联终端的网络类型;
根据所述关联终端的网络类型确认所述关联终端在私网;
根据所述关联终端的公网地址确认更新了所述关联终端的公网地址。
可选的,所述关联终端包括主设备及至少一个关联设备,所述关联终端的关联转发表格式为:
{编号;
主设备标识,公网地址,网络类型,心跳周期;
第一关联设备标识,公网地址,网络类型,心跳周期;
……}。
可选的,所述无线接入设备检测NAT心跳周期,具体包括:
所述无线接入设备向所述服务器发送请求报文;
如果在N秒内没有收到所述服务器的回应,则以N/2秒继续嗅探,连续嗅探预设次数,仍没有收到所述服务器的回应,则认为网络不可达;
如果延迟N秒收到所述服务器的回应,则所述N秒为心跳周期。
本发明还提供了一种通过穿透NAT实现P2P通信的方法,所述方法包括:
按照心跳周期接收无线接入设备上报的TCP应用层信息;
根据所述TCP应用层信息更新关联终端的关联转发表;
并向所述无线接入设备发送响应报文,以便所述无线接入设备向所述关联终端的公网地址发送请求报文;其中,所述响应报文携带所述关联终端的公网地址;
并在所述无线接入设备没有收到回应时,接收所述无线接入设备的请求报文后,通知所述关联终端按照所述心跳周期发起心跳嗅探包穿透NAT,便于所述无线接入设备与所述关联终端进行P2P通信。
可选的,在根据所述TCP应用层信息更新关联终端的关联转发表之前,所述方法还包括:
接收所述TCP应用层报文信息;其中,所述TCP应用层报文信息包括网络地址信息;
将预存的数据包源地址与所述网络地址信息进行比较确定网络类型;
所述数据包源地址为所述无线接入设备通过NAT映射后的公网地址。
可选的,在根据所述TCP应用层信息更新关联终端的关联转发表之后,所述方法还包括:
将所述关联终端的关联转发表的更新内容通知给所述关联终端。
本发明还提供了一种通过穿透NAT实现P2P通信的无线接入设备,所述无线接入设备包括:
第一检测模块,用于检测NAT心跳周期;
上报模块,用于按照所述第一检测模块检测的NAT心跳周期向服务器上报TCP应用层信息,以便所述服务器根据所述TCP应用层信息更新关联终端的关联转发表;
第一接收模块,用于接收所述服务器的响应报文,所述响应报文携带所述关联终端的公网地址;
第一发送模块,用于向所述关联终端的公网地址发送请求报文;
第二检测模块,检测是否收到回应;
第一通信模块,用于当所述第二检测模块检测没有收到回应时,通过中继模式或请求所述服务器通知所述关联终端按照所述心跳周期向自身发起心跳嗅探包穿透NAT,实现与所述关联终端进行P2P通信。
可选的,所述无线接入设备还包括:
第二通信模块,用于当所述第二检测模块检测收到回应时,直接与所述关联终端进行P2P通信。
可选的,所述无线接入设备还包括:
第一确认模块,用于所述第一发送模块向所述关联终端的公网地址发送请求报文之前,根据所述关联终端的网络类型确认所述关联终端在私网;其中,所述响应报文还携带所述关联终端的网络类型;
第二确认模块,用于根据所述关联终端的公网地址确认更新了所述关联终端的公网地址。
可选的,所述第一检测模块包括:
请求子模块,用于向所述服务器发送请求报文;
检测子模块,用于如果在N秒内没有收到所述服务器的回应,则以N/2秒继续嗅探,连续嗅探预设次数,仍没有收到所述服务器的回应,则认为网络不可达;如果延迟N秒收到所述服务器的回应,则所述N秒为心跳周期。
可选的,本发明还提出了一种通过穿透NAT实现P2P通信的服务器,其特征在于,所述服务器包括:
第二接收模块,用于按照心跳周期接收无线接入设备上报的TCP应用层信息;
更新模块,用于根据所述TCP应用层信息更新关联终端的关联转发表;
第二发送模块,用于向所述无线接入设备发送响应报文,以便所述无线接入设备向所述关联终端的公网地址发送请求报文;其中,所述响应报文携带所述关联终端的公网地址;
接收通知模块,用于在所述无线接入设备没有收到回应时,接收所述无线接入设备的请求通知报文后,通知所述关联终端按照所述心跳周期发起心跳嗅探包穿透NAT,便于所述无线接入设备与所述关联终端进行P2P通信。
可选的,所述服务器还包括:
第三接收模块,用于在所述更新模块根据所述TCP应用层信息更新关联终端的关联转发表之前,接收所述TCP应用层报文信息;其中,所述TCP应用层报文信息包括网络地址信息;
比较确定模块,用于将预存的数据包源地址与所述网络地址信息进行比较确定网络类型;其中,所述数据包源地址为所述无线接入设备通过NAT映射后的公网地址。
可选的,所述服务器还包括:
通知模块,用于所述更新模块根据所述TCP应用层信息更新关联终端的关联转发表之后,将所述关联终端的关联转发表的更新内容通知给所述关联终端。
本发明还提供了一种通过穿透NAT实现P2P通信的系统,所述系统包括无线接入设备和服务器,
所述无线接入设备为上述所述的无线接入设备;
所述服务器为上述所述的服务器。
与现有技术相比,本发明的技术方案具有以下优点:
不仅能够穿透所有类型NAT及串联多级NAT设备,同时对设备和网络环境也没有特殊要求,并且可以低成本推广应用。
附图说明
图1是传统NAT映射后网络状况、及各种NAT类型的判断方式的流程示意图;
图2是本发明通过穿透NAT实现P2P通信的方法的一种实施例的流程示意图;
图3是本发明通过穿透NAT实现P2P通信的方法的另一种实施例的流程示意图;
图4是本发明通过穿透NAT实现P2P通信的方法中向所述关联终端的公网地址发送请求报文之前的进一步处理方法的流程示意图;
图5是本发明通过穿透NAT实现P2P通信的方法的另一种实施例的流程示意图;
图6是本发明通过穿透NAT实现P2P通信的方法中根据所述TCP应用层信息更新关联终端的关联转发表之前进一步处理方法的流程示意图;
图7是本发明通过穿透NAT实现P2P通信的无线接入设备的一种实施例的结构示意图;
图8是本发明通过穿透NAT实现P2P通信的无线接入设备的另一种实施例的结构示意图;
图9是本发明通过穿透NAT实现P2P通信的无线接入设备的另一种实施例的结构示意图;
图10是本发明通过穿透NAT实现P2P通信的无线接入设备中第一检测模块的一种实施例的结构示意图;
图11是本发明通过穿透NAT实现P2P通信的服务器的一种实施例的结构示意图;
图12是本发明通过穿透NAT实现P2P通信的服务器的另一种实施例的结构示意图;
图13是本发明通过穿透NAT实现P2P通信的服务器的另一种实施例的结构示意图;
图14是本发明通过穿透NAT实现P2P通信的系统的一种实施例的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是实例,其在此不应限制本发明保护的范围。
为了解决背景技术中的技术问题穿透所有类型NAT及多级串联NAT设备,且不对设备和网络环境提出额外要求,同时解决低成本推广应用问题。本发明提供了一种通过穿透NAT实现P2P通信的方法、设备、服务器及系统。
下面结合附图和具体实施例对本发明的技术方案做进一步说明。
图2是本发明通过穿透NAT实现P2P通信的方法的一种实施例的流程示意图,适于无线接入设备侧,具体步骤如下:
步骤S201,无线接入设备检测NAT心跳周期;
具体地,所述无线接入设备检测NAT心跳周期,具体包括:
所述无线接入设备向所述服务器发送请求报文;
如果在N秒内没有收到所述服务器的回应,则以N/2秒继续嗅探,连续嗅探预设次数,仍没有收到所述服务器的回应,则认为网络不可达;
如果延迟N秒收到所述服务器的回应,则所述N秒为心跳周期。
其中,这里,无线接入设备位于内网。
步骤S202,并按照所述NAT心跳周期向服务器上报TCP应用层信息,以便所述服务器根据所述TCP应用层信息更新关联终端的关联转发表;
具体地,所述关联终端包括主设备及至少一个关联设备,所述关联终端的关联转发表格式为:
{编号;
主设备标识,公网地址,网络类型,心跳周期;
第一关联设备标识,公网地址,网络类型,心跳周期;
……}。
其中,编号由服务器设定,另主设备标识及第一设备标识……为无线接入设备按心跳周期上报的报文中的物理地址;
其中,网络类型包括私网和公网,具体服务器将数据包源地址和TCP应用层信息中的网络地址进行比较,当相同时网络类型为公网,不同时网络类型为私网。
步骤S203,接收所述服务器的响应报文,所述响应报文携带所述关联终端的公网地址;
具体地,所述响应报文还携带网络类型。
步骤S204,向所述关联终端的公网地址发送请求报文;
具体地,所述关联终端包括:主设备标识及第一设备标识……。
步骤S205,并在检测没有收到回应时,通过中继模式或请求所述服务器通知所述关联终端按照所述心跳周期向自身发起心跳嗅探包穿透NAT,实现与所述关联终端进行P2P通信。
具体地,当检测没有收到回应时,则确认为网络拥塞或NAT是受限型或对称型;其中,中继模式是通过中继使无线接入设备与关联终端接通,即绕开NAT,使无线接入设备可以与关联设备直接进行P2P通信;其中,关联终端按心跳周期向无线接入终端发起心跳嗅探包,即通过心跳连续的方式打通NAT,使关联终端与无线接入设备进行P2P通信;
其中,无线接入设备在开始启动时,会向服务器请求关联终端的地址信息;并发起嗅探通信,记录连接时是否启用中继模式。
图3是本发明通过穿透NAT实现P2P通信的方法的另一种实施例的流程示意图,具体步骤如下:
步骤S301,无线接入设备检测NAT心跳周期;
具体地,如步骤S201所示。
步骤S302,并按照所述NAT心跳周期向服务器上报TCP应用层信息,以便所述服务器根据所述TCP应用层信息更新关联终端的关联转发表;
具体地,如步骤S202所示。
步骤S303,接收所述服务器的响应报文,所述响应报文携带所述关联终端的公网地址;
具体地,如步骤S203所示。
步骤S304,向所述关联终端的公网地址发送请求报文;
具体地,如步骤S204所示。
步骤S305,并在检测没有收到回应时,通过中继模式或请求所述服务器通知所述关联终端按照所述心跳周期向自身发起心跳嗅探包穿透NAT,实现与所述关联终端进行P2P通信;
具体地,如步骤S205所示。
步骤S306,在检测收到回应时,则直接与所述关联终端进行P2P通信。
具体地,当检测收到回应时,NAT是开放的或关联终端位于开放网络上,则无线接入设备与关联终端是可以直接进行通信。
图4是本发明通过穿透NAT实现P2P通信的方法中向所述关联终端的公网地址发送请求报文之前的进一步处理方法的流程示意图,具体步骤如下:
步骤S401,所述响应报文还携带所述关联终端的网络类型;
步骤S402,根据所述关联终端的网络类型确认所述关联终端在私网;
具体地,网络类型包括私网和公网。
步骤S403,根据所述关联终端的公网地址确认更新了所述关联终端的公网地址。
具体地,无线接入设备将收到的关联终端的公网地址与之前自身存储的关联终端的公网地址进行比较发现不同时,则认为关联终端的公网地址更新了。
图5是本发明通过穿透NAT实现P2P通信的方法的另一种实施例的流程示意图,适于服务器侧,具体步骤如下:
步骤S501,按照心跳周期接收无线接入设备上报的TCP应用层信息;
具体地,TCP应用层信息包括:设备状态、功能掩码、网络地址(IP地址)、物理地址等,采用jason格式。
步骤S502,根据所述TCP应用层信息更新关联终端的关联转发表;
具体地,服务器将数据包源地址和TCP应用层信息中的网络地址进行比较,当相同时为公网,不同时为私网。其中,数据包源地址就是最外层NAT映射地址,也是无线接入设备的公网地址;
其中,在根据所述TCP应用层信息更新关联终端的关联转发表之后,还可将所述关联终端的关联转发表的更新内容通知给所述关联终端。
步骤S503,并向所述无线接入设备发送响应报文,以便所述无线接入设备向所述关联终端的公网地址发送请求报文;
具体地,其中,所述响应报文携带所述关联终端的公网地址。
步骤S504,并在所述无线接入设备没有收到回应时,接收所述无线接入设备的请求报文后,通知所述关联终端按照所述心跳周期发起心跳嗅探包穿透NAT,便于所述无线接入设备与所述关联终端进行P2P通信。
具体地,服务器接收无线接入终端的请求后,按照该请求通知关联终端按照所述心跳周期发起心跳嗅探包穿透NAT。
图6是本发明通过穿透NAT实现P2P通信的方法中根据所述TCP应用层信息更新关联终端的关联转发表之前进一步处理方法的流程示意图,具体步骤如下:
步骤S601,接收所述TCP应用层报文信息;
具体地,其中,所述TCP应用层报文信息包括网络地址信息。
步骤S602,将预存的数据包源地址与所述网络地址信息进行比较确定网络类型;
具体地,当相同时则网络类型为公网,不同时则网络类型为私网。
步骤S603,所述数据包源地址为所述无线接入设备通过NAT映射后的公网地址。
具体地,数据包源地址为IP地址。
需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明的部分或全部可借助软件并结合必需的通用硬件平台来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可包括其上存储有机器可执行指令的一个或多个机器可读介质,这些指令在由诸如计算机、计算机网络或其他电子设备等一个或多个机器执行时可使得该一个或多个机器根据本发明的实施例来执行操作。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM(紧致盘-只读存储器)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适于存储机器可执行指令的其他类型的介质/机器可读介质。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
图7是本发明通过穿透NAT实现P2P通信的无线接入设备的一种实施例的结构示意图,无线接入设备700包括第一检测模块701、上报模块702、第一接收模块703、第一发送模块704、第二检测模块705和第一通信模块706,
第一检测模块701,用于检测NAT心跳周期;
具体地,第一检测模块701检测NAT心跳周期,具体包括:
第一检测模块701向所述服务器发送请求报文;如果在N秒内没有收到所述服务器的回应,则以N/2秒继续嗅探,连续嗅探预设次数,仍没有收到所述服务器的回应,则认为网络不可达;如果延迟N秒收到所述服务器的回应,则所述N秒为心跳周期。
上报模块702,用于按照第一检测模块701检测的NAT心跳周期向服务器上报TCP应用层信息,以便所述服务器根据所述TCP应用层信息更新关联终端的关联转发表;
具体地,所述关联终端包括主设备及至少一个关联设备,所述关联终端的关联转发表格式为:
{编号;
主设备标识,公网地址,网络类型,心跳周期;
第一关联设备标识,公网地址,网络类型,心跳周期;
……}。
其中,编号由服务器设定,另主设备标识及第一设备标识……为第一检测模块按心跳周期上报的报文中的物理地址;
其中,网络类型包括私网和公网,具体服务器将数据包源地址和TCP应用层信息中的网络地址进行比较,当相同时网络类型为公网,不同时网络类型为私网。
第一接收模块703,用于接收所述服务器的响应报文,所述响应报文携带所述关联终端的公网地址;
具体地,所述响应报文还携带网络类型。
第一发送模块704,用于向所述关联终端的公网地址发送请求报文;
具体地,所述关联终端包括:主设备标识及第一设备标识……。
第二检测模块705,检测是否收到回应;
第一通信模块706,用于当所述第二检测模块705检测没有收到回应时,通过中继模式或请求所述服务器通知所述关联终端按照所述心跳周期向自身发起心跳嗅探包穿透NAT,实现与所述关联终端进行P2P通信。
具体地,当检测没有收到回应时,则确认为网络拥塞或NAT是受限型或对称型;其中,中继模式是通过中继使无线接入设备与关联终端接通,即绕开NAT,使无线接入设备可以与关联设备直接进行P2P通信;其中,关联终端按心跳周期向无线接入终端发起心跳嗅探包,即通过心跳连续的方式打通NAT,使关联终端与无线接入设备进行P2P通信。
图8是本发明通过穿透NAT实现P2P通信的无线接入设备的另一种实施例的结构示意图,无线接入设备700包括第一检测模块701、上报模块702、第一接收模块703、第一发送模块704、第二检测模块705、第一通信模块706和第二通信模块707,其中,第一检测模块701、上报模块702、第一接收模块703、第一发送模块704、第二检测模块705和第一通信模块706具体如图7所示,
第二通信模块707,用于当第二检测模块705检测收到回应时,直接与所述关联终端进行P2P通信。
具体地,当检测收到回应时,NAT是开放的或关联终端位于开放网络上,则无线接入设备与关联终端是可以直接进行通信。
图9是本发明通过穿透NAT实现P2P通信的无线接入设备的另一种实施例的结构示意图,无线接入设备700包括第一检测模块701、上报模块702、第一接收模块703、第一发送模块704、第二检测模块705、第一通信模块706、第一确认模块708和第二确认模块709,其中,第一检测模块701、上报模块702、第一接收模块703、第一发送模块704、第二检测模块705和第一通信模块706具体如图7所示,
第一确认模块708,用于第一发送模块704向所述关联终端的公网地址发送请求报文之前,根据所述关联终端的网络类型确认所述关联终端在私网;其中,所述响应报文还携带所述关联终端的网络类型;
具体地,网络类型包括私网和公网。
第二确认模块709,用于根据所述关联终端的公网地址确认更新了所述关联终端的公网地址。
具体地,具体地,无线接入设备将收到的关联终端的公网地址与之前自身存储的关联终端的公网地址进行比较发现不同时,则认为关联终端的公网地址更新了。
图10是本发明通过穿透NAT实现P2P通信的无线接入设备中第一检测模块的一种实施例的结构示意图,第一检测模块701包括请求子模块7011和检测子模块7012,
请求子模7011,用于向所述服务器发送请求报文;
检测子模块7012,用于如果在N秒内没有收到所述服务器的回应,则以N/2秒继续嗅探,连续嗅探预设次数,仍没有收到所述服务器的回应,则认为网络不可达;如果延迟N秒收到所述服务器的回应,则所述N秒为心跳周期。
图11是本发明通过穿透NAT实现P2P通信的服务器的一种实施例的结构示意图,服务器1100包括第二接收模块1101、更新模块1102、第二发送模块1103和接收通知模块1104,
第二接收模块1101,用于按照心跳周期接收无线接入设备上报的TCP应用层信息;
具体地,TCP应用层信息包括:设备状态、功能掩码、网络地址(IP地址)、物理地址等。
更新模块1102,用于根据所述TCP应用层信息更新关联终端的关联转发表;
具体地,服务器将数据包源地址和TCP应用层信息中的网络地址进行比较,当相同时为公网,不同时为私网。其中,数据包源地址就是最外层NAT映射地址,也是无线接入设备的公网地址。
第二发送模块1103,用于向所述无线接入设备发送响应报文,以便所述无线接入设备向所述关联终端的公网地址发送请求报文;其中,所述响应报文携带所述关联终端的公网地址;
具体地,其中,所述响应报文携带所述关联终端的公网地址。
接收通知模块1104,用于在所述无线接入设备没有收到回应时,接收所述无线接入设备的请求通知报文后,通知所述关联终端按照所述心跳周期发起心跳嗅探包穿透NAT,便于所述无线接入设备与所述关联终端进行P2P通信。
具体地,接收通知模块1104接收无线接入终端的请求后,按照该请求通知关联终端按照所述心跳周期发起心跳嗅探包穿透NAT。
图12是本发明通过穿透NAT实现P2P通信的服务器的另一种实施例的结构示意图,服务器1100包括第二接收模块1101、更新模块1102、第二发送模块1103、接收通知模块1104、第三接收模块1105和比较确定模块1106,其中,第二接收模块1101、更新模块1102、第二发送模块1103和接收通知模块1104具体如图11所示,
第三接收模块1105,用于在更新模块1102根据所述TCP应用层信息更新关联终端的关联转发表之前,接收所述TCP应用层报文信息;其中,所述TCP应用层报文信息包括网络地址信息;
具体地,其中,所述TCP应用层报文信息包括网络地址信息。
比较确定模块1106,用于将预存的数据包源地址与所述网络地址信息进行比较确定网络类型;其中,所述数据包源地址为所述无线接入设备通过NAT映射后的公网地址。
具体地,当相同时则网络类型为公网,不同时则网络类型为私网。
图13是本发明通过穿透NAT实现P2P通信的服务器的另一种实施例的结构示意图,服务器1100包括第二接收模块1101、更新模块1102、第二发送模块1103、接收通知模块1104和通知模块1107,其中,第二接收模块1101、更新模块1102、第二发送模块1103和接收通知模块1104具体如图11所示,
通知模块1107,用于更新模块1102根据所述TCP应用层信息更新关联终端的关联转发表之后,将所述关联终端的关联转发表的更新内容通知给所述关联终端。
图14是本发明通过穿透NAT实现P2P通信的系统的一种实施例的结构示意图,系统1300包括无线接入设备600和服务器1000,其中,无线接入设备600位于内网,且可以为路由器或网关等。
无线接入设备600,用于检测NAT心跳周期;按照NAT心跳周期向服务器1100上报TCP应用层信息,以便服务器1100根据所述TCP应用层信息更新关联终端的关联转发表;同时,接收服务器1100的响应报文,所述响应报文携带所述关联终端的公网地址;并向所述关联终端的公网地址发送请求报文,检测是否收到回应;当检测没有收到回应时,通过中继模式或请求服务器1100通知所述关联终端按照所述心跳周期向自身发起心跳嗅探包穿透NAT,实现与所述关联终端进行P2P通信;当所述检测收到回应时,直接与所述关联终端进行P2P通信。
其中,无线接入设备600检测NAT心跳周期具体包括:向服务器1100发送请求报文,如果在N秒内没有收到服务器1100的回应,则以N/2秒继续嗅探,连续嗅探预设次数,仍没有收到服务器1100的回应,则认为网络不可达;如果延迟N秒收到服务器1100的回应,则所述N秒为心跳周期。
无线接入设备600,还用于向所述关联终端的公网地址发送请求报文之前,根据所述关联终端的网络类型确认所述关联终端在私网;其中,所述响应报文还携带所述关联终端的网络类型;根据所述关联终端的公网地址确认更新了所述关联终端的公网地址。
服务器1100,用于按照心跳周期接收无线接入设备600上报的TCP应用层信息;根据所述TCP应用层信息更新关联终端的关联转发表;同时,向无线接入设备600发送响应报文,以便无线接入设备600向所述关联终端的公网地址发送请求报文;其中,所述响应报文携带所述关联终端的公网地址;在无线接入设备600没有收到回应时,接收无线接入设备600的请求通知报文后,通知所述关联终端按照所述心跳周期发起心跳嗅探包穿透NAT,便于无线接入设备600与所述关联终端进行P2P通信。
服务器1100,还用于在根据所述TCP应用层信息更新关联终端的关联转发表之前,接收所述TCP应用层报文信息;其中,所述TCP应用层报文信息包括网络地址信息;并将预存的数据包源地址与所述网络地址信息进行比较确定网络类型;其中,所述数据包源地址为所述无线接入设备通过NAT映射后的公网地址。
服务器1100,还用于根据所述TCP应用层信息更新关联终端的关联转发表之后,将所述关联终端的关联转发表的更新内容通知给所述关联终端。
需要说明的是,本领域技术人员可以理解,上述部分组件可以是可编程逻辑器件,包括:可编程阵列逻辑(ProgrammableArrayLogic,PAL)、通用阵列逻辑(GenericArrayLogic,GAL)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)中的一种或多种,本发明对此不做具体限制。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (16)
1.一种通过穿透NAT实现P2P通信的方法,其特征在于,所述方法包括:
无线接入设备检测NAT心跳周期;
并按照所述NAT心跳周期向服务器上报TCP应用层信息,以便所述服务器根据所述TCP应用层信息更新关联终端的关联转发表;
接收所述服务器的响应报文,所述响应报文携带所述关联终端的公网地址;
向所述关联终端的公网地址发送请求报文;
并在检测没有收到回应时,通过中继模式或请求所述服务器通知所述关联终端按照所述心跳周期向自身发起心跳嗅探包穿透NAT,实现与所述关联终端进行P2P通信。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在检测收到回应时,则直接与所述关联终端进行P2P通信。
3.根据权利要求1所述的方法,其特征在于,在向所述关联终端的公网地址发送请求报文之前,所述方法还包括:
所述响应报文还携带所述关联终端的网络类型;
根据所述关联终端的网络类型确认所述关联终端在私网;
根据所述关联终端的公网地址确认更新了所述关联终端的公网地址。
4.根据权利要求1所述的方法,其特征在于,所述关联终端包括主设备及至少一个关联设备,所述关联终端的关联转发表格式为:
{编号;
主设备标识,公网地址,网络类型,心跳周期;
第一关联设备标识,公网地址,网络类型,心跳周期;
……}。
5.如权利要求1所述的方法,其特征在于,所述无线接入设备检测NAT心跳周期,具体包括:
所述无线接入设备向所述服务器发送请求报文;
如果在N秒内没有收到所述服务器的回应,则以N/2秒继续嗅探,连续嗅探预设次数,仍没有收到所述服务器的回应,则认为网络不可达;
如果延迟N秒收到所述服务器的回应,则所述N秒为心跳周期。
6.一种通过穿透NAT实现P2P通信的方法,其特征在于,所述方法包括:
按照心跳周期接收无线接入设备上报的TCP应用层信息;
根据所述TCP应用层信息更新关联终端的关联转发表;
并向所述无线接入设备发送响应报文,以便所述无线接入设备向所述关联终端的公网地址发送请求报文;其中,所述响应报文携带所述关联终端的公网地址;
并在所述无线接入设备没有收到回应时,接收所述无线接入设备的请求报文后,通知所述关联终端按照所述心跳周期发起心跳嗅探包穿透NAT,便于所述无线接入设备与所述关联终端进行P2P通信。
7.如权利要求6所述的方法,其特征在于,在根据所述TCP应用层信息更新关联终端的关联转发表之前,所述方法还包括:
接收所述TCP应用层报文信息;其中,所述TCP应用层报文信息包括网络地址信息;
将预存的数据包源地址与所述网络地址信息进行比较确定网络类型;
所述数据包源地址为所述无线接入设备通过NAT映射后的公网地址。
8.根据权利要求6所述的方法,其特征在于,在根据所述TCP应用层信息更新关联终端的关联转发表之后,所述方法还包括:
将所述关联终端的关联转发表的更新内容通知给所述关联终端。
9.一种通过穿透NAT实现P2P通信的无线接入设备,其特征在于,所述无线接入设备包括:
第一检测模块,用于检测NAT心跳周期;
上报模块,用于按照所述第一检测模块检测的NAT心跳周期向服务器上报TCP应用层信息,以便所述服务器根据所述TCP应用层信息更新关联终端的关联转发表;
第一接收模块,用于接收所述服务器的响应报文,所述响应报文携带所述关联终端的公网地址;
第一发送模块,用于向所述关联终端的公网地址发送请求报文;
第二检测模块,检测是否收到回应;
第一通信模块,用于当所述第二检测模块检测没有收到回应时,通过中继模式或请求所述服务器通知所述关联终端按照所述心跳周期向自身发起心跳嗅探包穿透NAT,实现与所述关联终端进行P2P通信。
10.根据权利要求9所述的无线接入设备,其特征在于,所述无线接入设备还包括:
第二通信模块,用于当所述第二检测模块检测收到回应时,直接与所述关联终端进行P2P通信。
11.根据权利要求9所述的无线接入设备,其特征在于,所述无线接入设备还包括:
第一确认模块,用于所述第一发送模块向所述关联终端的公网地址发送请求报文之前,根据所述关联终端的网络类型确认所述关联终端在私网;其中,所述响应报文还携带所述关联终端的网络类型;
第二确认模块,用于根据所述关联终端的公网地址确认更新了所述关联终端的公网地址。
12.根据权利要求9所述的无线接入设备,其特征在于,所述第一检测模块包括:
请求子模块,用于向所述服务器发送请求报文;
检测子模块,用于如果在N秒内没有收到所述服务器的回应,则以N/2秒继续嗅探,连续嗅探预设次数,仍没有收到所述服务器的回应,则认为网络不可达;如果延迟N秒收到所述服务器的回应,则所述N秒为心跳周期。
13.一种通过穿透NAT实现P2P通信的服务器,其特征在于,所述服务器包括:
第二接收模块,用于按照心跳周期接收无线接入设备上报的TCP应用层信息;
更新模块,用于根据所述TCP应用层信息更新关联终端的关联转发表;
第二发送模块,用于向所述无线接入设备发送响应报文,以便所述无线接入设备向所述关联终端的公网地址发送请求报文;其中,所述响应报文携带所述关联终端的公网地址;
接收通知模块,用于在所述无线接入设备没有收到回应时,接收所述无线接入设备的请求通知报文后,通知所述关联终端按照所述心跳周期发起心跳嗅探包穿透NAT,便于所述无线接入设备与所述关联终端进行P2P通信。
14.根据权利要求13所述的服务器,其特征在于,所述服务器还包括:
第三接收模块,用于在所述更新模块根据所述TCP应用层信息更新关联终端的关联转发表之前,接收所述TCP应用层报文信息;其中,所述TCP应用层报文信息包括网络地址信息;
比较确定模块,用于将预存的数据包源地址与所述网络地址信息进行比较确定网络类型;其中,所述数据包源地址为所述无线接入设备通过NAT映射后的公网地址。
15.根据权利要求13所述的服务器,其特征在于,所述服务器还包括:
通知模块,用于所述更新模块根据所述TCP应用层信息更新关联终端的关联转发表之后,将所述关联终端的关联转发表的更新内容通知给所述关联终端。
16.一种通过穿透NAT实现P2P通信的系统,其特征在于,所述系统包括无线接入设备和服务器,
所述无线接入设备为权利要求9-12任一项所述的无线接入设备;
所述服务器为权利要求13-15任一项所述的服务器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610190661.4A CN105610999A (zh) | 2016-03-30 | 2016-03-30 | 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统 |
PCT/CN2016/103902 WO2017166808A1 (zh) | 2016-03-30 | 2016-10-29 | 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610190661.4A CN105610999A (zh) | 2016-03-30 | 2016-03-30 | 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105610999A true CN105610999A (zh) | 2016-05-25 |
Family
ID=55990533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610190661.4A Pending CN105610999A (zh) | 2016-03-30 | 2016-03-30 | 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105610999A (zh) |
WO (1) | WO2017166808A1 (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210092A (zh) * | 2016-07-19 | 2016-12-07 | 天彩电子(深圳)有限公司 | 一种融合upnp及stun的p2p穿越方法及其系统 |
CN106507028A (zh) * | 2016-11-29 | 2017-03-15 | 四川长虹电器股份有限公司 | 一种电视视频通话中的内网穿透直连的方法 |
WO2017166808A1 (zh) * | 2016-03-30 | 2017-10-05 | 上海斐讯数据通信技术有限公司 | 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统 |
CN108063817A (zh) * | 2017-04-24 | 2018-05-22 | 深圳至上移动科技有限公司 | 一种基于双服务器的私有数据云存储系统及方法 |
CN108848144A (zh) * | 2018-05-31 | 2018-11-20 | 中国联合网络通信集团有限公司 | 区块链中节点访问方法、装置及区块链节点 |
CN109120737A (zh) * | 2018-08-10 | 2019-01-01 | 哈尔滨工业大学(威海) | 一种基于泊松模型的递增型对称nat的udp穿透方法与系统 |
CN109743399A (zh) * | 2019-01-14 | 2019-05-10 | 浙江外国语学院 | 一种基于复杂多任务调度的体检中心内外网数据传输方法及系统 |
CN110830597A (zh) * | 2018-08-07 | 2020-02-21 | 深圳市玖胜云智联科技有限公司 | 机器人及其基于Linux系统实现AI多媒体交互的方法 |
CN110971701A (zh) * | 2019-12-10 | 2020-04-07 | 广州番禺职业技术学院 | 物联网通信方法及装置 |
CN111565200A (zh) * | 2020-07-14 | 2020-08-21 | 成都数维通信技术有限公司 | 一种基于多路径报文检测分析的nat关联检测方法 |
CN111600968A (zh) * | 2020-03-31 | 2020-08-28 | 普联技术有限公司 | P2p网络中nat打洞方法、装置、设备及可读存储介质 |
CN111935333A (zh) * | 2020-08-12 | 2020-11-13 | 杭州萤石软件有限公司 | Nat类型的确定方法、设备、系统和存储介质 |
WO2020248963A1 (zh) * | 2019-06-11 | 2020-12-17 | 华为技术有限公司 | 一种建立端到端网络连接的方法、装置及网络系统 |
CN112615946A (zh) * | 2020-12-24 | 2021-04-06 | 苏州摩联通信技术有限公司 | 一种终端监控方法、装置和存储介质 |
CN113037566A (zh) * | 2021-03-30 | 2021-06-25 | 深圳市西迪特科技有限公司 | 一种通过内网穿透管理pon设备的方法 |
CN113709163A (zh) * | 2021-08-30 | 2021-11-26 | 高维亮 | 一种基于无线终端实现远程操作电脑的方法及系统 |
CN114401304A (zh) * | 2021-11-15 | 2022-04-26 | 广州方阵科技有限公司 | 一种基于ip的去中心化端到端连接通信系统 |
CN114765614A (zh) * | 2020-12-31 | 2022-07-19 | 华为技术有限公司 | 一种访问局域网服务设备的方法及电子设备 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691113B (zh) * | 2018-07-06 | 2023-05-05 | 杭州涂鸦信息技术有限公司 | 一种双方为非对称型的nat的穿透方法 |
US10931529B2 (en) * | 2019-07-10 | 2021-02-23 | Nanning Fugui Precision Industrial Co., Ltd. | Terminal device management method, server, and terminal device for managing terminal devices in local area network |
CN112492053B (zh) * | 2019-08-20 | 2023-04-07 | 本无链科技(深圳)有限公司 | 一种用于p2p网络的跨网穿透方法及系统 |
CN111193794A (zh) * | 2019-12-30 | 2020-05-22 | 深圳市网心科技有限公司 | 文件传输方法、装置、计算机设备及存储介质 |
CN112073553B (zh) * | 2020-08-31 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 网络地址转换类型的检测方法、装置、设备及存储介质 |
CN112449024B (zh) * | 2020-11-13 | 2022-12-30 | 广州朗国电子科技股份有限公司 | 一种nat模拟网关的内网穿透方法、设备、存储介质 |
CN112437169B (zh) * | 2020-11-17 | 2022-10-25 | 郑炳立 | 一种nat穿透方法及系统 |
CN112543239B (zh) * | 2020-12-23 | 2022-06-24 | 杭州安司源科技有限公司 | 一种递进式nat穿透方法 |
CN112887187B (zh) * | 2021-01-19 | 2022-09-06 | 海尔数字科技(青岛)有限公司 | 一种设备间通信建立方法、系统、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060209822A1 (en) * | 2005-03-18 | 2006-09-21 | Moe Hamamoto | Communication apparatus, communication system and communication method |
CN101977178A (zh) * | 2010-08-09 | 2011-02-16 | 中兴通讯股份有限公司 | 基于中继的媒体通道建立方法及系统 |
CN103442224A (zh) * | 2013-09-09 | 2013-12-11 | 杭州巨峰科技有限公司 | 一种基于nat穿透的视频监控访问策略和实现方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060072569A1 (en) * | 2004-10-04 | 2006-04-06 | Wizzysoft Corporation | Network address translation protocol for transmission control protocol connections |
JP2010504047A (ja) * | 2006-09-13 | 2010-02-04 | アサンキア ネットワークス, インコーポレイテッド | マルチパス環境におけるトランスポートプロトコルの性能を改善するシステムおよび方法 |
US8438294B2 (en) * | 2010-04-07 | 2013-05-07 | Apple Inc. | Application programming interface, system, and method for collaborative online applications |
CN102378064A (zh) * | 2010-08-04 | 2012-03-14 | 中兴通讯股份有限公司 | 一种iptv网络中实现nat穿越的方法及装置 |
CN105049543B (zh) * | 2015-06-02 | 2018-06-19 | 上海斐讯数据通信技术有限公司 | 智能路由器间穿越非对称nat进行p2p通信的系统及方法 |
CN105610999A (zh) * | 2016-03-30 | 2016-05-25 | 上海斐讯数据通信技术有限公司 | 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统 |
-
2016
- 2016-03-30 CN CN201610190661.4A patent/CN105610999A/zh active Pending
- 2016-10-29 WO PCT/CN2016/103902 patent/WO2017166808A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060209822A1 (en) * | 2005-03-18 | 2006-09-21 | Moe Hamamoto | Communication apparatus, communication system and communication method |
CN101977178A (zh) * | 2010-08-09 | 2011-02-16 | 中兴通讯股份有限公司 | 基于中继的媒体通道建立方法及系统 |
CN103442224A (zh) * | 2013-09-09 | 2013-12-11 | 杭州巨峰科技有限公司 | 一种基于nat穿透的视频监控访问策略和实现方法 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017166808A1 (zh) * | 2016-03-30 | 2017-10-05 | 上海斐讯数据通信技术有限公司 | 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统 |
CN106210092B (zh) * | 2016-07-19 | 2019-08-06 | 天彩电子(深圳)有限公司 | 一种融合upnp及stun的p2p穿越方法及其系统 |
CN106210092A (zh) * | 2016-07-19 | 2016-12-07 | 天彩电子(深圳)有限公司 | 一种融合upnp及stun的p2p穿越方法及其系统 |
CN106507028A (zh) * | 2016-11-29 | 2017-03-15 | 四川长虹电器股份有限公司 | 一种电视视频通话中的内网穿透直连的方法 |
CN108063817A (zh) * | 2017-04-24 | 2018-05-22 | 深圳至上移动科技有限公司 | 一种基于双服务器的私有数据云存储系统及方法 |
CN108063817B (zh) * | 2017-04-24 | 2021-05-14 | 赵海林 | 一种基于双服务器的私有数据云存储系统及方法 |
CN108848144A (zh) * | 2018-05-31 | 2018-11-20 | 中国联合网络通信集团有限公司 | 区块链中节点访问方法、装置及区块链节点 |
CN108848144B (zh) * | 2018-05-31 | 2021-03-30 | 中国联合网络通信集团有限公司 | 区块链中节点访问方法、装置及区块链节点 |
CN110830597A (zh) * | 2018-08-07 | 2020-02-21 | 深圳市玖胜云智联科技有限公司 | 机器人及其基于Linux系统实现AI多媒体交互的方法 |
CN109120737A (zh) * | 2018-08-10 | 2019-01-01 | 哈尔滨工业大学(威海) | 一种基于泊松模型的递增型对称nat的udp穿透方法与系统 |
CN109743399A (zh) * | 2019-01-14 | 2019-05-10 | 浙江外国语学院 | 一种基于复杂多任务调度的体检中心内外网数据传输方法及系统 |
WO2020248963A1 (zh) * | 2019-06-11 | 2020-12-17 | 华为技术有限公司 | 一种建立端到端网络连接的方法、装置及网络系统 |
CN110971701A (zh) * | 2019-12-10 | 2020-04-07 | 广州番禺职业技术学院 | 物联网通信方法及装置 |
CN110971701B (zh) * | 2019-12-10 | 2022-08-23 | 广州番禺职业技术学院 | 物联网通信方法及装置 |
CN111600968A (zh) * | 2020-03-31 | 2020-08-28 | 普联技术有限公司 | P2p网络中nat打洞方法、装置、设备及可读存储介质 |
CN111600968B (zh) * | 2020-03-31 | 2022-07-05 | 普联技术有限公司 | P2p网络中nat打洞方法、装置、设备及可读存储介质 |
CN111565200B (zh) * | 2020-07-14 | 2020-10-09 | 成都数维通信技术有限公司 | 一种基于多路径报文检测分析的nat关联检测方法 |
CN111565200A (zh) * | 2020-07-14 | 2020-08-21 | 成都数维通信技术有限公司 | 一种基于多路径报文检测分析的nat关联检测方法 |
CN111935333A (zh) * | 2020-08-12 | 2020-11-13 | 杭州萤石软件有限公司 | Nat类型的确定方法、设备、系统和存储介质 |
CN112615946A (zh) * | 2020-12-24 | 2021-04-06 | 苏州摩联通信技术有限公司 | 一种终端监控方法、装置和存储介质 |
CN114765614A (zh) * | 2020-12-31 | 2022-07-19 | 华为技术有限公司 | 一种访问局域网服务设备的方法及电子设备 |
CN113037566A (zh) * | 2021-03-30 | 2021-06-25 | 深圳市西迪特科技有限公司 | 一种通过内网穿透管理pon设备的方法 |
CN113037566B (zh) * | 2021-03-30 | 2022-07-01 | 深圳市西迪特科技有限公司 | 一种通过内网穿透管理pon设备的方法 |
CN113709163A (zh) * | 2021-08-30 | 2021-11-26 | 高维亮 | 一种基于无线终端实现远程操作电脑的方法及系统 |
CN114401304A (zh) * | 2021-11-15 | 2022-04-26 | 广州方阵科技有限公司 | 一种基于ip的去中心化端到端连接通信系统 |
CN114401304B (zh) * | 2021-11-15 | 2024-04-26 | 广州方阵科技有限公司 | 一种基于ip的去中心化端到端连接通信系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2017166808A1 (zh) | 2017-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105610999A (zh) | 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统 | |
AU2003234391B8 (en) | Peer to peer network communication with network address translation | |
US7243141B2 (en) | Network configuration evaluation | |
CN1756259B (zh) | 因特网协议网络中使用网络地址翻译的方法和系统 | |
EP3219087B1 (en) | Methods, systems, and computer readable media for facilitating the resolving of endpoint hostnames in test environments with firewalls, network address translators(nats), or clouds | |
US11625280B2 (en) | Cloud-native proxy gateway to cloud resources | |
US10212126B2 (en) | System for mediating connection | |
CN107959620B (zh) | 综采设备识别方法、装置、系统、网关及存储介质 | |
JP2008154066A (ja) | 中継装置、通信方法、通信プログラム | |
CN101410817A (zh) | 自动协议代理的自动配置名称空间的使用 | |
US11882090B2 (en) | Efficiently mapping a distributed resource to a virtual network | |
CN103763195A (zh) | 一种传输报文的方法及装置 | |
US20170034004A1 (en) | Discovering network nodes | |
CN104506666A (zh) | 一种大量tcp穿越对称型nat的代理方法和系统 | |
CN104660728A (zh) | 基于智能家居控制系统的nat穿透方法 | |
CN103516820A (zh) | 基于mac地址的端口映射方法和装置 | |
CN108293075A (zh) | 共享终端检测方法以及为此的设备 | |
CN111935333B (zh) | Nat类型的确定方法、设备、系统和存储介质 | |
EP3588996A1 (en) | A method and a system for discovering compatible devices in a local network | |
CN104125212A (zh) | 网络应用装置、网络连接方法与网络连接系统 | |
CN106027689A (zh) | 一种通信方法和通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160525 |
|
WD01 | Invention patent application deemed withdrawn after publication |