演示并取证:理解思科的邻居发现协议(CDP)

简介:




 思科发现协议(Cisco DiscoveryProtocolCDP)是一个处于OSI七层模型中数据链路层的协议。CDP 用来获取相邻设备的协议地址及发现这些设备的平台,可为路由器的使用提供相关接口信息,是一种独立媒体协议。它运行在所有思科制造的设备上,包括路由器、交换机或其它网络设备,因为它是思科的私有协议,所以那些非思科的设备不能使用CDP协议。

   CDP协议分为CDPv1CDPv2两个版本。Cisco路由器12.03T或以上的IOS版本支持CDPv2,在10.312.03T版本的IOSCDPv1默认是开启的。当Cisco设备启动时,CDP协议便自动地开始检测其他运行CDP协议的邻居设备。通过CDP协议,用户能得到相关联的路由器名、路由器端口信息、IOS 版本信息、IOS平台信息、硬件版本信息及相关的链路信息,从而描述出整个网络的拓扑情况。如9.31所示,CDP协议将自己设备的MAC地址作为源地址,通过一个固定的目标MAC01000CCCCCCC的多播MAC地址发送自身设备的厂商IDIOS平台信息、硬件版本、端口信息、设备名称等信息给邻居设备。

123559213.png

注意:CDP是一个独立的二层协议,所以它可以独立于三层使用。换言之,就是在没有网络层连通的情况下,CDP也可以正常的工作。


演示:思科网络设备上CDP的配置


演示目标:思科CDP协议的启动与关闭,使用它完成邻居发现。

演示环境:如下9.32所示。

123650953.png

演示背景:在不配置第三层地址的情况下,

演示步骤:在上述演示环境中的交换机S1、S2、路由器R1上启动CDP协议(默认它就是启动的),不要为三台网络设备配置任何三层IP信息,然后查看CDP的运行状态,邻居状态,并取证CDP协议的数据帧,最后禁用CDP协议。


第一步:思科的设备默认情况下是启动CDP邻居发现协议,只要在网络设备上激活物理接口,它便开始工作,关于启动网络设备的物理接口配置如下:



CDP工作前提是所有网络设备的物理接口被激活:

S1(config)#interfacefastEthernet 0/1

S1(config-if)#noshutdown

S2(config)#interfacefastEthernet 0/1

S2(config-if)#noshutdown

R1(config)#interface e1/0

R1(config-if)#no shutdown

R1(config)#interface e1/1

R1(config-if)#no shutdown



第二步当完成上述配置后路由器R1上立即出现如下图9.33所示的提示消息,指示CDP发现双工不匹配现象,出现这种现象的原因是路由器的以太网接口是10MB半双工的接口,交换机是100MB快速以太网全双工接口,由于它们连接后,物理接口被激活,这个现实被CDP协议发现,所以给出如下提示,关于这种解释的证据可参看如下图9.34所示的关于路由器与交换机上发出在CDP协议数据帧的双工模式部分。注意,虽然CDP报告双工不匹配,但是对它们之间的正常通信并没有过多影响,所以可以通过在路由器或者交换机的全局模式下执行no cdp run来禁用CDP协议,设备就不会再报告双工不匹配的提示了,但是现在还不能禁用,因为还需要完成CDP其它的相关实验,我们将在演示的最后一步来禁用CDP协议。


123806253.png

  第三步:现在到路由器R1上通过指令show cdp neighbor来查看CDP的邻居状态,如下图9.35所示,路由器R1通过CDP协议成功的发现了邻居交换机S1和S2,其中每个字段的意义如下所示:

nDevice ID:设备ID指示邻居设备的主机名。

nLocal Intrfce本地接口指示邻居设备连接当前设备的接口。

nHoldtme保持时间指示在CDP邻居表中的邻居表项,能在表中的存活的时间,默认情况下,它是CDP间隔发送时间的3倍;但事实上,只要两个相邻设备的物理线路没有问题,相应的表项就不会消失,因为邻居设备的CDP消息每间隔60秒就会发送一次。

nCapability:指示连接的设备类型与支持的功能,R表示路由器;S表示交换机;I表示具备IGMP功能。

nPlatform:指示连接设备的具体型号,在该演示环境中指示路由器R1连接的是两台3640

nPort ID:指示邻居设备使用它本地的具体哪个接口与自己相连。

123857648.png

第四步:从上的过程可以看出,路由器R1与交换机S1和S2都没有配置第三层的IP地址,它们的CDP协议完全能正常运行,那是因为思科的CDP协议是一个独立于网络层的二层协议,该协议的一个初衷就是在网络层通信失败后,仍然可以发现邻居设备及相关的硬件参数。可以通过在路由器R1上执行show cdp 指令查看CDP协议的全局信息,如下图9.36所示,指示CDP的发送间隔为60秒;保持时间为180秒,正在使用CDP的2号版本。如果需要查看邻居更详细的信息,可在路由器R1上执行show cdp neighbor detail指令来查看邻居的详细信息,它比showcdp neighbor显示的信息更详细,其中包括了设备IOS软件的版本、VTP管理域、CDP版本、双工模式,如下图9.37所示。

123938427.png

124010859.png

第五步:现在来取证一个CDP协议的数据帧如下图9.38所示,从该数据帧中包括了固定的目标组播MAC地址,源MAC为CDP消息的发送设备的MAC地址。还包括了该设备的其它硬件与IOS软件信息。

124108207.png

第六步:在交换机S1上查看CDP的邻居信息,如下9.39所示,交换机S1只能看到它的直连邻居路由器R1,不能看到路由器R1后面的交换机S2CDP邻居信息,因为CDP协议只能发现直连邻居设备,不能实现传递性,所以在应用CDP时必须注意这一点。

124221248.png

第七步:当不需要运行CDP协议时,可以禁用网络设备上的CDP协议,禁用CDP协议分为两个层面的禁用;一是全局禁用,二是禁用某个网络接口的CDP功能;当全局禁用CDP时,网络设备所有接口的CDP功能将被禁用,如果是禁用某个网络接口的CDP功能,那么CDP只在该接口上禁用,其它没有禁用的CDP接口不受影响,关于该协议的禁用如下所示:


进行全局CDP功能的禁用:

R1(config)#no cdp run

在某个接口上禁用CDP功能:

R1(config)#interface e1/0

R1(config-if)#no cdp enable



本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1316184,如需转载请自行联系原作者

相关文章
|
网络虚拟化 网络架构
思科三层交换机配置步骤
思科三层交换机配置步骤
731 6
思科三层交换机配置步骤
|
前端开发 网络架构 iOS开发
闲谈思科交换机与路由器的架构及流程
本文将主要为大家介绍思科交换机与路由器的硬件架构以及启动流程方面的知识。 一、路由器的硬件架构 1、计算系统-----CPU 2、电源系统 3、接口系统 4、存储系统 Flash:硬盘,存放iOS RAM:内存 ROM:只读存储器 NVROM:非易失性存储器,存放配置文件即命令 说...
1580 0
|
内存技术 数据安全/隐私保护