7. RFC 3697 との相違点 (Differences from RFC 3697)
本文書は RFC 3697 を廃止し、フローラベル仕様にいくつかの重要な変更を導入します。本節では主要な相違点を要約します。
1. フローラベル分布の要件 (Flow Label Distribution Requirement)
RFC 3697: 送信元ノードがフローラベル値をどのように選択すべきかを指定せず、値が「均一に分布」すべきとのみ述べていました。
RFC 6437: フローラベル値が近似的に離散一様分布に従うことを明示的に要求し、擬似乱数関数の使用を推奨します。
2. ステートレスとステートフルのシナリオ (Stateless vs. Stateful Scenarios)
RFC 3697: フローラベルのステートレスとステートフルの使用を明確に区別していませんでした。
RFC 6437: ステートレスとステートフルのシナリオを明確に分離し、主にステートレス操作に焦点を当てます。
3. 負荷分散のユースケース (Load Distribution Use Case)
RFC 3697: 負荷分散を可能なユースケースとして言及していましたが、強調していませんでした。
RFC 6437: ECMP および LAG パスにわたる負荷分散のためのフローラベルの使用を明示的に奨励します。
4. セキュリティの考慮事項 (Security Considerations)
RFC 3697: フローラベルは「宛先ノードまで変更されずに渡されなければならない」と例外なく述べていました。
RFC 6437: 「説得力のある運用上のセキュリティ上の理由」によるフローラベルの変更を許可し、詳細なセキュリティの考慮事項を提供します。
5. 送信元ノードの動作 (Source Node Behavior)
RFC 3697: 送信元ノードがフローラベルをどのように設定すべきかについての具体的なガイダンスを提供していませんでした。
RFC 6437: 擬似乱数関数の使用や異なるフローに異なるフローラベルを設定する必要性など、送信元ノードに対する明確な要件を提供します。
6. ハッシュ関数のガイダンス (Hash Function Guidance)
RFC 3697: 「個々のフローラベルビットはハッシュキーとして不適切な素材である」と述べていました。
RFC 6437: フローラベルはハッシュ関数の一部として(単独ではなく)使用できることを明確にし、付録 A にサンプルハッシュ関数を提供します。
7. RFC 2205 の修正 (RFC 2205 Correction)
RFC 3697: RSVP(RFC 2205)との相互作用を扱っていませんでした。
RFC 6437: RSVP とともにフローラベルを使用することに関する RFC 2205 への重要な修正を含みます。
意図の要約 (Summary of Intent)
RFC 3697 から RFC 6437 への変更は以下を目的としています。
- 曖昧さの明確化 — 元の仕様の曖昧さを明確にする
- 実際の使用の奨励 — 特に負荷分散のためのフローラベルの実際の使用を奨励する
- 実装者へのガイダンス提供 — フローラベル値の生成と使用方法に関する実装者へのガイダンスを提供する
- セキュリティ上の懸念への対処 — 現実的な方法でセキュリティ上の懸念に対処する
- 運用経験の反映 — RFC 3697 の発行以来得られた運用経験を反映する