Tema 4 Interconexión de redes mediante TCP/IP

Slides:



Advertisements
Presentaciones similares
TCP/IP V4 Redes de Computadoras uclv.
Advertisements

Fundamentos de TCP/IP.
Configuracion de protocolos
Ing. Elizabeth Guerrero V.
Redes de Computadores Tema 4: TCP/IP Parte II.
Capa de Acceso de Red (Network Access Layer). Definición: Es la primera capa del modelo TCP/IP. Ofrece la capacidad de acceder a cualquier red física,
D IRECCIONAMIENTO IP ( PARTE 2) Juan Carlos Rodriguez Gamboa.
1.- Tecnologías LAN 2.- Protocolo de Interconexión de redes 3.- Protocolo de Internet IP 4.- Protocolo de mensaje de control (ICMP)
LOS ROUTERS.
Dirección IP. Una dirección IP es una etiqueta numérica que identifica, de manera lógica y jerárquica, a una interfaz (elemento de comunicación/conexión)
Capítulo 2. Direccionamiento Instalación y Mantenimiento de Servicios de Redes Locales I.E.S. Murgi Curso Jose L. Berenguel Gómez Mª Jose Peinado.
Trabajo De Informática Presentado Por : Juan Pablo Caviedes Javier Carvajal Shirley Cortes Grado J.T.
Capa de Red OSI Integrantes Carlos Mario Estrada Puerta Alejandra Barragán Santiago Ramírez Santa.
Icep Ingeniería en sistemas Informática II Gabriel Orozco martinez Cesar alfonso ventura sanchez 08/10/2016 Modelo osi capa de red.
Ing. En sistemas computacionales Materia: Informática II Maestro: Gabriel Orosco Alumno: Alexis Mata.
Redes y Comunicación de Datos II Ing. Raúl Calienes Núñez Universidad José Carlos Mariátegui Escuela Profesional de Ingeniería de Sistemas e Informática.
© 2008 Cisco Systems, Inc. Todos los derechos reservados.Información confidencial de Cisco Presentation_ID 1 Capítulo 9: División de redes IP en subredes.
Teleinformática y Comunicaciones
Troubleshooting IP Addressing
Internet Protocols (IPs)
UF0854: Instalación y configuración de los nodos de una red local.
Teleprocesos Ing. Leonardo Párraga.
Direccionaminto IP. INTRODUCCIÓN.
Capítulo 4: Capa Red - II ELO322: Redes de Computadores
Capítulo 4: Capa Red - II ELO322: Redes de Computadores
Introducción a los protocolos de enrutamiento dinámico
Conceptos y protocolos de enrutamiento. Capítulo 6
REDES DE COMPUTADORAS SEGÚN TOPOLOGIA.
Mensaje Segmento Paquete Frame Hola, que tal FCS Hola, que tal
Sistema Distribuido para entidad bancaria
MODELOS DE REFERENCIA OSI Y TCP/ IP
DIRECCIONAMIENTO IPV4 Prof.: Nelson Calderón.
Direccionamiento TECSUP Redes I Interconexión de Redes
Capítulo 4: Capa Red - II ELO322: Redes de Computadores
Tema 4 Elementos para el Desarrollo de Algoritmos
ICAS REDES Y SUBREDES LIA. Reginaldo Sánchez Carranza.
Subneteo de redes Creando subredes.
Direccionamiento IP Y Subredes.
Proceso de comunicación de datos
Conceptos y protocolos de enrutamiento. Capítulo 5
ARP - Address Resolution Protocol
Conceptos y protocolos de enrutamiento. Capítulo 7
Capítulo 4: Capa Red - V ELO322: Redes de Computadores
Tema 4 Interconexión de redes mediante TCP/IP
Tema 4 Interconexión de redes mediante TCP/IP
El modelo OSI de Red Define los métodos y protocolos necesarios para conectar una computadora con cualquier otra a través de una red.
Teleinformática. Elaborado por: Daniela Sánchez Téllez presentado a: Jesús Emiro Vega Universidad Nacional Abierta y a Distancia. Cead Acacias 2016.
Switches, routers, hubs & “patch panels”
Capa de Red: comunicación de host a host  La Capa de red o Capa 3 de OSI: Provee servicios para intercambiar secciones de datos individuales a través.
Protocolos Protocolos de red.
INTRODUCCION AL ENRUTAMIENTO “EL ROUTER”. Un router también conocido como enrutador, encaminador o rúter es un dispositivo que proporciona conectividad.
Modelo de Referencia OSI
1 Dirección IP - Características Las direcciones IP se denominan direcciones lógicas. Tienen un direccionamiento Jerárquico. Representan una conexión de.
1 Capítulo 14. IP: Direcciones en Internet Protocol ICD-327: Redes de Computadores Agustín J. González.
Redes I Magistral Nro. 10 Capa 5: Sesión
Estructura de los mensajes de correo electrónico
Eslared 2006 Seguridad Informática
Conceptos y protocolos de enrutamiento. Capítulo 5
1 Comunicación y representación de la información
Capítulo 8: Introducción a redes
Materiales para el instructor Capítulo 7: Asignación de direcciones IP
Esmeralda, montse, martha, gloria
Sistemas de Comunicación Magistral Nro. 7
Capa de Red Protocolos de Interconexión de Redes
2 Es el dispositivo digital lógico de interconexión de equipos que opera en la capa de enlace de datos del modelo OSI. Su función es interconectar dos.
Javier Rodríguez Granados
Introducción a las redes locales
Los protocolos de la capa de red del modelo OSI especifican el direccionamiento y los procesos que permiten que los datos de la capa de transporte sean.
Curso Redes (IS20) -Capítulo 5 1 Redes (IS20) Ingeniería Técnica en Informática de Sistemas Práctica 3- Estudio de tráfico sobre LAN
1 Capítulo 14. IP: Direcciones en Internet Protocol ICD-327: Redes de Computadores Agustín J. González.
Transcripción de la presentación:

Tema 4 Interconexión de redes mediante TCP/IP

Contenido del Tema 4 Introducción La arquitectura TCP/IP La capa interfaz de red La capa IP 4.1.Direccionamiento IPv4 4.2.Direccionamiento IPv6 4.3.El datagrama IP 4.4.El encaminamiento 4.5.Casos de estudio de encaminamiento La capa de transporte La capa de aplicación Bibliografía Anexo

1. Introducción

Internet La red Internet es un compendio de redes diferentes que comparten una pila de protocolos comunes que proporcionan una conexión IP extremo-a- extremo Ethernet 4G ATM App App TCP TCP IP IP IP IP IP IP 802.3 802.3 ATM ATM ATM ATM ATM ATM ATM FR PPP PPP FO FO FO FO FO FO FO FO FO FO 4G 4G

La red Internet A nivel de red, la Internet puede definirse como un conjunto de redes o sistemas autónomos conectados entre sí por dispositivos conocidos como gateways ISP de nivel 1 NSP Nacional/global NSP Nacional/global BB internet G G G G ISP de nivel 2 G NSP regional NSP regional G NSP regional G G G G Private peering Nota: aunque en la RFC 1009 dice que “Gateway (…) In the Internet documentation generally, and in this document specifically, a gateway is an IP-level router. In the Internet community the term has a long history of this usage”; creo que para no arrastrar ambos términos por la presentación deberíamos elegir uno. Deberíamos eleiminar “Sistema autónomo” porque es un concepto que no conocen y que no se va a estudiar ISP de nivel 3 ISP local ISP local ISP local ISP local ISP: Internet Service Provider NSP: Network Service Provider $: Pago por servicio N: NAP, punto de acceso a la red

La red Internet Las redes IP son redes de datagramas, nos orientadas a conexión, con servicio best effort, es decir, no ofrece calidad de servicio. Su desarrollo comenzó a finales de los 60, como un experimento de la agencia ARPA (Advanced Research Projects Agency), una agencia del Departamento de Defensa del gobierno USA. Nota: aunque en la RFC 1009 dice que “Gateway (…) In the Internet documentation generally, and in this document specifically, a gateway is an IP-level router. In the Internet community the term has a long history of this usage”; creo que para no arrastrar ambos términos por la presentación deberíamos elegir uno. Deberíamos eleiminar “Sistema autónomo” porque es un concepto que no conocen y que no se va a estudiar

Elementos de Internet Infraestructura: Dispositivos: líneas, conexiones, nodos, ... Dispositivos: Host, Routers, Firewalls. Direcciones (IP) y nombres de dominio. Protocolos: de red (IP), de transporte (TCP, UDP). Aplicaciones: telnet, rlogin, ftp, mail, www, ...

Dispositivos de Internet HOSTS Un único interfaz de red. Una sola dirección IP MULTIHOMED HOST Más de una interfaz de red. Varias direcciones IP. Una por cada interfaz. ROUTERS o GATEWAYS Encaminar Datagramas. Varios interfaces de red. Unen redes o subredes. FIREWALS o CORTAFUEGOS Aíslan redes o subredes Nota: Al menos, quizás habría que definir que se entiende por host en Internet

2. Arquitectura TCP/IP

TCP/IP TCP/IP constituye el armazón sobre el que se sitúa Internet. El conjunto de protocolos TCP/IP permiten la comunicación entre diferentes máquinas, independientemente de la tecnología: Diferentes sistemas operativos. Diferentes tipos de máquinas. Diferentes tipos de red Auténtico sistema abierto: Los protocolos y sus implementaciones están disponibles públicamente.

Arquitectura TCP/IP vs OSI Aplicación (Telnet, SMTP, etc.) TCP (DNS, SNMP, etc.) UDP IP (ARP, IGMP, ICMP) Interfaz de red Solo en los Host (nodos finales) En todos los nodos de la red Aplicación Acceso a los servicios OSI de las aplicaciones Presentación Se ocupa de las conversiones que puedan ser necesarias para los datos. Sesión Gestión de la comunicación entre aplicaciones: establece y cierra conexiones Transporte Transferencia fiable. Segmentación. Control del flujo y errores. Red Trans. Paquetes entre sistemas finales. Direcc. Prioridad. Enrutamiento. Conexiones Enlace Trans. De datos (tramas) fiable, control de errores y flujo. Sincronización Física Trans. de bits, características funcionales, mecánicas y eléctricas

Arquitectura TCP/IP Encapsulación Aplicación TCP( ó UDP) IP Interfaz de red ApX Aplicación TCP( ó UDP) IP Interfaz de red ApX Mensaje Protocolo de aplicación Datos Segmento (o datagrama UDP) Protocolo de transporte (TCP,UDP) TH Datos Datagrama IP Protocolo red (IP) RH TH Datos Trama Protocolo Enlace En el libro TCP/IP Illustrated: Vol 1 de Richard Stevens se dice Segment: If the transport protocol is TCP, the unit of data sent from TCP to network layer is called Segment. Datagram: This is used in 2 layers. If the network protocol is IP, the unit of data is called Datagram. At transport layer, if protocol is UDP, we use datagram there as well. Hence, we differentiate them as UDP Datagram, IP Datagram. Frame: Physical layer representation. Packet: It is a more generic term used either transport layer or network layer. TCP Packet, UDP Packet, IP Packet etc. I have not seen it to represent Physical layer data units. Habrá que tener cuidado con estas denominaciones. EH RH TH Datos ET Bits Red IP

Arquitectura TCP/IP Capas de host Interfaz con los servicios finales. Contiene toda la lógica necesaria para posibilitar las distintas aplicaciones de usuario Las aplicaciones acceden a la capa de transporte por los puertos asignados Protocolos: FTP, Telnet, WWW, DNS, …. Aplicación Transferencia entre procesos de aplicación extremo-extremo Identificación de procesos mediante Puertos TCP (Transport Control Protocol): orientado a conexión y complejo UDP (User Datagram Protocol): No orientado a conexión y mas sencillo Transporte (TCP, UDP)

Arquitectura TCP/IP Capas de red Gestiona el movimiento de paquetes por la red Transferencia entre máquinas origen y destino Identificación mediante Direcciones IP No fiable y no orientado a conexión Encaminamiento y Fragmentación Comunica errores (con ICMP y SNMP) Internet Proporciona los drivers que interactúan con los componentes hardware para adaptar y configurar el nivel físico Funciones de nivel físico y de enlace Interfaz de red

3. La capa interfaz de red

Interfaz de red El uso de IP hace necesario implantar niveles intermedios entre el propio IP y las subredes sobre las que descansa. IP es único. Redes hay muchas. Módulo de SW que realiza la adaptación a la red física se llama driver Para cada dispositivo periférico de red tiene que estar presente en el núcleo la correspondiente interfaz Cada interfaz de red tiene una dirección IP única Interfaz de red Host Dirver Pila TCP/IP NIC Conmutador He retocado un poco el texto para dar cabida a la figura

Interfaz de red Ejemplo con Ethernet Ejemplo de interred con IP. IP sobre Ethernet Se genera el datagrama IP con su correspondiente cabecera. Se construye la trama Ethernet: IP 20 Cab Datos Datagrama IP Direcciones MAC Interfaz de red 2 Carga útil (payload) Preambulo Destino Origen Tip Datos (<1500B) CRC Trama Ethernet II 8 6 6 46….1500 4 0800H para IPv4 0806H para ARP

IP sobre Ethernet Las tarjetas de red Ethernet tienen una dirección de red asignada. Esta dirección se utiliza en el campo de dirección Origen/Destino de la trama Ethernet. El campo Longitud/Tipo de la trama MAC Ethernet muestra la longitud de la trama o el tipo de protocolo que transporta la trama: 0800H para IP 0806H para ARP Una máquina “escuchando la red” y ejecutando una aplicación TCP/IP comprobará si el campo L/T es 0800H o 0806H. Una estación ejecutando otro protocolo dará las tramas anteriores como inválidas.

El problema de la resolución de la direcciones IP Las direcciones IP son abstracciones proporcionadas por la capa IP. Debido a que el hardware de red física (Ethernet, en este caso) de un sistema no sabe cómo localizar un ordenador por su dirección IP, esta debe ser traducida a una dirección MAC equivalente antes de enviar una trama. Quiero mandar un datagrama a C (10.1.1.3) ¿Cuál es la dirección MAC de 10.1.1.3? A B C 10.1.1.2 10.1.1.4 10.1.1.3 ARP está documentado en el RFC 826 (1982), por tanto esta ha sido la solución desde el principio. Creo que no vale la pena explicar la solución estática

Resolución de las direcciones IP Mediante tablas estáticas Problema: Dada una dirección IP, obtener la dirección MAC correspondiente: dirMAC= f (dirIP). Solución estática: Tablas estáticas (una en cada host) mantenidas manualmente Principal inconveniente: necesidad de actualizar las tablas en todos los nodos de la red cada vez que se produce alguna modificación en la tabla de direcciones. Quiero mandar un datagrama a IP3 Su dirección MAC es MAC3 IP1 IP1 MAC1 IP2 MAC2 IP3 MAC3 IP2 IP1 MAC1 IP2 MAC2 IP3 MAC3 IP3 IP1 MAC1 IP2 MAC2 IP3 MAC3 1 2 3 ARP está documentado en el RFC 826 (1982), por tanto esta ha sido la solución desde el principio. Creo que solo vale la pena explicar la solución estática por motivos didacticos MAC1 MAC2 MAC3

