一、交换基础

交换机的概念

  • 交换机工作在数据链路层,负责转发数据帧(借助于MAC地址表)
  • 能够隔离以太网中的冲突域

交换机的功能

  • 学习
  • 转发

    交换机的转发行为

  • 泛洪(Flooding)

  • 转发(Forwarding)
  • 丢弃(Discarding)

    交换机的工作原理

  • 例如主机A—>主机B

  • 初始状态下,MAC地址表为空
  • 所以会发送ARP广播报文(交换机收到广播报文会进行学习和转发)

常用命令:
[SW1]display mac-address
//查看Mac地址表,动态Mac地址老化时间为6分钟
[SW1]stp edged-port default
//开启边缘端口特性,使端口不在参与生成树收敛,直接进入转发状态
总结

  • 当一台主机从交换机的一个端口移动到另外一个端口时,交换机的MAC地址表会发生什么变化?
  • 回答:

    • 首先交换机的源接口下的MAC地址表会立即清空
    • 其次内部会进行MSTP生成树的收敛
    • 所以需要等待30s之后交换机才会进一步的学习Mac

      二、VLAN的基础

      vlan是什么

  • vlan叫做虚拟局域网

  • 默认情况下是vlan1
  • 能够隔离广播域,提升网络的安全性
  • 同vlan内用户能够进行二层的互访

    vlan帧格式

    image.png

  • Type/TPID:取值为0x8100时表示802.1Q Tag帧;该字段又称为“TPID(Tag Protocol Identifier,标签协议标识)”

  • PRI:表示帧的优先级,取值范围为0~7,值越大优先级越高
  • CFI:Canonical Format Indicator经典格式指示符,表示MAC地址是否是经典格式,CFI为0说明是标准格式,CFI为1表示为非标准格式,以太网的CFI值为0
  • VID:可配置的VLAN ID取值范围为1~4094。0和4095协议中规定为保留的VLAN ID

    vlan链路类型

  • access:接入链路,只能承载单一vlan数据

    • 接收数据
      • 查看数据是否携带tag标签?
      • 如果携带,则查看vlan tag 与接口的PVID是否相同,相同则接收,不同则丢弃
      • 如果未携带,则会给数据打上vlan tag标签,vlan id与接口的pvid相同
    • 发送数据:
      • 对于数据帧携带vlan id 和出接口的PVID是否相同?
      • 如果相同,则剥离tag,发送原始帧出去
      • 如果不同,则丢弃
    • 配置
      • [SW1]int g0/0/1 //进入接口视图
      • [SW1-GigabitEthernet0/0/1]port link-type access //将接口配置为access模式
      • [SW1-GigabitEthernet0/0/1]port default vlan 10 //配置接口PVID
      • [SW1]display port vlan //查看所有接口的配置情况
  • trunk:干道链路,可以承载多个vlan数据

    • 接收数据
      • 查看是否携带tag?
      • 如果携带:
        • 查看放行列表是否允许,允许直接收到交换机内部,不允许则丢弃
      • 如果未携带:
        • 打上一个tag。vlan id和接口PVID取值相同。再查看放行列表,允许则通过,反之丢弃。
    • 发送数据
      • 查看放行列表
      • 允许,还要查看vlan id 是否和接口的PVID相同
        • 相同则剥离tag,发送原始帧出去
        • 不同则直接发出去
      • 不允许,则直接丢弃
    • 配置:
      • [SW1]clear configuration interface GigabitEthernet 0/0/2 //清空接口的配置
      • [SW1]int g0/0/2 //进入接口
      • [SW1-GigabitEthernet0/0/2]dis this //查看接口配置情况,发现接口是shutdown的
      • [SW1-GigabitEthernet0/0/2]undo shutdown //打开接口
      • [SW1-GigabitEthernet0/0/2]port link-type trunk //将接口配置为trunk模式
      • [SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all //配置放行列表
    • 注意:
      • trunk接口如果放行所有,这里的所有是指本地交换机创建的所有vlan
    • 实验
    • image.png
    • 提问:如果将0/0/2接口的模式改为trunk,则应该如何配置使得PC1能够ping通pc2?
      • 解答:
      • ①设置允许放行的vlan列表
      • ②将该接口下的PVID与vlan id相同 即可。
    • 配置:
      • [SW2]clear configuration interface GigabitEthernet 0/0/2 //清除接口配置
      • [SW2]int g0/0/2
      • [SW2-GigabitEthernet0/0/2]undo shutdown
      • [SW2-GigabitEthernet0/0/2]port link-type trunk
      • [SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan 10
      • [SW2-GigabitEthernet0/0/2]port trunk pvid vlan 10
  • hybrid:混杂模式

    • 即可以连接终端,又可以连接交换机
    • 当hybrid面对终端时:
      • port link-type hybrid //将接口模式配置为hybrid模式,默认是这个
      • port hybrid pvid vlan 10 //相当于access的default vlan 10
      • port hybrid untagged vlan 10 //相当于access接口发送数据时剥离tag
    • 当hybrid面对交换机时:
      • port hybrid tagged vlan 10 //相当于trunk的放行列表
      • port hybrid pvid vlan 10 //相当于trunk的PVID
  • 批量配置接口

    • [SW2]port-group 1 //创建一个端口组
    • [SW2-port-group-1]group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/10 //规定相应接口

      课后作业

      image.png
      image.png

      Voice vlan(语音vlan)

      通过配置语音vlan可以区分语音流量和业务流量

      单臂路由配置

      image.png

      mux-vlan

      image.png

      聚合vlan(super vlan)

      工作原理
  • 先创建诺干个vlan:10 20 30

  • 指定一个聚合vlan:30
  • 指定诺干个子vlan:10 20
  • 作为聚合vlan只能配置vlanif作为各个子vlan的网关地址
  • 所有的子vlan都能够和聚合vlan互通
  • 所有的子vlan之间不能进行二层互访

配置:

  • vlan 30
  • aggregate-vlan //指定聚合vlan
  • access vlan 10 20 //指定子vlan

三、交换机的高级特性

1、端口隔离

原理:

  • 配置相同隔离组编号的端口之间不能互通
  • 配置了隔离组的端口可以访问没有配置隔离的端口
  • 配置了不同隔离组编号的端口之间可以互访

特殊:

  • 单向隔离

配置:
image.png
如何实现单向隔离?
//此实验需静态添加MAC

  • arp -s ip地址+Mac地址

配置:

  • [SW1]int GigabitEthernet 0/0/5
  • [SW1-GigabitEthernet0/0/5]am isolate GigabitEthernet0/0/4 //4能够给5发 ,但5不能给4发

    2、ARP代理

    2.1、ARP报文的5元素

    • 报文类型:request
    • 源MAC
    • 源IP
    • 目的MAC
    • 目的IP

2.2、ARP代理的分类

  • 路由式ARP代理

image.png

  1. - int g0/0/0
  2. - arp-proxy enable
  • vlan内ARP代理
    • 用于解决相同vlan,不同用户隔离后的网络互访问题
    • arp-proxy inner-sub-vlan-proxy enable
  • vlan间ARP代理
    • 用于解决super-vlan的子vlan之间互通问题
    • arp-proxy inter-sub-vlan-proxy enable

      3、QinQ

      定义:
  • QinQ是一项扩展vlan空间的技术,可以使私网vlan透传公网。【802.1Q【802.1Q】】;即一层公网Tag,一层私网Tag.

优点:

  • 扩展VLAN,对用户进行隔离和标识不再受到限制。
  • QinQ内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务,更利于业务的部署。
  • QinQ封装、终结的方式很丰富,帮助运营商实现业务精细化运营。
  1. 解决日益紧缺的公网VLAN ID 资源问题
  2. 用户可以规划自己的私网VLNA ID
  3. 提供一种较为简单的二层VPN解决方案
  4. 使用户网络具有较高的独立性

工作原理:

  • QinQ是指在802.1Q VLAN的基础上增加一层802.1Q VLAN标签,从而拓展VLAN的使用空间。在公网的传输过程中,设备只根据外层VLAN Tag转发报文,并根据报文的外层VLAN Tag进行MAC地址学习,而用户的私网VLAN Tag将被当作报文的数据部分进行传输。

QinQ封装:

  • 基于接口的QinQ封装
  • 基于VLAN ID的QinQ封装(灵活QinQ)
  • 基于802.1p优先级的QinQ封装(基于流的灵活QinQ)

QinQ的实现方式

  • 基本QinQ
  • 灵活QinQ
  • QinQ/Dot1q终结子接口

    4、端口安全

    5、端口镜像

    6、数据包捕获

    image.png

  • [R1]capture-packet interface g0/0/0 destination file 1.cap

  • 将接口g0/0/0的流量捕获出来存放在flash中,文件名为1.cap,通过tftp工具将文件推送至PC查看

四、STP

环路的影响:

  • 广播风暴
  • MAC地址漂移
  • 接收重复的数据帧

术语:

  • 根桥:为了防止和破除网络中的环路,选择的一个参考点
  • 桥id:桥优先级
  • root ID:是指根桥的桥ID(更多的是从BPDU报文中看到)
  • 非根桥:除了根桥以外的交换机叫做非根桥,也叫非根交换机
  • 端口ID:就是指PID:端口优先级(缺省值128,且必须是16的倍数)+端口编号
  • RPC:root path cost,根路径开销(非根桥到达根桥的开销值)
  • 根端口:非根交换机上去往根桥最近的端口(用来接收根桥发出的BPDU)
  • 指定端口:会在每一条链路上选出一个指定端口,用来发送BPDU
  • BPDU:桥协议数据单元,是STP工作的唯一报文

概念:

  • 生成树协议 spanning Tree Protocol

分类:

  • STP
  • RSTP
  • MSTP