4.1 Extension Header Order (扩展报头顺序)
当在同一分组中使用多个扩展报头时, 建议这些报头按以下顺序出现:
IPv6 header
Hop-by-Hop Options header
Destination Options header (note 1)
Routing header
Fragment header
Authentication header (note 2)
Encapsulating Security Payload header (note 2)
Destination Options header (note 3)
upper-layer header
note 1: 用于由出现在 IPv6 Destination Address 字段中的第一个目的地
以及 Routing header 中列出的后续目的地处理的选项.
note 2: 关于 Authentication header 和 Encapsulating Security Payload header
相对顺序的额外建议在 [RFC-2406] 中给出.
note 3: 用于仅由分组最终目的地处理的选项.
每个扩展报头最多应出现一次, 除了 Destination Options header (目的选项报头), 它最多应出现两次 (在 Routing header 之前一次, 在上层报头之前一次).
如果上层报头是另一个 IPv6 报头 (在 IPv6 通过隧道传输或封装在 IPv6 中的情况下), 它可能后跟其自己的扩展报头, 这些扩展报头分别遵循相同的顺序建议.
如果并且当定义其他扩展报头时, 必须规定它们相对于上述列出的报头的顺序约束.
IPv6 节点必须接受并尝试以任何顺序处理扩展报头, 并且在同一分组中出现任意次数, 但 Hop-by-Hop Options header 仅限于紧跟 IPv6 报头后出现.尽管如此, 强烈建议 IPv6 分组的源遵守上述推荐的顺序, 直到并且除非后续规范修订该建议.