You are on page 1of 52

Teleinformtica y Redes

Tema 4: TCP/IP

Tema 4 (TyR). TCP/IP

Num. 2

Contenido

Introduccin Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicacin

Tema 4 (TyR). TCP/IP

Num. 3

Introduccin

TCP/IP constituye el armazn sobre el que se sita Internet. El conjunto de protocolos TCP/IP permiten la comunicacin entre diferentes mquinas independiente de la tecnologa:
Diferentes sistemas operativos distintos. Diferentes tipos de mquinas. Diferentes tipos de red

Su desarrollo comenz a finales de los 60, como proyecto financiado por el Gobierno de los Estados Unidos. Autntico sistema abierto: Los protocolos y sus implementaciones estn disponibles pblicamente.

Tema 4 (TyR). TCP/IP

Num. 4

Introduccin

Tema 4 (TyR). TCP/IP

Num. 5

Un poco de historia

1968 Comienza ARPANET. 1971 Diseo 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: lneas, 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, ...

Tema 4 (TyR). TCP/IP

Num. 7

Dispositivos
HOSTS
Un nico interfaz de red. Una sola direccin IP.

MULTIHOMED

HOST

Ms 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. Aslan redes o subredes Unidireccionales: No dejan entrar.

Tema 4 (TyR). TCP/IP

Num. 8

Contenido

Introduccin Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicacin

Tema 4 (TyR). TCP/IP

Num. 9

Arquitectura TCP/IP

No se ajusta al modelo de referencia OSI.

Aplicacin
MENSAJES O CADENAS

Transporte
SEGMENTOS

Internet
DATAGRAMAS

Interfaz de Red
TRAMAS

Red fsica

Tema 4 (TyR). TCP/IP

Num. 10

Arquitectura TCP/IP (cont.)


Interfaz

de red

Adapta a la tecnologa especfica sobre la que se sustenta la internet. (Ethernet, PPP,...) DRIVER Funciones de Nivel Fsico y Enlace. Nivel

de internet

Protocolo IP. No fiable y no orientado a conexin. Encaminamiento y Fragmentacin . Comunica errores (con ICMP)

Tema 4 (TyR). TCP/IP

Num. 11

Arquitectura TCP/IP (cont.)


Nivel

de transporte:

Protocolos Extremo a Extremo.


TCP (Transport Control Protocol):
Orientado a conexin. Principal inconveniente: su tremenda complejidad.

UDP (User Datagram Protocol):


Ms sencillo que TCP. No orientado a la conexin.

Nivel

de aplicacin

FTP, TELNET, WWW ...

Tema 4 (TyR). TCP/IP

Num. 12

Contenido

Introduccin Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicacin

Tema 4 (TyR). TCP/IP

Num. 13

Interfaz de red

El uso de IP hace necesario implantar niveles intermedios entre el propio IP y las subredes sobre las que descansa. Mdulo de SW que realiza la adaptacin a la red fsica. Cada interfaz de red tiene una direccin IP nica. Ejemplos :
IP sobre Ethernet IP sobre X.25 PPP (Point to Point Protocol) : Protocolo estndar de Internet para el transporte de datagramas IP sobre lneas serie.

Tema 4 (TyR). TCP/IP

Num. 14

Interfaz de red
Medios de transporte ms habituales :
Medio X.25 Ethernet 802.x SLIP FDDI PPP HIPPI Frame Relay PPP/X.25 PPP/RDSI PPP/SONET ATM RFCs 877 894 1042 1055 1103,1188,1390 1171,,1663 1374 1490 1598 1618 1619 1626 Ao 1983 1984 1988 1988 1990 1990 1992 1993 1994 1994 1994 1994

Tema 4 (TyR). TCP/IP

Num. 15

IP sobre Ethernet
Se genera el datagrama IP con su correspondiente cabecera. Se construye la trama ethernet:

Tema 4 (TyR). TCP/IP

Num. 16

IP sobre Ethernet
Las tarjetas de red Ethernet tienen una direccin de red asignada. Esta direccin se utiliza en el campo de direccin 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(Adress Resolution Protocol)

Una mquina escuchando la red y ejecutando una aplicacin TCP/IP comprobar si el campo L/T es 0800H o 0806H. Una estacin ejecutando otro protocolo dar las tramas anteriores como invlidas.

Tema 4 (TyR). TCP/IP

Num. 17

ARP (Address Resolution Protocol)


En una LAN broadcast hace falta un mecanismo que permita descubrir a que direccin MAC corresponde la direccin IP del paquete a entregar. Permite la configuracin automtica de correspondencias direccin MAC-direccin IP. Funcionamiento:
A difunde una trama preguntando por la direccin Ethernet cuya direccin IP es D. Slo D contestar enviando a A un paquete ARP indicando su direccin IP y su direccin Ethernet.

Las direcciones resueltas va ARP se mantienen un cierto tiempo en cach, en previsin de usos futuros.

Tema 4 (TyR). TCP/IP

Num. 18

IP sobre X.25

El cambio ms importante viene obligado por ser X.25 orientado a conexin. Supongamos la siguiente situacin:

Tema 4 (TyR). TCP/IP

Num. 19

IP sobre X.25

Transmisin desde el equipo conectado a X.25 hasta el conectado al router:


a) X.25 exige abrir un circuito virtual con el router (Esto se sabr a partir de lo indicado en la cabecera IP). b) Una vez enviado un datagrama el circuito queda establecido para otros envos. c) Transcurrido un tiempo sin envos el circuito se

Tema 4 (TyR). TCP/IP

Num. 20

PPP (Point to Point Protocol)


