端口号
逻辑意义上的端口,即TCP /IP协议中的端口,在报头中占2个字节即16位,范围是从0-65535。端口号用来表示和区别网络中的不同应用程序,即不同的进程。
端口的分类
(1)众所周知的端口 0 ~ 1023,这些端口由IANA分配和控制,明确绑定某些服务协议,不能随便分配。
FTP : 21
TELNET : 23
SMTP : 25
DNS : 53
TFTP : 69
HTTP : 80
SNMP : 161
SSH :22
(2)注册端口 1024 ~ 49151,松散的绑定一些服务,是公司和其他用户向互联网名称与数字地址分配机构(ICANN)登记的端口号,利用因特网的传输控制协议(TCP)和用户数据报协议(UDP)进行通信的应用软件需要使用这些端口。在大多数情况下,这些应用软件和普通程序一样可以被非特权用户打开
(3)用户端使用的端口 (动态或私有端口)49152 ~65535。这类端口号仅在客户进程运行时才动态选择,因此又叫做短暂端口号。被保留给客户端进程选择暂时使用的。
注意:Unix系统有保留端口(reserved port),指的是小于1024的任何端口。这些端口只能赋予root用户进程的套接字。
套接字对
一个TCP连接的套接字对是一个定义该连接的两个端点的的四元组:本地IP地址,本地TCP端口号,外地IP地址,外地TCP端口号。套接字对唯一标识一个网络上的每个TCP 连接。标识每个端点的两个值(IP地址和端口号)通常称为一个套接字。