PDF de programación - Tema 3:TCP/IP, UDP

Imágen de pdf Tema 3:TCP/IP, UDP

Tema 3:TCP/IP, UDPgráfica de visualizaciones

Publicado el 20 de Julio del 2019
542 visualizaciones desde el 20 de Julio del 2019
531,7 KB
15 paginas
Creado hace 20a (23/02/2004)
Tema 3:TCP/IP, UDP

Tema 3:TCP/IP, UDP

Tema 3: Transporte: TCP/IP, UDP

UDP
Funcionalidades de TCP

Control de errores
Control de flujo
Control de la congestión

Grafo de estados TCP

3wHS
Finalización de la conexión.

Control de flujo

Control de congestión

Slow Start
Congestion Avoidance

Sockets

Sliding Window
TimeOuts: algoritmo de Van Jacobson para el temporizador TCP

Concepto de socket y llamadas al sistema en UNIX
Mapeo de llamadas a sockets con el grafo de estados de TCP
Servidores concurrentes e interactivos

Tema 3:TCP/IP, UDP

Transporte: nivel 4 cuyas funciones principales son:

Proporcionar conectividad extremo-a-extremo entre hosts
Sólo se incluyen los protocolos de transporte en los hosts (nunca
en los routers a no ser que sean por alguna razón especifica, e.g.
Gateways de aplicación)

Proporcionan estructuración de la información (segmentos TCP y

datagramas UDP)

Multiplexación/demultiplexación de aplicaciones en transporte

(concepto de puertos como identificador de las aplicaciones)

Uso de comunicaciones fiables y no fiables a nivel de transporte:

TCP: detección y control de errores y control de flujo y de la
congestión extremo a extremo orientado a la conexión (para
aplicaciones de datos) RFC 793

UDP: sólo detección de errores extremo a extremo no
orientado a la conexión (para aplicaciones en tiempo real
como son audio y vídeo) RFC 768

11

33

Modelo arqutectonico

Aplicación

Presentación

Sesión

Transporte

Red

Enlace de datos

Física

F
T
P

H
T
T
P

D
N
S

R
I
P

T
F
T
P

D
H
C
P

Aplicación

T
E
L
N
E
T

TCP

UDP

Transporte

IP

Ethernet, Token Ring

F.R., FDDI

Internet

Interfaz
de Red

Modelo de referencia OSI

Capas conceptuales TCP/IP

22

44

Tema 3:TCP/IP, UDP

UDP (User Datagram Protocol):

Protocolo de transporte no-orientado a la conexión, cuya unidad de

encapsulamiento es el datagrama UDP

Protocolo de datagrama de usuario
Ideal para comunicaciones en tiempo real
Cada escritura por parte de la aplicación provoca la creación de un

Datagrama UDP

Cada datagrama UDP creado provoca la creación de un datagrama

IP en el nivel 3

Si se pierde el datagrama IP o UDP es problema de la aplicación

remota incorporar mecanismos de retransmisión.

Para IP, UDP es básicamente un interfaz de aplicación.
No añade fiabilidad.
Básicamnete es como un multiplexor/demultiplexor que sirve para

enviar y recibir datagramas.

Puede transmitir más información en menor tiempo que TCP.

Tema 3:TCP/IP, UDP

Tema 3:TCP/IP, UDP

UDP (User Datagram Protocol):

Foncionamiento del protocolo UDP

Aplicación 1

Aplicación 2

………….

Aplicación N

Puerto 1 Puerto 2

………….

Puerto N

UDP

IP

Datagrama IP con UDP

Datagrama IP

Datagrama UDP

IP

Header

UDP
Header

Datos UDP

Tema 3:TCP/IP, UDP

UDP (User Datagram Protocol):

UDP checksum: detector de errores que aplica a TODO el
datagrama (recordar que checksum IP sólo cubría la cabecera IP)
Para calcularlo necesitamos que la longitud del datagrama
UDP sea un número par de octetos (para poder agruparlos en
words de 16-bits)

Si no hay un número par entonces hacer padding (añadir un

byte de 0s al final del datagrama)

El checksum además de la cabecera UDP cubre ciertos
campos de la cabecera IP para hacer un “double-checking”.
Esos campos son:

Direcciones IP, protocol field, total IP length

Para calcular el checksum, UDP crea una pseudo-cabecera
con estos campos además de los campos del datagrama UDP
Si se detecta un error a nivel 4, el datagrama UDP se descarta

y NO se genera ningún tipo de mensaje hacia el origen

¿Porqué el checksum? para detectar que NADIE ha

modificado el datagrama UDP

55

77

UDP (User Datagram Protocol):

Datagrama UDP (8 bytes de cabecera)

Puertos: identifican a la aplicación origen y destino
UDP

total del datagrama UDP

longitud

length:

redundante ya que IP lleva la longitud también)

