Overlayで利用できるOAMは今どんな手段が標準議論されているのかを調査しました。
draft-tissa-nvo3-oam-fm-04
VXLANをはじめとするNVO3でのOAM提案は、過去にdraft-tissa-nvo3-oam-fm-04があったが2017/11/6Expireしている。筆頭はCisco、Huawei所属の人も連名である。実装的にはCisco NexusのNX-OSのみの実装と思われる。 また、RFC7455: Transparent Interconnection of Lots of Links (TRILL): Fault Management , RFC7456: Loss and Delay Measurement in Transparent Interconnection of Lots of Links (TRILL)も参照しており、TLVのTypeなどは再利用していることになっている。
ドキュメントの随所にIEEE802.1Qの記載があり、基本的な概念はIEEE802.1Q/IEEE802.1agから持ってきている。 登場する代表的な用語は以下で基本的にはIEEE802.1Qから持ってきている。
用語 | 意味 |
---|---|
MP | Maintenance Point [8021Q] |
MEP | Maintenance End Point [8021Q] |
MIP | Maintenance Intermediate Point [8021Q] |
MA | Maintenance Association [8021Q] |
MD | Maintenance Domain [8021Q] |
CCM | Continuity Check Message [8021Q] |
LBM | Loop Back Message [8021Q] |
PTM | Path Trace Message |
MTV | Multi-destination Tree Verification Message |
ISS | Internal Sub Layer Service [8021Q] |
SAP | Service Access Point [8021Q] |
OAMのビットは、先頭から8bit目である。(https://datatracker.ietf.org/doc/html/draft-tissa-nvo3-oam-fm-04#section-4.2)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|R|R|R|I|R|R|O| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VXLAN Network Identifier (VNI) | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4 NVO3 shim with the "O" Flag```
これはVXLAN GPEを意識した位置である。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|R|Ver|I|P|B|O| Reserved |Next Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VXLAN Network Identifier (VNI) | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: VXLAN-GPE Header
脱線しているがNVO3標準のGENEVEはOAM bitがないようである。
Geneve Header:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver| Opt Len |O|C| Rsvd. | Protocol Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Virtual Network Identifier (VNI) | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Variable-Length Options ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
OAMは以下のヘッダ構造になっている。
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MD-L | Version | OpCode | Flags |FirstTLVOffset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
フィールド名 | 内容 |
---|---|
MD-L(Maintenance Domain Level)(3bits) | NVO3の場合は単一値で、ベースモードの場合は3 。 |
Version(5bits) | 802.1Qの定義に従う。 |
Flags(1Byte) | OpCode用の固有のFlag |
FirstTLVOffset | 最初のTLVの位置を示す。(802.1Qの定義に従う。) |
NVO3のOAM TLVフォーマットは802.1Qのsection 21.5.1に記載されているフォーマットと同じである。31番まではIEEE802.1Qの規定通りであり、32番以降がIETF Overlay拡張(要はこのドラフトの独自拡張と思われる)である。この拡張はRFC7455: Transparent Interconnection of Lots of Links (TRILL): Fault Management の再利用であるとSection14に書かれている気がする(14. IANA Considerations Re-use the Type and TLV from RFC7455.
)が、実際に見比べてみるとそうなっていない(ように見える)。
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 11 NVO3 OAM TLV
Type | TLV名 |
---|---|
0 | End TLV |
1 | Sender TLV |
2 | Port Status TLV |
3 | Data TLV |
4 | Interface Status TLV |
5 | Reply Ingress TLV |
6 | Reply Egress TLV |
7 | LTM Egress Identifier TLV |
8 | LTR Egress Identifier TLV |
9-30 | Reserved |
31 | Organization Specific TLV |
64 | OAM Application Identifier |
65 | Out of Band IP Address |
66 | Original Payload |
67 | Diagnostic VLAN |
68 | scope |
69 | Previous Device address |
70 | Next Hop Device List (ECMP) |
71 | Multicast Receiver Availability |
72 | Flow Identifier |
73 | Reflector Entropy |
74 to 95 | Reserved |