企业网与公网P2P模式下基于sip的语音数据穿越NAT的实现
基于P2PSIP的NAT穿透方法的研究

第2 6卷 第 3期
7 0 20 0 8年 5月
北 京工 商大 学 学 报 ( 自然 科 学 版 )
Junlf ei e nl Yad ui s U i rt( a r1c ne di ) ora0Bi g c o g s e n e i N t aSi c E i n j T h 0 n B n s v sy u e t n 0
把 数据 包的 源地 址 改成 6 .3 .5 .0 , 1 1 5 1 0 1 8 然后 根 据
路 由表 , 把包 发送 到 2 2 1 8 3 .2 这 样 就 实现 了 0 .0 . 3 3 ,
工作 站与服 务 器 之 间 的通 信 .反 之 , 务器 把 接 收 服
包 的源 地址 作 为 目的 地址 发 送 响 应 包 , 应包 会 到 响 达N AT设备 . 时 , AT设备 根 据地址 转 换表 , 此 N 把
V 12 o 6 N。. 3
.
Ma 0 8 y2 0
文 章 编 号 :6 11 1 (0 Nhomakorabea8 0 —0 00 1 7 —5 32 0 )30 7 —6
基于 P P I 2 SP的 NA T穿透 方法 的研 究
王 健 婷 , 赵 霞 , 刘 杰 , 许 庆 平
( 京工商 大学 计算 机 学院 ,北 京 1 0 3 ) 北 0 0 7
一
转换 示 例 .当局 域 网 中的 工 作 站 1 . . . 0 0 0 1向外 部
网络 中的服 务 器 2 2 1 8 3 .2发 送 数 据 包 时 , 0 .0 .3 3 它
将 目的地 址 设 置 为 2 2 18 3 .2 然 后 把 包 发 往 0 .0 .3 3 ,
图解 SIP 穿透NAT的问题

图解 SIP 穿透NAT的问题NAT是指网络地址转换。
它是这样一种技术,在Internet公网的IP 不够的情况下,让公司或者家庭的多台电脑,共用一个公网的IP地址上网。
常见的宽带路由器,就有这样的功能。
如下面的示意图。
RTP 协议RTP 即实时传输协议(Real-Time Transport Protocol)。
RTP是传输语音、视频图像等实时数据的协议。
使用RTP传输时,需要知道对方的IP地址和端口。
SIP协议SIP协议,就是帮助呼叫双方,找到对方的IP地址和端口,及协商多媒体的类型和格式等信息。
如图。
你与朋友打电话,你的 IP是1.2.3.4 , RTP端口是 8000。
朋友的IP是193.226.0.1 ,用的RTP 端口是9000。
这样,知道了双方的IP地址与端口,双方就能够通信。
SIP+RTP 穿透问题SIP穿透NAT时,遇到的问题,实际上不是SIP穿不过NAT,本质上是RTP的问题,是RTP的数据穿不过NAT。
SIP设备要在SIP消息包中,声明它所使用的RTP端口。
当SIP设备在NAT后面时,它难以准确地预知 NAT分给它的公网的RTP端口;也就是说,SIP设备难以知道它使用RTP端口(NAT公网IP上分给RTP的端口)是多少。
对SIP服务的运营商来说,如果中转语音数据,则这个问题就比较好解决。
如使用SIP会话边界控制器SBC。
用SIP SBC 来中转语音、视频数据流,因为SBC总是在公网的IP地址上运行,则SIP设备把RTP数据发送到公网上的SBC上,是不会有问题的。
Skype 解决NAT穿透的方法Skype 解决NAT穿透的方法很聪明,它是利用在公网上运行的Skype软件,来中转在 NAT 后面的Skype软件语音数据流。
也就是说,如果你使用 Skype 软件且用的是公网IP地址,可能你的电脑在中转其它的 Skype 用户的语音数据,而你自己并不知道。
一种基于SIP的VoIP穿透NAT的实现

