集团站切换校区

验证码已发送,请查收短信

复制成功
微信号:togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
图标

业界新闻

当前位置:首页 > >业界新闻 > >

传输层协议和应用层协议的关系

发布时间: 2022-02-21 10:46:44

应用层协议很多,但传输层就两个协议,如何使用传输层的两个协议标识应用层协议呢?


通常使用传输层协议加一个端口号来标识一个应用层协议,如图1所示,展示了传输层协议和应用层协议之间的关系。



图1 传输层协议和应用层协议之间的关系


下面列出了一些常见的应用层协议和传输层协议,以及它们之间的关系。


(1)HTTP默认使用TCP的80端口。

(2)FTP默认使用TCP的21端口。

(3)SMTP默认使用TCP的25端口。

(4)POP3默认使用TCP的110端口。

(5)HTTPS默认使用TCP的443端口。


(6)DNS默认使用UDP的53端口。

(7)远程桌面协议(RDP)默认使用TCP的3389端口。

(8)Telnet默认使用TCP的23端口。

(9)Windows访问共享资源默认使用TCP的445端口。

(10)微软SQL数据库默认使用TCP的1433端口。

(11)MySQL数据库默认使用TCP的3306端口。


以上列出的都是默认端口,当然可以更改应用层协议使用的端口。如果不使用默认端口,客户端需要指明所使用的端口。


图2所示的服务器运行了Web服务、SMTP服务和POP3服务。这3个服务分别使用HTTP、SMTP和POP3与客户端通信。现在网络中的A计算机、B计算机和C计算机分别打算访问服务器的Web服务、SMTP服务和POP3服务。发送了3个数据包①②③,这3个数据包的目标端口分别是80、25和110,服务器收到这3个数据包,就根据目标端口将数据包提交给不同的服务。



图2 端口和服务的关系


现在大家明白,数据包的目标IP地址是用来在网络中定位某一个服务器的,目标端口是用来定位服务器上的某个服务的。


图2展示了A、B、C计算机访问服务器的数据包,有目标端口和源端口,源端口是计算机临时为客户端程序分配的,服务器向A、B、C计算机发送响应数据包,源端口就变成了目标端口。


A计算机打开谷歌浏览器,一个页面访问网址百度,另一个页面访问网址51CTO,这就需要建立两个TCP连接,如图3所示。A计算机会给每个页面临时分配一个客户端端口(要求本地唯一),从51CTO学院返回的数据包的目标端口是13456,从百度网站返回的数据包的目标端口是12928,这样A计算机就知道这些数据包是来自哪个网站的,应提交给哪一个页面。



图3 客户端端口的作用


在传输层使用16位二进制标识一个端口,端口号的取值范围是0~65535。端口号分为以下两大类。


1.服务器使用的端口号


服务器端使用的端口号又分为两类,最重要的一类叫作“熟知端口号”(well-known port number)或“系统端口号”,数值为0~1023。这些数值可在网址IANA官网查到。互联网数字分配机构(IANA)把这些端口号指派给了TCP/IP最重要的一些应用程序,让所有的用户都知道。图4给出了一些常用的熟知端口号。



图4 熟知端口号


另一类叫作“登记端口号”,数值为1024~49151。这类端口号是供没有熟知端口号的应用程序使用的。使用这类端口号必须在IANA按照规定的手续登记,以防止重复。例如,微软的RDP使用TCP的3389端口,就属于登记端口号的范围。


2.客户端使用的端口号


当打开浏览器访问网站或登录QQ等客户端软件和服务器建立连接时,计算机会为客户端软件分配一个临时端口,这就是客户端端口,取值范围为49152~65535。由于这类端口号仅在客户进程运行时才动态选择,因此又叫作“临时(短暂)端口号”。这类端口号是留给客户进程暂时使用的。


当服务器进程收到客户进程的报文时,就知道了客户进程所使用的端口号,因而可以把数据发送给客户进程。通信结束后,刚才已使用过的客户端口号就不复存在,这个端口号就可以供其他客户进程以后使用。

上一篇: DHCP的工作机制

下一篇: tcp和udp的区别和使用场景

在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!