通讯埠
出自 MBA智库百科(https://wiki.mbalib.com/)
通讯埠(port)
目录 |
在电脑网络中,通讯埠又称为连接埠、接口、端口、协定埠(protocol port),是一种经由软件建立的服务,在一个电脑操作系统中扮演通讯的端点(endpoint)。每个通讯埠都会与主机的IP地址及通讯连线使用的协定相关。一个通讯阶段作业(communications session)的完成,除了需要资料来源及目标位址外,还需要指定通讯埠才能完成。每个IP地址及协定使用的通讯埠,都是以16位元数字来表示,这被称为通讯埠编号(port number)。
位于传输层的通讯协定都需要指定埠号,例如在TCP/IP协议族之下的TCP与UDP协议。在应用层中,使用主从式架构的通讯协定,在每个通讯埠上提供多路复用服务(multiplexing service)。经由公认连接埠号(well-known port numbers),通常可以辨认出这个连线使用的通讯协定,其中具代表性的是最基础的1024个公认连接埠号(well-known port numbers),例如telnet协定预设使用23埠来连线,HTTP连线预设使用80埠。
传输层协议,如传输控制协议(TCP)与使用者资料包协定(UDP),在封包表头中,定义了来源埠号与目的埠号。一个通讯埠号使用16位元非带号整数(unsigned integer)来表示,其范围介于0与65535之间。在TCP协定中,埠号0是被保留的,不可使用。在UDP协定中,来源埠号是可以选择要不要填上,如果设为0,则代表没有来源埠号。
在操作系统中,一个行程,可以通过internet socket,将它的输入与输出,与一个特定的传输协定,一个通讯埠,与IP地址,关联起来。这个关联动作,称为绑定(binding),在这之后,就可以通过网络送出与接收资料。在操作系统上运行的网络软件,可以透过操作系统,利用各个不同的通讯埠,将资料传送到网络上;操作系统也可以根据资料封包的IP地址以及埠号,将这些资料封包转送到符合的行程去。虽然使用同样传输协定,但是特定的IP地址以及通讯埠的组合,只会被绑定到单一的特定行程上。当使用同样协定的多个程式,尝试着绑定在同一个IP地址下的相同通讯埠,就会产生一个常见的应用程序错误,这个错误有时候被称为通讯埠冲突(port conflicts)。