El otro elemento que conforma la base
de las redes modernas es conocido como Protocolo de Control de
Transferencia o TCP por sus siglas en ingles.
Este permite una realizar transmisión
confiable sobre el protocolo IP al proporcionar los mecanismos para
adaptarse dinámicamente a las necesidades de de la red y la adecuada
reconstrucción de los paquetes de datos.
Otra de las características del TCP es
el uso de los llamados “puertos” estos funcionan como los
extremos de una conexión TCP de modo que cuando llegue un paquete
completo el protocolo sea a cual de las aplicaciones que estén en
uso del servicio corresponde ese paquete.
La transmisión de datos a través de
TCP es similar a los demás protocolos, los datos se dividen en
paquetes mas pequeños, que en el ámbito del TCP se conocen con el
nombre de “segmentos”, a los cuales se les agrega un encabezado.
Los campos que componen dicha cabecera
se muestran a continuación.
Puerto fuente
|
Puerto destino
|
|||||||
Numero de secuencia
|
||||||||
Numero de reconocimiento
|
||||||||
Longitud de cabecera TCP
|
Reservado
|
U
R
G
|
A
C
K
|
P
S
H
|
R
S
T
|
S
Y
N
|
F
I
N
|
Tamaño de ventana
|
Suma de verificación
|
Puntero a datos urgentes
|
|||||||
Opciones
|
||||||||
Datos
|
Que son visualizados en Wireshark de la
siguiente forma
Figura 1: Segmento TCP visualizado en Wireshark. |
Puerto fuente, 16 bits:
Identifica que de que puerto provienen los datos del paquete.
Puerto destino, 16 bits:
Identifica a que puerto esta destinado el paquete de datos.
Numero de secuencia, 32 bits:
Identifica la posición de este segmento de las transferencia en
relación a los demás.
Numero de reconocimiento, 32 bits:
Reconocimiento de transmisión exitosa.
Longitud de cabecera TCP, 4 bits:
Contiene el numero de palabras de 32 bits que conforman la cabecera,
esto es necesario pues la longitud de la cabecera varia si se agregan
opciones extras.
Reservado, 6 bits: Espacio sin
uso en la versión actual del protocolo
URG, 1 bit: Bandera para indicar
que se usara la opción de puntero a datos urgentes.
ACK, 1 bit: Indica si el numero
de reconocimiento incluido en la cabecera es valido, si el valor de
este campo es 0 se ignora el campo numero de reconocimiento.
PSH, 1 bit: Esta bandera
solicita que los datos se envíen directamente a la aplicación, en
lugar de esperar a que el buffer se llene.
RST, 1 bit: Esta bandera
solicita que se reinicie la conexión.
SYN, 1 bit: La bandera SYN se
usa para solicitar una conexión, esto se hace en conjunto con la
bandera ACK en un proceso conocido como el saludo en tres pasos.
FIN, 1 bit: Indica el final de
la conexión.
Tamaño de la ventana, 16 bits:
El numero de bits que se enviaran.
Suma de verificación: El valor
esperado de la suma de verificación del fragmento, si no coincide se
descarta el fragmento.
Puntero a datos urgentes: Si la
bandera URG fue activada estos datos se envían directamente al
destinatario.
Opciones, tamaño variable: En
esta sección se indican las opciones extra para el segmento.
Datos, tamaño variable: Los
datos contenidos en el segmento.
Referencias:
Andrew S Tanenbaum – Computer
Networks 4ed.
No hay comentarios:
Publicar un comentario