25

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

4

10 回答 10

68

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

协议只是对话两端的两个应用程序同意使用的语言。如果您的应用程序正在向我的应用程序发送字节流,我的应用程序需要知道如何解释这些字节。

于 2009-02-25T17:11:10.303 回答
33

协议=如何通信,端口=在哪里通信

于 2009-02-25T17:06:56.460 回答
20

协议是关于如何解释数据以及如何响应消息的协议。它们通常指定消息格式和合法消息。协议示例包括:

端口是 TCP 和 UDP 中套接字端点的一部分。它们允许操作系统区分主机上的哪个 TCP 或 UDP 服务应该接收传入的消息。

通常会出现混淆,因为保留了许多端口(例如端口 80),并且通常由期望特定协议(端口 80 的情况下为 HTTP)的服务器监听。虽然通常预计发送到端口 80 的消息是 HTTP 消息,但没有什么可以阻止非 HTTP 服务器侦听端口 80 或 HTTP 服务器侦听备用端口(例如 8080 或 8088)。

于 2009-02-25T17:05:39.253 回答
8

港口=船舶进入的地方
协议=货物如何装载到船上

于 2009-02-25T17:09:55.437 回答
2

端口 = 耳朵、嘴巴、眼球,触摸
协议 = 英语、西班牙语、手语、盲文

于 2009-02-25T22:59:13.727 回答
2

每个人都是对的:我最喜欢的比喻是其中一艘船。港口:装载货物的地方,协议:如何装载/卸载货物。

这篇维基百科文章可能会对您有所帮助。

http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

于 2009-02-25T17:26:07.223 回答
1

在 IP 术语中,协议号是分配给 IP 中承载的第 4 层协议的值,例如,6 代表 TCP,17 代表 UDP,这/etc/protocols在大多数 UNIX 系统的文件中经常可以找到。

在 UDP 和 TCP 报头中使用端口号来表示在这些协议中承载的不同更高级别的协议,例如 25 用于 SMTP,80 用于 HTTP,等等/etc/services

于 2009-02-25T17:09:55.670 回答
1

协议是关于两个设备应如何以它们都可以理解的方式交换数据的规范。端口是一种编号的“标签”,可帮助计算机决定谁应该接收传入的数据。

许多协议都有一个默认运行的端口。这使得发现它们或配置使用它们的应用程序变得更加容易。但这不是硬性规定。只要与他们联系的任何人都知道更改,他们就可以随时在不同的端口上收听。

于 2009-02-25T17:10:09.650 回答
1

在简单端口中表示您与谁通信。& 协议表示如何通信或通信方式。

于 2010-08-26T09:41:45.253 回答
0

端口只是您为通信选择的通道,协议决定了通信的完成方式。某个协议通常使用特定的端口,例如 HTTP 使用端口 80,FTP 使用端口 21。

于 2009-02-25T17:08:27.093 回答