VuePress 站点
首页
数学
计算机基础
Java后端
AI大模型
UI设计
首页
数学
计算机基础
Java后端
AI大模型
UI设计
  • 计算机基础
  • 计算机网络应用

    • 课程笔记:TCP三次握手建立连接
    • 课程笔记:TCP三次握手的必要性
    • 课程笔记:TCP协议缺陷与SYN Flood攻击
    • 课程笔记:TCP四次挥手释放连接
    • 课程笔记:TCP四次挥手释放连接的必要性
    • 课程笔记:TCP 报文段格式与 IP 分组
    • 课程笔记:HTTP/2 新特性——二进制分帧
    • 课程笔记:HTTP/2 新特性——多路复用
    • 课程笔记:HTTP/2 新特性——服务器推送(Server Push)
    • 课程笔记:HTTPS 简介与架构图
    • 课程笔记:HTTPS原理与传输层安全协议(TLS)
    • 课程笔记:HTTPS原理——对称加密算法
    • 课程笔记:HTTPS原理——非对称加密算法
    • 课程笔记:HTTPS 原理 —— 数字签名
    • 课程笔记:HTTPS 原理——证书与 CA
    • 课程笔记:完整的HTTPS协议通信流程
    • 课程笔记:HTTPS 协议的性能损耗
    • 课程笔记:TLS False Start 加速 HTTPS
    • 课程笔记:升级 HTTP 协议到 HTTP/2
    • 课程笔记:通过会话恢复加速 HTTPS
    • 课程笔记:OWASP 组织与十大 Web 安全漏洞
    • 课程笔记:XSS 跨站脚本攻击
    • 课程笔记:存储型XSS跨站脚本攻击
    • 课程笔记:XSS攻击窃取Cookie
    • 课程笔记:反射型XSS跨站脚本攻击
    • 课程笔记:DOM型XSS跨站脚本攻击
    • 课程笔记:植入 JS、HTML 代码攻击
    • 课程笔记:XSS攻击的防护策略
    • 课程笔记:XSS攻击的输入环节防护
    • 课程笔记:XSS 劫持 Cookie 的防护策略
    • 课程笔记:XSS 内容输出防护方案
    • 课程笔记:CSP 内容安全策略
    • 课程笔记:CSP 内容安全策略的应用方式
    • 课程笔记:CSRF 跨站请求伪造攻击原理
    • 课程笔记:CSRF 跨站点请求伪造攻击案例
    • 课程笔记:CSRF 跨站请求伪造防护方案
    • 课程笔记:OWASP CSRFTester 工具的原理与使用
    • 课程笔记:点击劫持攻击原理
    • 课程笔记:点击劫持防护方案
    • 课程笔记:URL 跳转漏洞原理与防护
    • 课程笔记:Session 认证与会话劫持
    • 课程笔记:Session固定与Session保持攻击
    • 课程笔记:注入攻击与 OWASP 靶机平台
    • 课程笔记:SQL盲注与ORM注入攻击及防护
    • 课程笔记:XML注入、代码注入、OS命令注入攻击
    • 课程笔记:文件上传漏洞与文件下载/目录浏览漏洞
    • 课程笔记:访问控制与权限访问漏洞
    • 课程笔记:DDoS 分布式拒绝服务攻击原理与防护
    • 课程笔记:CC(Challenge Collapsar)攻击与防护
    • 课程笔记:CDN 的工作原理
    • 课程笔记:CDN的网络架构和术语说明
    • 课程笔记:CDN应用场景与阿里云CDN
    • 课程笔记:如何使用阿里云CDN服务
    • 课程笔记:CDN 刷新与预热
    • 课程笔记:阿里云 CDN 回源配置
    • 课程笔记:CDN 缓存配置
    • 课程笔记:CDN 访问控制与性能优化
  • 计算机网网络

    • 📖 教材介绍与课程导言
    • 📖 1.1 信息时代的计算机网络
    • 📖 1.2 因特网概述
    • 📖 1.3 电路交换、分组交换和报文交换
    • 📖 1.4 计算机网络的定义和分类
    • 📖 1.5 计算机网络的性能指标(1)
    • 📖 1.5 计算机网络的性能指标(2)
    • 📖 1.6.1 常见的三种计算机网络体系结构
    • 📖 1.6.2 计算机网络体系结构分层的必要性
    • 📖 1.6.3 计算机网络体系结构分层思想举例
    • 📖 计算机网络体系结构中的专用术语
    • 📖 物理层概述
    • 📖 物理层下面的传输媒体
    • 📖 传输方式
    • 📖 编码与调制
    • 📖 2.5 信道的极限容量
    • 📖 2.6 信道复用技术
    • 📖 3.1 数据链路层概述
    • 📖 3.2 数据链路层的三个重要问题
    • 📖 3.2.1 封装成帧和透明传输
    • 📖 3.2.2 差错检测
    • 📖 3.2.3 (1) 可靠传输的相关基本概念
    • 📖 3.2.3 (2) 可靠传输的实现机制 - 停止-等待协议(SW)
    • 📖 3.2.3 (3) 可靠传输的实现机制 - 回退N帧协议(GBN)
    • 📖 3.2.3 (4) 可靠传输的实现机制 - 选择重传协议(SR)
    • 📖 3.3 点对点协议 PPP
    • 📖 3.4 共享式以太网
    • 📖 3.4.1 网络适配器和 MAC 地址
    • 📖 3.4.2 (1) CSMA/CD 协议的基本原理
    • 📖 3.4.2 (2) 共享式以太网的争用期、最小帧长和最大帧长
    • 📖 3.4.2 (3) 共享式以太网的退避算法和信道利用率
    • 📖 3.4.3 使用集线器的共享式以太网
    • 📖 3.4.4 在物理层扩展以太网
    • 📖 3.4.5 (1) 网桥的主要结构和基本工作原理
    • 📖 3.4.5 (2) 透明网桥的自学习和转发帧的过程以及生成树协议STP
    • 📖 3.5 交换式以太网
    • 📖 3.5.1 以太网交换机
    • 📖 3.5.2 共享式以太网和交换式以太网的对比
    • 📖 3.6 以太网的MAC帧格式
    • 📖 3.7.1 虚拟局域网 VLAN 概述
    • 📖 3.7.2 虚拟局域网 VLAN 的实现机制
    • 📖 3.8 以太网的发展
    • 📖 3.9.1 802.11 无线局域网的组成
    • 📖 3.9.2 802.11 无线局域网的物理层
    • 📖 3.9.3 (1) 802.11 无线局域网的数据链路层 —— 使用 CSMA/CA 协议(而不使用 CSMA/CD 协议)
    • 📖 CSMA/CA(载波监听多址接入/碰撞避免)协议的基本工作原理
    • 📖 802.11 无线局域网的 MAC 帧格式
    • 📖 网络层概述
    • 📖 网际协议 IP(网际协议)与异构网络互连
    • 📖 IPv4 地址及其编址方法——概述
    • 📖 IPv4 地址的分类编址方法
    • 📖 IPv4 地址的划分子网编址方法
    • 📖 IPv4 地址的无分类编址方法(CIDR)
    • 📖 IPv4 地址的应用规划
    • 📖 IPv4 地址与 MAC 地址
    • 📖 地址解析协议 ARP
    • 📖 IP 数据报的发送和转发流程
    • 📖 IPv4 数据报的首部格式
    • 📖 静态路由配置
    • 📖 因特网的路由选择协议概述
    • 📖 路由信息协议 RIP(路由信息协议)
    • 📖 开放最短路径优先 OSPF(开放最短路径优先)
    • 📖 边界网关协议 BGP(边界网关协议)
    • 📖 路由器的基本工作原理
    • 📖 网际控制报文协议 ICMP(网际控制报文协议)
    • 📖 虚拟专用网 VPN 和网络地址转换 NAT
    • 📖 IP 多播技术的相关基本概念
    • 📖 在局域网上进行硬件多播
    • 📖 在因特网上进行 IP 多播需要的两种协议
    • 📖 网际组管理协议 IGMP
    • 📖 多播路由选择协议
    • 📖 移动 IP 技术概述
    • 📖 IPv6 引进的主要变化
    • 📖 IPv6 数据报的基本首部和扩展首部
    • 📖 IPv6 地址
    • 📖 从 IPv4 向 IPv6 过渡
    • 📖 网际控制报文协议 ICMPv6
    • 📖 软件定义网络 SDN
    • 📖 运输层概述 — 进程间基于网络的通信
    • 📖 TCP/IP 体系结构运输层中的两个重要协议
    • 📖 运输层端口号、复用与分用的概念
    • 📖 UDP 和 TCP 的对比
    • 📖 TCP 报文段的首部格式
    • 📖 "三报文握手"建立 TCP 连接
    • 📖 "四报文挥手"释放 TCP 连接
    • 📖 TCP 的流量控制 (Flow Control)
    • 📖 TCP 的拥塞控制 (Congestion Control) 及与网际层拥塞控制的关系
    • 📖 TCP 可靠传输的实现
    • 📖 TCP 超时重传时间 (RTO) 的选择
    • 📖 TCP 的选择确认 (SACK)
    • 📖 6.1 应用层概述
    • 📖 6.2 客户—服务器方式和对等方式
    • 📖 6.3 动态主机配置协议 DHCP
    • 📖 6.4 域名系统 DNS
    • 📖 6.5 文件传送协议 FTP
    • 📖 电子邮件
    • 📖 万维网 WWW
    • 📖 网络安全概述
    • 📖 密码学相关基本概念
    • 📖 对称密钥密码体制
    • 📖 公钥密码体制
    • 📖 报文摘要和报文鉴别码
    • 📖 数字签名(digital signature)
    • 📖 实体鉴别
    • 📖 密钥分发
    • 📖 访问控制
    • 📖 网络体系结构各层采取的安全措施—物理层和数据链路层
    • 📖 网络体系结构各层采取的安全措施—网络层
    • 📖 网络体系结构各层采取的安全措施—运输层
    • 📖 网络体系结构各层采取的安全措施—应用层
    • 📖 防火墙访问控制与入侵检测系统
    • 📖 常见的网络攻击及其防范
    • 📖 定长子网划分和变长子网划分的二叉树解法

