En el protocolo TCP, el proceso específico de A y B comunicándose entre sí

 TCP es un protocolo orientado a la conexión . Las partes de la comunicación deben establecer una conexión antes de poder transmitir datos . En el protocolo TCP, el proceso de comunicación entre A y B es el siguiente:

1. Establecer una conexión (apretón de manos de tres vías)

A envía un paquete SYN a B , solicitando establecer una conexión con B, después de recibir el paquete SYN, B envía un paquete SYN+ACK como respuesta , y finalmente A devuelve un ACK a B como respuesta , indicando que A ha recibido B Los datos han sido enviados En este punto, la conexión está establecida

2. Intercomunicación

Una vez establecida la conexión, A puede enviar datos a B. A divide los datos que se van a enviar en varios segmentos de datos Cada segmento de datos tiene un número de serie que indica la posición del primer byte del segmento de datos en el flujo de bytes completo B Después de recibir los datos enviados por A, enviará como respuesta un ACK.Hay un número de secuencia de confirmación en este paquete ACK , que es el número de secuencia del último byte enviado por A + 1, lo que indica que espera recibir el número de secuencia del siguiente byte.

Mejorar la eficiencia

Para mejorar aún más la eficiencia, tendremos un mecanismo de ventana deslizante , respuesta retardada y respuesta piggyback.La ventana deslizante puede enviar un lote de datos sin esperar , usar el mismo tiempo para esperar este grupo de ACK y enviar los datos directamente sin esperar El valor máximo se denomina tamaño de la ventana Cuanto mayor sea la ventana, mayor será la eficiencia de transmisión El tamaño de la ventana se determina de acuerdo con la capacidad de procesamiento del receptor y la capacidad de procesamiento del nodo intermedio La respuesta retardada permite que el receptor para procesar algunos datos primero. Luego devuelva el ACK, lo que puede hacer que la ventana sea más grande , y la respuesta retrasada también puede devolver menos ACK, ahorrando algunos recursos . La respuesta piggyback puede fusionar los datos que se enviaron originalmente en varios paquetes en uno ( siempre que el tiempo de envío sea el mismo), lo que ahorra algunos recursos y mejora la eficiencia de la transmisión.

Evite la congestión y el retraso de la red

Por supuesto, para evitar la congestión y el retraso de la red, el tamaño de la ventana será limitado . En este momento, existen mecanismos como el control de flujo y el control de congestión . El control de flujo tiene en cuenta las capacidades de procesamiento del receptor y le indicará al Remitente el espacio restante en el tamaño del búfer de recepción del receptor , para que el remitente pueda ajustar el tamaño de la ventana.El control de congestión considera la capacidad de procesamiento del equipo de nodo intermedio de red , y obtiene una capacidad de procesamiento de nodo intermedio razonable a través de experimentos , y el remitente luego ajusta el tamaño de la ventana en consecuencia

Manejo de pérdida de paquetes durante la comunicación

Si el paquete se pierde durante el proceso de comunicación, habrá un mecanismo de retransmisión de tiempo de espera . Una vez que el paquete se pierde, el remitente no recibirá el ACK del receptor. En este momento, el remitente esperará un período de tiempo (2MSL ) . Si supera este tiempo, reenviará el paquete de datos justo ahora . En la transmisión intensiva de datos utilizando la ventana deslizante , la retransmisión por tiempo de espera se convertirá en una retransmisión rápida . Cuando el receptor recibe tres números de confirmación consecutivos del remitente , le reenviará los datos solicitados por el número de confirmación.

Manejo de excepciones durante la comunicación

Si el proceso falla , por ejemplo, el proceso de A falla, enviará inmediatamente un FIN a B para desconectar la conexión . En este momento, se activarán cuatro ondas , pero es posible que las cuatro ondas no se completen . Debido a que la conexión ha ha sido desconectado , A no puede recibir el FIN de B y el ACK devuelve ACK a B. Solo puede esperar el tiempo de espera para desconectarse y luego cerrar después de la falla . Wave operaciones Si el host está apagado/el cable de red está roto Abierto , en este momento no puede activar cuatro ondas, solo puede esperar a que se cierre el tiempo de espera

3. Desconectar (agita cuatro veces)

Cuando A haya enviado todos los datos, enviará un paquete de datos FIN como marca final. Después de que B reciba el paquete de datos FIN, enviará un paquete de datos ACK como respuesta , indicando que ha recibido el FIN de A, y luego B también enviará datos FIN Después de recibir el FIN , A envía un ACK como respuesta , indicando que el FIN de B ha sido recibido y la conexión está cerrada

Supongo que te gusta

Origin blog.csdn.net/qq_62712350/article/details/130039945
Recomendado
Clasificación