是什么

  • 定义:涵盖网络体系结构中 应用层(FTP/HTTP/DNS)传输层(TCP序号机制与拥塞控制)网络层(IP/NAT/ARP)数据链路层(MAC地址与以太网交换机制) 的跨层协同通信与综合分析。

  • 大白话:计算机网络大题的核心就是“协议流水线”——从输入网址或发起文件传输开始,应用层怎么传、传输层怎么控窗和编号、网络层和链路层怎么找路找人(IP与MAC)、路由器与交换机怎么转发和修改字段。

核心内容

1. MAC 地址的本质与推导方法

  • 本质定义MAC 地址(物理地址/硬件地址) 是链路层使用的 48 位(6 字节)唯一标识符,只在局域网(同一广播域)内有效。

  • 逐跳传输原则

    • 数据报跨路由器传输时,源 IP 与目的 IP 全程保持不变(不考虑 NAT)。

    • 数据链路层的 源 MAC 和目的 MAC 每一跳都在变化

  • 题目中如何推导目的 MAC

    • 访问同一网段主机:目的 MAC 为目的主机的 MAC(ARP 表无记录则广播 ARP 请求获取)。

    • 访问外网(跨网段):目的 MAC 一定是 默认网关(本网段路由器接口)的 MAC

  • 以太网帧结构定位(前 14 字节)

    • 0 ~ 5B目的 MAC 地址

    • 6 ~ 11B源 MAC 地址

    • 12 ~ 13B类型字段0800H 代表上层协议为 IPv4,0806H 代表 ARP)。

  • 交换机自学习机制:交换机仅根据帧的 源 MAC 地址 记录进端口;未主动发过帧的节点,交换表里绝不会有其表项。

2. FTP 协议连接持久性

  • 控制连接(端口 21):传输指令与应答,贯穿整个 FTP 会话始终,属于 持久连接。用户登录建立的即为控制连接。

  • 数据连接(端口 20):传输实际文件或目录项,按需建立,传输完毕立即关闭,属于 非持久连接

3. TCP 序号、挥手与拥塞控制演进

  • 序号消耗规则:握手 SYN 段 与挥手 FIN 段 即使不带应用层数据,也各必须 消耗 1 个序号

    • 数据起始序号:

    • 挥手 FIN 序号:

    • 对 FIN 的 ACK 确认号:

  • 拥塞控制演进

    • 慢开始):每收到一个新 ACK,窗口加 (一轮按 RTT 呈指数级翻倍)。

    • 拥塞避免):一轮(RTT)内全部段确认完毕后,窗口线性增加

4. HTTP 时延与 NAT 转发字段修改

  • 持续非流水线时延:引用对象共用同一 TCP 链接,但串行请求:

  • NAT 转发关键修改项

    • 源 IP 地址:内网私有 IP 转为 NAT 路由器公网 IP。

    • TTL 字段:路由器转发逐跳减 1。

    • 首部检验和:因 IP 字段变动,首部检验和必须重新计算。

例题

例题 1(2023 统考真题 · TCP连接控制与FTP机制)

  • 题目

    主机 H 登录 FTP 服务器后,上传大小为 18000B 的文件 F。建立数据连接初始序号为 100,,拥塞控制初始阈值为 ,忽略传输时延。以 MSS 段向服务器发送,未发生差错、丢包和失序。

    1. FTP 的控制连接是持久的还是非持久的?数据连接是持久的还是非持久的?登录时建立的是控制连接还是数据连接?

    2. H 通过数据连接发送 F 时,F 的第一个字节序号是多少?断开数据连接过程中,FTP 服务器发送的第二次挥手 ACK 段确认序号是多少?

    3. 当 H 收到确认序号为 2101 的确认段时,拥塞窗口调整为多少?收到确认序号为 7101 时,调整为多少?

    4. 从请求建立数据连接开始,到确认 F 已被全部接收为止,至少需要多长时间?期间应用层数据平均发送速率是多少?

  • 分析

    • FTP 控制持久,数据非持久;登录必走控制连接。

    • SYN 消耗序号 100,第一个数据字节序号为 101; 数据末尾序号为 。断开连接的 FIN 段序号为 18101,服务器第二次挥手确认号为

    • 2101 对应确认了前 数据(慢开始阶段 增至 );7101 对应拥塞避免阶段完成 4 个段确认,线性增加

    • 握手 ,数据发送分为 5 轮(1+2+4+5+6 = 18 MSS),共 ,总耗时

  • 答案

    1. 控制连接是持久的;数据连接是非持久的;登录建立的是控制连接

    2. F 的第一个字节序号是 101;第二次挥手 ACK 的确认序号是 18102

    3. 收到 2101 时拥塞窗口为 4000B(或 4MSS);收到 7101 时拥塞窗口为 5000B(或 5MSS)

    4. 总耗时:

      应用层平均速率:

