2011-10-27 15 views
5

Es posible utilizar marcos muy grandes con algunas tarjetas ethernet. Un caso es de 9k marcos o marco jumbo y el otro es un cuadro super jumbo (como sé, hasta 64k).encabezado del marco jumbo ethernet y del marco super jumbo

¿Cuál es el formato de marco utilizado para tales grandes paquetes?

que sé, para las tramas normales dos formatos utilizados ampliamente:

Preamble Start_byte dest_mac src_mac  Ethertype/length Payload  CRC  Interframe gap 
10101010x7 10101011 6 bytes  6 bytes  2 bytes   46–1500 bytes 4 bytes 12 bytes 

En un caso, la ethertype se utiliza para la longitud, y en segundo - para el tipo de paquete. Si este campo es < 0x0600 (1536 bytes decimales), esta es una longitud; si> = 0x0600 - es un tipo.

Por lo tanto, parece imposible almacenar 9000 en este campo como longitud. ¿Cómo se almacena la longitud de los cuadros jumbo y super jumbo?

Respuesta

5

El formato utilizado para jumbos es el mismo. A pesar de esta descripción, el campo Ethertype no se usa normalmente para almacenar una longitud. Normalmente en el campo Ethertype, no verá una longitud; Verás un tipo. Tipos son especificados por la IANA aquí:

http://www.iana.org/assignments/ethernet-numbers

lo general, se verá uno de los siguientes tipos de la tabla:

Ethertype   Exp. Ethernet Description   References 
---------------- -------------- -------------------- ---------- 
    2054 0806  -  -  ARP      [IANA] 
    2048 0800  513 1001 Internet IP (IPv4)  [IANA] 
     86DD      IPv6      [IANA] 

Hay dos razones que esto funciona:

  • El hardware que envía el paquete no depende del campo de longitud Layer 2 para conocer la longitud Layer 1.
  • Algunos paquetes Layer 3 como ARP tienen un tamaño conocido (al menos, para una combinación conocida de hardware/longitud de dirección de protocolo, como Ethernet/IP donde se usa normalmente). Los paquetes IPv4/IPv6 tienen un campo de longitud en su propio encabezado.
+0

por lo tanto, los marcos jumbo se pueden utilizar solo cuando el protocolo L3 tiene un campo de longitud o tiene un tamaño fijo? – osgx

+2

@osgx, no hay nada que le impida crear una trama Ethernet en L1 que sea más grande que la especificada en el campo Ethertype/length. Pero una pila de red no necesariamente la interpretaría como un paquete grande. Entonces, básicamente, sí, debe usar un protocolo L3 que admita paquetes grandes, como IPv4/IPv6. (ARP va a ser pequeño). Una manera fácil de hacerlo, suponiendo que establezca su MTU de interfaz correctamente (y sus controladores de red están configurados para grandes cuadros) sería usar 'ping' con el parámetro' packetsize'. – mpontillo

Cuestiones relacionadas