本节将介绍一些端口的一些知识点,作为我的专栏《计算机网络协议快速入门教程》中的一节。
前面的文章对于UDP以及TCP协议做了较为详尽的阐述,其中端口作为传输层的地址能够有效的标识应用程序。其实不仅仅是UDP协议,对于TCP协议也会使用端口作为应用程序通信的表示。端口概念不难理解,但是对于端口约定俗成的使用方式,在服务端以及客户端的使用上存在着一定的差异,本节将详细的阐述。
端口范围
无论在UDP协议还是TCP协议中,端口均使用两个字节进行表示,因此其范围为0-65535。理论上来说,这些范围内端口既可以作用在TCP又可以作用在UDP协议上。但是实际上可能会有所不同,见如后的分析。
客户端
通常来说我们所见到的客户端端口和服务端端口还是具有明显的差异的,如图1:
图1
图1中source port为55632,表示的是客户端浏览器访问网页时候使用的端口。Destination port为80,表示的是网页服务器对外开放的端口。可以看到客户端的端口通常非常的大,而服务器的端口一般较小。图2,3是一次网页访问过程中客户端和服务器端口分布情况: