ネットワークエンジニアを目指して。ルーティング技術 BGP -BGPの動作-

初心者にも理解できるネットワーク技術
  ↓メールマガジン購読はこちら↓

  メールアドレス:

ホーム > ルーティング技術 > BGP -BGPの動作-

BGP -BGPの動作-

はてなブックマークに追加はてなブックマークに追加 このエントリーを含むはてなブックマーク
Yahoo!ブックマークに登録 Yahoo!ブックマークでこのサイトを登録している人数 人が登録
この記事をクリップ!

おすすめ書籍紹介

インターネットルーティングアーキテクチャ
BGP解説本では最強。非常に解説がわかりやすく。BGPを学びたい人、ISPエンジニアな人には必須本!!翻訳もわかりやすいです。

Cisco BGP‐4コマンド設定ハンドブック
副題が「Cisco IOSで使うすべてのBGP‐4コマンドを完全詳解 」とあるように、Ciscoを使用したBGPネットワークを運用、設計をしている方はとりあえず持っていて損はないのではないでしょうか?コマンドをただ並べているのではなく、コマンドの説明や使用方法なども説明してあり便利です。


BGPの動作

BGPを使用したネットワークにおいてどのようなロジックで経路選択を行っているかを説明します。
今まで解説してきたようにBGP自体は非常に単純なプロトコルですが、それ故非常に柔軟な設定を行うことが可能です。

ここでBGPの基本動作についておさらいしましょう。

  • BGPルータのルート交換はBGPピア同士がUPDATEメッセージを送ることで行う。
  • 受け取ったUPDATEメッセージから、そのUPDATE情報に基づいたポリシーやフィルタリングを施し他のBGPピアへ送信する。
  • 通常BGPルータは同じ宛先への複数のルート情報を受け取った場合、すべてのルート情報を送るのではなく、最適なルート情報のみを送る。
  • BGPルータはBGPピアから学習したルート情報から最適なルート情報のみ自身のルーティングテーブルに取り込む。
  • BGPはAS_PATH属性内に自AS番号が存在すると(iBGPで学んだ経路は)、経路がループしていると判断し取り込まない。
  • BGPピアからもらったルート情報は、そのBGPピアには返さない。


  ※クリックすると大きな画像で見れます。

AS20内のNetwork172.16.1.0/24に対してAS10内のルータRTBは、RTD経由とRTA経由から経路をもらいます。RTBは2つのルート情報を比較し最適なルート(この場合はRTDからのルート)を自身のルーティングテーブルに取り込みます。

RTDは自身の中で最適なルート情報のみをピアに送るためRTD経由のルート情報をRTAには送りません。

 

 

BGPのルート制御

BGPは様々なパスアトリビュートルートマップを使用してルーティングを思い通りに制御することができます。

経路フィルタリング
特定のネットワークのみを取り込みたいときや、一部のネットワークを広告したくない場合などに使用する。フィルタリングの方法として以下のような方法がある。

1.PREFIXフィルタ
PREFIX長をもとにフィルタリングを行う方法。

上図のようにAS20内のネットワーク172.16.1.0/24をRTAへ伝搬させたいが、AS10からAS30へは伝搬させたくないといったとき、RTBにてPrefixListをしようしてフィルタリングを行います。

router bgp 10
no synchronization
neighbor 10.1.1.1 remote-as 10
neighbor 192.168.1.1 remote-as 30
neighbor 192.168.1.1 prefix-list 1 out

ip prefix-list 1 seq 5 deny 172.16.1.0/24
ip prefix-list 1 seq 10 permit 0.0.0.0/0 le 32

以上のようにrouter bgpコマンド内の

neighbor ip-address prefix-list list-name in|out

で定義し、フィルタリングは

ip prefix-list list-name permit|deny ip-address/prefix [ge-value] [le-value]

で定義します。
また、PrefixListは通常のAccess-listと同様にリストの最後には暗黙のDenyがあるためすべてのアップデートを許可する設定を入れています。最後のle 32は0.0.0.0/0にたいしPrefix長32ビット以上(longer equal)、つまりすべてのネットワークを表します。

2.ASパスフィルタ
ASパスフィルタは文字通りASパス情報に基づきフィルタリングを行います。

上図でAS20から生成された情報をAS30に送信しないようにするには、RTBにてASパスフィルタリングを行います。

router bgp 10
no synchronization
neighbor 10.1.1.1 remote-as 10
neighbor 192.168.1.1 remote-as 30
neighbor 192.168.1.1 filter-list 1 out

ip as-path access-list 1 deny ^20$
ip as-path access-list 1 permit .*

以下のようにrouter bgpコマンド内の

neighbor ip-address filter-list list-name in|out

で定義し、フィルタリングは

ip as-path access-list list-name permit|deny as-regular-expression neighborip-address|peer-group-name filter-list access-list-number in|out

で定義します。
上記の例では、20 で始まり(^)、20 で終わる($)パス情報を含む更新をすべて拒否することを示しています。^20$ のような表記は正規表現と呼ばれ、^ は「で始まる」、$ は「で終わる」を意味します。

3.Communityフィルタ
経路情報にあるCommunity属性に基づきフィルタリングを行います。

Communityフィルタについても、上図構成でAS20内で生成された172.16.1.0/24をAS30に送信しないようにするための設定を解説します。
そのためにはRTCにてコミュニティアトリビュートを設定します。

router bgp 20
no synchronization
neighbor 10.100.1.1 remote-as 10
neighbor 10.100.1.1 send-community
neighbor 10.100.1.1 route-map setcommunity out

route-map setcommunity
match ip address 1
set community no-export

access-list 1 permit 0.0.0.0 255.255.255.255

router bgpコマンド内でroute-map setcommunityコマンドでrouter mapを定義し、コミュニティno-exportを設定しています。

コミュニティアトリビュート no-export を含む更新を受信したRTAは、その更新を外部ピアのRTDに伝搬しません。

 

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

  メールアドレス:

BGP -BGPとは?-
インターネット等の大規模ネットワークでは必須のプロトコルBGPについて。

BGP -BGPの接続形態-
BGPの接続形態とルーティングの基本動作について。

BGP -BGPメッセージの種類-
BGPで使用される様々なメッセージについて。

BGP -BGP Path Attributes (パス属性) その1-
BGPといえばパスアトリビュートを活用した柔軟なルーティング!!

BGP -BGP Path Attributes (パス属性) その2-
BGPといえばパスアトリビュートを活用した柔軟なルーティング!!

BGP -BGP状態遷移-
BGPピアの確立までの状態遷移について。

BGP -BGPの動作-
BGPの基本動作について。

BGP -ルートマップ-
ルートマップを使ったルーティング制御について



雑誌の定期購読サイト北海道限定 ホテル・旅館検索サイト運転代行検索ナビ楽天商品検索ナビゴルフ場検索ナビ