华为网络基础 | 套接字

  • 内容
  • 相关

前几篇已经讲解了RS | 数据包帧字节——图例详解RS | IP报文头部RS | TCP头部封装RS | UDP头部封装我们大概了解了数据通信过程中,以太帧、IP报文、TCP头部和UDP头部的封装结构组成,那对于TCP连接多个的怎么判断呢?接着往下看。  

在每个TCP、UDP数据段中都包含源端口和目标端口字段。有时,我们把一个IP地址和一个端口号合称为一个套接字(Socket),而一个套接字对(Socket pair)可以唯一地确定互连网络中每个TCP连接的双方(客户IP地址、客户端口号、服务器IP地址、服务器端口号)。  

如图,是常见的一些协议和它们对应的服务端口号。

需要注意的是,不同的应用层协议可能基于不同的传输层协议,如FTP、TELNET、SMTP协议基于可靠的TCP协议。DNS、TFTP、SNMP、RIP(520端口)基于不可靠的UDP协议。  

同时,有些应用层协议占用了两个不同的端口号,如FTP的20、21端口,SNMP的161、162端口。这些应用层协议在不同的端口提供不同的功能。如FTP的21端口用来侦听用户的连接请求,而20端口用来传送用户的文件数据。再如,SNMP的161端口用于SNMP管理进程获取SNMP代理的数据,而162端口用于SNMP代理主动向SNMP管理进程发送数据

还有一些协议使用了传输层的不同协议提供的服务。如DNS协议同时使用了TCP 53端口和UDP 53端口。DNS协议在UDP的53端口提供域名解析服务,在TCP的53端口提供DNS区域文件传输服务

TCP和UDP端口号由IANA进行管理,并且分类如下:

知名端口:端口号范围是0~1023,这些端口固定用于某项特定的服务和应用层协议,使客户端的应用层协议能够顺利请求服务器的特定服务。

注册端口:端口号范围是1024~49151,这些是分配给终端用户应用层协议的端口号,主要针对用户自行安装的程序,而不是已经拥有了知名端口的应用层协议。当系统中没有任何资源占用这类端口时,客户端就可以在这个范围内动态选择源端口来使用。

动态端口:端口号范围是49152~65535,客户端在开始与服务器进行通信时,会动态选用某个端口作为自己的源端口。

 您阅读这篇文章共花了:

上一篇:华为网络基础 | UDP头部封装

下一篇:华为网络基础 | WireShark实战之验证

本文标签:    

版权声明:本文依据CC-BY-NC-SA 3.0协议发布,若无特殊注明,本文皆为《fishyoung》原创,转载请保留文章出处。

本文链接:华为网络基础 | 套接字 - http://www.fishyoung.com/post-136.html