📖 IPv4 地址与 MAC 地址

🎯 课程摘要:本节课介绍 IPv4 地址与 MAC 地址的关系。IP 地址封装在 IP 首部(网际层),MAC 地址封装在帧首部(数据链路层)。在数据包传送过程中,源/目的 IP 地址保持不变,而源/目的 MAC 地址逐链路改变。重点理解两种地址的区别、为何需要两种地址,以及引出 ARP 协议的必要性。

📝 详细笔记

1. IP 地址与 MAC 地址的封装位置

  • TCP/IP 四层体系结构中各层数据单元的封装关系:
层次协议数据单元添加内容地址封装
应用层应用层报文——
运输层运输层 PDU运输层首部—
网际层IP 数据报IP 首部源 IP 地址、目的 IP 地址
数据链路层帧(封装成帧)帧首部 + 帧尾部源 MAC 地址、目的 MAC 地址
物理层比特流转换为电信号—
  • 关键结论:
    • IP 地址属于网际层范畴 → 封装在 IP 首部(源 IP、目的 IP)。
    • MAC 地址属于数据链路层范畴 → 封装在 帧首部(源 MAC、目的 MAC)。
  • 每一层只看本层的首部,无需理解上层内容(上层内容对下层是"黑盒")。

2. 数据包传送过程中地址的变化

