Ch24 Tcpudp Ucci

59
23.1 Protocolo : UDP, TCP

Transcript of Ch24 Tcpudp Ucci

23.1

Protocolo :

UDP, TCP

2.2

Figure 2.16 Modelo OSI – Envio Seguro y no seguro

2.3

Figure 2.17 Direccionamiento en TCP/IP

2.4

Figure 2.18 Relacion entre niveles OSI y el direccionamiento TCP/IP

23.5

23-1 COMUNICACIÓN PROCESO A PROCESO

El nivel de transporte es responsable de la

comunicación proceso a proceso : la entrega de un

paquete , parte de un mensaje, de un proceso a otro.

Dos procesos se comunican con una relación

cliente/servidor.

Paradigma Cliente/Servidor

Multiplexación y Demultiplexación.

Servicio sin conexión frente a servicio orientado a conexión

Fiable frente a no fiable

Tres protocolos

Temas discutidos en esta sección:

23.6

El nivel de transporte es responsable de

la comunicación proceso a proceso.

Note

23.7

Figure 23.1 Tipos de comunicación de datos

23.8

Figure 23.2 Número de Puertos

23.9

Figure 23.3 Direcciones IP y números de puertos

23.10

Figure 23.4 Rangos IANA

23.11

Figure 23.5 Dirección de Socket

23.12

Figure 23.8 Posición de UDP, TCP, y SCTP en la siute TCP/IP

23.13

23-2 PROTOCOLO DE DATAGRAMA DE USUARIO (UDP)

El protocolo de datagrama de usuario (User Datagram

Protocol, UDP) es un protocolo sin conexión y no

fiable. No añade nada a los servicios de IP excepto

proporcionar comunicación proceso a proceso en lugar de

comunicaciones computadora a computadora.

Puertos bien conocidos UDP

Dagramas de usuario

Control de flujo y error (Checksum)

Funcionamiento de UDP

Use de UDP

Temas discutidos en esta sección:

23.14

Table 23.1 Puertos bien conocidos UDP

23.15

Informacion Windows y Linux

Example 23.1

23.16

Figure 23.9 Formato de datagrama de usuario

23.17

Longitud UDP = longitud lP - longitud

cabecera lP.

Note

23.18

Figure 23.10 Pseudo cabecera para el calculo del checksum

23.19

Sólo aquellos procesos que envían

mensajes cortos deberían usar UDP

Note

23.20

Figure 23.11 Calculo de la suma de comprobación de un paquete UDP

23.21

Figure 23.12 Colas en UDP

23.22

Figure 23.13 CONCLUSIONES UDP

1. UDP es adecuado para un proceso que necesita comunicación

petición-respuesta sencilla y al cual le preocupa poco el control de flujo

y error.

2. Habitualmente no se usa para un proceso como FTP que necesita usar

datos masivos

3. UDP es adecuado para procesos con mecanismos internos de control

de flujo y error. Por ejemplo, el Trivial File Transfer Protocol (TFTP)

incluye control de flujo y error. Puede usar fácilmente UDP.

4. UDP es un protocolo de transporte adecuado para multienvío. La

capacidad de multienvío está empotrada en el software UDP, pero no

en el TCP.

5. UDP se usa para procesos de gestión como SNMP.

6. UDP se usa para algunos protocolos de actualización de ruta, como el

Routing Information Protocol (RIP).

23.23

23-3 TCP

A diferencia de UDP, TCP es un protocolo orientado

conexión; crea una conexión virtual entre dos TCP

para enviar datos.

Además, TCP usa mecanismos de control de flujo y

error a nivel de transporte. level.

Servicios TCP

Carácteristicas TCP

Segmentos

Una conexión TCP

Control de Flujo

Contro de Error

Topics discussed in this section:

23.24

Table 23.2 Puertos bien conocidos usados por TCP

23.25

Figure 23.13 Envio de flujos

23.26

Figure 23.14 Buffers de envío y recepción

23.27

Figure 23.15 Segmenos TCP

23.28

1. Ambos TCP establecen una conexión

entre ellos.

2. Se intercambian datos en ambas

