运输层

运输层概述

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

为通信两端主机提供直接服务的是运输层的任务

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

 

UDP和TCP对比

 

 

 

TCP的流量控制

如果发送方把数据发送的过快,接收方可能来不及接收,这就会造成数据丢失

流量控制就是不让发送方的发送速率太快,要让接收方来得及接收

利用滑动窗口机制在TCP连接上实现对发送方的流量控制

举例

练习

 

TCP拥塞控制

在某时间中,对网络智能某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏。

网络中链路容量(带宽)、交换结点中的缓存和处理机等,都是网络的资源

若出现拥塞而不进行控制,整个网络随输入负荷的增大而下降

拥塞控制算法

模拟过程

 

 弊端

快重传

快恢复

 图解

练习

TCP超时重传时间的选择

RTO计算

RTO是依照RTTs计算的,但RTT测量有可能出错

解决:报文段每重传一次,就把超时重传时间RTO增大一些。一般是将新RTO的值取为旧RTO值的2倍

TCP可靠传输的实现

基于以字节为单位的滑动窗口来传输

练习

TCP的运输连接管理——TCP的连接建立

解决以下三个问题

  1. 使TCP双方能够确知对方的存在

  2. 使TCP双方能够协商一些参数

  3. 使TCP双方能够对运输实体资源(缓存大小)等进行分配

如果采用两次握手就建立连接的话,出现问题

 不多余,防止已失效的连接请求报文段突然又传送到TCP服务器,因而导致错误。

SYN=1的报文段不能携带数据,但要消耗掉一个序号

普通的确认报文段假如不能携带数据,则不消耗序号

TCP运输连接管理——TCP的连接释放

时间等待意义

TCP报文段的首部格式

序号

 

确认号:指出期望收到对方下一个TCP报文段的数据载荷的第一个字节的序号,同时也是对之前所收到的所有数据的确认

若确认号=n,则表明到序号n-1为止的所有数据都已正确接受,期望接受序号为n

确认标志位ACK:取值为1时确认号才有效,取值为0时确认字段无效。TCP规定,在连接建立后所有传送的TCP报文段必须把ACK置1.

数据偏移:占四个比特,以4字节为单位。用来指出TCP报文段的数据载荷部分的起始处距离TCP报文段的起始处有多远

这个字段实际指出了TCP报文段的首部长度

 

窗口:16比特,字节为单位。指出发送本报文段的一方的接收窗口。

窗口值作为接收方让发送方设置其发送窗口的依据

(发送窗口还取决于拥塞窗口的大小,两者取min)

这是以接收方的接受能力来控制发送方的发送能力,成为流量控制

校验和:检查范围包括TCP报文段的首部和数据载荷两部分

计算校验和时,要在TCP报文段的前面加上12字节的伪首部

同步标志位SYN:在TCP连接建立时用来同步序号

终止标志位FIN:用来释放TCP连接

复位标志位RST:用来复位TCP连接

推送标志位PSH:接收方的TCP收到该标志位为1的报文段会尽快上交应用进程,不比等到接受缓存都填满后再向上交付

 

 

 

posted @ 2022-11-27 12:36  Dengpc  阅读(67)  评论(0)    收藏  举报