APP下载

让H.323协议轻松穿透防火墙/NAT

2013-11-13

科技视界 2013年15期
关键词:公网客户机IP地址

冯 穗

(中国人民武装警察部队广东省公安边防总队 广州通信站,广东 广州 510630)

由于IPV4地址的有限以及网络安全问题,多数行业和单位用户选择组建自己内部的IP网络来进行语音、图像和数据通信。为了确保网络安全,通常这些IP网络和公网之间都通过NAT、防火墙等设备连接。

这些设备通常都会对通过它们的IP包按照相关策略进行过滤,同时对IP地址或端口进行相应转换处理,导致基于H.323等协议的图像和语音IP包不能够正常通过。

1 关于H.323协议

现在常用的网络会议软件和网络电话软件采用的是国际电信联盟(ITU-T)制定的 H.323 协议族,其中包括 H.225,H.245,Q.931 等,另外还有IETF制定的SIP(会话启动协议)。SIP协议采用与http类似的文本命令形式,而且协议比较简单,是未来网络电话和即时通讯的方向。但由于H.323出现较早,已经有很多商业应用,比如微软的NetMeeting采用的就是比较成熟的H.323,另外中国的电信企业实施IP电话时也倾向于采用H.323协议。所以H.323还将会在长时间内和SIP同时存在。

H.323标准定义了一个在基于分组的网络上进行灵活的、实时的、可交互的多媒体通信协议集。个人计算机能在包交换网络(网际网和内部网)和电路交换网络上传输音频,视频和数据。

H.323网络包括终端,网关,网守(Gatekeeper)和多点控制单元(MCU)。

2 关于NAT/防火墙

按照NAT的定义,内部本地地址表示分配给内部网络中的计算机的IP地址;内部合法地址表示对外进行IP通信时,代表一个或多个内部本地地址的合法IP地址。

为了网络的安全性,企业内部网一般都安装了防火墙,它是一个放置于私有网内的设备,用来保护网络资源免受外部的恶意破坏。防火墙总是被配置过滤掉所有不请自到的网络通信。

3 解决H.323协议NAT/穿透防火墙的几种方法

局域网内的终端之间进行呼叫和通信时不会有任何问题,但这些终端与外网终端进行H.323通信时就会有问题产生,原因是局域网中的IP地址是私有的,在Internet中是不可路由的。当局域网内的终端呼叫外部终端时可以建立连接,但局域网内的终端不能收到网外终端发送的语音和视频数据包;局域网内的终端也不能收到网外终端的呼叫。

H.323协议在端设备与端设备之间使用IP地址和端口进行数据通信,防火墙的安全策略会限制未经请求的外部数据包进入,阻断端设备与端设备之间的呼叫,就算防火墙打开了一个端口接收到呼叫申请的初始数据包,视频协议还是会要求动态分配一些端口用来接收申请呼叫的控制信息和建立音频、视频的数据通道,除非打开所有防火墙的端口,才可以进行视频通信,而这时防火墙也就失去了作用。

针对H.323协议的特点和NAT/防火墙的特性,人们提出了不同的解决方案,归纳起来主要有设置静态NAT、扩展协议方式、升级防火墙支持H.323ALG、隧道方式、H.323代理方式等几种方式。

3.1 设置静态 NAT

当在私网中的视频终端种类和数量不大,对于自建网中的每台视频终端,在防火墙NAT上作网络地址转换,将私网地址一对一的映射到公网地址上,在防火墙上指定端口设置这些地址的开放策略。通过这种方法,自建网内部的终端设备可以和公网、其它自建网之间终端设备进行互通互联。但这种方法存在以下不足和缺陷:①视频终端设备要有支持静态NAT设置,可以预先设置对应的公网地址。②防火墙公网地址池中IP地址数要大于等于自建网内终端设备的总数,任何节点的防火墙都需要有支持静态NAT配置,投入成本比较大。③复杂的防火墙安全策略配置,即要在防火墙上把所有视频终端的IP地址一对一地做静态地址映射,还要把静态映射后的公网IP地址对应的全部端口打开。

3.2 扩展协议方式

