1690 字
8 分钟
--
计算机网络 网络层

计算机网络 网络层#

基本概念#

  • 网络层是第三层,也叫 IP层(主要考IP计算)
  • 网络层提供灵活的、无连接的、尽最大努力交付的数据报服务
  • 主要任务:把分组从通过路由选择与转发从远端传到目的端,为分组交换网上的不同主机提供通信服务
  • 物联网可以由多种异构网络互相组成

IP数据报分片#

基本概念#

  • IP数据报:首部20字节 + 数据部分3800字节
  • 需要分片为不超过1420的数据报片
  • 片偏移计算:片偏移 = 原始 offset / 8(每个单位代表8个字节)

分片示例#

数据报首部总长度标识MFDF片偏移
原始数据报20382012345000
数据报120142012345100
数据报22014201234510175
数据报32010201234500350

计算说明:片偏移 175 = 1400 / 8

IP地址分类#

五类地址#

类别地址范围前缀主机号位数
A类1-1260 + 主机号24位
B类128-19110 + 主机号16位
C类192-223110 + 主机号8位
D类(多播)223-2391110-
E类(保留)240-2551111-

注意:在IP协议中采用组播的是 D类IP地址

私有IP地址#

  • 路由器对于私有IP地址的数据报一律不进行转发
地址类别地址范围网段个数
A类10.0.0.0 ~ 10.255.255.2551
B类172.16.0.0 ~ 172.31.255.25516
C类192.168.0.0 ~ 192.168.255.255256

特殊IP地址#

网络号主机号用途例子
全0全0本网范围表示主机,路由表中表示默认路由0.0.0.0
全1全1本网广播地址(路由器不会转发)255.255.255.255
特定值全0网络地址,表示一个网络某B类地址,172.17.0.0
特定值全1直接广播地址,对特定网络上的所有主机进行广播某B类地址,172.17.255.255
127任何数用于本地软件环回测试,被称为环回地址127.0.0.1

NAT技术#

  • IPv4不够了,使用NAT节约IPv4的地址
  • 安装了NAT软件的路由器叫 NAT路由器,至少有一个外部全球IP地址

子网掩码与子网划分#

二进制运算基础#

二进制转换为十进制#

例如:11001
2^0 + 2^3 + 2^4 = 1 + 8 + 16 = 25

十进制转换为二进制#

例如:194
194 / 2 = 970
97 / 2 = 481
48 / 2 = 240
24 / 2 = 120
12 / 2 = 60
6 / 2 = 30
3 / 2 = 11
1 / 2 = 01
按倒序连接:11000010

计算题汇总#

1. 已知主机IP地址和子网掩码,求网络号#

  • 公式网络号 = IP地址 AND 子网掩码
  • 按位与规则:11为1,否则为0
IP: 192.168.10.34
掩码: 255.255.255.0
进行按位与运算:
11000000.10101000.00001010.00100010
11111111.11111111.11111111.00000000 =
11000000.10101000.00001010.00000000
转换为十进制:192.168.10.0

2. 已知主机IP和子网掩码,求子网数、每个子网最大主机数#

  • 公式
    • 子网位数 n = 掩码中从原网络类借来的 1
    • 子网数 = 2ⁿ
    • 主机位数 m = 0的数量
    • 每个子网主机数 = 2ᵐ - 2
IP:192.168.1.10
子网掩码:255.255.255.224
看子网掩码最后一位:224 = 11100000
子网位数 = 3(3个1)
主机位 = 5(5个0)
子网数 = 2^3 = 8
每个子网最大主机数 = 2^5 - 2 = 30

3. 已知网络号,X位子网号,求子网掩码#

  • 方法:子网掩码 = 原网络掩码 + X个1
网络号:192.168.0.0(C类,原掩码 /24)
子网号位数:X = 3
原掩码:11111111.11111111.11111111.00000000
加3位: 11111111.11111111.11111111.11100000
最终得到:255.255.255.224