Es un estndar Internet para transporte de datagramas IP por lnea serie. Puede utilizarse sobre medios fsicos muy diversos :conexiones RTC, lneas dedicadas, o incluso SONET/SDH. Se suele utilizar principalmente sobre RTC (analgico y RDSI). Puede funcionar de forma sncrona y asncrona. Es multiprotocolo, permite transportar diversos protocolos a nivel de red. Incluye el protocolo LCP (Link Control Protocol), que se ocupa de negociar una serie de parmetros en el momento de establecer la conexin con el sistema remoto. Adems comprende el protocolo NCP (Network Control Protocol) que permite negociar el uso de diversos protocolos a nivel de red. En el caso de IP el NCP permite asignar la direccin de forma dinmica.

10

Tema 4 (TyR). TCP/IP

Num. 21

Contenido

Introduccin Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicacin

Tema 4 (TyR). TCP/IP

Num. 22

Direcciones IP

Cada interfaz fsico conectado a Internet tiene asignada una direccin IP nica. Su longitud es de 32 bits lo que tericamente permite la utilizacin de 4.000 millones de direcciones diferentes. Clase A
0 RED HOST

15

23

31

El primer bit, el ms significativo, va a cero indicando direccin de tipo A. Esta clase de direcciones permite tener muchos sistemas conectados en una nica subred.

11

Tema 4 (TyR). TCP/IP

Num. 23

Tipos bsicos 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.


Clase C
0 7

RED

HOST

15

23

31

Los tres bits ms significativos deben ser 110. Esta clase de direcciones est pensada para subredes pequeas con pocos equipos

Tema 4 (TyR). TCP/IP

Num. 24

Tipos bsicos de direcciones IP

Clase D: para direcciones de multicast o multidestino (un mismo datagrama a un grupo de equipos previamente definidos). Las direcciones multicast han de comenzar con los bits 1110. Clase E: reservada para posibles usos futuros. Notacin punto. Consiste en traducir, por separado, cada octeto a decimal. Algunos ejemplos son:

Clase A: 10.1.2.3 Clase B: 138.4.3.59 Clase C: 192.16.192.1

12

Tema 4 (TyR). TCP/IP

Num. 25

Tipos bsicos 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 direccin puede saberse su tipo. La asignacin de direcciones Internet la realizan los NICs (NIC = Network Information Center); en Espaa el NIC es administrado por RedIRIS.

Tema 4 (TyR). TCP/IP

Num. 26

Direcciones singulares

Loopback: A uno mismo. Un ejemplo: 127.0.0.1 255.255.255.255: Difusin completa Subred: Para enviar un datagrama a todos los sistemas de una subred se emplea la direccin de broadcast. Broadcast: Un ejemplo: 138.4.255.255. Un mensaje enviado a esta direccin llegara a todos los sistemas conectados a la subred 138.4.0.0 Ejemplo: en la red 200.200.200.0-255 (clase C) la direccin 200.200.200.0 denota la red misma, y la direccin 200.200.200.255 indica envo broadcast a toda la red; disponemos pues de 254 direcciones para hosts (no 256).

13

Tema 4 (TyR). TCP/IP

Num. 27

Mscaras de RED

Se utiliza en el algoritmo de encaminamiento de las mquinas MASCARAS DE RED POR DEFECTO CLASE A CLASE B CLASE C 255.0.0.0 255.255.0.0 255.255.255.0

El administrador de la red puede asignar otras para generar subredes

Tema 4 (TyR). TCP/IP

Num. 28

Mscaras de RED

Para indicar qu parte de una direccin es red y qu parte host se utiliza una notacin denominada mscara, poniendo a 1 los bits de la parte red y a 0 los de la parte host.
RED HOST

Direccin IP: 140.252.1.1 Mscara: 255.255.255.0

140

252

255

255

255

140

252
RED

1
HOST

14

Tema 4 (TyR). TCP/IP

Num. 29

Subredes

Una red se puede dividir en mltiples subredes tomando bits de la parte de HOST Para crear subredes se define una mscara en la que estn a 1 los bits de la red-subred, y a cero los del host.

RED

HOST

138

100

56 SUBRED

Tema 4 (TyR). TCP/IP

Num. 30

Subredes (cont.)

Por ejemplo una clase B con la mscara 255.255.255.0 se divide en 256 subredes de 256 direcciones (tiene a 1 los primeros 24 bits, 16 de la clase B mas 8 de la subred). Se pueden hacer divisiones que no correspondan con bytes enteros, por ejemplo la mscara 255.255.252.0 reserva 6 bits para la subred y deja 10 para el host (64 redes de 1024 hosts). Ejemplo:
Red 156.134.0.0, mscara 255.255.255.0 256 subredes: 156.134.subred.host (subred = 0-255) 156.134.subred.0: identifica a cada subred 156.134.subred.255: direccin broadcast de cada subred.

15

Tema 4 (TyR). TCP/IP

Num. 31

Subredes (cont.)
Dividamos la red 147.156.0.0 (clase B) en cuatro subredes:
16
147 . 156

2
Subred

14
Host

Mscara:

11111111 . 11111111 . 255 . 255 .

11

000000 . 00000000 192 . 0


Rango 147.156.0.0 147.156.63.255 147.156.64.0 147.156.127.255 147.156.128.0 147.156.191.255 147.156.192.0 147.156.255.255

Bits subred 00 01 (0) (64)

Subred 147.156.0.0 147.156.64.0 147.156.128.0 147.156.192.0

Mscara 255.255.192.0 255.255.192.0 255.255.192.0 255.255.192.0

10 (128) 11 (192)

Tema 4 (TyR). TCP/IP

Num. 32

Subneting

16

Tema 4 (TyR). TCP/IP

Num. 33

Superredes