Resolución de las direcciones IP Mediante asociación dinámica Problema: Dada una dirección IP, obtener la dirección MAC correspondiente: dirMAC= f (dirIP). Solución dinámica: Se construye un paquete en el que se escribe lo que sabemos y lo que queremos saber y se manda a la dirección FF:FF:FF:FF:FF:FF (broadcast) Sólo responde el que reconozca su dirección IP en el target (el resto actualiza su tabla ARP Las direcciones resueltas vía ARP se mantienen un cierto tiempo en caché, en previsión de usos futuros Yo soy IP3 Envío a MAC1 mi dirección MAC3 Quiero mandar un datagrama a IP3 Pregunto a todos cual es la dirección MAC de IP3 IP1 IP2 IP3 1 2 3 MAC2 MAC3 ARP Rq ARP Rp

El protocolo ARP En una LAN broadcast hace falta un mecanismo que permita descubrir a qué dirección MAC corresponde la dirección IP del paquete a entregar El protocolo ARP permite la configuración automática de correspondencias dirección MAC-dirección IP Funcionamiento: El host A busca en su propia caché de ARP local una dirección de Ethernet coincidente para la IP del host B (10.1.1.4) Si el host A no encuentra ninguna asignación, difunde una trama (ARP request) preguntando por la dirección Ethernet cuya dirección IP es B. Sólo “B” contestará, porque la dirección IP especificada en la solicitud ARP coincide con su propia dirección, enviando a A un paquete ARP indicando su dirección IP y su dirección Ethernet. Las direcciones resueltas vía ARP se mantienen un cierto tiempo en la caché ARP, en previsión de usos futuros. 10.1.1.2  10.1.1.4 10.1.1.3  A B C Caché   ARP Rq ARP Rq ARP Rp

El protocolo ARP Formato ARP es un protocolo stateless de nivel de red muy sencillo en el que solamente existen dos unidades de datos: ARP Request y ARP Reply. 6 46….1500 4 8 Destino FF:FF:FF:FF:FF:FF Origen Tip: 8060h CRC Datos (ARP rq o ARP rp) Preambulo Trama Ethernet Operación (Request 1, Reply 2) Hardware Type Protocol Type Sender Hardware Address (6 bytes para Ethernet) Hardware Length Protocol Length Sender Protocol Address (4 bytes para IP) Target Hardware Address (6 bytes para Ethernet. Vacío en un request ) Target Protocol Address Creo que habría que explicar stateless. Pe: protocolo sin estado que trata cada petición como una transacción independiente que no tiene relación con cualquier solicitud anterior, de modo que la comunicación se compone de pares independientes de solicitud y respuesta.

4.1. Direccionamiento IP

El esquema de direccionamiento IP Para proporcionar un direccionamiento uniforme en Internet, el estándar IP define un esquema de direccionamiento abstracto que asigna a cada interfaz de red una dirección de protocolo IP única. En concreto, una dirección de Internet (IPv4) es un número binario de 32 bits único, entre 4.000 millones de direcciones posibles. El esquema de direccionamiento IP es independiente de las direcciones MAC subyacentes En los paquetes IP, los campos dirección origen y destino en la cabecera IP contienen cada uno una dirección internet global de 32 bits Ilde, para presentar el direccionamiento me ha gustado lo que dice Comer en su libro Computer Networks and Internets. Ya me dirás que te parece

El esquema de direccionamiento IP Características La dirección IP es un número de 32 bits, dividido jerárquicamente en un prefijo y un sufijo: El prefijo identifica la red a la que está conectado el ordenador y no puede haber 2 redes con el mismo prefijo El sufijo identifica al host dentro de esa red, de tal forma que no puede haber dos equipos de la misma red que tengan el mismo sufijo Las direcciones IP se suelen representar mediante cuatro números decimales separados por puntos (notación punto decimal) convirtiendo, por separado, cada octeto a decimal Prefijo Sufijo Notación punto decimal Ilde, para presentar el direccionamiento me ha gustado lo que dice Comer en su libro Computer Networks and Internets. Ya me dirás que te parece IPv4 permite 232 = 4.294.967.296 direcciones Población mundial en 2015 =7.376.471.981 millones

Direccionamiento IP con clase Clases principales En 1981, los diseñadores dividieron el espacio de direcciones IP en tres formatos fijos de dirección (clases), donde cada clase tiene un prefijo y sufijo de diferente tamaño para adaptare a los diferentes tamaños de red Este tipo de direccionamiento se le llamó classful addressing Clase A 27=128 Redes; 224=16.777.216 Host Clase B 214=16.384 Redes; 216=65.536 Host Ilde, me parece importante distinguir direccionamiento con clase o sin ella ya que los protocolos de enrutamiento son diferentes en los routers (pe. RIP es con clase, pero OSPF no). El d. con clase tiene muchos problemas, pero estuvo vigente hasta el 96, en el que apareció el d. sin clase y dejó OBSOLETO el primero. Soy partidario de pornerlas en una sola diapositiva para compararlas Clase C 221=2.097.152 Redes; 256 Host

Direccionamiento IP con clase Clases especiales La Clase D está reservada para las direcciones multicast (multidestino) Cada dirección multicast identifica un grupo de computadores Aplicaciones: videoconferencia; aprendizaje a distancia; distribución de software, de video, etc. Clase D 268.435.456 Direcciones La Clase E se utiliza para propósitos experimentales solamente. IETF ha reservado estas direcciones para su propia investigación. Por lo tanto, las direcciones de Clase E no pueden ser utilizadas en Internet. Clase E 268.435.456 Direcciones

Direccionamiento IP con clase Rangos de direcciones. Clase A Desde Hasta Redes Host 0 . 127 . 255 . 255 128 16.777.214 00000000 01111111 11111111 Descontadas Direcciones de red y broadcast Esta clase de direcciones permite tener muchos sistemas conectados en una única subred. Es apropiada para una gran compañía El primer bit (el más significativo) va a 0 Restricciones 0.0.0.0 se dedica para dirección de encaminamiento por defecto El rango de 127.0.0.0 a 127.255.255.255 está reservado para direcciones de loopback o de circuito cerrado (a uno mismo) Loopback - La dirección IP se utiliza como la dirección del loopback. Esto significa que es utilizada por el ordenador huésped para enviar un mensaje de nuevo a sí mismo. Se utiliza comúnmente para localizar averías y pruebas de la red.

Direccionamiento IP con clase Rangos de direcciones. Clase B Desde Hasta Redes Host 128 . 0 . 191 . 255 . 255 16.384 65.534 10000000 00000000 10111111 11111111 La clase B se utiliza para las redes de tamaño mediano. Un buen ejemplo es un campus grande de la universidad Los dos bits de mayor peso son siempre 10 Restricciones 169.254.0.0/16 172.16.0.0/12

Direccionamiento IP con clase Rangos de direcciones. Clase C Desde Hasta Redes Host 192 . 0 . 223 . 255 . 255 2.097.152 254 11000000 00000000 11011111 11111111 Las direcciones de la clase C se utilizan comúnmente para las compañías pequeñas a medianas. Los dos bits de mayor peso son siempre 110 Entre las numerosas restricciones destacamos: 192.0.0.0/24 reservada para el Registro de Direcciones IPv4 de IANA 198.18.0.0/15 que se utiliza para la prueba de las comunicaciones entre dos subredes independientes

Direccionamiento IP con clase Rangos de direcciones. Resumen

Direccionamiento IP sin clase CIDR Como consecuencia del crecimiento exponencial de Internet, y el agotamiento del espacio de direcciones, se vio que el direccionamiento con clases (classfull) era poco flexible y eficiente La respuesta a este reto, en los 90, fue la invención de la Subred y el desarrollo del direccionamiento sin clases (CIDR), que se fundamenta en: Eliminar el concepto tradicional de la Clase A, Clase B y Clase C, y Sustituirlo por el concepto de prefijo de red, que permite definir bloques de direcciones de cualquier tamaño. Así, los routers utilizarían el prefijo de red, en lugar de los 3 primeros bits de la dirección IP, para determinar el punto de división entre el número de red y el número de host Espero que esta diapositiva ayude clarificar el origen de los 2 direccionamientos. [3] D.Comer. Computer Networks and Internets CIDR: Classless Inter-Domain Routing

Direccionamiento IP sin clase Concepto de máscara El direccionamiento CIDR requiere, en hosts y routers, un dato adicional: un valor (o parámetro) que especifica el límite exacto entre el prefijo de red y el sufijo Ese parámetro, de 32 bits, es conocido como máscara de dirección Si un bit de la máscara está a 1 el bit correspondiente de la dirección se interpreta como bit de red Si un bit de la máscara está a 0 el bit correspondiente de la dirección se interpreta como bit de host Prefijo por defecto Bit31 Bit23 Bit15 Bit7 Clase: B 140 . 252 . 152 . 10000000 01100100 10011000 00000000 Máscara 255 . 11111111 11111100   Nuevo Prefijo CIDR 140 252 152 10001100 El direccionamiento CIDR requiere en hosts y routers un dato adicional: un valor que especifica el límite exacto entre el prefijo de red y el sufijo. Para marcar el límite, IP utiliza un valor de 32 bits conocido como máscara de dirección, que se llamó originalmente máscara de subred. Una máscara de dirección tiene los bits “1” para marcar el prefijo de red y los bits “0” para marcar la parte del host. Para ver cómo funciona la máscara, supongamos que se le da un router una dirección de destino D, un prefijo de red representado como un valor de 32 bits, N, y una máscara de direcciones de 32 bits, M. Es decir, asumir los bits superiores de N contiene la dirección de una red, y los bits restantes se han establecido a cero. Para probar si el destino se encuentra en la red especificada, el router comprueba la condición: N == (D & M) Es decir, el router utiliza la máscara con una operación lógica y "para ajustar los bits de host de dirección D a cero, y luego compara el resultado con el prefijo de red N. [3] D.Comer. Computer Networks and Internets

Direccionamiento IP sin clase Notación CIDR Con el fin de especificar e interpretar los valores de máscara, la tradicional notación decimal con puntos de la dirección se amplió, incorporando a la misma un número que expresa la máscara (notación CIDR) La máscara se indica seguida de una barra y un número decimal que especifica el número de “1”contiguos, empezado por la izquierda, de la máscara ddd.ddd.ddd.ddd / m donde ddd es el valor decimal de un octeto de la dirección, y m es el número unos de la máscara. 192.5.48.69 / 26 Se especifica una máscara de 26 bits, esto es: 11111111. 11111111. 11111111.11000000 Direccionamiento sin clase y direccionamiento CIDR significa lo mismo [3] D.Comer. Computer Networks and Internets

Direccionamiento IP sin clase Subredes Una red física (A,B o C) se puede dividir en múltiples redes más pequeñas (subredes) tomando bits de la parte de HOST de la dirección Cada subred tiene asignado un subconjunto de direcciones de una red internet Cada subred tiene con un nuevo indicador de subred que es un subconjunto del indicador original de red Para crear subredes se define una máscara en la que están a 1 los bits de la red- subred, y a 0 los del host Dirección original de RED (clase B) Prefijo de red HostID Una la dirección de Internet podría interpretarse como: <Network-number> <número_de_subred> <host-number> Ver rfc950. Dirección de RED subneteada SubnetID Prefijo de red HostID Prefijo extendido

Subredes Caso de estudio [1] Subneteo de una clase B en 4 subredes de 16.382 direcciones  Red original 147.156.0.0. Máscara por defecto 255.255.0.0 2 Bits de subneteo: los de peso 15 y 14 Nueva Máscara: /18 (255.255.192.0) 147.156.subred.0: identifica a cada subred. En este caso subred=0, 64, 128 y 192 1 147. 156. 0. 65.534 host 16.382 host Subred ID: 00 1 147. 156. 0. Esta es la versión de tu ejemplo de subred. Creo que es mejor una división por 4 y así poder visualizar físicamente las subredes La diapositiva 4-30 sugiero pasarla a la sección de routing 16.382 host Subred ID: 01 1 147. 156. 64. 16.382 host Subred ID: 10 1 147. 156. 128. 1 147. 156. 192. 16.382 host Subred ID: 11

Subneteo de tamaño variable Caso de estudio [y 2] 147.156.0.0 147.156.128.0 147.156.64.0 147.156.192.0 Internet Internet 147.156.0.0 Subneteo Las subredes son para LAN solamente. Internet no tiene ni idea de que existen subredes - y continúa abordando de la misma manera, con la misma dirección de red aunque haya subredes. Pero detrás del router, la dirección de red se divide en 2 o más subredes. Si la LAN no subred, y el cliente necesitaba las redes separadas, entonces el Internet tendría que hacer todo el trabajo de encaminar a dichas redes. En lugar de ello sólo tiene que ruta a una red: la 156.134.0.0. VENTAJAS: Proporciona flexibilidad, hace un uso más eficiente de la utilización de direcciones de red, y contiene el tráfico de difusión debido a que una emisión broadcast no cruzará un router. Las subredes están bajo la administración local. Como tal, el mundo exterior ve una organización como una sola red, y no tiene un conocimiento detallado de la estructura de la red interna de la organización.

El subneteo de tamaño variable VLSM (Variable Length Subnet Mask) El subneteo de tamaño variable es otra de las soluciones adoptadas para evitar el agotamiento de direcciones IP, como el CIDR, el NAT y las direcciones IP privadas Se ha estudiado anteriormente que el método CIDR divide las redes de forma homogénea (mismo tamaño) en todo el espacio de direcciones, lo cual provoca, inevitablemente, el desperdicio de direcciones. La técnica VLSM puede dividir una red en subredes de diferentes tamaños, utilizando máscaras de subred de tamaño variable (VLSM). El concepto básico de VLSM es muy simple: Se toma una red y se divide en subredes fijas, luego se toma una de esas subredes y se vuelve a dividir, tomando bits "prestados" de la porción de hosts, ajustándose a la cantidad de hosts requeridos por cada segmento de la red. Los protocolos de enrutamiento que soportan VLSM son RIP version 2,1 OSPF,2 las versiones más recientes de BGP, y EIGRP.

Subneteo de tamaño variable Caso de estudio [1] 147. 156. 0. 65.534 host 1 147. 156. 0. 16.382 hosts Subred ID: 00 Primera división: Red de clase B se fragmenta en 4 subredes 16.382 hosts Subred ID: 01 1 147. 156. 64. 1 147. 156. 128. 16.382 hosts Subred ID: 10 1 147. 156. 192. 16.382 hosts Subred ID: 11 Segunda división: La subred 147.156.0192/18 se fragmenta en 2 subredes /19 8.190 hosts Subred ID: 110 1 147. 156. 192. 1 147. 156. 224. 8.190 hosts Subred ID: 111

Subredes Caso de estudio [y 2] Internet Internet 147.156.0.0 Subneteo 147.156.0.0 /18 147.156.64.0 /18 Las subredes son para LAN solamente. Internet no tiene ni idea de que existen subredes - y continúa abordando de la misma manera, con la misma dirección de red aunque haya subredes. Pero detrás del router, la dirección de red se divide en 2 o más subredes. Si la LAN no subred, y el cliente necesitaba las redes separadas, entonces el Internet tendría que hacer todo el trabajo de encaminar a dichas redes. En lugar de ello sólo tiene que ruta a una red: la 156.134.0.0. VENTAJAS: Proporciona flexibilidad, hace un uso más eficiente de la utilización de direcciones de red, y contiene el tráfico de difusión debido a que una emisión broadcast no cruzará un router. Las subredes están bajo la administración local. Como tal, el mundo exterior ve una organización como una sola red, y no tiene un conocimiento detallado de la estructura de la red interna de la organización. 147.156.0.0 147.156.128.0 /18 147.156.192.0 /19 147.156.224.0 /19

Agregación de rutas Superneteo (Supernetting) La formación de superredes es una técnica preventiva para evitar la ineficiencia de la asignación de rangos IP y evitar la sobrecarga de las tablas de encaminamiento de los routers Una superred, es una red IP que está formada por la combinación (agrupación) de dos o más redes o subredes contiguas con un prefijo CIDR común, de tal forma que el prefijo de enrutado de la superred comprende los prefijos de las redes que la constituye. El procedimiento de superneteo o agregación de rutas consiste en: Se toman dos o más bloques de direcciones de red numéricamente contiguas (consecutivas) y se consolidan en una sola dirección de red más grande., con una máscara mas corta. Supernetting es lo contrario a subnetting. Se especificó por primera vez en junio de 1992 en el RFC 1338 Supernetting requiere protocolos de enrutado que soporten CIDR. IGRP, EGP y la versión 1 de RIP están basadas en direccionamiento de clase y por tanto no pueden transmitir información de máscaras de subred.

Superredes Caso de estudio [1] Prefijo por defecto Agrupación de 4 redes de clase C en una superred de 1024 direcciones d Máscara por defecto de las redes de clase C: 255.255.255.0 2 Bits de superred: los de peso 9 y 10 Nueva Máscara: /18 (255.255.252.0) 254 hosts 255.255.255.0 1 220. 78. 168. 254 hosts 255.255.255.0 1 220. 78. 169. Nuevo prefijo 254 hosts 255.255.255.0 1 220. 78. 170. 254 hosts 255.255.255.0 1 220. 78. 171. Supernet ID He tenido que modificar tu ejemplo porque no cabe la representación de 8 redes de clase C 1 220. 78. 168. 1022 host 255.255.252.0

Superredes Caso de estudio [y 2] 140.3.0.0 140.3.0.0 E Tabla de rutas de E 220.78.168.0 220.78.169.0 220.78.170.0 220.78.171.0 140.3.0.0 E Tabla de rutas de E 220.78.168.0 140.3.0.0 Barcelona Barcelona Superneteo D Tabla de rutas de E 220.78.168.0 220.78.169.0 220.78.170.0 220.78.171.0 140.3.0.0 D Tabla de rutas de E 220.78.168.0 220.78.169.0 220.78.170.0 220.78.171.0 140.3.0.0 Madrid Madrid Tabla de rutas simple, dado que los alumnos ignoran todo de los routers 220.78.170.0 220.78.168.0 220.78.169.0 220.78.171.0 220.78.168.0 220.78.169.0 220.78.170.0 220.78.171.0

Direcciones IP privadas Existen cuatro rangos de direcciones IP que han sido declarados como privados Esto significa que las direcciones incluidas en esos rangos son “no enrutables” o “alcanzables” desde Internet A diferencia de las direcciones públicas, las direcciones privadas no están controladas por ICANN Las direcciones privadas pueden aplicarse a dispositivos que no requieren conexión a Internet (impresoras, switches, etc.) y redes de usuarios o servidores que no queremos que accedan a Internet o redes que acceden a Internet a través de otros mecanismos (NAT-PAT, Proxy, etc.) Ver Comer en pag.397 ICANN: Internet Corporation for Assigned Names and Numbers;

NAT (Network Address Translation) Red Pública Dirección IP pública NAT es el mecanismo utilizado por los encaminadores IP para intercambiar paquetes entre dos redes que asignan mutuamente direcciones incompatibles Consiste en convertir, en tiempo real, las direcciones utilizadas en los paquetes transportados Su uso más común es permitir utilizar direcciones privadas (RFC 1918) para acceder a Internet 200.40.20.120 Internet NAT Red privada 10.0.0.5 10.0.0.5 10.0.0.5 10.0.0.5 Direcciones IP privadas

NAT (Network Address Translation) Funcionamiento Consiste en sustituir, en tiempo real, la dirección IP de origen en los paquetes que van desde una estación privada a Internet, y sustituir la dirección de destino IP en los paquetes que pasan de Internet a dicha estación Desde la red privada se emite un paquete de petición con destino a un servidor situado en Internet Antes de que pase a Internet, el router, cambia la dirección de origen por su IP pública El servidor elabora el paquete de respuesta con direcciones públicas El router traducirá la dirección IP de destino del paquete (IP del router) por la dirección privada del host. Direccionamiento privado Direccionamiento público NAT OR:4.3.2.1 DE:5.6.7.8 Dat OR:10.0.0.3 10.0.0.3 5.6.7.8 OR:5.6.7.8 DE:4.3.2.1 DE:10.0.0.3  4.3.2.1  INTERNET RED PRIVADA   SNAT DNAT El funcionamiento de NAT se muestra en la Fig. Dentro de las instalaciones del cliente, cada máquina tiene una dirección privada única de la forma 10.xyz. Antes de que un paquete pase a Internet, lo procesa un router NAT que convierte la dirección interna IP de origen, 10.0.0.3, a la dirección IP pública del cliente, 4.3.2.1 (habitualmente un dirección pública se comparte por varias direcciones cliente. Cuando la respuesta viene de Internet (por ejemplo, desde un servidor Web), es, naturalmente, dirigida al 4.3.2.1, así que ¿cómo sabe el router NAT cual es la dirección privada que le corresponde? En esto radica el problema con NAT. [3] Andrew S. Tanenbaum: Computer Networks (4ª ed 2003). Prentice Hall

4.1. Direccionamiento IPv5

IPv6 Motivaciones Razones que justifican IPv6 Agotamiento de las direcciones IPv4 (solo 4.294.967.296 direcciones) Las nuevas aplicaciones exigen funcionalidades que IPv4 no puede ofrecer (pe. Calidad de servicio, seguridad, movilidad) Posibilidad de paquetes superiores a 64 kb (jumbogramas, hasta 4 GB)

Numeración de dispositivos (INTERFAZ ID) IPv6 Direccionamiento El esquema de direccionamiento IPv6 se define en la RFC 4291 128 bits de longitud permite asignación jerárquica Numeración hexadecimal Usa los principios de enrutamiento sin clases (CIDR) 8 bits IPv4 (32 bits) 4.294.967.296 direcciones XX XX XXXX Numeración de red Numeración de dispositivos (INTERFAZ ID) Subred ID IPv6 (128 bits) 3,40x1038 direcciones 16 bits /32 /48 /64

IPv6 Direccionamiento. Asignación Política de asignación: IANA asigna 2001 :: /16 a los registros Cada registro se pone un prefijo /23 del IANA Todos los ISP tienen un prefijo /35 Con esta política, un registro puede asignar un prefijo /32 a un proveedor de Internet IPv6 A continuación, el ISP puede asignar un prefijo /48 a cada cliente 2001 0410 XXXX Numeración de red Numeración de dispositivos (INTERFAZ ID) Subred ID /16 /32 /48 /64 Registro ISP Cliente LAN

IPv6 Direccionamiento. Notación XXXX Numeración de red Numeración de dispositivos (INTERFAZ ID) Subred ID Los ceros pueden omitirse 16 bits /32 /48 /64 Los ceros pueden omitirse Formato global 2001 :0DB8 :0000 :0000 :0202 :B3FF :FE1E :8329 2001 :0DB8 ::B3FF :FE1E :8329 Formato colapsado Formato global 2001 :0DB8 :AC10 :FE01 :0000 :0000 :0000 : 0000 2001 :0DB8 :AC10 :FE1E :: Formato colapsado :1111111000011110

IPv6 Direccionamiento. Tipos Unicast: Identifican a una sola interfaz.  El paquete se envía a una interfaz. Anycast: Identifica a un conjunto de interfaces. Una dirección anycast es asignada a un grupo de interfaces, normalmente de nodos diferentes. Un paquete enviado a una dirección anycast se entrega únicamente a uno de los miembros, típicamente el host con menos coste (pe. el mas cercano), según la definición de métrica del protocolo de encaminamiento. Multicast: Identifica un grupo de interfaces. Cuando un paquete es enviado a una dirección multicast es entregado a todos las interfaces del grupo identificados con esa dirección. Broadcast: No se implementa Grupo anycast IPv6 no implementa broadcast, que es la habilidad de enviar un paquete a todos los nodos del enlace conectado. El mismo efecto puede lograrse enviando un paquete al grupo de multicast de enlace-local todos los nodos (all hosts). Por lo tanto, no existe el concepto de una dirección de broadcast y así la dirección más alta de la red (la dirección de broadcast en una red IPv4) es considerada una dirección normal en IPv6. Grupo Multicast

5. El datagrama IP

El nivel IP Arquitectura TCP/IP ApX Protocolo de aplicación Protocolo de transporte (TCP,UDP) Protocolo red (IP) Protocolo Enlace Bits Aplicación TCP,UDP IPv4(6) If1 de red If2 de red SubRed1 SubRed2 ApY If1 If2

Las funciones de la capa IP La capa IP ofrece una comunicación extremo a extremo no orientada a conexión, independientemente de las redes por las que se pase y sin ninguna garantía sobre la llegada correcta paquetes (no hay corrección de errores ni control de congestión ⇒ han de ser corregidos por el nivel superior ) Funciones Direccionamiento lógico (dirección IP) Cómo almacenar y reenviar datagramas Segmentación y reensamblado

Datos (Carga útil o payload) El datagrama IPv4 [1] Para poder encaminar los datagramas, el nivel IP añade sus propias cabeceras Por tanto, el datagrama IP tiene dos partes: cabecera y carga (datos: protocolo superior encapsulado) Su tamaño puede variar desde 20 hasta 64K octetos Hasta 64kB Cabecera Datos (Carga útil o payload) 20B

El datagrama IPv4 [2] Formato de la cabecera Longitud de la cab. en palabras de 32 bits El valor normal de este campo es de 5 (5 palabras de 32 bits = 5 * 4 = 20 bytes) Es el tamaño del datagrama en bytes. Por ser un campo de 16 bits permite una longitud de hasta 65536 octetos No. de protocolo IHL Tipo de servicio Flags Offset Versión Identificación Tiempo de vida Dirección destino Chequeo de la cabecera Relleno Opciones Datos (carga útil o payload) 15 31 7 23 Longitud total Dirección origen 18 En caso de fragmentación: Identificador único del datagrama Banderas relativas a la fragmentación de paquetes En paquetes fragmentados indica la posición, en unidades de 64 bits (8 B), que ocupa el paquete actual dentro del datagrama original Máximo número de enrutadores que puede atravesar un paquete Indica el protocolo de las capas superiores al que debe entregarse el paquete: TCP, UDO, IGMP, EGP, etc Campo no obligatorio. Registro de ruta. Sin este campo la cabecera es de 20 B Si se incluyen opciones, y el número de bits utilizados para ellos no es un múltiplo de 32, se añaden bits de relleno para que la cabecera sea múltiplo de 32 bits (4 bytes).

El datagrama IPv4 [3] El campo tipo de servicio El Tipo de Servicio, determina una serie de parámetros sobre la calidad de servicio (QoS) deseada durante el tránsito por la red Lo establece la entidad que envía el datagrama Prioridad D T R 7 C 2 1 Coste: Normal (0) Mínimo (1) Fiabilidad (Reliability): Máxima (1) Throughput: Delay: 000: De rutina. 001: Prioritario. 010: Inmediato. 011: Relámpago. 100: Invalidación relámpago. 101: Procesando llamada crítica y de emergencia. 110: Control de trabajo. 111: Control de red.

El datagrama IPv4 [4] El campo flags Cuando un datagrama IP es demasiado grande para la unidad de transmisión máxima (MTU) de la tecnología de capa de enlace de datos subyacente debe ser fragmentado antes de que pueda ser enviado a través de la red El campo flags, de tres bits, se utiliza para permitir el montaje correcto del mensaje fragmentado El proceso de fragmentación es invisible para las capas superiores 16 17 18 DT MF More fragments: Indicación de que es el último fragmento l (0) Indicación de que hay mas fragmentos (1) Don´t fragment: Se puede fragmentar (0) No se puede fragmentar (1) Reservado: Debe ser cero

El datagrama IPv4 [5] MTU El protocolo IP fue diseñado para su uso con una amplia variedad de tecnologías de transmisión (Ethernet, ATM, FR, LL, etc.) y aunque la longitud máxima teórica de un datagrama IP es de 64KB, la mayoría las tecnologías de los enlaces imponen un límite máximo de los datagramas, ese límite se llama abreviadamente MTU Dicho de otro modo, la Unidad Máxima de Transferencia (Máximum Transfer Unit - MTU) expresa en bytes la unidad de datos (payload o carga útil) más grande que puede enviarse en el un protocolo de enlace subyacente IP MTU IP Interfaz de red Datagrama IP IP Interfaz de red Protocolo red (IP) RH TH Datos Trama Protocolo Enlace D.Comer. Computer Networks and Internets Para el caso de IP, el máximo valor de la MTU es 65.536 bytes. Sin embargo, ése es un valor máximo teórico, pues, en la práctica, la entidad IP determinará el máximo tamaño de los datagramas IP en función de la tecnología de red por la que vaya a ser enviado el datagrama. Ejemplos de MTU para distintos protocolos usados en Internet: Ethernet: 1500 bytes PPPoE: 1492 bytes ATM (AAL5): 8190 bytes FDDI: 4470 bytes PPP: 576 bytes EH RH TH Datos ET Bits Red IP

El datagrama IPv4 [6] MTU y fragmentación El diseño de IP, permite a este acomodarse a los diferentes MTUs al habilitar que los routers puedan fragmentar datagramas IP si es necesario La estación receptora es responsable de volver a ensamblar los fragmentos para rehacer el datagrama IP original. 500B 1500 B 1000B SubRed1 MTU=1500 Subred2 MTU=1000 Fragmentación IP Ensamblado

El datagrama IPv4 [7] Ejemplo de fragmentación Oftset MF DATOS 11.980 Bytes 1 2 Paquete de 12.000B (Hay que sumar la cabecera IP de 20 B) 3 Fragmento 1. Bytes de datos: 0 - 3.279 4 Oftset MF 1 DATOS 3.280 Bytes Fragmento 2. Bytes de datos: 3.270-6.559 11.980B Oftset MF 410 1 DATOS 3.280 Bytes 4 3 2 1 MTU=3.300 Fragmento 3 Bytes de datos: 6560-9.839 Oftset MF 820 1 DATOS 3.280 Bytes Ilde, he incluido este dibujo, en vez de tu ejemplo, que ya tenía porque está mas a tono con el resto de las diapositivas. Espero que no te importe Fragmento 4. Bytes de datos: 11.980-9840 Oftset MF 1.230 DATOS 2.140 Bytes En paquetes fragmentados indica la posición, en unidades de 64 bits (8 B), que ocupa el paquete actual dentro del datagrama original

Protocolo de mensajes de control de Internet El protocolo IP, que se usa para la transferencia de datos, está acompañado por otros protocolos que se usan a nivel de red, como son ARP, DHCP e ICMP. ICMP (Internet Control Messages Protocol) se utiliza, fundamentalmente, para la gestión de mensajes de error y otras condiciones que requieran atención. Los mensajes ICMP se activan, generalmente, por el nivel IP o por protocolos de nivel superior (UDP, TCP). Son generados por el host o router que detecta el problema o situación extraordinaria y dirigidos al host o router que aparece en el campo dirección origen del datagrama que causó el problema. Los mensajes ICMP viajan por la red como datagramas IP (con el valor 1 en el campo Protocolo), sujetos en los routers a las mismas reglas que cualquier otro datagrama. ICMP usa IP como si fuera un protocolo de nivel superior, sin embargo se implementa con el módulo IP

Protocolo de mensajes de control de Internet Tipos de mensajes Mensajes de error (ICMP reporting) Error en la transmisión de una trama Destino inalcanzable (tipo 3) Tiempo excedido (tipo 11) Supresión de origen (tipo 4) Redirección (tipo 5) Mensajes de diagnóstico (ICMP query) Originado como respuesta a otro mensaje ICMP Respuesta de eco Ping (tipo8 y 0 ) Trazado de ruta Traceroute (tipo 30)

Protocolo de mensajes de control de Internet Formato Tipo Código Checksum 8 16 31 Identificador 8B Datos opcionales Secuencia No. de protocolo IHL Tipo de servicio Flags Offset Versión Identificación Tiempo de vida Dirección destino Chequeo de la cabecera Relleno Opciones Datos (carga útil o payload) 15 31 7 23 Longitud total Dirección origen 18 Mensaje de diagnóstico Tipo Código Checksum 8 16 31 No usado 8B Cab.IP+64 bits datagrama original Mensaje de error Tipo 3 y 11

Mensajes ICMP Mensajes de error [1] Destination unreachable (Destino inalcanzable:Tipo 3) El campo Datos contiene la cabecera IP y los primeros 8 bytes de la carga útil del datagrama original. Un router puede devolver este mensaje si no se puede entregar el datagrama en su destino porque: El router se encuentra con un datagrama con el bit DF =1 y que no cabe en la MTU de la red por la que ha de enviarlo. El router no encuentra en sus tablas ninguna ruta por la que pueda llegar a la dirección de destino de un datagrama. Source Quench (Supresión de origen, Tipo=4). Aviso de descarte por congestión. Permite a los routers solicitar una reducción en el tráfico generado por los hosts en caso de congestión

Mensajes ICMP Mensajes de error [2] Time exceeded for datagram. Aviso de un descarte por exceso de tiempo en el sistema (TTL=0). Lleva el campo Tipo=11. No se usan los cuatro bytes finales de la cabecera; el campo Datos contiene la cabecera IP y los primeros 8 bytes de la carga útil del datagrama original. Redirect ICMP (Tipo 05) Se utiliza para alertar al host emisor cuando se sospecha que un paquete se está encaminando incorrectamente. Los cuatro bytes finales de la cabecera contienen la dirección del router al que redireccionar el tráfico; el campo Datos contiene la cabecera IP y los primeros 8 bytes de la carga útil del datagrama original

Mensajes ICMP Ping Ping (tipo 8 y 0) Es una solicitud de eco el destino devuelve el mismo mensaje que se le envió, después el emisor comprueba el campo de datos recibido con el transmitido (la opción '-s' dice el tiempo que tarda en ir y volver el datagrama) Comprueba que la comunicación entre emisor y receptor es posible No hay respuesta Echo rq (tipo 8) Echo rp (tipo 0)

Mensajes ICMP Traceroute Traceroute (tipo 30) Nos dice la ruta seguida por los datagramas en una conexión. Para hacer esto, envía echos sucesivos con diferentes TTLs. Primero con TTL a 1. Esto ocasiona que el primer router envíe un ICMP de descarte por TTL=0, pero además incluirá su dirección IP. Luego se envía otro con TTL=1,2.... hasta que se reciba una respuesta de que el mensaje llegó al destino Echo rq (TTL=1) Time exceeded Echo rq (TTL=2) Echo rq (TTL=3) ICMP tipo 11 mensaje espontáneo de error: tiempo excedido

6. Encaminamiento

Encaminamiento IP Se denomina encaminamiento al proceso de reenviar un paquete basado en la dirección de destino. Existen dos métodos de encaminamiento: Estático o no adaptativo No tienen en cuenta el estado de la red al tomar las decisiones de encaminamiento. Solo existe una ruta permanente por cada par origen- destino Las entradas de la tabla se crean manualmente, por medio de scripts que se ejecutan al inicializar el sistema, o por medio de comandos Dinámico o adaptativo Las decisiones de encaminamiento cambian en la medida que lo hacen las condiciones de la red Creadas y mantenidas de forma automática por los protocolos de routing

Encaminamiento IP Estático vs. dinámico Fijo Adecuado para casos simples Utiliza algoritmos de mínimo coste No influye el tráfico Dinámico Variable en función de los valores aportados por los protocolos de enrutamiento Necesario en redes grandes Elementos de cambio: fallos y congestión

Encaminamiento IP Concepto de ruta El camino o ruta se establece por medio de las diferentes tablas de encaminamientos de los distintos dispositivos (routers) que intervienen en la comunicación (a nivel IP). Tipos de rutas Directas (Host a Host; ambos están en la misma (sub)red). Los hosts se comunican directamente entre sí, sin necesidad de un dispositivo intermediario de capa de red. Indirectas A través de uno o más router Se establecen salto a salto También se pueden hacer otras dos clases: Distribuido en el que cada nodo de la red (router) tiene la responsabilidad de seleccionar un enlace de salida sobre el que llevar a cabo el envío de los paquetes a medida que éstos se reciben Centralizado la decisión se toma por parte de algún nodo designado al respecto, como puede ser un centro de control de red [1] William Stallings: Comunicaciones y Redes de Computadores. Prentice Hall

El encaminamiento IP La tabla de encaminamiento La tabla de encaminamiento se implementa mediante una matriz en la que se especifica, para cada destino, la identidad del siguiente nodo en la ruta. Tanto los dispositivos finales como los routers necesitan una tabla de encaminamiento para dirigir los paquetes a la red de destino correcta D NS 1 3 4 D NS 2 4 3 1 2 ¿te parece bien esta diapositiva para introducir las tablas? D NS 1 2 3 D NS 1 2 4 4 3 Nota: D es el destino y NS el nodo siguiente

El encaminamiento IP Transmisión directa de datagramas. Encapsulamiento Cuando los datagramas se envían entre dos host en la misma LAN (subred)1 se entregarán directamente desde el origen al destino El primer host conoce tanto IP1 como IP2 y las incluye en la cabecera IP del datagrama que envía. Para encapsular a nivel 2 se necesita conocer ET2 (dirección Ethernet): primero consultaría la tabla ARP, si no la encuentra entraría en juego el protocolo ARP Tabla de rutas Tabla ARP Dest Por N1 α N2 β IP ET IP2 ET2 R α β IP1 IP2 ET1 ET2 Subred N2 N1 IP1 Datos IP2 IP1 Datos IP2 ET2 ET1 CRC T 1.Esto se sabe gracias a la máscara

El encaminamiento IP Transmisión indirecta de datagramas El encaminamiento IP Transmisión indirecta de datagramas. Encapsulamiento El host origen sabe que IP3 no pertenece a su subred, por lo que envía el datagrama al router (con dirección IP3 de destino, pero encapsulado en una trama Ethernet con destino ETα En el router se consultan unas tablas de encaminamiento, que indican, partir de una dirección IP destino, a qué dirección IP hay que enviar Tabla ARP Tabla de rutas IP ET IP2 ET2 IPα Dest Por N1 α N2 β R α β IP1 IP2 IP3 ETα ETβ ET1 ET2 ET3 N1 N2 IP1 Datos IP3 IP1 Datos IP3 IP1 Datos IP3 ETα ET1 CRC T IP1 Datos IP3 ET3 ETβ CRC T 1.Esto se sabe gracias a la máscara

Eth0: es un identificador lógico El encaminamiento IP Transmisión directa de datagramas. Tabla de rutas del host Tanto los host como los routers tienen tabla de routing ya que han tomar decisiones de enrutamiento Si el host de destino y de origen están en la misma subred1 , este envía el paquete directamente al destinatario Si ambos prefijos (origen y destino) no coinciden entonces se envía el paquete a su router por defecto, el cual se encarga de enviar el paquete hacia su destino. El router por defecto siempre está en la misma LAN que el host. Tabla de rutas del host Destino Máscara Gateway Interface 138.100.56.0 255.255.252.0 * eth0 Default 138.100.56.1 138.100.56.1 R En el caso de la figura tenemos una dirección pública 138.100.56.0 de red de clase B. Esta se ha dividido en 56 subredes mediante la máscara 255.255.252.0. Las subredes resultantes son: 138 100 56 0 Que va desde 138.100.56.1 hasta 138.100.59.25 138 100 60 0 138 100 64 0 ……………………………………………………………………… La subred 138.100.56.0 es en la que está el Host X Comentario a la tabla de rutas del host X Cualquier paquete que vaya dirigido a una estación de la red local (que en este ejemplo se trata de la red 138.100.56.0) debe ser entregado al correspondiente host local a través del interface de red eth0. La interfaz loopback tiene la mascara 255.0.0.0 ya que su dirección es 127.0.0.1. Su nombre estándar es lo. Cualquier paquete que no vaya dirigido a la red local será entregado al gateway a través del interface de red eth0. Nota: La obtención de la tabla se hace con el comando netstat -r 138.100.58.10 X 138.100.58.15 Y eth0 138.100.56.0/22 Subred N2 138.100.58.10 Datos 138.100.58.15 1.Esto se sabe gracias a la máscara Eth0: es un identificador lógico

El encaminamiento IP Tabla de encaminamiento del router Una tabla de encaminamiento es un archivo de datos en la memoria RAM que se utiliza para almacenar información de las rutas de redes conectadas directamente y de las remotas Campo adicional que indica qué interfaz local lleva a la puerta de enlace (next hop) Siguiente salto (next hop) o puerta de enlace: indica una dirección a la que el paquete debe ser enviado para alcanzar su destino final Entrada: Identificador de la red de destino Destino Máscara Gateway Interface Métrica 138.100.56.0 255.255.252.0 * eth0 10 0.0.0.0 138.100.56.1 eth1 Entrada: por defecto Coste o métrica de la ruta a través de la cual el paquete se va a enviar. La métrica mas baja es la ruta preferida (mínimo coste) R eth0 eth1 La ruta por defecto Como ya hemos visto, de acuerdo a las reglas del enrutamiento IP, cuando en la tabla de enrutamiento no se encuentra una ruta hacia la red de destino el paquete debe ser descartado. Es decir, al recibir un paquete se examina la tabla de enrutamiento en busca de una ruta que corresponda a la red a la que corresponde la IP de destino del paquete. Si no hay una ruta hacia esa red, el paquete es descartado. Esta regla genera un primer desafío ¿Qué hacemos con el tráfico que tiene como destino una dirección IP de Internet? ¿Necesitamos en el router una ruta específica a cada red de destino? En estos días un router de borde de Internet tiene unas 420.000 rutas. ¿Tiene sentido mantener la información de esas 420.000 rutas si mi próximo salto es todos los casos es siempre el mismo: mi ISP? La entrada por defecto evita que las tablas de los routers tengan que almacenar todas las redes destino de Internet. Un router normalmente especifica las rutas más cercanas. El resto de rutas se indican mediante una ruta o gateway por defecto . Al gateway por defecto se le envían aquellos datagramas que no se saben como encaminar. Y 138.100.58.10 X 138.100.58.15 eth0 138.100.56.0/22 Internet

El encaminamiento IP Transmisión indirecta de datagramas El host origen sabe que 138.100.60.20 no pertenece a su subred, por lo que manda el datagrama al router. En el router se consultan las tablas de encaminamiento que indican el siguiente salto (next hop) o puerta de enlace hacia la que hay que reenviar el datagrama Destino Máscara Gateway Interface Métrica 138.100.56.0 255.255.252.0 138.100.56.1 eth0 10 138.100.60.0 138.100.60.1 eth1 138.100.60.20 138.100.58.10 R eth0 eth1 X Y X 138.100.56.0/22 138.100.60.0/22 138.100.58.10 Datos 138.100.60.20 138.100.58.10 Datos 138.100.60.20

7. Casos de estudio de encaminamiento

Encaminamiento indirecto interno LANs directamente conectadas El encaminamiento indirecto interno se produce cuando un router coge los datagramas de la red origen y los pone directamente (internamente) en la red de destino El router está directamente conectado a tres LANs LAN A 147.156.0.0 /16 IP: 193.146.62.7 Gw: 193.146.62.1 LAN B 213.15.1.0/8  IP: 213.15.1.2 Gw: 213.15.1.1 β 147.156.0.1 α 147.156.0.1  LAN C 193.146.62.0/8  γ 193.146.62.1 En esta figura se muestra una de las configuraciones de router más simples que puede haber. Se tienen tres LANs, A, B y C, a las que se han asignado las redes 147.156.0.0, 193.146.62.0 y 213.15.1.0, que corresponden a redes clase B, C y C respectivamente, en el sentido de que sus mascaras son /8 y /16 ya que la clase C empieza en la 192.0.0.0. El router dispone de tres interfaces que se conectan a las tres LANs y a cada una se le asigna la primera dirección válida (aunque podría haber sido cualquier otra) de cada una de las tres LANs. Al configurar una interfaz del router, por ejemplo la , con una dirección IP (en este caso la 147.156.0.1) el router deduce inmediatamente que por ese cable puede llegar a cualquier host que pertenezca a dicha red, de modo que si a partir de ese momento recibe un datagrama dirigido a cualquier dirección comprendida en el rango 147.156.0.2 – 147.156.255.255 lo enviará por su interfaz  (la dirección 147.156.255.255, que corresponde a un envío broadcast en esa red, no es válida para un host pero sí lo es como dirección de destino de datagramas). De manera análoga procederá en el caso de las interfaces  y  con los rangos 213.15.1.2 – 213.15.1.255 y 193.146.62.2 – 193.146.62.255, respectivamente. Como en este ejemplo no hay más que las tres redes locales conectadas al router no es necesario acceder a ninguna otra y tampoco es preciso definir ruta alguna en el router. Decimos que en este caso las redes están directamente conectadas al router. Los hosts que se encuentran en cada de las tres LANs reciben direcciones IP de sus rangos respectivos. Cuando tengan que enviar datagramas a otros hosts en su propia red lo harán de forma directa. Además es preciso indicarle a cada uno cual es su router por defecto para que puedan enviar datagramas a hosts en las otras dos redes. Rutas indirectas internas Destino Máscara Gateway Interface 147.156.0.0 255.255.0.0 147.156.0.1 α 213.15.1.0 255.255.255.0 213.15.1.1 β 193.146.62.0 193.146.62.1 γ

Encaminamiento indirecto externo LANs indirectamente conectadas El encaminamiento indirecto externo se produce cuando un host quiere enviar datos a un host externo a las subredes que tiene directamente conectadas Los host de esta LAN deben definir 2 gateways LAN A 202.1.1.0 /24 LAN C 204.1.1.0/24 LAN B 203.1.1.0/24 202.1.1.2 Gw: 202.1.1.1 202.1.1.1 X 203.1.1.1 204.1.1.2 Gw: 204.1.1.1 203.1.1.2 Y 204.1.1.1 Destino Gateway 202.1.1.0 202.1.1.1 203.1.1.0 203.1.1.1 204.1.1.0 203.1.1.2 Destino Gateway 203.1.1.0 203.1.1.2 204.1.1.0 204.1.1.1 202.1.1.0 203.1.1.1 El enrutamiento indirecto externo se produce cuando un host quiera enviar datos a un host externo a las subredes que une el router. Éste, al hacer la operación AND lógica, descubre que las tramas no van a ningún host de las subredes que une, por lo que cambia la dirección MAC de las mismas por la suya propia de la subred a la que pertenece al host origen, y dejando la dirección IP del host destino, sacando los datos entonces al exterior de las subredes, enviándolas al router externo que crea que puede proseguir mejor el enrutamiento. En este caso hablamos de enrutamiento indirecto externo. Los routers poseen sus correspondientes tablas de enrutamiento, que son las que van a fijar el router externo al que se envían las tramas. Aquí tenemos tres LANs como en el ejemplo anterior, pero en vez de un router con tres interfaces utilizamos dos routers con dos interfaces cada uno. Esto puede deberse a que simplemente no se disponga de un router con tres interfaces o a que físicamente no coincidan las tres MANs en un punto y por tanto no sea factible conectarlas con un solo router. El router X tiene dos redes directamente conectadas, y el Y otras dos. La red intermedia (la B) está directamente conectada a ambos, y no necesita por tanto definirse para ella ninguna ruta. Sin embargo es preciso definir la ruta para la red remota, por ejemplo en el router X hay que definir una ruta para acceder a la LAN C. La definición de una ruta puede variar de unos fabricantes a otros, aunque siempre se especifica la red de destino y la dirección a través de la cual se puede llegar a dicho destino. Dicha dirección intermedia debe pertenecer a otro equipo (no al propio router) que se encuentre bien en una red directamente conectada o en una red para la se haya definido previamente una ruta. Obsérvese que en este caso la configuración de los hosts de la LAN intermedia se complica un poco puesto que ya no se configura un router por defecto. Es preciso definir en los hosts dos rutas para que puedan acceder a las LANs A y C. Apunta al router externo Y Nota: En la tablas de los routers solo se ha expresados las rutas indirectas externas

Encaminamiento indirecto externo LANs conectadas por una línea serie Direccionamiento privado para la línea serie Dado que las interfaces serie no serán accedidas directamente por los usuarios normales es bastante frecuente utilizar en estos casos direcciones del rango privado según se especifica en el RFC 1918, para no desperdiciar direcciones públicas LAN A 165.12.0.0/16 Red privada 192.168.2.0/24 LAN B 213.1.1.0/24 192.168.2.1 213.1.1.1 165.12.0.1 X 192.168.2.2 213.1.1.3 Gw: 213.1.1.1 Y 165.12.0.2 Gw:165.12.0.1 Destino Gateway 213.1.1.0 192.168.2.2 165.12.0.0 165.12.0.1 192.168.2.0 192.168.2.1 Aquí vemos un ejemplo de cómo se realiza normalmente una conexión entre dos routers a través de un enlace punto a punto. Para el enlace punto a punto (normalmente denominado línea serie en este contexto) se utiliza una red, de forma análoga a como se procede con una LAN. La diferencia es que en este caso solo se utilizan dos direcciones, pues la línea serie no tendrá hosts conectados. Nosotros hemos utilizado direciones contiguas, aunque podríamos haber colocado dos direcciones cualesquiera dentro del rango 192.168.2.1 – 192.168.2.254. Dado que las interfaces serie no serán accedidas directamente por los usuarios normales es bastante frecuente utilizar en estos casos direcciones del rango privado según se especifica en el RFC 1918, para no desperdiciar direcciones públicas. Para que haya conectividad entre LANs es preciso definir en ambos routers una ruta para la LAN remota. Por ejemplo para llegar a la LAN B desde el router X se ha definido una ruta que apunta a la dirección IP 192.168.2.2, que corresponde a la interfaz serie de Y. X ya sabe como legar a la dirección 192.168.2.2, pues al tener su interfaz serie el número 192.168.2.1 la ve directamente conectada. Obsérvese que la ruta especifica la dirección IP del extremo remoto de la línea, no la local; de hacerlo así no habríamos resuelto el problema del routing. Aunque en este caso concreto al tratarse de una línea punto a punto se podría pensar que solo hay un destino posible ese mecanismo no funcionaría si hubiera varios, como en el caso de dos routers conectando tres LANs. En cuanto a los hosts la única configuración a introducir es la correspondiente al router por defecto, que será la interfaz LAN de X para los de LAN A y la de Y para los de LAN B. Destino Gateway 165.12.0.0 192.168.2.1 213.1.1.0 213.1.1.1 192.168.2.0 192.168.2.2 Nota: En la tablas de los routers solo se ha expresados las rutas indirectas externas

Encaminamiento en una topología en estrella Rutas por defecto LAN B 207.1.1.0/24 207.1.1.1 La entrada por defecto evita que las tablas de los routers tengan que almacenar todas las redes de destino Un router normalmente especifica las rutas más cercanas. El resto de rutas se indican mediante un gateway por defecto Al gateway por defecto se le envían aquellos datagramas que no se saben como encaminar. .2 Y Destino Gateway 165.12.0.0 192.168.1.1 213.1.1.0 215.1.1.0 192.168.1.0/24 LAN A 165.12.0.0/16 LAN C 213.1.1.0/24 .1 .1 192.168.2.0/24 213.1.1.1 165.12.0.1 X .2 Z .1 Destino Gateway 0.0.0.0 192.168.2.1 ruta por defecto Destino Gateway 207.1.1.0 192.168.1.2 213.1.1.0 192.168.2.2 215.1.1.0 192.168.3.2 192.168.3.0/24 En este caso tenemos una topología en estrella en la que tres routers se conectan a uno central mediante líneas punto a punto. Cada router dispone además de una LAN. Se utiliza una red diferente (del rango privado RFC 1918) para cada uno de los tres enlaces punto a punto. Hay que definir rutas en el router principal (X) para cada una de las tres LANs remotas (B, C y D), dirigiéndolas a las direcciones correspondientes. En cuanto los tres routers periféricos en principio habría que definir en cada uno de ellos tres rutas para cada una de las tres redes remotas, y todas apuntando a la dirección de la interfaz serie correspondiente en X. Así hemos procedido en el caso del router Y. Pero también es posible definir lo que se conoce como una ruta por defecto, que consiste en especificar una ruta para la red 0.0.0.0, inexistente. Dicha ruta se entiende, que se debe utilizar para todos los datagramas, excepto los dirigidos a las redes directamente conectadas. .2 215.1.1.1 LAN D 215.1.1.0/24 W Destino Gateway 0.0.0.0 192.168.3.1 ruta por defecto Nota: En la tablas de los routers solo se ha expresados las rutas indirectas externas

Encaminamiento hacia Internet Este caso de estudio muestra un ejemplo de conexión de la red de una pequeña organización con dos sedes a Internet Sucursal 193.146.62.7 Gw: 193.146.62.1 Destino Gateway 0.0.0.0 192.168.0.2 .1 X 193.146.62.0 /24 .1 192.168.0.0/24 PROVVEDOR (ISP) .2 Destino Gateway 0.0.0.0 192.168.1.1 193.146.62.0 192.168.0.1 INTERNET .2 192.168.1.0/24 Y Y ruta explícita .1 Z .1 En este caso de estudio se muestra una empresa que desea conectar su red a Internet. La empresa posee una oficina principal y una sucursal. La oficina principal posee la red clase B 147.156.0.0 y la sucursal la clase C 193.146.62.0. Ambas sedes se encuentran conectadas mediante una línea serie, y la conexión al proveedor de Internet se realiza desde la oficina principal, mediante otra línea serie. El router de la sucursal tiene definida únicamente la ruta por defecto, ya que se puede asegurar que cualquier tráfico que intercambie con el exterior tendrá que salir por la línea serie. En la oficina principal el router prevé una ruta explícita para la sucursal y una ruta por defecto hacia el proveedor de Internet para el resto del tráfico. Obsérvese que es posible utilizar la ruta por defecto combinada con rutas explícitas. En este caso se intenta siempre hacer uso en primer lugar de las rutas explícitas y en caso de que estas no resuelvan el problema del enrutado se hace uso de la ruta por defecto. Por este motivo a la ruta por defecto se la conoce también como la ruta de último recurso. Por su parte el proveedor de Internet ha tenido que incluir en su router de acceso dos rutas, una para la red de la oficina principal y otra para la sucursal. Obsérvese que es posible utilizar la ruta por defecto combinada con rutas explícitas. En este caso se intenta siempre hacer uso en primer lugar de las rutas explícitas y en caso de que estas no resuelvan el problema del enrutado se hace uso de la ruta por defecto. Por este motivo a la ruta por defecto se la conoce también como la ruta de último recurso. Oficina principal 147.156.0.0 /16 Destino Gateway 147.156.0.0 192.168.1.2 193.146.62.0 ****** ******* 147.156.13.5 Gw:147.156.0.1

Conexión de un host a múltiples redes Para que un host pueda conectarse a múltiples redes necesita tantas interfaces de red como redes a las que quiera conectarse Destino Gateway 202.1.1.0 203.1.1.1 204.1.1.0 203.1.1.2 203.1.1.3 LAN B 203.1.1.0/24 LAN A 202.1.1.0 /24 LAN C 204.1.1.0/24 203.1.1.1 203.1.1.2 202.1.1.1 X 204.1.1.1 Y Destino Gateway 204.1.1.0 203.1.1.2 Host con multitarjeta ¿Puede un host conectarse a múltiples redes? Sí. Un ordenador central con múltiples las conexiones de red se dice que es multitarjeta. El Multi-homing a veces se utiliza para aumentar la fiabilidad - si la red falla, el host todavía puede acceder a Internet a través de la segunda conexión. En el caso mostrado, tenemos un host (W) conectado a dos redes simultáneamente. El host deberá tener evidentemente dos tarjetas LAN y le asignaremos dos direcciones IP, una perteneciente a cada LAN. Esto es lo que se denomina un host ‘multihomed’. Dado que el host no actúa de router, la comunicación entre las LANs A y C ha de discurrir necesariamente a través de los routers X e Y, el host multihomed no permitirá que se le utilice como vía de tránsito para el tráfico entre A y B. En caso de que un usuario de la LAN A desee acceder al host W deberá utilizar la dirección 202.1.1.4; si utiliza la dirección 204.1.1.4 el acceso se efectuará a través de los dos routers. Como antes los hosts pertenecientes a la LAN intermedia (B) deberán definir dos rutas para poder acceder a las LANs A y C. Nota: En la tablas de los routers solo se ha expresados las rutas indirectas externas. Destino Gateway 202.1.1.0 203.1.1.1 202.1.1.4 W 204.1.1.4 Host multihomed Nota: En la tablas de los routers solo se ha expresados las rutas indirectas externas

Tabla de rutas del host Comando del sistema netstat -r La tabla de encaminamiento del host, es un documento electrónico que almacena las rutas a los diferentes nodos en una red informática 192.168.1.2  192.168.1.254  X Internet X Gw La columna de red de destino (Destination) y la máscara de red (Netmask) en conjunto describen el ID de red. La columna Gateway contiene la misma información que el  siguiente salto (Next hop), es decir, que apunta a la puerta de enlace a través del cual se puede llegar a la red (si es la red local el gw será el propio puerto del host). La interfaz indica qué interfaz disponible localmente que permite llegar a la puerta de enlace.  . Por último, la métrica indica el coste asociado de la utilización de la ruta indicada. Esto es útil para determinar la eficiencia de una ruta determinada a partir de dos puntos en una red. En este ejemplo, es más eficiente para comunicarse con el ordenador en sí mediante el uso de la dirección 127.0.0.1 (llamado "localhost") de lo que sería a través de 192.168.1.2 (la dirección IP de la tarjeta de red local). Ruta por Defecto. La ruta por defecto está diseñada para ser utilizada cuando no se encuentra un ID de red más específica o ruta de host. La ruta ID por defecto es 0.0.0.0 con la máscara de red de 0.0.0.0. De otro modo: Las rutas por defecto se utilizan para poder enviar tráfico a destinos que no concuerden con las tablas de enrutamiento de los dispositivos que integran la red. El caso más común para su implementación sería el de redes con acceso a Internet ya que sería imposible contener en las tablas de enrutamiento de los dispositivos todas las rutas que la componen. ------------------------------------------- Localhost En Hardware, en el contexto de redes TCP/IP, localhost es un nombre reservado que tienen todas las computadoras, ratón o dispositivo independientemente de que disponga o no de una tarjeta de red Ethernet. El nombre localhost es traducido como la dirección IP de loopback 127.0.0.1 en IPv4, o como la dirección ::1 en IPv6. Usos prácticos La dirección de loopback se puede usar para probar el funcionamiento de TCP/IP haciendo ping a 127.0.0.1, al recibir una respuesta se puede asumir que el software asociado al protocolo está bien (el estado del hardware, como la tarjeta de red, no lo conocemos con esta prueba, ya que no llega a salir del propio equipo). Los datagramas que se mandan por esta interfaz no abandonan nunca la máquina es como un CC en la pila de protocolos. El nombre estándar de la interfaz loopback es lo y su dirección la 127.0.0.1 y su nombre localhost. La mayor parte del sw tcp/ip configuran por defecto esta interfaz.

8. La capa de transporte

La capa de transporte El protocolo de transporte proporciona comunicación lógica entre programas/procesos de Aplicación que se ejecutan en diferentes host La información se transmite como una secuencia de segmentos (TCP) o datagramas (UDP) que se dirigen a la aplicación remota por el puerto especificado en la cabecera La información generada por la capa de transporte se encamina independientemente por la red: puede llegar a su destino por caminos diferentes y en diferente orden en que se generaron. En recepción, todos los elementos de información se reordenan para reconstruir la información Aplicación (HTTP, SMTP, SSL ,etc.) Acceso a los servicios Internet de las aplicaciones Transporte (TCP/UDP) Transferencia fiable. Segmentación. Control del flujo y errores. Identificación por puertos Internet (IPv4/v6) Trans. Paquetes entre sistemas finales. Direccionamiento IP. Enrutamiento Interfaz de red (o capa de acceso a la red) NIC DRIVER (Enlace) + NIC Físico (Ethernet, FDDI, X.25, FR, ATM, etc.)

TCP vs. UDP TCP UDP Protocolo orientado a conexiones Mas lento pero confiable Control de flujo Reconocimiento/ retransmisiones Desde pequeñas a grandes cantidades de datos UDP Protocolo sin conexiones Mas rápido pero sin garantía (best effort) Sin control de flujo Sin reconocimiento Pequeñas cantidades de datos

Los puertos El nivel de transporte ofrece sus servicios al nivel de aplicación a través de unos SAPs específicos denominados ports o puertos. Estos puertos se denominan también Cada puerto del Nivel de Transporte proporciona a las aplicaciones un interfaz de acceso a la red de comunicaciones, capaz de dialogar con otra aplicación situada en un puerto en una máquina remota. Sistema X Sistema Y ApX ApY 134.123.1.2.1024 221.198.34.21.23 TSAP TSAP Transporte Transporte TCP/UDP Servicios de red: Control de la Conexión, el Encaminamiento, la Congestión y el Direccionamiento TSAPs (Transport Service Access Point)

Puntos de acceso al servicio de transporte y de red Apy Transporte Protocolo de transporte Sistema X Sistema Y ApX 147.156.135.22.1024 Internet Interfaz de red NSAP TSAP 147.156.135.22 147.156.1.11.80 147.156.1.11

El protocolo UDP Encapsulado El protocolo de datagrama de usuario (User Datagram Protocol), especificado en el RFC 768, proporciona un servicio no orientado a conexión para los procedimientos de la capa de aplicación Sistema X Sistema Y Transporte Transporte Protocolo de transporte (UDP) TH AH Datos Internet Internet Protocolo red (IP) RH TH Datos AH

El protocolo UDP Características Servicio sencillo, CLNS, no fiable No necesita preestablecer la comunicación antes de enviar los datos No dispone de mecanismos capaces de recuperar errores, garantizar la entrega, controlar el flujo, conservar el orden secuencial, … No mantiene un control sobre el tráfico enviado o recibido por lo que no hay retransmisión del datagrama La comunicación se compone sólo de los mensajes de datos. No hay mensajes de control para detener una aplicación Aplicación SMTP RPC SNMP DNS NFS UDP Internet (IPv4/v6) Interfaz de red TFTP (Trivial File Transfer Protocol): protocolo sencillo de transferencia de ficheros. DNS (Domain Name Server): para la resolución de nombres. SNMP (Simple Network Management Protocol): protocolo de gestión de red

Los puertos bien conocidos Los puertos < 1024 conocidos como “puertos bien conocidos” (well- known ports) están reservados para servicios estandarizados. Están descritos en el RFC 1700: Assigned Internet Numbers El resto de los puertos está disponible para aplicaciones de usuario de forma temporal, pero también pueden representar servicios que hayan sido registrados por un tercero (rango de puertos registrados: 1024 al 49151). Puertos UDP Puertos TCP 0 Reservado 7 ECHO 13 DAYTIME 37 TIME 42 NAMESERVER 53 DOMAIN 69 TFTP 20 FTP-DATA 21 FTP (control) 23 TELNET 25 SMTP 80 HTTP 995 POP3 sobre SSL

Formato del datagrama UDP Datagrama IP Identifica al proceso destino Identifica al proceso origen (opcional) 7 15 23 31 Puerto origen Puerto destino Longitud mensaje Suma verificación Longitud del datagrama, incluida cabecera (mínimo 8B, por la cabecera) Datos del proceso de aplicación (pe. DNS, SNMP, NFS, RIP, Telefonía, streaming video) (carga útil o payload) Número de puertos=216 (65.536) TSAPs La cabecera UDP consta de 4 campos de los cuales 2 son opcionales (con fondo azul y verde). Los campos de los puertos fuente y destino son campos de 16 bits que identifican el proceso de origen y recepción. Ya que UDP carece de un servidor de estado y el origen UDP no solicita respuestas, el puerto origen es opcional. En caso de no ser utilizado, el puerto origen debe ser puesto a cero. A los campos del puerto destino le sigue un campo obligatorio que indica el tamaño en bytes del datagrama UDP incluidos los datos. El valor mínimo es de 8 bytes. El campo de la cabecera restante es una suma de comprobación de 16 bits que abarca una pseudo-cabecera IP (con las IP origen y destino, el protocolo y la longitud del paquete UDP), la cabecera UDP, los datos y 0's hasta completar un múltiplo de 16. El checksum también es opcional en IPv4, aunque generalmente se utiliza en la práctica (en IPv6 su uso es obligatorio). El mismo algoritmo usado en IP y TCP (opcional). Si no se incluye su valor es cero De 0 a 65527 bytes de datos

Transferencia de datos UDP La transferencia de datos en UDP es simplemente una extensión del servicio de datagramas IP En UDP ni el cliente establece una conexión con el servidor, simplemente envía un datagrama al servidor usando la llamada al sistema, ni el servidor tiene que aceptarla. El servidor simplemente emite una llamada al sistema para recibir datos y espera hasta que llegan los datos de algún cliente. En UDP no existe una secuencia de datos. La entrega de los datos no se puede garantizar y no existe una retransmisión de paquetes perdidos. UDP añade multiplexación al servicio de los datagramas mediante los puertos Los mensajes que envía la aplicación se mapean 1:1 en datagramas UDP y estos en datagramas IP cliente servidor A B Request O:1234 D:5678 0,1k 0,3k O:5678 D:1234 2,5k O:5678 D:1234 Replay 0,5k O:5678 D:1234 O: puerto origen D: puerto destino

El protocolo TDP Características Servicio: orientado a conexión y fiable entre pares de procesos La conexión es Full Duplex y P2P La transferencia se apoya en el envío continuo con buffers para almacenamiento de segmentos pendientes de asentimiento. TCP proporciona control de flujo mediante esos buffers. Los datos de la aplicación son troceados en segmentos. Al transmitir cada segmento se espera un asentimiento. Si no llega en un determinado plazo, se retransmite el segmento. Si el receptor recoge un segmento con checksum inválido, lo rechaza y no envía el asentimiento. Los segmentos TCP se reordenan en recepción, pasándose en orden a la aplicación. TCP descarta los duplicados en recepción y se recupera de las pérdidas. Aplicación SMTP Telnet WWW DNS FTP TCP Internet (IPv4/v6) Trans. Paquetes entre sistemas finales. Direccionamiento IP. Enrutamiento Interfaz de red (o capa de acceso a la red) NIC DRIVER (Enlace) + NIC Físico (Ethernet, FDDI, X.25, FR, ATM, etc.)

Formato del segmento TCP Identifica al proceso origen (opcional) Puerto origen Número de secuencia 15 31 7 23 Puerto destino Número de confirmación Ventana 4 Reserv Banderas (9bits) Suma comprobación Puntero urgente Opciones (variable) Relleno Datos del proceso de aplicación (carga útil o payload) Tamaño mínimo = 536 bytes, Long. Cab Identifica al proceso destino Primer octeto del campo de datos que el receptor del segmento espera recibir. Este acusa recibo de todos los bytes anteriores (si los hay). El número de secuencia se refiere al primer octeto del campo de datos Tamaño de la cabecera en palabras de 32 bits. Lo normal es 5 número máximo de bytes que pueden estar pendientes de asentimiento Para poder añadir características no cubiertas por la cabecera fija. Se utiliza para asegurarse que la cabecera acaba con un tamaño múltiplo de 32 bits. El número de secuencia y el número de confirmación hacen referencia a octetos en lugar de a segmentos completos. Por ejemplo, si un segmento contiene el número de secuencia 1001 e incluye 600 octetos de datos, el número de secuencia se refiere al primer octeto del campo de datos. El segmento siguiente en orden lógico tendrá el número de secuencia 1601. De esta manera, TCP está lógicamente orientado a flujo: acepta un flujo de octetos del usuario, los agrupa en segmentos según vea apropiado y numera cada octeto del flujo. Ventana. Tamaño de ventana o ventana de recepción (16 bits): Tamaño de la ventana de recepción que especifica el número máximo de bytes que pueden ser metidos en el buffer de recepción o dicho de otro modo, el número máximo de bytes pendientes de asentimiento. Es un sistema de control de flujo. Puntero de datos urgentes: indica el final de éstos, ya que el segmento podría contener datos no urgentes. TCP no marca el principio de los datos urgentes, es responsabilidad de la aplicación averiguarlo. Opciones (Variable): un ejemplo lo constituye la opción que especifica la longitud máxima de segmento que será aceptada Tamaño de los datos TCP divide (o agrupa) los mensajes recibidos del nivel de aplicación en TPDUs denominadas segmentos; en el momento de establecer la conexión cada host informa al otro del máximo tamaño de segmento que está dispuesto a aceptar; este como mínimo de 536 bytes, , correspondiente normalmente a un datagrama IP de 576 bytes (por defecto, el tamaño de datagrama IP es de 576 bytes, RFC 791) menos 20 bytes de cabecera IP y 20 de cabecera TCP (la longitud de segmento se refiere a la parte de datos de TCP). ¡Un segmento TCP siempre se transporta en un datagrama IP!

Formato del segmento TCP Banderas (Flags) Indica si el campo de puntero a datos urgentes es válido URG ACK PSH RST SYN FIN El emisor finaliza el envío de datos Banderas o Flags (9 bits): NS (1 bit): ECN-nonce concealment protection. Para proteger frente a paquetes accidentales o maliciosos que se aprovechan del control de congestión para ganar ancho de banda de la red. CWR (1bit): Congestion Window Reduced. El flag se activa por el host emisor para indicar que ha recibido un segmento TCP con el flag ECE activado y ha respondido con el mecanismo de control de congestión. ECE (1 bit): Para dar indicaciones sobre congestión. URG (1 bit): Indica que el campo del puntero urgente es válido. ACK (1 bit): Indica que el campo de asentimiento es válido. Todos lo paquetes enviados después del paquete SYN inicial deben tener activo este flag. PSH (1 bit): Push. El receptor debe pasar los datos a la aplicación tan pronto como sea posible. RST (1 bit): Reset. Reinicia la conexión. SYN (1 bit): Synchronice. Sincroniza los números de secuencia para iniciar la conexión. FIN (1 bit): El emisor finaliza el envío de datos Número de asentimiento es válido. El receptor debe pasar los datos a la aplicación tan pronto como sea posible. Sincroniza los números de secuencia para iniciar la conexión Cortar/reinicializar la conexión.

Servicios de TCP TCP Servicios Flujo forzado de datos Flujo urgente de datos Flujo normal de datos

Establecimiento de la conexión TCP Conexión en tres fases El Three Way Handshake - saludo a tres vías - es un procedimiento de conexión que evita los problemas debidos a duplicados 1) El cliente inicia el establecimiento de una conexión. El número de secuencia (seq) no empieza normalmente en 0, sino en un valor denominado ISN (Initial Sequence Number) elegido al azar El ISN sirve de ‘PIN’ en el saludo a tres vías para asegurar la autenticidad de la comunicación. Supongamos que ISN=100 2) El servidor responde con un mensaje en el que acusa recibo de la petición y le indica al cliente qué número ha elegido él para la comunicación en sentido inverso 3) El cliente envía un tercer mensaje (Número de secuencia seq=100+1) en el que acusa recibo del segundo (ack=300+1) y considera establecida la conexión. Cuando recibe este tercer mensaje el servidor considera establecida la conexión cliente servidor LISTEN A B LISTEN SYNSENT ISN=100 seq:100 SYN:1 SYNRCVD ISN=300 seq:300 SYN&ACK:1 ack:101 ESTAB seq:101 ACK:1 ack:301 La conexión siempre se realiza a iniciativa del cliente, y siempre se lleva a cabo mediante el intercambio de tres mensajes 1. En primer lugar, el host que desea iniciar la conexión ejecuta una primitiva CONNECT especificando la dirección IP y el puerto con el que se desea conectar, el tamaño máximo del segmento que está dispuesto a aceptar y opcionalmente otros datos, como alguna contraseña de usuario. Entonces la primitiva CONNET hace una apertura activa, enviando al otro host un paquete que tiene el bit SYN activado, indicándole también el número de secuencia inicial "x" que usará para enviar sus mensajes. El número de secuencia (seq) no empieza normalmente en 0, sino en un valor denominado ISN (Initial Sequence Number) elegido al azar; el ISN sirve de ‘PIN’ en el saludo a tres vías para asegurar la autenticidad de la comunicación. Supongamos que ISN=100 Nota: los segmentos SYN y FIN se consideran de datos (1 byte), de aquí que seq se incremente. Esto es así porque el estándar sugiere utilizar un contador (ISN) entero incrementado en 1 cada 4 μs aproximadamente. En este caso el contador se da la vuelta (y el ISN reaparece) al cabo de 4 horas 46 min. Se usa para sincronizar los números de secuencia en tres tipos de segmentos: petición de conexión, confirmación de conexión (con ACK activo) y la recepción de la confirmación (con ACK activo). CTL = Control bits in TCP header (URG, ACK, PSH, RST, SYN, FIN)=SYN Normalmente el segmento SYN no lleva datos, pero podría llevarlos. 2. El host receptor recibe el segmento registra el número de secuencia “100" y, si desea abrir la conexión, responde con un acuse de recibo “100 + 1" con el bit SYN activado e incluye su propio número de secuencia inicial “300", dejando entonces abierta la conexión por su extremo. El número de acuse de recibo “100 + 1" significa que el host ha recibido todos los octetos y espera “100 + 1" a continuación. Si no desea establecer la conexión, envía un contestación con el bit RST activado, para que el host en el otro extremo lo sepa. 3. El cliente envía un tercer mensaje (Número de secuencia seq=100+1) en el que acusa recibo del segundo (ack=300+1) y considera establecida la conexión. Cuando recibe este tercer mensaje el servidor considera establecida la conexión ESTAB