例题 2(2021 统考真题 · 访问Web全流程与交换机自学习)

  • 题目

    以太网交换机 S 连接路由器 R、本地域名服务器、H1、H2。 时刻 H1 的 ARP 表和 S 的交换表均为空。H1 浏览器通过域名 [www.abc.com](https://www.abc.com) 请求访问外网 Web 服务器。 时刻 S 第一次收到封装 HTTP 请求报文的以太网帧。

    1. 期间,H1 除了 HTTP 还运行了哪个应用层协议?从应用层到数据链路层,该协议报文通过哪些协议逐层封装?

    2. 若 S 的交换表结构为 <MAC 地址, 端口>,则 时刻 S 交换表的内容是什么?

    3. 期间,H2 至少接收到几个与此次 Web 访问相关的帧?接收的是什么帧?目的 MAC 地址是什么?

  • 分析

    • H1 访问域名首先需要解析 IP,运行 DNS 协议,DNS 报文通过 UDP IP 以太网帧逐层封装。

    • 交换机自学习只根据源 MAC。期间 H1(端口4)、域名服务器(端口1)、路由器 R(端口2)均向外发过数据,表项已建立;H2(端口3)只收不发,交换表绝无 H2 项。

    • H1 在发数据前需广播查询本地 DNS 的 MAC 以及默认网关的 MAC,触发 2 次 ARP 广播请求,广播帧泛洪至端口 3(H2)。

  • 答案

    1. H1 还运行了 DNS 协议。逐层封装协议依次为:UDP、IP、以太网(MAC)协议

    2. 时刻 S 交换表内容为:

      MAC 地址端口
      00-11-22-33-44-bb1
      00-11-22-33-44-aa2
      00-11-22-33-44-cc4
    3. H2 至少接收到 2 个 帧,接收的是 ARP 请求帧,目的 MAC 地址是 FF-FF-FF-FF-FF-FF

例题 3(2011 统考真题 · 数据帧十六进制解析、时延与NAT)

  • 题目

    主机 MAC 为 00-15-C5-C1-5E-28,IP 为 10.2.128.100(私有地址),经网关 10.2.128.1 连接公网 IP 为 101.12.123.15 的路由器 R 访问外网。给出 HTTP 请求帧前 80B 内容,帧首部前 14B 为 00 21 27 21 51 ee 00 15 c5 c1 5e 28 08 00,IP 首部含目的 IP 40 aa 62 20

    1. Web 服务器的 IP 地址是什么?该主机的默认网关的 MAC 地址是什么?

    2. 该主机在构造数据帧时,使用什么协议确定目的 MAC 地址?封装该协议请求报文的以太网帧的目的 MAC 地址是什么?

    3. 假设 HTTP/1.1 协议以持续非流水线方式工作,网页引用了 5 幅 JPEG 小图像。问从发出图 2 中的 Web 请求开始到浏览器收到全部内容为止,需要多少 RTT?

    4. 该帧封装的 IP 分组经过路由器 R 转发时,需修改 IP 分组头中的哪些字段?

  • 分析

    • 以太网目的 MAC(前 6B)即默认网关 MAC;IP 首部中目的 IP(十六进制 40.aa.62.20)对应服务器 IP。

    • 主机解析默认网关 MAC 使用 ARP 协议,请求帧广播目的 MAC 为全 F。

    • 题目给出“从发出该 Web 请求开始”,说明 TCP 握手已完成,时延为基页面 1 个 RTT 加 5 个小图串行 5 个 RTT。

    • 属于私网到公网转发,涉及 NAT 转换、路由跳数递减及校验和重算。

  • 答案

    1. Web 服务器 IP 是 64.170.98.32;默认网关 MAC 地址是 00-21-27-21-51-ee

    2. 使用 ARP 协议;封装该请求报文的以太网帧的目的 MAC 地址为 FF-FF-FF-FF-FF-FF

    3. 总耗时:

    4. 需修改的字段包括:源 IP 地址生存时间(TTL)首部检验和

⚠️ 易错点

Warning

  • 跨网通信目的 MAC 填错:跨网段传输时,目的 MAC 绝非 外网服务器的 MAC,只能是 本地默认网关接口的 MAC

  • SYN/FIN 消耗序号遗漏:虽然不携带数据,但逻辑上必须占用 1 个序号空间,计算挥手确认号时切记要在数据末尾序号上累加 2。

  • 交换机自学习主体:交换机“按源 MAC 学习,按目的 MAC 转发”。未向外发出过数据帧的主机不会出现在交换表中。

  • HTTP 握手时延漏算/多算

    • 题干若为“从在浏览器中输入 URL / 点击链接开始” 算上建立 TCP 握手的

    • 题干若为“从发出 Web 请求报文开始” 握手已完成,无需加握手 RTT。

  • NAT 转发字段漏写源 IP:看见私网 IP(10.x.x.x192.168.x.x)访问外网,路由器必须做 NAT 地址转换,修改字段必含 源 IP 地址