开始输入,可搜索发票、服务、域名、工单,以及 更多...
当企业的业务发展到一定规模,常常会遇到这样的需求:希望使用自己的 IP 地址、在多个机房之间迁移而不换 IP、或者让全球用户就近访问同一个地址。这些都离不开 BGP、ASN 与 Anycast。本文用通俗的语言解释这几个概念,并梳理申请 ASN 与 IP 段、完成路由广播的完整流程。
本文适合以下读者:
建议提前准备:公司注册资料、网络规划说明(为什么需要独立路由策略、计划接入哪些上游)、技术联系人信息。
BGP(Border Gateway Protocol,边界网关协议,当前版本为 BGP-4)是互联网上各个网络之间交换路由信息的协议。每个网络通过 BGP 告诉邻居:"这些 IP 段在我这里,可以经过我到达。"全球路由表就是由数万个网络相互宣告形成的。
ASN(Autonomous System Number,自治系统号)用于唯一标识一个独立管理路由策略的网络。目前常见的是 4 字节 ASN,范围可达约 42 亿个。其中 64512–65534 以及 4200000000–4294967294 为私有 ASN,只能在内部使用,不能出现在公网全球路由表中。
Anycast(任播)是指在多个地点通过 BGP 同时宣告同一个 IP 段。用户访问该 IP 时,会根据路由选择被导向"网络距离"最近的节点。公共 DNS、CDN 和 DDoS 清洗网络普遍采用 Anycast,它的优势包括:
全球 IP 地址与 ASN 由 IANA 统一分配给五个区域互联网注册管理机构(RIR):
| RIR | 服务区域 |
|---|---|
| APNIC | 亚太地区(含中国香港、台湾、日本、新加坡等) |
| RIPE NCC | 欧洲、中东及中亚(含俄罗斯) |
| ARIN | 美国、加拿大及部分加勒比地区 |
| LACNIC | 拉丁美洲及部分加勒比地区 |
| AFRINIC | 非洲(含南非) |
一般应向公司注册地或网络主要所在地对应的 RIR 申请。
申请 ASN 时,RIR 通常要求说明多宿主(Multihoming)或独立路由策略需求,即计划同时与两个及以上上游网络建立 BGP 互联。
IPv4 地址在各 RIR 均已基本耗尽,新会员通常只能通过等待名单获得少量地址,或通过 IP 转让市场购买、向持有者租用。IPv6 地址则资源充足,新申请一般较容易获批,建议同步规划 IPv6。需要注意的是,公网路由中 IPv4 最小可广播前缀通常为 /24,IPv6 通常为 /48。
拿到 ASN 与 IP 段后,还需要让上游服务商帮你把路由宣告到全球。这一过程涉及以下几个关键环节。
LOA(Letter of Authorization)是 IP 段持有者出具的授权文件,证明你授权某服务商(或其上游)广播指定前缀。上游网络通常会核对 LOA 与 RIR 数据库中的持有人信息是否一致。
IRR(Internet Routing Registry)是公开的路由注册数据库。你需要在 RIR 数据库或 RADB 等 IRR 中创建 route / route6 对象,声明"某个前缀由某个 ASN 发起"。很多上游根据 IRR 自动生成过滤规则,缺少路由对象会导致宣告被拒绝。查询示例:
whois -h whois.radb.net 203.0.113.0/24
whois -h whois.radb.net -- '-i origin AS64500'
RPKI 通过密码学证书验证"谁有权发起某个前缀"。在 RIR 会员后台为前缀创建 ROA(Route Origin Authorization),指定允许发起的 ASN 和最大前缀长度。如今越来越多的运营商会丢弃 RPKI 验证为 Invalid 的路由,没有正确的 ROA,路由很可能在部分网络不可达。可以用以下命令查看前缀所属信息:
whois -h whois.apnic.net 203.0.113.0
若服务商为你提供 BGP Session,可在 Linux 服务器上使用 BIRD 2 宣告前缀。以下示例中的 ASN、IP 均为文档保留值,请替换为服务商提供的实际参数:
apt install -y bird2
/etc/bird/bird.conf 示例:
router id 192.0.2.10;
protocol device { }
protocol static announce_v4 {
ipv4;
route 203.0.113.0/24 unreachable;
}
protocol bgp upstream {
local 192.0.2.10 as 64500;
neighbor 192.0.2.1 as 64496;
ipv4 {
import none;
export where net = 203.0.113.0/24;
};
}
重载配置并检查会话状态:
systemctl restart bird
birdc show protocols
birdc show route export upstream
会话状态显示为 Established 即表示 BGP 已建立。注意还需把该 IP 段中实际使用的地址配置到网卡上,业务才能正常对外提供服务。
可以。部分服务商支持使用其 ASN 代为宣告你的 IP 段,只需提供 LOA 并配合完成 IRR、ROA 设置即可,适合暂时不打算申请 ASN 的用户。
视 RIR 及资料完整程度而定,资料齐全时通常数个工作日到数周不等。成为 RIR 会员的流程会更长一些。
Anycast 最适合无状态或短连接业务,如 DNS、CDN、API 网关。长连接或强状态业务需要额外设计,避免路由变化导致连接切换到其他节点。
先检查 ROA 是否覆盖正确的 ASN 与前缀长度、IRR 对象是否已生效,再用 bgp.tools 等公开工具或 Looking Glass 查看全球路由传播情况。
BGP 让网络互联,ASN 标识网络身份,Anycast 则让同一地址在全球就近服务;而 LOA、IRR 与 RPKI ROA 是让自有 IP 被正确广播的三项关键准备。IMIDC 是 RIPE NCC、APNIC、ARIN、AFRINIC 的会员,可为企业提供 ASN 与 IP 段相关咨询、BGP 广播与 Anycast 方案,并支持在多个机房的服务器与托管业务中接入。由于具体流程需要人工审核资料,如有需求请在客户中心提交工单,7x24 小时技术团队会与你确认细节。