在企业VPN上实现IP语音研究①

2013-04-29 08:11岳宏伟杨朝启
科技资讯 2013年8期

岳宏伟 杨朝启

摘 要:本文将VOIP业务安全性与VPN业务扩展的需求相结合,提出了在VPN环境下传输VOIP的构想。并成功在复杂的因特网环境中使用花生壳加windows 2003 server单网卡组建了基于L2TP和PPTP的VPN服务器,并实现了语音的传输。

关键词:虚拟专用网 IP隧道 网络电话

中图分类号:TP393.1 文献标识码:A 文章编号:1672-3791(2013)03(b)-0039-03

虚拟专用网(VPN)作为一种安全而有效的商用通信技术,在网络内部有着专线一样的加密性,又没有专线那样高的费用,因此得到广泛的应用。虚拟专用连接的业务类型较单一,因此VPN增值服务对多媒体实时应用提出了内在要求。随着VPN应用和VOIP应用的日益广泛,能不能将VPN技术和VOIP技术结合起来,将VOIP应用拓展到VPN中从而拓展了VPN技术的应用领域,为VPN增值服务提供新的增长点。

1 VPN简介及优势介绍

VPN是Virtual Private Network的缩写,即虚拟专用网。简单地说,VPN即是指在公众网络上所建立的企业网络,并且此企业网络拥有与专用网络相同的安全、管理及功能等特点,它替代了传统的拨号访问,利用Internet公网资源作为企业专网的替代和补充,节省昂贵的长途费用。

VPN网络具有较好的安全性,以多种方式增强了网络的智能和安全性。专业的VPN产品都对远端用户的接入提供了非常严格的身份检测和认证机制,确保用户的合法性。另外,VPN通过加密协议的采用实现了对传输数据的封装,避免数据的明文传送带来的安全隐患。

企业用户可以使用VPN替代租用线路来实现分支机构的连接。网络容量容易扩展,借助VPN,企业可以利用ISP的设施和服务,同时又完全掌握着自己网络的控制权。

2 VOIP的关键技术

VOIP是Voice over Internet Protocol的缩写,指的是将模拟的声音信号经过压缩与封包之后,以数据封包的形式在IP网络的环境进行语音信号的传输,通俗来说也就是互联网电话或者简称IP电话的意思。

VOIP的基本原理是:通过语音的压缩算法对语音数据编码进行压缩处理,然后把这些语音数据按TCP/IP标准进行打包,经过IP网络把数据包送至接收地,再把这些语音数据包串起来,经过解压处理后,恢复成原来的语音信号,从而达到由互联网传送语音的目的。IP电话的核心与关键设备是IP网关,它把各地区电话区号映射为相应的地区网关IP地址。这些信息存放在一个数据库中,数据接续处理软件将完成呼叫处理、数字语音打包、路由管理等功能。

采用IP网络承载话音业务与传统的电话业务相比存在着诸多的优势。VOIP可以使电话物理网络和Internet或IP物理数据网络合二为一,有效地简化通信系统,减低系统成本和管理成本;利用IP分布式的、灵活而可扩展的通信方式,以及VOIP所提供的新功能可以使企业、雇员、合作伙伴和客户更灵活而有效的沟通;VOIP可以使话音应用与原有的数据业务应用有机的融合在一起,开创新一代业务应用。

3 VOIP的基本传输过程

为了在一个IP网络上传输语音信号,要求几个元素和功能。最简单形式的网络由两个或多个具有VOIP功能的设备组成,这一设备通过一个IP网络连接。VOIP设备把语音信号转换为IP数据流,并把这些数据流转发到IP目的地,IP目的地又把它们转换回到语音信号。两者之音的网络必须支持IP传输,且可以是IP路由器和网络链路的任意组合。因此可以简单地将VOIP的传输过程分为下列几个阶段。

3.1 语音-数据转换