(campo

UDP checksum: detector de errores que aplica a TODO el
datagrama (recordar que checksum IP sólo cubría la cabecera IP)

8 bytes

66

88

Tema 3:TCP/IP, UDP

UDP (User Datagram Protocol):

Maximum UDP size:

En principio, como IP tiene una longitud máxima de 65335 bytes
(16-bits de longitud de datagrama), la máxima longitud de un
datagrama UDP sería 65335 – 20 bytes = 65315 bytes, lo que
hace una longitud de datos de 65315 – 8 bytes = 65307 bytes

Pero limitaciones del software: casi todas las APIs (Aplication
Program Interfaz) limitan la longitud de los datagramas UDP (lo
mismo para TCP) a la máxima longitud que los buffers de
lectura y escritura de los sockets (llamadas al sistema “read” y
“write”)

Este límite es dependiente del SO: e.g: muchos de ellos (e.g.;
tamaño máximo del

FreeBSD) usan 8192 bytes como
datagrama UDP

Tema 3:TCP/IP, UDP

Tema 3:TCP/IP, UDP

TCP (Transmission Control Protocol):

Protocolo orientado a la conexión (estableciemiento de la conexión,

envío de datos y cierre de la conexión).

Protocolo para el control de la transmisión.
Garantiza la entrega fiable a redes remotas.
Tal vez el protocolo MAS complejo e importante de la pila de

protocolos. Unidad de datos es el “segmento TCP”

Proporciona fiabilidad mediante el control de flujo, control de

errores y control de la congestión

Los segmentos pueden llegar fuera de orden (debajo hay IP que es
no orientado a la conexión, o sea, datagrama), por tanto, TCP debe
reordenar los segmentos antes de pasarlos a la aplicación

99

1111

Tema 3:TCP/IP, UDP

TCP (Transmission Control Protocol):

Foncionamiento del protocolo TCP

Aplicación 1



Puerto N …

TCP

IP

Conexión TCP

Datagramas IP

Aplicación N



Puerto M …

Sockets

TCP

IP

Datagrama IP con TCP

Datagrama IP

Segmento TCP

IP

Header

TCP
Header

Datos TCP

TCP (Transmission Control Protocol):

Características

Transferencia de datos a través de un canal, TCP transfiere un
flujo continuo de bytes a través de una red. TCP se encarga de
trocear los datos de las aplicaciones y enviarlas a IP.

Fiabilidad TCP asigna un número de secuencia a cada byte
transmitido y espera la respuesta afirmativa del TCP receptor
(ACK).

Control de flujo con el que el TCP receptor avisa a l emisor
mediante el envio de un ACK del número de bytes que aún
puede recibir

Multiplexación mediante el uso de puertos como en UDP.
Conexiones lógicas es la unión del emisor con el receptor

incluyendo los sockets.

Full Duplex

Tema 3:TCP/IP, UDP

Cabecera TCP:

0

16

31

Source port number

Destination port number

Sequence number

ACK number

Header

Reserved

U
R
G

A
C
K

Cecksum

R
S
T

S
Y
N

F
I
N

P

S

H

Windows size

Urgent pointer

Options

Data

1010

1212

Tema 3:TCP/IP, UDP

Cabecera TCP:

Ports: identifican las aplicaciones
Sequence number: identifica el primer byte de datos dentro de
ese segmento de la secuencia de bytes enviados hasta ese
momento.



ISN (Initial Seq. Number): primer número de secuencia
escogida por el protocolo TCP

Seq. Number será un número a partir de ISN. Por tanto para
saber cuantos bytes llevamos enviados hay que hacer “Seq.
Number – ISN”

Ack Number: contiene el próximo número de seq. que el

transmisor del ACK espera recibir
Por tanto es el “Seq. Number+1” del último byte recibido

correctamente

Cuidado !!! TCP es FULL-DUPLEX: cada extremo mantiene un

Seq. Number y un Ack Number

Header length: longitud total de la cabecera (opciones variable)

Tema 3:TCP/IP, UDP

Programa cliente-servidor

CLIENTE

Socket ()

Connect()

3WHS

Write ()

Read ()

Close ()

Datos (solicitud)

Datos (respuesta)

EOF (notificación)

Puerto
conocido
Disposición
para aceptar
conexiones

bloqueo

SERVIDOR

Socket ()

Bind ()

Listen ()

Accept ()

Read ()

Write ()

Read ()

Close ()

1313

1515

1414

1616

Tema 3:TCP/IP, UDP

Flags: hay 6 flags (bits) en la cabecera

URG: Urgent Pointer field valido
ACK: Ack Number es valido
PSH: el receptor debe pasar los datos a la aplicación tan

rápido como sea posible
RST: “Reset” la conexión
SYN: Sincronización de los números de secuencia al iniciar la

conexión

FIN: termina la conexión

Window Size: tamaño de la ventana advertida por el receptor al

transmisor (Sliding Window). Máxima ventana = 65535 bytes

Checksum: de todo el segmento TCP (igual que UDP)
Urgent Pointer: puntero al Seq. Number que indica la parte de

datos urgentes dentro del campo de datos

Options: opción de anunciar el MSS (Maximum Segment Size)

Tema 3:TCP/IP, UDP

Establecimiento de la conexión TCP con 3WHS:

Usa el 3-Way Handshake Algorithm:

El cliente envía un segmento SYN especificando el puerto
destino del servidor, su puerto origen (escogido por el Kernel)
y el ISN (Initial Seq Number) escogido al azar por el Kernel

El receptor (servidor)
  • Links de descarga
http://lwp-l.com/pdf16333

Comentarios de: Tema 3:TCP/IP, UDP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad