protocolo detallado TCP (tres) - transmisión fiable

A propósito, la transmisión fiable

Sabemos que IP proporciona servicio de entrega de mejor esfuerzo poco fiable, entonces, ¿cómo TCP para el servicio de transporte fiable delante del blog escribió, con la detección de errores, temporizador, retransmisión y otras medidas, TCP utiliza estas medidas, y con un protocolo de ventana deslizante proporcionar la velocidad de transmisión (rendimiento)

TCP es un fines de transmisión fiables para garantizar un proceso de lectura de los datos desde el búfer de corriente está libre de errores, sin falta, no redundante, no revueltos flujo de bytes

Dos, TCP cómo implementar un servicio de transporte fiable

Desde la perspectiva del emisor, y transmitir una retransmisión dividido en dos casos

2.1 transmisión normal

El remitente recibe datos desde la aplicación superior, los datos se dividen en bloques de datos (SMS) para la transmisión TCP, en la ventana de envío.

Si la ventana de emisión está lleno, Usted puede negarse a recibir datos, los datos del remitente transmite para prevenir demasiado rápido, lo que resulta en un desbordamiento de memoria más lenta de acogida (control de flujo).

Si no está satisfecho la ventana de envíoDespués de bloque de datos en bytes numerados, un transmisor del remitente pipeline Procesamiento de Datos, la confirmación recibida, después devuelven datos

2.2 Datos de retransmisión

2.2.1 destinatario ha recibido datos erróneos

Y por la comprobación, detección de errores , el receptor recibe los datos se pierden error, y enviar el mensaje, el número de acuse de recibo en el paquete es el último número recibido secuencia de + 1, entonces el remitente retransmitirá el número de acuse de recibo de datos

2.2.2 temporizador expira (considerado perdido)

En cada remitente envía un conjunto de datos, estará abierta para un contador de tiempo, el tiempo de espera cuando el destinatario no recibe la confirmación, se considera un tiempo perdido.

Este caso se divide en dos, uno se pierde realmente, ya no se pierde cuando el tiempo de espera, y más tarde recibió los datos

La primera: realmente perdido
Aquí Insertar imagen Descripción
información de confirmación se pierde, la duración de tiempo de espera, y luego volver número de secuencia 180 envía los datos de la

NOTA: la pérdida de datos ACK y la pérdida es el mismo, el número de secuencia de paquete y el número de acuse de recibo contenida en los datos correspondientes, TCP no es lado de recepción y el lado de transmisión muy clara

Segundo: Cuando el tiempo de espera es larga y recibe datos
Aquí Insertar imagen Descripción
Como se muestra, el número de secuencia de acuse de recibo 200 que el intervalo de tiempo 180, a continuación, re-transmite el número de datos 180, sin la retransmisión del número de datos 200, porque el número de la base de 180

2.2.3 retransmisión rápida (que se considera perdido)

Tras la recepción de TCP ACK repitió tres veces, incluso cuando ya no es que el tiempo de espera a enviar los datos , como se muestra a continuación
Aquí Insertar imagen Descripción
, cuando el anfitrión desea recibir número de datos B 200, pero perdió, envía 200 un número de secuencia de acuse de recibo cuatro, el cuarto tiempo (esta vez por triplicado) Nº 200 sería considerado perdido, vuelva a enviar el número 200 de datos.

2.3 reordenamiento

segmento TCP encapsulado en un datagrama IP transmitida, llegando datagramas IP se puede encaminar a través de diferentes revueltos, es necesario será reordenado segmentos

2.4 datos redundantes

Debido al retraso de la red y de la distribución, por lo que los datos redundantes TCP tendrán datos redundantes se descarta

En tercer lugar, el resumen

Aquí Insertar imagen Descripción
A través de las medidas anteriores se pueden lograr la transmisión fiable de TCP

Ha publicado 198 artículos originales · ganado elogios 94 · vistas 90000 +

Supongo que te gusta

Origin blog.csdn.net/shang_0122/article/details/104484955
Recomendado
Clasificación