生成树协议、CDP思科设备发现协议、SSH协议

线路冗余->交换机成环

交换机成环导致:

1 广播风暴

2 mac地址表震荡

一个mac在一台交换机上只能对应一个接口,但一个接口可以对应多个mac

3 重复帧拷贝

生成树协议:

802.1D、PVST、PVST+、802.1s、802.1w

生成树协议用于实现二层线路冗余,在网络中逻辑的阻塞部分接口来实现从源到目的仅有一条唯一路径;

最佳路径故障时,阻塞端口自动工作来实现备份的作用;

所谓生成树,就是在二层网络中构建一个树形结构,形成唯一、最短、星型拓扑;

802.1D

公有

PDU:协议数据单元

应用层 报文

传输层 数据段

网络层 数据包

数据链路层 数据帧

物理层 比特流

BPDU:桥协议数据单元,跨层封装到二层;

配置BPDU:最初未选出根桥时所有交换机均会发出,选出根桥后仅根桥可以发出

次优BPDU:TCN,拓扑变更消息

Hello time 2s,Hold time 20s

选举四个角色:

根网桥:一棵树仅有一个,负责整棵树的管理、维护

比较桥ID,桥ID最小的成为根;

桥ID=网桥优先级(默认32768,取值范围0-65535)+mac

根端口:所有非根设备上存在且仅有一个,负责接收根桥的BPDU和转发用户流量

1 基于cost值,比较入向cost(选举根端口是为了接收BPDU),小则为根端口

Cost值:

10M=100

100M=19

1000M=4

10000M=2

>10000M=1

2 入向cost值相同,比较两个接口对端交换机的桥ID,最佳对应接口为根端口

3 两个接口对端桥ID相同,比较对端接口的PID=优先级(默认128)+接口编号(小优)

4 两个接口对应对端的桥ID、PID和到根的cost值均相同,比较本地接口PID,小优

指定端口:一条链路一个,转发根桥BPDU和用户流量,根桥的端口全是指定端口

1 比较出向cost值,小优

 

2 出向cost值相同,比较链路两端设备的本地BID,小优,即未来谁当老大谁为指定端口

 

3 本地BID相同,比较本地PID,即优先级和接口编号,小优

 

4 本地PID相同,即一根网线两头接同一接口;由于无法控制HUB的接口,为了破环,交换机将直接阻塞自己本身的接口

 

非指定端口:以上角色选举完后剩余未被分配的端口,会被阻塞,对控制层面流量只接收不转发,对数据层面流量不转发也不接收

mac地址本身用于管理vlan,二层交换机仅一个mac,三层交换机有多个mac;

参选时三层交换机会用自己最小的mac地址;

对生成树协议的干涉,至少要关注根网桥位置,最合适的地点为汇聚层设备

 

接口状态:

1 down

最初交换机刚插上网线,接口处于down状态,接口信号灯不显示;

此时开始通电,信号灯变为橘红色,开始发BPDU并进入2状态;

2 侦听(listening):固定15s

该阶段为选举阶段,该阶段四种角色全部判定完毕;

判定完毕后,根端口和指定端口进入状态3

非指定端口进入状态4

3 学习(learning):固定15s

该状态的接口需要记录所有接口收发的mac地址;生成mac地址表;

4 阻塞

非指定端口也非根端口则进入该状态,指示灯显示橙色;

5 转发(forwarding)

指定和根端口进入学习完成后进入该状态,此时收敛完成;

收敛慢:以前网络设备运算速度慢

链路利用率低:端口被阻塞

直连检测

当交换机连接根桥的唯一一根网线断开时触发直连检测,再过30s阻塞的接口进入转发状态(成为根)

链路断开,交换机从两个接口均无法收到根的BPDU,于是向阻塞端口发送次优BPDU(即交换机自己的BPDU),另一台交换机从阻塞端口收到该BPDU后会等待20s的保活时间,然后才进入30s的侦听、学习阶段,总共耗时50s

