同一台机 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

均能正常收发消息。

日常吐槽

我都不想吐槽了,天天吐槽这本破书。
这本书的槽点总结一下就两点:

  1. 不想让你看懂
  2. 硬凑答案

本章吐槽的就是第二点,这点是真恶心,真 TM 恶心。第一点也就算了,毕竟恰饭嘛,不寒颤。


看答案,你给我解释解释什么叫 端口号具有做本地意义

本人妄自揣测一下作者的意思

  1. 标志一个 Socket 用的是 IP 和 端口号。因为 IP 不同,所以端口号可以相同。
  2. 一个主机可以有不同的 IP 地址,所以同一个主机上的 Socket 可以用不同的端口号。

你这不是在欺负老实人吗?
不管是那种解读,他背地含义是不是被 IP:端口号 标志?协议 俩字我都没见到。这显然是在硬凑答案。连最基本的常识都不懂,建议该书作者好好研读一下《计算机网络-自顶向下方法》这本书。

参考资料

《计算机网络-自顶向下方法》
《让子弹飞》

以上是关于同一台机 TCP 和 UDP 能否使用同一个端口号?的主要内容,如果未能解决你的问题,请参考以下文章

网络基础之重TCP/UDP三次握手和四次挥手

套接字编程简介

TCP/IP协议的端口号

端口号的类型有啥,好像有tcp,udp,请问有没有http的呢?

TCP和UDP可以同时监听相同的端口吗

TCP/UDP端口号常见的