扩展协议方式通过在公网上放置一个NATSWITCH设备,在GK上采用一定的策略,当有私有网络的端点参于呼叫时,把呼叫转接到NATSWITCH上,通过NATSWITCH和NAT端点的消息交互,实现NATSWITCH和NAT后端点的互通,然后通过NATSWITCH实现私网和公网端点的互通。该方式实现穿透优势如下:①在私网内的终端没有进入呼叫状态时,只发送注册消息,不额外增加NAT设备的负担。②和公网的MCU/终端之间采用标准H.323协议。③不修改网络结构,兼容各种NAT方式。④仅在H.323协议上扩展,对系统改动小。

NATSWITCH接口如图1所示,NATSWITCH是一个基于H.323协议的代理服务器,通过添加扩展消息实现和NAT设备后的H.323实体互通,而它和公网的H.323实体的消息又是标准的H.323接口,具有兼容性。

3.3 升级防火墙支持H.323ALG

将正在运行的防火墙/NAT升级改造为支持H.323ALG是解决视频协议穿透问题的有效途径。升级改造后的设备能够解释分析H.323协议内容,对H.323协议的IP码流可以直接进行包头、包内IP地址转换,并根据需求动态打开相关媒体流的通信端口,在会话结束后再自动关闭这些端口。不但证了网络安全,还能使多媒体通信正常建立,这种方法存在的不足和缺陷有:①所有节点的防火墙都需要升级,网络出口需要改造,投入成本比较大。②视频会议系统需要改造所有网络出口,难度较大,且设备放在用户网内,运营商无法统一维护。

3.4 隧道方式

隧道方式的H.323穿越如图2所示,服务器软件和客户机软件。客户机放在防火墙后的私有网中,它同时起到网守和代理服务器的作用,自建网内的视频终端连接到客户机上,客户机与防火墙外的服务器建立了控制及信令通道,把所有的呼叫控制信令和注册信息都转发到服务器上,同时把音、视频数据也转发到服务器上。

在转发时将内部终端发送的以及外部发往终端的数据包的地址和端口号进行替换。服务器放在防火墙外的公众空间,可以位于服务供应商网络或者位于企业网的非保护区域(DMZ),服务器扮演网守的角色,从客户机收到的所有注册和呼叫信令都被服务器转发到中心网守。

当私网内客户机启动时,客户机与服务器上的侦听端口建立一个固定连接用来传送控制和状态信息,监听私网内H.323网守注册和请求信息。

当一个终端启动时,终端通过客户机/服务器之间的连接发送注册信息到中心网守,服务器分配给每一个注册的终端一个唯一的端口号(与服务器的IP地址对应)。

当一个终端呼叫防火墙外的另一个终端时,所有的数据包都通过客户机路由到服务器,返回的数据也从服务器通过客户机路由回到终端。当呼叫被建立后,客户机确保所有必需的经过防火墙的音、视频通道保持开放,这样音、视频数据可以通过这些防火墙上开放的通道进行传输。

使用这种方法IP地址信息可以被很好地屏蔽,因为所有的数据包通过服务器来转发,每个终端看起来好像直接在和服务器进行通信,而不是和别的终端,保证了终端的IP地址在网络外不可被得到。而且这种方法在大多数情况下不用对防火墙的配置进行修改。

图3 H.323代理服务器组网图

3.5 H.323 代理方式

如图3所示,这种解决方案的典型应用是在防火墙后放一个H.323代理,代理需要被分配公有IP地址。防火墙被配置允许代理和外部进行多媒体通信。

从使用者的角度看,H.323代理服务器对用户、设备和网络是透明的。H.323代理是一个基于H.323协议的代理服务器,可以实现对H.323实体(MCU/终端)和媒体的代理功能。H.323代理对外的接口都采用标准的H.323协议。

由以上分析可以看出,没有一个解决方案是完美的,应该根据用户不同的应用场合选择具体采用哪种穿越方式。

[1]基于包交换的多媒体通信系统[J].

[2]多媒体通信的信令协议和打包方法[S].

猜你喜欢

公网客户机IP地址
浅析大临铁路公网覆盖方案
铁路远动系统几种组网方式IP地址的申请和设置
公网铁路应急通信质量提升的技术应用
IP地址切换器(IPCFG)
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
基于公网短信的河北省高速公路数据传输应用
我国警用通信专网与公网比较研究
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”