Si hay datos 512B, ¿cómo los transmite el protocolo TCP?
Respuesta: Los datos de 512B que se transmitirán deben dividirse en seis segmentos de mensaje para la transmisión. Los primeros cinco segmentos de mensaje son de 100B cada uno y el último segmento de mensaje es de 12B. La Figura T-5-41 es un diagrama esquemático de la interacción entre las dos partes.
La siguiente es una breve descripción.
Segmento de mensaje #1: A inicia una apertura activa, envía un segmento de mensaje SYN, está en el estado SYN-SENT y selecciona el número de secuencia inicial seq=100. Segmento #2: B reconoce el segmento SYN de A, por lo que ack=101 (el número de secuencia inicial de A más 1).
B Seleccione el número de secuencia inicial seq=200. B ingresa al estado SYN-RCVD. Segmento de mensaje n.° 3: A envía un segmento de mensaje ACK para confirmar el segmento de mensaje n.° 2, ack=201 (es decir, el número de secuencia inicial de B más 1).
Dado que el segmento SYN #1 consume un número de secuencia, el número de secuencia del segmento #up es seq=101. De esta manera, tanto A como B ingresan al estado ESTABLECIDO. Segmento 4: A envía 100 bytes de datos.
El segmento de información n.° 3 es un segmento de información de confirmación, no se envían datos y el segmento de información n.° 3 no consume un número de secuencia, por lo que el número de secuencia del segmento de información n.° 4 sigue siendo seq=101. A también reconoce el segmento #2 de B mientras envía datos, por lo que ack=201. Segmento #S: B reconoce el segmento #4 de A.
Debido a la recepción de datos del número de secuencia 101 a 200**100 bytes, A y B ingresan al estado ESTABLECIDO. **100 bytes de datos, por lo que en el segmento de mensaje n.º 5, acuse de recibo=201 (el número de secuencia del siguiente byte de datos que se espera recibir).
El segmento de mensaje SYN #2 enviado por B consume un número de secuencia, por lo que el número de secuencia del segmento de mensaje #5 es seq=201, un número de secuencia más que el número de secuencia del segmento de mensaje #2.
En este segmento, B proporciona la ventana de recepción rwnd=100. Desde el segmento 6 hasta el segmento n.º 13, no se necesitan más explicaciones. Hasta ahora, A ha transmitido 500 bytes de datos.
Vale la pena señalar que todos los segmentos de información de confirmación enviados por B no utilizan números de secuencia, es decir, seq=201. Segmento de información n.° 14: A transmite los últimos 12 bytes de datos. El número de secuencia del segmento de información n.° 14 es seq=601. strong>
TCP establece una conexión
TCP es el protocolo de capa de transporte en Internet y utiliza un protocolo de enlace de tres vías para establecer una conexión. Después de que la parte activa envía una solicitud de conexión SYN, espera a que la otra parte responda con SYN+ACK y finalmente ejecuta ACK para confirmar el SYN de la otra parte. Este método de establecer una conexión evita conexiones espurias. El protocolo de control de flujo utilizado por TCP es un protocolo de ventana deslizante de tamaño variable.
El protocolo de enlace TCP de tres vías es el siguiente:
El cliente envía un mensaje SYN (SEQ=x) al servidor y entra en el estado SYN_SEND.
El servidor recibe el mensaje SYN y responde con un mensaje SYN (SEQ=y) ACK (ACK=x+1), ingresando al estado SYN_RECV.
El cliente recibe el mensaje SYN del servidor, responde con un mensaje ACK (ACK=y+1) y luego ingresa al estado Establecido.
Una vez completado el protocolo de enlace de tres vías, el cliente y el servidor TCP han establecido con éxito una conexión y pueden comenzar a transmitir datos.
Enciclopedia Baidu-TCP