语音信号是模拟波形,通过IP方式来传输语音,不管是实时应用业务还是非实时应用业务,首先要对语音信号进行模拟数据转换,也就是对模拟语音信号进行8位或6位的量化,然后送入到缓冲存储区中,缓冲器的大小可以根据延迟和编码的要求选择。许多低比特率的编码器是采取以帧为单位进行编码。

3.2 原数据到IP转换

一旦语音信号进行数字编码,下一步就是对语音包以特定的帧长进行压缩编码。大部份的编码器都有特定的帧长,若一个编码器使用15 ms的帧,则把从第一来的60 ms的包分成4帧,并按顺序进行编码。每个帧合120个语音样点(抽样率为8 kHz)。编码后,将4个压缩的帧合成一个压缩的语音包送入网络处理器。网络处理器为语音添加包头、时标和其它信息后通过网络传送到另一端点。语音网络简单地建立通信端点之间的物理连接(一条线路),并在端点之间传输编码的信号。

3.3 传送

在这个通道中,全部网络被看成一个从输入端接收语音包,然后在一定时间(t)内将其传送到网络输出端。

3.4 IP包-数据的转换

目的地VOIP设备接收这个IP数据并开始处理。网络提供一个可变长度的缓冲器,该缓冲器可容纳许多语音包。其次,解码器将经编码的语音包解压缩后产生新的语音包,这个模块也可以按帧进行操作,完全和解码器的长度相同。若帧长度为15 ms,是60 ms的语音包被分成4帧,然后它们被解码还原成60 ms的语音数据流送入解码缓冲器。在数据报的处理过程中,去掉寻址和控制信息,保留原始的原数据,然后把这个原数据提供给解码器。

3.5 数字语音转换为模拟语音

播放驱动器将缓冲器中的语音样点(480个)取出送入声卡,通过扬声器按预定的频率(例如8 kHz)播出。简而言之,语音信号在IP网络上的传送要经过从模拟信号到数字信号的转换、数字语音封装成IP分组、IP分组通过网络的传送、IP分组的解包和数字语音还原到模拟信号等过程。

4 网络电话技术的信令协议浅析

与VOIP相关的网络技术协议很多,常见的有控制实时数据流应用在IP网络传输的RTP和RTCP;有保证网络QoS质量服务的RSVP和IP different Service等,还有传统语音数字化编码的一系列协议如G.711、G.728、G.723、G.729等等。这里我们要讨论信令(signaling)协议,在网络电话系统基础组成部分之间如何进行呼叫控制与交换的标准规程。

4.1 H.323

由ITU-T工业标准组织为VOIP制定的标准化信令协议,定义为基于包交换的多媒体传输系统。H.323结构体系由H.323终端、网关、关守和多点控制单元MCU组成。H.323的目标是可以使H.323的节点之间交换媒体数据流。

4.2 SIP(Session Initiated Protocol)

SIP是IETF定义多媒体数据和控制体系结构中的重要组成部分。SIP是一种信令协议,用来建立、修改和终结多媒体会话。它还结合其他几个IETF的协议SDP、RSVP和SAP协同工作,一般采用RTP/RTCP协议进行传输控制。

4.3 MGCP(Media Gateway Control Protocol)和Megaco/H.248

用来控制媒体网关通信的协议。在企业VOIP网络与电信运营商VOIP服务网络相连接的网关系统上支持。

5 基于WINDOWS 2003的VPN语音传输

本文实现环境为ADSL下使用路由器,然后在路由器下面的一台主机作为VPN服务器。网络拓扑结构如图1。

5.1 获取VPN服务器的地址

花生壳是完全免费的桌面式域名管理和动态域名解析(DDNS)等功能为一体的客户端软件。本例是通作在ADSL猫之后又使用了桌面路由器接入Internet的,通过这种方式一定要在路由器中作端口映射,由于windows 2003的VPN服务用的是1723端口,将1723端口映射到192.168.0.5这台设有VPN服务的机器。然后,在访问策略中要允许VPN通过路由器。由于路由器支持DDNS,所以填入申请的花生壳账号和密码,这样省去了在VPN服务器上安装花生壳的麻烦,这样,在网络上访问域名yangc haoqishou.gicp.net的时候,Internet自动就找到了这台路由器,并通过端口映射把地址映射到了VPN服务器。

