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

408考研逐题详解:2009年第38题

2009年第38题

主机甲与主机乙之间已建立一个 TCP 连接,主机甲向主机乙发送了两个连续的 TCP 段,分别包含 300B 和 500B 的有效载荷,第一个段的序列号为 200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是( )

A. 500 \qquad B. 700 \qquad C. 800 \qquad D. 1000

解析

本题主要考查 TCP(Transmission Control Protocol)协议中的序列号和确认序列号机制,以及累积确认原则。

  1. TCP 序列号(Sequence Number):

    • 定义与作用:TCP 序列号是一个 32 位的无符号整数,用于标识发送数据字节的顺序。每个 TCP 段(segment)的序列号表示该段中第一个数据字节的序列号。
    • 计算规则:如果某 TCP 段的序列号为 S S S,有效载荷长度为 L L L 字节,则该段覆盖的字节序列范围是 S S S S + L − 1 S + L - 1 S+L1(包含端点)。
    • 连续性:在同一个 TCP 连接中,数据字节的序列号是连续的。下一个 TCP 段的序列号必须是前一个段结束序列号的下一个值(即 S + L S + L S+L)。
  2. TCP 确认序列号:

    • 定义与作用:当接收方正确收到数据后,会发送一个确认(ACK)。确认序列号(Acknowledgment Number)表示接收方期望收到的下一个字节的序列号,它采用累积确认机制。
    • 累积确认原则:TCP 使用累积确认,即一个确认序列号确认所有序列号小于该值的数据字节都已正确接收。例如,如果确认序列号为 X X X,则表示所有序列号小于 X X X 的字节均已被接收,接收方期望发送方从序列号 X X X 开始发送新数据。
    • 触发时机:接收方可以在收到每个段后立即发送 ACK,也可以在收到多个段后发送一个累积 ACK(本题属于后者,因为主机乙在收到两个段后才发送确认)。
  3. 有效载荷(Payload)与序列号的关系:

    • 有效载荷指 TCP 段中携带的实际数据部分(不包括 TCP 头部)。序列号的递增完全基于有效载荷的字节数。
    • 例如,序列号 S S S 的段携带 L L L 字节有效载荷,则下一个段的序列号为 S + L S + L S+L

本题中,主机甲向主机乙发送两个连续的 TCP 段,第一段包含 300B 的有效载荷,且序列号为 200,即: S 1 = 200 S_1 = 200 S1=200,有效载荷长度 L 1 = 300 B L_1 = 300 \text{B} L1=300B。所以,该段覆盖的字节序列范围为 S 1 S_1 S1 S 1 + L 1 − 1 S_1 + L_1 - 1 S1+L11,即: 200 到  200 + 300 − 1 = 499 200 \text{ 到 } 200 + 300 - 1 = 499 200  200+3001=499 。因此,该段包含字节序列号 200 至 499(共 300 字节)。

由于两个段是连续的,第二个段的序列号必须紧接第一个段结束的下一个字节。第一个段结束于序列号 499,所以下一个字节序列号为 500,即:序列号 S 2 = 500 S_2 = 500 S2=500,有效载荷长度 L 2 = 500 B L_2 = 500 \text{B} L2=500B。该段覆盖的字节序列范围为 S 2 S_2 S2 S 2 + L 2 − 1 S_2 + L_2 - 1 S2+L21 500 到  500 + 500 − 1 = 999 500 \text{ 到 } 500 + 500 - 1 = 999 500  500+5001=999

主机乙正确接收两个段,因此接收的字节序列号为:

  • 第一段:200 至 499(300 字节)。
  • 第二段:500 至 999(500 字节)。

合并后,接收的总字节序列号为 200 至 999(共 800 字节)。根据 TCP 累积确认原则,确认序列号是接收方期望接收的下一个字节的序列号,即为 1000。

本题答案:D

http://www.xdnf.cn/news/13568.html

相关文章:

  • 【Kubernetes】架构与原理:核心概念、组件协同及容器化部署解析
  • 【考研数学:高数6】一元函数微分学的应用(二)——中值定理、微分等式和微分不等式
  • 鼠标右键添加新建某种文件的方法
  • Go并发模型与模式:context 上下文控制
  • 01.pycharm整合conda
  • 华为OD最新机试真题-对称美学-OD统一考试(B卷)
  • WinForm中实现Adobe PDF Reader实现旋转PDF功能
  • opencv vs2020正确的环境配置
  • 《HarmonyOSNext终极UIAbility手册:从启动模式到页面跳转,一网打尽!》
  • 菌菇食用攻略:从营养解析到安全指南,解锁科学食菌
  • 【JavaEE】-- HTTPS
  • 【Web】腾讯云 COS 静态网站部署与自定义域名 HTTPS 全流程
  • 【C++】来学习使用set和map吧
  • Python毕业设计226—基于python+爬虫+html的豆瓣影视数据可视化系统(源代码+数据库+万字论文)
  • 基于鸿蒙 HarmonyOS 5 打车小程序案例
  • 深入偏微分方程的世界-AI云计算
  • 金属工具制造企业如何做项目管理?数字化系统全面提升交付效率
  • 使用反汇编指令javap查看synchronized实现原理
  • Keepalived 与 Nginx 高可用部署方案详解
  • 【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
  • ROS move base 简易调试
  • 使用智能表格做项目工时管理
  • 软件开发和嵌入式开发岗位的面试题
  • 【深尚想】SN74HCT244DWR缓冲器/驱动器TI逻辑芯片 电子元器件解析
  • 【题解】P1156 垃圾陷阱
  • “新京味”小柯音乐剧《三里屯42》 在小柯剧场6月全新开演
  • Oraclede 的体系结构
  • pycharm-continue插件久后使用的注意事项
  • Java是实现大根堆
  • Unreal从入门到精通之 碰撞响应 详解