一、什么是网络层?
OSI模型中,网络层位于数据链路层与传输层之间。
网络层最重要的两个任务:
- 寻址(Addressing)
- 路由(Routing)
简单来说:
负责决定数据"发给谁",以及"走哪条路"。
网络层主要协议:
- IPv4
- IPv6
- ICMP(互联网控制报文协议)
- ARP(介于二层和三层之间)
IGMP(互联网组管理协议)
二、什么是IP地址?
IP(Internet Protocol)地址,又称逻辑地址。
每一台联网设备都需要一个唯一的IP地址。
如:
192.168.1.100IPv4长度:
32bit二进制表示:
11000000 10101000 00000001 01100100转换为十进制:
192.168.1.100此表示方法又称:
点分十进制表示法(Dotted Decimal Notation)
三、IP地址组成
IP地址由两部分组成:
IP地址 ├── 网络位(Network) └── 主机位(Host)如:
192.168.1.10/24掩码为:
255.255.255.0网络位:
192.168.1主机位:
10网络位决定:
属于哪个网段。
主机位决定:
网段中的设备。
四、子网掩码(Subnet Mask)
子网掩码也是32位。
例如:
255.255.255.0转换二进制:
11111111 11111111 11111111 00000000子网掩码规律:
1 → 指示网络位 0 → 指示主机位因此:
192.168.1.100 255.255.255.0 分别转换成二进制: 11000000 10101000 00000001 01100100 11111111 11111111 11111111 00000000表示:
网络: 11000000 10101000 00000001 即:192.168.1.0 主机: 01100100 即:100五、有类IP地址
| 类别 | 第一字节 | 默认掩码 |
|---|---|---|
| A类 | 1~126 | /8 |
| B类 | 128~191 | /16 |
| C类 | 192~223 | /24 |
注意:
127.x.x.x不是A类公网地址,而是:
Loopback回环地址用于本机测试。
六、IP地址类型
一个网段中共有三种地址。
① 网络地址
主机位全部为0。
例如:
192.168.1.0/24② 广播地址
主机位全部为1。
例如:
192.168.1.255/24广播作用:
发送给整个网段的所有设备。③ 主机地址
除去:
- 一个网络地址
- 一个广播地址
剩余全部都是可分配地址。
七、IP地址数量计算
假设:
192.168.1.0/24主机位:
8位那么:
总地址数: 2^n 2^8 = 256可用:
2 ^ n - 2 256-2 =254减去:
- 网络地址
- 广播地址
八、VLSM(可变长子网掩码)
背景:因为可用IP地址越来越少,为了节省IP地址
例如:
一个部门:
20台电脑如果仍然分配:
/24就会浪费:
254-20=234因此可以把一个大网段划分多个小网段。
例如:
192.168.1.0/24划分成4个小网段(每个网段62个可用IP):
192.168.1.0/26 192.168.1.64/26 192.168.1.128/26 192.168.1.192/26九、CIDR(无类域间路由)
CIDR:
Classless Inter-Domain Routing作用:
把多个连续网段聚合。
例如:
192.168.0.0/24 192.168.1.0/24可以聚合成:
192.168.0.0/23十、IPv4报文结构
IPv4首部最小:
20Byte最大:
60Byte主要字段:
| 字段 | 作用 |
|---|---|
| Version | IPv4还是IPv6 |
| Header Length | 首部长度 |
| Type of Service | 服务类型 |
| Total Length | 数据包总长度 |
| Identification | 标识位:分片编号 |
| Flags | 标志位 3bit Bit 0: 保留位,必须为0。 Bit 1: DF(Don't Fragment),能否分片位,0可以分片,1不能分片。 Bit 2: MF(More Fragment),是否为最后一片,0最后一片,1后面还有。 |
| Fragment Offset | 分片偏移 |
| TTL | 生存时间 |
| Protocol | 上层协议 |
| Header Checksum | 首部校验 |
| Source IP | 源IP |
| Destination IP | 目的IP |
十一、TTL
TTL:
Time To Live作用:
防止数据包在网络中无限循环。
例如:
TTL=64每经过一个三层设备就减1:
R1 ↓ 63 ↓ R2 ↓ 62减到:
0路由器立即丢弃。
这也是:
tracert工作的原理。
十二、Protocol协议号
IPv4不知道里面封装什么协议。
Protocol字段负责告诉接收方。
常见协议号:
| 协议 | 编号 |
|---|---|
| ICMP | 1 |
| TCP | 6 |
| UDP | 17 |
| OSPF | 89 |
十三、ARP(地址解析协议)
一种在局域网中将 IP 地址转换为 MAC 地址的通信协议
发送数据之前必须知道:
目标MACARP负责:
IP地址 ↓ MAC地址例如:
192.168.1.10 ↓ 00-11-22-33-44-55ARP工作流程:
- 查询ARP缓存。
- 没有记录时发送ARP广播。
- 目标主机回复ARP应答。
- 双方更新ARP缓存。
- 正常发送数据。
十四、ICMP协议
ICMP主要用于:
- 网络诊断
- 差错报告
常见应用:
ping使用:
Echo Request ↓ Echo Reply十五、默认网关
默认网关是主机访问其他网段时的"出口"。
例如:
PC 192.168.1.100 ↓ 默认网关 192.168.1.1 ↓ 互联网如果没有配置默认网关,主机只能与同一网段设备通信。
十六、MTU与IP分片
MTU(Maximum Transmission Unit)表示链路一次能够传输的最大数据帧载荷,常见以太网MTU为1500 Byte。
当IP数据报大于MTU时:
- DF=0:允许分片,路由器可将数据报拆分为多个分片。
- DF=1:禁止分片,路由器丢弃数据并返回ICMP"需要分片但设置了DF"报文。
这也是许多VPN、隧道和网络故障排查中经常遇到的问题。
十七、IPv4与IPv6简单对比
| 项目 | IPv4 | IPv6 |
|---|---|---|
| 地址长度 | 32 bit | 128 bit |
| 表示方式 | 点分十进制 | 冒号十六进制 |
| 地址数量 | 约43亿 | 几乎无限 |
| 广播 | 支持 | 不支持(使用组播) |
| NAT需求 | 常见 | 理论上无需NAT |
十八、华为eNSP配置IP地址
<Huawei> system-view [Huawei] sysname R1 [R1] interface GigabitEthernet0/0/0 [R1-GigabitEthernet0/0/0] ip address 192.168.1.1 24 [R1-GigabitEthernet0/0/0] display this [R1] display ip interface brief删除配置:
undo ip address十九、常见面试题
Q1:为什么需要子网掩码?
用于区分IP地址中的网络位和主机位,从而判断目标是否属于同一网段。
Q2:为什么TTL每经过一台路由器减1?
为了防止路由环路导致数据包无限转发。
Q3:CIDR和VLSM有什么区别?
- VLSM:拆分大网段,提高地址利用率。
- CIDR:聚合小网段,减少路由表规模。
Q4:ARP属于哪一层协议?
ARP工作在数据链路层与网络层之间,负责将IP地址解析为MAC地址。