计算机网络4 第四章 网络层——网络间的通信问题(省际之间如何规划信件运输路线)
回应这些问题:
网络层提供哪两种服务?是什么?有什么特点?
IP地址、子网掩码、网络地址的概念与关系?以及如何计算网络地址?
地址解析协议的转换方式?
网际如何传递网络的状态?(ICMP)
PING的应用?
IPV6的两种技术?
路由选择协议的分类?
路由算法:是如何更新转发表的?大题
VPN与NAT的概念?
1 网络层提供的两种服务
虚电路服务于数据报服务
考察两种服务的特点和区别
虚电路必须先建立链路,按顺序通信,且当节点故障则通信中断(为运输层的TCP做准备)
数据报服务在使用前不需要构建链路,节点故障后其他分组传输不影响(为运输层的UDP做准备)
2 网际协议IP ★
物理地址是MAC地址,48位;
IP地址,32位
2.3 分类的IP地址
考察:
IP地址如何分类?按照网络号和主机号的不同
地址属于哪一类?0-128/128-192/192-224/224-240/240-247
在早期,IP 地址按类别自动确定网络号长度:
- A类:/8(1670万主机)
- B类:/16(6.5万主机)
- C类:/24(254主机)
👉 问题来了:
- 一个公司有 500 台设备 → 不够用一个B类,一个C类又太少
- 只能申请一个B类 → 浪费 6万多地址 ❌
因此,我们不再使用分类IP地址,而使用无分类地址:
2.4.1 无分类编址CIDR
CIDR(Classless Inter-Domain Routing):无分类域间路由,1993年由IETF提出。
核心思想:
不再看IP地址属于哪一类,而是通过“前缀长度”(即子网掩码)来灵活定义网络大小。
写法:IP地址/前缀长度,前缀长度就是子网掩码,也代表网络位的长度
回顾:子网掩码的作用
子网掩码的目的是告诉计算机:IP地址的哪一部分是网络号,哪一部分是主机号。
- 1 的部分 → 表示“网络位”(网络 + 子网)
- 0 的部分 → 表示“主机位”
IP地址: 192.168.1.10 → 二进制:11000000.10101000.00000001.00001010
子网掩码:255.255.255.0 → 二进制:11111111.11111111.11111111.00000000
按位与 → 网络号: → 11000000.10101000.00000001.00000000 → 192.168.1.0
👉 所以,前面连续的 1 就是网络部分的长度。
前缀长度(CIDR)就是数“1”的个数
255.255.255.0
=11111111.11111111.11111111.00000000
→ 有 24 个连续的 1- 所以前缀长度是
/24
📌 所以:
前缀长度 = 子网掩码中连续的 1 的个数,因为它直接表示“网络部分占多少位”。
2.4.2 子网掩码
2.5 网络地址=IP地址 && 子网掩码
IP地址 vs 网络地址:区别在哪?
名称 | 含义 | 举例(IP: 192.168.1.10 /24) |
---|---|---|
IP地址 | 设备在网络中的唯一标识,包含网络号 + 主机号 | 192.168.1.10 |
网络地址 | 表示这个网络本身的地址,主机号全为0 | 192.168.1.0 |
👉 网络地址是从 IP 地址中“提取”出来的,用于标识“这个网络是谁”。
2.6 地址解析协议
地址解析协议ARP:通过IP地址找到物理MAC地址
逆地址解析协议RARP:通过物理MAC地址找到IP地址
3 网际控制报文协议ICMP——网络状态如何交流
是 TCP/IP 协议族中的一个网络层协议,用于在 IP 网络中传递控制信息和错误报告。
3.1 ICMP 的封装方式
ICMP 报文不是独立传输的,而是封装在 IP 数据报的数据部分中:
| IP 头部 | ICMP 报文 |
- IP 头部:目标地址是 ICMP 消息的接收者
- ICMP 报文:包含控制信息或错误报告
3.2 ICMP 的主要功能
ICMP 的核心作用是让网络设备之间能够“沟通”网络状态,主要包括:
功能 | 说明 |
---|---|
1. 差错报告 | 当 IP 数据包无法送达时,通知发送方 |
2. 网络诊断 | 提供工具(如 ping、traceroute)来测试网络连通性 |
3. 拥塞控制辅助 | 可以发送“源抑制”消息,提示发送方减慢速度(较少使用) |
4. 路由重定向 | 路由器告诉主机:“你有更好的路径” |
3.3 常见的 ICMP 报文类型(重点!)
ICMP 报文分为两大类:差错报告报文 和 查询报文
✅ 1. 差错报告报文(由路由器或目标主机发送)
类型 | 名称 | 场景 |
---|---|---|
3 | 目的不可达(Destination Unreachable) | 数据包无法到达目标(如网络不存在、端口关闭) |
4 | 源抑制(Source Quench) | 网络拥塞,请求发送方减速(已不常用) |
11 | 超时(Time Exceeded) | TTL 减为 0,数据包被丢弃(用于 traceroute) |
12 | 参数问题(Parameter Problem) | IP 头部有错误字段 |
5 | 重定向(Redirect) | 路由器告诉主机:“你该走更优路径” |
📌 举例:
- 你访问一个不存在的网站 → 路由器返回 ICMP 类型3(目的不可达)
- TTL 耗尽 → 返回 ICMP 类型11(超时)
✅ 2. 查询报文(用于诊断和测试)
类型 | 名称 | 工具 |
---|---|---|
8 & 0 | 回送请求/应答(Echo Request/Reply) | ping 命令 |
13 & 14 | 时间戳请求/应答(Timestamp) | 测量往返时间(较少用) |
17 & 18 | 地址掩码请求/应答 | 获取子网掩码(早期用) |
📌 举例:
- 你执行
ping 8.8.8.8
:- 发送 ICMP 类型8(Echo Request)
- 对方回复 ICMP 类型0(Echo Reply)
3.4 ICMP 的实际应用
1. ping
命令 —— 网络连通性测试
ping 8.8.8.8
- 原理:发送 ICMP Echo Request,等待对方回复 Echo Reply
- 如果收不到回复 → 可能网络不通、防火墙拦截、目标宕机
2. traceroute
(或 tracert
)—— 路径追踪
traceroute google.com
4 IPV6
是IPV4的进阶版,有128位。
其中,按二进制分为8组,每组16位,组件用冒号分割;
然后按照四位一组进行16进制转换;
如果有零可以用零压缩,但只能用一次。
4.2 IPV4->IPV6——双栈技术与隧道技术
过渡方式有双栈协议和隧道技术
双栈技术
技术解释:
- 设备(比如你的电脑或路由器)同时支持 IPv4 和 IPv6 两种协议。
- 它可以根据对方支持哪种协议,自动选择用 IPv4 或 IPv6 通信。
- 设备要“双倍工作”——装两个协议栈,占用资源
隧道技术
技术解释:
- 把一个 IPv6 的数据包,整个“打包”塞进一个 IPv4 的数据包里。
- 在 IPv4 网络中传输(就像走地下隧道)
- 到达目的地后,再把 IPv6 包“拆出来”,继续传输
5 互联网的路由选择协议 ★考大题
就是路由算法如何更新转发表的过程:
路由器C会向路由器D发送自己的路由表,让D根据C的路由表更新C的路由表
由于CD邻接,因此D会把C发出的转发表距离全部加一。
接着由修改后的C表更改D表,择优录取,择无沿用。
路由器构成:路由选择部分+分组转发部分
6 虚拟专用网VPN与网络地址转换NAT
无论是 IPv6 隧道 还是 VPN 隧道,都用了同一个原理:
🔹 把一种数据包(内部)封装在另一种数据包(外部)里,像“信中信”一样穿越中间网络。
🎯 类比:寄一个“加密的密信”
- 你把一封机密信件(原始数据)放进一个密封信封(内部封装)
- 再把它放进一个普通挂号信封(外部封装),寄出去
- 只有收件人知道怎么一层层拆开
👉 这就是“隧道”:让私密数据安全穿越不安全的公共网络。
6.2 不同点对比
对比项 | IPv6 隧道技术 | VPN 隧道技术 |
---|---|---|
主要目的 | 让 IPv6 数据在 IPv4 网络中传输 | 建立安全、私密的远程连接 |
解决的问题 | 协议不兼容(IPv4 vs IPv6) | 网络不安全(如公共Wi-Fi) |
VPN 隧道流程(IPSec)
- 你在咖啡馆用 Wi-Fi,连接公司内网
- 你的电脑把所有数据(网页、邮件)加密并封装
- 通过 IPSec 隧道发到公司服务器
- 服务器解密,访问内部资源