当前位置: 首页 > news >正文

查缺补漏----三次握手与四次挥手

注意事项:

① 如果是和FTP服务器建立连接,那么要建立两个TCP连接。一个是控制连接一个是数据连接。

② SYN报文段不能携带数据。三次握手的最后一个报文段可以捎带数据,但是如果不携带数据,那么就不消耗序号

③ 在断开连接过程中,如果FIN=1,那么这个报文段就算不携带数据,也需要消耗序号。

④ 每收到一个对新报文段的确认后,将拥塞窗口加1。所以我们所说的慢开始阶段,拥塞窗口从1-->2-->4变化的过程不是从“2”直接到“4”,中间还要经历 接收一个确认报文段:2-->3-->4

2023最后一道题:

(1)控制连接持久连接,数据连接非持久连接,H登录服务器时,建立的TCP连接是控制连接。

对于2,3:

① TCP建立数据连接,发送SYN请求报文段时,需要消耗一个序号。

② 第三次握手时,起始的序号为101,并且捎带了1000B的数据,接收方收到了1000B的数据,并且发送ack=1101,表示101~1100都收到了,下次期待接收1101序号的报文段。

由于题目中提到了“拥塞控制的初始阈值”,所以我们要考虑“慢开始”:

① 收到1个报文段确认后,发送方可以发送两个报文段,一个起始序号为”1101“,一个起始序号为“2101”。

② 当收到ack=2101的确认报文时,表示起始序号为“1101”的报文正确接收。所以拥塞窗口+1=3MSS。

当拥塞窗口=4时,发送方可以发送4个报文段,当收到对发送报文段的确认后,即ack=7101。进入拥塞避免阶段,也就是说“即使收到了4个确认报文段”,拥塞窗口只+1。

此时,cwnd=5MSS。

发送完18000B数据,即发送方的最后一个报文段起始序号“17101”序号的报文段,就可以开始断开连接(也就是断开数据连接)

断开连接时,seq=18101是因为发送方最后一个发送的报文起始序号是"17101",并且携带了1000B的数据,所以就是17101~18100,FIN报文段没有携带数据,但要消耗一个序号,即seq=18101。

ack=v,这个v,是主机H收到的最后一个报文段的最后一个字节的序号+1。

那么服务器段发送的seq=18102,就是对这个报文段的确认。

(6)总共经历6个RTT,平均发送速率18000B/60ms=2.4Mb/s

本题不写详细过程当然也能做,只是要清楚整个发送的流程:

(2) 第二次挥手ACK的确认报文段:由于主机发送18000B数据,并且数据传送是从序号101开始的,所以发送的最后一个报文段最后一个字节肯定是18100。第一次挥手18101,第二次挥手18102。

(3) 从序号101开始发送,每个报文段携带1000B数据,那么收到的确认报文段应该是1101,2101,3101....,刚开始拥塞窗口是1MSS,收到1101,2101,窗口值+2=3MSS。

收到7101,说明发送方发送了7000B的数据,拥塞窗口1-->2-->4,1+2+4=7MSS=7000B,收到7101,由于阈值为4MSS,虽然收到4个报文段的确认,但是拥塞窗口+1。

(4) 发送18000B,拥塞窗口的变化1-->2-->4-->5-->6,1+2+4+5+6=18MSS=18000B

所以收到确认后,拥塞窗口大小变为7,也就是1-->2-->4-->5-->6-->7,这里5个RTT,别忘了建立数据连接还有个RTT,总共6个RTT。

还有些题目没有明显提示你要考虑"慢开始""拥塞避免",但是有MSS,就要小心:

2022第40题:

由于题目没有阈值等信息,所以一直使用慢开始算法就可以,注意这里是服务器发送文件,服务器使用慢开始算法:

2017年最后一道题:

注意:

① 由于数据帧序号为3bit,所以数据帧序号是0~7。

② 由于使用GBN协议,所以发送窗口最大值为2^3-1=7

(1) 正确接收的数据帧为S0,0 S1,0 S2,0

(2) 由于0,1,2收到确认,所以滑动窗口向后移动,但是3,4未收到,所以还可以发送5个数据帧。主机甲对主机乙发送数据帧并捎带数据时,只能对按序到达的最后一个数据帧进行确认。

所以第一个数据帧为S5,2,表示期待接收对方下一帧序号为2。最后一个数据帧S1,2

(3) 由于S2,0超时,所以主机甲将2号数据帧,及序号位于其后的所发送的所有数据帧全部重传。

 由于主机乙最后发送的数据帧发送序号为2,所以主机甲发送的数据帧确认序号为3,表示已收到2,期待收到3。所以重发的数据帧为S2,3,S3,3,S4,3

(4)从一个数据帧发送,到收到该数据帧的确认中间,发送方可以发送多个数据帧,考虑最大信道利用率,就是刚好传了7个数据帧:

直接用公式:

不太会算可以看看:查缺补漏----信道利用率与数据传输速率(计算题)-CSDN博客


http://www.mrgr.cn/news/53510.html

相关文章:

  • 用友 NCC SPR 日志工具的使用
  • git区分大小写吗?如果不区分,那要如何设置?
  • SQLI LABS | Less-1 GET - Error based - Single Quotes - String
  • HCIA复习实验
  • 查缺补漏----Cache命中率与缺失率的辨析
  • Guava防击穿回源
  • 蚂蚁华东师范大学:从零开始学习定义和解决一般优化问题LLMOPT
  • 动态规划一>下降路径最小和
  • 代码随想录算法训练营第48天| 739. 每日温度,496.下一个更大元素 I,503.下一个更大元素II
  • 华为OD机试2024年真题(基站维修工程师)
  • 网页打印——魔都千丝冥缘——未来之窗行业应用跨平台架构
  • 滑动窗口-无重复字符的最长字串
  • vscode open editors 打开
  • 写论文节省论文页面空间的办法
  • latex常见长度单位
  • 第一百零七周周报
  • 如何保护您的服务器免受 POODLE SSLv3 漏洞的影响
  • wpf grid 的用法
  • WordPress任推帮网盘拉新数据统计插件
  • Miniconda管理虚拟环境【Python环境配置】