路由策略
AS47778 被设计为具备明确路由标记和保守导出规则的骨干网。该策略更重视可预期行为,而不是自动传播。
本页描述骨干路由设计的公开行为。内部例外和特定站点调优不在这里列出,但整体模型遵循网络上使用的 BIRD filters。
会话角色
外部 BGP sessions 按角色处理:
- Upstream 路由以较低 local preference 接受,主要用于 Internet 可达性。
- Peer 路由在通过验证后优先于 upstream 路由。
- Downstream 和本地发起的路由在符合预期路由范围时获得最高优先级。
- Internal sessions 在 AS47778 节点之间携带路由,并保留来源和节点元数据。
每条被接受的路由都会标记其来源角色。这些标签后续会被导出过滤器使用,因此从某一角色学到的路由只有在策略允许时才会通告给另一角色。
骨干网偏好
AS47778 使用 cold-potato routing。当存在多个可用出口时,网络通常倾向于将流量保留在骨干网上,直到有更好的出口点,而不是在第一个可能的 upstream 处交付。
内部路由选择会考虑:
- 路由来源类型:downstream 和本地发起路由优先于 peer 路由,peer 路由优先于 upstream 路由。
- 公开路径视图中的 AS path 长度。
- Large communities 中携带的节点路径。
- Internal sessions 中携带的 MED 值,用于表示骨干网内的相对延迟。
- 路由进入骨干网的位置和被使用位置之间的区域距离。跨区域路由通常会因为惩罚而低于 IP transit 路由。
结果是一个偏向本地或区域出口的路由选择模型,同时避免不必要的弱路径或间接路径。
节点和区域元数据
路由会被 large communities 标记,记录它们从哪里学到以及经过哪些节点。公开 BGP communities 文档列出这些标签:
47778:200:nnn表示路由被学习到的节点。47778:201:nnn表示路由被导出的节点。47778:210:nnn表示路由在 AS47778 内使用过的节点。47778:0:nnn表示骨干网中携带的 MED。
这些标签让路由行为更容易检查,也帮助内部策略在各节点间保持一致。
导出策略
导出是显式的。AS47778 不会简单地把每条被接受的路由重新通告给每个邻居。
导出过滤器使用路由来源标签和公开 BGP communities 判断路由是否可以通告给 upstreams、peers、downstreams 或其他骨干网节点。
例如:
- Downstream 和本地发起的路由在有效时可以导出给 upstreams 和 peers。
- Peer 和 upstream 路由不会被当作 downstream customer 路由。
- Communities 可以禁止向某类 session 导出,或请求 AS-path prepending。
- Blackhole 路由通过公开的 blackhole community 处理。
- 跨区域路由在导出给 upstreams 和 peers 时会通过 path prepending 施加惩罚。
公开控制项见 AS47778 BGP communities。
过滤边界
路由策略从路由安全开始。路由在参与骨干网选择或导出策略前,必须通过前缀长度、bogon space、reserved ASNs、RPKI invalid 状态和 session role 的验证。
详情见路由安全。
运营方预期
Peers 和 downstreams 可以期待稳定、公开的行为:
- 保持 route-set 或 AS-SET 数据最新。
- 保持 RPKI ROAs 准确。
- 使用公开 communities 进行导出控制和 prepending。
- 在依赖未公开路由行为前联系 NOC。
新的 peering 或 transit sessions,请先查看 peering 策略和联系页面。