国宝级干货:思科互联网管理——使用思科发现协议
使用思科发现协议
CDP ( Císco Discovery Protocol ,思科发现协议)是由思科设计的专用协议,它可以帮助管理员收集关于本地附件和远程连接设备的相关信息。通过CDP,我们可以获取相邻设备上的硬件和协议信息, 这些信息可用于排除故障和记录网络信息。
01
获取 CDP 定时器和保持时间的相关信息
命令show cdp(可简写为 sh cdp) 提供了与两个CDP全局参数相关的信息,这两个参数都可以配置在思科设备上:
CDP 定时器,描述由所有活动接口将CDP分组发送出。
CDP 保持时间,描述接收自相邻设备的CDP分组应被当前设备保持的时间长度。
思科路由器和思科交换机都使用相同的参数。
下面给出了Corp路由器的CDP输出:
在路由器上我们可以使用全局命令 cdp ho1dtime cdp timer 配置 CDP 保持时间和定时器:
在路由器的全局配置模式下,我们可以使用 no cdp run 命令彻底地关闭 CDP。如果要在路由器的某个接口上关闭或打开CDP,我们可以使用no cdp enable cdp enable命令。
02
收集邻居信息
命令 show cdp nei ghbor (可简写为 sh cdp nei )用于显示直接相连设备的相关信息。记住CDP的分组是不会被思科交换机转发的,因此CDP只能获取直接相连接设备上的相关信息。这就是说,如果路由器连接有一台交换机,那么位于交换机后面的那些设备上的信息就都不能通过CDP获取。
下面是在 Corp 2811 路由器上使用 show cdp neighbor 命令后显示的输出内容:
这里,我们使用控制台电缆直接连接Corp路由器,此路由器与另外 个设备直接相连。我们到R1路由器建立了两个连接。Device ID(设备 ID)给出的是所连接设备的主机名, Local Inter face(本地接口)给出的是我们的接口,而 Port ID(端口 ID) 则是直接相连的远程设备上的接口。我们所能看到的内容都是与我们直接相连设备的。
表7-5 汇总了show cdp neighbor命令所能显示的设备信息。
注意:仔细查看show cdp ner ghbors命令的输出结采,并从中了解相邻的设备属 性(即产品性能,比如交换机或路由器的性能)、型号(即乎台)、设备的连接端口 (指本地端口),以及相邻设备上的连接端口(即Port ID) ,这些都很重要。
另一个用于显示相邻设备信息的命令是 show cdp neighbor detail(可简写为 show cdp nei de)。此命令在路由器或交换机上都可运行,它将给出与运行命令的设备相连的每一台设备的详细信息。下面给出了路由器输出示例:
从上面的输出中我们可以了解些什么?首先,我们可以得到所有直接相连设备的主机名和IP址。除了可以提供与show cdp nei ghbor命令(参见表 7-5 )相同的内容外,命令show cdp nei ghbor detail还将提供相邻设备上的IOS版本信息。
注意:记住在此只能查看直接相连的设备的 IP 地址。
命令 show cdp entry *和命令 show cdp neighbors detail 提供同样的信息。下面就是路由器运行 show cdp entry *命令得到的输出示例:
命令 show cdp neighbors detail show cdp entry *之间并不存在任何不同。但是,命令 show cdp entry *提供了两个专用选项,而命令 show cdp neighbors detail 则没有:
由上丽的输出可以看出,命令 show cdp entry * protocols 仅可以显示出每个直接相连的设 备的 地址。命令 show cdp entry * version 将只负责给出每个直接相连的设备上运行的IOS本信息,具体输出内容如下:
尽管show cdp nei ghbors detai show cdp entry两个命令非常相似,但命令 show cdp entry 只允许将每个直接相连设备的信息显示在一行内,而命令show cdp neighbor detail 则不然。接 下来,我们介绍一下show cdp traffic命令。
03
获取接口上的流量信息
命令show cdp traffic可用于显示有关接口流量的信息,包括发送和接收到的 CDP 分组的数量,以及CDP错误。下面给出了在Corp路由器上使用show cdp traffic 命令后的输出:
可见,与路由器上的其他信息相比这些信息并不是最重要的,但它提供了一个设备已经发送和接收CDP分组的数量。
04
获取端口和接口的相关信息
命令 show cdp i nterface (简写为 sh cdp i nter) 可用于显示路由器接口;或交换机端口上的 CDP 状态。
正如前面介绍的,我们可以在路由器上使用 no cdp run 命令完全关闭 CDP。但是需要注意的是, 我们也可以用no cdp enab 1命令基于每个接口关闭 CDP。要启用端口上的CDP,我们可以使用 cdp enable 命令。在默认状态下,所有端口和接口的 CDP都是cdp enable的。
在路由器上,命令 show cdp interface 可以显示每个使用 CDP的接口的信息,包括每个接口上的线路封装类型、定时器以及保持时间。下面就是一个在 ISR 路由器上运行此命令的输出示例:
由于这个命令总能给出接口的工作状态,因此这里输出内容会经常被用到。如果需要将路由器上某个接口的CDP关闭,我们可以在接口配置模式下使用 no cdp enable 命令:
注意,上面的输出没有给出有关串口 0/0/0 的信息。要想获得有关串口 0/0/0 的信息,我们就必须 在串口 0/0/0 上执行 cdp enable 命令,这样在随后的输出中才会看到有关串口的内容:
05
真实案例
CDP能帮助拯救生命!
Karen 刚刚受聘于得克萨斯州达拉斯市的一家大医院,出任首席网络顾问。医院希望她能够应对网络中出现的任何问题。但真正的压力并不在这里,她唯一担忧的是网络的瘫痪会直接影响人们的康复治疗。这将关系到病人的生与死.!
开始时Karen 的工作很顺利,但不久网络出现了一些问题。为了排除网络故障,她向一名助 理管理员索要网络连接圈。这个人却告诉她,前任的首席管理员(刚刚被解聘)带走了网络连接图,而现在没有人能再找回这些连接图!
医生们每隔几分钟就打来电话.因为网络不能为他们提供治疗病人所需要的信息。那么她现 在该怎么办?
这时CDP可以大显身手了!感谢上帝,这家医院所使用的路由器和交换机全部都是思科的, 并且在所有思科设备上CDP都是默认开启的。此外,值得庆幸的是那个刚刚被解聘的心怀不满 的管理员并没在离开医院之前关闭任一设备上的CDP。
Karen此时所能做的就是通过 show cdp neighbor detail 命令找出每个设备的信息,并据 此绘制出医院的网络连接图,从而帮助拯救生命!
接下来令人困扰,的主要问题将是网络中所有设备的访问密码。最好的方式就是找回密码,否 则就只能在设备上进行密码恢复了。所以,使用CDP吧,它在某些特定的情况下,能够帮助我们拯教某些人的生命!
这是一个真实的故事。
06
使用 CDP 记录网络拓扑结构
下面讨论如何使用CDP记录一个示例网络。我们将介绍如何只使CDP命令和 show running-config 命令确定特定的路由器类型、接口类型以及不同接口IP的地址,而记录下面的网络只需要以控制台方式连接Lab_A路由器,并且在每个区域中用下一个可用IP为每个远程路由器指定地址。图7-2中给出了用于完成记录的网络。
在图7-2中,我们可以看到所连接的路由器有4个接口:两个快速以太网接口和两个串行接口。首先,我们可以使用show running-config命令确定每个接口的IP地址:
随着这一步的完成,路由器Lab个接口的IP地址便可被记录下来。接着,我们需要 确定与这些接口相连的另一端的设备类型。这也非常容易一一只需要使用 show cdp neighbors 命令:
现在我们已经获得了大量的信息!同时使用show running-config show cdp neighbors命令,我们已经了解到Lab_A路由器的所有 IP 地址、每个 Lab路由器相连接的远程路由器的类型 以及所有这些远程路由器的接口现在根据 show running-config show cdp neighbors 命令提供的所有信息,我们就可以创建这个网络的拓扑图,如图7-3所示。
如果需要,我们也可以使用 show cdp nei ghbors detai 命令查看相邻设备的地址。但是由于已经掌握了Lab路由器在每个链路上的地址,那么下一个可用的IP地址也就可以推算出来。
链路层发现协议
在结束CDP内容之前,我们还需要讨论一个非专属的发现协议,它是一个可以运行在多厂商网络环境中的、用于与CDP提供几乎相同信息的协议。
IEEE因为站和媒体的访问控制连接发现( Station and Media Access Control Connectivity Dis very ) 创建了一个新的标准化发现协议一802.1AB。我们将之称为 LLDP (Link Layer Discovery Protocol , 链路层发现协议)。
LLDP 定义了基本的发现能力,但也增强了专门针对语音的应用,而这个版本称为LLDP-MED( Media Endpoint Discovery ,媒体端点发现LLDP LLDP-MED 并不相互兼容。