《一本书读懂TCP/IP》第六章:TCP/IP网络路由手艺
核心思想:
本章揭示了数据包在网络中的完整旅程。该旅程分为两大阶段:
局域网内阶段: 数据在本地网络(如公司、家庭)中如何被逻辑组织和高效转发。这由VLAN和中继手艺 主导。
跨网络路由阶段: 数据如何跨越不同网络(如从你家到百度服务器)找到最终路径。这由IP路由技术 主导。
第一部分:局域网内的逻辑组织——VLAN与中继
一、 为什么需VLAN?
在传统的单一局域网中,所有设备处于同一个广播域,导致:
广播风暴风险高,性能低下。
安全性差,数据易被监听。
管理僵化,设备位置与网络策略绑定。
想象一个公司,市场部、财务部和研发部的员工都混在同一个办公区,连接到同一台交换机上。
广播问题:
任何一个设备发出的广播帧(如ARP请求),都会被交换机转发给所有其他端口上的所有设备。
后果:浪费网络带宽,所有设备都要处理与自己无关的广播信息,降低了网络效率。
安全问题:
由于所有设备在同一个广播域,理论上,市场部的电脑可以嗅探到财务部电脑的通信流量,存在内容泄露风险。
管理不灵活:
倘若想把财务部人员调整到新的物理位置,可能需要重新布线并更改交换机端口配置,非常麻烦。
VLAN就是为了解决这些问题而生的。
VLAN的诞生,就是为了打破物理位置的束缚,构建逻辑上的网络分区。
VLAN就是二、什么

