关闭

下一代网络中多媒体业务穿越NAT和防火墙技术的研究

标签: 防火墙网络server终端traversalinternet
1235人阅读 评论(0) 收藏 举报
分类:

一、引言

随着计算机和通信技术的快速发展,通过公共的分组网承载语音、数据、图像等多种业务成为网络发展方向。在这样的业务驱动和网络融合的趋势下,以软交换设备为核心的下一代网(NGN)应运而生。NGN在分组网中实现,采用分布式网络结构,有效承载语音、视频和多媒体业务,实现业务应用、业务控制和业务传送功能三者的分离。在建网的过程中,NGN可以从现有数据网中进行平滑过渡,这样带来的好处有:现有的网络设备和终端设备可以直接应用到NGN中,许多基于IP 的协议可以继续使用。但同时我们又不可避免地遇到许多问题,其中专用网穿越就是一个急需解决的问题。在此之前,我们先看一下NGN的网络结构。

NGN是融合语音、数据、多媒体和移动业务的网络。从网络层次上可以划分为以下几层:接入层、传送层、控制层和业务层。

接入层:由各种网关、智能接入终端设备和综合接入设备组成,通过各种接入手段将各类用户连接至网络(包括宽带接入、移动接入等),并将信息格式转换成能够在网络上传递的信息格式。

传送层:指NGN的承载网络,负责对各种不同的业务和媒体流提供公共的传送平台,多采用基于分组的传送方式。目前主要的核心传送网是宽带IP网。

控制层:完成呼叫处理控制、接入协议适配、互连互通等综合控制处理功能和业务逻辑的具体执行。它决定了用户收到的业务,并能控制低层网络元素对业务流的处理。其主要实体为软交换设备。

业务层:处理业务逻辑,提供面向客户的综合智能业务,实现业务的客户化以及与业务相关的管理功能,如业务认证和业务计费等。

二、NGN宽带接入中的穿越问题

NGN 宽带接入中存在的穿越问题关注的就是NGN中边缘接入层面的宽带接入问题。由于NGN的核心承载网和宽带接入就是在现有IP网络基础上建设的,接入用户必然是通过IP地址寻址的。但目前实际的情况是,由于Internet的快速膨胀,IPv4地址空间处于严重耗尽状态。为了解决这个问题,大量企业网和驻地网都在网络出口部署网络地址转换器(NAT)。

NAT是Internet的一个标准,位于专用网和公网的边界处。当专用网发出的IP数据分组到达NAT设备时,NAT负责将内部专用网IP地址转换成公网的合法IP地址;当有外部发来的数据分组到达NAT后,NAT通过查阅NAT保存的映射表里的信息,将公网地址转换成专用网地址,再转发到内部接收点。

通常,对于一般的数据包,NAT设备只需对IP地址和端口号进行转换。但对于H.323、SIP和MGCP等应用来说,真正的媒体连接信息是放在数据包负载中传递的,这时就出现问题。假设终端A向终端B发起呼叫,软交换将终端A的呼叫信息转发到终端B上,根据H.323、SIP等协议,终端B会从该数据包负载中获取终端A的专用网IP地址,就会试图与终端A建立RTP连接,但由于这个IP地址是私有的,私有地址在公网上是不可达,故通话是无法建立起来的。从图3可以清楚地看到NAT是如何对端到端媒体流产生阻碍的。

同时为了提高内部网络的安全性,大多数企业在网络出口处使用防火墙,限定进入内部网络数据包的类型和流量。而基于IP的语音、视频通信协议,要求终端之间使用IP地址和端口号建立数据通信通道。因此出现了一个两难境地:NGN各个终端必须随时侦听外来的呼叫,但是防火墙却不允许外网任何不请自到的数据包通过。即便我们使用某种机制,打开防火墙的一个端口,接收来自外网的呼叫建立的数据包,但由于语音、视频通信中的RTP/RTCP需要通过动态分配端口实现媒体流的发送和接收,所以防火墙的问题也是我们在NGN实际开展过程中不得不面临的问题。

三、一种专用网穿越问题的解决方案

目前关于私网穿越问题有多种解决方案,如应用层网关(ALG)、代理技术、协议扩展等,它们在一定程度上解决了语音、视频穿越防火墙和NAT的问题,但都存在着一些不足。应用层网关和代理技术需要升级现有的NAT和防火墙设备,这对于大多数已经部署完NAT设备的企业网络来说是不易实现的。而协议扩展虽然不需要对现有NAT设备进行改动,但是却要对现有的终端和软交换设备、网守和SIP服务器等控制设备同时进行扩展,在实现的过程中也是十分困难的。在这里我们介绍一种“IP随心通”的穿越技术。

1. IP随心通技术

IP随心通技术基于Client/Server工作模式,提供网络之间的安全连接。

从图中可以看到,该方案由两个构件组成,Application Server(下文简称Server)和Agent Client(下文简称Client)。Client放在防火墙和NAT之后的私有网中,终端和防火墙外部设备的通信由Client代理,私网内的终端注册到Client上。Server被安置在公网中,并具有公网IP地址。Client和Server之间创建一个信令和控制通道,通过这个通道 Client将所有用户的注册信息和呼叫控制信令转发到Server上,再由Server转发到软交换设备上。此外,音频、视频等媒体流也由Client 转发到Server上。Client和Server之间使用的是自定义协议,值得说明的是,终端发送到Client上的信令或媒体流必须经过Client 打包成符合自定义协议要求的分组格式才能进行转发,到达Server后再进行解包处理。只有通过此过程,Server才可以获取穿越NAT所必需的信息。

