网络工程师 · 高频练习

TCP SACK 为什么能减少不必要的重传?

中级 单选题 第 706 题 中等 网络工程师TCPSACK选择确认可靠传输
题目

TCP 连接中,发送方连续发送了多个数据段,其中中间一段丢失,但后面的若干数据段已经被接收方收到。接收方希望告诉发送方“哪些数据块已经收到,哪些还缺失”,以便发送方只重传缺失部分。该机制更接近()。

A SACK 选择确认
B NAT 端口映射
C DNS 反向解析
D SMTP 邮件投递
题目类型:原创高频练习题 用途:用于帮助理解网络工程师相关考点和答案解析,不等同于官方真题。
正确答案
A
答案解析

SACK 是 Selective Acknowledgment,选择确认。它允许接收方更精确地告知发送方哪些数据块已经收到,哪些数据块缺失,从而让发送方避免把已经成功到达的数据段也重复发送。题干强调“只重传缺失部分”,因此选 SACK。

选项分析

A

正确。SACK 能表达已收到的数据块范围,帮助发送方只重传缺失部分。

B

错误。NAT 端口映射解决地址转换和连接映射问题,不是 TCP 确认机制。

C

错误。DNS 反向解析用于由地址查询名称。

D

错误。SMTP 属于邮件传输协议,与 TCP 选择确认不是同一问题。

本题为什么容易错

容易把 SACK 和快速重传混在一起。快速重传强调多个重复 ACK 触发提前重传;SACK 强调确认信息更精细,告诉发送方哪些数据块已经收到。两者都和丢包恢复有关,但一个偏触发时机,一个偏确认表达能力。

先看结论

简短答案

TCP SACK 为什么能减少不必要的重传,正确答案是 A(SACK 选择确认)。SACK 是 Selective Acknowledgment,选择确认。它允许接收方更精确地告知发送方哪些数据块已经收到,哪些数据块缺失,从而让发送方避免把已经成功到达的数据段也重复发送。题干强调“只重传缺失部分”,因此选 SACK。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
SACK 选择确认 本题正确答案 正确。SACK 能表达已收到的数据块范围,帮助发送方只重传缺失部分。 看到题干核心场景时优先联想到它
NAT 端口映射 本题干扰项 错误。NAT 端口映射解决地址转换和连接映射问题,不是 TCP 确认机制。 看到该词不要急着选,先判断是否真正解决题干问题
DNS 反向解析 本题干扰项 错误。DNS 反向解析用于由地址查询名称。 看到该词不要急着选,先判断是否真正解决题干问题
SMTP 邮件投递 本题干扰项 错误。SMTP 属于邮件传输协议,与 TCP 选择确认不是同一问题。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • NAT 端口映射:错误。NAT 端口映射解决地址转换和连接映射问题,不是 TCP 确认机制。
  • DNS 反向解析:错误。DNS 反向解析用于由地址查询名称。
  • SMTP 邮件投递:错误。SMTP 属于邮件传输协议,与 TCP 选择确认不是同一问题。
复习

知识点详解

普通累计 ACK 更像“我已经连续收到某个位置之前的数据”,而 SACK 能补充说明后面哪些不连续的数据块也收到了。这样在网络丢包但乱序到达较多时,发送方可以更精确地重传缺失段,减少带宽浪费。软考层面不要求掌握所有 TCP 选项格式,重点是理解它为什么能提高丢包恢复效率。它和快速重传可以配合出现:重复 ACK 提醒发送方可能丢包,SACK 信息进一步说明哪些块已经到了、哪些块还缺。

备考速记

速记:ACK 说收到哪儿,SACK 说哪些块也收到了。

TCP 在可靠传输场景中的作用

TCP在本题中的核心价值,是解决“TCP 连接中,发送方连续发送了多个数据段,其中中间一段丢失,但后面的若干数据段已经被接收方收到。接收方希望告诉发送方“哪些数据块已经收到,哪些还缺失”,以便发送方只重传缺失部分。该机制更接近()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 给出可靠传输场景,判断应该选择哪个概念、工具、协议或管理过程。
  • 考查TCP的作用,要求从四个相近选项中找出最符合题干目标的一项。
  • 把TCP和NAT 端口映射、DNS 反向解析、SMTP 邮件投递放在一起考,重点看适用场景是否一致。
  • 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
TCP 在网络工程师软考中的考法

软考选择题通常不会只考概念定义,还会把TCP放到可靠传输场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

这题先把场景想成寄了一排包裹:第 3 个丢了,但第 4、5、6 个都到了。普通确认可能只能反复说“我还在等第 3 个”;SACK 则能补一句“第 4 到第 6 个其实已经收到了”。这样发送方就不用把后面已经到达的包裹也重寄一遍。

考点定位

SACK 的题眼是选择确认、已收到哪些块、只补缺失数据。它和普通累计确认相比,信息更精细。

易错提醒

  • 把 SACK 理解成新的路由协议。
  • 认为 TCP 只能累计确认,不能表达已收到的非连续数据块。
  • 把 SACK 和拥塞窗口大小调整混为一谈。

备考提示

  • TCP 题可以按序号、确认、重传、窗口、拥塞控制五条线复习。
  • 看到选择确认、非连续数据块、只重传缺失部分,优先想到 SACK。
  • 把 SACK 和快速重传放在一起比较:前者讲确认信息,后者讲提前重传。

你可能还想了解

  • TCP SACK 为什么能减少不必要的重传?
  • TCP是什么?
  • TCP在网络工程师考试中怎么考?
  • 网络工程师TCP题怎么理解?
  • TCP SACK有什么作用怎么考?
  • SACK选择确认是什么意思怎么考?

本文小结

本题核心考点是TCP在可靠传输场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 A(SACK 选择确认)。