Problema: agotamiento del espacio de direcciones IP. Causa: Clase A inaccesible, Clase B excesiva, C demasiado pequea. Muchas organizaciones solicitaban clases B y usaban solo una pequea parte. Solucin: asignar grupos de clases C a una organizacin. Nuevo problema: explosin de las tablas de rutas. Nueva solucin: considerar un grupo contiguo de redes clase C como una sola red. Hacer superredes.

Tema 4 (TyR). TCP/IP

Num. 34

Superredes
Red Host

Superredes

Subredes

Las superredes se definen mediante mscaras, igual que las subredes Ej.: Red 195.100.16.0 (mscara 255.255.248.0) Incluye desde 195.100.16.0 hasta 195.100.23.0 Tambin se puede partir en trozos ms pequeos partes de una clase A (de las que quedan libres). Por eso esta tcnica se llama CIDR (Classless InterDomain Routing).

17

Tema 4 (TyR). TCP/IP

Num. 35

Nombres IP

Nombres IP: asignar a los sistemas nombres con significado comprensible para el usuario La traduccin se realiza de forma interna y transparente mediante, por ejemplo, la aplicacin DNS La asignacin se realiza partiendo de un dominio o raz y aadiendo los subdominios necesarios.

Tema 4 (TyR). TCP/IP

Num. 36

DNS

DNS: Domain Name System Base de datos distribuida global a Internet, que hace una correspondencia entre direcciones IP y nombres de mquina. As podremos referirnos a una mquina de la Internet no slo por su direccin IP sino tambin por su nombre dentro del DNS. Los nombres de mquinas siguen una organizacin jerrquica por subdominios: mquina.subdominio_2.subdominio_1.dominio_de_pas Ejemplo: fenix.eui.upm.es

18

Tema 4 (TyR). TCP/IP

Num. 37

Tipos de Dominios
Se definieron dos tipos de dominios raz:
Asignados geogrficamente: .es: Espaa. .uk: United Kingdom .it: Italia Asignados por el tipo de organizacin: .edu: educacin. .mil: militar. .org: organismos internacionales. .com: company.

Tema 4 (TyR). TCP/IP IP: 147.156.13.5 Rtr: 147.156.0.1 IP: 147.156.24.12 Rtr: 147.156.0.1 IP: 147.156.145.17 Rtr: 147.156.0.1

Num. 38

LAN B 213.15.1.0 LAN A 147.156.0.0

Un router conectando tres LANs


LAN C 193.146.62.0

147.156.0.1

213.15.1.1

IP: 213.15.1.2 Rtr: 213.15.1.1

193.146.62.1

IP: 213.15.1.3 Rtr: 213.15.1.1

IP: 193.146.62.7 Rtr: 193.146.62.1

IP: 193.146.62.12 Rtr. 193.146.62.1

IP: 193.146.62.215 Rtr: 193.146.62.1

19

Tema 4 (TyR). TCP/IP

Num. 39

LAN A 202.1.1.0

LAN B 203.1.1.0

LAN C 204.1.1.0

202.1.1.2 Rtr 202.1.1.1

202.1.1.1

203.1.1.1

203.1.1.3 A 202.1.1.0 por 203.1.1.1 A 204.1.1.0 por 203.1.1.2 203.1.1.2 204.1.1.1

204.1.1.2 Rtr 204.1.1.1

A 204.1.1.0 por 203.1.1.2

A 202.1.1.0 por 203.1.1.1

202.1.1.3 Rtr 202.1.1.1 203.1.1.4 A 202.1.1.0 por 203.1.1.1 A 204.1.1.0 por 203.1.1.2

204.1.1.3 Rtr 204.1.1.1

Tema 4 (TyR). TCP/IP

Num. 40

Host multihomed
LAN B 203.1.1.0
203.1.1.1 202.1.1.1 X

203.1.1.3 A 202.1.1.0 por 203.1.1.1 A 204.1.1.0 por 203.1.1.2

203.1.1.2 Y 204.1.1.1

202.1.1.2 Rtr 202.1.1.1

A 204.1.1.0 por 203.1.1.2

A 202.1.1.0 por 203.1.1.1

204.1.1.2 Rtr 204.1.1.1

202.1.1.4

204.1.1.4

202.1.1.3 Rtr 202.1.1.1

Rtr 202.1.1.1

204.1.1.3 Rtr 204.1.1.1

LAN A 202.1.1.0

LAN C 204.1.1.0

20

Tema 4 (TyR). TCP/IP

Num. 41

Red con caminos alternativos


LAN B 203.1.1.0
203.1.1.3 A 202.1.1.0 por 203.1.1.1 A 204.1.1.0 por 203.1.1.2

203.1.1.1 202.1.1.1 X

203.1.1.2 Y 204.1.1.1

202.1.1.2 Rtr 202.1.1.1

A 204.1.1.0 por 203.1.1.2

A 202.1.1.0 por 203.1.1.1

204.1.1.2 Rtr 204.1.1.1

202.1.1.3 Rtr 202.1.1.4

202.1.1.4

204.1.1.4

204.1.1.3 Rtr 204.1.1.4

LAN A 202.1.1.0

A 203.1.1.0 por 202.1.1.1

LAN C 204.1.1.0

Tema 4 (TyR). TCP/IP

Num. 42

Conexin de dos LANs mediante una lnea serie


LAN A 165.12.0.0 LAN B 213.1.1.0

A 213.1.1.0 por 192.168.2.2

Red 192.168.2.0
165.12.0.1 165.12.0.2 Rtr 165.12.0.1 X 192.168.2.1 213.1.1.2 Rtr 213.1.1.1

192.168.2.2

213.1.1.1

A 165.12.0.0 por 192.168.2.1 165.12.0.3 Rtr 165.12.0.1

