Teleinformática y Redes

Tema 4: TCP/IP

Tema 4 (TyR). TCP/IP

Num. 2

Contenido

Introducción Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicación

1

Tema 4 (TyR). TCP/IP

Num. 3

Introducción

TCP/IP constituye el armazón sobre el que se sitúa Internet. El conjunto de protocolos TCP/IP permiten la comunicación entre diferentes máquinas independiente de la tecnología:
Diferentes sistemas operativos distintos. Diferentes tipos de máquinas. Diferentes tipos de red

Su desarrollo comenzó a finales de los 60, como proyecto financiado por el Gobierno de los Estados Unidos. Auténtico sistema abierto: Los protocolos y sus implementaciones están disponibles públicamente.

Tema 4 (TyR). TCP/IP

Num. 4

Introducción

2

Tema 4 (TyR). TCP/IP

Num. 5

Un poco de historia

1968 Comienza ARPANET. 1971 Diseño de TCP/IP. 1980 DARPA genera Berkeley Unix con TCP/IP. 1984 Se pone en marcha DNS (Servicio de Nombres). 1989 Internet pasa de 100000 nodos. Aparece WWW. 1989 Aparece ATM a 150 Mbps. 1993 NCSA Mosaic (navegador Web) 1996 12.881.000 ordenadores

Tema 4 (TyR). TCP/IP

Num. 6

Componentes

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

3

Tema 4 (TyR). TCP/IP

Num. 7

Dispositivos
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

Varios interfaces de red. Aíslan redes o subredes Unidireccionales: No dejan “entrar”.

Tema 4 (TyR). TCP/IP

Num. 8

Contenido

Introducción Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicación

4

Tema 4 (TyR). TCP/IP

Num. 9

Arquitectura TCP/IP

No se ajusta al modelo de referencia OSI.

Aplicación
MENSAJES O CADENAS

Transporte
SEGMENTOS

Internet
DATAGRAMAS

Interfaz de Red
TRAMAS

Red física

Tema 4 (TyR). TCP/IP

Num. 10

Arquitectura TCP/IP (cont.)
Interfaz

de red

Adapta a la tecnología específica sobre la que se sustenta la internet. (Ethernet, PPP,...) “DRIVER” Funciones de Nivel Físico y Enlace. Nivel

de internet

Protocolo IP. No fiable y no orientado a conexión. Encaminamiento y Fragmentación . Comunica errores (con ICMP)

5

Principal inconveniente: su tremenda complejidad.Tema 4 (TyR). TCP/IP Num. Tema 4 (TyR). TCP (Transport Control Protocol): Orientado a conexión. TELNET. 12 Contenido Introducción Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicación 6 . Nivel de aplicación FTP..) Nivel de transporte: Protocolos Extremo a Extremo.. TCP/IP Num. 11 Arquitectura TCP/IP (cont. No orientado a la conexión. UDP (User Datagram Protocol): Más sencillo que TCP. WWW .

1188. TCP/IP Num. Módulo de SW que realiza la adaptación a la red física.x SLIP FDDI PPP HIPPI Frame Relay PPP/X.1663 1374 1490 1598 1618 1619 1626 Año 1983 1984 1988 1988 1990 1990 1992 1993 1994 1994 1994 1994 7 .25 PPP (Point to Point Protocol) : Protocolo “estándar” de Internet para el transporte de datagramas IP sobre líneas serie. TCP/IP Num.25 Ethernet 802.25 PPP/RDSI PPP/SONET ATM RFCs 877 894 1042 1055 1103. 13 Interfaz de red El uso de IP hace necesario implantar niveles intermedios entre el propio IP y las subredes sobre las que descansa. Cada interfaz de red tiene una dirección IP única.….1390 1171.Tema 4 (TyR). Tema 4 (TyR). Ejemplos : IP sobre Ethernet IP sobre X. 14 Interfaz de red Medios de transporte más habituales : Medio X.

• Una estación ejecutando otro protocolo dará las tramas anteriores como inválidas. 8 . • Se construye la trama ethernet: Tema 4 (TyR). 16 IP sobre Ethernet • Las tarjetas de red Ethernet tienen una dirección de red asignada.Tema 4 (TyR). TCP/IP Num. TCP/IP Num. • 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(Adress Resolution Protocol) • Una máquina “escuchando la red” y ejecutando una aplicación TCP/IP comprobará si el campo L/T es 0800H o 0806H. 15 IP sobre Ethernet • Se genera el datagrama IP con su correspondiente cabecera. Esta dirección se utiliza en el campo de dirección Origen/Destino de la trama Ethernet.

en previsión de usos futuros. Sólo “D” contestará enviando a A un paquete ARP indicando su dirección IP y su dirección Ethernet. TCP/IP Num. 17 ARP (Address Resolution Protocol) En una LAN broadcast hace falta un mecanismo que permita descubrir a que dirección MAC corresponde la dirección IP del paquete a entregar. Supongamos la siguiente situación: 9 . Las direcciones resueltas vía ARP se mantienen un cierto tiempo en caché. Permite la configuración automática de correspondencias dirección MAC-dirección IP. Funcionamiento: A difunde una trama preguntando por la dirección Ethernet cuya dirección IP es D.Tema 4 (TyR). TCP/IP Num. Tema 4 (TyR). 18 IP sobre X.25 El cambio más importante viene obligado por ser X.25 orientado a conexión.

o incluso SONET/SDH. Además comprende el protocolo NCP (Network Control Protocol) que permite negociar el uso de diversos protocolos a nivel de red.25 Transmisión desde el equipo conectado a X. b) Una vez enviado un datagrama el circuito queda establecido para otros envíos.25 exige abrir un circuito virtual con el router (Esto se sabrá a partir de lo indicado en la cabecera IP). Puede funcionar de forma síncrona y asíncrona. TCP/IP Num. Se suele utilizar principalmente sobre RTC (analógico y RDSI). permite transportar diversos protocolos a nivel de red. TCP/IP Num.25 hasta el conectado al router: a) X. líneas dedicadas. Puede utilizarse sobre medios físicos muy diversos :conexiones RTC.Tema 4 (TyR). En el caso de IP el NCP permite asignar la dirección de forma dinámica. Incluye el protocolo LCP (Link Control Protocol). que se ocupa de negociar una serie de parámetros en el momento de establecer la conexión con el sistema remoto. c) Transcurrido un tiempo sin envíos el circuito se Tema 4 (TyR). 10 . 19 IP sobre X. Es multiprotocolo. 20 PPP (Point to Point Protocol) Es un estándar Internet para transporte de datagramas IP por línea serie.

