目次
CDPの概要
CiscoルータやCatalystスイッチはCDP(Cisco Discovery Protocol)によって、自身を起点として直接接続されている他のCisco機器を検出することができます。直接接続されているデバイスのことを近接デバイスあるいは隣接デバイスと呼んでいます。
CDPはデータリンク層で動作するCisco独自のプロトコルで、SNAPカプセル化をサポートする物理メディアで利用可能です。SNAPカプセル化をサポートする物理メディアは、イーサネット、フレームリレー、ATM、PPP/HDLCなどがあります。また、上位プロトコルには依存しません。Cisco独自のプロトコルなので、他のベンダのネットワーク機器やホストは検出できないので注意してください。CDPはデータリンク層のプロトコルなので、CDPで直接接続されている機器を検出できれば、データリンク層までは問題なく動作していることも確認できます。
Ciscoルータ/Catalystスイッチは、デフォルトでCDPが有効になっています。60秒ごとにCDPの情報を送信します。CDPの情報を送受信する際は、予約されたマルチキャストアドレス「01-00-0c-cc-cc-cc」を利用しています。CDPの情報を受信すれば、その内容をCDPのキャッシュに格納します。これを参照すれば、どのようなデバイスがどのポートに接続されているかがわかります。CDPのキャッシュを参照するには、show cdp neighborコマンドを利用します。
定期的なCDPの情報を一定時間受信することができなければ、その情報をキャッシュから削除します。この時間のことをホールドタイムといい、デフォルトは180秒です。
また、CDPはCatalystスイッチに接続されているCisco IP Phoneを検出するためにも利用します。Catalystスイッチに接続されているCisco IP PhoneへVoice VLANなどといったIP Phoneに必要な情報を通知できます。
CDPでやり取りする情報
CDPにはバージョン1とバージョン2があります。現在のCiscoデバイスはデフォルトでCDPバージョン2が有効になっています。
CDPバージョン1では、次の情報が送受信されています。
- 隣接デバイスID
- ローカルインタフェース
- 隣接デバイスのケイパビリティ
- 隣接デバイスのプラットフォーム
- リモートインタフェース
- 隣接デバイスのネットワーク層アドレス
- 隣接デバイスのIOSバージョン情報
これに加えて、CDPバージョン2では次の情報が追加されています。
- VTPドメイン名
- ネイティブVLAN
- インタフェースの2重モード
CDPの無効化
CDPでやり取りされる情報は、IOSバージョンやIPアドレスの情報が含まれています。そのため、不用意にCDPで情報を送信すると悪意のあるクラッカーに不正アクセスの足がかりとなる情報を与えてしまう可能性もあります。また、直接接続されている機器がCisco製以外であれば、CDPの情報を送信することは意味がありません。そこで、CDPの有効化/無効化をコントロールする必要があります。
CDPを無効化するには、グローバルコンフィグレーションモードで次のコマンドを入力します。
(config)#no cdp run
再びCDPを有効にするには、cdp runコマンドを入力します。
そして、インタフェース単位でもCDPを無効化することができます。CDPを無効にしたいインタフェースコンフィグレーションモードで次のコマンドを入力します。
(config-if)#no cdp enable
この設定により、該当のインタフェースからCDPの情報を送信することをとめることができます。再びCDPを有効にするにはcdp enableコマンドを入力してください。
CDPの確認
CDPで直接接続されているCisco機器を確認するには、主に次のコマンドを利用します。
- #show cdp neighbor [detail]
- #show cdp entry <device-id>
以下は、show cdp neighborの出力例です。
CenterRT#show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID Switch Gig 0 179 S I WS-C2960S Gig 1/0/1
show cdp neighborコマンドを実行している機器のホスト名はCenterRTです。CenterRTはSwitchと直接接続されています。接続しているインタフェースは、以下のとおりです。
CenterRT GigabitEthernet0 (Local Intrfce)
Switch GigabitEthernet1/0/1(Port ID)
また、PlatformからSwitchはCatalyst2960Sであることもわかります。
CDPの詳細な情報を確認するには、show cdp neighbor detailまたはshow cdp entry <device-id>コマンドです。
CenterRT#show cdp neighbors detail ------------------------- Device ID: Switch Entry address(es): 10.0.0.100 Platform: cisco WS-C2960S-24TS-L, Capabilities: Switch IGMP Interface: GigabitEthernet0, Port ID (outgoing port): GigabitEthernet1/0/1 Holdtime : 177 sec Version : Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 15.0(2)SE2, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2013 by Cisco Systems, Inc. Compiled Tue 05-Feb-13 12:48 by prod_rel_team advertisement version: 2 Protocol Hello: OUI=0x00000C, Protocol ID=0x0112; payload len=27, value=00000000FFFFFFFF010231FF00000000000070105C247880FF0000 VTP Management Domain: 'cisco' Native VLAN: 1 Duplex: full
show cdp neighbor detailコマンドでは、IPアドレスやIOSバージョン、VTPドメイン、ネイティブVLAN、デュプレックスなどのさまざまな情報もわかります。
LLDPの概要
CiscoのCDPに相当する標準化されたプロトコルがLLDP(Link Layer Discovery Protocol)です。LLDPはIEEE802.1ABで標準化されています。LLDPはCDPと同様にデータリンク層で動作します。LLDPが有効な機器同士でLLDPフレームを交換することで、直接接続している機器を検出したり、追加の設定情報を通知することができます。
Cisco Catalystスイッチでは、LLDPをサポートしているモデルでもデフォルトでは、LLDPは無効化されています。LLDPを有効にするには、グローバルコンフィグレーションモードで次のコマンドを利用します。
(config)#lldp run
また、CDPと同様にインタフェース単位での設定も可能です。インタフェース単位でLLDPを設定するには、インタフェースコンフィグレーションモードで次のコマンドを利用します。
(config-if)#lldp [transmit | recieve]
Ciscoのキホン
- Ciscoルータのメモリ領域とコンフィグレーションレジスタ
- Ciscoルータの起動シーケンス
- 設定のための準備
- Cisco機器の設定ファイル running-configとstartup-config
- Cisco機器の設定の流れ
- Cisco CLIの基礎知識 ~コマンドの種類とモード~
- Cisco機器のインタフェース
- Cisco CLIのヘルプと補完
- Cisco CLIの主なエラーメッセージ
- Cisco 設定コマンドの削除
- default interfaceコマンド ~インタフェースの設定を初期化~
- Cisco コマンドの一括入力
- doコマンド ~コンフィグレーションモードからEXECコマンドを実行~
- interface rangeコマンド ~複数インタフェースの一括設定~
- showコマンド表示のフィルタ ~見たい情報だけを適切に表示~
- Cisco機器の時刻設定
- Cisco IOS 名前解決の設定
- terminal lengthコマンド ~コマンド出力の表示行数の設定~
- debugコマンド ~リアルタイムの動作確認~
- CLIログイン時に自動的に特権EXECモードに移行する
- Cisco 設定ファイルの保存とバックアップ
- 設定ファイルのバージョン管理 ~archiveコマンド~
- IOSファイルシステムの操作
- Catalystスイッチの管理 ~スイッチにIPアドレスを設定する意味~
- VTYアクセス(Telnet/SSH)によるリモート管理
- Cisco IOS SSH待ち受けポート番号の変更
- terminal monitorコマンド ~Telnet/SSHのログイン先のログを表示~
- 多段階Telnetのセッション中断
- Cisco パスワードの最小文字数設定
- ログイン試行の制限 ~login block-forコマンド~
- Cisco 初期設定の例
- CDP ~つながっている機器はなに?~
- Ciscoルータ パスワードリカバリ
- Catalystスイッチのパスワードリカバリ