ひよっこエンジニアの備忘録

日常とかSEとしての備忘を書いていきます。

CDP/LLDP

[CDP/LLDPとは]

隣接する機器に対して、自分の機器情報をアドバタイズするために使用するL2プロトコル

・CDP(Cisco Discovery Protocol)
シスコ独自プロトコル、デフォルトで有効。
・LLDP(Link Layer Discovery Protocol)
IEEE802.1ABで定義されたマルチベンダ対応プロトコル、デフォルト無効。

LLDPの拡張版としてLLDP-MED(LLDP Media Endpoint Discovery)がある。
LLDP-MEDはエンドポイントデバイス(IP Phone等)とネットワークデバイス(スイッチ等)の間で
動作するプロトコル

CDPとLLDPの機能差異
f:id:nrlay00:20170201234637j:plain


⇛あまりにもまとめ方が適当すぎたので下記追記
取得可能な情報は以下
CDP
→version1と2で取得内容に差異あり
デフォルトでversion2が有効

info description
Device-ID 隣接デバイスのホスト名
Local Interface 自身のインターフェース情報
Holdtme CDP情報を保持する時間 (デフォルト:180秒)
Capability 隣接デバイスのデバイスタイプ (スイッチの場合:S)
Platform 隣接デバイスのモデル情報(例:CISCO2921)
Port ID 隣接デバイスのインターフェース情報(例:Gig0/1)
Address 隣接デバイスネットワーク層のアドレス
IOSSoftware 隣接デバイスIOSソフトウェア、バージョン情報

↓以下version2のみ対応↓

VTP Domain 隣接デバイスのVTPドメイン名(only CDPv2)
Native VLAN 隣接デバイスのネイティブVLANの情報(only CDPv2)
Full/Half Duplex 隣接デバイスのインターフェースのDuplexの情報(onlyCDPv2)

[CDP/LLDPのメリット・デメリット]

メリット
 IPアドレス/機種/自分&対向機器の接続ポート/IF情報などが知れる。
 隣接機器の情報が知れるため、実質L1レベルの確認も可能(ケーブル接続が正しいか)
デメリット
 cdp/lldpパケットは暗号化されないため、設定情報が盗聴されるリスクあり。
 必要なければ無効にしておくこと推奨。

[コマンド]

コマンドはCDP/LLDPで結構酷似している。

設定コマンド
・機器全体で有効にする
cdp lldp
(config)# cdp run/(config)# lldp run

・ポート単位で有効にする
cdp    lldp
(config-if)# cdp enable/(config-if)# lldp enable

基本的に無効にしたければ先頭に「no」をつけるだけだが、
ポート指定でLLDPの送受信を無効にする場合は、、

(config-if)# no lldp receive(受信)
(config-if)# no lldp trancemit(送信

と若干書き味が違うので注意。


確認コマンド
下記コマンドで知りたいことは大体わかるかと。

sh cdp nei
sh cdp nei de
sh lldp nei
sh lldp nei de

cdpとlldpで若干取得結果は違うようです。
f:id:nrlay00:20170202001301p:plain


簡単ですがCDP/LLDPはこんな感じ。
Cisco独自、マルチベンダがそれぞれどちらを覚えて
なおかつHellotimeとHoldtimeの違いを理解できれば大丈夫かと思います。
(正直実務では無効に設定しているところが多いかと思うので)