
私网穿越技术在软交换体系中的应用.doc
13页私网穿越技术在软交换体系中的应用 来源:作者:发布时间:2007-11-0913:14:02一、 引言卜一代网络(Next Generation Network, NGN)是一种基于分组交换技术的通信网络,在整体构架、信令控制、承载网络 等方面都和现有的电路交换网络存在非常大不同软交换技 术作为一种在分组网内实现通信话路交换和媒体传输的技 术,将是NGN网络的核心技术由于软交换技术本身就是基 于IP分组网的,因此在现有的基础数据网上,完万能建立起 一套软交换的构架带来的好处有:现有的许多基于IP的协议 能被继续利用,大量的网络设备和终端设备都能直接被应用 到软交换网络中虽然在现有数据网的基础上构建软交换网 络具有上述的好处,但也存在许多问题,其中私网穿越就是 个需要解决的问题二、 在软交换体系中面临的私网穿越问题1.私网的概念和NAPT技术的产生随着基于TCP/IP的互连网的普及,私有网络(简称私网)的数 量和规模也越来越大私网,就是采用私有的IP地址来连接 各个网络设备组成的相对独立和封闭的网络这种组网方式 在组建各种规模局域网时被大量应用能说,在当今的网络 世界里,使用私网IP地址的网络设备的数量,要远远大于拥 有合法Internet网IP地址的设备数量。
为了能够让这些设备 能访问私网外部的资源,NAT(网络地址转换)技术也就应运而 生私网内部设备试图访问外部网络时NAT技术能将其私有 的IP地址转换成合法的IP地址在运用NAT的同时,一般 还会运用动态的端口转换(PAT)技术,以解决合法IP地址紧 缺的问题这种技术实现方法是,对于一个私网中的所有设 备,共用一个或多个合法的IP地址作为出口地址,只有在设 备请求连接外部网络时,才为这个请求分配一个合法IP地址 和一个端口号,来进行外部连接;当这个请求结束时,端口号 和IP地址也就随即被收回NAT和PAT经常被同时使用, 称为网络地址端口转换(NAPT)NAPT的运用,为IP网络带 来了非常多好处:如缓解了 IPv4构架下Internet网络的IP地 址紧张问题,提高了私有网络内部的安全性和可管理性由 于具有这些好处,NAPT被大量运用到各种私网网关设备上, 他是绝大多数网络路由器设备的一个基本功能,也是网络防 火墙功能的重要组成部分KS.4CSS.tt厂•II. |「V 112. NAPT影响软交换的问题⑴NAT问题目前假设我们具有一个如图1所示的软交换网络,在这个网 络中,终端A和终端B在私网内,只有私网IP地址,而终 端C具有独立的合法IP地址。
为了便于描述,假设所有终端 都是SIP终端,软交换和终端间的通讯也采用标准的SIP协 议若终端A向终端B发起呼叫请求,则会产生一个如图2 所示的消息包,这个消息包在经过路由器的NAPT后,变成 图3所示的消息包(其中1050为NAPT动态分配的端口号)•鲁• 蠢• •••曇 參曇蠡$IP|^U&(IWITBO)Fxodi: 1111Fxom. iiiiTo: 2222To: 2222Canlact: 1111^192.168.0< 3UFTCcjilacl: 1111^192.163.0.5■ IZ>Sic PoiL $0(0Sxc Pox L 1050DU PoiU 5060PU Pox I: 50$0 」IPIP脉议层 I02.l63eO. 5$xc Addi; 121 SS. 11Dsl AHx: 12X SS> MDsl 州x: 6602 始mm镶息A番 s戋癀后磷患A赛由于终端B在向软交换注册时,通过SIP协议层的注册消息 告诉软交换的是他的私有地址,并且在终端B没有主动对外 发起连接请求时,防火墙不会为其分配可被访问的IP地址和 端口号,因此软交换根本无法将INVITE消息发送给终端B, 呼叫无法接续。
2) PAT问题假设由终端A向终端C发起呼叫,由于终端C上面没有防火 墙或路由器,软交换能顺利地把INVITE消息包转发到终端 C,这个消息中携带SDP信息,用于终端间的媒体协商媒 体协商的主要目的就是选择合适的编解码器,并建立RTP媒 体流的连接由终端A发送的INVITE消息中携带的SDP信 息内容如图4所示(其中10006是终端A建立RTP连接的端 口号)SDP协议层 Address:192. 168. 0. 3Media Port: 10006 Mediaat tributes…SIP协议层(INVITE消—息)*,, ,,零UDP协议层V罾罾 ,,,IP协议居图4 INVITE消息中的SDP信息 终端C收到SDP信息后,就会试图和192.168.0.3:10006建立RTP连接,非常明显这是个私网内部的地址,因此通话也 自然无法建立起来从以上分析能看出,NAPT影响到软交换通信的主要有两方 面:一方面,私网内设备都采用内部IP地址,虽然经过NAPT 能将IP层的地址转换为外部地址,不过对于更上面的应用层 消息中的私有IP地址却无能为力,称作NAT问题另一方 面,私网设备只是在向外部主动发起连接时,才会被分配到 合法IP和端口号。
若不做特别处理,设备对外部网络来说是 不可见的,也无法接受软交换发来的呼叫请求,这个能称作 PAT问题基于SIP协议的问题如此,当软交换和终端间使 用其他协议如H.323, MGCP或H.248协议时,类似的问题 也同样存在三、一种私网穿越问题的解决方法1. 解决NAPT穿越问题的各种方法(1) NAT/ALG 方法此方法通过在防火墙或路由器上,增加对VoIP相关的应用层 协议的识别和处理能力,来实现私网穿越这种方案比较直 观,不过最大缺点就是对于用户来说,必须更换或升级他们 的路由器或防火墙,并且随着相关协议的发展和扩充,设备 也必须跟着进行升级2) 为私网设备设置代理的方法这种方法不用对用户设备做所有改动,仅在运营软交换网络 的局端增加一种特别的Proxy设备,就能实现私网的穿越 笔者认为,这种技术和前面的技术相比,具有更大的优越性 这种Proxy,在进行信令的代理和转换的同时,也进行媒体 流的代理,我们暂且称其为NAT/FW Proxy3) 其他的一些方案其他穿越私网的方案,更有MIDCOM方案、STUN方案、 TURN方案等,这些方案和NAT/ALG方案类似,不是需要 升级路由器、防火墙,就是需要升级终端设备。
2. 用NAT/FW Proxy解决私网PAT问题以图1为例,将NAT/FW Proxy设备添加到软交换网络中, 形成的如图5所示的网络结构添加了 NAPFW Proxy设备 以后,所有私网网关(路由器或防火墙)后面的终端设备,都要 将注册地址从软交换设备地址更改为NAT/FW Proxy设备的IP地址而NAT/FW Proxy设备和软交换设备之间的交互能 采用SIP, MGCP或H.248等协议,这和其代理的设备类型 有关一方面,在设备向NAT/FW Proxy发出注册信息后,NAT/FW Proxy会为设备分配一个代理信令端口,然后用NAT/FW Proxy的地址替换原注册信息中的终端地址(Contact域),并 通过这个端口向软交换发送这样,今后无论是终端发向软 交换的信令消息,还是软交换发向终端的信令消息,都会经 过NAT/FW Proxy,以便于其对这些信令进行特别处理另 一方面,当私网中的终端设备向NAT/FW Proxy设备发出注 册消息时,安装在私网外层的私网网关就会给这个连接随机 分配一个合法IP地址和端口号,形成一个“窗口”NAT/FW PROXY设备收到注册消息后,只要能够设法保持这个“窗口” 一直开放,然后把这个端口号和在设备上分配的代理端口号 绑定,就相当于建立了一条设备到软交换之间透明的信令通 道,也就解决了 NAPT中的PAT问题。
保持这个“窗口”的方法,根据终端的不同也会有所差别比如 对于SIP终端,能设置一个较小的注册有效期,这样终端设 备就会不断的向NAT/FW Proxy发出注册消息对于MGCP 终端,能让NAT/FW Proxy向其不断发送AUEP消息,然后 由终端发相应消息来保持“窗口”的开放无论哪种方式,都要 确保终端发送消息的时间间隔要小于“窗口 ”的开放时限3.用NAT/FW Proxy解决私网NAT问题假设所有终端都是SIP终端,软交换和终端间的通讯也采用 标准的SIP协议如图5中的设置,由于终端A和终端B都 是私网中的设备,因此在向NAT/FW Proxy注册时在私网设 备中被分配了访问外部的端口号,假设分别为123.44.55.11:1050(终端 A)和 123.44.55.22:1060(终端巳), 同时在NAT/FW Proxy上都被分配了代理信令端口,假设分 别为 123.44.55.77:1001(终端 A)和 123.44.55.77:1002(终端 B)目前由A向B发起呼叫,INVITE消息通过私网网关后 到达NAT/FW PROXY, NAT/FW PROXY会将这条信令进行 代理转换,并发给软交换。
如图6、图7所示:SIP协议房(INVITB消息)Prco,: ]]]]To: 2222Contaot: 1111] 92. ] 68. 0. 3U DP协议房 Src Port :Dgt PprU 5060IP协议房5rc Ad dr: 】92, 168.0. 3 Dgt Wdr: 】23.叫• 77留6庳始IHyiTB洧息丙容代理转SIPtA议房(INVITB诮息)Prom: ]]]】To: 2222Contact:】】】]切】23. 55. 77U DP协议居Stc Port: 1001Dgi Port: 5O6QIP协议房5ro Addr: ]23.4<55. 77Dgt Addr: 】23.4< 66困7代瑾转换忘洧息A咨-软交换在收到INVITE消息并做相应处理后,准备将其转发给 B,由于B也是通过NAT/FW Proxy代理注册到软交换的, 因此发送的消息如图8所示,由NAT/FW PROXY接收并做 代理转换后,发送给B外层的路由器或防火墙,转换结果如 图9所示SDP协议房SDP协议房SIP协议房(INVITa消息)Pr c
呼叫接续流程的其他信令消息,转 接方式和INVITE类似4.用NAT/FW Proxy实现媒体流的代理连接以图5中终端A呼叫终端C为例,当A发出INVITE消息并 到达NAT/FW Proxy后,NAT/FW Proxy会为A分配两个RTP。
