gns3 iou 怎么导入 预配文件

gns3 iou 怎么导入 预配文件,第1张

最新14X系列的教程如果你不想用IOS在物理机也能上传到IOU里内容比较多 凑合看吧如果你系统不支持64位系统你需要下载1313 也是最后一个支持32位系统的版本不过在IOU的设置上面有点不同 如果你需要也能附件给力GNS3 14X搭建路由器交大小:141M|所需财富值:5 已经过百度安全检测,放心下载点击下载下载量:8

论文: Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

目标检测网络大多依靠 区域生成 (region proposal)算法来假设目标的位置。 R-CNN 是采用 Selective Search 算法来提取(propose)可能的 RoIs(regions of interest) 区域,然后对每个提取区域采用标准 CNN 进行分类。选择性搜索(Selective Search )方法就是在目标对象周围设定2000个形状大小位置不一的候选区域,目标物体在候选区域的可能性还是比较大的。然后对这些区域卷积,找到目标物体,虽然大多数区域都是无用的。与寻找几乎个区域比起来,这种方法要高效的多。

Fast R-CNN ,不在原始图像生成备选区域,而是先整张通过卷积网络得到特征图,然后在特征图上使用备选区域算法得到感兴趣的区域在特征图的映射,之后使用 Rol Pool将所有区域变成同样尺寸,大大减少了这些目标检测网络的运行时间,但是区域生成的计算成为整个检测网络的瓶颈。

Faster R-CNN 引入了一个 区域生成网络(Region Proposal Network,RPN) ,该网络与检测网络共享输入图像的卷积特征,从而使接近零时间成本的区域生成成为可能。 RPN是一个全卷积网络,可以同时在每个位置预测目标边界和目标分数。RPN经过端到端的训练,可以生成高质量的区域候选框,然后提供给Fast R-CNN用于检测。

Faster R-CNN 由两个模块组成:第一个模块是区域生成的深度全卷积网络,第二个模块是使用备选区域的Fast R-CNN检测器。整个系统是一个单个的,统一的目标检测网络。使用最近流行的“注意力”机制的神经网络术语,RPN模块告诉Fast R-CNN模块在哪里寻找目标。

针对一张,需要获得的输出有:

Faster R-CNN 第一步是采用基于分类任务(如ImageNet)的 CNN 模型作为特征提取器。输入表示为 H × W × D 的形式,经过预训练 CNN 模型的处理,得到卷积特征图(conv feature map)。

Faster R-CNN 最早是采用在 ImageNet 训练的 ZF 和 VGG ,其后出现了很多其它权重不同的网络。如 MobileNet 是一种小型效率高的网络结构,仅有 33M 参数;而ResNet-152 的参数量达到了 60M;新网络结构,如 DenseNet 在提高了结果的同时,降低了参数数量。

以 VGG16 为例:

VGG16 分类时,输入为 224×224×3 的张量(即,一张 224×224 像素的 RGB )。网络结构最后采用 FC 层(而不是 Conv 层)得到固定长度的向量,以进行分类。对最后一个卷积层的输出拉伸为1维的向量,然后送入 FC 层。官方实现中是采用的卷积层 conv5/conv5_1 的输出。

在深度上,卷积特征图对的所有信息进行了编码,同时保持相对于原始所编码 “things” 的位置。例如,如果在的左上角存在一个红色正方形,而且卷积层有激活响应,那么该红色正方形的信息被卷积层编码后,仍在卷积特征图的左上角。因此利用特征图检测目标所在的位置是可行的。

ResNet 结构逐渐取代 VGG 作为基础网络,用于提取特征。ResNet 相对于 VGG 的明显优势是,网络更大,因此具有更强的学习能力。这对于分类任务是重要的,在目标检测中也应该如此。另外,ResNet 采用残差连接(residual connection) 和 BN (batch normalization) 使得深度模型的训练比较容易。

然后,RPN(Region Propose Network) 对提取的卷积特征图进行处理,寻找可能包含 目标的 预定义数量的区域(regions,边界框) 。为了生成候选区域,在最后的共享卷积层输出的卷积特征图上做 3x3 卷积,卷积核共有512个(VGG),后面是ReLU,这样每个 3x3 区域会得到一个512维的特征向量。然后这个特征向量被输入到两个全连接层——一个边界框回归层(reg)和一个边界框分类层(cls)。

下面解释 k, 2k, 4k 的含义。

基于深度学习的目标检测中,可能最难的问题就是生成长度不定(variable-length)的边界框列表(bounding-boxes),边界框是具有不同尺寸(sizes)和长宽比(aspect ratios )的矩形。在构建深度神经网络时,最后的网络输出一般是固定尺寸的张量输出(采用RNN的除外)。例如,在分类中,网络输出是 (C, ) 的张量,C是类别标签数,张量的每个位置的标量值表示是类别的概率值。

在 RPN 中,通过采用 anchors(锚) 来解决边界框列表长度不定的问题,即在原始图像中统一放置固定大小的参考边界框。上面说到RPN对特征图做3x3的卷积,假设每一次卷积需要预测 k 个候选区域,因此,reg层具有 4k 个输出,编码 k 个边界框的坐标,cls层输出 2k 个分数,估计每个区域是目标或是背景的概率。这 k 个区域就是 被 k 个参考边界框初始化, k 个参考框就是 k 个锚点,作为第一次预测目标位置的参考 boxes。锚点的中心位于卷积核滑动窗口的中心。默认情况下每个滑动位置使用3个不同尺度(128 2 , 256 2 , 512 2 )3个不同长宽比(1:2, 1:1, 2:1)的锚点,k=9。对于大小为W×H(通常约为2400)的卷积特征图,总共有 W×H×k 个锚点。对于RPN的最后两个全连接层,参数的个数为 512×(4+2)×k

不同于直接检测目标的位置,这里将问题转化为两部分。对每一个 anchor 而言:

有一种简单的方法来预测目标的边界框,即学习相对于参考边界框的偏移量。假设参考 box:( ),待预测量:( ),一般都是很小的值,以调整参考 box 更好的拟合所需要的。

虽然 anchors 是基于卷积特征图定义的,但最终的 anchos 是相对于原始的

由于只有卷积层和 pooling 层,特征图的维度是与原始的尺寸成比例关系的 即,数学地表述,如果尺寸 w×h,特征图的尺寸则是w/r×h/r 其中,r 是下采样率(subsampling ratio) 如果在卷积特征图空间位置定义 anchor,则最终的会是由 r 像素划分的 anchors 集。在 VGG 中, r=16。

RPN 利用所有的参考边界框(anchors),输出一系列目标的良好的 proposals。针对每个 anchor,都有两个不同的输出:

RPN是全卷积网络。

对于分类层,每个 anchor 输出两个预测值:anchor 是背景(background,非object)的 score 和 anchor 是前景(foreground,object) 的 score

对于回归层,也可以叫边界框调整层,每个 anchor 输出 4 个预测值:
(Δxcenter,Δycenter,Δwidth,Δheight),用于 anchors 来得到最终的 proposals。根据最终的 proposal 坐标和其对应的 objectness score,即可得到良好的 objects proposals

RPN 有两种类型的预测值输出:二值分类和边界框回归调整。

为了训练RPN,我们为每个锚点分配一个二值类别标签(是目标或不是目标)。我们给两种锚点分配一个正标签:(i)具有与实际边界框的重叠最高交并比(IoU)的锚点,或者(ii)具有与实际边界框的重叠超过07 IoU的锚点。注意,单个真实边界框可以为多个锚点分配正标签。通常第二个条件足以确定正样本;但我们仍然采用第一个条件,因为在一些极少数情况下,第二个条件可能找不到正样本。对于所有的真实边界框,如果一个锚点的IoU比率低于03,我们给非正面的锚点分配一个负标签。既不正面也不负面的锚点不会有助于训练目标函数。

然后,随机采样 anchors 来生成batchsize=256 的 mini-batch,尽可能的保持 foreground 和 background anchors 的比例平衡。

RPN 对 mini-batch 内的所有 anchors 采用二分类交叉熵来计算分类 loss。然后,只对 mini-batch 内标记为 foreground 的 anchros 计算回归 loss。为了计算回归的目标targets,根据 foreground anchor 和其最接近的 groundtruth object,计算将 anchor 变换到 object groundtruth 的偏移值 Δ。

Faster R-CNN没有采用简单的 L1 或 L2 loss 用于回归误差,而是采用 Smooth L1 loss Smooth L1 和 L1 基本相同,但是,当 L1 误差值非常小时,表示为一个确定值即认为是接近正确的,loss 就会以更快的速度消失

由于 Anchors 一般是有重叠,因此,相同目标的候选区域也存在重叠。

为了解决重叠 proposals 问题,采用 NMS 算法处理,丢弃与一个 score 更高的 proposal 间 IoU 大于预设阈值的 proposals

虽然 NMS 看起来比较简单,但 IoU 阈值的预设需要谨慎处理 如果 IoU 值太小,可能丢失 objetcs 的一些 proposals;如果 IoU 值过大,可能会导致 objects 出现很多 proposals。IoU 典型值为 07。

NMS 处理后,根据 sore 对topN 个 proposals 排序 在 Faster R-CNN 论文中 N=2000,其值也可以小一点,如 50,仍然能的高好的结果

当获得了可能的相关目标和其在原始图像中的对应位置之后,问题就更加直接了,采用 CNN 提取的特征和包含相关目标的边界框,采用 RoI Pooling 处理,并提取相关目标的特征,得到一个新的向量。

RPN 处理后,可以得到一堆没有分类得分的目标 proposals。待处理问题为,如何利用这些边界框并分类。

一种最简单的方法是,对每个 porposal,裁剪,并送入pre-trained base 网络,提取特征;然后,将提取特征来训练分类器 但这就需要对所有的 2000 个 proposals 进行计算,效率低,速度慢。Faster R-CNN通过重用卷积特征图来加快计算效率,即采用 RoI(region of interest) Pooling 对每个 proposal 提取固定尺寸的特征图。然后 R-CNN 对固定尺寸的特征图分类。

目标检测中,包括 Faster R-CNN,常用一种更简单的方法,即:采用每个 proposal 来对卷积特征图裁剪crop,然后利用插值算法(一般为双线性插值 bilinear)将每个 crop resize 到固定尺寸14×14×ConvDepth 裁剪后,利用 2×2 kernel 的 Max Pooling 得到每个 proposal 的最终7×7×ConvDepth 特征图

之所以选择该精确形状,与其在下面的模块(R-CNN)中的应用有关。

R-CNN利用RoI Pooling提取的特征进行分类,采用全连接层来输出每个可能的 目标类别的分类得分,是Faster R-CNN框架中的最后一个步骤。

R-CNN 有两个不同的输出:

R-CNN 对每个 proposal 的特征图,拉平后采用 ReLU 和两个大小为 4096 维的全连接层进行处理。然后,对每个不同目标采用两个不同的全连接层处理:一个全连接层有 N+1 个神经单元,其中 N 是类别 class 的总数,包括 background class;一个全连接层有 4N 个神经单元,是回归预测输出,得到 N 个可能的类别分别预测 Δcenterx,Δcentery,Δwidth,Δheight。

R-CNN 的目标基本上是与 RPN 目标的计算是一致的,但需要考虑不同的可能的 object 类别 classes

根据 proposals 和 ground-truth boxes,计算其 IoU。与任何一个 ground-truth box 的 IoU 大于 05 的 proposals 被设为正确的 boxes。IoU 在 01 到 05 之间时设为 background。这里忽略没有任何交叉的 proposals。这是因为,在此阶段,假设已经获得良好的 proposals。当然,所有的这些超参数都是可以用于调整以更好的拟合 objects。

边界框回归的目标计算的是 proposal 与其对应的 ground-truth间的偏移量,只对基于 IoU 阈值设定类别后的 proposals 进行计算。随机采用一个平衡化的 mini-batch=64,其中,25% 的 foreground proposals(具有类别class) 和 75% 的background proposals

类似于 RPNs 的 losses,对于选定的 proposals,分类 loss 采用 multiclass entropy loss;对于 25% 的 foreground proposals 采用 SmoothL1 loss 计算其与 groundtruth box 的匹配。

由于 R-CNN全连接网络对每个类别仅输出一个预测值,当计算边框回归loss 时需谨慎,只需考虑正确的类别。

类似于 RPN,R-CNN 最终输出一堆带有类别分类的objects,在返回结果前,再进一步进行处理。

为了调整边界框,需要考虑概率最大的类别的 proposals 忽略概率最大值为 background class 的proposals

当得到最终的 objects 时,并忽略被预测为 background 的结果,采用 class-based NMS 主要是通过对 objects 根据类别class 分组,然后根据概率排序,并对每个独立的分组采用 NMS 处理,最后再放在一起

最终得到的 objects 列表,仍可继续通过设定概率阈值的方式,来限制每个类的 objects 数量

Faster R-CNN在论文中是采用分步方法,对每个模块分别训练再合并训练的权重 自此,End-to-end 的联合训练被发现能够得到更好的结果

当将完整的模型合并后,得到 4 个不同的 losses,2 个用于 RPN,2 个用于 R-CNN。4 种不同的 losses 以加权和的形式组织 可以根据需要对分类 loss 和回归 loss 设置权重,或者对 R-CNN 和 RPNs 设置不同权重

采用 SGD 训练,momentum=09 学习率初始值为 0001,50K 次迭代后衰减为 00001 这是一组常用参数设置。

你好!

unetlab是Unified Networking Lab的简称 前生是WEB-IOU 由国外第三方制作

主要成员有Andrea Dainese

第一款第三方支持多厂商的模拟器 功能非常强大

cisco官方模拟有PT(Packet Tracer 最新70) VIRL(Virtual Internet Routing Lab

按节点和授权时长收费)

优势:

支持的设备广泛 几乎能模拟的设备都支持

WEB统一管理 拓扑清晰直观 弥补了IOU的不足

更加方便的拓扑编辑 比WEB-IOU方便太多了 体验下 你就知道了

资源使用比较低 相对来说

不足:

对于新手来说 第一次配置导入设备简直就是噩梦

导入设备有一定命名限制 需要满足特定的格式

注意:UNL支持的设备中有的需要授权才能正常使用 比如cisco IOL设备

希望能帮助你!

在对网络的协议簇有个大概的认识之后,我们就来接触一些实际一点的东西,无论是在部署小型的局域网,还是中型企业网络,亦或者是大型的企业网络,甚至是广域网,我们都不是上来就做,必定会对网络的连接规划会有一定的设计,胡乱的连接与设置很容易网络的性能低,更甚者产生网络风暴,导致无法上网。
还记得我们在上文提到过的拓扑图吗?拓扑图能够以一种很清晰明了,很直观的方式让我们理清楚网络的结构,这样的方式在出现问题的时候易于定位。毕竟在实际生活中设备都是放在的不同的地理位置,没有拓扑图带来清晰、直观的逻辑结构。
这样的图式便是拓扑图,由点、线组成:

而在实际生活中我们更多的会使用模拟机来仿真设计我们的拓扑结构,如图所示:

Cisco 提供的解决方案是一种三层网络设计模型(three-layer network design model),他将网络分为这样三层:
核心层(Core)
汇聚层(Distribution)
接入层(Access)

三层模型虽然有诸多的好处,但是也不是适用于所有的场景,在某些网络情况下会将其中的某两层合成一层,从而得到一个两层结构的网络。
接下来我们便来看一下这三层模型各层的具体的作用:
核心层(The Core Layer)
核心层通过非常快速的数据包转发来提供一个已优化的并且非常可靠的传输结构。换句话,核心层就是要尽可能快的转发数据包(switch packets as fast as possible),所以尽可能的避免在核心层的设备运行其他一些很耗 CPU 资源的进程(交换机与路由器数据包的转发机制不同,转发芯片与 CPU,这里指代的是影响转发速率的一些功能),尽可能的让它全心全意的去转发数据包。而这里所说的很耗 CPU 资源的动作或者是影响速度的动作像是访问控制列表的访问控制检查,数据的加密,地址转换等等这样的网络控制功能。
核心层被认为是所有流量的最终承受者和汇聚者,所以对核心层的设计以及网络设备的要求十分严格。核心层设备将占投资的主要部分。 核心层需要考虑冗余设计。
汇聚层(Distribution)
汇聚层是位于核心层与接入层之间,有助于核心网络与其他网络的区分,这一层的主要功能是通过访问控制与一些其他的过滤条件来限制进入核心层网络,从而防止一些不必要的流量,以及某些网段的问题蔓延和影响到核心层。因此会在这一层为网络定义一些策略,而这些策略就是一些控制网络交通情况的一些方法,如 地址合并,协议过滤,路由服务,认证管理等等。
汇聚层设备一般采用可管理的三层交换机或堆叠式交换机以达到带宽和传输性能的要求。汇聚层设备之间以及汇聚层设备与核心层设备之间多采用光纤互联,以提高系统的传输性能和吞吐量。
接入层(Access)
接入层通常指网络中直接面向用户连接或访问的部分。接入层利用光纤、双绞线、同轴电缆、无线等传输介质,实现与用户连接。
接入层交换机具有低成本和高端口密度特性。
例如这样的设计:

而在设计时有这样的几个原则需要大家去考虑:
网络直径:任意两台终端之间连接时通过的交换机数目的最大值。网络直径最好不要超过7,否则一旦网络发生故障难以检测故障发生的链路或节点。而且,网络直径同路由收敛时间及整个网络的稳定性有很大关系。
带宽冗余:通过将两台交换机之间的多条并行链路合并为一条逻辑链路来实现带宽聚合
冗余链路:网络在分层网络的各层之间使用冗余链路来确保网络的可用性。

在不同的网络中层次中使用不同的网络设备,根据不同的使用环境有不同的选择,每一层都是用交换机或者都使用路由器,亦或者是交叉使用。
曾经我们提到过交换机是工作于网络的第二层数据链路层,所以也称之为二层交换机,但是仅仅为了做三层的转发,增加路由器很不划算,于是演进出了三层交换机。
虽然三层交换机有一些处理网络层功能的能力,但是它的设计有异于路由器,所以它并不能完全代替路由器,对于这样的讨论可以看看 这篇文章
对于中大型企业通常有这样的推荐型号组合:核心层使用 Cisco Catalyst 6500,汇聚层使用 Cisco Catalyst 4500,接入层使用 Cisco Catalyst 3750 亦或者是 3560。

思科官方也有这样的推荐:
核心层:7500, 7200, and 7000 series routers。
汇聚层:4500, 4000, and 3600 series routers。
接入层:2600, 2500, 1700, and 1600 series routers。

对于机器的选择到底使用交换机还是路由器,购买 6500 还是 7200,当然还有诸如华为,华三,juniper等等一些其他的厂商可以考虑,建议还是根据多方面去考虑,如网络的规模,网络的应用的场景,网络主题传输的是什么样的数据流量,网络未来的发展,还有成本的控制等等,大型的功能全面的机器当然越发的昂贵。

ISP 提供一个接入点给企业或者是民用,而给你的接入口只有一个,但是一个企业或者是家庭接入的设备肯定不止一个,在早期还没有出现无线的时候,使用的设备是集线器,一种基于物理层的设备,用于扩充端口。就像墙上的插线孔,我们觉得不够用需要使用插线板来扩充它的孔数,集线器就是这样的设备。
这种方式的实现也出现了新的问题,他就像漏斗一样开口变大了但是出口没有变化,也就意味着同一条线路上有很多信号的存在,而这些信号若是没有一个合理的规划很容易就混乱了,就像交通拥堵一般。信号与信号之间会有冲突,而这些冲突会导致数据包的碰撞而使得数据损坏或者直接丢失,这样在一个区域称之为冲突域。
由此便产生了一种新的技术 CSMA/CD(Carrier sense multiple access with collision detection:带冲突检测的载波侦听多路访问机制)。
以太网使用的一种规则集是基于IEEE 的载波侦听多路访问/冲突检测 (CSMA/CD)技术,系统将以太网信号传送到连接在 LAN 中的每一台主机,传送时使用一个特殊的规则集来确定哪台工作站可以访问网络。

如图中所示,总线型局域网,这是一个典型的冲突域,若是两台主机同时向外发送报文,报文将在介质中传播,相互碰头。此时,双方的信号就会混合,报文被损坏,从而形成冲突。
总线型网络:所有的节点共享一条数据通道,一个节点上发出的信息,可以在网络上的其他每个节点上接收,因为其所铺设的线缆最短,成本低,并且节点自身的故障并不会影响到网络,所以总线型网络非常的普遍。

所有节点共享一条传输线路,每个节点在传输数据之前都要侦听线路上是否空闲。如果空闲,则立刻发送数据;若不空闲,表示总线处于忙的状态,则等待一定时间之后再传,以免造成信号的碰撞,在等待的过程中依旧监听着线路空闲状况。如果在传输的时候,因为设备之间的距离造成一台设备的信号延时,也就是说,另一台设备无法检测到信号,可能会同时开始发送数据。那么,现有两台设备同时在介质中发送信号,信号相互碰头,双方的信号就会混合,报文被损坏,从而形成冲突。检测到冲突之后发送设备将发出堵塞信号。堵塞信号通知其它设备发生了冲突,以便使得其他设备使用退避算法后退一个随机时间,再重传数据。共享方式的以太网就是利用此机制进行数据传输的。
而 CSMA/CD 对线路的监听是通过线路处于的电压,也就是线路是高电平还是低电平来判断此时的线路是否有数据传输。
这便是以太网中的 CSMA/CD 技术的总体解决方案。
因为冲突域与 HUB(集线器)的端口问题,所以产生了交换机,交换机上每一个端口才是一个冲突域,从而减小了冲突域。

而二层的交换机工作于数据链路层,该层主要是以帧为单位,帧的传播有这样的三种方式:
单播:单播是一对一的发送,一个发送方,一个接收方,就像打电话一样;
组播:组播是一对多的发送,一个发送方,多个接收方,多个接收方是指定的一组地址,就像班上分小组讨论,我将我的想法讲给我的组员,班上的其他成员也在场但是班上的其他同学并不会知道我的想法;
广播:广播是一对多的发送,一个发送方,多个接收方,而这里的多个接收方是所有的端口,在同一个广播域内的所有设备,就像老师给班上的同学讲课,在场的所有同学都会接收到老师的信号。

集线器上所有的端口是一个冲突域,而在交换机中隔离的冲突域,一个端口是一个冲突域,但是交换机上所有的端口是一个广播域,也就是说广播域中一台设备发出广播帧,其他设备都会收到。就像微信群中,@所有人,群中所有人都会收到提示一样。以太帧的广播还有一个名字叫做泛洪(flooding)。

冲突域:数据流、数据帧在一条线路中,会发生碰撞、冲突的范围。
广播域:广播的数据流与数据帧会发送的范围。如上图中若是有一个端口中连接的交换机,那么广播域会进一步的扩大。
在交换机中数据的转发更多的是依靠以太帧中的 MAC 地址来实现数据的通信。正如我们在实验二中看到的 ARP 实现的过程,即使知道 IP 地址,但是没有 MAC 地址根本无法发出数据帧。
我们来回顾一下以太帧的格式。数据帧起始部分由前导码和帧开始符组成,后面紧跟着一个以太帧的报头,以 MAC 地址说明目的地址和源地址。

交换机根据源 MAC 地址填充 MAC 地址表。 当交换机收到一个传入的帧,而其目的 MAC 地址在 MAC 地址表中找不到时,交换机会将该帧转发到除作为该帧入口的端口之外的所有端口(泛洪)。 当目的设备作出响应时,交换机会将帧的源 MAC 地址和接收该帧的端口添加到 MAC 地址表中。 在多台交换机互连的网络中,MAC 地址表将包含与其他交换机连接的每个端口的多个 MAC 地址。这样在中间设备很多的时候也能准确的找出下一站转发的设备。
以下步骤描述了构建 MAC 地址表的过程:
1交换机收到来自 PC 1 的帧。

2交换机将检查源 MAC 地址并与 MAC 地址表进行比较。
若在 MAC 地址表中查无源 MAC 地址,交换机会在 MAC 地址表中将 PC1 的源 MAC 地址与入口端口相对应。 若是 MAC 地址表中存在源 MAC 地址与端口的对应记录,则它将重置老化计时器(MAC 地址表会清理一些老化项,以实事更新当前的网络结构)。MAC 地址条目通常可以保持五分钟。

3记录了源 MAC 地址后,交换机将检查目的 MAC 地址。然后转发到目的设备。
若 MAC 地址表中查无目的地址,或者它是一个广播 MAC 地址(以全 F 表示,Broadcast),则交换机会将该帧泛洪到除入口端口以外的所有端口

