Rumah > hujung hadapan web > tutorial js > Protokol Stun, Pelabuhan dan Trafik

Protokol Stun, Pelabuhan dan Trafik

Patricia Arquette
Lepaskan: 2024-10-11 10:30:02
asal
231 orang telah melayarinya

STUN ialah protokol yang direka untuk mengatasi halangan dalam komunikasi yang diperkenalkan oleh NAT.

Protokol STUN membolehkan peranti yang berada di belakang NAT menemui alamat IP awam dan nombor port mereka sendiri.

Peranti berkomunikasi dengan pelayan STUN yang ada di internet dan pelayan STUN memberikan maklumat ini kepada peranti klien

Peranti kemudian boleh berkongsi maklumat ini dengan peranti atau peranti lain di Internet yang ingin digunakan untuk berkomunikasi

Ini membolehkan peranti luaran berkomunikasi antara satu sama lain secara langsung, melintasi NAT dengan berkesan

STUN penting dalam memudahkan komunikasi rakan ke rakan dalam masa nyata.

Jika anda ingin mengetahui lebih lanjut tentang apa itu pelayan STUN, maka anda boleh merujuk artikel kami: Stun Server: Apakah itu Session Traversal Utilities for NAT?


Stun Protocol, Port and Traffic

Memahami Masalah NAT

Penjelasan Terjemahan Alamat Rangkaian (NAT) dan penggunaannya yang meluas.

Penghala memetakan berbilang alamat IP peribadi ke alamat IP awam IP tunggal menggunakan teknik yang dipanggil NAT atau Terjemahan Alamat Rangkaian

Ini membolehkan berbilang peranti yang berada pada rangkaian tempatan menyambung ke Internet menggunakan satu IP awam.

Dengan itu menjimatkan bilangan alamat IPv4 yang terhad.

NAT menjadi meluas disebabkan oleh pertumbuhan eksponen dalam peranti yang disambungkan ke Internet dan terdapat kelewatan dalam menerima pakai IPv6 yang menawarkan ruang alamat yang lebih besar.

Isu yang Diperkenalkan oleh NAT dalam komunikasi rakan ke rakan

NAT menyekat komunikasi terus antara peranti dengan menyekat trafik masuk, mengubah pemetaan port dan menyembunyikan alamat IP awam daripada peranti yang berada di belakang NAT

Oleh itu, mengatasi halangan yang dicipta oleh NAT adalah penting untuk membolehkan komunikasi terus antara peranti yang berada pada rangkaian berbeza merentas internet

Penyelesaian transversal NAT seperti protokol STUN membenarkan peranti menemui alamat IP awam mereka sendiri dan merundingkan sambungan melalui penghala NAT

Banyak kali pelayan STUN tidak mencukupi untuk traversal NAT dan anda perlu berundur pada pelayan TURN

Jika anda melaksanakan komunikasi satu sama lain dan memerlukan pelayan STUN dan TURN yang boleh dipercayai maka anda boleh pertimbangkan

Projek Geganti Terbuka: Pelayan TURN / STUN percuma

Metered.ca TURN pelayan: Premium TURN pelayan dengan jangkauan global

Perkhidmatan seperti VoIP dan persidangan Video memerlukan pelayan STUN dan TURN.


Protokol STUN: Penyelesaian untuk NAT Traversal

Apa itu STUN?

STUN atau Session Traversal Utilities for NAT ialah protokol piawai yang ditakrifkan dalam RFC 5389 yang membolehkan peranti yang berada di belakang NAT atau firewall menemui alamat IP awam dan nombor PORT mereka sendiri

STUN juga membenarkan peranti dan aplikasi menemui jenis NAT yang berada di belakangnya dan mendapatkan maklumat yang diperlukan untuk mewujudkan saluran komunikasi langsung dengan peranti lain di internet

Kefungsian teras STUN termasuk:

  1. Penemuan alamat IP awam: STUN membenarkan peranti klien mempelajari alamat IP awamnya

  2. Pemetaan Port: STUN membantu peranti klien mengetahui nombor port yang telah diberikan oleh peranti NAT

  3. Pengesanan jenis NAT: Pelayan STUN membantu peranti klien mengetahui jenis peranti NAT di belakangnya. Jenis NAT termasuk NAT kon penuh, NAT kon terhad, NAT simetri dsb

  4. Memudahkan Komunikasi Peer-to-Peer: Oleh itu pelayan STUN memudahkan komunikasi peer-to-peer antara peranti