Transferencia de datos Entrega ordenada. Numeración de los segmentos Los segmentos, pueden llagar de forma desordenada, para evitarlo TCP numera cada octeto de datos que se transmite Así, si el primer segmento tiene el número de secuencia igual a 1000 y si ese segmento contiene 1000 octetos de datos, entonces el segundo segmento tendría el número de secuencia 2001 y así sucesivamente MSS=1000; Seq:1000; A B MSS=1000; Seq:1500; DATOS seq:1001 1k ack:1501 seq:1501 1k ack:2001 seq:2001 1k ack:2501 seq:3001 1k ack:2501 seq:4001 1k ack:2501 seq:2501 ack:5001

Transferencia de datos Control de flujo mediante ventana Cuando el servicio de red no es fiable se requiere control de flujo La técnica conocida como ventana deslizante permite a TCP mantener, cuidadosamente, un registro de los datos que envía y lo que le sucede No enviados, pero como el receptor está disponible para aceptarlos, el emisor los enviará inmediatamente Números de secuencia de bytes enviados pero no confirmados. Disponibles en el buffer de emisión por si fuera necesario reenviarlos Números de secuencia enviados y reconocidos Números de secuencia de bytes no enviados porque el receptor no está en disposición de aceptarlos Cat1 Cat2 Cat3 Cat4 Memoria intermedia del emisor Recomendable ver el siguiente link: http://www.tcpipguide.com/free/t_TCPSlidingWindowAcknowledgmentSystemForDataTranspo.htm ··· 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 ··· Ventana utilizable: Cantidad de bytes que el emisor aún puede enviar Ventana de emisión= Cat2+Cat3=20 Próximo número de secuencia a enviar Ventana enviada= Cat2

