18 de enero de 2015

El reenvío de paquetes IP

El proceso de transmisión de un paquete IP a través de un dispositivo de capa 3 involucra 3 procesos:
  • El proceso de enrutamiento, que es el responsable de indicar la interfaz de salida a través de la cual se debe reenviar el paquete.
  • El proceso de conmutación que transfiere el paquete desde la interfaz de entrada y hacia la de salida.
  • El proceso de encapsulación que debe reencapsular el paquete con un encabezado de capa 2.
El proceso de enrutamiento es el que selecciona la mejor ruta para alcanzar cada red de destino e informa la interfaz de salida realizando una serie de búsquedas recursivas en la tabla de enrutamiento

El proceso de conmutación puede realizarse de diferentes maneras:
  • Process switching.
    Es más intensivo en la utilización de CPU ya que analiza la dirección IP de destino paquete por paquete. Es el procedimiento que más recursos insume y el que mayor delay introduce.
  • Fast switching.
    Es similar a process switching en cuanto que al recibir un paquete analiza la dirección IP y realiza la consulta a la tabla de enrutamiento. Pero luego de procesar el primer paquete se genera una entrada en la memoria caché para almacenar la información de reenvío y utilizarla en los paquetes subsiguientes, con lo que no se procesa la información para cada paquete individual.
  • CEF (Cisco Express Forwarding).
    Este mecanismo pre construye y pre procesa la información necesaria para el reenvío del tráfico tomando como base la tabla de enrutamiento y la tabla ARP aún antes de recibir cualquier paquete.
    La información resultado del proceso se almacena en una estructura de datos aparte de la tabla de enrutamiento (FIB) que permite revisar la información sin requerir uso de la CPU.
Respecto del proceso de encapsulación del paquete antes de copiarlo al medio físico de salida, depende en gran medida de la interfaz de salida. En interfaces multipunto como Ethernet se requiere un protocolo de resolución de direcciones de capa 2 como ARP.

El proceso de reenvío completo, desde la perspectiva de process switching, se puede describir en 5 pasos:




  • La interfaz de entrada reconoce el paquete (en capa 2, utilizando la información del encabezado de la trama) como dirigido a ella y lo transfiere a la memoria input/output del dispositivo.
  • La interfaz genera una interrupción de procesamiento y durante ella el procesador examina el paquete y lo coloca en la cola de memoria de ingreso apropiada.
  • En la próxima interrupción, en la que corresponda considerar el paquete según el algoritmo de scheduling, se coloca el paquete en el proceso de IP para que sea analizado.
  • Cuando corresponde el procesamiento del paquete, el proceso de IP consulta la tabla de enrutamiento para determinar el próximo salto y la interfaz de salida; en base a esa información se consulta la tabla ARP para encontrar la información MAC necesaria para construir el encabezado de la trama.
  • Se reescribe el encabezado de la trama y se coloca el paquete en la cola de memoria de salida de la interfaz de salida. La interfaz detecta el paquete en su cola de transmisión y copia el paquete al medio.
Para ver la segunda entrega de este tema, seleccione aquí.

3 comentarios:

  1. Excelente aporte, como siempre muy buen material.

    ResponderBorrar
  2. Consulta Oscar Saludos, ahí tu indicas que es desde la perspectiva process switching, no seria desde la perspectiva (Cisco Express Forwarding) ya que hace la consulta a la tabla ARP y a la tabla de enrolamiento según tu esquema.

    ResponderBorrar
    Respuestas
    1. Antonio.
      Como lo indica el texto, la descripción que se hace en este post es "desde la perspectiva de process switching" (pensé que quedaba claro :().

      Borrar

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.