Capa de red en Internet Una colección de Sistemas Autónomos (AS) Algunos backbones (espina dorsal, corazón de la red) formados por proveedores de nivel más alto Lo que los une es el Protocolo IP Necesidad de direcciones globales 1
Interconexión de subredes 2
Arquitectura actual de Internet Conexión de sistemas autónomos (ASs) No hay un backbone explícito AS 1 AS 2 AS 3 AS 4 AS 5 AS 6 AS 7 AS 8 3
Capa de red en Internet Capa de transporte: TCP y UDP Protocolos de ruteo RIP, OSPF, BGP Protocolo IP Direccionamiento Formato del paquete Fragmentación Tabla de ruteo Protocolo ICMP Capa de enlace de datos 4
Protocolo IP La capa de red en Internet provee solamente un servicio de datagramas Es un servicio best-effort No hay garantía de entrega, ni de retardos, ni de orden El protocolo utilizado es el protocolo IP La versión de IP en producción es la versión 4 5
Datagrama IPv4 Orden de transmisión Versión Largo Tipo de servicio Largo del datagrama (bytes) Encab. Opciones identificador (largo del paquete variable entre Flags 0 y 40 bytes) Offset de fragmento Dirección IP Dirección de origen Ejemplos: IP (32 de bits) destino (32 bits) Tiempo de vida Protocolo Security capa (SEC, 4 E-SEC, Checksum CIPSO) de encabezado Strict source routing (SSR) Loose Dirección source IP routing de origen (LSR) Largo Record del encabezado Datos route Tipo (RR) de (4 servicio bits) (6 bits) Largo del datagrama Dirección en Timestamp palabras IP (16 de de Originalmente (TS) destino bits) 32 bits 3 bits de encabezado Si no hay + datos... opciones precedencia Tiempo es 5 y vida 3 banderas máximo 65535 bytesidentificación Delay, (time-to-live Throughput, o TTL) del Reliability Banderas (2 bits) paquete Offset del fragmento Opciones (13(opcional) bits) Actualmente (8 bits) (16 se bits) usan para DF Checksum Don t Posición fragment (16 bits) Protocolo de capa 4 (8 bits) Suma del fragmento en Contador indicar el se Indica usa la de en a clase saltos que fragmentación de entidad para servicio de capa 4 MF More de comprobación fragments del Encabezado datagramagarantizar para todos ofrecer debe un los máximo entregarse fragmentos calidad de diferenciada vida el tienen datagrama de el Se hace la suma de palabras Datos Versión de (opcional) (4 los bits) mismo datagramas en Cada router lo decrementa identificador el destino 16 bits en aritmética de y complemento a 1 y se toma cuando el le da 0 lo debe descartar complemento a 1 del resultado 32 bits 6
Encabezado IP Versión = 4 IHL = IP Header Length. largo del encabezado en palabras de 32 bits: 5 a 60 (según largo de campo variable de opciones) Tipo de servicio (en general ignorado) Precedencia (3 bits) (Prioridad 0..7) DTR (Delay, Throughput, Reliability) 2 bits no usados Largo total de todo el datagrama (header+data) 7
Encabezado IP (cont) Identificación del datagrama DF don t fragment MF more fragments Offset del fragmento en el datagrama Tiempo de vida se decrementa de 255 seg. a 0, en la práctica saltos Protocolo que transporta (TCP, UDP, otros) Suma de comprobación del encabezado Direcciones origen y destino Opciones 8
Numeración de fragmentos 9
Opciones del encabezado IP 10
Direccionamiento IPv4 Los datagramas requieren una dirección IP de destino para poder ser encaminados por la red En general, ésta IP debe ser única en la red En IPv4 esta dirección es de 32 bits (4 bytes) Normalmente se representan en el formato dotted-decimal notation Ej. 192.168.1.10 La asignación se realiza por rangos para minimizar las tablas de ruteo Son asignadas jerárquicamente por NIC (Network Information Center) En latinoamérica, LacNIC 11
Redes y subredes Los equipos que pertenecen al mismo rango comparten una parte de la dirección IP, llamada prefijo El largo del prefijo lo indica la máscara de la red La máscara divide la dirección en: parte de red o prefijo parte de host o de interfaz Las direcciones con todos 0s y todos 1s en la parte de host son reservadas para el número de la red y la dirección de broadcast de la red respectivamente 12
Clases de direcciones IP Rangos de tamaño predefinido Clases de redes A B C D E Se distinguen por los primeros bits 13
Clases (classful addressing) Originalmente las direcciones se dividían en clases de acuerdo al largo del prefijo A 0 Red Host 1.0.0.0 a 127.255.255.255 B 10 Red Host 128.0.0.0 a 191.255.255.255 C 110 Red Host 192.0.0.0 a 223.255.255.255 D 1110 Multicast 224.0.0.0 a 239.255.255.255 E 1111 Reservadas 240.0.0.0 a 255.255.255.255 14
CIDR (classless interdomain routing) VLSM (variable length subnet mask) La rigidez del esquema original de clases llevaba a una subutilización de las direcciones, por lo que se adoptó la modalidad de prefijo de largo variable (VLSM) En los bits correspondientes al prefijo la máscara tiene 1 y en los correspondientes a la parte de host tiene 0 Ejemplo de notación: 192.168.1.0/24 Las máscaras ya no están restringidas a las /8, /16 y /24 correspondientes a las clases A, B y C respectivamente 15
Subredes Problema: Tamaño rígido de redes A,B,C.. Solución: subredes con máscaras 16
Ejemplo: Interconexión de redes netmask 255.255.255.0 netmask 255.255.255.0 netmask 255.255.255.0 17
Encaminamiento de paquetes en Internet Cada conmutador o router de la red al recibir un paquete, toma la dirección destino del paquete y busca en una tabla (tabla de ruteo o tabla de rutas) cuál es el próximo salto para ese destino Una vez encontrado el próximo salto, le envía el paquete Contenido de la tabla de rutas Destino (rango de direcciones = red/máscara) Próximo salto 18
Encaminamiento de paquetes en Internet Se identifican dos funciones claramente diferentes: Función de ruteo: determina el contenido de la tabla de ruteo Función de forwarding: decide en base al contenido de la tabla de ruteo el próximo salto de cada paquete 19
Función de ruteo Se encarga de construir la tabla de ruteo, de establecer su contenido El contenido de la tabla puede ser estático o dinámico Cuando es estático lo realiza un administrador conociendo cómo desea que sea encaminado el tráfico por la red Cuando la red es muy compleja es poco práctico y sujeto a errores realizar la configuración manual de las rutas Además la adaptación a los cambios es lenta 20
Función de ruteo En la actualización dinámica se utilizan protocolos de ruteo que intercambian información entre los routers de la red y utilizando algoritmos de ruteo determinan el contenido de la tabla Normalmente, la actualización de la tabla se realiza periódicamente a intervalos del orden de decenas de segundos Los protocolos de ruteo dinámico intercambian información entre equipos usando protocolos de capas superiores 21
Función de forwarding Se encarga de encaminar los paquetes consultando a la tabla de ruteo La consulta a la tabla de ruteo se realiza paquete a paquete 22
Función de forwarding Utiliza el algoritmo de longest prefix match Las entradas en la tabla de ruteo se ordenan desde las entradas con máscaras más largas (más 1 s) hacia las entradas con máscaras más cortas (menos 1 s) Las máscaras más largas indican redes más pequeñas y por lo tanto son entradas más específicas 23
Longest prefix match Dado un destino, se recorre la tabla haciendo AND con las máscaras de cada entrada y determinando si el prefijo coincide Si coincide se elige la entrada y si no se compara con la siguiente Si no se encuentra ninguna coincidencia, se descarta el paquete Si hay ruta por defecto ésta aparece en última instancia pues tiene máscara 0 24
Longest prefix match Destino= 192.168.2.33 Destino Máscara Próximo salto 192.168.1.128 /25 NO! R1 192.168.1.0 /24 NO! R2 192.168.0.0 /23 NO! R3 192.168.0.0 /16 R5 192.0.0.0 /8 R6 0.0.0.0 /0 R7 Próximo salto es R5 192.168.2.33 & /25 = 192.168.2.0 192.168.2.33 & /24 = 192.168.2.0 192.168.2.33 & /23 = 192.168.2.0 192.168.2.33 SI & /16 = 192.168.0.0 25
Encaminamiento de datagramas (A hacia C ) 192.168.1.1 192.168.1.2 A 192.168.1.3 192.168.1.4 172.16.0.95 192.168.250.9 Consulta la tabla de ruteo! 172.16.0.1 C 172.16.0.2 Destino Próximo salto 192.168.1.0/24 interfaz de red local 192.168.250.1 192.168.250.0/24 192.168.1.4 192.168.250.2 172.16.0.0/24 192.168.1.4 Encamina el paquete hacia el próximo salto 26
Encaminamiento de datagramas (A hacia C ) 192.168.1.1 192.168.1.4 172.16.0.95 172.16.0.1 192.168.1.2 192.168.250.9 C A Consulta la tabla de ruteo! 172.16.0.2 192.168.1.3 Destino 192.168.250.1 Próximo salto 192.168.1.0/24 interfaz de red local 1 192.168.250.0/24 interfaz de red local 2 172.16.0.0/24 interfaz de red local 3 192.168.250.2 Entrega a capa de enlace para que se encargue 27
Agrupación de subredes (ruteo jerárquico) Si tengo entradas para: 192.168.1.0/24 y 192.168.0.0/24 Puedo agruparlas en una entrada para la red 192.168.0.0/23 Se puede utilizar siempre que el destino asignado a la entrada agrupada sea adecuado 28
Función de Ruteo Función de Ruteo: decide cuál es el siguiente enrutador para un determinado destino Construye la tabla de ruteo En general el camino se elige en base a un criterio de menor distancia (pero pueden tomarse en cuenta otros factores) La distancia puede tomarse según diferentes métricas: retardo, carga, distancia, ancho de banda de las líneas En la función de ruteo se distingue: el protocolo de ruteo y el algoritmo de ruteo 29
Protocolo de ruteo y algoritmo de ruteo El protocolo de ruteo se encarga de recopilar información de los enrutadores de la red El algoritmo de ruteo decide en base a la información recogida el mejor camino para un cierto destino 30
Clasificación de Protocolos de ruteo Protocolos de enrutamiento interno IGP Tratan de llegar a todos los destinos y por el mejor camino Operan dentro de un AS (sistema autónomo) Protocolos de enrutamiento externo EGP Agregan restricciones con políticas Operan entre ASs 31
Protocolos de ruteo interno IGPs RIP (routing information protocol) Familia: vector distancia Distancia = saltos, infinito = 16 difusión periódica (30 s) o a pedido OSPF (open shortest path first) Familia: estado del enlace Objetivos: Abierto, dinámico y eficaz varias métricas: distancia, retardo, etc. (en la práctica se usan métricas administrativas) 32
Protocolo de ruteo externo BGP Problemas de políticas No transitar a través de ciertos AS Impedir que ciertas fuentes transiten por ciertos AS (Ej. IBM y Microsoft) Se configuran manualmente Los routers se comunican el camino que usan Evita la convergencia a infinito 33
OSPF y BGP AS s, backbones y áreas 34
Protocolos de control: ICMP 35
Protocolos de control: ARP, RARP, DHCP ARP Pedido por difusión, respuesta directa Uso del caché, puesta al día gratuita Proxy ARP RARP BOOTP DHCP Para máquinas sin disco o para configuración automática asocia una IP a una dirección Ethernet 36
Problema de falta de direcciones Crecimiento exponencial Sobran clase C y faltan clase B Explosión de redes CIDR y: Asignación por regiones bloques de clases C contiguos (cambio de máscara) Prioridad a la máscara más larga NAT Network Address Translation 37
NAT 164.73.224.40 Tabla de NAT Router + NAT 192.168.1.2 -> 206.99.44.25 192.168.1.1 192.168.1.2 Internet S D 192.168.1.2 206.99.44.25 carga 206.99.44.25 S D 164.73.224.40 206.99.44.25 carga 38
NAT vuelta de los paquetes Router + NAT Tabla de NAT 164.73.224.40 192.168.1.1 192.168.1.2 -> 206.99.44.25 192.168.1.2 Internet S 206.99.44.25 D 192.168.1.2 carga (respuesta) 206.99.44.25 S 206.99.44.25 D 164.73.224.40 carga (respuesta) 39
NAT - Problemas Qué pasa si dos máquinas quieren salir a la vez? Y si además quieren ir al mismo destino? Qué pasa si se quiere ingresar desde Internet a una máquina de la red? Soluciones: Puede haber una o más direcciones públicas Se pueden cambiar también los puertos de transporte (se le suele llamar PAT, por Port Address Translation) 40
Tabla de NAT NAT/PAT Router + NAT/PAT 192.168.1.2, PortS, PortD -> 164-73.224.40, 206.99.44.25, PortSN 164.73.224.40 192.168.1.1 192.168.1.2 Internet S 192.168.1.2 D 206.99.44.25 Port S Port D carga 206.99.44.25 S 164.73.224.40 D 206.99.44.25 Port SN Port D carga 41
NAT/PAT (respuesta) 164.73.224.40 Router + NAT/PAT 192.168.1.1 Tabla de NAT 192.168.1.2, PortS, PortD 164.73.224.40, 206.99.44.25, PortSN 192.168.1.2 Internet S 206.99.44.25 D 192.168.1.2 Port D Port S carga (respuesta) 206.99.44.25 S 206.99.44.25 D 164.73.224.40 Port D Port SN carga (respuesta) 42
Seguridad Las redes conectadas a Internet son en principio vulnerables, ya que pueden recibir paquetes desde cualquier parte del mundo Se requieren mecanismos de seguridad conocidos como Firewalls (o corta fuegos) La idea es analizar los paquetes e implementar filtros en base a: Dirección IP de origen, Dirección IP de destino Puerto de origen, Puerto de destino Protocolo de capa de transporte Banderas (SYN) Control de conexiones establecidas (estados) 43
Esquema de firewall (1) Red pública (PUB) Red Desmilitarizada (DMZ) Red Privada (PRV) Web Mail etc Firewall 44
Esquema de firewall (2) PUB DMZ Firewall (externo) Firewall (interno) PRV 45
Esquema de firewall (3) PUB DMZ Firewall Servidores dual homed (no rutean!) PRV 46
IPv6 Objetivos Aumentar las direcciones Reducir las tablas de ruteo Simplificar para aumentar la velocidad Mejor seguridad Tipos de servicio (tiempo real) Multicasting Posibilitar la evolución Coexistencia con lo anterior No todos logrados! 47
Encabezado IPv6 48
Extensiones al encabezado de IPv6 49