路由 (Routing)
核心思想:路径选择
-
是什么? 路由是指数据包从源主机传输到目标主机的整个过程。这个过程就像寄快递:你需要决定包裹经过哪些中转站才能最终到达收件人手里。
-
做什么? 网络中的设备(主要是路由器 )会根据一张"地图"(路由表)来决定把数据包从哪个端口发送出去,才能让它更接近目的地。
-
比喻: 城市交通系统中的路口和路标。每个路口(路由器)根据路标(路由表)决定车辆(数据包)该往哪条路走。
下一跳 (Next Hop)
核心思想:下一个中转站
-
是什么? 这是路由表中最关键的一个字段。它指明了数据包在通往最终目的地的路上,下一个应该被发送到的、直接相连的路由器的IP地址。
-
为什么需要? 路由器不需要知道到达最终目的地的完整路径,它只需要知道"下一个"该把包交给谁就行了。下一跳路由器收到后,也会查自己的路由表,决定再下一个跳点,如此反复,直到到达目的地。
-
比喻: 寄快递时,你所在城市的快递分发中心。你不需要知道包裹去上海的具体路线,你只需要把包裹交给本地的快递点(下一跳),他们负责把它运到下一个更大的中转中心(下一个下一跳)。
在上面的路由表示例中:
- 要发送数据到
10.1.1.5
,本路由器会查看路由表,匹配到10.1.1.0/24
这条记录,然后就知道该把数据包发给192.168.1.100
这个地址(下一跳),并从Eth0
端口发出
网关 (Gateway)
核心思想:网络的"出口"或"大门"
-
是什么? 一个网络通向其他网络的出口点 。通常就是一个路由器的接口IP地址。和ip同一网段
-
做什么? 当一台计算机(如你的PC)想要和其他网段(比如互联网)的机器通信时,它会把所有数据包都发送给网关(也就是你电脑上配置的"默认网关"地址),由这个网关路由器负责转发。
-
和下一跳的关系: 网关通常就是计算机的"下一跳"。对你的电脑来说,网关就是它通往外部世界的唯一"下一跳"路由器。
-
比喻: 你家小区的大门。你想去小区外的任何地方,都必须先走到大门口,然后才能出去。
两个不同网段的ip如何通过路由器互通
在你的电脑上,通过 ipconfig
(Windows) 或 ifconfig
(Linux/macOS) 命令看到的 "默认网关" 就是你电脑的网关地址。
两个不同网段的ip如何通过路由器互通