4. 已知网络号,要分成X个子网,求子网掩码和IP地址范围#

  • 计算方法
    1. 找最小 n,使 2ⁿ ≥ X
    2. 新掩码 = 原掩码 + n
    3. 步长 = 256 - 掩码最后一段
    4. 按步长划分子网
网络号:192.168.1.0
要求:分成 6 个子网
n = 3(因为 2^3 = 8 > 6)
子网掩码:11111111.11111111.11111111.11100000 = 255.255.255.224
步长 = 256 - 224 = 32
子网划分结果:
| 子网 | 网络地址 | 可用主机范围 | 广播地址 |
|------|----------|--------------|----------|
| 1 | 192.168.1.0 | .1 – .30 | .31 |
| 2 | 192.168.1.32 | .33 – .62 | .63 |
| 3 | 192.168.1.64 | .65 – .94 | .95 |
| 4 | 192.168.1.96 | .97 – .126 | .127 |
| 5 | 192.168.1.128 | .129 – .158 | .159 |
| 6 | 192.168.1.160 | .161 – .190 | .191 |

5. 已知子网掩码,判断哪些IP属于同一子网#

  • 方法:IP AND 子网掩码 → 网络号,网络号相同则同一子网
子网掩码:255.255.255.192
步长 = 256 - 192 = 64
IP1:192.168.1.70
IP2:192.168.1.120
子网范围:0-63, 64-127, 128-191, 192-255
70在64-127之间,120也在64-127之间
因此属于同一子网

公式总结#

  • 网络号 = IP AND 掩码
  • 子网数 = 2ⁿ
  • 主机数 = 2ᵐ - 2
  • 步长 = 256 - 掩码
  • 同一子网:网络号相同

无分类编址CIDR#

出现背景#

  • B类地址很快分配完毕
  • 路由表中的项目急剧增长

目的#

  • 节约IPv4的资源

方法#

  • 将多个子网聚合成一个较大的子网
  • 叫做构成超网,或路由聚合

重要协议#

ICMP(Internet Control Message Protocol)#

  • 属于:网络层协议
  • 用途:差错报告和网络控制
  • 不用于:传输用户数据

重要表述(常考)#

  • ICMP 是 IP 的辅助协议
  • 封装在 IP 数据报中传输

ICMP的作用(必背)#

  • 差错报告:主机或路由器发现问题,通知源主机
  • 网络诊断:如 ping、tracert

ICMP的封装位置#

┌──────────────┐
│ ICMP 报文 │
└──────────────┘
┌──────────────┐
│ IP 首部 │
└──────────────┘

结论:ICMP不直接使用链路层,必须封装在IP数据报中

ICMP差错报告的”不发送规则”(高频考点)#

以下情况不发送 ICMP 差错报文:

  • 对 ICMP 差错报文本身
  • 对广播地址或多播地址
  • 对分片中的非首片
  • 对特殊地址(如 127.x.x.x)

ping 的原理#

  • 使用 ICMP 回送请求(类型8)
  • 对方返回 ICMP 回送应答(类型0)
  • ping 能检测:
    • 主机是否可达
    • 网络是否连通
    • 往返时延(RTT)
  • ping 不是应用层协议

ARP协议#

  • 属于:数据链路层传输的协议
  • 作用:解决下一跳去哪里的问题
  • 使用广播的形式传输

工作过程#

  1. 检查ARP高速缓存,有对应表则写入MAC帧
  2. 没有则用目的MAC地址为 FF-FF-FF-FF-FF-FF 的帧封装并广播ARP请求分组
  3. 同一局域网所有主机都能收到这个请求
  4. 写入ARP缓存中

RARP协议#

  • 完成主机或路由器 MAC地址到IP地址 的映射

IGMP协议#

  • 如果周期性发送IGMP没有响应,那么认为这个组是不活跃的
  • 就不再发送给其他组播路由器

OSPF协议#

  • 域内路由协议

网络层设备#

路由器#

  • 主要工作在网络层
  • 负责路由选择与转发
计算机网络 网络层
https://vilstia.org/posts/学习笔记/计算机网络/网络层/
作者
琴泠 - Lumina Qin
发布于
2026-01-20
许可协议
CC BY-NC-SA 4.0