网络世界的邻居和陌生人:网段内与网段间通信
网络世界的邻居和陌生人:网段内与网段间通信
我们每天都在通过互联网进行通信,从刷视频、发微信到打开网页,但你有没有想过,这些信息到底是怎么准确无误地送达的?我们常听说“交换机”和“路由器”这两个词,它们到底负责什么?又有什么区别?
大体上来说:交换机负责“同一个网段里的通信”,而路由器则负责“不同网段之间的通信”。
那么,网段到底是什么?为什么设备之间有时候可以直接通信,有时候却必须“转一道路由”?路由器和交换机又是怎么各司其职、完成整个数据转发过程的?
这篇博客将通过理论结合实践的方式,带你理解 IP 网络中的网段概念,掌握交换机和路由器的基本功能,并通过 Cisco Packet Tracer 搭建一个三网段互联的网络结构,来演示整个通信流程的具体细节。
一、什么是“网段”?从 IP 地址与子网掩码说起
IP 地址是用于标识网络中设备的编号,由网络号和主机号两部分组成,总共 32 位,通常以四组十进制数字表示,每组之间用点 .
分隔,这种表示方法被称为点分十进制表示法,如:192.168.1.1
。
在 IP 网络中,“网段”是指具有相同网络部分的一组 IP 地址。判断两个 IP 地址是否处于同一个网段,是通过将它们分别与子网掩码进行按位与(AND)运算得出的。
🎯 举个例子:
假设某台设备的 IP 地址是:192.168.1.1
,子网掩码是:255.255.255.0
转换为二进制后进行 AND 运算:
1 | IP地址: 11000000.10101000.00000001.00000001 (192.168.1.1) |
结果为 192.168.1.0
,也就是说该设备位于 192.168.1.0
这个网段中。凡是计算结果同为 192.168.1.0
的 IP 地址,系统都会认为它们属于同一网段,他们之间的通信就属于网段内通信。
💡 补充说明:设备的 IP,究竟指的是“谁”的 IP?
当我们说“这台设备的 IP 地址是 192.168.1.10”时,其实更准确地说,这是这台设备的某一个“网络接口”的 IP 地址。
一个设备可能有多个网络接口(Network Interface),每个接口都可以被配置一个独立的 IP 地址和子网掩码,它们可以分别属于不同的网段。
🧩 例如:
- 一台路由器可能有多个物理网口,比如
GigabitEthernet0/0
和GigabitEthernet0/1
,每个都可以连到不同的网段,配置不同的 IP。这个接口命名中的GigabitEthernet
指的是接口类型,这里表示千兆以太网接口;第一个数字表示模块号或槽位号,第二个数字表示端口号或接口号。这个编号方式其实是为适应模块化设备而设计的,在高端设备中,每个“插槽”可以插一个模块;每个模块上可以有多个接口,从 0 开始编号。因此GigabitEthernet0/1
,表示的是模块 2 上的第 3 个千兆接口。 - 一台笔记本电脑可能有:
- 一个有线接口(Ethernet)
- 一个无线接口(Wi-Fi)
- 甚至还有一个虚拟 VPN 接口
- 每个接口都可以拥有自己的 IP 地址,分别用于不同网络环境。
🔁 还有一个特殊的接口:回环接口(Loopback Interface)
- 每个设备通常都有一个名为
Loopback
的虚拟接口,它不会实际连接到网络线缆,但他的表现和行为和物理网口基本一致。 - 它的典型地址是:
127.0.0.1
,被称为“本地回环地址”或“localhost”。 - 作用:用于测试网络协议栈是否正常工作,或者作为路由器配置中识别设备的逻辑地址。
📌 小结
类型 | 说明 |
---|---|
物理接口(Ethernet、Wi-Fi) | 连接实际网络,每个都可以有独立的 IP 和子网设置 |
虚拟接口(Loopback、VPN) | 不依赖实际物理连接,通常用于本地通信或特殊用途 |
多接口设备 | 可以同时存在多个 IP,分别作用于不同网段,也可实现跨网段路由或桥接功能 |
所以说,一个“设备的 IP 地址”只是其某个网络接口的 IP,如果设备连接了多个网络,每个接口都需要被合理配置,才能实现通信功能。
🔍 小提醒:
虽然网络上可能存在多台设备使用了类似的 192.168.1.*
地址,但它们并不一定处于同一个“实际网段”。这是因为 IP 地址分为私有地址(Private IP)和公网地址(Public IP)。例如:
192.168.0.0/16
是一个保留的私有地址范围,只能在局域网中使用,不会在互联网中传递。- 所以,即使不同网络中都有设备使用
192.168.1.1
,只要它们不在同一个私有网段内,它们也无法直接通信。
🌐 网络地址与广播地址
在每个子网中,还有两个特殊的地址不能分配给终端设备:
- 网络地址:代表整个子网,用于标识网络,而不是某个具体设备。 例如
192.168.1.0/24
中的192.168.1.0
就是网络地址,这里的 /24 表示前24位为子网掩码。 - 广播地址:用于向该子网中所有设备同时发送数据包。 在
192.168.1.0/24
中,广播地址为192.168.1.255
。
这两个地址都是系统保留的,不能分配给主机使用。
🧭 网关地址的约定
在实际配置中,每个子网内通常会保留一个 IP 地址作为“默认网关”,供该网段内的所有设备进行跨网段通信使用。也就是说,当进行跨网段通信的时候,子网内的设备会先将数据包发送到这个网关IP,再由网关设备将数据包转发到其他网络。
默认的做法是将子网内的第一个可用地址(如 192.168.1.1
)分配给连接该网段的路由器接口,其他设备的默认网关就设置为这个地址。
举例:在 192.168.1.0/24
网段中:
- 网络地址:
192.168.1.0
(不可分配) - 广播地址:
192.168.1.255
(不可分配) - 可分配主机地址范围:
192.168.1.1
~192.168.1.254
- 默认网关通常设为:
192.168.1.1
🧮 常见子网掩码及用途:
子网掩码 | CIDR 表示 | 可分配主机数 | 用途说明 |
---|---|---|---|
255.255.255.0 |
/24 |
254 | 最常见的局域网子网配置 |
255.255.255.252 |
/30 |
2 | 点对点连接,适合路由器间通信 |
💡 示例总结:
192.168.1.10
+255.255.255.0
→ 所在网段:192.168.1.0/24
10.0.0.5
+255.255.255.252
→ 所在网段:10.0.0.4/30
这些基本知识,是理解设备能否直接通信、是否需要路由器转发的基础。在下一节中,我们就将看看:如果两个设备在同一网段,它们之间是如何“聊天”的?
二、网段内通信:交换机如何帮我们进行“局域聊天”
当两台设备在同一个网段时,它们可以直接通信,这时候并不需要路由器的参与,只需要一台交换机将它们连接在一起就可以了。
在配置方面也非常简单。以下面的这个例子为例,我们有三台设备,它们的 Ethernet0
接口都连接到一台交换机上:
设备名称 | 接口 | IP 地址 | 子网掩码 |
---|---|---|---|
PC0 | Ethernet0 | 192.168.1.2 | 255.255.255.0 |
Laptop0 | Ethernet0 | 192.168.1.3 | 255.255.255.0 |
Laptop1 | Ethernet0 | 192.168.1.4 | 255.255.255.0 |
我们在每台设备的接口上配置 IP 和子网掩码,并确保它们属于同一个网段(192.168.1.0/24
)。这时,它们就可以直接互相访问了。
🧠 交换机到底在做什么?
交换机是工作在 OSI 第二层(数据链路层) 的网络设备,它的主要作用是根据设备的 MAC 地址 来转发以太网帧。
❓ 什么是 MAC 地址?
MAC(Media Access Control)地址是每个网卡的唯一标识符,由厂商出厂时烧录,通常写作 00:D0:D3:64:90:D4
这样格式的十六进制串。它像是“物理地址”或设备的身份证。
📡 通信过程:从 PC0 ping Laptop0 会发生什么?
假设 PC0 想 ping Laptop0,过程如下:
- PC0 先判断是否同网段
- IP 与子网掩码进行 AND 运算,发现
192.168.1.2
和192.168.1.3
同属192.168.1.0/24
- IP 与子网掩码进行 AND 运算,发现
- PC0 查本地 ARP 缓存
- 如果没有找到 Laptop0 的 MAC 地址,PC0 就会广播一个 ARP 请求
- 交换机收到广播
- 交换机会将这个广播帧发送到所有端口(除了来源端口)
- 同时,记录 PC0 的 MAC 和端口到 MAC 地址表中
- Laptop0 响应 ARP
- 回复自己的 MAC 地址,PC0 更新 ARP 表
- 交换机同时记录 Laptop0 的 MAC 和端口
- PC0 发送 ping 包(ICMP)
- 使用目标的 MAC 作为帧的目标地址,发送出去
- 交换机查 MAC 表,定向转发给 Laptop0
🔁 问题1:交换机内部有什么?它是怎么知道谁是谁的?
交换机内部维护了一张 MAC 地址表(MAC Address Table),记录的是:
1 | <交换机端口> ↔ <设备的 MAC 地址> |
它不关心 IP,也不关心设备是谁和谁通信,它只关心哪个 MAC 是从哪个端口进来的。例如:
交换机端口 | MAC 地址 |
---|---|
Fa0/1 | 00:D0:D3:64:90:D4 |
Fa0/2 | 00:11:22:33:44:55 |
这张表是动态学习的,设备第一次发送数据时,交换机会记录来源 MAC 和入口端口。
🔍 问题2:那每台 PC 自己记录的 MAC 又是什么?会记录交换机端口吗?
不会!PC 维护的是一张 ARP 表,记录的是:
1 | <IP 地址> ↔ <目标设备的 MAC 地址> |
当你输入 ping 192.168.1.3
时,PC 其实并不知道这个 IP 对应的 MAC 地址,它会发送一个ARP 广播请求,询问:
“192.168.1.3,请问你是谁?你的 MAC 地址是多少?”
目标设备(如果 IP 匹配)就会回应自己的 MAC 地址。PC 收到响应后,就会将这个对应关系记录在 ARP 表中。
📌 注意:PC 只知道 IP 和 MAC 的关系,交换机负责 MAC 和端口的对应关系,它们互相配合实现转发。
📟 问题3:怎么查看这些表?
在交换机中查看 MAC 地址表:
进入 CLI,输入:
1 | show mac address-table |
输出类似:
1 | Vlan Mac Address Type Ports |
说明 MAC 地址为 00:D0:D3:64:90:D4
的设备是通过 Fa0/1 接入的。
在 PC 上查看 ARP 表(IP ↔︎ MAC 映射):
在 PC 的命令行里输入:
1 | arp -a |
你会看到:
1 | Internet Address Physical Address Type |
🧭 小结:交换机和主机如何各司其职
设备/模块 | 记录内容 | 用途 |
---|---|---|
PC 主机 | IP ↔︎ MAC(ARP 表) | 把“逻辑地址”翻译为“物理地址” |
交换机 | MAC ↔︎ 端口(MAC 表) | 把帧转发到正确的物理端口 |
✅ 主机知道“你是谁”,交换机知道“你在哪”。
下一节我们将探索:当目标设备不在同一个网段时,PC 又该怎么办?此时,交换机就“管不到了”,需要更聪明的设备——路由器登场。
三、网段间通信:路由器如何帮我们和“陌生人”打交道
在上一节中我们已经看到,只要设备在同一个网段内,通过交换机和 ARP 协议,它们就可以直接“聊天”。但现实中,不同子网之间的通信才是互联网通信的真正核心。这时候,就需要引入“路由器”这个能帮我们跨子网转发数据的设备。
📌 网络拓扑概览
我们使用 Cisco Packet Tracer 搭建了一个包含三个子网的网络拓扑:
- 每个子网包含一台路由器 + 一个交换机 + 两到三台终端设备
- 三台路由器之间通过点对点链路连接(使用 /30 子网)
- 每个子网配置了独立的 IP 地址段,不能直接通信,需要通过路由器转发
子网 | 主机 IP 范围 | 路由器 LAN 口 IP |
---|---|---|
子网 A | 192.168.0.10 ~ .11 | 192.168.0.1 |
子网 B | 192.168.1.10 ~ .11 | 192.168.1.1 |
子网 C | 192.168.2.10 ~ .12 | 192.168.2.1 |
路由器间链路 | 网段 | 使用接口 | IP 地址 |
---|---|---|---|
Router0 ↔︎ R1 | 10.0.0.0/30 | G0/1 ↔︎ G0/1 | 10.0.0.1 ↔︎ 10.0.0.2 |
Router1 ↔︎ R2 | 10.0.0.4/30 | G0/2 ↔︎ G0/1 | 10.0.0.5 ↔︎ 10.0.0.6 |
🧩 网段内配置:加上“默认网关”的那一步
设备在同一个网段时,我们只需要配置每台 PC 的 IP 和子网掩码,它们就可以通过交换机直接通信。然而,在有路由器参与的网络中,我们还必须配置一个额外参数:默认网关(Default Gateway)。
❓ 什么是“默认网关”?
默认网关是主机在不知道目的地址属于哪个具体网段时,用来“兜底转发”的网络出口地址。
在实际部署中,默认网关就是你所在子网连接的那台路由器的接口地址。主机并不负责决定复杂的转发路径,它只知道:
“这个地址我不认识,那我就交给默认网关吧。”
默认网关的工作机制大体可以总结为:
- 当设备发送一个数据包,先通过子网掩码判断目标 IP 是否与自己在同一网段
- 如果在同一网段:直接通过 ARP 获取 MAC,局域网通信
- 如果不在同一网段:封装数据帧给“默认网关”的 MAC 地址,让它来帮忙转发
- 所以,没有默认网关,就无法进行跨网段通信
比如对于 PC0 来说:
ping 192.168.0.11
(同网段)→ 直接发ping 192.168.1.11
(不同网段)→ 没有明确路由 → 发给默认网关 192.168.0.1
在 Windows 上,可以通过 ipconfig
来查询各个网口的默认网关。PC 通常只有一个默认网关,而路由器可以有手动设置多个网关,可以有多个“下一跳”,通过静态或动态路由手动指定每个网段怎么走,在后文关于路由器的部分会更详细介绍。
PC | 所属网段 | IP 地址 | 默认网关 |
---|---|---|---|
PC0 | 192.168.0.0/24 | 192.168.0.10 | 192.168.0.1 |
PC2 | 192.168.1.0/24 | 192.168.1.10 | 192.168.1.1 |
PC5 | 192.168.2.0/24 | 192.168.2.11 | 192.168.2.1 |
🚧 路由器配置(一):接口配置(网口 IP 和子网设置)
路由器之所以能够连接不同网段,正是因为它具备多个网络接口(也称为端口或网口),每个接口都可以连接一个独立的网段,并配置不同的 IP 地址与子网掩码。
📌 什么是“接口配置”?
接口配置,指的是为路由器的每一个连接口分配对应的 IP 地址与子网掩码,以便它能正确接入某个网络、并参与通信。
你可以理解为:
“每个网口就是路由器的耳朵,只有配置好 IP 地址,它才能听懂这个网段的‘语言’。”
🧱 示例:配置连接子网 A 的 LAN 接口
以网段 A 为例(连接了 PC0 和 PC1),它们的配置如下:
设备 | 接口 IP 地址 | 子网掩码 |
---|---|---|
PC0 | 192.168.0.10 | 255.255.255.0 |
PC1 | 192.168.0.11 | 255.255.255.0 |
Router0 LAN 口 | 192.168.0.1 | 255.255.255.0 |
✅ 我们通常把路由器在局域网内的 IP 设置为网段内的第一个地址(例如 .1
),并作为默认网关使用。
🔗 接下来:连接其他路由器(点对点链路)
除了连接子网,路由器之间也需要互相通信。这种连接通常是点对点连接,即两个路由器直接通过一根线缆相连,没有其他设备参与。在这种情况下,我们可以使用非常小的子网,只包含两个主机地址,节省 IP 资源。
📌 点对点链路配置原则:
- 使用
/30
子网掩码(255.255.255.252),可用地址仅 2 个(用于两端路由器) - 每对接口分配一个唯一的点对点网段
例如:
链接 | 接口名 | IP 地址 | 子网掩码 |
---|---|---|---|
Router0 ↔︎ Router1 | G0/1 ↔︎ G0/1 | 10.0.0.1 ↔︎ 10.0.0.2 | 255.255.255.252 |
Router1 侧则配置为 10.0.0.2
,掩码相同。
🧠 总结一下接口配置的基本原则:
接口类型 | IP 地址设定 | 子网掩码 | 用途 |
---|---|---|---|
连接子网的口(LAN) | 与子网其他设备处于同一网段 | 一般为 /24 (255.255.255.0) |
为该网段内设备提供出入口 |
路由器间链路(WAN) | 与对端接口处于同一点对点网段 | 一般为 /30 (255.255.255.252) |
建立跨子网通信的“中继” |
通过正确地配置这些接口,路由器才能够“听懂”来自不同网段的流量,并做好准备去转发它们。
🧭 路由器配置(二):配置路由规则,让网络“通起来”
我们知道路由器之所以被称为“路由”器,是因为它的核心工作就是:做路由(Routing),即判断一个数据包该走哪条路径才能抵达目标。
📦 路由器工作在哪一层?
路由器是工作在 OSI 模型的第三层(网络层) 的设备,它处理的就是 IP 地址层面 的信息,而不是 MAC 层(交换机)或物理层(网线)上的内容。
🔍 什么是“路由”?
“路由”本质上就是:
为数据包规划一条从“源地址”到“目的地址”的最合理路径。
这条路径并不一定是一条物理线缆,而是可能要经过多个网络设备(路由器),跳过多个网段,最终找到“最合适”的下一跳。
📚 路由功能是靠什么实现的?
路由器内部维护着一张名为“路由表(Routing Table)”的结构,它就像是一个导航地图,记录着:
“要去哪个网段,应该通过哪个接口、发给哪个下一跳。”
每当收到一个 IP 包,路由器就会查这张表,决定转发路径。
🧾 路由表的内容长什么样?
可以通过命令:
1 | show ip route |
在路由器的 CLI 中查看当前路由器的完整路由表。
例如,Router0 的路由表可能如下所示:
1 | Router |
路由表中的每一项都代表了一个“怎么去”的路径信息, 比如对于:
✅ S 192.168.1.0/24 [1/0] via 10.0.0.2
其各字段的含义为:
字段 | 含义 |
---|---|
S |
路由类型:Static(静态路由) |
192.168.1.0/24 |
目标网络:你想要到达的目的网段 |
[1/0] |
跃点数(Administrative Distance / Metric):1 表示静态路由的默认值 |
via 10.0.0.2 |
下一跳地址:表示包应该先发到谁(Router1) |
📌 这条的意思是:“要访问 192.168.1.0/24,就把包转发给 10.0.0.2。”
看路由表,就像在读“交通指引”,每条都是“去哪里,走哪条路”的说明书。
🔖 路由表中的三类常见路由类型
我们在查看路由器的路由表时,会看到类似这样的代码前缀:
符号 | 类型 | 含义 |
---|---|---|
C | Connected(直连) | 该网段由某个接口直接连接上 |
S | Static(静态) | 手动添加的转发路径 |
R | RIP 动态路由 | 通过 RIP 协议自动学到的路由 |
✅ C
- Connected(直连路由)
当你在某个接口上配置了 IP 地址后,系统会自动把该网段加入到路由表中。比如在上一节中我们设置了 Router 0 的网口 0 的 IP, 那么路由表中就会自动生成:
1 | C 192.168.0.0/24 is directly connected, GigabitEthernet0/0 |
表示:Router0 直接连接了 192.168.0.0/24 这个网段,不需要中转,直接转发。
✅ S
- Static(静态路由)
静态路由是你通过命令 手动添加的路由路径,告诉路由器:“如果你要去某个网段,就把包交给这个下一跳。” 比如我们设置 Router 0 的静态路由, 规定如果数据包要去 192.168.2.0/24,就请把包交给 10.0.0.2(Router1 的地址), 这个条目就会出现在路由表中:
1 | S 192.168.2.0/24 [1/0] via 10.0.0.2 |
✅ R
- RIP(动态路由协议)
如果你在多个路由器上开启了 RIP 协议,它们就会自动相互交换自己的路由表,学习到“我虽然没直接连接这个网段,但我知道谁能到那儿”。
📍示例:
Router2 直连了 192.168.2.0/24
,Router1 通过直连知道这个网段。 如果 Router0 和 Router1 启用了 RIP 协议:
Router1 会告诉 Router0:“我能通往 192.168.2.0”
Router0 的路由表就会自动添加:
1 | R 192.168.2.0/24 [120/2] via 10.0.0.2 |
这时候,Router0 没有直接连到 192.168.2.0,也没手动配置,但能自动学会怎么走,这就是动态路由的强大之处。
🧠 小结:可以这样理解这些路由条目
类型 | 你配置了吗? | 是否自动加入? | 来自哪里? |
---|---|---|---|
C | 配了接口 IP | ✅ 是 | 路由器接口自动发现(直连) |
S | 手动添加 | ❌ 否 | 你通过 ip route 命令指定的路径 |
R | 开启 RIP 协议 | ✅ 是 | 从邻居路由器动态学来的信息 |
📌 路由表的匹配规则是怎样的?
当一个数据包到达路由器时,路由器会:
- 查看目的 IP 地址
- 在路由表中查找最精确匹配(最长前缀匹配)的条目
- 找到对应的“下一跳”或“出接口”
- 将包发出
🧱 示例:在 Router0 中配置静态路由
在实验网络拓扑中,我们使用的是最常见也最基础的 静态路由(Static Route)。
- 为什么选它?因为结构清晰、配置简单,非常适合学习与演示。
- 所有跨子网通信的路径,都由我们手动告诉路由器:“你要去哪,就走哪个下一跳”。
比如,我们在 Router0 的 Config 页面 → Routing → Static 路由配置中,添加了两条静态路由:
- 去往 192.168.1.0/24 走 10.0.0.2(Router1)
- 去往 192.168.2.0/24 走 10.0.0.2(Router1 再转发)
这些配置告诉 Router0:
“如果你想找 192.168.1.0 或 192.168.2.0 的主机,请把包发给 10.0.0.2,那是 Router1,它知道怎么继续转发。”
🔄 路由配置为什么必须是“双向”的?
✅ 单向路由:请求能发出去,但回应回不来!
举个例子:
- PC0 想访问 PC5,发出 ping 请求 → 包从 Router0 → Router1 → Router2,成功发出
- 但是如果 Router2 没有返回路径的静态路由,回应包就找不到“回家的路”,最终通信失败!
📌 路由器不会自动记住“谁来找过我”,它必须靠完整的路由表,才能把回应也转发回去。
所以,每个方向都必须配置对应的路由,才能实现双向通信。
📘 小结:静态路由配置原则
步骤 | 操作内容 |
---|---|
1. 识别目标网段 | 明确你想让路由器通向哪个子网 |
2. 指定下一跳 IP | 告诉路由器“包发给谁” |
3. 配置双向路由 | 每个涉及通信的路由器都需要添加相应静态路由 |
4. 验证配置 | 使用 show ip route 命令查看路由表是否正确 |
🛰️ 从 PC0 ping PC4,数据包是怎么“翻山越岭”的?
经过前面的学习,我们已经知道了交换机怎么工作、路由器怎么转发、默认网关的意义以及路由表的功能。那么现在我们来一个真实例子,以 ping
为起点,看看数据包是如何从 PC0 发往 PC4,并最终完整返回的。
📍 网络环境:
- PC0:
192.168.0.10
,默认网关:192.168.0.1
- PC4:
192.168.2.10
- 路由路径:
PC0 → Switch0 → Router0 → Router1 → Router2 → Switch2 → PC4
🔄 步骤一:PC0 构建数据包
- PC0 判断目标 IP
192.168.2.10
是否在同一网段(通过掩码与运算) - 发现不在同一网段 → 查 ARP 表,没有网关地址的 MAC → 发出 ARP 请求
- 路由器 Router0 接收到广播 → 回复自己的 MAC 地址
- PC0 构造 ICMP Ping 包,封装成帧:
- 源 MAC:PC0
- 目标 MAC:Router0 的接口(192.168.0.1)
- 源 IP:PC0 的 IP
- 目标 IP:PC4 的 IP
🔄 步骤二:交换机转发帧
- Switch0 根据 MAC 表,将帧定向转发给 Router0
- Router0 接收到帧,解封装得到 IP 数据包
🔁 步骤三:Router0 查路由表
1 | show ip route |
发现:
1 | S 192.168.2.0/24 via 10.0.0.2 |
→ 决定下一跳是 Router1 的接口:10.0.0.2
- Router0 封装新帧:
- 源 MAC:Router0(G0/1)
- 目标 MAC:Router1(G0/1)→ 如果没有,则先发 ARP 请求
- 发出数据包到 Router1
🔁 步骤四:Router1 查路由表
目标是
192.168.2.10
查路由表,发现:
1
S 192.168.2.0/24 via 10.0.0.6
→ 决定下一跳是 Router2(10.0.0.6)
- 封装新帧,发往 Router2 的 MAC 地址
🔁 步骤五:Router2 查路由表
- Router2 直接连接了
192.168.2.0/24
(直连路由) - 解封装,判断目标 IP 在本地网段
- 查 ARP → 找到 PC4 的 MAC 地址
- 重新封装帧,发往 Switch2 → 再转发给 PC4
✅ 步骤六:PC4 收到 ping 请求 → 回复 Echo Reply
- 构造 ICMP Echo Reply(回复)
- 目标 IP 是
192.168.0.10
,与自己不在同一网段 → 查默认网关(192.168.2.1) - 向 Router2 发出帧,交给它转发回 PC0
🔁 步骤七:数据包反向返回
- Router2 → Router1 → Router0 → Switch0 → PC0
- 每一跳都重复查路由表、封装帧、发 ARP(如果需要)等操作
✅ PC0 收到 Echo Reply,ping 成功!
最终,PC0 的屏幕上显示:
1 |
|
这就说明:整个网络配置正确,数据包已经成功“来回通关”。
🧠 小结:一次跨网段通信涉及到什么?
网络组件 | 功能 |
---|---|
PC0 | 判断网段、查 ARP、发送数据到默认网关 |
交换机 | 负责本地网段内的 MAC 地址学习与帧转发 |
Router0 | 查路由表、封装、转发到下一跳 |
Router1 | 中转转发,根据静态路由或动态学习的路由表决定方向 |
Router2 | 最终送达目的网段,交给目标主机 |
PC4 | 构造回应包,反方向走同样的路径回去 |
🧾 小结
通过本篇博客,我们首先理解了“网段”的基本概念:IP 地址配合子网掩码,用于划分不同的网络范围。在每个网段中,地址的分配、网络号、广播地址以及默认网关的设置,共同决定了网络中设备如何识别彼此、判断对方是否属于“本地邻居”,这是后续通信判断的基础。
随后我们讲解了网段内的通信机制,交换机作为二层设备,负责根据设备的 MAC 地址进行数据帧的学习和转发。它本身不需要任何配置,只要将设备连接到交换机上,并确保 IP 地址和掩码设置在同一网段,通信就能顺利进行。ARP 协议在这个过程中起到了桥梁作用,帮助设备获取目标 IP 对应的 MAC 地址。
最后是网络的核心——路由器,它工作在三层,连接多个子网。每个接口可以配置不同网段的 IP 和掩码,负责将跨网段的数据进行转发。我们学习了如何配置接口 IP、添加静态路由,了解了路由表的作用及路由类型(直连、静态、动态),并通过一次从 PC0 到 PC4 的 ping 实验,完整梳理了数据包在多个设备间的转发路径,也明白了为什么路由必须双向配置。至此,一个完整的网络通信流程便清晰呈现。