9.1. In IP gekapselte IP-Pakete (IP Packets Encapsulated in IP)
Dieser Abschnitt spezifiziert die ECN-Behandlung für IP-in-IP-Tunnel.
9.1.1. Tunnel-Endpunkte
Ein IP-in-IP-Tunnel hat:
- Tunnel-Eintrittsknoten: Kapselt das ursprüngliche Paket
- Tunnel-Austrittsknoten: Dekapselt das Paket
9.1.2. Encapsulation (Tunnel-Eintritt)
Wenn ein Paket in einen Tunnel eintritt, MUSS der Tunnel-Eintrittsknoten:
Schritt 1: Äußeren Header erstellen
- Neuen IP-Header für das Tunnel-Paket erstellen
Schritt 2: Äußeres ECN-Feld setzen
Option 1: Limited-Functionality (Eingeschränkte Funktionalität)
- Setze äußeres ECN-Feld auf Not-ECT (00)
- Einfachste Option
- Funktioniert immer, nutzt aber ECN nicht im Tunnel
Option 2: Full-Functionality (Volle Funktionalität)
- Wenn inneres Paket Not-ECT hat: Setze äußeres auf Not-ECT
- Wenn inneres Paket ECT(0) oder ECT(1) hat: Setze äußeres auf ECT(0) oder ECT(1)
- Wenn inneres Paket CE hat: Setze äußeres auf ECT(0) oder ECT(1) (nicht CE)
Empfehlung: Full-Functionality wird empfohlen, wenn beide Tunnel-Endpunkte dies unterstützen.
Schritt 3: Inneres Paket unverändert
- Das innere Paket (einschließlich seines ECN-Feldes) bleibt unverändert
9.1.3. Decapsulation (Tunnel-Austritt)
Wenn ein Paket den Tunnel verlässt, MUSS der Tunnel-Austrittsknoten:
Schritt 1: Äußeren Header entfernen
- Entferne den äußeren IP-Header
Schritt 2: ECN-Felder kombinieren
Die Kombination hängt von beiden ECN-Feldern ab:
| Inneres ECN | Äußeres ECN | Resultierendes ECN |
|---|---|---|
| Not-ECT | Not-ECT | Not-ECT |
| Not-ECT | ECT(0) | Not-ECT |
| Not-ECT | ECT(1) | Not-ECT |
| Not-ECT | CE | verwerfen * |
| ECT(0) | Not-ECT | ECT(0) |
| ECT(0) | ECT(0) | ECT(0) |
| ECT(0) | ECT(1) | ECT(0) |
| ECT(0) | CE | CE |
| ECT(1) | Not-ECT | ECT(1) |
| ECT(1) | ECT(0) | ECT(1) |
| ECT(1) | ECT(1) | ECT(1) |
| ECT(1) | CE | CE |
| CE | Not-ECT | CE |
| CE | ECT(0) | CE |
| CE | ECT(1) | CE |
| CE | CE | CE |
Wichtige Regel:
- Wenn äußeres CE ist und inneres ECT: Setze resultierendes auf CE
- Wenn äußeres CE ist und inneres Not-ECT: Verwerfe das Paket *
* Dies sollte nicht auftreten, wenn Encapsulation korrekt ist.
Schritt 3: Weiterleitung
- Leite das resultierende Paket mit aktualisiertem ECN-Feld weiter
9.1.4. Zusammenfassung der Encap/Decap-Regeln
Encapsulation (Full-Functionality):
Inneres → Äußeres
Not-ECT → Not-ECT
ECT(0) → ECT(0) oder ECT(1)
ECT(1) → ECT(0) oder ECT(1)
CE → ECT(0) oder ECT(1)
Decapsulation:
Wenn (äußeres == CE) UND (inneres == ECT):
Resultierend = CE
Sonst wenn (äußeres == CE) UND (inneres == Not-ECT):
Paket verwerfen
Sonst:
Resultierend = Inneres (unverändert)
9.1.5. Tunnel-Interaktion mit AQM
Router innerhalb des Tunnels:
- Sehen nur den äußeren Header
- Können CE im äußeren Header setzen
- Das innere Paket bleibt unberührt bis zur Decapsulation
9.1.6. Verschachtelte Tunnel
Bei mehreren Tunnel-Ebenen:
- Jede Tunnel-Ebene wendet Encap/Decap-Regeln an
- CE-Information propagiert durch alle Ebenen
- Das endergebnis am endgültigen Austritt reflektiert alle Überlastung