第1章 交换基础

1.1 园区网分层结构

层次 作用
出口层 广域网接入
出口策略
带宽控制
核心层 高速转发
服务器接入
路由选择
汇聚层 流量汇聚
链路冗余
设备冗余
路由选择
接入层 用户接入
接入安全
访问控制

1.2 交换机的主要功能

MAC地址表 address learning
转发和过滤的决策forward/filter decision
环路的避免 loop avoidance

1.3 MAC地址

  • MAC地址有48位,通常被表示为点分十六进制
  • MAC地址全球唯一,由IEEE对这些地址进行管理和分配。
  • 每个地址由两部分组成,分别是供应商和序列号。其中前24位二进制代表该供应商代码,剩下的24位由厂商自己分配

    1.4 交换寻址

    初始状态mac地址表为空
    第一次会泛洪数据帧

    第2章 VLAN 虚拟局域网

    2.1 vlan概述

    分段性、灵活性、安全性
    将交换机的端口进行vlan划分(划分不同的广播域)
    通过十进制数进行标识

    2.2 vlan的成员模式

    | 分类 | 方式 | | —- | —- | | 静态vlan(Static Vlan) | 交换机上的端口以手动方式分配给Vlan | | 动态Vlan(Dynamic VLAN) | 使用VMPS可以根据连接到交换机端口的设备源MAC地址,动态地将端口分配给VLAN | | 语音Vlan(Voice VLAN) | 将端口配置到语音模式可以使端口支持连接到该端口的IP电话 |

2.3 trunk干道

当一条链路需要承载多vlan信息的时候,需要使用trunk来实现
一般见于交换机之间或交换机与路由器之间

2.3.1 ISL封装协议(使用较少)

  • 通过硬件(ASLC)实现
  • ISL标识不会出现在工作站,客户端并不知道ISL的封装新信息
  • Ø 在交换机或路由器 与交换机之间,在交换机与具有ISL网卡的服务器之间可以实现
  • ISL头部26bytes

    2.3.2 dot1q协议(801.1q)

    数据包格式
    802.1q 并非实际封入原始帧中。相反,在以太网帧格式里,在MAC地址源与以太网类型/长度的原始帧里添加一个32位的域(field)。VLAN标签领域必须遵守下列格式:
16 bits 3 bits 1 bit 12 bits
TPID
标签协议识别符
PCP
优先权代码点
CFI
标准格式指示
VID
虚拟局域网识别符

2.4 VLAN的特点

1) 一个vlan中所有的设备都在同一广播域内,广播不能跨越VLAN传播
2) 一个Vlan为一个逻辑子网,由被配置为此VLAN成员的设备组成,不同vlan间需要通过路由器实现互相通讯
3) vlan中成员多基于switch端口号码,划分vlan就是对switch接口划分
4) vlan工作与OSI参考模型的第二层

2.5 cisco上vlan范围

**VLAN **
0、4095 保留
1 cisco交换机端口默认属于VLAN1 不能删除
2-1001 用于以太网VLAN
1002-1005 思科缺省用于FDDI、Token Ring网
1006-4094 扩展VLAN,用于以太网VLAN,在一些很老的平台上不支持

2.6 VTP (VLAN Trunking Protocol)

  • 一个能够宣告VLAN配置信息的信息系统
  • 通过一个共有的管理域,维持vlan配置信息的一致性
  • VTP只能在主干端口(Trunk)发送要宣告的信息
  • 支持混合的介质主干连接(快速以太网,fddi,atm)

    2.6.1 vlan使用过程

    创建vlan
    确立vlan之间的关系

    2.6.2 vtp三种模式

    | 模式 | 功能 | | —- | —- | | sever | 创建VLAN、修改vlan、删除vlan
    发送/转发信息宣告、同步
    存储在NVRAM中、Catalyst交换机默认使sever模式 | | client | 同步
    发送/转发信息宣告
    不会存储与NVRAM | | Transparent | 创建VLAN、修改vlan、删除vlan
    转发、信息宣告、不同步
    存储于NVRAM |