透N T 题所在。 A 的问 提出了 一种新的穿 透方式,即采用远程服务获取真实 的 端口
策略 ,对 当前终端 、NA 设 备不做任何修 改,不增加新设备 的前提下 ,达到穿透 T
谭新庚
湖 南,硕 士 ,武汉华 中科技 大学软 件 学院学员 ,研 究方向为 :图象处理 、m - - J
络 通 信 、NGN产 品 。
UDP 1 92. 6 1 2: 6 1 8. . 50 0;b an h z G4 r c = 9h bK5 5 J pL Uz 0D
Xl tk” 增 ̄ c ie 和r ot宇 段 ,分 别记录 收到 的 Dfl 1e ev d r pr 真实 l P地址 和端 1,修 改后 即 为: “ a SI / ./ 3 Vi: P 20 UDP
N T) 、端 口限 制 圆 锥 型 N T ( o lRe titd co e A A P r sr e n c
基 l 语 视 通 协 要求 端之 使用P 于 P 音和 频 讯 议, 终 间 l 的
地址和 数据 端 口来建立数据通信 通道。N T A 内的终端可 以 向N T 的终端 发起呼叫时,发起 呼叫的终端 的l地址和 A外 P 端 口会包含在 数据包 负载 中,根据 s P l 协议被 呼 叫的终端 收到请 求呼 叫的数据包后 ,会 从该数据包 负载 中获取 主叫 终端的l 地址端 口,并开 始发送音频和视频 数据到这个l P P 地址和 端 口。如果这个 l地 址是 私有 的,lt me路 由器 P ne t 将丢弃从外部终端 发送往内部终端 的音频 和视频数据包, 因为这 些数据包正被送往一个不可 路由的l 地址。这个呼 P
NOTIY、 UP TE ME A F DA 、 SS GE、 RE E F R。 响 应 消 息 包 含 响 应 的 数 字 代 码 : 1 X,2 X, 3 X,4 X, 5 X, X X X X X
《基于SIP的P2P通信及其防火墙穿越的研究》

《基于SIP的P2P通信及其防火墙穿越的研究》一、引言随着互联网技术的不断发展,P2P(Peer-to-Peer)通信技术已经成为信息交流的重要手段。
而SIP(Session Initiation Protocol)作为会话初始协议,为多媒体通信提供了强大的支持。
本文将重点研究基于SIP的P2P通信技术及其在防火墙穿越方面的应用。
二、SIP协议概述SIP是一种用于建立、修改和终止多媒体会话的通信协议。
它支持多种媒体类型,如语音、视频和数据等,并能够通过信令交互实现会话的建立和管理。
SIP协议具有灵活的扩展性,可以与其他协议进行集成,为P2P通信提供了良好的基础。
三、基于SIP的P2P通信技术基于SIP的P2P通信技术通过SIP协议实现节点间的直接通信,无需中心服务器介入。
这种技术具有以下优点:1. 高效性:P2P通信直接在节点间进行,减少了中间环节,提高了通信效率。
2. 可扩展性:P2P网络具有很好的扩展性,可以轻松应对大规模用户的需求。
3. 灵活性:P2P通信支持多种媒体类型,可以满足不同的通信需求。
四、防火墙穿越技术在P2P通信中,防火墙穿越技术是解决节点间通信受阻的关键技术。
防火墙穿越技术主要通过以下方法实现:1. STUN/TURN协议:STUN协议用于检测节点是否位于NAT(Network Address Translation)或防火墙之后,TURN协议则用于在NAT或防火墙之间建立可靠的通信通道。
2. 协议穿透技术:通过分析防火墙的协议特性,采用特定的协议进行通信,以实现防火墙穿越。
3. 端口映射技术:利用路由器或网关的端口映射功能,将外部访问的端口映射到内部节点的实际端口,从而实现防火墙穿越。
五、基于SIP的P2P通信在防火墙穿越中的应用在基于SIP的P2P通信中,防火墙穿越技术的应用可以有效解决节点间通信受阻的问题。
具体应用包括:1. 结合STUN/TURN协议:在SIP协议中集成STUN/TURN 协议,实现节点的NAT穿透和防火墙穿越,保证通信的可靠性和稳定性。
P2P网络通信中NAT穿越技术的研究及实现

P2P网络通信中NAT穿越技术的研究及实现P2P网络通信中,NAT(网络地址转换)是一个经典的问题。
由于大多数用户都位于防火墙后面并尝试与其他用户通信,因此NAT穿透技术成为了P2P网络通信的必要条件。
本文将介绍关于P2P网络通信中NAT穿越技术的研究及其实现。
NAT穿透技术通过各种技术手段,使得两个设备都能够进行P2P通信,即使它们位于不同的内部网络中。
最常见的NAT 类型是家庭中典型的家庭路由器,这些路由器使NAT成为P2P通信的主要障碍。
当设备连接到家庭路由器时,路由器将分配一个本地IP地址(例如192.168.1.1),并将其与Internet 上的唯一IP地址相关联。
当前,P2P通信中NAT穿透技术有以下实现:1.端口映射技术这是最常见的NAT穿透技术。
当一个设备试图与其他用户通信时,它尝试打开一个本地端口,并将该端口映射到Internet 上一个唯一的IP地址。
然后,远程用户可以使用该唯一IP地址和相应的端口来建立连接。
2.反向连接技术这种技术允许NAT防火墙控制的设备向外部设备发起连接。
当远程设备试图与NAT设备进行通信时,NAT设备将打开一个本地端口,并将其映射到一个公共IP地址。
远程设备的连接将被路由到该本地端口上。
3.中转服务器技术这种技术需要一个中介服务器来充当两个设备之间的桥梁。
当P2P通信设备之间存在一些NAT限制时,数据将通过中介服务器进行传输。
虽然这种技术可以轻松地克服NAT限制,但它需要更高的带宽,因此可能会增加整体通信的延迟。
在实际应用过程中,NAT穿透技术可以通过TCP / UDP协议,STUN / TURN服务以及ICE框架等来实现。
ICE (Interactive Connectivity Establishment)是一种计算机网络协议,在WebRTC、P2P网络通信中被广泛使用。
ICE协议在允许P2P通信的同时,允许两个设备在没有额外的服务器的情况下相互连接。
SIP中NAT穿越技术的研究与实现

独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到,本声明的法律结果由本人承担。
学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
保密□,在_____年解密后适用本授权书。
本论文属于不保密□。
(请在以上方框内打“√”)学位论文作者签名:指导教师签名:日期:年月日日期:年月日华中科技大学硕士学位论文摘要长期以来,SIP(Session Initiation Protocol,会话初始化协议)中的NAT(Network Address Translation,网络地址转换)穿越问题一直是制约SIP的大规模应用的一个重要因素,在很多情况下,部署NAT设备会阻碍内网设备和外网设备进行端到端的通信。
因此提出一种基于端口预测的改进方案PSTUN(Prediction based STUN),从而可以完成原有STUN方法无法完成的对称型NAT穿越。
首先通过对SIP协议及其层次结构进行了深入的研究,分析了NAT技术对基于SIP的V oIP(V oice over IP)应用的影响。
对V oIP应用中NAT穿越问题的作了深入的研究,总结比较了五种常见NAT穿越解决方案的性能、可扩展性和安全性等。
但其中大多数要么以修改NAT牺牲安全来实现;要么以更改SIP协议,牺牲系统的通用性为代价来实现;要么面对稍微严格一些的NAT(例如对称型NAT),就无能为力了。
基于SIP协议的NAT穿越技术研究的开题报告

基于SIP协议的NAT穿越技术研究的开题报告一、研究背景基于SIP协议的通信方式在现代网络应用中扮演了越来越重要的角色。
SIP技术提供了一种有效的基于Internet的VoIP表示形式。
但是,由于NAT应用的普及和防火墙的存在,SIP协议所使用的IP地址可能会被隔离在网络内部。
这就需要研究基于SIP协议的NAT穿越技术,以便能够对SIP协议进行有效的通信。
二、研究目的本次研究的目的是研究基于SIP协议的NAT穿越技术,以实现SIP 协议的网络通信。
主要包括以下方面:1、了解SIP协议的基本原理和使用方式;2、深入了解NAT技术,了解NAT对SIP协议通信的影响;3、研究现有的基于SIP协议的NAT穿越技术,分析其优缺点;4、设计并实现一种基于SIP协议的NAT穿越技术,以提高SIP协议在网络通信中的可靠性和稳定性。
三、研究内容1、SIP协议的基本原理和使用方式了解SIP协议的基本原理和使用方式,包括SIP协议的消息格式、方法、状态码、请求和响应等内容。
2、深入了解NAT技术,了解NAT对SIP协议通信的影响了解NAT技术的基本原理,包括NAT的分类、工作方式等。
深入了解NAT对SIP协议通信的影响,包括SIP协议的地址、端口、协议等信息可能被NAT修改或阻塞的情况。
3、研究现有的基于SIP协议的NAT穿越技术,分析其优缺点研究现有的基于SIP协议的NAT穿越技术,包括基于STUN、TURN、ICE等的技术。
分析其优缺点,得出可借鉴之处。
4、设计并实现一种基于SIP协议的NAT穿越技术基于前述研究结果,设计并实现一种基于SIP协议的NAT穿越技术。
主要包括设计思路、具体实现等内容。
四、研究方法1、文献研究法通过查阅文献,包括图书、期刊、网络等,了解SIP协议、NAT技术及相关的NAT穿越技术。
2、实验法通过设计和实现基于SIP协议的NAT穿越技术的实验,测试其可靠性和稳定性。
五、预期成果1、掌握SIP协议的基本原理和使用方式。
基于SIP的P2PNAT穿越解决方案[发明专利]
![基于SIP的P2PNAT穿越解决方案[发明专利]](https://img.taocdn.com/s3/m/d3a57ffba300a6c30d229fb0.png)
专利名称:基于SIP的P2PNAT穿越解决方案专利类型:发明专利
发明人:丁元彬,张顺颐,颜学智,王攀
申请号:CN200910027297.X
申请日:20090527
公开号:CN101599992A
公开日:
20091209
专利内容由知识产权出版社提供
摘要:本文针对目前越来越多的P2P应用,给出了P2P软件穿透NAT的方法。
很多P2P应用使用SIP协议作为通信协议,因此本文使用SIP协议作为NAT穿越时的信息交互协议,具有很大的现实意义。
对于P2P的NAT穿越的研究,用于UDP穿越NAT设备的STUN协议已比较成熟,该协议被广泛应用在Skype等很多P2P软件中,本文结合STUN协议和SIP协议给出了UDP的NAT穿越解决方案。
申请人:南京欣网视讯科技股份有限公司
地址:210029 江苏省南京市上海路9号江苏水利后勤服务中心6楼
国籍:CN
更多信息请下载全文后查看。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 Po y ̄ rx , 务器上N T E J . A 穿越 的实现模型和
原 理
本 论文基 于上 述几 种不 同实现 方式 的对 比选择 一种
接 近 于 全 代 理 方 式 ‘ , 如 图 1 示 , 位 于 私 网 的 固 话 用 们 所 户 可 以通 过 N T穿 越 的 方 式 利 用 l 线 路 与 I S A P T P网 络 的软
同,则生成不 同的地址映射关 系,外部 主机 只有在接受到 内部主机发送 的报 文后 ,才可 以向内部主机发 送报 文,如 表 1 示,只要 目的端和 源端 的端 1或者地址 有一个 不相 所 3
这 就是 终端预 写入 地址 方式 ,这 种 方案实 施过 于复杂 ;
AL 应 用层 网关协议)能够适 当地 修改数据 包, G( 实现 简单 但需要对现 有N T 设备进行升级 , A 同时需 要N T设备 对所 A 有数 据包进 行监控 和解 析, 该方 案在性 能、可扩 展性和可 实施 性方面较 差;F lP o y ul rx 将私 网内部 用户呼 叫的信令
为F lP o y ul rx 上的外部端 口, 然后 信令转发给软 交换,而 媒 体流发送 到对端, 布置F lP o y ul rx 的好处是 不需要对现 有 的NA / T 防火墙 做任何 改动 , 因此 成 为 目前业界 比较倾
向使用的N T防火墙穿越方案。 A/
处于存 活的状态 。对称方式 ( y s mmer o e A tc c n )N T D i
同都 需 要 建 立 映射 关 系 , 其 中 用 1 示 内 部 主 机 A不 同 的 表 端 口a、b 要 和 外 部 主 机 M的 不 同 端 口P 、 P 进 行 通 信 需 1 2 时 需 要 建 立 映 射 关 系 , 这 里 的映 射 关 系就 是 动 态 N T建 立 A
终端用户通信 ,在实际使 用网络环 境中N T A 穿越 需要媒体 和信令 的 中继 ,如r ly E ea , 务器 中继媒体 、tu k E  ̄ r n , 务器 中 g 继信 令 。N T模块 实际 上只 负责消 息仲 裁 、分i,u A  ̄ g 管理 2 中继端 1 r一 f 务器在 涉及到I S 3;t n i 术一 一 面 = u kE T P网络 时主要负 责转 新= 技一 .新 务一
中 的 业 务 应 用 层 信 息 进 行 解 析 , 并 将 信 息 中 的私 网地 址 修 改 为F lP o y 身 的 I 地 址 , 同 时 , 将 媒 体 流 端 1修 改 ul rx 本 P 3
l地址收 回留待其他 用户使用,这个 映射 表是临时建立 的 P
且 需 要 服 务 器 端 随 时 发 送 报 文 保 活 使 得 这 个 映 射 关 系 是
命令, 用 以实现 对R ly E ea  ̄ 务器 建立和释放 媒体资源 的控 制;Rea , 务器作 为媒体资源 服务器 负责 转发R P lyJ E E T 流媒
体, 包括T CP和 UDP 种 形 式 报 文 的 转 发 。 配 合 业 务体 等功能 时po y E rx B 务器 还需要 启动其某个 逻辑模块来调用rly ea 资源。图 中IS ( tre ee h n T P I en t lp o y n T S ri rv e ) evc P o i r e d 是某种网络能够为使用VOI技术 的电话 P 呼叫提供 i en t n re数据服务, 一般使 用SP 用层协议 将电 t I应 话呼 叫作 为I 数据包在网络 上传输。 P
流 和 媒 体 流 在 F lP o y 进 行 处 理 和 转 发 , P o y 呼 叫 ul rx 上 rx 对
动态地 址转 换是在 内部 本地 地址 与 内部 全局 地址 之 间建立一个映射,也就是将本地 的地址与 内部全局地址 进
行 多 对 一 映 射 , 但 是 地 址 的 映 射 关 系 并 非 事 先 就 确 定 好 的 , 在 需 要 建 立 一 个 转 换 时在 地 址 池 中 选 择 一 个 可 用 地 址 建立 转换 关 系 , 当 用 户 连 接 断开 后 , 再 将 动 态 分 配 的全 局
A G( piain L y rGae y 、 F lP o y L Ap I t a e twa ) c o ul rx ,通过某 种 方式预 先得 到公 用 网出 口I P和端 1 3,并 由终端 直 接用 公 用 网信 息 写入 消息 包 中就 可 以实现 N T设备 的穿越 , A
发 信 令 , 以 及 当需 要 媒 体 中继 时 向r ly . 器 下 发 控 制 ea , 务  ̄
的动态映射项,此外 , 目前内部多台私 网主机访 问外部 少
数 服 务 器 的模 式 比较 普 遍 , 所 以 图 中 B、 D 机 和 外 部 主 主 机的映射关系也有所表示。
表 1对称方式N T A
一 技= .新二 l 新= 术一 一 业l 务一
,
它 与
体 信 息 各 种 解
于 全 代
信息交
企业网与公网P P 2 模式下基于sp i 的语音数据穿越N T A 的实现
按 照 地 址 转 换 的 方 式 , 可 以将 N T 为 3 , 静 态 A分 类
较 常 用 的有 如下 3 实 现 方式 :终 端 预 写入地 址 方式 、 种
N T、动态N T 和网络地址端 1 A A 3转换( A ) P T ,而根据NA T 的工作方式不 同,N T类型还可分 为全 方式N T、限制方 A A 式N T A 、端 口限制 方式 N Tg 对称方式N T A n A ,鉴于 本文所
述 实 现 方 式 , 重 点 介 绍 动 态 NA 和 对 称 方 式 N T 实 现 穿 T A在 越 时 所做 的具 体 工 作 。