Nous allons supposer qu'il y a un client qui fait beaucoup de court-séjour connexions à un serveur.
Si le client ferme la connexion, il y aura de nombreux ports en TIME_WAIT
etat sur le côté client. Étant donné que le client est à court de ports locaux, il devient impossible de faire une nouvelle tentative de connexion rapidement.
Si le serveur ferme la connexion, je vais voir de nombreux TIME_WAIT
s sur le côté serveur. Cependant, cela veut-il faire du mal? Le client (ou d'autres clients) peuvent continuer à faire des tentatives de connexion depuis il n'est jamais à court de ports locaux, et le nombre d' TIME_WAIT
etat va augmenter sur le côté serveur. Qu'advient-il finalement? Fait quelque chose de mauvais se produire? (ralentissement, accident, perte de connexion, etc.)
Veuillez noter que ma question n'est pas "Quel est le but de l' TIME_WAIT
? ", mais "Ce qui se passe si il ya tellement de nombreux TIME_WAIT
états sur le serveur?" Je sais déjà ce qui se passe lors de la fermeture d'une connexion TCP/IP et pourquoi TIME_WAIT
de l'état est nécessaire. Je ne suis pas en train de dépanner, mais je veux juste savoir qu'est-ce que le problème potentiel avec elle.
Pour faire simple, disons - netstat -nat | grep :8080 | grep TIME_WAIT | wc -l
tirages 100000
. Qu'arriverait-il? L'O/S du réseau de la pile ralentir? "Trop de fichiers ouverts" erreur? Ou, tout simplement rien à s'inquiéter?