TCP/IP Num. 11 . • Esta clase de direcciones permite tener muchos sistemas conectados en una única subred. TCP/IP Num. el más significativo.000 millones de direcciones diferentes. va a cero indicando dirección de tipo A. Su longitud es de 32 bits lo que teóricamente permite la utilización de 4. Clase A 0 RED HOST 7 15 23 31 • El primer bit.Tema 4 (TyR). 22 Direcciones IP Cada interfaz físico conectado a Internet tiene asignada una dirección IP única. 21 Contenido Introducción Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicación Tema 4 (TyR).

TCP/IP Num.1 12 . por separado.Tema 4 (TyR).59 Clase C: 192.2. Notación punto. 24 Tipos básicos de direcciones IP • Clase D: para direcciones de multicast o multidestino (un mismo datagrama a un grupo de equipos previamente definidos).3 Clase B: 138.4.16.1. Esta clase de direcciones está pensada para subredes pequeñas con pocos equipos Tema 4 (TyR).192. 23 Tipos básicos de direcciones IP RED HOST Clase B 0 7 15 23 31 El primer bit ha de ir a ´1´ y el segundo a ´0´. TCP/IP Num. cada octeto a decimal. Las direcciones multicast han de comenzar con los bits ´1110´. Clase C 0 7 RED HOST 15 23 31 Los tres bits más significativos deben ser ´110´. Clase E: reservada para posibles usos futuros. Algunos ejemplos son: • • • • Clase A: 10. Consiste en traducir.3.

255.200.200.4. en España el NIC es administrado por RedIRIS. TCP/IP Num. Un mensaje enviado a esta dirección llegaría a todos los sistemas conectados a la subred 138. TCP/IP Num. Un ejemplo: 127.1 255.255: Difusión completa Subred: Para enviar un datagrama a todos los sistemas de una subred se emplea la dirección de broadcast.Tema 4 (TyR). Broadcast: Un ejemplo: 138. disponemos pues de 254 direcciones para hosts (no 256).200.255 indica envío broadcast a toda la red. 25 Tipos básicos de direcciones IP Clase A B C D E Primeros bits 0--10-1101110 1111 Bits red/host 7/24 14/16 21/8 Nº redes 126 16384 2M Nº hosts 16M 65534 254 Rango 1-127 128-191 192-223 224-239 240-255 • Sabido el primer byte de una dirección puede saberse su tipo.200. 13 .0. y la dirección 200.0-255 (clase C) la dirección 200.200.0.0 denota la red misma. Tema 4 (TyR).200. • La asignación de direcciones Internet la realizan los NICs (NIC = Network Information Center).0.0 Ejemplo: en la red 200.4.255. 26 Direcciones singulares Loopback: A uno mismo.255.255.

1.Tema 4 (TyR).0 140 252 1 1 255 255 255 0 140 252 RED 1 1 HOST 14 .252.255.1 Máscara: 255.0 255.0 El administrador de la red puede asignar otras para generar subredes Tema 4 (TyR). poniendo a 1 los bits de la parte red y a 0 los de la parte host.255. TCP/IP Num. RED HOST Dirección IP: 140.0.255.0. 28 Máscaras de RED Para indicar qué parte de una dirección es red y qué parte host se utiliza una notación denominada máscara.0 255.255. 27 Máscaras de RED Se utiliza en el algoritmo de encaminamiento de las máquinas MASCARAS DE RED POR DEFECTO CLASE A CLASE B CLASE C 255.255.0. TCP/IP Num.

RED HOST 138 100 56 SUBRED 1 Tema 4 (TyR).252. 15 .0: identifica a cada subred 156.255.0.134.0. por ejemplo la máscara 255. 16 de la clase B mas 8 de la subred).255: dirección broadcast de cada subred.0 256 subredes: 156.Tema 4 (TyR).0 reserva 6 bits para la subred y deja 10 para el host (64 redes de 1024 hosts).134.134.255.255. 30 Subredes (cont.subred.subred.134.255.host (subred = 0-255) 156. máscara 255. TCP/IP Num. Ejemplo: Red 156. y a cero los del host.) Por ejemplo una clase B con la máscara 255. TCP/IP Num.0 se divide en 256 subredes de 256 direcciones (tiene a 1 los primeros 24 bits.255.subred. Se pueden hacer divisiones que no correspondan con bytes enteros. 29 Subredes Una red se puede dividir en múltiples subredes tomando bits de la parte de HOST Para crear subredes se define una máscara en la que están a 1 los bits de la red-subred.

0 – 147.0 – 147.0.255 147.156.0.192.128.156.0 – 147.156.64.156. 255 .0 Máscara 255. TCP/IP Num. 0 Rango 147.0 255.192.0 – 147.64.156.0 147.156.255.255.156.156.192.0 147.156.156.156.128.156.0 255.156. 11111111 . TCP/IP Num.255.0 255.192.) Dividamos la red 147.255 147. 31 Subredes (cont.192.0.0 (clase B) en cuatro subredes: 16 147 .63. 00000000 192 . 11 000000 .255 Bits subred 00 01 (0) (64) Subred 147.127.191.255 147. 156 2 Subred 14 Host Máscara: 11111111 .0 10 (128) 11 (192) Tema 4 (TyR).255.0 147.192.255. 32 Subneting 16 . 255 .Tema 4 (TyR).

Tema 4 (TyR).16.100.100.0 (máscara 255. Por eso esta técnica se llama CIDR (Classless InterDomain Routing). Muchas organizaciones solicitaban clases B y usaban solo una pequeña parte. TCP/IP Num. C demasiado pequeña.100. 17 . Nueva solución: considerar un grupo contiguo de redes clase C como una sola red. Nuevo problema: explosión de las tablas de rutas.16.0) Incluye desde 195. Solución: asignar grupos de clases C a una organización.248.: Red 195.255.0 hasta 195.23.Tema 4 (TyR). 33 Superredes Problema: agotamiento del espacio de direcciones IP. igual que las subredes Ej. Clase B excesiva. TCP/IP Num. Hacer superredes. 34 Superredes Red Host Superredes Subredes Las ‘superredes’ se definen mediante máscaras.0 También se puede partir en trozos más pequeños partes de una clase A (de las que quedan libres). Causa: Clase A inaccesible.

Tema 4 (TyR).upm. 35 Nombres IP Nombres IP: asignar a los sistemas nombres con significado comprensible para el usuario La traducción se realiza de forma interna y transparente mediante. TCP/IP Num. Así podremos referirnos a una máquina de la Internet no sólo por su dirección IP sino también por su nombre dentro del DNS.Tema 4 (TyR). Los nombres de máquinas siguen una organización jerárquica por subdominios: máquina.subdominio_2.subdominio_1. la aplicación DNS La asignación se realiza partiendo de un dominio o raíz y añadiendo los subdominios necesarios.dominio_de_país Ejemplo: fenix. que hace una correspondencia entre direcciones IP y nombres de máquina.eui. 36 DNS DNS: Domain Name System Base de datos distribuida global a Internet. por ejemplo. TCP/IP Num.es 18 .

. Tema 4 (TyR).62.1.17 Rtr: 147.1 IP: 147.12 Rtr.146.0 Un router conectando tres LANs LAN C 193.62.156.62.Tema 4 (TyR).0.1.1 α 213.1 19 .15. TCP/IP IP: 147.15.156. TCP/IP Num.156. .146. 193.0.156.156.0.146.5 Rtr: 147.1.1 β 193.145. .156.3 Rtr: 213.15. 38 LAN B 213.1 Num.62.62.146.0 147.62.es: España.1 IP: 193.0.it: Italia Asignados por el tipo de organización: .uk: United Kingdom .15.146.7 Rtr: 193.62.1 γ IP: 213.215 Rtr: 193.0 LAN A 147.1.com: company.1 IP: 213.156.edu: educación.13.1.15.1 IP: 193.org: organismos internacionales.15.146.156.1 IP: 147.mil: militar. .1.2 Rtr: 213. 37 Tipos de Dominios Se definieron dos tipos de dominios raíz: Asignados geográficamente: .146.1 IP: 193.146.0.12 Rtr: 147.24.62.

1.1. 40 Host ‘multihomed’ LAN B 203.1.1.1.1.1.1 Rtr 202.1.1.1.1.3 Rtr 202.1.1.0 LAN B 203.1.1.1.1.2 Rtr 202.1.1.1.0 20 .0 por 203.1.1.1 204.1 X 203.1.0 por 203.1 202.1.0 por 203.1.1.1.1.1 A 204.1.1.1.1.1 LAN A 202.1.2 Rtr 202.1.2 203.1 202.1.1.0 LAN C 204.1.1.1.1.1.2 203. TCP/IP Num.1.2 Rtr 204.1 X 203.1.1.3 A 202.1 202.1 A 204.1.1 A 204.1 202.1.1.1.0 LAN C 204.1.1 204.4 202.1.1.4 W 204.1.1.0 por 203.1.1.1.1.1.1.1.1 A 204.1.1.1.0 203. TCP/IP Num.1.1.1.1.0 por 203.3 A 202.1.1.1.3 Rtr 202.1.0 por 203.1.1.1.1.1. 39 LAN A 202.1.0 por 203.1.2 204.1.1.1.1.1.1.1.1 204.0 202.1.1.Tema 4 (TyR).0 por 203.1.1.1.0 por 203.2 Y A 202.1.1 Tema 4 (TyR).2 A 202.1 203.2 Y 204.1.1 202.1.1.4 A 202.1.0 por 203.1.1.1.1.2 204.1.1 203.1.1 A 204.1.1.1.1.1.1.1.3 Rtr 204.1.3 Rtr 204.1.1.1.2 Rtr 204.

1.3 Rtr 213.1.0.1.1.1.1.Tema 4 (TyR).1.1 165.1.1.1.1.1.1.1.3 Rtr 204.1.1 A 204.0.12.1 213.1.1.1.1.1.1.168.1.1.1.1.1.0 203.0 por 192.2 Rtr 213.0 LAN B 213.0 por 202.2.168.0 165.12.168.1.1.0 por 203.0 por 203.1.1 202. TCP/IP Num.1.0.0.2 β 203.0 por 203.1.1.1 213.1.2.1 A 204.0 por 192.1.2 Rtr 202.1.3 Rtr 165.1 192.2 Rtr 165.1. 41 Red con caminos alternativos LAN B 203.2 Red 192.2.1 α X 203.1.1.1.1.1 β 202.1.1.2 A 202. 42 Conexión de dos LANs mediante una línea serie LAN A 165.1.168.1 165.2.12.1.2 Y 213.0.2.1.1.1.1. TCP/IP Num.1.0 A 213.2 α Y 204.1 202.1.12.1.12.4 α Z 204.1.1.0 A 203.1.1.1 204.1.0.2 Rtr 204.1 LAN C 204.12.3 A 202.1 X 192.1 A 165.1.0 Tema 4 (TyR).4 LAN A 202.1.1.0 por 203.168.1.1.4 β 204.0.1.1.1.1.1.4 202.12.1.1.3 Rtr 202.1.1.1 21 .

cuatro routers y tres líneas serie.168.1.0 por 192.1.3 A 215.0 213.1 PVCs o SVCs 165.0 por 192.0 192.2 207.3 Y 207.1.168.4 LAN B 207.1.1.1 A 0.4 A 165.1.0.2 W 215.1.0.0 por 192.2.1.1.0 LAN A 165.0 por 192.2.0.1.0 por 192.0 por 192.2.1.1.0 Y 192.1 192.1 A 213.12.1 A 213.0 por 192.1 A 207.1 A 215.1.1.168.168.1 A 207.0 por 192.168.0 por 192.1.168.3.1.1.2 A 215.168.3.2.2.1.1.1.1.1.0.2.0.1.2 192.1 Tema 4 (TyR).168.168.168.1.1.12.1.2.168.168.4 215.0 por 192.1.0 por 192.1 192.0 por 192.1.1.1 Ruta por defecto LAN D 215.3 A 213.1.1.1 165.168.1.168.1.1.12.1.12.1.12.1.0.2.0 por 192.0 por 192.2.25.0 por 192.2.1.1.168.12.168.1.1.168.1.2.0 por 192.0 por 192.2.168.1.0.0 22 .1 192. X.168.1.168.1 X 192.168.168.2 Z LAN C 213. Frame Relay o ATM W A 165.1.2.1.1 192.2.2.1 Red RDSI.0.0.168.1.1.1 A 165.0.0 A 0.2.0 LAN A 165.168.168.0 LAN C 213.1.1.1 A 207. Ruta por defecto LAN B 207.1.2 Z 213.168.2.2 A 215.12.1 A 207.168.2 A 213.1. TCP/IP Num.2.3 A 213.12.0.4 192.3.1.0 por 192.1.168.2 LAN D 215.1.1.2.168.0 por 192.1.3. 43 Cuatro LANs.2.0.0 por 192.Tema 4 (TyR). 44 A 165.1 X 192.168. TCP/IP Num.1.2 A 215.

...0.0.0.156...0..24..1 192.0.0 por 192...168. TCP/IP Num.156.0 por 192.0..0 147.1 A 0.146.168..12 Rtr 193....156..0..5 Rtr 147..2 Y 192...146.146.1 A 193..168......146.0 por 192.1 193.0.1 193.....62.1 147..146....146...145.146.. 46 Contenido Introducción Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicación 23 ....12 Rtr 147..168.215 Rtr: 193....2 .7 Rtr 193...1.0.1 147... 45 Oficina Principal 147... 193.....1. ..1..156.0..... TCP/IP Num..0....1 Z Internet Sucursal 193.Tema 4 (TyR).168..62...156.156...1..146.0..168..156...62...2 A 193..1 A 0.146.62.156.0.13.17 Rtr 147.62.168...0 por 192.2 A 147.62....62.146..1 147...1 Tema 4 (TyR).168.1 192...168.0.156.1.2 192...62..62..62.0 X 193......0 por 192..

No hay corrección de errores ni control de congestión. 48 Funciones IP • Cómo almacenar y reenviar datagramas • Plan de numeración: RED como “conjunto de máquinas con un cierto rango de direcciones”. Es no orientado a conexión y no fiable. TCP/IP Num. TCP/IP Num. Dentro de un datagrama IP se encapsula una unidad de datos de uno de los siguientes protocolos: TCP Transmission Control Protocol UDP User Datagram Protocol Tema 4 (TyR).Tema 4 (TyR). • Segmentación y reensamblado Aplicación Transporte IP Interfaz RED 1 ROUTER IP Interfaz 1 Interfaz 2 Aplicación Transporte IP Interfaz RED 2 24 . ⇒ han de ser corregidos a nivel superior. 47 Nivel IP (Internet Protocol) IP ofrece una comunicación extremo a extremo independiente de las redes por las que se pase.

En un datagrama sin campo de opciones su valor es 5 (20 octetos) 25 .Tema 4 (TyR). TCP/IP Num. 50 Formato de un datagrama IP VERS. TCP/IP Num. Versión: con qué versión se ha generado un datagrama (la actual es la 4). Puesto que este campo tiene 4 bits la longitud máxima de la cabecera es de 64 octetos. HLEN: Es la longitud de la cabecera medida en palabras de 32 bits. 49 Formato de un datagrama IP Formato general Tema 4 (TyR).

51 Formato de un datagrama IP Servicio: Lo rellena quien envía el datagrama. PRIO: Se utiliza en casos de congestión. Longitud total: Es la longitud total del mensaje en octetos incluída la cabecera. (Se cuenta por octetos) 26 .Tema 4 (TyR). Flags: Son los siguientes: DF: Se puede/No se puede fragmentar MF: Último/más fragmentos Offset: posición de los datos del datagrama segmentado en el original. TCP/IP Num. C: Dar prioridad al coste. Por ser un campo de 16 bits permite una longitud de hasta 65535 octetos. 52 Formato de un datagrama IP Campos de segmentación y reensamblado: IDENTIFICATION: numero de secuencia. TCP/IP Num. R: Dar prioridad a la fiabilidad. D: Dar prioridad al retardo. Tema 4 (TyR). Tipos de tráfico. Es el mismo para todos los datagramas generados • al segmentar e igual al del datagrama original. T: Dar prioridad al throughput.

Opciones: Ejemplo. Límita el tiempo que un datagrama puede pasar en la red.Tema 4 (TyR). (Como máximo este campo puede tener 40 octetos. 10 direcciones. es decir. 54 Formato de un datagrama IP Checksum: Es el resultado de aplicar un código de protección de errores a la cabecera Se obtiene haciendo la suma en complemento a 1 de todas las palabras de la cabecera y complementando a 1 el resultado. TCP/IP Num. 53 Formato de un datagrama IP TTL: o Time To Life. Al llegar a cero el datagrama es descartado y se le comunica al Host origen con un mensaje ICMP. TCP/IP Num. Se decrementa en una unidad cada vez que pasa por un router si todo va bien.) 27 . Tema 4 (TyR). o en una unidad por segundo en el router si hay congestión. la denominada registro de ruta: todos los routers por los que pase el datagrama copiarían en su campo de opciones su dirección. Protocolo: Especifica qué protocolo está por encima de IP. Este campo se modifica en cada router por decrementarse el campo TTL.

Estos tres datagramas son enviados hasta el Host2 donde se reensambla el datagrama original. El datagrama se envía y llega hasta el router1.Tema 4 (TyR). Antes de reenviar. procede a segmentar generando tres datagramas del original que respeten la longitud máxima. TCP/IP Num. Host1 envía un datagrama con 1400 octetos de datos a Host2. 3. 55 Fragmentación Ejemplo: MTU: Maximum Transfer Unit Tema 4 (TyR). 28 . TCP/IP Num. 2. 56 Ejemplo de fragmentación 1.

Diagnosticar y obtener información Esquema general: Tema 4 (TyR). Time exceeded for datagram (tipo=11): Avisa de un descarte por exceso de tiempo en el sistema. 2. TCP/IP Num. 29 . Source Quench (tipo=4): Avisa de descarte por congestión. encapsulados en datagramas IP. 58 Tipos de mensajes ICMP Errores: Destination Unreachable (tipo=3): Se envía cuando se descarta un mensaje. TCP/IP Num. 57 ICMP (Internet Control Messages Protocol) Son un tipo de mensajes que envían los routers. al originador de algún mensaje conflictivo 1.Informar sobre errores.Tema 4 (TyR).

se obliga al destino a responder con un Reply. Se utilizan para saber si el destino es accesible (utilidades ping y trace route por ejemplo). TCP/IP Num. Esto ocasiona que el primer router envíe un ICMP de descarte por TTL=0. 59 Tipos de mensajes ICMP Diagnóstico: Formato de los mensajes de Echo Request y Reply. pero además incluirá su dirección IP. TCP/IP Num.2..Tema 4 (TyR). 30 . • Para hacer esto.. hasta que se reciba un reply señal de que el mensaje llegó al destino. Al mandar un Request. Tema 4 (TyR). el origen comprueba el campo de datos recibido con el transmitido (la opción '-s' dice el tiempo que tarda en ir y volver el datagrama). Podemos usar el campo de datos para pruebas más complicadas. envía echos con TTL a 1. 60 Tipos de mensajes ICMP Utilidades: • Ping: el destino devuelve el mismo mensaje que se le envió. Luego se envía otro con TTL=1.. • Trace Route: Nos dice la ruta seguida por los datagramas en una conexión.

Rutas: Estáticas (establecidas a mano) Dinámicas (establecidas por protocolos de encaminamiento) Directas (Host a host. TCP/IP Num. que dé ET2 desde la IP2 conocida: protocolo ARP. en la misma red) Indirectas A través de uno o más router Se establecen salto a salto Tema 4 (TyR).Tema 4 (TyR). 61 Encaminamiento IP (cont. 62 Encaminamiento IP Transmisión directa El primer host conoce tanto IP1 como IP2 y las incluye en la cabecera IP del datagrama que envía.) Encaminar: elegir una ruta por la que enviar el datagrama. TCP/IP Num. Para encapsular a nivel 2 se necesita conocer ET2 (dirección Ethernet): utilizar un traductor de direcciones. Router: Máquina que realiza el proceso de “elegir el camino”. 31 .

En el router se consultan unas tablas de encaminamiento. pero encapsuado en una trama Ethernet con destino ET2). 64 Resolución de direcciones Problema: Dada una dirección IP. por lo que se lo manda al router (con dirección IP3 de destino. hasta llegar al destino. IP3 no pertenece a su subred. Esa dirección IP' hará lo mismo.Tema 4 (TyR). que dicen a partir de una dirección IP destino. obtener la dirección de la subred correspondiente: dirsub= f (dirIP). TCP/IP Num. Soluciones: Tablas estáticas (una en cada host): 32 . 63 Encaminamiento IP Transmisión indirecta • • • El host origen (que ha puesto como destino IP3) sabe quién hay en su subred. a qué dirección IP hay que enviar. Tema 4 (TyR). TCP/IP Num.

56.0. IPB y ETA.100. Tema 4 (TyR).0 loopback default Gateway * * 138.Tema 4 (TyR).255. Sólo responde el que reconozca su dirección IP en el target (el resto lo que hace el apuntar IPA/ETA en su tabla ARP).0. TCP/IP Num.1 ROUTER 138.58.56.56. Construye un paquete en el que se escribe lo que sabemos y lo que queremos saber y se manda a FF:FF:FF:FF:FF:FF (broadcast).100.0 eth0 255.1 Máscara Interface 255. 66 Tablas de Rutas en HOST Host con un interfaz de red 138. TCP/IP Num.100.10 138. 65 Resolución de direcciones Asociación dinámica (protocolos de resolución):ARP (Address Routing Protocol): A conoce IPA.252.0 * lo eth0 33 .100.100.56. y necesita ETB para enviar a B.0 A INTERNET Destino 138.

00010100 255.00010100..20.00010100.00000000.252.255.0 11111111.20.0 11111111.00010100 255.00000000 AND LÓGICO 10001010.00000000.20.56.00000000. 68 Algoritmo de Routing (cont. 34 .00000000 Obtener dirección IP destino del Datagrama. 67 Algoritmo de Routing Para la 1ª entrada de la tabla: 185.0.00011000.100.59.00000000.0 Para la 2ª entrada de la tabla: 185.0.20 10111001.11111100..0 Tema 4 (TyR).00000000 AND LÓGICO 10111001.00111011.255.) Para la 1ª entrada de la tabla: 138.11111111.00111000.20 10001010.252.00000000 dirección de red destino ⇒ 185.0 11111111.00000000 AND LÓGICO 10111001.00010100.100.0.24. TCP/IP Num.00010100 255.24.00000000 ⇒ 185.0 Obtener dirección de red destino (teniendo en cuenta la máscara) ⇒ Coincide con la 1ª entrada de la tabla ? SI NO ⇒ Interfaz 1ª ⇒ .11111100.0.24.01100100.11111111. TCP/IP Num.Tema 4 (TyR).00011000. dirección de red destino ⇒ 138.00011000.20 10111001.01100100.

0 255.168.42.20.255.1 255.0 LAN A 158.168.12 255.1 ROUTER A INTERNET 138.252.0 LAN B 158.42.100.1.255. 69 Host con dos interfaces 138.42.1.20.255.25 255.58.0 Y 158.255.255.0 * Interface ppp0 eth0 lo eth0 Tema 4 (TyR).100.58.30. TCP/IP Num.10 138.255.168.255.42.255.0 255.0 35 .255.100.56.1 158.0 255.Tema 4 (TyR).255.42.30.255.100.1.255.30.255.255.0 255.252 X 158.255.0 loopback default Gateway * * * 138.3) 158.255.42.0 192.42.58.100.0 158. TCP/IP Num. 70 Enrutamiento de dos subredes A 158.255.0 255.0 por 192.252 192.30.0 por 192.1.255.0 .56.1 255.192.1.168.168.56.255.0.168.0.20.255.255.100.255.255.30.2 255.12 PPP 138.0 Subred de cuatro direcciones (192.255.1.10 138.1 Máscara 255.42.255 255.100.20.56.2 A 158.0 Destino 138.12 255.255.42.1 255.

72 Nivel de transporte: Protocolo UDP Servicio sencillo. TCP/IP Num.Ejemplos de aplicaciones que utilizan UDP: TFTP (Trivial File Transfer Protocol): protocolo sencillo de transferencia de ficheros. SNMP (Simple Network Management Protocol): protocolo de gestión de red. TCP/IP Num. CLNS. • Igual que los segmentos TCP. • Las TPDUs de UDP se denominan mensajes o datagramas. no fiable. los mensajes UDP se dirigen a la aplicación mediante el puerto especificado en la cabecera. • UDP no tiene ningún mecanismo de control de flujo o congestión. 36 . DNS (Domain Name Server): para la resolución de nombres.Tema 4 (TyR). 71 Contenido Introducción Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicación Tema 4 (TyR).

Tema 4 (TyR). los procesos que usan la red lo hacen a través de puertos. el nivel de transporte debe preocuparse de saber a qué proceso va destinado un datagrama UDP o segmento TCP que acaba de llegar por la red. TCP/IP Num.Tema 4 (TyR). capaz de dialogar con otra aplicación situada en un puerto en una máquina remota. incluida la cabecera. Checksum: Campo de comprobación (opcional). 37 . 74 Puertos En una máquina multiproceso. Cada puerto del Nivel de Transporte proporciona a las aplicaciones un interfaz de acceso a la red de comunicaciones. 73 Datagramas UDP Puerto fuente/destino: Valor que permite discriminar entre 216 TSAPs en el sistema origen/destino. Length: Longitud del datagrama. Por ello. TCP/IP Num.

Un usuario puede: • colocar un proceso en un puerto que sabe libre • pedir un puerto libre al sistema operativo Es corriente que no haya un servidor escuchando en cada aplicación de red (ftp. 38 .). encapsulándolas en datagramas UDP o segmentos TCP • demultiplexa los datagramas UDP y los segmentos TCP...Tema 4 (TyR).) El Nivel de Transporte TCP/IP: • multiplexa las unidades de datos que envían las aplicaciones a través de los puertos. pasando los datos a las aplicaciones. 75 Puertos (cont. telnet. sino que un solo proceso escucha en varios puertos. Los puertos UDP y TCP se manejan por separado: el puerto 7 UDP y el puerto 7 TCP son puertos distintos. TCP/IP Num.) Los puertos más bajos están reservados y asignados universalmente a aplicaciones de red conocidas El resto de los puertos está disponible para procesos de usuario. . 76 Puertos (cont. Tema 4 (TyR). y cuando recibe algo por ellos arranca el servidor adecuado. TCP/IP Num.

lo rechaza y no envía el asentimiento. Si el receptor recoge un segmento con checksum inválido. Tema 4 (TyR). Al transmitir cada segmento se espera un asentimiento. se retransmite el segmento. 78 TCP: Servicio Fiable Los datos de la aplicación son troceados en segmentos. 77 Protocolo de Transporte TCP Servicio: orientado a conexión y fiable • La transmisión de datos de nivel de transporte presenta las fases: • • • establecimiento de la conexión intercambio fiable de datos liberación de la conexión. 39 . • TCP proporciona control de flujo mediante esos buffers.Tema 4 (TyR). Los segmentos TCP se reordenan en recepción. pasandose en orden a la aplicación. Los segmentos TCP llevan un campo de checksum sobre cabecera y datos. TCP/IP Num. TCP descarta los duplicados en recepción y se recupera de las pérdidas. • La conexión es Full Duplex. Si no llega en un determinado plazo. • La transferencia se apoya en el envío continuo con buffers para almacenamiento de segmentos pendientes de asentimiento. TCP/IP Num.

21. las conexiones serían: (134.58. Tema 4 (TyR).100.34.23): Puerto 23 de la máquina 138.21.34.23) (134.2. y están en el RFC 1700 (Assigned Internet Numbers).21.dirección IP host 2.1.2 hacen telnet hacia el 221.198.34.1.123. Un socket es un PAR: (dirección IP. TCP/IP Num. 79 Conexiones en TCP Una conexión se identifica por un par de puntos extremos de conexión (“sockets”). Una conexión se especifica por el cuarteto: (Dirección IP host 1.21. 80 Puertos TCP Los puertos bien conocidos (well-known ports) son números del 0 al 1023.198.123.Tema 4 (TyR). Puerto) Ej.198.123.23) 40 .1030) con (221. (138.2.1031) con (221.198. 20 23 25 80 FTP-Data TELNET SMTP HTTP Transferencia de datos FTP Logon remoto Correo electrónico Ejemplo: tres usuarios del host 134.23) (134.21.port host 1. TCP/IP Num.21.1.1.34.port host 2) El port es un número entero entre 0 y 65535.2.123.1024) con (221.58.100.

TCP/IP Num. CODE Bits de control (6 bits): URG Bit que indica si el campo de puntero a datos urgentes es válido. 41 . FIN El transmisor a llegado al final de los datos a transmitir. Tema 4 (TyR). 82 Segmentos TCP (cont. TCP/IP Num. Número de asentimiento (ACK): Primer byte que se espera recibir en el próximo segmento. Número de secuencia: Número del primer byte transmitido en ese segmento. Lo normal es 5.) HLEN Longitud cabecera: Tamaño de la cabecera en palabras de 32 bits.Tema 4 (TyR). RST Bit para indicar la reinicialización de la conexión. PSH Bit para indicar que el receptor debe entregar ya a la aplicación los datos que tenga pendientes. ACK Bit que indica si el número de asentimiento es válido. En el inicio de la conexión. 81 Segmentos TCP Puertos: Identifican la aplicación origen y destino del segmento. SYN Bit para indicar que se van a sincronizar los números de secuencia iniciales.

Calculado como en UDP. Uso de repetición selectiva Uso de NAK Uso de ventana extendida (mas de 64 Kbytes) 42 . Tamaño máximo: 64 Kb. Opciones: permite incluir extensiones negociadas al protocolo. TCP/IP Num.Tema 4 (TyR). Se rellena con ceros.) Tamaño de ventana (WINDOW) Indica el número de bytes que el transmisor espera recibir del receptor: Ventana de recepción.) Relleno: Para completar el número entero de palabras. Tamaño máximo de segmento (MSS): que está dispuesto a recibir el que envía el segemento. 83 Segmentos TCP (cont. TCP/IP Num. Tema 4 (TyR). Puntero a datos urgentes Sólo se interpreta si URG =1 Indica el número a añadir al número de secuencia (offset positivo) para obtener el número del último byte urgente. Checksum Chequeo de la integridad del segmento completo. 84 Segmentos TCP (cont.

El cliente elige un número para la comunicación en sentido de ida y el servidor otro para el sentido de vuelta. 3. Estos dos números actúan como PINs que identifican la conexión frente a paquetes retrasados que pudieran aparecer por la red de conexiones anteriores. Cuando recibe este tercer mensaje el servidor considera establecida la conexión 2. Tema 4 (TyR). Cuando quiere establecer una conexión el cliente la identifica mediante un número elegido al azar. El servidor responde con un mensaje en el que acusa recibo de la petición y le indica al cliente que número ha elegido él para la comunicación en sentido inverso.Tema 4 (TyR). TCP/IP Num. 43 . El cliente envía un tercer mensaje en el que acusa recibo del segundo y considera establecida la conexión. TCP/IP Num. Con un procedimiento de conexión simple una sesión entera podría verse duplicada. 85 Conexión por ‘Saludo a tres vías’ En el nivel de transporte pueden llegar TPDUs duplicadas. 86 Procedimiento del saludo a tres vías 1. El ‘saludo a tres vías’ es un procedimiento de conexión que evita los problemas debidos a duplicados Para ello se identifica cada intento de conexión mediante un número diferente. El número elegido lo comunica al servidor en la petición de conexión que le envía.

sino en un valor elegido al azar denominado ISN (Initial Sequence Number). En este caso el TCP remoto los ha de retener hasta que la aplicación receptora acepte la conexión. Tema 4 (TyR). TCP/IP Num. 44 . 87 Conexión en TCP TCP cuenta los bytes transmitidos para asegurar que no se pierde ningún segmento. 88 TCP A CLOSED SYN-SENT (seq = 100) (c tl = SYN) TCP B LISTEN SYN-RECEIVED N. El número de secuencia es un campo de 32 bits que cuenta bytes en módulo 232.Tema 4 (TyR). es decir el contador se da la vuelta cuando llega al valor máximo. ACK) =101)(ctl=SY (seq=300)(ack ← Tiempo ESTABLISHED (seq=101)(ack (seq=101)(ack =301)(ctl=AC K) ESTABLISHED =301)(ctl=AC K )(datos) Los primeros segmentos de una conexión TCP pueden llevar datos. este ISN es precisamente el ‘PIN’ utilizado en el saludo a tres vías para asegurar la autenticidad de la comunicación. El número de secuencia no empieza normalmente en 0. TCP/IP Num. Cada lado de la comunicación (cliente o servidor) elige libremente el ISN para su sentido de la comunicación.

El host que toma la iniciativa puede ser el cliente o el servidor. AC ESTABLISHED ESTABLISHED Conexión saludo a tres vías. TCP/IP Num. 90 Desconexión en TCP Se utiliza el ‘saludo a tres vías’ invitando a la otra parte a cerrar.Tema 4 (TyR). Una vez efectuada la desconexión el host que inició el proceso está un cierto tiempo a la espera por si aparecen segmentos retrasados 45 . conexión simultánea Tema 4 (TyR). TCP/IP Num.AC K) K) (ctl=SYN. 89 TCP A CLOSED SYN-SENT SYN-RECEIVED (seq=100) (c tl=SYN) (seq=300 ) (ctl=SYN) TCP B CLOSED SYN-SENT SYN-RECEIVED ← Tiempo (seq=100)(ack ) =301) (seq=300)(ack=101 (ctl=SYN.

MTU = Maximum Transfer Unit) para ajustar el MSS al tamaño óptimo para esa comunicación.ACK) =101)(ctl=FIN LAST-ACK TIME-WAIT (seq=101)(ack 2 MSL CLOSED =301)(ctl=AC K) CLOSED MSL: Maximum Segment Lifetime (normalmente 2 minutos) Tema 4 (TyR).Tema 4 (TyR). 92 Intercambio de datos TCP ↔ TCP TCP manda los datos cuando quiere. TCP/IP Num. 46 .ACK) TCP B ESTABLISHED CLOSE-WAIT K) =101)(ctl=AC (seq=300)(ack FIN-WAIT-2 (seq=300)(ack . reduciendo así el overhead debido a cabeceras y proceso de segmentos. 91 TCP A ESTABLISHED FIN-WAIT-1 (seq = 100)(A CK=300) (ctl = FI N. Al inicio de la conexión se negocia el MSS (Maximum Segment Size) Cada segmento ha de viajar en un datagrama Normalmente TCP intenta agrupar los datos para que los segmentos tengan la longitud máxima. TCP/IP Num. El TCP emisor puede aplicar la técnica de descubrimiento de la MTU del trayecto (‘Path MTU Discovery’. Excepción: datos ‘Pushed’ TCP decide el tamaño de segmento según sus preferencias.

TCP/IP Num. TCP/IP Num. 94 Intercambio de datos TCP ↔ Aplicación y TCP ↔ TCP Aplicación origen Aplicación destino 1024 Bytes Escribe 2048 Bytes Lee 1024 Bytes TCP emisor Buffer 512 B Envía 512 B 512 B 512 B Buffer TCP receptor (MSS 512 Bytes) 47 . 93 Intercambio de datos TCP ↔ Aplicación y TCP ↔ TCP Aplicación origen A criterio de la aplicación (sujeto a disponibilidad de buffer en TCP emisor) Aplicación destino ‘Empuja’ ‘Estira’ A criterio de la aplicación TCP emisor Buffer ‘Empuja’ A criterio del TCP emisor (sujeto a disponibilidad de buffer en TCP receptor) Buffer TCP receptor Tema 4 (TyR).Tema 4 (TyR).

Esto se denomina tamaño de ventana. W Vacío 2 KB La aplicación escribe 3 KB 2 KB Seq = 2048 Lleno Emisor Bloqueado Win Ack = 4096. La ventana anunciada es un espacio que el TCP receptor reserva para esa comunicación en su buffer. Anunciando una ventana cero el receptor puede bloquear al emisor. W La aplicación lee 2 KB 2 KB El emisor puede enviar hasta 2 KB 1K Seq = 4096 3 KB 48 . y ejercer así control de flujo sobre él. TCP/IP Num. 95 Gestión de buffers y Control de Flujo El TCP receptor informa en cada segmento al emisor del espacio que le queda libre en el buffer para esa comunicación. 96 Buffer Emisor La aplicación escribe 2 KB Receptor 0 4K 2 KB Seq = 0 in = 2048 Ack = 2048. TCP/IP Num.Tema 4 (TyR). =0 in = 2048 Ack = 4096. Tema 4 (TyR).

Ack = 2501 Seq = 2501. Ack = 1001. TCP/IP Num. Win = 3000 49 . Win = 4000 Seq = 1500. Ack = 6001. Win = 4000 SYN Ventana 4000 3000 1000 bytes Seq = 1001. Ack = 2501 Seq = 3001. Si se enviaron varios segmentos y se pierde uno se puede hacer dos cosas: Enviar solo ese (repetición selectiva) Enviar todos los segmentos a partir de ese (retroceso n) Lo normal es utilizar retorceso n Tema 4 y (TyR). Ack = 2501 Seq = 4001. 97 Reenvío de segmentos En caso de pérdida de un paquete en la red el segmento TCP no llegará a su destino Cada TCP cuando envía un segmento espera recibir el ACK. Ack = 2501 Seq = 2501. Ack = 5001. Ack = 1501 Seq = 1501. TCP/IP Control de flujo números de secuencia Num. Win = 2000 1000 bytes Aplicación lee datos 2000 1000 3000 Seq = 5001.Tema 4 (TyR). si este no llega dentro de un tiempo reenvía el segmento. Ack = 5001 2000 1000 0 Bloqueado Seq = 2501. 98 Ventana 4000 Host 1 SYN Host 2 Seq = 1000. Ack = 2001 1000 bytes 3000 1000 bytes 1000 bytes 1000 bytes Seq = 2001.

99 Intercambio de datos: casos excepcionales Datos ‘Pushed’ (bit PSH) La aplicación pide al TCP emisor que envíe esos datos lo antes posible. Ejemplo: abortar un programa con CTRL-C en una sesión telnet Tema 4 (TyR). TCP/IP Num. TCP/IP Num. El TCP receptor los pondrá a disposición de la aplicación de inmediato. Ejemplo: telnet.Tema 4 (TyR). 100 Contenido Introducción Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicación 50 . para cuando ésta le pida datos. Datos Urgentes (bit URG y Urgent Offset) Los datos se quieren entregar a la aplicación remota sin esperar a que esta los pida.

Tema 4 (TyR). 101 Aplicaciones TCP/IP • Procesos que usan la capa de transporte para transmitir/recibir datos Tema 4 (TyR). 102 Modelo cliente-servidor SERVIDOR: Cualquier programa que ofrece un servicio que se puede obtener por la red. Acepta peticiones. 51 . realiza el servicio y devuelve el resultado. TCP/IP Num. CLIENTE: Envía peticiones al servidor y espera una respuesta. Interactúa con el usuario. TCP/IP Num.

104 Modelo cliente-servidor . Tema 4 (TyR). Ejemplo: ftp SERVIDOR: Espera peticiones por un puerto bien conocido que ha sido reservado para el servicio que se ofrece. para comunicarse.Tema 4 (TyR). Ejemplo: ftp 52 . 103 Modelo cliente-servidor . no reservado. TCP/IP Num. con un número > 1023. CLIENTE: Utiliza un puerto arbitrario. TCP/IP Num.