AS_PATHプリペンド
BGPで経路を広告する際に、AS_PATH属性へ自分のAS番号を意図的に複数回追加して、経路を長く見せる手法。外部から自分のASへ来る通信について、特定の入口を選ばれにくくするために使う。
イマシルちゃんの解説
インターネットでは、プロバイダなどが管理するネットワークのまとまりをASというんだ。
BGPの経路情報には、経由するASの番号を並べたAS_PATHが付いているよ。
同じ宛先への経路がいくつかあるとき、ほかの条件が同じなら、この番号の並びが短い経路を選びやすいの。
そこで、自分のネットワークへ入ってくる予備の経路を知らせるとき、AS_PATHに自分のAS番号をわざと何度も書き足すんだ。
これがAS_PATHプリペンドだよ。
こうして、自分が知らせた経路を相手に選ばれにくくするんだ。
ただし、実際にどの経路を選ぶかは相手側の判断だから、必ず狙いどおりになるわけではないの。
この解説はわかりやすかったですか?
より深い解説
定義
AS_PATHは、BGPの経路情報に含まれるパス属性の1つで、その経路が通ってきたASの番号の並びを表す。BGPのルータは、ほかの条件が同じなら、AS_PATHの短い経路を優先する。AS_PATHプリペンドは、経路を広告するときにAS_PATHの先頭に自分のAS番号を余分に追加して、AS_PATHを長くする設定である。
例
AS 65001 が、2本の回線(ルータR1、R2)で、相手のASと接続している場合
| 広告するルータ | 広告するAS_PATH | 長さ |
|---|---|---|
| R1(主回線) | 65001 | 1 |
| R2(副回線) | 65001 65001 65001 | 3 |
相手のASは、AS_PATHが短いR1からの経路を選ぶ。R1との接続が切れると、R2からの経路だけが残るため、R2が使われる。このように、副回線として使いたいルータからの広告のAS_PATHを、主回線より長くすることで、主・副の関係を作れる。
「出口」と「入口」の制御
| 制御したいもの | 主な方法 |
|---|---|
| 自分のASから出ていく通信の経路 | LOCAL_PREF(自AS内で、どの出口を優先するかを決める) |
| 相手のASから自分のASに入ってくる通信の経路 | AS_PATHプリペンド、MED |
AS_PATHプリペンドは、自分では直接決められない「相手からの通信がどちらの回線を通るか」に影響を与えるための手段である。ただし、最終的にどの経路を選ぶかは相手のASのポリシー次第であり、相手がLOCAL_PREFなどで別の判断をすれば、意図どおりにならないこともある。
経路選択の主な順序(一般的な実装)
AS_PATHの長さは、LOCAL_PREFの次に比べられる、影響の大きい属性である。
午後での問われ方
「通常は一方のルータで通信し、使えないときはもう一方を使う」という冗長構成で、副系のルータが広告するAS_PATH長を、主系と比べてどうするかが問われる。答えは、副系のほうを長くする、である。
実際の試験ではここに出る!全1問
ネットワークスペシャリスト
- 午後Ⅰ