《一本书读懂TCP/IP》第六章:TCP/IP网络路由手艺

核心思想:

本章揭示了数据包在网络中的完整旅程。该旅程分为两大阶段:

  1. 局域网内阶段: 数据在本地网络(如公司、家庭)中如何被逻辑组织和高效转发。这由VLAN和中继手艺 主导。

  2. 跨网络路由阶段: 数据如何跨越不同网络(如从你家到百度服务器)找到最终路径。这由IP路由技术 主导。


第一部分:局域网内的逻辑组织——VLAN与中继

一、 为什么需VLAN?

在传统的单一局域网中,所有设备处于同一个广播域,导致:

  • 广播风暴风险高,性能低下。

  • 安全性差,数据易被监听。

  • 管理僵化,设备位置与网络策略绑定。

想象一个公司,市场部、财务部和研发部的员工都混在同一个办公区,连接到同一台交换机上。

  1. 广播问题:

    • 任何一个设备发出的广播帧(如ARP请求),都会被交换机转发给所有其他端口上的所有设备。

    • 后果:浪费网络带宽,所有设备都要处理与自己无关的广播信息,降低了网络效率。

  2. 安全问题:

    • 由于所有设备在同一个广播域,理论上,市场部的电脑可以嗅探到财务部电脑的通信流量,存在内容泄露风险。

  3. 管理不灵活:

    • 倘若想把财务部人员调整到新的物理位置,可能需要重新布线并更改交换机端口配置,非常麻烦。

VLAN就是为了解决这些问题而生的。

VLAN的诞生,就是为了打破物理位置的束缚,构建逻辑上的网络分区。

VLAN就是二、什么

  1. 定义:

    • VLAN是一种通过软件配置,在一台或多台交换机上逻辑地划分出多个广播域的技术。

    • 同一个VLAN内的设备,就像连接在同一个独立的虚拟交换机上,可以相互通信。

    • 不同VLAN之间的设备,默认无法直接通信,就像它们处在完全不同的物理网络中一样。

  2. 通俗比喻:

    • 把一台大型开放式办公室(一台交换机),用透明的隔音玻璃墙(VLAN)分割成多个独立的小房间(VLAN)。

    • 同一个房间里的人(同一VLAN的设备)可以自由交谈(通信)。

    • 不同房间的人(不同VLAN的设备)默认无法直接听到对方说话,互相隔离。

    • 这种分割是逻辑上的,你可以轻松地把一个人从一个房间调到另一个房间,而无需移动他的工位(物理位置)。

三、VLAN是如何工作的?——基于标签的划分

交换机是如何知道一个信息帧属于哪个VLAN的呢?答案是VLAN标签

  1. Access接口(接入接口):

    • 用途: 用于连接终端设备(如电脑、打印机、服务器)。

    • 工作方式:

      • 当数据帧从电脑进入交换机的Access接口时,交换机会根据端口的调整,给这个原始数据帧打上一个本地的VLAN ID标签

      • 当材料帧从Access接口发回电脑时,交换机会剥离VLAN标签,还原成普通的数据帧。

    • 特点:一个Access端口只能属于一个VLAN

  2. 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的核心价值:

  1. 安全隔离:不同部门(如财务、市场)信息逻辑隔离。

  2. 广播控制:将广播限制在每个VLAN内部,提升性能。

  3. 灵活管理:员工换工位只需更改交换机端口VLAN配置,无需改动网线。


第二部分:跨网络的路径寻找——IP路由技术

当数据包需要离开本地网络(跨越VLAN或去往互联网)时,路由技术开始发挥作用。

一、 路由的基本概念

  • 路由:指导IP数据包从源网络穿越中间网络到达目标网络的路径选择过程

  • 路由器:执行路由任务的网络设备,工作在网络层

  • 比喻: 路由器是城市间的交通枢纽,负责查看数据包的“目标地址”(IP地址),并决定它应该开往哪个“出口”(下一跳)。

二、 路由表:路由器的“导航地图”

1. 路由器的决策核心是一张路由表,其主要条目包括:

  • 目的网络: 要去的目标网络地址(如 192.168.2.0/24)。

  • 下一跳:下一个路由器的IP地址。这是最关键的信息。

  • 出接口:本路由器从哪个物理端口发出。

  • 度量值:路径的“成本”,用于比较优劣。

2. 路由表查询过程(简化):
当一个数据包到达路由器时,路由器会:

  1. 查看数据包IP头中的目标IP地址

  2. 用自己的路由表进行匹配,找到最具体(网络前缀最长)的一条路由。

  3. 按照匹配条目的指示,将数据包从指定的接口发给下一跳地址。

通俗比喻:路由表就像你手机导航App里的地图数据。

  • 目的网络= 你要去的小区(如“XX花园”)。

  • 下一跳= 导航告诉你:“前方500米,向右转”。这个“右转”就是通往目的地的“下一跳”动作。

  • 接口= 你用车的哪个轮子转弯(尽管不精确,但可以理解成执行动作的具体部件)。

