端口号和协议号有什么区别?

网络工程 路由 通讯协议 第3层 传输协议 第4层
2021-07-24 11:50:36

有人能解释清楚吗。我知道应用程序使用端口号来区分您请求的服务,路由协议使用 TCP 标头中的协议号。

2个回答

第 3 层协议(IPv4 或 IPv6)使用协议号来确定它应该将数据包的有效负载发送到网络堆栈中的哪个第 4 层协议。

端口号是某些第 4 层协议(TCP 或 UDP)的地址。第 4 层协议使用端口号来确定哪个应用程序获取第 4 层数据报的有效负载。

路由协议在 TCP 报头中使用协议号。

我相信你混淆了第 3 层和第 4 层。TCP 标头(第 4 层)没有协议编号字段 - 协议编号位于 IP 标头(第 3 层)中。

第 2 层到第 4 层每个都在该层的报头内部封装上一层的数据报。有关更多详细信息,请参阅此问题答案

您可以将端口视为电话分机,计算机的 IP 地址就像它的电话号码。您可以拨打号码(IP 地址)与计算机通话,然后拨打分机(端口)与特定应用程序通话。应用程序需要侦听端口才能进行通信。

一个协议仅仅是在谈话两端的两个应用程序同意在说的语言。如果您的应用程序发送的字节流,我的申请,我的应用程序需要知道如何解释这些字节。