La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 4 Interconexión de redes mediante TCP/IP

Presentaciones similares


Presentación del tema: "Tema 4 Interconexión de redes mediante TCP/IP"— Transcripción de la presentación:

1 Tema 4 Interconexión de redes mediante TCP/IP

2 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 protocolo ICMP 4.5.El encaminamiento 4.6.Casos de estudio de encaminamiento La capa de transporte La capa de aplicación Bibliografía

3 La red Internet Elementos de Internet Dispositivos de Internet
1. Introducción La red Internet Elementos de Internet Dispositivos de Internet

4 La red Internet La red Internet es un compendio de redes diferentes que comparten una pila de protocolos comunes que facilitan 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 FR FR PPP PPP FO FO FO FO FO FO FO FO FO FO 4G 4G

5 La red Internet Estructura
A nivel de red, Internet puede definirse como un conjunto de redes conectadas 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 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. ISP de nivel 3 ISP local ISP local ISP local ISP local ISP: Internet Service Provider NSP: Network Service Provider G: Gateway BB: Backbone

6 La red Internet Servicio Best effort
Las redes IP son redes de datagramas, no 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 de USA

7 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, ...

8 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

9 2. La arquitectura TCP/IP
Introducción a TCP/IP Arquitectura TCP/IP vs OSI Arquitectura TCP/IP. Encapsulación Capas propias del host: Aplicación y transporte Capas de red: IP e interfaz de red

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

11 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

12 Arquitectura TCP/IP Encapsulación
Aplicación TCP( ó UDP) IP Interfaz de red ApX Aplicación TCP( ó UDP) IP Interfaz de red ApY 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

13 Arquitectura TCP/IP Capas propias del 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) La RFC 871 define un host como “a general-purpose computer system connected to a communications network” con "... the purpose of achieving resource sharing amongst the participating operating systems..."

14 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

15 3. La capa interfaz de red La interfaz de red IP sobre Ethernet
El problema de la resolución de las direcciones IP Resolución de las direcciones IP El protocolo ARP

16 La 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. La Interfaz de red es un módulo periférico (placa de red) que actúa como interfaz de conexión entre un computador (host) y la red Cada interfaz de red tiene una dirección IP única Interfaz de red Host Dirver Pila TCP/IP NIC Conmutador Según la RFC 1122: Physical network interface This is a physical interface to a connected network and has a (possibly unique) link-layer address. Multiple physical network interfaces on a single host may share the same link-layer address, but the address must be unique for different hosts on the same physical network.

17 Interfaz de red Ejemplo con Ethernet
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

18 IP sobre Ethernet Las tarjetas de red Ethernet tienen una dirección MAC única alojada en el HW 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 MAC es también nombrada como una dirección hardware o física MAC: Media Access Control

19 El problema de la resolución de las 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 ( ) ¿Cuál es la dirección MAC de ? A B C 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

20 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

21 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 (ARP request) en el que se escribe lo que sabemos y lo que queremos saber y se manda a la dirección MAC FF:FF:FF:FF:FF:FF (broadcast) Sólo responde el que reconozca su dirección IP en el target, y lo hace con un paquete ARP response 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

22 El protocolo ARP Como se ha visto, en una LAN hace falta un mecanismo que permita descubrir a qué dirección MAC corresponde la dirección IP del paquete a entregar El protocolo ARP es ese mecanismo, permitiendo 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 ( ) 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. A B C Caché ARP Rq ARP Rq ARP Rp

23 El protocolo ARP Formato
ARP es un protocolo de nivel de red muy sencillo en el que solamente existen dos PDUs (Packet data unit): ARP Request y ARP Reply. 6 46….1500 4 8 Destino FF:FF:FF:FF:FF:FF Origen Tip: 0806h CRC Datos (ARP rq o ARP rp) Preámbulo Trama Ethernet Operation (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

24 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 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.

25 4. 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

26 4.1. Direccionamiento IPv4 El esquema de direccionamiento IP
Direccionamiento IP con clase Direccionamiento IP sin clase Subredes. Caso de estudio El subneteo de tamaño variable (VLSM) Agregación de rutas Superredes. Caso de estudio Direcciones IP privadas NAT (Network Address Translation)

27 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 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 situados en la cabecera IP contienen cada uno una dirección internet global de 32 bits Ver Comer en su libro Computer Networks and Internets.

28 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) Prefijo Sufijo Notación punto decimal IPv4 permite 232 = direcciones Población mundial en 2015 = millones

29 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 las diferentes dimensiones de red Este tipo de direccionamiento recibió el nombre de classful addressing Clase A 27=128 Redes; 224= Host Clase B 214= Redes; 216= 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= Redes; 256 Host

