- 交换机通过MAC地址表转发数据帧

- MAC地址表包括 vlan 接口 mac地址。通过读取帧源MAC地址学习的

- mac表有效时间默认300秒

- 数据转发,通过读取mac表目标mac,进行转发,精确匹配目标mac,接口,vlan信息。不匹配就在   同vlan内泛洪(未知单播泛洪)另外组播和广播也泛洪。

-

设计不良网络的问题

    - 不受控制的失效域

    - 巨大的广播域

    - 大量的未知MAC单播泛洪

    - 不受控制的组播流量

    - 管理和支持任务艰巨

    - 可能的安全弱点

典型广播应用:ARP

 

可伸缩的网络编址

    - 在相邻的块里分配IP,为了日后方便汇总

    - 每个VLAN 分配一个子网

 

互联技术 

technologyuse
fast ethernet连接终端用户设备到交换机
gigabit ethernet连接分布层交换机,高使用率的服务器
10-gigabit ethernet高速交换到交换链路,骨干
etherchannel高速交换到交换链路,有冗余的骨干

 

###############################################################################

vlan设计原则:安全;可伸缩;易管理;实用

 

端到端vlan 

- 用户被归类到不依赖物理位置的vlan

- 如果用户在园区网内移动,他的vlan身份保持一样

 

本地vlan

- 一般被限制在一个机架上

 本地vlan好处:

    - 确定性的传输流量

    - 活动的冗余路径

    - 高可用

    - 有限的失效域

    - 可伸缩设计

 

vlan范围

vlan rangeuse
0,4095reserved for system use only
1cisco default,不能删
2--1001for ethernet vlans
1002--1005cisco default for FDDI and token ring
1006--4094ethernet vlan only,在模型旧平台无法实用

 

vlan 配置 

    config t

        vlan 3

            name test

            exit

        开启vlan

    int f0/1

        swi mode acc

        swi acc vlan 3

        将接口加入vlan

        sho vlan

        sho int

        查看

 

实例:

wKioL1Z5PG3yqfnQAAEaZQmQljk901.jpg

    SW1:

        vlan 10

        int f0/10

            swi mode acc

            swi acc vlan 10

        int f0/5

            swi mode acc

            swi acc vlan 10

    SW2:

        vlan 20

        int f0/5

            swi mode acc

            swi acc vlan 20

        int f1/0/10

            swi mode acc

            swi acc vlan 20

此时,R1和R2是可以通信的。因为vlan不是封装在数据帧上,而是交换机的配置,数据从R1进来打上vlan10tag,从F0/5出去,到达SW2后的数据帧并不包含vlan信息,从sw2 F0/5进 就打上f/5的vlan标记,然后根据目标MAC,从本地f1/0/10转发出去。


###########################################################################################

trunk

- 特别为多个vlan的内部通信而开发

- 把一个特定的标识符在每个帧里

- 二层功能  

以太网帧结构并不包含封装vlan的位置

目标mac源mac类型数据校验

所以需要用trunk自己的协议(ISL ,802.1q),主要为vlan打标记


ISL802.1Q
思科私有业界标准
重新封装插入标记
协议独立协议依赖
把原有帧封装在新的帧里在帧头插入新的字段


ISL封装 

    思科私有

    支持PVST

    使用重封装实现

    不修改原有的帧 

在原有数据帧的头之前封装28字节的ISL头,在原有数据帧尾部封装4字节的ISL校验

ISL head 28Byte

ethernet frameCRC 4 Byte


802.1q封装 

    IEEE 标准

    在原有的帧上插入一个 4 个字节的标记

    附加的标记包括优先级字段(802.1q

    属于本帧vlan的帧不打标记

    支持思科电话

目标tagLEN/typedataFSC

wKioL1Z5QniirfPkAACwx4Rd3VE650.png

0x8100 = 802.11 

PRI用于qos

PRI后的1位默认是 0 (0表示以太。1表示令牌环)  


802.1q本帧vlan:native vlan(默认是vlan1 ,native vlan 不打标记)

native  vlan的帧在trunk链路上不打标记。推荐不要使用!!


配置命令  

    接口下

        swiport trunk encapsulation dot1q

        swiport mode trunk

    查看 show interface trunk

         sho int f0/5 swi


BPDU在经过trunk链路的时候,会带vlan tag,扩展system-ID(由优先级 vlanID mac组成)等于vlan tag,这两个信息必须保持一致,表明该BPDU是为哪个vlan服务的。

在一个trunk接口,收到的BPDU如果没有打vlan标记,那么此BPDU必须和本地的native vlan一致。若不一致,在检查BPDU时就报错,并把接收BPDU接口的native vlan和接收到BPDU的扩展system-ID相同的vlan置于 inconsistent 状态,并且该两个vlan都被block


总结上述知识点:

    - vlan作用,分割广播域

      配置:全局下 vlan x

            接口加入vlan

    - trunk

        封装 ISL 重新封装 30个字节 

             802.1q 以太网帧插入字段 4个字节

           802.1q 的本帧vlan(ISL没有本帧vlan的概念)通过trunk不打标记。

            native vlan 配置在两台交换机的不同vlan时不通信,是因为vtp block了,关闭vtp                 ,建议不要使用native vlan

     - trunk 对管理流量是透明的。因为管理流量(VTP,DTP,CDP,PAGP,LACP,UDLD)打上的是802.3的封装 

        交换机管理流量是通过vlan1 传递的,当使用命令 swiport trunk allow vlan2-4094 过滤掉vlan1 的流量时,用户数据流量肯定会被过滤掉。但是针对不同的管理流量有不同的处理方法。其中 STP 是被过滤的,DTP,PAGP,LACP是允许通过的。VTP 通过与否是开启VTP协议有关,若启用(模式为server client)也通过,若关闭VTP(transparent模式),是不通过的。

        在经过trunk时,交换机的管理流量如何封装的问题:常见的VTP,DTP,CDP,PAGP,LACP,UDLD等,这些都不是基于vlan工作的,而是为整个交换机工作的,都是采用802.3的封装,都不会打802.1q的标记,也没必要打,所有可以理解为与trunk无关,各个协议都由802.3里面的2字节协议类型来区分上面承载了什么流量。通过抓包可以验证。


TRUNK配置(两种方法)  

    1,手动(推挤):swi trun encap ISL/dotq

    2, DTP动态协商

        DTP:

            - 前身是DISL--dynamic ISL

            - 都是思科私有,用于协商trunk链路

            - trunk

                on 默认发送DTP

                off 用命令,switchport nonegotiate 关掉DTP

            - dynamic

                auto 默认不发送OTP,但是收到DTP后可以回复,被动协商

                desirable 默认主动发送DTP,主动协商

            - access 不发送DTP,不写上trunk (接口加入vlan时,swi mode acc的原因)

     DTP 思科私有send 发送DTP报文sresponse 相应DTP报文
turnkyesyes(可用neonegotiate关闭)
accessNONO
desirableyesyes
autonoyes

 

switch(config)#inter f5/8

switch(config-if)#shut

switch(config-if)#swi tru encap dot1q

switch(config-if)#swi mode trunk

switch(config-if)#swi trunk native vlan 99--建议不启用,或配给不使用的vlan

switch(config-if)#switchport nonegotiate---关闭DTP

switch(config-if)#switchport trunk allowed vlan 1,5,11,1002-1005 (控制trunk链路允许通过的vlan)

switch(config-if)#swi trunk allowed vlan remove 10,20(控制trunk链路排除哪些vlan)

switch(config-if)#no shut


###################################################################################

wKiom1Z6RaTCHMhJAAA6u59o9eE096.png

如图,结局 A B节点都使用vlan 100-200穿过SW1 SW2;SW1 SW2如何区分两个节点的流量

 A节点发送数据到SW1打vlan 100标记,到达SW1后再一层vlan标记传给SW2,然后解封最外层vlan标记,发给对端A节点。同理B节点互传。即用第二层vlan标记区分。

Q1Q技术


    A节点:正常配置trunk

            swi tru enca dot1q

            swi mode trunk

    SW1:对应A接口

            switchport mode dot1q-tunnel

            switchport access vlan 10---打第二层vlan标记


###########################################################################################


VTP协议 用vtp传递vlan配置


 vtp排除3个步骤

    1,看trunk是否启用 sho interface trunk

    2, 看是否在一个vtp域,sho vtp stat

    3, 看vtp pass是否一致,sho vtp pass


    在相同域内同步vlan配置信息

    只在 trunk 端口发送公告

    密码必须一致

    当vtp域名不同时,DTP也不能协商成trunk


    VTP 操作:

        VTP 公告使用组播帧发送

        VTP server 和 client 通过最新的修正版本号(revision number)来同步

        VTP 公告每 5 分钟发送一次,或当发生改变的时候


    VTP 通告:

        3种报文

            汇总通告报文

            子集通过报文

            请求通过报文

        5分钟,使用汇总报文通过,包括版本号,域名,认证消息

        当收到汇总报文中的版本号比自己新,就去发送请求报文,然后对端回复子集报文(包括真正的vlan信息)。


    VTP 模式

        transparent(透明模式)

            创建,删除,修改vlan

            不发送,但转发公告

            不同步vlan配置

            vlan配置信息保存在config里 --show run可以看到

        server

            创建,删除,修改vlan

            发送,转发公告

            同步vlan配置

            vlan配置信息保存在flash的vlan.dat里

        client

            不能创建,修改删除vlan

            发送,续传公告

            同步vlan配置

            vlan配置信息保存在flash的vlan.dat里

    vtp配置

        vtp domain xx

        vtp mode server/client/trans

        vtp password xxx

      验证

        sho vtp status

        sho vtp passwork

局域网新接入交换机,如果网络配置了vtp,要保证新接入交换机的 修订版本号=0

方法1,vtp mode transparents

方法2,修改域名,与现有网络域名不同。


特例:当两台交换机的修订版本号相同,同时各自所包含的vlan配置信息不同时,谁也不向谁同步


#########################################################################

VTP 修剪 

    - 通过减少不需要的泛红流量来使带宽更有效率

    - VTP修剪会被同步,所以只在一台交换机配置就可以

VTP修剪实验:

wKioL1Z6iOCQ-AJOAADC8D3sO1A458.jpg

R1属于vlan10 

R2属于vlan20


SW1:                                    SW2:

    vlan 10                                    vlan 10

    vlan 20                                    vlan 20

    int f1/10                                  int f0/10

        swi mode acc                                swi mode acc

        swi acc vlan 10                             swi acc vlan 20

    int f0/5                                    int f0/5

        swi trun en dot1q                            swi trunk en dot1q

        swi mode trun                                swi mode trunk

    sho int f0/10 保证是up状态

    vtp pruning                                 sho int trunk f0/5对应vlan1 vlan20 

    sho int trunk 检查 F0/5对应vlan1 vlan10    


###########################################################################################


私有vlan

用来控制同一个vlan里的接口不能互通

例如小区宽带,一个小区同属一个vlan,为保证安全互相隔离。若为每个用户划分vlan,vlan还对应一个IP,这样设计不合理  


access switch:protected port

保护端口只能和非保护端口通信;保护端口之间不能通信;

保护端口在跨交换机情况下不能生效。

配置:接口下 switchport protected


私有vlan:分为主vlan(primary vlan)和辅助vlan(secondary vlan);辅助vlan分为isolated vlan和 community vlan。


属于相同isolated vlan的所有接口都不能通信

属于相同community vlan的所有接口可以通信

isolated vlan 和 community vlan之间不能通信,但都可以和主vlan通信


    wKioL1Z6kGbjTdLBAAEdM_Ni--4681.png

PVLAN 接口类型(3个接口分别对应主vlan 隔离vlan 团体vlan) 

    - isolated 隔离vlan 隔离端口

    - promiscuous主vlan 混杂端口

    - community 团体vlan 团体端口


配置  

SW1:

    vtp transparent

    vlan 201

        private-vlan isolated

    vlan 100

        private-vlan primary

        private-vlan association add 201

    查看:

    sho vlan private-vlan

    sho vlan private-vlan type

    关联接口:

    int range f0/1 - 2

        switchport mode private-vlan host

        switchport private-vlan host-as sociation 100 201

    查看:sho int f0/12 switchport


实验

wKiom1Z6lPfji3enAAGT5AgeOmU835.jpg





      

    vtp mode transparent    

    vlan 201 创建隔离vlan

        private-vlan isolate

    vlan 202 创建团体vlan

        private-vlan community

    vlan 100 创建主vlan,并关联辅助vlan

        private-vlan primary

        private-vlan associate 201,202

    int f0/24 设置混杂端口

        switchport mode private-vlan promiscuous

        switchport private-vlan mapping 100 201,202

    int range f0/1 -2

        swi mode private-vlan host

        swi private-vlan host-associationg 100 202

    int range f0/3 -4

        swi mode private-vlan host

        swi private-vlan host-ass 100 201

                         

##################################################################################

实验

wKioL1Z7qHqDRh60AAJWL38TQcw354.jpg     


PVLAN TRUNK(见实验手册)


################################################################################ 

两台交换机网线直连,两台交换机之间不同vlan是可以通信的,直连线并没有起trunk。因为vlan是交换机的属性并不是数据包的,不会随数据包传递出去。

这是去凤凰网(望京)时的面试题。(PS~~那个面试的技术简直装逼到要上天。MDZZ,傻X)