- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NAT穿透和ICENAT穿透和ICE
NAT穿透和ICE介绍
一.什么是NAT(Network Address Translation),需要解决什么问题?
生活中的NA
通信服务的复杂性使得VOIP会有更多NAT穿透问题:1 需分别完成信令媒体的穿透,媒体还是随机不固定的 2 不是简单的c/s结构,中间会有很多的代理服务器? 2 部署方法千奇百怪,服务器可以在内网,媒体可以不经过服务器,有些电话需要穿透而有些又不需要。?
二.NAT类型:
完全圆锥型NAT(Full Cone NAT),
端口限制圆锥型NAT (Port Restricted Cone NAT),
对称型NAT (Symmetric NAT)。
三.如何使用Stun服务器检测设备所处网络的NAT类型? stun服务器需要两个公网IP:IP1:Port? IP2:Port
step1:client向server IP1发送请求,server使用IP1:Port将收到请求的源IP和Port(即设备的公网IP和Port)回复给client,如果得到的公网IP和设备自身的IP一样,则判断设备自身处在公网,无NAT,检测结束。
step2:client向server IP1发送请求,server使用IP2:Port来回复,如果设备能收到回复,则判断为Full Cone NAT,检测结束。
step3:client 向server IP2发送请求,server使用IP2:Port将收到的源IP和Port回复给client,client判断此port和Step1得到的port 是否一样,如果一样,则为Restricted Cone NAT,如果不一样,则为Symmetric NAT。
step4:client 向server IP2发送请求,要求server使用该IP的另一个端口来回复,server使用IP2:Port2回复请求,如果Client能收到回复,则判断为 Address Restricted Cone NAT,否则为Port Restricted Cone NAT。
四.VOIP中的NAT穿透包含信令穿透和媒体穿透。
相关头域:SIP-Via;SIP-Contact;SIP-Route;SDP-Connection
穿透方法:Via-rport;对称RTP,以及通用的NAT穿透解决方案。
五.常见的NAT穿透解决方案
静态映射 动态保活
STUN-Simple Traversal of UDP over NATs
UPnP-Universal Plug and Play 实现P2P对等网络结构 自动端口映射
SBC-Session Border Controller?
ALG-Application Layer Gateway 应用层网关修改应用层数据
TURN-
ICE-Interactive Connectivity Establishment
VPN
NAT穿透大招-ICE
? TURN流程归纳:
? ICE流程
To execute ICE UAs have to identify all address candidates, transport addresses.Host Candidate- transport address associated with a UA’s local interface
Relayed Candidate-transport address associated with a TURN server (can only be obtained from a TURN server)
Server Reflexive Candidate – translated address on the public side of the NAT (obtained from either a STUN server or a TURN server)
将所有candidate按优先级从高到低写入SDP.
语法:candidate-attribute = candidate : foundation SP component-id SP
transport SP
priority SP
connection-address SP
port
SP cand-type
[SP
文档评论(0)