Cisco IOS - CDP



 ◆ CDPとは

 CDP ( Cisco Discovery Protocol )は
Cisco社独自のプロトコルであり、データリンク層で動作します。
 このプロトコルにより、ケーブル接続している隣接するCisco機器の情報が得られるので、Cisco機器の
 どこのポートにどのようなCisco機器が接続しているのか分かります。つまり、LAN接続の配線が正しい
 のかどうかも分かります。CDPはLayer2で動作することから
、隣接機器のLayer3のIPアドレスの情報が
 間違っていたり設定がない場合でも
、L3に依存しないため、問題なく隣接する機器の情報が得られます。


 


 
※ CDPパケットはイーサネットだけではなくトークンリング、FrameRelay、ATMなどの物理メディアでも伝送されます。



 ◆ CDPにより収集できる情報

 CDPにはバージョン1とバージョン2があります。IOS 12.0(3)T以降から、CDPバージョン2がサポート
 されており、現在のCiscoデバイスは基本的にバージョン2がデフォルトで有効になっています。CDP
 バージョン2のCDPで得られる情報は以下です。show cdp neighborで得られる順番通りに解説します。

情報 説明
Device-ID  隣接デバイスのホスト名
Local Interface  自身のインターフェース情報
Holdtime  CDP情報を保持する時間 (デフォルト:180秒 )
Capability  隣接デバイスのデバイスタイプ (スイッチの場合 : S )
Platform  隣接デバイスのモデル情報 (例:CISCO2921 )
Port ID  隣接デバイスのインターフェース情報 ( 例:Gig 0/1 )

Address

 隣接デバイスのネットワーク層のアドレス
IOS Software  隣接デバイスのIOSソフトウェア、バージョン情報
VTP Domain Name  隣接デバイスのVTPドメイン名 ( only CDPv2 )
Native VLAN  隣接デバイスのネイティブVLANの情報 ( only CDPv2 )
Full/Half Duplex  隣接デバイスのインターフェースのDuplexの情報 ( only CDPv2 )

 ※ CDPコマンドで得られるの情報は上表ですが、実際のTLVには Location や Location-server などの項目があります。


 ◆ CDPの有効化と無効化

 Cisco IOSではCDPはデフォルトで有効化されています。デバイス全体で有効化されていて、そしてどの
 インターフェースでも有効化されています。デバイス全体で無効化するためには以下のとおり入力します。

 ◆ CDPの無効化 : デバイス全体
 Router(config)# no cdp run



 デバイス全体ではなく特定のインターフェースだけをCDPを無効にしたい場合、以下のように入力します。
 以下の設定では、「FastEthernet 0」のインターフェースだけをCDPを無効にするように設定しています。

 
◆ CDPの無効化 : 特定のインターフェース

 
Router(config)# interface FastEthernet 0
 
Router(config-if)# no cdp enable



 上記の設定により無効化したCDPの設定を、再び有効化するための設定コマンドは以下の通りです。

 
◆ CDPの有効化 : デバイス全体
 Router(config)# cdp run


 ◆ CDPの有効化 : 特定のインターフェース

 
Router(config)# interface FastEthernet 0
 
Router(config-if)# cdp enable




 ◆ CDPの動作

 CDPが有効になっているCiscoデバイスからは、60秒に一度、CDPアドバタイズメントと呼ばれるパケットを
 送信しています。この時、宛先アドレスには「0100.0CCC.CCCC」のマルチキャストアドレスを使用します。
 CDPにより得られた情報は180秒間キャッシュされます。つまり、180秒以内に新たにCDPパケットが到達し
 なければクリアされます。この60秒、180秒というデフォルトのタイマーは、以下のコマンドで変更できます。

 
◆ CDPアドバタイズメントの送信間隔の設定例
 Router(config)# cdp timer 30


 ◆ CDPアドバタイズメントのホールド時間の設定例
 Router(config)# cdp holdtime 90


 例えば上記ではCDPパケットの送信タイマーをデフォルトの60秒から30秒に変更、CDPパケットのホールド
 タイマーをデフォルトの180秒を90秒に変更しています。デフォルト値に戻すためにはCDPの送信タイマーは
 cdp timer 60、CDPのホールドタイマーはcdp holdtime 180と入力します。

 なお、CDPパケットの到達範囲は隣接機器までとなるが、隣接機器がリピータHUBである場合、CDPパケット
 は通過します。下図の場合、ルータのR1は「SW1、R3、R4」の3台を隣接機器として認識しCDPにより情報
 が得られます。当然のことですが、CDPパケットによって隣接機器として認識できるのはCISCO機器だけです。


      



 ◆ CDP情報の表示

 現在、CDPの設定がどのような状態であるのかはshow cdpコマンドにより確認できます。デフォルトは
 以下の状態です。以下の内容によりCDPが有効、送信間隔が60秒、ホールドタイマーが180秒、そして
 CDPバージョン2が有効であることが分かります・show cdp interfaceと入力すればI/Fごとで分かります。

 



 次に、CDPにより得られる隣接デバイスの情報をshow cdp neighborsコマンドにより確認してみましょう。
 以下の出力結果は、下図の「R1」というホスト名のルータからshow cdp neighborsを入力した結果です。
 ちなみに、clear cdp tableコマンドを入力することで、以下のキャッシュ情報をクリアすることができます。


        


 



 次に、CDPで得られる全ての情報を見るためにshow cdp neighbors detailコマンドを入力してみましょう。
 見方は以下の通りです。ちなみに複数の隣接機器がある場合、すべての隣接機器の情報が一度に出力されて
 しまいます。そこで、特定の隣接機器のみCDP情報を表示させるためにshow cdp entryコマンドがあります。
 例えば、show cdp entry SW1と入力すれば、ホスト名“SW1”のみの詳細情報を表示できます。

 



 最後にshow cdp trafficコマンドを確認してみましょう。このコマンドではCDPアドバタイズメントにより
 送受信したメッセージの統計情報やエラー情報を確認できます。以下で、CDPバージョン2のCDPパケット
 のみやりとりされていて、隣接機器にCDPアドバタイズメントが正しく送受信ができていると分かります。
 ちなみに、clear cdp countersコマンドを入力することにより以下の統計情報をクリアすることができます。

 



Ciscoデバイスの操作方法

ネットワークエンジニアとして

Copyright (C) 2002-2024 ネットワークエンジニアとして All Rights Reserved.