计算机网络——运输层的相关概念

  • Post author:
  • Post category:其他





1.运输层概述

之前文章介绍的计算机网络体系结构中的物理层、数据链路层、网络层它们共同解决了将主机通过异构网络互连起来面临的问题,

实现了主机到主机间的通信



但实际上在计算机网络中

通信的真正实体是位于通信两端主机中的进程

。如何为

运行在不同主机上的应用进程提供直接的通信服务就是运输层的任务

,运输层协议又称为端到端协议。

在这里插入图片描述

如上图所示的计算机中的进程之间的相互通信,是需要借助应用层以下四层体系的共同合作。

在这里插入图片描述

进程在运输层使用不同的端口,然后通过网络层及其下层来传输应用层报文,接收方的运输层通过不同的端口交付给应用层中的应用进程。可以简单地认为,

运输层直接为应用进程间的逻辑通信提供服务

。其实,运输层为高层用户屏蔽了下面网络核心的细节,使应用进程就好像是在

两个运输层实体之间有一条端到端的逻辑通信信道



根据应用需求的不同,因特网运输层为应用层提供了两种不同的运输协议,即

面向连接的TCP



无连接的UDP




2.端口号

运输层使用端口号来区分不同的应用进程。运行在计算机上的进程使用

进程标识符PID

来标志。但因特网上的计算机并不是使用统一的操作系统,不同的操作系统使用不同格式的进程标识符。为了使运行不同操作系统的计算机的应用进程之间能够进行网络通信,就必须使用

统一的方法对TCP/IP体系的应用进程进行标识



TCP/IP体系的运输层使用端口号来区分应用层的不同应用进程。端口号使用16比特表示,取值范围0-65535。


  • 熟知端口号

    :0-1023,这些端口号被指派给了TCP/IP体系中最重要的一些协议,例如FTP使用21/20,HTTP使用80,DNS使用53。

  • 登记端口号

    :1024-49151,为没有熟知端口号的应用程序使用。比如微软远程桌面使用的端口号时3389。

  • 短暂端口号

    :49152-65535,留给客户进程选择暂时使用,当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号,通信结束后这个端口号可供给其他用户进程使用。

    端口号只有本地意义,即端口号只是为了标识计算机应用层中的各个进程,在因特网上,不通计算机中的相同端口号没有联系。



3.复用与分用

在这里插入图片描述

发送方进程发送应用报文,在运输层采用UDP协议进行封装,称为

UDP复用

,有的进程采用TCP协议进行封装,称为

TCP复用

。无论是UDP用户数据报还是TCP报文段,都需要使用IP协议封装成IP数据报,IP数据报首部的协议字段表示报文使用的是UDP还是TCP。

当数据报的被接收方的网络层接收后,会进行

IP分用

。把IP数据报的数据载荷部分所封装的UDP用户数据包或TCP报文段进行

UDP分用



TCP分用

,根据端口号将报文上交给应用层的进程。下面是TCP/IP体系的应用层协议常用协议所使用的的运输层熟知端口号。

在这里插入图片描述



4.运输层实例

下面用一个实例来对应用进程间的通信进行详细说明。

在这里插入图片描述

上图所示是通过交换机连接起来的DNS服务器、Web服务器和用户PC。DNS服务器中储存着Web服务器的域名和IP地址的对应关系。

在这里插入图片描述

当PC中的浏览器想要访问Web服务器,输入其网址后,需要获得网址和IP地址的对应关系。

    

这是就需要发送一条DNS查询请求报文给DNS服务器。目的端口号为DNS协议的常用端口号53,而源端口号为随机选取的未被使用的暂用端口号。

在这里插入图片描述

DNS服务器运输层收到询问报文后进行分用,解读出数据内容后,会发送一条DNS响应报文,将对应IP地址写入数据载荷,并填写目的端口号为PC应用进程端口号。

在这里插入图片描述

获得Web服务器的IP地址后,就可以发送HTTP请求报文了,假设源端口号仍然去49152,目的端口号为HTTP协议的常用端口号80。

在这里插入图片描述

紧接着服务器会发送响应报文,告知首页内容。这样,PC中的浏览器就能显示首页内容了。

在这里插入图片描述



版权声明:本文为m0_56561130原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。