BGPのAS-PATH属性を徹底解説:Ciscoルータでの設定と動作検証

BGP (Border Gateway Protocol) は、インターネットや大規模ネットワークの経路制御に不可欠なプロトコルです。本記事では、AS-PATH属性の仕組みを解説し、Ciscoルータを使った具体的な設定例と動作検証を通じて、どのように経路制御を行うかを学びます解説します。

スポンサーリンク

AS-PATH属性とは

AS-PATH属性は、BGP (Border Gateway Protocol) における重要な属性の一つで、ある宛先プレフィックスに到達するために経由するAS番号のリストを示します。この属性により、以下のような動作が実現されます。

  • ルート選択基準: AS-PATHが短い経路が優先されます。これは、短い経路がより最適であるとみなされるためです。
  • 経路操作: 管理者がAS番号を追加(プリペンド)することで、意図的に経路を長く見せることができます。この方法を用いると、ある経路を他の経路よりも劣後させることが可能です。

例えば、ある宛先プレフィックス 192.0.2.0/24 に到達するためのAS-PATHが 100 200 300 の場合、ルータはAS300からAS200、次にAS100を経由して到達することを意味します。

スポンサーリンク

検証の概要

今回の検証では、以下の環境を構築してAS-PATHの動作を確認します。

  • プレフィックス 23.23.23.23/32 をR2とR3のループバックインターフェースに設定し、R6にアドバタイズします。
  • 初期状態では、AS-PATHが同一であるため、R6はルータIDが小さいR2経由の経路をベストパスとして選択します。
  • 次に、R2のAS-PATHをプリペンドして、R3からの経路が優先されるように操作します。
スポンサーリンク

構成と設定

それぞれのルータで、ループバックインターフェースに 23.23.23.23/32 を設定します。

R2の設定

R2(config)# int loopback 23
R2(config-if)# ip add 23.23.23.23 255.255.255.255
!
R2(config)# router bgp 23
R2(config-router)# bgp router-id 2.2.2.2
R2(config-router)# neighbor 192.168.26.6 remote-as 6
R2(config-router)# network 23.23.23.23 mask 255.255.255.255

R3の設定

R3(config)# int loopback 23
R3(config-if)# ip add 23.23.23.23 255.255.255.255
!
R3(config)# router bgp 23
R3(config-router)# bgp router-id 3.3.3.3
R3(config-router)# neighbor 192.168.36.6 remote-as 6
R3(config-router)# network 23.23.23.23 mask 255.255.255.255

R6の設定

R6でR2とR3をBGPピアとして設定します。

R6(config)# router bgp 6
R6(config-router)# neighbor 192.168.26.2 remote-as 23
R6(config-router)# neighbor 192.168.36.3 remote-as 23
スポンサーリンク

動作確認

R6のBGPテーブルを確認し、AS-PATHとベストパスの動作を確認します。

R6でのBGPテーブル

AS-PATHが同一(23)のため、ルータIDが小さいR2 (2.2.2.2) がベストパスとして選択されています。

R6# show ip bgp
BGP table version is 2, local router ID is 6.6.6.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found


     Network          Next Hop            Metric LocPrf Weight Path
 *   23.23.23.23/32   192.168.36.3             0             0 23 i
 *>                            192.168.26.2             0             0 23 i
R6# show ip bgp 23.23.23.23
BGP routing table entry for 23.23.23.23/32, version 2
Paths: (2 available, best #2, table default)
  Advertised to update-groups:
     1         
  23
    192.168.36.3 from 192.168.36.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, external
      rx pathid: 0, tx pathid: 0
  23
    192.168.26.2 from 192.168.26.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0
スポンサーリンク

AS-PATHプリペンドの設定

次に、R2でAS-PATHをプリペンドし、意図的にR3の経路が選択されるように設定を変更します。

R2での設定

R2(config)# route-map ASPREPEND permit 10
R2(config-route-map)# set as-path prepend 1 2 3 4 5

R2(config)# router bgp 23
R2(config-router)# neighbor 192.168.26.6 route-map ASPREPEND out

設定後、BGPプロセスをクリアします。

R2# clear ip bgp *

プリペンド後のR6でのBGPテーブル

R2の経路にはAS 1 2 3 4 5 が追加され、AS-PATHが長くなりました。R3からの経路がベストパスとして選択されるようになっています。

R6# show ip bgp 23.23.23.23
BGP routing table entry for 23.23.23.23/32, version 3
Paths: (2 available, best #1, table default)
  Advertised to update-groups:
     1         
  23
    192.168.36.3 from 192.168.36.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0
  23 1 2 3 4 5
    192.168.26.2 from 192.168.26.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, external
      rx pathid: 0, tx pathid: 0
スポンサーリンク

まとめ

今回の検証では、AS-PATH属性を利用して経路選択に影響を与える方法を確認しました。BGPを用いたネットワーク設計では、AS-PATHプリペンドを活用することで、経路制御を柔軟に行うことができます。

その他 BGP関連記事は   >>  ルーティングプロトコル(BGP)まとめ << より参照できます。

コメント