一种基于UPnP和STUN技术相结合的NAT穿越方法技术

技术编号:4159580 阅读:398 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种基于UPnP和STUN技术相结合的NAT穿越方法,该方法将UPnP和STUN进行有效结合,在UPnP穿越NAT失败后再采用STUN方法对NAT进行二次穿越,通过汲取两种穿越方法各自的优点有效提高穿越成功率;对于对称NAT的穿越,提出采用基于NAT添加端口映射的样本值估计端口映射分布的方法进行端口猜测,以避免由于第三方代理转发造成的缺陷和简单端口递增猜测方法的盲目性;对于P2P流媒体系统中通信双方都位于NAT后的情况,提出采用让部分带宽充裕位于外网的普通通信节点充当辅助中继节点的方法来缓解中继服务器的压力,从而有效消除系统通信瓶颈。

A NAT traversal method based on UPnP and STUN Technology

The present invention relates to UPnP and STUN technology based on the combination of NAT through the method, the method of UPnP and STUN are combined in UPnP through NAT after failed by the method of STUN NAT for two passes, improve their advantages by drawing two through effective methods through to power; for crossing symmetry NAT the NAT port mapping, the sample value estimation method of port mapping the distribution of the port on the speculation, to avoid the blindness of the third party proxy forwarding caused by defects and simple method for increasing speculation port; communication P2P streaming media system are located on both sides of the NAT, the part of the common communication bandwidth in the network node ample to act as an auxiliary relay node. Method to alleviate the pressure of the relay server, so as to effectively eliminate the communication bottleneck of the system.

【技术实现步骤摘要】

本专利技术涉及计算机网络P2P流媒体
,特别涉及一种基于UPnP和STUN 技术相结合的NAT穿越方法。
技术介绍
随着互联网的发展和宽带应用的普及,利用网络进行流媒体直播正在成为网络 应用的热点。传统的基于客户端/服务器架构的流媒体系统由于服务器带宽和处理能 力的限制导致其可扩展性极差。P2P(Peer-to-Peer)对等网络技术作为一种有效的解决 方案在最近几年得到了极大的推广。在P2P模式下,由于每个节点都具有客户端和 服务器的功能,每个节点在从别的节点接收数据的同时还向其他节点发送数据,这 样利用客户端节点的上传能力可以极大减轻流媒体服务器的负担。另一方面,为了节省网络地址空间和保障网络安全,当前互联网中较多的采用 了 NAT(网络地址转换)技术。它是一种将IP地址从一个编址域映射到另外一个编址 域的方法,如最典型的应用是把RFC1918定义的私有非注册地址内部隔离编址域映 射到能在互联网路由的全局统一注册地址外部编址域。NAT设备能够为内网编址域 与外网编址域之间的每条网络连接实施动态IP地址转换并设置相应的报文过滤规 则,让不满足条件的报文不能够穿透NAT。NA本文档来自技高网...

【技术保护点】
一种基于UPnP和STUN技术相结合的NAT穿越方法,其步骤包括: (1)加入P2P流媒体系统的用户节点,首先通过简单服务发现协议SSDP在内网中广播搜索UPnP设备的消息: void Search(char↑[*]name,c onst char↑[*]type); 根据UPnP标准要求,name为“WANIPConnection”,type为“service”,表示搜索UPnP服务; (2)如果搜索UPnP服务成功,则通过简单对象访问协议SOAP向N AT网关的控制URL发送添加端口映射的请求: void InvokeCommand(char↑[...

【技术特征摘要】
1、一种基于UPnP和STUN技术相结合的NAT穿越方法,其步骤包括(1)加入P2P流媒体系统的用户节点,首先通过简单服务发现协议SSDP在内网中广播搜索UPnP设备的消息void Search(char*name,const char*type);根据UPnP标准要求,name为“WANIPConnection”,type为“service”,表示搜索UPnP服务;(2)如果搜索UPnP服务成功,则通过简单对象访问协议SOAP向NAT网关的控制URL发送添加端口映射的请求void InvokeCommand(char*name,char*args);其中,name为向UPnP设备下达的控制命令AddPortMapping,args为UPnP标准要求的若干参数,填加端口映射后用户节点就可与外网节点建立连接进行数据交互,从而实现NAT穿越;(3)如果搜索失败,则用户节点启动STUN功能模块对NAT进行二次穿越void GetMapAddr(int&extIP,int&extPort,NatType&natType);其中,extIP和extPort为STUN穿越获得的NAT外部IP和端口,natType是在穿越过程中判断的NAT类型。2、根据权利要求1所述基于UPnP和STUN技术相结合的NAT穿越方法,其特征在于,所述(3)步骤进一步包括1) 如果NAT是锥形NAT,该用户节点用得到的外部地址端口与其它节点通信,实现NAT穿越;2) 若NAT是对称NAT,则该用户节点采用端口添加样本估计法实行对NAT穿越;所述端口添加样本估计法,其步骤包括位于对称NAT后的用户节点向位于外网的STUN服务器依次发起三次连接,并通过服务器反馈得到三次连接添加的映射端口,设为《,尸2,尸3,根据这三个数的变化规律做如下处理2a)若《,尸2,尸3为等差数列,则对称NAT添加端口映射为依次递增等差数列的公差d ,位于对称NAT后的用户节点在原外部端口的基础上递增d作为自己新的外部通信端口,并填入数据交互的负载中,就可与其它节点进行通信;2b)若《,g,g不是等差数列,则添加的端口映射是随机的,用户节点根据添...

【专利技术属性】
技术研发人员:王劲林任浩鲁逸峰苏少炜冯侦探
申请(专利权)人:中国科学院声学研究所
类型:发明
国别省市:11[中国|北京]

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

1