¿Por qué no puedo establecer tcp_max_tw_bucket en 0 en un servidor web de producción?

La respuesta de una oración es que el estado TIME_WAIT se usa para evitar que los ‘paquetes errantes’ de una conexión TCP / IP ya terminada corrompan las futuras conexiones TCP / IP.

Debido a la naturaleza de TCP sobre IP, es posible que sea necesario reenviar los paquetes de datos desde el origen hasta el destino si el paquete original se ‘pierde’. Sin embargo, no se garantiza que un paquete ‘perdido’ se destruya realmente; es posible que solo haya tomado una ruta diferente entre las redes y se haya retrasado. Si un paquete se retrasa, puede entregarse más tarde.

Hay escenarios en los que tener un paquete entregado en un momento posterior podría ser perjudicial, y en realidad podría hacer que su servidor reciba datos corruptos sin que el protocolo sepa que esto ha sucedido. La posibilidad de que esto ocurra es menor si la duración de las conexiones y el volumen de datos son menores. Sin embargo, como TCP / IP debe ser confiable, la idea misma de datos corruptos es un anatema para el protocolo.

Sin entrar en detalles de todo el proceso, puede pensar en los puertos en el estado TIME_WAIT como una “base de datos de conexiones para ignorar los paquetes durante los próximos minutos”. es decir, si un paquete llega con la misma IP y puerto de origen, y la misma IP y puerto de destino que uno de los puertos TIME_WAIT, el dispositivo descartará el paquete.

Si la topología de su red es muy plana (es decir, sin bucles ni enrutadores), y no se está comunicando con nada fuera de su red local, entonces las posibilidades de que esto ocurra son efectivamente cero.

Sin embargo, ha declarado que su sistema es un servidor web … por lo que es mucho más probable que reciba paquetes retrasados ​​del mundo exterior. Francamente, la posibilidad de que ocurra el problema aún es baja, pero no es cero.

Si decide desactivar esto o no, depende de usted. Debe considerar el peor de los casos si la conexión HTTP de alguien a su servidor se ha dañado de alguna manera.

More Interesting

¿Cuáles son los pasos en cada capa en el cliente y el servidor mientras se descarga una película en TCP / IP?

Si la velocidad de la red mejora, ¿no significa que el rendimiento de la red también mejora?

¿Por qué la dirección IP generada por el enrutador comienza con 192?

¿Se ajusta un modelo OSI a TCP / IP y viceversa?

¿Qué puedo saber sobre alguien de su dirección IP?

¿HTTP utiliza TCP o UDP? ¿Por qué?

¿Cuál es la diferencia entre IP estática, dinámica, pública y privada?

A diferencia de ICMP traceroute, estos paquetes UDP no tienen un número de secuencia que pueda usarse para hacer coincidir el error ICMP con la solicitud original correspondiente. ¿Qué campo se usa para hacer coincidir una solicitud con una respuesta en este caso?

¿Por qué los paquetes UDP se pierden en Internet?

¿Cuántos mensajes totales se envían directamente desde y hacia el cliente DNS y el servidor cliente DNS cuando un cliente necesita un nombre resuelto en una dirección IP correspondiente?

¿Funciona un socket de red en la capa 4 o 5 de un modelo OSI o un modelo TCP / IP? Si funciona en la capa 4, entonces qué hace realmente la capa de sesión, cuando los sockets son las conexiones reales que actúan como una interfaz entre la aplicación y las capas inferiores.

¿Qué es la perforación de agujeros TCP?

¿Por qué mi esposo no me da su dirección IP?

¿Cómo se desarrollaron las capas OSI?

Si cambio la implementación de TCP en mi sistema operativo para obtener una asignación injusta de ancho de banda, ¿qué sucederá?