Cara STUN Berfungsi

Cara STUN membantu peranti untuk Menemui Alamat IP Awam dan nombor Port mereka sendiri

Apabila peranti pelanggan menghantar permintaan kepada pelayan STUN, yang ada di internet. Pelayan STUN boleh melihat alamat IP awam dan nombor port dari mana permintaan itu datang.

Pelayan STUN kemudian menghantar semula maklumat ini kepada pelanggan. Beginilah cara pelayan STUN membantu peranti menemui IP awam dan nombor port mereka sendiri yang diberikan kepada mereka oleh penghala NAT.

Proses ini membolehkan pelanggan untuk

  • Ketahui titik akhir awamnya: Fahami cara peranti lain melihatnya di Internet

  • Kongsi butiran pembetulan dengan rakan sebaya: Setelah peranti klien mendapat butiran daripada pelayan STUN, ia kemudiannya boleh berkongsinya dengan peranti lain di internet yang ingin digunakan untuk memulakan komunikasi

  • Suaikan gelagat NAT: Laraskan strategi tentang cara melintasi NAT berdasarkan jenis NAT yang peranti klien berada di belakang

Langkah demi Langkah cara STUN berfungsi

  1. Inisiasi Pelanggan

    1. Peranti klien menghantar permintaan kepada pelayan STUN menggunakan protokol UDP untuk mempelajari alamat IP awam dan nombor portnya sendiri
    2. Ia menghantar permintaan mengikat STUN melalui protokol datagram Pengguna UDP
  2. Sambutan pelayan STUN

    1. Pelayan STUN menerima permintaan dan mencatatkan IP sumber dan nombor port dari mana permintaan itu datang.
    2. Pelayan STUN kemudian bertindak balas dengan alamat IP dan nombor port, kembali kepada klien
  3. Tindak balas yang mengikat

    1. Pelayan STUN menerima mesej respons yang mengikat STUN
    2. Respons ini termasuk atribut MAPPED-ADDRESS, alamat IP awam pelanggan dan port.
  4. Resit pelanggan

    1. Peranti klien kemudiannya menerima respons yang mengikat daripada pelayan
    2. Peranti klien kemudian mendapatkan semula IP Awam dan nombor port daripada atribut MAPPED-ADDRESS
  5. Penemuan jenis NAT (pilihan):

    1. Klien kemudiannya boleh melakukan ujian tambahan daripada pelayan STUN yang berbeza untuk menentukan jenis NAT yang klien berada di belakang
    2. Ini melibatkan penghantaran permintaan berbeza dari port yang berbeza dan menilai respons
  6. Mewujudkan komunikasi

    1. Dengan alamat IP awam dan nombor port, peranti klien kemudiannya boleh berkongsi maklumat ini dengan peranti lain di Internet untuk mewujudkan komunikasi

STUN vs TURN dan Protokol ICE