定义:
VLAN是一种通过软件配置,在一台或多台交换机上逻辑地划分出多个广播域的技术。
同一个VLAN内的设备,就像连接在同一个独立的虚拟交换机上,可以相互通信。
不同VLAN之间的设备,默认无法直接通信,就像它们处在完全不同的物理网络中一样。
通俗比喻:
把一台大型开放式办公室(一台交换机),用透明的隔音玻璃墙(VLAN)分割成多个独立的小房间(VLAN)。
同一个房间里的人(同一VLAN的设备)可以自由交谈(通信)。
不同房间的人(不同VLAN的设备)默认无法直接听到对方说话,互相隔离。
这种分割是逻辑上的,你可以轻松地把一个人从一个房间调到另一个房间,而无需移动他的工位(物理位置)。
三、VLAN是如何工作的?——基于标签的划分
交换机是如何知道一个信息帧属于哪个VLAN的呢?答案是VLAN标签。
Access接口(接入接口):
用途: 用于连接终端设备(如电脑、打印机、服务器)。
工作方式:
当数据帧从电脑进入交换机的Access接口时,交换机会根据端口的调整,给这个原始数据帧打上一个本地的VLAN ID标签。
当材料帧从Access接口发回电脑时,交换机会剥离VLAN标签,还原成普通的数据帧。
特点:一个Access端口只能属于一个VLAN。
Trunk接口(中继接口):
用途: 用于连接两台交换机,以便在一条物理链路上同时传输多个VLAN的资料。
工作方式:
当带有VLAN标签的数据帧需要通过Trunk链路时,交换机会保留其VLAN标签,直接发送。
对端的交换机通过识别这个标签,就知道该将数据帧转发到哪个VLAN。
核心协议:IEEE 802.1Q。这是一个给数据帧打上VLAN标签的国际标准协议。它在标准的以太网帧的“源MAC地址”和“类型”字段之间,插入了4个字节的802.1Q标签头,其中就具备了12位的VLAN ID(可标识4094个VLAN)。
图解:Access与Trunk的工作流程
text
[PC1] (VLAN 10) --(Access端口)--> [交换机A] --(Trunk端口)--> [交换机B] --(Access端口)--> [PC2] (VLAN 10)
流程:
1. PC1发送普通数据帧给交换机A的Access端口(该端口属于VLAN 10)。
2. 交换机A给数据帧打上`VLAN 10`的标签。
3. 交换机A查询MAC表,发现要去往PC2,需要经过Trunk端口。
4. 交换机A通过Trunk链路,将带有`VLAN 10`标签的帧发送给交换机B。
5. 交换机B通过Trunk链路收到带标签的帧,识别出它属于`VLAN 10`。
6. 交换机B查询MAC表,发现PC2连接在另一个Access端口(属于VLAN 10)上。
7. 交换机B**移除**`VLAN 10`的标签,将原始数据帧从Access端口发送给PC2。
四、 VLAN与中继核心概念
| 核心概念 | 作用与定义 | 工作方式(关键) | 通俗比喻 |
|---|---|---|---|
| VLAN | 虚拟局域网,借助软件在物理网络之上划分出的逻辑广播域。 | 基于VLAN ID来区分不同的逻辑网络。 | 用透明隔音玻璃墙把大办公室分成多个独立部门房间。 |
| Access接口 | 连接终端设备(PC、打印机)的交换机端口。 | 接收数据时:打上该端口配置的VLAN标签。 发送数据时:剥离VLAN标签,还原为普通帧。 | 每个房间的房门,只通往一个特定的部门。 |
| Trunk接口 | 连接交换机之间或交换机与路由器的端口。 | 始终保留并识别VLAN标签,允许一条物理链路上传输多个VLAN的数据。 | 连接各楼层的走廊/电梯,所有人都走这里,但凭工牌去往不同楼层。 |
| VLAN标签 | 用于标识数据帧属于哪个VLAN的标记。 | 遵循 IEEE 802.1Q协议,在标准以太网帧中插入4字节的标签头,内含12位VLAN ID。 | 员工的部门工牌,在公共区域(Trunk)凭此识别身份和目的地。 |
VLAN通信规则:
同一VLAN内:设备许可直接在二层通信,就像在同一个真实的局域网里一样。
不同VLAN间:默认无法直接通信。必须通过路由器或三层交换机进行三层路由才能互通。这提供了天然的安全隔离。
VLAN的核心价值:
安全隔离:不同部门(如财务、市场)信息逻辑隔离。
广播控制:将广播限制在每个VLAN内部,提升性能。
灵活管理:员工换工位只需更改交换机端口VLAN配置,无需改动网线。
第二部分:跨网络的路径寻找——IP路由技术
当数据包需要离开本地网络(跨越VLAN或去往互联网)时,路由技术开始发挥作用。
一、 路由的基本概念
路由:指导IP数据包从源网络穿越中间网络到达目标网络的路径选择过程。
路由器:执行路由任务的网络设备,工作在网络层。
比喻: 路由器是城市间的交通枢纽,负责查看数据包的“目标地址”(IP地址),并决定它应该开往哪个“出口”(下一跳)。
二、 路由表:路由器的“导航地图”
1. 路由器的决策核心是一张路由表,其主要条目包括:
目的网络: 要去的目标网络地址(如
192.168.2.0/24)。下一跳:下一个路由器的IP地址。这是最关键的信息。
出接口:本路由器从哪个物理端口发出。
度量值:路径的“成本”,用于比较优劣。
2. 路由表查询过程(简化):
当一个数据包到达路由器时,路由器会:
查看数据包IP头中的目标IP地址。
用自己的路由表进行匹配,找到最具体(网络前缀最长)的一条路由。
按照匹配条目的指示,将数据包从指定的接口发给下一跳地址。
通俗比喻:路由表就像你手机导航App里的地图数据。
目的网络= 你要去的小区(如“XX花园”)。
下一跳= 导航告诉你:“前方500米,向右转”。这个“右转”就是通往目的地的“下一跳”动作。
接口= 你用车的哪个轮子转弯(尽管不精确,但可以理解成执行动作的具体部件)。
三、 路由的类型
| 类型 | 工作原理 | 优点 | 缺点 | 适用场景 | 比喻 |
|---|---|---|---|---|---|
| 静态路由 | 由网络管理员手动配置。 | 简单、安全、不消耗设备资源。 | 无法适应网络变化,维护量大。 | 小型网络、末节网络或作为备用路由。 | 死记硬背的固定行车路线。 |
| 动态路由 | 路由器之间运行路由协议,自动学习和更新路由信息。 | 自适应网络变化,自动选择最优路径。 | 配置复杂,占用设备和带宽资源。 | 中大型网络、互联网核心。 | 使用实时在线的智能导航App。 |
四、 动态路由协议分类

