本节5道类型题,由于没有整理2021年后的题目,但是印象中在近几年都在考,需要掌握。
2018.4.3 设TCP的慢启动窗口大小从1开始,拥塞窗口阈值初始为16(报文段),当拥塞窗口上升到20时发生超时,TCP开始慢启动和拥塞避免。
(1)简要说明该过程中经过的拥塞控制阶段。
(2)第15轮次传输时,拥塞窗口大小为多少?
(3)在哪个传输轮次中发送第35个报文段?
解:(1)开始慢启动,拥塞窗口达到慢开始阈值前,呈指数增长;达到阈值16后,开始拥塞避免每一轮加1;直到达到20发生拥塞,慢开始阈值变为10,拥塞窗口从10起步,开始拥塞避免每一轮加1。
(2)建立连接后,第1轮到第15轮次的拥塞窗口cwnd大小如下表所示:
故第15轮次传输时,拥塞窗口大小为:15。
(3)如上表,前5次传输轮次发送报文段个数共有:1+2+4+8+16=31个,第6次共发送16个报文段,故第6个传输轮次中才发送第35个报文段。
2019.4.3 客户端C和S之间建立一个TCP连接,该连接总是以1KB的最大段长发送TCP段,C有足够数据发送,当拥塞窗口为32KB时,收到了三个重复的ACK报文,如果接下来4个RTT时间内TCP段的传输是成功的,那么在当四个RTT时间内发送的TCP段都得到ACK,拥塞窗口大小是多少?采用了怎样的拥塞机制?
解:MSS=1KB,当收到了3个重复确认时,接收方却未收到最近发的报文段,立即使用快重传;接下来第一个RTT,发送调整门限:,之后开始执行拥塞避免算法;因此接下来连续3个RTT都是连续加法增大,最终cwnd=16+3*MSS=19KB
采用的拥塞机制特点:慢启动、拥塞避免(ssthrelod为窗口大小的一半)、快重传(收到3个以上的重复的ACK即开始重传)、快恢复 。
2013.4.3 图1给出了TCP的拥塞控制过程。横坐标为时间轴,纵坐标为发送方的拥塞窗口大小。
(1)假设最大段长MSS为1000字节。如图1所示,当拥塞窗口大小达到A点时发送方共向网络中传输了15000字节。试计算A点对应的拥塞窗口大小(假设发送方在t=0时刻建立TCP连接,数据的发送时延可以忽略不计)。
(2)根据TCP的拥塞控制机制说明图1中A、B和E点拥塞窗口变化的原因。
(3)图1中C、D处分别是由于什么原因导致拥塞窗口减小的?
解:(1)从开始到拥塞窗口达到 A 点,MSS=1000B,共传输了15000/1000=15个数据包,发送了,则A 点对应的拥塞窗口大小为
。
(2)A 点拥塞窗口变化是因为达到了慢开始门限ssthresh,之后停止使用慢开始算法而采用拥塞避免算法;B 点拥塞窗门变化是因为发生了网络阻塞,接下来执行快重传算法;E点拥塞窗口变化是因为启动拥塞避免算法, 拥塞窗口“加法增大”。
(3)在C处收到了3个重复的确认,为预防网络出现拥塞,将拥塞窗口减小;在D处己经不在使用快重传机制, 发送方设置的超时计时器时限己到但还没有收到确认,很可能是网络出现了拥塞,致使报文段在网络中的某处被丢弃,因此拥塞窗口减小到1。
解析:2020.4.3 与上题仅(2)不同:在哪个传输轮次中发送第80个报文段?
因为(1+2+4+8+16+32)< 80 <(1+2+4+8+16+32+64),第7个传输轮次中发送第80个报文段。
2017.4.3 若使用TCP 协议传送文件,TCP的报文段大小为1K字节(假设无拥塞,无丢失分组),接收方通告窗口为1M字节。
(1)简要说明TCP慢启动算法。
(2)当慢启动阶段发送窗口达到1M字节时,用了多少个往返时延(RTT)?
解:1)慢启动算法(slow start),是传输控制协议使用的一种拥塞控制机制。
工作原理:在主机刚刚开始发送报文段时,可先设置拥塞窗口cwnd=1,即设置为一个最大报文段MSS的数值。 在每收到一个对新的报文段的确认后,将拥塞窗口加1,即增加一个MSS的数值。 用这样的方法逐步增大发送端的拥塞窗口cwnd,可以使分组注入到网络的速率更加合理。其实慢启动一点也不慢只是起点比较低,是指数增长。
2)当慢启动阶段发送窗口达到1M字节时,用了11个往返时延。
2012.4.3 设TCP拥塞控制算法中,拥塞窗口的初始值为1(报文段),慢开始阈值ssthresh的初始值为8(报文段)。 当拥塞窗口cwnd上升到14(报文段),网络发生超时,TCP启用拥塞避免过程。试分别计算TCP建立连接后第1轮到第15轮次的拥塞窗口cwnd大小(报文段),并要求写出计算过程。
解:拥塞窗口达到慢开始阈值前,呈指数增长,达到阈值后,每一轮加1,直到达到14,发生拥塞,慢开始阈值变为 7,拥塞窗口从7开始慢速增长,则建立连接后,第1轮到第15轮次的拥塞窗口cwnd大小如下表所示:
本节延申:
1、拥塞原因:资源(带宽、交换节点的缓存、处理机)的需求大于可用资源;
2、拥塞控制:处理网络拥塞现象,考虑网络能承受网络负荷,防止过多数据注入到网络,使网络中路由器或链路不致于过载,确保通信子网可以有效为主机传递分组;
3、四种算法:慢开始、拥塞避免、快重传、快恢复。