您的位置:

深入了解Turn服务器

一、Turn服务器端口

Turn服务器需要占用至少一个端口。不同的Turn服务器可以同时占用多个端口。默认情况下,Turn服务器的端口是3478。但是,在防火墙或路由器中需要开放相应的端口以允许通过Turn服务器进行通信。可以通过在Turn服务器的配置文件中指定相应的端口。

二、Turn服务器分配端口

Turn服务器分配端口用于在NAT防火墙或其他网络限制条件下的客户端之间创建直接连接。这些端口是动态地分配给客户端的。当客户端需要在网络上建立直接连接时,Turn服务器会从分配端口池中随机选择一个未被占用的端口。

这些分配的端口并不是一直被占用,而是在一定时间内进行保留。在超时时间(通常是1分钟)内,端口会一直保留。在此期间内,如果客户端需要重新使用分配的端口,则可以直接在Turn服务器上找到该端口。

三、Turn服务器搭建

搭建Turn服务器需要以下三步:

  1. 安装Turn服务器软件。
  2. 配置Turn服务器。
  3. 启动Turn服务器。

1、安装Turn服务器软件


sudo apt-get install coturn

2、配置Turn服务器

在Turn服务器的配置文件/etc/turnserver.conf中,可以配置各种参数,包括:

  • 监听的端口
  • 服务模式
  • 认证方式
  • 用户帐号密码

3、启动Turn服务器


sudo systemctl start coturn

四、Turn服务器作用

Turn服务器主要用于解决在NAT防火墙或其他网络限制条件下的客户端之间的直接连接问题。

特别是在WebRTC中,如果端到端连接不可行,则需要通过Turn服务器来建立P2P连接。

五、Turn服务器原理

当两个客户端需要建立P2P连接时,它们会首先尝试建立端到端的连接。如果此连接没有成功,则客户端会通过TURN服务器建立一个中转连接。如果两个客户端都连接到同一个TURN服务器,则该服务器将两个客户端连接起来并充当中转服务器。

六、Turn服务器免费

一些开源的Turn服务器,如coturn和restund,是免费的。可以自由下载、安装和使用。

七、Turn服务器集群

Turn服务器也可以进行集群搭建。这可以通过在多个Turn服务器之间共享相同的用户帐号和密码来实现。这些集群可以在不同的地理位置上部署,以提高可用性和性能。


listening-port=3478
tls-listening-port=5349
listening-ip=
   
relay-ip=
    
external-ip=
     
realm=
      
server-name=
       
        user=
        
         :
         
         
        
       
      
     
    
   

八、Turn服务器怎么配置

在进行Turn服务器配置时,需要指定以下参数:

  • 听取的地址和端口
  • 是否使用TLS
  • 服务器名称
  • 认证方式
  • 允许的IP地址
  • 端口范围

可以通过修改/etc/turnserver.conf中的配置文件来进行配置。

九、Turn服务器和STUN作用

STUN服务器主要用于确定客户端的公网IP地址和端口,以便在NAT防火墙或其他网络限制情况下建立P2P连接。

而Turn服务器主要用于在无法直接建立P2P连接时,通过中转将两个客户端连接起来。

十、免费STUN服务器选取

有许多开源的STUN服务器可以免费使用,包括coturn、restund和stuntman等。

在WebRTC开发中最常使用的免费STUN服务器是Google提供的stun.l.google.com:19302和stun1.l.google.com:19302。

结束语

Turn服务器在解决WebRTC客户端之间直接连接难题上起着至关重要的作用。本文介绍了Turn服务器的端口、分配端口、搭建、作用、原理、免费、集群、配置和与STUN服务器的作用。希望可以帮助读者更好地理解Turn服务器。