内部网关协议: 在一个自治系统内部使用。
OSPF:基于“链路状态”,像绘制一张详细的网络地图,然后各自计算最短路径。适用于大型企业网。
外部网关协议: 在不同自治系统之间使用。
BGP: 是 “互联网的骨架协议”,负责在不同运营商(如电信、联通)之间交换路由信息,更侧重于策略而非速度。
| 核心概念 | 作用 | 通俗比喻 |
|---|---|---|
| 路由 | 为数据包选择路径的过程 | 在立交桥上决定往哪个方向开 |
| 路由表 | 存储路径信息的数据表 | 导航App里的地图数据库 |
| 下一跳 | 路径中的下一个路由器 | 导航指令:“前方路口左转” |
| 静态路由 | 管理员手动配置的固定路径 | 死记硬背的固定路线 |
| 动态路由 | 路由器自动学习并更新的路径 | 实时在线的智能导航App |
| IGP | 在单个组织内部使用的路由协议 | 国内的交通规划部 |
| EGP | 在不同组织之间使用的路由协议 | 国际航线协商协议 |
五、 数据包的完整旅程(结合路由)
让我们把路由技术融入到一个完整的数据包旅程中:
主机判断:否和自己在同一个局域网。就是你的电脑要访问百度服务器。它首先判断目标IP地址
默认网关:如果不在,你的电脑会把数据包发给一个预设的地址——默认网关(就是你家的路由器)。这是你本地网络的“唯一出口”。
路由器接力:
你家路由器(网关)查自己的路由表,发现去往百度的下一跳是你的ISP的某个路由器。
数据包被转发到ISP的路由器。
ISP内部的路由器们依据OSPF等IGP协议,将数据包在内部高效转发到边界。
跨运营商路由:
数据包到达你所在ISP网络的边界路由器。
边界路由器通过BGP协议,知道去往百度服务器所在的网络,需要依据另一个ISP(比如百度的运营商)的网络。
数据包被“移交”给下一个ISP的网络。
到达目的地:最终,数据包进入百度服务器所在的网络,该网络内部的路由器再将其最终送达百度服务器。
| 核心概念 | 作用 | 通俗比喻 |
|---|---|---|
| 路由 | 为数据包选择路径的过程 | 在立交桥上决定往哪个方向开 |
| 路由表 | 存储路径信息的数据表 | 导航App里的地图数据库 |
| 下一跳 | 路径中的下一个路由器 | 导航指令:“前方路口左转” |
| 静态路由 | 管理员手动配置的固定路径 | 死记硬背的固定路线 |
| 动态路由 | 路由器自动学习并更新的路径 | 实时在线的智能导航App |
| IGP | 在单个组织内部运用的路由协议 | 国内的交通规划部 |
| EGP | 在不同组织之间应用的路由协议 | 国际航线协商协议 |
本章总核心:VLAN、路由与三层交换
VLAN间通信的解除:
传统上,得一台独立的路由器,连接各个VLAN,由它进行三层转发。
现代网络中,普遍使用三层交换机。它集成了二层交换和三层路由的功能,可以在交换机内部直接建立VLAN之间的高速路由。
数据包的完整旅程总结:
源主机判断:目标IP是否在同一网段(同一VLAN)?
是: 直接通过二层交换(查MAC表)发送。
否:将数据包发给默认网关(通常是所在VLAN的三层交换机虚拟接口或路由器)。
网关路由查询:网关设备(三层交换机或路由器)查询路由表。
局域网内/VLAN间路由:若目的地在另一个VLAN,三层交换机直接进行路由转发。
跨网络路由:若目的地在互联网,数据包被逐级转发给运营商的路由器,经过BGP/OSPF等协议穿越互联网。
到达目标网络:最终进入目标网络,通过二层交换或VLAN内路由送达目标服务器。
终极总结表
| 技术领域 | 核心组件 | 寻址依据 | 工作层次 | 核心功能 |
|---|---|---|---|---|
| 局域网交换 | 交换机、VLAN | MAC地址、VLAN ID | 数据链路层 | 逻辑隔离、本地高效转发 |
| 网络间路由 | 路由器、路由表 | IP地址 | 网络层 | 路径选择、跨网络通信 |
一句话记住第六章:
TCP/IP网络通信是分层负责的:在本地,由VLAN和中继技术负责逻辑组织和隔离;跨网络时,由IP路由技能基于路由表负责寻路和接力。两者协同工作,共同构成了从桌面到全球互联网的完整数据通路。

浙公网安备 33010602011771号