📡 第七章 网络硬件设备的选购要点
📄 一句话概括

标准写的是「必须怎么发」,没写「必须怎么收」,所以两台都合规的设备仍然可能不通。 互操作性要分协议层、功能层、管理层三层验,而管理层最隐蔽——因为业务是通的。

📝 本节和前面几节的关系

07.05 三节选完了设备,这一节讲「混着用会不会出问题」。 这是多厂商组网里最花钱的一课:它不在任何规格书上,只能自己搭环境验。

一、三种「合规但不通」

标准是「最小共识」,不是「完整规范」,所以留了三处缝:

一、保留字段:一家填 0、一家忽略,另一家却校验它必须为 0。 二、可选特性:两边都实现了,但实现方式不同(比如 LACP 的哈希算法)。 三、私有扩展:标准没写的部分各做各的,扩展之间互相打架。

第三种最常见,也最难查:因为抓包看到的是「合法报文」,只是里面的私有字段对方不认。 而这类问题往往在「跑了半年之后加了一台新设备」时才暴露。

二、分三层验

层次 验什么 怎么验


协议层 报文格式与状态机 抓包对照标准 功能层 特性组合起来是否正常 搭最小拓扑跑通 管理层 MIB 能否被网管读到 逐个 OID 走一遍

三层里管理层最容易被跳过,也最容易在半年后反咬: 链路起来了、业务跑了,网管却读不到端口流量。

原因往往是:标准 MIB 只覆盖基础项,厂商的私有 MIB 才有详细计数。 换一家设备,网管模板就得重做一遍——而这件事不在任何验收清单上。

三、五项必须现场验

认证标志代替不了现场验证,因为这五项都不在规格书里:

一、链路聚合:两端都配 LACP,拔一根看会不会瞬断。 二、生成树:混跑不同厂商,看根桥选举是否收敛到预期。 三、路由协议:邻居能否建立、路由能否互相注入、撤销是否及时。 四、认证:802.1X 与 RADIUS 三方混搭,看属性是否被正确解析。 五、网管:SNMP 走一遍,看关键 OID 是否齐全。

这五项里有任何一项不过,就不能算「可以混用」。 而它们每一项的验证成本都不高——一台设备、两根网线、半天时间就够,问题是要想到去验。

四、动手 Demo:互操作性,「都符合标准」不等于「能一起工作」

这段先列三种「合规但不通」的成因,再把三层验证与五项现场清单摊开,作为采购前的检查表。

rows = [
    (u"协议层", u"报文格式与状态机", u"抓包对照标准"),
    (u"功能层", u"特性组合起来是否正常", u"搭最小拓扑跑通"),
    (u"管理层", u"MIB 能否被网管读到", u"逐个 OID 走一遍"),
]
for a, b, c in rows:
    T([a, b, c], [0, 0, 0])

实跑输出:

--------------------------------------------------------------------
互操作性,「都符合标准」不等于「能一起工作」
--------------------------------------------------------------------
**标准写的是「必须怎么发」,没写「必须怎么收」。**
**所以两台都合规的设备,仍然可能不通。**

**三种常见的「合规但不通」**:
  标准里写「保留字段」,一家填 0、一家忽略,另一家却校验它必须为 0。
  标准里写「可选特性」,两边都实现了,但实现方式不同(比如 LACP 的哈希)。
  标准里没写的部分靠私有扩展,扩展之间互相打架。

**所以互操作性要分三层验**:

  层次       验什么                   怎么验
  -------------------------------------------------------
  协议层     报文格式与状态机         抓包对照标准
  功能层     特性组合起来是否正常     搭最小拓扑跑通
  管理层     MIB 能否被网管读到       逐个 OID 走一遍

**管理层的坑最隐蔽,因为业务是通的。**
  链路起来了、业务跑了,网管却读不到端口流量。
  原因往往是:标准 MIB 只覆盖基础项,厂商的私有 MIB 才有详细计数。
  换一家设备,网管模板就得重做一遍。

**一份「必须现场验」的清单,比任何认证标志都可靠**:
  链路聚合:两端都配 LACP,拔一根看会不会瞬断。
  生成树:混跑不同厂商,看根桥选举是否收敛到预期。
  路由协议:邻居能否建立、路由能否互相注入、撤销是否及时。
  认证:802.1X 与 RADIUS 三方混搭,看属性是否被正确解析。
  网管:SNMP 走一遍,看关键 OID 是否齐全。

**这五项里有任何一项不过,就不能算「可以混用」。**
**而它们都不在规格书里,只能自己搭环境试。**

这张表的作用是「让验收有话说」:它把「互操作性」这个虚词,拆成三个可以逐条打勾的动作。

管理层那一行值得多说一句:它验证的是「以后能不能管」,而不是「现在能不能通」。 而「以后」的成本要半年后才显现,所以最容易被砍掉。

最后一条经验:多厂商组网的钱,一大半不是花在设备上,是花在「第一次混跑时的排查」上。 而这笔钱可以通过「提前半天验五项」省掉。

30 秒实验

  1. 查一下你所在网络里有几个品牌的设备。
  2. 问一下网管系统能不能读到所有品牌的端口流量。
  3. 想一想:拔掉一条聚合链路,业务会不会瞬断?

常见误区

  1. 以为「都符合标准」就能互通。标准是最小共识,留了三处缝。
  2. 只验协议层。功能层与管理层的坑更隐蔽,也更贵。
  3. 以为认证标志可以代替现场验证。五项互操作都不在任何认证里。
自测三问(点开对答案) 1. 为什么两台都合规的设备仍可能不通? —— 标准是最小共识:保留字段的用法、可选特性的实现、私有扩展都可能不同。 2. 互操作性要分哪三层验? —— 协议层(抓包)、功能层(最小拓扑)、管理层(逐个 OID)。 3. 五项必须现场验的是什么? —— 链路聚合、生成树、路由协议、认证、网管。

下一节:设备要能不间断地跑——高可用性怎么算。

相关笔记