内容

はじめに

前提条件

要件

使用するコンポーネント

BGP ルート リフレクションの説明

ルート リフレクション構成例

デフォルト設定のシングル クラスタ

クライアント間リフレクションを無効にしたシングル クラスタ

2 つのクラスタ（内部サイトやサイト間のルート リフレクション）

2 つのクラスタ（クライアント間リフレクションなし）

クラスタ リストとループ防止

クライアントと非クライアント間のリフレクション

クラスタ内部のリフレクション

クラスタ間のリフレクション

MCID とループ防止

関連情報

はじめに

このドキュメントでは、ボーダーゲートウェイプロトコル(BGP)ルートリフレクションのさまざまなシナリオと、複数のクラスタIDの使用について説明します。

前提条件

要件

BGPの概念、特にクラスタとルートリフレクションに関する知識があらかじめ必要です。

使用するコンポーネント

このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

BGP ルート リフレクションの説明

BGP スピーカーは BGP が有効化されたルータです。デフォルトでは、BGPスピーカはiBGPを通じて学習されたプレフィックスをiBGPピアにアドバタイズしません。これはループ防止を維持するために行われます。RFC4456 では、iBGP スピーカー間のフル メッシュの必要性をなくすルート リフレクション機能が導入されています。ルート リフレクタがプレフィックスを反映すると、CLUSTER_LIST と呼ばれるオプションの非遷移属性を、独自のクラスタ ID を追加することにより作成または変更します。この属性はループ防止に使用されます。ルータが、ルータ自身のクラスタIDを含むCLUSTER_LISTの更新を受信すると、この更新は破棄されます。

デフォルトでは、クラスタIDはBGPルータIDの値に設定されますが、任意の32ビット値に設定することもできます。複数クラスタID(MCID)機能を使用すると、ネイバーごとのクラスタIDを割り当てることができます。したがって、3 つのタイプのルート リフレクション シナリオがあります。

1. クライアントと非クライアント間

2. 同じクラスタ内のクライアント間（クラスタ内部）

3. 異なるクラスタのクライアント間（クラスタ間）

ルート リフレクション構成例

このセクションでは、ルータのリフレクションシナリオとそれぞれの設定例について説明します。

デフォルト設定のシングル クラスタ

画像 1

次の設定は、ルートリフレクタとして機能するルータRRに対して行われました。

RR#show run | sec bgp

router bgp 1

bgp log-neighbor-changes

neighbor 10.0.10.2 remote-as 1

neighbor 10.0.10.2 route-reflector-client

neighbor 10.0.20.2 remote-as 1

neighbor 10.0.20.2 route-reflector-client

neighbor 10.0.40.2 remote-as 1

この場合、S1PE1 と S1PE2 は RR のクライアントであり、S2PE1 は非クライアントです。従来の設計では、非クライアントルータは次の階層レベルのルータのルートリフレクタとして機能しますが、この例では、簡素化のために別のPEが使用されています。

RR#show ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): ENABLED

intra-cluster:                         ENABLED       ENABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

RR#show ip bgp 172.16.1.1

BGP routing table entry for 172.16.1.1/32, version 2

