[TOC]
# 端口
******
在网络技术中,端口(Port)包括`逻辑端口`和`物理端口`两种类型。物理端口指的是物理存在的端口,如 ADSL Modem、集线器、交换机、路由器上用于连接其他网络设备的接口,如 RJ-45 端口、SC 端口等等。逻辑端口是指逻辑意义上用于区分服务的端口,如 TCP/IP 协议中的服务端口,端口号的范围从 0 到 65535,比如用于浏览网页服务的 80 端口,用于 FTP 的 21 端口等。由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,这就是端口号。本文主要讲逻辑端口。
<br />
## 逻辑端口
端口有什么用呢?我们知道,一台拥有 IP 地址的主机可以提供许多服务,比如 Web 服务、FTP 服务、SMTP 服务等,这些服务完全可以通过 1 个 IP 地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能 只靠 IP 地址,因为 IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP 地址+端口号”来区分不同的服务的。
服务器一般都是通过知名端口来识别的。例如,对于每个 TCP/IP 实现来说,FTP 服务器的 TCP 端口号都是 21,每个 Telnet 服务器的 TCP 端口号都是 23,每个 TFTP(简单文件传送协议)服务器的 UDP 端口号都是 69。任何 TCP/IP 实现所提供的服务都用知名的 1~1023 之间的端口号。这些知名端口号由 Internet 号分配机构(Internet Assigned Numbers Authority,IANA)来管理。到 1992 年为止,知名端口号介于 1~255之间。256~1023之间的端口号通常都是由 Unix 系统占用,以提供一些特定的 Unix 服务------也就是说,提供一些只用 Unix 系统才有的、而其他操作系统可能不提供的服务,IANA 管理 1~1023 之间所有的端口号。
Internet 扩展服务与 Unix 特定服务之间的一个差别就是 Telnet 和 Rlogin。它们二者都允许通过计算机网络登录到其他主机上。Telnet 是采用端口号为 23 的 TCP/IP 标准且几乎可以在所有操作系统上进行实现。Rlogin 只是为 Unix 系统设计的(尽管许多非 Unix 系统也提供该服务),它的知名端口号为 513。
客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户端口号又称作临时端口号(即存在时间很短暂)。这是因为它通常只是在用户运行该客户程序时才存在,而服务器则只要主机开着的,其服务就运行。
大多数 TCP/IP 实现给临时端口号分配 1024~5000 之间的端口号。大于 5000 的端口号是为其他服务器预留的(Internet 上并不常用的服务)。我们可以在后面看见许多这样的给临时端口分配端口号的例子。Solaris 2.2 是一个很有名的例外。通常 TCP 和 UDP 的缺省临时端口号从 32768 开始。
<br />
## phper中的端口
在 php 开发者中,最常见的就是 80 http 默认端口了,在通常情况下,我们访问 www.easyswoole.com,其实是请求的 www.easyswoole.com:80,在没有指定端口的情况下,访问网站都是默认为 80 端口,如果你 web 服务器监听的是 8080 端口,访问时就必须 www.easyswoole.com:8080 带上端口才能访问。
- 引言
- Introduction
- 运行模式
- php-fpm
- php-cli
- 基础介绍
- 网络协议
- ip
- tcp
- tcp
- http
- webSocket
- udp
- port端口
- 会话管理
- cookie
- session
- api/token
- linux基础
- lnmp安装
- 命令
- 进程管理
- 扩展安装
- 端口监控
- 防火墙说明
- php7.0
- 部分新特性
- php回调/闭包
- 回调事件
- 闭包/匿名函数
- php多进程
- 多进程开启
- 进程通信
- 进程信号
- 僵尸进程
- 孤儿进程
- 守护进程
- 同步/异步
- 阻塞/非阻塞
- 协程
- Swoole
- 初始Swoole
- 运行机制
- 生命周期
- composer使用
- EasySwoole
- 设计理念
- 组件说明
- 运行过程
- demo
- 提问的艺术