このドキュメントでは、Cisco IOS® XR ルータの最大伝送ユニット(MTU)の動作について説明し、その動作を Cisco IOS ルータと比較します。また、イーサネット仮想コネクション(EVC)モデルと非 EVC モデルの両方を使用するルーテッド レイヤ 3(L3)インターフェイスとレイヤ 2 VPN(L2VPN)L2 インターフェイス上の MTU についても説明します。さらに、リリース 5.1.1 以降でのイーサネット インターフェイス ドライバ MTU と最大受信ユニット(MRU)の自動設定方法に関する重要な変更についても説明します。
コンピュータ ネットワークでは、レイヤの通信プロトコルの MTU により、レイヤが 1 つのインターフェイスで送信できる最大プロトコル データ ユニットのサイズ(バイト単位)が定義されます。各インターフェイス、レイヤ、およびプロトコルに 1 つの MTU パラメータが関連付けられます。
Cisco IOS XR ソフトウェアの MTU の特性は次のとおりです。
以下では、MTU の特性を説明し、Cisco IOS ソフトウェアと Cisco IOS XR ソフトウェアの動作を比較するとともに、これらのタイプのインターフェイスの例を提示します。
このセクションでは、MTU の特性に関連して Cisco IOS ソフトウェアと Cisco IOS XR ソフトウェアの動作を比較します。
Cisco IOS ソフトウェアでは、mtu コマンドと対応する show コマンドには L2 ヘッダーは含まれていません。L2 ペイロードを、L3 ヘッダーを含む L3 パケットの最大サイズに設定するには、mtu コマンドを使用します。
これは、mtu コマンドに L2 ヘッダーが含まれる(イーサネットの場合は 14 バイト、PPP/HDLC の場合は 4 バイト)Cisco IOS XR ソフトウェアとは異なっています。
Cisco IOS ルータが mtu x で設定され、Cisco IOS XR ルータに接続されている場合、Cisco IOS XR ルータ上の対応するインターフェイスは、イーサネット インターフェイスの場合は mtu x+14 、シリアル インターフェイスの場合は mtu x+4 で設定する必要があります。
Cisco IOSとCisco IOS XRソフトウェアでは、ipv4 mtu、ipv6 mtu、およびmpls mtuコマンドの意味が同じです。これらのコマンドは同じ値で設定する必要があります。
そのため、Cisco IOS ソフトウェアのイーサネット インターフェイスでの設定は次のようになります。
mtu 9012
ipv4 mtu 9000
ipv6 mtu 9000
Cisco IOS XR ソフトウェア ネイバーでの対応する設定は次のとおりです。
mtu 9026
ipv4 mtu 9000
ipv6 mtu 9000
MTU 値は、L2 ネットワークに接続されているすべてのデバイスで同じにする必要があります。同じでない場合、次の症状が報告される可能性があります。
このセクションでは、mtu コマンドが設定されていない場合の、ルーテッド インターフェイスのデフォルトの MTU を分析します。
RP/0/RP0/CPU0:motorhead#sh run int gigabitEthernet 0/1/0/3
interface GigabitEthernet0/1/0/3
cdp
ipv4 address 10.0.1.1 255.255.255.0
ipv6 address 2001:db8::1/64
!
RP/0/RP0/CPU0:router#sh int gigabitEthernet 0/1/0/3 | i MTU
MTU 1514 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router#show im database interface gigabitEthernet 0/1/0/3
View: OWN - Owner, L3P - Local 3rd Party, G3P - Global 3rd Party,
LDP - Local Data Plane, GDP - Global Data Plane, RED - Redundancy
Node 0/1/CPU0 (0x11)
Interface GigabitEthernet0/1/0/3, ifh 0x01180100 (up, 1514)
Interface flags: 0x000000000010059f (IFCONNECTOR|IFINDEX
|SUP_NAMED_SUB|BROADCAST|CONFIG|HW|VIS|DATA
|CONTROL)
Encapsulation: ether
Interface type: IFT_GETHERNET
Control parent: None
Data parent: None
Views: GDP|LDP|L3P|OWN
Protocol Caps (state, mtu)
-------- -----------------
None ether (up, 1514)
arp arp (up, 1500)
clns clns (up, 1500)
ipv4 ipv4 (up, 1500)
mpls mpls (up, 1500)
ipv6 ipv6_preswitch (up, 1500)
ipv6 ipv6 (down, 1500)
ether_sock ether_sock (up, 1500)
RP/0/RP0/CPU0:router#show ipv4 interface gigabitEthernet 0/1/0/3 | i MTU
MTU is 1514 (1500 is available to IP)
RP/0/RP0/CPU0:router#show ipv6 interface gigabitEthernet 0/1/0/3 | i MTU
MTU is 1514 (1500 is available to IPv6)
RP/0/RP0/CPU0:router#sh mpls interfaces gigabitEthernet 0/1/0/3 private location 0/1/CPU0
Interface IFH MTU
-------------- ---------- -----
Gi0/1/0/3 0x01180100 1500
RP/0/RP0/CPU0:router#
この例では、デフォルトの L2 インターフェイス MTU は 1514 バイトで、これにはイーサネット ヘッダーの 14 バイトが含まれています。14 バイトの内訳は、宛先 MAC アドレスが 6 バイト、送信元 MAC アドレスが 6 バイト、タイプまたは長さが 2 バイトです。これには、プリアンブル、フレーム デリミタ、フレーム チェック シーケンス(FCS)の 4 バイト、フレーム間ギャップは含まれません。PPPまたはHDLCフレームの場合は、L2ヘッダーの4バイトが考慮されるため、デフォルトのインターフェイスMTUは1504バイトになります。
L3 子プロトコルは、親 MTU のペイロードから MTU を継承します。1514 バイトの L2 MTU から L2 ヘッダーの 14 バイトを引くと、L2 ペイロードは 1500 バイトになります。これが L3 プロトコルの MTU になります。IPv4、IPv6、MPLS、および Connectionless Network Service(CLNS)はこの 1500 バイトの MTU を継承します。そのため、Cisco IOS XR イーサネット インターフェイスはデフォルトで 1500 バイトの L3 パケットを転送できます。これは Cisco IOS イーサネット インターフェイスのデフォルトと同じです。
このセクションでは、1500 バイトの IPv4 パケットを、パケットの先頭に 4 バイトの MPLS タグを 2 つ付加して送信するために、1508 バイトの mpls mtu を設定する方法を示します。
RP/0/RP0/CPU0:router#conf
RP/0/RP0/CPU0:router(config)#int gig 0/1/0/3
RP/0/RP0/CPU0:router(config-if)#mpls mtu 1508
RP/0/RP0/CPU0:router(config-if)#commit
RP/0/RP0/CPU0:Mar 12 00:36:49.807 CET: config[65856]: %MGBL-CONFIG-6-DB_COMMIT : Configuration
committed by user 'root'. Use 'show configuration commit changes 1000000124' to view the
changes.RP/0/RP0/CPU0:router(config-if)#end
RP/0/RP0/CPU0:Mar 12 00:36:54.188 CET: config[65856]: %MGBL-SYS-5-CONFIG_I : Configured
from console by root on vty0 (10.55.144.149)
RP/0/RP0/CPU0:router#sh mpls interfaces gigabitEthernet 0/1/0/3 private location 0/1/CPU0
Interface IFH MTU
-------------- ---------- -----
Gi0/1/0/3 0x01180100 1500
RP/0/RP0/CPU0:router#show im database interface gigabitEthernet 0/1/0/3
View: OWN - Owner, L3P - Local 3rd Party, G3P - Global 3rd Party,
LDP - Local Data Plane, GDP - Global Data Plane, RED - Redundancy
Node 0/1/CPU0 (0x11)
Interface GigabitEthernet0/1/0/3, ifh 0x01180100 (up, 1514)
Interface flags: 0x000000000010059f (IFCONNECTOR|IFINDEX
|SUP_NAMED_SUB|BROADCAST|CONFIG|HW|VIS|DATA
|CONTROL)
Encapsulation: ether
Interface type: IFT_GETHERNET
Control parent: None
Data parent: None
Views: GDP|LDP|L3P|OWN
Protocol Caps (state, mtu)
-------- -----------------
None ether (up, 1514)
arp arp (up, 1500)
clns clns (up, 1500)
ipv4 ipv4 (up, 1500)
mpls mpls (up, 1500)
ipv6 ipv6_preswitch (up, 1500)
ipv6 ipv6 (down, 1500)
ether_sock ether_sock (up, 1500)
RP/0/RP0/CPU0:router#
mpls mtu 1508 コマンドはコミットされますが、show コマンドの出力で MPLS の MTU が 1500 バイトのままであるため、適用はされていません。これは、L3 子プロトコルは親の L2 インターフェイスのペイロードよりも大きい MTU を持つことができないためです。
1500 バイトの IP パケットの先頭に 2 つのラベルを割り当てるには、次の手順を実行する必要があります。
RP/0/RP0/CPU0:router#sh run int gig 0/1/0/3
interface GigabitEthernet0/1/0/3
cdp
mtu 1522
ipv4 mtu 1500
ipv4 address 10.0.1.1 255.255.255.0
ipv6 mtu 1500
ipv6 address 2001:db8::1/64
!
!
RP/0/RP0/CPU0:router#show im database interface gigabitEthernet 0/1/0/3
View: OWN - Owner, L3P - Local 3rd Party, G3P - Global 3rd Party,
LDP - Local Data Plane, GDP - Global Data Plane, RED - Redundancy
Node 0/1/CPU0 (0x11)
Interface GigabitEthernet0/1/0/3, ifh 0x01180100 (up, 1522)
Interface flags: 0x000000000010059f (IFCONNECTOR|IFINDEX
|SUP_NAMED_SUB|BROADCAST|CONFIG|HW|VIS|DATA
|CONTROL)
Encapsulation: ether
Interface type: IFT_GETHERNET
Control parent: None
Data parent: None
Views: GDP|LDP|L3P|OWN
Protocol Caps (state, mtu)
-------- -----------------
None ether (up, 1522)
arp arp (up, 1508)
clns clns (up, 1508)
ipv4 ipv4 (up, 1500)
mpls mpls (up, 1508)
ipv6 ipv6_preswitch (up, 1508)
ipv6 ipv6 (down, 1500)
ether_sock ether_sock (up, 1508)
RP/0/RP0/CPU0:router#
この設定により、1500 バイトの IPv4 および IPv6 パケットと 1508 バイトの MPLS パケット(先頭に 2 つのタグが付いた 1500 バイトのパケット)を送信できます。
ルーテッド L3 サブインターフェイスには次の特性があります。
ルーテッドサブインターフェイスMTUは、親メインインターフェイスのMTUを継承します。サブインターフェイスで設定されたVLANタグごとに4バイトを追加します。したがって、dot1q サブインターフェイスの場合は 4 バイト、IEEE 802.1Q トンネリング(QinQ)の場合は 8 バイトあります。
そのため、メイン インターフェイスとサブインターフェイスの両方で同じサイズの L3 パケットを転送できます。
mtu コマンドは、サブインターフェイスで設定できますが、メイン インターフェイスから継承された MTU と等しいか、それよりも小さい場合にのみ適用されます。
これは、メイン インターフェイスの MTU が 2000 バイトの場合の例です。
RP/0/RP0/CPU0:router#sh run int gig 0/1/0/3
interface GigabitEthernet0/1/0/3
cdp
mtu 2000
!
RP/0/RP0/CPU0:router#sh run int gig 0/1/0/3.100
interface GigabitEthernet0/1/0/3.100
ipv4 address 10.0.2.1 255.255.255.0
ipv6 address 2001:db9:0:1::1/64
dot1q vlan 100
!
RP/0/RP0/CPU0:router#sh int gig 0/1/0/3.100 | i MTU
MTU 2004 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router#show im database interface gigabitEthernet 0/1/0/3.100
View: OWN - Owner, L3P - Local 3rd Party, G3P - Global 3rd Party,
LDP - Local Data Plane, GDP - Global Data Plane, RED - Redundancy
Node 0/1/CPU0 (0x11)
Interface GigabitEthernet0/1/0/3.100, ifh 0x01180260 (up, 2004)
Interface flags: 0x0000000000000597 (IFINDEX|SUP_NAMED_SUB
|BROADCAST|CONFIG|VIS|DATA|CONTROL)
Encapsulation: dot1q
Interface type: IFT_VLAN_SUBIF
Control parent: GigabitEthernet0/1/0/3
Data parent: GigabitEthernet0/1/0/3
Views: GDP|LDP|L3P|OWN
Protocol Caps (state, mtu)
-------- -----------------
None vlan_jump (up, 2004)
None dot1q (up, 2004)
arp arp (up, 1986)
ipv4 ipv4 (up, 1986)
ipv6 ipv6_preswitch (up, 1986)
ipv6 ipv6 (down, 1986)
RP/0/RP0/CPU0:router#
showコマンドでは、サブインターフェイスのMTUは2004です。サブインターフェイスの下に1つのdot1qタグが設定されているため、メインインターフェイスのMTUに4バイトを追加します。
ただし、IPv4 および IPv6 パケットの MTU は、メイン インターフェイスの MTU と同じままです(1986)。 これは、L3プロトコルのMTUが2004 - 14 - 4 = 1986として計算されるようになったためです。
mtu コマンドはサブインターフェイスで設定できますが、設定した MTU はメイン インターフェイスから継承された MTU と等しいか、それよりも小さい場合にのみ適用されます(メイン インターフェイスの MTU より 4 バイト大きい)。
サブインターフェイスの MTU が、継承された MTU よりも大きい場合は、次に示すようにその MTU は適用されません。
RP/0/RP0/CPU0:router#sh int gig 0/1/0/3.100 | i MTU
MTU 2004 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router#conf
RP/0/RP0/CPU0:router(config)#int gig 0/1/0/3.100
RP/0/RP0/CPU0:router(config-subif)#mtu 2100
RP/0/RP0/CPU0:router(config-subif)#commit
RP/0/RP0/CPU0:router(config-subif)#end
RP/0/RP0/CPU0:router#sh int gig 0/1/0/3.100 | i MTU
MTU 2004 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router#
そのため、mtu コマンドは、メイン インターフェイスから継承された MTU の値を小さくするためにのみ使用できます。
同様に、サブインターフェイス L2 のペイロードから継承された L3 MTU の値を小さくするために、L3 プロトコル(IPv4、IPv6、MPLS)の MTU コマンドを使用することもできます。L3 プロトコルの MTU は、L2 MTU のペイロードに収まらない値に設定されている場合は、有効ではありません。
擬似回線(PW)の両側の接続回路の MTU が同じでない場合、Label Distribution Protocol(LDP)によって PW が起動されないため、L2VPN の MTU が重要になります。
次の show コマンドの出力は、MTU の不一致のために L2VPN PW が起動されない状態を示しています。
RP/0/RP0/CPU0:router1#sh l2vpn xconnect
Legend: ST = State, UP = Up, DN = Down, AD = Admin Down, UR = Unresolved,
SB = Standby, SR = Standby Ready, (PP) = Partially Programmed
XConnect Segment 1 Segment 2
Group Name ST Description ST Description ST
------------------------ ----------------------------- -----------------------------
mtu mtu DN Gi0/0/0/2.201 UP 10.0.0.12 201 DN
----------------------------------------------------------------------------------------
RP/0/RP0/CPU0:router1#sh l2vpn xconnect detail
Group mtu, XC mtu, state is down; Interworking none
AC: GigabitEthernet0/0/0/2.201, state is up
Type VLAN; Num Ranges: 1
VLAN ranges: [201, 201]
MTU 2000; XC ID 0x1080001; interworking none
Statistics:
packets: received 0, sent 0
bytes: received 0, sent 0
drops: illegal VLAN 0, illegal length 0
PW: neighbor 10.0.0.12, PW ID 201, state is down ( local ready )
PW class mtu-class, XC ID 0xfffe0001
Encapsulation MPLS, protocol LDP
Source address 10.0.0.2
PW type Ethernet, control word disabled, interworking none
PW backup disable delay 0 sec
Sequencing not set
PW Status TLV in use
MPLS Local Remote
------------ ------------------------------ -----------------------------
Label 16046 16046
Group ID 0x1080100 0x6000180
Interface GigabitEthernet0/0/0/2.201 GigabitEthernet0/1/0/3.201
MTU 2000 1986
Control word disabled disabled
PW type Ethernet Ethernet
VCCV CV type 0x2 0x2
(LSP ping verification) (LSP ping verification)
VCCV CC type 0x6 0x6
(router alert label) (router alert label)
(TTL expiry) (TTL expiry)
------------ ------------------------------ -----------------------------
Incoming Status (PW Status TLV):
Status code: 0x0 (Up) in Notification message
Outgoing Status (PW Status TLV):
Status code: 0x0 (Up) in Notification message
MIB cpwVcIndex: 4294836225
Create time: 18/04/2013 16:20:35 (00:00:37 ago)
Last time status changed: 18/04/2013 16:20:43 (00:00:29 ago)
Error: MTU mismatched
Statistics:
packets: received 0, sent 0
bytes: received 0, sent 0
RP/0/RP0/CPU0:router1#
RP/0/RP0/CPU0:router1#sh int GigabitEthernet0/0/0/2 | i MTU
MTU 2014 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#sh int GigabitEthernet0/0/0/2.201 | i MTU
MTU 2018 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#
この例では、PW を起動させるために、両側の MPLS L2VPN プロバイダー エッジ(PE)が同じ MTU 値を送出する必要がある点に注意してください。
MPLS LDP で送出された MTU には L2 オーバーヘッドが含まれていません。これは、L2 オーバーヘッドを含む XR インターフェイスの config および show コマンドとは異なります。サブインターフェイスの MTU は 2018 バイトですが(2014 バイトのメイン インターフェイスから継承されるため)、LDP は 2000 バイトの MTU を送出しました。 したがって、L2 ヘッダーから 18 バイト(イーサネット ヘッダーの 14 バイト + 1 つの dot1q タグの 4 バイト)を引きます。
MTU の不一致を修正するには、各デバイスが接続回線の MTU 値をどのように計算するかを理解することが重要です。これは、ベンダー、プラットフォーム、ソフトウェア バージョン、設定などのパラメータに依存します。
Cisco ASR 9000 シリーズ アグリゲーション サービス ルータは、EVC インフラストラクチャ モードを使用します。これにより、L2VPN L2 インターフェイスおよびサブインターフェイスで柔軟に VLAN を一致させることができます。
EVC L2VPN L2 インターフェイスには次の特性があります。
サブインターフェイス MTU を計算するには、メイン インターフェイス MTU(デフォルトまたはメイン インターフェイスで手動で設定されたもの)を取得し、encapsulation コマンドで設定された VLAN タグごとに 4 バイトを追加します。「特定の EFP Encapsulation コマンド」を参照してください。
サブインターフェイスで mtu コマンドが設定されている場合は、計算された MTU より小さい場合にのみ有効です。rewrite コマンドは、サブインターフェイス MTU に影響しません。
以下が一例です。
RP/0/RSP0/CPU0:router2#sh run int gig 0/1/0/3
interface GigabitEthernet0/1/0/3
cdp
mtu 2014
negotiation auto
!
RP/0/RSP0/CPU0:router2#sh run int gig 0/1/0/3.201
interface GigabitEthernet0/1/0/3.201 l2transport
encapsulation dot1q 201 second-dot1q 10
rewrite ingress tag pop 2 symmetric
!
RP/0/RSP0/CPU0:router2#
RP/0/RSP0/CPU0:router2#sh int gig 0/1/0/3.201
GigabitEthernet0/1/0/3.201 is up, line protocol is up
Interface state transitions: 1
Hardware is VLAN sub-interface(s), address is 0024.986c.63f3
Layer 2 Transport Mode
MTU 2022 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
この例では、メインインターフェイスのMTUは2014バイトです。サブインターフェイスの下に2つのタグが設定されているため、8バイトを追加します。
サブインターフェイスでmtu 2026バイトを設定した場合、メインインターフェイス(2022)から継承されたサブインターフェイスのMTUよりも大きいため、このバイトは適用されません。この結果、設定できるのは2022バイトよりも小さいサブインターフェイスMTUだけです。
このサブインターフェイス MTU に基づいて、ネイバーに送出される MPLS LDP ペイロードの MTU を計算し、リモート L2VPN PE によって計算されたものと同一であることを確認します。ここで rewrite コマンドがその役割を果たします。
MPLS LDP ペイロードの MTU を計算するには、サブインターフェイスの MTU を取得して、次の手順を実行します。
これは、gig 0/1/0/3.201 での QinQ 設定と同じ例です。
interface GigabitEthernet0/1/0/3
cdp
mtu 2014
negotiation auto
!
interface GigabitEthernet0/1/0/3.201 l2transport
encapsulation dot1q 201 second-dot1q 10
rewrite ingress tag pop 2 symmetric
!
RP/0/RSP0/CPU0:router2#sh int gig 0/1/0/3.201
GigabitEthernet0/1/0/3.201 is up, line protocol is up
Interface state transitions: 1
Hardware is VLAN sub-interface(s), address is 0024.986c.63f3
Layer 2 Transport Mode
MTU 2022 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
次に、MPLS LDP ペイロードの MTU を計算します。
リモート側が 2000 バイトの MPLS LDP ペイロードをアドバタイズすることを確認します。そうでない場合は、ローカルまたはリモートの接続回線(AC)の MTU サイズを調整して一致させます。
RP/0/RSP0/CPU0:router2#sh l2vpn xconnect det
Group mtu, XC mtu, state is up; Interworking none
AC: GigabitEthernet0/1/0/3.201, state is up
Type VLAN; Num Ranges: 1
Outer Tag: 201
VLAN ranges: [10, 10]
MTU 2000; XC ID 0x1880003; interworking none
これらのカプセル化は、どのタグにも一致しないものと見なされるため、サブインターフェイス MTU を増やしません。
これらのカプセル化の修飾子は、サブインターフェイス MTU を計算するために必要なタグの数に影響しません。
encapsulation [dot1q|dot1ad] priority-tagged は、1 つのタグに一致するものと見なされます。
最も深いタグ一致として使用される「any」キーワードは、サブインターフェイス MTU を増やしません。
VLAN ID の範囲は、サブインターフェイス MTU を増やします。
分離性一致である EFP のカプセル化 MTU オーバーヘッドは、最大要素の MTU として扱われます。
Cisco XR 12000 シリーズ ルータや Carrier Routing System(CRS)などのルータでは、サブインターフェイスでの VLAN 照合に従来の設定を使用します。EVC モデルに従わない CRS および XR 12000 ルータの L2VPN L2 インターフェイスには、次の特性があります。
これらの特性を説明する例を次にいくつか示します。
次の例では、非 EVC サブインターフェイスの設定方法を示します。
RP/0/RP0/CPU0:router1#sh run int gigabitEthernet 0/0/0/2.201
interface GigabitEthernet0/0/0/2.201 l2transport
dot1q vlan 201
!
RP/0/RP0/CPU0:router1#
非 EVC プラットフォームは、EVC プラットフォーム(ASR9000)の encapsulation および rewrite コマンドの代わりに、dot1q vlan または dot1ad vlan コマンドを使用します。
メイン インターフェイスまたはサブインターフェイスで MTU を明示的に設定しない場合は、デフォルトで 1500 バイトの L3 パケットを受信できます。
RP/0/RP0/CPU0:router1#sh int gig 0/0/0/2 | i MTU
MTU 1514 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#sh int gig 0/0/0/2.201 | i MTU
MTU 1518 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#
サブインターフェイスMTUはメインインターフェイスMTU(1514)から計算されます。各dot1qタグに4バイトを追加します。dot1q vlan 201 コマンドでサブインターフェイスにタグが 1 つ設定されているため、1514 バイトに4 バイトを追加し、1518 バイトの MTU にします。
MPLS LDP の対応するペイロード MTU は 1500 バイトです。イーサネット ヘッダーの 14 バイトがカウントされず、1 つの dot1q タグがPW を通過するときに非 EVC プラットフォームによって自動的にポップされるためです。
RP/0/RP0/CPU0:router1#sh l2vpn xconnect detail
Group mtu, XC mtu, state is down; Interworking none
AC: GigabitEthernet0/0/0/2.201, state is up
Type VLAN; Num Ranges: 1
VLAN ranges: [201, 201]
MTU 1500; XC ID 0x1080001; interworking none
メイン インターフェイスの MTU を 2014 バイトに増やすと、サブインターフェイスの MTU はそれに応じて増加します。
RP/0/RP0/CPU0:router1#sh run int gig 0/0/0/2
interface GigabitEthernet0/0/0/2
description static lab connection to head 4/0/0 - dont change
cdp
mtu 2014
ipv4 address 10.0.100.1 255.255.255.252
load-interval 30
!
RP/0/RP0/CPU0:router1#sh run int gig 0/0/0/2.201
interface GigabitEthernet0/0/0/2.201 l2transport
dot1q vlan 201
!
RP/0/RP0/CPU0:router1#sh int gig 0/0/0/2 | i MTU
MTU 2014 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#sh int gig 0/0/0/2.201 | i MTU
MTU 2018 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
RP/0/RP0/CPU0:router1#sh l2vpn xconnect detail
Group mtu, XC mtu, state is down; Interworking none
AC: GigabitEthernet0/0/0/2.201, state is up
Type VLAN; Num Ranges: 1
VLAN ranges: [201, 201]
MTU 2000; XC ID 0x1080001; interworking none
したがって、MPLS LDP の MTU を計算するには、イーサネット ヘッダーの 14 バイトを引き、サブインターフェイスで設定されているタグごとに 4 バイトを追加します。
イーサネット インターフェイスでは、インターフェイス ドライバに、インターフェイス MTU の設定に基づく MTU および MRU が設定されます。
イーサネット インターフェイス ドライバに設定されている MTU および MRU は、show controller <interface> all コマンドを使用して表示できます。
Cisco IOS XR リリース 5.1.1 よりも前のリリースでは、イーサネット インターフェイス ドライバの MTU および MRU は、インターフェイスの Cisco IOS XR MTU 設定に基づいて自動的に設定されました。
イーサネット ドライバの MTU/MRU は、単に設定済みの MTU と、2 つの追加のイーサネット タグと CRC フィールドに対応する 12 バイトに基づいて設定されました。この 12 バイトは、サブインターフェイスで VLAN タグが設定されているかどうかにかかわらず、イーサネット ドライバ MTU/MRU に追加されました。
Cisco IOS XR リリース 5.1.1 よりも前のすべての Cisco IOS XR バージョンと ASR 9000 インターフェイスでの 1514 バイトのデフォルト MTU の例を次に示します。
RP/0/RSP0/CPU0:ASR2#show interface Gi0/2/0/0
GigabitEthernet0/2/0/0 is up, line protocol is up
Interface state transitions: 3
Hardware is GigabitEthernet, address is 18ef.63e2.0598 (bia 18ef.63e2.0598)
Description: Static_Connections_to_ME3400-1_Gi_0_2 - Do Not Change
Internet address is Unknown
MTU 1514 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
<snip>
MTU/MRU programmed on ethernet interface driver is 1514 + 12 bytes
RP/0/RSP0/CPU0:ASR2#show controllers Gi0/2/0/0 all
<snip>
Operational values:
Speed: 1Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: None (or external)
MTU: 1526
MRU: 1526
Inter-packet gap: standard (12)
<snip>
isco IOS XR リリース 5.1.1 以降では、イーサネット インターフェイス ドライバで使用される MTU および MRU が変更されており、いずれかのサブインターフェイスで設定されている VLAN タグの数に基づいて設定されます。
どのサブインターフェイスでも VLAN タグが設定されていない場合、ドライバの MTU/MRU はインターフェイスの設定済み MTU + 4 CRC バイトに等しくなります(たとえば、1514 + 4 = 1518 バイト)。
いずれかのサブインターフェイスで VLAN タグが 1 つ設定されている場合、ドライバの MTU/MRU は設定済み MTU + 8 バイト(1 タグ + CRC)に等しくなります(たとえば、1514 + 8 = 1522 バイト)。
いずれかのサブインターフェイスで VLAN タグが 2 つ設定されている場合、ドライバの MTU/MRU は設定済み MTU + 12 バイト(1 タグ + CRC)に等しくなります(たとえば、1514 + 12 = 1526 バイト)。
any キーワードを含む QinQ で second-do1q タグが設定されている場合、ドライバの MTU/MRU は設定済み MTU + 8 バイト(1 タグ + CRC)に等しくなります(たとえば、1514 + 8 = 1522 バイト)。
次の例は、ASR 9000 での Cisco IOS XR リリース 5.1.1 以降の動作を示しています。
RP/0/RSP0/CPU0:ASR2#sh run int ten0/1/0/0
interface TenGigE0/1/0/0
cdp
RP/0/RSP0/CPU0:ASR2#show controllers ten0/1/0/0 all
<snip>
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: Internal
MTU: 1518
MRU: 1518
Inter-packet gap: standard (12)
<snip>
RP/0/RSP0/CPU0:ASR2#config
RP/0/RSP0/CPU0:ASR2(config-if)#int ten0/1/0/0.1
RP/0/RSP0/CPU0:ASR2(config-subif)#encapsulation dot1q 1
RP/0/RSP0/CPU0:ASR2(config-subif)#commit
RP/0/RSP0/CPU0:ASR2#show controllers ten0/1/0/0 all
<snip>
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: Internal
MTU: 1522
MRU: 1522
Inter-packet gap: standard (12)
<snip>
RP/0/RSP0/CPU0:ASR2#config
RP/0/RSP0/CPU0:ASR2(config)#int ten0/1/0/0.2
RP/0/RSP0/CPU0:ASR2(config-subif)#encapsulation dot1q 10 second-dot1q 20
RP/0/RSP0/CPU0:ASR2(config-subif)#commit
RP/0/RSP0/CPU0:ASR2#show controllers ten0/1/0/0 all
<snip>
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: Internal
MTU: 1526
MRU: 1526
Inter-packet gap: standard (12)
<snip>
RP/0/RSP0/CPU0:ASR2#config
RP/0/RSP0/CPU0:ASR2(config)#int ten0/2/0/0
RP/0/RSP0/CPU0:ASR2(config)#cdp
RP/0/RSP0/CPU0:ASR2(config)#int ten0/2/0/0.1 l2transport
RP/0/RSP0/CPU0:ASR2(config-subif)#encapsulation dot1q 10 second-dot1q any
RP/0/RSP0/CPU0:ASR2(config-subif)#commit
RP/0/RSP0/CPU0:ASR2#show controllers ten0/1/0/0 all
<snip>
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: Internal
MTU: 1522
MRU: 1522
Inter-packet gap: standard (12)
<snip>
リリース 5.1.1 以降でのこの動作変更は、多くの場合、インターフェイスでの MTU の設定変更を必要としません。
この動作変更は、単一の VLAN タグが設定されているサブインターフェイスで 2 つの VLAN タグを持つパケットを受信した場合に問題を引き起こす可能性があります。この状況では、受信したパケットがイーサネット インターフェイス ドライバの MRU を超える可能性があります。この問題を回避するには、インターフェイス MTU を 4 バイト増やすか、サブインターフェイスに VLAN タグを 2 つ設定します。
リリース 5.1.1 におけるイーサネット インターフェイス ドライバの MTU および MRU の自動設定は、CRS ルータと ASR 9000 ルータで同じです。ただし、リリース 5.1.1 を実行する CRS ルータでは、show controller 出力で表示される MTU および MRU 値に 4 バイトの CRC が含まれません。 MTU および MRU の表示方法は、CRS と ASR9000 で異なっています。
RP/0/RP0/CPU0:CRS#sh run int ten0/4/0/0
Mon May 19 08:49:26.109 UTC
interface TenGigE0/4/0/0
<snip>
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: None (or external)
MTU: 1514
MRU: 1514
Inter-packet gap: standard (12)
RP/0/RP0/CPU0:CRS(config)#int ten0/4/0/0.1
RP/0/RP0/CPU0:CRS(config-subif)#encapsulation dot1q 1
RP/0/RP0/CPU0:CRS(config-subif)#commit
Operational values:
Speed: 10Gbps
Duplex: Full Duplex
Flowcontrol: None
Loopback: None (or external)
MTU: 1518
MRU: 1518
Inter-packet gap: standard (12)
ASR 9000 で MTU および MRU が show controller 出力に表示される方法は、表示される MTU/MRU 値に 4 バイトの CRC が含まれないように将来的に変更される予定です。 この将来的な変更は、Cisco bug ID CSCuo93379 で追跡できます。
リリース 5.1.1 より前のリリースで、メイン インターフェイスがあり、サブインターフェイスと mtu コマンドがない場合:
interface TenGigE0/1/0/19
l2transport
!
!
また、このインターフェイスで dot1q または QinQ フレームを伝送する場合、リリース 5.1.1 以降では、MTU を「mtu 1522」に手動で設定する必要があります。
interface TenGigE0/1/0/19
mtu 1522
l2transport
!
!
この設定により、QinQ フレームを以前のリリースと同様に伝送できるようになります。伝送するのが dot1q のみで QinQ は伝送しない場合は、MTU 値を 1518 に設定できます。
リリース 5.1.1 より前のリリースで、dot1q または QinQ が設定され、「any」キーワードを使用するサブインターフェイスがあり、2 つの明示的なタグが付いた QinQ サブインターフェイスが設定されていない場合。
interface TenGigE0/1/0/19
!
interface TenGigE0/1/0/19.100 l2transport
encapsulation dot1q 100
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q any
!
リリース 5.1.1 以降のこの設定では、1 つのタグが付いたフレームの伝送のみが許可されるので、QinQ フレームを伝送する場合は、MTU を手動で 4 バイト増やす必要があります。
interface TenGigE0/1/0/19
mtu 1518
!
interface TenGigE0/1/0/19.100 l2transport
encapsulation dot1q 100
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q any
!
2 つの明示的なタグが付いた QinQ サブインターフェイス(「any」キーワードを使用しない)が設定されている場合、リリース 5.1.1 以降にアップグレードするときに、MTU 設定を変更する必要はありません。
interface TenGigE0/1/0/19
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q 200
!
L2 トランスポート サブインターフェイスがなく、L3 ルーテッド インターフェイスのみがある場合、MTU 設定が両側で一致し、MTU よりも大きいフレームは伝送されないと考えられます。リリース 5.1.1 以降にアップグレードするときに、MTU 設定を更新する必要はありません。
同様に、リリース 5.1.1 より前のリリースでデフォルト以外の MTU が設定されていて、サブインターフェイスが設定されておらず、dot1q または QinQ フレームを伝送する必要がある場合は、リリース 5.1.1 以降にアップグレードするときに、設定されている MTU 値を 8 バイト増やす必要があります。
リリース 5.1.1 より前のリリース:
interface TenGigE0/1/0/19
mtu 2000
l2transport
!
!
リリース 5.1.1 以降にアップグレードするときに、MTU を手動で 8 バイト増やす必要があります。
interface TenGigE0/1/0/19
mtu 2008
l2transport
!
!
dot1q サブインターフェイスがあって QinQ サブインターフェイスがない場合、または second-dot1q タグに any キーワードを使用する QinQ サブインターフェイスがある場合は、設定されている MTU 値を 4 バイト増やす必要があります。
リリース 5.1.1 より前のリリース:
interface TenGigE0/1/0/19
mtu 2000
!
interface TenGigE0/1/0/19.100 l2transport
encapsulation dot1q 100
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q any
!
リリース 5.1.1 以降:
interface TenGigE0/1/0/19
mtu 2004
!
interface TenGigE0/1/0/19.100 l2transport
encapsulation dot1q 100
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q any
!
2 つの明示的なタグが付いた QinQ サブインターフェイス(「any」キーワードを使用しない)が設定されている場合、リリース 5.1.1 以降にアップグレードするときに、MTU 設定を変更する必要はありません。
interface TenGigE0/1/0/19
!
interface TenGigE0/1/0/19.101 l2transport
encapsulation dot1q 101 second-dot1q 200
!
L2 トランスポート サブインターフェイスがなく、L3 ルーテッド インターフェイスのみがある場合、MTU 設定が両側で一致し、MTU よりも大きいフレームは伝送されないと考えられます。リリース 5.1.1 以降にアップグレードするときに、MTU 設定を更新する必要はありません。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
02-Feb-2015 |
初版 |