简介《华为H3C交换机路由器命名规则详解》面向网络工程师、运维人员及备考华为、H3C认证的读者帮助解决设备型号含义难记、选型配置时难以判断接口类型、软件版本与供电能力的问题。文档分接口命名与性能命名两条主线LI、SI、EI、HI 对应不同软件特性等级G、P、T、V、W、C、M、S 等字母标出上行接口形式F 代表可插光/电接口板的模板板性能部分逐位拆解 Quidway 型号中的产品系列、二三层能力、端口数量、用户口种类、电源与 RPS 冗余、版本特性并补充 PWR 供电标识及 H3C 交换机、MSR 路由器的官方命名说明。资源包仅含 1 个 docx 文件约 36KB便于随查随用已有 425 人学习下载适合希望快速对照型号、理清命名逻辑的初、中级网络从业者。1. 机房里那串型号到底怎么读新一批设备到货纸箱侧面印着一串字符S5720-28X-SI-AC、S5130S-28S-EI、AR6120、MSR3610、S7506E。盘点表上同样写着“28 口”有的能跑万兆上行、有的只给千兆光同样标着 SI 后缀华为和 H3C 的功能分级根本不是一回事。命名规则就是厂商把产品定位、端口形态、端口数量、上行速率、软件特性、供电方式压缩进十几个字符的结果。看懂它选型时不用翻数据手册就能筛掉一半候选到货验收能一眼看出发错没发错写自动化脚本时还能拿型号当索引键去匹配配置模板。这篇从华为交换机一路讲到 H3C 路由器最后落到一段能把型号拆成结构化字段的解析代码。2. 华为交换机 S 系列命名规则的字段拆解华为园区交换机的型号可读性在所有厂商里算高的因为它的字段顺序几乎固定从左往右读下来就是一份缩略规格书。真正容易踩坑的是端口描述段和特性后缀段这两段字母多、写法有历史包袱同一个字母在不同代次里含义还会漂。2.1 S5720-28X-SI-AC 从左到右分成七段拿一个最典型的型号开刀S5720-28X-SI-AC。位置片段含义1S产品大类Switch交换机25产品定位档5 代表千兆接入/汇聚3720子系列代号决定硬件平台与转发能力428端口总数描述这里是 24 电 4 光5X上行端口类型X 表示万兆 SFP6SI软件特性级别Standard Image7AC供电方式交流供电第一段和第二段是绑在一起的S后面的第一位数字直接决定这台设备能不能进核心层。第三段子系列代号是厂商内部平台编号同一档位下 720、730、735 的转发能力和表项规格都不一样但光看名字区分不出来需要查手册。第四段最容易被误解。写28不代表“28 个业务口全都能插网线”常见组合是 24 个千兆电口加 4 个光口前面那个数字按端口总数写具体拆分要看第五段的字母。2.2 定位数字与子系列S 后面第一位数字的档位表一位数字直接暴露产品层级这是华为命名里最值钱的部分。首位数字定位典型系列常见部署位置2百兆接入S2700桌面、信息点3千兆接入低端S3700楼层接入5千兆接入/汇聚S5700、S5735楼层接入、小型汇聚6万兆汇聚S6700楼宇汇聚7框式园区核心S7700园区核心、汇聚9框式高端S9700大型园区核心12敏捷核心/数据中心S12700核心、数据中心注意首位数字只看第一位S12700是 12 而不是 1判断时先把12整体切出来再匹配写解析代码时这一点最容易出 bug。另外S5735-L24T4X-A1这类新写法把端口段拆成了L24T4X是老命名规则的变体后文会给兜底方案。2.3 端口描述段字母表T/P/X/C/F 与端口数量端口描述段的字母是纯查表逻辑但必须区分“电口”“光口”“复用口”。字母含义备注T10/100/1000BASE-T 电口最常见网线直插P千兆 SFP 光口需要光模块X万兆 SFP 光口上行主力注意模块速率C100GE/40GE 高速口数据中心机型常见F百兆光口老设备多新项目基本淘汰TP电口明确写法与 T 等价S5720-28X-SI-AC里的X只描述上行口类型不代表下行口也是万兆。要判断整机是否万兆接入得看子系列代号比如S5720-28X和S6720-30C的区别就在下行速率上光看端口字母是看不出来的。2.4 软件特性 SI/EI/HI 与供电后缀 AC/DC/PWR特性后缀决定这台设备能跑什么协议。后缀全称能力范围LILite Image基础二层功能裁剪严重SIStandard Image完整二层 基础三层EIEnhanced Image完整三层、堆叠、部分特性HIHyper Image全特性含高级路由与安全供电后缀有AC交流、DC直流、PWR支持 PoE 供电。选型时最容易出错的地方是以为SI和EI只是 License 差异买回SI后刷个授权就能升级。实际上两者的硬件表项、缓存规格可能不同尤其是老平台SI机型不支持堆叠的情况很常见。采购前必须确认堆叠、三层路由、PoE 预算这三项不要只看价格差。PWR后缀还分带不带外置电源同一型号有-PWR-AC和-PWR-DC两种写法机房用直流屏供电时选错就得换货。2.5 一行正则把 S5720-28X-SI-AC 拆开先写一个单型号解析函数验证思路批量版本放在第 4 章。import re # 命名组逐段对应第 2.1 节的七段结构 HW_SWITCH re.compile( r ^S (?Pposition\d{1,2}) # 定位档2/3/5/6/7/9/12 (?Pfamily\d{2,3}) # 子系列平台代号 - (?Pports\d{1,3}) # 端口数量描述 (?Pport_type[A-Z]{1,3})? # 端口类型字母可能缺省 - (?PfeatureLI|SI|EI|HI) # 软件特性级别 - (?PpowerAC|DC|PWR) # 供电方式 $ , re.VERBOSE, ) def parse_hw_switch(model: str) - dict: 把华为 S 系列盒式交换机型号拆成字段失败返回空字典 m HW_SWITCH.match(model.strip().upper()) if not m: return {} d m.groupdict() d[ports] int(d[ports]) d[port_type] d[port_type] or T # 缺省按电口处理 return d if __name__ __main__: print(parse_hw_switch(S5720-28X-SI-AC)) # {position: 5, family: 720, ports: 28, # port_type: X, feature: SI, power: AC}几个关键点re.VERBOSE允许在正则里写注释和换行长正则不写注释三个月后自己都看不懂port_type用?允许缺省因为存在S5700-28-SI-AC这种不写端口字母的老写法position用\d{1,2}是为了兼容S12700的两位定位码但要注意它会贪婪匹配S12700有可能会被切成position12, family700这正好是我们要的结果S5720则切成position5, family720。供电后缀如果有-PWR-AC这种双段写法正则要额外加分支实际资产表里遇到的概率不低建议先跑一遍全量数据看未匹配的有多少再决定要不要放宽。3. 华为 AR/NE/CE 与 H3C 命名体系的对照读法路由器和交换机的命名逻辑差异很大。交换机名字里的数字大多描述端口路由器名字里的数字大多描述性能档位混着理解一定会读错。H3C 又在此基础上换了一套字母偏好尤其是框式设备同一串数字表达的是槽位而不是端口。3.1 华为 AR 路由器数字段表示档位而不是端口数AR6120、AR2220、AR3260里的数字不是端口数而是产品档次加子系列。前缀数字定位典型型号典型场景AR1xx入门AR111、AR161小微分支、桌面AR2xx中低端盒式AR2220、AR2240中型分支AR3xx中高端AR3260、AR3270分支汇聚、框式AR6xx新一代企业网关AR6120、AR6280园区出口、SD-WAN判断时记住AR后面的第一位数字是档位后几位是子系列代号。AR3260与AR2220的差别不在端口数量而在转发性能、支持的板卡类型和可用接口模块数量。出口带宽需求超过几百兆时只看端口数选 AR2220 是常见误判。3.2 NE、CE、USG、ME 前缀各自面向什么场景华为路由与网关产品线用字母前缀区分场景靠前缀就能筛掉不合适的型号。前缀全称含义面向场景ARAccess Router企业分支、园区出口NE高端路由器系列运营商、大型骨干CECloudEngine数据中心交换机USG统一安全网关防火墙、安全出口ME多业务边缘业务控制、运营商边缘CE虽然是数据中心交换机但命名沿用CE加四位数字CE6850、CE12800分别对应不同交换容量档位前缀一样、后缀数量级不同直接把CE当交换机的通用前缀用没问题但别把CE当成S系列同款产品去比价。3.3 H3C S 系列交换机槽位数与端口描述是两套写法H3C 的园区交换机主要分盒式和框式两类命名规则完全不同先分类再解析。框式型号的结构是S 定位数字 槽位数 后缀。S7506E里的06表示 6 个业务槽位同系列还有S7503E3 槽和S7510E10 槽。把06误解成 6 个端口是最常见的读错方式。盒式型号的结构是S 定位数字 子系列 端口数 端口字母 特性后缀。S5130S-28S-EI可以这样拆# H3C 盒式交换机S5130S-28S-EI h3c { prefix: S, # 交换机 position: 5, # 5 系列园区接入/汇聚 family: 130, # 子系列平台 gen: S, # 代次后缀增强/新一代 ports: 28, # 端口总数 port_type: S, # S SFP 光口T 电口C Combo feature: EI, # SI 标准 / EI 增强 / HI 高级 } # S5560X-54C-PWR-EI 会多出一个 PWR 段解析时按 - 切分后逐段匹配更稳H3C 端口字母里C表示 Combo 光电复用口S表示光口T表示电口和华为的字母表有交集但含义不完全一致。写跨厂商脚本时必须分厂商维护两套字母表否则X在华为是万兆、在 H3C 型号里出现的场景要单独确认。3.4 H3C MSR、ER、CR 路由器命名与华为 AR 的对照H3C 路由器前缀对应关系可以直接做映射表做资产统计时按这张表归一化。H3C 前缀定位典型型号对位的华为前缀MSR多业务路由器MSR810、MSR3610、MSR5660ARER企业/商用路由器ER3260、ER5200、ER8300AR入门段SR服务路由器SR6600NE中段CR核心路由器CR16000、CR19000NE高端MSR后面的第一位数字同样是档位8xx、9xx偏入门和分支2xxx中低端3xxx中端5xxx高端。ER系列则按3xxx、5xxx、8xxx分档定位偏商用功能密度和 MSR 不在同一层选型时不要因为数字大就认为ER8300强于MSR3610两者的软件特性集不一样。做归一化映射时官方命名之外还有运营商定制型号前缀可能多一个字母脚本里必须留一条兜底分支把无法识别的型号原样输出并打标而不是硬塞进某个类别。4. 批量解析型号并生成资产表的实战做法手里有几百台设备时人工读型号不现实。真正的做法是把字段字典化让脚本替你做规格判断输出一张能直接用于选型比对和到货核对的表。4.1 先建字段字典把字母映射成可编程的规格字典要覆盖两件事字母到含义的映射以及含义到能力的映射。前者用于展示后者用于判断能不能满足需求。字段取值示例能力含义vendorhuawei / h3c厂商标识formbox / chassis盒式或框式position3 / 5 / 7产品定位档ports28端口总数port_typeT / P / X / S / C端口介质featureSI / EI / HI软件特性级别powerAC / DC / PWR供电与 PoE框式设备的ports字段语义要换成slots否则S7506E会被解析成 6 个端口。这一点必须在字段设计阶段就分开不要后期打补丁。4.2 批量解析脚本从 CSV 到结构化资产表输入是一份从盘点表导出的 CSV只有一列型号输出是带字段的资产表。import csv import re HW_SWITCH re.compile( r^S(?Pposition\d{1,2})(?Pfamily\d{2,3})-(?Pports\d{1,3}) r(?Pport_type[A-Z]{1,3})?-(?PfeatureLI|SI|EI|HI)-(?PpowerAC|DC|PWR)$ ) H3C_BOX re.compile( r^S(?Pposition\d)(?Pfamily\d{2,3})(?Pgen[A-Z]?)- r(?Pports\d{1,3})(?Pport_type[A-Z]{1,2}) r(?:-(?Pextra[A-Z-]))?$ ) H3C_CHASSIS re.compile(r^S(?Pposition\d)(?Pslots\d{2})(?Pgen[A-Z]?)$) def classify(model: str, vendor: str) - dict: 按厂商和形态分类解析未命中时打标而不是丢弃 m model.strip().upper() if vendor huawei: g HW_SWITCH.match(m) return {form: box, **g.groupdict()} if g else {raw: m, error: unmatched} # H3C 需要先判断框式还是盒式 if g : H3C_CHASSIS.match(m): d g.groupdict() return {form: chassis, slots: int(d[slots]), position: d[position], gen: d[gen]} if g : H3C_BOX.match(m): d g.groupdict() d[form] box d[ports] int(d[ports]) return d return {raw: m, error: unmatched} rows [] with open(inventory.csv, newline, encodingutf-8) as f: for r in csv.DictReader(f): parsed classify(r[model], r[vendor]) rows.append({model: r[model], vendor: r[vendor], **parsed}) with open(parsed.csv, w, newline, encodingutf-8) as f: w csv.DictWriter(f, fieldnamessorted({k for row in rows for k in row})) w.writeheader() w.writerows(rows) # 单独统计解析失败的数量这一步决定字段字典要不要继续补 bad [r for r in rows if r.get(error)] print(ftotal{len(rows)} unmatched{len(bad)})逻辑上有三处值得说明。第一一定要先做形态判断再做字段解析H3C 的框式和盒式共用S前缀顺序反了会把S7506E当成盒式型号强行匹配端口段。第二walrus运算符在 Python 3.8 以后可用if g : ...的写法能让分支判断和赋值合并读起来更短但如果团队还在 3.7 环境就得换成显式赋值。第三输出阶段用sorted({k for row in rows for k in row})动态收集所有字段名避免不同型号字段缺省导致DictWriter报错。4.3 解析结果与真实能力核对别只信名字脚本只能读名字里的字面信息型号名不写的规格必须靠设备自身反查。核对项华为命令H3C 命令软件版本display versiondisplay version硬件信息display device manuinfodisplay device manuinfo接口与速率display interface briefdisplay interface brief单板清单框式display devicedisplay device批量核对可以先用 SSH 库收集display version的输出把型号字符串和软件版本拼在一起再和解析表做一次比对。常见差异有两类一是型号名里的特性后缀和实际加载的软件版本不一致说明有人刷过系统或者买了不同 Image 的机器二是框式的槽位数量在单板清单里能直接数出来和型号里的数字对不上就说明有空槽没插满采购验收时这一条很实用。5. 现场快速判断与命令反查的进阶技巧5.1 三个最容易读错的写法S7506E的06是业务槽位数不是端口数这是 H3C 框式设备最高频的误读。判断技巧是看型号里有没有-分隔的端口段框式型号通常只有一段数字加后缀。S5735-L24T4X-A1这类新写法把端口描述压缩成了L24T4X表示 24 电口加 4 万兆口L是平台前后缀标记而不是端口类型。用第 4 章的正则直接匹配会失败需要在规则里额外加一条针对压缩写法的分支。AR和MSR后面的数字从来不代表端口数。看到AR6120先按档位读再查接口卡槽数量才能判断能不能接够业务口。5.2 用 display 命令反查型号名没写的信息型号名里不会写 BOM 编码、生产批次和实际硬件版本这些要到设备上取。# 华为查制造信息能看到 BOM 编码和序列号 display device manuinfo # H3C同样命令字段略有差别 display device manuinfo # 查单板清单框式设备直接数槽位 display device # 查接口实际速率确认端口字母没骗人 display interface briefdisplay device manuinfo的输出里有一行 BOM 编码这串编码才是采购系统里对得上的唯一标识。型号字符串在不同批次里可能有细微差别BOM 编码不会。把解析出来的型号字段和 BOM 编码一起写进资产库下次同型号设备上架时直接按 BOM 编码匹配配置模板不用再人工判断特性后缀够不够用。5.3 判断顺序先定形态再定档位最后看端口现场拿不准型号时按这个顺序走。第一步看有没有-分隔的多段结构判断是盒式还是框式第二步取首位或前两位数字定档位判断能不能放到核心层第三步看端口段的字母和数量判断下行和上行带宽是否满足。三步都过不了的型号直接排除不用查手册。这三步走完再去看 SI/EI/HI因为特性后缀只影响功能授权不影响能不能放对位置。顺序错了会先纠结要不要 EI再发现设备本身根本不能进汇聚层白白浪费时间。本文还有配套的精品资源点击获取