2009年5月30日土曜日

ポイズンリバース【IT用語学習】

分類:
ネットワーク用語

目的:
障害時におけるループを防止しつつ、故障箇所を通達していく仕組み☆

類似:
スプリットホライズン方式高速版☆

概要:
故障情報を故障箇所の近い側から遠い側へ伝達していく☆

語源:
故障情報の事を別名で毒を意味するポイズンが使われている☆

詳細:
故障情報から遠い側:=故障情報を知らない側から
故障情報に近い側:=故障情報を知っている側へ
ルーティング情報が流れた際に、受け取った側は、
その情報を無視してルーティング情報を書き換えないタイプが
『スプリットホライズン』。
遠いほうからの旧情報を受け取った直後に故障情報を返信して
あげるのタイプが『ポイズンリバース』☆

関連:
ルーティング情報を通知する横の連絡網の通知の向きが両方向あるため
ループの問題が発生してしまう。そのため、故障発生の連絡に限り、
故障側に近い情報のみを信用して、遠い側からの情報を無視するだけの
『スプリットホライズン』という方式がある。

ルーティング情報を通知するのは、各ネットワーク装置において独自の
タイミング(や通知禁止ルート設定など)があり、各自のタイミングで
通知すると障害情報の伝達が遅くなり、その間に伝達不能なデータが
往復してしまう(往復共にデータの時、行きはデータ帰りは障害情報の
2種類を指す)危険がある。
その状態では、無駄なトラフィックが発生しネットワークが不安定化
や障害情報通達の遅れなどの問題が発生してしまう恐れがある。
そのため、障害から遠い側からの通知タイミングを利用して即時返信
(リバースの単語が使われています)すると早期に周知が完了する
という仕組みが『ポイズンリバース』☆

背景:
そもそも、何でこんな仕組みが必要なのかというと、
ネットワーク機器のうち、ルーティングという小規模の閉じたネットワーク
同士を結ぶ機能を持つ『ルータ』と呼ばれる機器等で使われている
『ルーティングテーブル』の管理方式が課題となっています。
機器はデータ伝送を最適に保つために、
1.テーブルを最新に保つ
2.複数の経路をテーブル上で管理する
という目的で、1つの経路に対する複数の経路情報を優先度をつけて管理します。
管理手法の代表的な方法として、伝送コスト(時間、距離、料金)やホップ数を
値として接点番号(接続方角)と共に保持し、もし同一目的地への経路が
複数存在する場合は、その全てを保持しようとします。
複数の伝送ルートを保持してしまう理由は、不慮の故障や輻輳
(データ伝送リクエストが混む事により、空いている時に比べて
伝送時間というコスト評価が下がってしまう現象)
が発生した場合の回避ルートへの転送をしたい為である。
伝送先とコスト評価値の管理情報セットを隣同士の機器へ教えあう
しくみがあり、その情報を多量に保持することで、メッシュ状態の
ネットワークを簡潔に処理できるとして機器性能を維持しようとします。
ところが、このコスト値を使って故障情報を送ってしまうために、
故障として判断できず、正規ルートなのにコストが悪い風な
なんとも根拠に基づかない挙動が発生し、
ネットワーク障害が発生してしまいます。
この設計障害に対する回避策として利用されています☆
(これを通常はバグと呼びます〜インターネットなどの手法が
素人集団の思いつきや遊びの中からから始まった為です
米軍が作ったと言う論では無く〜国が学生への費用負担が正論)

注意:
ポイズンリバースの欠点は故障情報が割と早く伝わる反面、
範囲の広い災害などが発生した場合に通達回数が増えてしまい、
通常のデータ通信を妨害してしまう点。
そのため、狭い範囲、管理できる範囲、物理的距離の近い範囲などに
限定して適用するように設計する必要が発生する☆

同様な事はルーティング情報通知周期の短い設定における
スプリットホライズン方式においても心配する必要がある。
そのため、通知周期を調整したり、別の仕組みを併用する
方法などが実際に使われている☆


メモ:
『ホライズン』を辞書引きしたがの意味理解や由来を納得出来ていませんでしたが〜地平線と水平線の包括的事象を表現できる為、WWWの発音が長い為に代用していたのかも。地表☆