IP : ボーダー ゲートウェイ プロトコル(BGP)

Compatible Systems 設定ガイド: BGP 設定ガイド

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2004 年 8 月 19 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次

関連するシスコ サポート コミュニティ ディスカッション

概要

Border Gateway Protocol(BGP; ボーダーゲートウェイ プロトコル)は、自律システムが相互にルーティング情報を交換することを可能にする外部ゲートウェイ プロトコルです。 自律システムは、単一の技術管理に基づく一連のルータです。

Autonomous System(AS; 自律システム)番号は、American Registry for Internet Numbers によって割り当てられます。 詳細については、American Registry for Internet Numbers の Web サイトを参照してください。 この Web サイトの「Documentation」セクションには、割り当てられているすべての AS 番号の完全なリストがあります。

American Registry for Internet Numbers

インストールがシングル ホームである場合、AS 番号を申請して BGP を実行することは可能ですが、お勧めできません。 ただし、複数の ISP が使用されているマルチ ホームのサイトでは、独立した AS 番号が必要です。 これは、シングル ホームのインストールは ISP にとって内部であると見なすことができますが、マルチ ホームのサイトはこのように見なすことができないためです。

BGP 情報を交換するルータは BGP ピアと呼ばれます。 1 台のルータは、他の AS にある外部ピアと、自身の AS 内の内部ピアの両方を持つ場合があります。 AS 番号がルータ自身の AS 番号と異なる場合、そのピアは外部であると見なされます。

ルータは TCP プロトコルを使用して BGP セッションを確立します。 新しい BGP セッションの開始時点で、BGP ピアは完全なルーティング テーブルを交換し、ルーティング テーブルが変更された時点では差分更新だけが送信されます。

この設定ガイドでは、Compatible Systems ルータで動作する BGP で使用可能な設定オプションについて説明します。

前提条件

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

このドキュメントは、Cisco Compatible Micro Series Router に限定されます。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

BGP の全般的な設定

BGP プロトコルは、BGP General 設定セクションで有効にします。 BGP は、RIP や OSPF と同じように、インターフェイスごとではなく、ルータに対してグローバルに有効になります。 デフォルトでは BGP は Off になっています。 BGP を有効にするには、BGPEnabled パラメータを On に設定する必要があります。

[ BGP General ]

    BGPEnabled     = Off     Enable or disable the BGP protocol
    BGPAS          = ""      Autonomous system number of this router
    BGPLocPref     = 100     BGP local preference, default is 100
    BGPUseIPRFltrs = False   Use IP Route Filters, default is False

このルータの Autonomous System(AS; 自律システム)番号はここで設定します。 BGPAS 番号を指定する必要があります。 指定しない場合、BGP は有効になりません。

ローカル プリファレンス属性 BGPLocPref は同じ AS 内のルータ間で交換され、その AS から移動する際にどのパスが優先されるかの指標となります。 ローカル プリファレンス値の高いパスが優先されます。 BGPLocPref が指定されていない場合は、デフォルトの 100 が使用されます。

BGP は BGP ルート マップを使用してルートのフィルタリングとアトリビュートの設定を行います。 詳細については、このドキュメントの BGP ピアの設定および BGP ルート マップの項を参照してください。 ユーザは、BGP Route Maps の代わりに IP Route Filters を使用できます。 BGPUseIPRFltrs の値は、BGP ルート マップが定義されていないピアごとにチェックされ、値が TRUE である場合は、そのピアに対して IP ルート フィルタがチェックされます。 IP Route Filters はルータに対してグローバルであるのに対し、BGP Route Maps は各ピア固有に定義できる点に注意してください。

BGP ピアの設定

BGP Peer List には、このルータに対して設定されているピアのリストが含まれます。 このルータは、リストにないルータとは BGP 接続を確立しません。 BGP Peer List がない場合は、BGP General セクションBGPEnabledOn に設定されている場合でも、BGP は有効にはなりません。

    [ BGP Peer List ]

    BGPPeer  =  On/Off  IPAddress  ASNumber  PeerConfigID

On|Off パラメータは、ピアに関するルータの起動状態を設定します。 このパラメータでは、ルータが起動時にピアと BGP セッションを自動的に確立するかどうかを決定します。 このパラメータが Off に設定されている場合、ユーザが BGP Enable コマンドを発行するまで、ルータはピアとの BGP セッションを確立しません。 これにより、起動状態は変更されません。 ルータを次に起動するときに、ピアは有効にするまで Off 状態で起動します。

すべてのピアが起動時に Off になるよう BGP を設定できます。 BGP General セクションBGPEnabled = On である場合は、ルータの起動後、選択したピアを動的に有効にできます。

ルータは、設定リストで指定されている IPaddress を使用してピアとコンタクトを取ります。 ピアの IPaddressASNumber を、ユーザが指定する必要があります。 セッションが確立されるためには、ルータは、指定された IP アドレスのネットワークをルーティング テーブル内に保持している必要があります。 内部ピアはルータそれ自体と同じ AS 番号を持っているため、ルータは、ピアが内部であるか外部であるかを、ピアの AS 番号から判別します。

BGP Peer List エントリにはオプションの PeerConfigID が含まれている場合があります。これは、ピアに固有のさまざまな BGP 設定項目を設定できる BGP Peer Config セクションの番号を指定します。 BGP Peer Config セクションは、すべての同じパラメータが必要である場合にだけ、複数のピアに使用されます。

    [ BGP Peer Config "SectionID" ]    Section ID is a character string 

    InputRouteMap    = ""     Name of input Route Map to be used for this peer
    OutputRouteMap   = ""     Name of output Route Map to be used for this peer       
    NextHopSelf      = False  Next hop is this router
    EBGPMultihop     = False  External peer not directly connected
    PeerWeight       = 100    Neighbor weight
    PeerRetryTime    = 30     Retry time in seconds
    PeerHoldTime     = 180    Configured hold time in seconds
    BGPUseLoopback   = False  Use router LoopbackAddress with this peer
    AdvertiseDefault = False  Advertise default route to this peer

InputRouteMapOutputRouteMap は別々に指定されることに注意してください。 設定およびチェックされるパラメータは、入力ルートと出力ルートでは異なることに注意してください(詳細は、BGP ルート マップ 項を参照)。

