PROTOCOLO TCP IP
Introducción a TCP e IP
3copyright © 1996 Wandel & Goltermann
Funciones de TCP e IPFunciones de TCP e IP TCP
prové confiabilidad; implementa conexión de datos, recuperación de errores por repetición, control de flujo
UDP transporte de datagramas, no
orientado a conexión IP
protocolo de enrutamiento ICMP
gestión de errores de la capa IP (implementa, por ejemplo, Ping y Traceroute)
IGMPgestión de grupo (para multicasting)
ARP (Address Resolution Protocol) e RARP (Reverse ARP)
para conversión de direcciones IP en direcciones usadas por la interfaz de red y vice-versa
TCP UDP
ICMP IP IGMP
ARPinterfaz de hardware
RARP
proc. de usuario
proc. de usuario
proc. de usuario
proc. de usuario
medio físico
aplicación
transporte
red
enlace
4copyright © 1996 Wandel & Goltermann
Direcciones IPDirecciones IP
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8byte 1 byte 2
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8byte 3 byte 4
0
1
1
0
1 1
7 bits: ident. da red (netid)
14 bits: ident. da red (netid)
24 bits: ident. del host (hostid)
1 1 0
16 bits: ident. del host (hostid)
0 28 bits: ident. del grupo de multicasting
1 1 1 1 27 bits: reservados para usos futuros0
21 bits: ident. da red (netid) 8 bits: ident. del host (hostid)
Las direcciones de clases A e B generalmente son divididas en sub-redesde los 24 o 16 bits del hostid, algunos son reservados para designar una
sub-redtambién posible para la clase C, pero los 8 bits de hostid son pocos...
A
B
C
D
E
clase:
5copyright © 1996 Wandel & Goltermann
MultiplexaciónMultiplexación
Ya vimos que varias entidades solicitan los servicios del protocolo IPeste es el caso de UDP, TCP, ICMP e IGMPel IP agrega un identificador de 1 byte que indica a cual capa
pertenecen los datos (campo protocolo)el valor 1 corresponde a ICMP, 2 a IGMP, 6 a TCP e 17 a UDP
De forma similar, varias aplicaciones pueden solicitar los servicios del UDP o del TCPambos utilizan un número de 16 bits llamado número de
puerto para identificar la aplicaciónlos encabezados de TCP e UDP traen los números de los
puertos de destino e de origen La capa física envía y recibe datos de IP, ARP e RARP
el encabezado Ethernet contiene un campo de tipo de trama de 16 bits para identificar la capa de red correcta
6copyright © 1996 Wandel & Goltermann
Multiplexación (cont.)Multiplexación (cont.)
ARP
driverEthernet
IP
RARP
ICMP IGMP
TCPUDP
aplicaciónaplicaciónaplicación aplicación
demultiplexaciónbasada en el tipo dequadro Ethernet
demultiplexaciónbasada en el protocolvalue del encabezado IP
demultiplexación basadaen el destination port
number del encabezadoTCP o UDP
7copyright © 1996 Wandel & Goltermann
Funciones de TCP e IPFunciones de TCP e IP TCP
prové confiabilidad; implementa conexión de datos, recuperación de errores por repetición, control de flujo
UDP transporte de datagramas, no
orientado a conexión IP
protocolo de enrutamiento ICMP
gestión de errores de la capa IP (implementa, por ejemplo, Ping y Traceroute)
IGMPgestión de grupo (para multicasting)
ARP (Address Resolution Protocol) e RARP (Reverse ARP)
para conversión de direcciones IP en direcciones usadas por la interfaz de red y vice-versa
TCP UDP
ICMP IP IGMP
ARPinterfaz de hardware
RARP
proc. de usuario
proc. de usuario
proc. de usuario
proc. de usuario
medio físico
aplicación
transporte
red
enlace
8copyright © 1996 Wandel & Goltermann
Direcciones IPDirecciones IP
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8byte 1 byte 2
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8byte 3 byte 4
0
1
1
0
1 1
7 bits: ident. da red (netid)
14 bits: ident. da red (netid)
24 bits: ident. del host (hostid)
1 1 0
16 bits: ident. del host (hostid)
0 28 bits: ident. del grupo de multicasting
1 1 1 1 27 bits: reservados para usos futuros0
21 bits: ident. da red (netid) 8 bits: ident. del host (hostid)
Las direcciones de clases A e B generalmente son divididas en sub-redesde los 24 o 16 bits del hostid, algunos son reservados para designar una
sub-redtambién posible para la clase C, pero los 8 bits de hostid son pocos...
A
B
C
D
E
clase:
9copyright © 1996 Wandel & Goltermann
MultiplexaciónMultiplexación
Ya vimos que varias entidades solicitan los servicios del protocolo IPeste es el caso de UDP, TCP, ICMP e IGMPel IP agrega un identificador de 1 byte que indica a cual capa
pertenecen los datos (campo protocolo)el valor 1 corresponde a ICMP, 2 a IGMP, 6 a TCP e 17 a UDP
De forma similar, varias aplicaciones pueden solicitar los servicios del UDP o del TCPambos utilizan un número de 16 bits llamado número de
puerto para identificar la aplicaciónlos encabezados de TCP e UDP traen los números de los
puertos de destino e de origen La capa física envía y recibe datos de IP, ARP e RARP
el encabezado Ethernet contiene un campo de tipo de trama de 16 bits para identificar la capa de red correcta
10copyright © 1996 Wandel & Goltermann
Multiplexación (cont.)Multiplexación (cont.)
ARP
driverEthernet
IP
RARP
ICMP IGMP
TCPUDP
aplicaciónaplicaciónaplicación aplicación
demultiplexaciónbasada en el tipo dequadro Ethernet
demultiplexaciónbasada en el protocolvalue del encabezado IP
demultiplexación basadaen el destination port
number del encabezadoTCP o UDP
11copyright © 1996 Wandel & Goltermann
Números de Puertos TCP y UDPNúmeros de Puertos TCP y UDP
Como se atribuyen los valores del port number?los servidores normalmente tienen un nº. de puerto well-
known (ampliamente conocido)p/ ej., toda implementación TCP/IP con un servidor FTP dá ese
servicio en el puerto TCP de nº. 21; todo servidor Telnet sobre TCP está en el puerto 23; toda implementación TFTP está en el puerto 69 de UDP
esos números (de 1 a 1023) son atribuidos por la IANA (Internet Assigned Numbers Authority)
los clientes no se importan con cual número de puerto se utiliza de su propio lado (puertos efímeros); apenas, esos números tienen que ser únicos de su lado
esos números efímeros varían, generalmente, de 1024 a 5000
12copyright © 1996 Wandel & Goltermann
Servicios Simples EstandarizadosServicios Simples Estandarizados Algunos servicios estandarizados son soportados por casi todas
las implementaciones:
nombre puerto TCPpuerto UDP RFC descripción
echo 7 7 862 el servidor devuelve todo lo que el cliente envía
discard 9 9 863 el servidor descarta todo lo que el cliente envía
daytime 13 13 867 el servidor devuelve la fecha y la hora en formato legible
chargen 19 19 864
el servidor TCP envía una cadena continua de caracteres hasta que el cliente termine la
conexión; el servidor UDP envía un datagrama conteniendo un número aleatorio de caracteres cada vez que el cliente le envía
un datagrama
time 37 37 868el servidor devuelve el tiempo bajo la forma
de un nº. binario de 32 bits; este nº. representa el número de segundos desde la
cero hora de 1/1/1900, UTC
13copyright © 1996 Wandel & Goltermann
Interfaces de Programas de Aplicación (APIs)Interfaces de Programas de Aplicación (APIs)
Las dos APIs más comunes para aplicaciones corriendo sobre TCP/IP son “sockets” y TLI (Transport Layer Interface)la primera también es llamada Berkeley sockets, pués fué
desarrollada allíla segunda fué originalmente desarrollada por la AT&T, siendo
llamada XTI (X/Open Transport Interface), reconociendo el trabajo hecho por la X/Open
14copyright © 1996 Wandel & Goltermann
Encapsulación en la Capa de EnlaceEncapsulación en la Capa de Enlace
La capa de enlace corre entre puntos adjacentes, por debajo de la capa IP (o ARP, o RARP)la capa de enlace depende del medio utilizado (Ethernet,
Token Ring, FDDI, interfaz serie RS-232, etc.)además de las capas de enlace para ambientes Ethernet, hay
dos capas de enlace especializadas para interfaces serie: SLIP y PPP, con el driver de loopback asociado
SLIP significa serial line IPmuy sencilla: el datagrama IP es enmarcado por el caracter
especial end, hex c0si ese caracter aparece entre los datos, es anulado por la
secuencia SLIP ESC (hex db dc)si esa secuencia aparece entre los datos, es modificada para
hex db ddPPP significa point to point protocol
15copyright © 1996 Wandel & Goltermann
Protocolo SLIPProtocolo SLIP
O SLIP tiene algunas pequenas desventajas:no permite que un extremo informe su dirección IP al otro (las
direcciones tienen que ser conocidas de antemano)no hay campo de tipo: la linea serie solo puede ser utilizada
para un único protocolono hay CRC: no hay detección de errores de transmisión por
parte del SLIP (sería una atribución de capas superiores)algunos modems modernos pueden detectar y corrigir erroresde cualquier forma, es esencial que las capas superiores
detecten erroresel encabezado IP es protegido por un CRC, y los encabezados y
los datos TCP también son protegidos por un CRC; en el caso de UDP, el CRC es opcional
16copyright © 1996 Wandel & Goltermann
Protocolo CSLIP (SLIP Comprimido)Protocolo CSLIP (SLIP Comprimido)
Una desventaja de lineas serie para tráfico interactivo es el tamaño del encabezado IP y TCP (20 más 20 bytes)hay una versión nueva de SLIP, llamada CSLIP, que reduce el
encabezado de 40 para 3 ó 5 bytesmantiene el estado de hasta 16 conexiones TCP en cada
extremo y sabe que algunos campos en los dos encabezados no cambian nunca
17copyright © 1996 Wandel & Goltermann
Protocolo PPPProtocolo PPP
PPP soluciona las deficiencias de SLIPsoporta enlaces asíncronos y orientados a bitsuministra un protocolo de control de enlace (LCP, link
control protocol) para establecer, configurar y probar el enlace de datos
soporta múltiples NCPs (network control protocols), tales como IP, para la capa de red OSI, para DECnet y AppleTalk
el NCP para IP, p/ ej., permite que cada extremo especifique si es capaz de comprimir los encabezados (similarmente a CSLIP)
flag
7E
dire
cció
nFF
frame check
sequencecampo de información
cont
rol
03 CRCprotocolo:0021 - IP
C021 - LCP8021 - NCP
2 bytes hasta 1500 bytes 2 bytes
flag
7E
1 by
te
1 by
te
1 by
te
1 by
te
18copyright © 1996 Wandel & Goltermann
Detallamento del IPDetallamento del IP
19copyright © 1996 Wandel & Goltermann
desplazam. del fragmento (13 bits)
El Encabezado IPEl Encabezado IP
identificación (16 bits)
versión(4 bits)
longitud delencabezado
(4 bits)tipo de servicio
(8 bits) longitud total (en bytes, 16 bits)
flags de3 bits
tiempo de vida (time to live) (8 bits) protocolo (8 bits)
secuencia de verificación:checksum del encabezado IP (16 bits)
dirección IP de origen (32 bits)
dirección IP de destino (32 bits)
opciones (si es que las hay)
datos
20 b
ytes
20copyright © 1996 Wandel & Goltermann
Campos del Encabezado IP (1)Campos del Encabezado IP (1)
Versiónla versión actual del IP es la 4 (IPv4)
la versión 6.0 ya se publicó y está en etapa de implantación Longitud del encabezado
número de palabras de 32 bits que componen el encabezado Tipo de servico (TOS)
l3 bits de precedencia, que no se utilizam1 bit fijo en cero4 bits de TOS:
minimizar retardomaximizar caudalmaximizar confiabilidadminimizar costo
de estos 4 bits, apenas uno puede estar seteado
21copyright © 1996 Wandel & Goltermann
Campos del Encabezado IP (2)Campos del Encabezado IP (2)
Longitud totalcantidad total de bytes del datagrama
en el caso de datagramas fragmentados, longitud (en bytes) del fragmento actual
Identificaciónidentificación unívoca de un datagrama (incrementado a cada
nuevo datagrama)en el caso de fragmentación, todos los fragmentos del
datagrama ganan el mismo número de identificación Banderas
uno de los bits indica haber más fragmentos (seteado para 0 en el último fragmento)
otro bit significa “no fragmentar”si un host no logra transmitir sin fragmentar, el datagrama es
descartado y el ICMP genera un mensaje de error
22copyright © 1996 Wandel & Goltermann
Campos del Encabezado IP (3)Campos del Encabezado IP (3)
Desplazamiento del segmentoindica el offset del inicio del fragmento actual en relación al
inicio del datagramaincluso, permite que el datagrama sea ensamblado
corretamente aún cuando los fragmentos llegam fuera de orden Tiempo de vida (TTL)
fija un límite superior para el número de enrutadores por los cuales el datagrama puede pasar
es inicializado por el transmisor (p. ej. en 32 ó 64) y decrementado al passar por un enrutador
cada enrutador lo decrementa en una unidade, o en el número de segundos que ha retenido el datagrama si la retención ha sido de más de un segundo
al llegar a cero este campo, el datagrama es descartado, y un mensaje de ICMP es generada para el transmisor
23copyright © 1996 Wandel & Goltermann
Campos del Encabezado IP (4)Campos del Encabezado IP (4)
Protocoloya comentado:
el valor 1 corresponde a ICMP, 2 a IGMP, 6 a TCP y 17 a UDP Checksum del encabezado
calculado sobre el encabezado IP, apenaslos demás protocolos (ICMP, IGMP, UDP e TCP tienen sus
propias checksums específicasla checksum no pasa del complemento a 1 del encabezado,
visto como palabras de 16 bitsun error acá no hace con que se genere un mensaje de error (el
datagrama es sencillamente descartado)como los enrutadores intermedios decrementan el valor del
tiempo de vida, deben actualizar el valor de la checksumgeneralmente lo hacen incrementando a checksum, pués dá lo
mismo que volver a calcularla
24copyright © 1996 Wandel & Goltermann
Campos del Encabezado IP (5)Campos del Encabezado IP (5)
Opciones IPraramente usadas, y ni siempre soportadas por los
enrutadores e hostslas opciones actualmente definidas son las siguientes:
restricciones de seguridad y manejo (p. ej. para aplicaciones militares)
registro de la ruta (cada enrutador debe registrar su dirección IP)
sello de hora (cada enrutador debe registrar su dirección IP y la hora actual)
enrutamiento tolerante por la fuente (especificando un listado de direcciones IP que deben ser recorridas por el datagrama)
enrutamiento estricto por la fuente (similar al anterior, especificando un listado de direcciones IP a ser recorridas por el datagrama, pero en este caso SOLAMENTE esas direcciones pueden ser recorridas)
25copyright © 1996 Wandel & Goltermann
Protocolos de Resolución de DireccionesProtocolos de Resolución de DireccionesARP e RARP ARP e RARP
26copyright © 1996 Wandel & Goltermann
Explanación del ProblemaExplanación del Problema
Las direcciones IP solo tienen sentido para el TCP/IPen medios compartidos, como Ethernet o Token Ring, hay
esquemas propios de direccionamiento (generalmente, 48 bits) que cualquier capa usuaria tienen que seguir
la resolución de direcciones permite un mutuo mapeo (asociación) entre dos tipos de direccionamiento: direcciones IP de 32 bits y direcciones utilizadas por el enlace de datos
dirección Ethernet de 48 bits
dirección IP de 32 bits
ARP RARP
27copyright © 1996 Wandel & Goltermann
ARPARP
El ARP ofrece un mapeo dinámico de una dirección IP en la dirección de hardware correspondienteel RARP es usado por sistemas sin disco rígido, pero
requiere una configuración manual hecha por el administrador de la red
El problema consiste en resolver una dirección IP lógica en una dirección, por ejemplo, Ethernet físicapara hacerlo, ARP envía una trama broadcast a la Ethernet
llamada “ARP request” a todos los hosts a la red, conteniendo la dirección IP de destino buscada
la pregunta es, “Si usted tiene esta dirección IP, conteste a mi con su dirección física”
la estación que reconoce su dirección IP contesta con una trama Ethernet “ARP reply”
28copyright © 1996 Wandel & Goltermann
CachéCaché de ARP y Otras Consideraciones de ARP y Otras Consideraciones
Una vez obtenida la correspondencia, el mapeo es almacenado en una memoria caché en cada hostesa caché mantiene los mapeaos recientes de direcciones IP
en direcciones de hardwareel tiempo normal para que cada linea dure en memoria es de
20 minutos Una trama ARP en la Ethernet tiene 28 bytes además del
encabezado Ethernet de 14 bytesel campo de “tipo de trama” 0806 indica tratarse de ARPel “ARP request / reply” contiene las direcciones de Ethernet
e IP de origen y de destino (en el request falta la dirección Ethernet de destino, está claro)
Top Related