30 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 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 Direcciones

31 Direccionamiento IP con clase Rangos de direcciones. Clase A
Desde Hasta Redes Host 0 . 127 . 255 . 255 128 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 se dedica para dirección de encaminamiento por defecto El rango de a está reservado para direcciones de loopback o de circuito cerrado (a uno mismo) El rango a es para uso privado 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.

32 Direccionamiento IP con clase Rangos de direcciones. Clase B
Desde Hasta Redes Host 128 . 0 . 191 . 255 . 255 16.384 65.534 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 Las siguientes direcciones son para uso privado /16 /12

33 Direccionamiento IP con clase Rangos de direcciones. Clase C
Desde Hasta Redes Host 192 . 0 . 223 . 255 . 255 254 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: /24 reservada para el Registro de Direcciones IPv4 de IANA /15 que se utiliza para la prueba de las comunicaciones entre dos subredes independientes El rango /16 es para uso privado

34 Direccionamiento IP con clase Rangos de direcciones. Resumen

35 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

36 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 . 153 . Máscara 255 . Nuevo Prefijo CIDR 140 252 152 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

37 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 de unos de la máscara. / 26 Se especifica una máscara de 26 bits, esto es: Direccionamiento sin clase y direccionamiento CIDR significa lo mismo [3] D.Comer. Computer Networks and Internets

38 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 Los routers constituyen los límites entre las subredes Para crear subredes se define una máscara en la que están a 1 los bits de la red-subred (prefijo extendido), y a 0 los del host Las subredes mejoran la asignación de direcciones y el encaminamiento 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

39 Subredes Caso de estudio [1]
Subneteo de una clase B en 4 subredes de direcciones  Red original Máscara por defecto 2 Bits de subneteo: los de peso 15 y 14 Nueva Máscara: /18 ( ) subred.0: identifica a cada subred. En este caso subred=0, 64, 128 y 192 Bits de subred Nuevo Prefijo 1 147. 156. 0. Sufijo host 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 host Subred ID: 01 1 147. 156. 64. host Subred ID: 10 1 147. 156. 128. 1 147. 156. 192. host Subred ID: 11

40 Subredes Caso de estudio [y 2]
Internet Internet 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 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.

41 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 estas 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.

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

43 El subneteo de tamaño variable Caso de estudio [y 2]
Internet Internet Subneteo /18 /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 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. /18 /19 /19

44 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.

45 Superredes Caso de estudio [1]
Prefijo por defecto Agrupación de 4 redes de clase C en una superred de 1024 direcciones Máscara por defecto de las redes de clase C: 2 Bits de superred: los de peso 9 y 10 Nueva Máscara: /22 ( ) 254 hosts 1 220. 78. 168. 254 hosts 1 220. 78. 169. Nuevo prefijo 254 hosts 1 220. 78. 170. 254 hosts 1 220. 78. 171. Supernet ID 1 220. 78. 168. 1022 host

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

47 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;

48 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 Internet NAT Red privada Direcciones IP privadas

49 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: DE: Dat OR: OR: DE: DE: 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, , a la dirección IP pública del cliente, (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 , 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

50 4.2. Direccionamiento IPv6 IPv6. Motivaciones IPv6. Direccionamiento
IPv6. Asignación IPv6. Notación IPv6. Tipos de Direccionamiento

51 IPv6 Motivaciones Razones que justifican IPv6
Agotamiento de las direcciones IPv4 (solo 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)

52 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) 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

53 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 Véase y rfc7249 Registro ISP Cliente LAN

54 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

55 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 :0DB : : : :B3FF :FE1E :8329 :0DB8 ::B3FF :FE1E :8329 Formato colapsado Formato global :0DB :AC :FE1E : : : : 0000 :0DB :AC :FE1E :: Formato colapsado :

56 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

57 El nivel IP Las funciones de la capa IP El datagrama IPv4

58 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

59 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

60 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 útil (datos: protocolo superior encapsulado) Su tamaño puede variar desde 20 hasta 64K octetos Hasta 64kB Cabecera Datos (Carga útil o payload) 20B

