同一台机 TCP 和 UDP 能否使用同一个端口号?
Posted 不搞数学的汤老师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同一台机 TCP 和 UDP 能否使用同一个端口号?相关的知识,希望对你有一定的参考价值。
同一台机 TCP 和 UDP 能否使用同一个端口号?
可以,一个 Socket 由 协议、ip 地址、端口号 所构成的三元组唯一标识。
实验
使用 netcat 简单做一个实验,首先开四个终端。
nc -ul 8888 # 开启一个 UDP 服务,端口号为 8888
nc -l 8888 # 开启一个 TCP 服务,端口号为 8888
nc -u 127.0.0.1 8888
nc 127.0.0.1 8888
均能正常收发消息。
日常吐槽
我都不想吐槽了,天天吐槽这本破书。
这本书的槽点总结一下就两点:
- 不想让你看懂
- 硬凑答案
本章吐槽的就是第二点,这点是真恶心,真 TM 恶心。第一点也就算了,毕竟恰饭嘛,不寒颤。
看答案,你给我解释解释什么叫 端口号具有做本地意义 ?
本人妄自揣测一下作者的意思
- 标志一个 Socket 用的是 IP 和 端口号。因为 IP 不同,所以端口号可以相同。
- 一个主机可以有不同的 IP 地址,所以同一个主机上的 Socket 可以用不同的端口号。
你这不是在欺负老实人吗?
不管是那种解读,他背地含义是不是被 IP:端口号 标志?协议 俩字我都没见到。这显然是在硬凑答案。连最基本的常识都不懂,建议该书作者好好研读一下《计算机网络-自顶向下方法》这本书。
参考资料
以上是关于同一台机 TCP 和 UDP 能否使用同一个端口号?的主要内容,如果未能解决你的问题,请参考以下文章