ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

骨干网架构与BGP路由策略:CMNET网络运维实战解析

骨干网架构与BGP路由策略:CMNET网络运维实战解析 简介这是一份全面讲解中国移动CMNET网络结构与路由策略的专业PPT面向运营商网络工程师、通信专业学生及对移动互联网骨干网感兴趣的技术人员旨在厘清中国移动互联网基础设施的组网层次、路由组织与业务承载逻辑。资源为单个pptx演示文稿压缩包约6.43MB内容结构清晰依次涵盖骨干网络架构与路由策略、Web.cache与DNS及流控系统介绍、省网组织结构与路由交换方式、高价值业务区分与保障方法等核心模块。骨干部分详细解释了核心层、汇聚层、接入层的职责分工并结合CMNET一期至五期的演进脉络说明网络如何从单节点向双节点、集群路由器与IDC大规模部署逐步升级路由策略部分则聚焦网内网间流量调度、路由优选与互联互通现状。目前已有75人学习浏览特别适合希望系统了解中国移动骨干网规划思路、省网接入方式及实际现网组网原则的读者作为技术培训课件或自学参考资料都具有较强实用价值。1. 一张 2012 年的拓扑图藏着多少现网运维的信号CMNET 这个名字在运营商网络工程师圈子里不陌生但真正能接触到骨干拓扑细节的资料公开渠道里很少见。这份资料的独特之处在于它把三层骨干 八大区路由组织 网间互联牵引这套体系完整拆开了哪些节点承担省际中转哪几个点负责吸引网间入流量双节点双上联为什么必须做路由策略如何按片区广播——这些全是网络规划中最容易被抽象化、又最考验落地细节的内容。2012 年那份骨干网承载总流量已达 824Gbps 的数据放到今天看依然有很强的参考意义。本文适合做基础网络规划、ISP 网络运维、数据中心出口设计的工程师阅读不做概念复述直接按架构、路由、监测、验证逐个拆。2. 骨干网三层架构核心、汇聚、接入的容量与职责切分CMNET 六期之后骨干网实际被重组为骨干核心层、骨干汇聚层、骨干接入层三个层次。注意这个重组是渐进式的早期 CMNET 一期到四期骨干网只有核心层和汇聚层的简单区分且链路以 155M 和 2.5G 为主五期结构大调整后北京、上海、广州的核心节点过渡为集群路由器五大汇聚增设第二汇聚节点到六期工程原核心层与汇聚层被合并为骨干核心层再往下才是骨干接入层。理解了这个演进过程后面看路由策略和流量调度才不会糊涂。2.1 三层职责切分与流量走向从功能上看三层之间的流量走向非常清晰骨干核心层北京、上海、广州等 8 节点承担省际流量中转。六期之前只有北上广三个核心六期之后武汉、南京、四川、西安、沈阳被纳入骨干核心节点除西安、沈阳外核心节点间全网状互联。骨干汇聚层南京、武汉、成都、西安、沈阳五期及以前负责中转本大区内省份之间的流量避免所有跨省流量都涌向北上广。骨干接入层23 个省级节点每个省设置两个骨干接入节点负责把本省出省的省际流量汇入骨干网。架构设计里最容易忽略的是接入层节点并不是只连一个汇聚点而是原则上同省的两个接入节点同时连至三个核心节点中的一个、按区域连至五个汇聚节点中的一个或多个。杭州是特例同时连接三个核心并直连南京这是早期流量模型下就近接入的物理写照。六期工程还新增了天津私有云节点作为骨干接入节点同时让苏州城域网流量直连南京、上海节点做扁平化试点——这说明接入层的归属是可调整的灵活度比外界想象中大得多。2.2 双节点、双设备、双上联的冗余原则整个 CMNET 组网原则里比层次划分更值得抄作业的是冗余规则层级冗余要求说明城域网接入层至少连接两个省网核心单链路故障时自动切换业务无感知省网核心层至少连接两个以上骨干核心或汇聚跨省流量不受单点故障影响骨干接入节点双节点、双设备、双上联节点之间互为备份设备级、链路级均冗余核心/汇聚节点双节点建设单节点双设备从单节点过渡到第二节点降低故障半径这套原则从 CMNET 二期开始逐步落实到五期结构调整时北京、上海、广州分别设置 2 个节点、每节点 1 台集群路由器五大汇聚设置第二汇聚节点除 8 大核心汇聚节点外的 25 个一般骨干节点也设置了双节点。需要特别提醒双节点在 CMNET 语境里通常指两个独立局址或独立城市节点而不是同一机房里放两台设备。机房电力、传输路由、上联链路都要彼此独立才算真正的冗余。提示验收这类网络时不要只看网管拓扑上有没有双链路要查物理链路的端口归属和传输通道是否分离。实际项目中曾出现双上联链路挂在同一台传输设备上的情况传输侧一旦故障双上联同时失效。2.3 国际出口与海外 POP 层的特殊定位国际出口层在骨干核心之上由北京、上海、广州三地路由器组成面向国内连接骨干核心层面向国外连接海外 POP 点核心功能是汇聚 CMNET 进出国境的国际流量并建立缓冲区以隔离国际链路故障对骨干核心的冲击。海外 POP 由 CMI 运营北美 POP洛杉矶、旧金山、香港 POP 都是单局址双设备伦敦 POP 当时尚未启用。有一个当时很现实的工程细节北京国际出口因配套工程原因暂停使用上海国际出口 2、广州国际出口 1 也因安全配套未到位暂未上线。这说明国际出口的建设依赖安全配套到位并不只是路由器上架就能跑通。规划中要注意国内互联与国际互联的节点选择国内互联点北京、上海、广州均为双节点而 NAP 互联点则单节点设置风险等级不同冗余策略也不同。3. 路由策略设计AS9808 下的分片区分大区调度路由策略是这份资料里最值得细读的部分。CMNET 骨干网整体运行在自治域 AS9808 内这是它和很多运营商省间分域自治思路的关键差异。单一 AS 意味着骨干网内部 IBGP 连接必须仔细设计同时网间流量的出入向控制也完全依托于 BGP 属性策略。3.1 片区与大区的双层流量调整模型网络组织上骨干网按地域分三大片区再细分为八大区北京片区北京大区、沈阳大区、西安大区、上海片区上海大区、南京大区、武汉大区、广州片区广州大区、成都大区。这里要区分两个容易混淆的概念划分片区是用于网间入流量调整即按照片区广播网间路由吸引电信联通的入流量就近进入划分大区是用于网内流量调整即本大区内的流量优先通过片区内的汇聚节点转发。举个例子河北用户访问某电信侧资源流量从河北骨干接入节点进入骨干网正常情况下应该在沈阳大区或西安大区内的汇聚节点完成交换再转发到北京或广州的国内出口。如果这个链路意外走回上海片区路径就会明显变长时延和跳数都会异常。排查思路就是要先确认路径是否符合大区分片规则再往下查路由策略。3.2 路由反射器RR与 IBGP 会话设计骨干网节点约 36 个如果做 IBGP 全网状连接会话数会达到 n(n-1)/2 即 630 条这个数量对设备资源和维护成本都不友好。因此 CMNET 在北京、西安、武汉、广州、上海设置了独立的 IP RR路由反射器节点全网设备只与就近 RR 建立 IBGP 会话。以华为 VRP 为例核心节点加入 RR 客户端的基本配置如下bgp 9808 router-id 10.1.1.1 peer 10.1.1.254 as-number 9808 peer 10.1.1.254 description RR-Beijing peer 10.1.1.254 connect-interface LoopBack0 # ipv4-family unicast peer 10.1.1.254 enable peer 10.1.1.254 reflect-client这段配置前四行是建立普通 IBGP 邻居关系关键是reflect-client它让 RR 把从其他客户机学到的路由反射给自己从而打破 IBGP 的水平分割规则。每个接入节点只需与 23 台 RR 建立会话就能获得全网前缀的可达信息。注意connect-interface LoopBack0的作用是使用 Loopback 地址作为 TCP 会话源Loopback 接口在物理链路故障时仍然可达避免会话因单一链路中断而全部断开——这是 RR 组网的前提。提示RR 一定要避免单点部署。CMNET 在北上广核心和武汉等多地部署多台 RR就是防止反射器自身故障导致全网路由学习中断。日常巡检建议纳入 RR 的 CPU、内存、路由前缀数量、反射会话状态四项指标。3.3 网间出口的入向牵引与出向控制网间互联点设在三个城市电信方向互联带宽分布约为北京:上海:广州 300:287:359联通方向约为 374:223:393。这个比例不是随意分配的而是依据各片区入向流量规模做的规划同时它也意味着只要改变其中一个方向的路由通告就能调整片区间入向流量的平衡。入向流量牵引的常见做法是用 BGP 属性控制。比如让北方省份的入向流量优先从北京进入在北京出口设备上对电信方向路由设置更高的本地优先级route-policy INBOUND-TELECOM permit node 10 if match ip-prefix TELECOM-PREFIX apply local-preference 200而弱化某个出口方向的吸引力可以用 AS-path 追加route-policy PREPEND-SH permit node 10 apply as-path 9808 9808 9808 addlocal-preference是 IBGP 域内选路第一优先级的属性本地优先级越高路由越优先as-path追加则是影响对端 AS 选路的经典手段路径越长优先级越低。两者结合就能在北上广三个国内出口间调整入向流量的比例。需要说明的是这些策略本质上是协商式调度实际效果取决于对端运营商是否采用相同的选路规则所以出口链路的带宽配置必须与路由策略同步调整。4. 省网与城域网两级组织架构及流量汇聚路径骨干网承担的是省际流量而流量从哪来、怎么汇聚到骨干网取决于省网的组织方式。CMNET 的省网分为两种结构A 结构覆盖 29 个省B 结构只有广东、江西两省。两种结构的设计差异直接决定了省网与骨干网之间的互联协议和策略生效范围。4.1 A 结构与 B 结构的自治域边界A 结构29 省使用单一自治域内部再分省网核心、省网接入、城域网接入三层城域网核心至少连接两个省网核心省网核心再上行至骨干接入节点。B 结构广东、江西则运行在独立的自治域与骨干网之间通过 EBGP 交换路由。对比项A 结构29 省B 结构广东、江西自治域边界省网纳入 AS9808省网独立 AS与 AS9808 间 EBGP省际路由交换IBGP 全网可达EBGP 按策略过滤策略控制粒度统一策略按省区分省内可自定义策略排障边界查看 IBGP 会话与 RR先查 EBGP 邻居与过滤策略这个差异在实际故障处理中非常关键。如果 A 结构省份出现跨省访问异常优先检查该省接入节点到 RR 的 IBGP 会话状态而广东、江西方向的流量问题则要先确认省网自治域与 AS9808 之间的 EBGP 策略是否变动。曾经遇到一个案例某省访问广东 IDC 的流量时通时断排查发现省网到广东方向的 EBGP 路由被人为添加了 AS-path 过滤导致部分前缀被丢弃。4.2 省际流量分布与 TOP10 集中效应资料里的流量统计数据非常有参考价值2011 年底骨干网承载总流量之和为 824Gbps其中省际流量 555Gbps、网间流量 269Gbps。省际流量排名前 10 的省份浙江、江苏、上海、山东、江西、山西、广东、河南、福建、四川合计 421Gbps占出省际流量的 76%网间流量前 10 名占到 65%。这个二八效应决定了省网建设的投入优先级。实际操作中对流量占比长期靠前的省份骨干接入链路应该按 N1 做冗余端口容量建议按年增长率乘以 1.5 的系数提前规划对流量占比低于 1% 的省份扩容优先级可以往后放通过路由策略把流量调度到相邻节点观察一段时间再决定。盲目按省份数量平均分配带宽资源只会让 TOP10 省份在半年内再次拥塞。4.3 城域网扁平化试点的取舍资料中专门提到苏州城域网流量直连骨干网南京、上海节点做扁平化试点。这个方案的本质是绕过省网核心层让城域网流量以更短的路径接入骨干汇聚层。优点是降低转发时延、减少省网核心压力缺点则是省网对本地流量失去了集中控制点QoS 策略与流控系统需要重新选部署位置。在评估是否采用类似扁平化设计时建议先确认省网核心的转发瓶颈真实存在。抓取省网核心和城域网核心的端口流量数据对比省网核心的转发芯片处理能力——如果省网核心利用率尚低于 50%扁平化的收益有限反而多出一条链路成本。只有在省网核心长期处于高负载的情况下才值得通过直连骨干的方式做流量旁路。5. 链路与流量监测从端口利用率到扩容决策资料给出了一组很关键的数据2012 年 3 月全网省际链路共 205 条均值流量超过 40% 且峰值流量超过 80% 的链路有 37 条占 18%峰值利用率达到 100% 的链路有 31 条占 15%。这些数字本身就是一套可复用的链路健康度评估标准。5.1 均值利用率与峰值利用率的分级评估运营商工程实践中均值利用率反映的是链路整体承载压力峰值利用率反映的是短期拥塞风险。二者阈值组合通常按这个标准划分均值超过 40% 且峰值超过 80%进入观察名单峰值接近 100%立即启动扩容流程。这个 40%/80% 的阈值体系在骨干网环境下经过了大量验证。具体统计时均值利用率建议用五分钟粒度采样的平均值峰值利用率用 95 分位值而不是绝对最大值避免个别瞬时突发流量干扰扩容判断。CMNET 这类承载大量 IDC 流量的网络IDC 业务经常有整点或半点的大流量突发只看绝对峰值容易导致过度扩容。5.2 一个实用的带宽扩容评估脚本下面这段 Python 脚本可以批量分析链路流量数据生成扩容决策列表import pandas as pd def evaluate_links(df, mean_thresh40, peak_thresh80): df[action] OK watch (df[mean_util] mean_thresh) (df[peak_util] peak_thresh) df.loc[watch, action] WATCH df.loc[df[peak_util] 100, action] EXPAND return df.sort_values(peak_util, ascendingFalse) links pd.read_csv(link_metrics.csv) result evaluate_links(links) print(result[result[action] ! OK].to_string())脚本逻辑分两层先用均值与峰值组合条件筛出 WATCH 链路再把峰值利用率达到 100% 的链路直接标记为 EXPAND。mean_thresh和peak_thresh可根据链路带宽调整比如 10G 骨干链路建议保持 40/802.5G 链路可以放宽到 50/90。注意脚本只输出异常链路避免在几百条链路里靠肉眼找问题。对于 EXPAND 状态的链路要立即启动带宽扩容或路由策略调整WATCH 链路则结合业务增长趋势做季度评估同时关注是否连续三周均值利用率递增。5.3 IDC 流量与 WLAN 流量的增长叠加效应CMNET 流量增长的另一个结构性因素是 IDC。资料显示 IDC 流量从 2008 年的 5G 增长到 2011 年的 240G三年增长近 48 倍WLAN AP 数量从 20 万增长到 200 万WLAN 用户从不足 10 万增长到 3000 万。IDC 流量的特点是方向集中——大量用户向少数 IDC 机房发起请求造成链路利用率的不对称WLAN 流量则呈现明显的潮汐效应晚高峰利用率远高于白天均值。针对这两种业务叠加的链路建议把监测粒度从小时级提升到分钟级并单独统计 IDC 方向的流量占比。当 IDC 方向流量占链路总流量超过 60% 时链路扩容和路由调度要按 IDC 场景单独评估不能简单用普通均值模型计算。6. 出口路由与链路问题的定位与验证技巧面对这套架构日常运维中最常遇到的问题集中在三类跨大区访问变慢、网间流量比例失衡、省际专线端到端不通。定位思路应该从路径是否符合设计出发而不是一开始就抓链路质量。6.1 用 mtr 验证跨大区路径走向用mtr先看路径走向是否符合大区分片原则mtr -rwbzc 5 -T -p 443 203.135.XXX.XXX-r以报告模式输出-w输出宽格式-b同时显示 AS 信息-z显示经过的网络名称依赖本地 AS 名解析库-c 5表示发送 5 个探测包。输出中如果出现先经沈阳再绕到北京核心这类路径而设计上应该是本区汇聚直连就要检查接入节点的路由策略是否被误改。跨运营商场景下还要确认流量是否经由北上广三个国内互联点之一——如果路径显示绕行其他方向多半是 BGP 选路策略预期与实际不一致。6.2 网间流量失衡时的 BGP 视角排查当某方向网间流量长期偏高或偏低先看出口路由器的 BGP 会话和通告路由display bgp peer display bgp routing-table peer 10.1.1.254 advertised-routes | include 9808display bgp peer检查邻居状态是否正常advertised-routes查看向该邻居实际通告的前缀。若发现电信方向出口对外宣告的前缀条数明显异常说明 AS-path prepend 策略影响了路由传播。更进一步可以通过对端运营商的 Looking Glass 查询自己的 AS 前缀在三地出口的可达性差异确认是否出现单方向路由黑洞。6.3 集群路由器场景下的路由快照对比北上广核心节点采用集群路由器后设备承载的路由表条目规模很大。遇到集群内设备行为不一致建议做一次全量路由快照比对display bgp routing-table ipv4 9808 | redirect file tftp://192.0.2.10/route-snapshot.txt把集群内各设备的 BGP 路由表导出后做diff差异部分就是排查重点。这个方法在真实项目里定位过多次因 RR 会话中断导致的渐增式路由缺失——表象是部分省份访问时通时断根源其实是某个 RR 与集群其中一台设备之间的 IBGP 会话因 keepalive 超时反复重建。对于专线业务的最终验证建议从 PE 端发起 BGP 会话检查确认客户侧路由能否被正确学习和通告——客户前缀在核心层可见、但在互联点不可见时问题基本定位在出口路由策略的过滤环节与省网内部链路无关。按路径验证、策略比对、会话检查这个顺序走下来大部分 CMNET 骨干路由问题都能在三十分钟内收敛到具体原因。本文还有配套的精品资源点击获取
返回列表