61 El datagrama IPv4 [2] Formato de la cabecera
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 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 octetos En caso de fragmentación: Identificador único del datagrama 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 En paquetes fragmentados indica la posición, en unidades de 64 bits (8 B), que ocupa el paquete actual dentro del datagrama original Banderas relativas a la fragmentación de paquetes 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). Parámetros sobre la calidad de servicio (QoS) Registro de Ruta: Mediante el uso de esta Opción se puede registrar el itinerario de un datagrama. Los Datos de Opción consisten en un puntero (un octeto) y un espacio relleno de ceros que contendrá la Ruta Registrada para el paquete. Cuando un nodo recibe un paquete en el que está presente esta opción, escribirá su dirección IP en la posición indicada por el puntero, siempre que ésta sea menor que el Tamaño de Opción, e incrementará el puntero en 4. Es preciso que el espacio reservado para la Ruta Registrada tenga una longitud múltiplo de 4; si al intentar grabar su dirección un nodo detecta que existe espacio libre pero es menor de 4 octetos, el paquete no se reenvía (se pierde) y se notifica el error, mediante ICMP, al originador del datagrama. Esta Opción no se copia en caso de fragmentación, y sólo puede aparecer una vez en un paquete.

62 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. Tipo de servicio: 6 bits (+2 bits que no se usan), en este campo se pensaba recoger la prioridad del paquete y el tipo de servicio deseado, pero los routers no hacen mucho caso de esto y en la práctica no se utiliza. Los tipos de servicios posibles son:D (Delay): menor retardo, por ejemplo: para audio o vídeo. T (Throughput): mayor velocidad, por ejemplo: para envío de ficheros grandes. R (Reliability): mayor fiabilidad, para evitar (en la medida de lo posible) los reenvíos.

63 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 DF MF 16 Don´t fragment: Se puede fragmentar (0) No se puede fragmentar (1) Reservado: Debe ser cero 17 18 More fragments: Indicación de que es el último fragmento l (0) Indicación de que hay mas fragmentos (1)

64 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 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

65 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

66 El datagrama IPv4 [7] Ejemplo de fragmentación
Oftset MF DATOS Bytes 1 2 Paquete de B (Hay que sumar la cabecera IP de 20 B) 3 Fragmento 1. Bytes de datos: 4 Oftset MF 1 DATOS 3.280 Bytes Fragmento 2. Bytes de datos: 11.980B Oftset MF 410 1 DATOS 3.280 Bytes 4 3 2 1 MTU=3.300 Fragmento 3 Bytes de datos: Oftset MF 820 1 DATOS 3.280 Bytes Fragmento 4. Bytes de datos: 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

67 4.4. El Protocolo ICMP Protocolo de mensajes de control de Internet
Tipos de mensajes Formato Mensajes de error Mensajes de diagnóstico

68 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

69 Protocolo de mensajes de control de Internet Tipos de mensajes
Mensajes de error (ICMP reporting) Error en la transmisión de un datagrama 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 (tipo 8 y 0 ) Trazado de ruta Traceroute (tipo 30)

70 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 0, 8 y 30 Tipo Código Checksum 8 16 31 No usado 8B Cab.IP+64 bits datagrama original Mensaje de error Tipo 3, 4, 5 y 11

71 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 emitir 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

72 Mensajes ICMP Mensajes de error [2]
Time exceeded for datagram (tipo 11) Aviso de un descarte por exceso de tiempo en el sistema (TTL=0). 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 (Tipo 5) 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

73 Mensajes ICMP Mensajes de diagnóstico. 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 Comprueba que la comunicación entre emisor y receptor es posible No hay respuesta Echo rq (tipo 8) Echo rp (tipo 0)

74 Mensajes ICMP Mensajes de diagnóstico. Traceroute
Traceroute (tipo 30) Nos dice la ruta seguida por los datagramas en una conexión. Para lograr esto, se envían 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 “traza completa” Echo rq (TTL=1) Time exceeded Echo rq (TTL=2) Echo rq (TTL=3) ICMP tipo 11 mensaje espontáneo de error: tiempo excedido

75 4.5. Encaminamiento El encaminamiento IP Concepto de ruta
La tabla de encaminamiento Transmisión directa de datagramas Transmisión indirecta de datagramas Tabla de rutas del host Tabla de encaminamiento del router

76 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

77 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

78 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 subred). 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 routers Se establecen salto a salto destino Ruta router origen 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

79 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 (Next hop). Tanto los dispositivos finales (host) 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 Ver Stallings D NS 1 2 3 D NS 1 2 4 4 3 Datos D:3 O:1 Nota: D es el destino y NS el nodo siguiente

80 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

81 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

82 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 tiene un puerto conectado a la LAN que está el host. Entrada: Identificador de la red de destino Tabla de rutas del host 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 Destino Máscara Gateway Interface * eth0 Default Campo adicional que indica qué interfaz local lleva a la puerta de enlace (next hop) Entrada: por defecto R En el caso de la figura tenemos una dirección pública de red de clase B. Esta se ha dividido en 56 subredes mediante la máscara Las subredes resultantes son: Que va desde hasta ……………………………………………………………………… La subred 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 ) debe ser entregado al correspondiente host local a través del interface de red eth0. La interfaz loopback tiene la mascara ya que su dirección es 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 X Y eth0 /22 Subred N2 Datos 1.Esto se sabe gracias a la máscara Eth0: es un identificador lógico

