BGPの概要 ~基礎編②~

ベル

今回の授業は、「BGPのパス属性(アトリビュート)」について教えていこうと思います。前回の授業では、BGPのメッセージについて学んでいきましたが、このUPDATEメッセージに含まれるものですね。まだ受講していない方は、こちらから。

BGPの概要 ~基礎編①~

 

それでは、パス属性について学んでいく訳ですが、前回の授業を振り返ってみましょう。パス属性とは、1つのルートに対して複数の経路を学習した場合、どの経路を通るのが一番近いかを判断するための比較材料となります。この一番近いと言っているのは、距離だけの話ではなく、多くの指標から成り立つ仕組みを持っているのが、このBGPなのです。前回の授業でも載せたパス属性リストを載せておきます。

 

 

 

WEIGHTアトリビュート

まず最初に経路を比較する際に使用されるのが、WEIGHTアトリビュートと呼ばれるものです。このWEIGHTアトリビュートは、Cisco社独自のアトリビュートで、とてもシンプルなアトリビュートになります。どの辺がシンプルかと言うと、このWEIGHTアトリビュートは、隣接のBGPネイバーに伝達されるものではなく、自分自身で指定して使用されるアトリビュートになります。例えば、以下のような構成で使います。

 

 

ルータ#4に属するセグメント「10.10.40.0/24」へ通信したい場合、ルータ#1は、ルータ2#とルータ#3から経路情報をもらいます。すると、ルータ#1は、それぞれの経路情報に自分自身で優先順位つけるために、WEIGHTを付けます。たとえば、ルータ#2経由を「20」、ルータ#3経由を「30」のWEIGHTアトリビュートを付けると、値が大きいルータ#3経由がルーティングテーブルに載り使用されることになります。しかし、ここで指定したWEIGHTアトリビュートの値は他のルータに伝搬されることありません。

 

LOCAL_PREFアトリビュート

LOCAL_PREFアトリビュートは、iBGPでのみ使用されるアトリビュートで、eBGPでは伝搬されません。そのため、外部には影響を出さずに優先ルートを指定したい場合などに多く使われるアトリビュートです。LOCAL_PREFENCEなどとも呼ばれ、複数の経路の中からLOCAL_PREF値の大きい経路を優先的に使用されるようになります。よく、MEDアトリビュートと混同してしまうことがあります。後述してありますので、こちらと比較して覚えておくようにしましょう。

 

ローカルルータが発信元

LOCAL_PREFが同じである場合は、自ルータ(ローカル)で生成された経路が優先されます。自ルータで生成とは、『network』コマンドで指定することでルートの生成がされます。

 

AS_PATHアトリビュート

AS_PATHアトリビュートとは、送信元のルータから自ルータまでにホップしてくるルータが所属するAS番号を記録していき、そのAS番号の数が少ない方を優先的に使用するという仕組みなっています。以下の構成図を見てください。

 

 

このような場合、ルータ5は、ルータ2を経由する経路であれば、自分のASを除けばAS100、AS200で2つのASを通るだけでルータ1に辿り着きます。しかし、ルータ4を経由する経路であると、AS100、AS300、AS400と、3つのASを通ることになります。これにより、ベストパスはルータ2と判断されるのです。このAS_PATHアトリビュートは、優先・非優先を決めるだけでなく、ルーティングループを防止するための仕組みとしても利用されます。このルーティングループを回避する話は、また、eBGPの特徴を説明する授業で教えます。

 

ORIGINアトリビュート

ORIGINアトリビュートでは、以下の3つに分けて判断されます。

 

 

上から順に優先されるようになっています。なかなかシンプルな仕組みになっていますね。

 

 

MEDアトリビュート

MEDアトリビュートでは、ルートを隣接するASに提供する際に、MED値を付けて送付する仕組みになっています。この仕組みを使用することで、別AS間で複数の経路がある場合などの制御が可能となります。ただし、さらに後ろのASに対しては、MED値を付けて送付することが出来ないので、注意してください。この次のASにMED値を継承して送付することが出来ないことで、影響範囲を特定することが可能ともなりますので、必ずしもデメリットであるとは限りません。

 

 

