Layer2交换机QinQ和VTP

来源:互联网 发布:ledrom编辑软件 编辑:程序博客网 时间:2024/05/01 19:23
session 1 QinQ
1、QinQ:dot1q in dot1q   dot1q在dot1q中,trunk通道

     QinI:dot1q in ISL  dot1q在ISL中,trunk通道

      QinQ技术也称Stacked VLAN,Double VLAN,是指将用户私网VLAN标签封装在公网VLAN标签中,使报文带着两层VLAN标签穿越运营商的骨干网络,在公网中只根据外层VLAN标签传播,私网VLAN标签被屏蔽。

      这样,不仅对数据流进行了区分,而且由于私网VLAN标签被透明传送,不同的用户VLAN标签可以重复使用,只需要外层VLAN标签的在公网上唯一即可,实际上也扩大了可利用的VLAN标签数量。QinQ的标准是IEEE802.1ad,该标准是在2006年5月份才形成正式标准的,所以当前常见的各厂商实现的QinQ和该标准有较大的不同,但各厂商的实现均大同小异。

交换机端口三种分类:
access类型:默认只能属于一个vlan
trunk类型:承载多个vlan信息,使用ISL协议或802.1Q协议来封装数据帧达到对多vlan的区分(协议见图)
QinQ类型:用于封装第二个tag(4byte)用。、

QinQ的包头结构:



QinQ的应用,运营商网络中为了区分不同用户网络中的冲突的相同vlan号而采用的技术。


      原理:在整个网络中,运营商提供服务给用户A和用户B,用户A和用户B在不同的地区分别有分公司,如上图。
      而用户A公司网络内部的vlan号划分与用户B公司网络内部的vlan号有冲突,都有vlan10、vlan20、vlan30等,为了保证不同用户信息的安全和有效,在数据进入运营商网络的时候必须区分这些数据。因为用户接入运营商网络的设备和运营商网络的设备都是L2层交换机,所以只能通过vlan trunk进行连接,不然无法传递用户内部的不同vlan的数据,但是这些数据又必须在运营商网络的交换机做区分,所以运营商网络必须对这些带有tag标记的数据再次打tag以用来区别不同用户的数据。
      上图中红色点为QinQ配置,紫色点为普通trunk配置。打标记必须是入口,去标记是出口。所以运营商网与用户连接的接口必须是QinQ的,而运营商自己的SW和用户自己的SW之间连接还是使用普通的trunk进行。
配置命令:
1、假设公司A内部vlan配置
vlan 10 name v10
vlan 20 name v20
vlan 30 name v30

B公司内部vlan配置
vlan 10 name v10
vlan 20 name v20
vlan 30 name v30

运营商内部vlan配置及对应用户的编号,假设A的编号为99,B公司的标号为88,用户编号用作自己的vlan号
vlan 99 name v99                运营商vlan99对应A公司
vlan 88 name v88                运营商vlan88对应B公司

1、trunk口
IOU1(config-if)#switchport trunk encapsulation dot1q 
IOU1(config-if)#switchport mode trunk

2、QinQ接口配置
IOU1(config-if)#switchport mode dot1q-tunnel            配置为dot1q通道,QinQ,再加一层tag
IOU1(config-if)#switchport access vlan 99                     这个接口上接收到的数据打上运营商vlan99的tag
IOU1(config)#system mtu 1504                                      修改MTU到1504,双tag增加了MTU(F口最大1546,G口最大是2000),此命令必须重启交换机

      应用在运营商连接A公司的接口上面,两边交换机都用在B公司的接入端口,而用户端的连接运营商的边界交换机的端口还是使用普通trunk端口。

3、QinQ接口配置
IOU1(config-if)#switchport mode dot1q-tunnel            配置为dot1q通道,QinQ,再加一层tag
IOU1(config-if)#switchport access vlan 88                      这个接口上接收到的数据打上运营商vlan88的tag
IOU1(config)#system mtu 1504                                      修改MTU到1504,双tag增加了MTU(F口最大1546,G口最大是2000)此命令必须重启交换机
 
      应用在运营商连接A公司的接口上面,两边交换机都用在B公司的接入端口,而用户端的连接运营商的边界交换机的端口还是使用普通trunk端口。

      这样就在运营商内部区分了A公司vlan10、20、30和B公司vlan10、20、30的流量。运营商内部将A公司看做vlan99,将B公司看做vlan88,避免了A公司与B公司的数据通信,保证的安全性。

注:为了防止native vlan被设置为用户数据传输的vlan,可以在运营商交换机中执行命令
IOU1(config)#vlan dot1q tag native         为native也打tag
当然只在dot1q中有,ISL中不影响因为ISL中没有native的说法,每个vlan都被打上tag
 
