0Pricing
Real-Time Streaming Systems (WebRTC + Live Data) · Lektion

Funktionsweise von STUN-Servern

Lernen Sie, wie STUN-Server (Session Traversal Utilities for NAT) Peers dabei helfen, ihre öffentlichen IP-Adressen und Portzuordnungen zu ermitteln.

Funktionsweise von STUN-Servern ist eine kostenlose Real-Time Streaming Systems (WebRTC + Live Data)-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Real-Time Streaming Systems (WebRTC + Live Data)-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Real-Time Streaming Systems (WebRTC + Live Data)-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

What is a STUN Server?

Welcome! Today we'll unravel the mystery of STUN servers. STUN stands for Session Traversal Utilities for NAT. It's a key technology that helps WebRTC connections work.

Its main job is to help devices behind a NAT (Network Address Translator) discover their public IP address and port number. This is crucial for establishing direct peer-to-peer connections.

NAT: A Quick Reminder

Remember NAT from our previous lesson? NAT helps multiple devices in a private network share a single public IP address. While great for conserving IPs, it hides your device's true network address from the outside world.

For WebRTC, this is a problem! Peers need to know each other's actual, routable addresses to connect directly. STUN is here to solve this.

STUN's Core Function: Discovery

Think of a STUN server as a friendly helper on the public internet. When your device wants to know its public identity, it asks the STUN server, "Hey, what's my public IP and port from your perspective?"

The STUN server replies with the public address it observed your request coming from. This is your device's public 'face' to the internet.

The STUN Request Flow

Here's how a STUN request typically works:

  • Your WebRTC client sends a 'binding request' to a known STUN server.
  • This request travels through your local network and then through your NAT.
  • The NAT modifies the packet, assigning a public IP and port before sending it out.
  • The STUN server receives this request.

Understanding the STUN Response

When the STUN server gets your request, it records the source IP and port of the incoming packet. This is what it sees as your public address.

It then sends a 'binding response' back to your client, containing this observed public IP and port. Your client now knows how it appears to the outside world!

Binding Requests in Detail

The 'binding request' isn't just a simple 'hello'. It's a specific message format defined by the STUN protocol.

  • It contains a transaction ID to match requests with responses.
  • It asks the server to reflect the client's observed network address.
  • The response carries attributes like XOR-MAPPED-ADDRESS, which is the public IP and port.

STUN & WebRTC's ICE

STUN servers are a fundamental part of WebRTC's ICE (Interactive Connectivity Establishment) framework.

ICE uses STUN (and sometimes TURN) to gather all possible network addresses (called 'candidates') for a peer. These candidates include local IPs, public IPs (from STUN), and relayed IPs (from TURN).

Configuring STUN in WebRTC

In WebRTC, you configure STUN servers as part of your RTCPeerConnection setup. The browser then handles the communication with the STUN server automatically to gather ICE candidates.

Here's how you define a STUN server for your peer connection:

const configuration = {
  iceServers: [
    {
      urls: 'stun:stun.l.google.com:19302'
    }
  ]
};

const peerConnection = new RTCPeerConnection(configuration);

// The browser will now use the STUN server
// to discover public IP/port for ICE candidates.

STUN vs. NAT Types

STUN works very well with certain types of NATs, like Full Cone NAT and Restricted Cone NAT, where the mapping of internal to external ports is consistent.

However, STUN can struggle with more complex NATs, such as Symmetric NATs. For these, a TURN server (which we'll cover next!) is often required to relay traffic.

Test Your STUN Knowledge

Which of the following best describes the primary role of a STUN server in WebRTC?

STUN: Your NAT Helper

Great job! You've learned that STUN (Session Traversal Utilities for NAT) servers are vital for WebRTC.

  • They help devices behind NATs find their public IP and port.
  • This discovery is crucial for ICE to gather connectivity candidates.
  • STUN works well for many NAT types, but not all.

Next, we'll explore TURN servers, which tackle the toughest NAT challenges!

Häufig gestellte Fragen

Ist die Lektion „Funktionsweise von STUN-Servern“ kostenlos?

Ja — der vollständige Text von „Funktionsweise von STUN-Servern“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Real-Time Streaming Systems (WebRTC + Live Data)-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Real-Time Streaming Systems (WebRTC + Live Data)-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Funktionsweise von STUN-Servern“?

Lernen Sie, wie STUN-Server (Session Traversal Utilities for NAT) Peers dabei helfen, ihre öffentlichen IP-Adressen und Portzuordnungen zu ermitteln. Du übst Real-Time Streaming Systems (WebRTC + Live Data) mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Real-Time Streaming Systems (WebRTC + Live Data) zu starten?

Keine Vorkenntnisse erforderlich. Real-Time Streaming Systems (WebRTC + Live Data) auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Funktionsweise von STUN-Servern“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Real-Time Streaming Systems (WebRTC + Live Data)-Lektion Code schreiben und ausführen?

Ja. Jede Real-Time Streaming Systems (WebRTC + Live Data)-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Herausforderungen durch NAT und Firewalls
  2. Funktionsweise von STUN-Servern
  3. TURN-Server für weitergeleitete Verbindungen
  4. Eigenen TURN-Server bereitstellen und absichern
← Zurück zu Real-Time Streaming Systems (WebRTC + Live Data)