83 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 Se obtiene con el comando del sistema netstat -r 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   (llamado "localhost") de lo que sería a través de   (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 con la máscara de red de 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 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 , 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 y su nombre localhost. La mayor parte del sw tcp/ip configuran por defecto esta interfaz.

84 El encaminamiento IP Tabla de encaminamiento del router [1]
Una tabla de encaminamiento es un archivo de datos, residente 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 eth0 10 IP(eth1) 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 rutas. ¿Tiene sentido mantener la información de esas 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. X Y eth0 /22 Internet

85 El encaminamiento IP Tabla de encaminamiento del router [2]
El host origen sabe que 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 eth0 10 eth1 R eth0 eth1 X Y X /22 /22 Datos Datos

86 4.6. Casos de estudio de encaminamiento
LANs directamente conectadas LANs indirectamente conectadas LANs conectadas por una línea serie Encaminamiento en una topología en estrella Encaminamiento hacia Internet Conexión de un host a múltiples redes

87 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 /16 IP: Gw: LAN B /24 IP: Gw: β α LAN C /24 γ 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 , y , 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 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 ) 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 – lo enviará por su interfaz  (la dirección , 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 – y – , 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 α β γ

88 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 /24 LAN C /24 LAN B /24 Gw: X Y Gw: Destino Gateway Destino Gateway 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

89 Encaminamiento indirecto externo LANs conectadas por una línea serie
Se asigna un 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 /16 Red privada /24 LAN B /24 X Gw: Y Gw: Destino Gateway 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 – 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 , que corresponde a la interfaz serie de Y. X ya sabe como legar a la dirección , pues al tener su interfaz serie el número 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 Nota: En la tablas de los routers solo se ha expresados las rutas indirectas externas

90 Encaminamiento en una topología en estrella Rutas por defecto
LAN B /24 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 encaminar .2 Y Destino Gateway /24 LAN A /16 LAN C /24 .1 .1 /24 X .2 Z .1 Destino Gateway ruta por defecto Destino Gateway /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 , inexistente. Dicha ruta se entiende, que se debe utilizar para todos los datagramas, excepto los dirigidos a las redes directamente conectadas. .2 LAN D /24 W Destino Gateway ruta por defecto Nota: En la tablas de los routers solo se ha expresados las rutas indirectas externas

91 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 Gw: Destino Gateway .1 X /24 .1 /24 PROVEEDOR (ISP) .2 Destino Gateway INTERNET .2 /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 y la sucursal la clase C 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 /16 Destino Gateway ****** ******* Gw:

92 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 LAN B /24 LAN A /24 LAN C /24 X Y Destino Gateway 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 ; si utiliza la dirección 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 W Host multihomed Nota: En la tabla de los routers solo se han expresado las rutas indirectas externas

93 5. La capa de transporte Introducción Transferencia de datos UDP
TCP vs. UDP El protocolo TCP. Características SAP de transporte y de red El protocolo UDP. Encapsulado Formato del segmento TCP Servicios de TCP Características Establecimiento de la conexión TCP Transferencia de datos Los puertos bien conocidos Formato del datagrama UDP

94 La capa de transporte Introducción
El protocolo de transporte provee la comunicación lógica entre programas/procesos de aplicación que se ejecutan en diferentes host La información de transporte 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 (los datagramas IP) se encamina independientemente por la red: puede llegar a su destino por caminos diferentes y en diferente orden en al que se generaron. En recepción, todos los elementos de información (los datagramas IP) se reordenan para reconstruir la información de transporte (segmentos o datagramas UDP) 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.)

95 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

96 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 Cada puerto del Nivel de Transporte ofrece a las aplicaciones un interfaz de acceso a la red de comunicaciones, permitiéndole dialogar con otra aplicación situada en otro puerto en una máquina remota Sistema X Sistema Y ApX ApY 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)

97 Puntos de acceso al servicio de transporte y de red TSAP y NSAP
Protocolo de transporte Sistema X Sistema Y ApX Internet Interfaz de red NSAP TSAP

98 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

99 El protocolo UDP Características
Servicio sencillo, CLNS, no fiable No necesita preestablecer la comunicación antes de enviar los datos La transmisión puede ser P2P y MP1 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 UDP 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 MP: Multipunto; también llamada multicasting

