ฉันกำลังอ่านหนังสือเกี่ยวกับการเขียนโปรแกรมเครือข่ายด้วย Go หนึ่งในบทเกี่ยวข้องกับไฟล์ / etc / services สิ่งที่ฉันสังเกตเห็นขณะสำรวจไฟล์นี้คือรายการยอดนิยมบางรายการเช่น HTTP และ SSH ซึ่งทั้งคู่ใช้ TCP ที่ transport layer มีรายการที่สองสำหรับ 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)
22/udp
ถูกลบใน Debian ในปี 2559 IANA ยังคงแสดงรายการ 22 / udpและแสดงรายการทั้ง udp และ tcp สำหรับโปรโตคอลส่วนใหญ่ที่มักจะนำมาใช้กับหนึ่งในนั้น อาจเป็นได้ว่ามันหมายถึง 22 ถูกสงวนไว้สำหรับ ssh ในกรณีที่ใครบางคนต้องการที่จะใช้ ssh มากกว่า udp บางวัน?