L3 交换机的功能按「在哪一层」分三组:二层、三层、高级。 三组的性能代价完全不同——前两组由芯片做基本不掉速,第三组要吃 TCAM。
上一节讲性能,这一节讲功能。 这一节是一个「地图」,后面三节都在填这张图。
一、三组功能
组 包含什么 缺了会怎样
二层功能 VLAN、生成树、链路聚合 连基本组网都做不了 三层功能 SVI、静态路由、OSPF 跨网段要靠外挂设备 高级功能 ACL、QoS、组播、VRRP 策略与冗余做不了
三组的性能代价差别很大:二层与三层的基本查表由芯片做,接近线速; 而 ACL 与 QoS 要查 TCAM——TCAM 面积是有限的,所以「能配多少条 ACL」是硬上限,不是软件限制。
二、TCAM 这一条要单独说
TCAM 是一种「一次比较全部表项」的存储器, 所以它能在常量时间内给出最长匹配——这就是「线速转发」的硬件基础。
但它的面积很贵:一条 ACL 表项要占多少位是固定的, 所以「支持 4000 条 ACL」与「支持 8000 条」是两个不同的芯片。 而且 ACL 与路由表共用同一块 TCAM——ACL 配多了,能装的路由就少了。
这就是 01.04.07 那句话的完整含义:「ACL 条数上限是 TCAM 面积决定的」, 而且它和路由表容量是「抢同一块地方」的关系。
三、VLAN 够不够用
802.1Q 的 VID 是 12 位,理论 4096 个,去掉 0 与 4095 两个保留值,可用 4094 个。
哪怕划 1000 个 VLAN,也只用了四分之一。 所以「VLAN 不够用」这种说法基本不成立——真正不够的是「生成树实例数」与「MAC 表容量」。
MAC 表容量这一条最容易被忽略:一台接入交换机的 MAC 表可能只有 8K 条, 而一个大型园区网的总 MAC 数是几万——不过每台交换机只需要记「直连与下游」的,所以够用。 但如果发生 MAC 泛洪攻击,表被填满就会退化成广播。
四、功能越多越慢的老规律
03.08.03 讲过路由器「开功能掉 18 倍」, 在 L3 交换机上这个规律同样成立,只是落差小一些——因为它的服务面能力本来就比路由器弱。
实际的落差大致是:纯二层三层转发接近线速;开 ACL 后降到七成左右; 开大规格 NAT 或加密后可能掉到一成。 所以「L3 交换机能不能当出口设备」这个问题的答案是: 能,但只能做轻量的 NAT,且要看规格书给的「开功能后吞吐」。
五、动手 Demo:L3 交换机的功能,分三层看
这段列出三组功能与缺失后果,再算 VLAN 数量上限(4094 个)与「划 10、100、1000 个」各占多少比例。
for n in (10, 100, 1000):
P(u" 划 %s 个 VLAN:占 %.1f%%。" % (format(n, u","), n * 100.0 / 4094))
实跑输出:
--------------------------------------------------------------------
L3 交换机的功能,分三层看
--------------------------------------------------------------------
**L3 交换机的功能可以按「在哪一层」分三组**,**这样看规格书就不会乱。**
组 包含什么 缺了会怎样
----------------------------------------------------------------
二层功能 VLAN、生成树、链路聚合 连基本组网都做不了
三层功能 SVI、静态路由、OSPF 跨网段要靠外挂路由器
高级功能 ACL、QoS、组播、VRRP 策略与冗余做不了
**这三组的「性能代价」完全不同**:**二层与三层由芯片做,基本不掉速**;
**而 ACL 与 QoS 要查 TCAM、组播要维护转发表,都会吃掉一部分能力。**
**算一下 VLAN 的数量上限与实际需要**:
802.1Q 的 VID 是 12 位,理论 4096 个。
去掉 0 与 4095 两个保留值,可用 4094 个。
若划 10 个 VLAN:占可用总数的 0.2%。
若划 100 个 VLAN:占可用总数的 2.4%。
若划 1,000 个 VLAN:占可用总数的 24.4%。
**哪怕划 1000 个 VLAN,也只用了四分之一。**
**所以「VLAN 不够用」这种说法基本不成立**——**真正不够的往往是「生成树实例数」与「MAC 表容量」。**
「1000 个 VLAN 只占 24.4%」这个数字说明 VLAN 不是瓶颈,但它背后的限制还在: 每个 VLAN 要一个生成树实例、一个 SVI、一段地址,这些都要吃资源。 所以「能划 4094 个」不等于「该划 4094 个」。
「ACL 与路由表抢同一块 TCAM」这一条是硬件层的事实,它解释了一个常见现象: 「路由表明明没满,但加一条路由报错说资源不足」——因为 ACL 把地方占了。
最后「开功能后的吞吐」这句要反复强调: 交换机厂商的规格书最爱标「线速」,而那个「线速」往往指「纯二层转发」。 所以买之前要看「开 ACL 后」「开 NAT 后」这两行。
30 秒实验
- 数一下你的网络里划了多少个 VLAN。
- 查一下核心交换机的 MAC 表容量与 ACL 条数上限。
- 看规格书有没有给「开 ACL 后的吞吐」。
常见误区
- 以为 VLAN 越多越好。每个 VLAN 都吃实例与地址。
- 以为 ACL 条数只受软件限制。受 TCAM 面积限制。
- 以为 ACL 与路由表互不影响。它们抢同一块 TCAM。
自测三问(点开对答案)
1. L3 交换机的功能按什么分成三组? —— 按在哪一层:二层、三层、以及高级(ACL、QoS、组播、VRRP)。 2. 为什么 ACL 条数有硬上限? —— 它要用 TCAM 存储,TCAM 面积固定,且与路由表共用。 3. 802.1Q 实际可用多少个 VLAN? —— 4094 个,12 位共 4096 个减去两个保留值。下一节:从 VLAN 开始,把三层功能一个个拆开。
- ☐ (本节完,下一节 04.04.02 VLAN)