PVST

私有,基于vlan的生成树协议

算法与802.1D一致;

仅支持ISL,不支持802.1q;

基于vlan,每个vlan独立一棵树,可实现分流、备份,提高链路利用率;

基于vlan发出BPDU,分别选举不同vlan下的根桥、根端口,指定、阻塞端口,具体选举规则与802.1D一样;

为了基于不同vlan,在vlan2下发出的BPDU优先级为32770,32770-32768=2,则此时进行的是基于vlan2的选举;

若不干涉选举,最终会使一个mac最小的交换机成为多个vlan的根,所以需要手工干预选举,调整优先级使不同交换机成为不同vlan的根;

修改优先级时必须以32768的倍数修改,否则会使一个vlan的BPDU混入其他vlan中;

该协议可以分流;

选举速度慢;

仅支持ISL;

生成树多(一个vlan一个);

PVST+

私有,PVST升级版,目前思科交换机默认运行该算法

实现部分加速;

支持802.1q和ISL;

树多问题未处理;

拥有一个vlan的树的条件:

设备上创建了vlan 2;

设备连接有vlan 2的用户或有trunk干道;

PVST和PVST+干涉选举:

1 网桥优先级:影响根桥位置

2 接口优先级或cost值:影响根端口和指定、阻塞端口位置

修改基于vlan2的设备优先级干涉根桥选举:

修改SW1为vlan1的主根桥(优先级下调2倍的4096);

修改SW1为vlan2的备份根桥(优先级下调一个4096);

修改某个接口在某个vlan的接口优先级(以16的倍数修改,范围0-240);

修改某个接口的开销值;

PVST+部分加速

1 端口加速

将0/1-22调整为portfast接口,调整后接口不参与STP选举直接进入转发状态(指定端口);

Switchport host会将选中的接口全部调整为access模式再做portfast;

一般连接终端的接口使用,trunk干道一般不使用;

不进入接口的情况下将所有access模式的接口调整为portfast;

不对trunk干道生效;

2 上行链路加速

当接口存在直连检测的情况下,可以以毫秒为单位快速打开另一个被阻塞的接口,不需要30s侦听和学习;

运行uplinkfast的交换机桥优先级和接口cost值变大,优先级大则交换机不会抢占根桥,cost值大则交换机上存在阻塞端口可能性变大,存在阻塞端口方便直连检测;

该命令只能在接入层交换机使用;

 

3 骨干加速

所有设备均可配置

针对上面的50s的情况,交换机一个接口对端是根桥的指定端口,另一个接口对端是一个阻塞端口,此时若连接根桥的链路故障,则该交换机无法从任何端口收到根的最优BPDU,此时交换机将发出自己的次优BPDU,假设交换机开启了骨干加速,则可以省掉维持稳定性的20s,直接进入30s(侦听+学习),然后原先的阻塞端口进入转发状态;

PVST+的优点:

1 基于vlan分流

2 部分加速

3 兼容802.1q

PVST+的缺点:

1 初次收敛30s

2 无直连检测则仍需30s

3 生成树多

RPVST/RSTP(cisco)和802.1W(公有)

快速生成树(1-2s内收敛完成)

不计时,主动切换状态:直接侦听决定端口身份,决定好不再等待后直接学习,学习完成后不再等待直接进入相应状态开始工作

RSTP/RPVST基于vlan,一个vlan一棵树;

802.1W不基于vlan,多个vlan一棵树;

 调整使用的生成树协议为RSTP

不是所有接口都支持RSTP:

点到点接口:快速接口即全双工接口,可以支持

共享接口(share):慢速即半双工接口,不支持

可以修改接口类型,使其支持RSTP

cisco私有特点:

优点:快速、分流(基于vlan)、兼容(支持802.1q、ISL)

缺点:树多

公有特点:

优点:快速

缺点:仅一棵树(不分流,链路利用率低)

MSTP/802.1S

多生成树/组生成树

快速生成树;

基于组,一个组一棵树,将多个vlan加入该组,如vlan1/2/3在组1,vlan4/5/6在组2,总共形成两棵生成树;

借鉴PVST,组1的优先级为32769=32768+1,组2的优先级为32770=32768+2,靠优先级区分不同的组,一旦决定运行MSTP,则网络中所有设备都必须统一运行MSTP

此时交换机上有3棵树,0号组树、1号组树、2号组树

0号组包含的vlan

 1号组包含的vlan

2号组包含的vlan

此时网络中所有其他交换机的组vlan信息必须与此交换机保持一致,否则可能出环;

 指定交换机的主根

 指定交换机的备份根

其余命令基本都是将原来敲vlan的部分修改为mst 组号;

 

多生成树协议,会基于不同vlan或不同的组实现多生成树,此时要求:

本地存在这些vlan且本地有这些vlan的活动用户或存在活动的trunk干道,否则交换机上不会出现该vlan的树;

CDP:思科设备发现协议

可以帮助远程了解网络拓扑;

默认开启且每60s为周期向所有邻居告知本地信息;

从左到右:

Device ID:显示连接的对端设备

Local intrfce:本地接口编号

Holdtime

Capability:对端是什么设备,此处R S表示对端为三层交换机(R=routing,S=switching)

Platform:对端设备型号

Port ID:对端接口编号

可以看到完整的CDP信息(可以提供的信息包括设备名称、设备的SVI管理地址、操作系统版本、VTP域名、native vlan等信息)

 在设备上全局关闭CDP

关闭某个接口的CDP

一般安全起见需要关闭所有连接终端的接口的CDP

SSH

相当于加密版的telnet;

只要1.99以上的版本均称为版本2;

Linux系统默认开启SSH登录服务;

SSH使用非对称算法(RSA),使用该算法安全性极高,网银、支付宝均使用该算法;

可以被SSH的设备必定有K,表示设备支持安全加密(SSH)

开启telnet:

开启密文登录认证(开启SSH):

 指定密码库名称,库名称为r1.haojian.com(r1.域名)

开启加密算法,默认生成密钥长度512

修改密钥长度为1024

使用SSH从一台设备登入另一台设备:

用用户ccna登录

指定仅允许ssh:

原文地址:http://blog.51cto.com/12216458/2130212

时间: 2024-10-08 06:29:28

生成树协议、CDP思科设备发现协议、SSH协议的相关文章

局域网设备发现之Bonjour协议

本文由嵌入式企鹅圈原创团队成员-华南师范大学物联网创新中心Hende_Zhu先生执笔. WIFI物联网解决方案中,通常我们需要对设备进行绑定,需要通过某种方法先对设备进行发现,比如微信硬件采用广播的方式,定时向外发送上线消息或者采用一问一答的方式进行发现,Bonjour是由苹果公司实现的一种零配置网络(Zeroconf)协议,它是一种基于服务的设备发现协议,不仅能够自动获取有效IP地址,还可以通过查询服务的方式来找到设备地址,只要双方约定好服务(service)的名称,设备的IP地址和端口都是可

SSH 协议原理、组成、认证方式和过程[转]

https://www.jianshu.com/p/8e5b7aea52b5 概述 SSH是(Secure SHell protocol) 的简写,安全外壳协议(SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议. OpenSSH 是SSH (Secure SHell)协议的免费开源实现.SSH协议族可以用来进行远程控制,或在计算机之间传送文件.而实现此功能的传统方式,如telnet(终端仿真协议). rcp ftp. rlogin.rsh都是极为不安全的,并且会使用明文传送密

Java 实现 SSH 协议的客户端登录认证方式--转载

