goo blog サービス終了のお知らせ 

のんびり・ゆっくりCCIE

CCIEラボにゆっくり一歩、ゆっくり前進で挑戦するブログ(覚書)です。

BGP ロードバランス

2009-01-18 13:17:00 | BGP
BGPのベストパスは,1つですが
ロードバランス(複数のルートをベストパスとしたい
場合)は「maximum-paths」コマンドを使います。

R1(config-router)#maximum-paths ?
<1-16> Number of paths
ibgp iBGP-multipath

(config-router)#maximum-paths 2
とすればベストパスを2つまで選んでくれます。


Community(コミュニティ)の設定について

2009-01-18 11:02:50 | BGP
コミュニティにより複数のルートにタグを付けてグループ化して
取り扱うことができます。

受け取ったルータが認識できる場合は、これによりフィルタリングや
アトリビュートの属性を変更することができます。
手順は下記のとおりです。

1.コミュニティ属性をネイバーに伝達するために以下を設定
(config)# router bgp 1
(config-router)# neighbor 172.16.1.1 send-community

特定経路に対してコミュニティ値を定義したい場合は、
neighbor route-mapコマンドとともに、以下の設定をすることで、
ルートマップをアップデートに適用することが出来ます。

(config)# route-map R-com
(config-router)# set community [ community-number | no-export |
           no-advertise | local-AS ]

参考:
http://www.infraexpert.com/study/rp5bgp17.htm

BGPのAS番号について

2009-01-13 19:22:04 | BGP
AS番号は16ビットなので、範囲は「1~65535」まで
・グローバルASは、「1~64511」の範囲が予約されている
・プライベートASは「64512~65535」の範囲が予約されている

Communityアトリビュートについて

2009-01-04 14:09:22 | BGP
Communityアトリビュートにより複数のルートにタグを付け、
グループ化して取り扱うことができる。

受け取ったルータが認識できる場合、Communityによって
フィルタリングやアトリビュートの変更を行うことができる。

※community属性の一つであるno-export属性を使って,
 他ASに経路情報を通知しないようにすることができる。

ebgp-multihop コマンドについて

2008-10-04 02:10:14 | BGP
ebgpピアは、原則として直結していなければいけないが
対向でループバックアドレスをebgpのneighborとしている場合は、
下記★によりTTLを増やしてあげる。

router bgp YY
neighbor YY.YY.1.1 remote-as YY
neighbor XX.XX.XX.XX ebgp-multihop ★(TTLはデフォルト255)
neighbor XX.XX.XX.XX update-source loopback 0 

※ibgpピアの場合は不要

Local-Preference属性とWeight属性の比較について

2008-09-01 14:18:32 | BGP
■Weight属性(BGPパス選択順位:高)

同一の宛て先ルートに対して複数のルートが存在する場合に
大きな値のWeightを優先する。
WeightはBGPネイバーには送信されない(※ルータ内だけで判断)

・Cisco独自
・Weight属性の値:0~65535
 #デフォルト値:他ピアからのルートは0、自ルートは32768

■Local-Preference属性(BGPパス選択順位:中)

自分のASを出るときにどのパスが優先されるかを
AS内のルータに指示する属性(※AS全体で判断)

・同一のAS内のルータ間のみ交換される。
・LocalPreferenceはAS内の全てのルータで同じになる
・デフォルト値:100(高いほうが優先される)

BGPでの最適パスの選定順序

2008-08-29 19:44:53 | BGP
特徴は、ポリシーベースルーティング(宛て先とかでも経路を選べる!)

1.まず、これは最適パス選択対象から外される。
  ・ASループのあるもの
  ・NEXT_HOPアトリビュートのIPアドレスに到達するためのルートが
   ルーティングテーブル中にないもの
  ・同期されていないもの(BGP同期がそのルータ上で有効な場合)

2.WEIGHTアトリビュート(Cisco独自)が最大のパスを優先
3.LOCAL_PREFアトリビュートが最大のパスを優先する
4.ローカルルータが発生元であるパスを優先する

5.AS_PATHアトリビュートが最短のパスを優先する ★やっとココでコレが出て来た!

6.ORIGINアトリビュートが最小のパスを優先する
  #IGP(優先度 高)<EGP<Incomplete(優先度 低)
7.MEDアトリビュートが最小のパスを優先する
8.IBGPパスよりもEBGPパスを優先する
9.NEXT_HOPへ最短で到達できるパスを優先する
10.EBGPパスとして最も古い(時間が経った)ものを優先する
11.ネイバーのBGPルータIDが最小のパスを優先する

no bgp fast-external-fallover コマンド

2008-08-29 17:58:16 | BGP
BGPはフツーは直接つながってるので、
Peerが落ちるとすぐにBGPセッションがリセットされ
インタフェースがダウンする。
#bgp fast-external-fallover(デフォルトで有効化)