NextHopSelf が TRUE に設定されている場合、ルータは、このピアに対してアドバタイズするルートでのネクストホップとして自分自身をアドバタイズします。

EBGPMultihop が TRUE に設定されている場合を除き、外部ピアは直接接続されている必要があります。 このパラメータが TRUE に設定されている場合、ルータは接続を確立するために、直接接続されていない外部ピアへのルートが必要になります。

PeerWeight パラメータは、管理者によってピアに割り当てられる内部評価です。 これは、他のルータにはアドバタイズされません。 同じ宛先に対して複数のルートが存在する場合、重みの高いピアが優先されます。

管理者は BGP Retry Time を使用すると、何らかの理由によりダウンした設定済みのピアへの接続を確立する再試行の間隔を設定できます。 あるピアがダウンしていてもその状態が On に設定されている場合、ルータは継続して PeerRetryTime 秒ごとにピアへのコンタクトを試みます。 許容される最小の PeerRetryTime は 10 秒です。

ホールド タイムがピアとネゴシエートされるため、設定されている PeerHoldTime は、ピアにより使用される実際のホールド タイムには必ずしもなりません。 ピアは、提示されている 2 つのホールドタイムの小さい方を使用します。 ホールドタイムはゼロにするか、少なくとも 3 秒にする必要があります。 ネゴシエートされたホールドタイムの間隔がゼロである場合、定期的な KEEPALIVE メッセージは送信されません。

PeerWeightPeerHoldTime または PeerRetryTime が指定されていない場合はデフォルトが使用されます。 デフォルトの PeerWeight は 100 で、デフォルトの PeerHoldTime は 180 秒で、デフォルトの PeerRetryTime は 30 秒です。

IP Loopback セクションLoopbackAddress が指定されている場合、BGPUseLoopback は TRUE に設定できます。 この場合ルータは、いずれかのインターフェイスの特定の IP アドレスではなく、そのピアに対する TCP パケットの IP ソースとしてループバック アドレスを使用します。 ただしピアは、通常の IP ルーティング手順を介してそのアドレスにパケットを送信する方法を知っている必要があることに注意してください。 すでにピアに認識されているサブネット上にアドレスが存在しない場合、スタティック ルートによりそのアドレスを追加する必要があります。 通常、外部ピアは直接接続されているため、ループバック アドレスは内部ピアにだけ使用します。

ピアでパラメータ AdvertiseDefault が TRUE に設定されている場合を除き、そのピアに、ルータのデフォルト ルートはアドバタイズされません。

ピア設定の例

次に、ピア設定の例を示します。

    [ BGP Peer List ]
    BGPPeer = On   198.41.11.213   100   Peer1
    BGPPeer = On   205.14.128.1    110   Peer2

    [ BGP Peer Config "Peer1" ]
    InputRouteMap            = bgpin1
    OutputRouteMap           = bgpout1
    PeerHoldTime             = 180
    PeerRetryTime            = 65
    PeerWeight               = 1000

    [ BGP Peer Config "Peer2" ]
    InputRouteMap            = bgpin2
    OutputRouteMap           = bgpout1
    PeerHoldTime             = 180
    PeerRetryTime            = 45
    PeerWeight               = 2000

BGP Peer List および BGP Peer Config では、ピア 198.41.11.213 および 206.14.128.2 は BGP Peer Config 1 を使用し、ピア 205.14.128.1 は BGP Peer Config 2. を使用します。

BGP ルート アドバタイズメント ポリシー

BGP のデフォルトでは、ルートをアドバタイズしないようになっています。 これは、ルートが誤って外部のインターネットにアドバタイズされることを防ぐためです。

ルートをアドバタイズするには、 BGP ネットワーク リスト、IP ルートの再配布、BGP ルート マップ、または IP ルート フィルタを設定する必要があります。

外部ルートをアドバタイズするには、BGP Route Maps または IP Route Filters を使用します。 内部ルートをアドバタイズするには、BGP Networks List または IP Route Redistribution を使用します。

これらの各設定については、後述のセクションで説明します。

BGP Networks

BGP Networks セクションでは、管理者が AS 内で発信側としてアドバタイズするルートのリストを定義します。 これらには、直接接続されたルート、スタティック ルート、RIP ルート、または OSPF ルートを使用できます。

ルータは、BGP Networks リストのエントリと IP ルーティング テーブルを比較し、IP ルーティング テーブルにはない Networks リスト内のルートはアドバタイズしません。 そのため、ルータ自身の IP ルーティング テーブルにはないローカル ネットワークをアドバタイズする場合は、スタティック ルートを追加する必要があります。

直接接続されたルートを BGP へアドバタイズするには、Network List にそれらのルートを追加する方法しかないことに注意してください。 OSPF または RIP ルートは、IP Route Redistribution セクションを使用して BGP へアドバタイズできます。 スタティック ルートは、設定されている各スタティック ルート上で redistribute フラグを使用することで BGP へアドバタイズできます。

オプションの mask パラメータは、LocalNet アドレスと照合する IP ルーティング テーブル エントリのビット数をルータに通知します。 これは、アドバタイズするネットワークの実際のマスクであるとは限りません。 たとえば、ルータがサブネット 198.41.9.32、198.41.9.64、および 198.41.9.96 を持ち、すべてのマスクが 255.255.255.224 であるとします。 BGP に 1 つの 198.41.9.0/24 ネットワークをアドバタイズさせるには、BGP Networks は次のようになります。

    [ BGP Networks ]
    LocalNet = IP address [mask]

    [ BGP Networks ]
    LocalNet = 198.41.9.32 255.255.255.255

LocalNet を使用して指定したマスクにより、ルータは 198.41.9.32 エントリだけに一致します。 ルータは Class C よりも詳細なサブネット マスクを自動的に切り捨てるため、ネットワークを 198.41.9.0/24 としてアドバタイズします。 ただし、255.255.255.0 のマスクを指定した場合は、3 つのサブネットすべてが LocalNet エントリに一致するため、最終的に 198.41.9.0/24 ネットを 3 回アドバタイズすることになります。 この切り捨ては集約と同じではなく、内部ネットワークにだけ適用され、また Class C よりも詳細なマスクにだけ適用されます。 ルート集約を行うには、BGP Aggregates セクションを使用します。

BGP の集約の設定

