计算机网络(五) 运输层

运输层

5.1.1 进程间基于网络的通信

 

 

 AP是应用进程缩写

 

 

从计算机网络体系结构来看应用进程通信:

1.这里的“端口”不是看得见摸得着的物理端口,而是来区分不同应用进程的标识符

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

 

 3.运输层向应用层尸体屏蔽了下面网络核心的细节,使应用进程看见的就好像是两个运输层实体之间有一条端到端的逻辑通信信道。

4.根据应用需求的不同,因特网的运输层为应用层提供了两种不同的运输层协议,即面向连接的TCP和无连接的UDP,这两种协议是本章讨论的主要内容。

5.1.2 TCP/IP体系结构运输层中的两个重要协议

 

 

 TCP和UDP对比:

 

 

 典型应用层协议使用的运输层协议

 

 5.1.3 运输层端口号、复用与分用的概念

运行在计算机上的进程是使用进程标识符(PID)来标识的。

  • 然而,因特网上的计算机不是使用统一的操作系统,不同操作系统又使用不同格式的进程标识符。
  • 为了使不同操作系统的计算机的应用进程之间能够基于网络进行通信,就必须使用统一的方法对TCP/IP体系的应用进程进行标识。

TCP体系结构的运输层使用端口号标识和区分应用层的不同应用进程。端口号的长度为16bit,取值范围是0-65535。

 

 

 不同运输层协议间端口号也没有关系。

发送方的复用和接受方的分用

 

 OSPF不使用运输层UDP或者TCP进行封装而是使用IP数据包封装。

 

 

 

 DNS查询请求报文使用UDP协议封装成UDP数据报。

 

UDP数据包报封装成IP数据报,通过以太网传输到DNS服务器中。

 

 

 

 使用TCP协议

 

 

 

 

 

 

解析并在网页浏览器中进行渲染显示

5.2 UDP和TCP对比

 

 

 UDP无连接,TCP面向连接

 

 连接指逻辑连接关系

UDP可向四台主机发送单播,多播和广播。

 

 

 

 

 

 使用TCP必须先建立三报文握手建立连接,所以TCP只有单播。

 

 

 UDP既不进行拆分和分解,也不合并。

 

 

对数据传输可靠性的支持情况

 

 

 首部之间的对比

 

 TCP首部最小长度为20字节,最长为60字节。

 

 

 

 5.3.1 TCP报文段的首部格式

TCP的全部功能需要依赖其首部中的各字段来实现。

 

 

 实现可靠传输的相关字段:序号、确认后、ACK。

序号:占32比特,取值范围0~2的32次方-1。当序号增加到最后一个时,下一个序号回到0.用来指出本TCP报文段数据载荷的第一个字节的序号。(注意跟下面TCP三次握手的序号)

确认号:占32比特,取值范围0~2的32次方-1。当确认号增加到最后一个时,又回到0。用来指出期望收到对方下一个TCP报文段的数据载荷的第一个字节的序号,也是对之前收到所有数据的确认。

确认号ACK:只有当ACK取指为1时,确认号字段才有效。TCP规定:在TCP连接建立后,所有传送的TCP报文段必须把ACK置1。

 

 

 

 

 

 

数据偏移:占4比特,该字段的取指以4字节为单位。指出TCP报文段的数据载荷部分的起始处距离TCP报文段的起始处有多远,这实际上指出了TCP报文段的首部长度。

 

 

 保留字段:占6比特,保留为今后使用,目前为0。

窗口字段:占16比特,该字段以字节为单位。指出发送本报文的一方的接收窗口的大小,即接收缓存的可用空间大小,用来表征接收方的接收能力。

在计算机网络中,经常用接收方的接收能力的大小来控制发送方的数据发送量,这就是所谓留来能够控制。

检验和字段:占16比特,用来检验整个TCP报文段在传输过程中是否出现了误码。

 

 

与IPv4数据报首部检验和类似,差别在于前者只对首部进行检验。 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 与IPv4首部填充一样。

 

5.3.2 TCP运输连接管理

三报文握手建立TCP连接,TCP是面向连接的协议,基于运输连接来传送TCP报文段。

TCP运输连接的建立和释放,是每一次面向连接的通信中必不可少的过程

 

 

 

 

 

 建立TCP连接过程:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 第三个报文段是否多余?

并不多余。下面是反例

 

 

 

 

四报文挥手

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 是否要等待2MSL时间,是否有必要?

例子

 

 

 

 

 

 

 

 

 

 

TCP保活计时器的作用

TCP客户出现了故障无法发送数据给服务器,服务器如何知道客户出现了故障?

 

 

 

 

5.3.3 TCP流量控制

客户和服务器都可以作为发送方和接收方

 

 

 

 

 TCP流量控制方法:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 发送窗口的值指的是字节数

 

 

5.3.4 TCP的拥塞控制

某段时间内,若对网络中某一个资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况叫做拥塞

 

 

 

 

 

 

 拥塞控制的基本方法

 

 

 

 

 

 

 

 TCP四种拥塞控制方法

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 拥塞窗口是发送端根据网络拥塞情况确定的窗口值

 

 

 拥塞窗口为1的也算一个轮次

 

5.3.6 TCP可靠传输的实现

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.3.7 TCP超时重传时间的选择

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.3.8 TCP的选择确认

 

 

 

posted @ 2022-11-06 20:53  风居住的街道46123  阅读(219)  评论(0)    收藏  举报