本文档介绍Cisco IOS® XR路由器上的最大传输单位(MTU)行为,并将这些行为与Cisco IOS路由器进行比较。它还讨论使用以太网虚拟连接(EVC)和非EVC型号的路由第3层(L3)接口和第2层VPN(L2VPN)第2层接口上的MTU。本文档还介绍在版本5.1.1及更高版本中如何自动配置以太网接口驱动程序MTU和最大接收单元(MRU)的重要更改。
在计算机网络中,某层通信协议的MTU定义了允许该层通过一个接口传输的最大协议数据单元的大小(以字节为单位)。每个接口、层和协议都关联一个MTU参数。
Cisco IOS XR软件的MTU特征为:
本文档的其余部分说明MTU特征,比较Cisco IOS和Cisco IOS XR软件行为,并举例说明以下类型的接口:
本节将Cisco IOS和Cisco IOS XR软件行为与MTU特性进行比较。
在Cisco IOS软件中,mtu命令和相应的show命令不包括L2报头。使用mtu命令将L2负载配置为L3数据包的最大大小,包括L3报头。
这与Cisco IOS XR软件不同,其中mtu命令包含L2报头(以太网为14字节,PPP/HDLC为4字节)。
如果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
连接到L2网络的所有设备的MTU值必须相同。否则,可能会报告以下症状:
当未配置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个字节由6个字节的目的MAC地址、6个字节的源MAC地址和2个字节的类型或长度计算。这不包括前导码、帧定界符、4个字节的帧校验序列(FCS)和帧间间隙。对于PPP或HDLC帧,L2报头包含4个字节;因此,默认接口MTU为1504字节。
L3子协议从父MTU的负载继承其MTU。从1514字节的L2 MTU中减去14字节的L2报头时,L2负载为1500字节。这将成为第3层协议的MTU。IPv4、IPv6、MPLS和无连接网络服务(CLNS)继承了此1500字节MTU。因此,Cisco IOS XR以太网接口默认可以传输1500字节的L3数据包,该数据包与Cisco IOS以太网接口上的默认数据包相同。
本部分显示如何配置mpls mtu 1508,以便在数据包顶部发送一个1500字节的IPv4数据包,其中两个MPLS标记每个4字节:
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命令已提交,但未应用,因为MPLS在show命令中的MTU仍为1500字节。这是因为第3层子协议的MTU不能大于其父L2接口的负载。
要允许在1500字节IP数据包上放置两个标签,必须:
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数据包(顶部带有两个标记的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;向主接口的MTU添加4个字节,因为子接口下配置了一个dot1q标记。
但是,IPv4和IPv6数据包的MTU仍与主接口(1986)的MTU相同。 这是因为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值。
同样,您也可以使用第3层协议(IPv4、IPv6、MPLS)的MTU命令来降低从子接口第2层负载继承的第3层MTU的值。当L3协议MTU配置为不适合L2 MTU负载的值时,它不会生效。
L2VPN的MTU很重要,因为当PW各端附接电路上的MTU不相同时,标签分发协议(LDP)不会启动伪线(PW)。
以下是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#
在本示例中,请注意,MPLS L2VPN提供商边缘(PE)在两端必须发出相同的MTU值信号才能启用PW。
MPLS LDP发出的MTU不包括L2开销。这与包含L2开销的XR接口配置和show命令不同。子接口上的MTU为2018字节(从主接口继承的2014字节),但LDP发出的MTU为2000字节的信号。 因此,它从L2报头中减去18个字节(以太网报头的14个字节+ 1.1q标记的4个字节)。
了解每台设备如何计算附件电路的MTU值以修复MTU不匹配问题非常重要。这取决于供应商、平台、软件版本和配置等参数。
Cisco ASR 9000系列聚合服务路由器使用EVC基础设施模型,该模型允许在L2VPN L2接口和子接口上灵活匹配VLAN。
EVC L2VPN L2接口具有以下特征:
要计算子接口MTU,请使用主接口MTU(默认或主接口下手动配置的MTU),并为使用encapsulation命令配置的每个VLAN标记添加4个字节。请参阅特定EFP封装命令。
当子接口下有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字节;添加8个字节,因为子接口下配置了两个标记。
如果在子接口下配置mtu 2026字节,则不会应用它,因为它大于从主接口继承的子接口(2022)的MTU。因此,您只能配置小于2022字节的子接口MTU。
根据此子接口MTU,计算向邻居发出信号的MPLS LDP负载的MTU,并确保其与远程L2VPN PE计算的MTU相同。这就是重写命令发挥作用的地方。
要计算MPLS LDP负载的MTU,请获取子接口的MTU,然后:
千兆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计数为匹配单个标记。
用作最内部标记匹配的“any”关键字不会增加子接口MTU。
VLAN-ID范围会增加子接口MTU:
作为析取匹配的EFP的封装MTU开销被视为其最高元素的MTU。
Cisco XR 12000系列路由器和运营商路由系统(CRS)等路由器使用传统配置在子接口上匹配VLAN。以下特征适用于CRS和XR 12000路由器上不遵循EVC型号的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平台使用dot1q vlan或dot1ad vlan命令,而不是EVC平台(ASR9000)的encapsulation和rewrite命令。
如果未在主接口或子接口上明确配置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命令配置了一个标记,因此在1514中添加4个字节,以使MTU为1518字节。
MPLS LDP中对应的负载MTU为1500字节,因为14个字节的以太网报头不计数,并且当通过PW时,非EVC平台会自动弹出一个dot1q标记:
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。
使用show controller <interface> all命令可以看到以太网接口驱动程序上已配置的MTU和MRU。
在早于Cisco IOS XR版本5.1.1的版本中,以太网接口驱动程序上的MTU和MRU是根据接口上的Cisco IOS XR MTU配置自动配置的。
在以太网驱动程序上配置的MTU/MRU仅基于为添加2个以太网标记和CRC字段而配置的MTU + 12字节。无论子接口上是否配置了任何VLAN标记,都会将12个字节添加到以太网驱动程序MTU/MRU。
ASR 9000接口上所有Cisco IOS XR版本低于Cisco IOS XR 5.1.1版本且默认MTU为1514的示例如下所示:
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>
在Cisco IOS XR版本5.1.1及更高版本中,以太网接口驱动程序上使用的MTU和MRU已更改,现在取决于在任何子接口上配置的VLAN标记数。
如果任何子接口上未配置VLAN标记,则驱动程序MTU/MRU等于接口上配置的MTU + 4 CRC字节,例如1514 + 4 = 1518字节。
如果在任何子接口上配置了一个VLAN,则驱动程序MTU/MRU等于配置的MTU + 8字节(1标记+ CRC),例如1514 + 8 = 1522字节。
如果在任何子接口上配置了两个VLAN标记,则驱动程序MTU/MRU等于配置的MTU + 12字节(2个标记+ CRC),例如1514 + 12 = 1526字节
如果为second-do1q标记配置了带有any关键字的QinQ,则驱动程序MTU/MRU等于已配置的MTU + 8字节(1标记+ CRC),例如1514 + 8 = 1522字节。
以下示例显示Cisco IOS XR 5.1.1版及更高版本在ASR 9000上的行为:
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标记,但接收带有两个VLAN标记的数据包,则此行为更改可能会导致问题。在这种情况下,收到的数据包可能超过以太网接口驱动程序上的MRU。为了消除这种情况,接口MTU可以增加4个字节,也可以增加配置了两个VLAN标记的子接口。
5.1.1版中的自动以太网接口驱动程序MTU和MRU配置对于CRS和ASR 9000路由器是相同的。但是,运行版本5.1.1的CRS路由器在show controller输出中显示的MTU和MRU值中不包含4字节的CRC值。 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上的show controller输出中显示MTU和MRU的方式将在将来发生更改,因此CRC的4字节不会包含在显示的MTU/MRU值中。此将来的更改可以使用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。
如果为dot1q或QinQ配置了子接口,但在版本5.1.1之前的版本中配置了关键字为“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及更高版本中的此配置将仅允许传输带有一个标记的帧,因此,如果要传输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个显式标记(不使用“any”关键字)的QinQ子接口,则升级到版本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子接口或QinQ子接口,且second-dot1q标记的关键字为any,则配置的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个显式标记(不使用“any”关键字)的QinQ子接口,则升级到版本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 |
初始版本 |