当前位置: 首页 > news >正文

云计算网络基础第六天

端口协商参数:

    speed - 速率; 

duplex - 双工模式

           半双工 - 同一时刻,只能收或者发;

   全双工 - 同一时刻,可以同时收和发;

建议:

    不同类型的设备之间进行互联链路时,需要手动指定速率和双工


========================================================


传统交换网络存在的问题:

       单点故障

   

解决方案:

       增加冗余链路

   增加冗余设备

       

   搞清楚环路是如何形成?


随之而来的问题:

       数据转发环路;

   产生环路的数据,会不断的在网络中进行传输,从而消耗

   网络中链路资源和设备资源;

解决方案:

在交换机上运行 STP 协议;  

   

-------------------------------------------------------    

STP  - 生成树协议; (802.1D)

     

-作用

        存在冗余链路的情况下,实现环路的防护;

    -实现 

        BPDU - 桥接协议数据单元

    -分类

  PVST \ RSTP  \ MSTP 

工作过程:

1、确定交换机角色

       根交换机

       非根交换机

          原则:比较每个交换机的 BID(桥ID),越小越好;

       组成:

        优先级+MAC

    优先级 - 默认是32768

MAC - 交换机的主板MAC(基MAC)

       - 查看命令:show version 

        

2、确定端口角色

   根端口 - 每一个非根交换机只有一个距离根交换机最近的口

   指定端口 - 每一个“冲突域”中都存在一个距离根交换机最近的口

   非指定端口- 其他所有端口,都叫做非指定端口

    如何表示“距离” ?

    在 STP 中,通过 cost 表示一个路径的距离;

对于某些链路,均有默认的 cost 值:

    10M - cost 100 ; 

100M - cost 19 ; 

1G - cost 4 ;

10G - cost 2 ;

    BPDU - 

  Root-ID   //表示根交换机是谁;

  Cost      //表示发送该BPDU的交换机到达 根交换机 的距离

  BID       //表示发送该BPDU的交换机的名字;

  Port-ID   //表示发送方交换机是在哪个端口发送出来的;

               -组成:

       端口优先级.端口号

      -优先级默认值为 128 ; 


3、确定端口状态

    disable     // 相当于shutdown,此时端口不能使用;

    listening   //侦听,该状态侦听的是BPDU,用于确定端口角色

    learning    //学习,该状态学习的是MAC,形成MAC地址表;

    forwarding  // 转发, 即端口的最终转发状态;

    (根端口 、指定端口)

    block       // 阻塞,此时的端口是不可以发送数据的;

        (非指定端口)


-------------------------------------------------------    

修改交换机的 STP 优先级:

     SW2(config)#spanning-tree vlan 1 priority 0     


     导致的结果,此时网络中的“根交换机”由 SW1 变成了 SW2 ; 


     注意:

     当我们修改交换机的优先级的时候,发现问题:

 

SW2(config)#spanning-tree vlan 1 priority 1

% Bridge Priority must be in increments of 4096.

% Allowed values are:

  0     4096  8192  12288 16384 20480 24576 28672

  32768 36864 40960 45056 49152 53248 57344 61440  

 


即:交换机的 STP 优先级必须得是 4096 的倍数;


-----------------------------------------------------------

开启一个 VLAN 的 STP 协议: 

默认情况下,交换机为每个 VLAN 打开了 STP ; 

想关闭:

     no spanning-tree vlan 200

    验证:

     show spanning-tree 

交换机如何区分不同 VLAN 的 BPDU :

    我们使用 BID 中的 2 个字节的优先级中的 低12 bit 作为

vlan 号 ;

由此得出:

    前面2个字节的优先级字段,真正用来表示优先级的,仅有4

bit ; 所有呢,优先级只能有 16 个 ; 

但是,在表示优先级数值的时候,后面的12bit,都必须算上

同时,必须是0;

即,每个交换机的 STP 的优先级,都是 2的12次方的 0-15

倍数,即 4096的倍数;

LAN中存在的一个问题:

        单点故障


      解决方案:

       增加冗余的链路或者设备;

-------------------------------------------------------

STP 

   - 生成树协议;  

   

   - 作用: 

        网络中存在冗余链路的时候,防止  局域网 环路;

默认情况下,STP 是开启的;

终极目标:

    在LAN中,保证任何两个通信终端之间永远只有一个:

    最短、无环 的 转发路径;

   - 分类:

      STP --->  PVST -->  RSTP -->  MSTP 

   - 报文:

       BPDU - 桥接协议数据单元   fanyi.baidu.com  

                                           www.baidu.com

   - 工作过程 

         1、确定交换机角色

            根交换机  - 一个VLAN/LAN 有且只有一个根

非根交换机 - 除了根,其他都叫非根交换机

   选举原则:

       比较BID,越小越好;

      BID组成 - 优先级+MAC 

            优先级 - 默认32768 

 MAC  - 交换机基MAC

     show version 

2、确定端口角色

       根端口 -    

         非根交换机上,有且只有一个,距离根交换机

         最近的,端口

   

   指定端口 -

       每一个冲突域中,有且只有一个,距离根交换机

   最近的,端口;

   

   非指定端口 - 其他端口,都是非指定端口;

   

       STP中如何表示距离?

         答: 通过 cost 表示;

 

 10M - 100 ;

                         100M - 19 ; 

                         1G   - 4 ; 

                         10G  - 2 ;

        3、确定端口状态:

            disable , 

            listening 

            learning 

            forwarding 

