金融行业
某股份制银行:核心交换机升级前的全量验证实践
通过在测试网络中完整复现生产拓扑,提前发现了新版固件与现有OSPF配置的兼容性问题,避免了一次可能影响全行业务的重大故障。
以下数值来自工程实测经验与行业通行标准,以区间/典型值方式呈现,具体数字因拓扑规模与工具选型不同而有差异。
| 参数项 | 典型值 / 区间 |
|---|---|
| 推荐服务器内存(中等规模拓扑) | 32–64 GB |
| 推荐CPU核心数(虚拟化方案) | 8–16 核 |
| 存储空间(镜像+快照) | 500 GB – 2 TB SSD |
| VLAN隔离数量上限(802.1Q) | 最多 4094 个 |
| 压测工具典型帧速率(Iperf3) | 1 Gbps 链路约 1.4 Mpps |
| 安全漏洞扫描周期建议 | 每季度至少 1 次 |
| 自动化配置收敛时间(Ansible) | 20节点拓扑约 3–8 分钟 |
测试网络,是指在独立的物理设备或虚拟化环境中构建的、专门用于网络功能验证、性能评估和故障复现的隔离网络体系。与生产网络不同,测试网络承载的是实验性流量,而非真实用户数据,这意味着你可以在里面放心地做各种"破坏性"操作——手动触发链路故障、注入异常路由条目、模拟DDoS流量——而不用担心把线上服务搞崩。测试网络的核心价值在于"隔离+可重复":任何一个场景都可以快照保存、随时回滚,让工程师得以在受控条件下反复验证假设。从这个角度看,它更像是一个精密的实验室,而不仅仅是"多搭的一套网"。
测试网络的范畴比很多人想象的要宽。它不仅覆盖网络设备(交换机、路由器、防火墙)的配置验证,还包括应用层协议的行为测试、跨网段安全策略的验证、新版本操作系统或固件的兼容性测试,以及灾备切换流程的演练。很多团队的测试网络还承担着CI/CD流水线中的自动化验收角色——每次代码合并后自动触发网络拓扑的配置推送,再由测试框架验证连通性和性能基线,全程无需人工介入。
省掉测试网络直接在生产环境做变更,看起来节省了时间,实际上是把风险放大了数倍。行业经验表明,网络变更引发的生产故障中,超过60%可以追溯到"未经验证的配置被直接推上线"这一根本原因。一次核心路由器配置失误可能导致整个数据中心的流量中断,业务损失远超搭建测试网络的成本。更何况,测试网络带来的价值不只是"防止出错",它还是新技术预研的重要平台:你可以在里面率先部署SD-WAN、BGP EVPN等新架构,验证成熟后再推到生产,把技术风险控制在实验室阶段。
对于安全团队而言,测试网络还有另一层价值:漏洞复现与渗透测试的沙箱。很多CVE漏洞需要特定的网络拓扑才能复现,而在生产环境里搭这样的条件既危险又几乎不可能。测试网络提供了一个"高度还原生产"的安全平台,让安全工程师可以放心验证漏洞影响范围、测试补丁效果、评估攻击路径,然后再制定针对性的防御方案。这一点在金融、电力等对安全合规要求极高的行业里尤为重要。
最常见的场景包括:新网络设备上架前的预验证(俗称"烤机"),确认硬件正常且固件版本符合预期;大版本升级前的兼容性测试,比如将OSPF路由协议升级为IS-IS之前,先在测试网络里跑通所有邻居关系和路由条目;以及网络分段策略的验证,即将新的微隔离策略部署到测试网络,确认East-West流量的允许/拒绝行为符合安全设计图纸,再推到生产。还有一类使用频率越来越高的场景是"混沌工程",也就是主动向测试网络注入故障——断开特定链路、模拟BGP邻居抖动、让某台核心交换机CPU达到95%——来验证上层应用或监控系统的恢复能力。
隔离性是测试网络与生产网络最根本的区别。生产网络承载真实用户流量,任何不可预期的行为都会直接影响业务SLA;而测试网络的设计前提就是"可以出错、可以破坏、可以回滚"。这种隔离不仅体现在网络层面(独立IP段、独立VLAN、独立物理链路),还体现在管理层面——测试网络的账号体系、日志系统、监控告警通常也是独立的,防止测试环境的噪音干扰生产监控,也防止测试账号的超级权限被借道攻击生产。
很多团队在早期会犯一个错误:用生产路由器上的一个子接口来"模拟"测试网络,觉得用VLAN隔开就够了。实际上这是非常危险的做法。一旦测试配置下错命令(比如误删了一条重要的路由条目),影响会直接渗透到生产VLAN。真正合规的隔离应该做到:测试流量无论如何都不能到达生产网段,防火墙层面有明确的deny规则,且该规则的优先级高于所有测试配置可能产生的路由。
生产网络追求的是"永远稳定",通常有严格的变更窗口(很多企业要求核心网络的变更必须在凌晨2–5点进行,且需要提前48小时申请);而测试网络的设计目标恰恰相反——它需要能够快速变更、频繁重建、随意破坏。测试网络里不需要冗余路径(有时候还需要主动关掉冗余来测试单链路故障场景),不需要高可用的控制面,不需要24小时监控告警。这种"刻意的不稳定"是测试网络的特性,而非缺陷。
生产网络的权限遵循最小特权原则,绝大多数工程师只有只读权限,变更需要多层审批;测试网络则通常给工程师较大的操作自由度,因为"试错"本身就是目的。但这并不意味着测试网络可以不做权限管控——测试网络同样需要操作审计(知道谁在什么时间做了什么变更),只是审批流程更轻量。数据方面的差异同样关键:生产网络流经真实用户数据,受到各类隐私法规约束;测试网络中必须使用脱敏数据或随机生成数据,绝不允许将生产数据库的真实记录直接导入测试环境进行流量回放。
| 维度 | 测试网络 | 生产网络 |
|---|---|---|
| 隔离要求 | 强制物理或逻辑完全隔离 | 内部分区,允许东西向流量 |
| 稳定性目标 | 允许中断,快速恢复即可 | SLA 99.9%+ 不可中断 |
| 变更频率 | 随时可变,分钟级 | 严格变更窗口,小时–天级审批 |
| 权限粒度 | 工程师可读写,轻量审批 | 最小特权,多层审批 |
| 数据类型 | 脱敏数据 / 生成数据 | 真实用户数据,受隐私法规约束 |
| 故障处理 | 主动注入故障,用于验证 | 告警、快速恢复,避免主动故障 |
物理隔离型测试网络是最传统也是隔离性最彻底的形态:独立的物理交换机、路由器、服务器,与生产网络没有任何物理链路相连。这种方案的优点是行为100%真实——你验证的是真实硬件的实际表现,不存在虚拟化带来的性能损耗或行为偏差。缺点是成本高、灵活性差,拓扑一旦搭好不易修改,添加新节点需要物理布线。适用于对验证结果真实性要求极高的场景,比如电信运营商的设备入网测试、金融机构的核心交换机升级前验证,以及需要测试40G/100G高速链路性能的场景——这些场景里虚拟化方案无法提供等效的线速验证。
以GNS3、EVE-NG为代表的虚拟化测试网络,是目前覆盖面最广的方案。它将路由器OS、防火墙固件等以虚拟机镜像的形式运行在普通x86服务器上,通过虚拟交换机(如OVS)连接各个虚拟节点,构成完整的网络拓扑。这种方案的优势是成本极低(一台配置中等的服务器即可运行十几个虚拟节点)、拓扑修改灵活(拖拽即改)、支持快照与回滚。主要局限是无法完全模拟真实硬件的ASIC转发行为,因此不适用于需要精确验证线速转发性能的场景。对于大多数企业级用户来说,虚拟化方案覆盖了80%以上的测试需求。
在AWS、阿里云、腾讯云等公有云上构建的测试网络,利用VPC、安全组、Transit Gateway等云原生网络服务来模拟复杂的网络拓扑。云端方案的最大优势是弹性——可以在几分钟内将测试环境从5个节点扩展到500个节点,测试完成后销毁释放,按实际使用时间计费,避免物理设备的固定资产投入。这种方案特别适合需要验证多区域、多VPC互联场景的团队,或者需要临时搭建大规模拓扑做压测的场景。缺点是持续运行成本不低(长期运行的云端测试环境,每月费用可能在500–5000元之间,视规模而定),且某些底层网络行为(如组播路由、MPLS标签)在云端的支持有限。
以Containerlab为代表的容器化测试网络,利用Linux的network namespace和veth pair构建虚拟网络拓扑,将网络设备OS运行在容器中(如Nokia SR Linux、FRRouting、Juniper cRPD)。容器化方案的启动速度是所有方案中最快的——一个20节点的拓扑通常可以在30–90秒内完成初始化。它与Git、CI/CD工具链的集成也最自然:拓扑定义文件(YAML格式)可以纳入版本控制,每次提交自动触发测试网络的部署与验证。这种方案在云原生和DevOps团队中越来越受欢迎,但对网络设备OS的支持范围相对于GNS3/EVE-NG仍然较窄,且某些商业路由器OS不提供容器版本。
很多团队搭测试网络的第一步就是直接找台服务器装GNS3,结果搭到一半发现设计的拓扑无法满足测试场景,只能推倒重来。正确的做法是先用1–2天做需求分析,明确以下几个核心问题:这套测试网络主要用来做什么(协议验证、性能压测、安全测试还是开发调试)?测试场景最多同时需要几个节点在线?需要模拟哪些厂商的设备(Cisco IOS、Juniper JunOS、Huawei VRP还是开源的FRR)?测试结果需要与CI/CD流水线集成吗?这些问题的答案直接决定了工具选型和硬件配置。如果你的测试场景主要是OSPF/BGP协议验证,GNS3社区版足够;如果需要同时跑Cisco、Juniper、Palo Alto三个厂商的混合拓扑,EVE-NG专业版或物理设备方案更合适。
测试网络的拓扑不需要与生产网络完全一致,但必须能够覆盖你需要验证的场景。一个好的测试拓扑设计遵循"最小覆盖原则":用最少的节点和链路,还原出需要验证的关键路径和场景。如果你要测试BGP多路径负载均衡,拓扑里需要至少两条等价路径和一台AS Border路由器;如果要测试防火墙的状态检测行为,需要在防火墙两侧各放一台模拟客户端和服务端的节点。建议使用专业的网络绘图工具(如draw.io的网络图模板)先画出逻辑拓扑,标注清楚每条链路的接口编号和期望的协议配置,再对照拓扑图在测试工具中建立虚拟节点。
IP规划是测试网络搭建中最容易被忽视、出问题后最难排查的环节。核心建议是:测试网络的IP段必须与生产网络完全分开,且在整个组织内统一登记,防止不同团队的测试环境相互冲突。推荐将10.200.0.0/16或172.31.0.0/16专门留给测试环境使用,内部按测试项目或团队再细分子网——例如10.200.1.0/24给安全团队、10.200.2.0/24给网络团队、10.200.3.0/24给开发团队。每个测试拓扑内部使用/30或/31的点对点子网来节省地址,使用/24或/25来划分LAN段。管理网络(用于SSH登录虚拟设备)建议单独使用一个OOB(带外管理)子网,与业务测试流量分开,这样即便测试流量出现问题,管理访问也不会受影响。
虚拟化方案的硬件选型最关键的参数是内存和CPU。Cisco IOS XE的虚拟机版本(CSR1000v)单个实例需要约4GB内存,Juniper vMX单实例约8GB;如果你计划同时运行10–15个这样的节点,服务器至少需要64–96GB内存。CPU方面,虚拟化路由器对时钟频率的要求高于核心数,推荐主频3.5GHz以上的处理器;核心数方面,8–16核足以支撑中等规模拓扑,更多核心对虚拟网络拓扑的性能提升有限。存储方面,建议使用NVMe SSD而非机械硬盘——虚拟机的启动速度和快照创建/恢复速度在SSD上比HDD快3–5倍,能显著提升实验效率。如果预算有限,二手企业级服务器(如Dell R720/R730、HP DL380 Gen9)是性价比很高的选择,通常8核32GB的配置在二手市场价格在3000–5000元之间。
"测试网络的搭建不是一次性工程,而是一个持续演进的基础设施。第一版可以简单,但一定要把快照、文档、访问控制这三件事从第一天就做对。" — 来自编辑部实战经验整理
选工具没有绝对的对错,关键是匹配你的实际场景。如果你是刚入门的网络工程师,从GNS3社区版开始是最低风险的选择,社区资料多、出了问题容易找到答案。如果你的团队需要同时验证多个厂商的设备行为,EVE-NG专业版的镜像支持广度是其他工具难以匹敌的。如果你的测试网络需要嵌入CI/CD流水线,Containerlab是目前与DevOps工具链集成最顺滑的方案。值得一提的是,这几个工具并不互斥——很多成熟的工程团队会同时维护一套GNS3环境(用于日常协议验证)和一套Containerlab环境(用于自动化测试),各司其职。
测试网络的安全配置第一优先级是边界隔离,确保测试流量在任何情况下都无法到达生产网段。最可靠的做法是在测试网络与生产网络之间部署一台专用防火墙,配置默认拒绝策略(default deny),只允许极少数必要的管理流量(如从运维跳板机到测试节点的SSH)通过,且这些允许规则要明确指定源IP、目的IP和端口,不使用any/any这样的宽泛规则。如果测试网络与生产网络共用同一台物理服务器,还需要在宿主机的iptables或nftables层面增加一条规则,阻止虚拟机的流量通过物理网卡转发到生产网络——这是一道额外的保险,即便虚拟化平台的网络配置出现问题,宿主机层面的规则仍然有效。
测试网络的访问权限设计需要在"灵活性"和"可追溯性"之间找到平衡。工程师需要足够的权限来做实验,但所有操作都必须留下审计日志,方便事后回溯"是谁在什么时间做了什么配置导致了这个问题"。推荐的方案是部署一台Jumpserver(开源堡垒机),所有对测试节点的SSH访问必须经过Jumpserver,Jumpserver会记录完整的操作日志(包括命令历史和屏幕录像)。测试网络的账号体系要与生产环境完全分离,不要用同一套LDAP账号,防止测试环境的账号被攻击后横向移动到生产系统。每个工程师使用独立的账号,禁止共用root或admin账号。
很多团队有一个误区:测试网络反正不跑真实业务,安全可以放松。这种想法非常危险。测试网络通常有较宽松的访问权限,且经常运行未打补丁的旧版本OS或固件(因为需要复现特定版本的行为),如果测试网络与生产网络之间的隔离不够彻底,攻击者完全可以把测试网络当作跳板。建议每季度对测试网络做一次漏洞扫描(使用OpenVAS或Nessus),重点关注:测试节点上是否有暴露在外的弱口令服务、测试网络的管理界面(如GNS3 Web UI)是否只绑定在内网IP上、快照文件中是否包含了敏感凭证(如硬编码的密码或API Key)。此外,测试网络的镜像和配置文件如果存放在Git仓库中,要确保仓库是私有的,且配置文件中的密码使用Ansible Vault或类似工具加密存储。
网络性能测试的核心指标体系由四个维度构成。带宽(Throughput)衡量单位时间内能传输的数据量,通常以Mbps或Gbps表示,是最直观的性能指标;时延(Latency)衡量数据包从源到目的地的传输时间,分为单向时延和往返时延(RTT),对实时应用(VoIP、视频会议、金融交易)影响最大;丢包率(Packet Loss)衡量在传输过程中丢失的数据包比例,健康网络的丢包率应低于0.01%,超过0.1%会导致TCP连接性能显著下降;抖动(Jitter)衡量时延的变化幅度,对实时流媒体影响尤为明显,通常要求低于30ms。这四个指标共同构成了测试网络性能评估的基础框架,缺一不可。
Iperf3是测试网络中最常用的带宽测试工具,免费开源,支持TCP和UDP两种模式。TCP模式测试的是实际吞吐量(受拥塞控制算法影响),UDP模式可以指定发送速率,更适合测试丢包率和抖动。典型的测试命令是在服务端运行Iperf3的服务模式,在客户端指定目标IP、测试时长(通常30–60秒)、并发流数量(多流测试更接近真实业务流量模式)。Ping命令虽然简单,但对于时延基准测试仍然有效——连续发送1000个包并统计RTT的平均值、最大值、最小值和标准差,可以快速判断链路质量。对于更精细的时延测量,可以使用hping3或nping,支持自定义包大小和发送间隔。
仅仅验证连通性是不够的。真实的生产流量是混合的、突发的、有特定协议分布的——HTTP/HTTPS流量、数据库查询流量、视频流媒体流量、IoT设备的MQTT消息,这些流量的包大小、发送间隔、并发连接数各不相同,对网络设备的压力模式也截然不同。如果测试网络里只跑ping和简单的Iperf3测试,就无法发现那些只在特定流量模式下才会触发的问题——比如某款防火墙在处理大量短连接时CPU会飙升、某台交换机在混合大小包场景下会出现队列抖动。流量模拟的目的就是在测试网络里尽可能还原生产流量的真实特征,让问题在上线前暴露出来。
Iperf3适合快速验证点对点带宽,是最常用的入门工具,但它只能模拟单一类型的流量(TCP或UDP),无法模拟真实的混合业务流量。TRex是思科开源的高性能流量生成器,基于DPDK,可以在普通x86服务器上生成接近线速的流量(单台服务器可达200Gbps以上),支持有状态和无状态两种模式,能够模拟真实的HTTP/DNS/SIP等应用层协议流量,是目前开源工具中性能最强的选择。Spirent TestCenter和IXIA是商业级的硬件流量测试仪,价格昂贵(设备成本通常在数十万元以上),但测试精度和稳定性是软件工具无法比拟的,主要用于运营商级设备的入网测试。对于大多数企业级测试网络,TRex加上合理的测试脚本已经能够覆盖绝大多数压测需求。
压测不是一上来就把流量拉到最大。正确的做法是从低负载开始,逐步增加流量,同时监控网络设备的CPU、内存、接口队列深度等指标,找到性能开始下降的拐点。通常的测试步骤是:先在10%负载下跑5分钟,记录基线数据;再逐步提升到30%、50%、70%、90%,每个阶段跑5–10分钟并记录性能数据;最后跑一次突发测试,在短时间内(30秒)将流量拉到120%–150%的理论上限,观察设备的过载行为和恢复速度。这套"阶梯式压测"方法能够绘制出清晰的性能曲线,帮助你判断设备在什么负载区间内工作最稳定,以及超过什么阈值后性能会出现断崖式下降。
遇到连通性问题,最忌讳的是"乱猜"——随机改配置、重启设备,不仅解决不了问题,还会引入新的变量让排查更困难。正确的做法是严格按照OSI模型从底层往上排查:先确认物理层(链路是否UP、接口是否有输入输出计数器在增长);再确认数据链路层(ARP表里有没有对端的MAC地址);然后确认网络层(路由表里有没有到目的网段的路由条目,下一跳是否正确);最后才排查传输层和应用层。在GNS3或EVE-NG里,可以在链路上开启抓包(Wireshark集成),直接观察实际流过的数据包,这往往是最快找到问题根因的方法。
OSPF邻居建立失败是测试网络中最常见的路由故障之一。排查思路是:先确认两端接口在同一子网(OSPF要求直连邻居的接口IP在同一网段);再确认Hello包的参数一致(Hello间隔、Dead间隔、区域ID、认证方式);如果参数都对但邻居还是建不起来,用抓包确认Hello包是否真的到达了对端接口。BGP邻居建立失败的排查则不同:BGP是TCP协议,先确认TCP 179端口的三次握手是否成功;如果TCP连接建立了但BGP状态卡在OpenSent,通常是Capability协商失败,检查两端的BGP版本和地址族配置是否兼容。
测试网络里的DNS故障往往比路由故障更隐蔽,因为应用层的报错信息通常是"连接超时"而不是"DNS解析失败",容易误导排查方向。遇到应用连接问题,建议先用nslookup或dig命令手动测试DNS解析,确认域名能正确解析到预期IP;再用telnet或nc测试目标IP和端口的TCP连通性,排除防火墙拦截的可能性。防火墙故障排查的关键是查看命中计数器——在防火墙上查看各条ACL或安全策略的命中次数,如果某条deny规则的计数在持续增长,说明有流量正在被拦截,对照规则内容就能定位是哪类流量被误拦。测试网络里的防火墙建议开启详细日志,记录每条被拒绝的流量的五元组信息,方便快速定位问题。
Ansible是目前网络自动化领域使用最广泛的工具,其无Agent架构(只需SSH连接)和YAML格式的Playbook使其对网络工程师非常友好。在测试网络中,Ansible的典型用法是:将所有节点的基础配置(接口地址、路由协议、ACL)写成Playbook,每次需要重建测试环境时一键执行,从快照恢复到完整配置推送通常可以在5–15分钟内完成,比手动逐台配置快10倍以上。Ansible的网络模块(如cisco.ios、junipernetworks.junos、arista.eos)覆盖了主流厂商的设备,可以直接调用设备的CLI命令或NETCONF接口推送配置。建议将Playbook文件纳入Git版本控制,每次修改都有提交记录,方便回溯"这个配置是什么时候、为什么被改掉的"。
对于需要更灵活控制逻辑的场景,Python脚本配合Netmiko(SSH连接库)或NAPALM(多厂商网络抽象库)是很好的选择。一个典型的自动化测试流程是:CI流水线触发后,Python脚本先调用Containerlab API部署测试拓扑,等待所有节点启动完成(通常30–60秒),然后推送测试配置,再运行连通性验证脚本(逐一ping各个关键节点),最后用Iperf3跑性能基准测试,将结果与预设的基线数据对比,超出阈值则标记为测试失败并通知相关工程师。整个流程全自动,无需人工介入,可以在每次代码合并后自动触发,确保网络配置的变更不会破坏已有的测试基线。这种"网络配置即代码"的理念,是现代测试网络运维的核心实践之一。
金融行业
通过在测试网络中完整复现生产拓扑,提前发现了新版固件与现有OSPF配置的兼容性问题,避免了一次可能影响全行业务的重大故障。
互联网
基于Containerlab构建的自动化测试网络,将网络变更的验证时间从人工的4小时压缩到全自动的12分钟,每日支撑数十次网络配置变更的自动验收。
工业控制
在物理隔离的测试网络中还原工厂OT网络拓扑,验证IT/OT融合场景下的微隔离策略,确保Purdue模型各层级之间的访问控制符合IEC 62443标准要求。
以上案例数据仅用于描述测试网络在各行业的典型应用场景,浏览量与收藏数为示意性数字,不代表真实统计数据。
这是最危险的误区。如果测试网络的拓扑、配置与生产网络差异过大,在测试网络里验证通过的方案到了生产环境可能完全失效。常见的"差不多"包括:测试网络用的是不同版本的IOS固件、测试网络少了一层NAT、测试网络的QoS策略没有完整复现。建议建立一份"测试网络与生产网络差异清单",明确记录两者之间的所有已知差异,在解读测试结果时将这些差异因素纳入考量。
快照能帮你回到某个时间点的状态,但它告诉不了你"这个状态是为什么这么配的"。没有文档的测试网络,三个月后连搭建者自己都看不懂。建议为每个测试拓扑维护一份简单的README文档,记录:拓扑的用途、各节点的角色、关键配置的设计意图、已知的限制和与生产环境的差异。文档不需要很长,但必须有。
将生产数据库的真实数据直接导入测试环境进行流量回放,是一个严重的数据安全违规行为,在GDPR、个人信息保护法等法规框架下可能面临合规风险。正确的做法是使用数据脱敏工具(如Faker、Mockaroo)生成与真实数据结构相同但内容随机化的测试数据,或者使用专业的数据脱敏平台对生产数据做不可逆脱敏处理后再导入测试环境。
测试结果的留存和归档是测试网络工作流中经常被忽略的最后一步。每次测试完成后,应该将测试报告(包含测试目的、拓扑配置、测试步骤、测试数据、结论和建议)保存到团队共享的文档系统中。这些历史测试报告在未来有巨大价值:当类似问题再次出现时,可以快速找到历史上的解决方案;当需要向管理层证明某个变更已经经过充分测试时,有据可查;当新成员加入团队时,历史测试报告是最好的知识传承材料。
以下数据来自搜索引擎相关搜索统计,展示了与测试网络相关的真实搜索需求分布,帮助你了解这个领域用户最关心的问题方向。
数据来源:搜索引擎相关搜索(Bing站长工具),近30天印象量,仅供参考,不代表绝对流量。
以上为本站内容分工的编辑角色说明,履历描述基于岗位职责整理,不代表具体个人真实履历或机构背书。
以下问题来自读者真实反馈,覆盖搭建成本、工具选型、数据安全、迁移上线等高频疑问,每条答案均给出具体数据或操作建议。
合规提示:测试网络的搭建与使用请遵守所在组织的IT安全策略及当地相关法律法规,测试环境中严禁存储或处理未经授权的数据。本站内容以公开资料与工程实践经验为准,暂无法确认的具体厂商参数或版本数据不做臆造,以官方文档为最终依据。