BGPの種類

BGPの種類と言っているのが、iBGPかeBGPかの2種類があると教えたと思いますが、このうちeBGPの方が優先されるという仕組みです。ただ、これだけのことですが、結構、忘れがちだったりします。

 

 

NEXT_HOPへの最短ルート

NEXT_HOPについては、他のアトリビュートとは少し異なります。これは、宛先に対してネクストホップを指定して伝達される仕組みとなっています。その仕組みはeBGPとiBGPで指定するネクストホップが異なるのです。eBGPでは自分のIPアドレスを送付しますが、iBGPは隣接するeBGPからもらったネクストホップIPアドレスをそのまま送付するようになっています。

 

このiBGPの仕組みが、宛先までの到達性有無を判断することが出来るのです。たとえば以下のような構成であれば、ルータ1からルータ2に向けては、ルータ1のIPアドレス(10.10.1.1)を伝えるため、ルーティング上問題なく到達性を確保することが出来ます。しかし、ルータ2からルータ3に対しては、iBGPであるため、ルータ1から受信したIPアドレス(10.10.1.1)をそのまま転送します。そのため、ルータ3からルータ1のIPアドレス向けのルーティングがないと到達性が確保できず、通信不可と判断されます。

 

ルートを学習してから最も時間が経過しているルート

これはすごいシンプルな仕組みで、ルートを学習してから最も時間が経過しているルートを優先する仕組みです。これは、eBGPでのみ採用されるアトリビュートです。外的要因で通信がバタつくことがあるため、学習してから時間が経過している経路を優先的に使用することで、通信断が発生しないような仕組みになっています。

 

ただし、このアトリビュートを採用してしまうと、どちらの経路を優先的に使用するように設計することが困難になります。そのため、あまり使われるようなことはないと思われます。

 

BGPのルータID

BGPを使用する際に、ルータIDを指定することが出来ます。これは、これまでのアトリビュートに差分が全くない場合に使用されます。そもそもルータIDとは、ルータでBGPを使用する際に、一意で使用するIDになります。ルータIDは、使用しているIPアドレスを明示的に指定することもできますが、指定していない場合は、作成しているLoopbackインターフェイスの中で一番大きいIPアドレスが選出されます。しかし、もしLoopbackインターフェイスがない場合は、それ以外にインターフェイスの中で一番大きなIPアドレスが選出されます。

 

宛先に向かって複数の経路が見えている場合は、受け取っている経路のルータIDが最も小さいルータから受信した経路を優先するようになります。

 

 

まとめ

ベル

今回の授業はここまでです。たくさんありますが、ゆっくり覚えていければいいと思います。それに全部使ってるネットワークなんてないので、必要に応じてそれぞれのパス属性よ特徴を理解した上で選択して使ってもらえればと思います。さて、次の授業に進みましょう!

 

【BGPの概要 ~基礎編③~】 iBGPを学ぼう!

BGPの概要 ~基礎編③~

 

BGP-TCP/IPルーティングとオペレーションの実際

BGP―TCP/IPルーティングとオペレーションの実際

新品価格
¥4,536から
(2018/12/9 23:31時点)

 

インターネットルーティングアーキテクチャ BGPリソースの詳細

インターネットルーティングアーキテクチャ ― BGPリソースの詳解 第2版

中古価格
¥8,543から
(2018/12/9 23:33時点)

マスタリングTCP/IP ルーティング編

マスタリングTCP/IP ルーティング編

新品価格
¥2,592から
(2018/12/9 23:30時点)


ルーティングの授業

静的ルーティング(スタティックルート) ~基礎編①~

静的ルーティング(スタティックルート) ~設定編①~

EIGRPの概要 ~基礎編①~

EIGRPの概要 ~設定編①~

OSPFの概要 ~基礎編①~

OSPFの概要 ~設定編①~

 

 

 

Follow me!

BGPの概要 ~基礎編②~” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です