扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
NGN网络是由IP网络承载的,NGN的用户是通过IP网络接入的。与H.323 VoIP网络不同,NGN不再利用PSTN作为其用户接入网络,而是将IP一直延伸到最终用户。用户直接使用IP话机或是使用普通话机加IAD的方式接入IP网络。
与H.323 VoIP网络的组网方式相同,NGN的组网也有两种模式,专网和公网。专网是指将NGN用户封闭在一个专用网络或VPN内,用户必须通过某种手段(例如专线或L2 circuit)接入这个专网或VPN才可使用NGN服务;公网则是指NGN用户均通过互联网接入,通过认证后使用NGN服务。很显然,使用公网组网对于网络接入条件的约束比使用专网模式宽松很多,这使得所有互联网用户都成为NGN的潜在用户,有利于NGN业务低成本拓展。
利用互联网作为承载平台,广泛的潜在用户群是其最大优势。然而,互联网是为WWW和email等业务设计的,从网络协议到网络配置更适合于Client-Server的工作模式,而NGN业务却是peer-to-peer模式。出于安全性方面的考虑,互联网用户通过各种手段(防火墙、proxy等等)屏蔽其他应用以排除安全隐患,而这就会给这些用户接入NGN造成困难。当然IPv6已经考虑了peer-to-peer通信需求,更解决了地址紧缺和网络安全问题,本文所描述的问题在IPv6的网络中将不复存在,但是业务和网络都不可能一蹴而就,在NGN发展的过程中,本文中所描述的问题仍然是需要解决的问题。
一、NGN发展的过程中存在的问题
1.AT/PAT
因为企业内部通常采用私有地址,所以会启用地址转换NAT/PAT功能。NAT是将私有地址和公有地址一一对应,并在一定时间内保持这种对应关系。对于UDP通信,有两种类型的NAT。PAT则是将私有地址+TCP/UDP端口转换并为一个公有地址+一个TCP/UDP端口,通常会将多个私有地址对应一个公有地址,用不同的TCP/UDP端口进行区分。H.323、SIP、MGCP等多媒体通信协议在穿越NAT/PAT时都会出现问题,因为通常NAT/PAT只对IP包头中的源IP地址/源端口号进行转换,不能相应地修改这些协议包内的源地址,而这些协议在回传响应时都按其协议包内的源地址发送,结果造成无法建立通信。
穿越NAT/PAT是H.323、SIP、MGCP等多媒体通信协议普遍面临的一个问题。一个主要问题是NAT/PAT仅能完成协议外(IP层)地址的转换,而这些多媒体通信协议依靠协议内地址完成通信,所以需要有方案保证两者的一致性。另一个主要问题是如何使终端成为被叫。NAT/PAT无法为终端建立永久的地址绑定关系,当终端完成注册过程后,注册服务器中所记录的地址(NAT/PAT后的公有地址/端口号)是否还可以对应终端的实际私有地址。当采用PAT时,问题则更加严重,因为PAT是根据IP地址+TCP/UDP端口唯一对应一个终端,而不同的流(例如信令流和媒体流)会采用不同的TCP/UDP端口。当注册完成后,PAT只记录了IP地址和TCP/UDP端口与该终端信令流的对应关系,媒体流的对应关系需要在终端发起媒体流时才能建立,这就使该终端作为被叫时媒体流建立PAT对应关系成为一个问题。
2.防火墙
大型企业和一些网络的安全敏感区域(如NOC)通常会放置一些防火墙以保证网络安全。防火墙通常设置的策略包括关闭无用的TCP/UDP端口、过滤特定IP地址等。
我们这里所谓的防火墙并非特指专用防火墙,所有完成防火墙功能或部分功能的设备都统称为防火墙。防火墙通常配置的策略包括:源IP地址、目的IP地址过滤;源端口、目的端口过滤等等。其中地址过滤不会对业务造成损伤,因为地址过滤只会针对特定地址进行,也就是说,采用黑名单制。而端口过滤则不然,它通常采用白名单制,也就是说,企业通常只会允许一些知晓的业务端口出入。当一些业务采用随机端口时,这些业务就很难穿越防火墙。
3.PROXY
很多企业网使用代理服务器(RPOXY)作为对外网访问的管理工具。PROXY的主要功能包括NAT、FireWall、用户管理和访问控制等等。微软将企业网内部应用的PROXY通常分为两类,一是Web Proxy,一是WinSock Proxy。Web Proxy主要用于对浏览业务进行控制,也就是说,它只服务于80端口的业务。WinSock Proxy服务于其他类型的业务,例如FTP、TELNET。是否提供某种服务(是否打开TCP/UDP端口)取决于企业网管理员的配置。
二、穿越NAT/PAT
1.STUN(Simple Traversal of UDP through NAT)
客户端向STUN服务器发起一个请求询问自身的转换后地址,STUN服务器将收到的请求包中的源地址作为信息返回给客户端,客户端就获得了转换后的地址信息。拥有了转换后的地址信息,客户端就可以在其H.323/MGCP/SIP等协议的协议包内的源地址直接填写这个转换后的地址,同时还可以在终端注册时直接注册这个转换后的公有IP地址,这样就解决了H.323/MGCP/SIP穿越NAT的通信建立问题以及作为被叫时的问题。
需要注意的是,NAT/PAT对于地址转换关系是有一定生命期的,某个地址转换后在一段时间内没有被使用将会被清除,当这个业务流再次出现时,将会建立一个新的地址转换关系,这就意味着STUN的询问过程以及终端的注册过程都需要再执行一遍才能保证通信的正确。解决这个问题一个比较通行的方案是采用某种方式保持NAT/PAT的转换关系,例如在NAT/PAT生命期内重复注册一次,比如NAT/PAT的生命期是3分钟,那么就将注册重复周期设置为2分钟。
另外STUN server并非指一个专用的服务器,而是指一种功能、一个协议,我们可以在softswitch或者任何一个需要此功能的服务器上内置此协议。
NAT可以细分为几种操作模式,其中有一种称为symmetric NAT(对称NAT)。所谓对称NAT是指当私网内的用户A访问公网用户B时,NAT为A到B的访问所形成的地址对应关系只能服务于A与B之间的通信。虽然A已经拥有了公有地址A',但A'并不能为其它用户使用以达到与A通信的目的。这是出于安全性考虑的一种设计。一些功能较强的NAT提供这种可选工作模式。
当NAT采用这种对称模式工作时,STUN的方案就会出现问题。
假如我们在softswitch上提供STUN server功能,终端A通过STUN可以获得NAT为终端A与softswitch之间通信分配的地址A',并将这个地址注册在softswitch上,当一个公网上的终端B呼叫终端A时,A'和B通过softswitch完成呼叫建立过程。当B试图向A'发送媒体流时,问题就出现了。因为对称NAT只允许从softswitch发送数据给地址A',从B发送的媒体流将被丢弃。所以STUN无法应用于工作在对称模式的NAT。
2.SPAN(Simple Protocol for Augmenting NATs)
SPAN解决了symmetric NAT的穿透问题。SPAN的工作方式与STUN基本相同,参见图2,只是在客户端询问IP地址时,SPAN服务器返回的不是客户端的公有IP,而是服务器自身的地址和为该用户分配的端口号,同时服务器记录这个客户端的公有地址与自己分配的端口号之间的对应关系。所以当用户B与这个客户端A通信时,无论是信令流还是媒体流,都将通过SPAN server转发,因此对于symmetric NAT而言,信令流与媒体流都发生在SPAN server与客户端之间,是对称的流,穿越就不再成为问题。值得注意的是, 因为需要转发媒体流,SPAN server的压力是比较大的,所以应该采用分布式的部署方式,而不宜再内置于softswitch。
STUN和SPAN都是MIDCOM工作组正在制定的标准。
3.UPnP(Universal Plug and Play)
UPnP技术对即插即用进行了扩展,它简化了家庭或企业中智能设备的联网过程。在结合了UPnP技术的设备以物理形式连接到网络中之后,它们可以通过网络自动彼此连接在一起,而且连接过程无需用户的参与和使用中央服务器。
UPnP规范基于TCP/IP协议和针对设备彼此间通讯而制订的其它Internet协议。这就是它之所以被称作“通用”的原因所在——UPnP技术不依赖于特定的设备驱动程序,而是使用标准的协议。UPnP设备可以自动配置网络地址,宣布它们在某个网络子网的存在以及互相交换对设备和服务的描述。基于Windows XP的计算机可以充当一个UPnP控制点,通过程序界面对设备进行发现和控制。
NAT穿越技术允许网络应用程序对它们是否位于一个具有UPnP能力的NAT设备之后进行检测。然后,这些程序将获得共享的公有IP地址,并且配置端口映射将来自NAT外部端口的数据包转发到应用程序使用的内部端口上——所有这一切都是自动完成的,用户无需手动映射端口或者进行其它工作。NAT穿越技术允许网络设备或者点对点应用程序通过动态开启和闭合与外部服务之间的通信端口穿过NAT网关与外界通信。
三、穿越防火墙和PROXY
防火墙和PROXY对NGN业务的影响前面已经描述了,除了提高防火墙自身对应用的识别能力外,目前仅有ALG可以在不改变防火墙和PROXY设置的前提下提供NGN业务的穿透。
四、应用层网关(ALG)
所谓应用层网关是指能够识别应用,并完成应用所需要的一些转换功能,例如,H.323/MGCP/SIP信令内的地址转换。ALG可以替代NAT/PAT完成地址转换功能,而且可以保证应用不会受到NAT/PAT的影响,但穿越防火墙和PROXY则还需要更多的工作。
有三个方案部署ALG,一是与企业防火墙/PROXY并列,即ALG为一些特定应用提供旁路企业防火墙/PROXY的能力;二是ALG完全替代企业防火墙/PROXY;三是串行,也就是将ALG放置于企业内部,企业防火墙/PROXY仍然完全控制企业公网出口。
采用并列模式需要企业网能够将H.323/MGCP/SIP信令流和业务流指向ALG。将ALG作为MGCP PROXY是一个比较简易的方案,此外,策略路由、VLAN等技术也可以帮助企业网分离出这些特定的应用。虽然是旁路了FW/PROXY,企业网安全应该无须担心,因为ALG只为其可识别的应用提供服务。当然ALG自身还是需要具备完善的防攻击能力。
采用
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者