Einleitung
In diesem Dokument wird die Konfiguration der StarOS-MTU-Schnittstelle, des APN und lokaler Abonnenten beschrieben.
StarOS verfügt über mehrere CLIs zur Konfiguration der MTU-Größe (Maximum Transmission Unit) für Schnittstellen, APNs und lokale Teilnehmerprofile.
Voraussetzungen
Anforderungen
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
Die Maximum Transmission Unit (MTU) definiert die größte Paketgröße, die eine Schnittstelle ohne Fragmentierung übertragen kann.
IP-Pakete, die größer als die MTU sind, müssen IP-Fragmentierungsverfahren durchlaufen.
Der MTU-Wert ist die Frame-Größe ohne Ethernet-Header, VLAN-Tagging oder anderen Overhead.
Konfigurieren
-
Schnittstelle MTU-Größenkonfiguration
configure
context context_name
interface interface_name
ip mtu bytes
end
Referenz: Befehlszeilenreferenz, Konfigurationsmodusbefehle für Ethernet-Schnittstellen, StarOS 21.23
Diese Konfiguration wird vom NPU/iftask/VPP des ASR5500/VPC erzwungen.
Diese Konfiguration arbeitet auf einer niedrigeren Ebene als die APN-MTU-Konfiguration, d. h., sie funktioniert auf IP/IPv6-Paketen und ist nicht tunnelfähig.
Genauer gesagt funktioniert es nur bei ausgehenden IP-Paketen (Daten + Strg) und fragmentiert die Pakete auf der Basis des konfigurierten Werts in kleinere Größen.
IP-MTU wird für normale Schnittstellen und Punkt-zu-Punkt-Schnittstellen (OLC-Ports) unterstützt.
Die maximal zulässige MTU-Größe bei einem OLC-Port ist 1600.
Die maximal zulässige MTU-Größe für einen Ethernet-Port ist 2048. Die MTU-Standardgröße ist 1500.
Die maximalen Größen für Ethernet-MTUs sind:
-
Konfiguration der MTU-Größe für den APN-Datentunnel
configure
context context_name
apn apn_name
pco-options link-mtu bytes
ppp mtu bytes
data-tunnel mtu bytes
policy ipv6 tunnel mtu exceed { fragment inner | notify-sender | fragment }
access-link ip-fragmentation { df-ignore | normal | df-fragment-and-icmp-notify }
end
- ppp mtu-Byte
Referenz: Befehlszeilenschnittstellenreferenz, Modi R - Z, StarOS 21.28
Diese Konfiguration steuert die Downlink-Datentunnel-MTU-Nutzlast für IPv4 auf StarOS Gateway. Pakete, die diese Größe überschreiten, werden fragmentiert und anschließend in Tunnels eingekapselt.
Der Wert ist eine ganze Zahl zwischen 100 und 2000. Standard: 1500
Wichtig: Die MTU bezieht sich auf die PPP-Nutzlast, die die beiden PPP-Oktetten ausschließt. Daher entspricht eine MTU von 1500 der 3GPP-Standard-MTU von 1502 für GTP-Pakete mit PPP-Payloads.
-
Datentunnel-MTU-Bytes
Referenz: Befehlszeilenschnittstellenreferenz, Modi R - Z, StarOS 21.28
Gemäß RFC-4861 unterstützt das P-GW das Senden der IPv6-MTU-Option in RAs für IPv6- und IPv4v6-PDN-Typen an die EU.
Das (Internet) kann jetzt ein Downlink-Datenpaket senden und basierend auf der konfigurierten MTU wird bei Bedarf eine Datenfragmentierung an der Quelle durchgeführt.
Diese Funktion reduziert auch die Anzahl der ICMPv6-Paketfehlermeldungen im Netzwerk des Kunden.
Diese Konfiguration steuert die MTU-Payload des Downlink-Datentunnels für IPv6.
Pakete, die diese Größe überschreiten, werden verworfen/fragmentiert, basierend auf der Richtlinienkonfiguration. Der Wert ist eine Ganzzahl zwischen 1280 und 2000. Standard: 1500
Vorsicht: Wie diese Funktion mit der TCP-MSS-Konfiguration interagiert.
RFC 6691 Auszug:
"""
2. Die kurze Erklärung
Bei der Berechnung des Werts, der in die TCP-MSS-Option eingegeben werden soll, muss die MTU
Der Wert SOLLTE nur um die Größe der festen IP- und TCP-IP-
-Headern und SOLLTEN NICHT reduziert werden, um mögliche IP- oder
TCP-Optionen; Umgekehrt MUSS der Sender die TCP-Datenlänge reduzieren
, um alle IP- oder TCP-Optionen zu berücksichtigen, die in der
gesendete Pakete. Der Rest dieses Dokuments erklärt nur
dieser Anweisung festgelegt ist, und das Ziel besteht darin, eine Fragmentierung der IP-Ebene
TCP-Pakete.
"""
Dies bedeutet, dass die tatsächliche Nutzlast für eine bestimmte TCP-MSS um die Bytes der TCP-Optionen reduziert wird.
Nehmen wir als Beispiel eine MSS von 1390 und TCP-Optionen von 12 Byte, dann beträgt die Nutzlast 1378 Byte.
PAYLOAD 1378 +
TCP 32 + = 1410 ( 1378B [PAYLOAD] + 12B [TCP-Optionen] = 1390B MSS)
IPv6 40 + = 1.450
GTPU 8 + = 1.462
UDP 8 + = 1.470
IP 20 + = 1490 <— "data-tunel mtu" wird hier verglichen
VLAN 4 + = 1494
ETH 14 = 1504
+---------------------------+ DT-MTU +-------------------------------+
| |
| +--------+ MSS +--------+
v v v
+----------+-----------------+--------+--------+--------+--------------------------------+
| Ethernet | VLAN | IPv4 | UDP | GTP | IPv6 | TCP | Payload + TCP Options |
| header | header | 20B | 8B | 8B | 40B | 20B | 1390B |
+----------+--------+--------+--------+--------+--------+--------+-----------------------+
Wenn die konfigurierte MTU-Größe für den Datentunnel unter 1490 liegt, wird die MTU-Überschreitungsrichtlinie auf das Paket angewendet.
-
policy ipv6 tunnel mtu übersteigt { fragment inner | Benachrichtigungsabsender | Fragment }
Referenz: Befehlszeilenschnittstellenreferenz, Modi R - Z, StarOS 21.28
Wenn wir dieses Paket auf der SGi-Schnittstelle berücksichtigen:
| Frame 81: 1514 bytes on wire (12112 bits), 1514 bytes captured (12112 bits)
1514 | 14 | Ethernet II, Src: fa:16:3e:5e:0a:23 (fa:16:3e:5e:0a:23), Dst: fa:16:3e:5d:f8:03 (fa:16:3e:5d:f8:03)
1500 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 70
1496 | 40 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6101
1456 | 1456 | Internet Control Message Protocol v6
Dabei stellt die erste Spalte die akkumulierten Bytes und die zweite Spalte die Länge des Headers dar.
- Splitterinneres
Das System führt eine interne IPv6-Fragmentierung am GTP-Tunnel-Initiator durch, der uns nutzt, wenn das Teilnehmerpaket nach der Kapselung die MTU überschreitet.
Das Paket auf S1-U wird wie folgt fragmentiert:
# Frag #1
| Frame 51: 1510 bytes on wire (12080 bits), 1510 bytes captured (12080 bits)
1510 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
1496 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
1492 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
1472 | 8 | User Datagram Protocol, Src Port: 1, Dst Port: 2152
1464 | 8 | GPRS Tunneling Protocol
1456 | 48 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6101
1408 | 1408 | Internet Control Message Protocol v6
# Frag #2
| Frame 52: 150 bytes on wire (1200 bits), 150 bytes captured (1200 bits)
150 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
136 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
132 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
112 | 8 | User Datagram Protocol, Src Port: 1408, Dst Port: 2152
104 | 8 | GPRS Tunneling Protocol
96 | 48 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6101
48 | 48 | Data (48 bytes)
- Absender der Benachrichtigung
Das System ist eine PMTU-Erkennung und sendet "ICMPv6 Packet Too Big" an den ursprünglichen Absender, wenn das Teilnehmerpaket nach der Kapselung die MTU überschreitet.
- Fragment
Das System führt eine äußere IPv6-Fragmentierung durch, wenn das Teilnehmerpaket nach der Kapselung die MTU überschreitet.
Das Paket auf S1-U wird wie folgt fragmentiert:
# Frag #1
| Frame 108: 1510 bytes on wire (12080 bits), 1510 bytes captured (12080 bits)
1510 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
1496 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
1492 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
1472 | 8 | User Datagram Protocol, Src Port: 2152, Dst Port: 2152
1464 | 8 | GPRS Tunneling Protocol
1456 | 40 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6201
1416 | 1416 | Internet Control Message Protocol v6
# Frag #2
| Frame 109: 78 bytes on wire (624 bits), 78 bytes captured (624 bits)
78 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
64 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
60 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
40 | 40 | Data (40 bytes)
-
access-link ip-fragmentation { df-ignore | normal | df-fragment-and-icmp-notify }
Referenz: Befehlszeilenschnittstellenreferenz, Modi R - Z, StarOS 21.28
- df-ignore
Als Standardkonfiguration fragmentiert StarOS Pakete immer unabhängig vom df-Bit.
- normal
Verwirft das Paket und sendet eine ICMP-Meldung, dass das Paket nicht erreichbar ist, an die Paketquelle.
- df-fragment-and-icmp-notify
Das DF-Bit wird teilweise ignoriert. fragmentiert das Paket und leitet es weiter, gibt jedoch auch eine ICMP-Fehlermeldung an die Paketquelle zurück.
-
pco-options link-mtu <>
Referenz: Befehlszeilenschnittstellenreferenz, Modi R - Z, StarOS 21.28
Konfiguriert APN so, dass Link-MTU in PCO IE aufgenommen wird, falls von UE angefordert.
Wenn UE eine IPv4-Link-MTU-Größe-PCO-Anforderung während der Verbindung mit der PDN (Initial Attach/Standalone PDN) sendet, sendet S-GW/SGSN/HSGW diese transparent in Create Session Request, Create/Update PDP Context Request oder PBU an P-GW, GGSN oder PMIP-PGW.
"Create Session Response" (Sitzungsantwort erstellen), "Create/Update PDP Context Response" (PDP-Kontextantwort erstellen) und "PBA" (PBA) werden mit dem zuletzt konfigurierten PCO-Wert für die MTU-Größe in APN gesendet.
Wenn UE sich im ausgehenden Roaming befindet, wird der Standardwert (1500) in der MTU-Größe PCO bereitgestellt.
-
Teilnehmerprofil (CDMA-Teilnehmer)
configure
context context_name
subscriber default
ipv6 minimum-link-mtu bytes
ppp mtu bytes
mobile-ipv6 tunnel mtu bytes
pco-options link-mtu bytes
end
Referenz: Befehlszeilenreferenz, Befehle des Subscriber-Konfigurationsmodus, StarOS 21.23
Überprüfung
Verwenden Sie diesen Abschnitt, um zu überprüfen, ob Ihre Konfiguration ordnungsgemäß funktioniert.
StarOS-Befehle zum Überprüfen der Konfiguration:
show configuration
show configuration verbose
show configuration apn apn_name
Fehlerbehebung
In diesem Abschnitt erhalten Sie Informationen zur Behebung von Fehlern in Ihrer Konfiguration.
- Abonnent mit minimaler Ausführlichkeit 3 überwachen - um PCO-Optionen zu sehen.
- Externe pcap - zur Anzeige der Paketfragmentierung