2016 408 应用题

1

假设图中的H3访问Web服务器时S时,S为新建的TCP连接分配了20KB(K=1024)的接收缓存,最大段长MSS=1KB,平均往返时间RTT=200ms。H3建立连接时的初始序号为100,且持续以MSS大小的段向S发送数据,拥塞窗口初始阈值为32KB;S对收到的每个段进行确认,并通告新的接收窗口。假定TCP连接建立完成后,S端的TCP接收缓存仅有数据存入而无数据取出。请回答下列问题。
这一题考的是什么?考的是三报文握手和四报文分手。
(1)在TCP连接建立过程中,H3收到的S发送过来的第二次握手TCP段的SYN和ACK标志位的值分别是多少?确认序号是多少?
TCP连接的建立分以下三个阶段。首先,H3向Web服务器S发出连接请求报文段,这时首部中的同步位SYN=1,ACK=0,同时选择一个初始序号seq=100.TCP规定,SYN报文段(即SYN=1)的报文段不能携带数据,但是要消耗一个序号。接着,S收到连接请求报文段,为自己选择一个初始序号seq=y,向A发送确认。这个报文段SYN=1,ACK=1,seq=y,确认号ack是100+1=101.它不能携带数据,但是也要消耗一个序号。最后,H3收到S的确认报文段后,还要向S给出确认。这份确认报文段SYN=0,ACK=1,确认号ack=y+1,自己的序号seq=101.因此,第二次握手TCP段的SYN=1,ACK=1,确认序号是101。
(2)H3收到的第8个确认帧所通告的接收窗口是多少?此时H3的拥塞窗口变为多少?H3的发送窗口变为多少?
20-8=12,此时H3的拥塞窗口8
H3的发送窗口8
这里我犯的错误是我忽略了拥塞窗口初始就为1,每收到一个确认报文拥塞窗口就加1,H3收到了8个确认帧,那么拥塞窗口就变成8+1=9。
这里既然有拥塞窗口,那么很显然不是数据链路层的流量控制,而是传输层的流量控制。
那么发送窗口就等于min[rwnd,cwnd]

因特网建议标准定义了进行拥塞控制的四种算法:,满开始,拥塞避免,快重传和快恢复。
在TCP刚刚连接好并开始发送TCP报文段时,先令拥塞窗口cwnd=1,即一个最大报文段长度MSS。每收到一个对新报文段的确认后,将cwnd加1,即增大一个MSS。用这样的办法逐步增大发送方的cwnd。

算术移位会失去一定的位数,造成一些误差,为减小误差,要进行舍入操作。
如1000 0000左移一位,0000 0001右移一位。
首先左移一位代表乘2,右移一位代表除2。
其次移位包括算术移位和逻辑移位
其中算术移位针对带符号数,逻辑移位针对无符号数
逻辑移位较为简单,无论左移还是右移都只需要补0.
算术移位因为有符号的原因,所以左移是在右边补0,右移的话要在左边补上符号位,符号位是1就补1,符号位是0就补0。
(3)当H3的发送窗口等于0时,下一个待发送的数据段序号是多少?H3从发送第一个数据段到发送窗口等于0时刻为止,平均数据传输速率是多少?
首先拥塞窗口不可能为0,所以发送窗口为0的原因只能使接收窗口为0,也就是说发了20个MSS,缓存被耗尽了。
平均往返时间RTT=200ms,所以每隔200ms就完成以此满开始的循环。
200ms cwnd 

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值