session 2 VTP协议,cisco私有协议,使用有局限性。公有的是GVRP协议。
VTP :Vlan Trunk protocol,从名字上就知道它只能运行与trunking的链路上
VTP协议的三种模式:server模式、client模式、transparent透明模式
server模式负责配置和下发,client模式负责学习vlan的变动,多server的情况下配置的下发是查看版本修订号,大的覆盖小的配置。
server模式的配置保存在交换机的flash:vlan.dat文件中
      transparent透明模式是只能传输vlan的修改信息,但是自己不改变,只负责传递工作(前提是domain相同),自己修改的配置也不会影响其他非transparent透明模式的交换机的vlan配置,transparent透明模式自己的vlan配置信息保存在交换机的NVRAM:Stratup-config文件中。
VTP只能告诉SW有哪些vlan,而不能告诉哪个端口在哪个vlan中。
配置:
IOU1(config)#vtp domain wolf                                      创建VTP域名称wolf,影响vtp更新的范围。域名改变修订号会被清零。
SW1(config)#vtp mode [server client transparent]       将SW配置为VTP各种模式
SW1(config)#vtp pruning                                              开启VTP修剪(影响修订号)
SW1(config)#vtp version 2                                            vtp版本V2(现在有V3,增强安全性)
SW1(config)#vtp password cisco                                  vtp域的密码设置为cisco
SW1(config)#show vtp status                                       查看vtp相关状态
SW1(config)#show vtp password                                 查看vtp密码
vtp的password不会影响vtp的版本修订号,但是会影响sw是否能加入vtp域来更新vlan信息。
vtp协议域名不匹配的话,会有DTP协议的报错信息。
vtp报文格式:


      4种vtp报文,vtp信息的更新与vtp mode没关系,server与client的区别在于sw是否有权限修改vlan信息,而不是有没有更新vtp信息的权限,如果client的vtp修订号比server大那么server会被client同步覆盖vlan配置。
      summary advertisement 汇总通告,由vtp修订号server发送,内涵vtp的信息,而没有vlan信息。周期性的发送和当vlan配置更新的时候发送一次。
      advertisement request 由修订号小的server或者client向修订号大的server发出请求,当收到修订号大的sw发的汇总通告的时候发送。
      subset advertisement 由修订号大的server发送,内有vlan更新信息,而没有vtp的信息
      join 由vlan信息更新的发送,多用于pruning修剪功能,即从某个sw学到的vlan在自己更新vlan信息的时候不会再发送给某个sw。比如sw2从sw1学到了vlan100,那么sw2更新了vlan101的时候发送汇总信息的时候不会给sw1发送vlan100的信息。vtp剪枝功能不阻止单播发送至阻止flood泛红信息。
      pruning功能默认只能修剪标准vlan,1~1001这些vlan。
      vtp v3支持扩展vlan和私有p-vlan,而vtp v1和v2不支持扩展vlan和私有p-vlan,v3增加安全性,可防止vtp域的vlan信息被错误的覆盖,解决比如新加入vtp域的SW恰好vtp被开启并且修订号高于原网络的vtp的修订号,导致原vtp域的vlan信息被覆盖的问题。(3560以上的SW支持vtp v3)
 
session 3 VMPS技术
VMPS管理策略服务器(VLAN Management Policy Server,VMPS)
      硬件要求CatOS6500系列交换机,局限性太大,基本没用,而且实施起来太累,需要手工将每台PC的MAC和对应的vlan信息添加到VMPS服务器中。后来由NAC(网络准入控制NAC)技术替代VMPS。
      VMPS。当一个帧到达动态端口时,交换机根据帧的源地址查询VMPS,获取相应的VLAN分配。
      动态VLAN使用智能管理软件,可以基于MAC地址,协议,甚至应用程序来动态创建VLAN。Cisco 设备管理员可以使用VMPS的服务来建立个MAC地址数据库,来根据这个动态创建VLAN,VMPS数据库把MAC地址映射VLAN上。
      当启动了VMPS以后,交换机首先会从一个预先指定好的TFTP服务器上下载MAC地址-VLAN的映射数据库,然后打开一个UDP进程来监听从客户端发来的请求,并进行处理。
      当VMPS接到从客户端发来的一个合法请求后,首先查看数据库中是否有该MAC地址-VLAN的映射记录。如果有,则把对应的       VLAN号发给客户端交换机;如果没有,且VMPS处于非安全模式下,则客户端只是简单地拒绝该主机的访问;同样是没有该MAC地址的映射记录,但VMPS处于安全模式下,则客户端交换机上连接该MAC的端口被关闭,要重新开启此端口,只有进行手工操作。
      用户可以配置一个缺省的VLAN,如果数据库中没有该MAC的记录,则它会被分配到这个VLAN上。用户也可以使用NONE关键字来明确地指定一个MAC不能属于某个VLAN。
 
session 4 VTP V3配置
1、vtp v3没有domain无法运行


2、在全局模式vtp primary后,该sw会被设置为主服务器(primary),不开启primary的server被设置为secondary(从服务器),主服务器的vlan更新信息是不会被新加入域的vtp修订号大的sw的vlan信息所覆盖,保证了企业网络vtp信息的稳定性,防止vtp的vlan信息被错误的更新。且一个域只能有一个主服务器。
并且主服务器可以被强制指定,还可以选择是做vlan的更新还是mst(多实例生成树)的更新或者是全部。在配置vtp primary 后面的参数可选择。


0 0