跳到主要内容

4.1. Generic BFD Control Packet Format (通用 BFD 控制包格式)

4.1. Generic BFD Control Packet Format (通用 BFD 控制包格式)

BFD 控制包具有一个必需段 (Mandatory Section) 和一个可选的认证段 (Authentication Section)。认证段的格式 (如果存在) 取决于所使用的认证类型。

BFD 控制包的必需段具有以下格式:

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Vers | Diag |Sta|P|F|C|A|D|M| Detect Mult | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| My Discriminator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Your Discriminator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Desired Min TX Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Required Min RX Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Required Min Echo RX Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

可选的认证段可能存在:

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Type | Auth Len | Authentication Data... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Version (Vers)

协议的版本号。本文档定义协议版本 1。

Diagnostic (Diag)

诊断代码, 指定本地系统会话状态上次更改的原因。值为:

   0 -- No Diagnostic
1 -- Control Detection Time Expired
2 -- Echo Function Failed
3 -- Neighbor Signaled Session Down
4 -- Forwarding Plane Reset
5 -- Path Down
6 -- Concatenated Path Down
7 -- Administratively Down
8 -- Reverse Concatenated Path Down
9-31 -- Reserved for future use

此字段允许远程系统确定先前会话失败的原因。

State (Sta)

发送系统看到的当前 BFD 会话状态。值为:

0 -- AdminDown
1 -- Down
2 -- Init
3 -- Up

Poll (P)

如果设置, 发送系统正在请求连接验证或参数更改验证, 并期望接收到带有 Final (F) 位的数据包作为回复。如果清除, 发送系统不请求验证。

Final (F)

如果设置, 发送系统正在响应接收到的设置了 Poll (P) 位的 BFD 控制包。如果清除, 发送系统不响应 Poll。

Control Plane Independent (C)

如果设置, 发送系统的 BFD 实现不与其控制平面共享命运 (换句话说, BFD 在转发平面中实现, 可以在控制平面中断期间继续运行)。如果清除, 发送系统的 BFD 实现与其控制平面共享命运。

此位的使用依赖于应用, 超出了本规范的范围。详细信息请参见特定的应用规范。

Authentication Present (A)

如果设置, 认证段存在且会话将被认证 (详细信息请参见第 6.7 节)。

Demand (D)

如果设置, 按需模式在发送系统中激活 (系统希望在按需模式下运行, 知道会话在两个方向上都是 Up, 并指示远程系统停止周期性传输 BFD 控制包)。如果清除, 按需模式在发送系统中未激活。

Multipoint (M)

此位保留用于 BFD 未来的点对多点扩展。在发送和接收时必须为零。

Detect Mult

检测时间乘数。协商的发送间隔乘以此值, 在异步模式下为接收系统提供检测时间。

Length

BFD 控制包的长度, 以字节为单位。

My Discriminator

由发送系统生成的唯一的非零鉴别器值, 用于在同一对系统之间解复用多个 BFD 会话。

Your Discriminator

从相应的远程系统接收的鉴别器。此字段反映接收到的 My Discriminator 的值, 如果该值未知则为零。

Desired Min TX Interval

这是本地系统在发送 BFD 控制包时希望使用的最小间隔, 以微秒为单位, 减去任何应用的抖动 (参见第 6.8.2 节)。值零是保留的。

Required Min RX Interval

这是此系统能够支持的接收 BFD 控制包之间的最小间隔, 以微秒为单位, 减去发送方应用的任何抖动 (参见第 6.8.2 节)。如果此值为零, 发送系统不希望远程系统发送任何周期性 BFD 控制包。

Required Min Echo RX Interval

这是此系统能够支持的接收 BFD 回显包之间的最小间隔, 以微秒为单位, 减去发送方应用的任何抖动 (参见第 6.8.9 节)。如果此值为零, 发送系统不支持接收 BFD 回显包。

Auth Type

如果设置了认证存在 (A) 位, 则表示正在使用的认证类型。

    0 - Reserved
1 - Simple Password
2 - Keyed MD5
3 - Meticulous Keyed MD5
4 - Keyed SHA1
5 - Meticulous Keyed SHA1
6-255 - Reserved for future use

Auth Len

认证段的长度 (以字节为单位), 包括 Auth Type 和 Auth Len 字段。