block

   

STP收敛速度优化方案


Port-Fast特性:

        可以确保将 access 链路上连接的 终端设备,

直接从disable 状态 变成 转发状态;

端口状态转换时间,从原来的 30s 降低为 0 s ; 


配置命令:

    interface  fas0/1    // 连接的 PC ; 

  swtichport mode access

  swtichport  access vlan 1 

  spanning-tree portfast   // 开启port-fast功能;

验证命令:

show spanning-tree interface fas0/1  portfast 


----------------------------------------------------------

Uplink Fast 特性:

        针对的是交换机之间的 Trunk链路

        当交换机发现自己本身的链路出现故障以后,

        会快速的将备份链路转换为主链路进行使用,

        切换时间,从原来的30s ,降低为 0 s ,实现秒切;

 

配置命令:

        SW(config)# spanning-tree  uplinkfast   

验证命令:

       SW# show spanning-tree  summary

注意:

        1、仅针对设备发现的直连故障的链路切换;

        2、仅在本地设备开启即可,对端设备可以不开启;

        3、STP的优先级,必须是默认的 32768;



STP安全性优化方案:

 

BPDU Guard : BPDU 保护 

          即开启了该特定的端口,不允许接收BPDU,

          如果接收到 BPDU,端口会进入 err-disable 状态。

配置命令:

        interface  fas0/2 

         spanning-tree portfast bpdugard  //开启BPDU保护;

 

注意: 

    该特性一般使用在 access 链路上;


--------------------------------------------------------

Root Guard :根交换机保护

       在端口上配置该命令,表示将该端口强制性的指定为指定端口

   如果经过正常的 BPDU 比较,无法使得该端口成为指定端口,

   在将该端口设置为“非一致”状态,此时的端口不能转发数据;

   从而实现了对原根交换机的保护;


配置命令: 

     interface  fas0/24 

    spanning-tree  guard  root 


验证命令:

     show spanning-tree 

    从而可以看到该端口的角色一致是 "指定端口"

   

注意:  

     该特性,不一定非得配置在根交换机;


  

-------------------------------------------------------------

HSRP组成员路由器身份确定:

       HSRP启动以后,通过比较报文中的优先级来确定成员路由器的

       主和备的身份。优先级的值越大越好。

       默认优先级是100 ; 


配置命令:

   interface gi0/0

       standby 10 priority  210 ; 

   

并且,必须得开启所有成员路由器的“抢占功能” ;

    interface  gi0/0 

       standby  10  preempt //开启 该网段在组10中的抢占功能

   

验证命令: 

    show standby 



------------------------------------------------------------


HSRP 链路跟踪 (模拟器无法实现降低指定数量的优先级)

      启用了 HSRP 的网关,可以跟踪连接外网的链路的状态;

  如果被跟踪的链路 down,则该网段端口会在对应的 hsrp 组

  中降低指定的优先级,从而可以让原网中的备份网关转换为

  主网关;

配置命令: 

    interfce  gi0/0  // 进入网关端口;

   standby 10 track gi0/1  priority 150 //跟踪链路 gi0/1 

注意: 

        上述命令中的 gi0/1 应该路由器上连接外网的链路;

   

     本文转自hj_1314wgn 51CTO博客,原文链接:http://blog.51cto.com/13513556/2048363,如需转载请自行联系原作者

相关文章:

  • Asp.Net中虚拟文件系统的使用
  • yum管理详解
  • mysql数据库操纵语言
  • Centos7系列(三)防火墙与网络区域详解
  • table的使用以及其内padding、margin的实现
  • 判断点是否在多边形内部
  • 算法系列——算法入门之递归分而治之思想的实现
  • 建立名称server
  • Hyper-V Server增强会话模式
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • Spring AOP 1
  • 如何启动Nunit的调试功能
  • ELK日志分析系统实战(一)安装和部署
  • H3C路由器登录管理
  • Laravel5.1 条件性验证
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • CentOS 7 修改主机名
  • codis proxy处理流程
  • jdbc就是这么简单
  • 阿里云应用高可用服务公测发布
  • 不上全站https的网站你们就等着被恶心死吧
  • 翻译--Thinking in React
  • 复杂数据处理
  • 前端学习笔记之观察者模式
  • 如何实现 font-size 的响应式
  • 使用parted解决大于2T的磁盘分区
  • #define 用法
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (1)Nginx简介和安装教程
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (离散数学)逻辑连接词
  • (七)Knockout 创建自定义绑定
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)关于pipe()的详细解析
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET开发不可不知、不可不用的辅助类(一)
  • /var/lib/dpkg/lock 锁定问题
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • [1525]字符统计2 (哈希)SDUT
  • [C/C++]_[初级]_[关于编译时出现有符号-无符号不匹配的警告-sizeof使用注意事项]
  • [CISCN2019 华东南赛区]Web11
  • [C语言]——分支和循环(4)
  • [C语言]——内存函数
  • [error] 17755#0: *58522 readv() failed (104: Connection reset by peer) while reading upstream
  • [Foreman]解决Unable to find internal system admin account
  • [hdu 1247]Hat’s Words [Trie 图]
  • [JavaWeb]—Spring入门
  • [JS7] 显示从0到99的100个数字
  • [leetcode 双指针]
  • [linux]--关于进程概念(上)