作者: 亢少军
彼此要了解对方的网络情况,这样才有可能找到一条相互通讯的链路。需要做以下两个处理。
- 获取外网IP地址映射。
- 通过信令服务器(signal server)交换“网络信息”。
理想的网络情况是每个浏览器的电脑都是公网IP,可以直接进行点对点连接。如图所示。
实际情况是我们的电脑和电脑之间都是在某个局域网中并且有防火墙,需要NAT(Network Address Translation,网络地址转换),如图所示。
在解决WebRTC使用过程中的上述问题的时候,我们需要用到STUN和TURN。
NAT
NAT(Network Address Translation,网络地址转换)简单来说就是为了解决IPV4下的IP地址匮乏而出现的一种技术。
举例就是通常我们处在一个路由器之下,而路由器分配给我们的地址通常为192.168.1.1 、192.168.1.2如果有n个设备,可能分配到192.168.1.n,而这个IP地址显然只是一个内网的IP地址,这样一个路由器的公网地址对应了n个内网的地址,通过这种使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭。如图所示。