具体操作
在r1中添加 pc1的网关
选择接口 int e 0/0/0
路由器设置ip ip address 192.168.1.2 24 #192.168.1.2为pc1的网关 24为子网掩码为24为也可以写成255.255.255.0
显示路由表 display ip routing-table
同理添加pc2
pc1即可ping pc2
具体的例子来一步步拆解过程:
-
设备: 两台电脑(PC1 和 PC2),一台路由器(R1)
-
网络:
-
PC1:
192.168.1.10/24
,网关设置为192.168.1.1
-
PC2:
192.168.2.20/24
,网关设置为192.168.2.1
-
路由器 R1: 有两个接口,就像是两个门。
-
门1 (Eth0):
192.168.1.1/24
(连接192.168.1.0/24
网段) -
门2 (Eth1):
192.168.2.1/24
(连接192.168.2.0/24
网段)
-
-
现在,PC1 (192.168.1.10
) 想要 Ping 通 PC2 (192.168.2.20
)。
互通的核心条件
在通信开始前,必须确保以下基础配置正确,这是互通的前提:
-
物理连接: PC1 和 R1的Eth0口在同一个局域网(比如连到同一个交换机);PC2 和 R1的Eth1口在另一个局域网。
-
IP地址配置: 所有设备的IP地址、子网掩码配置正确。
-
网关设置: 最关键的一步 。PC1的默认网关必须指向R1的Eth0口 (
192.168.1.1
),PC2的默认网关必须指向R1的Eth1口 (192.168.2.1
)。这相当于告诉PC们:"如果你要出门,就把包裹交给这个地址"。
通信的详细过程(五步曲)
整个过程可以分解为以下几个步骤:
192.168.1.10给192.168.2.20发送数据,先判断是否同一网段,不是同一网段打包数据向网关地址发送出去到达路由器(该路由器已把网关设置为ip),路由器接收后查询转发到192.168.2.20,192.168.2.20接受后回复,192.168.1.10收到回复。
第1步:PC1 判断目标在哪
PC1 想要发送数据包给 192.168.2.20
。
-
PC1 用自己的子网掩码 (
255.255.255.0
) 计算自己和目标 (192.168.2.20
) 是否在同一个网段。 -
计算后发现:
192.168.1.0
≠192.168.2.0
,结论是 "目标不在我家这个小区"。 -
PC1 决定:"这个包得交给网关(路由器)来处理"。
第2步:PC1 封装并发送数据包
-
PC1 开始封装数据包(以Ping包为例):
-
目标IP地址 (Destination IP):
192.168.2.20
(最终收件人) -
源IP地址 (Source IP):
192.168.1.10
(最终发件人) -
目标MAC地址 (Destination MAC): 这是一个关键! 因为要发给网关,所以PC1需要知道网关
192.168.1.1
的MAC地址。
-
-
PC1 查看自己的 ARP 缓存表 ,看有没有
192.168.1.1
对应的MAC地址。-
如果有,直接使用。
-
如果没有,PC1 会发送一个 ARP 广播请求 :"谁是
192.168.1.1
?请告诉我你的MAC地址"。路由器R1的Eth0口会回应自己的MAC地址(例如AA:AA:AA:AA:AA:AA
)。
-
-
PC1 将数据包封装好,其中目标MAC地址填的是网关
192.168.1.1
的MAC地址,然后通过网卡发送出去。
此时的数据包状态:
字段 | 内容 |
---|---|
目标MAC | AA:AA:AA:AA:AA:AA (R1 Eth0 的MAC) |
源MAC | PC1的MAC地址 |
目标IP | 192.168.2.20 (PC2) |
源IP | 192.168.1.10 (PC1) |
数据 | (Ping请求数据) |
第3步:路由器R1 接收、查询并转发
-
接收: 路由器R1的Eth0口收到了这个数据包。它一看目标MAC地址是自己,于是就收下这个包,解开数据链路层的封装。
-
查询路由表: R1 查看数据包的目标IP地址 (
192.168.2.20
),然后查询自己的路由表。-
R1的路由表里通常有一条直连路由:
192.168.2.0/24
直接连接在 Eth1 口上。 -
R1 决定:"这个包要从我的Eth1口发出去,而且目标就在那个网段,可以直接交付,不需要再指定下一跳。"
-
-
重新封装: R1 准备将数据包从Eth1口转发出去。它需要重新封装数据链路层的帧:
-
目标MAC地址: R1 需要知道
192.168.2.20
(PC2) 的MAC地址。R1 会查看自己的ARP缓存表,如果没有,也会在192.168.2.0/24
网段发起ARP请求。PC2会回应自己的MAC地址(例如BB:BB:BB:BB:BB:BB
)。 -
源MAC地址: 替换为R1的Eth1口的MAC地址(例如
CC:CC:CC:CC:CC:CC
)。 -
IP地址层完全不变! 目标IP仍是
192.168.2.20
,源IP仍是192.168.1.10
。
-
此时的数据包状态 (在R1的Eth1口发出时):
字段 | 内容 |
---|---|
目标MAC | BB:BB:BB:BB:BB:BB (PC2 的MAC) |
源MAC | CC:CC:CC:CC:CC:CC (R1 Eth1 的MAC) |
目标IP | 192.168.2.20 (PC2) |
源IP | 192.168.1.10 (PC1) |
数据 | (Ping请求数据) |
第4步:PC2 接收并回复
-
PC2 收到数据包,发现目标MAC地址是自己,目标IP地址也是自己,于是收下包。
-
PC2 处理这个Ping请求,并准备发送一个Ping回复包给
192.168.1.10
。 -
回复过程重复上述步骤:
-
PC2 判断
192.168.1.10
不在本地网段。 -
PC2 将回复包发给自己的网关
192.168.2.1
(R1的Eth1口),目标MAC地址填R1 Eth1的MAC (CC:CC:CC:CC:CC:CC
)。 -
路由器R1收到后,查询路由表,发现去往
192.168.1.10
要走Eth0口。 -
R1 将回复包重新封装,目标MAC地址改为PC1的MAC地址,从Eth0口发回给PC1。
-
第5步:PC1 收到回复,互通完成
PC1 收到来自PC2的回复,一次完整的跨网段通信就完成了。
总结与关键点
-
路由器是核心: 路由器是连接不同网段的桥梁,其每个接口都属于一个不同的网段。
-
网关是关键: 主机必须正确配置网关地址,否则它无法将去往外网的数据包送达到路由器。
-
MAC地址在变,IP地址不变:
-
MAC地址 是段内通行证,只在同一个局域网内有效。每经过一个网段(一跳),源和目标MAC地址都会被重写。
-
IP地址 是全程通行证,从源到目标始终保持不变,它决定了数据的最终目的地。
-
-
路由表是决策依据: 路由器根据内部的路由表决定数据包该从哪个接口发出去。
你可以把路由器想象成一个邮局分拣中心。PC1把收件人是PC2的包裹(数据包)寄到本地邮局(网关),分拣中心(路由器)根据地址(路由表)决定把它分到开往PC2所在区域的卡车上(从另一个接口发出),最后由当地邮递员(目标网段的ARP/MAC)送达PC2手中。