Capítulo 4: La Capa de Red Flashcards

1
Q

¿Cuál es la función de la capa de red?

A

El principal rol de la capa de red es mover paquetes de un host de origen a un host de destino. Se identifican dos funciones importantes:

  1. Forwarding: cuando un paquete llega al enlace de entrada de un router, el router debe decidir por cuál enlace de salida enviarlo, y mover el paquete a dicho enlace. Toma muy poco tiempo, típicamente en el orden de los nanosegundos. Se suele implementar en hardware.
  2. Routing: determinar la ruta o el camino tomados por los paquetes a medida que viajan del emisor al receptor. Toma un poco más de tiempo, en el orden de los segundos. Se suele implementar en software.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Cuál es la diferencia entre el Plano de Control y el Plano de Datos?

A

El plano de control es la parte de una red que controla cómo la información es direccionada, mientras que el plano da datos es el proceso de direccionar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué es y qué rol cumple la tabla de forwarding? ¿En qué plano se encuentra?

A

La tabla de forwarding es una estructura de datos que asigna las direcciones de destino (o una parte de las mismas) a los enlaces de salida del router. Cuando llega un paquete a un router, se examina la dirección de destino en el header y se la busca en la tabla para determinar el enlace de salida apropiado.

La tabla de forwarding se encuentra en el plano de datos o data plane.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué rol cumple el algoritmo de routing?

A

El algoritmo de routing se encuentra en el plano de control y determina el contenido de las tablas de routing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Cuáles son los componentes de un router?

A

Los componentes de un router son 4:

  1. Puertos de entrada: es donde termina el enlace que entra al router. Aquí se consulta a la tabla de forwarding, y también cumple funciones de la capa de enlace, funciones de lookup.
  2. Switch fabric: conecta los puertos de entrada con los puertos de salida.
  3. Puertos de salida: almacena los paquetes que recibe del switch fabric y los transmite al enlace de salida implementando funciones de la capa de enlace y de la capa física.
  4. Routing processor: en routers tradicionales ejecuta protocolos de routing, mantiene tablas de routing e información de estado de los enlaces. En routers SDN es responsable de la comunicación con el controlador remoto.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Cómo se resuelve el problema de tener una entrada de la tabla de forwarding por cada dirección IP disponible?

A

Para resolver el problema de tener una entrada de la tabla de forwarding por cada dirección IP disponible:

  1. Se agrupan las direcciones por prefijo, asignando cada agrupamiento a una interfaz de salida.
  2. Si una dirección matchea con más de un prefijo, el router usa la regla del prefijo más largo (Longest Prefix Match).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿De qué formas se puede realizar el switching?

A

Para realizar el switching (conmutación de paquetes de los puertos de entrada a los puertos de salida), se tiene 3 formas:

  1. Por memoria: es la forma que implementaban los primeros routers, donde el switch era controlado directamente por el procesador. El puerto de entrada avisa mediante una señal de interrupción la llegada de un paquete, luego el paquete se copia a la memoria del procesador, que extrae de los headers la dirección destino y, a partir de la tabla de forwarding, copia el paquete al puerto de salida. Los paquetes no pueden ser transferidos al mismo tiempo, ya que la memoria solo puede hacer una operación de lectura/escritura por vez.
  2. Via bus: el puerto de entrada transfiere el paquete directamente al puerto de salida mediante un bus compartido, sin intervención del procesador de routing. Esto típicamente se hace pre-apendeando un label (o header) al paquete indicando el puerto de salida y transmitiendo el paquete al bus. Todos los puertos de salida reciben el paquete, pero solo se lo queda aquel que matchee con el label. Por el bus puede cruzar un paquete por vez, por eso la velocidad del router está limitada a la velocidad del bus.
  3. Via red interconectada: es una red que consiste de 2N buses que conectan N puertos de entrada con N puertos de salida. Cada bus vertical interseca cada bus horizontal en un punto de cruce que puede ser abierto o cerrado en cualquier momento por el controlador del switch fabric. Pueden enviar paquetes en paralelo. Además es no bloqueante, a menos que dos paquetes de distinta entrada quieran ir al mismo puerto de salida.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué ocurre si el switch no es tan rápido como para transferir todos los paquetes sin delay? ¿Cuáles son las consecuencias? ¿Qué pasa cuando se satura la cola de salida?

A

Si el switch no es tan rápido como para transferir todos los paquetes sin delay, puede ocurrir lo siguiente:

Se pueden formar colas en los puertos de entrada. Una consecuencia de esto es el head-of-the-line blocking (HOL Blocking), donde un paquete encolado en un puerto de entrada tiene que esperar porque está bloqueado por otro paquete.