2.6.3 VTP的运作

  • VTP协议通过组播地址01-00-0C-CC-CC-CC在Trunk链路上发送VTP通告
  • VTP Sever和Clients 通过最高的修改定号来同步数据库
  • VTP协议没隔5分钟发送一次VTP通告或者有变化时发送

    2.6.4 VTP的修剪 Pruning

    2.6.4.1 允许所有vlan通过会有什么缺点呢?

    你的接入层交换机上明明是没有这个vlan的业务,但是由于trunk链路允许的所有vlan通过,一些其他vlan的广播流量,组播流量,未知单播泛洪流量也莫名的转发到这台交换机上,造成没有必要的带宽资源浪费,增加了广播域的影响范围。

    2.7 VLAN基本配置

    2.7.1 创建VLAN信息

    1. S-vlan-1(config)# vlan 2
    2. S-vlan-1(config)# name vlan2

    2.7.2 将端口划入特定的vlan

    1. S-vlan-1(config)# interface fa 0/1
    2. S-vlan-1(config-if)#switchport mode access
    3. S-vlan-1(config-if)#switchport access vlan [vlan vlan# | dynamic]

    2.7.3 配置Trunk封装方式

    1. S-vlan-1(config)# interface fa 0/15
    2. S-vlan-1(config)# switchport trunk encapsulation {ISL|dot1q|negotiate}

    2.7.4 开启端口

    1. S-vlan-1(config)# switchport mode{dynamic {auto|desirable}|trunk}

    2.8 VTP的基本配置

    1. S-vlan-1#configure terminal
    2. S-vlan-1(config)#vtp mode ?
    3. client Set the device to client mode.
    4. server Set the device to server mode.
    5. transparent Set the device to transparent mode.
    6. S-vlan-1(config)#vtp domain ?
    7. WORD The ascii name for the VTP administrative domain.
    8. S-vlan-1(config)#vtp password ?
    9. WORD The ascii password for the VTP administrative domain.

    2.8.1 注意:

  • 默认情况:VTP模式为sever

  • VTP域名有大小写敏感
  • VTP密码大小写敏感
  • VTP修剪默认关闭
  • 查看vtp 状态 :show vtp status

    2.9 【实验】vlan

    2.9.1 拓扑图

    2.9.2 交换机配置

    S-vlan-1上vlan配置
    1. S-vlan-1(config)#vlan 10
    2. S-vlan-1(config-vlan)#name VLAN10
    3. S-vlan-1(config)#interface f 0/1
    4. S-vlan-1(config-if)#switchport mode access
    5. S-vlan-1(config-if)#switchport access vlan 10
    6. S-vlan-1(config)#vlan 20
    7. S-vlan-1(config-vlan)#name VLAN20
    8. S-vlan-1(config)#interface fastEthernet 0/2
    9. S-vlan-1(config-if)#switchport mode access
    10. S-vlan-1(config-if)#switchport access vlan 20
    S-vlan-2上VLAN配置
    1. S-vlan-2(config)#vlan 10
    2. S-vlan-2(config-vlan)#name VLAN10
    3. S-vlan-2(config)#interface fastEthernet 0/1
    4. S-vlan-2(config-if)#switchport mode access
    5. S-vlan-2(config-if)#switchport access vlan 10
    6. S-vlan-2(config)#vlan 20
    7. S-vlan-2(config-vlan)#name VLAN20
    8. S-vlan-2(config)#interface fastEthernet 0/2
    9. S-vlan-2(config-if)#switchport mode access
    10. S-vlan-2(config-if)#switchport access vlan 20
    trunk链路配置
    S-vlan-1:
    1. S-vlan-1(config)#interface gigabitEthernet 0/1
    2. S-vlan-1(config-if)#switchport mode trunk
    3. S-vlan-1(config-if)#switchport trunk allowed vlan all
    S-vlan-1:
    1. S-vlan-2(config)#interface gigabitEthernet 0/1
    2. S-vlan-2(config-if)#switchport mode trunk
    3. S-vlan-2(config-if)#switchport trunk allowed vlan all

    2.9.3 查看vlan信息

    2.9.3.1 S-vlan-1信息

    ```powershell S-vlan-1#show vlan brief

VLAN Name Status Ports


1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6 Fa0/7, Fa0/8, Fa0/9, Fa0/10 Fa0/11, Fa0/12, Fa0/13, Fa0/14 Fa0/15, Fa0/16, Fa0/17, Fa0/18 Fa0/19, Fa0/20, Fa0/21, Fa0/22 Fa0/23, Fa0/24, Gig0/2 10 VLAN10 active Fa0/1 20 VLAN20 active Fa0/2 1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active

  1. <a name="auto-id-31"></a>
  2. #### 2.9.3.2 S-vlan-2信息
  3. ```powershell
  4. S-vlan-2#show vlan brief
  5. VLAN Name Status Ports
  6. ---- -------------------------------- --------- -------------------------------
  7. 1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6
  8. Fa0/7, Fa0/8, Fa0/9, Fa0/10
  9. Fa0/11, Fa0/12, Fa0/13, Fa0/14
  10. Fa0/15, Fa0/16, Fa0/17, Fa0/18
  11. Fa0/19, Fa0/20, Fa0/21, Fa0/22
  12. Fa0/23, Fa0/24, Gig0/2
  13. 10 VLAN10 active Fa0/1
  14. 20 VLAN20 active Fa0/2
  15. 1002 fddi-default active
  16. 1003 token-ring-default active
  17. 1004 fddinet-default active
  18. 1005 trnet-default active

