◦ 開発の経緯 - SRv6 フロー解析の要求 • IP Flow Information eXport(IPFIX) ◦ IPFIX の役割と仕組み ◦ Export of Segment Routing over IPv6 Information in IPFIX • ⾃作 IPFIX exporter 実装 - Fluvia Exporter ◦ 設計・実装 ▪ eBPF/XDP ▪ IPFIX Library ◦ ユースケース ◦ 動作デモ • まとめと今後の展望 ⽬次 Import the library Get flow information Capture packets and aggregate them by flows. Send records (via channel) Launch multiple goroutines Driver XDP entrypoint eBPF (capturer.c) eBPF maps meter.go exporter.go CLI fluvia command IPFIX Library Export IPFIX packet User land Kernel land NIC NIC Receive IP traffic
SRv6 網のフローを取得&解析したい︕ ◦ SR Policy やスライス情報を含めたフロー解析 ▪ E2E のトレーサビリティ ▪ Fast ReRoute を含めた障害時の追跡など ◦ フロー毎の遅延 metric を⽤いた⾼度な TE の実現 • いくつかの関連技術が存在 ◦ IPFIX on-path Telemetry(draft-ietf-opsawg-ipfix-on-path-telemetry) ▪ IPFIX を利⽤し hop-by-hop な遅延を計測する技術。draft-ietf-opsawg-ipfix-srv6-srh で SRv6 にも対応 ▪ IOAM (RFC9378) が必要。計測対象は IPv6/NSH/BIER/GRE/Geneve/SR-MPLS/SRv6 のいずれか ◦ SRv6 Path Tracing(draft-filsfils-spring-path-tracing) ▪ SRH に中継デバイス・インターフェース ID・per-hop な遅延を記録する技術。計測対象は SRv6 のみ ◦ Two-Way Active Measurement Protocol(TWAMP, RFC 5357) ▪ ある区間の遅延を測定し、IGP(IS-ISやOSPF)で広告& metric として利⽤可能な技術。フロー毎の遅延特性を得るには不向き → 機能と汎⽤性を考慮し IPFIX on-path Telemetry に期待︕ CE CE ASBR P ASBR ASBR P ASBR SFC Proxy Network Function PE ASBR PE P PE CE CE PE PE P ASBR CE SR-MPLS domain SR-MPLS domain SR-MPLS domain SRv6 domain AS AS AS AS multi-AS SR(JANOG50, JANOG52)
Template Record と Data Record • Template Record ◦ フローのフォーマットを定義するための Record。基本的なフロー情報を定義 • Options Template Record ◦ そのフローに付随する追加の情報を扱うための Template Record • Data Record ◦ 実際のフロー情報。Template で定義されたフォーマットでデータを格納 ◦ 異なるフローを1つの Data Record に格納可能 Set ID︓2 (Template Record) Template ID はこの例では256 Set ID は対応する Template ID (この例では256) Template に従いデータを格納。 この例では3つのフローを 1つの Data Record で送信 フローに含まれる IE とLength