计网复习——传输层习题

计网复习——传输层习题

1. 主机A向主机B连续发送了两个TCP报文段,其序号分别为70和100。试问:

(1)第一个报文段携带了多少个字节的数据?
(2)主机B收到第一个报文段后发回的确认中的确认号应当是多少?
(3)如果主机B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中的数据有多少字节?
(4)如果A发送的第一个报文段丢失了,但第二个报文段到达了B。B在第二个报文段到达后向A发送确认。试问这个确认号应为多少?

(1)第一个报文段的数据序号是 70 到 99,共 30 字节的数据。

(2)确认号应为 100。

(3)80字节。

(4)70

2. 主机A向主机B发送TCP报文段,首部中的源端口是m而目的端口是n。当B向A发送回信时,其TCP报文段的首部中源端口和目的端口分别是什么?

​ 分别是n和m。

3. 设TCP的ssthresh的初始值为8(单位为报文段)。当拥塞窗口上升到12时网络发生了超时,TCP开始使用慢开始和拥塞避免。试分别求出第1次到第15次传输的各拥塞窗口大小。你能说明拥塞控制窗口每一变化的原因吗?

​ 拥塞窗口大小及变化原因如下表所示。

轮次拥塞窗口拥塞窗口变化的原因
11网络发生了超时,TCP使用慢开始算法
22拥塞窗口值加倍
34拥塞窗口值加倍
48拥塞窗口值加倍,这是ssthresh的初始值
59TCP使用拥塞避免算法,拥塞窗口值加1
610TCP使用拥塞避免算法,拥塞窗口值加1
711TCP使用拥塞避免算法,拥塞窗口值加1
812TCP使用拥塞避免算法,拥塞窗口值加1
91网络发生了超时,TCP使用慢开始算法
102拥塞窗口值加倍
114拥塞窗口值加倍
126拥塞窗口值加倍,但到达12的一半时,改为拥塞避免算法
137TCP使用拥塞避免算法,拥塞窗口值加1
148TCP使用拥塞避免算法,拥塞窗口值加1
159TCP使用拥塞避免算法,拥塞窗口值加1

4. TCP的拥塞窗口cwnd大小与传输轮次n的关系如下所示:

cwnd1248163233343536373839
n12345678910111213
cwnd4041422122232425261248
n14151617181920212223242526
(1)试画出拥塞窗口与传输轮次的关系曲线。
(2)指明TCP工作在慢开始阶段的时间间隔。
(3)指明TCP工作在拥塞避免阶段的时间间隔。
(4)在第16轮次和第22轮次之后发送方是通过收到3个重复的确认还是通过超时检测到丢失了报文段?
(5)在第1轮次、第18轮次和第24轮次发送时,门限ssthresh分别被设置为多大?
(6)在第几轮次发送出第70个报文段?
(7)假定在第26轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口cwnd和门限ssthresh应设置为多大?

(2)慢开始时间间隔:[1, 6]和[23, 26]。

(3)拥塞避免时间间隔:[6, 16]和[17, 22]。

(4)在第16轮次之后发送方通过收到三个重复的确认,检测到丢失了报文段,因为题目给出,下一个轮次的拥塞窗口减半了。在第22轮次之后发送方是通过超时检测到丢失了报文段,因为题目给出,下一个轮次的拥塞窗口下降到1了。

(5)在第1轮次发送时,门限ssthresh被设置为 32,因为从第6轮次起就进入了拥塞避免状态,拥塞窗口每个轮次加1;在第18轮次发送时,门限ssthresh被设置为发生拥塞时拥塞窗口42的一半,即21;在第24轮次发送时,门限ssthresh被设置为发生拥塞时拥塞窗口26的一般,即13。

(6)

第1轮次发送报文段1。(cwnd=1)

第2轮次发送报文段2,3。(cwnd=2)

第3轮次发送报文段4~7。(cwnd=4)

第4轮次发送报文段8~15。(cwnd=8)

第5轮次发送报文段16~31。(cwnd=16)

第6轮次发送报文段32~63。(cwnd=32)

第7轮次发送报文段64~94。(cwnd=33)

因此第70报文段在第7轮次发送出。

(7)检测出了报文段的丢失时拥塞窗口cwnd是8,因此拥塞窗口cwnd的数值应当减半,等于4,而门限ssthresh应设置为检测出报文段丢失时拥塞窗口8的一半,即4。

5. 下面是以十六进制格式存储的一个UDP首部:CB84000D001C001C。试问:

(1)源端口号是什么?
(2)目的端口号是什么?
(3)这个用户数据报的总长度是什么?
(4)数据长度是什么?
(5)这个分组是从客户到服务器方向的,还是从服务器到客户方向的?
(6)客户进程是什么?

(1)源端口号是最前面的四位十六进制数字( C B 8 4 16 CB84_{16} CB8416),算出十进制的源端口号是 12 ∗ 1 6 3 + 11 ∗ 1 6 2 + 8 ∗ 1 6 1 + 4 ∗ 1 6 0 = 49152 + 2816 + 128 + 4 = 52100 12*16^3+11*16^2+8*16^1+4*16^0=49152+2816+128+4=52100 12163+11162+8161+4160=49152+2816+128+4=52100

(2)目的端口号是第二个四位十六进制数字( 000 D 16 000D_{16} 000D16),算出十进制的目的端口是13。

(3)第三个四位十六进制数字( 001 C 16 001C_{16} 001C16)定义了整个UDP分组的长度,算出是 1 ∗ 1 6 1 + 12 ∗ 1 6 0 = 28 1*16^1+12*16^0=28 1161+12160=28字节。

(4)数据的长度是整个分组的长度减去首部的长度,也就是 28 − 8 = 20 28-8=20 288=20字节。

(5)因为目的端口号是13(数值端口),所以这个分组是从客户到服务器的。

(6)从RFC 867可以得知,这个客户进程是Daytime。当Daytime服务器收到客户发送的用户数据报后,就把现在的日期和时间以ASCII码字符串的形式返回给用户。

6. TCP连接使用1000字节的窗口值,而上一次的确认号是22001。它收到了一个报文段,确认号是22401。试用图来说明这之前与之后的窗口情况。

7. 同上题。但接收方收到确认号是22401的报文段时,其窗口字段变为1200字节。试用图来说明在这之前与之后的窗口情况。

8. 用TCP传送512字节的数据。设窗口为100字节,而TCP报文段每次也是传送100字节的数据。再设发送方和接收方的起始序号分别选为100和200,试画出类似于教材图5-28的工作示意图。从连接建立阶段到连接释放阶段都要画上。

以上部分内容引自《计算机网络释疑与习题解答》,如有侵权,请及时联系我删除!

  • 6
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值