100 Los puertos bien conocidos
Los puertos < 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

101 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 bytes de datos

102 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 a continuación, 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

103 El protocolo TCP Características
El protocolo TCP ofrece un 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 y se integran en PDUs llamadas 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.)

104 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 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!

105 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. No se usa hoy en día. Simandan los datos en un canal separado para la aplicación que puede procesar los datos fuera de banda. 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.

106 Servicios de TCP TCP Servicios Flujo forzado de datos
Flujo urgente de datos Flujo normal de datos Datos urgentes.". Esto hace que TCP reenvie los datos urgentes en un canal separado a la aplicación. Esto permite a la aplicación procesar los datos fuera de banda.

107 Establecimiento de la conexión TCP Conexión en tres fases
Seq:100 Seq:300 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 activando el flag SYN. 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 seq ha elegido él para la comunicación en sentido inverso. En este caso es 300 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 4) Todos los paquetes después del SYN tienen activo el flag ACK Estado cliente servidor Estado 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 “ " 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 “ " significa que el host ha recibido todos los octetos y espera “ " 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

108 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 de 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: ··· ··· 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

109 Transferencia de datos Números de secuencia
El cliente TCP, a cada lado de una sesión TCP, mantiene un número de secuencia que utiliza para realizar un seguimiento de la cantidad de datos que ha enviado. Este número de secuencia se incluye en cada paquete transmitido, y es reconocido por el host contrario como un número de confirmación para informar al host remitente de que los datos transmitidos se han recibido correctamente. B A Números de secuencia de bytes enviados pero no confirmados. Disponibles en el buffer de emisión por si fuera necesario reenviarlos seq:32 Números de secuencia enviados y reconocidos DATOS seq:32 14B ack:xxx Cat1 Cat2 Cat3 ··· Próximo número de secuencia a enviar seq:xxx ack:46 seq:46 Ventana utilizable: Cantidad de bytes que el emisor aún puede enviar

110 Transferencia de datos Números de secuencia. Caso de estudio: HTTP
Seq:1 Seq:1 Segmento # 4 Este segmento lleva una solicitud HTTP (725B. El número es 1, ya que no hay datos. El número de reconocimiento también es 1, ya que tampoco se han recibido datos desde el servidor. Segmento # 5 El Segmento es enviado desde el servidor exclusivamente para reconocer los datos enviados por el cliente en el paquete # 4. Mientras las capas superiores procesar la petición HTTP. Observe que el número de acuse de recibo se ha incrementado en 725 (la longitud de la carga útil en el paquete # 4) a 726. El número de secuencia del servidor permanece en 1. Segmento # 6 Este segmento marca el inicio de la respuesta HTTP del servidor. Su número de secuencia es igual: 1, ya que ninguno de sus paquetes anteriores a éste han llevado a una carga útil. Sin embargo, este segmento lleva una carga útil de bytes. Segmento # 7 El número de secuencia del cliente se ha aumentado a 726 por el último segmento que envió y que ya se confirmó. Habiendo recibido 1448 bytes de datos desde el servidor, el cliente aumenta su número de reconocimiento a El ciclo se repite. El número de secuencia del cliente se mantendrá estable en 726, ya que no tiene datos para transmitir más allá de la petición inicial de 725 bytes. En cambio, el número de secuencia del servidor continuará creciendo ya que envía más segmentos de la respuesta HTTP. B A #4 DATOS seq:1 725B ack:1 #5 seq:1 Ack:726 #6 DATOS seq:1 1448B ack:726 #7 seq:726 Ack:1449 #8 DATOS seq:1449 1448B ack:726 #9 seq:726 Ack:2897

111 Transferencia de datos Control de flujo mediante ventana
Transferencia de datos Control de flujo mediante ventana. Un caso de estudio MSS=1000; Seq:1001; win:4000 MSS=1000; Seq:1501; 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 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

112 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

113 Transferencia de datos Pérdida de segmentos. Retroceso n
Emisor (A); seq: 1001; win:4000 B Receptor (B); seq:1501; 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

114 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, para llevar su PDU, 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

115 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-WAIT 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

116 6. La capa de aplicación Introducción Modelo C/S vs. P2P El modelo C/S
El protocolo de transferencia de archivos El sistema de nombres de dominio Jerarquía DNS Funcionamiento de DNS

117 La capa de aplicación Introducció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

118 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

119 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.)

120 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

121 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

122 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

123 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.

124 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 Reply Cab.Html Request Parar conocer una dirección pública: 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.

125 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


Descargar ppt "Tema 4 Interconexión de redes mediante TCP/IP"

Presentaciones similares


Anuncios Google