99网
您的当前位置:首页利用UPnP进行NAT穿越

利用UPnP进行NAT穿越

来源:99网
维普资讯 http://www.cqvip.com

SOIENOE&TEOHNOLOOY INFORMATION 利用U P n P进行N A T穿越 闫薇杨展胡宝霞 (哈尔滨理工大学计算机科学与技术学院 黑龙江哈尔滨 1 booae 摘要:本文简要介绍了网络穿越NAT技术,详细介绍了UPnP技术,包括U PnP的工作过程以及网络组成,UPnP的协议栈。 详细分析了STUN网络穿越技术和UPNP网络穿越技术的区别,最后以SIP协议为实例,把UPnP穿遮NAT实例化。 关键词:NAT穿越 UPnP STUN 中图分类号:TP 3 7 文献标识码:A 文章编号:1672.3 19i[2006)10(b)0j 4 0l 1引言 随着人们对多媒体通信需求的增长,NAT 成了阻碍多媒体通信普及的一大障碍,由于我 国不可能在短时间内普及IPV6技术,企事业 单位通过NAT设备接入公共因特网的状况还 UPnP的方式来穿越NAT。UPilP穿越NAT 前面提到的这三个问题,第二个问题和第三个 的主要原理和方法是不同的。U P n P穿越 问题我们都可以用前面介绍的方法来解决。 NAT的方式,主要是添加端口映射,在端口映 但是对于第一个问题,我们都知道,内网的服务 射中会反映出口端口的消息。我们下面简要 器通常个数不定,而且,每个服务器都希望使用 介绍UPnP穿越NAT的1二作原理,UPnP穿越 80端IZl来接受公网主机的请求。因此,无法 需持续一段时间,有鉴于此,必须解决多媒体通 NAT主要要解决以下3个问题: 信穿越NAT设备的问题,而通用即插即用技 公网发起的请求如何到达内网主机;应 术UPnP(universal plug and play)提供_『一 用报文内部如何避免使用内网地址;使用动态 种解决方法。 端日的报文如何进入内网。 第一个问题我们可以通过用upnp网关中 2简述UPnP技术 建立静态端口映射的方法来解决,如下图所 2.1 UPnP技术 不: 即插即用技术(PnP)的出现使得计算机的 这个图的含义就是:任何通过TCP到达 配置工作变得非常力便和简单Microsoft把这 网关8 0端口的报文都将被转发到内网主机 种概念扩大到r网络中,通过自动配置、自动 192.168.0.2的80端口(图中映射中的‘}’ 发现等机制,来实现联网设备之间服务的发布 表示公网任意主机),这样就实现了外部主机 和信息的交换,被称为通用即插即用。 对内网资源的访问。对于第二个问题,在 2.2 UPnP的网络组成 UPnP中,发起多媒体呼叫的主机可以作为控 UPnP网络由设备、服务和控制点份种 制点,通过向网关发送获取外部IP地址操作 逻辑构件组成。设备是一个逻辑概念,它可 以包含多个服务和嵌入设备。服务是U PnP 内两 网络的最小的控制单元。控制点是UPnP网 … 络中的拧制者,它发现设备和服务并对其进行 & ‘‘●  I、【l—I●tI 2 …lh 拧制的能力。发现了设备后,控制点可以获 图1 公网请求到达内网主机 取受控设备和服务的描述,通过发起适当的操 (GetExtemalIPAddress)来获取网关的外部地 作来对服务进行控制。 址,得到该地址后就将它封装在呼叫控制报文 2 3 UPnP的工作过程及IP/PPP服务 中发送给对端主机。这样,经过NAT设备后, UPnF’设备体系结构定义了UPnP的工作 IP报文的源地址与呼叫控制报文中的本机地 过程:定址、发现、描述、控制、事件 展现。 址就一致了,都是网关的外部lP地址,可以在 UPnP的IP/PPP广域连接服务包垒端口 因特网上路由。对于第三个问题,也是用增 映射列表,专门为端口映射定义了状态变量。 加端口映射的方式来解决,如果在进行多媒体 湍譬眵射表项是<PortMappingEnab!ed 通信时呼叫双方已通过控制协议商定好RTP PmtMappingLeaseDuratiOil,RemoteHost, 连接的参数,那么建立映射如下图所示: E Xt e r rl alP O rt,I13t e r rl a1 P O r c, 这个图的含义就是:所有通过UDP到达 PortMappingProtocol,InternalClient, 网关3000端El的报文都将被转发到内网主机 PotMappingDescription>的八元组。其中 l92.168.0.2的2000端口。在第二个问题解 PortMappingLeaseDuration指的是该映别的生 决之后,私网内的主机使用网关的外部IP地址 命期,0表示是静态映射;而PortMappingPro 与对方进行协商。对力将RTP报文发送到网 tocol指映射的协议是TCP或UDP。端口映 关的外部IP地址的3000端IZI,网关将其转发到 射表作用于进入内网的报文。连接服务提供了 l0.1192.168.0.2的2000端口,从而实现了 增加端口映射(AddPortMapping)、删除端口 N A T的穿越。 映射(DeletePortMapping)和获取端口映射 (GetG ene ri cPO rtMaPpingEnt rY或 GetSpecificPortMappingEntrY)。几个操作控 , --20 ̄Pd 》 ... 制 可以根据需要获取、增加和删除网关中 一一 《 iP/PPP连接服务的端口映射。 图2 动态报文进入『人】网 3引用upnp穿越原理 在STUN方式中,把NAT分为4种 4 SIP协议在UPnP穿越NAT的应用 型,分别是F Cone型,Restricted Cone型 SIP是基于 特网的多媒体通信呼叫控制 Port Restricted型和Symmetric型 这 协议,它在主被叫之间建立呼叫联系,协商双方 4种NAT’中,STUN方式可以较好地实现 媒体传输使用的端口号和编码类型等信息。 前3种类型NAT的穿越,但是无法实珊对第 媒体信息依靠RTP/RTCP协议在主被叫之间 4种类型NAT的穿越。因此 我_,『.]可 署职 传送。在穿越NAT设备时,sIP也同样遇到 4 科技资讯SCIENCE& FONNO!OO"/!NF-ORMATION 在网关处添加端IZl映射,因为在80端IZl这里会 出现矛盾。sIP也面临着同样的问题,因为 SIP也有多个SIP的终端。要解决SIP的这个 问题,我们可以充分应用SIP的体系结构,SIP 中的代理服务器是负责对进人和发出的SIP消 息进行转发。SIP服务器可以放在内网中,也 可以架设在公网中。如下图所示: 如果SIP服务器放置在内网中只需控制网 关添加一条内容为<l,0,},5060,5060, TCP,/UDI ,192.168.0.2,”SIP”>的静态映 别表项目口可。所有端口为5060的SIP消息都 会被转发到内网中的SIP代理服务器l 92. 168.0.2。如果SIP服务器在公网上,就只能 为私网中的每个SIP用户代理建立一个端口映 射,这些映射的外部端口绝对不能相同,在图 中,我们需要增加两个映射:<l,0, ,200l, 5060..TCP/UDP,l0.1.1.1,”SIP”>和<l . m 一 ~~~ 、  、嚣 黑 t ̄  .1.L i I  ̄,”ll1 图3 SIP服务器及SIP代理 0,%,2002,5060,TCP/UDP,10 l l 2, ”SIP”>。当SIP服务器收到代理Bl的请求时 就将消息转发到200l端口;网关再根据映射 表将消息、转发到SIP代理Bl的5060端口。(代 理B2同理)这样就使SIP Ji ̄,lJ应用在网络中。 5结语 在多媒体通信中,NAT穿越是一个比较 重要的问题之一。本文阐述丁一种比较新的 穿越方法 UPnP技术,并且分析了UPnP穿 越NAT的原理,最后以SIP应用为实例,使这 种技术更加深入,但NAT穿越也不可避免地 将在网络安全上出现隐患,这将是下一步要解 决的问题。 参考文献 【l】杨志明.基于UpnP技术的媒体服务器的设 计和实:观.计算机应用于软件.2005年第 22卷第6期.126-l27pp. 

因篇幅问题不能全部显示,请点此查看更多更全内容