为什么说“TCP端口”?

Ant*_*arf 2 port tcp-ip

我正在学习网络和套接字,但有些我不明白。我经常听说“TCP 端口”,但我认为端口与应用层有关(例如 HTTP 服务器的 80)。那么为什么不说“应用程序端口”呢?为什么端口似乎与 TCP 层相关联(它应该与更高层相关联)?对我来说端口与 TCP 协议无关

谢谢

mih*_*hai 6

您的理解是错误的,您需要在继续讨论其他网络概念之前澄清这一点。

端口是 TCP 的基本概念。

TCP 是两个端点 (SourceDestination)之间的双向通信协议,由两件事标识:IP addressPort。TCP 旨在IP address通过添加Port和允许单个 IP 地址存在多个通信端点来扩展 IP 协议(​​仅通过 标识主机)。

事实上,TCP 数据包(通过线路发送)封装了 IP 数据包,但在 IP 之上添加了一些额外的信息,例如Port和一些传输控制标志等信息。这就是人们经常使用术语 TCP/IP 的原因。

在 TCP/IP 之上,人们已经构建了其他协议,例如 HTTP。

一个 HTTP 数据包(或请求)由在客户端和服务器之间交换的多个 TCP/IP 数据包组成。HTTP使用TCP/IP,使用 HTTP 发送的所有数据包都是 TCP/IP 数据包。HTTP通常使用 TCP 端口 80,但是它可以在任何其他端口上运行而不会出现问题。

此外,任何其他应用程序级协议都可以配置为使用端口 80。

端口仅按照惯例与应用程序级协议相关联。同样,SSH通常配置在端口 22 上,但可以在任何其他端口上使用。