Política de transmisión

  • Cuando la ventana tiene un tamaño de cero, el emisor no puede mandar segmentos, con dos excepciones. Se pueden mandar los datos urgentes y se pueden mandar un segmento de 1 byte para causar que el recibidor genere un acuse nuevo con la ventana. Este último es para evitar el bloqueo indefinido.
  • Los emisores no tienen que mandar datos inmediatamente y los recibidores no tienen que mandar acuses inmediatamente. Se puede usar esta flexibilidad para mejorar el rendimiento.
  • Por ejemplo, considera una conexión de TELNET. Cada carácter tipiado genera un paquete de IP de 41 bytes, seguido por un acuse de 40 bytes, seguido por una actualización de la ventana de 40 bytes cuando la aplicación lee el carácter, seguido por 41 bytes cuando la aplicación hace un eco del carácter, y finalmente 40 y 40 más.
  • Una optimización es demorar los acuses y las actualizaciones de ventana por 500 msegs para usar piggybacking.
  • Una segunda optimización para minimizar los segmentos con solamente un byte de información es el algoritmo de Nagle. En esto se almacena los datos hasta que llegue el último acuse o haya suficiente datos para llenar la mitad de la ventana o un segmento máximo.
  • Otro problema es el síndrome tonto de ventana. En esto la ventana del recibidor está llena. La aplicación en el recibidor lee un byte, que causa que el recibidor manda una actualización del tamaño de ventana al emisor. El emisor manda un byte y la ventana está llena otra vez. La solución de Clarke es no mandar una actualización de ventana hasta que el recibidor pueda manejar el segmento máximo de la conexión o el
    buffer esté medio vació, cualquier es menor. También el emisor no manda segmentos pequeños (si posible). Debiera esperar hasta que haya suficiente espacio en la ventana para un segmento completo o el buffer del recibidor esté medio vacío (según su estimación de su tamaño).
   
../Conexión en TCP/Política de transmisión