摘要

  • 一家企业的客户突然打不开它的网站,运维团队首先得判断该找哪家网络服务商排查。ASN 可以提示路由经过的策略边界,却不能独自指出所有承载方或解释故障原因。
  • RFC 1930 在 1996 年说明了 ASN 能标识什么:一套对外可见的路由策略;它建立在 RIPE 1994 年申请表的实践之上。

分析

设想一家企业的客户忽然无法访问其服务。企业需要找到能调查问题的网络服务商,但流量经过多个网络时,每个运营者看到的都只是路径的一部分。ASN 可以帮助定位路由记录中的策略边界,却不能独自点名所有承载网络,更不能解释中断原因。它能提供线索,却不是故障结论。1996 年,RFC 1930 明确划出了这个界限:自治系统是一组遵循单一且明确路由策略的 IP 地址段。

这一区分在单线接入的客户身上尤其实际。如果客户的路由跟随上游运营商的策略,RFC 1930 认为通常没有必要另建 AS;这些前缀可以留在运营商的 AS 内。多线接入的场景则不同:当客户要在不同上游之间表达自己的路径偏好和策略时,独立 ASN 才可能有意义。关键不是多一条电缆、多一台路由器或多一份合同,而是对外发布的路由是否代表一套不同的策略。

申请文件已经把这种差异写进流程。1994 年 3 月 1 日的 RIPE-109 将 ASN 申请分成行政和技术两部分。行政部分必须填写;技术细节可以暂缺,但 RIPE 要求之后补交。表格里的 AS 对象使用 as-in 与 as-out 表达式描述运营者从对等网络接收哪些路由、向它们通告哪些路由。RFC 1930 明确说明,其面向更广范围的指导以这份 RIPE 文件为基础:一种区域申请实践进入了 IETF 的最佳实践。

RFC 1930 修正的不只是协议术语,也是分类方式。早期定义把 AS 与单一技术管理和共同的内部路由协议联系在一起。文件指出,一个 AS 可以并行使用多种内部协议和度量方式,同时对外呈现一致的路由计划;反过来,同一家公司内部也可能存在不同的路由策略。真正的边界是其他网络看到的策略,而不是公司组织图或设备清单。

号码空间有限,这也让准确划分变得重要。RFC 1930 当时把 AS 号码描述为 16 位字段,并报告约 5,100 个已分配、不到 600 个活跃通告的 AS;这是作者在 1996 年给出的历史数字,不能当作今天的统计。文件反对仅因申请流程习惯而创建新 AS,并把 64512 至 65535 留作私用。2007 年,RFC 4893 为 BGP 引入四字节 AS 号码的渐进兼容机制;2012 年 RFC 6793 又取代了它。

这段历史不只是号码将要用尽的故事,而是关于号码究竟代表什么。ASN 可以在公共记录和 BGP 路径中标识路由策略边界,但单凭它无法证明谁实际运营每台路由器、某条路由是否被接受,或服务覆盖到哪里。申请表、路由协议和网络观测是不同证据。把它们混为一谈,会让一个有用的标识承担它无法证明的结论。

来源