5.2 WINDOWS 2003中配置VPN

选择“开始”“所有程序”“管理工具”“路由和远程访问”,打开路由和远程访问的配置界面,在配置中选择“远程访问(拨号或VPN)”,在远程访问中选择“VPN”,在IP地址指定中选择“来自一个指定的地址范围”,这里添加一个范围,即VPN连接的客户端拨入的时候使用的地址,比如从“10.0.0.100”到“10.0.0.110”。RADIUS服务器配置比较复杂,这里由于对安全性不高,所以在管理多个远程访问服务器中,选择使用路由和远程访问自己的认证方式进行鉴权。要登录到VPN服务器,必须要知道该服务器的一个有拨入权限的用户,打开计算机管理页面,在本地用户和组里边新建一个用户,给这个用户远程登录的权限,一定要在“远程访问权限”处选择“允许访问”,不然就无法登录。创建好了账号之后,点击账号属性,授予账号远程拨入的权限。

5.3 VPN客户端的设置

先用本机测试过程如下:右键“网上邻居”“属性”,打开网络连接后点击“新建连接向导”。

打开新建连接向导,选择“连接到我的工作场所的网络选项”要建立的是VPN, “虚拟专用网络连接”。公司名只起到识别网络连接的作用,这里,填入VPN。因为现在做的是本机的测试,所以填入的IP地址为本机的地址192.168.0.5,用户VPN就是刚才新建的用户。在可用连接中选择“任何人使用”点击完成之后出现了(如图2)的界面,填入有远程接入权限的账号密码。

到这里,基于PPTP的连接就建立完成了。打开CMD窗口,使用IPCONFIG/ALL的命令查看网络连接,会看见三个网卡,其中一个IP地址为192.168.0.5的就是本机网卡,另外两个是刚才做本机测试时建立的,它们的IP地址为10.0.0.xxx,这是VPN默认的IP地址连接的拨入地址和播出地址。

上面的服务器中的测试完成后,就可以在任何有Internet接入的地方进行远程连接了,其过程和在本机连接测试的过程一样,在实际连接时到“连接VPN”这一步时,输入VPN服务器所在的公网IP,因为是动态的IP,所以填入DDNS,即激活了花生壳动态域名解析服务的域名。

5.4 实现IP语音

本论文使用了小小程序员编写的局域网语音视频工具。界面(如图3),这个软件的缺点是必须知道要通话方的IP地址。

如果是LAN环境,填入IP,这里使用在VPN环境,所以要使用VPN连接获取到的IP地址。可以用IPCONFIG获得。(如图4)显示,VPN连接获取的IP为169.254.157.53。

打开软件之后,填入要连接的IP地址,如果网络正常,就会有连接成功的提示,之后,就可以向对方发送语音了,发送之后,对方只要接受就可以听到语音(如图5)。

6 结论

本文先介绍了VPN的种类,常见的加密协议等,然后对VOIP进行了详尽的介绍,最后在WINDOWS 2003 SERVER组建的VPN环境中成功的实现了语音的传输。文中使用花生壳解决了ADSL拨号上网IP不固定的问题,使用端口映射解决了VPN服务器在虚拟LAN环境不能直接从Internet访问的问题,达到了预期的效果。

参考文献

[1] 高海英,薛元星,辛阳.VPN技术[M].北京:机械工业出版社,2004(4).

[2](美)佩皮贾克.MPLS和VPN体系结构CCIP版[M].赵斌,译.北京:人民邮电出版社,2003(4).

[3]Marcus Goncalves.IP网络语音技术[M].北京:机械工业出版社,1999(11).

[4]刘洪林,蒋昌茂,张建永.IP语音通信原理设计及组网应用[M].北京:电子工业出版社,2009(10).

[5]王占京,张丽诺,雷波.VPN网络技术与业务应用[M].北京:国防工业出版社,2012(5).