十四、网络传输基本知识-NAT

2019-04-29  本文已影响0人  ThemisHoo

注:以下图片来自慕课网,侵权可删

NAT (Network Address Translator)

我们生活中大部分主机都在网关之后,他有自己的内网IP地址,并不知道自己的外网IP
在网关上有个NAT功能,可以将内网地址映射成外网地址
他就是一个四元组,经过映射后,将内网IP和端口映射成外网IP和端口,其他主机就可以通过公网IP地址通信了


STUN(Simple Traversal of UDP Through NAT)

两台外网主机之间也不能直接通信,它需要第三方服务做介绍,即STUN服务
将各自公网信息进行交换,使他们彼此认识

TURN (Traversal Using Relays around NAT)

p2p连接不成功的情况下,要想保证音视频连接成功,就要引入TURN服务
TURN服务就是在云端架设一个服务器,负责双方之间流媒体数据的转发
当它们进入同一房间时,A发送到TURN的数据,在这个房间里,TURN服务就会给房间内所有人进行转发

ICE (Interactive Connectivity Establishment)

将NAT TURN打包在一起,做一个最优选择
首先尝试p2p,如有两台服务通过,也会选择一个最优服务
不通则选择TURN,如有多个节点,上海TURN不通,则选择北京的TURN
总之,将所有可能性罗列好,在其中找到一条最优路径,将数据发送

NAT产生原因
NAT种类以及穿越原理

NAT穿越步骤

  1. C1, C2向STUN发消息
  2. 交换公网IP以及端口
  3. C1 -> C2, C2 -> C1, 甚至是端口猜测(对称型)

NAT穿越组合

全锥型 全锥型
全锥型 受限锥型
全锥型 端口受限锥型
全锥型 对称型
受限锥型 受限锥型
受限锥型 端口受限锥型
受限锥型 对称型
端口受限锥型 端口受限锥型
端口受限锥型 对称型 ✘,无法打通
对称型 对称型 ✘,无法打通

NAT类型检测

跟不上老师讲的,直接贴图吧



第一步 第二步 第三步
上一篇下一篇

猜你喜欢

热点阅读