Mostrando las entradas con la etiqueta encabezado. Mostrar todas las entradas
Mostrando las entradas con la etiqueta encabezado. Mostrar todas las entradas

viernes, 12 de junio de 2009

¿Qué es MPLS? parte 1

MultiProtocol Label Switching es una tecnología que usa etiquetas para hacer decisiones de reenvío de tráfico. Con la tecnología MPLS, el análisis capa 3 del encabezado de un paquete se hace sólo una vez, en el punto donde el paquete entra al dominio MPLS, y por medio de la inspección de las etiquetas se maneja el posterior direccionamiento dentro de la red de MPLS.

Así obtenemos una mayor velocidad al no tener que procesar el encabezado de IP en cada salto (o router) porque las decisiones de reenvío se toman comparando las etiquetas con el switch fabric (como en un switch) en lugar de con una base de información de ruteo. Reduce el overhead dentro de los routers de núcleo o de core (tamaño adicional en los paquetes de datos que se adiciona para su direccionamiento o encabezados), obtenemos también ingeniería de tráfico (TE), calidad de servicio (QoS), todo tipo de transporte sobre MPLS (Any Transport over MPLS o AToM) y redes privadas virtuales (VPN). Y podemos aplicarlo a cualquier protocolo de la capa de red.

Una etiqueta es un identificador de 4 bytes, de longitud fija, que es significativa localmente y que se usa para identificar una clase de equivalencia de reenvío (Forwarding Equivalence Class FEC). La etiqueta que se pone en un paquete particular representa el FEC al que se asignó el paquete. Puede haber más de una etiqueta en un paquete.

Una FEC es un grupo de paquetes IP que son reenviados de la misma manera, sobre la misma trayectoria, y con el mismo tratamiento de reenvío. Puede corresponder a una misma subred de IP de destino, pero también corresponde a cualquier clase de tráfico que el router de acceso a la red de MPLS considere significativa. Por ejemplo, todo el tráfico con un cierto valor de precedencia de IP puede constituir una FEC.

La etiqueta se compone de los campos:
  • Etiqueta (Label) de 20 bits
  • EXP experimental, actualmente usado como Clase de Servicio (CoS), 3 bits, afecta a la cola de paquetes y decisiones de descartar paquetes.
  • S fondo de la pila (botton of stack), 1 bit, si es 0 indica que hay más etiquetas, si es 1 indica que estamos en el fondo de la jerarquía.
  • y el tiempo de vida o time to live (TTL), 8 bits, se decrementa en cada router, si llega a 0 se descarta el paquete.
bits
|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
|_______|_______|_______|_______|_______|_____| |_______|_______|
|____________etiqueta_20 bits___________|_exp_|S|______TTL______|
|_______________________________________|_____| |_______________|
|_____byte 1____|_____byte 2____|_____byte 3____|_____byte 4____|



Esta etiqueta se sitúa entre el encabezado de la capa de enlace de datos (data link layer, capa 2) y el encabezado de red (network layer, capa 3). El principio de la pila de etiquetas, top label, aparece primero en el paquete y después las demás etiquetas. El paquete de la capa de red aparece inmediatamente después de las etiquetas.

┌──────────────┬──────────────┬───┬──────────────┬──────────────┐
│Layer 2 header│_ Top Label _ │...│ Bottom Label │Layer 3 header│
└──────────────┴──────────────┴───┴──────────────┴──────────────┘

martes, 28 de abril de 2009

Encapsulamiento IP

Tomaré el ejemplo del post anterior para explicar los campos contenidos en este datagrama de IP, sin tomar en cuenta el encabezado Ethernet, que fue explicado claramente. Entonces tenemos los 60 bytes del datagrama, ordenados en grupos de 8 bytes por renglón para su fácil lectura, y con la numeración en valores hexadecimales:

000000: 45 00 00 3C 82 47 00 00 E..<.G..
000008: 20 01 94 C9 C0 A8 01 01 ......
000010: C0 A8 01 11 08 00 48 5C ...@..H\
000018: 01 00 04 00 61 62 63 64 ....abcd
000020: 65 66 67 68 69 6A 6B 6C efghijkl
000028: 6D 6E 6F 70 71 72 73 74 mnopqrst
000030: 75 76 77 61 62 63 64 65 uvwabcde
000038: 66 67 68 69 fghi

Ahora bien, ¿que es lo que nos dice esta información?

  • Los primeros 4 bits nos indican que es un datagrama versión 4 (IPv4).
  • El siguiente campo nos indica que tiene una longitud de 5 palabras, cada una de 4 bytes; y el mínimo es 5.
  • El tipo de servicio nos indica la calidad de servicio QoS, anteriormente era el campo de precedencia y se cambió para dar lugar al etiquetado de DCSP (Differentiated Services Code Point; RFC 2474); en este caso, al ser un paquete de ICMP no tiene prioridad.
  • La longitud total del datagrama, en este caso 60 bytes.
  • El campo de identificación sirve para distinguir un datagrama de otro.
  • Las banderas nos indican que se puede fragmentar este datagrama si fuera necesario y que es el último fragmento.
  • El offset nos asegura que se utilicen los primeros 8 bytes del encabezado

Los campos subsecuentes están explicados a detalle en el post anterior.

sábado, 7 de junio de 2008

Identificando los Componentes de un Datagrama IP.

IP transfiere la información en forma de paquete, el protocolo de internet define el formato de dicho paquete. Las primeras 5 ó 6 palabras de 32 bits son de información de control y se llama header (encabezado).Hay varios campos en un datagrama de IP, por default el encabezado tiene 5 palabras de largo, la sexta es opcional. La longitud del encabezado es variable, así que se incluye un campo llamado IP Header Lenght (IHL) que indica la longitud en pabras. A continuación se explican los campos contenidos en el header de IP y su longitud.



datagram

Version: número de versión (4 bits).

Header Lenght: longitud del encabezado en palabras de 32 bits (4 bits).


Priority and type of service: cómo se debe manejar el datagrama, los primeros 3 bits son de prioridad (8 bits).


Total Lenght: longitud total, encabezado + datos (16 bits).


Identification: valor único de datagrama de IP (16 bits).


Flags: especifica si debe ocurrir frangmentación (3 bits).


Fragment Offset: provee la fragmentación de datagramas para permitir diferentes unidades de transmisión máximas en la red (maximum transmission unit MTU) (13 bits).


Time-to-live (TTL): identifica durante cuanto tiempo será considerado válido el datagrama (8 bits).


Protocol: Protocolo en el siguiente nivel que envió el datagrama (8 bits).


Header Checksum: para verificar la integridad en el encabezado (16 bits).


Source IP Address: dirección IP de origen (32 bits).


Destination IP Address: dirección IP de destino (32 bits).


IP Options: network testing, debugging, security and others (0 o 32 bits si está)


Data: datos del protocolo de la capa superior, longitud variable.