Załóżmy, że tworzę wadliwy serwer tcp, który mówi na przykład do innego
komputera, że będzie przechodzić 7 pakietów, ale tylko 6 zostanie wysłanych.
Co zrobiłby drugi komputer?
networking
tcp
Slipknot1
źródło
źródło
Odpowiedzi:
Sam protokół TCP nigdy nie określa, ile pakietów ma zostać przesłanych z serwera do klienta. Klient jedynie wysyła pakiety ACK (potwierdzenie) z powrotem do serwera, gdy tylko odbierze pakiet TCP. Protokół został zaprojektowany z myślą o wadliwych sieciach, więc serwer, który nie wyśle kolejnego pakietu, nie spowoduje żadnej szkody.
Teraz w warstwie aplikacji możesz napisać oprogramowanie, które oczekuje wcześniej przesłanej liczby bajtów (na przykład menedżera pobierania), a wadliwy serwer rzeczywiście spowodowałby jego awarię. Ale to nie wchodzi w zakres twojego pytania.
źródło
To zależy od tego, jak lub czy połączenie zostało zamknięte. Jeśli masz na myśli awarię systemu, a nadawca po prostu przestaje nadawać, ten artykuł pomoże wyjaśnić zasady podtrzymania, jeśli są w użyciu. Protokoły nie są wymagane przez TCP.
http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html
źródło