软考网络工程师历年真题练习

四季读书网 3 0
软考网络工程师历年真题练习
以下关于TCP拥塞控制机制的说法中,错误的是()。
A.慢启动阶段,将拥塞窗口值设置为1
B.慢启动算法执行时拥塞窗口指数增长,直到拥塞窗口值达到慢启动门限值
C.在拥塞避免阶段,拥塞窗口线性增长
D.当网络出现拥塞时,慢启动门限值恢复为初始值

1. 为什么需要拥塞控制?

TCP 不仅要保证数据的可靠传输(通过确认与重传),还要避免“发送方发送太快,导致网络中的路由器或链路过载”。拥塞控制就是一套动态调整发送速率(即拥塞窗口 cwnd)的机制。

2. 核心状态变量

  • cwnd(拥塞窗口,Congestion Window):发送方一次能发送、但还未收到 ACK 的数据量(单位:报文段个数)。发送速率 = min(接收方窗口,拥塞窗口)。

  • ssthresh(慢启动门限,Slow Start Threshold):决定使用慢启动算法还是拥塞避免算法的阈值。

3. 四个主要阶段

阶段一:慢启动(Slow Start)

  • 触发条件:连接刚建立,或发生超时重传后重新开始。

  • 初始状态:cwnd 初始值通常为 1 或 10(取决于实现,RFC 建议 10,但经典教材说 1)。

  • 增长方式指数增长

    • 每收到一个 ACK,cwnd 增加 1。

    • 这意味着经过 1 个 RTT(往返时间),cwnd 翻倍(因为一个 RTT 内收到了上个窗口所有报文的 ACK,每个 ACK 都使 cwnd+1)。

    • 例子: 初始 cwnd=1,发送 1 个报文,收到 ACK 后 cwnd=2;发送 2 个,收到 ACK 后 cwnd=4;发送 4 个,收到 ACK 后 cwnd=8……

  • 退出条件:当 cwnd >= ssthresh 时,进入拥塞避免阶段。

阶段二:拥塞避免(Congestion Avoidance)

  • 增长方式线性增长(加性增)

    • 每经过一个 RTT,cwnd 增加 1。

    • 具体实现通常是:每收到一个 ACK,cwnd 增加 1/cwnd(这样在一个 RTT 内总共增加 1)。

  • 目的:缓慢探测网络剩余容量,避免再次拥塞。

阶段三:网络发生拥塞(丢包事件)

TCP 通过丢包来判断网络拥塞。丢包分两种情况:

  1. 超时重传(RTO,Retransmission Timeout)

    • ssthresh = max(cwnd/2, 2)(记录一半的值作为新的慢启动阈值)。

    • cwnd = 1(回到慢启动起点)。

    • 重新进入慢启动

    • 表现:等待 ACK 的时间超时了,说明网络可能非常拥塞,甚至链路断了。

    • 反应(最激进)

  2. 收到三个重复 ACK(快速重传)

    • 表现:说明网络还有能力传输数据,但出现了单个报文丢失(可能是轻微拥塞)。

    • 反应:执行快恢复算法。

阶段四:快恢复(Fast Recovery)

  • 动作

    1. ssthresh = max(cwnd/2, 2)(与超时一样,将阈值设为当前窗口的一半)。

    2. cwnd = ssthresh + 3(因为已经收到的 3 个重复 ACK 表明有 3 个报文已经离开网络,所以可以稍微提高一点窗口)。

    3. 进入拥塞避免(线性增长)。

4. 总结记忆口诀

  • 慢启动:指数涨,到门限。

  • 拥塞避免:线性增,防拥塞。

  • 遇拥塞(超时):门限减半,窗口归 1,重慢启。

  • 遇拥塞(3ACK):门限减半,窗口减半(+3),进快恢。

错误原因分析:TCP 拥塞控制的核心思想是“学习网络容量”。一旦发生拥塞,TCP 认为之前的发送速率太高了,所以要把阈值(ssthresh)降低到当前窗口的一半,以此来记录这个“危险点”。下次慢启动增长到原来的一半时,就会提前转入线性增长的拥塞避免阶段,避免再次很快撞到拥塞点。

  • 不是“恢复为初始值”:初始值(Initial Window)通常是一个固定的大值(如 65535 字节),或者是由用户设置的。如果每次都恢复到这个大的固定值,那么每次拥塞后又会快速撞墙,无法起到自适应调节的作用。

  • 实际变化

    • 拥塞前:ssthresh = 旧阈值(可能很大)

    • 拥塞后:ssthresh = cwnd / 2(例如从 64 降到 32)

因此,门限值是动态调整的,减半,而不是恢复成不变的初始值。