Paths: (1 available, best #1, table default)

Advertised to update-groups:

1          2

Refresh Epoch 2

Local, (Received from a RR-client)

10.0.10.2 from 10.0.10.2 (172.16.1.1)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp update-group 1

BGP version 4 update-group 1, internal, Address Family: IPv4 Unicast

BGP Update version : 4/0, messages 0

Topology: global, highest version: 4, tail marker: 4

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 2, replicated 2, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 1 member:

10.0.40.2

RR#show ip bgp update-group 2

BGP version 4 update-group 2, internal, Address Family: IPv4 Unicast

BGP Update version : 4/0, messages 0

Route-Reflector Client

Topology: global, highest version: 4, tail marker: 4

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 3, replicated 6, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 2 members:

10.0.10.2        10.0.20.2

次の出力は、RRがS1PE1から172.16.1.1/32プレフィックスを受信し、それをクライアントS1PE2と非クライアントS2PE1に反映することを示しています。この特定のケースでは、アップデートもS1PE1に返信されますが、これはS1PE1とS1PE2が同じルーティングポリシーを持ち、したがって同じアップデートグループを形成しているために発生します。

クライアント間リフレクションを無効にしたシングル クラスタ

画像 2

次の設定は、ルートリフレクタとして機能するルータRRに対して行われました。

RR#show run | sec bgp

router bgp 1

no bgp client-to-client reflection

bgp log-neighbor-changes

neighbor 10.0.10.2 remote-as 1

neighbor 10.0.10.2 route-reflector-client

neighbor 10.0.20.2 remote-as 1

neighbor 10.0.20.2 route-reflector-client

neighbor 10.0.40.2 remote-as 1

AS1が部分メッシュ構造で、S1PE1とS1PE2がiBGPネイバーシップを形成していると仮定します（たとえば、同じサイトにあり、ネットワークによるアップデートの処理方法を最適化する必要がある場合など）。 この場合、RRではクライアント間リフレクションが無効になっており、S1PE1から送信された172.16.1.1/32が非クライアントS2PE1にのみリフレクトされます。

RR#show ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): DISABLED

intra-cluster:                         ENABLED       DISABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

RR#show ip bgp 172.16.1.1

BGP routing table entry for 172.16.1.1/32, version 5

Paths: (1 available, best #1, table default, RIB-failure(17))

Advertised to update-groups:

1

Refresh Epoch 2

Local, (Received from a RR-client)

10.0.10.2 from 10.0.10.2 (172.16.1.1)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp update-group 1

BGP version 4 update-group 1, internal, Address Family: IPv4 Unicast

BGP Update version : 7/0, messages 0

Topology: global, highest version: 7, tail marker: 7

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 4, replicated 4, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 1 member:

10.0.40.2

2 つのクラスタ（内部サイトやサイト間のルート リフレクション）

画像 3

次の設定は、ルートリフレクタとして機能するルータRRに対して行われました。

RR#show run | sec bgp

router bgp 1

no bgp client-to-client reflection intra-cluster cluster-id 192.168.1.1

bgp log-neighbor-changes

neighbor 10.0.10.2 remote-as 1

neighbor 10.0.10.2 cluster-id 192.168.1.1

neighbor 10.0.10.2 route-reflector-client

neighbor 10.0.20.2 remote-as 1

neighbor 10.0.20.2 cluster-id 192.168.1.1

neighbor 10.0.20.2 route-reflector-client

neighbor 10.0.40.2 remote-as 1

neighbor 10.0.40.2 cluster-id 192.168.2.2

neighbor 10.0.40.2 route-reflector-client

neighbor 10.0.50.2 remote-as 1

neighbor 10.0.50.2 cluster-id 192.168.2.2

neighbor 10.0.50.2 route-reflector-client

neighbor 10.0.70.2 remote-as 1

この場合、サイト1の両方のPEはクラスタ192.168.1.1を形成し、サイト2の両方のPEはクラスタ192.168.2.2を形成します。S3PE1は非クライアントです。サイト1のPEには直接iBGPセッションがあり、クラスタ192.168.1.1ではクラスタ内リフレクションが無効になっていますが、クラスタ192.168.2.2では有効になっています。クラスタ間リフレクションが有効になっている。

RR#show ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): ENABLED

intra-cluster:                         ENABLED       ENABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

192.168.1.1                2 DISABLED    DISABLED

192.168.2.2                2 ENABLED     ENABLED

RR#show ip bgp 172.16.1.1

BGP routing table entry for 172.16.1.1/32, version 5

Paths: (1 available, best #1, table default, RIB-failure(17))

Advertised to update-groups:

3          5

Refresh Epoch 9

Local, (Received from a RR-client)

10.0.10.2 from 10.0.10.2 (172.16.1.1)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp update-group 3

BGP version 4 update-group 3, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 20, replicated 20, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 1 member:

10.0.70.2

RR#show ip bgp update-group 5

BGP version 4 update-group 5, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Route-Reflector Client

Configured with cluster-id 192.168.2.2

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 22, replicated 34, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 3, min 0

Minimum time between advertisement runs is 0 seconds

Has 2 members:

10.0.40.2        10.0.50.2

S1PE1から受信したプレフィックス172.16.1.1/32は、クラスタ192.168.2.2内のクライアントと非クライアントに反映されます。同時に、S2PE1から受信したプレフィックス172.16.4.4/32は、すべてのクライアントと非クライアントに反映されます。

RR#show ip bgp 172.16.4.4

BGP routing table entry for 172.16.4.4/32, version 9

Paths: (1 available, best #1, table default, RIB-failure(17))

Advertised to update-groups:

3          4          5

Refresh Epoch 6

Local, (Received from a RR-client)

10.0.40.2 from 10.0.40.2 (172.16.4.4)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp update-group 3

BGP version 4 update-group 3, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 20, replicated 20, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 1 member:

10.0.70.2

RR#show ip bgp update-group 4

BGP version 4 update-group 4, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Route-Reflector Client

Configured with cluster-id 192.168.1.1

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 26, replicated 47, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 3, min 0

Minimum time between advertisement runs is 0 seconds

Has 2 members:

10.0.10.2        10.0.20.2

RR#show ip bgp update-group 5

BGP version 4 update-group 5, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Route-Reflector Client

Configured with cluster-id 192.168.2.2

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 22, replicated 34, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 3, min 0

Minimum time between advertisement runs is 0 seconds

Has 2 members:

10.0.40.2        10.0.50.2

クラスタ192.168.2.2のサイト内ルートリフレクションも無効にできますが、この場合、そのクラスタ内のクライアントにはiBGPセッションのフルメッシュが必要です。

RR(config-router)#no bgp client-to-client reflection intra-cluster cluster-id 192.168.2.2

RR#sh ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): ENABLED

intra-cluster:                         ENABLED       ENABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

192.168.1.1                2 DISABLED    DISABLED

192.168.2.2                2 DISABLED    DISABLED

サイト内部のリフレクションは、すべてのクラスタで無効にできます。

RR(config-router)#no bgp client-to-client reflection intra-cluster cluster-id any

2 つのクラスタ（クライアント間リフレクションなし）

図 4

次の設定は、ルートリフレクタとして機能するルータRRに対して行われました。

RR#show run | sec bgp

router bgp 1

no bgp client-to-client reflection

bgp log-neighbor-changes

neighbor 10.0.10.2 remote-as 1

neighbor 10.0.10.2 cluster-id 192.168.1.1

neighbor 10.0.10.2 route-reflector-client

neighbor 10.0.20.2 remote-as 1

neighbor 10.0.20.2 cluster-id 192.168.1.1

neighbor 10.0.20.2 route-reflector-client

neighbor 10.0.40.2 remote-as 1

neighbor 10.0.40.2 cluster-id 192.168.2.2

neighbor 10.0.40.2 route-reflector-client

neighbor 10.0.50.2 remote-as 1

neighbor 10.0.50.2 cluster-id 192.168.2.2

neighbor 10.0.50.2 route-reflector-client

neighbor 10.0.70.2 remote-as 1

クラスタ内部とクラスタ間のリフレクションの両方を無効にできます。この場合、クライアントと非クライアント間のリフレクションのみが実行されます。

RR#show ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): DISABLED

intra-cluster:                         ENABLED       DISABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

192.168.1.1                2 ENABLED     DISABLED

192.168.2.2                2 ENABLED     DISABLED

RR#show ip bgp 172.16.1.1

BGP routing table entry for 172.16.1.1/32, version 5

Paths: (1 available, best #1, table default, RIB-failure(17))

Advertised to update-groups:

3

Refresh Epoch 9

Local, (Received from a RR-client)

10.0.10.2 from 10.0.10.2 (172.16.1.1)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp 172.16.4.4

BGP routing table entry for 172.16.4.4/32, version 9

Paths: (1 available, best #1, table default, RIB-failure(17))

Advertised to update-groups:

3

Refresh Epoch 6

Local, (Received from a RR-client)

10.0.40.2 from 10.0.40.2 (172.16.4.4)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp update-group 3

BGP version 4 update-group 3, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 20, replicated 20, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 1 member:

10.0.70.2

プレフィックス 172.16.1.1/32 および 172.16.4.4/32 は、それぞれクラスタ 192.168.1.1 および 192.168.2.2 によって生成されます。これらのプレフィックスは、両方とも非クライアントS3PE1にのみ反映されます。この場合、すべてのクライアントがフルメッシュ構造である必要があります。一般に、この特定のシナリオでは、MCIDは実際には意味がありませんが（同じ動作を1つのクラスタで実現できます）、異なるネイバーからのルートに異なるクラスタリストを使用する場合には、MCIDを使用できます。

注：クラスタ間リフレクションが無効になっている間は、（特定のクラスタまたはすべてのクラスタに対して）クラスタ内リフレクションを有効にすることはできません。

クラスタ リストとループ防止

RR はプレフィックスを反映すると、オプションの非遷移属性 CLUSTER_LIST にクラスタ ID を追加します。また、オプションの非推移的なアトリビュートORIGINATOR_IDを、RRにプレフィックスをアドバタイズしたピアのルータIDに設定します。

MCID が使用され RR がプレフィックスを反映する場合、RR はそのプレフィックスを自分にアドバタイズしたピアに構成されているクラスタ ID を使用します。そのピアに特定のクラスタIDが設定されていない場合は、グローバルクラスタIDが使用されます。

例をいくつか見てみましょう。RR では、すべての形式のルート リフレクションが有効になっています。グローバルクラスタIDは172.16.3.3で、クラスタID 192.168.1.1と192.168.2.2はそれぞれサイト1とサイト2のPEに設定されています（上記のトポロジダイアグラムを参照）。

RR#show ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): ENABLED

intra-cluster:                         ENABLED       ENABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

192.168.1.1                2 ENABLED     ENABLED

192.168.2.2                2 ENABLED     ENABLED

クライアントと非クライアント間のリフレクション

S2PE3#show ip bgp 172.16.1.1

BGP routing table entry for 172.16.1.1/32, version 2

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.10.2 (metric 20) from 10.0.70.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 172.16.1.1, Cluster list: 192.168.1.1

rx pathid: 0, tx pathid: 0x0

S2PE3#show ip bgp 172.16.4.4

BGP routing table entry for 172.16.4.4/32, version 4

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.40.2 (metric 20) from 10.0.70.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 172.16.4.4, Cluster list: 192.168.2.2

rx pathid: 0, tx pathid: 0x0

非クライアントS2PE3は、クラスタ192.168.1.1から発信されたプレフィックス172.16.1.1/32を受信します。クラスタID 192.168.1.1はクラスタリストに追加されます。また、クラスタ 192.168.2.2 からのプレフィックス 172.16.4.4/32 も受信します。クラスタ ID 192.168.2.2 がクラスタ リストに追加されます。

S1PE1#show ip bgp 172.16.6.6

BGP routing table entry for 172.16.6.6/32, version 5

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.70.2 (metric 20) from 10.0.10.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 172.16.6.6, Cluster list: 172.16.3.3

rx pathid: 0, tx pathid: 0x0

クライアント S1PE1 は、非クライアントからのプレフィックス 172.16.6.6/32 を受信します。グローバル クラスタ ID 172.16.3.3 がクラスタリストに追加されます。

クラスタ内部のリフレクション

S1PE2#show ip bgp 172.16.1.1/32

BGP routing table entry for 172.16.1.1/32, version 8

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.10.2 (metric 20) from 10.0.20.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal

Originator: 172.16.1.1, Cluster list: 192.168.1.1

rx pathid: 0, tx pathid: 0

S1PE2はクラスタ192.168.1.1に属し、同じくクラスタ192.168.1.1に属しているS1PE1から発信されたプレフィックス172.16.1.1/32を受信します。クラスタID 192.168.1.1がクラスタリストに追加されます。

クラスタ間のリフレクション

S2PE1#show ip bgp 172.16.1.1/32

BGP routing table entry for 172.16.1.1/32, version 4

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.10.2 (metric 20) from 10.0.40.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 172.16.1.1, Cluster list: 192.168.1.1

rx pathid: 0, tx pathid: 0x0

S1PE1#show ip bgp 172.16.4.4/32

BGP routing table entry for 172.16.4.4/32, version 4

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.40.2 (metric 20) from 10.0.10.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 172.16.4.4, Cluster list: 192.168.2.2

rx pathid: 0, tx pathid: 0x0

S2PE1 はクラスタ 192.168.2.2 に属し、クラスタ 192.168.1.1 からのプレフィックス 172.16.1.1/32 を受信します。クラスタ ID は 192.168.1.1 に設定されます。

S1PE1 はクラスタ 192.168.1.1 に属し、クラスタ 192.168.2.2 からのプレフィックス 172.16.4.4/32 を受信します。クラスタ ID は 192.168.2.2 に設定されます。

MCID とループ防止

クラスタリストにルータ自身のクラスタIDが含まれているプレフィックスの更新をルータが受信すると、更新は破棄されます。MCIDを使用すると、設定済みのクラスタID（グローバルまたはネイバー単位）のいずれかを含むアップデートは廃棄されます。

関連情報

- RFC 4456

- BGP-複数のクラスタ ID