Control de flujo en TCP
TCP (Protocolo de Control de Transmisin), es un protocolo confiable, orientado a la conexin, que permite que un flujo de bytes que se origina en una mquina se entregue sin errores en cualquier otra mquina en la interred. Divide el flujo de bytes entrantes en mensajes discretos y pasa cada uno de ellos a la capa de interred. En el destino, el proceso TCP receptor reensambla en el flujo de salida los mensajes recibidos. TCP tambin maneja el control de flujo para asegurarse de que un emisor rpido no sature a un receptor lento con ms mensajes de los que puede manejar. TCP permite que el tamao de la ventana vare en el tiempo. Cada reconocimiento, que especifica cuntos bytes han sido recibidos, contiene un campo llamado ventana_receptor (WINDOW), que especifica cuntos bytes adicionales el receptor puede recibir (especifica el tamao del buffer del receptor). Un aumento en el valor del campo ventana_receptor el emisor incrementa el tamao de su ventana, por lo que transmite un mayor nmero de bytes. Una disminucin en el valor del campo ventana_receptor el emisor decrementa el tamao de su ventana, disminuyendo as , el nmero de bytes a transmitir.
TCP provee un mecanismo de Control de Flujo punto a punto. Si el buffer del receptor comienza a llenarse, env a un tamao de ventana menor. En el caso extremo, un tamao de ventana = 0 detiene la transmisin. No controla expl citamente problemas de congestin.
Una buena implementacin de TCP (en particular, el esquema de ReTx) puede detectar y recuperarse de problemas de congestin, mientras que una mala lo empeora.
TCP proporciona control de flujo para evitar precisamente este problema, TCP es capaz de adaptar la velocidad para que el host ms lento pueda procesar los datos adecuadamente sin desbordamientos. Un emisor TCP puede no enviar datos de forma seguida por congestin IP, entraramos a hablar del control de congestin (en los prximos artculos). TCP proporciona un servicio de control de flujo con una variable llamada ventana de recepcin TCP. Esta ventana de recepcin se emplea para proporcionar al emisor la informacin de cunto espacio libre hay disponible (en el buffer del host receptor). TCP al ser una conexin full-dplex, el emisor y receptor (y viceversa) tienen ventanas de recepciones de distinto tamao y debe gestionarlas adecuadamente y de forma dinmica. Si la ventana de recepcin de un host es 0, el host emisor debe seguir mandando segmentos con 1 bytes de datos, estos son datos de reconocimiento. Finalmente el buffer lleno, comenzar a vaciarse y los ACK sern distintos de 0.