4目的设备收到帧后,为了响应此帧,发出目的地址为 PC 1 的单播数据帧。
5交换机现在无需泛洪即可在这些源设备和目的设备之间转发帧,因为地址表中已经有了标识关联端口的条目。

但是这是一种被动的方式,而且只能知道端口与设备名的对应关系,不能知道该设备的相关信息,若是管理员手中没有拓扑图,也不了解有哪些相关的设备,远程登陆上某台设备之后并不知道周围设备的相关信息,与当前的网络结构,由此便出现了 CDP 协议。
CDP(Cisco Discovery Protocol),它是由思科公司推出的一种私有的二层网络协议,大部分的思科设备启动时该协议都会自动运行起来。通过运行 CDP 协议,思科设备能够在与它们直连的设备之间分享有关 *** 作系统软件版本,设备表示,地址表,端口标识,性能表等等信息。类似的协议有 HP 的 LLDP (Link Layer Discovery Protocol)还有华为/H3C 的 NDP(邻居发现协议)协议。
CDP 是一个二层的网络协议,默认每 60 秒向 01-00-0C-CC-CC-CC 这个组播地址发送一次通告,如果在180秒内未获得先前邻居设备的 CDP 通告,它将清除原来收到的 CDP 信息。

我们可以来看看设备中 CDP 的数据包与其相关的指令:
实验目的:了解 CDP 的使用与数据包结构
实验材料:两台交换机

实验方法:
拖动两台交换机至画布
配置交换机的名字
查看链路中的 CDP 数据包

同样的我们使用终端的打开 GNS3 模拟器,并向画布中拖动两台设备,然后开启设备 Switch 1、Switch 2,同时链路上的监控 Switch 1 上的数据包:

我们可以看到开启设备之后,便可以清楚看到有很多的 CDP 数据包在传输。
在思科设备中 CDP 是默认开启所以开机之后便有 CDP 相关的数据包在发送,CDP 每 60 秒发一次组播信息,组播地址是 01:00:0c:cc:cc:cc(MAC地址第1字节是0x01、0xC1或者是0x33都表示这个MAC地址是组播地址,Cisco的OUI是00-00-0C,所以协议的数据包只能在 Cisco 的设备中发送,若中间有其他厂商的设备将不会被该协议发现)。CDP 获得的信息可以使用 CDP 命令查看,而其中的表项保留时间为 180 秒,也就是说 CDP 发送 3 次 CDP 之后都表中的设备都没有响应,说明该设备已经不存在,便会移除该表项;若是响应了则重置老化时间。
我们可以登录上 Switch 1 然后输入这个命令,我们可以看到与 Switch 1 直连相关的设备:

通过该命令我们可以看到与 Switch 1 直连 Switch 2 的一些相关信息:
Device ID:设备的 ID,也就是设备的 Hostname
Entry address:它的 IP 地址,此时我们并没有配置任何的 IP 地址,所以该栏是空白的。此 IP 地址是与本设备直连通信的 IP 地址
Platform:设备系统的运行平台,因为我们使用的是 IOU,所以平台显示的是我们的 *** 作系统 Linux
Interface:与该设备直连的端口名称与端口
Holdtime:该项目还会存在的时间
Version:设备所运行的系统版本
advertisement version:数据包的宣告版本
VTP Management Domain:VTP 所在域的域名
Native VLAN:该设备所属的 vlan
Duplex:端口的模式,是半双工模式

若是我们并不想看详细的信息,只是想看各个端口上有设备,我们可以使用这样的一个命令:

通过这个命令我们就可以看到一些简明扼要的信息:

当然若是觉得 60 秒发送一次数据,影响了我们网络的带宽,并且我们并没有使用的他的必要,我们可以关闭该协议:

此时再次使用 show cdp entry 会发现 CDP 并没有运行的提示,同时我们也可以看到 wireshark 中 Switch 1 也没有在继续发送 CDP 的数据包。
当然若是觉得还是很有必要的话可以开启 CDP,可以修改一下 timer 与 holdtime 这两个参数,timer 表示每多少秒发送一次 CDP 数据包取值是 5254,而 holdtime 表示发现项保留的时间,其取值范围是 10255。这样就可以减少其在网络中发送数据包的频次,从而减小网络带宽的压力


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13450804.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-09
下一篇 2023-08-09

发表评论

登录后才能评论

评论列表(0条)

保存