Directorio artículo
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
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
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
, 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
A través de las medidas anteriores se pueden lograr la transmisión fiable de TCP