此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍Cisco发现协议(CDP)在路由器和运行Cisco IOS®的交换机之间的行为。
CDP是思科专有的第2层协议,与介质和协议无关,在所有思科制造的设备上运行。Cisco设备将CDP通告发送到组播目的地址01-00-0c-cc-cc-cc,从每个连接的网络接口发出。这些组播数据包由思科交换机和其他支持CDP的网络设备通过其连接的网络接口接收。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。本文档适用于所有运行思科 IOS 的思科路由器和交换机。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
默认情况下,在支持子网访问协议(SNAP)报头(包括以太网、帧中继和ATM)的接口上,每60秒发送一次CDP通告。保持时间指定表中条目的生存期。也就是说,如果设备在超过保持时间的时间段内未收到任何通知,则设备信息将被丢弃(默认为180秒)。
要更改默认CDP计时器(60秒)和CDP保持时间(180秒),请分别输入cdp timer和cdp holdtime Cisco IOS配置命令。可以使用show cdp命令(显示当前设备的CDP设置)来验证更改。
Router#show cdp
Global CDP information:
Sending CDP packets every 60 seconds
Sending a holdtime value of 180 seconds
Sending CDPv2 advertisements is enabled
默认情况下,所有接口上都启用CDP。但是,有一个选项可以针对整个路由器或每个接口禁用CDP。
交换机配置 | 路由器配置 |
---|---|
Switch#show run int fa1/0/23 |
Router#show run int gi0/1 |
路由器上的接口具有dot1q子接口gi0/0.1、gi0/0.10和gi0/0.21,分别配置了VLAN 1、10和21。交换机上的接口是允许所有VLAN的中继链路。
Router#show ip int brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 10.106.68.151 YES DHCP up up
GigabitEthernet0/1 unassigned YES NVRAM up up
GigabitEthernet0/1.1 unassigned YES unset administratively down down
GigabitEthernet0/1.10 10.111.51.1 YES manual up up
GigabitEthernet0/1.21 10.111.48.1 YES manual up up
交换机将路由器显示为有效的CDP邻居,如下所示:
Switch#show cdp neighbor
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
Router Fas 1/0/23 145 R S I 3845 Gig 0/1.10
路由器上的相同命令不会显示直连交换机。
Router#show cdp neighbor
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
为CDP运行调试以帮助确定原因(debug cdp { packets |邻接 |事件})。
在缓存中找到此条目。
CDP-PA: version 2 packet sent out on GigabitEthernet0/1 --->the packet is sent out on gi0/1
CDP-PA: version 2 packet sent out on FastEthernet1/0/23
CDP-EV: No space for insertion of civic location
CDP-EV: No space (1068) for insertion of location information.
CDP-PA: Packet received from Router on interface FastEthernet1/0/23
根据以前的日志,路由器未从任何连接的接口上的交换机接收任何CDP数据包。使用dot1q封装的接口被管理性关闭。因此,当交换机发送CDP数据包时,路由器会丢弃该数据包。
注意:在路由器上,选择具有最低VLAN/dot1q封装的子接口作为传输CDP数据包的首选子接口。在交换机上,CDP流量始终优先于配置的最低VLAN。即VLAN 1始终,无法从VLAN数据库中删除。当交换机将CDP作为带标记数据包或无标记数据包发送时,CDP协议的行为会有所不同,具体取决于中继链路上配置的本征VLAN。
在交换机上,CDP流量始终优先于配置的最低VLAN。即VLAN 1始终,无法从VLAN数据库中删除。
当交换机将CDP作为带标记数据包或无标记数据包发送时,CDP协议的行为会有所不同,具体取决于中继链路上配置的本征VLAN。
Switch configuration:
interface FastEthernet1/0/1
switchport trunk encapsulation dot1q
switchport trunk native vlan 10
switchport mode trunk
end
第 1 种情况: 路由器上配置了VLAN 1的子接口处于up/up状态
interface GigabitEthernet0/1.1
encapsulation dot1Q 1
end
interface GigabitEthernet0/1.10
encapsulation dot1Q 10
ip address 10.111.51.1 255.255.255.224
end
interface GigabitEthernet0/1.21
encapsulation dot1Q 21
ip address 10.111.48.1 255.255.255.128
end
GL.S.14-3800-8#show ip int brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 10.106.68.151 YES DHCP up up
GigabitEthernet0/1 unassigned YES NVRAM up up
GigabitEthernet0/1.1 unassigned YES unset up up
GigabitEthernet0/1.10 10.111.51.1 YES manual up up
GigabitEthernet0/1.21 10.111.48.1 YES manual up up
交换机在VLAN 1上发送CDP数据包,路由器将作为标记数据包接收该数据包。路由器检查其子接口是否配置了VLAN1 dot1q封装,并且处于UP状态。如果此检查成功,则GigabitEthernet 0/1.1上的路由器将处理CDP数据包。
路由器将在编号最小的子接口上生成CDP数据包,该子接口处于up/up状态,并配置了VLAN1 dot1q封装(或最低的VLAN)。
在此场景中,路由器在gi0/1.1上发送无标记CDP数据包,这些数据包由FastEthernet1/0/23上的交换机接收。
在交换机上登录
CDP-PA:第2版数据包在FastEthernet1/0/23上发送。此条目在缓存中找到。
CDP-PA: Packet received from Router on interface FastEthernet1/0/23
路由器上的日志
CDP-PA:第2版数据包在GigabitEthernet0/1.1上发送。CDP-PA:从交换机接口GigabitEthernet0/1.1上收到的数据包。该条目在缓存中找到。
CDP-EV: Lookup for ip phone with idb= GigabitEthernet0/1.1
ip= 10.111.51.3 mac= 0021.567e.e219 platform= cisco WS-C3750-24P
在路由器上输入show cdp neighbor命令。
Switch#show cdp neighbor
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
Router Fas 1/0/23 149 R S I 3845 Gig 0/1.1
在路由器上输入show cdp neigh命令。
Router#show cdp neigh
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/1.1 158 S I WS-C3750- Fas 1/0/23
第 2 种情况:更改路由器接口上的配置,以便您没有VLAN 1的子接口
!
interface GigabitEthernet0/1.1
end
!
Router#show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 10.106.68.151 YES DHCP up up
GigabitEthernet0/0.1 unassigned YES unset up up
GigabitEthernet0/1 unassigned YES NVRAM up up
GigabitEthernet0/1.1 unassigned YES unset up up
GigabitEthernet0/1.10 10.111.51.1 YES manual up up
GigabitEthernet0/1.21 10.111.48.1 YES manual up up
分析
交换机在fa1/0/23上发送CDP标记数据包。当路由器收到数据包时,它会检查路由器上的子接口是否为VLAN 1的encapsulation dot1q配置了子接口。目前未配置子接口。
因此,路由器在主接口上收到CDP数据包。路由器在主接口上收到数据包的原因是VLAN 1处于活动状态。输入show vlan-switch命令进行确认。即使路由器没有为VLAN 1配置任何接口,仍会收到CDP数据包。
Router#show vlan-switch
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1 enet 100001 1500 - - - - - 1002 1003
1002 fddi 101002 1500 - - - - - 1 1003
1003 tr 101003 1500 1005 0 - - srb 1 1002
1004 fdnet 101004 1500 - - 1 ibm - 0 0
1005 trnet 101005 1500 - - 1 ibm - 0 0
在这种情况下,来自路由器的CDP数据包通过gi0/1发送。
在交换机上登录
CDP-PA: version 2 packet sent out on FastEthernet1/0/23
CDP-PA: Packet received from Router on interface FastEthernet1/0/23
在缓存中找到此条目。
CDP-PA: version 2 packet sent out on FastEthernet1/0/23
路由器上的日志
CDP-PA: version 2 packet sent out on GigabitEthernet0/1>
CDP-PA: Packet received from Switch on interface GigabitEthernet0/1
在缓存中找到此条目。
CDP-EV: Lookup for ip phone with idb= GigabitEthernet0/1 ip= 10.111.51.3
mac= 0021.567e.e219 platform= cisco WS-C3750-24P
在交换机上:
Switch#show cdp neighbor
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
Router Fas 1/0/23 123 R S I 3845 Gig 0/1
在路由器上:
Router#show cdp neighbor
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/1 160 S I WS-C3750- Fas 1/0/23
将封装VLAN配置为本征接口时,您会看到类似行为。
Switch configuration:
interface FastEthernet1/0/1
switchport trunk encapsulation dot1q
switchport trunk native vlan 1
switchport mode trunk
end
案例1:配置VLAN 1的接口为up/up
interface GigabitEthernet0/1.1
encapsulation dot1Q 1
end
interface GigabitEthernet0/1.10
encapsulation dot1Q 10
ip address 10.111.51.1 255.255.255.224
end
interface GigabitEthernet0/1.21
encapsulation dot1Q 21
ip address 10.111.48.1 255.255.255.128
end
当交换机向路由器发送CDP数据包时,它会发送一个无标记数据包,因为本征VLAN用于此通信。因此,路由器在配置了VLAN 1的接口上接收数据包。路由器检查其是否配置了dot1q封装VLAN 1,并且接口为up/up状态。如果此检查成功,路由器将通过该接口发送数据包。
Switch#show cdp neighbor
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
Router Fas 1/0/23 5 R S I 3845 Gig 0/1.1
Router#show cdp neighbor
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/1.1 8 S I WS-C3750- Fas 1/0/23
路由器上的日志
CDP-PA: version 2 packet sent out on GigabitEthernet0/1.1
CDP-PA: Packet received from Switch on interface GigabitEthernet0/1.1
在缓存中找不到条目。
在交换机上登录
CDP-AD: Aging entry for Router, on interface FastEthernet1/0/23
CDP-PA: Packet received from Router on interface FastEthernet1/0/23
在缓存中找不到条目。
CDP-PA: version 2 packet sent out on FastEthernet1/0/23
第 2 种情况: 配置VLAN的路由器上的接口为up/up,且两个接口均未指定本征VLAN
interface GigabitEthernet0/1.1
encapsulation dot1Q 1
end
interface GigabitEthernet0/1.10
encapsulation dot1Q 10 native
ip address 10.111.51.1 255.255.255.224
end
interface GigabitEthernet0/1.21
encapsulation dot1Q 21
ip address 10.111.48.1 255.255.255.128
end
分析
当交换机向路由器发送CDP数据包时,它会将无标记数据包发送,因为本征VLAN用于通信。路由器通过gi0/1.1接收数据包,因为它自身配置了VLAN 1。路由器检查它是配置了VLAN 1还是配置了任何其他本征VLAN。在当前情况下,接口gi0/1.10配置了native关键字。因此,路由器通过gi0/1.10子接口发送数据包。
此输出在以下场景中显示:
Switch#show cdp neighbor
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
Router Fas 1/0/23 5 R S I 3845 Gig 0/1.1
路由器上的CDP邻居结果如下所示:
Router#show cdp neighbor
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/1.10 7 S I WS-C3750- Fas 1/0/23
路由器上的日志
CDP-PA: version 2 packet sent out on GigabitEthernet0/1.10
CDP-PA: Packet received from Switch on interface GigabitEthernet0/1.1
在缓存中找不到条目。
在交换机上登录
CDP-AD: Aging entry for Router, on interface FastEthernet1/0/23
CDP-PA: Packet received from Router on interface FastEthernet1/0/23
在缓存中找不到条目。
CDP-PA:第2版数据包在FastEthernet1/0/23上发送
实例3:其它WRR加权修改 没有配置VLAN 1的接口,但两个接口都未配置native关键字
interface GigabitEthernet0/1.1
end
interface GigabitEthernet0/1.10
encapsulation dot1Q 10 native
ip address 10.111.51.1 255.255.255.224
end
interface GigabitEthernet0/1.21
encapsulation dot1Q 21
ip address 10.111.48.1 255.255.255.128
end
当交换机将数据包发送到路由器时,它会通过本征VLAN发送无标记数据包。路由器通过gi0/1接收数据包。路由器检查它是配置了VLAN 1,还是配置了任何其他本征VLAN。
此处,gi0/1.10接口配置为本地封装,因此路由器通过gi0/1.10发送数据包。
Switch#show cdp neighbor
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
Router Fas 1/0/23 156 R S I 3845 Gig 0/1
Router#sh cdp neigh
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/1.10 0 S I WS-C3750- Fas 1/0/23
路由器上的日志
CDP-PA: version 2 packet sent out on GigabitEthernet0/1.10
CDP-PA: Packet received from Switch on interface GigabitEthernet0/1
在缓存中找不到条目。
在交换机上登录
CDP-AD: Aging entry for Router, on interface FastEthernet1/0/23
CDP-PA: Packet received from Router on interface FastEthernet1/0/23
在缓存中找不到条目。
CDP-PA: version 2 packet sent out on FastEthernet1/0/23
实例4:修改队列极限缓冲区分配 路由器没有VLAN dot1q封装,并且未指定本征VLAN
interface GigabitEthernet0/1.1
end
interface GigabitEthernet0/1.10
encapsulation dot1Q 10
ip address 10.111.51.1 255.255.255.224
end
interface GigabitEthernet0/1.21
encapsulation dot1Q 21
ip address 10.111.48.1 255.255.255.128
end
当交换机将数据包发送到路由器时,它会发送未标记的CDP数据包,因为通信是通过本征VLAN的。路由器通过gi0/1接收数据包。路由器检查它是配置了VLAN 1,还是配置了任何其他本征VLAN。此处没有这样的接口,因此路由器通过gi0/1(通过主接口)发送数据包。
此输出在此场景中显示:
Switch#show cdp neighbor
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
Router Fas 1/0/23 7 R S I 3845 Gig 0/1
路由器的输出如下所示:
Router#show cdp neighbor
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/1 7 S I WS-C3750- Fas 1/0/23
路由器上的日志
CDP-PA: version 2 packet sent out on GigabitEthernet0/1
CDP-PA: Packet received from Switch on interface GigabitEthernet0/1
在缓存中找不到条目。
在交换机上登录
CDP-AD: Aging entry for Router, on interface FastEthernet1/0/23
CDP-PA: Packet received from Router on interface FastEthernet1/0/23
在缓存中找不到条目。
CDP-PA: version 2 packet sent out on FastEthernet1/0/23
摘要
路由器收到一个标记的CDP数据包:
配置了VLAN1的子接口管理性关闭/关闭。 |
路由器丢弃CDP数据包。交换机不会列为CDP邻居。 |
配置了VLAN1的子接口为UP/UP。未指定本征VLAN。 |
路由器在此子接口上发送和接收数据包。 |
路由器未配置VLAN1,并且任何子接口都配置了native关键字/不带native关键字。 |
数据包通过主接口。CDP在两个方向都有效。 |
路由器收到一个无标记CDP数据包:
配置了VLAN1的子接口管理性关闭/关闭。 |
路由器丢弃CDP数据包。交换机不会列为CDP邻居。 |
配置了VLAN1的子接口为UP/UP。未指定本征VLAN。 |
路由器在此子接口上发送和接收数据包。CDP在两个方向上都工作。 |
路由器未配置VLAN1,并且没有使用native关键字配置任何子接口。 |
路由器在主接口上接收CDP数据包,但通过配置了native关键字的子接口发送这些数据包。 |
路由器未配置VLAN1和native关键字。 |
CDP数据包通过主接口。CDP在两个方向上都工作。 |