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 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 Peer List には、このルータに対して設定されているピアのリストが含まれます。このルータは、リストにないルータとは BGP 接続を確立しません。BGP Peer List がない場合は、BGP General セクション で BGPEnabled が On に設定されている場合でも、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 を使用してピアとコンタクトを取ります。ピアの IPaddress と ASNumber を、ユーザが指定する必要があります。セッションが確立されるためには、ルータは、指定された 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
InputRouteMap と OutputRouteMap は別々に指定されることに注意してください。設定およびチェックされるパラメータは、入力ルートと出力ルートでは異なることに注意してください(詳細は、BGP ルート マップ 項を参照)。
NextHopSelf が TRUE に設定されている場合、ルータは、このピアに対してアドバタイズするルートでのネクストホップとして自分自身をアドバタイズします。
EBGPMultihop が TRUE に設定されている場合を除き、外部ピアは直接接続されている必要があります。このパラメータが TRUE に設定されている場合、ルータは接続を確立するために、直接接続されていない外部ピアへのルートが必要になります。
PeerWeight パラメータは、管理者によってピアに割り当てられる内部評価です。これは、他のルータにはアドバタイズされません。同じ宛先に対して複数のルートが存在する場合、重みの高いピアが優先されます。
管理者は BGP Retry Time を使用すると、何らかの理由によりダウンした設定済みのピアへの接続を確立する再試行の間隔を設定できます。あるピアがダウンしていてもその状態が On に設定されている場合、ルータは継続して PeerRetryTime 秒ごとにピアへのコンタクトを試みます。許容される最小の PeerRetryTime は 10 秒です。
ホールド タイムがピアとネゴシエートされるため、設定されている PeerHoldTime は、ピアにより使用される実際のホールド タイムには必ずしもなりません。ピアは、提示されている 2 つのホールドタイムの小さい方を使用します。ホールドタイムはゼロにするか、少なくとも 3 秒にする必要があります。ネゴシエートされたホールドタイムの間隔がゼロである場合、定期的な KEEPALIVE メッセージは送信されません。
PeerWeight、PeerHoldTime または 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 ネットワーク リスト、IP ルートの再配布、BGP ルート マップ、または IP ルート フィルタを設定する必要があります。
外部ルートをアドバタイズするには、BGP Route Maps または IP Route Filters を使用します。内部ルートをアドバタイズするには、BGP Networks List または IP Route Redistribution を使用します。
これらの各設定については、後述のセクションで説明します。
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ネットワークは次のようになります。
[ BGP Networks ] LocalNet = IP address [mask] [ BGP Networks ] LocalNet = 198.41.9.32 255.255.255.255
LocalNet を使用して指定したマスクにより、ルータは 198.41.9.32 エントリだけに一致します。クラスCよりも具体的なサブネットマスクを自動的に切り捨てるため、ネットワークは198.41.9.0/24としてアドバタイズされます。ただし、マスク255.255.255.0を指定すると、サブネット3つすべてがLocalNetエントリに一致するため、198.41.9.0/24ネットが3回アドバタイズされます。この切り捨ては集約と同じではなく、内部ネットワークにだけ適用され、また Class C よりも詳細なマスクにだけ適用されます。ルート集約を行うには、BGP Aggregates セクションを使用します。
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 セクションで指定されているマスクに一致しますが、これらが自動的には集約されることはありません。
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
IP Static セクションでルートを設定する際に redistribute フラグを使用すると、スタティック ルートを BGP に再配布できます。
[ IP Static ] 198.41.16.0 255.255.255.0 198.41.9.65 1 Redist=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 ルート マッピング規則に関連するパラメータと修飾子について詳しく説明します。
action route [direction] [out | in modifiers] permit | deny IP Address out | in
action、route および direction は必須パラメータです。In および out 修正子はオプションです。
これにより、ルートが規則の条件を満たした時に行われる処置が指定されます。
IP アドレスは IP ルート フィルタの説明と同様に指定されます。つまり、通常のドット付き 10 進表記、要素分解アドレス、16 進数、またはオプションの /bit フィールドで指定されます。詳細については IP Route Filter のマニュアル ページを参照してください。
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ルートマップmymapinでは、コミュニティ属性にコミュニティ200が含まれ、プリファレンスが100に設定された場合、ルート192.61.5.0が許可されます。2行目では、コミュニティ200からの他のすべてのルートも許可されますが、プリファレンスは300に設定されます。
BGP Route Map mymapoutでは、BGP Networksセクションで指定されたすべての直接ルートがAS番号200に許可され、MEDは10に設定されます。2行目では、すべてのルートがAS番号300に許可されますが、コミュニティ値はnoadvertise(NO_NO)にに設定されます。
[ 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 がその他の要素の中で重み、プリファレンス、および MED を使用するためです。BGP は、次に示す順序で次の条件を使用して、宛先への最適なルートを選択します。
最も優先されるパスは、重みが最大であるパスです。
重みが同じである場合、ローカル プリファレンスが最大であるパスを選択します。
プリファレンスが同じである場合は、AS パスの長さが最短であるパスを選択します。
すべてのパスの AS パス長が同じである場合は、MED が最低であるパスを選択します。
パスの MED が同じである場合は、Router ID が最も低い 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がルータR1に適用されます。AS 300から発信されたすべてのルートがフィルタリングされ、AS 400から発信されたすべてのルートが許可されます。
IPルートフィルタ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 フィルタリングを使用して次の操作を行うことはできません。ルータR1がピアR2とR4の両方からルート199.41.13.0に関するアドバタイズメントを受信し、ルートがAS 500を起点とします。したがって、R2からのルートのASパスは[200,300,500]で、R4からの同の0です00,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 にはいくつかの 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 }
このコマンドは、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 コマンドは、引数を使用しないと、各宛先について 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 コマンドでは、このルータの設定済み BGP ピアが、ピアの AS 番号、ルータ ID、IP アドレス、TCP ソケット番号、イネーブル ステータス、および 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は不明です。したがって、接続状態がIDLE、ACTIVE、またはCONNECTの場合、このパラメータは0である可能性があります。ルータIDは通常、ピアのインターフェイスのIPアドレスです。
Enable Status は、このピアからの接続要求をルータが現在受け入れるかどうかを示しています。BGP Peer List でピアを On に設定することで、ピアは有効状態で起動できます。また、BGP Peer Enable および BGP Peer Disable コマンドを使用することで、ピアを動的に有効/無効にできます。Enable Status が Off の場合、BGP State は常に IDLE です。
BGP 接続状態は、IDLE、ACTIVE、CONNECT、OPENSENT, OPENCONFIRM、 および ESTABLISHED です。接続状態は、ピア間のアクティブなネゴシエーションにより確立されます。IDLE 状態では、ルータはピアからの接続を受け入れません。ピアの急なアップ/ダウンの遷移を防止するため、接続がタイムアウトした後に一時的にこの状態になります。ACTIVE 状態では、ルータは自身のサーバ ポートでピアからの接続要求を受信します。CONNECT 状態では、ルータはアクティブな TCP 接続要求をピアに送信しています。OPENSENT および OPENCONFIRM 状態では、2 台のピアが BGP セッションを確立するために予備パケットを交換しています。交換が成功すると、その 2 台のピアは ESTABLISHED 状態になります。ネゴシエートされたホールド タイムが 0 である場合を除き、ピアは継続して定期的な KEEPALIVE パケットを交換して ESTABLISHED 状態を維持する必要があります。
BGP は、TCP を介してピアと通信します。そのため、BGP セッションのより詳細な情報に関しては「show os tcp」コマンドを使用すると取得できます。TCP 状態は BGP 状態と異なり、標準の TCP 状態(LISTEN、SYNSENT、SYNRCVD、ESTABLISHED、FINWAIT1、FINWAIT2、CLOSEWAIT、LASTACK、CLOSING、TIMEWAIT)です。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 コマンドは、外部 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 コマンドは、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 コマンドは、各ピアに関連付けられている各タイマーの現在の残り時間を秒単位で表示します。ピアが 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 コマンドは、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 ------------------------------------------------------------
このコマンドは、ルータのルータ ID 、BGP 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 Filters が Yes に設定されているため、2 番目のピアには使用されますが、最初のピアには使用されません。
show bgp aggregates コマンド は、外部ピアに集約されるよう管理者が設定したルートを表示します。集約が行われるのは、ルートのインスタンスが IP ルーティング テーブルに表示されている場合だけです。
bgptest>sho bgp agg BGP AGGREGATES: 195.41.0.0/16
このコマンドは、選択したピアまたはすべてのピアとの BGP セッションを終了します。
BGP disable all OR BGP disable 205.14.128.1
このコマンドは、選択した BGP ピアまたはすべてのピアとのセッションをリセットします。
Reset BGP Peer all OR Reset BGP Peer 205.14.128.1
BGP を起動して稼働させる非常にシンプルな設定を次に示します。この設定では、AS からの出口は 1 箇所だけなので、発信パケットにはデフォルトのスタティック ルートを使用していることが前提になっています。
BGP General セクションで BGP を有効にし、AS 番号を指定します。
[ BGP General ] BGPEnabled = On BGPAS = your AS number
BGP ピアの IP アドレスと AS 番号(この場合は ISP の BGP ルータ)を指定します。
[ BGP Peer List ] BGPPeer = On peer IP address peer AS number
AS の外部にアドバタイズする内部ネットワークのネットワーク リストを指定します。
[ BGP Networks ] LocalNet = first IP address mask LocalNet = second IP address mask
デバッグ可能なコード バージョンの場合、5 つの BGP デバッグ コマンド、BGPPKT、BGPDB、BGPCON、BGPKEEP、および 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
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)
改定 | 発行日 | コメント |
---|---|---|
1.0 |
22-Jan-2007 |
初版 |