3. 多运营商出口的地址规划与AS号规划
多运营商出口工程中,地址与AS号规划是“看不见但决定上限”的基础工作。它不像BGP邻居建立那样立刻看到Established,也不像路由策略那样立刻看到选路变化,但一旦规划失当,后期会出现互联地址冲突、环回口不可达、AS号与上游冲突、聚合边界不清导致明细路由泄漏等问题。本节围绕五类核心资源展开:公网IP地址块、互联地址、环回口地址、AS编号、路由聚合边界。
一、公网IP地址块:先确定“谁拥有、谁宣告”
多运营商出口通常有两种公网地址来源:一是向APNIC或CNNIC申请独立PI地址块,二是从某个运营商获取PA地址。PI地址块可跨运营商宣告,适合多出口场景;PA地址块归属运营商,换运营商时需重新申请,容易造成业务中断。因此,多运营商出口应优先使用PI地址块。
假设企业申请到 203.0.113.0/24 作为PI地址块,规划时需先划分用途:
| 用途 | 示例网段 | 说明 |
|---|---|---|
| 业务公网地址 | 203.0.113.0/25 | 对外提供服务的服务器、VIP |
| 出口设备环回口 | 203.0.113.128/27 | 用于BGP Router ID、iBGP源地址 |
| 互联地址池 | 203.0.113.160/27 | 与运营商对接的/30或/31 |
| 保留扩展 | 203.0.113.192/26 | 未来新运营商或新业务 |
互联地址建议使用独立小段,不要从业务地址中零散抽取。与运营商对接常用 /30(可用2个地址)或 /31(RFC 3021,点对点链路可用2个地址)。例如与运营商A对接使用 203.0.113.160/30,本端 .161,对端 .162;与运营商B对接使用 203.0.113.164/30,本端 .165,对端 .166。这样每个运营商占用一个独立/30,互不干扰。
二、环回口地址:BGP稳定性的锚点
环回口(Loopback)地址是BGP会话的“稳定锚点”。物理接口可能因链路故障或割接而Down,但环回口始终Up。多运营商出口中,建议为每台边界路由器配置一个 /32 环回口地址,作为BGP Router ID和iBGP/eBGP更新源。
例如:
R1: interface Loopback0
ip address 203.0.113.129 255.255.255.255
R2: interface Loopback0
ip address 203.0.113.130 255.255.255.255
与运营商建立eBGP时,可使用环回口建立多跳会话(neighbor x.x.x.x ebgp-multihop),但前提是双方通过静态路由或IGP保证环回口可达。若运营商不支持环回口建邻,则使用互联接口地址建邻,但iBGP仍应使用环回口作为更新源。
三、AS号规划:公网AS与私有AS的边界
AS号分为公网AS(1–64511)和私有AS(64512–65534,以及32位私有AS 4200000000–4294967294)。多运营商出口中,若企业已申请公网AS,则直接使用;若未申请,可在内部使用私有AS,但向运营商宣告路由时需注意:运营商通常不接受私有AS号出现在AS_PATH中,需使用 as-override 或 allowas-in 等机制,或由运营商侧做AS替换。
典型规划:企业使用公网AS 65001,运营商A为AS 100,运营商B为AS 200。边界路由器R1与运营商A建立eBGP,R2与运营商B建立eBGP,R1与R2之间建立iBGP。此时AS_PATH中会出现65001,运营商A和B均能正常接收。
四、路由聚合边界:在哪里聚合、聚合到什么粒度
路由聚合边界决定了“哪些明细路由被抑制、哪些聚合路由被宣告”。多运营商出口中,聚合边界通常设在边界路由器向eBGP邻居宣告的方向。聚合粒度过粗会丢失路径信息,过细则失去聚合意义。
以 203.0.113.0/24 为例,若业务地址为 203.0.113.0/25,环回口为 203.0.113.128/27,互联地址为 203.0.113.160/27,则向运营商宣告时,可聚合为 203.0.113.0/24,但需注意:互联地址段不应被宣告到公网,否则可能造成安全风险。因此,聚合边界应排除互联地址段。
推荐做法:使用 aggregate-address 203.0.113.0 255.255.255.0 summary-only 并配合 suppress-map 抑制互联地址明细。或者更精细地,只宣告 203.0.113.0/25 和 203.0.113.128/27,不宣告互联段。
五、规划检查清单与常见错误
完成规划后,建议按以下清单逐项核对:
- 公网地址块是否为PI?若为PA,是否已确认换运营商时的迁移方案?
- 互联地址是否每运营商独立/30或/31?是否与业务地址分离?
- 环回口地址是否为/32?是否已作为BGP Router ID和更新源?
- AS号是否为公网AS?若为私有AS,运营商是否支持?
- 聚合边界是否排除了互联地址段?是否使用summary-only抑制明细?
- 是否预留了扩展地址段,供未来新运营商或新业务使用?
地址与AS号规划的本质是“边界管理”:公网地址块划定了企业可宣告的范围,互联地址划定了与运营商对接的点,环回口划定了BGP会话的稳定锚点,AS号划定了路由域的身份,聚合边界划定了对外宣告的粒度。五者一致,多运营商出口才能稳定、可扩展、易排障。