交换知识 VLAN VTP STP 单臂路由

第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的运作

l VTP协议通过组播地址01-00-0C-CC-CC-CC在Trunk链路上发送VTP通告

l VTP Sever和Clients 通过最高的修改定号来同步数据库

l VTP协议没隔5分钟发送一次VTP通告或者有变化时发送

2.6.4 VTP的修剪 Pruning

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

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

2.7 VLAN基本配置

2.7.1 创建VLAN信息

S-vlan-1(config)# vlan 2

S-vlan-1(config)# name vlan2

2.7.2 将端口划入特定的vlan

S-vlan-1(config)# interface fa 0/1

S-vlan-1(config-if)#switchport mode access

S-vlan-1(config-if)#switchport access vlan [vlan vlan# | dynamic]

2.7.3 配置Trunk封装方式

S-vlan-1(config)# interface fa 0/15

S-vlan-1(config)# switchport trunk encapsulation {ISL|dot1q|negotiate}

2.7.4 开启端口

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

2.8 VTP的基本配置

S-vlan-1#configure terminal

S-vlan-1(config)#vtp mode ?

client       Set the device to client mode.

 server       Set the device to server mode.

transparent  Set the device to transparent mode.

S-vlan-1(config)#vtp domain ?

WORD  The ascii name for the VTP administrative domain.

S-vlan-1(config)#vtp password ?

  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配置

S-vlan-1(config)#vlan 10

S-vlan-1(config-vlan)#name VLAN10

S-vlan-1(config)#interface f 0/1

S-vlan-1(config-if)#switchport mode access

S-vlan-1(config-if)#switchport access vlan 10

S-vlan-1(config)#vlan 20

S-vlan-1(config-vlan)#name VLAN20

S-vlan-1(config)#interface fastEthernet 0/2

S-vlan-1(config-if)#switchport mode access

S-vlan-1(config-if)#switchport access vlan 20

S-vlan-2上VLAN配置

S-vlan-2(config)#vlan 10

S-vlan-2(config-vlan)#name VLAN10

S-vlan-2(config)#interface fastEthernet 0/1

S-vlan-2(config-if)#switchport mode access

S-vlan-2(config-if)#switchport access vlan 10

S-vlan-2(config)#vlan 20

S-vlan-2(config-vlan)#name VLAN20

S-vlan-2(config)#interface fastEthernet 0/2

S-vlan-2(config-if)#switchport mode access

S-vlan-2(config-if)#switchport access vlan 20

trunk链路配置

S-vlan-1:

S-vlan-1(config)#interface gigabitEthernet 0/1

S-vlan-1(config-if)#switchport mode trunk

S-vlan-1(config-if)#switchport trunk allowed vlan all

S-vlan-1:

S-vlan-2(config)#interface gigabitEthernet 0/1

S-vlan-2(config-if)#switchport mode trunk

S-vlan-2(config-if)#switchport trunk allowed vlan all

2.9.3 查看vlan信息

2.9.3.1 S-vlan-1信息

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   

2.9.3.2 S-vlan-2信息

S-vlan-2#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   

2.9.3.3 查看trunk信息

S-vlan-1#show interfaces trunk

Port        Mode         Encapsulation  Status        Native vlan

Gig0/1      on           802.1q         trunking      1

Port        Vlans allowed on trunk

Gig0/1      1-1005

Port        Vlans allowed and active in management domain

Gig0/1      1,10,20

Port        Vlans in spanning tree forwarding state and not pruned

Gig0/1      1,10,20

2.10 单臂路由

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

在路由器中创建子接口

2.10.1 【实验】单臂路由配置

2.10.1.1 拓扑图

2.10.1.2 交换机trunk链路配置

S-vlan-2(config)#interface gigabitEthernet 0/2

S-vlan-2(config-if)#switchport mode trunk

S-vlan-2(config-if)#switchport trunk allowed vlan all

2.10.1.3 路由器子接口配置

fastEthernet 0/1.10子接口配置

Router0(config)#interface fastEthernet 0/1.10

Router0(config-subif)#encapsulation dot1Q 10

Router0(config-subif)#ip address 192.168.10.254 255.255.255.0

Router0(config-subif)#no shutdown

Router0(config-subif)#exit

fastEthernet 0/1.20子接口配置

Router0(config)#interface fastEthernet 0/1.20

Router0(config-subif)#encapsulation dot1Q 20

Router0(config-subif)#ip address 192.168.20.1 255.255.255.0

Router0(config-subif)#no shutdown

2.10.1.4 检查配置结果

C:\>ping 192.168.20.1

Pinging 192.168.20.1 with 32 bytes of data:

Reply from 192.168.20.1: bytes=32 time<1ms TTL=127

Reply from 192.168.20.1: bytes=32 time=1ms TTL=127

Reply from 192.168.20.1: bytes=32 time<1ms TTL=127

Reply from 192.168.20.1: bytes=32 time<1ms TTL=127