BGP Aggregates セクションには、外部ピアにアドバタイズされる前に集約されるネットワークが含まれています。 ルータの IP ルーティング テーブルには、集約をアドバタイズするために集約のサブセットであるネットワークを含める必要があります。 外部ピアにアドバタイズされるのは集約のみで、個々のルートはアドバタイズされません。 内部ピアは、AS 外に発信した場合個々のルートを受け取ります。 内部ピアは BGP 経由で内部ルートを交換しません。

Class C ネットワークの内部サブネットに対しては集約リストを用意する必要はありません(上記の BGP Networks のセクションを参照)。 スーパーネットへの単一マスクと組み合わせることが可能な Class C がいくつか(またはもっと多数)ある場合、集約が使用できます。

    [ BGP Aggregates ]
    AddrAndMask = [IPAddr] [IPMask]

    IP Routing Table Entries
    198.41.8.0     255.255.255.0
    198.41.9.0     255.255.255.0
    198.41.10.0    255.255.255.0
    198.41.11.0    255.255.255.0

    [ BGP Networks ]
    LocalNet = 198.41.8.0 255.255.252.0

    [ BGP Aggregates ]
    AddrAndMask = 198.41.8.0 255.255.252.0

1 つのルート 198.41.8.0/22 は、BGP 外部ピアにアドバタイズされます。 BGP Aggregates エントリがないと、4 つのネットワークが別々にアドバタイズされます。 4 つのネットワークすべてが、BGP Networks セクションで指定されているマスクに一致しますが、これらが自動的には集約されることはありません。

IP ルーティング プロトコルの再配布

RIP および OSPF ルートを BGP にインポートするよう指定する別の方法としては、ルート再配送を使用する方法があります。 デフォルトでは、すべてのルーティングの再配布がディセーブルになっています。

BGP ルートを RIP および OSPF に再配送することは可能ですが、少数の BGP ルートだけを受け入れている場合を除き、お勧めできません。 BGP ルートを OSPF にインポートしてから OSPF ルートを BGP にエクスポートするような作業を行う場合には、適切なフィルタを使用するよう注意する必要があります。

サポートされるルートの数は、ルータのメモリの量によっても異なります。

    [ IP Route Redistribution ]

    BGPtoOSPF                  Redistribute BGP routes to OSPF
                               Syntax: [True|False] [Metric]
    BGPtoRIP                   Redistribute BGP routes to RIP
                               Syntax: [True|False] [Metric]
    RIPtoBGP                   Redistribute RIP routes into BGP
    OSPFtoBGP                  Redistribute OSPF routes into BGP

BGP へのスタティック ルートの再配布

IP Static セクションでルートを設定する際に redistribute フラグを使用すると、スタティック ルートを BGP に再配布できます。

[ IP Static ]
198.41.16.0 255.255.255.0 198.41.9.65 1 Redist=BGP

BGP ルート マップの設定

BGP Route Maps は IP Route Filters に非常によく似ていますが、次の点が異なります。

  • BGP ルート マップは BGP に固有です。

  • BGP ルート マップはピア単位で指定できます。

  • BGP ルート マップは、ルートをフィルタリングするだけでなく、着信および発信ルートに対して BGP 属性を設定できます。

ルート マップは BGP プロトコルによってだけ使用され、特定のインターフェイスとは関連付けられていません。 BGP Peer Config セクションでは、ルート マップが存在する場合はルート マップがピアに適用されるよう指定します。 入力ルート マップと出力ルート マップは別々に指定します。

ルート マップまたはルート フィルタにより拒否されている場合を除き、ルータに認識されている BGP ルートはアドバタイズされます。 BGP Networks セクションまたはルート再配送で指定されている場合を除き、スタティック ルート、IGP ルート、および直接接続されたルートはアドバタイズされません。

BGP Route Map または IP Route Filter が定義されている場合を除き、ルータは入力ルートを受け入れません。 すべてを受け入れる必要がある場合は、「permit 0.0.0.0」と指定します。 ルータはまず BGP ルート マップをチェックし、ルートが拒否されている場合は、BGPUseIPRFltrs が TRUE であったとしても、IP ルート フィルタはチェックされません。

    [ BGP Peer Config 2 ]
    InputRouteMap            = bgpin2
    OutputRouteMap           = bgpout2

IP ルート フィルタは、BGP ルート マップの代わりに BGP で使用できます。 一致条件はより制限され、IP ルート フィルタでは、コミュニティ、ローカル プリファレンス、および重みなどのさまざまなパラメータが設定できません。

BGP ルート マップ name は設定の特別なセクションで、記述するキーワードがないことを意味します。 各セクションには、セクション名の Name 部分により一意に特定される、完全なフィルタのセットが含まれています。 それぞれが固有の名前を持つ複数のセクションが存在可能です。 名前は 15 文字以下である必要があります。

BGP ルーティングのマッピング規則

この項では、BGP ルート マッピング規則に関連するパラメータと修飾子について詳しく説明します。

action route [direction] [out | in modifiers] 
permit | deny IP Address out | in

actionroute および direction は必須パラメータです。 In および out 修正子はオプションです。

action:Permit または Deny

これにより、ルートが規則の条件を満たした時に行われる処置が指定されます。

route:ネットワークの IP アドレス

IP アドレスは IP ルート フィルタの説明と同様に指定されます。 つまり、通常のドット付き 10 進表記、要素分解アドレス、16 進数、またはオプションの /bit フィールドで指定されます。 詳細については IP Route Filter のマニュアル ページを参照してください。

[[Direction]

in または out パラメータを指定する必要があります。 これにより、規則が適用される方向が指定されます。

direction が in である場合は、次の修飾子が適用されます。

  • ipaddr:ピアの IP アドレス

  • srcas:ルートはこの発信元 AS 番号を所有する

  • hasas:この AS 番号は AS パスに含まれる

  • nhop:ルートはこのネクストホップを所有する

  • comm:このコミュニティはアトリビュート リストに含まれている

  • setpref:プリファレンスをこの値に設定する

  • setwt:重みをこの値に設定する

ipaddr | hasas | srcas | comm | nhop 修飾子は、指定の IP アドレス、AS 番号、コミュニティ、またはネクストホップから発信されたルートに、入力規則を限定します。 ここで想定されているのはこれら 5 つの引数の 1 つだけです。 hasas は、AS パスのいずれかに指定された AS 番号が含まれている場合にこの規則が適用されることを意味します。 srcas は、ルートが指定された AS で発信された場合にのみ規則が適用されることを意味します。

setpref 修飾子により、着信ルートに対してプリファレンスが設定できるようになります。 ipaddr、hasas、srcas、comm、または nhop が指定されている場合、条件に一致するルートに対してだけプリファレンスが設定されます。

setwt 修飾子により、着信ルートに対して重みが設定できるようになります。 ipaddr、hasas、srcas、comm、または nhop が指定されている場合、条件に一致するルートに対してだけ重みが設定されます。

direction が out である場合は、次の修飾子が適用されます。

  • ipaddr:ピアの IP アドレス

  • toas:ピアの AS 番号

  • srcas:ルートの送信元 AS 番号

  • origin:ルートの送信元プロトコル

  • setnhop:ネクスト ホップ属性を設定する

  • setmed:Multi-Exit Discriminator(MED)アトリビュートを設定する

  • setasp:現在のパスに AS パスを付加する

  • setcomm:古いコミュニティ リストを廃棄し、新しいコミュニティ リストを設定する

  • addcomm:既存のコミュニティ リストにコミュニティ リストを付加する

ipaddr | toas 修飾子は、指定の IP アドレスまたは AS 番号が宛先であるルートに、出力規則を限定します。 ここで想定されているのは 1 つの引数だけです。 指定の AS でルータがピアを 1 つしか持っていない場合、ipaddr と toas は同じ結果になります。 ルータが隣接 AS 内に複数のピアを持っている場合、ピアの IP アドレスを使用して規則をそのピアだけに制限するか、AS 番号を使用して AS 内のあらゆるピアに規則を適用します。

srcas 修飾子は、指定の AS 番号から発信されたルートに、出力規則を限定します。

origin プロトコル修飾子は、指定のプロトコルから発信されたルートに、出力規則を限定します。 BGP は、自分自身の IP ルーティング テーブルからピアに対して、直接ルート、スタティック ルート、RIP ルート、OSPF ルート、またはその他の BGP ルートをアドバタイズできます。

setnhop 修飾子により、発信ルートに対してネクストホップを設定できるようになります。

setmed 修飾子により、発信ルートに対して Multi-Exit Discriminator(MED)を設定できるようになります。

setasp 修飾子により、指定の AS リストを、発信 AS パスのアトリビュートに付加できるようになります。 AS 番号は 6 つまで入力できます。

setcomm 修飾子により、発信ルートに対してコミュニティ リストを設定できるようになります。 パラメータは、最大 6 つのコミュニティ番号または特殊コミュニティの 「noexport」、「noadv」、または「noexpsub」を取ることができます。 これらは、RFC 1997、BGP コミュニティ アトリビュートで定義されている 3 つのウェルノウン コミュニティ、 NO_EXPORT、NO_ADVERTISE、および NO_EXPORT_SUBCONFED です。

addcomm 修飾子により、発信ルートに対してコミュニティ リストを付加できるようになります。 パラメータは最大 6 つのコミュニティ番号を取ることができます。

BGP Route Map mymapin では、ルート 192.61.5.0 が許可されるのは Comunity Attribute にコミュニティ 200 が含まれる場合で、プリファレンスは 100 に設定されます。 2 行目では、Community 200 からのその他すべてのルートも受け入れられますが、プリファレンスは 300 に設定されます。 Community 200 が含まれないルートは拒否されます。

BGP Route Map mymapout では、BGP Networks セクションで指定されているすべての直接ルートは AS 番号 200 に対して許可され、MED は 10 に設定されます。 2 行目では、すべてのルートは AS 番号 300 に対して許可されますが、Community 値は noadv(NO_ADVERTISE)に設定されます。

[ BGP Route Map "mymapin" ]
     permit 192.61.5.0 in comm 200 setpref 100
     permit 0.0.0.0 in comm 200 setpref 300

     [ BGP Route Map "mymapout" ]
     permit 0.0.0.0 out toas 200 origin direct setmed 10
     permit 0.0.0.0 out toas 300 setcomm noadv

BGP ルート選択プロセスの要約

ルート マップは管理者がルート選択プロセスを操作するのに役立ちます。これは、BGP がその他の要素の中で重み、プリファレンス、および MED を使用するためです。 BGP は、次に示す順序で次の条件を使用して、宛先への最適なルートを選択します。

  • 最も優先されるパスは、重みが最大であるパスです。

  • 重みが同じである場合、ローカル プリファレンスが最大であるパスを選択します。

  • プリファレンスが同じである場合は、AS パスの長さが最短であるパスを選択します。

  • すべてのパスの AS パス長が同じである場合は、MED が最低であるパスを選択します。

  • パスの MED が同じである場合は、Router ID が最も低い BGP ピアからのパスを選択します。

IP ルート フィルタと BGP

ユーザは、BGP ルート マップの代わりに BGP で IP ルート フィルタを使用できます。 ただし、IP ルート フィルタには、BGP ルート マップ セクションで説明した BGP アトリビュートを設定する機能がありません。 あるピアに対して InputRouteMap が定義されている場合、BGP General セクションBGPUseIPRFltrs パラメータが TRUE に設定されている場合であっても、IP ルート フィルタは入力ルートに関して無視されます。 同様に、ピアに対して OutputRouteMap が定義されている場合、出力ルートに関して IP ルート フィルタは無視されます。

BGP では、IP ルート フィルタリングにパラメータが追加されています。これは AS パスに基づくフィルタリングです。 BGP ルートには、BGP ルートが経由した各 Autonomous System(AS; 自律システム)に関する情報が含まれています。 AS 500 で発信されたルート 199.41.13.0 には、R1 に到達するための 2 つの AS パス、 [200,300,500] および [400,600,500] があります。

次の例では、IP Route Filter bgpin が Router R1 に適用されています。 AS 300 から発信されたすべてのルートはフィルタリングで除外され、AS 400 から発信されたすべてのルートは許可されます。

IP Route Filter bgpout により、192.62.16.0 を R2 にアドバタイズし、192.62.17.0 を R4 にアドバタイズできます。 R2 および R4 の IP アドレスは、bgpout で AS 番号の代わりに使用できます。

IP Route Filter bgp600 は、 contains キーワードの使用を表しています。 このフィルタにより、AS パスの任意の場所で AS 600 を含んだすべての着信ルートが拒否されます。

RIP および OSPF ルートの意図しないフィルタリングを防止するための、ルート フィルタの最終行に注意してください。

[ IP Route Filter "bgpin" ]
deny 0.0.0.0 in via bgp from 300
permit 0.0.0.0 in via bgp from 400
permit 0.0.0.0 in via rip ospf

[ IP Route Filter "bgpout" ]
permit 192.62.16.0 out via bgp to 200
permit 192.62.17.0 out via bgp to 400
permit 0.0.0.0 out via rip ospf

[ IP Route Filter "bgp600" ]
deny 0.0.0.0 in via bgp contains 600
permit 0.0.0.0 in via rip ospf

             ---------           ---------          ---------
192.62.16.0  | R1    |___________| R2    |__________| R3    |
192.62.17.0  | AS100 |           | AS200 |          | AS300 |
             ---------           ---------          ---------
                 |                                       |
                 |                                       |
             ---------          ---------          ---------
             | R4    |__________| R6    |__________| R5    | 199.41.13.0
             | AS400 |          | AS600 |          | AS500 |
             ---------          ---------          ---------

ただし、AS フィルタはルートの発信元に適用されるため、AS フィルタリングを使用して次の操作を行うことはできません。 たとえば、Router R1 がそのピアである R2 と R4 の両方からルート 199.41.13.0 に関するアドバタイズメントを受信し、そのルートが AS 500 を発信元とするとします。 この場合、R2 からのルートの AS パスは [200,300,500] になり、R4 からの同じルートの AS パスは [400,600,500] になります。

[ IP Route Filter "does not work as intended" ]
        deny 199.41.13.0 in via bgp from 200
        permit 199.41.13.0 in via bgp from 400

構文が正しくても、上記のフィルタによって単にルートが拒否されることになります。 これは、送信元 AS 番号が 400 ではなく 500であるため、行 2 フィルタと一致しません。 上記の構文で意図した目的を達成するには、ピア R2 および R4 の IP アドレスを使用できます。

[ IP Route Filter "bgpin" ]
    deny 199.41.13.0 in via BGP from "R2's IP address"
    permit 199.41.13.0 in via BGP from "R4's IP address"

BGP コンソール コマンド

BGP にはいくつかの show コマンドがあります。また、BGP を有効/無効にする、または BGP 接続をリセットするコマンドもあります。

この項で使用されるコマンドについては、「テキストベースの設定およびびコマンド ライン リファレンスガイド」を参照してください。

show bgp rtcount     BGP Routing Entry Counts
    show bgp routes      Display BGP Routing Entries
    show bgp peers       Display the list of BGP Peers and current status
    show bgp timers      BGP Peer timer information
    show bgp mem         BGP Database Memory Allocation
    show bgp config      BGP configuration information
    show bgp stats       BGP peer uptime and packet exchange statistics
    show bgp networks    Display list of internal networks to be advertised
    show bgp aggregates  Display BGP routes to be aggregated
    
    bgp disable          Disable BGP connection to all peers or 1 specified peer
                         Usage: { ALL | IP Address }
    bgp enable           Enable BGP connection to all peers or 1 specified peer
                         Usage: { ALL | IP Address }
    bgp reset peer       Reset BGP connection to all peers or 1 specified peer
                         Usage: { ALL | IP Address }

Show BGP rtcount

このコマンドは、BGP ルーティング データベースのルートの数に関するサマリーを表示します。 BGP では、非常に多くのルートがあり、いくつあるかを知りたいが、すべてをプリントアウトしたくない場合にこのコマンドは便利です。

BGP Test> sho bgp rt

    BGP Routing Database Entries       In Use    Added     Removed
    In IP routing table:               51548     78694     27146     
    BGP route heads:                   51548     78702     27154     

    IP Routing Table Entries: 51561

Show BGP Routes

show bgp routes コマンドは、引数を使用しないと、各宛先について BGP ルーティング データベースの最適のルートを表示します。 次にサンプルの抜粋を示します。

BGP ルーティング データベースは、ルータの IP ルーティング テーブルにないルートを含む場合があります。 BGP ルートは、ルータにそのルートのネクストホップのエントリがない場合、IP ルーティング テーブルに存在しません。

bgptest>sho bgp ro

  BGP Best Routes List

      Network/Mask Bits   Pref  Weight  Next Hop         AS Path
   1  128.128.0.0    /16  100   100     199.45.133.101   3404 1 1 
   2  129.129.0.0    /16  100   100     199.45.133.101   3404 1 1239 1673 1133 559 
   3  130.130.0.0    /16  100   100     199.45.133.101   3404 1 1 5727 7474 7570 
   4  131.131.0.0    /16  100   100     199.45.133.101   3404 1 1 1236 
   5  134.134.0.0    /16  100   100     199.45.133.101   3404 1 1239 1760 4983 
   6  135.135.0.0    /16  100   100     199.45.133.101   3404 3561 3561 4293 
   7  139.139.0.0    /16  100   100     199.45.133.101   3404 1 1239 568 1913 1569 
   8  140.140.0.0    /16  100   100     199.45.133.101   3404 1 1239 7170 374 
   9  141.141.0.0    /16  100   100     199.45.133.101   3404 1 1239 3739 3739 3739 
  10  142.142.0.0    /16  100   100     199.45.133.101   3404 3561 3561 577 549 808 
  11  147.147.0.0    /16  100   100     199.45.133.101   3404 3561 3561 5400 2856 
  12  149.149.0.0    /16  100   100     199.45.133.101   3404 1 1 3749 
  13  150.150.0.0    /16  100   100     199.45.133.101   3404 3561 3561 3786 6068 
  14  151.151.0.0    /16  100   100     199.45.133.101   3404 1 1239 174 
  15  152.152.0.0    /16  100   100     199.45.133.101   3404 1 1 286 1891 
  16  155.155.0.0    /16  100   100     199.45.133.101   3404 1 701 702 8413 1913 1564 
  17  158.158.0.0    /16  100   100     199.45.133.101   3404 3561 3561 
  18  161.161.0.0    /16  100   100     199.45.133.101   3404 1 1239 174 
  19  164.164.0.0    /16  100   100     199.45.133.101   3404 1 701 7633 
  20  165.165.0.0    /16  100   100     199.45.133.101   3404 1 701 5713

この show コマンドは特定のルートを使用して実行することもできます。この場合、そのルートに関するすべてのパスが表示されます。

BGP 2600>sho bgp ro 129.129.0.0

    BGP routing table entry for 129.129.0.0/16

    Paths: (in order of preference, best first)

      AS path 11129 3404 1239 1673 1133 559 
        Next hop 198.41.11.1 from peer 198.41.11.17 (RtrID 198.41.11.17)
          Origin IGP, localpref 100, weight 100
      AS path 12345 11129 3404 1239 1673 1133 559 
        Next hop 198.41.11.1 from peer 198.41.11.201 (RtrID 198.41.11.201)
          Origin IGP, localpref 100, weight 100

IP アドレスが 1 つだけ入力された場合は、最も詳細なルートが表示されます。 同じ IP アドレスに関して大まかなルートを表示するには、マスクも入力します。

BGP ルートは ルート/マスクではなく、CIDR 表記 (ネットワーク/マスク ビット)を使用して表示されます。

BGP ルート マップを使用するとプリファレンスと重みを設定できます。 BGP Route Maps が存在しない場合は、デフォルトの Local Preference と Weight の値が使用されます。

発信元 AS を右端に置いて、完全な AS パスが表示されます。 ルートを伝搬する各 AS は、AS パス アトリビュートにそれ自身の AS を付加します。

BGP ルートを使用した show ip routing コマンドの IP ルーティング テーブルの抜粋を次に示します。 BGP では、RIP と同様に、メトリックはパス長になります。 大部分の BGP ルートは IGP です。これは、BGP ルートが Interior Gateway Protocol(IGP; 内部ゲートウェイ プロトコル)で発信されたことを意味します。 その他には、Exterior Gateway Protocol(EGP; エクステリア ゲートウェイ プロトコル)または Incomplete(通常はスタティック ルートを意味する)の可能性があります。

bgptest> sho ip ro dynamic bgp

  Dynamic Routes:
  Destination      Mask     Gateway     Metric   Uses  Type  Src/TTL Interface
  3.0.0.0          FF000000 198.41.11.1      5      0   BGP    INC     Ether0
  6.0.0.0          FF000000 198.41.11.1      6      0   BGP    INC     Ether0
  9.2.0.0          FFFF0000 198.41.11.1      6      0   BGP    IGP     Ether0
  9.20.0.0         FFFF8000 198.41.11.1      6      0   BGP    INC     Ether0
  12.0.0.0         FF000000 198.41.11.1      5      0   BGP    IGP     Ether0
  12.2.97.0        FFFFFF00 198.41.11.1      6      0   BGP    IGP     Ether0
  12.2.183.0       FFFFFF00 198.41.11.1      4      0   BGP    IGP     Ether0
  12.4.164.0       FFFFFF00 198.41.11.1      5      0   BGP    IGP     Ether0
  12.5.164.0       FFFFFF00 198.41.11.1      5      0   BGP    IGP     Ether0
  12.5.252.0       FFFFFE00 198.41.11.1      6      0   BGP    IGP     Ether0
  12.6.42.0        FFFFFE00 198.41.11.1      6      0   BGP    IGP     Ether0
  12.7.214.0       FFFFFE00 198.41.11.1     11      0   BGP    IGP     Ether0
  12.8.188.0       FFFFFC00 198.41.11.1      5      0   BGP    IGP     Ether0
  12.8.188.0       FFFFFF00 198.41.11.1      5      0   BGP    INC     Ether0
  12.8.189.0       FFFFFF00 198.41.11.1      5      0   BGP    INC     Ether0
  12.8.191.0       FFFFFF00 198.41.11.1      5      0   BGP    INC     Ether0
  12.10.14.0       FFFFFE00 198.41.11.1      5      0   BGP    INC     Ether0
  12.10.152.0      FFFFF800 198.41.11.1      5      0   BGP    IGP     Ether0
  12.10.231.0      FFFFFF00 198.41.11.1      6      0   BGP    IGP     Ether0
  12.11.134.0      FFFFFE00 198.41.11.1      5      0   BGP    IGP     Ether0

Show BGP Peers

show bgp peers コマンドでは、このルータの設定済み BGP ピアが、ピアの AS 番号、Router ID、IP アドレス、TCP ソケット番号、Enable Status、および BGP 接続状態に関する情報とともに表示されます。

bgptest>sho bgp peers

    ==========================================================================
                               BGP PEER STATUS
    --------------------------------------------------------------------------
    Int  AS      Router           IP               TCP     Enable  BGP
    Ext  Number  ID               Address          Socket  Status  State
    --------------------------------------------------------------------------
    Ext  23456   0.0.0.0          198.14.13.18     0       Off     IDLE       
    Ext  34567   198.41.11.6      198.14.12.6      82      On      ESTABLISHED
    Int  11129   0.0.0.0          198.41.11.17     0       Off     IDLE       
    Int  11129   0.0.0.0          198.41.11.2      0       On      ACTIVE     
    ==========================================================================

Int/Ext は、これが内部/外部のどちらのピアであるかを示します (内部ピアはルータそれ自身と同じ AS 番号を持っています。) ピアの AS 番号は、BGP Peer List で設定します。

ピアがルータにコンタクトを取るまでルータ ID は不明であるため、接続状態が IDLEACTIVE、または CONNECT である場合、このパラメータは 0 である可能性があります。 通常、Router ID はピアのインターフェイスのいずれかの IP アドレスであり、その IP アドレスと同じ場合または異なる場合があります。

Enable Status は、このピアからの接続要求をルータが現在受け入れるかどうかを示しています。 BGP Peer List でピアを On に設定することで、ピアは有効状態で起動できます。 また、BGP Peer Enable および BGP Peer Disable コマンドを使用することで、ピアを動的に有効/無効にできます。 Enable Status が Off の場合、BGP State は常に IDLE です。

BGP 接続状態は、 IDLEACTIVECONNECTOPENSENT, OPENCONFIRM、 および ESTABLISHED です。 接続状態は、ピア間のアクティブなネゴシエーションにより確立されます。 IDLE 状態では、ルータはピアからの接続を受け入れません。 ピアの急なアップ/ダウンの遷移を防止するため、接続がタイムアウトした後に一時的にこの状態になります。 ACTIVE 状態では、ルータは自身のサーバ ポートでピアからの接続要求を受信します。 CONNECT 状態では、ルータはアクティブな TCP 接続要求をピアに送信しています。 OPENSENT および OPENCONFIRM 状態では、2 台のピアが BGP セッションを確立するために予備パケットを交換しています。 交換が成功すると、その 2 台のピアは ESTABLISHED 状態になります。 ネゴシエートされたホールド タイムが 0 である場合を除き、ピアは継続して定期的な KEEPALIVE パケットを交換して ESTABLISHED 状態を維持する必要があります。

BGP は、TCP を介してピアと通信します。 そのため、BGP セッションのより詳細な情報に関しては「show os tcp」コマンドを使用すると取得できます。 TCP 状態は BGP 状態と異なり、標準の TCP 状態(LISTENSYNSENTSYNRCVDESTABLISHEDFINWAIT1FINWAIT2CLOSEWAITLASTACKCLOSINGTIMEWAIT)です。 BGP はポート 179 を使用して BGP の接続試行を受信します。

bgptest>sho os tcp
    ==========================================================================
                              TCP SESSION INFORMATION
    --------------------------------------------------------------------------
                                               Local   Remote  Remote
    Num  Session Type      State       Socket  Port    Port    IP Address
    --------------------------------------------------------------------------
      1  SERVER (TELNET)   LISTEN      80      23      0       0.0.0.0
      2  SERVER (BGP)      LISTEN      81      179     0       0.0.0.0
      3  ACTIVE (BGP)      ESTABLISH   82      20001   179     198.41.9.2 
    --------------------------------------------------------------------------
    
    13 free TCBs out of 16.
    ==========================================================================

Show BGP Networks

show bgp networks コマンドは、外部 BGP ピアにアドバタイズされる内部ネットワークのリストを表示します。

bgptest>sho bgp networks

    BGP NETWORKS:  2
    Address              Mask
    198.41.11.0          255.255.255.0
    209.14.128.0         255.255.255.0 

Show BGP Stats

show bgp stats コマンドは、BGP ピアとの間で送受信されるパケット タイプに関する統計、およびピアの現在の稼働時間を表示します。

BGP Test>sho bgp stats
                                       Received    Sent
    Open messages:                         8         58          
    Keepalive messages:                 4069       4124        
    Notify messages:                       0          0

    BGP External Peer 198.41.11.6 state ESTABLISHED
       6 peer sessions, current uptime 2 days 16 hours 40 minutes 19 secs 
       0 updates received
       78791 updates sent, last at 6 secs 
    BGP Internal Peer 198.41.9.2 state ESTABLISHED
       1 peer sessions, current uptime 2 days 20 hours 42 minutes 28 secs 
       88791 updates received, last at 7 secs 
       0 updates sent

Show BGP Timers

show bgp timers コマンドは、各ピアに関連付けられている各タイマーの現在の残り時間を秒単位で表示します。 ピアが ESTABLISHED 状態である場合、KEEPALIVE タイマーと HOLD タイマーが対象です。 ピアが ACTIVE 状態である場合、CONNECT タイマーが対象です。 ピアが IDLE 状態でも有効である場合は、AUTO ENABLE タイマーが対象です。 ピアが IDLE で無効である場合、bgp peer enable コマンドが発行されるまで、アクティブなタイマーはありません。

BGP Test>sho bgp timers

    ======================================================================
                                 BGP TIMERS
    ----------------------------------------------------------------------
    Peer Address     Status    State        Timers
    ----------------------------------------------------------------------
    198.41.9.2       Enabled   ESTABLISHED  Send KEEPALIVE pkt:   2   secs
                                            HOLD timer expires:   121 secs
    198.14.13.2      Enabled   ACTIVE       Next CONNECT attempt: 16  secs
    199.13.12.3      Enabled   IDLE         AUTO ENABLE:          112 secs
    198.41.9.3       Disabled  IDLE         No timers active
    ======================================================================

ピアが ESTABLISHED 状態である場合、Keepalive タイマーは、ルータが次の KEEPALIVE パケットをピアに送信するまでの秒数を示します。 Hold Timer は、ピアに関して Hold Timer が期限切れになるまでの秒数を示します。 ルータがピアから UPDATE または KEEPALIVE パケットを受信するたびに、Hold Timer が設定されます。 Hold Timer が期限切れになると、ルータはピアがダウン状態であることを宣言し、ピアを IDLE 状態に遷移させ、Auto Enable タイマーを設定します。

Connect タイマーと Auto Enable タイマーはともに、ルータがピアへのコンタクトを再度試行するまでの残り秒数を示します。 Connect タイマーは、ピアが ACTIVE 状態のときに使用されます。 この状態では、ルータは接続時間が経過するまでピアからの着信接続要求を受け入れません。 Auto Enable タイマーは、ピアが IDEL 状態のときに使用されます。 この状態では、ルータは Auto Enable の時間が経過するまでピアからの接続要求を受け入れません。 Auto Enable タイマーが期限切れになると、ピアは ACTIVE 状態に戻ります。

Auto Enable タイマーの目的は、ピア セッションが非常に速い速度でアップ/ダウンするのを防止することです。 ピア セッションが何らかの理由により中断されると、新しいセッションが許可されるまで、ある短い期間そのピアはダウン状態になります。

Show BGP Mem

show bgp mem コマンドは、BGP に関する詳細かつ動的なメモリの使用状況を表示します。

BGP Test>sho bgp mem

               ROUTING DATABASE DYNAMIC MEMORY USAGE
    ------------------------------------------------------------
    Memory Block        Allocs      Deallocs        Size (bytes)
    ------------------------------------------------------------
    ip radix nodes                                  1976180 
    ip routing entries                              4332132 
    bgp ip routes       78709       27149   
    bgp routes          78717       27157           2062400 
    bgp int change      0           0               0       
    bgp aggregates      0           0               0       
    bgp agg paths       0           0               0       
    bgp timers          12          0               384     
    -------------------------------------------------------
    Peer 198.41.9.2
    bgp path entries    78728       27168           1443680 
    bgp transmit queues 0           0               0       
    bgp PA strings      28151       21181           1784320 
    bgp PA hdr entries  28151       21181           529720  
    bgp rejected routes 0           0               0       
    bgp rej entries     0           0               0       
    bgp history entries 0           0               0       
    ------------------------------------------------------------
    Total Size                                      12128816
    ------------------------------------------------------------

Show BGP Config

このコマンドは、ルータのルータ IDBGP General セクションで設定されているパラメータ、ルート再配布ステータス、およびピア設定パラメータを表示します。 BGP のルータのルータ ID は、OSPF の場合と同じで、ルータの IP インターフェイスの最大の IP アドレスである点に注意してください。

bgptest>sho bgp config

    BGPEnabled             Yes
    Router ID              205.14.128.2
    BGP AS Number          100
    BGP Local Preference   100
    Use IP Route Filters   Yes
    Route Relector Server  No

    Redistribute RIP routes into BGP is disabled
    Redistribute OSPF routes into BGP is disabled
    Redistribute BGP routes into OSPF is disabled
    Redistribute BGP routes into RIP is disabled

    BGP Peer 205.14.128.1
             Configuration ID   1
             Startup State      Inactive
             AS Number          110
             Peer Weight        2000
             Next Hop Self      No
             Cfg Hold Time      180
             Retry Time         45
             Use Loopback       No
             Advertise Default  Yes
             Input Route Map    rmapin
             Output Route Map   rmapout
    BGP Peer 198.41.11.213
             Configuration ID   2
             Startup State      Active
             AS Number          100
             Peer Weight        1000
             Next Hop Self      No
             Cfg Hold Time      180
             Retry Time         65
             Use Loopback       No
             Advertise Default  No
             Input Route Map    None
             Output Route Map   None

ピア Startup State は、電源投入時にルータがピアとのセッションを確立しようとするかどうかを示します。 これが Inactive に設定されている場合、ピアは BGP Enable command コマンドを使用して有効にできます。 ただし、ルータの次の再起動時にピアは再び非アクティブになります。

最初のピアでは BGP ルート マップが定義されており、2 番目のピアでは定義されていないことに注意してください。 Use IP Route FiltersYes に設定されているため、2 番目のピアには使用されますが、最初のピアには使用されません。

Show BGP Aggregates

show bgp aggregates コマンドは、外部ピアに集約されるよう管理者が設定したルートを表示します。 集約が行われるのは、ルートのインスタンスが IP ルーティング テーブルに表示されている場合だけです。

bgptest>sho bgp agg

    BGP AGGREGATES:  
    195.41.0.0/16

BGP Disable

このコマンドは、選択したピアまたはすべてのピアとの BGP セッションを終了します。

BGP disable all
          OR
    BGP disable 205.14.128.1

Reset BGP Peer

このコマンドは、選択した BGP ピアまたはすべてのピアとのセッションをリセットします。

Reset BGP Peer all
           OR
    Reset BGP Peer 205.14.128.1

BGP クイック スタート ガイド

BGP を起動して稼働させる非常にシンプルな設定を次に示します。 この設定では、AS からの出口は 1 箇所だけなので、発信パケットにはデフォルトのスタティック ルートを使用していることが前提になっています。

  1. BGP General セクションで BGP を有効にし、AS 番号を指定します。

    [ BGP General ]
    
    BGPEnabled = On
    BGPAS = your AS number
  2. BGP ピアの IP アドレスと AS 番号(この場合は ISP の BGP ルータ)を指定します。

    [ BGP Peer List ]
    
    BGPPeer = On peer IP address peer AS number 
  3. AS の外部にアドバタイズする内部ネットワークのネットワーク リストを指定します。

    [ BGP Networks ]
    
    LocalNet = first IP address mask 
    LocalNet = second IP address mask 

BGP デバッグ オプション

デバッグ可能なコード バージョンの場合、5 つの BGP デバッグ コマンド、 BGPPKTBGPDBBGPCONBGPKEEP、および BGPTXQ があります。 BGPPKT は BGP 更新パケットの交換に関する情報を提供します。 BGPFDB はデータベース更新情報を提供します。 BGPCON はピアとの BGP セッションの状態に関する情報を提供します。 BGPKEEP は、KEEPALIVE パケットが送受信された時点に関する情報を提供します。 BGPTXQ は、ESTABLISHED 状態でのピアへの更新パケットの送信に関する情報を提供します。

sys debug flags BGPPKT
    sys debug flags BGPCON
    sys debug flags BGPFDB
    sys debug flags BGPKEEP
    sys debug flags BGPTXQ

BGP RFC リファレンス

rfc2283 -- Multiprotocol Extensions for BGP-4. 
           T. Bates, R. Chandra, D. Katz, Y. Rekhter. 
           February 1998. (Status: PROPOSED STANDARD)
rfc2042 -- Registering New BGP Attribute Types. 
           B. Manning. 
           January 1997. (Status: INFORMATIONAL)
rfc1998 -- An Application of the BGP Community Attribute in 
           Multi-home Routing. 
           E. Chen & T. Bates. 
           August 1996. (Status: INFORMATIONAL)
rfc1997 -- BGP Communities Attribute. 
           R. Chandra, P. Traina & T. Li. 
           August 1996. (Status: PROPOSED STANDARD)
rfc1965 -- Autonomous System Confederations for BGP. 
           P. Traina. 
           June 1996. (Status: EXPERIMENTAL)
rfc1863 -- A BGP/IDRP Route Server alternative to a full mesh routing. 
           D. Haskin. 
           October 1995.   (Status: EXPERIMENTAL)
rfc1774 -- BGP-4 Protocol Analysis. 
           P. Traina, Editor. 
           March 1995.   (Status: INFORMATIONAL)
rfc1773 -- Experience with the BGP-4 protocol. 
           P. Traina. 
           March 1995.   (Status: INFORMATIONAL)
rfc1771 -- A Border Gateway Protocol 4 (BGP-4). 
           Y. Rekhter & T. Li. 
           March 1995. (Status: DRAFT STANDARD)
rfc1745 -- BGP4/IDRP for IP---OSPF Interaction. 
           K. Varadhan, S. Hares, Y. Rekhter. 
           December 1994. (Status: PROPOSED STANDARD)

関連情報



Document ID: 17612