全球旧事资料 分类
SIP穿越NAT解析下面对SIP协议产生NAT穿透问题,作一些解释;及提出解决的办法。
1、大致有4种类型的NAT。
aFullCo
e完全圆锥体
brestrictedco
e受限制的圆锥体
cportrestricted端口受限制的圆锥体
dsymmetric对称的
其中abc也称作非对称的NAT。2、SIP终端在NAT后面,其工作有可能出现问题。原因是SIP信令走的路径,和媒体流走的路径不一样。3、FullCo
e完全圆锥体NAT
因特网上的任何PC,可以发送数据包到IPport对;而NAT将这个IPport对(公网上的)映射到内网的IPport对(私有网络的)。4、restrictedco
e受限制的圆锥体NAT
NAT外面的PC,只有那些内网中已有PC与之联系过的PC,才能通过这个映射进来。例如,我通过内网的一台机器,IP地址是10111123,与PCa联系,则PCa也可以通过这个NAT的映射,联系到我。而PCb则不行。
10111123NAT20270657810000pca如果pcb也发送数据到20270657810000,则不会有数据送到10111123。补充说明:
如果我也联系过pcb,则pcb也可以进来了。
10111123NAT20270657810000pcb
如果pcb也发送数据到20270657810000,则数据送到10111123。
f5、portrestricted端口受限制的圆锥体NAT
除了4的条件外,即不但要检测pca的源IP地址,还要检测其端口是否与前面也一样。
10111123NAT20270657810000pca213123324348000这个NAT只会接收从IP地址21312332434且端口为8000来的数据,让进入到10111123。6、对称的NAT这是关系描述最简单的一个
101111000NAT200123123341234pca
101111000NAT200123123342222pcb
这种NAT的IPport对,对每个外部的程序,都是不同的。因而每一个外部的程序,都有自己的映射(NAT分配的IPport对)而前面的三种,。多个外部程序,可能共用一个NAT的IPport对。7、RTP的问题
在RTP的消息正文内,UA能够成功通信所需要的一些信息。有这种消息正文,就叫做SDP消息。问题在于,SIP终端(UA)可能对NAT一无所知。因而在SDP中包含的IP地址,通常使用内部的IP地址,也就是SIP终端知道的IP。这样,当通信的对方想与SIP终端通信时,就查看SDP消息中的IP地址,但是什么也没有得到,因为这里使用的是内部IP地址。下面举个例子说明:INVITEsip0406001921682025060SIP20
RecordRoutesip14324813035ftag3a7ceb24a6ac50c4lro

ViaSIP20UDP14324813035bra
chz9hG4bK758e976609c70
ViaSIP20UDP
192168203rport1024received223178140109bra
chz9hG4bK34efcab2403aa20d
From
好听全球资料 返回顶部