Transferencia de datos Control de flujo mediante ventana Transferencia de datos Control de flujo mediante ventana. Un caso de estudio MSS=1000; Seq:1000; win:4000 MSS=1000; Seq:1500; win:4000 A B El TCP receptor devuelve al TCP emisor, con cada ACK, una ``ventana'', en la que ``anuncia'' el rango de números de secuencia aceptables más allá del último segmento recibido con éxito. Esta ventana especifica el número de octetos, a contar a partir del número del acuse de recibo, que el TCP emisor de la ventana (el receptor de los datos) está en ese momento preparado para recibir y, consecuentemente, que se permite que el emisor transmita antes de que reciba el siguiente permiso. El sistema remitente no puede enviar un número de bytes superior al espacio disponible en el buffer de recepción del sistema receptor Una vez que la aplicación receptora drena los datos del buffer de recepción, el sistema receptor podrá responder con un tamaño de ventana igual a la cantidad de datos leídos. A continuación, el TCP de sistema remitente podrá reanudar el envío de datos. 4k 4k DATOS Buffer de B Buffer de A seq:1001 1k ack:1501 W:4000 4k 1k W:3000 seq:1501 1k ack:2001 W:3000 4k 1k W:3000 seq:2001 1k ack:2501 W:3000 4k 2k seq:3001 1k ack:2501 W:3000 W:2000 4k 3k seq:4001 1k ack:2501 W:3000 W:1000 En TCP el tamaño de ventana indica el número de octetos que pueden ser recibidos y el receptor indica al emisor, en cada trama enviada, qué tamaño de ventana tiene disponible para recibir el siguiente segmento, realizando, de esta manera, el control de flujo. Si se indica un tamaño de ventana 0, el emisor deja de enviar segmentos hasta que recibe otro paquete indicando un tamaño de ventana distinto de 0. Cuando A manda 1000B Seq pasa de 1000 a 1001. O sea no los contabiliza hasta que no recibe ACK. Una vez recibida pasa a 2001, reconociendo el envío. Véase que el reconocimiento anterior van otros 1000B de B. Cuando A procede a enviar otros 1000B a la vez confirma los 1000B anteriores de B y Seq pasa de 1001 y ACK de 1501 a 2501 NOTA: Observe que A después de mandar el 4º segmento, ack (en el segmento enviado por B) pasa de 2501 a 5001 porque confirma los 4k recibidos previamente, pero a la vez detiene la emisión de A con un valor de ventana w=0. 4k W:0 ¡ Buffer lleno! seq:2501 ack:5001 W:0 La aplicación lee 2k Bloqueo 4k 2k seq:2501 ack:5001 W:2000 W:2000