STUN vs Kaedah Traversal NAT yang lain

  1. STUN ( Utiliti Traversal Sesi untuk NAT)

    1. Tujuan: Membolehkan peranti klien menemui IP awam dan nombor port mereka
    2. Kes Penggunaan: Baik untuk apabila NAT dan tembok api membenarkan komunikasi langsung rakan ke rakan selepas alamat IP awam diketahui.
    3. Penghadan: Tidak berfungsi apabila peraturan NAT dan tembok api adalah terhad.
  2. PULING (Perjalanan Menggunakan Geganti mengelilingi NAT)

    1. Tujuan: Menyediakan mekanisme sandaran dengan menyampaikan data melalui pelayan TURN apabila komunikasi langsung rakan ke rakan tidak dapat dilakukan
    2. Kes Penggunaan: Penting apabila peraturan NAT dan tembok api yang ketat tidak membenarkan komunikasi terus antara peranti di Internet
    3. Operasi: Semua trafik disulitkan dari hujung ke hujung dan dihantar melalui pelayan TURN, yang menyampaikan data kepada setiap pelanggan
    4. Tukar Balas: Anda perlu menghidupkan pelayan berhampiran peranti pelanggan, untuk mengurangkan kependaman dan meningkatkan komunikasi
  3. ICE (Penubuhan Ketersambungan Interaktif)

    1. Tujuan:ICE ialah rangka kerja yang menggabungkan STUN dan TURN untuk mewujudkan hubungan terbaik antara pelanggan.
    2. Kes Penggunaan: Digunakan dalam WebRTC dan sistem komunikasi masa nyata yang lain untuk mengendalikan pelbagai konfigurasi rangkaian
    3. Operasi

      1. Perhimpunan Calon: Pelanggan mula-mula mengumpulkan calon untuk melihat kemungkinan sambungan titik akhir, ini ditemui menggunakan hos, refleksif melalui STUN dan TURN
      2. Semakan ketersambungan: Pelanggan kemudian melakukan semakan untuk melihat menggunakan calon yang mereka boleh mewujudkan sambungan
      3. Pemilihan calon: Laluan optimum yang mempunyai kependaman terendah dipilih oleh rangka kerja ICE untuk mewujudkan komunikasi
    4. Kelebihan: Memaksimumkan peluang untuk mewujudkan sambungan sambil mengoptimumkan prestasi terbaik

Bila menggunakan STUN berbanding kaedah lain

  1. Gunakan STUN sahaja apabila

    1. Kedua-dua pelanggan berada di belakang NAT dan firewall yang membolehkan komunikasi terus selepas menemui alamat IP dan nombor port
    2. Kedua-dua pelanggan mempunyai sambungan internet yang baik dan persekitaran rangkaian boleh diramal, contohnya peranti tidak menukar rangkaian mereka seperti dalam kes telefon mudah alih dan lain-lain
  2. Gunakan STUN TURN dan ICE apabila

    1. Peranti berada di belakang peraturan NAT dan firewall yang ketat
    2. Persekitaran rangkaian berubah seperti dalam kes peranti mudah alih dll
    3. Kebolehpercayaan adalah penting, anda tidak boleh menyebabkan peranti diputuskan sambungan atas sebab tertentu atau yang lain

Ringkasan Pertimbangan

  • Prestasi

    • STUN 在連接附近的客戶端時表現良好,但也不太可靠,但它是一個免費選項
    • TURN 提供最佳效能,但需要靠近客戶端設備的伺服器以減少延遲。如今,您擁有全球轉彎伺服器服務,例如metered.ca,效果非常好
  • 複雜性:

    • STUN 的實作與使用非常簡單
    • TURN:非常簡單易用
  • 成功率:

    • STUN:它將在限制性 NAT 和防火牆規則中失敗
    • TURN:更可靠,可與限制性 NAT 和防火牆規則搭配使用

STUN 連接埠與流量處理

STUN 使用的預設連接埠

常用的UDP和TCP埠是3478和5349

STUN 協定使用特定的網路連接埠在客戶端和 STUN 伺服器之間進行通訊

  • UDP 連接埠

    • 端口 3478:這是 UDP 協定的 STUN 的預設端口,STUN 通常在 UDP 協定上運行,因為其開銷較低,通常使用端口 3478
    • 端口 5349:這通常是 UDP over DTLS 的端口,它為 UDP 通訊提供加密
  • TCP 連接埠

    • 連接埠 3478:STUN :當 UDP 不適合或被封鎖時,STUN 可以在 TCP 的 3478 連接埠上運作
    • 連接埠 5349:用於具有 TLS 的 STUN,TLS 是提供 TCP 連線的傳輸層安全性
  • 備用埠

    • 雖然這些是 STUN 伺服器的預設端口,但也可以配置任何其他端口用於 STUN 和 TURN 伺服器。
    • 出於安全原因,通常建議在其他連接埠上執行 STUN 伺服器。

