1.2.2 端口

网络上的主机通过IP地址来标识自己,方便其他主机上的程序和自己主机上的程序建立通信。但主机上需要通信的程序有很多,那么如何才能找到对方主机上的目的程序呢?IP地址只是用来寻找目的主机的,最终通信还需要找到目的程序。为此,人们提出了端口这个概念,它就是用来标识目的程序的。有了端口,一台拥有IP地址的主机可以提供许多服务,比如Web服务进程用80端口提供Web服务、FTP进程通过21端口提供FTP服务、SMTP进程通过23端口提供SMTP服务等。

如果把IP地址比作一间旅馆的地址,端口就是这家旅馆内某个房间的房号。旅馆的地址只有一个,但房间却有很多个,因此端口也有很多个。端口是通过端口号来标记的,端口号是一个16位的无符号整数,范围是从0到65535(216‒1),并且前面1024个端口号是留作操作系统使用,我们自己的应用程序如果要使用端口,通常用1024后面的整数作为端口号。