计算机网络——传输层(ARQ&拥塞控制)

停止等待协议ARQ

什么是TCP可靠传输

理想条件:信道不产生差错,速度总能匹配

实际情况:差错,丢包,速度不匹配,拥塞

解决方案:停止等待协议——自动重传请求ARQ,流量控制,拥塞控制

A通过设置一个计时器

来判断是否超时重传

注意:

必须暂时保留已发送分组的副本

分组和确认分组都必须编号

重传时间的设定

 

内容:

情况一:超时重传

情况二:确认丢失

情况三:确认迟到

连续ARQ协议

发送方可以连续发送多个分组

串行——>并行

全双工工作模式

    发送窗口

    可以连续发送而不需等待确认的分组数

    累积确认

接收方不必对分组逐个确认,而是对按序到达的最后一个发送确认,表示之前所有分组都已到达

优点:容易实现,即使确认丢失也不必重传(eg:结果为6的确认丢失,会被结果为10的确认覆盖)

缺点:不能向发送方反映出接收方已经正确收到的所有分组信息

go-back-N(回退)规则

接收方只确认从头开始完整的分组,后面的N个分组全部重传

    特点

更适用于通信质量较好的环境,当通信质量不好时,连续ARQ将带来负面影响

    TCP通信需要解决:

  • 窗口大小的动态确定,滑动窗口

收到确认时,根据确认数,窗口首部移动相应位数

发送完成后(p2=p3)时,收到确认才能继续发送

发送窗口并不总是等于接收窗口

未按序到达的数据,先临时存放在接收窗口中

累积确认(连续发送,累积确认)

  • 确定合理的重传时间

太短——不必要的重传——网络负荷大

太长——空闲时间长——效率低

TCP采用了一种自适应算法

发出时间T1,确认到达时间T2,加权平均往返时间RTTs,超时重传时间RTO

RTTs(0<α<=1)

RTO

TCP的拥塞控制

拥塞:当网络中的资源超过了网络的承载能力,需求超过了该资源所能提供的可用部分。

开环控制

设计时事先将拥塞因素考虑周到,力求工作室不产生拥塞,运行后中途不再改进

闭环控制

基于反馈环路概念

检测网络系统以便发现拥塞,将拥塞信息发送到可用采取行动的地方,调整网络系统以解决问题

慢开始和拥塞避免

发送方维持一个拥塞窗口,窗口大小取决于网络的拥塞程度,并且动态变化。发送窗口小于等于拥塞窗口。(与接收能力相关)

只要网络没有出现拥塞,拥塞窗口会增大,反之则会减小。

过程

慢开始,由小到大逐渐增大发送窗口,每经过一个传输轮次,拥塞窗口就会加倍

拥塞避免,让拥塞窗口缓慢增大,每经过一个往返时间,拥塞窗口+1

为了防止增速过快,需要设置一个慢开始门限,超过时改用拥塞避免算法,增加到接收方窗口值。当检测到拥塞(重传请求)时,重新归一计算,门限值取拥塞值的一半。

TCP的连接管理

TCP的连接有三个阶段:建立连接、数据传输和连接释放,连接管理主要关心建立连接和释放连接

需要解决三个问题:

使双方知道对方的存在

允许双方协商一些参数

能够对资源进行分配

通常,主动发起连接建立的进程叫“客户”,被动等待连接建立的进程叫“服务器”

三次握手(建立连接)

通常由客户端主动发起,服务器端被动开启

同步标记位(二进制):SYN——连接过程标记位,ACK——确认标记位

四次挥手(连接释放)

可以由任一端发起

同步标记位:FIN——结束标志位

                                 资料来源:北京交通大学、李春艳——计算机网络与互联网

猜你喜欢

转载自blog.csdn.net/u012279938/article/details/87548156