摘要
目录
三,STUN(Simple Traversal of UDP Through NAT)
音视频通话 = 音视频处理 + 网络传输,而公共互联网不是为了实时通信设计的。所以说开发真正可用的实时音视频服务,从demo到生产上线,中间还差1万个WebRTC。
一,WebRtc协议栈
二,NAT定义及类型
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭,同时保护了局域网内主机的安全。
- NAT实现方式:即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad
- NAT穿透方法:目前常用的针对UDP的NAT 穿透(NAT Traversal)方法主要有:STUN、TURN、ICE、uPnP等。
- 其中ICE方式由于其结合了STUN和TURN的特点,所以使用最为广泛。
我们生活中大部分主机都在网关之后,他有自己的内网IP地址,并不知道自己的外网IP在网关上有个NAT功能,可以将内网地址映射成外网地址他就是一个四元组,经过映射后,将内网IP和端口映射成外网IP和端口,其他主机可以通过公网IP地址通信了。
三,STUN(Simple Traversal of UDP Through NAT)
两台外网主机之间也不能直接通信,它需要第三方服务做介绍,即STUN服务
将各自公网信息进行交换,使他们彼此认识
NAT产生原因
- 由于IPV4的地址不够
一个内网中可能有上千台主机,但映射到外网时只有一个或几个IP地址,通过端口号来区分每台主机
这样就形成了一对几百,一对几千,大大减少了公网IP地址的使用 - 出于网络安全的原因
所有办公内的主机都在内部,他有自己的内网IP地址,但是没有外网IP地址,外面的主机就很难攻击到内网的某一台主机,必须要经过防火墙,经过NAT转换,才能找到内网中的主机