详解 私网穿越技术在软交换体系中的应用

一、引言
下一代网络(Next Generation Network , NGN)是一种基于分组交换技术的通信网络 , 在整体构架、信令控制、承载网络等方面都与现有的电路交换网络存在很大不同 。软交换技术作为一种在分组网内实现通信话路交换与媒体传输的技术 , 将是NGN网络的核心技术 。由于软交换技术本身就是基于IP分组网的 , 因此在现有的基础数据网上 , 完全可以建立起一套软交换的构架 。带来的好处有:现有的许多基于IP的协议可以被继续利用 , 大量的网络设备和终端设备都可以直接被应用到软交换网络中 。虽然在现有数据网的基础上构建软交换网络具有上述的优点 , 但也存在许多问题 , 其中私网穿越就是一个需要解决的问题 。
二、在软交换体系中面临的私网穿越问题
1. 私网的概念与NAPT技术的产生
随着基于TCP/IP的互联网的普及 , 私有网络(简称私网)的数量和规模也越来越大 。私网 , 就是采用私有的IP地址来连接各个网络设备组成的相对独立和封闭的网络 。这种组网方式在组建各种规模局域网时被大量应用 。可以说 , 在当今的网络世界里 , 使用私网IP地址的网络设备的数量 , 要远远大于拥有合法Internet网IP地址的设备数量 。为了能够让这些设备可以访问私网外部的资源 , NAT(网络地址转换)技术也就应运而生 。私网内部设备试图访问外部网络时NAT技术可以将其私有的IP地址转换成合法的IP地址 。在运用NAT的同时 , 一般还会运用动态的端口转换(PAT)技术 , 以解决合法IP地址紧缺的问题 。这种技术实现方法是 , 对于一个私网中的所有设备 , 共用一个或多个合法的IP地址作为出口地址 , 只有在设备请求连接外部网络时 , 才为这个请求分配一个合法IP地址和一个端口号 , 来进行外部连接;当这个请求结束时 , 端口号和IP地址也就随即被收回 。NAT与PAT经常被同时使用 , 称为网络地址端口转换(NAPT) 。NAPT的运用 , 为IP网络带来了很多好处:如缓解了IPv4构架下Internet网络的IP地址紧张问题 , 提高了私有网络内部的安全性和可治理性 。由于具有这些优点 , NAPT被大量运用到各种私网网关设备上 , 它是绝大多数网络路由器设备的一个基本功能 , 也是网络防火墙功能的重要组成部分 。

2. NAPT影响软交换的问题
(1)NAT问题
现在假设我们具有一个如图1所示的软交换网络 , 在这个网络中 , 终端A与终端B在私网内 , 只有私网IP地址 , 而终端C具有独立的合法IP地址 。为了便于描述 , 假设所有终端都是SIP终端 , 软交换与终端间的通讯也采用标准的SIP协议 。若终端A向终端B发起呼叫请求 , 则会产生一个如图2所示的消息包 , 这个消息包在经过路由器的NAPT后 , 变成图3所示的消息包(其中1050为NAPT动态分配的端口号) 。

由于终端B在向软交换注册时 , 通过SIP协议层的注册消息告诉软交换的是它的私有地址 , 并且在终端B没有主动对外发起连接请求时 , 防火墙不会为其分配可被访问的IP地址和端口号 , 因此软交换根本无法将INVITE消息发送给终端B , 呼叫无法接续 。
(2)PAT问题
假设由终端A向终端C发起呼叫 , 由于终端C上面没有防火墙或路由器 , 软交换可以顺利地把INVITE消息包转发到终端C , 这个消息中携带SDP信息 , 用于终端间的媒体协商 。媒体协商的主要目的就是选择合适的编解码器 , 并建立RTP媒体流的连接 。由终端A发送的INVITE消息中携带的SDP信息内容如图4所示(其中10006是终端A建立RTP连接的端口号) 。

图4 INVITE消息中的SDP信息
终端C收到SDP信息后 , 就会试图与192.168.0.3:10006建立RTP连接 , 很明显这是一个私网内部的地址 , 因此通话也自然无法建立起来 。

推荐阅读