「2024-08-28 プロトコル別 断時間チューニング」の版間の差分
編集の要約なし |
|||
3行目: | 3行目: | ||
== Cisco == | == Cisco == | ||
=== | === レイヤ 1 === | ||
==== link debounce タイマー ==== | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Catalyst 9000 | |+Catalyst 9000 | ||
13行目: | 15行目: | ||
!備考 | !備考 | ||
|- | |- | ||
|[https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9500/software/release/17-8/configuration_guide/int_hw/b_178_int_and_hw_9500_cg/configuring_link_debounce_timer.html#Cisco_Task.dita_bd3b1a49-1679-41a4-ba69-237371034f81 | |[https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9500/software/release/17-8/configuration_guide/int_hw/b_178_int_and_hw_9500_cg/configuring_link_debounce_timer.html#Cisco_Task.dita_bd3b1a49-1679-41a4-ba69-237371034f81 link debouce] | ||
|Disable | |Disable | ||
|240 ms | |240 ms | ||
| 120 - 1200ms まで 120 刻み | | 120 - 1200ms まで 120 刻み | ||
|show interface debounce | |show interface debounce | ||
|ハードウェアでリンクダウン検出を行う時間を遅延させる設定 | |ハードウェアでリンクダウン検出を行う時間を遅延させる設定 | ||
Catalyst 9500 では IOS-XE 17.6.1- で対応 | Catalyst 9500 では IOS-XE 17.6.1- で対応 | ||
Catalyst 9600 では IOS-XE 17.3.3- で対応 | Catalyst 9600 では IOS-XE 17.3.3- で対応 | ||
RJ-45 とファイバーで遅延時間が異なる | |||
なお無効であっても遅延時間自体は存在する | |||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
32行目: | 40行目: | ||
!備考 | !備考 | ||
|- | |- | ||
|[https://www.cisco.com/c/ja_jp/td/docs/switches/datacenter/nexus9000/sw/93x/interfaces/configuration/guide/b-cisco-nexus-9000-nx-os-interfaces-configuration-guide-93x/b-cisco-nexus-9000-nx-os-interfaces-configuration-guide-93x_chapter_01110.html#task_6414C84081D3492E9817031E9362DEC1 | |[https://www.cisco.com/c/ja_jp/td/docs/switches/datacenter/nexus9000/sw/93x/interfaces/configuration/guide/b-cisco-nexus-9000-nx-os-interfaces-configuration-guide-93x/b-cisco-nexus-9000-nx-os-interfaces-configuration-guide-93x_chapter_01110.html#task_6414C84081D3492E9817031E9362DEC1 link debouce] | ||
|Disable | |Disable | ||
|0 ms | |0 ms | ||
| 0-5000ms | | 0-5000ms | ||
|show interface debounce | |show interface debounce | ||
|ハードウェアでリンクダウン検出を行う時間を遅延させる設定 | |ハードウェアでリンクダウン検出を行う時間を遅延させる設定 | ||
0 で無効化 | 0 で無効化 | ||
43行目: | 51行目: | ||
|} | |} | ||
=== | === LAN Switching === | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Catalyst | |||
!カテゴリ | !カテゴリ | ||
!デフォルト | !デフォルト | ||
52行目: | 61行目: | ||
!備考 | !備考 | ||
|- | |- | ||
|carrier-delay | |spanning-tree portfast (trunk) | ||
| | |Disable | ||
| | |no spanning-tree portfst | ||
| | | - | ||
| | |show spanning-tree | ||
| | |断時間を測定する ping ホストを収容するポートで portfast 未設定 + RSTP の場合、BPDU Proposal を送信して、対向側の Agreement を数十秒待機するため、断時間が延びてしまう | ||
PC は RSTP Agreement を返さない | |||
|} | |||
=== レイヤ 3 === | |||
==== carrier-delay タイマー ==== | |||
{| class="wikitable" | |||
|+IOS-XE | |||
!カテゴリ | |||
!デフォルト | |||
!デフォルト設定 | |||
!変更値 | |||
!確認コマンド | |||
!備考 | |||
|- | |||
|[https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/interface/command/ir-cr-book/ir-c1.html#wp2997457714 carrier-delay] | |||
|Disable | |||
|2 seconds | |||
| <nowiki>ルータ : [up | down] {</nowiki><var>seconds</var><nowiki> | msec </nowiki><var>milliseconds</var>} | |||
スイッチ : {<var>seconds</var> | msec <var>milliseconds</var>} | |||
Cat3850 の場合 | |||
seconds : <0-60> | |||
msec : <0-1000> | |||
|? | |||
|リンクダウンをソフトウェアが検知するまでの遅延時間を制御する | |||
歴史的に IOS はルータで使用されており、当時の貧弱な CPU リソースを保護するため、リンク フラッピングによるルーティング プロトコルの切り替え・切り戻しの再計算に時間を確保する必要があった | |||
ルータとスイッチで動作が異なる | |||
|} | |||
{| class="wikitable" | |||
|+IOS-XR | |||
!カテゴリ | |||
!デフォルト | |||
!デフォルト設定 | |||
!変更値 | |||
!確認コマンド | |||
!備考 | |||
|- | |||
|[https://www.cisco.com/c/ja_jp/td/docs/rt/servprovideredgert/asr9000aggregationservsrt/cr/040/b_interfaces_cr43xasr9k/b_interfaces_cr43xasr9k_chapter_011.html#wp2431295976 carrier-delay] | |||
|Disable | |||
|0 second | |||
| { down <var>milliseconds</var> [ up <var>milliseconds</var><nowiki> ] | up </nowiki><var>milliseconds</var> [ down <var>milliseconds</var> ] } | |||
msec : <0 ~ 65535 > | |||
|show interface | |||
|IOS-XR は IOS と比較して新しい Network OS であり、CPU リソースが潤沢 + ルーティング プロトコルの収束を高速に行いたいため、carrier-delay のデフォルト値は 0 秒となっている | |||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
|+NX-OS (Nexus5000) | |||
!カテゴリ | !カテゴリ | ||
!デフォルト | !デフォルト | ||
68行目: | 134行目: | ||
!備考 | !備考 | ||
|- | |- | ||
| | |[https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus5000/sw/interfaces/command/cisco_nexus_5000_interfaces_command_ref/c_commands.html#wp3379326320 carrier-delay] | ||
|Disable | |Disable | ||
| | |0 second ?? | ||
| {<var>delay-seconds</var><nowiki> | msec </nowiki><var>milliseconds</var>} | |||
|show | |||
| | |||
seconds : <0-60> | |||
msec : <0-1000> | |||
|show interface | |||
|Vlan インターフェースで使用可能 | |||
|} | |} | ||
=== OSPF === | |||
==== OSPF ==== | |||
{| class="wikitable" | {| class="wikitable" | ||
|+router ospf <process_id> | |+router ospf <process_id> | ||
215行目: | 287行目: | ||
<span></span><ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-1930311742297749" data-ad-slot="5409634032"></ins><span></span><span></span> | <span></span><ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-1930311742297749" data-ad-slot="5409634032"></ins><span></span><span></span> | ||
=== BGP === | ==== BGP ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
|+router bgp <AS_Number> | |+router bgp <AS_Number> | ||
261行目: | 333行目: | ||
|bgp update-delay 120 | |bgp update-delay 120 | ||
|bgp update-delay 1 | |bgp update-delay 1 | ||
| - | | - | ||
|1 つ目のピアとセッションを確立したあと、最適経路選択・経路通知を遅延させる時間 | |1 つ目のピアとセッションを確立したあと、最適経路選択・経路通知を遅延させる時間 | ||
277行目: | 349行目: | ||
|bgp aggregate-timer 30 | |bgp aggregate-timer 30 | ||
|bgp aggregate-timer 0 | |bgp aggregate-timer 0 | ||
| - | | - | ||
|0 の場合、集約ルートの広報を即時行う | |0 の場合、集約ルートの広報を即時行う | ||
306行目: | 378行目: | ||
|[https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_bgp/configuration/15-mt/irg-15-mt-book/bgp_additional_paths.pdf BGP Additional Paths] (PIC-Edge) | |[https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_bgp/configuration/15-mt/irg-15-mt-book/bgp_additional_paths.pdf BGP Additional Paths] (PIC-Edge) | ||
|Disable | |Disable | ||
| - | | - | ||
|bgp additional-paths select all | |bgp additional-paths select all | ||
bgp additional-paths send receive | bgp additional-paths send receive | ||
357行目: | 429行目: | ||
よくある勘違いとして、以下がある。 | よくある勘違いとして、以下がある。 | ||
* 勘違い : SSO+NSF 切替時は OSPF や BGP が隣接ルータでダウンしない (実際にはダウンする) | * 勘違い : SSO + NSF 切替時は OSPF や BGP が隣接ルータでダウンしない (実際にはダウンする) | ||
** ネイバー・ピア ダウンしても NSF Helper で転送させる、NSR でダウンさせないなどの対処が必要 | ** ネイバー・ピア ダウンしても NSF Helper で転送させる、NSR でダウンさせないなどの対処が必要 | ||
** NSF はネイバー・ピア ダウンしても、FIB を保持する技術 | ** NSF はネイバー・ピア ダウンしても、FIB を保持する技術 | ||
* 勘違い : HSRP も SSO により短時間で切り替えられる | * 勘違い : HSRP も SSO により短時間で切り替えられる | ||
** | ** 機種によるが、SSO Aware HSRP 機能が必要 | ||
** ない場合は HSRP が両系でダウンするため、十数秒単位でトラフィック断が発生する | ** ない場合は HSRP が両系でダウンするため、十数秒単位でトラフィック断が発生する | ||
2023年9月14日 (木) 08:55時点における版
君はこのドキュメントを参考にしてもいいし、しなくてもいい。
Cisco
レイヤ 1
link debounce タイマー
カテゴリ | デフォルト | デフォルト設定 | 変更値 | 確認コマンド | 備考 |
---|---|---|---|---|---|
link debouce | Disable | 240 ms | 120 - 1200ms まで 120 刻み | show interface debounce | ハードウェアでリンクダウン検出を行う時間を遅延させる設定
Catalyst 9500 では IOS-XE 17.6.1- で対応 Catalyst 9600 では IOS-XE 17.3.3- で対応
|
カテゴリ | デフォルト | デフォルト設定 | 変更値 | 確認コマンド | 備考 |
---|---|---|---|---|---|
link debouce | Disable | 0 ms | 0-5000ms | show interface debounce | ハードウェアでリンクダウン検出を行う時間を遅延させる設定
0 で無効化 link-up オプションで up 時も遅延させることが可能 |
LAN Switching
カテゴリ | デフォルト | デフォルト設定 | 変更値 | 確認コマンド | 備考 |
---|---|---|---|---|---|
spanning-tree portfast (trunk) | Disable | no spanning-tree portfst | - | show spanning-tree | 断時間を測定する ping ホストを収容するポートで portfast 未設定 + RSTP の場合、BPDU Proposal を送信して、対向側の Agreement を数十秒待機するため、断時間が延びてしまう
|
レイヤ 3
carrier-delay タイマー
カテゴリ | デフォルト | デフォルト設定 | 変更値 | 確認コマンド | 備考 |
---|---|---|---|---|---|
carrier-delay | Disable | 2 seconds | ルータ : [up | down] {seconds | msec milliseconds}
スイッチ : {seconds | msec milliseconds}
seconds : <0-60> msec : <0-1000> |
? | リンクダウンをソフトウェアが検知するまでの遅延時間を制御する
|
カテゴリ | デフォルト | デフォルト設定 | 変更値 | 確認コマンド | 備考 |
---|---|---|---|---|---|
carrier-delay | Disable | 0 second | { down milliseconds [ up milliseconds ] | up milliseconds [ down milliseconds ] }
|
show interface | IOS-XR は IOS と比較して新しい Network OS であり、CPU リソースが潤沢 + ルーティング プロトコルの収束を高速に行いたいため、carrier-delay のデフォルト値は 0 秒となっている |
カテゴリ | デフォルト | デフォルト設定 | 変更値 | 確認コマンド | 備考 |
---|---|---|---|---|---|
carrier-delay | Disable | 0 second ?? | {delay-seconds | msec milliseconds}
msec : <0-1000> |
show interface | Vlan インターフェースで使用可能 |
OSPF
カテゴリ | デフォルト | デフォルト設定 | 変更値 | 確認コマンド | 備考 |
---|---|---|---|---|---|
NSF Helper | Enable | nsf cisco helper
nsf ietf helper |
- | show ip ospf
Cisco NSF helper support enabled |
隣接 NSF ルータが SSO フェイルオーバーした際、自ルータが FIB を保持する |
NSF | Disable | - | nsf | show ip ospf
|
自ルータが SSO フェイルオーバーした際、
隣接ルータで OSPF が Down しても FIB を保持してもらう |
NSR | Disable | - | nsr | show ip ospf
|
常時 OSPF プロセスの状態を SSO Active と Standby で同期する
実装難易度が高いため、低価格製品や IPv6 は対応していない場合が多い 自ルータが SSO フェイルオーバーした際、隣接ルータに影響を与えない 歴史的には NSF のほうが先に実装されている + IETF 標準であるため、NSF のほうが不具合が少なそう |
BGP | Disable | - | max-metric router-lsa on-startup wait-for-bgp | show ip ospf
|
再起動後、BGP の経路を受信し終わるまで、LSA のメトリックを最大にして、OSPF でトラフィックを処理しない
フルルートのように収束に時間がかかる環境で有効 |
timers | Enable | timers throttle spf 5000 10000 10000
timers throttle spf 50 200 5000 |
timers throttle spf 10 100 5000 | show ip ospf
Minimum hold time between two consecutive SPFs 100 msecs Maximum wait time between two consecutive SPFs 5000 msecs |
単位 msec
1:SPF 遅延 2:1つ目と2つ目の SPF 計算の間の遅延 3:最大遅延 Cisco Classic IOS の OSPF はリンクダウン時に 6 秒程度の断時間が発生するが、これは最初の 5000msec の SPF 遅延時間による
|
Enable | timers throttle lsa 0 5000 5000
timers throttle lsa 50 200 5000 |
timers throttle lsa 10 100 5000 | show ip ospf
Minimum hold time for LSA throttle 100 msecs Maximum wait time for LSA throttle 5000 msecs |
単位 msec
1 : 最初の LSA 生成遅延 2 : 最小 LSA 生成遅延 3 : 最大 LSA 生成遅延 OSPF はリンクダウン時に 6 秒程度の断時間が発生するが、これは最初の 5000msec の時間による
| |
Enable | timers lsa arrival 1000
Cisco IOS XE Everest 16.5.1b 以降 timers lsa arrival 100 |
timers lsa arrival 80 | show ip ospf
|
単位 msec
LSA の最小受信間隔
|
BGP
カテゴリ | デフォルト | デフォルト設定 | 変更値 | 確認コマンド | 備考 |
---|---|---|---|---|---|
NSF /
NSF Helper |
Disable | - | bgp graceful-restart | show ip bgp neighbors <Peer_IP>
|
自ルータが SSO フェイルオーバーした際、隣接ルータで BGP が Down しても FIB を保持してもらう |
NSR | Disable | - | bgp graceful-restart
bgp sso route-refresh-enable
|
show ip bgp neighbors <Peer_IP>
|
実装難易度が高いため、低価格製品や IPv6 は対応していない場合が多い
常時 BGP プロセスの状態を SSO Active と Standby で同期する 自ルータが SSO フェイルオーバーした際、隣接ルータに影響を与えない
|
timers | Enable | bgp update-delay 120 | bgp update-delay 1 | - | 1 つ目のピアとセッションを確立したあと、最適経路選択・経路通知を遅延させる時間
SSO かつ VSS などのクラスタリング系技術を使っており、かつ NSF / NSR を使用しておらず、論理ルータが 1 台のみの場合に使用すると、再起動後のトラフィック断を減らすことが可能
|
Enable | bgp aggregate-timer 30 | bgp aggregate-timer 0 | - | 0 の場合、集約ルートの広報を即時行う
| |
Enable | timers bgp 60 180 | timers bgp 10 30 | show ip bgp neighbors
|
キープアライブタイマーを 60 -> 10 秒、
ホールドダウンタイマーを 180 -> 30 秒に変更する
| |
BGP Additional Paths (PIC-Edge) | Disable | - | bgp additional-paths select all
bgp additional-paths send receive neighbor <Peer_IP> additional-paths send receive |
show ip bgp neighbors
Additional Paths receive capability: advertised |
バックアップ BGP ルートを RIB に保持することで、アクティブな FIB ルートが削除された際、すぐに切り替えられる機能
特に無効時のフルルート環境はルートを受信し終わるまで、ルート未受信の宛先トラフィックがダウンし続けてしまう 有効にすることで即時に FIB を切り替えられ、断時間を大幅に短くできるため、有効な機能といえる
有効時にピアが Down / Up するため、メンテナンス時間が必要
|
用語解説
SSO = Stateful Switch Over.
ルータのルートプロセッサや、スイッチのスーパーバイザエンジンを、なるべく断時間が短くなるように切り替える仕組みのこと。
よくある勘違いとして、以下がある。
- 勘違い : SSO + NSF 切替時は OSPF や BGP が隣接ルータでダウンしない (実際にはダウンする)
- ネイバー・ピア ダウンしても NSF Helper で転送させる、NSR でダウンさせないなどの対処が必要
- NSF はネイバー・ピア ダウンしても、FIB を保持する技術
- 勘違い : HSRP も SSO により短時間で切り替えられる
- 機種によるが、SSO Aware HSRP 機能が必要
- ない場合は HSRP が両系でダウンするため、十数秒単位でトラフィック断が発生する
リファレンス
Change of Default OSPF and IS-IS SPF and Flooding Timers and iSPF Removal
IGP/LDP/BGP Convergence Tuning (IOS/IOS-XE)
Juniper
hold-time up <milliseconds> down <milliseconds>
引用
- ↑ Unsupported Features: Cisco Catalyst 9500 Series Switches Border Gateway Protocol (BGP) Additional Paths
- ↑ Feature History for BGP Additional Paths Support for this feature was introduced only on the C9500-32C, C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of the Cisco Catalyst 9500 Series Switches.