パケットをどの回線に流すかを判断するルーティングテーブルを生成するルーティングプロトコル。如何に、最適なパスを選択しかつ、複雑な経路であっても到達性を確保するための重要な技術です。

このルーティングプロトコルに、回線の使用率を考慮させた方がパス的には最短で有っても混んでいるパスを避けることが出来ると考えられます。広義の「adaptive routing」ですね。

30年前にciscoのEIGRPがbandwidth、概ね5分間平均の回線使用率を経路制御のメトリックに反映する実装を行ったことがあります。でも、実用されることはありませんでした。基本的に、回線の使用率を考慮して経路判断を行うとその判断によって回線使用率が変化しそれによって再び経路判断が変更されるという制御ループが発生してしまうからです。

様々なタイマーを用いたり試行錯誤されましたが、結局は人間が意図的に回線使用率を考慮して経路を変更するTE(Traffic Enginnering)運用に落ち着いたのです。

 

ECMP : Equal-cost multi-path routing 

データセンター内ネットワークにおけるadaptive routing
  1. 並行して設置されているために通信メトリックが同一の複数path。IEEE802.3ad等、link aggregation。
  2. L2 Pathでメトリックが同じ複数のpath
  3. L3 pathでメトリックが同じ複数のpath

 

hashによる振り分け

基本的は実装はhash tableによる振り分けです。全てのflowの帯域差は少ない場合には概ね良好に機能します。ですので、インターネットのバックボーン等の膨大な細いflowが流れる箇所では十分な場合もあります。

しかし、データセンター内のflowはその帯域差が大きく離散します。複数の巨大な帯域を要求するflow(Elephant flows)をたまたま同じ経路を流してしまえば通信品質の低下を招きます。ですのでflowのサイズもしくは回線使用率を判断要素に加えたくなるのです。

Mellanox Culumus Adaptive routing
cumulus@switch:~$ nv set interface swp51 router adaptive-routing enable on

flowletによりパケット間隔を計測

Juniper ALB
cisco DLB
リオーダーの回避方法

そもそも、何故こんなに複数パスの振り分けに苦労するのでしょうか。それは到達順序を担保する必要があるからです。何らかの語りで一連の"flow"を認識し、同一フローは同じ経路に流さないといけません。

flowの認識手法
  • アドレスpair
  • ポートpair
tunnelingによる偏り

トンネルによりカプセル化されたパケットは全て同一flowとして扱われる。

UCMP : Unequal Cost Multi Path

ある程度コスト差を許容し必ずしもbestでないパスにも流す。

この記事をシェア

Previous Article

July 8, 2023 • 7:29PM

Next Article

July 13, 2023 • 2:47PM

Topics

トピックがありません。

From Our Blog