GNU/Linux >> Znalost Linux >  >> Cent OS

Proč výstup „netstat“ zobrazuje mnoho připojení ve stavu CLOSE_WAIT?

Tento příspěvek poskytne podrobnosti o připojeních TCP, která hlásí stavy „CLOSE_WAIT“. Možné hodnoty stavu pro sokety TCP jsou následující:

BOUND         Připojeno, připraveno k připojení nebo poslechu.
UZAVŘENO        Zavřeno. Zásuvka se nepoužívá.
UZAVŘENÍ       Zavřeno, poté vzdálené vypnutí; čeká na potvrzení.
CLOSE_WAIT    Vzdálené vypnutí; čekání na uzavření zásuvky.
ZALOŽENO   Připojení bylo navázáno.
FIN_WAIT_1    Zásuvka uzavřena; vypnutí připojení.
FIN_WAIT_2    Zásuvka uzavřena; čekání na vypnutí z dálkového ovladače.
NEČINNÁ          Nečinné, otevřené, ale nesvázané.
LAST_ACK      Vzdálené vypnutí, poté zavřeno; čeká na potvrzení.
POSLOUCHEJTE        Naslouchání příchozím připojením.
SYN_RECEIVED  Aktivace/zahájení synchronizace přijata a připojení probíhá
SYN_SENT      Aktivně se pokouší navázat spojení.
TIME_WAIT     Po zavření počkejte na opětovné odeslání vzdáleného vypnutí.

CLOSE_WAIT ‘ stav znamená, že druhý konec připojení byl uzavřen, zatímco místní konec stále čeká na ukončení aplikace.

Podrobnosti

Stav „CLOSE_WAIT“ u připojení tcp nastane, pokud systém neobdržel systémové volání close z aplikace poté, co obdržel oznámení (paket „FIN“) od druhého systému, že uzavřel svůj koncový bod. Jinými slovy to znamená, že místní konec připojení přijal „FIN“ z druhého konce, ale OS čeká, až program na místním konci skutečně uzavře své připojení.

Problém je, že program spuštěný na místním počítači neuzavírá soket. Nejedná se o problém ladění TCP. Připojení může zůstat v „CLOSE_WAIT“ navždy, zatímco program udržuje připojení otevřené. Takže většinou k tomuto problému dochází kvůli chybě aplikace. Pokud však parametry TCP/IP nejsou správně nastaveny, uzavřená připojení TCP/IP zůstanou po velmi dlouhou dobu v různých stavech „ZAVŘENO“, které z procesu odebírají deskriptory souborů. K vyřešení tohoto problému je někdy nutné vyladit parametry TCP/IP v /etc/sysctl.conf (například parametry net.ipv4.tcp_xxx), aby se spojení TCP/IP uzavřela v krátkém čase. .


Cent OS
  1. Proč /etc/issue zobrazuje Ubuntu a ne Lubuntu?

  2. Proč git selže při push/fetch s příliš mnoha otevřenými soubory

  3. Spuštění lsof -i ukazuje mnoho spojení v CLOSE_WAIT ? Mám si dělat starosti

  1. Proč substituce příkazů Shell pohltí znak na konci nového řádku?

  2. Proč můj systém ukazuje jen 3,2 GiB RAM, když mám určitě 4,0 GiB

  3. Proč je netstat zastaralý?

  1. Proč možnost Ssh -t přidává Cr &Lf do přesměrovaného výstupu?

  2. Proč má Ls -l na výstupu jinou velikost než Ls -s?

  3. Proč ntpd naslouchá na tolika portech/adresách?