Transferencia de datos Pérdida de segmentos. Retransmisiones B A Emisor Receptor Los errores (tramas dañadas y tramas perdidas), una vez detectados, se recuperan con retransmisiones Cada vez que envía un segmento, el software TCP inicia un temporizador y espera por un acuse de recibo. El ACK no llegará al emisor: Si se pierde el segmento de datos. Se pierde el ACK correspondiente. El checksum no es correcto (se descarta el segmento y se actúa como si se hubiera perdido). En cualquiera de los casos, expirado el temporizador se retransmite el segmento asignado al temporizador consumido. DATOS seq:1001 1k ack:1501 Tiempo de espera de la confirmación seq:1501 ack:2001 Datos perdidos seq:2001 1k ack:1501 Timeout Datos Corruptos DATOS seq:2001 1k ack:1501 Las tramas con errores son descartadas. Es como si se hubiera perdido. =>no hay reconocimiento Petición de repetición automática (ARQ) Los errores (tramas dañadas y tramas perdidas) , una vez detectados, se recuperan con retransmisiones. La solicitud de repetición automática (ARQ) es un método de control de errores para la transmisión de datos que hace uso de códigos de detección de errores, acuse de recibo y / o mensajes de acuse de recibo negativo, y los tiempos de espera para lograr la transmisión de datos fiable. Un acuse de recibo es un mensaje enviado por el receptor para indicar que trama de datos . Pueden ocurrir dos tipos de error. El primero consiste en que la trama que llega al destino puede estar dañada. El receptor detecta este hecho mediante la utilización de técnicas de detección de errores (Checksum) y, simplemente, descartará la trama. Para dar respuesta a esta situación, la estación fuente utiliza un temporizador. De este modo que, tras el envío de una trama, la estación espera la recepción de una confirmación; si no se recibe ninguna confirmación antes de que el temporizador expire, se procederá a reenviar la misma trama. Obsérvese que este método exige que el emisor conserve una copia de la trama transmitida hasta que se reciba la confirmación correspondiente. [William Stallings: Comunicaciones y Redes de Computadores] Con el fin de poder detectar cualquier modificación de los datos durante su transmisión, TCP calcula un Checksum que incluye en la cabecera y que verifica la integridad del segmento. Si un segmento llega con un Checksum no válido, TCP lo descarta, no enviando un reconocimiento de su recepcepción. Puesto que los segmentos TCP se transmiten en forma de datagramas IP, y dado que los datagramas IP pueden llegar desordenados, los segmentos TCP pueden recibirse desordenados. El protocolo TCP receptor reordena los datos, si es necesario, entregándolos a la aplicación en el orden correcto. Timeout DATOS seq:2001 1k ack:1501 seq:1501 ack:3001

