使用图 2 中的拓扑来检查图 1 中 show cdp neighbors 命令的输出。 请注意,R3 已收集到关于 R2 的一些详细信息,以及与 R3 快速以太网接口连接的交换机有关的一些详细信息。

CDP 是思科专有协议,在数据链路层运行。 由于 CDP 在数据链路层运行,即使不存在第 3 层连接,两台或多台思科网络设备(例如支持不同网络层协议的路由器)也可以互相获取信息。

思科设备启动时会默认启动 CDP。 CDP 会自动发现运行 CDP 的邻近思科设备,无论这些设备运行哪种第 3 层协议或协议簇。 CDP 还会与直连的 CDP 邻居交换硬件和软件设备信息。

CDP 提供每台 CDP 邻居设备的以下信息:

show cdp neighbors detail 命令会显示邻居设备的 IP 地址。 无论是否能 ping 通邻居,CDP 都会显示邻居的 IP 地址。 当两台思科路由器无法通过共享的数据链路进行路由时,此命令非常有用。 show cdp neighbors detail 命令也有助于确定某个 CDP 邻居是否存在 IP 配置错误。

对于网络发现,通常只要知道 CDP 邻居的 IP 地址就能 Telnet 到该设备。

显然,CDP 会产生安全风险。 由于某些 IOS 版本默认情况下会向外发送 CDP 通告,因此必须知道如何禁用 CDP。

要全局禁用 CDP,请使用全局配置命令 no cdp run。 要在某一接口上禁用 CDP,请使用接口命令 no cdp enable