L'MTU (Maximum Transmission Unit) definisce le dimensioni massime dei pacchetti che un'interfaccia può trasmettere senza che sia necessario frammentare. I pacchetti IP più grandi dell'MTU devono passare attraverso le procedure di frammentazione IP.
Le interfacce del router Cisco ATM supportano una MTU compresa tra 64 e 1796 byte. Ogni interfaccia supporta una dimensione massima predefinita del pacchetto. Ad esempio, il valore massimo è 9288 byte su entrambi i processori di interfaccia ATM (AIP) e sul modulo del processore di rete (NP), e 4470 byte sugli adattatori di porte PA-A3 e PA-A2.
Questo documento rivede i valori MTU predefiniti per le interfacce ATM e chiarisce quando un router incrementa gli SDU AAL5 di dimensioni eccessive e i contatori delle violazioni di lunghezza AAL5.
Nessun requisito specifico previsto per questo documento.
Il documento può essere consultato per tutte le versioni software o hardware.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
La maggior parte delle interfacce del router Cisco ATM usa una dimensione MTU predefinita di 4470 byte. Questo numero è stato scelto in modo da corrispondere esattamente alle interfacce Fiber Distributed Data Interface (FDDI) e High-Speed Serial Interface (HSSI) per la commutazione autonoma.
Per configurare un valore non predefinito, usare il comando mtu in modalità di configurazione interfaccia. Si noti che le sottointerfacce supportano un valore diverso da quello dell'interfaccia principale, purché il valore dell'interfaccia principale sia pari o superiore all'MTU della sottointerfaccia più grande.
7200#show interface atm 3/0 ATM3/0 is up, line protocol is up Hardware is ENHANCED ATM PA Internet address is 1.1.1.1/8 MTU 4470 bytes, sub MTU 1500, BW 149760 Kbit, DLY 80 usec, reliability 255/255, txload 1/255, rxload 1/255
Usare il comando show atm interface atm per visualizzare il valore attualmente configurato.
7200#show atm interface atm 3/0 Interface ATM3/0: AAL enabled: AAL5 , Maximum VCs: 4096, Current VCCs: 2 Maximum Transmit Channels: 0 Max. Datagram Size: 4528 PLIM Type: SONET - 155000Kbps, TX clocking: LINE Cell-payload scrambling: ON sts-stream scrambling: ON 8359 input, 8495 output, 0 IN fast, 0 OUT fast, 0 out drop Avail bw = 155000 Config. is ACTIVE
Il comando show interface atm restituisce due contatori evidenziati in grassetto e rilevanti per una discussione sulle dimensioni del pacchetto.
7200#show interface atm1/ima0 ATM1/IMA0.1 is up, line protocol is up Hardware is ATM IMA MTU 4470 bytes, BW 6000 Kbit, DLY 20000 usec, reliability 255/255, txload 1/255, rxload 2/255 Encapsulation ATM 1382 packets input, 399282 bytes 1558 packets output,205883 bytes 0 OAM cells input, 0 OAM cells output AAL5 CRC errors : 280 AAL5 SAR Timeouts : 0 AAL5 Oversized SDUs : 0 AAL5 length violation : 210285 AAL5 CPI Error : 302
Entrambi i contatori si riferiscono al livello di adattamento ATM 5 (AAL5). Incapsulano le PDU (Routed Protocol Data Unit) o bridge al sottolivello di convergenza delle parti comuni (CPCS) dello stack ATM. La RFC 1483 definisce il formato del trailer AAL5, come illustrato nel diagramma.
Il campo di lunghezza di due byte nella sequenza finale AAL5 indica le dimensioni del campo del payload CPCS-PDU. Due byte sono 16 bit o un valore di lunghezza massima di 65.535 (216) ottetti.
L'MTU definisce le dimensioni del datagramma di layer 3. Un'unità dati del servizio AAL5 (SDU) è definita come il datagramma di layer 3 più l'intestazione LLC/SNAP (Logical Link Control/Subnetwork Access Protocol) opzionale. Una PDU AAL5 è definita come l'unità combinata AAL5 SDU più il trailer AAL5 da otto byte. Pertanto, una MTU di 9180 può produrre un'SDU AAL5 di 9180 byte e una PDU AAL5 di 9188 byte con la sequenza terminale AAL5 da 8 byte.
Quando un'interfaccia ATM riceve un pacchetto più grande dell'MTU, il router incrementa il contatore delle unità SDU sovradimensionate. Il contatore SDU Oversize è definito nella RFC 1695 .
aal5VccOverSizedSDUs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of AAL5 CPCS PDUs discarded on this AAL5 VCC at the interface associated with an AAL5 entity because the AAL5 SDUs were too large." ::= { aal5VccEntry 5 }
La RFC 1695 supporta anche la possibilità di impostare separatamente le dimensioni dell'SDU di trasmissione e ricezione utilizzando i seguenti ID oggetto:
atmVccAal5CpcsTransmitSduSize OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "An instance of this object only exists when the local VCL end-point is also the VCC end-point, and AAL5 is in use. The maximum AAL5 CPCS SDU size in octets that is supported on the transmit direction of this VCC." DEFVAL { 9188 } := { atmVclEntry 9 } atmVccAal5CpcsReceiveSduSize OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "An instance of this object only exists when the local VCL end-point is also the VCC end-point, and AAL5 is in use. The maximum AAL5 CPCS SDU size in octets that is supported on the receive direction of this VCC." DEFVAL { 9188 } ::= { atmVclEntry 10 }
Le interfacce ATM che seguono la RFC 1695 incrementano inoltre il contatore ifInErrors quando vengono rilevati errori SDU di dimensioni eccessive. Questo si aggiunge agli errori di timeout CRC-32 e SAR, che sono due contatori definiti anche nell'RFC.
Un router incrementa il contatore delle violazioni di lunghezza AAL5 quando le dimensioni calcolate di un pacchetto ricomposto non corrispondono al valore ricevuto nel campo della lunghezza AAL5, indipendentemente dall'MTU. Per capire come possono verificarsi queste violazioni, dovete capire come un'interfaccia ATM ricevente riconosce l'ultima cella di un frame.
L'intestazione di cella include un campo PTI (Payload Type Identifier) a tre bit. Questi tre bit indicano:
Bit 1: indica se la cella contiene dati utente o dati di gestione.
Bit 2: indica se la cella è congestionata durante la trasmissione.
Bit 3 - Indica se la cella è la cella finale di un fotogramma di dati di livello superiore. Se impostato su 1, questo bit è denominato fine del marcatore (EOM).
I valori PTI di 001 o 011 contrassegnano l'ultima cella di una PDU AAL5 e indicano all'interfaccia ATM ricevente di avviare il riassemblaggio. Durante i periodi di congestione o condizioni di errore, un collegamento ATM può rilasciare l'ultima cella. Di conseguenza, l'interfaccia ricevente non inizia il riassemblaggio finché non riceve la fine della cella indicatore del secondo pacchetto AAL5, generando una violazione della lunghezza.
In alcuni casi, il router segnala un valore elevato per il contatore delle violazioni di lunghezza AAL5 e un valore molto inferiore per il contatore degli errori CRC AAL5. Questa condizione si verifica quando l'interfaccia ATM dichiara una violazione della lunghezza e scarta un pacchetto riassemblato senza preoccuparsi di controllare il CRC. Un'interfaccia ATM controlla il CRC solo dopo aver confermato che le dimensioni del pacchetto corrispondono al campo di lunghezza AAL5.
L'utilizzo di una MTU coerente e di dimensioni massime su più interfacce della rete offre i seguenti vantaggi:
Riduce o elimina la frammentazione. MTU più grandi possono migliorare le prestazioni TCP eliminando la frammentazione. Pertanto, applicazioni come NFS (Network File System) possono sfruttare in modo più efficiente le grandi MTU native di circa 8 kB.
Ottimizza le dimensioni dei pool di buffer di pacchetti scolpiti nella memoria pacchetto (MEMD) sul processore di switching di routing (RSP) su una piattaforma Cisco serie 7500. Su questa piattaforma, l'MTU gioca un ruolo importante nello scavare il buffer. In particolare, questa piattaforma utilizza un algoritmo per il buffer-carving che crea quattro pool di buffer basati sull'MTU. Se tutte le interfacce usano la stessa MTU, il router crea un pool di buffer di grandi dimensioni. L'uso di MTU grandi e molto diverse su questa piattaforma forza il software Cisco IOS® a scolpire un numero ridotto di buffer di grandi dimensioni, probabilmente influendo su altre interfacce. Sulla piattaforma serie 7500, regolare l'MTU può portare a un numero inferiore di errori di input ignorati. Per ulteriori informazioni, fare riferimento alla sezione Cause di un riavvio di "%RSP-3": complesso cbus"?
Nota: in origine, l'AIP supportava un'MTU pari a 9180. Il motivo richiede una comprensione dell'architettura. La capacità delle interfacce ATM di supportare il numero massimo annunciato di circuiti virtuali simultanei (VC) attivi si basa sul multiplexing statistico e sulla disponibilità di buffer di pacchetto sufficienti per eseguire un certo numero di riassemblaggi simultanei. Cisco limita le dimensioni dell'MTU a circa 9000 byte sull'AIP per supportare il valore massimo annunciato di 2000 per i VC attivi.
Aumenta le prestazioni del router riducendo al minimo il numero di pacchetti elaborati. La maggior parte dei costi delle prestazioni dei router si riferisce ai "pacchetti gestiti" anziché ai "byte trasferiti". In genere, un router elabora i pacchetti di transito in modalità interrupt. Un'MTU elevata può determinare prestazioni più elevate in quanto le CPU più veloci non comportano necessariamente operazioni ad elevata intensità di interrupt.
In questa tabella vengono elencate le richieste di commenti (RFC) relative alle dimensioni del datagramma.
Nota: tutti i collegamenti nella tabella sono RFC1483 .
Richiesta di commento | Descrizione |
---|---|
RFC 791 | Definisce le procedure di frammentazione IP. |
RFC 1191 e RFC 1435 | Definire il rilevamento dell'MTU del percorso, un meccanismo chiave per ridurre la frammentazione IP in Internet. Questo meccanismo è importante perché ATM usa dimensioni MTU predefinite che sono significativamente diverse da altre tecnologie come Ethernet e FDDI. |
RFC 1209 | Specifica una MTU IP su SMDS di 9180 ottetti. L'Internet Engineering Task Force (IETF) ha utilizzato questo valore e la RFC per impostare una MTU di 9180 ottetti per il protocollo IP over ATM AAL5, come definito nella RFC 225 . |
RFC 1626 e RFC 225 | Specificare tra l'altro che le interfacce ATM devono tentare di negoziare le dimensioni AAL CPCS-SDU utilizzando il protocollo di segnalazione ATM per i circuiti virtuali commutati (SVC). |
La RFC 791 definisce la frammentazione IP e descrive la procedura come "Se la lunghezza totale è inferiore o uguale all'unità di trasmissione massima, inviare il datagramma alla fase successiva dell'elaborazione del datagramma; in caso contrario, suddividere il datagramma in due frammenti, il primo delle dimensioni massime e il secondo il resto del datagramma."
L'output del comando debug ip packet {host access-list} acquisisce un ping tra i due host 192.168.1.51 e 192.168.1.254. Per ciascun pacchetto, il router segnala di ricevere due frammenti: uno da 1500 byte e uno da 48 byte.
Attenzione: prima di usare i comandi di debug, consultare le informazioni importanti sui comandi di debug.
*Mar 28 09:59:27.002: IP: s=192.168.1.51 (ATM4/0.3), d=192.168.1.254, len 1500, rcvd 4 *Mar 28 09:59:27.002: IP: recv fragment from 192.168.1.51 offset 0 bytes *Mar 28 09:59:27.002: IP: s=192.168.1.51 (ATM4/0.3), d=192.168.1.254, len 48, rcvd 4 *Mar 28 09:59:27.002: IP: recv fragment from 192.168.1.51 offset 1480 bytes
Il router risponde con una risposta echo e segnala che sta inviando due frammenti.
*Mar 28 09:59:27.002: ICMP: echo reply sent, src 192.168.1.254, dst 192.168.1.51 *Mar 28 09:59:27.002: IP: s=192.168.1.254 (local), d=192.168.1.51 (ATM4/0.3), len 1528, sending *Mar 28 09:59:27.002: IP: s=192.168.1.254 (local), d=192.168.1.51 (ATM4/0.3), len 1500, sending fragment *Mar 28 09:59:27.006: IP: s=192.168.1.254 (local), d=192.168.1.51 (ATM4/0.3), len 48, sending last fragment
Le interfacce Gigabit Ethernet sugli switch Cisco Catalyst 5000 e 6000 supportano i frame jumbo, con MTU di 9.216 byte. Il supporto per i frame jumbo per la famiglia Catalyst 6000 ATM module (WS-X6101) è disponibile a partire dal software Cisco IOS versione 12.1(10)E, come indicato nelle note di rilascio.
La configurazione delle dimensioni MTU sull'interfaccia secondaria non influisce sulle dimensioni massime del frame che possono essere trasferite su un modulo ATM della famiglia Catalyst 6000. Le dimensioni massime del frame (9218 byte) vengono inizializzate quando viene visualizzato il modulo e non cambiano quando le dimensioni dell'MTU cambiano usando la CLI.
Per collegare i jumbo frame, abilitare la funzione per il modulo ATM sul supervisor engine con il comando set port jumbo mod/porta.
Nel software Cisco IOS versioni precedenti alla 12.1(10)E, i moduli Catalyst ATM accettano il comando MTU sulla riga di comando e un valore massimo di 9218 byte. Tuttavia, senza il supporto di frame jumbo, questa modifica alla configurazione è fuorviante. La mancanza originale di supporto per i frame jumbo deriva dal numero massimo di buffer supportati per ogni VC.
ATM#show interface atm0 ATM0 is down, line protocol is down Hardware is Catalyst 5000 ATM MTU 1584 bytes, sub MTU 0, BW 156250 Kbit, DLY 80 usec, rely 255/255, load 1/255 Encapsulation ATM, loopback not set, keepalive not supported Encapsulation(s): AAL5, PVC mode 4096 maximum active VCs, 1024 VCs per VP, 0 current VCCs VC idle disconnect time: 300 seconds Signaling vc = 1, vpi = 0, vci = 5 UNI Version = 3.1, Link Side = user PHY Type : SINGLE PHY; Link Status: DOWN [snip]
La specifica LANE versione 1 richiede che un messaggio SETUP includa l'elemento di informazione dei parametri AAL (IE). In questo IE, il chiamante o l'interfaccia ATM di origine deve specificare le dimensioni massime in avanti di CPCS-SDU e le dimensioni massime all'indietro di CPCS-SDU. I valori supportati per l'ottetto AAL5 SDU sono 1516, 4544, 9234 e 18190. A partire dal software Cisco IOS versione 12.1(10)E, i Lec possono trasferire frame fino a 9218 byte.
Il supporto di frame jumbo è già presente nella roadmap per le schede di linea Gigabit Ethernet avanzate 8540. Tale supporto è attualmente allo studio per le schede Gigabit Ethernet per lo switch 8510. Il modulo router ATM 2 (ARM2) per lo switch 8540 supporta ora una dimensione MTU configurabile.
Completare questi passaggi per limitare la risoluzione dei problemi se i sintomi indicano un problema con le dimensioni del datagramma.
Verificare che l'MTU corretta si trovi sull'interfaccia principale e sulla sottointerfaccia.
Se i ping superiori a una determinata dimensione del pacchetto hanno esito negativo, il problema può essere dovuto al traffic shaping. Fare riferimento alla sezione sulla descrizione della categoria di servizi VBR-nrt e sul Traffic Shaping per i VC ATM. Confermare l'uscita dei pacchetti dal router di origine e/o accedere al router di destinazione con questi comandi:
debug ip packet (solo elenco accessi host)
Attenzione: questo debug può produrre una grande quantità di output su un output di produzione. Prendere ulteriori precauzioni quando si abilita questo debug.
debug atm packet interface mod atm/porta vpi vci
debug di errori atm
Verificare la presenza di un valore diverso da zero per il contatore giants nell'output di show interface atm. I giganti contrattaccano l'incremento dei ping?
Eseguire il comando show buffers e cercare valori diversi da zero per i contatori di errori e mancati riscontri. Determinare se i contatori sono in aumento, in particolare quando si esegue il ping sul router e si utilizzano i buffer di sistema. Per ulteriori informazioni, fare riferimento a Buffer Tuning.
7500#show buffers Buffer elements: 499 in free list (500 max allowed) 913677 hits, 0 misses, 0 created Public buffer pools: Small buffers, 104 bytes (total 480, permanent 480): 474 in free list (20 min, 1000 max allowed) 1036212 hits, 0 misses, 0 trims, 0 created 0 failures (0 no memory) Middle buffers, 600 bytes (total 360, permanent 360): 358 in free list (20 min, 800 max allowed) 635809 hits, 0 misses, 0 trims, 0 created 0 failures (0 no memory) Big buffers, 1524 bytes (total 360, permanent 360): 360 in free list (10 min, 1200 max allowed) 23457 hits, 0 misses, 0 trims, 0 created 0 failures (0 no memory) VeryBig buffers, 4520 bytes (total 40, permanent 40): 40 in free list (5 min, 1200 max allowed) 8969 hits, 0 misses, 0 trims, 0 created 0 failures (0 no memory) Large buffers, 5024 bytes (total 40, permanent 40): 40 in free list (3 min, 120 max allowed) 0 hits, 0 misses, 0 trims, 0 created 0 failures (0 no memory) Huge buffers, 18024 bytes (total 4, permanent 0): 3 in free list (3 min, 52 max allowed) 0 hits, 1 misses, 427 trims, 431 created 0 failures (0 no memory)
Eseguire il comando show ip interface atm e determinare se Cisco express forwarding (CEF) è abilitato. In tal caso, controllare le dimensioni MTU a cui si fa riferimento nella voce adiacente alla destinazione.
router#show adj atm 5/0.1 interface Protocol Interface Address IP ATM5/0.1 point2point(6) 0 packets, 0 bytes 00040000 AAAA030000000800 CEF expires: 00:02:49 refresh: 00:00:49 ATM-PVC never Fast adjacency enabled IP redirect enabled IP mtu 4470 (0x0) Fixup disabled
L'ID bug Cisco CSCdv42095 (solo utenti registrati) risolve un problema relativo ai ping non riusciti per pacchetti superiori a 1498 byte quando l'MTU è configurata per essere inferiore a 1502 byte su un'interfaccia con bridging. Le modifiche permettono di impostare le dimensioni massime del pacchetto su un valore pari all'MTU più il valore massimo di incapsulamento ATM in byte. Impostare l'MTU a 1502 per risolvere il problema.