Transferencia de datos Pérdida de segmentos. Retroceso n Emisor (A); seq: 1000; win:4000 B Receptor (B); seq:1500; win:4000 A Si se enviaron varios segmentos y se pierde uno se puede hacer dos cosas: Retroceso n : Una vez agotado el temporizador, el emisor retransmite todos los segmentos que se encontraban en el buffer del transmisor a espera de validación, tanto el segmento perdido como los segmentos enviados posteriormente El remitente solo tiene que retransmitir los segmentos que han sido perdidos seq:1001 1k ack:1501 W:4000 seq:1501 ack:2001 W:3000 seq:2001 1k ack:1501 W:4000 seq:3001 1k ack:1501 W:4000 seq:4001 1k ack:1501 W:4000 Segmento descartado En esta técnica, una estación puede enviar una serie de segmentos secuencialmente (hasta) algún valor máximo dado (ventana). Al utilizar la técnica de control de flujo mediante ventana deslizante, el número de segmentos pendientes de confirmar se determina mediante el tamaño de la ventana. Mientras no se produzcan errores, el destino confirmará las tramas recibidas como es habitual . Si la estación destino detecta un error en un segmento, la estación destino descartará ese paquete y todos las que se reciban con posterioridad hasta que dicho segmento llegue correctamente. El emisor A entra en bloqueo porque sabe que la ventana de receptor era 3000, y ya ha enviado 3 segmentos de 1000. seq:1501 ack:3001 W:2000 Time out seq:3001 1k ack:1501 W:4000 seq:4001 1k ack:1501 W:4000 Bloqueo ESTAB

