View
34
Download
0
Category
Preview:
Citation preview
2
Funciones de capa de redLa principal función es el enrutamiento
– llevar paquetes de la fuente al destino, pasando por nodosintermedios (e.g. enrutadores).
– Existen diferentes algoritmos de enrutamiento.
Conecta en forma lógica nodos remotos
– Estos no están conectados por un mismo enlace físico o de capa 2.
Debe haber algún sistema de direccionamiento.
Funciones de capa de red
Se transportan paquetesdesde un origen hastaun destino.
Los protocolos de capade red están en cadahost y enrutador(extremos y nodosintermedios)
3
ConmutaciónConmutación de circuitos
– hosts conectados via enlace de capa 1 o 2 sobre demanda(e.g. red telefónica)
Conmutación de mensajes– modo store and forward– no hay uso paralelo de enlaces
Conmutación de paquetes– paquetes cortos de longitud variable (e.g. IP, X.25)– paquetes muy cortos de tamaño fijo (e.g. ATM)
Conmutación
4
Conmutación de paquetesPermite a mas usuarios usar la redEjemplo: enlace de 1 Mb
Cada usuario– 100 Kb/s cuando esta “activo”– activo 10% del tiempo
Conmutación de circuitos:– 10 usuarios
Conmutación de paquetes:– Con 35 usuarios, probabilidad > 10 activos menor a .004
Servicio datagramaPaquetes independientesDirección destino en cada paqueteEl enrutador envía cada paquete al siguiente enrutador basadoen la direcciónNo hay estado por flujo (flujo = grupo de paquetes con mismasdirecciones fuente y destino)Cada uno puede tomar rutas diferentesAnalogía: servicio postal, entrega de paquetes
5
Servicio de circuito virtualEstablecimiento de conexión (y de ruta)Secuenciamiento de paquetesDirección fuente requerida solo para la conexiónCada paquete sigue la misma rutaEl switch mantiene información de estado (tabla de VCs)Facilita garantías de QoS (Frame Relay, ATM)Analogía: llamada telefónica
Circuitos virtualesLa trayectoria fuente-a-destino se comporta en forma similar a un circuito telefónico
– Alto desempeño– Acciones de la red a lo largo de trayectoria fuente-a-destino
cada paquete lleva identificador de VC (y no ID del host destino)cada enrutador/switch en la trayectoria mantiene un “estado” para cada conexión que pasa
– Recordar: la conexión en capa de transporte solo involucralos extremos
recursos de enlace y enrutador (ancho de banda, buffers) pueden dedicarse al VC
– para obtener desempeño tipo circuito– pero… ¿qué tal del retardo de establecimiento?
6
Conmutación
¿Red datagrama o VC?Internet (datagrama)
Intercambio de datos entrecomputadoras
– servicio “elástico”, no requieretiempo estricto en entrega de datos
Sistemas extremos“inteligentes” (computadoras)
– pueden adaptar, realizarcontrol, recuperación de errores
– complejidad en los “extremos”, simple en el centro de la red
Muchos tipos de enlaces– diferentes características– difícil tener servicio uniforme
ATM (VC)evolucion de la telefoníaconversación humana:
– requerimientos de tiempo y confiabilidad estrictos
– se necesita serviciogarantizado
Sistemas extremos“tontos”
– teléfonos, “videófonos”– complejidad dentro de la red
8
Panorama general
Resolución de direcciones
Problema:
Las máquinas A y B quieren comunicarse.Sus direcciones físicas son PA y PB.Solo conocen la dirección IP de la otra (IA e IB).
¿Cómo conocer la dirección física?
9
Resolución de direcciones
El problema es básicamente encontrar unafunción f eficiente:
PA = f(IA)
Solución posible: mapeo directo– Tabla relacionando PX con IX– Problemas en construir y mantener la tabla.
Resolución de direcciones
Otra solución es emplear un protocolo paraligar direcciones dinámicamente.
Este es el enfoque seguido por el Address Resolution Protocol (ARP).
Ver RFC 826.
10
ARPLa idea es simple:
A envía un paquete a todas las estaciones pidiendoal nodo con la dirección IB responder con sudirección PB.
Todos reciben la petición pero solo B reconoce sudirección y responde.
Cuando A recibe la respuesta utiliza después PBpara comunicar sus datos.
ARP
11
Cache ARP
Sería muy ineficiente hacer broadcast cadavez que A quiera comunicarse con B.
La primera vez que A recibe PB la guarda en un cache local.
Antes de enviar a un nodo busca en sucache si ya tiene la dirección.
Otras mejoras a ARP
Si A busca la dirección de B, es muyprobable que B necesite luego comunicarsecon A.
Entonces, A puede incluir PA al hacer la petición.
Cada nodo al inicializarse también difundesu dirección.
12
Encapsulación de ARPEl mensaje ARP es encapsulado en un marco de capa 2 para poder viajar.El marco indica en uno de sus campos quecarga un mensaje ARP.
Mensajes ARPEjemplo de mensaje ARP con hardware Ethernet.Longitud variable según el hardware utilizado.
13
Mensajes ARPHardware y protocolo– Para saber el tipo de interface buscada.
HLEN y PLEN (Hardware y Protocol Length)– Para determinar las longitudes de las direcciones.
Sender y Target HA (HA = Hardware Address)– Las direcciones fuente y destino.
Resolución inversa
ARP permite conocer la dirección física de otras máquinas.Las máquinas determinan su dirección IP al arranque pues la pueden encontrar en disco.¿Qué pasa cuando la máquina no tienedisco?¿Cómo determina su propia dirección IP?Recordar que la dirección física ya la conocepues está en la tarjeta de red.
14
Reverse ARP (RARP)El problema de encontrar la dirección IP a partir de la física se llama resolución inversa.Para ello se utiliza el protocolo RARP.El protocolo usado y el formato de mensajeses similar a ARP.Uno o mas servidores RARP tienen lasasociaciones de direcciones.Ver RFC 903
RARP
15
Algunos detalles de ARP¿Qué pasa si una solicitud ARP se hace para un host que no existe?
– Se hacen varias solicitudes ARP a intervalos crecientesentre cada una. Eventualmente ARP se dá por vencido.
En algunos sistemas un host envía solicitudes ARP periódicamente para todas las direcciones en el cache ARP.
– Esto refresca el contenido del cache, pero introduce tráficoextra.
Gratuitous ARP Requests: Un host envía unasolicitud ARP para su propia dirección IP:
– Útil para detectar si una dirección IP ya ha sido asignada.
Vulnerabilidades de ARP1. Puesto que ARP no autentifica peticiones o respuestas, éstas
pueden ser falseadas.2. ARP es stateless: Las respuestas ARP pueden enviarse sin
haber una petición ARP correspondiente.3. Según la especificación de ARP, un nodo que reciba un
paquete ARP (solicitud o respuesta) debe actualizar su cache ARP local con la información en los campos fuente, si el nodoreceptor ya tiene una entrada para la dirección IP de la fuenteen su cache ARP.
Explotación típica de éstas vulnerabilidades:Una solicitud o respuesta ARP falseada puede usarse paraactualizar el cache ARP de un sistema remoto (ARP Poisoning)Esto puede usarse para redirigir tráfico IP a otros hosts
16
Internet Control Message Protocol
ICMPIP se apoya en varios otros protocolos pararealizar varias funciones de enrutamiento y control:– funciones de control (ICMP)– Señalización multicast (IGMP)– Establecer tablas de enrutamiento (RIP, OSPF,
BGP, PIM, …)
17
ICMPEn Internet los paquetes viajan de extremo a extremo pasando por enrutadores.
Pero pueden surgir problemas en los enrutadores o en otros nodos.
Para anunciar problemas y monitorear la red se usael Internet Control Message Protocol (ICMP).
ICMP es un protocolo auxiliar que le brinda a IP reporte de errores y queries simples
Ver RFC 792, 1122.
ICMPLos mensajes ICMP son transportados en datagramas IP.– El campo TOS se establece en 0 (no hay
prioridad especial).– El campo protocolo se establece en 1 (código de
ICMP).
18
Mensajes ICMPCada mensaje tiene su propio formato.Pero todos inician con tres campos comunes:
– Type (8 bits) – indicando el tipo de mensaje.– Code (8 bits) – dando mas información sobre el mensaje.– Checksum (16 bits) – para verificar errores.
Se ponen datos adicionales, o 4 bytes en ceros.– Los mensajes ICMP tienen una longitud de 8 bytes
Mensajes ICMP
19
Mensajes ICMPCódigos para mensaje con tipo 3 (destination unreachable)
Mensajes ICMPEl comando ping utiliza los mensajes de tipoECHO
El comando traceroute establece un TTL chico para que enrutadores en el caminorespondan con un Time Exceeded
21
IP – Internet ProtocolProtocolo de interconexión en capa de red– diferentes capas de enlace: Ethernet, PPP, ATM,
...Servicio de datagramas– direccionamiento– envío de paquetes con tablas de enrutamiento– fragmentación/reensamble– no hay garantías de servicio: pérdidas, desorden,
mejor esfuerzo (best-effort)
Encabezado IP(v4)
22
Campos encabezado IPVersión – número de versión del protocolo
– El protocolo actual tiene un 4.
IHL (Internet Header Length) – longitud del encabezado en palabras de 32 bits.
– El valor mínimo es 5 (encabezado sin opciones).– El maximo es 15 (encabezado de 60 bytes).
TOS (Type of Service)– indica otorgamiento de servicios diferenciados.– Definición actual en RFC 1349.
Campos encabezado IPLongitud Total – incluyendo encabezado.– El máximo es 65,535 bytes.
Identificación.– Usado para reensamblar fragmentos de un
mismo datagrama.
Flags – un par de banderas o indicadores:– DF (Don’t Fragment) – no fragmentar el paquete.– MF (More Fragments) – hay mas fragmentos;
todos menos el último lo traen.
23
Campos encabezado IPOffset del Fragmento– Indicando la posición del fragmento dentro del
paquete.
Time to Live (TTL) – Tiempo de vida– Contador limitando el tránsito de los paquetes.– Se decrementa en cada salto, máximo posible
255.
Protocolo – para pasarlo a la capa 4– El RFC 1700 indica los números de protocolos.
Campos encabezado IPChecksum del encabezado– Normalmente recalculado en cada salto.
Direcciones fuente y destino– Indicando ambos extremos de la comunicación.
Opciones – campo con longitud variable– Para funciones no previstas originalmente, etc.– El primer byte identifica el tipo de opción.– Se puede poner un relleno (padding) para hacer
un múltiplo de 4 bytes.
24
Campos encabezado IPOpciones actualmente definidas:– Security – especifica que tan secreto es el
paquete.– Strict source routing – da la ruta completa a
seguir.– Loose source routing – hace que cada enrutador
agregue su dirección IP.– Record route – cada enrutador agrega su
dirección y un timestamp.
Fragmentación y ReensambleLos enlaces de la red tienenMTU (Maximum Transfer Unit) – máximo marco posible en capa de enlace.
– diferentes tipos de enlace, diferentes MTUs
datagramas IP grandes se dividen (“fragmentan”) en la red
– un datagrama se convierte en varios datagramas
– “reensamblados” solo en el destino final
– se usan bits del encabezado IP para identicar y ordenarfragmentos relacionados
25
Fragmentación y Reensamble
Direcciones IP
Longitud de 32 bitsUsualmente representación decimal– dotted-quad decimal: cuatro decimales separados
por puntosUsan un sistema jerárquico– La dirección indica la red, la subred y la dirección
del nodo
26
Direcciones IPHay dos partes: prefijo (red) y host– La máscara de red identifica el prefijo mediante
un AND logicoEjemplo con máscara 255.255.255.0
Clases de direcciones IPHay tres clases de direcciones
– Clase A: para redes grandes– Clase B: para redes medianas– Clase C: para redes pequeñas
Otro par de clases poco utilizadas– Clase D: para redes multicast– Clase E: para uso experimental
Método “antiguo”– direccionamiento con clases (classful)
27
Clases de direcciones IP
Clases de direcciones IP
Al escribirse en notación decimal:– Clase A comienzan con un número entre 0 y 127– Clase B comienzan con un número entre 128 y 191– Clase C comienzan con un número entre 192 y 223– Clase D comienzan con un número entre 224 y 239– Clase C comienzan con un número entre 240 y 255
¿Qué clase es la red UABC?
28
Clases de direcciones IP
La red 127 está reservada para loopback.El espacio de direcciones casi estáexhausto.
Formación de subredesEs usual tener varias redes en una entidad– se particiona el espacio de direcciones reflejando
la estructura de la red con subredes.– Se aplica una “máscara” para determinar la parte
de red/subred.
Máscaras básicas (sin subredes):– 255.0.0.0 para clase A.– 255.255.0.0 para clase B.– 255.255.255.0 para clase C.
29
Formación de subredesBásicamente se toman bits de la parte local (host) para indicar una porción de subred.
Los enrutadores utilizan las máscaras paradeterminar la parte de red y enrutar mejor.Cada entidad decide como usar máscaraspara formar sus subredes.Ver RFC 950, 1219.
Direccionamiento sin clases: CIDRDireccionamiento con clases:
– uso ineficiente del espacio de direcciones, agotamiento del espacio
– e.g., red clase B tiene reservadas direcciones para 65K hosts, aún si solo hay 2K hosts en esa red
CIDR: Classless InterDomain Routing– porción de red de la dirección de longitud arbitraria– formato: a.b.c.d/x, donde x es núm de bits en la porción de
red de una dirección
30
Dirs IP: ¿cómo obtener una?¿Cómo obtiene una red la parte de red de unadirección IP?Obtiene una porción del espacio de direcciones de su ISP.
Direccionamiento jerárquico: agregación de rutas
El direccionamiento jerárquico permite el aviso eficiente de información de enrutamiento :
31
Enrutamiento IPUn datagrama IP sigue una trayectoriaformada por una secuencia de saltos.
Cada enrutador en el camino determina el siguiente salto
Los enrutadores pueden programarse parainformar sobre cambios en la red y re-enrutar tráfico dinámicamente.
Enrutamiento IP
El enrutador consulta una tabla de enrutamiento con información que le ayuda a decidir el siguiente salto.Entrada típica en una tabla:
32
Enrutamiento IP
Enrutamiento IP
Otros aspectos en las tablas:
Rutas default – si ningun prefijo sirve, utilizaruna ruta por omisión.
Rutas de host – especificar explícitamente la ruta a tomar para llegar a un host.
33
Enrutamiento IP
Ejemplo utilizando el comando netstat
Algoritmo de enrutamiento IPEnrutamiento_IP(datagrama, tabla)
Extraer dirección destino ID del datagrama;Calcular dirección de red destino IN;if IN es dirección con conexión directa then
enviar datagrama a través de esa dirección;else if ID aparece como ruta de host
enrutar datagrama como especifica la tabla;else if IN aparece en tabla de enrutamiento
enrutar datagrama como especifica la tabla;else if existe ruta default
enrutar datagrama al gateway por default;else anunciar error de enrutamiento;
Recommended