;
在计算机网络中,通讯埠(英语:port),又称为连接埠、协定埠(protocol port),是一种经由软体建立的服务,在电脑中扮演通讯的端点(endpoint)。每个通讯埠都会与主机的及通讯协定关联。通讯埠以16位元数字来表示,这被称为端口号(port number),有时也直接简称端口。
位于传输层的通讯协定通常需要指定埠号,例如在TCP/IP协议族之下的TCP与UDP协议。在应用层中,使用的通讯协定,在每个通讯埠上提供多路复用服务(multiplexing service)。经由公认通讯埠号(well-known port numbers),通常可以辨认出这个连线使用的通讯协定,其中具代表的是最基础的1024个公认通讯埠号(well-known port numbers),例如Telnet协定预设使用23埠来连线,Secure Shell协定预设使用22埠,协定预设使用80埠,协定预设使用443埠。
传输层协议,如(TCP)与(UDP),在封包表头中,定义了来源埠号与目的埠号。一个通讯埠号使用16位元无符号整数(unsigned integer)来表示,其范围介于0与65535之间。在TCP协定中,埠号0是被保留的,不可使用。1--1023 系统保留,只能由root用户使用。1024---4999 由客户端程序自由分配。5000---65535 由服务器端程序自由分配。在UDP协定中,来源埠号是可以选择要不要填上,如果设为0,则代表没有来源埠号。
在作业系统中,一个行程可以通过将它的输入与输出与一个特定的传输协定、一个通讯埠、一个IP位址关联起来。这个关联动作,称为绑定(binding),在这之后,就可以通过网路送出与接收资料。
在作业系统上运行的网路软体,可以透过作业系统,利用各个不同的通讯埠,将资料传送到网路上;作业系统也可以根据资料封包的IP位址以及埠号,将这些资料封包转送到符合的行程去。
虽然使用同样传输协定,但是特定的IP位址以及通讯埠的组合,只会被绑定到单一的特定行程上。当使用同样协定的多个程式,尝试著绑定在同一个IP位址下的相同通讯埠,就会产生一个常见的应用程式错误,这个错误有时候被称为通讯埠冲突(port conflicts)。
在Linux的 文件,Windows的 文件,记录了网络服务名、端口号、协议、别名。
应用程序可以不直接使用端口号,通过函数获取端口号。如果服务想更改端口号只要更改中的端口号就可以了,应用程序不需要做任何更改。可以通过函数获取对应端口和规约上的服务名。
端口号有两种用途:
网络防火墙或者还可提供端口转发(port forwarding),即NAT。