はじめに
このドキュメントでは、Cisco IOS®ソフトウェアリリース12.0(5)Sで最初に使用可能になったボーダーゲートウェイプロトコル(BGP)ローカルAS機能について説明します。
前提条件
要件
このドキュメントでは、BGPルーティングプロトコルとその動作に関する知識を推奨しています。詳細については、「Border Gateway Protocolケーススタディの調査」を参照してください。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアバージョンで作成されていますが、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
背景説明
ローカルAS機能を使用すると、ルータを元のASに加えて、2番目の自律システム(AS)のメンバーのように見せることができます。この機能は、正しい eBGP ピアにしか使用できません。異なるコンフェデレーション サブ AS のメンバーである 2 つのピアに対しては、この機能を使用できません。
ローカルAS機能は、あるISPが別のISPを買収する際に便利なツールです。買収したISPのルータが、買収したISPのASにシームレスに参加できるようにするためです。これは、買収したISPの顧客が既存のピアリングの配置と設定を維持することを希望する場合に特に役立ちます。ローカルAS機能を使用すると、買収したISPのルータを、買収したISPのASのメンバーとして認識し、顧客からは元のAS番号をそのまま見ることができます。これにより、円滑な移行が保証され、買収したISPの顧客の中断が最小限に抑えられます。
たとえば、次のネットワークダイアグラムを参照してください。図1では、ISP-AはISP-Bをまだ買収しておらず、図2では、ISP-AはISP-Bを買収していますが、ISP-BはローカルAS機能を使用しています。ISP-AがISP-Bを購入したが、ISP-Bの顧客が設定の変更を希望しない場合、ローカルAS機能により、ISP-BのルータはISP-A(100)ASのメンバになることができます。同時に、これらのルータは顧客からはISP-B(200)のAS番号を保持しているように見えます。
図2では、ISP-B(顧客)はAS 100に属し、ISP-C(顧客)はAS 300に属しています。ISP-Bは、ISP-Cとピアリングする際、neighbor <ISP-C> local-as 200コマンドを使用して、AS番号としてAS 200を使用します。ISP-BからISP-Cに送信されるBGPアップデートでは、AS_PATH属性のAS_SEQUENCEに「200 100」が含まれています。ISP-Bでは「200」が前に付加されます。これは、local-as 200コマンドがISP-C用に設定されているためです。
通常、結合された ISP-A/B では、ISP-B のルータが AS 100 の一部となるように番号を変更します。しかし、ISP-C が ISP-B との eBGP 設定を変更できない場合はどうなるでしょうか。ローカル AS 機能が実現される前は、結合された ISP-A/B で 2 つの AS 番号を保持する必要がありました。local-asコマンドを使用すると、ISP-CにはISP-A/Bを2つのASのように見せながら、物理的には1つのASにできます。
コマンド構文
次のリストは、このドキュメントの設定で使用するコマンドの構文を示しています。
ローカル AS は、ピア グループ内の個々のピアについてカスタマイズできません。
ローカル AS は、ローカル BGP プロトコルの AS 番号やリモート ピアの AS 番号を持つことはできません。
local-as コマンドは、ピアが本当の eBGP ピアの場合にだけ有効です。異なるコンフェデレーション サブ AS 内の 2 つのピアには使用できません。
設定
このセクションでは、このドキュメントで説明する機能を設定するために必要な情報について記載しています。
ネットワーク図
このドキュメントでは、次のネットワーク設定を使用します。
Figure 1
図 2
コンフィギュレーション
このドキュメントでは、次のコンフィギュレーションを使用します。
ISP-B(AS 100、local-as 200) |
hostname ISP-B
!
interface serial 0
ip address 192.168.1.1 255.255.255.252
!
interface ethernet 0
ip address 192.168.4.1 255.255.255.0
!
router bgp 100
!--- Note the AS number 100. This is the AS number of ISP-A, which is now !--- used by all routers in ISP-B after its acquisition by ISP-A.
neighbor 192.168.1.2 remote-as 300
!--- Defines the e-BGP connection to ISP-C.
neighbor 192.168.1.2 local-as 200
!--- This command makes the remote router in ISP-C to see this !--- router as belonging to AS 200 instead of AS 100. !--- This also make this router to prepend AS 200 in !--- all updates to ISP-C.
network 192.168.4.0
!
! |
ISP-C(AS 300) |
hostname ISP-C
!
interface serial 1
ip address 192.168.1.2 255.255.255.252
!
interface ethernet 0
ip address 192.168.9.1 255.255.255.0
!
router bgp 300
neighbor 192.168.1.1 remote-as 200
!--- Defines the e-BGP connection to ISP-B.
!--- Note AS is 200 and not AS 100.
network 192.168.9.0
!
! |
確認
この項では、設定が正しく動作していることを確認するために使用できる情報を説明します。
local-as コマンドで AS_PATH がどのように変わったかを確認するには、BGP ルーティング テーブルを参照してください。ISP-B によって、ISP-C との間で送受信するアップデートの前に AS 200 が追加されるのがわかります。また、ISP-B の AS 番号が 100 であることにも注意してください。
ISP-B#show ip bgp summary
BGP router identifier 192.168.4.1, local AS number 100
BGP table version is 3, main routing table version 3
2 network entries and 2 paths using 266 bytes of memory
2 BGP path attribute entries using 104 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP activity 2/6 prefixes, 2/0 paths, scan interval 15 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
192.168.1.2 4 300 29 29 3 0 0 00:25:19 1
この出力で、ISP-C が ISP-B を AS 200 の一部と見なしていることに注意してください。
ISP-C#show ip bgp summary
BGP table version is 3, main routing table version 3
2 network entries (2/6 paths) using 480 bytes of memory
2 BGP path attribute entries using 192 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
192.168.1.1 4 200 34 34 3 0 0 00:30:19 1
この出力では、ISP-BがISP-Cから学習したルートの前に「200」を付加しています。
ISP-B#show ip bgp
BGP table version is 3, local router ID is 192.168.4.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.4.0 0.0.0.0 0 32768 i
*> 192.168.9.0 192.168.1.2 0 0 200 300 i
ISP-CがISP-Bからのルートを「200 100」のAS_PATHで確認していることに注目してください。
ISP-C#show ip bgp
BGP table version is 3, local router ID is 192.168.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.4.0 192.168.1.1 0 0 200 100 i
*> 192.168.9.0 0.0.0.0 0 32768 i
次のコマンドの出力には、設定されている local-as の値が表示されます。
ISP-B#show ip bgp neighbors 192.168.1.2
BGP neighbor is 192.168.1.2, remote AS 300, local AS 200, external link
BGP version 4, remote router ID 192.168.9.1
BGP state = Established, up for 00:22:42
Last read 00:00:42, hold time is 180, keepalive interval is 60 seconds
Neighbor capabilities:
Route refresh: advertised and received(old & new)
Address family IPv4 Unicast: advertised and received
Message statistics:
InQ depth is 0
OutQ depth is 0
Sent Rcvd
Opens: 1 1
Notifications: 0 0
Updates: 2 1
Keepalives: 25 25
Route Refresh: 0 1
Total: 28 28
Default minimum time between advertisement runs is 30 seconds
トラブルシュート
debug ip bgp updates コマンドは、ネイバーから受信したプレフィックスをその属性とともに表示します。次の出力は、プレフィックス 192.168.4.0/24 が AS PATH 200、100 とともに受信されることを示しています。
ISP-C#
*May 10 12:45:14.947: BGP(0): 192.168.1.1 computing updates, afi 0, neighbor version 0, table version 5, starting at 0.0.0.0
*May 10 12:45:14.947: BGP(0): 192.168.1.1 send UPDATE (format) 192.168.9.0/24, next 192.168.1.2, metric 0, path
*May 10 12:45:14.947: BGP(0): 192.168.1.1 1 updates enqueued (average=52, maximum=52)
*May 10 12:45:14.947: BGP(0): 192.168.1.1 update run completed, afi 0, ran for 0ms, neighbor version 0, start version 5, throttled to 5
*May 10 12:45:14.947: BGP: 192.168.1.1 initial update completed
*May 10 12:45:15.259: BGP(0): 192.168.1.1 rcvd UPDATE w/ attr: nexthop 192.168.1.1, origin i, metric 0, path 200 100
*May 10 12:45:15.259: BGP(0): 192.168.1.1 rcvd 192.168.4.0/24
*May 10 12:45:15.279: BGP(0): Revise route installing 192.168.4.0/24 -> 192.168.1.1 to main IP table
ISP-C#
関連情報