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 Arquitectura inicial de Internet 2 Arquitectura actual de Internet Conexión de sistemas autónomos (ASs) No hay un backbone explícito AS 1 AS 4 AS 3 AS 2 AS 5 AS 7 AS 6 AS 8 3 Capa de red en Internet Capa de transporte: TCP y UDP Protocolos de ruteo Protocolo IP • • Direccionamiento • Formato del paquete • Fragmentación RIP, OSPF, BGP 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 Encab. Largo del datagrama (bytes) Opciones identificador(largo del paquete Flags Offset de fragmento variable entre 0 y 40 bytes) Dirección IPDirección de origenEjemplos: IP(32 debits) destino (32 bits) Tiempo de vida Protocolo 4 E-SEC, Checksum Security capa (SEC, CIPSO)de encabezado Strict source routing (SSR) Loose sourceIProuting (LSR) Dirección de origen Record route (RR) Tipo de(4servicio (6 bits) Datos Largo del encabezado bits) (TS) Originalmente 3 bits de Largo del datagrama (16 bits) enTimestamp palabras de 32 bits Dirección IP de destino Tiempo de yvida .... precedencia 3 banderas encabezado + datos Si no hay opciones es 5 (time-to-live o TTL) Delay, Throughput, Reliability máximo 65535 bytes Identificación del paquete Banderas (2 bits) Protocolo (8 bits) de capa 4 (8 bits) Opciones (opcional) Offset del fragmento (13 bits) Actualmente se usan para (16 bits) (16 bits) DFChecksum Don’t fragment Contador de a saltos que entidad para de capa 4 Posición del fragmento en elseIndica indicar la clase de servicio Suma de comprobación del usa en la fragmentación MF More fragments debe unlos máximo entregarse vida eltienen datagrama de el datagrama garantizar para ofrecer calidaddediferenciada Encabezado todos fragmentos datagramas en el destino Versión (4los bits) Se hace la suma de palabras de mismo identificador Datos (opcional) 16 bits en aritmética de Cada router lo decrementa y cuando le da 0 lo debe descartar complemento a 1 y se toma el 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 Opciones del encabezado IP 9 Direccionamiento IPv4 Los datagramas requieren una dirección de destino para poder ser encaminados En general esa dirección debe ser única 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 10 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 11 Clases de direcciones IP Rangos de tamaño predefinido Clases de redes A B C D E Se distinguen por los primeros bits 12 Clases (classful addressing) Originalmente las direcciones se dividían en clases de acuerdo al largo del prefijo A 0 B 10 C 110 D 1110 E 1111 Red 1.0.0.0 a 127.255.255.255 Host Red 128.0.0.0 a 191.255.255.255 Host Red Host 192.0.0.0 a 223.255.255.255 Multicast 224.0.0.0 a 239.255.255.255 Reservadas 240.0.0.0 a 255.255.255.255 13 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 14 Subredes Problema: Tamaño rígido de redes A,B,C.. Solución: subredes con máscaras 15 Ejemplo: Interconexión de redes netmask 255.255.255.0 netmask 255.255.255.0 netmask 255.255.255.0 16 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 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 Función de ruteo Se encarga de construir la tabla de ruteo La tabla puede ser estática o dinámica Para la actualización dinámica se utilizan protocolos de ruteo que intercambiando información entre los routers de la red y utilizando algoritmos establecen el contenido de la tabla Normalmente, la actualización de la tabla se realiza periódicamente a intervalos del orden de decenas de segundos 19 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 20 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 21 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 22 Longest prefix match Destino= 192.168.2.33 Destino Máscara Próximo salto 192.168.1.128 /25 NO! R1 & /25 = 192.168.2.0 192.168.2.33 192.168.1.0 /24 NO! R2 & /24 = 192.168.2.0 192.168.2.33 192.168.0.0 /23 NO! R3 & /23 = 192.168.2.0 192.168.2.33 192.168.0.0 /16 SI R5 & /16 = 192.168.0.0 192.168.2.33 192.0.0.0 /8 R6 0.0.0.0 /0 R7 Próximo salto es R5 23 Encaminamiento de datagramas (A hacia C ) 192.168.1.1 192.168.1.4 172.16.0.95 172.16.0.1 192.168.250.9 C 172.16.0.2 192.168.1.2 A 192.168.1.3 Consulta la tabla de ruteo! Destino Próximo salto 192.168.1.0/24 interfaz de red local 192.168.250.0/24 192.168.1.4 172.16.0.0/24 192.168.1.4 192.168.250.1 192.168.250.2 Encamina el paquete hacia el próximo salto 24 Encaminamiento de datagramas (A hacia C ) 192.168.1.1 192.168.1.4 172.16.0.95 172.16.0.1 192.168.250.9 C 172.16.0.2 192.168.1.2 A Consulta la tabla de ruteo! 192.168.1.3 Destino 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 192.168.250.1 interfaz de red192.168.250.2 local 3 Entrega a capa de enlace para que se encargue 25 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 26 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 27 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 28 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 29 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) 30 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 31 OSPF y BGP AS’s, backbones y áreas 32 Protocolos de control: ICMP 33 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 34 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 35 NAT Tabla de NAT Router + NAT 164.73.224.40 192.168.1.2 -> 206.99.44.25 192.168.1.1 192.168.1.2 Internet S 206.99.44.25 192.168.1.2 S 164.73.224.40 D D 206.99.44.25 206.99.44.25 carga carga 36 NAT vuelta de los paquetes Tabla de NAT Router + NAT 164.73.224.40 192.168.1.2 -> 206.99.44.25 192.168.1.1 192.168.1.2 Internet S D 206.99.44.25 206.99.44.25 S 192.168.1.2 D 206.99.44.25 164.73.224.40 carga (respuesta) carga (respuesta) 37 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) 38 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) 39 Esquema de firewall (1) •Web •Mail •etc Red Desmilitarizada (DMZ) Red pública (PUB) Red Privada (PRV) Firewall 40 Esquema de firewall (2) PUB DMZ Firewall Firewall (externo) (interno) PRV 41 Esquema de firewall (3) PUB DMZ Firewall Servidores dual homed (no rutean!) PRV 42 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 ! 43 Encabezado IPv6 44 Extensiones al encabezado de IPv6 45