在网络中,您希望有一个清晰的地图来了解设备之间的互连。然而,我们并不是一直都有地图。或者,如果我们拥有它,它也不是 100% 最新的。因此,我们需要找到一种替代方法来了解设备之间的互连。幸运的是,Cisco 来帮助我们使用CDP – Cisco 发现协议。通过这个简单而强大的协议,我们可以在我们处理它的过程中最终发现网络拓扑。

本文附带 Cisco Packet Tracer 实验室,您可以使用以下链接免费下载。要从本文的内容中获得最大收益,请立即下载该实验室,然后在阅读本文时按照它进行操作。

下载后,继续阅读已经打开的实验室。

CDP 和 LLDP 实验室介绍

拓扑

CDP 和 LLDP 是两个允许您发现网络拓扑的协议。因此,作为本实验的一部分,您将不得不发现一些网络拓扑,因此我们不会在此处展示。因此,我们在云中有一个隐藏的拓扑部分。

除了三个交换机之外,网络的其余部分都是隐藏的,无法被发现。

从拓扑结构中可以看出,我们将三台交换机连接在一起,其中一台连接到云。我们将使用这些交换机来调整 CDP 和 LLDP 行为,然后我们将使用 telnet 来探索云。

要求

我们将这个实验室分为两部分。首先,我们将在我们可以看到的三个交换机上配置和调整 CDP(思科发现协议)和 LLDP(链路层发现协议)。这就是我们要做的所有配置。然后我们将不得不使用我们配置的协议以及 telnet 来发现云中的其他设备并连接到它们。这里我们有配置要求

  • 接入交换机必须在接入端口 ( Fa0/1 - 24)上禁用 CDP
  • 分布交换机必须同时运行 CDP 和 LLDP

对于本实验的发现部分,我建议您写一张表格。使用以下列:主机名IP 地址设备类型(交换机或路由器)。随着我们进行发现,您将填充它。此外,您还必须绘制我们发现的网络拓扑。这意味着您将绘制交换机和路由器,以及将它们互连的链接。因此,准备一张纸。

类型 密码
VTY 密码 cisco
启用密码 cisco

设备的访问凭证。

在我们深入配置和探索之前,我们应该先谈谈这些协议的工作原理。这就是下一节的内容。

关于 CDP 和 LLDP 的一些理论

什么是 CDP 和 LLDP?

CDP 和 LLDP 都是可以在 IEEE 802 环境(以太网)中运行的邻居发现协议。两种协议几乎完全相同地做同样的事情,主要区别在于供应商。CDP 是 Cisco 专有协议,而 LLDP 是开放标准协议。事实上,CDP 代表思科发现协议,而 LLDP 代表链路层发现协议。同样,两者的工作方式完全相同。

邻居发现协议使用一个简单而强大的概念。设备会发布有关自身的信息并侦听来自其他设备的信息。这些协议是完全无状态的,因此我们没有任何会话建立或丢失数据包的重传。相反,每个设备总是周期性地发送相同的信息。如果您错过了它们,我们将不得不等待下一个。设备将其主机名、管理 IP 地址(在 CDP 中)、功能(它是路由器、交换机还是其他什么?)及其软件版本通知其他设备。

有趣的是,邻居发现消息不会被转发——不在第 2 层或第 3 层。这意味着接收 CDP 消息的交换机不会将其发送给其他任何人,而是会为自己保留。这是由于这些协议的目的:找出直接连接的邻居。因此,任何通过 CDP 或 LLDP 发现的邻居都直接连接到我们的设备,中间没有中间设备。请注意,这不包括无源设备,例如集线器或接线板。设备会将它们收到的消息存储在它们的 CDP/LLDP 表中。

除了被网络管理员用来发现拓扑之外,CDP 和 LLDP 还有另一个用途。IP 电话利用这两种协议找出为 VoIP 和其他信息保留的 VLAN。

Cisco 设备上的 CDP 和 LLDP

世界上几乎所有 Cisco 设备都将原生支持CDP。在这些设备中,CDP 已经在全局启用,并将在所有设备的接口上发送和侦听消息。大多数 Cisco 设备还将支持 LLDP,因为这允许它们与其他供应商进行互操作。但是,在这些设备中,默认情况下 LLDP 处于关闭状态。与 CDP 相比,LLDP 是一个非常强大的工具,因为您可以指定要发送到其他设备的信息片段。这超出了本文的范围,甚至在 Packet Tracer 中也不支持。尽管如此,我们可以(并且将会)单独打开接口上消息的传输和接收。这对于 CDP 来说是不可能的,其中传输和接收被视为同一项目。

下表显示了我们将在此配置中使用的命令。

命令 描述
Device(config)#cdp run 全局开启 CDP(默认开启)
Device(config)#lldp run 全局开启 LLDP(默认关闭)
Device(config-if)#cdp enable 在单个接口上打开 CDP(如果您已全局禁用它)
Device(config-if)#lldp transmit 开启单接口发送LLDP报文
Device(config-if)#lldp receive 在单个接口上打开 LLDP 消息的接收

CDP 和 LLDP 配置命令。

循序渐进的 CDP/LLDP 实验室

CDP和LLDP的配置

我们必须为这个实验室配置要求。我们要做的第一件事是在接入交换机的所有接入端口上禁用 CDP。因此,我们需要连接到接入交换机(在本例中 Access1st)。为了完成这个任务,我们需要输入no cdp enable我们拥有的所有 FastEthernet 接口。下面是我们需要输入的命令。

Access1st(config)#
Access1st(config)#interface range FastEthernet 0/1 - 24
Access1st(config-if-range)#no cdp enable
Access1st(config-if-range)#exit
Access1st(config)#

对两台接入交换机执行相同操作后,我们就可以在分布交换机上打开 LLDP。这非常简单:只需连接到它并输入lldp run配置提示。之后,您将看到实验室的分数达到 100%。这是因为我们不需要配置任何其他东西。相反,从现在开始,我们将专注于设备的发现。

已知拓扑中的 Cisco 发现协议

只是为了照顾我们的第一步,我们将开始在可以在 Packet Tracer 上看到的拓扑部分中使用 CDP。即使我们在接入交换机的接入端口上禁用了 CDP,我们也会在上行链路上启用它。因此,我们希望看到分布交换机和接入交换机之间的 CDP 消息。要查看它们是否正常工作,我们需要检查我们的分布交换机的 CDP 表。我们通过键入来做到这一点show cdp neighbors

这是分布交换机上 CDP 邻居表的内容。

这个命令的输出非常简单,但还是让我们分解一下。

  • 设备 ID - 此字段表示邻居的主机名
  • 本地接口——我们收到广告的当前设备(在本例中为配电交换机)上的接口
  • Holdtime – 从表中删除这个邻居之前的秒数,每次我们收到来自这个邻居的广告时,它都会重新设置为 180
  • Capability – 远程设备的能力,参考命令中的图例
  • 平台– 远程设备的设备模型(在本例中,我们有两个 Catalyst 2960)
  • 端口 ID – 广告/消息发起的远程设备上的接口

基于此,我们知道 Distribution 的 FastEthernet 0/1 连接到 Access1st 上的 GigabitEthernet 0/1。我们可以将其添加到我们的拓扑图中。

LLDP 发现

如果您查看之前的输出,您会发现缺少某些内容。事实上,分布交换机正确地看到了两个接入交换机,但它没有看到其他任何东西。但是,我们清楚地看到一条电缆进入云端:缺少邻居。这是因为那个邻居没有和我们一起运行 CDP,所以我们需要检查LLDP 邻居表。该命令是show lldp neighbors.

这是 LLDP 表的内容。

注意:如果您看到同一设备的多个条目,这可能是由于 Packet Tracer 错误。

此命令的输出与 CDP 的输出完全相同,我们不再赘述。相反,我们可以将 WestRouter 添加到我们的拓扑图中,连接到我们的分布式交换机的 GigabitEthernet 0/1。

这是迄今为止发现的拓扑。

添加一些细节

此时,我们应该提出一个问题:我们如何连接到该 WestRouter 以查看它是否也有邻居?我们需要知道它的IP地址。与 CDP 不同,数据包跟踪器上的 LLDP 并没有给我们一个简单的方法。相反,我们需要使用我们在交换机故障排除文章中学到的技巧:从 MAC 检索 IP 地址。我们需要做的第一件事是检索 MAC 地址,我们可以使用show lldp neighbors details.

这些是 LLDP 邻居的详细信息,我们正在寻找 MAC 地址(突出显示)。

从图中可以看出,MAC 地址标识为Chassis ID。现在,我们需要做的就是在交换机的 ARP 表中查找该 MAC 地址。我们在上一篇文章中已经知道如何使用show ip arp命令从MAC地址中获取IP地址。因此,我们刚刚发现 WestRouter 的 IP 地址为10.0.1.1

WestRouter 的拓扑

现在是时候发现云了!从分布式交换机,telnet 到 WestRouter 发出telnet 10.0.1.1并使用ictshore密码登录。从现在开始,我们将只使用 CDP。发布show cdp neighbors以查看我们拥有的所有邻居。

这些是 WestRouter 的邻居。

如果我们继续绘制网络,我们应该创建类似的东西。

