Buenas.
Pues viendo este post me gustaría comentar realmente lo que estais haciendo a la conexión (no digo ni que sea bueno ni malo, solo quiero explicarlo para que veais lo que puede ocurrir).
Vamos parámetro a parámetro:
1-DefaultTTL: Tiempo de vida por defecto.
Este es el tiempo de vida de un paquete TCP, el tiempo de vida se mide en saltos, es decir, cada vez que un paquete pasa por una máquina se resta uno al TTL, cuando llega a 0 el paquete es descartado.
Si se disminuye el TTL en las opciones del TCP, es más facil que cuando haya una "ruta muerta" se nos informe antes del fallo de conexión, pero si la máquina a la que intentamos acceder no tiene una ruta directa y ha de realizar esos saltos, pues perdemos el paquete sin que realmente exista el fallo.
Aumentándolo, logicamente, conseguimos el efecto opuesto.
El valor 80h o 128d es el que lleva Windows por defecto.
2- EnablePMTUBHDetect: Activación de detección de "routers ahujero negro"
Este parámetro viene relacionado con el tercero que luego explicaré, la cuestión es que al poner a 0 este parámetro, si enviamos un paquete (de tamaño asignado por el MTU) varias veces por no recibir la señal ACK (adquirido, se envía simpre que se recibe un paquete correcto), este se pierde sin remedio, sin embargo, si lo ponemos a 1 y no se recibe el ACK, Windows reduce el tamaño del paquete, hace que este no pueda ser fragmentado y lo envía, contando con mayores posibilidades de que este sea bien recibido pero disminuyendo el rendimiento en casos de pérdidas reales de paquetes.
El valor por defecto de este parámetro es 0.
3- EnablePMTUDiscovery: Detección del MTU o Unidad de Transferencia Máxima
Este parámetro le indica a Windows si el protocolo TCP debe usar un MTU fijo de 576 bytes o debe intentar detectarlo.
Si se consigue resolver el MTU satisfactoriamente, el tamaño de los datos enviados se ajusta entre ambos extremos eliminando la fragmentación de paquetes, lo cual descongestiona la red y obtiene un mejor rendimiento; el único problema es que no siempre es posible obtener este dato y puede relentizar el proceso de conexión.
Por defecto este parámetro viene a 1.
4- GlobalMaxTcpWindowSize: Tamaño de ventana máximo para TCP (global)
Este parámetro indica cuantos datos se pueden enviar antes de recibir la señal de ACK.
Este parámetro puede aumentar la velocidad, ya que al no tener que esperar a un ACK cada menos bytes, el flujo de datos es más continuo y con menos esperas de respuesta, pero en contrapartida, si un paquete se pierde y se tiene que volver a enviar, la cantidad de datos a reenviar es mayor.
Por defecto el valor para conexiones Ethernet es de aprox. 16Kb y de 64Kb para el resto de conexiones.
5- TcpMaxDupAcks: Máximos ACK's duplicados
En el protocolo TCP, cada paquete va marcado con un número secuencial, de forma que al recibirlos si la secuencia no es correlativa por la pérdida de un paquete, reenviando el ACK del paquete no recibido (el cual es el siguiente al último recibido en orden correcto) el emisor reenvia los datos a partir del paquete solicitado.
Este parámetro indica cuantos ACK's con la misma ID deben de ser recibidos para reenviar el paquete.
El valor por defecto de este parámetro es 2.
Si aumentamos este parámetro la red se relentizaría en caso de transmisiones fallidas, pero puede evitar el reenvio de paquetes por retardos de red.
6- SackOpts: ACK selectivo
Tal y como he dicho, el protocolo TCP envía paquetes a los cuales el receptor responde con un ACK, si un paquete no llega correctamente o es perdido, un ACK con la ID del paquete hace que este se reenvie.
El SACK permite que se envíen paquetes grandes, y que con un ACK especial, si un paquete llega dañado, en vez de reenviar todo el paquete se reenvie únicamente un bloque con los datos incorrectos.
El valor por defecto es 1
7- Tcp1323Opts: Opciones TCP con respecto al RFC 1323
Según el RFC 1323, se pueden realizar varias optimizaciones de los paquetes TCP tanto de escalado como de medición de tiempos.
Windows nos permite controlar estas optimizaciones, activando y desactivando el escalado del paquete y activando y desactivando la marca de tiempo del paquete.
Aplicando la opción 1 se activa el escalado de paquetes y se desactiva la marca de tiempo, por lo cual se envían menos datos (la marca de tiempo) y se conserva el escalado del paquete.
Por contrapartida, al no tener esta información, Windows no puede reajustar el tiempo de envío entre paquetes porque no sabe realmente cuanto le ha costado al paquete llegar desde el emisor hasta el receptor (si no me equivoco, este parámetro es usado por el QoS, pero no estoy seguro al 100%).
El valor por defecto de este parámetro es 3 (escalado y marca de tiempo activados).
8- TcpWindowSize: Tamaño de ventana TCP
Configura el tamaño de ventana TCP (igual que el GlobalMaxTcpWindowSize) para un adaptador específico.
Aquí debo apuntar que tal y como se explica en este post la forma de aplicarlo, este parametro NO FUNCIONA, ya que no ha sido añadido al adaptador, sino a las opciones globales y es completamente ignorado.
Si realmente queremos ajustarlo, hay que entrar en HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\(nombre del interfaz) y aplicarlo ahí.
Se aplican todas las consideraciones antes mencionadas para el GlobalMaxTcpWindowSize.
Bueno, pues creo que con esto ya está explicado todo.
Si os dais cuenta, dependiendo de lo que pretendais hacer, de los tipos de servicios que querais usar, y del tipo de conexión que tengais, es recomendable reajustar estos parámetros segun necesidades.
Si quereis más información de la configuración del protocolo TCP podeis conseguirla en
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/58751.mspx?mfr=trueAh, y por cierto, los valores por defecto que os he proporcionado son los que lleva W2000 server, no se si estos habrán variado con el XP y con versiones no servidor, si encontrais más info sería bueno verla.
Espero que todo esto os haya servido de ayuda para que podais exprimir al máximo vuestras conexiones y que además sepais que estais haciendo.
Un saludo.