在OSI参考模型中,()在物理线路上提供可靠的数据传输服务。
A.物理层
B.数据链路层
C.网络层
D.传输层
1.物理层:负责在物理线路上传输原始的比特流,定义电压、接口、线缆标准等。它不处理数据的结构,也不保证可靠传输(即不检错、不重传)。
2.数据链路层在物理线路上提供可靠的数据传输服务。它将比特流封装成帧(Frame),提供差错控制(通过校验和或 CRC 检测错误,丢弃错误帧,可选的重传机制)和流量控制。它确保相邻节点(点到点)之间的数据传输是可靠的。
    • 典型协议:以太网(Ethernet)、PPP(点对点协议)。

3.网络层:负责路由选择分组转发,将数据包从源端发送到目的端(可能跨越多个网络)。它提供的是尽力而为的服务,不保证可靠传输(可靠性通常由上层负责)。

    • 典型协议:IP(网际协议)。

4.传输层:负责端到端的可靠数据传输(如 TCP),但它是在两个主机之间,而不是在物理线路上。它依赖下层(网络层、数据链路层、物理层)的服务。

以下路由协议中()属于有类路由协议。
A.RIPv1
B.OSPF
C.IS-IS
D.BGP

什么是有类路由协议?

  • 有类路由协议:在路由更新中不携带子网掩码信息。路由器根据 IP 地址的主类(A、B、C 类) 来判断网络边界,自动应用默认掩码。

  • 特点

    • 不支持 VLSM(可变长子网掩码)。

    • 不支持 CIDR(无类别域间路由)。

    • 在边界路由器上会自动进行路由汇总(无法关闭)。

    • 只能用于连续子网的网络设计。

  • 典型协议RIPv1、IGRP

什么是无类路由协议?

  • 无类路由协议:在路由更新中携带子网掩码信息

  • 特点

    • 支持 VLSM 和 CIDR。

    • 支持更精细的路由控制。

    • 可以手动控制路由汇总。

  • 典型协议RIPv2、OSPF、IS-IS、BGPv4、EIGRP

总结表:

软考网络工程师历年真题练习 第1张
以下关于RIPv1和RIPv2路由选择协议说法中,错误的是()。
A.都是基于Bellman算法的
B.都是基于跳数作为度量值的
C.都包含有Request和Response两种分组,且分组完全一致的
D.都是采用传输层的UDP协议承载

1、RIPv1:报文格式中不包含子网掩码字段,路由条目仅包含地址和度量值。

2、RIPv2:报文格式中增加了子网掩码字段,还增加了下一跳地址和路由标记等字段,以支持 CIDR、VLSM 和路由认证。

因此,虽然两种报文类型相同(Request 和 Response),但 RIPv2 的报文格式是对 RIPv1 的扩展,并不完全一致

一台运行OSPF路由协议的路由器,转发接口为100Mbps,其cost值应该是()。
A.1
B.10
C.100
D.1000

1. OSPF 开销(Cost)的计算方式

在 OSPF 中,Cost 是路由度量值,用于计算最短路径。计算公式通常为:

Cost = 参考带宽 / 接口带宽

  • 参考带宽:默认为 100 Mbps(在某些较新的设备实现中,参考带宽可能被修改,但思科等厂商的经典默认值为 100 Mbps)。

  • 接口带宽:接口的物理带宽(或配置的带宽)。

2. 本题计算

  • 参考带宽 = 100 Mbps

  • 接口带宽 = 100 Mbps

  • Cost = 100 Mbps / 100 Mbps = 1

3. 为什么是 1?

  • 当接口带宽等于参考带宽时,Cost 值为 1。

  • Cost 值必须为整数(小于 1 的会取整为 1)。

  • 如果接口带宽大于参考带宽(如千兆接口 1000 Mbps,参考带宽 100 Mbps),计算结果可能小于 1,OSPF 会将其取整为 1(或根据实现可能为更小的整数,但思科早期实现中为 1)。但在严格计算中,当接口带宽等于参考带宽时,Cost 正好是 1。

软考课堂目前推出网络工程师、系统架构师两个方向串讲课程!

网工串讲课程链接:

2026上半年网络工程师串讲

内容包含:基本知识点、近两年真题详解、备考注意点、解题方法与思路等,全方位助力考生顺利通过考试!

架构师串讲课程链接:

2026上半年系统架构师串讲

内容包含:基本知识点+近两三年真题组合、案例和论文详解、解题方法与思路等,全方位助力考生顺利通过考试!

考前10天左右推出网工、架构师的冲刺课程:

1、网工内容包含:知识点冲刺梳理、案例预测、解题思路。

2、架构师内容包含:知识点冲刺梳理、案例预测、论文预测、解题思路。

学习贵在坚持!大家加油!

更多备考学习可加讲师微信交流~

软考网络工程师历年真题练习 第2张

抱歉,评论功能暂时关闭!