三、 路由的类型

类型工作原理优点缺点适用场景比喻
静态路由网络管理员手动配置简单、安全、不消耗设备资源。无法适应网络变化,维护量大。小型网络、末节网络或作为备用路由。死记硬背的固定行车路线。
动态路由路由器之间运行路由协议自动学习和更新路由信息。自适应网络变化,自动选择最优路径。配置复杂,占用设备和带宽资源。中大型网络、互联网核心。使用实时在线的智能导航App。

四、 动态路由协议分类

  • 内部网关协议: 在一个自治系统内部使用。

    • OSPF:基于“链路状态”,像绘制一张详细的网络地图,然后各自计算最短路径。适用于大型企业网。

  • 外部网关协议: 在不同自治系统之间使用。

    • BGP: 是 “互联网的骨架协议”,负责在不同运营商(如电信、联通)之间交换路由信息,更侧重于策略而非速度。

核心概念作用通俗比喻
路由为数据包选择路径的过程在立交桥上决定往哪个方向开
路由表存储路径信息的数据表导航App里的地图数据库
下一跳路径中的下一个路由器导航指令:“前方路口左转”
静态路由管理员手动配置的固定路径死记硬背的固定路线
动态路由路由器自动学习并更新的路径实时在线的智能导航App
IGP在单个组织内部使用的路由协议国内的交通规划部
EGP在不同组织之间使用的路由协议国际航线协商协议

五、 数据包的完整旅程(结合路由)

让我们把路由技术融入到一个完整的数据包旅程中:

  1. 主机判断:否和自己在同一个局域网。就是你的电脑要访问百度服务器。它首先判断目标IP地址

  2. 默认网关:如果不在,你的电脑会把数据包发给一个预设的地址——默认网关(就是你家的路由器)。这是你本地网络的“唯一出口”。

  3. 路由器接力:

    • 你家路由器(网关)查自己的路由表,发现去往百度的下一跳是你的ISP的某个路由器

    • 数据包被转发到ISP的路由器。

    • ISP内部的路由器们依据OSPF等IGP协议,将数据包在内部高效转发到边界。

  4. 跨运营商路由:

    • 数据包到达你所在ISP网络的边界路由器。

    • 边界路由器通过BGP协议,知道去往百度服务器所在的网络,需要依据另一个ISP(比如百度的运营商)的网络。

    • 数据包被“移交”给下一个ISP的网络。

  5. 到达目的地:最终,数据包进入百度服务器所在的网络,该网络内部的路由器再将其最终送达百度服务器。

核心概念作用通俗比喻
路由为数据包选择路径的过程在立交桥上决定往哪个方向开
路由表存储路径信息的数据表导航App里的地图数据库
下一跳路径中的下一个路由器导航指令:“前方路口左转”
静态路由管理员手动配置的固定路径死记硬背的固定路线
动态路由路由器自动学习并更新的路径实时在线的智能导航App
IGP在单个组织内部运用的路由协议国内的交通规划部
EGP在不同组织之间应用的路由协议国际航线协商协议

本章总核心:VLAN、路由与三层交换

  1. VLAN间通信的解除:

    • 传统上,得一台独立的路由器,连接各个VLAN,由它进行三层转发

    • 现代网络中,普遍使用三层交换机。它集成了二层交换三层路由的功能,可以在交换机内部直接建立VLAN之间的高速路由。

  2. 数据包的完整旅程总结:

    1. 源主机判断:目标IP是否在同一网段(同一VLAN)?

      • 是: 直接通过二层交换(查MAC表)发送。

      • 否:将数据包发给默认网关(通常是所在VLAN的三层交换机虚拟接口或路由器)。

    2. 网关路由查询:网关设备(三层交换机或路由器)查询路由表

    3. 局域网内/VLAN间路由:若目的地在另一个VLAN,三层交换机直接进行路由转发。

    4. 跨网络路由:若目的地在互联网,数据包被逐级转发给运营商的路由器,经过BGP/OSPF等协议穿越互联网。

    5. 到达目标网络:最终进入目标网络,通过二层交换或VLAN内路由送达目标服务器。

终极总结表

技术领域核心组件寻址依据工作层次核心功能
局域网交换交换机、VLANMAC地址VLAN ID数据链路层逻辑隔离、本地高效转发
网络间路由路由器、路由表IP地址网络层路径选择、跨网络通信

一句话记住第六章:
TCP/IP网络通信是分层负责的:在本地,由VLAN和中继技术负责逻辑组织和隔离;跨网络时,由IP路由技能基于路由表负责寻路和接力。两者协同工作,共同构成了从桌面到全球互联网的完整数据通路。

posted @ 2025-11-27 09:16  gccbuaa  阅读(10)  评论(0)    收藏  举报