Czy SSH używa TCP czy UDP?


Najlepsza odpowiedź

Specyfikacja mówi, że używa TCP, z oczywistych względów bezpieczeństwa. TCP jest wolniejszy, ale nie ryzykujesz utraty pakietów. UDP jest używany, gdy potrzebna jest szybkość i nie przejmujesz się stratą tu i tam. Zwykle przesyłane strumieniowo dane, takie jak czat wideo lub audio. Jeśli prowadzisz czat wideo, a na ekranie jest usterka lub zdanie, którego nie usłyszałeś. Jest to najprawdopodobniej utracony pakiet UDP.

Skoro to powiedziane, nie oznacza to, że nie możesz mieć niezawodnego UDP. Oznacza to po prostu, że niezawodność nie jest częścią samego protokołu. Niektóre programy używają UDP do zwiększania szybkości i próbują zaimplementować bezpieczeństwo w sposób inny i szybszy niż TCP.

Nie pamiętam, ale myślę, że robi to w wersji SSH. Ale notorycznie istnieje alternatywa dla SSH zwana „Mosh” i jest zaimplementowana tak, jak właśnie opisałem. Używa UDP, a bezpieczeństwo jest zaimplementowane w samym oprogramowaniu.

Odpowiedź

Pytanie, na które odpowiedziałem, brzmiało: „ W jaki sposób mogę zapoznać się z funkcjami protokołu TCP / IP? Chciałbym to zrobić zgodnie ze sposobem implementacji w niektórych popularnych frameworkach internetowych.

Struktury sieciowe nie wiedzą nic o wewnętrznych elementach protokołu TCP / IP.

Serwery WWW (i klienci) wiedzą coś o tym, jak łączyć się z API systemu operacyjnego z jego składnikami TCP / IP.

Różne systemy operacyjne będą implementować TCP / IP w różny sposób ze względu na rodzaje usług, które system operacyjny zapewnia wewnętrznie. (Uwaga: ponieważ różne systemy operacyjne mają różne API lub przynajmniej funkcje API, możesz mieć inne zachowanie z TCP / IP w pewnych warunkach brzegowych.)

Jeśli nie rozumiesz cli ent / server z TCP / IP, warto najpierw zbadać prostego klienta / serwer. Najpierw poszukaj implementacji starego protokołu FTP (poszukaj zarówno prostego klienta, jak i prostego serwera). Wiele pojęć używanych przez strukturę sieciową do interakcji na poziomie TCP / IP będzie różnymi abstrakcjami tych samych używanych pojęć w innych modelach TCP / IP klient / serwer.

Moja pierwotna odpowiedź nie dotyczyła samego protokołu TCP / IP.

TCP (protokół kontroli transmisji) jest zaimplementowany w punktach końcowych hosta. Zależy to od poprawnego zaimplementowania IP w punktach końcowych hosta i routerach pośrednich – oraz od prawidłowego działania routingu, tak aby implementacje IP punktu końcowego hosta wybierały odpowiedni interfejs sieciowy do użycia, a routery pośrednie wybrały właściwy sposób przekazywania datagramów IP.

Możesz zacząć od przeczytania odpowiednich specyfikacji RFC dla TCP i IP. Wyszukiwarka Google pomoże Ci je znaleźć. Samouczki dotyczące routingu i protokołów używanych do administrowania routingiem to cała ścieżka kariery.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *