为迎接互联网应用下一个伟大里程碑做好准备
——您的防火墙得支持SIP
Karl Erik Sthl --- 瑞典INGATE系统公司(www.ingate.com)董事会主席
2003/06/03
引言
业界和社会期待着人到人(P2P) 实时交互通信, 如IP电话(VoIP), 即时短信(Instant Messaging), 出席(Presence),
可视通信 (video), 等等, 将成为互联网应用的下一个伟大里程碑. 实现这一通信梦想的关键就是互联网的会话初始协议标准SIP(Session
Initiation Protocol). 要成为这正在加速发展的SIP用户群体的一分子, 很重要的一点就是您的网络得为其做好准备. 要想能通过互联网与世界相联,
您网络上的NAT(网络地址翻译器)和防火墙得能识别并支持SIP协议. 遗憾的是目前这并不普遍.
互联网应用的下一个伟大里程碑: 人到人(P2P) 实时交互通信
互联网始于国防, 科研和大学校园网. 有两种应用使得互联网成为世界上家喻户晓, 几呼所有企业和个人都用互联网. 这两个应用就是EMAIL(电子邮件)和WEB流览.
但这两种应用并没有做到人到人之间实时的直接通信, 而这种人到人之间实时的直接通信能力随着越来越多的人们拥有固定和宽带互联网的接入变得越来越重要和有用.
所以说, 互联网应用的下一个伟大里程碑将是人到人的互联网上的实时通信, 例如:
· 话音(IP电话或VOIP不过是其中的一个组成部分)
· 视频(Video)
· 出席(可以得到位置状态信息, 如你想要知道某位什么时间, 在哪儿, 状态如何等)
· 即时短信(Instant Messaging)
· 多媒体可视会议
· 等等
多种互联网上的人到人通信形式已经有了几年的应用, 但是, 只有现在当建立了通用的标准, 上述业务才会成为现实, 而且能被广泛应用. SIP(Session
Initiation Protocol)就是上述业务的互联网标准, 而且现在正在强劲地加速成长.
· SMTP创造了互联网上的电子邮件
· HTTP 创造了互联网上的WEB
· SIP 将创造互联网上人到人实时通信
SIP的强大的推动力来自微软最近宣布它将来的所有实时通信产品都将基于SIP标准. Windows Messenger已经具有为用户提供SIP方式的电话,
语音, 即时短信, 可视视频通信等功能, Windows Messenger可以免费下载. 在2003年中期, 微软将在WINDOWS2003中推出实时通信业务的服务器,
GREENWICH. GREENWICH包含有适合企业安全应用的SIP服务器, 并提供相应的编成接口(API), 利用API人们可以开发出各种不同的SIP应用.
依靠微软的市场影响力, 将会有成千上万的SIP用户.
IP电话(VOIP) - 仅仅是其一部分
SIP也用于普通的电话业务, 即基于IP网络的3KHZ带宽的通常拨号业务, 在这方面, SIP正在取代H.323标准. H.323是电信界标准化组织ITU-T提出的标准协议.
H.323一直用来建立VOIP网络, 但通常不同的运营商之间在IP层上无法互通. 另外还有MGCP协议或称为H.248/MEGACO. 这个协议有时用来在低层控制IP电话,
以使运营商能将其基于H.323的VOIP与现有PSTN电话网相联.
值得一提的是做为传统电话在IP网络上的仿真, IP电话只不过是SIP所能给我们带来的人到人之间通信的一小部分. 人到人实时通信将是互联网上继电子邮件和WEB之后的又一次互联网应用的伟大里程碑.

防火墙, NAT及路由器
当人们将PC联到互联网上时, 人们并不想让所有人都能接入他们的PC, 或将他们的机器置于可能的外来黑客的攻击. 这一点对于通过宽带或固定电话线一直在线的用户来说更为重要.
用于保护用户PC 的防火墙只让认可的内容通过, 而拒绝外来攻击和非法数据包.
在本地局域网上有多台PC或其它设备, 通常在本地局域网上有多个内部IP地址和一个用于与互联网相联的公众IP地址(外部地址), 这一功能叫做NAT(网络地址翻译),
通常这一功能与防火墙集成为一体.
内部网络的PC不应成为互联网的一部分!

防火墙或NAT路由器是为从内部网络发起数据通信而设计的, 如果是外部发起的而想与内部网络的某一特定机器联络, 那么问题就来啦. 这也正是目前在基于SIP等协议的人到人实时通信所遇到的问题.
所以说, 当用户准备购置和安装防火墙产品时, 非常重要的是新的防火墙一定得很好地支持SIP协议.