だけど、Peerが落ちてもすぐにBGPセッションをリセット
させたくない場合は、

● no bgp fast-external-fallover

を投入する。


ルートリフレクタの設定

2008-08-05 18:33:11 | BGP
ルートリフレクタの設定は,ルートリフレクタとなるルータだけに設定する。
(ルートリフレクタクライアント側で設定の必要はない)

router bgp 100

neighbor [IPアドレス1] remote-as 100
neighbor [IPアドレス1] route-reflector-client

neighbor [IPアドレス2] remote-as 100
neighbor [IPアドレス2] route-reflector-client

プレフィックスリスト+ルートマップ

2008-07-17 22:25:35 | BGP
プレフィックスリストはルートマップと組み合わせることもできる。

■例:
ip as-path access-list 1 permit _43$ ★AS43から発生
 
route-map LOCAL_PRE permit 10
match as pasth 1
set local-preference 200 ★local-preference値(200)を指定

route-map LOCAL_PRE permit 1000 ★上記以外でも、通すは通してあげる。

router bgp 100
nei 50.1.1.254 route-map LOCAL_PRE in ★目的のNWのin側で適用

BGPコンフェデレーションについて整理

2008-07-16 22:57:32 | BGP
・ASをさらに複数のコンフェデレーションASへ分割ができる
 (分割したASはIBGPフルメッシュとなるようにする)
 →これによりスプリットホライズン(同じIFでルート情報を
  送り返さないという決まり)はいらなくなる。

・分割した後の各ASでは、AS64512以降のプライベートASを使い
 IBGPをEBGPにするときAS-pathを追加するけど,そのとき()が付く
 →例:(65002 65003) 11

■Configの例
router bgp 65001
bgp confederation identifier 101 ★おおもとのAS
bgp confederation peer 65002 65003 ★これでASを()付きにできる

neighbor 10.2.2.2 remote-as 65002 ★たいていはここでLoアドレス指定
neighbor 10.2.2.2 update-source loopback 0
neighbor 10.2.2.2 next-hop-self ★TTLは1なのでこれないとネイバーになれない!
neighbor 10.2.2.2 ebgp-multihop

neighbor 10.3.3.3 remote-as 65003
neighbor 10.3.3.3 update-source loopback 0
neighbor 10.3.3.3 next-hop-self
neighbor 10.3.3.3 ebgp-multihop

AS-Pathアクセスリストについて

2008-07-16 22:10:48 | BGP
例:)AS30経由のルートを、AS40のネイバーから受け取らない
router bgp 100
 neighbor 10.1.1.1 remote as 40
neighbor 10.1.1.1 filter-list 66 in

ip as-path access-list 66 deny _30_ ★AS30経由のルートをdeny
ip as-path access-list 66 permit .* ★その他すべてのルートをpermit

<その他 正規表現の例>
「 ^30_ 」 →AS30がネイバー(AS30から教わったルート,「^」は先頭の意)
「 _30$ 」 →AS30が生成元(Originate-AS)
「 ^30$ 」 →AS30がネイバーで かつ 生成元
「 ^30_. 」 →AS30がネイバーで かつ 30の先にも別のASがつながっている
「 ^[0-9]+$ 」 →あるASがネイバーで かつ 生成元
 ( [0-9]+ は、任意の整数の意、「+」は任意の文字が1つ以上あるという意)
「 ^$ 」 →自分のASが生成元(※これを使えばトランジットASにならない)

BGPでLoopbackを使ってピアはるとき

2008-07-03 23:34:01 | BGP
BGPで対向ルータとLoopbackを使ってピアはるときは、
「ebgp-multihop(直結じゃありませんよの意)」、
「update-source loopback」も忘れず入れとかなきゃ。。

router bgp 100
nei 10.1.1.1【loアドレス】 remote-as 100
nei 10.1.1.1 ebgp-multihop ★
nei 10.1.1.1 update-source loopback 0 ★
nei 10.1.1.1 route-reflector-client ★相手をルートリフレクタクライアントにしたい場合はコレ入れる。

※BGPで冗長するときはloを指定

bgpのno synchronization コマンドについて

2008-07-03 22:55:21 | BGP
ルートはIGP使ってAS内のみんな(Router)が学習するまでは、BGPはルートをアドバタイズしちゃダメだけど、
IBGP経由でルートを学習が済んでいたらAS内のみんなに教えた後、外のピアにも教えてあげられるよ。
(ルートは知ってるのに送れないよという状態を予め防ぐため)

というように、BGPテーブル内に格納されたプレフックスは上記のBGP同期規則(中のみんなが知らなければ
外にアドバタイズしちゃダメ)があるけど、OSPFとかのIGPに頼らなくてもBGPがAS内のRouterすべてで
動いていれば(本当にフルメッシュの場合)、この機能をOFFにできるため、no synchronization打つべし!打つべし!

※中継するルータも含めてIBGPピアが確立されているならば、同期の必要なし。