是什么
-
定义:涵盖网络体系结构中 应用层(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 段向服务器发送,未发生差错、丢包和失序。
-
FTP 的控制连接是持久的还是非持久的?数据连接是持久的还是非持久的?登录时建立的是控制连接还是数据连接?
-
H 通过数据连接发送 F 时,F 的第一个字节序号是多少?断开数据连接过程中,FTP 服务器发送的第二次挥手 ACK 段确认序号是多少?
-
当 H 收到确认序号为 2101 的确认段时,拥塞窗口调整为多少?收到确认序号为 7101 时,调整为多少?
-
从请求建立数据连接开始,到确认 F 已被全部接收为止,至少需要多长时间?期间应用层数据平均发送速率是多少?
-
-
分析:
-
FTP 控制持久,数据非持久;登录必走控制连接。
-
SYN 消耗序号 100,第一个数据字节序号为 101; 数据末尾序号为 。断开连接的 FIN 段序号为 18101,服务器第二次挥手确认号为 。
-
2101 对应确认了前 数据(慢开始阶段 增至 );7101 对应拥塞避免阶段完成 4 个段确认,线性增加 至 。
-
握手 ,数据发送分为 5 轮(1+2+4+5+6 = 18 MSS),共 ,总耗时 。
-
-
答案:
-
控制连接是持久的;数据连接是非持久的;登录建立的是控制连接。
-
F 的第一个字节序号是 101;第二次挥手 ACK 的确认序号是 18102。
-
收到 2101 时拥塞窗口为 4000B(或 4MSS);收到 7101 时拥塞窗口为 5000B(或 5MSS)。
-
总耗时:
应用层平均速率:
-
例题 2(2021 统考真题 · 访问Web全流程与交换机自学习)
-
题目:
以太网交换机 S 连接路由器 R、本地域名服务器、H1、H2。 时刻 H1 的 ARP 表和 S 的交换表均为空。H1 浏览器通过域名
[www.abc.com](https://www.abc.com)请求访问外网 Web 服务器。 时刻 S 第一次收到封装 HTTP 请求报文的以太网帧。-
从 到 期间,H1 除了 HTTP 还运行了哪个应用层协议?从应用层到数据链路层,该协议报文通过哪些协议逐层封装?
-
若 S 的交换表结构为
<MAC 地址, 端口>,则 时刻 S 交换表的内容是什么? -
从 到 期间,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)。
-
-
答案:
-
H1 还运行了 DNS 协议。逐层封装协议依次为:UDP、IP、以太网(MAC)协议。
-
时刻 S 交换表内容为:
MAC 地址 端口 00-11-22-33-44-bb 1 00-11-22-33-44-aa 2 00-11-22-33-44-cc 4 -
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 首部含目的 IP40 aa 62 20。-
Web 服务器的 IP 地址是什么?该主机的默认网关的 MAC 地址是什么?
-
该主机在构造数据帧时,使用什么协议确定目的 MAC 地址?封装该协议请求报文的以太网帧的目的 MAC 地址是什么?
-
假设 HTTP/1.1 协议以持续非流水线方式工作,网页引用了 5 幅 JPEG 小图像。问从发出图 2 中的 Web 请求开始到浏览器收到全部内容为止,需要多少 RTT?
-
该帧封装的 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 转换、路由跳数递减及校验和重算。
-
-
答案:
-
Web 服务器 IP 是 64.170.98.32;默认网关 MAC 地址是 00-21-27-21-51-ee。
-
使用 ARP 协议;封装该请求报文的以太网帧的目的 MAC 地址为 FF-FF-FF-FF-FF-FF。
-
总耗时:
-
需修改的字段包括:源 IP 地址、生存时间(TTL)、首部检验和。
-
⚠️ 易错点
Warning
跨网通信目的 MAC 填错:跨网段传输时,目的 MAC 绝非 外网服务器的 MAC,只能是 本地默认网关接口的 MAC。
SYN/FIN 消耗序号遗漏:虽然不携带数据,但逻辑上必须占用 1 个序号空间,计算挥手确认号时切记要在数据末尾序号上累加 2。
交换机自学习主体:交换机“按源 MAC 学习,按目的 MAC 转发”。未向外发出过数据帧的主机不会出现在交换表中。
HTTP 握手时延漏算/多算:
题干若为“从在浏览器中输入 URL / 点击链接开始” 算上建立 TCP 握手的 。
题干若为“从发出 Web 请求报文开始” 握手已完成,无需加握手 RTT。
NAT 转发字段漏写源 IP:看见私网 IP(
10.x.x.x、192.168.x.x)访问外网,路由器必须做 NAT 地址转换,修改字段必含 源 IP 地址。