Goでネットワークプログラミングに関する本を読んでいます。章の1つでは、/ etc / servicesファイルを扱います。このファイルの調査中に気づいたのは、両方ともトランスポート層でTCPを使用するHTTPやSSHなどの特定の一般的なエントリに、UDPの2番目のエントリがあることです。たとえば、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
なぜこれらに2つのエントリがあるのか誰でも知っていますか?SSHやHTTPがUDPを使用するとは思わない(SSHのこの質問で確認された)。
22/udp
IANAは2016年にDebianで削除されました。IANA は22 / udpをリストし、通常はどちらか一方にのみ実装されるほとんどのプロトコルのudpとtcpの両方をリストします。誰かがいつかudp経由でsshを実装したい場合に備えて、22がssh用に予約されていることを意味しているだけかもしれません。