213.1.1.3 Rtr 213.1.1.1

21

Tema 4 (TyR). TCP/IP

Num. 43

Cuatro LANs, cuatro routers y tres lneas serie. Ruta por defecto
LAN B 207.1.1.0

LAN A 165.12.0.0

Y 192.168.1.2

207.1.1.1

A 165.12.0.0 por 192.168.1.1 A 213.1.1.0 por 192.168.1.1 A 215.1.1.0 por 192.168.1.1 192.168.1.1 165.12.0.1 X 192.168.2.1 192.168.3.1 192.168.2.2 Z

LAN C 213.1.1.0
213.1.1.1

A 0.0.0.0 por 192.168.2.1 A 207.1.1.0 por 192.168.1.2 A 213.1.1.0 por 192.168.2.2 A 215.1.1.0 por 192.168.3.2 192.168.3.2 W 215.1.1.1

Ruta por defecto


LAN D 215.1.1.0

A 0.0.0.0 por 192.168.3.1

Tema 4 (TyR). TCP/IP

Num. 44

A 165.12.0.0 por 192.168.2.1 A 213.1.1.0 por 192.168.2.2 A 215.1.1.0 por 192.168.2.4

LAN B 207.1.1.0 LAN C 213.1.1.0

LAN A 165.12.0.0
192.168.2.3

207.1.1.1

PVCs o SVCs
165.12.0.1 X 192.168.2.1 192.168.2.2 Z 213.1.1.1

A 207.1.1.0 por 192.168.2.3 A 213.1.1.0 por 192.168.2.2 A 215.1.1.0 por 192.168.2.4 192.168.2.4

A 165.12.0.0 por 192.168.2.1 A 207.1.1.0 por 192.168.2.3 A 215.1.1.0 por 192.168.2.4 215.1.1.1

Red RDSI, X.25, Frame Relay o ATM

A 165.12.0.0 por 192.168.2.1 A 207.1.1.0 por 192.168.2.3 A 213.1.1.0 por 192.168.2.2

LAN D 215.1.1.0

22

Tema 4 (TyR). TCP/IP

Num. 45

Oficina Principal 147.156.0.0

147.156.13.5 Rtr 147.156.0.1

147.156.24.12 Rtr 147.156.0.1

147.156.145.17 Rtr 147.156.0.1

A 193.146.62.0 por 192.168.0.1 A 0.0.0.0 por 192.168.1.1 147.156.0.1 192.168.0.2 Y 192.168.1.2 192.168.1.1 Z

Internet

Sucursal 193.146.62.0
X 193.146.62.1

192.168.0.1 A 0.0.0.0 por 192.168.0.2

A 147.156.0.0 por 192.168.1.2 A 193.146.62.0 por 192.168.1.2 ................................................. .................................................

193.146.62.7 Rtr 193.146.62.1

193.146.62.12 Rtr 193.146.62.1

193.146.62.215 Rtr: 193.146.62.1

Tema 4 (TyR). TCP/IP

Num. 46

Contenido

Introduccin Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicacin

23

Tema 4 (TyR). TCP/IP

Num. 47

Nivel IP (Internet Protocol)


IP ofrece una comunicacin extremo a extremo independiente de las redes por las que se pase. Es no orientado a conexin y no fiable.


No hay correccin de errores ni control de congestin.

han de ser corregidos a nivel superior.

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). TCP/IP

Num. 48

Funciones IP
Cmo almacenar y reenviar datagramas Plan de numeracin: RED como conjunto de mquinas con un cierto rango de direcciones. Segmentacin y reensamblado

Aplicacin Transporte IP Interfaz


RED 1

ROUTER IP
Interfaz 1 Interfaz 2

Aplicacin Transporte IP Interfaz


RED 2

24

Tema 4 (TyR). TCP/IP

Num. 49

Formato de un datagrama IP

Formato general

Tema 4 (TyR). TCP/IP

Num. 50

Formato de un datagrama IP

VERS. Versin: con qu versin se ha generado un datagrama (la actual es la 4). HLEN: Es la longitud de la cabecera medida en palabras de 32 bits. Puesto que este campo tiene 4 bits la longitud mxima de la cabecera es de 64 octetos.
En un datagrama sin campo de opciones su valor es 5 (20 octetos)

25

Tema 4 (TyR). TCP/IP

Num. 51

Formato de un datagrama IP

Servicio: Lo rellena quien enva el datagrama. Tipos de trfico.


PRIO: Se utiliza en casos de congestin. D: Dar prioridad al retardo. T: Dar prioridad al throughput. R: Dar prioridad a la fiabilidad. C: Dar prioridad al coste.

Longitud total: Es la longitud total del mensaje en octetos includa la cabecera. Por ser un campo de 16 bits permite una longitud de hasta 65535 octetos.

Tema 4 (TyR). TCP/IP

Num. 52

Formato de un datagrama IP

Campos de segmentacin y reensamblado:


IDENTIFICATION: numero de secuencia. Es el mismo para todos los datagramas generados al segmentar e igual al del datagrama original. Flags: Son los siguientes:
DF: Se puede/No se puede fragmentar MF: ltimo/ms fragmentos

Offset: posicin de los datos del datagrama segmentado en el original. (Se cuenta por octetos)

26

Tema 4 (TyR). TCP/IP

Num. 53

Formato de un datagrama IP

TTL: o Time To Life. Lmita el tiempo que un datagrama puede pasar en la red.
Se decrementa en una unidad cada vez que pasa por un router si todo va bien, o en una unidad por segundo en el router si hay congestin. Al llegar a cero el datagrama es descartado y se le comunica al Host origen con un mensaje ICMP.