連接埠使用的安全注意事項

  1. 暴露於連接埠掃描

    1. 攻擊者經常掃描互聯網尋找 STUN 伺服器的預設端口,將 STUN 伺服器保留在預設連接埠上可能會更容易受到此類偵察活動的影響
  2. 防火牆配置

    1. 入境流量

      1. 預設情況下,許多防火牆會阻止 STUN 連接埠上未經請求的入站流量,以防止未經授權的存取
      2. 防火牆僅允許入站流量,如果它是為了回應網路內設備發起的合法請求
    2. 出站流量:

      1. 僅允許出站流量流向受信任的 STUN 和 TURN 伺服器以及必要的連接埠。
  3. 使用加密

    1. STUN over TLS/DTLS(連接埠 5349):而 TURN 伺服器流量是端對端加密的。 STUN 伺服器流量不是,但您也可以啟用 STUN 加密。
  4. 定期更新和修補程式:當您執行自己的 STUN/TURN 伺服器時,您需要定期更新它們並修補它們以確保安全。

  5. 日誌記錄和監控:如果您執行自己的 STUN/TURN 伺服器以查找安全漏洞,請務必記錄和監控 STUN 和 TURN 伺服器


基於雲端的 STUN 伺服器與自架解決方案

基於雲端的 TURN 伺服器

  • 計量 TURN/STUN 伺服器: 透過 API 提供全球、可擴充、託管的 STUN 和 TURN 服務

  • Google 公共 STUN 伺服器:Google 提供免費 STUN 伺服器列表,您可以取得 Google STUN 伺服器列表

  • 開放中繼 TURN / STUN 伺服器:免費專屬的 TURN 伺服器

自架解決方案

  • Coturn STUN / TURN 伺服器:您可以使用開源專案cotton 運行自己的turn 伺服器。以下是關於:如何使用 coTURN 設定和設定 TURN 伺服器?

  • 的指南
  • AWS TURN 伺服器:您也可以在 AWS 上執行 coturn:以下是相關指南:AWS TURN 伺服器:7 個簡單步驟

  • Azure TURN 伺服器:您也可以在 Azure 上執行 TURN 伺服器。以下是相關指南:Azure TURN 伺服器:逐步指南。

  • TURN 伺服器成本:以下是有關運行您自己的 TURN 伺服器時的潛在成本和注意事項的指南:TURN 伺服器成本:完整指南


Stun Protocol, Port and Traffic

計量 TURN 伺服器

  1. API: 使用強大的 API 進行 TURN 伺服器管理。您可以執行以下操作:透過 API 新增/刪除憑證、透過 API 檢索每個使用者/憑證和使用者指標、透過 API 啟用/停用憑證、透過 API 按日期檢索使用資料。

  2. 全球地理位置定位:自動將流量定向到最近的伺服器,以實現盡可能低的延遲和最高的品質效能。全球任何地方的延遲均低於 50 毫秒

  3. 全球所有地區的伺服器:多倫多、邁阿密、舊金山、阿姆斯特丹、倫敦、法蘭克福、班加羅爾、新加坡、雪梨、首爾、達拉斯、紐約

  4. 低延遲: 低於 50 毫秒的延遲,在世界任何地方。

  5. 經濟高效:即用即付定價,並提供頻寬和批量折扣。

  6. 輕鬆管理: 取得使用日誌、帳戶達到門檻限制時的電子郵件、帳單記錄以及電子郵件和電話支援。

  7. 符合標準: 符合 UDP、TCP、TLS 和 DTLS 的 RFC 5389、5769、5780、5766、6062、6156、5245、5768、6336、925336、92536、92536、92536、92536。

  8. 多租用戶: 建立多個憑證並依客戶或不同應用程式分開使用。取得使用日誌、計費記錄和閾值警報。

  9. 企業可靠性: SLA 正​​常運作時間達 99.999%。

  10. 企業規模: 併發流量或總流量不限制。計量 TURN 伺服器提供企業可擴充性

  11. 每月 5 GB 免費: 透過免費方案每月獲得 5 GB 免費 TURN 伺服器使用量

  12. 在連接埠 80 和 443 上運作

  13. 支援 TURNS SSL 以允許透過深度封包偵測防火牆進行連線。

  14. 同時支援 TCP 和 UDP

  15. 免費無限制 STUN

Atas ialah kandungan terperinci Protokol Stun, Pelabuhan dan Trafik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan