跳到主要内容

3. 协议扩展 (Protocol Extensions)

在本文档中, 不支持新的四字节 AS 号扩展的 BGP speaker 被定义为 OLD BGP speaker, 支持新的四字节 AS 号扩展的 BGP speaker 被定义为 NEW BGP speaker.

BGP 在 OPEN 消息的 "My Autonomous System" 字段, UPDATE 消息的 AS_PATH 属性以及 UPDATE 消息的 AGGREGATOR 属性中承载 AS 号. BGP 也在 BGP Communities 属性中承载 AS 号.

NEW BGP speaker 使用 BGP Capabilities Advertisements [RFC5492] 向其邻居 (内部或外部) 通告它支持本文档规定的四字节 AS 号扩展.

BGP speaker 用于向其 BGP 对等体传达四字节 Autonomous System 号能力的能力, 也会在该能力的 Capability Value 字段中承载该 speaker 的 AS 号 (编码为四字节实体). 该能力的 Capability Length 字段设置为 4.

NEW BGP speaker 之间交换的 AS 路径信息承载在现有 AS_PATH 属性中, 但该属性中的每个 AS 号都编码为四字节实体 (而不是二字节实体). AGGREGATOR 属性也同样如此: NEW BGP speaker 之间仍使用同一属性, 但该属性中承载的 AS 号编码为四字节实体.

NEW BGP speaker 与 OLD BGP speaker 之间承载的 AS_PATH 属性和 AGGREGATOR 属性将继续包含二字节 AS 号.

为了在跨 OLD BGP speaker 时保留带有四字节 AS 号的 AS 路径信息, 本文档定义了一个新的 BGP 路径属性 AS4_PATH. 这是一个 optional transitive 属性, 其中包含以四字节 AS 号编码的 AS 路径. AS4_PATH 属性与 AS_PATH 属性具有相同语义和相同编码, 不同之处在于它是 "optional transitive", 并且承载四字节 AS 号.

为防止与 Confederation 相关的路径段可能传播到 Confederation 之外, 路径段类型 AS_CONFED_SEQUENCE 和 AS_CONFED_SET [RFC5065] 对 AS4_PATH 属性无效, 并且 MUST NOT 包含在 UPDATE 消息的 AS4_PATH 属性中.

类似地, 本文档定义了一个新的 BGP 路径属性 AS4_AGGREGATOR, 它是 optional transitive. AS4_AGGREGATOR 属性与 AGGREGATOR 属性具有相同语义和相同编码, 不同之处在于它承载四字节 AS 号.

当前已分配的二字节 AS 号通过将四字节字段的高位两个字节设置为零, 转换为四字节 AS 号. 这样的四字节 AS 号称为可映射到二字节 AS 号.

本文档保留一个名为 "AS_TRANS" 的二字节 AS 号. 在以二字节 AS 号编码的 AS 路径信息中, AS_TRANS 可用于将不可映射的四字节 AS 号表示为二字节 AS 号. (在此上下文中, 不是从二字节 AS 号映射而来的四字节 AS 号称为 "non-mappable".) 为便于本规范后续描述, 我们将这个特殊 AS 号记为 AS_TRANS. 当且仅当 NEW BGP speaker 没有 (全局唯一的) 二字节 AS 号时, 该 AS 号也会被放入该 NEW BGP speaker 发起的 OPEN 消息的 "My Autonomous System" 字段中.