Czytam książkę o programowaniu sieciowym za pomocą Go. Jeden z rozdziałów dotyczy pliku / etc / services. Podczas eksploracji tego pliku zauważyłem, że niektóre popularne wpisy, takie jak HTTP i SSH, oba używające TCP w warstwie transportowej, mają drugi wpis dla UDP. Na przykład w Ubuntu 14.04:
ubuntu@vm1:~$ grep ssh /etc/services
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp
ubuntu@vm1:~$ grep http /etc/services
http 80/tcp www # WorldWideWeb HTTP
http 80/udp # HyperText Transfer Protocol
Czy ktoś wie, dlaczego mają dwa wpisy? Nie sądzę, aby SSH lub HTTP kiedykolwiek używały UDP (potwierdzone tym pytaniem dla SSH).
linux
networking
services
protocols
sześćdziesiąt4bit
źródło
źródło
22/udp
został usunięty w Debianie w 2016 r. IANA wciąż wyświetla listę 22 / udp i wyświetla listę zarówno udp, jak i tcp dla większości protokołów, które zwykle są implementowane tylko na jednym z nich. Czy to możliwe, że oznacza to, że 22 jest zarezerwowane dla ssh na wypadek, gdyby ktoś chciał kiedyś zaimplementować ssh over udp?Odpowiedzi:
Zasadniczo, to dlatego, że była tradycja z drodze powrotnej, gdy numery portów zaczęto przydzielony przez aż około 2011. Patrz, na przykład, §7.1 „Past” Zasad z RFC 6335 :
Możliwe, że kiedyś zostaną one nieprzydzielone, ponieważ porty 1023 i poniżej są „portami systemowymi”, traktowanymi specjalnie przez większość systemów operacyjnych, a większość z tego zakresu jest obecnie przypisana.
Nawiasem mówiąc, HTTP / 3 działa na UDP. Chociaż może korzystać z dowolnego portu UDP, nie tylko 80/443. Więc naprawdę te są nadal nieużywane.
Jeśli chodzi o Debian jest zaniepokojony, jego
/etc/services
już 22 / udp w 1,0 szumu (1996) .Został jednak usunięty w tym zatwierdzeniu w 2016 r., Po raz pierwszy wydany w wersji 5.4
netbase
pakietu.W chwili pisania najnowsza stabilna wersja Debiana (buster) ma 5.6 . A najnowszy pakiet netbase Ubuntu LTS (18.04, bionic) jest oparty na netbase Debiana 5.4 i widać, że jego dziennik zmian wspomina również o usunięciu udp / 22 .
źródło