このドキュメントでは、CAPWAP制御キープアライブ、データキープアライブ、および再送信について説明します。
CAPWAPは、Cisco Catalyst 9800プラットフォーム上のCiscoアクセスポイントとワイヤレスLANコントローラ間の通信フレームワークを提供します。これは、定義されたキープアライブおよび再送信メカニズムとともに、個別の制御チャネルとデータチャネルを使用して接続を維持します。
この記事では、CAPWAP制御キープアライブ、データキープアライブ、および再送信について、関連するタイマー、障害の動作、および主なトラブルシューティングインジケータを含めて説明します。
CAPWAPは2つのUDPチャネルで実行され、それぞれに独自の活性メカニズムがあります
| チャネル |
デフォルトポート(UDP) |
活力機構 |
| Control |
5246 |
エコー要求/エコー応答 |
| データ |
5247 |
データチャネルキープアライブ |
CAPWAP制御キープアライブ(エコー/ハートビート)
目的
CAPWAP制御キープアライブは、アクセスポイントが制御チャネルでまだ到達可能であることを確認するために使用されます。
その目的は非常にシンプルです。APとコントローラの間の制御接続がまだ有効で応答できることを確認します。設定の更新やクライアントデータの伝送には使用されません。代わりに、UDPポート5246経由のCAPWAP制御パスの活性メカニズムとして機能します。
キープアライブの送信者
アクセスポイントとは、コントロールキープアライブをアクティブに開始するデバイスです。
必要に応じて、APはコントローラにCAPWAPエコー要求を送信します。コントローラは、対応するエコー応答を返します。この応答は、コントローラが要求を受信したこと、および制御チャネルが両方向で機能していることを確認します。
この応答は要求に一致するため、APは送信したキープアライブに対する有効な応答を受信していることを確認できます。
この動作は、コントロールキープアライブが主にコントローラ駆動型のポーリングメカニズムではないことを示すため、重要です。代わりに、APが制御チャネルの到達可能性をチェックし、コントローラがそれに応じて応答します。
エコー間隔は、固定スケジュールではなく、非アクティブに基づいています
これは、CAPWAP制御キープアライブに関して最もよく誤解されている側面の1つです。
一般的には、APは固定定期的ハートビートのように30秒ごとにエコー要求を送信すると想定されています。実際には、その仕組みではありません。
コントロールキープアライブは、コントロールチャネルの非アクティビティに基づいています。つまり、コントロールチャネルが設定された間隔アイドル状態であった場合にのみ、APはスタンドアロンのエコー要求を送信します。APとコントローラの間で他の制御トラフィックがすでに交換されている場合は、別のエコーパケットを送信する必要はありません。
APとコントローラの間で有効な制御通信があれば、制御チャネルが有効であることを効果的に証明できます。そのため、通常のCAPWAP制御トラフィックによってキープアライブタイマーがリセットされます。
このような制御トラフィックの例には、次のものがあります。
その結果、スタンドアロンのエコー要求は、制御チャネルが他の点では静かな期間にのみ見られます。
簡単な例
AP上のCAPWAPエコータイマーを確認するには、show capwap client timerコマンドを使用します。
Training-AP#show capwap client timer
CAPWAP TIMERS Running Current / Max (seconds)
PATHMTU_TIMER : 23 / 30
MSG_CLIENT_STAT : 124 / 180
DATA_CHANNEL_KEEP_ALIVE_TIMER : 24 / 30
ECHO_INTERVAL_TIMER : 23 / 30
PERIODIC_ECHO_TIMER : 233 / 300
PRIMARY_DISCOVERY_TIMER : 50 / 120
CAPWAP_WDG_UPDATE_TIMER : 4 / 5
FLASH_WRITE_INTERVAL_TIMER : 21 / 60
タイマー
制御キープアライブメカニズムは、2つの重要なタイミング値に依存しています。
| 項目 |
デフォルト値 |
説明 |
| エコー間隔 |
30 秒 |
APがスタンドアロンのエコー要求を送信するまでのコントロールチャネルの非アクティブな時間 |
| コントローラ制御デッドタイマー |
90 seconds |
制御セッションのデッドを宣言する前に、コントローラが有効な制御トラフィックを受信せずに許可する最大時間 |
制御キープアライブが失敗した場合
コントロールチャネルが許可されたタイムアウトよりも長く無音になると、コントローラは最終的にコントロールセッションが失われるように宣言します。
この時点で、コントローラはAPをコントロールチャネルで到達不能と見なし、セッションティアダウンを開始します。これには通常、コントロール接続のクローズと、APのアクティブなコントロールセッションステートの削除が含まれます。
その後、APは障害のシナリオに応じて、コントローラを再検出して再加入することで、接続の再確立を試みます。
トラブルシューティングの影響
このキープアライブ動作を理解することは、トラブルシューティングの際に不可欠です。
エコーパケットが欠落していても、必ずしも問題があるとは限りません
パケットキャプチャで30秒ごとにエコー要求が表示されない場合、障害は自動的には示されません。これは単に、他に十分な数のCAPWAP制御トラフィックが流れていることを意味するだけなので、スタンドアロンのエコーは必要ありません。
通常、不規則なエコー間隔は正常です
エコーは非アクティブによってトリガーされるため、不均等な間隔で表示されることがあります。これは正常な動作です。
全体的な制御チャネルのアクティビティに集中
APの接続解除をトラブルシューティングする際には、次の点を確認するとより便利です。
実際の問題は、定期的なエコーパケットが単独で存在しないことではありません。実際の問題は、コントローラがAPを到達不能と宣言するまで制御チャネル通信が失われることです。
CAPWAPデータキープアライブ
目的
CAPWAP制御エコーは制御チャネルが機能していることを確認しますが、データチャネルも正常であることを証明するものではありません。コントロールパスとデータパスはそれぞれ独立して失敗する可能性があるため、CAPWAPはUDPポート5247で個別のデータキープアライブを使用します。
データキープアライブの目的は次のとおりです。
送信者とコントローラの応答方法
APがデータキープアライブを送信し、コントローラがデータキープアライブ応答で応答します。
応答は、データチャネル暗号化が有効かどうかに応じて、暗号化または非暗号化にすることができます。
キープアライブが有効であれば、コントローラはそれを使用して、APのデータパスがまだ到達可能であることを確認します。パケットが有効なAPセッションに一致しない場合、または応答を送信できない場合、キープアライブはドロップされ、最終的にデータパスは失敗したと見なすことができます。
コントローラによる検証方法
コントローラは、キープアライブを受け入れる前に、パケットが正しいAPに属していることを確認するための基本的な検証を実行します。
コントローラは次のことを確認します。
コントローラはまず、送信元IPアドレスと送信元UDPポートを使用してセッションの識別を試みます。これに失敗すると、AP無線MACアドレスの使用にフォールバックできます。
これは、データチャネルがコントロールチャネルとは異なる変換されたUDPポートから到着できる、NATまたはPATの背後にあるAPにとって重要です。このような場合、コントローラはAPの実際のデータチャネルタプルを学習して更新できます。
パケットが、そのIPポートの組み合わせにすでに関連付けられているセッションとは異なるAPに属していると考えられる場合、不正なセッションマッピングを防ぐために、キープアライブは拒否されます。
検証後の動作
キープアライブが受け入れられると、コントローラはAPの現在のセッション状態に基づいてキープアライブを処理します。
この最初のキープアライブは、APがNATまたはPATの背後にある場合を含め、コントローラがデータトンネルを正しくプログラムするのに役立つため、特に重要です。
データセッションが完全に確立されると、以降のキープアライブは通常の定常状態パスに従い、活性を維持するためだけに使用されます。
重要な動作
有効なデータキープアライブでは、データパスの状態を確認する以上の処理が行われます。また、コントローラ上でのAPの全体的なセッション活性も更新されます。
つまり、コントローラでは、データチャネルの活性がAPセッション全体の健全性に寄与します。その結果、制御とデータの活性メカニズムは、目的は異なっていても関連しています。
AP側のデータキープアライブタイマー
APはデータキープアライブインターバルを制御し、データトンネルがダウンしたと見なす必要があるタイミングを決定します。
| 項目 |
デフォルト値 |
| データキープアライブ間隔 |
30 秒 |
| 再送信バックオフ |
3秒、6秒、12秒、次に15秒 |
| データデッド間隔 |
180 seconds |
通常の状況では、APは30秒ごとにデータキープアライブを送信します。
APが応答を受信しない場合、APはバックオフパターンを使用して再試行します。障害が180秒間続くと、APはデータトンネルダウンを宣言します。
原理:両方向で動作する信頼性
CAPWAP制御メッセージングは、UDP上で動作するにもかかわらず、要求と応答のモデルを使用します。信頼性を提供するため、要求を送信したデバイスは、期待される応答が受信されるまで要求を再送信する役割も担います。
これは、再送信が対称であることを意味します。
これは重要なトラブルシューティングのポイントです。パケットキャプチャでAPからコントローラへの再送信が発生する場合、通常は、期待される応答を受信しなかったために、APが単に自身の要求を再試行していることを意味します。これは加入中は正常で、制御エコーアクティビティ中にも発生する可能性があります。
コントローラ側の再送信動作
コントローラでは、再送信は専用の送信信頼性状態マシンによって処理されます。
簡単に言うと、コントローラは次のことを実行します。
このロジックは、APセッションごとに個別に追跡されます。コントローラは、送信ウィンドウと未処理の要求メッセージの数も保持します。
コントローラが再送信するかどうかを決定する方法
再送信タイマーが期限切れになるたびに、コントローラはキューに入れられた要求エントリを確認し、次のいずれかの決定を行います。
その要求に対する応答がすでに受信されている場合、それが誤った順序で到着した場合でも、コントローラはメッセージを再送信しません。
要求がすでに許容回数を超えて再送信されている場合、コントローラはこれを障害として扱い、そのAPセッションの送信プロセスを中断します。
この時点で、APセッションが終了します。
コントローラは、すべてのタイマーイベントで、キューに入れられたすべてのメッセージをただちに再送信するわけではありません。要求は、再送信の資格が得られるまでに、少なくとも再送信間隔の間はキューに留まっている必要があります。
デフォルトでは、この再送信間隔は3秒です。
要求がまだ保留中で、十分な時間が経過し、再試行制限を超えていない場合、コントローラはCAPWAP制御チャネルでそれを再送信し、再試行カウンタを増やします。
特殊なケース:有線デイジーチェーンAP
有線のデイジーチェーンAPパスを使用したメッシュ導入では、コントローラはより大きなリトライ予算を可能にします。
この場合、通常のリトライ制限は実質的に3倍になります。
デフォルトのリトライ回数が5の場合、コントローラは失敗を宣言する前に最大15回リトライできます。
この例外が存在するのは、これらのトポロジでは遅延やメッセージ損失に対する許容度が高くなる場合があるためです。
AP側の再送信動作
APは自身のCAPWAP要求も再送信しますが、コントローラとは異なるパターンを使用します。
コントローラでは固定再送信間隔を使用し、APでは指数関数的なバックオフを使用します。これは、試行が失敗するたびに待機時間が長くなることを意味します。
デフォルトの設定では、AP再試行タイミングは約:
この動作は、次のようなAP発信CAPWAP要求に適用されます。
これらの再試行パラメータは、AP加入設定の一部としてコントローラから取得されます。
パケットキャプチャの診断フィンガープリント
再送信パターン自体は、トラブルシューティング時に役立つ手がかりとなることがよくあります。
| 再送信パターン |
考えられる原因 |
| 約3秒ごとに均等な間隔で再送信 |
コントローラ側の再送信 |
| 6秒、12秒、24秒、48秒、96秒など、時間の経過とともに広がる再送信 |
指数関数的なバックオフを伴うAP側の再送信 |
これは、特に接続障害やエコー関連の問題の発生時に、再試行している側を判別するための実用的な方法です。
リトライが枯渇した場合の動作
期待される応答を受信せずに再送信が続くと、両側が最終的に応答を断念しますが、復旧処理は異なります。
コントローラ側
コントローラは、再試行バジェットを使い果たした場合、送信プロセスを中断し、APセッションを終了します。その結果、CAPWAP制御およびデータセッションが閉じられます。
AP側
APはそれ自体の再試行回数を使い切ると、そのコントローラを放棄し、最初からやり直します。通常は、ディスカバリフェーズに戻り、完全な再加入を試行します。
設定ノブとデフォルト
再送信動作は、AP加入プロファイルの2つの主要な設定によって制御されます。
| コマンド |
デフォルト値 |
機能 |
| CAPWAP再送信数 |
5 |
再送信の最大試行回数 |
| CAPWAP再送信間隔 |
3 秒 |
基本再送信間隔 |
これらの値は、接続の信頼性と、エコー関連の再試行を含む、APから発信されたその他のCAPWAP制御の再試行の両方に影響します。
次の表は、このドキュメントで説明した主なCAPWAPタイマーをまとめたものです。
| タイマー |
デフォルト値 |
平面 |
主催者(Owner) |
説明 |
| 制御エコー間隔 |
30 秒 |
Control |
AP |
APがCAPWAP制御トラフィックを30秒間送信しない場合、APはエコー要求を送信します。 |
| ハートビートのデッドタイマーの制御 |
90 seconds |
Control |
コントローラ |
コントローラは、このウィンドウ内で有効な制御トラフィックを想定しています。何も受信されない場合、制御セッションはダウンしていると見なされます。 |
| 制御再送信間隔 |
3 秒 |
Control |
コントローラ |
コントローラは、応答のない独自のCAPWAP要求を一定の間隔で再送信します。 |
| 再送信回数の制御 |
5回 |
Control |
コントローラ |
コントローラから発信されたCAPWAP要求の最大再試行回数。有線のデイジーチェーンのシナリオでは、これは15回まで試行される可能性があります。 |
| AP制御再送信バックオフ |
6、12、24、48、96秒 |
Control |
AP |
APは、指数関数的なバックオフを使用して、自身のCAPWAP要求を再送信します。 |
| データキープアライブ間隔 |
30 秒 |
データ |
AP |
通常の状況では、APは30秒ごとにデータキープアライブを送信します。 |
| データキープアライブリトライバックオフ |
3、6、12、15、15秒 |
データ |
AP |
データキープアライブ応答が失われた場合、APはバックオフを使用して15秒の制限で再試行します。 |
| データチャネルデッド間隔 |
180 seconds |
データ |
AP |
この期間内にAPがデータキープアライブ交換を正常に維持できなかった場合、APはデータトンネルダウンを宣言します。 |
キープアライブと再送信
混同されることもありますが、キープアライブと再送信の目的は異なります。
| アスペクト |
キープアライブ |
再送信 |
| 主な目的 |
ピアがまだ到達可能であることを確認します。 |
応答を受信しないときに特定の要求を再試行する |
| 対象範囲 |
セッション単位またはチャネル単位 |
メッセージごと |
| トリガー |
非アクティブまたは活性タイムアウト |
要求に対する応答がありません |
| トラッキング方式 |
時間ベース |
再試行回数ベース |
| 失敗の意味 |
チャネルまたはセッションに到達できなくなった |
特定のCAPWAP交換が繰り返し失敗した |
| 失敗の結果 |
セッションがダウンしていると宣言できる |
コントローラがセッションを終了するか、APが加入を再開できる |
AP固有のトレースの場合は、APのログを収集して、これらの正確な文字列を検索します。
ログ収集
利用:
キープアライブ/ハートビートの制御
検索:
データキープアライブ
検索:
データプレーンのキープアライブ処理
検索:
再送信
検索:
セッションティアダウン
検索:
APデバッグの検証
このAP debugコマンドを使用すると、APとWLCの間のCAPWAP制御およびデータキープアライブ通信を監視できます。
#debug capwap client event
次のデバッグログは、正常なCAPWAP通信シーケンスを示しています。
13:11:44に、APはCAPWAPエコー要求をUDPポート5246経由でWLCに送信しました。同じインターバルの間に、APはCAPWAPデータキープアライブパケットをUDPポート5247経由で送信しました。ログは、WLCが両方の要求に正常に応答したことを示しています。
タイムスタンプは、通常のCAPWAP通信サイクルを示します。
これらのタイムスタンプは、CAPWAP制御チャネルとデータチャネルの両方が期待通りに機能しており、ラウンドトリップ遅延が無視できる程度であることを確認します。
[*07/19/2026 13:11:14.0817] [RX]KEEPALIVE: RoundTripTime=0.001 sec
[*07/19/2026 13:11:44.0917] Echo Request: Send count 22
[*07/19/2026 13:11:44.0917] [TX]Echo Request: Sent to 10.105.60.132
[*07/19/2026 13:11:44.0918] [TX]KEEPALIVE: Send to 10.105.60.132-5247
[*07/19/2026 13:11:44.0918] [TX]KEEPALIVE: Schedule for Retransmit in 3 sec sec_drop_count=0
[*07/19/2026 13:11:44.0918] capwap_ap_upstream_send ip: 192.168.100.123, port: 5272 => ip: 10.105.60.132, port: 5247
[*07/19/2026 13:11:44.0926] chatter: [RX]KEEPALIVE: Count 164
[*07/19/2026 13:11:44.0927] Sending KEEPALIVE to WTP SM
[*07/19/2026 13:11:44.0927] Capwap data keep-alive Msg.
[*07/19/2026 13:11:44.0927] [RX]KEEPALIVE: Session ID 3221108139, Next scheduled for TX in 30 sec
[*07/19/2026 13:11:44.0927] [RX]KEEPALIVE: RoundTripTime=0.001 sec
[*07/19/2026 13:11:44.0940] [RX]Echo Response from 10.105.60.132
[*07/19/2026 13:11:44.0004] [RX]Echo Response from 10.105.60.132 RttCount 1
[*07/19/2026 13:12:14.0004] [TX]KEEPALIVE: Send to 10.105.60.132-5247
[*07/19/2026 13:12:14.0005] [TX]KEEPALIVE: Schedule for Retransmit in 3 sec sec_drop_count=0
[*07/19/2026 13:12:14.0005] capwap_ap_upstream_send ip: 192.168.100.123, port: 5272 => ip: 10.105.60.132, port: 5247
パケットキャプチャ分析
パケットキャプチャにより、APがUDPポート5246経由で13:11:44にCAPWAPエコー要求を生成したことが確認できます。
WLCはパケットを正常に受信し、要求を処理し、対応するエコー応答を即座に生成しました。CAPWAP制御チャネルはDTLS暗号化を使用して保護されるため、応答は暗号化されたアプリケーションデータとしてパケットキャプチャに表示されます。

スイッチパケットの検証
スイッチパケットキャプチャは、暗号化されたCAPWAP制御パケットがWLCから正常に受信され、APに転送されたことを示します。

APは定期的にUDPポート5247を介してCAPWAPデータキープアライブパケットを送信し、CAPWAPデータトンネルの健全性を確認します。
13:11:44に、APからWLCに向けてデータキープアライブパケットが送信されました。WLCはパケットを正常に受信し、対応するキープアライブ応答を即座に返しました。
この正常な交換により、CAPWAPデータパスが引き続き動作可能であり、APとWLCの間の双方向通信が正常に機能していることが確認されます

スイッチパケットの検証
スイッチパケットキャプチャでは、CAPWAPデータキープアライブパケットがAPとWLCの間で中断なく正常に転送されたことをさらに検証します。
確認されたパケットフローにより、次のことが確認されます。

このテストでは、APアップリンクスイッチでCAPWAPコントロールポート(UDP 5246)がドロップされたときのAPの動作を確認します。
目的は、WLCが要求の処理と応答に成功したにもかかわらず、CAPWAP制御パケットがAPに到達できない場合のAP、WLC、およびネットワークの動作を検証することです。
このシナリオでは次のようになっています。
APデバッグ分析
12:11:55.4568の時点で、APはCAPWAPエコー要求をUDPポート5246経由でWLCに送信しています。
エコー要求:送信カウント0
通常の動作シナリオとは異なり、エコー応答は受信されませんでした。 その結果、APはデフォルトのCAPWAPタイマーに従って再送信を開始します。
再送信は次のタイムスタンプで行われました。
| [Time] |
[Event] |
| 12:12:00.2587 |
再送信カウント= 1 |
| 12:12:03.2599 |
再送信カウント= 2 |
| 12:12:06.2610 |
再送信カウント= 3 |
| 12:12:09.2624 |
再送信カウント= 4 |
| 12:12:12.2637 |
再送信カウント= 5 |
5回目の再送信の失敗の後、APはCAPWAP制御セッションを到達不能と宣言しました。
12:12:15.2647の時点で、APは次を報告しました。
最大再送信数を超えました。DISCOVERモードに戻ります。
その直後に、APはCAPWAPステートマシンを再起動して、新しいディスカバリプロセスを開始しました。
[*07/17/2026 12:11:54.2577] [RX]KEEPALIVE: Session ID 4068929293, Next scheduled for TX in 30 sec
[*07/17/2026 12:11:54.2577] [RX]KEEPALIVE: RoundTripTime=0.001 sec
[*07/17/2026 12:11:55.4568] Echo Request: Send count 0
[*07/17/2026 12:11:55.4568] [TX]Echo Request: Sent 1 Lost 269
[*07/17/2026 12:12:00.2587] Re-Tx Count=1, Max Re-Tx Value=5, SendSeqNum=63, NumofPendingMsgs=3
[*07/17/2026 12:12:03.2599] Re-Tx Count=2, Max Re-Tx Value=5, SendSeqNum=63, NumofPendingMsgs=3
[*07/17/2026 12:12:06.2610] Re-Tx Count=3, Max Re-Tx Value=5, SendSeqNum=63, NumofPendingMsgs=3
[*07/17/2026 12:12:09.2624] Re-Tx Count=4, Max Re-Tx Value=5, SendSeqNum=63, NumofPendingMsgs=3
[*07/17/2026 12:12:12.2637] Re-Tx Count=5, Max Re-Tx Value=5, SendSeqNum=63, NumofPendingMsgs=3
[*07/17/2026 12:12:15.2647] Max retransmission count exceeded, going back to DISCOVER mode.
[*07/17/2026 12:12:15.2647] Failed to reach capwap down with retransmission 3 times
WLC RAトレースにより、コントローラで処理の問題が発生しなかったことが確認されます。
12:11:58.731835712の時点で、WLCはAPによって送信されたCAPWAPエコー要求を正常に受信しています。 これらのログは、WLCが要求を正常に処理し、適切な応答を生成したことを示しています。 その後、12:12:19.802183814でWLCがAPからDTLS Close Notifyを受信しました。コントローラから送信されたエコー応答を受信しなかったため、APは切断されました。 その結果、WLCはDTLSセッションを終了し、APのアソシエーション解除を記録しました。
2026/07/17 12:12:19.802274790 {wncd_x_R0-1}{2}: [ewlc-dtls-sess] [16522]: (info): Remote Host: 192.168.100.120[5256] MAC: 889c.ad26.ea00 dtls session closed
2026/07/17 12:12:19.802279648 {wncd_x_R0-1}{2}: [ewlc-infra-capwap-dgram] [16522]: (debug): dgram handle, index is 0, udplite 0
2026/07/17 12:12:19.802317470 {wncd_x_R0-1}{2}: [ewlc-capwapmsg-sess] [16522]: (debug): Encrypted DTLS message send. Dest IP: 192.168.100.120[5256], length:43
2026/07/17 12:12:19.802321202 {wncd_x_R0-1}{2}: [capwapac-smgr-srvr] [16522]: (debug): Mac: 889c.ad26.ea00 Session-IP: 192.168.100.120[5256] 10.105.60.132[5246] DTLS session close notified
2026/07/17 12:12:19.802376588 {wncd_x_R0-1}{2}: [ap-join-info-db] [16522]: (note): MAC: 889c.ad26.ea00 AP disconnect initiated. Name : AP12, Ethernet mac : e44e.2d2c.3d0c, Reason: DTLS close alert from peer, Phase: Run
VK-WLC#show wireless stats ap history | i AP12
AP12 889c.ad26.ea00 Joined 07/17/26 12:24:18 NA NA NA
AP12 889c.ad26.ea00 Disjoined 07/17/26 12:12:19 NA DTLS close alert from peer 1
AP12 889c.ad26.ea00 Joined 07/17/26 12:09:25 NA NA NA
AP12 889c.ad26.ea00 Disjoined 07/17/26 12:08:33 NA Heart beat timer expiry 1

