Appearance
ASN 自治系统号详解
ASN(Autonomous System Number)是互联网路由的核心概念,用于标识自治系统并实现 BGP 路由。
目录
什么是自治系统
自治系统(Autonomous System)是由单一机构管理的一组 IP 路由前缀和网络设备,拥有统一的路由策略。
简单理解
互联网 = 无数个自治系统互联
┌──────────┐ ┌──────────┐ ┌──────────┐
│ AS 15169 │────│ AS 13335 │────│ AS 8075 │
│ Google │ │ Cloudflare│ │ Microsoft│
└──────────┘ └──────────┘ └──────────┘
│ │ │
└──────────────────┼───────────────┘
│
ISP 骨干网络(更大 AS)自治系统特征
- 统一的内部路由协议(如 OSPF、IS-IS)
- 统一的路由策略
- 独立管理
- 对外呈现统一的路由视图
ASN 的作用
核心功能
| 功能 | 说明 |
|---|---|
| 标识符 | 唯一标识互联网上的每个自治系统 |
| BGP 路由 | AS 之间通过 ASN 交换路由信息 |
| 策略控制 | 定义入站/出站路由策略 |
| 聚合路由 | 减少路由表条目数量 |
为什么需要 ASN
- 互联网路由 — BGP 协议使用 ASN 标识目标网络
- 路由聚合 — 将多个 IP 段聚合为一个 ASN 宣告
- 策略路由 — 基于 ASN 实施流量控制和安全策略
- 运营商对等 — ISP 之间通过 ASN 建立对等关系
ASN 分类与范围
ASN 范围
| 类型 | 范围 | 说明 |
|---|---|---|
| 公有 ASN | 1 - 54999 | 必须在 IANA 注册,全球唯一 |
| 保留 ASN | 55000 - 64999 | 未来扩展用 |
| 私有 ASN | 64512 - 65534 | 仅内部使用,不可广播 |
特殊 ASN
| ASN | 用途 |
|---|---|
| 0 | 保留,不可使用 |
| 23456 | AS_TRANS,过渡用 |
| 64496 - 64511 | 文档用 |
| 65535 | 保留 |
| 65536 - 65551 | 文档用 |
ASN 分配机构
| 机构 | 负责区域 |
|---|---|
| IANA | 全球 ASN 总池 |
| ARIN | 北美 |
| RIPE NCC | 欧洲、中东、中亚 |
| APNIC | 亚太 |
| LACNIC | 拉丁美洲 |
| AFRINIC | 非洲 |
ASN 查询方法
命令行查询
bash
# 使用 whois 查询
whois -h riswhois.ripe.net 8.8.8.8 | grep origin
# 输出: origin: AS15169
# 使用 dig 查询 DNS
dig +short AS15169.whois.cymru.com txt 8.8.8.8
# 输出: "15169 | 8.8.8.8 | US | ARIN |GOGL"
# 使用 bgpview.io API
curl https://api.bgpview.io/ip/8.8.8.8在线查询工具
| 工具 | 地址 | 功能 |
|---|---|---|
| BGPView | https://bgpview.io | IP/ASN 关系、路由树 |
| RIPE NCC | https://stat.ripe.net | 欧洲 IP 数据库 |
| RouteViews | http://routeviews.org | 全球 BGP 视图 |
| Team Cymru | https://cymru.com | ASN/IP 查询 |
查询示例
bash
# 查询 ASN 详情
curl https://api.bgpview.io/asn/13335
# 查询 ASN 的前缀
curl https://api.bgpview.io/asn/13335/prefixes
# 查询 ASN 的对等网络
curl https://api.bgpview.io/asn/13335/peersIP 与 ASN 关系
一个 IP 可能属于多个 ASN(多宿主),通常查询结果中的 origin_asn 是最终宣告该 IP 的 ASN。
BGP 路由协议
BGP 简介
BGP(Border Gateway Protocol)是互联网的核心路由协议,用于 AS 之间交换路由信息。
┌─────────┐ eBGP ┌─────────┐ iBGP ┌─────────┐
│ AS A │──────────│ AS B │──────────│ AS C │
│ (ISP) │ │ (骨干) │ │ (企业) │
└─────────┘ └─────────┘ └─────────┘BGP 路由属性
| 属性 | 说明 |
|---|---|
| AS_PATH | 经过的 AS 列表 |
| NEXT_HOP | 下一跳 IP 地址 |
| LOCAL_PREF | 本地优先级 |
| MED | 多出口分离器 |
| ORIGIN | 路由来源 |
BGP 路由选择原则
- 最高 LOCAL_PREF
- 最短 AS_PATH
- 最低 ORIGIN 类型(IGP > EGP > Incomplete)
- 最低 MED
- eBGP > iBGP
- 最近 NEXT_HOP
- 最小 Router ID
主要 ASN 示例
| ASN | 组织 | 名称 | 类型 |
|---|---|---|---|
| 15169 | Google LLC | GOGL | Content |
| 13335 | Cloudflare Inc. | CLOUDFLARENET | Content/CDN |
| 8075 | Microsoft Corp | MICROSOFT-CORP | Cloud |
| 32934 | Meta Platforms | Social | |
| 16625 | Akamai Tech | AKAMAI | CDN |
| 2497 | IIJ | INTERNETWORX | ISP |
| 4837 | China Unicom | CHINA169-BACKBONE | ISP |
| 4134 | China Telecom | CHINANET-BACKBONE | ISP |
| 9808 | China Mobile | CMNET | ISP |
中国主要 ASN
bash
# 中国运营商 ASN
AS4837 - 中国联通 (China Unicom)
AS4134 - 中国电信 (China Telecom)
AS9808 - 中国移动 (China Mobile)
AS37961 - 阿里云
AS45096 - 腾讯云ASN 与网络安全
BGP 劫持
攻击者伪造 ASN 宣告不属于他的 IP 段,导致流量被劫持。
正常路径:
用户 → AS A → AS B(目标)
被劫持:
用户 → AS A → 攻击者 AS → AS B(目标)
↑
伪造宣告BGP 安全方案
| 方案 | 说明 |
|---|---|
| RPKI | 资源公钥基础设施,验证路由宣告授权 |
| ROA | 路由起源授权,声明 IP 段与 ASN 关系 |
| BGPSec | BGP 安全扩展,验证 AS_PATH 完整性 |
| IRR | 互联网路由注册表,类似于 DNS DNSSEC |
RPKI 工作原理
IP 段持有者 → 创建 ROA → 声明"此 IP 段由 ASN X 宣告"
↓
RPKI 验证服务器
↓
BGP 路由器验证路由合法性
↓
有效路由 ←→ 无效路由 ←→ 未知历史事件
2018 年 Google 流量被劫持到俄罗斯 ISP,持续约 90 分钟。 2019 年 欧洲多国 CDN 流量被劫持。
建议
使用多个 ASN 和多宿主连接提高网络可靠性。