zoukankan      html  css  js  c++  java
  • 2.1-VLAN/TRUNK/VTP

    2.1VLAN/TRUNK/VTP
        注意:配置VLAN时要退出VLAN配置模式才会执行
    如果VLAN被删除或者shutdown,那么属于这个vlan的接口将被阻塞(灯一直是橙色,变不了绿色)。
    排错的时候如果发现端口一直变不到绿色,可以用sh vlan brief查看该端口是否划到了一个被
    shutdown或者删除的vlan中。
    接口类型:
    1.Access(访问端口)
    一个Access Port,只能属于一个Access Vlan
    int fa 0/1
    switchport mode access
    switchport access vlan 10
    除了一种情况例外:(还可以加入一个Voice Vlan)
    vlan 200
    name voice
    switchport voice vlan 200
    1.Trunk(中继端口)
    1.ISL  (cisco 私有,重封装)
    Destination MAC |Source MAC | Type | Data |CRC
    isl(26bytes)|Destination MAC |Source MAC | Type | Data |CRC|vlan CRC
    2.802.1q(业界标准,打标记)
    Destination MAC |Source MAC |tag| Type | Data |dot1q CRC
    access-port:
    可以接受的帧:
    802.3
    Ethernet II
    当vlan id和pvid相同,也可以接dot1q帧,如果vlan id和pvid不一样则drop。
    可以发送的帧:
    802.3
    Ethernet II
    Trunk port:
    接受 802.1q、ISL、(native vlan 802.3和ethernet II)
    发送 802.1q、ISL、(native vlan 802.3和ethernet II)
    Native Vlan 不是vlan(只是巧合默认序号是1),是一个Trunk链路上的一个特性,
    Trunk针对该vlan的流量不用Trunk封装,其他vlan用Trunk封装。
    switch(config-if)#switchport trunk native vlan
    DTP:Dynamic Trunking protocol
    Switchport mode:
    Access    手工指定访问端口,不发DTP(dynamic trunking protocol)
    Trunk     手工指定中继端口,发送DTP
    Dynamic   动态协商
       auto   被动协商,不主动发DTP,收到DTP可回应。
    desirable 主动协商,主动发DTP
    Trunk   手工指定中继端口
    step1:
    sw1(config-if)#switchport trunk encapsulation dot1q(如果交换机只支持一种协议,那么这条命令可以不写)
    step2:
    sw1(config-if)#switchport mode trunk
    Dynamic 动态协商:auto
    sw1(config-if)#switchport mode dynamic auto
    Dynamic 动态协商:desirable
    sw1(config-if)#switchport mode dynamic desirable
    关闭DTP的情况:
    sw1(config-if)#switchport nonegotiate(关闭DTP,此命令必须mode trunk后才可用)
    3种:对方非cisco交换机
        带trunk接口能力网卡的 服务器
        单臂路由器
    sh int trunk
    switch(config)#int fa 5/8
    switch(config)#shutdown 配置前先关掉是良好习惯
    switch(config)#switchport trunk encapsulation dot1q
    switch(config)#switchport trunk allowed vlan 1,5,11,1002-1005
    switch(config)#switchport mode trunk
    switch(config)#switchport trunk native vlan 99
    switch(config)#switchport nonegotiate
    switch(config)#no shut
    VTP三种模式:
    Server 可以增加、修改、和删除vlan信息,vlan信息存在flash中的vlan.dat文件中
    client 不可以增加、修改和删除vlan信息,vlan信息存在flash中的vlan.dat文件中
    Transparent 可以增加、修改和删除vlan信息,vlan信息存在配置当中,默认不发送VTP
    sh vtp status:
    交换机默认是server模式,域名为null,可以接受任何的vtp,并且可以学习到域名(学习到一个域名后就不可以学习到别的域名的信息)。
    如果已有域名,只能接受到该域名信息,如果想更改域名,只能删除vlan.dat。
    sw1#show flash:
    sw1#delete flash:vlan.dat
    reload
    configuration revision很重要,所以新加一个交换机之前必须把模式变为transperent模式(configuration revision自动清零)。
    vtp version 1和2的区别,1为默认,2可以透传vtp信息:domain 1 ->domain 2 ->domain 1
    server上启用即可
    switch(config)#vtp version 2
    生成树:
    802.1D  STP        -->PVST(只支持ISL)、PVST+(同时支持ISL、DOT1Q)
    802.1W  Rapid-STP  -->Rapid-PVST
    802.1s  MSTP       -->MSTP (可以成批把VLAN放到一个实例)
    CST(commond spanning tree)独立生成树(只有一个实例)
    BPDU网桥协议数据单元
    修改cost值计算类型。
    sw1(congig)#spanning-tree pathcost method long
    查看详细BPDU信息
    sh spanning-tree vlan 1 interface fa0/1 detail
    根桥收到TCN的时候会flood BPDU给所有SWITCH,然后所有交换机把MAC地址MAX AGE由300秒改为15秒,加速MAC地址表收敛。
    在PVST、PVST+中VLAN ID就是VLAN实例ID(extend system id),如优先级别root id为4096的vlan 1则bridge id priority是4097
    不推荐:
    switch(config)#spanning-tree vlan 1 priority primary(优先级在学到根桥BPDU基础上减两级:一个级别为4096)
                                                 secondary(自动降一个级别)
    这个命令只有一次作用,选定根桥后就无效了,如果后来又加新的进来,优先级不能影响,所以最好手动指优先级为0或者较低优先级。
    敲完命令后会自动产生一个priority,如果想要再敲一次这个命令,则需要先no掉原来产生的priority。
    推荐:
    switch(config)#spanning-tree vlan 1 priority 0
    PortFast模式(接口模式下配):
    swich(config)#int fa 0/47
    swich(config-if)#spanning-tree vlan 1 portfast
    swich(config-if)#keepalive 1(默认是10,这个时间过后端口才会变绿,但省了端口listen和learning的30秒)
    UplinkFast(全局模式下blocking交换机配)--只对直连链路有用(当fwd端口坏了的时候,blocked端口切换的时间接近为0,而跳过block->listen->learning状态)swich(config)#spanning-tree uplink-fast
    BackbonFast(全局模式下所有交换机配)--对非直连链路有用(可以缩短20秒blocking老化时间):
    MST:区域需要三个参数同时匹配:
    area name
    revision number
    VLAN association table 映射表需要一致
    SWA  inst 1    1-500vlan
         inst 2    501-1000vlan
    SWB  inst 1    501-1000
         inst 2    1-500
    则以上两个交换机不在同一个域
    extended system id与实例id一致,而在pvst中与vlan id一致。
    配置方式
    sw1/2(config)#vlan 10/20/30/40
    sw1/2(config-vlan)#name ccna/ccnp/ccie/wolf
    inst 1  ->vlan 10/30
    inst 2  ->vlan 20/40
    每个实例分配两个VLAN,SW1作为INST 1的根,SW2作为INST 2的根
    step1:
    sw1(config)#spanning-tree mode mst
    step2:
    sw1(config)#spanning-tree mst configuration进入MST配置模式
    step3:三个参数一致:
    sw1(config-mst)#name ccnp
    sw1(config-mst)#revision 11
    sw1(config-mst)#instance 1 vlan 10,30
    sw1(config-mst)#instance 2 vlan 20,40
    step4:
    sw2把sw1的配置重复一遍就完成了
    sw2(config)#spanning-tree mode mst
    sw2(config)#spanning-tree mst configuration
    sw2(config-mst)#name ccnp
    sw2(config-mst)#revision 11
    sw2(config-mst)#instance 1 vlan 10,30
    sw2(config-mst)#instance 2 vlan 20,40
    step5:
    让sw1成为实例1的根,sw2成为实例1的根。
    sw1(config)#spanning-tree mst 1 priority 0
    sw2(config)#spanning-tree mst 2 priority 0
    step6:检查
    sh spanning-tree {1/2}
    因为先进,COST都改为长字节型。
    EtherChannel
    配置一(不好的配置方法,有缺陷):如果遇到配置不错但是起不来那么只好删除重做。
    sw1/2(config)#int port-channel 1
    sw1/2(config-if)#exit
    sw1/2(config)#int fa 0/10
    sw1/2(config-if)#channel-group 1 mode on
    sw1/2(config)#int fa 0/11
    sw1/2(config-if)#channel-group 1 mode on
    配置二:
    step1:
    default int fa 0/10
    default int fa 0/11
    sw1/2(config)#int range fa0/10 ,f0/11
    sw1/2(config-if-range)#shutdown
    step2:
    sw1/2(config)#channel-group 1 mode on(cisco建议两边用desirable)
    自动创建interface port-channel 1
    step3:
    sw1/2(config)#no shut(两台同时要尽快,经验!)
    检验:
    sh int port-channel 1
    mode on      是不启用动态协商协议;所以不能和任何别的mode协商
    mode auto    被动的pagp协商
    desirable    主动的pagp协商
    passive      被动的lacp协商
    active       主动的lacp协商
    虚拟局域网VLAN的核心目的:
        划分vlan的目的:低成本的将一个大的网络划分为小的网络,也称为网络分片/分段(Segementation);
        划分vlan的原因:隔离广播域(广播有ARP、DHCP);
        广播流量不能穿越VLAN的边界:A vlan:a broadcast domain ;
        为了实现VLAN之间的数据通信需要实现VLAN间路由:A logical network (subnet);
        一个VLAN对应着一个广播域,最好对应一个网络子网(为VLAN间的路由作准备);VLAN限制了广播域的范围,VLAN间路由又允许了VLAN间的数据包通信。
        HUB:    所有端口都在一个冲突域和一个广播域中;
        Switch:一个端口对应一个冲突域,所有端口都在一个广播域中;
        Router:一个端口对应一个冲突域,一个端口对应一个广播域。
        VLAN的分类:
        静态VLAN(Static VLAN):由MAC表建立的VLAN→匹配信息存储在MAC表;
        动态VLAN(Dynamic VLAN):由服务器VMPS建立的VLAN→匹配信息存储在VMPS。
        CDP(Connect Discover Protocol):
        CDP是CISCO私有的协议,只可以发现直链的设备!
       交换环境中的2种连接类型:
      Access Links:指的是只属于一个VLAN且仅向该VLAN转发数据帧的端口,也叫做native VLAN;交换机把帧发送到Access-link设备会进行信息帧的鉴别(Frame Tagging):当帧到达每个交换机,会首先检查VLAN ID然后决定如何对帧进行处理,当VLAN ID和Access link匹配的时候会移去VLAN标识符;Access-link设备不能与VLAN外通信除非建立了Vlan间路由;
      Trunk Links:Trunk指的是能够转发多个不同VLAN的通信的端口,可以在一条网络介质Segement(网线/光纤)上同时传输多个vlan的信息(1次最多可以携带1005个VLAN的信息),必须使用100Mbps以上的端口来进行点对点连接,Trunk使你的单独的1个端口同时成为数个VLAN的端口,这样可以不需要L3设备;如果在Switch之间使用了Trunk,那么多个VLAN间的信息将从这个连接上通过;如果没有使用Trunk而使用一般的连接,那么将只有VLAN1的信息能通过这个连接传递:VLAN1默认作为管理VLAN。
      VLAN标识符(VLAN Identification Method)的种类:
      VLAN标识符:在交换机的trunk link上,可以通过对数据帧附加VLAN信息,构建跨越多台交换机的VLAN.附加VLAN信息的方法,最具有代表性的有:
      ISL(Inter-Switch Link):Cisco私有,只能在快速和千兆以太网连接中使用;ISL路由可以用在Switch端口、Router接口和服务器接口卡之上;
      dot1Q(IEEE 802.1Q):由IEEE创建属于业界标准,在有非Cisco设备的连接上不能使用ISL时就必须使用802.1Q;802.1Q识别信息tag位于数据帧的源MAC地址与类型字段之间,大小为4Byte(其中包含12bits的VLAN-ID);IEEE 802.1Q附加的VLAN信息就像在传递物品时附加的标签:当交换机检测到数据包的目标地址不在本交换机而应当发到某条trunk链路时,先进行trunk封装就是添加上tag并重新计算其FCS校验,完成封装后就可以从trunk链路上发给对方交换机了。
        VTP协议(Vlan Trunk Protocol):
        VTP也是Cisco创建的但是现在已经不为Cisco所私有,是用来自动协商、通告和同步Trunk信息的协议,必须依靠Trunk来传播;
        VTP采用触发更新,周期为5min;
        VTP有三种模式:客户模式(Client)不能操作VLAN信息但是会转发变动通告/会同步VLAN信息/VLAN信息不会保存在NVRAM里;服务器模式(Server)可以对VLAN进行建立、删除和修改等操作并发出变动通告/会同步VLAN信息/配置好的VLAN信息会保存在NVRAM里;透明模式(Transparent)自己可以创建VLAN/可以转发信息/不能同步信息/配置好的VLAN信息会保存在NVRAM中;
        注意:VTP不能完成将端口放入VLAN的工作!这需要在每一个交换机上配置。
    Only "global" VLAN information regarding VLAN number,name,and description is exchanged.
    Informaton on how ports are assigned to VLANs on a given switch is kept local to switch
    and is not part of a VTP advertisement.
    Vlans deleted on one switch may be deleted on all switches in the VTP domain, and thus
    all ports removed from that VLAN.Delete VLANs with caution on a switch that is participating in a VTP domain with other switches.
        VTP的工作过程:
        交换机启动后如果VTP名字为空,就会在网络上查找VTP信息并且把自己的名字改为查找到的VTP名字,和对方是客户端还是服务器是没有关系的。
        VTP的修正号(Configuration Revision)和版本(Version):
        用#sh vtp status查看VTP信息(保存vlan.dat文件中),注意#sh ru是看不到VTP信息的!
        在运行同一VTP的VLAN中每进行一次配置或修改则会在修正号的基础上加1→客户端的不能导致修正号的变化;VLAN信息是由高版本号向低版本号的覆盖而不管是Client端还是Server端;
        VTP的Ve1和Ve2是不兼容的:在一个server上改成版本2那么所有的交换机都会同步到版本2→Transparent例外。
       VTP修剪(VTP pruning):
       目的是减少广播、组播、单播、保留带宽;打开VTP pruning后只在Trunk link上发送广播;默认情况VTP pruning只能在VLAN2-1005使用,VLAN1是作为管理VLAN存在的!用(v)#vtp pruning打开VTP修剪。
    ----------------------------------------------------------------------------
       LAB1:VLAN的创建,修改,删除和接口操作:
        STEP1:VLAN的创建:
        方法1(新方法,主流设备):(c)#vlan 10 →exit ;
        方法2(老式机用法):(c)#vlan database →vlan 20 →apply (应用,即保存了所做的配置)→exit ;
       (注意:在使用老方法创建,修改vlan时,如果不使用apply,而直接使用ctrl+z推出,则所有配置都不保存)
        完成后可以用#sh vl br查看vlan的摘要信息;
        STEP2:VLAN的修改:
        方法1:(c)#vlan 10 →name ENG →exit ;
        方法2:(c)#vlan database →vlan 20 name DRAGON →apply →exit(可以在建立时name);
        STEP3:VLAN的删除:
        方法1:(c)#no vlan 10 →exit ;
        方法2:(c)#vlan database →no vlan 20 →apply →exit ;
        STEP4:将端口划分入VLAN:
        (c-i)#switchport access vlan x 
        可以使用Range一次定义多个接口:in range fastethernet 0/1 - 5 ,0/9(注意空格);
    ----------------------------------------------------------------------------
       LAB2:跨交换机的同一VLAN通讯:
        STEP1:构建Trunk:
        Trunk有两种→有自动协商:
        802.1Q的Trunk:(c-i)#switchport trunk encapsulation dot1q →switchport mode trunk ;
        ISL的Trunk:(c-i)#switchport trunk encapsulation isl →switchport mode trunk ;
        两个交换机要配置相同的Trunk;
        STEP2:察看Trunk链路的连接状态:
        #sh int tru 。
    ----------------------------------------------------------------------------
       LAB3:VTP的配置:
        STEP1:确认Trunk已经建立:
        ∵VTP必须依靠Trunk来传播∴要确认Trunk已经建立→用#sh in tr确认;
        STEP2:确定一个VTP域名并确认Server/Client:
        一般以网络中用最高端/中心的交换机做Server,考虑到冗余性可以建立两个Server;
        在交换机上(c)#vtdomain CCNP →vtmode server/client服务器/客户端);
        然后用#sh vtp status查看VTP信息,注意sh ru是看不到VTP信息的!(VTP信息保存vlan.dat文件中)
        STEP3:查看版本号的变化:
        通过在Server端增加/修改/删除vlan来观察Client上VLAN信息的同步和VTP修订版本号的变化;
        STEP4:VTP的认证:
        使用(c)#vtp password 123来加密VTP区域;可以用#sh vtpassword来查看密码;
        STEP5:VTP的修剪(在Server端做):
        (c)#vtp pruning 。




  • 相关阅读:
    什么是继承?
    程序员兄弟们,我们的基本素质怎么样?
    C#基础概念二十五问
    windows mobile 5.0 PocketPC模拟器上网的设置
    数据库设计中的14个技巧
    Microsoft SQL Server 2005 存储过程翻页
    在.Net如何制作自定义的快捷方式(转)
    ActiveSync 没有DMA端口问题的解决方法
    原型模式(Prototype Pattern)
    获取鼠标和键盘长时间不动的时间
  • 原文地址:https://www.cnblogs.com/sanyuanempire/p/6155073.html
Copyright © 2011-2022 走看看