文档介绍:一种基于 SIP的 VoIP穿透 NAT的实现
[谭新庚陆永忠]
摘要比较了当前流行使用穿透NAT的几种方案,分析了基于SIP协议的IP电话穿
透NAT的问题所在。提出了一种新的穿透方式,即采用远程服务获取真实端口的
策略,对当前终端、NAT设备不做任何修改,不增加新设备的前提下,达到穿透
NAT。通过实际测试,验证了该方案的可行性。
关键词: SIP协议 NAT穿透 VoIP
谭新庚新
湖南,硕士,武汉华中科技大学软件学院学员,研究方向为:图象处理、网
技
络通信、NGN产品。
术
陆永忠
江苏,博士,武汉华中科技大学软件学院副教授,研究方向为:人工智能、新
软件工程、工业控制、图象处理、网络通信。业
务
1 引言基于 IP的语音和视频通讯协议, 要求终端之间使用 IP
地址和数据端口来建立数据通信通道。 NAT内的终端可以
由于快速膨胀, IPV4地址空间处于严重耗
向 NAT外的终端发起呼叫时, 发起呼叫的终端的 IP地址和
尽的境况。为解决这个问题, 人们设计出了网址转换器
端口会包含在数据包负载中, 根据 SIP协议被呼叫的终端
(NAT)。然而 NAT后的 IP语音和视频设备仅有私有 IP地
收到请求呼叫的数据包后, 会从该数据包负载中获取主叫
址, 这些地址在公众网上是不可路由的。这样一来, 多媒
终端的 IP地址端口, 并开始发送音频和视频数据到这个 IP
体通信中的 NAT问题严重地制约了 IP电话和视频会议的应
地址和端口。如果这个 IP地址是私有的, 路由器
用。解决这个问题也就成为多业务宽带 IP网络至关重要的
将丢弃从外部终端发送往内部终端的音频和视频数据包,
事情。 NAT主要有 4种类型: 完全圆锥型 NAT( Full Cone
因为这些数据包正被送往一个不可路由的 IP地址。这个呼
NAT) 、地址限制圆锥型 NAT( Address Restricted Cone
叫结果是 NAT后的主叫终端将永远不会收到外部被叫终端
NAT) 、端口限制圆锥型 NAT( Port Restricted Cone
的音频和视频。同时, 由于对外端口是动态分配的, IP电
NAT) 、对称型 NAT( Symmetric NAT) 。目前实际运用
话在 SIP协议中无法获得真实的外部端口。如图 1所示。例
中最多的, 是对称型 NAT( Symmetric NAT) 。而对称型
如常用的 STUN方式在对称 NAT中无效的原因也是如此,
NAT的映射则同时关联源地址和目的地址, 这同时也导致
因为终端在呼叫请求的开始, 没有媒体流存在, 所以根
了当前很多解决方案无法完全实现所有类型 NAT穿透。
49
新技术新业务
略。既然从话机本身获取真实端口的各种解决方案都是需
要增加新的协议, 或者对用户终端的接入网络进行调整升
级, 改造费用大。那么换一种思维方式, 话机本身不去获
取真实的 IP地址和端口, 其实, 话机真实 IP地址和端口的
信息是给 SIP服务器、被叫终端使用的, 由远程服务器获
取真实地址及端口并修改