WLC EPCは次のことを確認します。
したがって、EPCはコントローラが応答を正常に送信したことを確認します。 これにより、WLCが問題の原因でなくなります。


APアップリンクスイッチで収集されたパケットキャプチャが、最終的な証拠となります。
キャプチャは次のことを示しています。
その理由は次のとおりです。
パケットキャプチャは、CAPWAP制御トラフィックが中断されたポイントとしてスイッチを明確に特定します

このテストでは、CAPWAPコントロールポート(UDP 5246)が稼働している状態で、APアップリンクスイッチでCAPWAPデータポート(UDP 5247)がドロップされた場合のAPの動作を検証します。
前のシナリオとは異なり、APはUDPポート5246経由でCAPWAPエコーメッセージを正常に交換することで、WLCとのCAPWAP制御接続を維持し続けます。ただし、CAPWAPデータキープアライブパケットはラウンドトリップを完了できないため、APは最終的にCAPWAPデータパスを到達不能と宣言し、CAPWAPの再起動を開始します。
APデバッグログは、CAPWAP制御チャネルがテストを通じて正常に動作していたことを確認します。
キャプチャの開始時に、UDPポート5246を介して送信されたCAPWAPエコー要求はWLCからの有効なエコー応答の受信を継続し、コントロールプレーン通信が中断されないことを確認しました。
ただし、14:30:15の場合、APではCAPWAPデータキープアライブパケットをUDPポート5247経由で送信しています。 対応するデータキープアライブ応答が受信されなかったため、APは再試行メカニズムを開始しました。 再送信は、次のタイムスタンプで確認できます。
| タイムスタンプ |
[Event] |
| 14:30:15 |
最初のデータキープアライブの送信 |
| 14:30:19 |
再試行1 |
| 14:30:25 |
再試行2 |
| 14:30:37 |
再試行3 |
| 14:30:49 |
再試行4 |
| 14:31:01 |
再試行5 |
| 14:31:13 |
最終的な再試行 |
この間、CAPWAPエコー応答は受信され続けましたが、APはデータキープアライブパケットに対する応答を受信しませんでした。 再試行の試行回数を超過すると、APからUnencrypted Data Keepalive Timeoutが報告され、CAPWAPの再起動が開始されました。 約14:31:16に、APは既存のCAPWAPセッションを終了し、ディスカバリプロセスに戻りました。
AP12#[*07/19/2026 14:30:15.9995] [TX]KEEPALIVE: Send to 10.105.60.132-5247
[*07/19/2026 14:30:15.9995] [TX]KEEPALIVE: Schedule for Retransmit in 3 sec sec_drop_count=0
[*07/19/2026 14:30:15.9996] capwap_ap_upstream_send ip: 192.168.100.123, port: 5272 => ip: 10.105.60.132, port: 5247
[*07/19/2026 14:30:19.0002] [TX]KEEPALIVE: Send to 10.105.60.132-5247
[*07/19/2026 14:30:19.0002] [TX]KEEPALIVE: Schedule for Retransmit in 6 sec sec_drop_count=0
[*07/19/2026 14:30:19.0003] capwap_ap_upstream_send ip: 192.168.100.123, port: 5272 => ip: 10.105.60.132, port: 5247
[*07/19/2026 14:30:25.0023] [TX]KEEPALIVE: Send to 10.105.60.132-5247
[*07/19/2026 14:30:25.0024] [TX]KEEPALIVE: Schedule for Retransmit in 12 sec sec_drop_count=0
[*07/19/2026 14:30:25.0024] capwap_ap_upstream_send ip: 192.168.100.123, port: 5272 => ip: 10.105.60.132, port: 5247
[*07/19/2026 14:30:37.0066] [TX]KEEPALIVE: Send to 10.105.60.132-5247
[*07/19/2026 14:30:37.0066] [TX]KEEPALIVE: Schedule for Retransmit in 12 sec sec_drop_count=0
[*07/19/2026 14:30:37.0067] capwap_ap_upstream_send ip: 192.168.100.123, port: 5272 => ip: 10.105.60.132, port: 5247
[*07/19/2026 14:30:49.0109] [TX]KEEPALIVE: Send to 10.105.60.132-5247
[*07/19/2026 14:30:49.0109] [TX]KEEPALIVE: Schedule for Retransmit in 12 sec sec_drop_count=0
[*07/19/2026 14:30:49.0109] capwap_ap_upstream_send ip: 192.168.100.123, port: 5272 => ip: 10.105.60.132, port: 5247
[*07/19/2026 14:31:01.0151] [TX]KEEPALIVE: Send to 10.105.60.132-5247
[*07/19/2026 14:31:01.0151] [TX]KEEPALIVE: Schedule for Retransmit in 12 sec sec_drop_count=0
[*07/19/2026 14:31:01.0152] capwap_ap_upstream_send ip: 192.168.100.123, port: 5272 => ip: 10.105.60.132, port: 5247
[*07/19/2026 14:31:13.0195] [TX]KEEPALIVE: Send to 10.105.60.132-5247
[*07/19/2026 14:31:13.0195] [TX]KEEPALIVE: Schedule for Retransmit in 12 sec sec_drop_count=0
[*07/19/2026 14:31:13.0196] capwap_ap_upstream_send ip: 192.168.100.123, port: 5272 => ip: 10.105.60.132, port: 5247
[*07/19/2026 14:31:16.0207] Warning, unencrypted data keepalive failed
[*07/19/2026 14:31:16.0207] Going to restart CAPWAP (reason : data keepalive not received)...
CAPWAPデータチャネルの場合、トレースは、コントローラが予期されるデータキープアライブパケットを受信しなかったかのどちらかを示します。 最終的に、APがデータキープアライブ障害を宣言した後、WLCはDTLSセッションの終了とAPの切断イベントを記録しました。 RAトレースで確認されるシーケンスにより、データキープアライブタイムアウトが原因でAPが自発的に接続解除されるまで、コントローラは動作し続けたことが確認されます。
AP ethernet macを使用したRAトレース:
2026/07/19 14:31:16.842212773 {fman_rp_R0-0}{2}: [source] [20448]: (debug): ipc(mqipc/wncd_2/wncd-fmrp):End of MQIPC queue with 2 messages in 1 ms
2026/07/19 14:31:16.842250177 {wncd_x_R0-2}{2}: [errmsg] [16638]: (note): %CAPWAPAC_SMGR_TRACE_MESSAGE-5-AP_JOIN_DISJOIN: R0/2: wncd: AP Event: AP Name: AP12 Mac: 889c.ad26.ea00 Session-IP: 192.168.100.123[5272] 10.105.60.132[5246] Disjoined DTLS close alert from peer
2026/07/19 14:31:16.842251233 {wncd_x_R0-2}{2}: [capwapac-smgr-sess-fsm] [16638]: (note): Mac: 889c.ad26.ea00 Session-IP: 192.168.100.123[5272] 10.105.60.132[5246] Last Data Keep Alive Packet received 90 seconds ago.
2026/07/19 14:31:16.843318439 {wncmgrd_R0-0}{2}: [loadbalance-algo] [16262]: (note): Algo counter decremented, inst:2(joined rb:0, joined site:0) tag:VK-SITETAG(joined: 0, cfgd: 0), max site ap: 0
2026/07/19 14:31:16.843318599 {wncd_x_R0-2}{2}: [wsa-core] [16638]: (debug): WSA AP EVT Create Populate: AP Mac:889c.ad26.ea00 , event WSA_EVT_AP_DISJOIN (3), reason WSA_EWLC_WTP_DISCONNECT_DTLS_ALERT_FROM_PEER (25), new_value 0, slot_id 0, oper_state 0
2026/07/19 14:31:16.843320409 {wncd_x_R0-2}{2}: [wsa-core] [16638]: (debug): WSA AP EVT Create Populate: DISJOIN - AP Mac:889c.ad26.ea00 , new ap disconnect reason 'DTLS close alert from peer' (26)
Radio MACを使用したRAトレース:
2026/07/19 14:31:16.737070835 {wncd_x_R0-2}{2}: [capwapac-smgr-sess] [16638]: (debug): Mac: 889c.ad26.ea00 Session-IP: 192.168.100.123[5272] 10.105.60.132[5246] CAPWAP Message buffer sent to DTLS for send. Buffer size: 1400, count of buffers: 1
2026/07/19 14:31:16.737072831 {wncd_x_R0-2}{2}: [capwapac-smgr-srvr] [16638]: (debug): Mac: 889c.ad26.ea00 Session-IP: 192.168.100.123[5272] 10.105.60.132[5246] WTP Event Response sent to AP with sequence number: 82
2026/07/19 14:31:16.737076419 {wncd_x_R0-2}{2}: [msc-fsm] [16638]: (debug): @msc_event {"entity":"/capwapac_wtp_sess_sm:2634", "label":"S_RUN_TRANSIENT", "data":{"transition":"RUN_TRANSIENT_TO_RUN"}, "type":"CircleEvent", "color":"00FF00", "radius":"0.5"}
2026/07/19 14:31:16.737078137 {wncd_x_R0-2}{2}: [msc-fsm] [16638]: (debug): @msc_event {"entity":"/capwapac_wtp_sess_sm:2634", "label":"S_RUN", "data":{"transition":"RUN_TRANSIENT_TO_RUN"}, "type":"CircleEvent", "color":"FFFF00", "radius":"0.7", "pop_source":"true", "dst":{"id":"$n_$p_0x7ffec907fb24", "type":"Transition", "straight":"true", "stroke_width":"2.0"}}
2026/07/19 14:31:16.841870791 {wncd_x_R0-2}{2}: [ap-join-info-db] [16638]: (note): MAC: 889c.ad26.ea00 AP disconnect initiated. Name : AP12, Ethernet mac : e44e.2d2c.3d0c, Reason: DTLS close alert from peer, Phase: Run
2026/07/19 14:31:16.841890831 {wncd_x_R0-2}{2}: [capwapac-smgr-srvr] [16638]: (debug): MAC: 889c.ad26.ea00 un-plumbing dtls control keys
WLC上で収集されたEPCによって、コントローラ側のパケット処理が検証されます。 キャプチャは、CAPWAP制御パケットがテスト全体を通じて正常に交換され続けたが、WLCでデータキープアライブパケットが受信されなかったことを示しています。 この観察結果は、APのデバッグログと一致し、コントロールチャネルがアクティブのままであるにもかかわらず、データキープアライブメカニズムが失敗したことを示しています。