direcciones.

3. Se cierra la conexión

TCP Servicio Orientado a la Conexion.

23.29

Los bytes de datos que se envían en

cada conexión son numerados por TCP.

La numeración comienza con un número

generado aleatoriamente.

Sistema de Numeracion

23.30

Suponga que una conexión TCP transfiere un fichero de

5000 bytes. El primer byte tiene el número 10.001.

¿Cuáles son los números de secuencia para cada

segmento si los datos se envían en cinco segmentos, cada

uno de los cuales lleva 1000 byte s?:

Example 23.3

23.31

El valor en el campo número de

secuencia de un segmento

define el número del primer byte de

datos contenido en ese segmento.

Nota

23.32

El valor del campo de confirmación de

un segmento

define el número del siguiente byte que

una parte espera recibir.

El número de confirmación es

acumulativo.

Número de confirmación

23.33

Figure 23.16 Formato de segmento TCP

23.34

Figure 23.17 Campos de Control

23.35

Table 23.3 Descripción de flags en el campo control

23.36

Figure 23.18 Establecimiento de conexión usando una negociación completa en tres pasos.

23.37

Un segmento SYN no puede llevar

datos, pero consume el número de

secuencia.

Nota

23.38

Un segmento SYN + ACK no puede

llevar datos, pero consume al número de

secuencia.

Note

23.39

Un segmento ACK.si no lleva datos, no

consume número de secuencia.

Note

23.40

Figure 23.19 Transferencia de Datos

23.41

Figure 23.20 Fin de conexión usando negociación en tres pasos

23.42

El segmento FIN consume un número de

secuencia si no lleva datos.

Note

23.43

El segmento FIN+ACK consume un

número de secuencia si no lleva datos.

Note

23.44

Figure 23.21 Semicierres. Half-close

23.45

Figure 23.22 Ventana deslizante

23.46

Se usa una ventana deslizante para

hacer la transmisión más eficiente

y para controlar el flujo de datos de

forma que el destino no sea desbordado

con datos.

Las ventanas deslizantes de TCP son

orientadas a byte.

Note

23.47

¿Cuál es el valor de la ventana de recepción(rwnd) para

la computadora A si el receptor, computadora B, tiene un

tamaño

de almacén de 5000 bytes y 1000 bytes de datos recibidos

y no procesados?

Example 23.4

Solution

El valor de rwnd = 5000 - 1000 = 4000. La computadora

B sólo puede recibir: 4000bytes de datos antes de

desbordar su almacén. La computadora B anuncia este

valor a A en el segmento siguiente.

23.48

Figure 23.23 Example 23.6

23.49

Algunos puntos acerca de la ventana deslizante

en TCP: • El tamaño de la ventana es el mínimo de rwnd y cwnd.

• El origen no tiene que enviar una ventana entera llena

de datos.

• La ventana puede ser abierta o cerrada por el receptor,

pero no deberia ser reducida.

• El destino puede enviar una confirmación en cualquier

momento siempre que eso nos dé como resultado una

reducción de ventana.

• El receptor puede cerrar temporalmente la ventana; sin

embargo, el emisor siempre puede enviar un segmento

de un byte después de que la ventana haya sido

cerrada.

Note

23.50

Los segmentos ACK no consumen

número de secuencia y no son

confirmados.

Note

23.51

En las implementaciones modernas,

hay una retransmisión si expira un

temporizador de retransmisión o llevan

tres segmentos de ACK duplicados.

Note

23.52

No se activa un temporizador de

retransmisión para un segmento ACK.

Note

23.53

Los datos pueden llegar desordenados y

ser almacenados temporalmente por el

TCP receptor, pero TCP no garantiza que

ningun segmento fuera de orden se

entregue al proceso.

Note

23.54

Figure 23.24 Funcionamiento normal

23.55

Figure 23.25 Segmento perdido.

23.56

El TCP receptor entrega sólo datos

ordenados al proceso.

Note

23.57

Figure 23.26 Retransmisión rápida.

23.58

Figure 23.34 Simple data transfer

23.59

Figure 23.40 Error control, sender site