从 WestRouter,我们发现了另外两个设备。

现在,CDP 有一个惊人的扩展,让我们可以直接看到连接设备的 IP 地址。因此,我们不需要在 ARP 和 MAC 地址表中进行任何查找。相反,我们只是使用 CDP 作为发现拓扑的综合工具。我们可以通过发布来查看我们正在寻找的所有细节show cdp neighbors detail

突出显示,三个邻居的 IP 地址。

此时,我们有了需要连接的 IP 地址。该过程将是相同的:连接、检查邻居、报告图纸、收集 IP 地址、连接到邻居,然后重复。

CenterSwitch 的拓扑

如果您 telnet 到CenterSwitch,您将看到这些邻居。

CenterSwitch 上的 CDP 邻居表。

如您所见,邻居发现非常简单,而且您现在应该对此充满信心。因此,让我们继续我们的绘图(见下文)。

我们的拓扑变得更加复杂。

来自Bottom1st的拓扑

在我们连接到我们从 CenterSwitch 发现的任何其他路由器之前,我们需要记住Bottom1st。我们从 WestRouter 发现了这个开关,我们应该检查它以保持数学方法。因此,远程登录并检查邻居:预期的输出是下面的。

这些是Bottom1st 的邻居。

由于我们已经知道 WestRouter 和 SouthRouter,所以我们不需要在图中添加任何设备。但是,我们不知道Bottom1st 和SouthRouter 之间的链接,因此我们应该添加它。

这是缺失的链接。

NorthRouter、EastRouter 和 SouthRouter 的拓扑

如果您 telnet 到NorthRouter,您将看到一个邻居:CenterSwitch。我们已经知道了,所以我们应该继续研究其他设备。一旦您远程登录到下一个设备——即EastRouter,您将看到以下两个邻居。

EastRouter 的 CDP 邻居。

如果您在SouthRouter上发出相同的命令,您将再次找到 Bottom2nd。验证这一点,然后将这个新开关映射到绘图中,如下所示。

另一个设备加入我们的拓扑

来自Bottom2nd的拓扑

如果您远程登录到Bottom2nd,您会发现三个邻居:EastRouter、SouthRouter 和 IslandRouter。通过连接到 IslandRouter 并检查其邻居,您可以验证它仅连接到 Bottom2nd。因此,我们完成了拓扑。它看起来就像下面一样。

这是我们实验室的完整拓扑。

如果拓扑不够用,或者如果您想 telnet 到特定设备并再次检查其邻居,我们开发了下表,其中包含我们找到的设备列表和相关的 IP 地址。

Device IP
Access1st 10.0.1.10
Access2nd 10.0.1.11
Distribution 10.0.1.5
WestRouter 10.0.1.1, 10.0.2.1, 10.0.3.1
Bottom1st 10.0.3.2
SouthRouter 10.0.2.4, 10.0.3.3, 10.0.4.1
CenterSwitch 10.0.2.5
NorthRouter 10.0.2.2
EastRouter 10.0.2.3, 10.0.4.2
Bottom2nd 10.0.4.3
IslandRouter 10.0.4.4

本实验室中的设备。

结论

在本实验中,我们发现了两个关键协议的所有秘密:CDP 和 LLDP。除了理论之外,我们还学习了配置命令以及启用或禁用它们的方法。然而,我们在本文中学到和实践的最重要的事情是邻居发现过程。因此,您现在知道如何从头开始发现网络是如何构建的。回顾一下,这些是您需要遵循的步骤。

  1. 连接到设备
  2. 检查其邻居(在 CDP 和 LLDP 中)
  3. 在图纸上报告邻居并写下他们的 IP 地址
  4. 连接到每个邻居并重复该过程

如果您在参加 CCNA 之前正在阅读本文,这里是我们使用的命令。

  • cdp runlldp run全局打开 CDP/LLDP(或在命令前使用“no”关键字关闭)
  • cdp enable 打开每个接口的 CDP(或在命令前使用“no”关键字关闭)
  • lldp transmitlldp receive在每个接口的基础上打开 LLDP 传输或接收(或在命令前使用“no”关键字关闭)
  • show cdp neighborsshow lldp neighbors快速查看邻居列表
  • show cdp neighbors 详细了解每个邻居的IP地址