2.9.3.3 查看trunk信息

  1. S-vlan-1#show interfaces trunk
  2. Port Mode Encapsulation Status Native vlan
  3. Gig0/1 on 802.1q trunking 1
  4. Port Vlans allowed on trunk
  5. Gig0/1 1-1005
  6. Port Vlans allowed and active in management domain
  7. Gig0/1 1,10,20
  8. Port Vlans in spanning tree forwarding state and not pruned
  9. Gig0/1 1,10,20

2.10 单臂路由

单臂路由(路由器上一棒)指的英文在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。
在路由器中创建子接口

2.10.1 【实验】单臂路由配置

2.10.1.1 拓扑图

2.10.1.2 交换机trunk链路配置

  1. S-vlan-2(config)#interface gigabitEthernet 0/2
  2. S-vlan-2(config-if)#switchport mode trunk
  3. S-vlan-2(config-if)#switchport trunk allowed vlan all

2.10.1.3 路由器子接口配置

fastEthernet 0/1.10子接口配置

  1. Router0(config)#interface fastEthernet 0/1.10
  2. Router0(config-subif)#encapsulation dot1Q 10
  3. Router0(config-subif)#ip address 192.168.10.254 255.255.255.0
  4. Router0(config-subif)#no shutdown
  5. Router0(config-subif)#exit

fastEthernet 0/1.20子接口配置

  1. Router0(config)#interface fastEthernet 0/1.20
  2. Router0(config-subif)#encapsulation dot1Q 20
  3. Router0(config-subif)#ip address 192.168.20.1 255.255.255.0
  4. Router0(config-subif)#no shutdown

2.10.1.4 检查配置结果

  1. C:\>ping 192.168.20.1
  2. Pinging 192.168.20.1 with 32 bytes of data:
  3. Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
  4. Reply from 192.168.20.1: bytes=32 time=1ms TTL=127
  5. Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
  6. Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
  7. Ping statistics for 192.168.20.1:
  8. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  9. Approximate round trip times in milli-seconds:
  10. Minimum = 0ms, Maximum = 1ms, Average = 0ms

查看路由表

  1. Router0#show ip route
  2. Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
  3. D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  4. N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  5. E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
  6. i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
  7. * - candidate default, U - per-user static route, o - ODR
  8. P - periodic downloaded static route
  9. Gateway of last resort is not set
  10. C 192.168.10.0/24 is directly connected, FastEthernet0/1.10
  11. C 192.168.20.0/24 is directly connected, FastEthernet0/1.20
  12. Router0#

第3章 STP生成树

生成树协议(英语:Spanning Tree Protocol,STP),又称扩展树协议,是一基于OSI网络模型的数据链路层(第二层)通信协议,用作确保一个无环路的局域网环境。

3.1 生成树的概念

3.1.1 冗余拓扑

  • 冗余拓扑能够解决单点故障问题
  • 冗余拓扑造成广播风暴,多帧复用,Mac地址不稳定的问题

    3.1.2 广播风暴

  • HOST x发送广播帧

  • 交换机继续没完没了的更新广播流量

    3.1.3 多帧复制

  • Host X 发送一个单播数据帧给 ROUTE Y

  • ROUTE Y 的MAC地址还没有被每个交换机学习到
  • ROUTE Y 接收2份相同的数据帧拷贝

    3.1.4 MAC表紊乱

  • Host X 发送一个单播数据帧给 ROUTE Y

  • ROUTE Y 的MAC地址还没有被每个交换机学习到
  • switch A 和 B 在port1上学习到Host X 的MAC地址
  • 到达Route Y 的数据帧被泛洪
  • Switch A和B 不正确的在Port2上学习到Host X的MAC 地址。

    3.1.5 复杂的多环路网络

    ……

    3.2 使用STP,可以达到四个效果

    1、防止环路;
    2、防止MAC地址震荡;
    3、防止重复帧的出现;
    4、防止广播风暴的出现。

    3.2.1 采用生成树STP解决环路

  • 通过将特定的端口选为Blocking state,实现无环路拓扑

  • IEEE 802.1D 规定了这一行为
  • Cisco 采用 IEEE 802.1D 的增强的私有协议生成树PVST+

    3.3 STP的操作

  1. 每个广播域选择一个根桥root
  2. 每个非根桥上选择一个根端口RP
  3. 每个段选择一个指定端口
  4. 选择一个非指定端口

    3.3.1 每个广播域选择一个根桥 (Bridge ID)

    BPDU数据包—泛洪—选举
    产生一个或多个非指定端口进行阻塞
    Bridge ID (两部分组成): 其依据是网桥优先级(bridge priority)和MAC地址组合生成的桥ID

    3.3.2 每个非根桥上选择一个根端口

    根端口:具有最低的根路径的接口
    要考虑的因素:
    1. 最低的根桥ID
    2. 最低的根路径代价
    3. 最低的发送者根桥ID
    4. 最低端口ID

    3.3.3 stp路径开销cost

    | Link Speed | Cost
    (New IEEE Specification) | | —- | —- | | 10Gb/s | 2 | | 1Gb/s | 4 | | 100Mb/s | 19 | | 10Mb/s | 100 |

最短路径时cost累加,而cost时基于链路的速率的

3.3.4 每个段选择一个指定端口

指定端口:具有最低根路径的接口
要考虑的因素:
1. 最低的根桥ID
2. 最低的根路径代价
3. 最低的发送者根桥ID
4. 最低端口ID

3.4 【案例】root 、rp 、dp

比较过程:
1. 最低的根桥ID
2. 最低的根路径代价
3. 最低的发送者根桥ID
4. 最低端口ID

3.5 STP端口状态

状态 功能
阻塞(Blocking) 这种二层LAN端口不能参与帧转发,侦听BPDU包
侦听(Listening) 这是端口自阻塞状态后的第一个过渡状态。STP认为这种状态的二层LAN端口应当参与帧转发(不转发,不学习) 15s
学习(Learning) 这种状态的二层LAN端口处于准备参与帧转发状态,学习MAC地址
转发(Forwarding) 这种状态的二层LAN端口就可以正式转发帧了
禁止(Disabled) 这种状态的二层LAN端口不参与STP,不转发帧

3.6 【实验】stp

3.6.1 拓扑图

3.6.2 配置命令

修改优先级

  1. S-STP-1 (config-if)spanning-tree vlan vlan-id port-priority

3.6.3 检查STP情况的命令

  1. S-STP-1#show spanning-tree
  2. S-STP-1#show spanning-tree active
  3. S-STP-1#show spanning-tree detail
  4. S-STP-1#show spanning-tree interface interface-id
  5. S-STP-1#show spanning-tree vlan vlanid
  1. S-STP-1(config)#do sh spann
  2. VLAN0001
  3. Spanning tree enabled protocol ieee
  4. Root ID Priority 32769
  5. Address 0001.C944.E360
  6. This bridge is the root
  7. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  8. Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
  9. Address 0001.C944.E360
  10. Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
  11. Aging Time 20
  12. Interface Role Sts Cost Prio.Nbr Type
  13. ---------------- ---- --- --------- -------- --------------------------------
  14. Fa0/1 Desg FWD 19 128.1 P2p
  15. Gi0/1 Desg FWD 4 128.25 P2p
  16. Gi0/2 Desg FWD 4 128.26 P2p