- WebRTC音视频实时互动技术:原理、实战与源码分析
- 李超编著
- 477字
- 2021-08-06 14:49:33
4.1 WebRTC一对一架构
在构建WebRTC一对一信令服务器之前,我们先从全局的角度来看一下WebRTC一对一架构是什么样子的,这样更有利于了解WebRTC信令服务器所处的位置。其架构图如图4.1所示。
WebRTC由四部分组成,分别为两个WebRTC终端、一个信令服务器、一台中继服务器(STUN/TURN)和两个NAT,这是最经典的一对一通信架构。其中,信令服务器与中继服务器都在NAT外,也就是属于外网。而两个WebRTC终端在NAT内,属于内网。
对于两个WebRTC终端而言,它们是如何进行通信的呢?首先两个终端在通信之前,都要先与信令服务器连接,即图4.1中的步骤❶。与服务端建立好连接后,通信的双方就可以通过信令服务器彼此交换必要的信息了,比如告诉对方自己的外网IP地址和端口是多少等。
不过在交换信息之前,WebRTC终端还要与STUN/TURN服务器建立连接。这样做的目的是通过STUN/TURN服务器获得各自的外网IP地址和端口,即图4.1中的步骤❷。
图4.1 WebRTC 1:1架构图
WebRTC终端拿到自己的外网IP地址和端口后,再通过信令服务器交换给对方。当彼此获得对方地址后,它们就可以尝试NAT穿越,进行P2P连接了,也就是图4.1中的步骤❸。
[1] Session Traversal Utilities for NAT,NAT会话穿越实用工具协议。
[2] Traversal Using Relay NAT,通过中继方式穿越NAT。
[3] Network Address Translation,网络地址转换。