什么是自治系统?
自治系统(AS)是在统一的对外路由策略下运营的一组 IP 网络。它由自治系统号(ASN)来标识。网络运营商使用 BGP 通告可达的 IP 前缀,并与其他网络交换路由信息。ASN 标识的是一个路由参与者,而不是某个人或某台物理服务器。
自治系统如何互联
互联网流量会穿越许多相互独立的网络。每个运营商都会自行选择在哪里通告自己的前缀,以及接受邻居的哪些路由。BGP 在自治系统之间传递这些通告;策略和商业安排会影响可用的路径。从一个位置看到的路由可能与在其他地方看到的不同,而数值上最短的路径也不一定会被选中。
一个组织可能运营多个 ASN,而一个 ASN 也可以通告多个前缀,并在多个地点互联。较小的网络可能向较大的网络购买转接(transit)服务;另一些网络则在对等互联点直接交换流量。仅凭 ASN 无法揭示某个 IP 地址背后的具体建筑、用户或应用程序。
ASN 与 IP 地址分配
区域互联网注册管理机构维护其服务区域内 ASN 和号码资源的注册信息。注册信息描述的是资源持有者或相关联系人,而当前的 BGP 通告描述的是哪个网络在通告某个前缀。这些来源回答的是不同的问题。主机服务商可能通告供客户使用的地址段,因此发起通告的 ASN 并不能证明它运营着其上托管的每个网站。
IP 地址可能在运营商之间迁移,或改变路由安排。因此,历史记录、缓存的地理位置数据库和当前的 BGP 视图可能并不一致。如果需要调查可疑路由,请先比较当前通告、注册数据和运营商公布的信息,再得出结论。
路由为何会失效
错误的或范围过宽的通告可能会把流量从其预定目的地吸引走。运营商通过路由过滤、注册管理机构中的路由对象以及资源公钥基础设施(RPKI)源验证来降低这一风险。RPKI 可以帮助验证某个前缀的源是否经过授权,但并不能证明每条路由或每项服务都是安全的。
诊断可达性问题时,请记录受影响的前缀、ASN、观测点和时间。请比较来自多个网络的结果,因为本地故障在其他地方可能观察不到。Traceroute 可以显示路径的一部分,但中间路由器可能会隐藏响应或对响应进行限速。请把任何单一诊断结果当作线索,而不是完整的地图。
一个实际示例
如果某个网站通过一家运营商可以访问,而通过另一家却无法访问,那么可能 DNS 是正确的,只是路由不同。请比较解析出的 IP 地址,然后检查两家运营商的 BGP 可见性和网络跟踪结果。带着目的前缀和时间戳联系相关的网络运营商。这样可以把路由事件与 Web 应用程序问题区分开来。
实时路由中的 ASN
ASN 的注册信息标识的是该号码被分配给了哪个组织,而不是其完整的路由策略。BGP 通告把自治系统与 IP 前缀联系起来,并可能随着对等互联或备份路径的变化而变化。BGP 与 ASN 指南把这些控制平面信息与排障时观察到的路由联系了起来。