拓扑示例:三个局域网通过两个路由器 R1、R2 互联,主机 H1 发送分组给 H2,依次经 R1、R2 转发。

地址标识(各接口):

设备接口IP 地址MAC 地址
H1IP1MAC1
H2IP2MAC2
R1 接口1(连 H1 侧)IP3MAC3
R1 接口2(连 R2 侧)IP4MAC4
R2 接口1(连 R1 侧)IP5MAC5
R2 接口2(连 H2 侧)IP6MAC6

主机一般 1 个接口(1 个 IP + 1 个 MAC);路由器至少 2 个接口,每接口各 1 个 IP + 1 个 MAC。

逐跳地址变化表:

链路源 IP目的 IP源 MAC目的 MAC
H1 → R1IP1IP2MAC1MAC3
R1 → R2IP1IP2MAC4MAC5
R2 → H2IP1IP2MAC6MAC2
  • ⚠️ 重点/考点:
    • 源 IP 地址和目的 IP 地址在整个传送过程中保持不变(端到端不变)。
    • 源 MAC 地址和目的 MAC 地址逐个链路/逐个网络改变(每跳改变)。

3. 已知 IP 求 MAC 的需求(引出 ARP)

  • 各设备知道"下一跳"的 IP 地址,但不知道其对应的 MAC 地址:
    • H1 知道 R1 接口的 IP3,但不知 MAC3;
    • R1 知道 R2 接口的 IP5,但不知 MAC5;
    • R2 知道 H2 的 IP2,但不知 MAC2。
  • 问题:数据链路层封装帧时,帧首部的目的 MAC 字段无法填写 → 需要通过 IP 地址找出相应 MAC 地址。
  • 解决:网际层的地址解析协议 ARP(下节课介绍)。

