LLDP(IEEE 802.1AB Link Layer Discovery Protocol)は、隣接機器情報を取得するプロトコルです。pingやtracerouteではnext hopのLayer3機器しか調べる事ができませんが、LLDPを使用すれば隣接したLayer2機器を調査する事ができます。CDP(Cisco Discovery Protocol)の標準規格版と思って差し支えございません。
コマンド一覧
このシナリオで重要なコマンド一覧は以下の通りです。
Switch(config)# lldp run Switch(config)# no lldp transmit Switch(config)# no lldp receive Switch(config)# lldp timer <sec> Switch(config)# lldp holdtime <sec> Switch(config)# no lldp tlv-select <tlv> Switch(config)# network-policy profile <num> Switch(config-network-policy)# voice vlan <num> [ cos <cos> | dscp <dscp> ] Switch(config-network-policy)# voice-signaling vlan <num> [ cos <cos> | dscp <dscp> ] Switch(config)# location civic-location identifier <num> Switch(config-civic)# city <city> Switch(config-civic)# state <state> Switch(config-civic)# room <room> Switch(config-if)# network-policy <num> Switch(config-if)# lldp med-tlv-select network-policy Switch(config-if)# location civic-location-id <num> Switch(config-if)# lldp med-tlv-select location
仕様説明
LLDP 有効化
以下のコマンドでLLDPを有効化する事ができます。このコマンドの投入により、全I/FでLLDP frameの送受信が行われるようになります。
Switch(config)# lldp run
LLDP インターフェース単位の設定
“lldp run”コマンドにより全インターフェースでlldpの送受信が行われるようになりますが、以下のコマンドで一部インターフェースのlldp送受信を抑制する事ができます。
Switch(config)# no lldp transmit Switch(config)# no lldp receive
LLDP タイマー変更
以下のコマンドでLLDPのhello, hold timerを変更する事ができます。
Switch(config)# lldp timer <sec> Switch(config)# lldp holdtime <sec>
TLV select
LLDPはポート番号, ホスト名等の様々な属性を含んでおります。これら属性情報は、Type, Length, Valueで構成されるためTLVと呼ばれます。まずは、どのようなTLVを含んでいるのか確認するためshowコマンドの出力を見てみましょう。TLVを全て表示するには、”show lldp neighbors detail”か”show lldp entry”コマンドを使います。
SW1#show lldp entry SW2 ------------------------------------------------ Chassis id: 04da.d279.de80 Port id: Gi0/13 Port Description: GigabitEthernet0/13 System Name: SW2 System Description: Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 12.2(55)SE7, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2013 by Cisco Systems, Inc. Compiled Mon 28-Jan-13 10:28 by prod_rel_team Time remaining: 96 seconds System Capabilities: B,R Enabled Capabilities: B Management Addresses: IP: 192.168.0.2 Auto Negotiation - supported, enabled Physical media capabilities: 1000baseT(FD) 100base-TX(FD) 100base-TX(HD) 10base-T(FD) 10base-T(HD) Media Attachment Unit type: 30 Vlan ID: 1 MED Information: MED Codes: (NP) Network Policy, (LI) Location Identification (PS) Power Source Entity, (PD) Power Device (IN) Inventory H/W revision: WS-C2960S-24TS-S (PowerPC):J0 S/W revision: 12.2(55)SE7 Manufacturer: Cisco Systems, Inc. Model: WS-C2960S-24TS-S Capabilities: NP, LI, IN Device type: Network connectivity Network Policy(Voice): Unknown Network Policy(Voice Signal): Unknown Power requirements - not advertised Location - not advertised Total entries displayed: 1 SW1#
以下のコマンドでデフォルトで有効になっているTLVを無効化できます。対向の機器に伝えたくない情報がある時に使用します。
Switch(config)# no lldp tlv-select <tlv>
LLDP-MED select
LLDP-MEDとは、Media Endpoint Deviceへ情報を伝達するためのLLDPです。Media Endpoint Deviceとは具体的にはIP phoneなどを指します。IP phoneを使用するためには、PoEやQoS等が必要になりますので、これら情報を対向の機器に伝える事ができれば、きっと便利なはずです。
対向機へ伝えるための情報を定義するために、以下のようなコマンドでプロファイルを作成します。
Switch(config)# network-policy profile <num> Switch(config-network-policy)# voice vlan <num> [ cos <cos> | dscp <dscp> ] Switch(config-network-policy)# voice-signaling vlan <num> [ cos <cos> | dscp <dscp> ] Switch(config)# location civic-location identifier <num> Switch(config-civic)# city <city> Switch(config-civic)# state <state> Switch(config-civic)# room <room>
作成したプロファイルをインターフェースに紐付けるコマンドは以下の通りです。
Switch(config-if)# network-policy <num> Switch(config-if)# lldp med-tlv-select network-policy Switch(config-if)# location civic-location-id <num> Switch(config-if)# lldp med-tlv-select location
動作確認環境
以下の構成で動作確認を行います。
+-----+ f0/13 - 15 +-----+ | +------------------+ | | SW1 +------------------+ SW2 | | +------------------+ | +-----+ f0/13 - 15 +-----+
[SW1] hostname SW1 [SW2] hostname SW2
初期設定はホスト名のみです。
LLDP
LLDP 有効化
まず初期状態を確認します。デフォルト設定ではLLDPが無効化されている事を確認します。
[SW1] SW1#show lldp % LLDP is not enabled SW1#
SW1, SW2の両側でLLDPを有効化します。
[SW1] lldp run [SW2] lldp run
“show lldp”コマンドによりLLDPが有効化された事を確認します。
[SW1] SW1#show lldp Global LLDP Information: Status: ACTIVE LLDP advertisements are sent every 30 seconds LLDP hold time advertised is 120 seconds LLDP interface reinitialisation delay is 2 seconds SW2#
30秒ほど待ち、”show lldp neighbors”コマンドにより、隣接したLayer 2 Switchを認識できるようになった事を確認します。
SW1#show lldp neighbors Capability codes: (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other Device ID Local Intf Hold-time Capability Port ID SW2 Gi0/14 120 B Gi0/14 SW2 Gi0/15 120 B Gi0/15 SW2 Gi0/13 120 B Gi0/13 Total entries displayed: 3 SW1#
LLDP インターフェース単位の設定
G0/14, G0/15のlldpを無効化します。
[SW1] interface GigabitEthernet0/14 no lldp transmit no lldp receive interface GigabitEthernet0/15 no lldp transmit no lldp receive
以下コマンドにより、G0/13のLLDPは有効になっているものの、G0/14のLLDPが無効になっている事を確認します。
[SW1] SW1#show lldp interface GigabitEthernet 0/13 GigabitEthernet0/13: Tx: enabled Rx: enabled Tx state: IDLE Rx state: WAIT FOR FRAME SW1# SW1# SW1#show lldp interface GigabitEthernet 0/14 GigabitEthernet0/14: Tx: disabled Rx: disabled Tx state: INIT Rx state: INIT SW1#
LLDP情報を削除してから30秒待ちます。LLDPによってG0/13の対抗のみを認識している事を確認します。
SW1#clear lldp table SW1#show lldp neighbors Capability codes: (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other Device ID Local Intf Hold-time Capability Port ID SW2 Gi0/13 120 B Gi0/13 Total entries displayed: 1 SW1#
LLDP タイマー変更
SW1側のLLDP timerを変更します。
[SW1] lldp timer 5 lldp holdtime 40
“debug lldp packets”により5秒毎にLLDP frameが送信されている事を確認します。
[SW1] SW1#debug lldp packets LLDP packet info debugging is on SW1# *Mar 1 00:37:38.197: LLDP advertisement packet TX'd on intf GigabitEthernet0/13 *Mar 1 00:37:43.188: LLDP advertisement packet TX'd on intf GigabitEthernet0/13 *Mar 1 00:37:48.174: LLDP advertisement packet TX'd on intf GigabitEthernet0/13 SW1#u all All possible debugging has been turned off SW1#
TLV select
SW1から見たSW2のTLVを確認します。デフォルトの状態ではVLAN IDがadvertiseされている事に着目して下さい。
[SW1] SW1#show lldp neighbors detail ------------------------------------------------ Chassis id: 04da.d279.de80 Port id: Gi0/13 Port Description: GigabitEthernet0/13 System Name: SW2 System Description: Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 12.2(55)SE7, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2013 by Cisco Systems, Inc. Compiled Mon 28-Jan-13 10:28 by prod_rel_team Time remaining: 96 seconds System Capabilities: B,R Enabled Capabilities: B Management Addresses: IP: 192.168.0.2 Auto Negotiation - supported, enabled Physical media capabilities: 1000baseT(FD) 100base-TX(FD) 100base-TX(HD) 10base-T(FD) 10base-T(HD) Media Attachment Unit type: 30 Vlan ID: 1 <omitted>
SW2側でVLAN IDのadvertiseを抑制します。
no lldp tlv-select port-vlan
SW1から見たSW2のTLVを確認します。VLAN IDが”not advertised”に変わった事を確認します。
[SW1] SW1#show lldp entry SW2 Capability codes: (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other ------------------------------------------------ Chassis id: 04da.d279.de80 Port id: Gi0/13 Port Description: GigabitEthernet0/13 System Name: SW2 System Description: Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version 12.2(55)SE7, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2013 by Cisco Systems, Inc. Compiled Mon 28-Jan-13 10:28 by prod_rel_team Time remaining: 113 seconds System Capabilities: B,R Enabled Capabilities: B Management Addresses: IP: 192.168.0.2 Auto Negotiation - supported, enabled Physical media capabilities: 1000baseT(FD) 100base-TX(FD) 100base-TX(HD) 10base-T(FD) 10base-T(HD) Media Attachment Unit type: 30 Vlan ID: - not advertised <omitted>
LLDP-MED select
SW2から見たSW1のTLVを確認します。Network Policiesが”not advertised”になっている事を覚えておいて下さい。
[SW2] SW2#show lldp neighbors detail <omitted> MED Information: MED Codes: (NP) Network Policy, (LI) Location Identification (PS) Power Source Entity, (PD) Power Device (IN) Inventory H/W revision: WS-C2960S-24TS-S (PowerPC):J0 S/W revision: 12.2(55)SE7 Manufacturer: Cisco Systems, Inc. Model: WS-C2960S-24TS-S Capabilities: NP, LI, IN Device type: Network connectivity Network Policies - not advertised Power requirements - not advertised Location - not advertised Total entries displayed: 1 SW2#
SW1に以下のようなネットワークポリシーを作成し、LLDPによってSW2へadvertiseします。
[SW2] network-policy 1 voice vlan dot1p dscp 34 ! interface GigabitEthernet0/13 network-policy profile 1 lldp med-tlv-select network-policy
SW2から見たSW1のTLVを確認します。Network PoliciesにDSCPなどがセットされている事を確認します。
[SW2] SW2#show lldp neighbors detail <omitted> MED Information: MED Codes: (NP) Network Policy, (LI) Location Identification (PS) Power Source Entity, (PD) Power Device (IN) Inventory H/W revision: WS-C2960S-24TS-S (PowerPC):J0 S/W revision: 12.2(55)SE7 Manufacturer: Cisco Systems, Inc. Model: WS-C2960S-24TS-S Capabilities: NP, LI, IN Device type: Network connectivity Network Policy(Voice): VLAN dot1p, tagged, Layer-2 priority: 1, DSCP: 46 Power requirements - not advertised Location - not advertised Total entries displayed: 1 SW2#