IPv4, DHCP, TCP, y Encaminamiento en Internet
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 23,34 KB
IPv4 y DHCP
-UDP no orient a conexión, no fiable, no detecta ni recupera paquetes, no garantiza llegada en orden ni duplicados. IPv4 son 4 bytes (32 bits), clase A r8, B r16, C r24 y CDIR, sin red fija. Broadcast host a 111, red host a 000. DHCP: config auto de los parámetros de red (IP, MAC, router predet, DNS)
TCP avanzado
TCP: orientado a conexión y fiable (establece, transfiere datos, cierre), control de errores de ventana deslizante con nº segmenos, checksum, confirmaciones selectivas y acumulativas, retransmisión de paquetes perdidos o erróneos y temporizadores. Servicios ofrecidos: comunicación lógica puerto-puerto, flujo de datos para envío y recepción, transmisión orientada a conexión y fiable y full-duplex y multiplexación.
Establecimiento: 3-way. SYN FLood: vulnerabilidad cuando se envía un gran nº de segmentos con flag SYN, Satura el servidor DoS. Alternativas: limitar nº conex, aceptar solo confiables, retrasar asignación con cookies.
-Control de errores: confirmaciones: permite gestionar paquetes duplicados, erróneos o perdidos o fuera de línea.Confirmaciones: acumulativas, siguiente byte que espera recibir y solapadas con los envios (piggyback); las conf en orden se retrasan para solaparla con un envió de 500ms; solo se retrasan a lo sumo 2 conf en orden; los paquetes fuera de orden se confirman con el siguiente byte a recibir; los duplicados se confirman para prevenir perdidas de ACK; SACK, confirmación severa de paquetes fuera de orden, no remplaza AFK e implementados como opción TCP.
Control de errores: Retransmisión
la capacidad de retransmitir un seg TCP cuando no se recibe o es erróneo. TCP tiene dos mecanismos:
-Temporizador de Retransmisión (RTO): cada conexión con un temporizador, cuando expira se envía el primer seg sin conf de la ventana, algoritmos para fijar RTO que es dinámico y mayor al RTT;
-Retransmisión por recepción de 3 ACKs duplicados: retrasmisión rápida, no requiere que expire el RTO. (tema 1, diapo 18)
Temporizador TCP: usa 4 para una conexión: RTO; Keepalive: evita conex indef. Sec que una conex puede estar en silencio, expirado el temp se envía un maimo de sondas cada X segundos. Si no recibe AFK para las sondas, se cierra. TIMEWAIT: útil cuando: cuando se vuelve a enviar el ACK con cierre activo (se recibe FIN) y previene colisión de nº de sec de 2 conex; Temporizador de presencia: asociado a tamaño de ventana 0, recupera la pérdida de un ACK posterior con el nuevo tamaño y se envía una sonda que fuerza el envió de un ACK.
Tiempo de ida y vuelta medio (RTTm): tiempo hasta que se recibe el ACK;
Tiempo de ida y vuelta suavizado (RTTs): para evitar las fluctuaciones de RTT.
RTTs[1] = RTTm[1], RTTs[k]=(1-y)*RTTs[y-1]+y*RTTm[k], y;
Desviación del RTT (RTTd): diferencia del tiempo de ida y vuelta.
RTTo[1]=RTTm[1]/2, RTTo[k]=(1-y)*RTTo[k-1]+y*[RTTs[k]-RTTm[k]], y
Algoritmo de Jacobson: considera solo el RTTs, el RTO=n*RTTs(ej: n=2, doble del RTT);
Algoritmo de Jacobson/Karels: combina RTTs y RTTd, RTO=RTTs+4*RTTd;
Algoritmo de Karn: previene ambigüedad en el cálculo de RTTm cuando hay retrans, no lo usa en estos casos, el caso de retrans, RTO(exponential bacoff)=2*RTO(26)
Control de flujo: controla la tasa de envió de datos para evitar sobrecarga en receptor, se hace mediante ventana de recepción, anunciada en cada ACK.
Síndrome de la ventana trivial: se produce cuando la aplicación emisora genera datos muy lentamente o la receptora consume muy lento.
Ventana trivial en el emisor: cada carácter necesita 4 mensajes TCP (40bytes cabecera), un carácter (1 byte) usa más de 160 bytes.
Algoritmo de Nagle: emisor envía el primer mensaje, los siguientes mensajes se retrasan hasta que: se recibe el ACK del receptor, se acumulan MSS bytes de aplicación o expira el temporizador. (ejemplo diapo 30 tema 2).
Ventana trivial en el receptor: consume datos muy lento o se anuncian ventanas muy reducidas.
Algoritmo de Clark: anuncia tamaño ventana 0 hasta que se pueda recibir un segmento completo (MSS) o se ha liberado la mitad del buffer de recepción. ACKs se retrasan para el desplazamiento de la ventana del emisor, reduce el trafico pero con retransmisiones innecesarias y el TCP establece un retraso menor a 500ms.
Control de Congestión: cuando se pierden paquetes en internet, suele deberse a una congestión porque el router no puede procesar y reexpedir paquetes según los recibe o cuando el router se satura, descarta paquetes. El control de la congestión y el flujo son mecanismos distintos.
El emisor regula el ritmo de envío según el de llegada. Se implemente con una ventana de congestión (CW): CW es complementaria a la de recepción; Sin perdidas ni retrasos la CW es igual a la de recepción; Cuando se congestiona, la CW va aumentando; El máximo de bytes que se pueden enviar el emisor es el mínimo de las dos ventanas.
La transmisión comienza con una CW=1, el emisor envía un único segmento de tamaño máximo a MSS. La CW va aumentando pasando por 3 fases:
Fase de arranque lento: Se incrementa en 1 por cada se enviado y confirmado (crece exponencialmente) y termina cuando se alcanza un umbral (lo común 64 Kbyte);
Fase de evitación de congestión: la CW se incrementa en 1 cuando se envía y se confirma una ventana completa (crec lineal) y termina cuando la CW s igual a la de recepción;
Fase constante: La CW se mantiene a un valor constante CW = Recept W.
La congestión en la red se detecta indirectamente, recepción de 3 ACKs duplicados, nivel leve con trafico en red, se activa el metodo de recuperación rápida; dividir la CW/2 y ejecutar método de evitación de colisiones a partir del valor de la CW;Expiración del temporizador de retransmisión: nivel elevado, trafico interrumpido, ocurren estas acciones: inic CW=1; reduce el umbral del arranque lento a CW/2 antes de la expiración y ejecuta el arranque lento.
Servicios de Red: Firewal y NAT, filtrado de paquetes
Firewall: componente de seguridad que analiza el tráfico de red y determina si permite su paso: filtrado de paquetes de red, registro de actividades y traducción de direcciones. Tipos: en función del estado (si se basa en la cabecera del paquete o además considera el estado de la conexión) y en función de la capa (TCP, dependiendo de si permite construir reglas usando el protocolo de aplicación).
Filtrado de paquetes (iptables): permite manipular reglas de las tablas de firewall que es una funcionalidad ofrecida por el núcleo de SO y permite gestionarlo por el usuario. Regla: qué hacer; cadena: conjunto de reglas (una puede mover un paquete a otra cadena, todo e/s pasa por una regla, si no encaja se aplica la política de la cadena); Tabla: conjunto de cadenas.
Tabla de filtrado: bloquea o permite el tránsito de paquetes, todos pasan por ella (INPUT, destinado al sistema; OUTPUT, generado por el sistema; FORWARD, que atraviesan encaminadores);
Tabla NAT: reescribe las direcciones origen/destino y puerto (PREROUTING, de entrada, antes de pasar por la de router local, usada en DNAT; POSTROUTING, de salida, después del router, usada en SNAT; OUTPUT, modificaiones previas al router);
Tabla Mangle: cambia algunos campos del paquete, tiene lo anterior.
NAT, redes privadas IPv4, permite aliviar el nºlimit de direc IPv4, objetivo de dar acceso a internet a máquinas en redes privadas. NAPT: masquerading: N privadas a 1 pública; NAT port forwarding: 1 pública a N privadas, red privada visible desde internet.
Servicios de Red: DNS
Mantiene la asignación entre hostnames y dir IP. Está implement como una BD distribuida: cada sitio guarda info en sus sistemas, intercambia y comparte la info con otros sitios y recibe y realiza consultas sobre los hostnames. DNS define: un espacio de nombres jerárquico de hosts e IP, BD distribuida y consultar BD, un mecanismo para encontrar servicios en red y un protocolo de intercambio de info.
Funcionamiento: registros. La BD se estructura en registros, los servidores guardan los registros de sus hosts en ficheros de texto, DNS gestiona varios registros.
Protocolo DNS: protocolo de Transporte: UDP en p53, TCP para transfer de zonas o request +512bytes. El mensaje incluye el dominio y tipo de pregunta, autoridad con los domain autor y adicional registros de ayuda.Funcionamiento: Caching: cachear la resol de dir mejora la eficiencia, la relaciont hostname-IP es estática, las respuestas se cachean durante TTL, el TTL de entrada varía según el nivel, cache negativa cuando una búsqueda falla.
Servidores de nombre: Servidores Autoritativos: representan la zona, los primarios tienen la copia oficial en la BD, los secundarios obtienen la BD de los primeros. Caching-only: parten de una lista de servidores raíz, guardan los res de las búsquedas, no tienen registro DNS propio ni son autor, reducen la latencia de consultas y el trafico DNS en la red.
Recursivos y no: no: si no tienen el registro de la consulta devuelve una referencia del que podría tenerlo; recursivos: devuelven la respuesta. Los autor suelen ser no, en la configuración de los clientes deben usarse recursivos.Registros DNS: SOA: Start of Authority, autoridad de la zona, marca el comienzo de definición de una zona y proporciona info sobre el servidor DNS primario de la zona. NS: Name Server, especifican los servidores autoritativos para la zona, se incluyen los servidores de nombres de los subdominios, normalmente después del SOA. A: traducción directa de hostname-IPv4. AAAA: traducción directa de hostname-IPv6. PTR: registro inverso, traduce de IP-hostname. MX: Mail eXchanger, registro de intercambio de correo, permite recibir de forma centralizada el correo de una organización y realizar operaciones centralizadas. CNAME: se usan para definir un nombre canónico de un dominio que permite definir un alias, siempre apuntan a un dominio, un alias no debe tener otros registros y MX y NS no pueden apuntar a un CNAME.
IPv6: Direccionamiento
IPv6 direcciones de 128 bits, cabecera simple (mayor velocidad de procesamiento en routers y mejora el rendimiento de los protocolos de routing), posibilidad de autoconfiguración de direcciones, mejor soporte para opciones (no se codifican en la cabecera, sino en el cuerpo, dispone mayor espacio para codificar y permite añadir nuevas ociones), opciones de seguridad para cifrado y autentificación, soporte de tráfico en tiempo real, encaminamiento jerárquico basado en prefijos y mecanismo de transición desde IPv4.
Enlace local unicast: plano, no se encamina fuera de la zona de ámbito, autoconfiguración y descubrimiento de vecinos. Prefijo de 10 bits, el resto de los primeros 64 a 0. Fe80::/64; Sitio local unicast: no se encaminan fuera del sitio, sustituyen a las antiguas de sitio local fec0::/10, formato: prefijo fc00::/7 + un bit de gestión global (0) o local (1), id sitio 40bits aleatorios, id subred 16, id host 64, ej_ fd12:A12…; Unicast globales: permiten autoconf, prefijo de 48, los primeros 3 son 001, id subred 16, id interfaz 64, ej: 2004:…; Multicast: grupo de hosts en un ámbito, formato FF::/8, FF01::1 (host nodo local), FF02::1 (hosts enlace local), FF05::2 (router sitio local), FF02::9 (router RIP link local)
Datagrama IPv6: en IPv6 la fragmentación debe ser en origen, usa MTU Discovery para MTU mínima, de no usarlo lo fragmenta en bloques menoes a 1280 bytes. Comparando con Ipv4, el campo long de la cabecera no esta, el campo ToS es sustituido por traffic class y flow label, el tamaño del datagrama no incluye la cabecera, los campos de fragmentación están en unas cabeceras de extensión, el TTL es Hop Limit, el protocolo es next header, no ha checksum y opciones es como cabecera de extensión.
ICMPv6: asume el papel de algunos protocolos en IPv4 (funcionalidad de ICMPv4, IGMP, ARP), protocolo orientado a mensajes: error, info, descubrimiento de vecinos, pretenencia y gestión de grupos. Mensaje de error: incluye errores relativos a destino inalcanzable, datagrama muy grande, tiempo excedido, problema de parámetros. De Info: incluye echo-request/reply, permite identificar errores en la capa de red, formato: id y sec 16 bit cada uno.Descubrimiento de vecinos: permite realizar operaciones de configuración, opera sobre hosts y routers en el mismo enlace. Descubrimiento de vecino: resol de direcciones (=ARP), detección dir duplicadas, detec vecino alcanzable, mensajes ICMPv6 solicitud/anuncio vecino; Descubrimiento de router: anuncio de prefijos y otra info de conf de la red, mensaje ICMPv6 solicitud/anuncio router; Redirección: notificar una ruta mejor, mensaje ICMPv6 redirect. Solicitud de vecino: el mensaje se genera en las siguientes situaciones: averigua la dir física de una dir IP. Dir multicast dest es la multicas solicited-node FF02:0:0:0:0:1:FF00::/104, detecta si al dir IP esta duplicada. Anuncio de vecino: se genera en respuesta a un mensaje de solicitud (reply de ARP), la dir dest es la dir unicast del desinatario; cambio en la dir física de un host, para notificar un cambio. La dir multicast dest FF02::1. Solicitud router: tras la activación de un interfaz para detectar los router y realizar la autoconfiguración del interfaz; la dir multcast dest es FF02::2. Anuncio de router: los envían los routers para aununciar su presencia en la red. Se envían periódicamente para anunciar el router por FF02::1; como respuesta a una solicitud de router y se envía a la unicast del solicitante. La autoconfiguración de una interfaz incluye: generación de id de host según modified-EUI64; el prefijo anunciado por el router. Las opciones pueden incluir info DNS. Problemas de privacidad por generación aleatoria del id de interfaz. DHCPv6 y la obtenición automática gracias al descubrimiento de vecinos de las MAC
Tema 4: Encaminamiento en internet
Encontrar un camino, el más corto. Métricas de encaminamiento: nºsaltos, distancia geográfica (Km), retardo promedio, ancho de banda, nivel de tráfico. Retransmisión de paquetes: se elige un router por: tablas de router (usando el campo dir dest del paquete, UDP); etiquetas: cada datagrama e etiqueta (TCP). Tablas de router: basado en el princ de optimización. Es necesario conocer la identidad del router siguiente a lo largo del camino. Campos (dest, prefijo de red, sig salto, coste). La entrada dest es host; red; default. El encam en Internet se basa en CIDR, limita la info intercamb en internet. Técnicas de encaminamiento: encam local (info local, encam aleatorio, aisaldo o inundación); encam estático (considera la topol de red, las tablas son manuales); encam dinámico (encam RIP por vectores a distancia o encam OSPF por estado de los enlaces). Vectores a distancia: cada router tiene una tabla con una entrada por dest. Cada entrada posee dest, el nodo sig y la distancia. Se intercambia periódicamente info con sus vecinos: la dist total de cada dest es la anunciada por el router + la dist al router. Problema de convergencia, cuenta al infinito al cambiar la topología. El cambio de topología debe propagarse, pero puede no converger. Soluciones: limitar el infinito, en RIP es 15; Horizonte dividido: los dest no se difunden, B no envía info a A de X; Horizonte dividido con respuesta envenenada: se difunden, pero con distancia infinita; Actualizaciones forzadas: al detectar una modificación, se difunde la info. Problema de convergencia, bucles, no pueden converger. Fundamentos: cada router mantiene una BD con info de su topol, para construirla cada router identifica a sus vecinos y dista, cada nodo anuncia esta info a todos, cada nodo construye un mapa por Dijsktra (ej: OSPF). Encaminamiento en Internet: internet está roganizado en sistemas autónomos: colección de redes y routers gestionada y administrada por una autoridad: routers internos del AS (solo redes internas, solo la organización de AS local y usa IGP), routers externos (interconectan AS, conocen el camino entre AS pero no la org interna, usan EGP)
RIP: protoc de route interno basado en vectores a distancia. Tiene la info de lista de dest alcanzables por cda router y la dist a la que se encuentran de dicho dest; Usa el nºsaltos; Los vectores a dist se difunden por broadcast; el limit de infinito es 16 saltos; RIP puede usar horizonte dividido/resp envenenada y actualizaciones forzadas. Formato mensajes: requiest_ por un router al conectarse o por caducidad de la entrada; response: periódicamente con los vectores a distancia, en respuesta a una solicitud o actualización forzada. Temporizadores:periódico 25-35s, intervalo de envío de response para anunciar vectores a distancia; De expiración 180s, controla el periodo de validez de una tabla; de colección de basura 120s, cuando una entrada de la tabla expira, el router no la elimina de inmediato. La entrada esta con dist 16 durante estos 120s adicionales. Limitaciones: puede generar gran tráfico de broadcast, no admite métricas alternativas, una vez calculadas las tablas, no se admiten cambios alterativos, cuando la red crece los cambios pueden tardar en propag, el límite de infinito limita el tamaño de la red y no soporta CIRD. RIP2: arregla algunas limitaciones, soporte para MAC, multicasting y autentificación. RIPng: adaptación para Ipv6: las diferencias son los mensajes se encapsulan en datagramas UDP al p 521 y se difunden por FF02::9, los vectores de distancia en los mensajes response, anuncian prefigos IPv6, la info de ruta en un vector a distancia no incluye campo de Next Hp, no usa info de autentificación, usa mecanismos de cigrado y autentificación de IPv6.
OSPF: protocde route interno IGP vasado en estado de los enlaces. Quita las limitaciones del equilibrado de la carga, particionado lógico de la red, convergencia más rápida por propagar inmediatamente los cambios, soporte para MAC de long variable y CIRD. Usa un protoc de encapsulado y dir multicast. Los router tienen un identificador único. Intra-area routers (IA): en un área y su BD con info de esa área; Area border router (ABR): conectado a varias áreas y una es la 0, mantiene una BD por cada área; AS boundary routers (ASBR): en la frontera de un sistema autónomo, intercambia rutas entre red OSPF y otras, responsables de transmitir rutas externas a la OSPF y pueden inyectar OSPF rutas aprendidas mediante otro protoc. Relación de Vecinidad: comparten link común, pertenecen a la misma OSPF, mecanismos de autenticación, conf de los temp del protoc y conf del área. Relación de adyacencia: solo entre routers vecinos, intercambian info de de estados de los enlaces, permite limitar la info intercambiada entre routers y la relación de adyaciencia se desarrola según el tipo de red (multiacceso por router designado y el de respaldo; punto a punto entre dos dispositivos). Funcionamiento: descubrimiento de vecinos: protoc OSPF Hello Descubrir y mantener vecinos, cada router envía periódicamente “Hello” por sus enlaces, el mensaje incluye el ID de los router de todos los Hello recibidos por ese enalce, si un router recibe un Hello de otro con su ID, establece conex. Elección del encaminador designado: El RD y RDB se selec usando info de prioridad contenida en los Hello. Establecimiento de adyacencias 1: intercambio de BD: después e la vecindad se intercambian las BD con el estado de los enlaces, el intercambio sigue un patrón de maestro-esclavo. Establecimiento de adyacencias 2: generación de BD: durante la 1 detectan info faltante u obsoleta en su BD. Tras la 1 se solicita una copia de estos, el proceso de solicitud es similar al de inundación. Construcción de tablas de encaminamiento: cuando dispone de la info del estado de los enlaces, construye un árbol de rutas que incluye tanto routers como redes y su coste.
BGP: Interior Gateway Protocol: protoc basados en vector de distancia tienen inestabilidades con pocos saltos y problemas de convergencia. Protoc basados en el estado de los enlaces convergen rápido pero intercambian mucha info. Path Vector Routing: intenta resolver lo anterior para router interAS. Basado en vector de distancia, cada router tiene: lista de redes alcanzables y la ruta completa al dest y de AS. Tablas de rutas: usan CIRD: permite detec bucles, descarta rutas en las que el AS es parte del camino y permite implementar políticas.
Tipos de Sistemas Autónomos (AS): Stub: conectado solo a otro AS. Dest u origen para el tráfico y no permite transportar info de tránisto. Multihomed: conecta con varios AS pero sigue siendo dest y origen del tráfico, no permite transportar info de tránsito. Tránsito: AS de tipo multihomed que permite el tráfico de tránsito.Políticas de encaminamiento: cada AS puede aplicarlas para limitar el flujo de tráfico en la red. No forman parte del BGP, la conf de cada router, según la ruta puede optar por ejemplo: conf como AS multihomed anunciando solo sus redes alcanzables; no actuar como AS para algunos AS; escoger la ruta según el tráfico; evitar ciertos como tránsito.Funcionamiento: la comunic se realiza por TCP, p 179. Intercambian la tabla de rutas al establecer la conexión. Se envían actualizaciones periódicamente. Los mensajes BGP incluyen: OPEN (establece sesión, id de AS y router, param de conf); UPDATE (actualización de la info, info de las redes CIRD, atributos incluida la ruta); NOTIFICATION (enviado a vecinos cuando hay error, implica cierre de sesión y las rutas asociadas son inválidas); KEEPALIVE (respuesta a un OPEN periódicamente para informar de la presencia del router, pasado un tiempo sin info cierra sesión)Atributos: los UPDATE tienen las redes alcanzables y los atributos de ruta, permite evaluar caminos alternos, los atributos de ruta los genera el roouter y los puede modificar. Tipos: conocidos (bien conocidos): deben ser admitidos por todas las implementaciones BGP. Pueden ser obligatorios y enviados en cada UPDATE o no. Si se reciben en un UPDATE deben retransmitirse; Opcionales: específicos de cada implementación, pueden ser transitivos o no. Ejemplos ed conocidos y obligatorios: ORIGIN: de la ruta IGP, EGP o INCOMPLETE. No debe modificarse; AS_PATH o AS_SEQUENCE: la ruta como lista del AS; NEXT_HOP: IP del siguiente salto para alcanzar destino.