CONCEPTOS AVANZADOS DE TCP
Grado Ingeniería de Computadores
Universidad Complutense de Madrid
TEMA 3. Conceptos Avanzados de TCP
PROFESOR: Rafael Moreno Vozmediano
Repaso de TCP
• Conceptos generales
o Unidad de transferencia
Segmento TCP
o Fases en una transmisión mediante TCP
Establecimiento de conexión
Transferencia de datos
Cierre de conexión
o Mecanismos de control de errores en TCP
TCP utiliza un mecanismo de tipo ventana deslizante para el control de errores
• Numeración de segmentos
o Cada segmento lleva un número de secuencia de 32 bits
o Indica la posición que ocupa el primer byte del segmento dentro del mensaje original
• Confirmaciones superpuestas del receptor
o Cuando el receptor recibe un segmento de datos correctoy sin errores, envía una
confirmación al emisor
• Retransmisión de segmentos
o Si transcurrido un tiempo desde que se envió el segmento, el emisor no recibe
confirmación, entonces retransmite de nuevo el segmento
2
Repaso de TCP
• Formato del segmento TCP
3
Repaso de TCP
• Campos de la cabecera del segmento TCP
o Puerto origen y destino:
Identifican los extremos de laconexión
o Nº de secuencia:
Indica la posición del primer byte del segmento con respecto al mensaje original
o Nº de confirmación:
Para enviar confirmaciones superpuestas en sentido contrario. Indica el nº de
secuencia del siguiente byte que se espera recibir
o Longitud de la cabecera (HLEN):
Medida en palabras de 32 bits
o Tamaño de ventana:
Permite anunciar eltamaño de la ventana de recepción durante la conexión TCP
El valor del campo ventana indica la cantidad de bytes (relativos al nº de byte indicado
en el campo nº de confirmación) que el receptor es capaz de aceptar
4
Repaso de TCP
• Campos de la cabecera del segmento TCP
o Flag URG y puntero urgente:
Si URG=1, el segmento transporta datos urgentes al principio del campo datos. Elcampo puntero
urgente indica donde terminan los datos urgentes y empiezan los datos normales
o Flag ACK:
Si ACK=1, el segmento transporta un número de confirmación válido
Todos los segmentos de una conexión TCP, excepto el primero, llevan ACK=1 y transportan un
número de confirmación válido
o Flag PUSH:
Si PUSH=1, indica que los datos deben ser pasados a la aplicación tanpronto como sea posible.
Si PUSH=0, los datos se pueden almacenar en un buffer de recepción y éstos se pasan a la
aplicación cuando el buffer se llena.
o Flag RST:
Flag utilizado para abortar una conexión
o Flag SYN:
Flag utilizado en el establecimiento de la conexión.
Significa que los extremos deben sincronizar los números de secuencia iniciales de la transmisión
o Flag FIN:
Flag utilizado en la finalización de la conexión
5
Fases de la conexión TCP
• Establecimiento de conexión
o Protocolo de 3 vías
6
Fases de la conexión TCP
• Transmisión de datos
7
Fases de la conexión TCP
• Fin de conexión
o Opción 1: protocolo de 3 vías
8
Fases de la conexión TCP
• Fin de conexión
o Opción 2:
protocolo de 4 vías
9Diagrama de estados de TCP
• Estados de TCP
10
Diagrama de estados de TCP
• Diagrama de estados completo
11
Diagrama de estados de TCP
• Escenario típico de conexión TCP (fin de conexión de 4 vías)
12
Diagrama de estados de TCP
• Fin de conexión de 3 vías
13
Diagrama de estados de TCP
• Fin de conexión simultáneo
14
Diagrama de estados de TCP
• Rechazo deconexión (ej. puerto TCP cerrado)
15
Control de errores en TCP
• Funcionamiento general
o Se utiliza un mecanismo basado en el método de ventana deslizante
El emisor envía todos los segmentos numerados
• El campo nº de secuencia indica la posición del primer byte del segmento con
respecto al inicio de la conexión
El receptor envía una confirmación por cada segmento recibido...
Regístrate para leer el documento completo.