Protocolo: Especifica qu protocolo est por encima de IP.

Tema 4 (TyR). TCP/IP

Num. 54

Formato de un datagrama IP

Checksum:
Es el resultado de aplicar un cdigo de proteccin 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. Este campo se modifica en cada router por decrementarse el campo TTL.

Opciones:
Ejemplo, la denominada registro de ruta: todos los routers por los que pase el datagrama copiaran en su campo de opciones su direccin. (Como mximo este campo puede tener 40 octetos, es decir, 10 direcciones.)

27

Tema 4 (TyR). TCP/IP

Num. 55

Fragmentacin
Ejemplo:

MTU: Maximum Transfer Unit

Tema 4 (TyR). TCP/IP

Num. 56

Ejemplo de fragmentacin
1.

2.

3.

Host1 enva un datagrama con 1400 octetos de datos a Host2. El datagrama se enva y llega hasta el router1. Antes de reenviar, procede a segmentar generando tres datagramas del original que respeten la longitud mxima. Estos tres datagramas son enviados hasta el Host2 donde se reensambla el datagrama original.

28

Tema 4 (TyR). TCP/IP

Num. 57

ICMP (Internet Control Messages Protocol)


Son un tipo de mensajes que envan los routers, encapsulados en datagramas IP, al originador de algn mensaje conflictivo
1.Informar sobre errores. 2.Diagnosticar y obtener informacin

Esquema general:

Tema 4 (TyR). TCP/IP

Num. 58

Tipos de mensajes ICMP


Errores:

Destination Unreachable (tipo=3): Se enva cuando se descarta un mensaje. Source Quench (tipo=4): Avisa de descarte por congestin. Time exceeded for datagram (tipo=11): Avisa de un descarte por exceso de tiempo en el sistema.

29

Tema 4 (TyR). TCP/IP

Num. 59

Tipos de mensajes ICMP


Diagnstico:
Formato de los mensajes de Echo Request y Reply.

Se utilizan para saber si el destino es accesible (utilidades ping y trace route por ejemplo). Al mandar un Request, se obliga al destino a responder con un Reply. Podemos usar el campo de datos para pruebas ms complicadas.

Tema 4 (TyR). TCP/IP

Num. 60

Tipos de mensajes ICMP


Utilidades:
Ping: el destino devuelve el mismo mensaje que se le envi, el origen comprueba el campo de datos recibido con el transmitido (la opcin '-s' dice el tiempo que tarda en ir y volver el datagrama). Trace Route: Nos dice la ruta seguida por los datagramas en una conexin.
Para hacer esto, enva echos con TTL a 1. Esto ocasiona que el primer router enve un ICMP de descarte por TTL=0, pero adems incluir su direccin IP. Luego se enva otro con TTL=1,2.... hasta que se reciba un reply seal de que el mensaje lleg al destino.

30

Tema 4 (TyR). TCP/IP

Num. 61

Encaminamiento IP (cont.)

Encaminar: elegir una ruta por la que enviar el datagrama. Router: Mquina que realiza el proceso de elegir el camino. Rutas:
Estticas (establecidas a mano) Dinmicas (establecidas por protocolos de encaminamiento) Directas (Host a host, en la misma red) Indirectas
A travs de uno o ms router Se establecen salto a salto

Tema 4 (TyR). TCP/IP

Num. 62

Encaminamiento IP

Transmisin directa

El primer host conoce tanto IP1 como IP2 y las incluye en la cabecera IP del datagrama que enva. Para encapsular a nivel 2 se necesita conocer ET2 (direccin Ethernet): utilizar un traductor de direcciones, que d ET2 desde la IP2 conocida: protocolo ARP.

31

Tema 4 (TyR). TCP/IP

Num. 63

Encaminamiento IP

Transmisin indirecta

El host origen (que ha puesto como destino IP3) sabe quin hay en su subred. IP3 no pertenece a su subred, por lo que se lo manda al router (con direccin IP3 de destino, pero encapsuado en una trama Ethernet con destino ET2). En el router se consultan unas tablas de encaminamiento, que dicen a partir de una direccin IP destino, a qu direccin IP hay que enviar. Esa direccin IP' har lo mismo, hasta llegar al destino.

Tema 4 (TyR). TCP/IP

Num. 64

Resolucin de direcciones

Problema: Dada una direccin IP, obtener la direccin de la subred correspondiente: dirsub= f (dirIP). Soluciones:
Tablas estticas (una en cada host):

32

Tema 4 (TyR). TCP/IP

Num. 65

Resolucin de direcciones
Asociacin dinmica (protocolos de resolucin):ARP (Address Routing Protocol):

A conoce IPA, IPB y ETA, y necesita ETB para enviar a B. 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). Slo responde el que reconozca su direccin IP en el target (el resto lo que hace el apuntar IPA/ETA en su tabla ARP).

Tema 4 (TyR). TCP/IP

Num. 66

Tablas de Rutas en HOST


Host con un interfaz de red


138.100.58.10 138.100.56.1 ROUTER 138.100.56.0 A INTERNET

Destino 138.100.56.0 loopback default

Gateway * * 138.100.56.1

Mscara

Interface

255.255.252.0 eth0 255.0.0.0 * lo eth0

33

Tema 4 (TyR). TCP/IP

Num. 67

Algoritmo de Routing

Para la 1 entrada de la tabla:


185.24.20.20 10111001.00011000.00010100.00010100 255.255.252.0 11111111.11111111.11111100.00000000 AND LGICO 10111001.00011000.00010100.00000000

direccin de red destino

185.24.20.0

Para la 2 entrada de la tabla:


185.24.20.20 10111001.00011000.00010100.00010100 255.0.0.0 11111111.00000000.00000000.00000000 AND LGICO 10111001.00000000.00000000.00000000

185.0.0.0

Tema 4 (TyR). TCP/IP

Num. 68

Algoritmo de Routing (cont.)


Para la 1 entrada de la tabla:


138.100.59.20 10001010.01100100.00111011.00010100 255.255.252.0 11111111.11111111.11111100.00000000 AND LGICO 10001010.01100100.00111000.00000000
Obtener direccin IP destino del Datagrama.

direccin de red destino

138.100.56.0

Obtener direccin de red destino (teniendo en cuenta la mscara) Coincide con la 1 entrada de la tabla ? SI NO Interfaz 1 ...

34

Tema 4 (TyR). TCP/IP

Num. 69

Host con dos interfaces


138.100.58.10 138.100.58.12 PPP

138.100.56.1 ROUTER
A INTERNET

138.100.56.0

Destino 138.100.58.10 138.100.56.0 loopback default

Gateway * * * 138.100.56.1

Mscara 255.255.255.255 255.255.252.0 255.0.0.0 *

Interface ppp0 eth0 lo eth0

Tema 4 (TyR). TCP/IP

Num. 70

Enrutamiento de dos subredes


A 158.42.30.0 255.255.255.0 por 192.168.1.2 A 158.42.20.0 255.255.255.0 por 192.168.1.1 158.42.20.1 255.255.255.0 192.168.1.1 255.255.255.252 192.168.1.2 255.255.255.252 X 158.42.30.12 255.255.255.0

158.42.20.12 255.255.255.0 Subred de cuatro direcciones (192.168.1.0 - 192.168.1.3)

158.42.30.1 255.255.255.0 158.42.30.25 255.255.255.0

LAN A 158.42.20.0 255.255.255.0

LAN B 158.42.30.0 255.255.255.0

35

Tema 4 (TyR). TCP/IP

Num. 71

Contenido

Introduccin Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicacin

Tema 4 (TyR). TCP/IP

Num. 72

Nivel de transporte: Protocolo UDP


Servicio sencillo, CLNS, no fiable.Ejemplos de aplicaciones que utilizan UDP: TFTP (Trivial File Transfer Protocol): protocolo sencillo de transferencia de ficheros. DNS (Domain Name Server): para la resolucin de nombres. SNMP (Simple Network Management Protocol): protocolo de gestin de red. Las TPDUs de UDP se denominan mensajes o datagramas. UDP no tiene ningn mecanismo de control de flujo o congestin. Igual que los segmentos TCP, los mensajes UDP se dirigen a la aplicacin mediante el puerto especificado en la cabecera.

36

Tema 4 (TyR). TCP/IP

Num. 73

Datagramas UDP

Puerto fuente/destino: Valor que permite discriminar entre 216 TSAPs en el sistema origen/destino. Length: Longitud del datagrama, incluida la cabecera. Checksum: Campo de comprobacin (opcional).

Tema 4 (TyR). TCP/IP

Num. 74

Puertos

En una mquina multiproceso, 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. Por ello, los procesos que usan la red lo hacen a travs de puertos. Cada puerto del Nivel de Transporte proporciona a las aplicaciones un interfaz de acceso a la red de comunicaciones, capaz de dialogar con otra aplicacin situada en un puerto en una mquina remota.

37

Tema 4 (TyR). TCP/IP

Num. 75

Puertos (cont.)

El Nivel de Transporte TCP/IP:


multiplexa las unidades de datos que envan las aplicaciones a travs de los puertos, encapsulndolas en datagramas UDP o segmentos TCP demultiplexa los datagramas UDP y los segmentos TCP, pasando los datos a las aplicaciones.

Los puertos UDP y TCP se manejan por separado: el puerto 7 UDP y el puerto 7 TCP son puertos distintos.

Tema 4 (TyR). TCP/IP

Num. 76

Puertos (cont.)
Los puertos ms bajos estn reservados y asignados universalmente a aplicaciones de red conocidas El resto de los puertos est disponible para procesos de usuario. 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 aplicacin de red (ftp, telnet, ...), sino que un solo proceso escucha en varios puertos, y cuando recibe algo por ellos arranca el servidor adecuado.

38

Tema 4 (TyR). TCP/IP

Num. 77

Protocolo de Transporte TCP


Servicio: orientado a conexin y fiable


La transmisin de datos de nivel de transporte presenta las fases:

establecimiento de la conexin intercambio fiable de datos liberacin de la conexin.

La conexin es Full Duplex. La transferencia se apoya en el envo continuo con buffers para almacenamiento de segmentos pendientes de asentimiento. TCP proporciona control de flujo mediante esos buffers.

Tema 4 (TyR). TCP/IP

Num. 78

TCP: Servicio Fiable


Los datos de la aplicacin son troceados en segmentos. Al transmitir cada segmento se espera un asentimiento. Si no llega en un determinado plazo, se retransmite el segmento. Los segmentos TCP llevan un campo de checksum sobre cabecera y datos. Si el receptor recoge un segmento con checksum invlido, lo rechaza y no enva el asentimiento. Los segmentos TCP se reordenan en recepcin, pasandose en orden a la aplicacin. TCP descarta los duplicados en recepcin y se recupera de las prdidas.

39

Tema 4 (TyR). TCP/IP

Num. 79

Conexiones en TCP

Una conexin se identifica por un par de puntos extremos de conexin (sockets). Un socket es un PAR:
(direccin IP, Puerto) Ej. (138.100.58.21,23): Puerto 23 de la mquina 138.100.58.21.

Una conexin se especifica por el cuarteto:


(Direccin IP host 1,port host 1,direccin IP host 2,port host 2)

El port es un nmero entero entre 0 y 65535.

Tema 4 (TyR). TCP/IP

Num. 80

Puertos TCP

Los puertos bien conocidos (well-known ports) son nmeros del 0 al 1023, y estn en el RFC 1700 (Assigned Internet Numbers).
20 23 25 80 FTP-Data TELNET SMTP HTTP Transferencia de datos FTP Logon remoto Correo electrnico

Ejemplo: tres usuarios del host 134.123.1.2 hacen telnet hacia el 221.198.34.21; las conexiones seran:
(134.123.1.2,1024) con (221.198.34.21,23) (134.123.1.2,1030) con (221.198.34.21,23) (134.123.1.2,1031) con (221.198.34.21,23)

40

Tema 4 (TyR). TCP/IP

Num. 81

Segmentos TCP

Puertos: Identifican la aplicacin origen y destino del segmento. Nmero de secuencia: Nmero del primer byte transmitido en ese segmento. Nmero de asentimiento (ACK): Primer byte que se espera recibir en el prximo segmento.

Tema 4 (TyR). TCP/IP

Num. 82

Segmentos TCP (cont.)


HLEN Longitud cabecera: Tamao de la cabecera en palabras de 32 bits. Lo normal es 5. CODE Bits de control (6 bits):
URG Bit que indica si el campo de puntero a datos urgentes es vlido. ACK Bit que indica si el nmero de asentimiento es vlido. PSH Bit para indicar que el receptor debe entregar ya a la aplicacin los datos que tenga pendientes. RST Bit para indicar la reinicializacin de la conexin. SYN Bit para indicar que se van a sincronizar los nmeros de secuencia iniciales. En el inicio de la conexin. FIN El transmisor a llegado al final de los datos a transmitir.

41

Tema 4 (TyR). TCP/IP

Num. 83

Segmentos TCP (cont.)


Tamao de ventana (WINDOW)


Indica el nmero de bytes que el transmisor espera recibir del receptor: Ventana de recepcin. Tamao mximo: 64 Kb.

Checksum
Chequeo de la integridad del segmento completo. Calculado como en UDP.

Puntero a datos urgentes


Slo se interpreta si URG =1 Indica el nmero a aadir al nmero de secuencia (offset positivo) para obtener el nmero del ltimo byte urgente.

Tema 4 (TyR). TCP/IP

Num. 84

Segmentos TCP (cont.)


Relleno: Para completar el nmero entero de palabras. Se rellena con ceros. Opciones: permite incluir extensiones negociadas al protocolo.
Tamao mximo de segmento (MSS): que est dispuesto a recibir el
que enva el segemento.

Uso de repeticin selectiva Uso de NAK Uso de ventana extendida (mas de 64 Kbytes)

42

Tema 4 (TyR). TCP/IP

Num. 85

Conexin por Saludo a tres vas


En el nivel de transporte pueden llegar TPDUs duplicadas. Con un procedimiento de conexin simple una sesin entera podra verse duplicada. El saludo a tres vas es un procedimiento de conexin que evita los problemas debidos a duplicados Para ello se identifica cada intento de conexin mediante un nmero diferente. El cliente elige un nmero para la comunicacin en sentido de ida y el servidor otro para el sentido de vuelta. Estos dos nmeros actan como PINs que identifican la conexin frente a paquetes retrasados que pudieran aparecer por la red de conexiones anteriores.

Tema 4 (TyR). TCP/IP

Num. 86

Procedimiento del saludo a tres vas


1.

Cuando quiere establecer una conexin el cliente la identifica mediante un nmero elegido al azar. El nmero elegido lo comunica al servidor en la peticin de conexin que le enva. El servidor responde con un mensaje en el que acusa recibo de la peticin y le indica al cliente que nmero ha elegido l para la comunicacin en sentido inverso. El cliente enva un tercer mensaje en el que acusa recibo del segundo y considera establecida la conexin. Cuando recibe este tercer mensaje el servidor considera establecida la conexin

2.

3.

43

Tema 4 (TyR). TCP/IP

Num. 87

Conexin en TCP

TCP cuenta los bytes transmitidos para asegurar que no se pierde ningn segmento. El nmero de secuencia es un campo de 32 bits que cuenta bytes en mdulo 232, es decir el contador se da la vuelta cuando llega al valor mximo. El nmero de secuencia no empieza normalmente en 0, sino en un valor elegido al azar denominado ISN (Initial Sequence Number); este ISN es precisamente el PIN utilizado en el saludo a tres vas para asegurar la autenticidad de la comunicacin. Cada lado de la comunicacin (cliente o servidor) elige libremente el ISN para su sentido de la comunicacin.

Tema 4 (TyR). TCP/IP

Num. 88

TCP A
CLOSED SYN-SENT
(seq = 100) (c tl = SYN)

TCP B
LISTEN

SYN-RECEIVED
N, 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 conexin TCP pueden llevar datos. En este caso el TCP remoto los ha de retener hasta que la aplicacin receptora acepte la conexin.

44

Tema 4 (TyR). TCP/IP

Num. 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,AC K) K) (ctl=SYN, AC

ESTABLISHED

ESTABLISHED

Conexin saludo a tres vas, conexin simultnea

Tema 4 (TyR). TCP/IP

Num. 90

Desconexin en TCP

Se utiliza el saludo a tres vas invitando a la otra parte a cerrar. El host que toma la iniciativa puede ser el cliente o el servidor. Una vez efectuada la desconexin el host que inici el proceso est un cierto tiempo a la espera por si aparecen segmentos retrasados

45

Tema 4 (TyR). TCP/IP

Num. 91

TCP A
ESTABLISHED FIN-WAIT-1
(seq = 100)(A CK=300) (ctl = FI N,ACK)

TCP B
ESTABLISHED

CLOSE-WAIT
K) =101)(ctl=AC (seq=300)(ack

FIN-WAIT-2
(seq=300)(ack

,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). TCP/IP

Num. 92

Intercambio de datos TCP TCP


TCP manda los datos cuando quiere. Excepcin: datos Pushed TCP decide el tamao de segmento segn sus preferencias. Al inicio de la conexin 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 mxima, reduciendo as el overhead debido a cabeceras y proceso de segmentos. El TCP emisor puede aplicar la tcnica de descubrimiento de la MTU del trayecto (Path MTU Discovery, MTU = Maximum Transfer Unit) para ajustar el MSS al tamao ptimo para esa comunicacin.

46

Tema 4 (TyR). TCP/IP

Num. 93

Intercambio de datos TCP Aplicacin y TCP TCP


Aplicacin origen
A criterio de la aplicacin (sujeto a disponibilidad de buffer en TCP emisor)

Aplicacin destino

Empuja

Estira

A criterio de la aplicacin

TCP emisor

Buffer

Empuja
A criterio del TCP emisor (sujeto a disponibilidad de buffer en TCP receptor)

Buffer

TCP receptor

Tema 4 (TyR). TCP/IP

Num. 94

Intercambio de datos TCP Aplicacin y TCP TCP


Aplicacin origen Aplicacin destino
1024 Bytes

Escribe

2048 Bytes

Lee
1024 Bytes

TCP emisor

Buffer 512 B

Enva
512 B 512 B 512 B

Buffer

TCP receptor

(MSS 512 Bytes)

47

Tema 4 (TyR). TCP/IP

Num. 95

Gestin 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 comunicacin. Esto se denomina tamao de ventana. Anunciando una ventana cero el receptor puede bloquear al emisor, y ejercer as control de flujo sobre l. La ventana anunciada es un espacio que el TCP receptor reserva para esa comunicacin en su buffer.

Tema 4 (TyR). TCP/IP

Num. 96

Buffer

Emisor
La aplicacin escribe 2 KB

Receptor
0 4K

2 KB Seq = 0
in = 2048 Ack = 2048, W

Vaco 2 KB

La aplicacin escribe 3 KB

2 KB Seq = 2048

Lleno
Emisor Bloqueado
Win Ack = 4096, =0

in = 2048 Ack = 4096, W

La aplicacin lee 2 KB

2 KB

El emisor puede enviar hasta 2 KB

1K

Seq = 4096

3 KB

48

Tema 4 (TyR). TCP/IP

Num. 97

Reenvo de segmentos

En caso de prdida de un paquete en la red el segmento TCP no llegar a su destino Cada TCP cuando enva un segmento espera recibir el ACK; si este no llega dentro de un tiempo reenva el segmento. Si se enviaron varios segmentos y se pierde uno se puede hacer dos cosas:
Enviar solo ese (repeticin selectiva) Enviar todos los segmentos a partir de ese (retroceso n)

Lo normal es utilizar retorceso n

Tema 4 y (TyR). TCP/IP Control de flujo nmeros de secuencia

Num. 98

Ventana 4000

Host 1
SYN

Host 2
Seq = 1000, Win = 4000 Seq = 1500, Ack = 1001, Win = 4000
SYN

Ventana

4000 3000

1000 bytes

Seq = 1001, Ack = 1501 Seq = 1501, Ack = 2001


1000 bytes

3000

1000 bytes 1000 bytes 1000 bytes

Seq = 2001, Ack = 2501 Seq = 3001, Ack = 2501 Seq = 4001, Ack = 2501 Seq = 2501, Ack = 5001

2000 1000 0

Bloqueado Seq = 2501, Ack = 5001, Win = 2000


1000 bytes

Aplicacin lee datos 2000 1000 3000

Seq = 5001, Ack = 2501 Seq = 2501, Ack = 6001, Win = 3000

49

Tema 4 (TyR). TCP/IP

Num. 99

Intercambio de datos: casos excepcionales


Datos Pushed (bit PSH)


La aplicacin pide al TCP emisor que enve esos datos lo antes posible. El TCP receptor los pondr a disposicin de la aplicacin de inmediato, para cuando sta le pida datos. Ejemplo: telnet.

Datos Urgentes (bit URG y Urgent Offset)


Los datos se quieren entregar a la aplicacin remota sin esperar a que esta los pida. Ejemplo: abortar un programa con CTRL-C en una sesin telnet

Tema 4 (TyR). TCP/IP

Num. 100

Contenido

Introduccin Arquitectura TCP/IP Interfaz de red Direcciones IP Nivel IP Nivel de transporte Nivel de aplicacin

50

Tema 4 (TyR). TCP/IP

Num. 101

Aplicaciones TCP/IP
Procesos que usan la capa de transporte para transmitir/recibir datos

Tema 4 (TyR). TCP/IP

Num. 102

Modelo cliente-servidor

SERVIDOR:
Cualquier programa que ofrece un servicio que se puede obtener por la red. Acepta peticiones, realiza el servicio y devuelve el resultado.

CLIENTE:
Enva peticiones al servidor y espera una respuesta. Interacta con el usuario.

51

Tema 4 (TyR). TCP/IP

Num. 103

Modelo cliente-servidor . Ejemplo: ftp


SERVIDOR:
Espera peticiones por un puerto bien conocido que ha sido reservado para el servicio que se ofrece.

CLIENTE:
Utiliza un puerto arbitrario, no reservado, para comunicarse, con un nmero > 1023.

Tema 4 (TyR). TCP/IP

Num. 104

Modelo cliente-servidor . Ejemplo: ftp

52

You might also like