Puede ocurrir que las velocidades del switch y del puerto de entrada sean tales que haya paquetes encolados para un mismo puerto de salida, y el puerto de salida tenga que elegir qué paquete transmitir primero al enlace de salida (packet scheduler). Cuando no hay más memoria para paquetes, se debe tomar la decisión de descartar el paquete nuevo o eliminar uno o más paquetes encolados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué estrategias se usan para encolar y procesar paquetes en la cola del puerto de salida del router?

A

Se tienen 4 estrategias para encolar y procesar paquetes en la cola del puerto de salida del router:

  1. First-In-First-Out (FIFO): los paquetes llegan a la cola del puerto de salida y se transmiten en el orden en el que llegan. Si el buffer no tiene más espacio para paquetes entrantes, la política de descarte de la cola va a ser la encargada de decidir si se descartan los paquetes más nuevos, u otros que ya estaban en la cola.
  2. RED (Random Early Detection): cuando el buffer comienza a llenarse (más del 70%), se elige al azar qué paquetes se descartan. A medida que se llene más, descarta a una tasa mayor.
    La ventaja es que lo más probable es que no le pegue a los paquetes del mismo flujo. Esto logra que los flujos cuando detecten los ACKs repetidos disminuyan la velocidad de emisión de paquetes, disminuyendo el tráfico que pasa por el enlace. Si dejamos que se llene el buffer, todos los paquetes que lleguen se pierden, resultando en un timeout. Este método es lento, porque hasta que se enteran de bajar la tasa de velocidad pasa un tiempo y mientras tanto se siguen descartando paquetes.
  3. Priority Queuing: los paquetes son clasificados por prioridad a medida que llegan a la cola. Típicamente cada clase de prioridad tiene su propia cola, dentro de la cual se utiliza FIFO. Cuando se elige el paquete a transmitir, se transmite el de la cola con mayor prioridad.
  4. Round Robin y Weighted Fair Quequing: los paquetes se distribuyen en colas de prioridad, pero se va alternando el servicio entre las colas, para que ningún paquete quede demasiado tiempo esperando. WFQ se diferencia de RR en que cada clase puede recibir una cantidad de servicio distinta en algún intervalo de tiempo (o sea que tienen distinto peso).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué ocurre si un router debe enviar un datagrama IPv4 por un enlace de MTU menor al tamaño del datagrama? ¿Quién es el responsable de reensamblar? ¿Qué atributos del header están involucrados en este proceso y qué rol cumplen?

A

La máxima cantidad de data que puede llevar un enlace se denomina MTU (maximum transmission unit). Cada enlace puede usar un protocolo de enlace distinto, y estos protocolos pueden tener distintos MTUs. Si un router o un host debe enviar un datagrama por un enlace que soporte un MTU menor a su tamaño, deberá fragmentar el datagrama.

Cada fragmento se transmite en un paquete IP diferente, y todos los fragmentos se reensamblan en el host de destino, porque es el punto en el que ya no habrá posibilidad de tener que fragmentar, y para no tener que hacer ese procesamiento en la red.

Para que el host destino pueda identificar los fragmentos entre los datagramas y reconstruirlos, se usa el atributo IP flags del header, que tiene los bits DO NOT FRAGMENT y MORE FRAGMENTS, y el atributo Fragment Offset, que indica el offset sobre el payload.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Explicar el direccionamiento de datagramas en IPv4

A

Una red que interconecta distintas interfaces de host (distintos dispositivos) y una única interfaz de router (dirección IP) forma una subred. La estrategia de asignación de direcciones paraesos hosts en Internet se conoce como CIDR (Classless Inter-Domain Routing).

CIDR generaliza la noción de direccionamiento de subred. La dirección IP de 32 bits se divide en dos partes y de nuevo se expresa en notación decimal con puntos como a.b.c.d/x, donde x indica el número de bits de la primera parte de la dirección. Los x bits más significativos de una dirección constituyen la parte de red de la dirección IP y a menudo se los denomina prefijo de la dirección.

Cuando un router ajeno a la organización transmite un datagrama cuya dirección pertenece a la organización, solo necesita tener en cuenta los primeros x bits, así se reduce el tamaño de las tablas de forwarding. Los últimos bits solo importan dentro de la organización.

Cuando un host envía un datagrama a la dirección 255.255.255.255, el mensaje va a ser entregado a todos los hosts de la misma subred (se le llama broadcast address).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Cómo se obtiene un bloque de direcciones IP para utilizar dentro de una subred?

A

Para obtener un bloque de direcciones IP que pueda ser utilizado dentro de la subred de una organización, el administrador de red tiene que contactar en primer lugar con su ISP, el cual le proporcionará direcciones extraídas de un bloque de direcciones mayor que ya habrá sido asignado al ISP.