Ping statistics for 192.168.20.1:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 0ms, Maximum = 1ms, Average = 0ms

查看路由表

Router0#show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

       * - candidate default, U - per-user static route, o - ODR

       P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.10.0/24 is directly connected, FastEthernet0/1.10

C    192.168.20.0/24 is directly connected, FastEthernet0/1.20

Router0#

第3章 STP生成树

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

3.1 生成树的概念

3.1.1 冗余拓扑

l 冗余拓扑能够解决单点故障问题

l 冗余拓扑造成广播风暴,多帧复用,Mac地址不稳定的问题

3.1.2 广播风暴

l HOST x发送广播帧

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

3.1.3 多帧复制

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

l ROUTE Y 的MAC地址还没有被每个交换机学习到

l ROUTE Y 接收2份相同的数据帧拷贝

3.1.4 MAC表紊乱

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

l ROUTE Y 的MAC地址还没有被每个交换机学习到

l switch A 和 B 在port1上学习到Host X 的MAC地址

l 到达Route Y 的数据帧被泛洪

l Switch A和B 不正确的在Port2上学习到Host X的MAC 地址。

3.1.5 复杂的多环路网络

……

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

1、防止环路;

2、防止MAC地址震荡;

3、防止重复帧的出现;

4、防止广播风暴的出现。

3.2.1 采用生成树STP解决环路

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

l IEEE 802.1D 规定了这一行为

l 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 配置命令

修改优先级

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

3.6.3 检查STP情况的命令

S-STP-1#show spanning-tree

S-STP-1#show spanning-tree active

S-STP-1#show spanning-tree detail 

S-STP-1#show spanning-tree interface interface-id

S-STP-1#show spanning-tree vlan vlanid

S-STP-1(config)#do sh spann

VLAN0001

  Spanning tree enabled protocol ieee

  Root ID    Priority    32769

             Address     0001.C944.E360

 This bridge is the root

             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)

             Address     0001.C944.E360

             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec

             Aging Time  20

Interface        Role Sts Cost      Prio.Nbr Type

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

Fa0/1            Desg FWD 19        128.1    P2p

Gi0/1            Desg FWD 4         128.25   P2p

Gi0/2            Desg FWD 4         128.26   P2p

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

DPDK盒子使用手册——DPDK入门

本章分为两节,第一节介绍数据平面开发套件DPDK(Data Plane Development Kit)的基础知识,第二节介绍DPDK盒子的使用方法。 一、D...

4475
来自专栏Seebug漏洞平台

VxWorks Fuzzing 之道:VxWorks 工控实时操作系统漏洞挖掘调试与利用揭秘

来自404实验室安全研究团队的对于VxWorks 工控实时操作系统进行的 Fuzzing 与漏洞挖掘调试、利用的安全探究。 0x00 前言 关于VxWorks,...

3355
来自专栏Vamei实验室

协议森林04 地址耗尽危机 (IPv4与IPv6地址)

IP地址是IP协议的重要组成部分,它可以识别接入互联网中的任意一台设备。在IP接力中,我们已经看到,IP包的头部写有出发地和目的地的IP地址。IP包上携带的IP...

2056
来自专栏用户2442861的专栏

caffe 依赖的作用

1.      Boost库:它是一个可移植、跨平台,提供源代码的C++库,作为标准库的后备。

561
来自专栏程序员互动联盟

八招让你成为C/C++的编程大牛

这个题目的噱头太大,要真的写起来, 足够写一本书了。 本人是过来人, 结合自身的体会和大家交流一下,希望新人能少走弯路。 每个人的情况不一样,我下面的描述可能并...

2826
来自专栏人人都是极客

蓝牙遥控平衡小车的制作

出于业余爱好,以及学习自动化控制PID理论,经过多种选择后决定制作平衡车进行实际操练。刚开始试着用单纯的裸机,完成直立控制,然后慢慢的又增加了屏幕显示,用于参数...

531
来自专栏牛客网

安卓工程师:秋招21家公司的面试真题总结

之前一直混迹于牛客,现在也反馈一波给牛油们。下面是秋招的面试经历具体内容。 拼多多 学霸提前批Android研发工程师 offer 笔试 基于给定接口实现Ima...

4696
来自专栏北京马哥教育

Workflow 是如何一步步逼疯运维的...「文末福利」

1334
来自专栏pythonlove

Linux防火墙iptables/netfilter(一)

防火墙大家都不陌生,或者说都听说过,现实中的防火墙是将一个区域内的火隔离开来使之不蔓延到另一个区域,计算机领域的防火墙与之功能类似,也是为了隔离危险。在如今广阔...

501
来自专栏牛客网

Java面经:有赞offer之路 - 5轮面试的考验

一面 (电面 45min)   Hashmap 是线程安全的吗?Hashtable为什么是线程安全的?      ConcurrentHashmap怎么保证...

4234

扫码关注云+社区