




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VOIP 穿越穿越 NAT 学习笔记学习笔记 1 1 NATNAT 简介简介 1 1 NAT 简介简介 网络地址转换 NAT 主要用来完成局部地址与全局地址之间的转换 NAT 解决了 Internet 地址耗竭问题 企业内部网只需少量的全局地址就可达到与 internet 的互连 1 2 NAT 带来的问题带来的问题 NAT 解决 IPV4 地址紧缺的问题同时也带来了一些问题 例如 H323 SIP MGCP H248 等协议在载荷中携带了源地址和端口信息 普通的 NAT 设备无法根据协议内容检查载荷 并进行转换处理 1 3 NAT 端口映射方式分类端口映射方式分类 本文主要介绍 VOIP 等协议如何进行 VOIP 穿越 VOIP 穿越 NAT 方式跟 NAT 端 口映射方式关系很大 所以我们根据 NAT 的端口映射方式对 NAT 进行分类讨论 根据端口映射方式 NAT 可分为如下 4 类 前 3 种 NAT 类型可统称为克隆类型 1 全克隆 Full Cone NAT 把所有来自相同内部 IP 地址和端口的请求映射到相同的外 部 IP 地址和端口 任何一个外部主机均可通过该映射发送 IP 包到该内部主机 2 限制性克隆 Restricted Cone NAT 把所有来自相同内部 IP 地址和端口的请求映射 到相同的外部 IP 地址和端口 但是 只有当内部主机先给 IP 地址为 X 的外部主机发送 IP 包 该外部主机才能向该内部主机发送 IP 包 3 端口限制性克隆 Port Restricted Cone 端口限制性克隆与限制性克隆类似 只是多了 端口号的限制 即只有内部主机先向 IP 地址为 X 端口号为 P 的外部主机发送 1 个 IP 包 该 外部主机才能把源端口号为 P 的 IP 包发送给该内部主机 4 对称式 NAT Symmetric NAT 这种类型的 NAT 与上述 3 种类型的不同 在于当同 一内部主机使用相同的端口与不同地址的外部主机进行通信时 NAT 对该内部主机的映射 会有所不同 对称式 NAT 不保证所有会话中的私有地址和公开 IP 之间绑定的一致性 相 反 它为每个新的会话分配一个新的端口号 二 为什么二 为什么 VOIPVOIP 自身不能穿越自身不能穿越 NATNAT 2 1 VOIP 协议自身不支持穿越协议自身不支持穿越 NAT 我们知道 VOIP 协议中有 H323 SIP 等两大协议族 H323 信令主要基于 TCP 完成的 SIP 信令首选 UDP 来进行信令交互 在信令交互中 两种协议都在信息字段承载了下一步 磋商的地址 端口等信息 而这些信息一般 NAT 设备是无法检查和进行转换的 所以造 成了 VOIP 无法穿越 NAT 进行通信 例如 图一 NAT 中的 VOIP 3 3 目前 目前 VOIPVOIP 穿越穿越 NATNAT 的几种办法的几种办法 3 1 NAT ALG 方式 应用层网关 方式 应用层网关 NAT 是通过修改 IP 包头和 UDP 或 TCP 报文头部地址信息实现地址的转换 但对于 VOIP 应用 在 TCP UDP 净载中还带有重要的地址信息 ALG 方式是指在私网中的 VOIP 终端在净载中填写的是其私网地址 此地址信息在通过 NAT 时被修改为 NAT 上对外的地 址 此时当然要求 ALG 功能驻留在 NAT Firewall 设备中 要求这些设备本身具备应用 识别的智能 支持 IP 语音和视频协议 H323 SIP MGCP H248 的识别和对 NAT Firewall 的控制 同时每增加一种新的应用都将需要对 NAT Firewall 进行升级 在安全要求上还需要作一些折衷 因为 ALG 不能识别加密后的报文内容 所以必 须保证报文采用明文传送 这使得报文在公网中传送时有很大的安全隐患 NAT ALG 是支持 VOIP NAT 穿透的一种最简单的方式 但由于网络实际情况是已 部署了大量的不支持此种特性的 NAT FW 设备 因此 实际应用中 很难采用这种方式 图二 ALG 应用层网关 NAT 穿越 3 2 MIDCOM 方式方式 与 NAT ALG 不同的是 MIDCOM 的基本框架是采用可信的第三方 MIDCOM Agent 对 Middlebox NAT FW 进行控制 VOIP 协议的识别不由 Middlebox 完成 而 是由外部的 MIDCOM Agent 完成 因此 VOIP 使用的协议对 Middlebox 是透明的 由于识别应用协议的功能从 Middlebox 移到外部的 MIDCOM Agent 上 根据 MIDCOM 的构 在不需要更改 Middlebox 基本特性的基础上 通过对 MIDCOM Agent 的 升级就可以支持更多的新业务 这是相对 NAT ALG 方式的一个很大的优势 在 VOIP 实际应用中 Middlebox 功能可驻留在 NAT Firewall 通过软交换设备 即 MIDCOM Agent 对 IP 语音和视频协议 H323 SIP MGCP H248 的识别和对 NAT Firewall 的控制 来完成 VOIP 应用穿越 NAT Firewall 在安全性上 MIDCOM 方式 可支持控制报文的加密 可支持媒体流的加密 因此安全性比较高 如果在软交换设备上实现对 SIP H323 MGCP H248 协议的识别 就只需在软交换 和 NAT FW 设备上增加 MIDCOM 协议即可 而且以后新的应用业务识别随着软交换的支 持而支持 此方案是一种比较有前途的解决方案 但要求现有的 NAT FW 设备需升级支持 MIDCOM 协议 从这一点上来说 对已大量布署的 NAT FW 设备来说 也是很困难的 同 NAT ALG 方式有相同的问题 图三 MIDCOM 方式 NAT 穿越 3 3 STUN 方式 目前实用的方式 方式 目前实用的方式 解决穿透 NAT 问题的另一思路是 私网中的 VOIP 终端通过某种机制预先得到出 口 NAT 上的对外地址 然后在净载中所填写的地址信息直接填写出口 NAT 上的对外地址 而不是私网内终端的私有 IP 地址 这样净载中的内容在经过 NAT 时就无需被修改了 只 需按普通 NAT 流程转换报文头的 IP 地址即可 净载中的 IP 地址信息和报文头地址信息 是一致的 STUN 协议就是基于此思路来解决应用层地址的转换问题 STUN 的全称是 Simple Traversal of UDP Through Network Address Translators 即 UDP 对 NAT 的简单穿越方式 应用程序 即 STUN CLIENT 向 NAT 外的 STUN SERVER 通过 UDP 发送请求 STUN 消息 STUN SERVER 收到请求消息 产生响应消息 响应消息中携带请求消息的源端口 即 STUN CLIENT 在 NAT 上对应的外部端口 然后响 应消息通过 NAT 发送给 STUN CLIENT STUN CLIENT 通过响应消息体中的内容得知其 NAT 上的外部地址 并将其填入以后呼叫协议的 UDP 负载中 告知对端 本端的 RTP 接 收地址和端口号为 NAT 外部的地址和端口号 由于通过 STUN 协议已在 NAT 上预先建立 媒体流的 NAT 映射表项 故媒体流可顺利穿越 NAT STUN 协议最大的优点是无需现有 NAT FW 设备做任何改动 由于实际应用中 已有大量的 NAT FW 并且这些 NAT FW 并不支持 VoIP 的应用 如果用 MIDCOM 或 NAT ALG 方式来解决此问题 需要替换现有的 NAT FW 这是不太容易的 而采用 STUN 方式无需改动 NAT FW 这是其最大优势 同时 STUN 方式可在多个 NAT 串联的 网络环境中使用 但 MIDCOM 方式则无法实现对多级 NAT 的有效控制 STUN 的局限性在于需要 VOIP 终端支持 STUN CLIENT 的功能 同时 STUN 并 不适合支持 TCP 连接的穿越 因此不支持 H323 另外 STUN 方式不支持对防火墙的穿越 不支持对称 NAT Symmetric NAT 类型 在安全性要求较高的企业网中 出口 NAT 通 常是这种类型 穿越 图四 STU 方式 NAT 穿越 3 4 TURN 方式方式 TURN 方式解决 NAT 问题的思路与 STUN 相似 也是私网中的 VOIP 终端通过某 种机制预先得公网上的服务地址 STUN 方式得到的地址为出口 NAT 上外部地址 TURN 方式得到地址为 TURN Server 上的公网地址 然后在报文净载中所要求的地址信息就直 接填写该公网地址 TURN 的全称为 Traversal Using Relay NAT 即通过 Relay 方式穿越 NAT TURN 应用模型通过分配 TURN Server 的地址和端口作为私网中 VOIP 终端对外的接受地址和端 口 即私网终端发出的报文都要经过 TURN Server 进行 Relay 转发 这种方式除了具有 STUN 方式的优点外 还解决了 STUN 应用无法穿透对称 NAT Symmetric NAT 以及类 似的 Firewall 设备的缺陷 同时 TURN 支持基于 TCP 的应用 如 H323 协议 此外 TURN Server 控制分配地址和端口 能分配 RTP RTCP 地址对 RTCP 端口号为 RTP 端口号加 1 作为私网终端用户的接受地址 避免了 STUN 方式中出口 NAT 对 RTP RTCP 地址端口 号的任意分配 使得客户端无法收到对端发来的 RTCP 报文 对端发 RTCP 报文时 目的 端口号缺省按 RTP 端口号加 1 发送 TURN 的局限性在于需要 VOIP 终端支持 TURN Client 这一点同 STUN 一样对 网络终端有要求 此外 所有报文都必须经过 TURN Server 转发 增大了包的延迟和丢包 的可能性 图五 TURN 方式 NAT 穿越 4 4 思考 为什么 思考 为什么 STUNSTUN 不支持不支持 TCPTCP 穿越穿越 相信大家看了上面对 NAT 的分类说明 以及 stun 协议的工作原理后这个问题也不难 解释 问题的关键就是在于 NAT 设备会判断 TCP 连接的发起者是内网还是外网 TCP 和 UDP 在穿越上最大的区别在于 NAT 对两种协议的处理方式不同 1 TCP 是基于连接的 有三次握手的动作 而 UDP 是不存在该问题的 2 NAT 在对 TCP 处理时一般是不会处理由外部发起的 TCP SYN 连接请求的 我们来了解一下 NAT 设备对 TCP 的处理方式 如果一个 NAT 接收到一个来自外网 TCP SYN 包 这个包想发起一个 引入 的 TCP 连接 一般来说 NAT 会拒绝这个连接请求并扔掉这个 SYN 包 或者回送一个 TCP RST connection reset 重建连接 包给请求方 但是 有一种情况 当这个接收到的 SYN 包 中的源 IP 地址和端口 目标 IP 地址和端口都与 NAT 登记的一个已经激活的 TCP 会话中的地址信息相符时 NAT 将会放行这个 SYN 包 让它进入 NAT 内部 特别要指 出 如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豆制品制作工操作考核试卷及答案
- 氯化苯装置操作工成本预算考核试卷及答案
- 钨钼制品烧结工工艺创新考核试卷及答案
- 聚合反应工质量追溯知识考核试卷及答案
- 露天采矿单斗铲司机理论知识考核试卷及答案
- 手工纸创新设计策略研究
- 安全管理体系改进建议分析报告
- 机电组件校准质量评估报告
- 机油选择对动力影响报告
- 2024秋五年级英语上册 Unit 2 My week课时2 Let's learn-Let's play说课稿 人教PEP
- 戏水溪流改造工程方案(3篇)
- 审计数据采集规定
- 检验科危急值课件
- 红十字救护员培训理论试题及答案
- 动量守恒定律模型归纳(11大题型)(解析版)-2025学年新高二物理暑假专项提升(人教版)
- 慢性阻塞性肺疾病(COPD)护理业务学习
- 2025-2026学年北师大版(2024)初中生物七年级上册教学计划及进度表
- 产科危急重症早期识别中国专家共识解读 3
- 医疗器械配送应急预案模板(3篇)
- DB65-T 4803-2024 冰川厚度测量技术规范
- 护理专业新进展介绍
评论
0/150
提交评论