背景 在开篇之前,让我们先对 SSH 协议有个宏观的大致了解,这样更有利于我们对本文的加深了解.首先要提到的就是计算机网络协议,所谓计算机网络协议,简单的说就是定义了一套标准和规则,使得不同计算机之间能够进行正常的网络通信,不至于出现在一台机器上发出的指令到另一台机器上成了不可认的乱码,SSH 就是众多协议的其中之一.经典的七层 OSI 模型(Open System Interconnection Reference Model)出现后,大大地解决了网络互联的兼容性问题,它将网络划分成服务.接口

设备发现协议

网络环境下设备发现是一种比较常见的应用,比如查找打印机与WiFi.那么我们应该如何通过编程实现对网络中的特定设备进行查找呢? 常用的方式有:IP广播与多播,以及基于这两种方式所实现的第三方协议,较著名的有Onvif协议. 1局域网广播 1.1 定义 广播是一种一对所有的通信模式.有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面. 广播不用进行网络路径选择,不能穿越路由器.这是为了防止广播数据影响大面积的主机,引起广播灾难. 1.2 优缺点

SSH协议详解

转发的http://blog.csdn.net/macrossdzh/article/details/5691924 很透彻啊,学习了 一.什么是SSH SSH是英文Secure Shell的简写形式.通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗.使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度.SSH有很多功能,它既可以代替Telnet,又可以为FTP.Pop.甚至为PPP

一节课详解SSH协议

SSH介绍 ? Telnet缺少安全的认证方式,而且传输过程采用TCP进行明文传输,存在很大的安全隐患.单纯提供Telnet服务容易招致DoS(Deny of Service).主机IP地址欺骗.路由欺骗等恶意***.? 随着人们对网络安全的重视,传统的Telnet和FTP通过明文传送密码和数据的方式,已经慢慢不被人接受.SSH(Secure Shell)是一个网络安全协议,通过对网络数据的加密,解决了这个问题.它在一个不安全的网络环境中,提供了安全的远程登录和其他安全网络服务.? SSH通过T

SSH2.0编程 ssh协议过程实现(转)

之前为了自己做一套SSH,先自己实现了一套telnet.但经过这么多天的苦逼,发现以前的工作都是徒劳.ssh的协议很繁杂,核心的内容在于密码算法,而且自己很难在网上找到周全的细节讲解与详细的实现,只有靠自己刷RFC和问大神还有就是靠强X我的服务器艰难地完成. 现计算了下时间,自己做SSH耗费了进两个月的时间,虽然期间也夹着其他的繁杂事物,但自己在这方面确是是耗费了非常大的精力.因为这方面详细资料的匮乏,自己以前也几乎没有接触过密码学方面的东西,很多只有靠自己摸索,所以我得经常拿我自己的服务器来做

SSH2.0编程 ssh协议过程实现

之前为了自己做一套SSH,先自己实现了一套telnet.但经过这么多天的苦逼,发现以前的工作都是徒劳.ssh的协议很繁杂,核心的内容在于密码算法,而且自己很难在网上找到周全的细节讲解与详细的实现,只有靠自己刷RFC和问大神还有就是靠强X我的服务器艰难地完成. 现计算了下时间,自己做SSH耗费了进两个月的时间,虽然期间也夹着其他的繁杂事物,但自己在这方面确是是耗费了非常大的精力.因为这方面详细资料的匮乏,自己以前也几乎没有接触过密码学方面的东西,很多只有靠自己摸索,所以我得经常拿我自己的服务器来做

ssh协议原理以及实现

ssh(Secure SHell)的诞生: 互联网最初的时候,人们使用telnet远程登陆主机进行操作,但是telnet协议用致命缺陷,它的认证过程和数据传输过程都是明文的,这样,我们主机的信息很容易被他人窃取,于是人们发明ssh协议来解决这个问题. ssh原理:(摘抄自http://bbs.hh010.com/thread-140062-1-1.html,别问我为什么不自己写,一个字,懒) ssh支持多种认证方式,比较常见的有两种:基于口令的方式和基于主机密钥的方式. 大概过程如下(假设从A连