geneve-oamを調べてみた

VXLAN-OAMや、IOAMを調べている間に、GENEVEのOAM(https://datatracker.ietf.org/doc/draft-ietf-nvo3-geneve-oam/)とVXLAN BFDを規定したRFC8971を発見した。この2つのドキュメント2名の著者が重複している。( G. Mirsky氏(ZTE→Ericsson), S. Pallagatti(vmware))。

January 8, 2024

IOAMを調べてみた(2)

In-Situ OAMと既存プロトコルの関係 前回見たIOAMのデータ構造は様々なプロトコルの埋め込みが検討されている。 RFC9378の5章に記載があるのが以下のプロトコルである。 IPv6: RFC9486 NSH: RFC9452 BIER: https://datatracker.ietf.org/doc/html/draft-xzlnp-bier-ioam GRE: https://datatracker.ietf.org/doc/html/draft-weis-ippm-ioam-eth : : Expire(2022/8/25) GENEVE: https://datatracker.ietf.org/doc/html/draft-brockners-ippm-ioam-geneve : Expire(2021/5/23) SR: https://datatracker.ietf.org/doc/html/draft-gandhi-mpls-ioam SRv6: https://datatracker.ietf.org/doc/html/draft-ali-spring-ioam-srv6 : Expire(2023/1/10) VXLAN-GPE: https://datatracker.ietf.org/doc/html/draft-brockners-ippm-ioam-vxlan-gpe IPv6とNSHはStandard RFCで、それ以外は今のところ個人ドラフトである。 IPv6は既にLinuxに実装されている。以下のリンクが参考になる。IOAMの強みは実装が既にあることである。 https://github.com/torvalds/linux/commit/7C804E91DF523A37C29E183EA2B10AC73C3A4F3D#diff-2057966913dd51af9650a4c3dd9900811631e93961b0ad48e78d74026e1b726a https://zenn.dev/shu1r0/articles/0e8e0d79ea75e9 RFC9259がある中でSRv6がExpireしているのが意外であるが、RFC9486のIPv6のIOAMを併用すればSRv6環境でも使えるだろうし、そもそもuSID(Compress SID)でSRHを使わない環境が多くなっていくとするとSRHで実現する必要性も薄い。(議論の経過は追いかけていないので勝手な推測である。) VXLAN-GPEのDraftも、03は2020/5/7にExpireしており、04が2023/11/26に作成されているところを見ると、他のプロトコルも突然更新がされる可能性もある。 GENEVEもExpireしているのでVXLAN-GPE用のIOAMを調査してみる。なおVXLAN-GPEは(NVO3の標準はあくまでGeneveであるため)Informational Trackで進んでいるのにもかかわらず、VXLAN-GPE用のIOAM個人ドラフトはStandard Trackで進んでいる。 VXLAN-GPEのIOAMのOSS実装はVPPで行われている。 https://github.com/FDio/vpp/blob/master/src/plugins/ioam/lib-vxlan-gpe/ VXLAN-GPE用のIOAMヘッダ構造はVXLAN-GPEヘッダも含めて記載では以下の通りになる。 VXLAN-GPEヘッダのNext PotocolはIOAMを示す0x81(提案ドラフトの提案値)で、RFC9305(LISP-GPE)に対する提案値と同一である。 IOAMのヘッダ構造構造(IOAM-Type, IOAM HDR len, Reserved, Next Protocolの並び順)は、NSH用のIOAM(RFC9452)と同一になっている。 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Outer Ethernet Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Outer IP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Outer UDP Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+ |R|R|Ver|I|P|R|O| Reserved | NP=TBD_IOAM | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ GPE | Virtual Network Identifier (VNI) | Reserved | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ | IOAM-Type | IOAM HDR len | Reserved | Next Protocol | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ I !...

January 8, 2024

IOAMを調べてみた(1)

In-Situ OAM 過去のNVO3での提案は802.1agをもとにした方式が提案されたいた。一方最近は、IETFの計測系WGであるIPPM(IP Performance Metric) WGでIn-Situ OAMが積極的に標準化されている模様である。WikipediaによるとIn-Situ(イン・サイチュ)とはラテン語で「その位置において」ということらしい。 RFC 9197 - Data Fields for In Situ Operations, Administration, and Maintenance (IOAM)と、 RFC 9378 - In Situ Operations, Administration, and Maintenance (IOAM) Deploymentを読むのがよさそうである。 IOAMの種類は以下の4つのオプションタイプ。 ホップ毎トレース(Per-hop tracing) 事前確保済み形式(Pre-allocated) 増分形式(Incremental) トランジット証明(Proof of Transit) エッジツーエッジ(E2E: Edge-to-Edge) 直接エクスポート(DEX: Direct Export) ホップ毎トレース オプションタイプ RFC9197によるとPre-allocated and Incremental(事前確保済み及び増分の)Trace-Option Header用には以下のデータフォーマットが定義されている。 ヘッダ 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Namespace-ID |NodeLen | Flags | RemainingLen| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IOAM Trace-Type | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ データ...

January 7, 2024

vxlan-oamを調べてみた

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....

January 7, 2024