先来个注意事项 (-> ->)服务器
这种在协议层间的抽象的协议端口是软件端口,和硬件端口是彻底不一样的概念。硬件端口是不一样设备进行交互的接口,而软件端口是应用层的各类协议进程与运输实体进行层间交互的一种地址。接口
TCP/IP的运输层用一个16位端口号来标志一个端口。端口号只具备本地意义,它只是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。在因特网不一样计算机中,相同的端口号是没有关联的。16位的端口号可容许有65535个不一样的端口号。进程
(1) 一类是熟知端口号(well-known port number)(或系统端口号),数值为0 ~ 1023。可在www.iana.org查到。IANA把这些端口号指派给了TCP/IP最重要的一些应用程序,让全部的用户都知道。当一种新的应用程序出现后,IANA必须为它指派一个熟知端口号,不然因特网上的其余应用进程就没法与它通讯。get
应用程序 | FTP | TELNET | SMTP | DNS | TFTP | HTTP | SNMP | SNMP(trap) |
---|---|---|---|---|---|---|---|---|
熟知端口号 | 21 | 23 | 25 | 53 | 69 | 80 | 161 | 162 |
(2) 另外一类叫作登记端口号,数值为1024 ~ 49151。这类端口号是为没有熟知端口号的应用程序使用的。使用这类端口号必须在IANA按照规定的手续登记,以防止重复。table
数值为49152 ~ 65535。因为这类端口号仅在客户进程运行时才动态选择,所以又叫作短暂端口号。这类端口号是留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的端口号,于是能够把数据及时发送给客户进程。通讯结束后,刚才已使用过的客户端口号就不复存在,这个端口号就能够供其余客户进程使用。class