CDP协议
- 格式:doc
- 大小:32.50 KB
- 文档页数:3
思科设备发现协议(CDP)一、引言在真实的环境中存在着多个网络设备,这些设备之间的拓扑图并不像模拟器中做实验这么清晰易懂,你看到的真实网络环境常常是下面这个样子的:面对这么复杂的连线,你是否清楚的知道哪根线和哪个设备相连?是这个机架上的设备还是另外一个机架的设备?还是另外一幢建筑的设备?你又是否清楚他们连接着那个设备的哪个接口?如果你不清楚那么CDP将会帮助你了解这些!!二、CDP简介CDP作用:在真实环境中帮助我们了解网络拓扑结构..................。
CDP原理:任何开启了CDP协议的思科设备(交换机、路由器)定期的以CC 为目的地址向网络中和自己直连其他设备介绍自己,思科设备借助这种“互相介绍”的方式,了解和自己连接的设备信息。
命令集:show cdp :显示自身发送接收CDP信息的相关时间信息cdp holdtime :设置保持时间cdp timer :设置发送CDP信息时间show cdp neighbot:显示直接和本设备连接的邻居摘要信息(这条命令是CDP系列命令最常用的一条命令)cdp enable:开启cdpno cdp enable:关闭cdp为了进一步了解cdp命令,我们来做一个实验实验:学习使用cdp协议了解周边网络设备路由器r1、交换机s1以及三层交换机s2的链接如图所示其中S2的f0/1与S1的f0/2口相连接S1的f0/1与路由器的f0/0相连接1、在S2上使用CDP命令此时在三层交换机S2上,进入特权模式,并调用show cdp命令,命令清单如下Switch>Switch>enableSwitch#show CDP将产生如图所示信息若继续调用Switch#show cdp neighbors将会看到据此就可知道本机的f0/1口和对方的f0/2口相连接,对方是一个交换机,型号2950,并且名字为switch。
本例中对方主机(S1)的名字为switch(这是思科网络设备的任何一个交换机的初始名称),一般来讲每一个设备我们应该命名成不同的名字。
cd合作协议书协议编号:___________甲方(客户):_____________________乙方(服务提供方):_____________________鉴于甲乙双方基于互利共赢的原则,就共同开发和运营客户数据平台(以下简称“CD”)项目达成如下合作协议:一、合作目的甲乙双方本着共同发展,优势互补的原则,同意在客户数据集成、分析及应用等方面展开全面合作,以提升双方在市场营销、客户服务等方面的能力和效率。
二、合作内容1. 乙方负责为甲方提供CD系统的建设、维护和技术支持服务。
2. 甲方负责提供必要的业务需求、数据资源以及相关支持。
3. 双方共同参与CD系统的功能设计、开发进度规划和结果评估。
三、权利与义务1. 甲方有权监督乙方的工作进度和质量,提出改进建议。
2. 乙方有义务按照约定时间和标准完成CD系统的建设和运维工作。
3. 双方应保证交换信息的准确性、完整性和安全性。
4. 任何一方不得擅自将合作内容泄露给第三方,除非得到另一方书面同意。
四、费用支付1. 甲方应按协议约定向乙方支付相应的服务费用。
2. 费用的支付方式和时间由双方另行商定。
五、保密条款双方应对在合作过程中知悉的商业秘密和技术信息予以保密,未经对方书面同意,不得向任何第三方披露。
六、违约责任如一方违反本协议的任何条款,应承担违约责任,并赔偿对方因此遭受的一切损失。
七、争议解决因履行本协议所产生的任何争议,双方应首先通过友好协商解决;协商不成时,可提交至甲方所在地人民法院诉讼解决。
八、其他事项1. 本协议自双方签字盖章之日起生效。
2. 本协议未尽事宜,由双方协商补充。
3. 本协议一式两份,甲乙双方各执一份,具有同等法律效力。
甲方代表(签字):_______________ 日期:____年__月__日乙方代表(签字):_______________ 日期:____年__月__日。
二层端口线路检查协议
1. CDP(Cisco Discovery Protocol),由思科开发的一种用
于发现和查看连接到思科设备上的邻居设备信息的协议。
通过CDP,管理员可以查看连接到思科设备上的邻居设备的信息,包括设备类型、IP地址、设备型号等。
2. LLDP(Link Layer Discovery Protocol),一种开放标准
的二层协议,类似于CDP,用于发现和查看连接到网络设备上的邻
居设备信息。
与CDP不同的是,LLDP是一种开放标准协议,可以在
多种厂商的设备上使用。
3. UDLD(Unidirectional Link Detection),用于检测交换
机之间的单向链路的协议。
当交换机之间的链路出现单向通信时,UDLD可以检测到这种问题并发出警告,防止因单向链路导致的通信
故障。
4. STP(Spanning Tree Protocol),虽然STP不是专门用于
端口线路检查的协议,但它可以帮助检测和纠正网络中的环路,从
而保证网络的正常运行。
5. Ethernet OAM(Operations, Administration, and Maintenance),以太网运营、管理和维护协议,提供了一系列的OAM功能,包括链路状态检测、故障定位等,用于监控以太网链路
的状态和性能。
以上这些协议都可以用于进行二层端口线路的检查和监控,管
理员可以根据实际情况选择合适的协议来确保网络设备的正常运行。
同时,也可以结合使用多种协议来实现更全面的网络监控和故障排除。
cdp协议CDP(Cisco Discovery Protoco)是思科公司开发的一种用于交换网络设备信息的协议,它能够帮助网络管理员在网络中识别和管理思科设备。
CDP是一种属于二层的网络协议,可以在局域网(LAN)上自动发现和识别连接的Cisco设备。
CDP协议的工作方式非常简单,它通过以太网中的广播消息来实现设备之间的信息交换。
一旦启用了CDP协议,思科设备上的CDP守护程序开始发送CDP报文,同时也会监听和接收其他设备发送的CDP报文。
通过CDP报文,网络管理员可以获取有关远程设备的信息,如设备名称、IP地址、设备类型、操作系统版本和支持的协议等。
CDP协议提供了许多优势。
首先,CDP协议能够帮助网络管理员快速构建和维护一个网络设备的拓扑图。
在网络中的所有设备都运行CDP的情况下,通过收集和分析CDP报文,网络管理员可以了解到网络中的每个设备及其相互连接的关系。
这对于监控和故障排除网络非常有帮助。
其次,CDP协议可以帮助网络管理员快速识别连接到网络的其他思科设备。
通过检测其他设备发送的CDP报文,网络管理员可以获知设备的名称、IP地址和设备类型等信息,从而帮助他们更容易地识别和管理设备。
这对于进行远程配置和故障排除也非常有帮助。
CDP还可以在设备之间共享一些配置信息,如VLAN信息和QoS配置等。
这对于在网络中实现一致的配置非常重要,可以提高网络的可靠性和性能。
然而,CDP协议也有一些限制。
首先,CDP只能用于识别和管理思科设备,对于其他厂商的设备是不适用的。
因此,在多厂商网络中,CDP协议的作用有限。
其次,CDP是一种基于广播的协议,会占用带宽资源。
在大型网络中,CDP的频繁广播会导致网络拥堵和性能下降。
因此,在配置CDP时需要慎重考虑网络规模和流量。
总的来说,CDP是一种非常有用的网络协议,可以帮助网络管理员快速识别和管理思科设备。
通过CDP协议,网络管理员可以获得有关设备的重要信息,可以更好地配置和维护网络。
cdp技术原理
CDP(Cisco Discovery Protocol)是思科(Cisco)网络设备之间使用的一种专有协议,用于在局域网中发现和识别相邻设备,以及获取与设备相关的信息。
CDP的原理如下:
1. 广播通信:CDP使用广播通信方式,在局域网中的所有支持CDP的设备上发送CDP消息。
2. 发现相邻设备:当一个设备收到CDP消息时,它可以解析消息中的信息,了解发送者的设备类型、IP地址、设备名称等。
这样,设备可以通过CDP协议识别和发现相邻的设备。
3. 信息交换:CDP允许设备交换有关其配置和状态的信息。
通过CDP消息,设备可以共享诸如设备型号、固件版本、支持的功能、可用的接口等信息。
这些信息对于网络管理和故障排除非常有用。
4. 定期更新:CDP消息会定期发送,以确保网络中的设备保持最新的信息。
设备可以通过接收和处理CDP消息来更新相邻设备的状态和属性。
5. 监听CDP消息:设备可以启用CDP监听功能,以接收和解析其他设备发送的CDP消息。
这样,设备可以获取网络中其他设备的相关信息,并在需要时采取相应的行动。
总之,CDP通过广播通信方式在网络中发现相邻设备,并允许设备交换有关配置和状态的信息。
它提供了设备之间的可见性,帮助网络管理员了解和管理网络中的设备,并提供故障排除和性能监测的支持。
需要注意的是,CDP是思科设备的专有协议,因此仅适用于支持CDP的思科设备之间的通信。
CDP协议探索Cisco发现协议的网络设备发现与邻居关系CDP(Cisco Discovery Protocol)是思科公司开发的一种协议,用于在网络中发现并建立邻居关系。
该协议可以帮助网络管理员识别并管理网络中的设备,并提供有关设备的基本信息。
本文将探究CDP协议的工作原理,以及它在网络设备发现与邻居关系方面的作用。
一、CDP协议的工作原理CDP协议是一种基于数据链路层的网络协议,允许相互连接的思科设备互相发送和接收CDP信息。
通过CDP信息的交换,网络设备可以自动发现相邻的设备,并通过CDP消息了解对方的属性、配置和状态。
CDP基于广播的方式工作,当一个设备接入网络时,它会发送CDP广播消息到所有邻近设备。
邻近设备收到消息后,可以回复包含自身信息的CDP消息。
通过这种交互,设备之间可以获取并维护邻居关系,并实时了解周围设备的状态。
二、CDP协议的作用1. 设备发现:CDP协议提供了一种快速、自动的设备发现方式。
通过广播消息,设备可以主动发现周围的邻居设备,并建立邻居关系。
这对于网络拓扑的维护和管理非常重要,特别是在大型网络中。
2. 邻居关系维护:CDP协议不仅可以发现设备,还可以维护设备之间的邻居关系。
设备可以周期性地发送CDP消息,以通知邻居设备自身的变化,比如配置更改、故障等。
邻居设备接收到消息后,可以根据需要采取相应的措施,以保证网络的正常运行。
3. 设备属性获取:CDP消息中包含了设备的基本信息,比如设备名称、设备类型、IOS版本等。
这些信息对于网络管理员非常有用,可以帮助他们更好地管理和维护网络。
通过CDP协议,管理员可以准确地了解每个设备的配置和状态,以及设备之间的连接关系。
4. 邻居设备监控:CDP协议可以提供对邻居设备状态的实时监控。
通过定期发送CDP消息,设备可以报告自身的状态信息,比如CPU利用率、内存使用率等。
这些信息可以帮助管理员及时发现和解决潜在的问题,提高网络的可靠性和可用性。
思科发现协议CDP思科发现协议思科发现协议CDP是思科专有数据链路层协议,只能在思科路由器、交换机等设备上使⽤。
CDP与⽹络层协议及物理层的连接介质⽆关,可以帮助⽹络管理者获得相邻设备的硬件和协议信息。
运⾏CDP的设备通过所有活动接⼝向邻居发送CDP分组,默认时间间隔60秒,这个时间称为CDP定时器。
CDP分组不会被转发,所以只能在相邻设备之间传送相邻设备在接收到CDP分组后需要保持⼀个规定时间,默认180秒,称为CDP保持时间。
两个时间都可以修改。
查看CDPtest#show cdpGlobal CDP information:Sending CDP packets every 60 secondsSending a holdtime value of 180 secondsSending CDPv2 advertisements is enabled启⽤/关闭CDP启动:test(config)#cdp run关闭:test(config)#no cdp run关闭某个接⼝的CDP功能:test(config-if)#no cdp enable显⽰相邻设备信息show cdp neighbors显⽰相邻设备信息test#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - Repeater, P - PhoneDevice ID Local Intrfce Holdtme Capability Platform Port IDrouter Fas 0/0 168 R C2800 Fas 0/1show cdp neighbors detail 显⽰相邻设备详细信息show cdp entry 【xxx】显⽰相邻设备详细信息,xxx是想看的设备hostname,*查看所有设备信息show cdp interface 查看相邻设备接⼝状态及接⼝上的CDP定时器和CDP保持时间。
CDP协议格式CDP(Cisco Discovery Protocol)是思科设备之间用于发现和识别相邻设备的协议。
它是一种层2的网络协议,用于在局域网中自动发现和配置连接的设备。
本文将详细介绍CDP协议的格式,包括消息类型、字段和数据结构。
1. CDP消息类型CDP消息可以分为以下几种类型:•CDP Device ID:用于标识发送方设备的名称。
•CDP Address:用于发送方设备的管理IP地址。
•CDP Port ID:用于标识发送方设备上与接收方设备相连接口的名称。
•CDP Capabilities:用于指示发送方设备所支持的功能。
•CDP Version:用于指示发送方设备运行的CDP版本。
•CDP Platform:用于指示发送方设备的硬件平台。
2. CDP报文格式CDP报文由以下几个字段组成:•Version(版本):占2字节,表示CDP协议的版本号。
•TTL(生存时间):占1字节,表示该报文在网络中传输时可以经过多少个路由器。
•Checksum(校验和):占2字节,包含了整个报文各个字段计算得到的校验值。
•Type Length Value (TLV)字段:占剩余的字节,用于携带各种不同类型的信息。
3. CDP TLV字段CDP TLV字段由Type、Length和Value三个部分组成:•Type(类型):占1字节,表示该字段携带的信息类型。
•Length(长度):占1字节,表示该字段携带的信息长度。
•Value(值):占可变长度,具体内容取决于Type字段。
CDP定义了多种TLV类型,常见的有:•Device ID TLV:Type为0x01,Value为设备名称字符串。
•Address TLV:Type为0x02,Value为设备管理IP地址。
•Port ID TLV:Type为0x03,Value为接口名称字符串。
•Capabilities TLV:Type为0x04,Value为设备支持的功能标志位。
cdp 逻辑
cdp 逻辑
CDP(Cisco Discovery Protocol)是一种用于收集设备信息和邻居
设备信息的协议,它是Cisco专有的一种协议。
CDP消息是以几秒钟的间
隔发送的,并且在网络上的相邻设备之间自动传输。
CDP的作用是在交换机和路由器之间提供信息,以帮助网络管理员识
别和故障排除硬件问题。
CDP可以提供如下信息:
-相邻设备的IP地址。
-相邻设备的平台和操作系统。
-相邻设备的端口和VLAN号。
-实现双工通信的接口的类型和速度等信息。
CDP逻辑如下:
1.当设备启动时,它会向其邻居设备广播CDP消息。
2.邻居设备添加接收到的CDP消息到自己的CDP数据库中。
3.邻居设备响应CDP消息并将它自己的信息添加到CDP消息中,并将
已更新的CDP消息发送回源设备。
4.源设备添加邻居设备的信息到自己的CDP数据库中。
5.如果有设备故障或连接断开,则CDP信息将立即被更新以反映更改。
总之,CDP是一个非常有用的工具,它使网络管理员能够快速发现接
口故障或配置错误,并快速定位和解决问题。
了解CDP协议Cisco发现协议在网络设备管理中的应用CDP(Cisco Discovery Protocol)是思科公司开发的一种用于在网络设备之间交换信息的协议。
它可以帮助管理员了解整个网络拓扑结构,并提供关于邻居设备的基本信息。
本文将介绍CDP协议的原理和功能,并探讨其在网络设备管理中的应用。
一、CDP协议简介CDP是一种Cisco专有的数据链路层协议,它可以在思科设备之间通过数据链路层的广播帧进行交互。
CDP协议的主要功能包括:1. 发现邻居设备:CDP协议可以发现连接在同一链路上的邻居设备,并获取其设备类型、IP地址等信息。
2. 交换设备信息:CDP协议可以交换设备的基本信息,如设备名称、设备型号、设备序列号等。
3. 拓扑发现:CDP协议可以帮助管理员了解整个网络的拓扑结构,包括邻居设备的连接接口和链路状态等信息。
二、CDP协议的工作原理CDP协议工作在数据链路层,利用广播帧进行信息交换。
当两个CDP启用的设备连接在同一链路上时,它们会相互发送CDP消息,以交换设备信息。
CDP消息包括信息元素(Information Element),其中包括设备类型、设备名称、设备IP地址、设备端口等。
CDP消息可以通过链路层的广播帧进行传输,也可以通过多播帧或单播帧进行传输。
三、CDP协议在网络设备管理中的应用1. 网络拓扑发现与管理:CDP协议可以向管理员提供网络设备的拓扑结构信息,帮助管理员了解整个网络的连接方式和设备之间的物理连接。
管理员可以根据CDP提供的信息,绘制出网络拓扑图,并对网络设备进行统一管理和监控。
2. 设备故障排查与诊断:CDP协议可以提供设备之间的物理连接状态及链路质量等信息,帮助管理员快速定位网络故障。
通过CDP协议提供的设备名称和端口信息,管理员可以迅速确定故障设备所在的位置,并进行故障排查和诊断。
3. 设备配置管理:CDP协议可以提供设备型号、序列号等基本信息,帮助管理员进行设备配置管理。
cdp的原理CDP是Cisco的一种由网络协议,用于管理与监测网络设备。
它仅适用于Cisco网络设备。
跟踪本地与远程设备的信息,然后把这些信息发送到网络管理工具。
当您启动CDP时,设备将向邻居广播CDP信息,并接收广播信息。
通过执行这些操作,CDP允许您在网络上实现更高的可视性——它提供有关每个设备的附加数据,这些数据不一定会出现在其他管理工具中。
CDP的原理可以从三个方面来透彻理解。
一、CDP包CDP包由三部分组成。
这三部分分别是:标头部分、数据部分和尾部部分:1. 标头部分(56字节),包括传输控制协议(TCP)头和互联网协议(IP)头。
2. 数据部分,其中包括:- 版本:设备上安装的CDP版本。
- 时间戳:以毫秒为单位记录了发送CDP消息的时间。
- TTL:以秒为单位的跨路由过程的生存期。
- 标志:用于标识CDP包所属的设备类型,如路由器、交换机等。
- 设备ID:设备的可读名称。
- 端口ID:接口的可读名称。
- 物理地址:设备接口的物理地址。
- 端口的IP地址:这是设备接口的关联IP地址。
- 平台:设备的平台类型。
- 特征:设备的功能。
- 对端设备ID:相邻设备接口的设备标识。
- 对端端口ID:相邻设备接口的端口标识。
3. 尾部部分(4字节),其中包括CDP数据校验和。
二、CDP的工作原理CDP通过实时检查其他CDP兼容设备在网络上广播的信息,使设备自动发现并通信。
CDP为网络管理员提供了实时的设备信息,包括设备的名称、所有者、接口信息以及网络拓扑结构。
CDP主要用于:- 确定邻近Cisco设备的属性和地址。
- 监测Cisco设备端口变更并报告这些变化。
- 报告发现的邻近Cisco设备并告知它们自己的存在。
- 显示Cisco设备的接口另一端的邻近设备。
CDP包可以通过多种方式从一个设备到另一个设备进行传输。
这些方式包括广播、多播和点到点传输。
CDP包进入设备的每个接口,并在设备之间广播。
设备通常将CDP信息存储在内存中,并在收到更新后更新此信息。
思科协议(数据链路)之一:CDPCDP:思科发现协议(CDP:Cisco Discovery Protocol)思科发现协议CDP 基本上是用来获取相邻设备的协议地址以及发现这些设备的平台。
CDP 也可为路由器的使用提供相关接口信息。
CDP 是一种独立媒体协议,运行在所有思科本身制造的设备上,包括路由器、网桥、接入服务器和交换机。
需要注意的是,CDP是工作在Layer 2 的协议,默认情况下,每60秒以01-00-0c-cc-cc-cc 为目的地址发送一次组播通告,当达到180秒的holdtime上限后仍未获得邻居设备的通告时,将清除邻居设备信息。
SNMP 中结合使用CDP 管理信息基础MIB,能使网络管理应用获知设备类型和相邻设备的SNMP 代理地址,并向这些设备发送SNMP 查询请求。
Cisco 发现协议支持CISCO-CDP-MIB。
CDP 运行在所有的媒体上,从而支持子网访问协议SNAP,包括局域网、帧中继和异步传输模式ATM 物理媒体。
CDP 只运行于数据链路层,因此,支持不同网络层协议的两个系统彼此相互了解。
CDP 配置的每台设备发送周期性信息,如我们所知的广告到组播地址。
每台设备至少广告一个地址,在该地址下,它可以接收SNMP 信息。
广告包括生存期,或保持时间等信息,这些信息指出了在取消之前接收设备应该保持CDP 信息的时间长短。
此外每台设备还要注意其它设备发出的周期性CDP 信息,从中了解相邻设备信息并决定那些设备的媒体接口什么时候增长或降低。
CDP 版本2,是目前该协议使用最普遍的版本,它具有更高的智能设备跟踪等性能。
支持该性能的报告机制,提供快速差错跟踪功能,有利于缩短停机时间(Downtime)。
报告差错信息可以发送到控制台或日志服务器(Logging Server),这些差错信息包括连接端口上不匹配(Unmatching)的本地VLAN IDs(IEEE 802.1Q)以及连接设备间不匹配的端口双向状态。
cdp参数
CDP (Cisco Discovery Protocol) 是思科设备之间交换信息的一种协议。
它可以帮助管理员发现连接到网络上的其他设备,并获取这些设备的信息,以便更好地管理和维护网络。
CDP 参数包括以下内容:
1. CDP enabled/disabled:指示设备是否启用CDP。
2. CDP holdtime:指定CDP消息在邻居设备之间的保持时间。
如果在此时间内没有接收到相应的CDP消息,则认为邻居设备已经不可达。
3. CDP interval:指定CDP消息之间发送的时间间隔。
默认间隔为60秒。
4. CDP version:指定CDP版本。
CDPv1和CDPv2是目前广泛使用的两个版本。
CDPv1是较旧的版本,不支持VLAN和IPv6,并且存在安全问题,建议使用CDPv2。
5. CDP timer:指定CDP消息的有效期,即CDP消息在邻居设备之间传输的最大时间。
6. CDP update:指定CDP消息在发生更改时如何更新邻居设备。
默认情况下,CDP消息在发生更改时立即发送。
7. CDP checksum:指定CDP消息中使用的校验和类型,包括CRC 和MD5。
默认情况下,CDP使用CRC校验。
CDP协议的工作原理及可能存在的安全隐患CDP(Cisco Discovery Protocol,Cisco设备发现协议)用于发现直连的CISCO 设备相关信息。
CDP利用直连的两个设备间定时发送hello信息(CDP数据包)维持邻居关系。
默认情况下,每隔60秒的时间,每个CISCO设备都要向互连的对方发送一个CDP数据包。
如果经过3个hello周期(180秒,称为holdtime或TTL)还没有收到对方的CDP包,则本地设备在CDP邻居表中删除那个CDP邻居设备。
是在一台Cisco Catalyst 2924交换机上对CDP数据包的诊断输出信息。
可以看到,交换机在每个活动接口发送CDP数据包。
直连设备互相之间交换的CDP包中的内容主要包括:对端设备的名称、对端设备的性能(如交换机还是路由器)、对端设备的平台(型号)、对端设备的IP地址(或管理IP)等信息。
一、CDP协议的工作原理CDP技术是对传统数据备份技术的一次革命性的重大突破。
传统的数据备份解决方案专注在对数据的周期性备份上,因此一直伴随有备份窗口、数据一致性以及对生产系统的影响等问题。
现在,CDP为用户提供了新的数据保护手段,系统管理者无须关注数据的备份过程(因为CDP系统会不断监测关键数据的变化,从而不断地自动实现数据的保护),而是仅仅当灾难发生后,简单地选择需要恢复到的时间点即可实现数据的快速恢复。
要了解CDP协议在安全上的漏洞,首先需要知道其工作的原理。
通常情况下,CDP协议与现有的网络协议类型无关,其运行在路由器和交换机等网络设备上。
其基本的原理就是通过利用邻接设备所发送的信息,设备能够学到所连接设备的相关信息。
这里需要注意的是,在所有的CDP消息中,都含有相关网络设备的重要信息。
如果这些信息泄露的话,就能够被攻击者所用,威胁企业网络的安全。
这些有关安全的信息可能包括如下这些内容。
如网络地址、发送消息的端口或者接口信息、硬件平台、发送设备的功能、软件盘本等等。
cdp协议简介啥是cdp根据官⽹的说法,cdp(Chrome DevTools Protocol) 允许我们检测,调试Chromium, Chrome 和其他基于 Blink的浏览器. 这个协议被⼴泛使⽤. 其中最著名的是 Chrome DevTools,协议的api也由这个团队维护。
使⽤cdp的姿势⾸先需要打开: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222如果在浏览器中,当你打开devtools时,其实你已经在使⽤cdp了,只是感知不深罢了,⼀种办法可以更直观的感知cdp,就是打开devtools 的devtools,具体操作如下:1. 将开发者⼯具设置为独⽴窗⼝,dock side点第⼀个2. 在开发者⼯具上再使⽤快捷键ctrl+shift+i,就可以打开开发者⼯具的开发者⼯具了(就是先打开开发者⼯具成独⽴窗⼝;再在这个独⽴窗⼝上再⽤快捷键ctrl+shift+i,⼜打开了开发者⼯具),现在在新打开的开发者⼯具的console⾥⾯,输⼊下⾯的代码:let Main = await import('./main/main.js');Main.MainImpl.sendOverProtocol('Runtime.evaluate', {expression: 'alert (12345)'});这时⽹页会alert 12345,你会发现平时在控制台简单的代码执⾏,其实是通过cdp远程调⽤⽹页的js引擎去执⾏再返回结果的。
除此之外,protocol monitor也可以帮助我们更直观的理解cdp。
⼏个重要的URL[{description: "",devtoolsFrontendUrl: "/devtools/inspector.html?ws=localhost:8080/devtools/page/a31c4d5c-b0df-48e8-8dcc-7c98964e2ebe",id: "a31c4d5c-b0df-48e8-8dcc-7c98964e2ebe",title: "",type: "page",url: "xxx://xxx",webSocketDebuggerUrl: "ws://localhost:8080/devtools/page/a31c4d5c-b0df-48e8-8dcc-7c98964e2ebe"}]其中webSocketDebuggerUrl就是我们需要的打开remote debugging 的钥匙重头戏websocket接下来我们连上ws,就可以愉快的远程操作页⾯了,正如chrome devtools所做的那样,下⾯是⼀个例⼦:const WebSocket = require('ws');const puppeteer = require('puppeteer');(async () => {// Puppeteer launches browser with a --remote-debugging-port=0 flag,// parses Remote Debugging URL from Chromium's STDOUT and exposes// it as |browser.wsEndpoint()|.const browser = await unch();// Create a websocket to issue CDP commands.const ws = new WebSocket(browser.wsEndpoint(), {perMessageDeflate: false});await new Promise(resolve => ws.once('open', resolve));console.log('connected!');ws.on('message', msg => console.log(msg));console.log('Sending Target.setDiscoverTargets');ws.send(JSON.stringify({id: 1,method: 'Target.setDiscoverTargets',params: {discover: true},}));})();更多例⼦可以在jsonRPC如上⾯例⼦所⽰,当ws连接后,⼀个发给浏览器的指令⼤概包括3部分id,method,params,⽐如⼀个执⾏⼀段console.log('hello')代码的指令:{"id": 235,"method": "Runtime.evaluate","params": {"expression": "console.log('hello');","objectGroup": "console","includeCommandLineAPI": true,"silent": false,"contextId": 1,"returnByValue": false,"generatePreview": true,"userGesture": true,"awaitPromise": false}}chrome devtools可以完成的功能⾮常庞⼤,⽽这些功能基本都是使⽤这样的⼀个个指令实现的,让⼈想起那句古⽼的中国名⾔:九层之台,起于垒⼟。
cdp 协议的邻居发现Cisco 发现协议(CDP,Cisco Discovery Protocols)是有Cisco 设计的专用协议。
1.对于cisco的路由器或者交换机可以使用发现邻居协议(cdp)动态的发现邻居设备的信息。
2.cdp是cisco的专有协议。
3.cdp只能发现直连的设备信息。
4.cisco的路由器和交换机默认地再所有接口发送cdp更新,并默认更新时间为60s,保持时间180s。
5.cdp消息封装在数据链路层的头和尾中,不依赖于任何第三层协议。
数据链路层必须支持子网访问协议(SNAP)头。
目前大多数协议都支持SNAP:Ethernet、hdlc、ppp、帧中继cdp v2 能学习到1.vtp 管理域2.本地的vlan3.全双工、半双工更新过程R5 的更新过程cdp 更新时间和保持时间与他们邻居之间的关系:如图,设置r2上的cdp timer 为20s ,cdp holdtime 10s 。
然后观察r2,r1邻居表中的信息。
R1上:R2上:从而得出,路由器自身的更新时间和保持时间对自己的cdp邻居表不造成影响,但是对邻居的邻居的邻居表造成影响。
下来再看下其他路由器上的信息。
R3上的信息:R4上:R5上就不用看了。
发现个问题,是不是r2上面的更新时间为20s,保持时间为10s 。
那么,这样会出现什么问题呢?分析一下:r2发出的更新信息是10s 一次,而更新时间是20s一次。
就是说,当r2发送了向邻居发送了一条更新消息,和邻居建立了邻接关系,再20s后将会再向邻居发送更新消息,但是保持时间只有10s,所有在10s后,r2将会和邻居断开,当再过10s后,r2又会向邻居发送更新消息。
这时,r2又会和邻居建立邻接关系。
下来,让我们来验证一下:R1上的cdp 邻居表信息Device ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 9 R S I 3640 Ser 0/0R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 7 R S I 3640 Ser 0/0 R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 6 R S I 3640 Ser 0/0 R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 4 R S I 3640 Ser 0/0 R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 3 R S I 3640 Ser 0/0 R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 2 R S I 3640 Ser 0/0 R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 1 R S I 3640 Ser 0/0 R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 0 R S I 3640 Ser 0/0 R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 0 R S I 3640 Ser 0/0 R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 0 R S I 3640 Ser 0/0 R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 0 R S I 3640 Ser 0/0 R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r – Repeater在这儿的时候,邻居表中已经没有r2的信息了Device ID Local Intrfce Holdtme Capability Platform Port IDR1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port ID现在,又重新建立邻接关系了R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r – RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 8 R S I 3640 Ser 0/0 R1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port IDR2 Ser 0/0 7 R S I 3640 Ser 0/0。
CDP:思科发现协议(Cisco Discovery Protocol)
思科发现协议(CDP)主要是用来获取相邻设备的协议地址以及发现这些设备的平台信息。
CDP 也可为路由器提供正在使用的接口信息。
CDP 与介质和协议无关,运行在所有思科制造的设备上,包括路由器、网桥(bridge)、接入服务器(access server)和交换机。
使用带有CDP 管理信息库(MIB:Management Information Base)的SNMP,能使网络管理应用程序获知相邻设备的设备类型和SNMP 代理地址,并向这些设备发送SNMP 查询请求。
Cisco 发现协议使用CISCO-CDP-MIB。
CDP 运行在支持子网访问协议(SNAP:Subnetwork Access Protocol)的所有介质上,包括局域网(LAN)、帧中继(Frame Relay)和异步传输模式(ATM)物理介质。
CDP 只运行于数据链路层,因此,支持不同网络层协议的两个系统可以相互了解。
配置有CDP 的每台设备发送周期性信息,如我们所知的通告,到组播地址。
每台设备至少通告一个地址,在该地址下,它可以接收SNMP 信息。
通告包括生存期(time-to-live),或保持时间(holdtime)等信息,这些信息指出了在丢弃CDP 信息之前接收设备应该保持它的时间长短。
此外每台设备也在监听其它设备发出的周期性CDP 信息,从而了解相邻设备信息并决定与之相连的接口什么时候打开或关闭。
CDP 版本2(CDPv2),是目前该协议的最高版本,它具有更智能的设备跟踪等特征。
这些特征包括报告机制,提供快速差错跟踪功能,有利于缩短停机时间(downtime)。
差错信息报告可以发送到控制台或日志服务器(logging server),这些差错信息包括连接端口上不匹配(unmatching)的本地VLAN ID (IEEE 802.1Q)以及连接设备间不匹配的端口双工状态。
协议结构
CDPv2 "show" 命令可以提供关于VLAN 中继协议(VTP)管理域、相邻设备的双工模式、CDP 相关计数器、连接端口的VLAN ID 等详细输出信息。
以下列表提供了相关CDP 命令:。