NAT学习笔记,内容整理自网络

NAT处理报文的几个关键特点
1,网络被分为私网和公网两个部分,NAT网关设置在私网到公网的路由出口位置,双向流向必须都要经过NAT网关。NAT笔记
2,网络访问只能先由私网侧发起,公网无法主动访问私网主机
3,   NAT网关在两个访问方向上完成两次地址的转换和翻译,出方向做源信息替换,入方向做目的信息替换。
4,NAT网关的存在对通信双方是保持透明的。
5,NAT网关为了实现双向翻译的功能,需要维护一张关联表,把会话信息保存下来。


四种NAT类型

1,全锥形NAT
     一旦内部主机端口对iAddr:iPort被NAT网关映射到 eAddr:ePort ,所有的后续(iAddr:iPort)的报文都会被转换到eAddr:ePort;而且任何外部主机发送给eAddr:ePort的报文都会被转发到iAddr:iPort
NAT学习笔记,内容整理自网络_第1张图片

2,限制锥形NAT 
     与全锥形NAT区别在于只有内部IP iAddr:iPort先向外部主机hAddr发送报文,外部主机hAddr才可以从任意端口发送报文给eAddr:ePort并最终转换被转发给iAddr:iPort
      NAT学习笔记,内容整理自网络_第2张图片

3,端口限制形NAT
     与限制形NAT不同,在限制形NAT基础上增加了对外部主机端口的限制,只有iAddr:iPort 想外部hAddr:hPort发送过数据,外部ip:端口 hAddr:hPort  向eAddr:ePort 所发送的报文才会被转发给iAddr:iPort
      NAT学习笔记,内容整理自网络_第3张图片
     
4, 对称形NAT 
     以地址端口对ewing单位,创建连接,若内部ip:port发送给外部ip:portA,则创建一个eAddr:ePort,若该内部ip:port又发送给外部ip:portB,则NAT网关在创建一个新的映射关系。
      NAT学习笔记,内容整理自网络_第4张图片


穿越NAT的技术分为两类,分别是以STUN为代表的near-end方式和以 TURN为代表的far-end 技术。
     near-end应用在客户端,可以穿透前三种NAT类型,但是无法穿透Symmetric NAT。
     far-end应用于部署在服务器端,可以穿透Symmetric NAT。
下图描述了STUN是如何工作的
NAT学习笔记,内容整理自网络_第5张图片


STUN 服务 

STUN服务即探针技术,是通过在所有参与通信的实体上安装探测插件,以检测网络中是否存在NAT网关,并对不同的NAT模型实施不同穿越方式的技术。
STUN服务器部署在公网上,且具有双网卡,拥有两个IP地址。
服务器会记录收到的请求报文地址和端口,并且将该信息回填到响应报文中,客户端根据响应报文判断自己是否位于NAT之后,客户端将自己发送捆绑请求时绑定的本机IP地址和端口号同捆绑响应消息中的IP地址和端口号进行比较,如果不匹配,则表示客户端处于一个或者多个NAT之后。

若客户端位于NAT之后,则使用之前的地址和端口向服务器的另外一个IP发起请求,重复之前的探测过程,然后再比较两次响应返回的结果判断出NAT的工作方式。这里的判断基本是依据四中NAT类型的特性进行判断的。

STUN是一种Client/Server的协议,也是一种Request/ReSpense的协议,默认端口号为3478
所有的STUN消息都包含20个字节的消息头,包括16位的消息类型,16位的消息长度和128位的事务ID

你可能感兴趣的:(opensips)