写给读者的话

Hello,大家好我是网络工程师白夕 🌞

网络基础就像盖房子的地基,看似枯燥却能决定你未来能走多远。

本文用“理论+场景+实操”三步法,帮你从本质上理解网络通信的三大基石。

一、MAC地址:设备的“身份证”

1. 基础理论

  • 是什么:一串全球唯一的48位标识符,格式为00:1A:2B:3C:4D:5E
  • 谁分配:前24位由IEEE分配给厂商(如华为的OUI是00-1A-2B),后24位由厂商自定义
  • 核心特性
    • 唯一性:理论上全球不重复(虚拟机等场景除外)
    • 不可变性:烧录在网卡ROM中(临时修改方法见下文)
    • 二层通信:局域网内设备直接通信的“门牌号”
  • 以太网帧头字段
    • Destination MAC:目标设备的MAC地址(如PC2的MAC)。
    • Source MAC:发送方设备的MAC地址(如PC1的MAC)。
  • 交换机转发依据:交换机根据MAC地址表(端口与MAC的映射)决定数据帧转发路径。
  • ARP协议依赖:通过广播ARP请求解析IP地址对应的MAC地址(如PC1请求网关的MAC)。
  • 泛洪限制:交换机仅在未知目标MAC时广播,学习后直接转发。

2. 案例理解

案例1:办公室文件传递

  • 小明(PC1)想给隔壁工位的小红(PC2)传文件:
    • MAC地址:小红的工牌编号(如A102)
    • 过程:小明直接走到小红工位,无需经过前台(网关)

案例2:家庭局域网投屏

  • 手机(MAC:AA:BB:CC:11:22:33)投屏到电视(MAC:AA:BB:CC:44:55:66
    • 关键点:路由器通过MAC地址识别设备,建立直连通道

3. 实操验证

① 查看本机MAC地址

#i Windows
ipconfig /all
找物理地址

#i Linux/macOS
ifconfig | grep ether

还可以通过在搜索框中:搜索查看网络连接查看对应上网网卡的MAC地址

② 临时修改MAC地址(以Linux为例)

ifconfig eth0 down
ifconfig eth0 hw ether 00:11:22:33:44:55
ifconfig eth0 up

③ Wireshark抓包观察

重点观察

  • 源MAC(你的设备)和目标MAC(全F广播)
  • ARP请求中携带的IP地址信息

二、IP地址:网络的“GPS坐标”

1. 基础理论

  • 是什么:32位(IPv4)或128位(IPv6)的逻辑地址,格式如192.168.1.1
  • 核心特性
    • 可配置性:支持静态配置/DHCP动态分配
    • 层级结构网络号 + 主机号(通过子网掩码划分)
    • 跨网通信:不同网络设备通信必须依赖IP
  • IP包头字段
    • Source IP:标识发送方(如192.168.10.1)。
    • Destination IP:标识接收方(如192.168.20.1)。
    • TTL:防止数据包在网络中无限循环(每经过一跳减1)。

2. 现实场景

案例:访问网站的全过程

  1. 输入www.deepseek.com(域名)
  2. DNS解析为IP地址(如104.18.22.35
  3. 路由器根据IP地址找到目标服务器位置

3. 实操验证

查看本机IP地址

#i Windows(Ctrl+R 输入cmd)
ipconfig

#i Linux/macOS
ifconfig | grep inet

还可以通过在搜索框中:搜索查看网络连接进行快速编辑和查看IPv4地址

IP地址和MAC地址关键区别总结

网络通信三大基石:MAC地址、IP地址、子网划分

三、子网:流量的“隔离病房”

1. 基础理论

  • 为什么需要子网

    • 控制广播域(ARP广播不会跨子网)
    • 提高安全性(不同部门网络隔离)
    • 优化路由(减少路由表条目)
  • 核心概念

    • 子网掩码:标识网络位与主机位(如255.255.255.0即/24)
    • 网络地址:主机位全0(如192.168.1.0
    • 广播地址:主机位全1(如192.168.1.255

2. 现实场景

案例:医院网络分区

  • 门诊部:10.1.0.0/24
  • 住院部:10.2.0.0/24
  • 行政部:10.3.0.0/24
    效果
  • 药房系统故障不会影响挂号系统
  • 财务数据与其他部门隔离

3. 实操验证

① 快速计算子网
已知IP:192.168.50.130/28

128 6432168421
这个就是11111111二进制所对应的十进制数,总和为255

#i 手工计算

#i 先将IP和掩码都转换成二进制
IP地址:192.168.50.130
(二进制 11000000.10101000.00110010.10000010

掩码:255.255.255.240
(二进制 11111111.11111111.11111111.11110000

#i IP地址和子网掩码做二进制与或运算(IP地址与掩码1不变,与0变0)
IP地址:11000000.10101000.00110010.10000010
掩码  : 11111111.11111111.11111111.11110000
结果  : 11000000.10101000.00110010.10000000

#i 可得
可得网络地址(网段):192.168.50.128
广播地址:192.168.50.143192.168.50.10001111
192.168.50.128/28可用IP范围:129-142(因为网络地址和广播地址不能用来做IP地址)

在线工具推荐

  • IP Subnet Calculator
  • 输入IP和掩码,自动计算所有参数

还是很方便的,当然,要是像考证比赛的时候,还是得要靠自己算

还有IPv6的(我是搞不明白)

四、自查实验室

MAC地址溯源
    • 访问 MAC地址查询
    • 输入本机MAC前6位(如00:1A:2B),查看厂商信息
    • win+R cmd  ipconfig/all
    1. 子网划分挑战

    • 给定IP:172.16.50.130/26
    • 计算:网络地址、可用IP范围、广播地址
  1. 抓包实战:(或者等待后续文章,会出详细二三层通信过程)

    • 用Wireshark捕获一次跨子网ping请求
    • 观察ARP请求目标MAC是否为网关