参考视频:
https://www.bilibili.com/video/BV1tseyzCEoF?spm_id_from=333.788.videopod.episodes&vd_source=484293edcf94a55e368ecf2e0d1fbfce
https://www.bilibili.com/video/BV1D362YpETh/?spm_id_from=333.337.search-card.all.click&vd_source=484293edcf94a55e368ecf2e0d1fbfce
从局域网通信开始,逐步扩展到跨网络通信
第一阶段:局域网内部通信 (核心设备:交换机)
起点:MAC地址
- 这是网卡的“物理身份证”,全球唯一,固化在硬件中。它工作在数据链路层,用于同一个网络内部的设备标识和寻址。
- 一个设备发送数据时,必须知道目标设备的MAC地址。
- 交换机通过MAC地址学习,实现“这个设备在这个端口上”的映射。因此,MAC地址的可聚合性差,无法用于大规模网络的寻址和路由,因为路由表不可能存储全球所有设备的MAC地址。
核心交换:交换机
- 交换机是局域网的交通枢纽。它通过MAC地址表工作,这张表记录了“哪个接口连接着哪个MAC地址”。
- 通信过程:当PC1(MAC_A)想给同局域网的PC2(MAC_B)发数据时:
- PC1会先发送一个ARP广播(“谁是IP_b?请回答你的MAC地址?”),全网段设备都会收到,但只有PC2会回应,告知自己的MAC_B。
- PC1将数据封装成“帧”,目标MAC地址写MAC_B,源MAC地址写MAC_A,然后发给交换机。
- 交换机查看帧中的目标MAC_B,查询自己的MAC地址表,找到对应的端口,精准地将帧转发给PC2。
- 关键:在这个阶段,通信完全依赖MAC地址。IP地址此时只是上层的一个“逻辑标签”,交换机默认不关心它。


网络划分:子网与子网掩码
- 当一个局域网内的设备太多,广播(如ARP)会泛滥成灾,降低效率。这时需要用子网来分割这个大网络。
- 子网掩码的作用就是和IP地址配合,定义出网络边界。它由连续的1和连续的0组成(如255.255.255.0)。
- 判断逻辑:将源IP地址和目标IP地址分别与子网掩码做“与运算”,得到各自的网络号。
- 如果两个网络号相同,则它们在同一个子网内。通信走上述“交换机/MAC地址”流程。
- 如果两个网络号不同,则它们在不同子网。通信就不能单纯靠交换机了,必须寻求网关的帮助。

第二阶段:跨网络通信 (核心设备:路由器/网关)
出口与入口:网关
- 网关本质上就是一个路由器接口的IP地址。它是本子网通往外界的“大门”。
- 任何子网内的设备,如果想和子网外的设备通信,都必须先将数据包发送给网关(默认路由)。网关的MAC地址,是子网内所有设备通过ARP首先要知道的。
跨网导航:路由
- “路由”是路由器查找路径并转发数据包的过程。路由器是网络层的设备,它依据IP地址工作,核心是路由表。
- 路由表就像一张地图,告诉路由器“要去往某个目标网络,下一个路口(下一跳)该怎么走”。


图中的这些 IP 地址代表了网络中各个设备接口(Interface)的逻辑标识。路由器通常有多个接口,每个接口连接不同的网络,因此每个接口都有一个独立的 IP 地址。
以下是图中主要 IP 地址的具体含义:
1.网关路由器1 (Gateway Router 1)
这是 PC1 所在网络的出口。
- 192.168.1.1:这是路由器的内网接口地址。它是 PC1 的“默认网关”。PC1 发现目标不在自己家(192.168.1.0 网段)时,就会把包发给这个地址。
- 10.0.0.1:这是路由器的外网接口地址。它连接到了中间网络,负责将包发往下一个路由器。
2.路由器2 (Router 2)
这是中间转发节点。
- 10.0.0.2:连接网关路由器 1 的接口地址。它与 10.0.0.1 处于同一个中间网段。
- 10.0.1.1:连接网关路由器 2 的接口地址。它负责将数据推向服务器的方向。
3.网关路由器2 (Gateway Router 2)
这是服务器所在网络的入口。
- 10.0.1.2:接收来自路由器 2 数据的接口地址。
- 10.1.1.1:这是服务器所在网络的网关地址。它是该网段(10.1.1.0/24)的管理者。
总结:
- 192.168.1.10 (PC1) 和 10.1.1.100 (服务器):是通信的起点和终点(源和目的 IP,全程不变)。
- 中间的 IP(如 192.168.1.1, 10.0.0.1 等):是通信路径上的中转站门口。
- 靠近发送方的是接口是“接纳口”。
- 靠近接收方的接口是“转发口”。
这些 IP 地址构成了路由表的基础,路由器通过查询目标 IP(10.1.1.100)属于哪个网段,来决定从哪个“门口”(接口 IP)把数据包扔出去。
在该场景中:
- 交换机:连接 PC1 和网关路由器,在同一子网(192.168.1.0/24)内转发
- 网关路由器:连接 PC1 所在网络和外部网络,负责跨子网转发

网络层(IP协议)本身没有传输包的功能,包的实际传输是委托给数据链路层,也就是以太网中的交换机来实现的。
简单说:IP协议负责决定“要去哪儿,走哪条路”, 负责将数据包从源主机,经过一系列由路由器组成的异构网络,最终传送到目标主机;而以太网等链路层协议则负责“在当前的这一段路上,怎么把货搬过去”, 负责同一条物理链路(或同一个广播域)上两个直接相连的节点之间的可靠或不可靠帧传输。
路由器的工作是“拆信 + 看新地址 + 重新封装”。它拆掉旧的链路层帧头(源/目标MAC),查看内部IP包的目标地址,规划路径,然后用新的链路层帧头(新的源/目标MAC)重新封装这个IP包,发给下一站。
交换机的工作是“本地分发”。它只看MAC地址,不关心IP,在一个网络内部进行快速转发。
设备通过 子网掩码判断目标是否在同一子网。如果在,则利用交换机和MAC地址直接通信。如果不在,则将数据包发给网关(路由器),路由器通过查询路由表,根据IP地址在不同网络间跳转,并在每一跳重写MAC地址,最终将数据送达目标网络。