2012-11-09 20 views
5

Chcę wiedzieć, co dzieje się z połączeniem TCP, gdy komputer idzie spać.Co dzieje się z połączeniem TCP, gdy komputer przełącza się w tryb uśpienia?

Czy istnieją różnice między Linuksem a Windows w aspekcie realizacji TCP i obsługi trybu uśpienia?

Pytanie brzmi: to połączenie kończące się w trybie uśpienia? Jeśli nie - co się stanie?

+0

Wydaje się, że pasuje lepiej na serverfault lub superużytkowniku – KillianDS

+1

Nawet jeśli sesja pozostanie otwarta, jeśli drugi koniec wysyła dane, to oczywiście nie otrzyma potwierdzenia, zdecyduje, że partner przestanie odpowiadać i jednostronnie zamknie połączenie. Jest to więc rodzaj samospełniającego się proroctwa, bez względu na wszystko. – Jon

+0

Z mojego doświadczenia - połączenie pozostaje otwarte i jest prawdopodobnie zamknięte z powodu przekroczenia limitu czasu ... widziałem go z milion razy z sesją SSH –

Odpowiedz

3

Sesja sieciowa kończy się, gdy komputer przejdzie w tryb uśpienia, ponieważ interfejs sieciowy zostanie wyłączony, a zatem nie będzie przesyłany do nadawania ani odbierania. TCP jest niezawodnym połączeniem i oczekuje, że druga strona odpowie na proces uzgadniania, a ACK i inny węzeł żądania i uśpienia nie będą w stanie tego zrobić.

+2

Nie ma czegoś takiego jak sesja TCP. Istnieje połączenie TCP *, które nie kończy się automatycznie, gdy komputer śpi: kończy się wynikiem błędów. – EJP

+1

Nie powiedziałem "Sesji TCP", powiedziałem "sesja sieciowa". Nawet jeśli powiedziałem, że sesja, jest sesja między dwoma końcami, a TCP polega na niej, aby ustalić, czy rozpocząć inicjację, zakończyć połączenie, sprawdzić sekwencję ACK i tak dalej. Zobacz nagłówek TCP i sprawdź prostą transmisję za pomocą Wireshark. Istnieje założenie dotyczące dwóch węzłów przesyłających dane przez TCP. – 3ntr0py