Fin de la conexión TCP Desconexión simétrica en cuatro fases En la terminación simétrica cada host corta la conexión únicamente en el sentido en el que emite datos 1) El cliente, después de haber enviado un FIN , está esperando LA CONFIRMACIÓN . En este estado, el cliente todavía puede recibir datos desde el servidor, pero ya no aceptará los datos de su aplicación local que se envían al servidor 2) El servidor recibe del cliente FIN . Se envía un ACK para reconocer el FIN . El servidor debe esperar a que la aplicación de usarlo se cierre, por lo que la aplicación aquí puede demorarse para terminar lo que está haciendo 3) La confirmación ha llegado y el cliente está esperando el FIN del servidor. En este punto el servidor aún puede mandar datos. El cliente está esperando por el FIN del servidor 4) El servidor envía su FIN al cliente. El número de secuencia no cambia porque no ha habido reconocimiento 5) El cliente espera un período de tiempo igual al doble del tiempo máximo de vida del segmento (Máximum segment life, MSL), después de enviar el ACK cliente servidor ESTAB A B ESTAB FIN-WAIT1 seq:100 FIN:1 CLOSE WAIT seq:300 ACK:1 ack:101 FIN-WAIT2 LAST ACK seq:300 FIN,ACK:1 ack:101 TIME WAIT 2MSL seq:101 ACK:1 ack:301 Una conexión puede terminarse de forma simétrica o asimétrica. La terminación asimétrica es unilateral, es decir uno de los dos hosts decide terminar y termina la conexión en ambos sentidos. En la terminación simétrica cada host corta la conexión únicamente en el sentido en el que emite datos; podemos considerar la terminación simétrica como dos circuitos simplex donde cada uno es controlado por el emisor. La terminación asimétrica se considera anormal y puede provocar la pérdida de información, ya que cuando un host ha enviado la TPDU de desconexión ya no acepta más datos; entretanto el otro host podría haber enviado una TPDU de datos que no será aceptada. El host que toma la iniciativa puede ser el cliente o el servidor. FIN-WAIT-1 El cliente, después de haber enviado un FIN , está esperando LA CONFIRMACIÓN . En este estado, el cliente todavía puede recibir datos desde el servidor, pero ya no aceptará los datos de su aplicación local que se envían al servidor. CLOSE El servidor recibe del cliente FIN . Se envía un ACK para reconocer el FIN . El servidor debe esperar a que la aplicación de usarlo se cierre, por lo que la aplicación aquí puede demorarse para terminar lo que está haciendo. FIN-WAIT-2 La confirmación ha llegado y el cliente está esperando el FIN del servidor. En este punto el servidor aún puede mandar datos. El cliente está esperando por el FIN del servidor. LAST ACK El servidor envía su FIN al cliente. El número de secuencia no cambia porque no ha habido reconocimiento TIME-WAIT El cliente espera un período de tiempo igual al doble del tiempo máximo de vida del segmento (Máximum segment life, MSL), después de enviar el ACK. El MSL es el tiempo máximo de vida de un segmento. Dado que un segmento TCP viaja encapsulado en un datagrama IP, y éste tiene un campo TTL (time-to-live), un segmento TCP también tendrá un tiempo de vida en la red. ¿Por qué el TCP que realiza un cierre (cliente o servidor) activo debe esperar un cierto tiempo?. El cierre de una conexión nunca es una cosa sencilla, ya que los paquetes de cierre pueden perderse y los extremos TCP pueden quedarse en un estado incorrecto. Refiriéndonos a la Figura, una vez que el cliente ha recibido el segmento FIN, pasa al estado TIME_WAIT y envía un segmento de reconocimiento. Puede suceder que ese segmento de reconocimiento se “pierda” y no llegue nunca a su destino. Si así fuera el caso, el servidor volvería a retransmitir el segmento FIN. Por tanto, el cliente espera un tiempo prudencial (2· MSL) de manera que pueda recibir esa retransmisión del segmento FIN si el reconocimiento se ha perdido. RFC 793 especifica MSL como 2 minutos y los sistemas de Windows por defecto a este valor, pero se puede ajustar mediante el TcpTimedWaitDelay configuración del registro. Una vez efectuada la desconexión el host que inició el proceso está un cierto tiempo a la espera por si aparecen segmentos retrasados CLOSED CLOSED Espera TIMEWAIT Espera ACK Cierre de la app Espera FIN

Transferencia de datos Flujo forzado de datos MSS=1000; Seq:1000; win:4000 MSS=1000; Seq:1500; win:4000 A B La activación del flag PSH, permite a la aplicación obligar a la entidad TCP emisora a crear inmediatamente un segmento y a enviarlo. Por su parte, la entidad TCP receptora los pondrá a disposición de la aplicación de inmediato. Para ello, los datos se envían sin esperar a llenar un segmento En la figura: A envía 3 segmentos con 1k de datos y con el flag PSH activado 4k 4k 4k 1k seq:2001 1k ack:1501 W:4000 PSH W:1000 seq:3001 1k ack:1501 W:4000 PSH 4k 2k W:2000 seq:4001 1k ack:1501 W:4000 PSH 4k 3k 4k 1k seq:1501 ack:4001 W:3000 4k seq:1501 ack:5001 W:4000 Los segmentos de confirmación el nº de secuencia porque no ha cambiado, ya que no llevan datos. Cuando TCP recibe datos si no tiene datos que enviar de vuelta no envía el ACK inmediatamente. En vez de eso espera un poco a ver si la aplicación genera datos y de ese modo aprovecha para enviar el ACK con datos (decimos que el ACK va ‘piggybacked’). El tiempo que TCP espera para ver si el ACK puede ir ‘piggybacked’ con datos se conoce como ‘timer de ACK retrasado’. En muchos sistemas ese timer suele ser de unos 200 ms. Si se agota el timer sin que la aplicación haya producido datos se envía un segmento. Este es nuestro caso, por ello se envía un ACK vacío. Además, hay que subrayar el hecho de que se evita confirmar todos los datos recibidos en un solo ack sin datos, para evitar una nueva emisión y así controlar el flujo reduciendo el tráfico. A esta estrategia también contribuye la reducción de ventana. W:2000

9. La capa de aplicación

La capa de aplicación En el modelo TCP / IP, la capa de aplicación contiene los protocolos de aplicación y los métodos utilizados en las comunicaciones de proceso-a- proceso soportadas por los protocolos de Internet TCP/IP de la red informática El modelo TCP / IP no tiene capas de sesión o presentación porque no se consideraron necesarias. En su lugar, las aplicaciones incluyen todas las funciones de sesión y presentación que requieren. Al final, la experiencia ha demostrado este punto de vista es el correcto La capa de aplicación gestiona el intercambio de datos entre procesos según dos modelos: cliente-servidor o peer-to-peer Ver Tanenbaum. El usuario, normalmente, no interactúa directamente con el nivel de aplicación. Suele interactuar con programas que a su vez interactúan con el nivel de aplicación pero ocultando la complejidad subyacente

La capa de aplicación Modelo C/S vs. P2P Los protocolos de aplicación se diseñan conforme a dos modelos: Cliente/servidor (C/S) y de igual-a-igual (P2P) C/S El cliente es diferente del servidor Mayor velocidad de acceso La seguridad es mejor P2P Todos los nodos son iguales Menos seguras Aplicaciones en redes domésticas P C S