该方案通过开放防火墙上少量端口,允许在Client和Server之间建立TCP连接,承载各种控制信令。当一个终端呼叫防火墙外的另一个终端时,所有的数据包都可以通过Client路由到Server,返回的数据也可以从Server通过Client路由回到终端。当呼叫被建立后,Client在转发媒体流时,确保所有必需的经过防火墙的音视频通道保持开放,这样音视频数据可以通过这些防火墙上开放的通道进行传输。通常,可以通过管理员的简单配置,在防火墙上打开几个固定的端口。

2. 解决NAT穿越问题

首先,私网内的所有终端都向Client进行注册,Client将所有私网终端信息进行保存,再向公网上的Server注册。当Server收到注册信息后,为便于进行用户管理,Server给每个Client分配一个用户序号,再将注册信息转发到软交换设备上。注册信息到达Server时,通过 Client和Server之间自定义的协议,Server可以从数据包头中取出NAT转换后的公网合法地址,并保存该地址信息。这样,Server就可以根据这个地址向NAT发送数据了。因而,RTP/RTCP数据就可以顺利进入专用网络了。

以图5为例,当终端A和终端C分别向Client1和Client2注册,保存的用户信息如表1和表2所示。当Client1和Client2经过NAT将注册消息转发给Server时,NAT分别给A和C分配外部合法地址,假设A(123.44.55.11:1050)和C(123.44.55.22: 1060)。这时,Server上保存的用户地址信息如表3所示。现在由A向C发起呼叫,呼叫信令由A发向Client1 后,再由Client1/Server之间的通道发到Server上,Server进行信令处理后再转发到软交换系统上。同时,软交换系统进行地址解析,将呼叫被叫的请求消息发送给Server。此时,Server根据软交换解析出的C的私网地址,查找自己保存的Client表,知道了C的合法公网地址,此时,Server将建立一个连接表,保存A到C的连接信息,如表4所示。同时再将呼叫信令转发到C私网外的NAT上,NAT通过查询自己维护的映射表,就可以把这条消息发送给Client2。Client2再查询自己的用户终端表,这条消息就正确地来到了C。同理,呼叫接续流程的其他信令消息,转接方式类似。

对于媒体流,Server起到媒体中继的作用。当呼叫连接建立好后,终端A向终端 C发送RTP/RTCP包。Client1只需将RTP/RTCP包向Server的固定端口发送即可。Server检查自己保存的连接信息表,直接完成转发功能。值得强调的一点是,由于RTP是基于UDP包的,为了使NAT上的映射关系在一个完整的通话时间内对UDP包保持不变,我们必须源源不断地由 Client向Server发送消息,在没有语音时,也要发送舒适噪音的消息。

3. 其他问题的考虑

(1)作为信令代理,Server对用户来说,相当于软交换系统,Client则是透明的。当用户通过Client将注册信息传送到Server上,并由 Server向软交换系统注册时,必须进行身份认证,只有注册认证通过后用户才可以进行后续呼叫连接和会话。所以Server必须有接受用户的注册并管理相关的注册信息的能力,以保证用户成功注册后可以多次进行呼叫,而无需每次呼叫再重新注册,对于没有注册的用户,Server收到该呼叫后直接拒绝。

(2)Client/Server是一个多协议的实体,因此必须采用标准协议与终端和软交换进行通信,这些协议包括MGCP、H.248、H.323、SIP等。而Client和Server之间则采用自定义的协议。

(3)从构架上看,如果需要进行私网穿越的设备非常多,一个Server代理无法处理时,可以部署多个Server。

(4)由于所有的媒体流都是经过Server进行转发,如果增强Server的功能,就可以解决软交换系统中媒体流不受控制的问题:可以控制用户带宽,防止未授权的媒体流建立连接;可以实现按流量计费;还可以获得媒体流的QoS信息。

四、结束语

本文介绍了一种基于Client/Server模式的穿越NAT和防火墙的方法——IP随心通。该技术简单直接,不需对现有NAT设备作任何扩展,仅需要 NAT设备通过策略配置打开少数几个端口,并且支持多种协议,具有良好的扩展性。此外,隧道穿越机制很容易实现多级NAT的穿越问题。但同时我们不可避免地应该看到隧道穿越技术也有自身的缺点,所有经过防火墙的通信都必须经由Server进行中转,这个经由Client和Server的过程会带来一定的延迟。现在已经有许多设备厂商使用这种方法来解决音视频穿越NAT和防火墙的问题,虽然名字不同,但基本原理都相同。相信随着下一代网络规模的不断扩大,这种穿越的技术会越来越多地应用到下一代网络当中。

 参考文献

[1] 赵慧玲,叶华.以软交换为核心的下一代网络技术.北京:人民邮电出版社,2002

[2] 糜正琨.IP网络电话技术.北京:人民邮电出版社,2000

[3] Tsirtsis G,Srisuresh P.Network Address Translation-Protocol Translation(NAT-PT).RFC 2766,IETF,February 2000

[4] S.Davies,Read S,Cordell P,Scott B A.Traversal of non-Protocol Aware Firewalls & NATS.Draft-davies-fw-nat-traversal-01,IETF,October 2001

[5] Srevens WR.TCP/IP详解 卷1:协议.北京:机械工业出版社,2002

作者单位:西安电子科技大学综合业务网国家重点实验室
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:759809次
    • 积分:8846
    • 等级:
    • 排名:第2137名
    • 原创:135篇
    • 转载:160篇
    • 译文:1篇
    • 评论:307条
    最新评论