概要
このドキュメントでは、StarOS MTUインターフェイス、APN、およびローカルサブスクライバを設定する方法について説明します。
StarOSには、インターフェイス、APN、およびローカル加入者プロファイルの最大伝送ユニット(MTU)サイズを設定するための複数のCLIがあります。
前提条件
要件
このドキュメントに特有の要件はありません。
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
背景説明
最大伝送単位(MTU)は、インターフェイスがフラグメント化することなく送信できるパケットの最大サイズを定義します。
MTU よりも大きい IP パケットは、IP フラグメント化の手順を経ることが必要です。
MTU値は、イーサネットヘッダー、VLANタギング、またはその他のオーバーヘッドのないフレームサイズです。
設定
configure
context context_name
interface interface_name
ip mtu bytes
end
参考資料コマンドラインインターフェイスリファレンス、イーサネットインターフェイスコンフィギュレーションモードコマンド、StarOS 21.23
この設定は、ASR5500/VPCのNPU/iftask/VPPによって適用されます。
この設定は、APN MTU設定よりも低いレイヤで動作します。つまり、ip/ipv6 pktsで動作し、トンネルを認識しません。
より具体的には、発信IPパケット(データ+ ctrl)でのみ動作し、設定された値に基づいてパケットをより小さなサイズにフラグメント化します。
IP MTUは、通常のインターフェイスおよびポイントツーポイントインターフェイス(OLCポート)でサポートされています。
OLCポートで許可される最大MTUサイズは1600です。
イーサネットポートで許可される最大MTUサイズは2048です。デフォルトのMTUサイズは1500です。
イーサネットMTUの最大サイズは次のとおりです。
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バイト
参考資料コマンドラインインターフェイスリファレンス、APNコンフィギュレーションモードコマンド、StarOS 21.23
この設定は、StarOSゲートウェイのIPv4のダウンリンクデータトンネルMTUペイロードを制御します。このサイズを超えるパケットはフラグメント化された後、トンネルカプセル化されます。 値は100 ~ 2000の整数です。デフォルト:1,500
重要: MTUは、2つのPPPオクテットを除外するPPPペイロードを参照します。したがって、1500のMTUは、PPPペイロードを持つGTPパケットの3GPP標準MTU 1502に対応します。
-
data-tunnel mtu バイト
参考資料コマンドラインインターフェイスリファレンス、APNコンフィギュレーションモードコマンド、StarOS 21.23
RFC-4861によると、P-GWはIPv6およびIPv4v6 PDNタイプのRAでのIPv6 MTUオプションのUEへの送信をサポートします。
これで(インターネット)はダウンリンクデータパケットを送信できるようになり、設定されたMTUに基づいて、必要に応じて送信元でデータフラグメンテーションが実行されます。
この機能により、お客様のネットワーク内のICMPv6 Packet Too Bigエラーメッセージの数も削減されます。
この設定は、IPv6のダウンリンクデータトンネルMTUペイロードを制御します。
このサイズを超えるパケットは、「ポリシー」設定に基づいてドロップ/フラグメント化されます。値は1280 ~ 2000の整数です。デフォルト:1,500
注意:この機能とTCP MSS設定とのインタラクション。
RFC 6691の抜粋:
""
2.短い声明
TCP MSSオプションに含める値を計算する場合、MTU
値は固定IPとTCPのサイズだけ小さくする必要がある
ヘッダーを減らして、IPアドレスや
TCPオプション逆に、送信側はTCPデータ長を短くする必要があります
に含まれているIPまたはTCPオプションを考慮する
パケットを送信します。このドキュメントの残りの部分は、
IPレベルのフラグメンテーションを回避することを目的としています
TCPパケット。
""
これは、特定のTCP MSSのTCPオプションバイトによって実際のペイロードが削減されることを意味します。
例として1390のMSSと12バイトのTCPオプションを取り上げると、ペイロードは1378バイトになります。
ペイロード1378 +
TCP 32 + = 1410(1378B [ペイロード] + 12B [TCPオプション] = 1390B MSS)
IPv6 40 + = 1450
GTPU 8 + = 1462
UDP 8 + = 1470
IP 20 + = 1490 < – 「data-tunel mtu」を比較します
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 |
+----------+--------+--------+--------+--------+--------+--------+-----------------------+
上記の場合、設定されたデータトンネルMTUが1490未満の場合、mtu exceedポリシーがパケットに適用されます。
-
policy ipv6 tunnel mtu exceed { fragment inner | notify-sender | fragment }
参考資料コマンドラインインターフェイスリファレンス、APNコンフィギュレーションモードコマンド、StarOS 21.23
SGiインターフェイスで次のパケットが見られる場合:
| 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
最初の列は累積バイトを表し、2番目の列はヘッダー長を表します。
– フラグメントインナー
システムは、カプセル化の後にサブスクライバパケットがMTUを超えると、GTPトンネルの発信側で内部IPv6フラグメンテーションを実行します。
S1-Uのパケットは次のようにフラグメント化されます。
# 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)
- notify-sender
システムはPMTUディスカバリであり、カプセル化の後にサブスクライバパケットがMTUを超えると、「ICMPv6 Packet Too Big」を元の送信元に送信します。
– フラグメント
カプセル化の後にサブスクライバパケットがMTUを超えると、システムは外部IPv6フラグメンテーションを実行します。
S1-Uのパケットは次のようにフラグメント化されます。
# 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 |標準 | df-fragment-and-icmp-notify }
参考資料コマンドラインインターフェイスリファレンス、APNコンフィギュレーションモードコマンド、StarOS 21.23
- df-ignore
デフォルト設定のStarOSはdfビットに関係なく常にパケットをフラグメント化します。
-通常
パケットをドロップし、ICMP到達不能メッセージをパケットの送信元に送信します。
- df-fragment-and-icmp-notify
DFビットを部分的に無視します。パケットをフラグメント化して転送しますが、パケットの送信元にICMPエラーメッセージも返します。
-
pco-options link-mtu <>
参考資料コマンドラインインターフェイスリファレンス、APNコンフィギュレーションモードコマンド、StarOS 21.23
APNがUEから要求された場合、PCO IEにリンクMTUを含めるように設定します。
UEが初期接続/スタンドアロンPDN接続中にIPv4リンクMTUサイズPCO要求を送信すると、S-GW/SGSN/HSGWは、Create Session Request、Create/Update PDP Context Request、またはPBUに透過的に送信しますPMIP-PGW。
セッション応答の作成、PDPコンテキスト応答の作成/更新/PBAは、APNで最新の設定済みMTUサイズPCO値とともに送信されます。
UEが発信ローミングの場合、デフォルト値(1500)がMTUサイズのPCOで提供されます。
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
参考資料コマンドラインインターフェイスリファレンス、サブスクライバコンフィギュレーションモードコマンド、StarOS 21.23
確認
ここでは、設定が正常に機能しているかどうかを確認します。
設定を確認するには、次のStarOSコマンドを使用します。
show configuration
show configuration verbose
show configuration apn apn_name
トラブルシュート
ここでは、設定のトラブルシューティングに使用できる情報を示します。
- monitor subscriber with minimum verbosity 3:PCOオプションを表示します。
– 外部pcap:パケットのフラグメンテーションを表示します。