La capa de aplicación Protocolos especificados Muchos protocolos de la capa de aplicación de Internet están plenamente especificados el Internet Engineering Task Force en los RFCs y por lo tanto son del dominio público Aplicación SMTP Telnet SMTP RPC WWW DNS FTP SNMP DNS NFS TCP UDP Internet (IPv4/v6) Trans. Paquetes entre sistemas finales. Direccionamiento IP. Enrutamiento Interfaz de red (o capa de acceso a la red) NIC DRIVER (Enlace) + NIC Físico (Ethernet, FDDI, X.25, FR, ATM, etc.)

El modelo C/S Servidor: Cliente: Cualquier programa que ofrece un servicio que se puede obtener por la red Acepta peticiones, realiza el servicio y devuelve el resultado Cliente: Envía peticiones al servidor y espera una respuesta. Interactúa con el usuario Aplicación TCP/UDP Internet (IPv4/v6) Interfaz de red Proceso Cliente Proceso Servidor Petición Respuesta Red IP

El protocolo de transferencia de archivos FTP (File Transfer Protocol) FTP es un protocolo para la transferencia de archivos entre sistemas conectados a una red TCP/IP basado en la arquitectura cliente- servidor Funcionamiento: En FTP se establecen dos conexiones TCP entre el cliente y el proceso servidor… Conexión de Control. La inicia el cliente con el puerto 21 del servidor para el intercambio de mensajes de control. Conexión de Datos: conexión bidireccional sobre la que se transfieren los datos en un modo y tipo especificados. Aplicación TCP Internet (IPv4/v6) Interfaz de red Datos Control Red IP 20 Cliente 21 1027 1021 Interfaz FTP (siglas en inglés de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo. El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos. Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico. FTP admite dos modos de conexión del cliente. Modo Activo (Estándar, PORT): el cliente envía comandos tipo PORT al servidor por el canal de control al establecer la conexión. Modo Pasivo (PASV): en este caso el cliente envía comandos tipo PASV

El sistema de nombres de dominio DNS (Domain Name System). Introducción La red Internet permite el acceso a una ingente cantidad de hosts y, en general, de recursos, la mayoría de los cuales se pueden referenciar mediante un nombre (de dominio) para que los usuarios de Internet no tengan que acceder a cada servicio utilizando la dirección IP Por motivos de eficiencia y simplicidad todos los nombres de la red están organizados de una manera jerárquica, formando un sistema de dominios. Para obtener información asociada a cualquier nombre, se utiliza un servicio que, funcionalmente, es como una base de datos distribuida: se le hacen consultas, que pueden incluir una serie de criterios de selección, y responde con la información solicitada. Para que los usuarios de Internet no tengan que acceder a cada servicio web utilizando la dirección IP, se ha desarrollado el sistema de nombres de dominio Un dominio de Internet es una dirección de red asociada a una máquina o grupo de equipos conectados a la red Internet El nombre de un dominio debe ser único Los servidores DNS (Domain Name Server) son los encargados de traducir los nombres

El sistema de nombres de dominio Jerarquía DNS Un nombre de dominio puede estar formado por una o más cadenas de caracteres (etiquetas) separadas por puntos, y su estructura refleja la estructura jerárquica del Sistema de Nombres de Dominio (abajo indicado). La etiqueta que se encuentra más a la derecha se corresponde con el Dominio de Nivel Superior o TLD y así sucesivamente. Subdominios Second Level Domain (SLD) Top Level Domain (TLD) Raíz “.” com sun Cisco Producto Ventas org edu us jp es Inicialmente, los dominios de nivel superior subordinados directamente a la raíz (TLD :Top Level Domain) se utilizaban para agrupar diferentes tipos de organizaciones: .com Empresas y organizaciones comerciales .edu Universidades y centros educativos .gov Organismos gubernamentales .mil Organizaciones militares. .org Otros tipos de organizaciones Posteriormente han ido añadiendo al nivel superior: Nuevas clases de organizaciones: .net, .int.biz, .info, .name, .pro, .aero, .coop y .museum. Nombre de dominio asignado a cada país: .es (España), .fr, (Francia), .de (Alemania), etc.

El protocolo DNS Funcionamiento etsisi.upm.es Las consultas son mensajes enviados a un servidor de nombres para obtener una respuesta. En Internet, las consultas se transportan en datagramas UDP. La respuesta del servidor de nombres puede ser la respuesta en sí a la consulta, referencias a otro conjunto de servidores de nombres, o algún error. Generalmente, el usuario no realiza las consultas directamente, las envía al resolver y éste envía una o más consultas a los servidores de nombres. A Cab. DNS etsisi.upm.es Query NSLOOKUP Cab. DNS 138.100.152.2 Reply Cab.Html 138.100.152.2 Request Parar conocer una dirección pública: http://www.hcidata.info/host2ip.cgi Si este equipo está detrás de un firewall o utiliza un servidor proxy, el nombre que se muestra será la del ordenador o servidor proxy de servidor de seguridad. Muchos tráfico de Internet ISP ruta a través de un servidor proxy para reducir el tráfico de red. La mayoría de las organizaciones comerciales a proteger su red interna (Intranet) mediante el enrutamiento de todo el tráfico hacia y desde Internet a través de un cortafuegos. Un ordenador servidor de seguridad del servidor proxy a veces se llama una "puerta". El proceso de encontrar la dirección IP se logra mediante la búsqueda en el DNS (Domain Name Server) hasta que el nombre de dominio se encuentra. Este proceso también se conoce como búsqueda de DNS, NSLOOKUP.

Referencias [1] William Stallings: Comunicaciones y Redes de Computadores. (7ª ed 2004). Prentice Hall [2] J Kurose & K Ross: Computer Networking a Top Down Approach (6ª ed 2013) [3] D.Comer: Computer Networks and Internets. (5ª ed). Prentice Hall

Anexo

La caché de ARP Para disminuir el número de difusiones, ARP mantiene una tabla caché de asignaciones de direcciones. Se puede ver la caché de ARP con el comando arp del sistema Para disminuir el número de difusiones, ARP mantiene una caché de asignaciones de direcciones de control de acceso a direcciones de medios de IP para su uso posterior. La caché de ARP puede incluir entradas dinámicas y estáticas. Las entradas dinámicas se agregan y se quitan automáticamente a lo largo del tiempo. Las entradas estáticas permanecen en la caché hasta que se reinicia el equipo. Las entradas dinámicas de la caché de ARP tienen un tiempo de vida posible de 10 minutos. Las nuevas entradas agregadas a la caché se marcan con la fecha y hora. Si una entrada no se vuelve a utilizar antes de 2 minutos desde que se agregó, caduca y se elimina de la caché de ARP. Si se utiliza una entrada, recibe dos minutos más de tiempo de vida. Si se sigue utilizando una entrada, recibe otros dos minutos más hasta un tiempo de vida máximo de 10 minutos. Puede ver la caché de ARP con el comando arp. Para ver la caché ARP, escriba arp -a en el símbolo del sistema. Para ver las opciones de la línea de comandos de arp, escriba arp /? en un símbolo del sistema.

La gestión del direccionamiento público La gestión del espacio público de direcciones de Internet se coordina mundialmente a través de varias organizaciones, siguiendo una estructura jerárquica: ICANN es la que vela a nivel mundial por la gestión de dichos recursos. En Europa es RIPE la RIR encargada de gestionar estas direcciones y, por debajo de ella, están los Registros de Internet Nacionales (NIRs), y locales (LIRs), como RedIRIS en España. ICANN Internet Corp. for Assigned Names & Numbers RIR Regional Internet Registry NIR National Internet Registry LIR Local Internet Registry ISP Internet service provider

Superredes Caso de estudio [y 2] Internet RED1 RED2 RED3 R1 if0 if1 RED2 (60 host) RED1 (15 host) RED2 (60 host) RED1 (15 host) Tabla de rutas simple, dado que los alumnos ignoran todo de los routers Internet

Red Frame relay Internet SUCURSAL: LAN1 SEDE CENTRAL: LAN C 100BaseT SEDE CENTRAL: LAN C 100BaseT RC SUCURSAL: LAN2 S Internet R2 100BaseT

Internet Red Departamento A (138.100.156.0 /23) C Red Troncal (138.100.152.0 /22) if1 if2 Internet R1 if1 if2 R3 D B Red Departamento B (138.100.158.0 /23) if1 if2 100BaseT

Superredes Caso de estudio [y 2] Empresa Proveedor Internet RA RB RC RD Subred 3 140.50.92.0 Subred 2 140.50.88.0 Subred 4 140.50.94.0 Subred 1 140.50.80.0 Subred J 210.10.10.0 Subred I 138.38.0.0 if1 if4 if2 if3 Empresa Proveedor Internet RA RB RC RD Subred 3 140.50.92.0 Subred 2 140.50.88.0 Subred 4 140.50.94.0 Subred 1 140.50.80.0 Subred J 210.10.10.0 Subred I 138.38.0.0 Tabla de rutas simple, dado que los alumnos ignoran todo de los routers

Internet R Subred 1 Subred 7 199.33.22.0 199.33.22.224 Puerto 1 Puerto n Puerto n+1 Internet R Subred 7 199.33.22.224

If2 R3 RED0 RED3 RED2 RED1 RED12 If1 If4 If0 If3 If2 R4 RED13 RED6 RED5 RED4 RED7 If1 If4 If0 If3 192.168.12.0 192.168.13.0 REDA REDB If2 Internet If1 If3 RS IfA R3 R1 IB0 R3 R2 I40 192.168.200.0 If5 If2 R5 RED8 RED9 RED14 If1 If0 192.168.14.0 If0 R6 RED10 RED11 RED15 If1 If2 192.168.15.0

192.168.0.0 If2 R3 RED0 RED3 RED2 RED1 RED12 If1 If4 If0 If3 192.168.4.0 If2 R4 RED13 RED6 RED5 RED4 RED7 If1 If4 If0 If3 192.168.12.0 192.168.13.0 REDA REDB If2 Internet If1 If3 RS IfA R3 R1 IfB R3 R2 I40 192.168.200.0 If5 If2 R5 RED8 RED9 RED14 If1 If0 192.168.14.0 If0 R6 RED10 RED11 RED15 If1 If2 192.168.15.0 192.168.8.0 192.168.10.0

192.168.0.0 192.168.0.0 If2 R3 RED0 RED3 RED2 RED1 RED12 If1 If4 If0 If3 192.168.4.0 If2 R4 RED13 RED6 RED5 RED4 RED7 If1 If4 If0 If3 REDA REDB If2 Internet If1 If3 IfA R3 R1 R3 RS IfB R2 I40 If5 192.168.200.0 If2 R5 RED8 RED9 RED14 If1 If0 If0 R6 RED10 RED11 RED15 If1 If2 192.168.8.0 192.168.10.0

WAN A B CDNS Internet LAN1 LAN2 LAN3 R2 R3 R1 R4 210.10.20.200 210.10.20.201 210.10.20.202 210.10.20.203

WAN A B CDNS Internet LAN1 LAN2 LAN3 1040B 580B R2 R3 R1 500B 580B

A B seq:4000 seq:6000 seq:4000 SYN:1 seq:6000 SYN&ACK:1 ack:4001 PSH seq:6001 1k ack:5001 PSH seq:7001 FIN:1 ack:5001 seq:5001 ACK:1 ack:7002 seq:5001 FIN,ACK:1 ack:7002 seq:7002 ACK:1 ack:5002

WAN2 WAN1 A_PDU Internet B A A B 199.55.44.33 200.10.20.30 LAN1 R3 R2 200.10.20.0 /24 199.55.44.0 /24 A_PDU 199.55.44.1 WAN1 200.10.20.1 R2 130.20.0.128 R3 R1 130.20.0.0 /16 130.20.0.64 R3 Internet

A B seq:4444 seq:6666 seq:4444 SYN:1 seq:6666 SYN&ACK:1 ack:4445 FIN:1 seq:6667 ACK:1 ack:5446 seq:66677 FIN,ACK:1 ack:5446 Seq:5446 ACK:1 Ack:6668

Internet Red Frame relay 198.10.5.16 .18 .19 Red Proveedor .17 RP1 .17 198.10.5.16 Red cliente R3 RP2 S .20 Internet R4 .21

CVP 2 CVP 1 CVP 3 CVP 4 LAN2 LAN_C LAN3 LAN1 LAN4 A A S 100BaseT RC

B PC1 S1 S2 IP:10.0.1.2 Switch IP:10.0.1.3 Internet IP:10.0.1.4 RED B 210.10.20.201 B S1 PC1 RED B S2 RED A if2 if2 R1 R3 R2 if3 if1 if1 RED C IP:10.0.1.2 Switch if1 if1 NAT R3 IP:10.0.1.3 if2 if2 Internet IP:10.0.1.4

B Internet 150.10.11.12 HD2 HG2 RED B RED A RED C RED D RED E RED G 210.10.20.201 B Internet RED B ifB 150.10.11.12 RED A ifA RED C R1 ifC R3 R2 ifC ifD RED D HD2 ifD RED G RED E ifG ifE ifE HG2 R4 R3 ifF RED F

Internet 150.10.11.12 HD2 HG2 RED B RED A RED C RED D RED E RED G 172.10.1.0 ifA .1 ifB .1 150.10.11.12 RED A 172.10.0.0 RED C 172.10.2.0 ifC .2 R1 R3 R2 ifC .1 ifD .1 RED D 172.10.3.0 HD2 ifD .2 ifG .1 ifE .1 ifE .2 RED G 172.10.6.0 RED E 172.10.4.0 HG2 R4 R3 ifF .1 RED F 172.10.5.0

HG2 HD2 seq:2992 SYN:1 seq:4899 SYN&ACK:1 ack: 2993 seq:2993 ACK:1 5B ack:4900 PSH seq:4900 800B ack:2998 PSH seq:5445 ack:6667 FIN:1 seq:2993 ACK:1 ack:5700 seq:6667 ACK:1 ack:5446 seq:5700 FIN:1 ack:2998 seq:29985446 FIN,ACK:1 ack:5701 seq:5701 ACK:1 ack:2999

Sede central Sede delegada Internet FR NAT S1 S2 150.140.130.2 RAL6 if0 NAT if1 if3 R3 R0 R3 if1 200.45.8.3 200.45.8.5 if2 if0 RAL6 S1 RAL1 RALS PC6 S2 if0 R1 R2 if2 1 if1 RAL2 RAL3 RAL4

Sede delegada Sede central Internet FR NAT S1 192.168.16.0/28 S2 150.140.130.2 FR Sede central Sede delegada 192.168.16.0/28 if0 NAT if1 if3 R3 R0 R3 if1 200.45.8.3 200.45.8.5 if2 if0 200.45.8.0/24 RAL6 S1 RAL1 198.16.10.0/26 RALS 198.16.11.0/27 PC6 S2 if0 R1 R2 if2 if1 RAL2 192.16.10.128 RAL3 198.16.10.192 RAL4 192.16.10.64