Estoy leyendo un libro sobre programación de redes con Go. Uno de los capítulos trata del archivo / etc / services. Algo que noté al explorar este archivo es que ciertas entradas populares como HTTP y SSH, que usan TCP en la capa de transporte, tienen una segunda entrada para UDP. Por ejemplo en 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
Alguien sabe por qué estos tienen dos entradas? No creo que SSH o HTTP usen UDP (confirmado por esta pregunta para SSH).
linux
networking
services
protocols
sesenta y cuatro bits
fuente
fuente
22/udp
se eliminó en Debian en 2016. IANA todavía enumera 22 / udp y enumera udp y tcp para la mayoría de los protocolos que generalmente solo se implementan en cualquiera de ellos. ¿Podría ser que significa que 22 está reservado para ssh en caso de que alguien quiera implementar ssh sobre udp algún día?Respuestas:
Básicamente, se debe a que esa era la tradición desde cuando los números de puerto comenzaron a asignarse hasta aproximadamente el año 2011. Vea, por ejemplo, §7.1 "Principios anteriores" de RFC 6335 :
Es posible que algún día sean desasignados, ya que los puertos 1023 y siguientes son los "puertos del sistema", tratados especialmente por la mayoría de los sistemas operativos, y la mayoría de ese rango está asignado actualmente.
Y, por cierto, HTTP / 3 se ejecuta sobre UDP. Aunque puede usar cualquier puerto UDP, no solo 80/443. Así que realmente todavía no se usan.
En lo que se refiere a Debian, su
/etc/services
ya tenían 22 / udp en 1,0 (zumbido 1996) .Sin embargo, se eliminó en este commit en 2016, lanzado por primera vez en la versión 5.4 del
netbase
paquete.Al momento de escribir, la última versión estable de Debian (buster) tiene 5.6 . Y el último paquete de netbase Ubuntu LTS (18.04, bionic) está basado en Debian netbase 5.4 y puede ver que su registro de cambios también menciona la eliminación de udp / 22 .
fuente