4. 为什么需要两种地址

假设仅使用 MAC 地址通信会出现的问题:

  1. 每台路由器的路由表必须记录因特网上所有主机和路由器各接口的 MAC 地址;
  2. 手工配置路由表几乎不可能完成;
  3. 即使用路由协议自动构建,路由信息包含海量 MAC 地址会严重占用通信资源;
  4. 路由器需要极大的存储空间,分组的查表转发会带来非常大的时延。

使用 IP 地址寻址的优势:

  • 网际层用 IP 地址寻址 → 路由表中路由记录数量大大减少;
  • 只需记录部分网络的网络地址,而非每个网络中各通信设备各接口的 MAC 地址;
  • 路由器收到 IP 数据报后,根据首部中目的 IP 地址的网络号部分,基于路由表查表转发。
  • 新的问题:查表转发只能指明下一跳路由器的 IP 地址,无法指明其 MAC 地址 → 帧首部目的 MAC 字段无法填写 → 需要 ARP 协议解决。

5. IP 地址与 MAC 地址对比

对比项IP 地址MAC 地址
工作层级网际层(网络层)数据链路层
封装位置IP 首部帧首部
层次结构分层(网络号 + 主机号 / 前缀 + 主机号)平坦(无层次)
长度IPv4 为 32 bit通常 48 bit(如 MAC-48)
分配方式根据所在网络动态分配(可变)出厂时固化在网卡(硬件)
性质逻辑地址(软件实现)物理地址(硬件地址)
传送中变化端到端保持不变逐跳(逐链路)改变
寻址作用跨网络寻址、路由选择同一链路内寻址(逐跳送达)
唯一性网络内唯一全球唯一(理论上)

💡 核心总结

  • IP 地址在网际层 IP 首部,MAC 地址在数据链路层帧首部。
  • 数据包传送中:源/目的 IP 地址不变,源/目的 MAC 地址逐跳改变。
  • 主机 1 接口(1 IP + 1 MAC),路由器多接口(每接口 1 IP + 1 MAC)。
  • 仅用 MAC 地址寻址会导致路由表爆炸、转发时延剧增 → 需要 IP 地址分层寻址。
  • IP 地址解决"到哪个网络",MAC 地址解决"本链路内到哪个接口"。
  • 知道下一跳 IP 却不知其 MAC → 引出 ARP 协议。

❓ 课后思考 / 经典考题

  1. 408 真题:主机 H1 给 H2 发送封装有 IP 分组的以太网帧,经路由器 R 转发。填写两段链路中各层的源/目的地址字段。(答案:IP 字段两段均为 H1→H2;MAC 字段第一段 H1→R,第二段 R→H2,选项 D)
  2. 数据包传送过程中,IP 地址和 MAC 地址哪个保持不变?哪个逐跳改变?为什么?
  3. 假设仅使用 MAC 地址通信会带来哪些问题?
  4. 路由器的路由表为什么只需记录网络地址而非所有 MAC 地址?
  5. 已知下一跳路由器的 IP 地址,如何获取其 MAC 地址?(引出 ARP 协议)
最近更新: 2026/6/23 17:18
Contributors: yangwenguang
Prev
📖 IPv4 地址的应用规划
Next
📖 地址解析协议 ARP