スイッチ:
APアップリンクスイッチで収集されたパケットキャプチャは、パケットがスイッチに存在するものの、同じものがWLCに転送されなかったことを示します

この機能は、Cisco Bug ID CSCvs66015
この機能は、これらのシナリオのトラブルシューティングに役立ちます。
9800 WLCからのCOS-APデータキープアライブのイネーブル/ディセーブルをトリガーします。デフォルトでは、WLCとAPの両方のデータキープアライブがイネーブルになっています。
WLCコマンド:
1)文字列「Unencrypted Data Keep Alive」でステータスを表示します。
show ap config general
2) AP名によるデータキープアライブのイネーブル/ディセーブル
ap name AP-NAME keepalive
ap name AP-NAME no keepalive
AP自体からCOS-AP data keepalive enable/disableをトリガーします。デフォルトでは、APのデータキープアライブは有効になっています。
APコマンド:
1)文字列「Unencrypted Data Keep Alive」でステータスを表示します。
show capwap client config
2) APでのデータキープアライブのイネーブル/ディセーブル
capwap ap unencrypted_data_keepalive enable
capwap ap unencrypted_data_keepalive disable
例:
APレベルでキープアライブチェックを無効にした場合:
AP12#capwap ap unencrypted_data_keepalive disable
AP12#show capwap client configuration
AdminState : ADMIN_ENABLED(1)
Name : AP12
Location : default location
Primary controller name : VK-WLC
Primary controller IP : 10.105.60.132
Secondary controller name : 9800-demo
Secondary controller IP : 10.106.39.156
Tertiary controller name :
ssh status : Enabled
ApMode : Local
ApSubMode : Not Configured
Link-Encryption : Disabled
Unencrypted Data Keep Alive : Disabled
OfficeExtend AP : Disabled
Discovery Timer : 10
AP のデバッグ:
APのデバッグでは、APとWLCの間でデータキープアライブパケット交換が発生していないことがわかります。制御パケット交換だけが確認できます。
AP12#debug capwap client keepalive(クライアントキープアライブのデバッグ)
AP12#[*07/19/2026 15:24:33.4087] Echo Request: Send count 0
[*07/19/2026 15:24:33.4087] [TX]Echo Request: Sent to 10.105.60.132
[*07/19/2026 15:24:33.4112] [RX]Echo Response from 10.105.60.132
[*07/19/2026 15:24:34.0006] [RX]Echo Response from 10.105.60.132 RttCount 1
[*07/19/2026 15:25:34.0032] Echo Request: Send count 1
[*07/19/2026 15:25:34.0032] [TX]Echo Request: Sent 2 Lost 2
[*07/19/2026 15:25:34.0056] [RX]Echo Response from 10.105.60.132
[*07/19/2026 15:25:34.0006] [RX]Echo Response from 10.105.60.132 RttCount 2
[*07/19/2026 15:27:34.0327] Echo Request: Send count 2
[*07/19/2026 15:27:34.0327] [TX]Echo Request: Sent 3 Lost 2
[*07/19/2026 15:27:34.0347] [RX]Echo Response from 10.105.60.132
[*07/19/2026 15:27:34.0004] [RX]Echo Response from 10.105.60.132 RttCount 1
[*07/19/2026 15:28:34.0025] Echo Request: Send count 3
[*07/19/2026 15:28:34.0025] [TX]Echo Request: Sent 4 Lost 2
[*07/19/2026 15:28:34.0050] [RX]Echo Response from 10.105.60.132
[*07/19/2026 15:28:34.0022] [RX]Echo Response from 10.105.60.132 RttCount 2
AP12#[*07/19/2026 15:29:43.5772] capwap_ap_upstream_send ip: 192.168.100.123, port: 5272 => ip: 10.105.60.132, port: 5247
[*07/19/2026 15:30:04.0140] Echo Request: Send count 4
[*07/19/2026 15:30:04.0140] [TX]Echo Request: Sent 5 Lost 2
[*07/19/2026 15:30:04.0164] [RX]Echo Response from 10.105.60.132
[*07/19/2026 15:30:04.0011] [RX]Echo Response from 10.105.60.132 RttCount 1
[*07/19/2026 15:30:27.7695] capwap_ap_upstream_send ip: 192.168.100.123, port: 5272 => ip: 10.105.60.132, port: 5247
データキープアライブパケットがドロップされていても、データキープアライブチェックを無効にしているため、APはキープアライブパケットのドロップの影響を受けることなくWLC上で安定しています。

| 改定 | 発行日 | コメント |
|---|---|---|
1.0 |
29-Jul-2026
|
初版 |