目标

思科发现协议(CDP)是思科设备用于与其他连接的思科设备共享设备信息的协议。这包括设备类型、固件版本、IP地址、序列号和其他标识信息。CDP设置可以全局调整，也可以在交换机的单个端口上进行调整。

与链路层发现协议(LLDP)类似，CDP是一种链路层协议，用于直连邻居相互通告自身及其功能。但是，与LLDP不同，CDP是Cisco专有协议。

本文提供有关如何通过命令行界面(CLI)在交换机上配置CDP设置的说明，该界面涵盖以下工作流程：

1. 配置CDP全局属性。

2. 在接口上配置CDP设置。

3. （可选）如果Auto Smartport用于检测CDP设备的功能，请在Smartport属性上配置CDP设置。如需指导，请点击这里。

4. 显示或清除CDP设置

如果希望使用图形用户界面(GUI)配置CDP设置，请单击此处。

适用设备

- Sx350 系列

- SG350X 系列

- Sx500系列

- Sx550X 系列

软件版本

- 2.3.0.130

配置CDP属性

配置CDP全局属性

步骤1.登录交换机控制台。默认用户名和密码为cisco/cisco。如果已配置新的用户名或密码，请改为输入凭证。

注意：要了解如何通过SSH或Telnet访问SMB交换机CLI，请单击此处。

注意：命令可能因交换机的确切型号而异。在本例中，SG350X交换机通过Telnet访问。建议使用SSH。

步骤2.在交换机的特权执行模式下，输入以下命令进入全局配置模式：

SG350X#配置

步骤3.要在交换机上全局启用CDP，请输入以下命令：

SG350X(config)#cdp run

注意：默认情况下，CDP处于启用状态。

步骤4.（可选）要指定全局禁用CDP时CDP数据包处理，请输入以下命令：

SG350X(config)#cdp pdu [过滤 |桥接 |泛洪]

选项有：

- filtering — 指定当CDP全局禁用时，CDP数据包将被过滤或删除。

- bridging — 指定当CDP全局禁用时，CDP数据包作为常规数据包桥接，并基于虚拟局域网(VLAN)转发。

- flooding — 指定当CDP全局禁用时，CDP数据包将泛洪到产品中处于STP转发状态的所有端口，而忽略VLAN过滤规则。

步骤5.要使设备能够在启用CDP且是语音VLAN成员的所有端口上通告CDP中的语音VLAN，请输入以下命令：

SG350X(config)#cdp appliance-tlv enable

注意：这将启用设备TLV的发送。

步骤6.要验证所有必需（根据CDP协议）TLV是否都存在于收到的CDP帧中，请输入以下命令：

SG350X(config)#cdp mandatory-tlvs验证

注意：如果启用，则不包含强制TLV的传入CDP数据包将被丢弃，无效错误计数器将递增。这将删除不包含所有必需TLV的CDP数据包。

步骤7.要指定传输的CDP数据包的第2版，请输入以下命令：

SG350X(config)#cdp advertise-v2

注意：在本例中，使用版本2。

步骤8.要在发送的CDP消息中指定生存时间(TTL)值，请输入以下命令：

SG350X(config)#cdp holdtime [seconds]

- seconds — 生存时间保持时间的值（以秒为单位）。该值应大于传输计时器的值。

注意：这是CDP数据包在丢弃数据包之前保持的时间量，以TLV通告间隔的倍数来衡量。例如，如果TLV通告间隔为30秒，保持乘数为4，则CDP数据包在120秒后被丢弃。默认值为 180 秒。在本例中，TTL设置为240秒。

步骤9.要指定CDP数据包的传输频率，请输入以下命令：

SG350X(config)#cdp计时器[秒]

- seconds — 传输计时器的值（以秒为单位）。值应小于TTL的值。

注意：这是发送CDP通告更新的速率（以秒为单位）。默认值为 60 秒。在本例中，计时器设置为120秒。

步骤10.要指定设备ID TLV的格式，请输入以下命令：

SG350X(config)#cdp device-id格式[mac |序列号 |主机名]

- mac — 指定设备ID TLV包含设备的MAC地址。

- serial-number — 指定Device-ID TLV包含设备的硬件序列号。

- hostname — 指定Device-ID TLV包含设备的主机名。

注意：在本例中，设备ID TLV应具有设备的MAC地址。

步骤11.要指定用于选择源IP地址的CDP源端口，请输入以下命令：

SG350X(config)#cdp source-interface [interface-id]

- interface-id — 用于选择源IP地址的源端口。此IP地址将用于帧的TLV。

注意：这将指定一个接口，其最小IP地址将在TLV中通告，而不是在传出接口的最小IP地址中通告。

在接口上配置CDP设置

步骤12.在全局配置模式下，输入以下命令进入接口配置情景：

SG350X(config)#interface [interface-id]

- interface-id — 指定以太网端口ID。

步骤13.要在接口上启用CDP，请输入以下命令：

SG350X(config-if)#cdp enable

注意：默认情况下，CDP处于启用状态。

步骤14.（可选）要启用验证CDP数据包中接收的端口的VoIP状态是否与其实际配置匹配，并且如果不匹配，请输入以下信息：