防火墙得需要更新啦
大多数现有的防火墙并不能有效地处理SIP协议, 这一问题不仅是对于SIP, 对于其它类似的协议也一样, 如H.323, 只要是想与内部网络上的某一用户相联系,
通常的防火墙就无法处理这类通信.
人们通常误以为将那些防火墙进行适当配置, 就可以处理SIP协议, 但实际情况却不是那么回事. 问题之一就是通信的媒体数据流(如语音和视频数据包)的UDP端口是动态变化的,
而这些端口通常情况下是关闭的. 另一个问题是防火墙内的内部SIP用户无法用其IP地址找到, 因为这些用户通常位于局域网的内部. 你无法从外部找到内部用户,
就是那么简单, 除非你的防火墙支持SIP.

同样, 这一点对于NAT也是一样. NAT用于多个用户共享一个IP地址互联网联接的情况, 在市场上, 有的运营商只为用户提供内部IP地址.
瑞典的INGATE系统公司开发了完全支持SIP协议的防火墙和NAT产品.
使SIP透过防火墙和NAT的不同方法
通信无法到达局域网络的终端用户, 这当然是个很根本的问题. 市场上出现各种不同的针对不同情况的解决这一问题的办法. 其中最有效的办法就是问题出在哪儿,
就在那儿解决, 即防火墙本身. 在市场上, 具有SIP服务器(SIP SERVER) 功能, 并能动态地由SIP服务器(SIP PROXY 和SIP
REGISTRAR)控制防火墙功能的防火墙产品已经上市一年有余, INGATE(www.ingate.com) 就是为企业用户和网络运营商提供这一产品的公司.
其产品已用于世界通信(WorldCom)的Connection VoIP业务中.
其它防火墙厂商的不同解决办法有SIP ALG(APPLICATION LAYER GATEWAY - 应用层网关). 这类网关解决办法通常在比PROXY较低的层上,
对数据包进行随时调整. 尽管CISCO的ALG方案可以处理多个用户, 但通常这种ALG方法只能支持LAN上的一个用户. ALG方案的一个通常的局限是你无法处理通过TLS加密的SIP信令.
微软强烈推荐在其GREENWICH SIP企业方案中使用TLS.
支持SIP协议的防火墙产品并不比普通的防火墙要贵, 而且安装所有新的防火墙和NAT时都应考虑支持SIP协议. 不然的话, 即使是新装的防火墙和NAT也将在不远的将来面临被淘汰的风险.
还有一些厂商采用隧道办法, 所谓隧道办法就是在防火墙形成一个隧道, 然后让处于SIP运营商中心位置的ALG处理分离的本地局域网的地址分配和分散用户.
这当然要求SIP运营商增加额外特殊设备, 而且有时还得在LAN或在SIP用户端增加特殊设备和软件. 这种办法将使得用户被绑在某个特定的SIP运营商.
这种办法通常不能处理复杂的网络配置情况, 例如运营商间的互联及微软的GREENWICH体系结构等, 在这些情况下, 需要有本地SIP SERVER在本地局域网上.
对与家庭用户来说, 微软建议用UPnP(Universal Plug and Play)来让WINDOWS控制NAT或防火墙. 有一些小而便宜的NAT已经加了UpnP扩展,
这样就可以为Windows Messenger(Windows Messenger基于SIP)的SIP通过. 但是, 让每一个LAN网上的PC都能开启防火墙将是十分不安全的,
所以这种办法对于保护本地局域网的防火墙来说是不能接受的, 就连微软自己也建议在其GREENWICH体系结构中关闭UPnP, 以保障较高的安全要求.
另外的不可弥补的缺陷, 就是UPnP是从WINDOWS用户端控制防火墙, 当然这样无法解决其它SIP产品无法通过防火墙和NAT的问题.
结论
为了能实现互联网应用的下一个里程碑, 在互联网上实现实时通信, 就得保证将来所有的防火墙和NAT路由器支持SIP协议. 鉴于上述所介绍的不同解决办法,
其中最通常安全可靠的办法就是在问题所在的防火墙和NAT上解决问题, 即由一个SIP PROXY和SIP REGISTRAR来控制防火墙和NAT,
这样可以处理复杂的不同SIP情况, 并能利用TLS来为SIP信令提供更好的安全保证.
瑞典INGATE SYSTEMS AB 公司供稿 CTI论坛编辑
相关链接: