Tôi đang đọc một cuốn sách về lập trình mạng với Go. Một trong các chương liên quan đến tệp / etc / services. Một cái gì đó tôi nhận thấy trong khi khám phá tệp này là các mục phổ biến nhất định như HTTP và SSH, cả hai đều sử dụng TCP ở lớp vận chuyển, có mục nhập thứ hai cho UDP. Ví dụ trên 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
Bất cứ ai cũng biết tại sao những điều này có hai mục? Tôi không tin SSH hoặc HTTP từng sử dụng UDP (được xác nhận bởi câu hỏi này cho SSH).
22/udp
đã bị xóa trong Debian vào năm 2016. IANA vẫn liệt kê 22 / udp và liệt kê cả udp và tcp cho hầu hết các giao thức thường chỉ được thực hiện trên một trong số chúng. Có thể chỉ có nghĩa là 22 được dành riêng cho ssh trong trường hợp ai đó muốn thực hiện ssh qua udp một ngày nào đó?