SG350X(config-if)#cdp log mismatch voip

注意：启用后，当检测到语音VLAN不匹配时，将发送SYSLOG消息。这意味着传入帧中的语音VLAN信息与本地设备通告的内容不匹配。默认情况下，此功能已启用。

步骤15.（可选）要启用验证CDP数据包中收到的本征VLAN是否与端口的实际本征VLAN匹配，并生成SYSLOG VLAN本征不匹配消息（如果不匹配），请输入以下命令：

SG350X(config-if)#cdp log mismatch native

注意：启用后，当检测到本征VLAN不匹配时，将发送SYSLOG消息。这意味着传入帧中的本征VLAN信息与本地设备通告的内容不匹配。默认情况下，此功能已启用。

步骤16.（可选）要启用验证CDP数据包中接收端口的双工状态是否与端口的实际配置匹配以及如果不匹配的SYSLOG双工不匹配消息的生成，请输入以下命令：

SG350X(config-if)#cdp log mismatch duplex

注意：启用后，当双工信息不匹配时，将发送SYSLOG消息。这意味着传入帧中的双工信息与本地设备通告的双工信息不匹配。默认情况下，此功能已启用。

步骤17.输入end命令返回特权执行模式：

SG350X(config-if)#结束

您现在应该已通过CLI成功配置交换机上的CDP设置。

显示或清除CDP设置

步骤1.要显示交换机上的全局CDP信息，请输入以下命令：

SG350X#show cdp

注意：在本例中，将显示交换机上配置的CDP设置的一般信息。

步骤2.（可选）要显示有关特定邻居的信息，请输入以下信息：

SG350X#show cdp entry [* |设备名称] [协议 |版本]

选项有：

- * — 指定所有邻居。

- device-name — 指定邻居的名称。

- protocol — 将显示限制为有关邻居上启用的协议的信息。

- version — 将显示限制为有关邻居上运行的软件版本的信息。

注意：在本例中，显示所有邻居的CDP信息。

步骤3.要显示有关启用CDP的端口的信息，请输入以下命令：

SG350X#show cdp interface [interface-id]

- interface-id — 指定以太网端口ID。

注意：在本示例中，显示端口ge1/0/2上的CDP设置。

步骤4.要显示有关保存在主缓存或辅助缓存中的邻居的信息，请输入以下命令：

SG350X#show cdp neighbors [interface-id] [detail |辅助]

- interface-id — 显示连接到此端口的邻居。

- detail — 显示主缓存中邻居（或邻居）的详细信息，包括网络地址、启用的协议、保持时间和软件版本。

- secondary — 显示有关辅助缓存中邻居的信息。

注意：在本例中，显示了有关辅助缓存中邻居的信息。

步骤5.（可选）要显示CDP计数器，包括发送和接收的数据包数和校验和错误，请输入以下命令：

SG350X#show cdp tlv [interface-id]

- interface-id — （可选）指定以太网端口ID。

注意：在本示例中，显示接口ge1/0/1的CDP计数器。

步骤6.要显示CDP计数器，包括发送和接收的数据包数和校验和错误，请输入以下命令：

SG350X#show cdp traffic [global | interface-id]

- global — 仅显示全局计数器。

- interface-id — 应显示计数器的端口。

计数器显示以下内容：

- 总数据包输出 — 本地设备发送的CDP通告数。请注意，此值是CDP第1版通告输出和CDP第2版通告输出字段的总和。

- 输入 — 本地设备接收的CDP通告数。请注意，此值是CDP第1版通告输入和CDP第2版通告输入字段的总和。

- HDR语法 — 本地设备接收的具有错误报头的CDP通告数。

- Chksum错误 — 传入CDP通告上校验和（验证）操作失败的次数。

- 无内存 — 当设备尝试组装通告数据包以进行传输并在接收时对其进行解析时，本地设备没有足够的内存将CDP通告存储在通告缓存表中的次数。

- 无效 — 收到的无效CDP通告数。

- CDP第1版通告输出 — 本地设备发送的CDP第1版通告数。

- CDP第1版通告输入 — 本地设备接收的CDP第1版通告数。

- CDP第2版通告输出 — 本地设备发送的CDP第2版通告数。

- CDP第2版通告输入 — 本地设备接收的CDP第2版通告数。

注意：在本示例中，显示了有关全局CDP流量的详细信息。

步骤7.（可选）要将CDP流量计数器重置为0，请输入以下命令：

SG350X#清除cdp计数器[全局 | interface-id]

- global — 仅清除全局计数器。

- interface-id — 指定应清除的计数器的接口标识符。

注意：在本例中，接口ge1/0/2的CDP流量重置为零。

步骤8.（可选）要删除CDP缓存表，请输入以下命令：

SG350X#清除cdp表

步骤9.（可选）在交换机的特权EXEC模式下，输入以下命令将配置的设置保存到启动配置文件：

SG350X#copy running-config startup-config

第10步。（可选）在“覆盖文件[启动配置]...”之后，在键盘上按Y表示“是”或按N表示“否”，然后按N表示“否”。.提示符。

现在，您应该已通过CLI显示或清除交换机上的CDP配置设置。

查看与本文相关的视频……

单击此处查看思科提供的其他技术讲座