BGP / Border Gateway Protocol
■ BGP-4。Border Gateway Protocol Version 4。 インターネット全体を運用するために作られたルーティングプロトコル。 AS間のルーティング情報を交換するEGPのデファクト・スタンダード。 ISP間のトラフィックは、一般にBGPを用いて制御されている。 RFC1771で規定されている。1994年に登場した。 経路情報の交換の際は、 隣接ルータと直接TCPセッション(ピア、peer)を張る。 ポート179番を使用する。 パスベクトル方式のEGPプロトコル。メトリックにパス属性を使用する。 BGPを用いて経路情報を交換するルータを、BGPスピーカと呼ぶ。 IPv6n対応させたBGP-4+もある。 BGPルータは、経路情報の交換の際は、 隣接ルータと直接TCPセッション(ポート179番)を張る。 TCPの再送機能を利用して経路情報を確実にやり取りする。 BGPルータは、 OPEN、UPDATE、KEEPALIVE、 NOTIFICATIONという 4種類のメッセージを交換します。 OPEN ... 接続の初期にパラメータを交渉する UPDATE ... 経路情報を伝える KEEPALIVE ... コネクションの健全性を確認する NOTIFICATION ... エラーが発生したときに、その理由を伝える BGPは、インクリメンタルアップデート方式で、 変化した経路情報だけを、更新すべきアップデート情報として、伝達する。 ■ BGPメッセージの交換 ■ パスベクトル方式。 経路選択を行なうためのメトリックとしてパス属性を使用するプロトコル。 ここで、パス属性とは、経路情報に付加される属性情報を指す。 ■ パス属性。Path Attribute。 BGPは、デフォルトでは、AS_PATH属性に基づいて経路を選択する。 ■ パス属性一覧。 BGPの経路選択ルール。上から順に比較される。 ■ ORIGIN属性。 Originは、誰が経路を作ったかということを表します。 経路情報を生成したプロトコルを示しており、 それによって経路の優先度が変わる。 AS間でやり取りされる。 この属性のある経路を他のBGPルータに広告するときには、 基本的には、この属性を変更しないで広告します。 Originの値は、IGP、EGP、Incompleteの3つです。 ■ AS_PATH属性。 AS間でやり取りされる。 宛先ネットワークに到達するまでに、経由するASを列挙している。 BGPは、基本的に通過するAS数が少ない経路を選択する。 経由するASの数が最も少ないパスが、ベストパスとして選択される。 BGPは、隣のASから得た経路情報に自分のAS番号を追加して、 隣のASに配信する。 ポリシールーティングでは、 自分のAS番号を複数加えて見かけのAS数を増やすことにより、 トラフィックを制御する。 AS番号の列で表される経路情報。 目的地となるプロバイダのAS番号とネットワーク番号をセットにしたもの。 複数のASを経由する場合には、 経由するASの順番と宛先ネットワーク番号をセットにしたもの。 Ex) 200.4.0.0/16:2000 2004 200.3.0.0/16:2000 2004 2003 200.2.0.0/16:2001 200.1.0.0/16:2001 2002 ■ NEXT_HOP属性。 経路情報の経路とデータの経路は、方向が逆になる。 このため、データのNext Hopは、 ふつう経路情報を広告したルータのIPアドレスになる。 ただし、EBGPから受けた経路をIBGPで広告するときには、 経路の元のNext Hopをそのまま使う。 ■ MED属性。Multi Exit Discriminator。 MEDは、同一AS内の複数のEBGPルータから 別々に広告されてくる経路情報に対して、優先順位を持たせるもの。 異なるASから送られてくる経路情報については、MED値の比較は行なわない。 MEDの小さい経路がより優先的に選ばれる。 このため、自AS内のEBGPルータに設定しておき、相手のASに広報する。 これにより、自分のASに入ってくる下りトラフィックの制御ができる。 よく使われる。 ■ LOCAL_PREF属性。Local preference。 自ASに設定しておく。 BGPルータは値が大きい出口経路を優先する。 自分のASから出て行く上りトラフィックを制御するときに用いる。 たとえば、自ASから複数の出口経路がある場合、 経路AのLOCAL_PREF属性を100に、経路Bを200に設定すれば、 ルータは経路Bを優先する。 LOCAL_PREF属性は、AS_PATH属性に優先する。 Local Preferenceも、MEDと同様に優先順位を持たせるために使用しますが、 EBGPではなく、IBGPの間で使用します。 どこかから受けた経路をIBGPに広告するときに、この属性が付与されます。 この属性は局所的にしか有効でなく、 ルータを越えて伝達されることはありません。 MEDとは逆に値の高いものが優先されます。 ■ ポリシールーティング。 どこのASを経由させるか、トラフィックをどのように制御配分するか、 というAS独自のポリシーを反映させたルーティング。 BGPでは、各種のパス属性を適切に活用することにより、 ポリシールーティングを実現することが可能である。 ポリシールーティングを実現するパス属性には、 AS_PATH属性に優先するものと、優先しないものがある。 ■ eBGP。External BGP。 異なるASに属するBGPルータの間のTCPコネクションを EBGP (External BGP)という。 EBGPルータは、間にルータをはさむことはなく、直接に接続する必要がある。 EBGPルータは、他のBGPルータから教わった経路を、他のBGPルータに伝える。 ■ iBGP。Internal BGP。 IBGP。Internal BGP。 AS内に複数のボーダールータがあると、 お互い(フルメッシュ)に経路情報を交換する必要がある。 AS内部でBGPを使用する必要あり。 これをIBGP(Internal BGP)と呼ぶ。 同じASに属するBGPルータの間のTCPコネクションを IBGP (Internal BGP)という。 AS内部のルータの多くは、 OSPFだけでなくBGPも起動してiBGPセッションを確立する。 iBGPでは、BGPルータが直接につながっている必要はなく、 一般的には、非BGPルータを経由する。 ここで、iBGPセッションは、 AS外部と経路情報の同期を取るためだけ確立する。 iBGP間の通信に必要な経路は、 あくまでもOSPFなどのIGPによって制御される。 BGPのネクストホップをIGPで検索して、 IGPでのネクストホップを取得するプロセスを、 再帰検索という。 AS内部のBGPルータは、IGP同期を行なわないように、 すべて隣接させて、トランジット層を形成する。 また、BGPを起動しないルータによって構成される層をアクセス層と呼ぶ。 アクセス層にあるルータからASの外部へデータをルーティングするときは、 デフォルトルートを使ってトランジット層に転送する。 ■ ルートリフレクション。Route Reflection。 AS内で形成する内部ピアの数を減らすための方法。 ルータは、IBGPで教わった経路を、他のIBGPルータへ転送しない。 したがって、ASの中に複数のIBGPがあるときには、 AS内の各BGPスピーカ間の内部ピアを、 論理的にフルメッシュに形成しなければならない。 ルート・リフレクションはこの制限を緩和し、 内部ピアで配布された経路情報をほかの内部ピアに再配布することを許し、 AS内の内部ピアの数を減らす。 ルート・リフレクタ(RR)とそのクライアントでクラスタを形成する。 同一クラスタ内に複数のルート・リフレクタを持つこともできる。 ■ Looking Glass。 自分のASへの経路が、 外部からどのように見えているのかを確認するもの。 たとえば、DTI Looking Glass。http://neptune.dti.ad.jp/ スケーラビリティ問題。 ネットワークの規模が拡大することに伴って、 トラフィックの増加に伴うルーティング負荷増加などの問題が発生し、 ネットワークインフラを再検討を迫られる場合がある。 これをスケーラビリティ問題と言う。 たとえば、トラフィックが増加する場合は、 ルータに接続する回線容量が不足したり、 ルータのパケット転送能力が限界に達することがある。 ルーティングの場合は、 経路を演算する処理が増加してCPUで処理しきれなったり、 メモリの容量が不足して経路表やトポロジデータベースを メモリ上に展開できなくなる場合がある。 ----- ・ BGP RFC1771に規定されている 複数のバージョンがあるが、現在は「BGP-4(フォー)」が標準 IPv6の場合は、拡張版「BGP-4+(プラス)」を利用する 経路制御パラメータは複数あり、複合的に使用する 「MED(メド)」、「Local Preference」、「ASパス長」、その他 AS(自律システム、エーエス)とは 1つの経路制御ポリシーを持ち、自律的に経路制御できる範囲のことで ルーティングドメインとほぼ同義である 以上。 2004/03/24 pm