CDP和LLDP「建议收藏」

CDP和LLDP「建议收藏」CDP思科发现协议CDP概述CDP思科发现协议(CiscoDiscoveryProtocol)主要是用来获取相邻设备的协议地址以及发现这些设备的平台信息。CDP也可为路由器提供正在使用的接口信息。它是思科设备中的一种信息收集工具,常用于获取思科直连设备的相关信息。CDP是运行在数据链路层的,所以说它是二层协议。CDP与介质和协议无关,运行在所有思科制造的设备上,包括路由器、网桥(bridge)、接入服务器(accessserver)和交换机。在默认情况下,思科设备

大家好,又见面了,我是你们的朋友全栈君。

CDP思科发现协议

CDP概述

  • CDP 思科发现协议(Cisco Discovery Protocol)

  • 主要是用来获取相邻设备的协议地址以及发现这些设备的平台信息。CDP 也可为路由器提供正在使用的接口信息。

  • 它是思科设备中的一种信息收集工具,常用于获取思科直连设备的相关信息。CDP是运行在数据链路层的,所以说它是二层协议。

  • CDP 与介质和协议无关,运行在所有思科制造的设备上,包括路由器、网桥(bridge)、接入服务器(access server)和交换机。

  • 在默认情况下,思科设备启动后,CDP也会自动启动,同时自动发现运行CDP协议的直连设备。

  • CDP是一种简单、低开销的协议,它每60秒发送一次,180秒为超时时间。

  • 有时候,我们到了一个新布置机房进行维护,但是无法获取机房的设备拓扑图,这个时候可以使用CDP来画出机房的网络拓扑。

  • 除此之外,CDP还可以用于排除网络故障。
     

设备信息

启动CDP进行思科设备发现的时候,我们可以在相关的设备上查看到每台邻接设备的信息:

设备标识符(Device ID): 设备的名称,如邻接路由器的名字为R2。

地址列表(IP Address): 每种支持的协议最多一个网络层地址,如使用TCP/IP协议栈的192.168.1.2。

端口标识符( Local Intrfce/Port ID): 设备的本地与邻接设备的端口。

功能列表(Capability): 邻接设备所支持的功能,如设备充当路由器、交换机或防火墙等。

平台( Platform): 设备的硬件平台,如Cisco的3745。

设备的IOS版本: 如经典版本12.4。

保持时间: 这里指的是接收到CDP的信息最多保留180秒,超过了就丢弃了。

注意:目前CDP有两个版本,第2版是最新的,它最大的特点是错误跟踪 ,可以缩短宕机时间。

(宕机:指系统无法从一个系统错误中恢复过来,或系统硬件层面出了问题以致系统长时间无响应而不得不重启系统的现象。)

 

使用CDP实现Cisco设备发现

R2(config)#cdp run //在全局模式下启用CDP

R2(config)#no cdp run //在全局模式下禁用CDP

R2(config-if)#cdp enable //在接口上启用

R2(config-if)#no cdp enable //在接口上禁用

 

相关的CDP命令

show cdp neighbors (detail 详细信息)
显示运行CDP协议的邻接设备信息,相关的信息有设备ID、本地接口、保持时间、设备功能编码、硬件平台、邻接设备端口。

在这里插入图片描述
 
show cdp interface
显示与本地设备有关的接口状态和配置信息,如接口的线路状态的数据链路状态、接口的封装类型、CDP的发送间隔(默认60秒发送一次)、保持时间(默认180秒)等。

在这里插入图片描述
 

show cdp entry *
显示有关运行CDP协议的邻接设备的详细信息,如设备ID、保持时间、硬件平台、本地与邻接设备端口、第三层协议信息IP地址、Cisco IOS软件的类型与版本、设备功能等。

在这里插入图片描述

 

show cdp traffic
显示接口上数据流的信息,如显示接收和发送的CDP分组数。

在这里插入图片描述

 

LLDP(链路层发现协议)

LLDP概述

  • LLDP(Link Layer Discovery Protocol,链路层发现协议)

  • 为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息,LLDP就是用于这个目的的协议。

  • LLDP定义在802.1ab中,它是一个二层协议,它提供了一种标准的链路层发现方式。

  • LLDP协议使得接入网络的一台设备可以将其主要的能力,管理地址,设备标识,接口标识等信息发送给接入同一个局域网络的其它设备。当一个设备从网络中接收到其它设备的这些信息时,它就将这些信息以MIB的形式存储起来。这些MIB信息可用于发现设备的物理拓扑结构以及管理配置信息。

  • 需要注意的是LLDP仅仅被设计用于进行信息通告,它被用于通告一个设备的信息并可以获得其它设备的信息,进而得到相关的MIB信息。它不是一个配置、控制协议,无法通过该协议对远端设备进行配置,它只是提供了关于网络拓扑以及管理配置的信息,这些信息可以被用于管理、配置的目的,如何用取决于信息的使用者。

LLDP帧格式

封装有 LLDPDU 的报文称为 LLDP 帧,其封装格式有两种:Ethernet II 和 SNAP(Subnetwork Access Protocol,子网访问协议)。两者的差别在于LLDPDU部分,Ethernet II 封装格式为固定1500字节,SNAP封装为 n 字节。

Ethernet II格式封装的LLDP帧

在这里插入图片描述

  • DA: 目的 MAC地址,为固定的组播 MAC地址 0x0180-C200-000E。
  • SA: 源 MAC地址,为端口 MAC地址或设备MAC地址(如有端口地址则用端口MAC地址,否则用设备MAC地址)。
  • Type: 帧类型,为 0x88CC。
  • Data: 数据,为 LLDPDU。
  • FCS: 帧检验序列。

 

SNAP格式封装的LLDP帧

在这里插入图片描述
DA:目的MAC地址,为固定的组播 MAC地址 01-80-C2-00-00-0E。
SA:源MAC地址,为端口MAC地址或设备MAC地址(如果有端口地址则用端口MAC地址,否则用设备MAC地址)。
Type:帧类型,为 0xAAAA-0300-0000-88CC。
Data:数据,为 LLDPDU。
FCS:帧检验序列。
 

具体工作机制

数据链路层学习之LLDP

 

LLDP命令

lldp enable		//华为交换机都要手动开启这个服务
display lldp neighbor (brief)		//使用这条命令查看邻居交换机

华为设备

在这里插入图片描述
 

华三设备
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142800.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 失眠食疗方_重度失眠7个偏方

    失眠食疗方_重度失眠7个偏方1.失眠食疗方21世纪的中国青少年基本上都是亚健康问题,而在众多身体问题的前置就是睡眠问题可以理解为:睡眠问题是万病之源(人体没时间修复)PS:经常熬夜、作息不规律睡眠就会慢慢变差(随着

    2022年8月2日
    6
  • 将JS嵌入C++ ————Spidermonkey引擎的使用「建议收藏」

    将JS嵌入C++ ————Spidermonkey引擎的使用「建议收藏」Spidermonkey是火狐的js引擎。我曾经仔细比较过C++嵌入Spidermonkey和v8,最终因为对多线程并行比较执着,于是最终选择了Spidermonkey。网上流传的关于Spidermonkey引擎的用法大多还停留在1.8.5版本。随着更新迭代,高版本的js引擎更快更符合js标准也更好用,但相关资料比较少,官网文档更是惨不忍睹几乎和没有文档一样。最近我接触到了…

    2022年10月16日
    4
  • pytest怎么安装_pytest安装

    pytest怎么安装_pytest安装pytest介绍pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它

    2022年7月30日
    17
  • Android ListView禁止滑动

    Android ListView禁止滑动由于数据较少,如果listview滑动感觉不怎么美观,于是想要Listview禁止滑动,其实也很简单,只要拦截listview的Ontouch事件就可以了具体代码如下:`ListViewlv=(ListView)findViewById(R.id.listView);lv.setOnTouchListener(newOnTouchListener(){

    2022年7月22日
    33
  • java setvisible_java value

    java setvisible_java value如果查询返回多个值用list()方法publicvoidtestQuery(){Configurationconfig=newConfiguration().configure();SessionFactoryfactory=config.buildSessionFactory();//创建SessionFactorySessionsession=factory.open…

    2022年9月30日
    2
  • jquery ajax步骤,jquery ajax(ajax请求的五个步骤jQuery)

    jquery ajax步骤,jquery ajax(ajax请求的五个步骤jQuery)jqueryajaxAJAX是与服务器交流数据的艺术,它在不重载全部页面的情况下,完成了对部分网页的更新。jQueryAJAX实例请点击下面的按钮,经过jQueryAJAX改变这段文本。获得外部的内容亲身试一试什么是AJAX?AJAX=异步JavaScript和XML(AsynchronousJavaScriptandXML)。简短地说,在不重载整个网页的情况下,AJAX经过后台加载数据,并在网页…

    2022年5月17日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号