W przypadku połączenia TCP po odłączeniu kabla i ponownym połączeniu po 30-40 sekundach nie występują problemy z utratą pakietów. Ale gdy czas ponownego połączenia przekroczy kilka minut, wszystkie pakiety zostaną utracone. Wiem, że działa z upływającym czasem timera retransmisji, ale chcę wiedzieć, co dokładnie dzieje się po odłączeniu kabla sieciowego.
networking
connection
tcp
Wpisz J
źródło
źródło
windows mediasense
.Odpowiedzi:
Z definicji na modelu warstwowym, takim jak OSI lub TCP / IP, każda warstwa działa niezależnie i nie jest świadoma niższych warstw.
Po odłączeniu kabla następuje fizyczne zakłócenie ( warstwa 1 ), więc niemal natychmiast sieć Ethernet ( warstwa 2 ) wykrywa utratę sygnału (jeśli korzystasz z systemu Windows, zobaczysz bardzo przerażające wyskakujące okienko informujące o odłączeniu sieci )
IP ( warstwa 3 ) i TCP ( warstwa 4 ) tego nie zauważą, więc będą próbowały kontynuować pracę.
TCP nie przerywa ustanowionego połączenia TCP przez pewien czas, ponieważ kiedy TCP wysyła dane, oczekuje potwierdzenia w odpowiedzi, a jeśli nie dotrze w określonym czasie, ponownie przesyła dane.
TCP ponownie prześle dane, przekazując je do IP, który przekaże je do Ethernetu, który nie jest w stanie wysłać i po prostu je odrzuci.
TCP będzie ponownie czekał i powtarzał ten proces, aż dojdzie do przekroczenia limitu czasu, który pozwoli stwierdzić, że połączenie zostało zakończone. TCP resetuje numer sekwencyjny segmentu, odrzuca informacje, które próbowano wysłać, i zwalnia bufor i zasoby pamięci przydzielone dla tego połączenia.
Podłącz kabel, zanim to się stanie, a wszystko pójdzie dalej. To sprawia, że TCP jest niezawodny, a jednocześnie podatny na ataki DDos.
Jeśli system operacyjny ma więcej niż jeden interfejs (na przykład Ethernet i Wi-Fi), możliwe jest, że gdy nastąpi awaria Ethernetu, nastąpi próba połączenia Wi-Fi. Zależy to od konfiguracji routingu, ale ogólnie „ TCP nie będzie tego świadomy ”.
Podstawowa struktura ataków DDoS: tysiące klientów otwierających każde połączenie TCP co kilka sekund z serwerem, a następnie porzucające połączenie. Każde połączenie TCP pozostaje otwarte na serwerze przez długi czas (marnowanie cennych zasobów, takich jak porty TCP, przydzielona pamięć, przepustowość itp.), Zapychając zasoby serwera, aby uczestniczyć w nim uprawnieni użytkownicy.
źródło