Cisco CDP/LLDPの違いと設定手順|Catalyst 9300での実機検証まとめ
ネットワーク機器の隣接デバイスを確認するときに使う CDP と LLDP。Cisco独自プロトコルのCDPと、IEEE 802.1AB標準のLLDP。違いは知ってるつもりでも、現場で混在環境にぶつかると意外と詰まる。
この記事では Catalyst 9300(IOS-XE 17.9.5)で実機検証した内容をベースに、両プロトコルの違い・設定手順・トラブル切り分けポイントを整理する。
結論:使い分け
- Cisco同士の閉じた環境 → CDPだけで十分
- Juniper / Arista / HPEなどとの混在環境 → LLDPを必ず併用
- IP Phone接続環境 → CDPまたはLLDP-MEDでVoice VLAN自動学習
CDP と LLDP の違い
| 項目 | CDP | LLDP |
|---|---|---|
| 規格 | Cisco独自 | IEEE 802.1AB |
| Cisco機器のデフォルト | 有効 | 無効 |
| 対応ベンダー | Cisco中心 | ほぼ全ベンダー |
| 送信間隔 | 60秒 | 30秒 |
| Holdtime | 180秒 | 120秒 |
| マルチキャスト宛先 | 01:00:0C:CC:CC:CC | 01:80:C2:00:00:0E |
| Native VLAN通知 | 対応(v2) | 標準では非対応 |
| Voice VLAN/PoEネゴ | CDPv2で対応 | LLDP-MEDで対応 |
CDPはNative VLAN/Duplexの通知が地味に便利。L1/L2のトラブルシュートで効く。
Catalyst 9300での設定手順
Step 1: CDPを有効化
SW1#configure terminal
SW1(config)#cdp run
SW1(config)#interface GigabitEthernet1/0/1
SW1(config-if)#cdp enable
SW1(config-if)#end
⚠️
cdp runはグローバル、cdp enableはインターフェース。両方ONになっていないと隣接が見えないので要注意。
Step 2: LLDPを有効化
SW1(config)#lldp run
SW1(config)#interface GigabitEthernet1/0/24
SW1(config-if)#lldp transmit
SW1(config-if)#lldp receive
SW1(config-if)#end
Step 3: 隣接情報の取得テスト
SW1#show cdp neighbors
Device ID Local Intrfce Holdtme Capability Platform Port ID
R1.example.com Gig 1/0/1 165 R S I ISR4451-X Gig 0/0/0
SW2.example.com Gig 1/0/12 178 S I WS-C2960- Gig 0/1
SEP001122334455 Gig 1/0/2 142 H P IP Phone Port 1
SW1#show lldp neighbors
Device ID Local Intf Hold-time Capability Port ID
R1.example.com Gi1/0/1 120 R Gi0/0/0
SW2.example.com Gi1/0/12 120 B Gi0/1
EX2300-juniper Gi1/0/24 120 B ge-0/0/5
SEP001122334455 Gi1/0/2 180 B,T 1
注目すべきは Gi1/0/24。CDPでは見えていなかったJuniper EX2300が、LLDPでは EX2300-juniper として表示されている。これがマルチベンダー環境でLLDPを併用する理由。
detail オプションが現場で効く
SW1#show cdp neighbors detail
-------------------------
Device ID: R1.example.com
Entry address(es):
IP address: 10.10.0.1
Platform: cisco ISR4451-X/K9
Interface: GigabitEthernet1/0/1, Port ID (outgoing port): GigabitEthernet0/0/0
Holdtime : 165 sec
advertisement version: 2
Native VLAN: 100
Duplex: full
Native VLAN・Duplex・IPアドレス・IOSバージョンが一気に取れる。Native VLANミスマッチがあると %CDP-4-NATIVE_VLAN_MISMATCH のSyslogも飛ぶので、即気付ける。
隣接が出ないときの切り分け
| 症状 | 原因 | 対処 |
|---|---|---|
| 何も出ない | グローバル/対向側が無効 |
show cdp / show lldp で確認 |
| 特定ポートだけ出ない | I/Fで no cdp enable
|
show cdp interface で確認 |
| 他ベンダー機器が見えない | LLDP無効 |
lldp run を投入 |
| 表示が出たり消えたり | リンクフラップ/MTU不整合 |
show interfaces でerror確認 |
| Native VLAN警告 | Native VLAN不一致 |
show cdp neighbors detail で比較 |
現場でハマったポイント
- 客先でJuniper EX2300とCatalyst混在環境にぶつかり、CDPだけ見て半日悩んだ。
lldp runで一発解決。 - 外向けポートのCDPは止めるのがセキュリティ上の鉄則。
no cdp enableをI/Fに刺す。 - IP Phone接続ポートでは
switchport voice vlanとmls qos trust device cisco-phoneをセットで。
詳しくはブログで
実際の出力例の解説、トラブルシュート表、FAQまで含めた完全版はブログにまとめています。Native VLAN通知の仕組み、LLDP-MEDの使い方、現場経験ベースの注意点なども盛り込みました。