Una vez obtenido un bloque de direcciones, puede asignar direcciones IP individuales a las interfaces de sus hosts y routers:

  • El administrador de red configura manualmente las direcciones IP de un router.
  • Las direcciones de host también se pueden configurar manualmente, pero frecuentemente esta tarea se lleva a cabo utilizando el protocolo DHCP (Dynamic Host Configuration Protocol). DHCP permite a un host obtener automáticamente una dirección IP. Un administrador de red puede configurar DHCP de modo que un host dado reciba la misma dirección IP cada vez que se conecte a la red, o bien a un host puede asignársele una dirección IP temporal que será diferente cada vez que el host se conecte a la red.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Cuáles son los pasos del protocolo DHCP?

A

Los pasos de un protocolo DHCP (Dynamic Host Configuration Protocol) son:

Regla mnemotécnica: DORA (Discovery - Offer - Request - Acknowledge)

  1. [D] Descubrimiento del servidor DHCP: La primera tarea de un host recién llegado es encontrar un servidor DHCP con el que interactuar. El cliente DHCP envía un DHCP Discovery Message a la dirección de broadcast.
  2. [O] Oferta(s) del servidor DHCP: Un servidor DHCP que recibe un mensaje de descubrimiento busca una dirección que tenga libre y responde al cliente con un mensaje de oferta DHCP, que también se envía a la dirección de broadcast. Cada mensaje de oferta de un servidor contiene toda la configuración TCP/IP que le ofrece al cliente (el ID del mensaje de discovery recibido, la dirección IP propuesta para el cliente, la máscara de red, el tiempo de concesión).
  3. [R] Request / solicitud DHCP: El cliente seleccionará entre las ofertas recibidas y responderá a la oferta seleccionada con un mensaje de solicitud DHCP, donde confirma que quiere asignarse la dirección IP concedida. Ahora ya no se usa la dirección de broadcast, sino que usa la dirección del servidor que recibió en el mensaje de oferta.
  4. [A] ACK DHCP: El servidor contesta al mensaje de solicitud DHCP con un mensaje ACK DHCP, que confirma la concesión de la dirección IP por el tiempo de concesión correspondiente.

Cuando ya no se necesita la dirección IP concedida, se envía un mensaje DHCP Release al servidor para “devolver” la dirección IP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué es, para qué sirve y cómo funciona NAT?

A

NAT (Network Address Translation) es un mecanismo utilizado por los routers IP para intercambiar paquetes entre dos redes que se asignan mutuamente direcciones incompatibles. Cuando en una red LAN se conectan varias máquinas, el ISP debería asignar un rango de direcciones para cubrir todos los dispositivos IP de la red. Si la subred crece, habría que asignar un bloque de direcciones mayor. NAT resuelve este problema, permitiendo ocupar menos direcciones.

El router NAT visto desde afuera se comporta como un único dispositivo con una única IP, ocultando los detalles de la red doméstica que tiene detrás. El router obtiene su dirección del servidor DHCP del ISP y ejecuta un servidor DHCP para proporcionar direcciones a los dispositivos IP de la red doméstica que controla. Internamente guarda una tabla de direcciones NAT, e incluye números de puerto junto con las direcciones IP en las entradas de la tabla. De esta manera, el router sabe a qué host interno reenviarle un datagrama que llega a su dirección IP.

El puerto default para HTTP es el 80. El puerto de origen lo asigna el sistema operativo, y va desde 1024 a 2^16 los posibles números de puertos de origen. Menos de 1024 son puertos reservados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Cuáles son las diferencias entre IPv4 e IPv6?

A

Las diferencias entre IPv4 e IPV6 son 5:

  1. Más direcciones disponibles: se incrementa el tamaño de las direcciones de 32 a 128 bits, asegurando que el mundo no se quede sin direcciones IP. Se introduce un nuevo tipo de dirección: anycast, que se pueden asignar a varios dispositivos y que permite entregar un datagrama al que se tenga más cerca de ese grupo de hosts.
  2. Header fijo de 40 bytes: permite que se procesen más rápido los datagramas en el router.
  3. Flow labeling: se etiquetan los paquetes pertenecientes a determinados flujos para los que el emisor solicita un tratamiento especial, por ejemplo en transmisión de audio o video. Inspirado en el Multiprotocol Label Switching. Cómo no hay límite de encabezados, se pueden poner muchos de forma tal que el router consuma demasiados recursos para procesarlo y así atacarlo.
  4. Sin fragmentación o reensamblado: No se permite ni la fragmentación ni el reensamblado en routers intermedios. El router simplemente lo descarta y envía de vuelta al emisor con un mensaje de error ICMP “Paquete demasiado grande”.
  5. Sin checksum: Los paquetes IP no tienen checksum, porque ya se hace esa comprobación en las capas de transporte y de enlace.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Cómo se lleva a cabo la transición de IPv4 a IPv6?

A

La transición de IPv4 a IPv6 se hace mediante tunelización. La idea es encapsular la información del datagrama IPv6 en el payload de un datagrama IPv4, así dentro del router pueden viajar como IPv4, pero en los extremos se extrae como IPv6 (se identifica que debe hacerse esto a partir del campo protocol number).