我正在读一本关于使用Go进行网络编程的书。其中一章介绍/ etc / services文件。我在浏览此文件时注意到的是,某些流行的条目(例如HTTP和SSH)在传输层都使用TCP,而第二个条目则是UDP。例如在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
谁知道为什么有两个条目?我不认为SSH或HTTP曾经使用过UDP(对于SSH ,此问题已得到确认)。
另请参见7.1节rfc6335
—
斯特凡Chazelas
22/udp
于2016年在Debian中被删除。IANA仍列出22 / udp,并列出大多数通常仅在其中任一协议上实现的大多数协议的udp和tcp。难道就意味着如果某天想通过udp实现ssh,它就为ssh保留了22个?