目次
概要
BGPネイバーは基本的にKEEPALIVEメッセージを定期的に交換することで維持します。KEEPALIVEメッセージに関するタイマの設定について解説します。
KEEPALIVEタイマ/ホールドタイムとは
BGPネイバーの維持を行うために、KEEPALIVEメッセージを利用します。ネイバーに自身が正常に動作していることを知らせるためにKEEPALIVEメッセージを定期的に送信します。KEEPALIVEメッセージを送信する間隔がKEEPALIVEタイマです。また、ネイバーからの定期的なKEEPALIVEが届かずにネイバーがダウンしたとみなす時間がホールドタイムです。
Cisco IOSでのそれぞれのデフォルト値は次の通りです。
- KEEPALIVEタイマ:60秒
- ホールドタイム:180秒
ホールドタイムは当然ながらKEEPALIVEタイマよりも大きくなくてはいけません。ホールドタイムはKEEPALIVEタイマの3倍の値が推奨されています。これらのタイマの値を制御することで、ネイバーのダウンの検出を早くしてコンバージェンスを改善することができます。
BGPのKEEPALIVEメッセージによらずにBFD(Bidirectional Forwarding Detection)によってBGPネイバーを維持することもできます。
KEEPALIVEタイマ/ホールドタイムの設定と確認コマンド
KEEPALIVEタイマ/ホールドタイムの設定
KEEPALIVEタイマ、ホールドタイムの値を変更するには、次のコマンドを使います。
KEEPALIVEタイマ/ホールドタイムの設定
(config)#router bgp <AS>
(config-router)#timers bgp <keepalive> <holdtime>
<AS>:AS番号
<keepalive>:KEEPALIVEタイマ値。デフォルト60秒。秒単位
<holdtime>:ホールドタイム値。デフォルト180秒。秒単位
timers bgpコマンドでは、すべてのネイバーに対するタイマが変更されます。ネイバー単位で個別にKEEPALIVEタイマ値、ホールドタイム値を設定することも可能です。
KEEPALIVEタイマ/ホールドタイムの設定 (ネイバー単位)
(config)#router bgp <AS>
(config-router)#neighbor <ip-address> timers <keepalive> <holdtime>
<AS>:AS番号
<ip-address>:ネイバーのIPアドレス
<keepalive>:KEEPALIVEタイマ値。デフォルト60秒。秒単位
<holdtime>:ホールドタイム値。デフォルト180秒。秒単位
timers bgpコマンドとneighbor timersコマンドが両方設定されている場合、neighbor timersコマンドの設定で上書きされます。また、ネイバー間でKEEPALIVEタイマ値、ホールドタイム値の設定が一致していない場合、ネイバー確立時に自動的に小さい方の値に合わされます。
KEEPALIVEタイマ/ホールドタイムの確認
KEEPALIVEタイマ/ホールドタイムを確認する主なコマンドです。
コマンド | 概要 |
---|---|
#show ip bgp neighbor | BGPネイバーの詳細を表示します。 |
show ip bgp neigbhor
R1#show ip bgp neighbors 172.16.1.11 BGP neighbor is 172.16.1.11, remote AS 1, external link BGP version 4, remote router ID 111.1.1.11 BGP state = Established, up for 00:18:51 Last read 00:00:31, hold time is 150, keepalive interval is 50 seconds Neighbor capabilities: Route refresh: advertised and received(old & new) Address family IPv4 Unicast: advertised and received -- omitted -- R1#show ip bgp neighbors 172.16.1.22 BGP neighbor is 172.16.1.22, remote AS 2, external link BGP version 4, remote router ID 222.2.2.22 BGP state = Established, up for 00:15:27 Last read 00:01:00, hold time is 30, keepalive interval is 10 seconds Configured hold time is 30, keepalive interval is 10 seconds Neighbor capabilities: Route refresh: advertised and received(old & new) Address family IPv4 Unicast: advertised and received -- omitted --
KEEPALIVEタイマ/ホールドタイムの設定例
ネットワーク構成
次のようなネットワーク構成でKEEPALIVEタイマ/ホールドタイムを確認します。
各ルータのBGP設定
各ルータのBGPの設定は次の通りです。
R1 BGP設定
router bgp 100 no synchronization bgp log-neighbor-changes neighbor 172.16.1.11 remote-as 1 neighbor 172.16.1.22 remote-as 2 neighbor 172.16.1.22 timers 10 30 no auto-summary
ISP1 BGP設定
router bgp 1 bgp log-neighbor-changes timers bgp 50 150 neighbor 172.16.1.1 remote-as 100 no auto-summary
ISP2 BGP設定
router bgp 2 no synchronization bgp log-neighbor-changes timers bgp 70 210 neighbor 172.16.1.1 remote-as 100 no auto-summary
KEEPALIVEタイマ/ホールドタイムの確認
各ネイバー間で設定されているタイマ値と実際のタイマ値をまとめます。
- R1-ISP1
- R1の設定:KEEPALIVE 60s/ホールドタイム 180s (デフォルト)
- ISP1の設定:KEEPALIVE 50s/ホールドタイム 150s
- 実際のタイマ:KEEPALIVE 50s/ホールドタイム 150s
- R1-ISP2
- R1の設定:KEEPALIVE 10s/ホールドタイム 30s
- ISP2の設定:KEEPALIVE 70s/ホールドタイム 210s
- 実際のタイマ:KEEPALIVE 10s/ホールドタイム 30s
タイマの値がネイバー間で一致していないと、小さい方のタイマ値になります。R1でshow ip bgp neighborコマンドで確認します。
R1 show ip bgp neigbhor
R1#show ip bgp neighbors 172.16.1.11 BGP neighbor is 172.16.1.11, remote AS 1, external link BGP version 4, remote router ID 111.1.1.11 BGP state = Established, up for 00:18:51 Last read 00:00:31, hold time is 150, keepalive interval is 50 seconds Neighbor capabilities: Route refresh: advertised and received(old & new) Address family IPv4 Unicast: advertised and received -- omitted -- R1#show ip bgp neighbors 172.16.1.22 BGP neighbor is 172.16.1.22, remote AS 2, external link BGP version 4, remote router ID 222.2.2.22 BGP state = Established, up for 00:15:27 Last read 00:01:00, hold time is 30, keepalive interval is 10 seconds Configured hold time is 30, keepalive interval is 10 seconds Neighbor capabilities: Route refresh: advertised and received(old & new) Address family IPv4 Unicast: advertised and received -- omitted --
まとめ
ポイント
- BGPネイバーは基本的に定期的にKEEPALIVEメッセージを交換することで維持します。
- KEEPALIVEメッセージを送信するKEEPALIVEタイマとネイバーがダウンしたとみなすホールドタイムのデフォルトは以下です。
- KEEPALIVEタイマ:60秒
- ホールドタイム:180秒
- タイマの変更は、BGPプロセスでの設定とネイバー単位の設定が可能です。
- ネイバー間でタイマが一致していないと、小さい値に合わせます。
BGPの仕組み
- BGPの概要 ~AS間でルート情報を交換~
- BGPの動作
- BGPの基本設定と確認コマンド
- BGPピアグループ(Peer Group) ~ネイバーの設定をまとめよう~
- BGPネイバーの状態
- BGPコンフェデレーションの設定
- BGPコンフェデレーションの設定例
- BGPネイバー認証
- BGP Well Known Mandatory アトリビュート -ORIGIN/AS_PATH/NEXT_HOP-
- 図解!BGPベストパス選択アルゴリズム
- BGP 基本的な設定についての演習[Cisco]
- BGPの基本的な設定についての演習 ~トラブルシュート~
- BGP KEEPALIVEタイマ/ホールドタイムの設定
- BGPルート 最小送信間隔の設定
- BGPルートダンプニング
- マルチホーム – インターネット接続の冗長化 –
- マルチホームAS BGPルートフィルタのポイント
- マルチホームAS ベストパス選択のポイント
- マルチホームAS IGPとBGPの連携のポイント
- マルチホームAS BGPの設定例
- IP-VPNでのBGPの利用 設定例
- BGPルートフィルタの種類
- BGPルートフィルタ -ディストリビュートリスト-
- BGPルートフィルタ -ディストリビュートリスト設定例-
- BGPルートフィルタ -プレフィクスリスト-
- BGPルートフィルタ -プレフィクスリスト設定例-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)設定例-
- BGPルートフィルタ -ルートマップ(route-map)-
- BGPルートフィルタ -ルートマップ(route-map)設定例-
- BGP neighbor allowas-inコマンド
- BGP neighbor as-overrideコマンド
- BGPルート RIB Failure
- BGPルート アドミニストレイティブディスタンスの制御
- BGPルートの負荷分散
- BGPルート 条件付き生成
- BGPルート 条件付きアドバタイズ
- BGP ルート集約 自動集約
- BGPルート集約 networkコマンドによる集約
- BGPルート集約 networkコマンドによる集約 設定例
- BGP ルート集約 aggregate-addressコマンドによる集約
- aggregate-addressコマンドのオプション summary-only
- aggregate-addressコマンドのオプション attribute-map
- aggregate-addressコマンドのオプション as-set
- aggregate-addressコマンドのオプション advertise-map
- aggregate-addressコマンド as-set/attribute-map/advertise-map 設定例
- BGP選択型集約の概要
- BGP選択型集約 suppress-map
- BGP選択型集約 unsuppress-map
- BGP 選択型集約 suppress-map/unsuppress-map 設定例
- BGP local-as ~ネイバーに他のASのように見せる~
- BGP neighbor remove-private-ASコマンド
- bgp fast external-fallover
- BGP プレフィクス数の制限
- BGP COMMUNITYアトリビュートの使い方
- BGP Well-known COMMUNITYのルートフィルタ設定例
- BGP プライベートCOMMUNITYによるルート制御の設定例
- [演習]BGP応用 Part1:BGP基本設定
- [演習]BGP応用 Part2:ルート集約
- [演習]BGP応用 Part3:ポリシーベースルーティング
- [演習]BGP応用 Part4:トラブルシューティング
- BGP 設定ミスの切り分けと修正 Part1
- BGP 設定ミスの切り分けと修正 Part2
- BGP 設定ミスの切り分けと修正 Part3
- BGP 設定ミスの切り分けと修正 Part4
- BGP 設定ミスの切り分けと修正 Part5
- BGP 設定ミスの切り分けと修正 Part6
- BGP 設定ミスの切り分けと修正 Part7
- IPv6 BGPの設定例 Part1
- IPv6 BGPの設定例 Part2
- 2021年10月4日 Facebookに何が起こったか?
- IPv4 BGPネイバーでのIPv6プレフィックスの交換