第 2 章 乙太網路與交換器運作

CDP 與 LLDP:問設備「你旁邊接了誰」

接手一個沒有文件的機房時,這兩個指令能讓你在半小時內畫出整張拓樸圖。

11 分鐘


鄰居發現協定(Layer 2 discovery protocol)讓設備定期向直連的鄰居廣播自己的身分:我是誰、什麼型號、跑什麼版本、你接在我的哪個埠上。CCNA 考綱明列這一項,而且實務上極度好用。

比較CDPLLDP
全名Cisco Discovery ProtocolLink Layer Discovery Protocol
歸屬Cisco 專有IEEE 802.1AB 開放標準
預設狀態啟用停用
預設通告間隔60 秒30 秒
預設保留時間180 秒120 秒
跨廠商

CDP 常用指令

從鄰居摘要開始,需要細節再看單一鄰居
! 一眼看完所有鄰居 —— 排錯時最常用的一行
SW1# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone

Device ID    Local Intrfce   Holdtme   Capability  Platform   Port ID
R1           Gig 0/1         166         R S I     C2911      Gig 0/0
SW2          Gig 0/2         143          S I      WS-C2960   Gig 0/1
IP-Phone-42  Fas 0/5         151          H P      IP Phone   Port 1

! 要看鄰居的 IP 與 IOS 版本,加 detail
SW1# show cdp neighbors detail
Device ID: R1
  Entry address(es):
    IP address: 10.1.1.1
  Platform: cisco C2911,  Capabilities: Router Switch IGMP
  Interface: GigabitEthernet0/1,  Port ID (outgoing port): GigabitEthernet0/0
  Version: Cisco IOS Software, C2900 Software, Version 15.7(3)M

! 看 CDP 自己的設定與統計
SW1# show cdp
SW1# show cdp interface gi0/1

開關與安全考量

! ---- CDP ----
SW1(config)# no cdp run              ! 全域關閉
SW1(config)# cdp run                 ! 全域開啟
SW1(config-if)# no cdp enable        ! 只關某個介面

! ---- LLDP(預設是關的,要手動開)----
SW1(config)# lldp run
SW1(config-if)# lldp transmit        ! 這個介面送出通告
SW1(config-if)# lldp receive         ! 這個介面接收通告

SW1# show lldp neighbors
SW1# show lldp neighbors detail

實驗 2-2:用鄰居發現畫出拓樸

目標:不看任何文件,只靠指令把三台設備的接線關係還原出來。

  1. 在 Packet Tracer 拉一台路由器與兩台交換器,隨意互接(自己不要記接在哪)。
  2. 所有設備設好 hostname(R1、SW1、SW2),這樣輸出才看得懂。
  3. 在 SW1 下 show cdp neighbors,記下每個鄰居接在自己的哪個埠、以及對方的哪個埠。
  4. 換到 SW2 和 R1 重複一次。
  5. 把三份輸出拼起來,畫出完整拓樸,再跟 Packet Tracer 的畫面比對。
  6. 接著在 SW1 下 no cdp run,回到 R1 看 show cdp neighbors —— 觀察 SW1 多久之後才從清單消失。
怎麼確認做對了:
拼出來的拓樸應該跟畫面一致。最後一步的重點:關閉後鄰居不會立刻消失,要等 holdtime(180 秒)過期。這解釋了為什麼排錯時看到的鄰居資訊可能已經過期 —— 設備可能三分鐘前就拔線了。

立即測驗這一節(2 題)