如何使用 CDP 和 LLDP 发现网络拓扑相关推荐

  1. 什么是 CDP 和 LLDP?

    CDP 和 LLDP 都是可以在 IEEE 802 环境(以太网)中运行的邻居发现协议.两种协议几乎完全相同地做同样的事情,主要区别在于供应商.CDP 是 Cisco 专有协议,而 LLDP 是开放标 ...

  2. 自动发现网络拓扑,一站式点击完成

    什么是网络拓扑?   网络拓扑(Network Topology)是特定的物理,逻辑或虚拟网络部件和设备(节点)的排列.网络拓扑仅被在节点之间的连接配置决定.节点之间的距离,物理互连,传输率,和/或信 ...

  3. 思科服务器查看生成树协议,生成树协议、CDP思科设备发现协议、SSH协议

    线路冗余->交换机成环 交换机成环导致: 1 广播风暴 2 mac地址表震荡 一个mac在一台交换机上只能对应一个接口,但一个接口可以对应多个mac 3 重复帧拷贝 生成树协议: 802.1D. ...

  4. nms网关服务器日常维护,网络拓扑自动发现-Sugarnms智能网管软件的基础

    网络拓扑自动发现java -智能网管软件的基础数据库 网络拓扑做为一种表示网络设备逻辑链接与物理链接之间关系的方法,经过它网络管理员能够很直观地掌握当前网络设备的运行情况,准肯定位网络中的故障点,并对 ...

  5. 网络拓扑自动发现-智能网管软件的基础

    网络拓扑作为一种表示网络设备逻辑连接与物理连接之间关系的方法,通过它网络管理员可以很直观地掌握当前网络设备的运行状况,准确定位网络中的故障点,并对准确分析网络中存在的问题提供基础数据,从而有针对性地优 ...

  6. 计算机网路中CDP,LLDP,STP的详解

    CDP,LLDP,STP知识详解 (1) CDP CDP(Cisco Discovery Protoco:Cisco发现协议)是Cisco专有的用来发现邻接点的协议 ,所有的Cisco产品都支持CDP ...

  7. CISCO CDP邻居发现协议

    CDP (Cisco Discovery Protocol  )邻居发现协议 CDP协议工作在数据链路层,是cisco私有的一种协议,并且和传输介质和与协议无关. 只要物理层和数据链路层正常,CDP就 ...

  8. 什么是网络拓扑?—Veclou微云

    网络拓扑是通信网络中不同网络元素的排列,通常用图形表示.它是图论的一种应用,其中将不同的网络设备建模为节点,并将设备之间的连接建模为节点之间的链接或线路. 有两种不同类型的网络拓扑: 物理--网络拓扑 ...

  9. 逻辑网络拓扑与物理网络拓扑—Vecloud微云

    什么是网络拓扑? 网络拓扑是通信网络中不同网络元素的排列,通常用图形表示. 网络拓扑是图论的一种应用,其中将不同的网络设备建模为节点,并将设备之间的连接建模为节点之间的链接或线路. 通常有两种不同类型 ...

最新文章

  1. linux yum命令详解
  2. 【ArcGIS风暴】ArcGIS解决数字化之前创建图层时未定义坐标系而导致数据跑偏的问题
  3. [设计模式]工厂方法模式
  4. cocos2d之json使用实例
  5. Quartz的集群模式和单机模式共存-让一个非集群的Quartz与集群节点并行着运行
  6. android jni示例_Android GridLayoutManager示例
  7. 调试Python的方式
  8. 有趣的视频 国外计算机课程
  9. Avoiding GREEDYDATA for logstash'grok
  10. msdia80.dll文件出现在磁盘根目录下的解决方案
  11. MoFlow:生成分子图的可逆流模型
  12. 公主同盟第3关(GBA)(难) 奥兰多西部
  13. python获取他人的ip_python - 获取访问者的IP地址
  14. PMBOK(第4版)--项目管理九大知识领域的【输入】、【工具与技术】、【输出】一览表
  15. 小学生计算机墙绘画,绘梦小学,爱心墙绘
  16. ubuntu 双显示屏设置 一个正常 一个不行的问题
  17. 4.加载FeatureLayer
  18. 存量房贷利率,一种简单估算其自然年利率调整的方法。
  19. 3.9、互斥锁(互斥量)
  20. 【SpringDataJPA从入门到精通】02-JPA API

热门文章

  1. 什么是应用程序签名,为什么要为应用程序签名
  2. 短视频自动私信视频作者的软件,实现方法与代码分享
  3. Could not initialize class org.xnio.channels.Channels异常解决
  4. Python 机器学习实战 —— 无监督学习(上)
  5. 笨办法学Python 经典Python入门书籍介绍
  6. opencv对光流法的实现(python3)
  7. WannaCry病毒应急处置
  8. 我的Android进阶之旅------(全解析)屏幕尺寸,分辨率,像素,PPI之间到底什么关系?...
  9. C++ 包容类(Contain)与内嵌类(Embed)的关系
  10. 光谱共焦位移传感器相比激光位移传感器有哪些优点