一、Turn伺服器埠
Turn伺服器需要佔用至少一個埠。不同的Turn伺服器可以同時佔用多個埠。默認情況下,Turn伺服器的埠是3478。但是,在防火牆或路由器中需要開放相應的埠以允許通過Turn伺服器進行通信。可以通過在Turn伺服器的配置文件中指定相應的埠。
二、Turn伺服器分配埠
Turn伺服器分配埠用於在NAT防火牆或其他網路限制條件下的客戶端之間創建直接連接。這些埠是動態地分配給客戶端的。當客戶端需要在網路上建立直接連接時,Turn伺服器會從分配埠池中隨機選擇一個未被佔用的埠。
這些分配的埠並不是一直被佔用,而是在一定時間內進行保留。在超時時間(通常是1分鐘)內,埠會一直保留。在此期間內,如果客戶端需要重新使用分配的埠,則可以直接在Turn伺服器上找到該埠。
三、Turn伺服器搭建
搭建Turn伺服器需要以下三步:
- 安裝Turn伺服器軟體。
- 配置Turn伺服器。
- 啟動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伺服器。
原創文章,作者:WYZD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/148529.html