Capitulo 4 - Red Flashcards
Rol de la capa de Red
Transportar paquetes de un host a otro. Se identifican dos funciones importantes: routing y forwarding.
Forwarding
Se encarga de la transferencia de un paquete desde un enlace de entrada a un enlace de salida en un único router.
Routing
Involucra a todos los routers de la red, que interactúan para determinar los caminos que un paquete toma del origen al destino. Se utilizan algoritmos de enrutamiento.
Tabla de Forwarding
Todos los routers tienen una tabla de forwarding. Examinando un field en el header del paquete y utilizando esta tabla se determina el enlace de salida del paquete.
Los algoritmos de enrutamiento son los que determinan las entradas de estas tablas.
Possibles servicios de la capa de red
- Entrega garantizada: se garantiza que el paquete llegará al destino.
- Entrega garantizada en un tiempo acotado.
- Entrega en orden.
- Bandwidth mínimo garantizado: si el emisor envía a un rate por debajo del rate especificado, se garantiza que los paquetes llegan en orden y a un rate fijo.
- Máximo Jitter garantizado: El tiempo de transmisión entre paquetes es el mismo que el tiempo entre la recepción de esos paquetes.
- Servicios de Seguridad: autenticación y encriptado de datos.
IP provee un solo servicio: best-effort, no se garantiza que lleguen en orden y ni siquiera se garantiza que lleguen.
Virtual Circuit Network (VC)
Son redes que proveen solamente servicio con conexión.
Consiste en:
- Un path (links, routers) entre el host origen y el host destino.
- Un número VC por cada link del path.
- Entradas en la tabla de forwarding de cada link del path.
- Cada paquete lleva un VC number en el header, y cada router reemplaza este VC number con el siguiente, utilizando la tabla de forwarding.
Los VC number de cada link son diferentes pq seria muy costoso que todos los routers se pongan de acuerdo en que numero utilizar.
Fases:
VC Setup: La capa de transporte contacta a la capa de red para pedir que se cree el VC network. La capa de red determina el camino, es decir, la serie de links por las que van a pasar los paquetes y agrega las entradas en las tablas de forwarding.
Data Transfer: Después de establecida la red los paquetes pueden ser enviados.
VC Teardown: El emisor o el receptor comunican a la capa de red que quieren terminar la conexión. La capa de red avisa al otro end-system y remueve las entradas de las tablas de forwarding de los routers.
Los mensajes intercambiados se llaman mensajes de señalización y los protocolos utilizados, protocolos de señalización.
Datagram Networks
No es necesario establecer una conexion.
Cuando un sistema final quiere enviar un paquete, le estampa la dirección de destino y pone el paquete en la red. Cada router se encarga de dirigir el paquete utilizando la dirección de destino y la tabla de forwarding.
Router (componentes)
Puertos de entrada: Es por donde ingresan los datagramas al router. Cada puerto de entrada mantiene una copia local de la tabla de forwarding del procesador y la decision de a que puerto de salida dirigir el paquete se hace localmente, evitando saturar al procesador.
Puertos de salida: Almacena los paquetes que le fueron enviados desde el switching fabric y los transmite al enlace de salida.
Switching fabric: Conecta los puertos de entrada con los puertos de salida. Es una red dentro de un router, utilizando la información que le brinda el procesador de ruteo.
Procesador de Ruteo: Ejecuta los protocolos de enrutamiento y mantiene las tablas de forwarding.
Trama de conmutación (Switching fabric) - 3 tipos
Via Memoria: El procesador de ruteo es interrumpido y el puerto de entrada copia el datagrama a una memoria compartida. Luego el procesador examina la direccion de destino y copia el datagrama al puerto de salida.
Via Bus: El puerto de entrada transfiere el datagrama al puerto de salida a través de un bus, no se necesita intervención del procesador. En el bus puede haber un datagrama a la vez, así que si otra interfaz está mandando un datagrama se queda bloqueado y se guarda en la cola. La velocidad es limitada por la velocidad del bus.
Via Red interconectada: Consiste de 2n buses conectando n puertos de entrada con n puertos de salida. Si se encuentra alguno de los tramos ocupados, el datagrama queda bloqueado y se guarda en la cola.
Donde ocurren las pérdidas por cola?
Pueden ocurrir tanto en las colas de las interfaces de entrada como en las colas de las interfaces de salida.
Bloqueo HOL (Head of the Line)
Si dos paquetes que estan al frente tienen el mismo puerto de destino, uno de los dos debe esperar. Los paquetes que estan detrás del paquete bloqueado en la cola también quedan bloqueados incluso si iban destinados a puertos diferentes. La cola puede crecer y producirse pérdida de datagramas.
Componentes de la capa de Red
Datagrama IPv4
Version number: 4bits, indica de que versión de IP se trata (IPv4 o IPv6).
Header length: 4 bits para indicar donde comienza la data ya que el tamaño del header es variable.
Type of service: Permite diferenciar datagramas IP, por ejemplo para distinguir entre datagramas real-time (telefonía), de datagramas que no son real-time (FTP).
Datagram length: Es el tamaño total del datagrama en bytes. Incluye header y data.
Identifiers, flags, fragmentation offset: Estos campos son utilizados para la desfragmentación. IPv6 no permite fragmentacion en los routers.
Time-to-Live (TTL): Utilizado para que el datagrama no circule eternamente. Si llega a 0 el datagrama se descarta.
Upper layer protocol: Solo se utiliza en el destino. Indica que protocolo de transporte se utilizó. (6 = TCP, 17=UDP).
Header checksum: ayuda al router a detectar errores en el datagrama IP. Se recalcula en cada router pq los campos cambian (ej: TTL).
Por que se chequean errores tanto en IP como en TCP? El checksum de IP solo incluye al header. Ademas TCP podria correr sobre otro protocolo de red distinto de IP (ej: ATM).
Source and destination IP address: La IP de destino es determinada con DNS.
Options: no se utiliza en IPv6.
Data: contiene el segmento de capa de transporte, también puede contener otros tipos de datos, por ejemplo: ICMP.
El tamaño del header de IP es de 20 bytes.
Fragmentación y desventajas
Los protocolos de capa de enlace tienen un tamaño máximo de datagrama que pueden soportar, este tamaño está dado por el MTU. Los diferentes links entre el origen y el destino pueden utilizar diferentes MTU, en este caso es necesario fragmentar el datagrama IP.
La tarea de reensamblar los datagramas la realiza el sistema final, para no sobrecargar a los routers.
El datagrama se parte en datagramas más pequeños con el mismo identificador. El último paquete de la secuencia tiene una flag en 0, mientras que los otros tienen la flag en 1. El offset indica la posicion (número de byte) del datagrama en la secuencia.
Desventajas: sobrecarga de router y sistemas finales, en la fragmentación y reensamblado. Posibles ataques si se envían muchos datagramas con el bit en 1.
Interfaz de un router
Se le llama interfaz al límite entre el host o el router y el enlace físico. Cada interfaz tiene su propia dirección IP.
Direcciones IPv4
Tienen 32 bits de largo (4 bytes). Cada byte se escribe en su forma decimal y se separa por un punto. Por ejemplo la dirección IP 193.32.216.9 equivale a la siguiente notacion en binario:
110000001 00100000 11011000 00001001
Todas las direcciones IP son únicas, excepto las direcciones que estan detrás de un NAT, y estan determinadas por la subred a la que pertenecen.
CIDR
Class InterDomain Routing.
Clase A: subredes con prefijos de 8 bits.
Clase B: subredes con prefijos de 16 bits.
Clase C: subredes con prefijos de 24 bits.
Broadcast address
255.255.255.255 Cuando un host envia un datagrama con este destino, el datagrama se envia a todos los hosts dentro de la subred.
Como se obtiene un bloque de direcciones IP?
Se debe contactar al ISP. Por ejemplo, si el ISP tiene el bloque de direcciones 200.23.16.0/20, puede asignar sub-bloques a las distintas organizaciones.
EL ICANN es quien se encarga de asignar bloques de direcciones IP a los ISP y otras organizaciones.
DHCP (UDP, 68 67)
- Dynamic Host Configuration Protocol. DHCP le permite a un host obtener una dirección IP automáticamente. DHCP puede configurarse para otorgar direcciones IP fijas o direcciones IP temporales. Ademas de la dirección IP, DCHP le informa la mascara de la subred, la direccion IP del router mas cercano (gateway) y la dirección IP del servidor DNS.
- DHCP es ideal en redes donde hay muchos host que vienen y van y solo necesitan una direccion IP por un tiempo limitado.
. Es un protocolo cliente-servidor. Cada subred tiene su servidor DHCP.
- Cuando un host se conecta a la red, se producen 4 pasos para obtener su direccion IP.