目录 1 VLAN 映射配置... 1-1 1.1 VLAN 映射简介... 1-1 1.1.1 1:1 和 N:1 VLAN 映射的应用... 1-1 1.1.2 2:2 VLAN 映射的应用... 1-2 1.1.3 VLAN 映射的基本概念... 1-3 1.1.4 VLAN 映射实现方式... 1-4 1.2 VLAN 映射配置任务简介... 1-5 1.3 配置 VLAN 映射... 1-5 1.3.1 配置 1:1 VLAN 映射... 1-5 1.3.2 配置 N:1 VLAN 映射... 1-7 1.3.3 配置 2:2 VLAN 映射... 1-10 1.4 VLAN 映射典型配置举例... 1-13 1.4.1 1:1 和 N:1 VLAN 映射配置举例... 1-13 1.4.2 2:2 VLAN 映射配置举例... 1-18 i
1 VLAN 映射配置 1.1 VLAN 映射简介 VLAN 映射 (VLAN Mapping) 功能可以修改报文携带的 VLAN Tag, 提供下面 3 种映射关系 : 1:1 VLAN 映射 : 将来自某一特定 VLAN 的报文所携带的 VLAN Tag 替换为新的 VLAN Tag N:1 VLAN 映射 : 将来自两个或多个 VLAN 的报文所携带的不同 VLAN Tag 替换为相同的 VLAN Tag 2:2 VLAN 映射 : 将携带有两层 VLAN Tag 的报文的内 外层 VLAN Tag 都替换为新的 VLAN Tag 下面将详细介绍这几种映射关系的应用以及工作原理 1.1.1 1:1 和 N:1 VLAN 映射的应用如图 1-1 所示, 是 1:1 和 N:1 VLAN 映射的应用环境, 其中用不同的 VLAN 来承载各家庭用户不同类型的业务 ( 包括 PC VoD 和 VoIP) 1-1
图 1-1 1:1 和 N:1 VLAN 映射应用示意图 DHCP client PC VLAN 1 VoD VLAN 2 VoIP VLAN 3 VLAN 1 -> VLAN 101 VLAN 2 -> VLAN 201 VLAN 3 -> VLAN 301 PC VLAN 1 VLAN 1 -> VLAN 102 VLAN 2 -> VLAN 202 VLAN 3 -> VLAN 302 DHCP server VoD VoIP PC VoD VoIP... VLAN 2 VLAN 3 VLAN 1 VLAN 2 VLAN 3............ VLAN 1 -> VLAN 199 VLAN 2 -> VLAN 299 VLAN 3 -> VLAN 399 VLAN 101~102 -> VLAN 501 VLAN 201~202 -> VLAN 502 VLAN 301~302 -> VLAN 503...... VLAN 199~200 -> VLAN 501 VLAN 299~300 -> VLAN 502 VLAN 399~400 -> VLAN 503 汇聚层网络 PC VLAN 1 VLAN 1 -> VLAN 200 VLAN 2 -> VLAN 300 VLAN 3 -> VLAN 400 VoD VLAN 2 VoIP VLAN 3 为了区分不同的用户, 需要在楼道交换机处用不同的 VLAN 来承载不同用户的相同业务, 即进行 1:1 VLAN 映射, 这就要用到大量的 VLAN 但汇聚层网络接入设备可提供的 VLAN 数量有限, 因此需要在园区交换机上来进行 VLAN 的汇聚, 用一个 VLAN 来承载原本由多个 VLAN 承载的不同用户的相同业务, 即进行 N:1 VLAN 映射 1.1.2 2:2 VLAN 映射的应用如图 1-2 所示, 是 2:2 VLAN 映射的应用环境,VPN A 中处于不同地理位置 (Site 1 和 Site 2) 的用户跨越了两个 SP(Service Provider, 服务提供商 ) SP 1 和 SP 2 的网络进行互通 1-2
图 1-2 2:2 VLAN 映射应用示意图 在图 1-2 中,Site 1 和 Site 2 中的用户所在的 VLAN 分别为 VLAN 2 和 VLAN 3,SP 1 和 SP 2 分配给 VPN A 的 VLAN 分别为 VLAN 10 和 VLAN 20 当 Site 1 中的报文进入 SP 1 的网络后,SP1 通过 QinQ 或灵活 QinQ 功能, 在报文外层封装上了 VLAN 10 的 VLAN Tag 这样,VPN 用户就可以自由规划自己网络中的 VLAN ID, 而不用担心与 SP 的 VLAN ID 相冲突, 同时也缓解了 SP 的网络中 VLAN ID 紧缺的问题 当上述报文继续由 SP 1 的网络进入 SP 2 的网络后, 由于 SP 2 分配给 VPN A 的 VLAN 与 SP 1 不同, 因此需将该报文的外层 VLAN Tag 替换为 VLAN 20 的 VLAN Tag, 同时为了与 Site 2 中的用户互通, 还需将其内层 VLAN Tag 替换为 VLAN 3 的 VLAN Tag 这种同时修改内 外两层 VLAN Tag 的过程就是 2:2 VLAN 映射 QinQ 和灵活 QinQ 的具体介绍及配置过程请参见 二层技术 - 以太网交换配置指导 中的 QinQ 配置 1.1.3 VLAN 映射的基本概念 图 1-3 VLAN 映射基本概念示意图 SP 上行端口下行端口上行数据流下行数据流 如图 1-3 所示, 为了更好的理解后面的配置过程, 此处定义几个概念 : 上行数据流 : 从用户网络发往汇聚层网络或 SP 网络的数据流, 都称为上行数据流 1-3
下行数据流 : 从汇聚层网络或 SP 网络发往用户网络的数据流, 都称为下行数据流 上行端口 : 发送上行数据流和接收下行数据流的端口称为上行端口 下行端口 : 发送下行数据流和接收上行数据流的端口称为下行端口 上行策略 : 负责上行数据流 VLAN 映射规则的 QoS 策略 下行策略 : 负责下行数据流 VLAN 映射规则的 QoS 策略 1.1.4 VLAN 映射实现方式 1. 1:1 VLAN 映射实现方式 图 1-4 1:1 VLAN 映射实现方式示意图 应用上行策略 CVLAN SVLAN User network SP network CVLAN SVLAN 应用下行策略 上行端口下行端口上行数据流下行数据流 如图 1-4 所示,1:1 VLAN 映射的实现方式如下 : 对于上行数据流, 通过在下行端口上应用上行策略, 将报文中 CVLAN 的 VLAN Tag 替换为 SVLAN 的 VLAN Tag 对于下行数据流, 通过在下行端口上应用下行策略, 将报文中 SVLAN 的 VLAN Tag 替换为 CVLAN 的 VLAN Tag 2. N:1 VLAN 映射实现方式图 1-5 N:1 VLAN 映射实现方式示意图 CVLAN 1 应用上行策略 SVLAN...... CVLAN n SVLAN User network SP network CVLAN SVLAN 查找 SVLAN 对应的 DHCP Snooping 表项 上行端口下行端口上行数据流下行数据流 如图 1-5 所示,N:1 VLAN 映射的实现方式如下 : 对于上行数据流, 通过在下行端口上应用上行策略, 将来自两个或多个 CVLAN 的报文所携带的不同 VLAN Tag 都替换为 SVLAN 的 VLAN Tag 对于下行数据流, 通过查找 SVLAN 对应的 DHCP Snooping 表项中 DHCP 客户端的 IP 地址 MAC 地址和 CVLAN 的绑定表项, 将报文中 SVLAN 的 VLAN Tag 替换为 CVLAN 的 VLAN Tag 1-4
3. 2:2 VLAN 映射实现方式 图 1-6 2:2 VLAN 映射实现方式示意图 应用上行策略 应用上行策略 SVLAN CVLAN SVLAN CVLAN User network SP network SVLAN CVLAN SVLAN CVLAN 应用下行策略 上行端口下行端口上行数据流下行数据流 如图 1-6 所示,2:2 VLAN 映射的实现方式如下 : 对于上行数据流, 通过在下行端口上应用上行策略, 将报文的外层 VLAN Tag 替换为新的 VLAN Tag; 通过在上行端口上应用上行策略, 将报文的内层 VLAN Tag 替换为新的 VLAN Tag 对于下行数据流, 通过在下行端口上应用下行策略, 将报文的内 外层 VLAN Tag 都替换为各自的原始 VLAN Tag 有关 DHCP Snooping 的详细介绍, 请参见 三层技术 -IP 业务配置指导 中的 DHCP Snooping 有关 QoS 策略的详细介绍, 请参见 ACL 和 QoS 配置指导 中的 QoS 配置方式 1.2 VLAN 映射配置任务简介 用户需要根据网络规划, 在不同的设备上进行不同的 VLAN 映射配置 表 1-1 VLAN 映射配置任务简介 配置任务 说明 详细配置 配置 1:1 VLAN 映射 在图 1-1 所示的组网中, 需要在楼道交换机上进行此配置 1.3.1 配置 N:1 VLAN 映射 在图 1-1 所示的组网中, 需要在园区交换机上进行此配置 1.3.2 配置 2:2 VLAN 映射 在图 1-2 所示的组网中, 需要在 SP 2 网络的边缘设备 PE 3 上进行此配置 1.3.3 1.3 配置 VLAN 映射 1.3.1 配置 1:1 VLAN 映射 在图 1-1 所示的组网中, 需要在楼道交换机上进行 1:1 VLAN 映射的配置, 以便将不同用户的不同业务用不同的 VLAN 进行隔离 1-5
1. 配置任务简介表 1-2 1:1 VLAN 映射配置任务简介配置任务 说明 详细配置 配置上行策略 必选 1.3.1 3. 配置下行策略 必选 1.3.1 4. 配置下行端口 必选 1.3.1 5. 配置上行端口 必选 1.3.1 6. 2. 配置准备在配置 1:1 VLAN 映射之前, 需完成以下任务 : 创建好 CVLAN 和 SVLAN, 并规划好 CVLAN 和 SVLAN 的映射关系 3. 配置上行策略通过配置上行策略, 将不同用户的不同业务 VLAN(CVLAN) 映射到不同的 VLAN(SVLAN) 上 表 1-3 配置上行策略操作命令说明 定义类, 并进入类视图 traffic classifier tcl-name [ operator { and or } ] 必选 定义匹配用户不同业务 VLAN(CVLAN) 的规则 if-match customer-vlan-id vlan-id 必选 定义流行为, 并进入流行为视图 traffic behavior behavior-name 必选 配置重标记报文的 SVLAN remark service-vlan-id vlan-id 必选 定义 QoS 策略, 并进入 QoS 策略视图 qos policy policy-name 必选 为类指定采用的流行为 classifier tcl-name behavior behavior-name 必选 4. 配置下行策略通过配置下行策略, 将 SVLAN 映射回原来的 CVLAN 上 表 1-4 配置下行策略操作 命令 说明 定义类, 并进入类视图 traffic classifier tcl-name [ operator { and or } ] 必选 定义匹配 SVLAN 的规则 if-match service-vlan-id vlan-id 必选 定义流行为, 并进入流行为视图 traffic behavior behavior-name 必选 配置重标记报文的 CVLAN remark customer-vlan-id vlan-id 必选 定义 QoS 策略, 并进入 QoS 策略视图 qos policy policy-name 必选 1-6
操作命令说明 为类指定采用的流行为 classifier tcl-name behavior behavior-name 必选 5. 配置下行端口表 1-5 配置下行端口操作 命令 说明 进入二层以太网端口视图 interface interface-type interface-number - 配置端口的链路类型为 Trunk 类型 允许 CVLAN 和 SVLAN 通过当前 Trunk 端口 使能端口的基本 QinQ 功能 port link-type trunk port trunk permit vlan { vlan-id-list all } qinq enable 必选缺省情况下, 端口的链路类型为 Access 类型 必选缺省情况下,Trunk 端口只允许 VLAN 1 通过 必选缺省情况下, 端口的基本 QinQ 功能处于关闭状态 在端口的入方向上应用上行策略 qos apply policy policy-name inbound 必选 在端口的出方向上应用下行策略 qos apply policy policy-name outbound 必选 6. 配置上行端口表 1-6 配置上行端口操作 命令 说明 进入二层以太网端口视图 interface interface-type interface-number - 配置端口的链路类型为 Trunk 类型 port link-type trunk 必选缺省情况下, 端口的链路类型为 Access 类型 允许 SVLAN 通过当前 Trunk 端口 port trunk permit vlan { vlan-id-list all } 必选缺省情况下,Trunk 端口只允许 VLAN 1 通过 1.3.2 配置 N:1 VLAN 映射在图 1-1 所示的组网中, 需要在园区交换机上进行 N:1 VLAN 映射的配置, 以便将不同用户的相同业务用同一个 VLAN 进行发送, 从而节省 VLAN 资源 1. 配置任务简介表 1-7 N:1 VLAN 映射配置任务简介 配置任务 说明 详细配置 使能 DHCP Snooping 功能 必选 1.3.2 3. 使能 ARP Detection 功能 必选 1.3.2 4. 1-7
配置任务 说明 详细配置 配置上行策略 必选 1.3.2 5. 配置下行端口 必选 1.3.2 6. 配置上行端口 必选 1.3.2 7. 如果用户想改变 VLAN 映射关系, 必须先用 reset dhcp-snooping 命令 ( 请参见 三层技术 -IP 业务命令参考 中的 DHCP Snooping ) 清除 DHCP Snooping 表项, 然后再修改 QoS 策略 中的 VLAN 映射关系 2. 配置准备在配置 N:1 VLAN 映射之前, 需完成以下任务 : 要求家庭用户中不同的业务终端都通过 DHCP 方式获取 IP 地址 有关通过 DHCP 方式获取 IP 地址的方法, 请参见 三层技术 -IP 业务配置指导 中的 DHCP 概述 创建好 CVLAN 和 SVLAN, 并规划好 CVLAN 和 SVLAN 的映射关系 3. 使能 DHCP Snooping 功能表 1-8 使能 DHCP Snooping 功能操作命令说明 使能 DHCP Snooping 功能 dhcp-snooping 必选缺省情况下,DHCP Snooping 功能处于关闭状态 4. 使能 ARP Detection 功能 正常的 ARP 报文处理流程无法修改 ARP 报文所属的 VLAN, 因此需要使用 ARP Detection 功能 将 ARP 报文上送 CPU 进行处理, 这样就可以对 ARP 报文进行 VLAN 映射 有关 ARP Detection 功能的详细介绍, 请参见 安全配置指导 中的 ARP 攻击防御 请在所有 SVLAN 上都使能 ARP Detection 功能 表 1-9 使能 ARP Detection 功能 操作 命令 说明 进入 VLAN 视图 vlan vlan-id - 使能 ARP Detection 功能 arp detection enable 必选缺省情况下,ARP Detection 功能处于关闭状态 建议在所有 CVLAN 上也都使能 ARP Detection 功能, 以起到防攻击的作用 1-8
5. 配置上行策略 通过配置上行策略, 将不同用户的相同业务 VLAN(CVLAN) 映射到同一个 VLAN(SVLAN) 上 表 1-10 配置上行策略 操作 命令 说明 定义类, 并进入类视图 traffic classifier tcl-name [ operator or ] 必选 定义匹配不同用户相同业务 VLAN(CVLAN) 的规则 if-match customer-vlan-id { vlan-id-list vlan-id1 to vlan-id2 } 必选 定义流行为, 并进入流行为视图 traffic behavior behavior-name 必选 配置重标记报文的 SVLAN remark service-vlan-id vlan-id 必选 定义 QoS 策略, 并进入 QoS 策略视图 qos policy policy-name 必选 为类指定采用的流行为和绑定模式 classifier tcl-name behavior behavior-name mode dot1q-tag-manipulation 必选 6. 配置下行端口 表 1-11 配置下行端口 操作命令说明 进入二层以太网端口视图 interface interface-type interface-number - 配置端口的链路类型为 Trunk 类型 允许 CVLAN 和 SVLAN 通过当前 Trunk 端口 使能端口的用户侧 QinQ 功能 port link-type trunk port trunk permit vlan { vlan-id-list all } qinq enable downlink 必选缺省情况下, 端口的链路类型为 Access 类型 必选缺省情况下,Trunk 端口只允许 VLAN 1 通过 必选缺省情况下, 端口的用户侧 QinQ 功能处于关闭状态 在端口的入方向上应用上行策略 qos apply policy policy-name inbound 必选 在下行端口上应用 QoS 策略之前, 需要先使能端口的用户侧 QinQ 功能 ; 在下行端口上关闭用户侧 QinQ 功能之前, 需要先解除 QoS 策略与该端口的绑定 1-9
7. 配置上行端口表 1-12 配置上行端口操作 命令 说明 进入二层以太网端口视图 interface interface-type interface-number - 配置端口的链路类型为 Trunk 类型 port link-type trunk 必选缺省情况下, 端口的链路类型为 Access 类型 允许 SVLAN 通过当前 Trunk 端口 port trunk permit vlan { vlan-id-list all } 必选缺省情况下,Trunk 端口只允许 VLAN 1 通过 配置端口为 DHCP Snooping 信任端口 配置端口为 ARP 信任端口 使能端口的网络侧 QinQ 功能 dhcp-snooping trust arp detection trust qinq enable uplink 必选缺省情况下, 端口为 DHCP Snooping 非信任端口 必选缺省情况下, 端口为 ARP 非信任端口 必选缺省情况下, 端口的网络侧 QinQ 功能处于关闭状态 1.3.3 配置 2:2 VLAN 映射 在图 1-2 所示的组网中, 需要在 SP 2 网络的边缘设备 PE 3 上进行 2:2 VLAN 映射的配置, 以便使 得报文外层 VLAN Tag 为新 SP 网络分配给用户的 VLAN, 而内层的 VLAN Tag 可以和不同 VLAN 的 同一 VPN 用户进行互通 1. 配置任务简介 表 1-13 2:2 VLAN 映射配置任务简介 配置任务 说明 详细配置 配置下行端口的上行策略 必选 1.3.3 2. 配置下行端口的下行策略 必选 1.3.3 3. 配置上行端口的上行策略 必选 1.3.3 4. 配置下行端口 必选 1.3.3 5. 配置上行端口 必选 1.3.3 6. 2. 配置下行端口的上行策略通过配置下行端口的上行策略, 来修改 SVLAN 的值 表 1-14 配置下行端口的上行策略操作 命令 说明 定义类, 并进入类视图 traffic classifier tcl-name [ operator and ] 必选 1-10
操作 命令 说明 定义匹配 CVLAN 的规则 if-match customer-vlan-id vlan-id 必选 定义匹配 SVLAN 的规则 if-match service-vlan-id vlan-id 必选 定义流行为, 并进入流行为视图 traffic behavior behavior-name 必选 配置重标记报文的 SVLAN remark service-vlan-id vlan-id 必选 定义 QoS 策略, 并进入 QoS 策略视图 qos policy policy-name 必选 为类指定采用的流行为 classifier tcl-name behavior behavior-name 必选 3. 配置下行端口的下行策略 通过配置下行端口的下行策略, 来将 SVLAN 和 CVLAN 的值都修改为原来的值 表 1-15 配置下行端口的下行策略 操作 命令 说明 定义类, 并进入类视图 traffic classifier tcl-name [ operator and ] 必选 定义匹配 CVLAN 的规则 if-match customer-vlan-id vlan-id 必选 定义匹配 SVLAN 的规则 if-match service-vlan-id vlan-id 必选 定义流行为, 并进入流行为视图 traffic behavior behavior-name 必选 配置重标记报文的 CVLAN remark customer-vlan-id vlan-id 必选 配置重标记报文的 SVLAN remark service-vlan-id vlan-id 必选 定义 QoS 策略, 并进入 QoS 策略视图 qos policy policy-name 必选 为类指定采用的流行为 classifier tcl-name behavior behavior-name 必选 4. 配置上行端口的上行策略通过配置上行端口的上行策略, 来修改 CVLAN 的值 表 1-16 配置上行端口的上行策略操作 命令 说明 定义类, 并进入类视图 traffic classifier tcl-name [ operator and ] 必选 定义匹配 CVLAN 的规则 if-match customer-vlan-id vlan-id 必选 1-11
操作 命令 说明 定义匹配 SVLAN 的规则 if-match service-vlan-id vlan-id 必选 定义流行为, 并进入流行为视图 traffic behavior behavior-name 必选 配置重标记报文的 CVLAN remark customer-vlan-id vlan-id 必选 定义 QoS 策略, 并进入 QoS 策略视图 qos policy policy-name 必选 为类指定采用的流行为 classifier tcl-name behavior behavior-name 必选 5. 配置下行端口表 1-17 配置下行端口操作 命令 说明 进入二层以太网端口视图 interface interface-type interface-number - 配置端口的链路类型为 Trunk 类型 port link-type trunk 必选缺省情况下, 端口的链路类型为 Access 类型 允许 SVLAN 通过当前 Trunk 端口 port trunk permit vlan { vlan-id-list all } 必选缺省情况下,Trunk 端口只允许 VLAN 1 通过 在端口的入方向上应用上行策略 qos apply policy policy-name inbound 必选 在端口的出方向上应用下行策略 qos apply policy policy-name outbound 必选 6. 配置上行端口表 1-18 配置上行端口操作 命令 说明 进入二层以太网端口视图 interface interface-type interface-number - 配置端口的链路类型为 Trunk 类型 port link-type trunk 必选缺省情况下, 端口的链路类型为 Access 类型 允许 SVLAN 通过当前 Trunk 端口 port trunk permit vlan { vlan-id-list all } 必选缺省情况下,Trunk 端口只允许 VLAN 1 通过 在端口的出方向上应用上行策略 qos apply policy policy-name outbound 必选 1-12
1.4 VLAN 映射典型配置举例 1.4.1 1:1 和 N:1 VLAN 映射配置举例 1. 组网需求 在某小区, 服务提供商为每个家庭都提供了电脑上网 (PC) 视频点播(VoD) 和语音电话 (VoIP) 这三种数据服务, 每个家庭都通过各自的家庭网关接入楼道交换机, 并通过 DHCP 方式自动获取 IP 地址 服务提供商希望实现以下网络规划 : 在家庭网关上, 分别将 PC VoD 和 VoIP 业务依次划分到 VLAN 1~3; 在楼道交换机上, 为了隔离不同家庭的同类业务, 将每个家庭的每种业务都划分到不同的 VLAN; 而在园区交换机上, 为了节省 VLAN 资源, 将所有家庭的同类业务都划分到相同的 VLAN, 即分别将 PC VoD 和 VoIP 业务依次划分到 VLAN 501~503 2. 组网图图 1-7 1:1 和 N:1 VLAN 映射配置组网图 DHCP client PC VLAN 1 VoD VLAN 2 VoIP VLAN 3 Eth1/0/1 VLAN 1 -> VLAN 101 VLAN 2 -> VLAN 201 VLAN 3 -> VLAN 301 Eth1/0/3 PC VLAN 1 Switch A Eth1/0/2 VLAN 1 -> VLAN 102 VLAN 2 -> VLAN 202 VLAN 3 -> VLAN 302 DHCP server VoD VLAN 2 VoIP PC VLAN 3 VLAN 1 Switch C Eth1/0/1 Eth1/0/2 VLAN 101~102 -> VLAN 501 VLAN 201~202 -> VLAN 502 VLAN 301~302 -> VLAN 503 Eth1/0/3 Eth1/0/1 VLAN 103~104 -> VLAN 501 VLAN 203~204 -> VLAN 502 VLAN 303~304 -> VLAN 503 Switch D VoD VLAN 2 VoIP VLAN 3 Eth1/0/1 VLAN 1 -> VLAN 103 VLAN 2 -> VLAN 203 VLAN 3 -> VLAN 303 Eth1/0/3 汇聚层网络 PC VLAN 1 Switch B Eth1/0/2 VLAN 1 -> VLAN 104 VLAN 2 -> VLAN 204 VLAN 3 -> VLAN 304 VoD VLAN 2 VoIP VLAN 3 3. 配置步骤 (1) 配置 Switch A 1-13
# 创建 CVLAN 和 SVLAN <SwitchA> system-view [SwitchA] vlan 2 to 3 [SwitchA] vlan 101 to 102 [SwitchA] vlan 201 to 202 [SwitchA] vlan 301 to 302 # 配置上行策略 p1 和 p2: 将不同用户的不同业务 CVLAN 映射到不同的 SVLAN 上 [SwitchA] traffic classifier c1 [SwitchA-classifier-c1] if-match customer-vlan-id 1 [SwitchA-classifier-c1] traffic classifier c2 [SwitchA-classifier-c2] if-match customer-vlan-id 2 [SwitchA-classifier-c2] traffic classifier c3 [SwitchA-classifier-c3] if-match customer-vlan-id 3 [SwitchA-classifier-c3] quit [SwitchA] traffic behavior b1 [SwitchA-behavior-b1] remark service-vlan-id 101 [SwitchA-behavior-b1] traffic behavior b2 [SwitchA-behavior-b2] remark service-vlan-id 201 [SwitchA-behavior-b2] traffic behavior b3 [SwitchA-behavior-b3] remark service-vlan-id 301 [SwitchA-behavior-b3] traffic behavior b4 [SwitchA-behavior-b4] remark service-vlan-id 102 [SwitchA-behavior-b4] traffic behavior b5 [SwitchA-behavior-b5] remark service-vlan-id 202 [SwitchA-behavior-b5] traffic behavior b6 [SwitchA-behavior-b6] remark service-vlan-id 302 [SwitchA-behavior-b6] quit [SwitchA] qos policy p1 [SwitchA-policy-p1] classifier c1 behavior b1 [SwitchA-policy-p1] classifier c2 behavior b2 [SwitchA-policy-p1] classifier c3 behavior b3 [SwitchA-policy-p1] quit [SwitchA] qos policy p2 [SwitchA-policy-p2] classifier c1 behavior b4 [SwitchA-policy-p2] classifier c2 behavior b5 [SwitchA-policy-p2] classifier c3 behavior b6 [SwitchA-policy-p2] quit # 配置下行策略 p11 和 p22: 将 SVLAN 映射回原来的 CVLAN 上 [SwitchA] traffic classifier c11 [SwitchA-classifier-c11] if-match service-vlan-id 101 [SwitchA-classifier-c11] traffic classifier c22 [SwitchA-classifier-c22] if-match service-vlan-id 201 [SwitchA-classifier-c22] traffic classifier c33 [SwitchA-classifier-c33] if-match service-vlan-id 301 [SwitchA-classifier-c33] traffic classifier c44 [SwitchA-classifier-c44] if-match service-vlan-id 102 [SwitchA-classifier-c44] traffic classifier c55 [SwitchA-classifier-c55] if-match service-vlan-id 202 [SwitchA-classifier-c55] traffic classifier c66 [SwitchA-classifier-c66] if-match service-vlan-id 302 [SwitchA-classifier-c66] quit [SwitchA] traffic behavior b11 [SwitchA-behavior-b11] remark customer-vlan-id 1 1-14
[SwitchA-behavior-b11] traffic behavior b22 [SwitchA-behavior-b22] remark customer-vlan-id 2 [SwitchA-behavior-b22] traffic behavior b33 [SwitchA-behavior-b33] remark customer-vlan-id 3 [SwitchA-behavior-b33] quit [SwitchA] qos policy p11 [SwitchA-policy-p11] classifier c11 behavior b11 [SwitchA-policy-p11] classifier c22 behavior b22 [SwitchA-policy-p11] classifier c33 behavior b33 [SwitchA-policy-p11] quit [SwitchA] qos policy p22 [SwitchA-policy-p22] classifier c44 behavior b11 [SwitchA-policy-p22] classifier c55 behavior b22 [SwitchA-policy-p22] classifier c66 behavior b33 [SwitchA-policy-p22] quit # 配置下行端口 Ethernet1/0/1 为 Trunk 端口且允许 CVLAN 和 SVLAN 通过, 使能该端口的基本 QinQ 功能, 在该端口的入方向上应用上行策略 p1, 并在该端口的出方向上应用下行策略 p11 [SwitchA] interface ethernet 1/0/1 [SwitchA-Ethernet1/0/1] port link-type trunk [SwitchA-Ethernet1/0/1] port trunk permit vlan 1 2 3 101 201 301 [SwitchA-Ethernet1/0/1] qinq enable [SwitchA-Ethernet1/0/1] qos apply policy p1 inbound [SwitchA-Ethernet1/0/1] qos apply policy p11 outbound [SwitchA-Ethernet1/0/1] quit # 配置下行端口 Ethernet1/0/2 为 Trunk 端口且允许 CVLAN 和 SVLAN 通过, 使能该端口的基本 QinQ 功能, 在该端口的入方向上应用上行策略 p2, 并在该端口的出方向上应用下行策略 p22 [SwitchA] interface ethernet 1/0/2 [SwitchA-Ethernet1/0/2] port link-type trunk [SwitchA-Ethernet1/0/2] port trunk permit vlan 1 2 3 102 202 302 [SwitchA-Ethernet1/0/2] qinq enable [SwitchA-Ethernet1/0/2] qos apply policy p2 inbound [SwitchA-Ethernet1/0/2] qos apply policy p22 outbound [SwitchA-Ethernet1/0/2] quit # 配置上行端口 Ethernet1/0/3 为 Trunk 端口且允许 SVLAN 通过 [SwitchA] interface ethernet 1/0/3 [SwitchA-Ethernet1/0/3] port link-type trunk [SwitchA-Ethernet1/0/3] port trunk permit vlan 101 201 301 102 202 302 如果 PC( 发送不带 VLAN Tag 的报文 ) 直接连接在楼道交换机上, 则需把楼道交换机连接 PC 的端口配置成 Access 端口或者 Trunk 端口 : 当配置成 Access 端口时, 要把端口加入到 SVLAN; 当配置成 Trunk 端口时, 要把端口的缺省 VLAN 配置成 SVLAN (2) 配置 Switch B Switch B 的配置与 Switch A 相似, 配置过程略 (3) 配置 Switch C # 使能 DHCP Snooping 功能 <SwitchC> system-view 1-15
[SwitchC] dhcp-snooping # 创建 CVLAN 和 SVLAN, 并在这些 VLAN 上分别使能 ARP Detection 功能 [SwitchC] vlan 101 [SwitchC-vlan101] arp detection enable [SwitchC-vlan101] vlan 201 [SwitchC-vlan201] arp detection enable [SwitchC-vlan201] vlan 301 [SwitchC-vlan301] arp detection enable [SwitchC-vlan301] vlan 102 [SwitchC-vlan102] arp detection enable [SwitchC-vlan102] vlan 202 [SwitchC-vlan202] arp detection enable [SwitchC-vlan202] vlan 302 [SwitchC-vlan302] arp detection enable [SwitchC-vlan302] vlan 103 [SwitchC-vlan103] arp detection enable [SwitchC-vlan103] vlan 203 [SwitchC-vlan203] arp detection enable [SwitchC-vlan203] vlan 303 [SwitchC-vlan303] arp detection enable [SwitchC-vlan303] vlan 104 [SwitchC-vlan104] arp detection enable [SwitchC-vlan104] vlan 204 [SwitchC-vlan204] arp detection enable [SwitchC-vlan204] vlan 304 [SwitchC-vlan304] arp detection enable [SwitchC-vlan304] vlan 501 [SwitchC-vlan501] arp detection enable [SwitchC-vlan501] vlan 502 [SwitchC-vlan502] arp detection enable [SwitchC-vlan502] vlan 503 [SwitchC-vlan503] arp detection enable [SwitchC-vlan503] quit # 配置上行策略 p1 和 p2: 将不同用户的相同业务 VLAN(CVLAN) 映射到同一个 VLAN(SVLAN) 上 [SwitchC] traffic classifier c1 [SwitchC-classifier-c1] if-match customer-vlan-id 101 to 102 [SwitchC-classifier-c1] traffic classifier c2 [SwitchC-classifier-c2] if-match customer-vlan-id 201 to 202 [SwitchC-classifier-c2] traffic classifier c3 [SwitchC-classifier-c3] if-match customer-vlan-id 301 to 302 [SwitchC-classifier-c3] traffic classifier c4 [SwitchC-classifier-c4] if-match customer-vlan-id 103 to 104 [SwitchC-classifier-c4] traffic classifier c5 [SwitchC-classifier-c5] if-match customer-vlan-id 203 to 204 [SwitchC-classifier-c5] traffic classifier c6 [SwitchC-classifier-c6] if-match customer-vlan-id 303 to 304 [SwitchC-classifier-c6] quit [SwitchC] traffic behavior b1 [SwitchC-behavior-b1] remark service-vlan-id 501 [SwitchC-behavior-b1] traffic behavior b2 [SwitchC-behavior-b2] remark service-vlan-id 502 [SwitchC-behavior-b2] traffic behavior b3 1-16
[SwitchC-behavior-b3] remark service-vlan-id 503 [SwitchC-behavior-b3] quit [SwitchC] qos policy p1 [SwitchC-policy-p1] classifier c1 behavior b1 mode dot1q-tag-manipulation [SwitchC-policy-p1] classifier c2 behavior b2 mode dot1q-tag-manipulation [SwitchC-policy-p1] classifier c3 behavior b3 mode dot1q-tag-manipulation [SwitchC-policy-p1] quit [SwitchC] qos policy p2 [SwitchC-policy-p2] classifier c4 behavior b1 mode dot1q-tag-manipulation [SwitchC-policy-p2] classifier c5 behavior b2 mode dot1q-tag-manipulation [SwitchC-policy-p2] classifier c6 behavior b3 mode dot1q-tag-manipulation [SwitchC-policy-p2] quit # 配置下行端口 Ethernet1/0/1 为 Trunk 端口且允许 CVLAN 和 SVLAN 通过, 使能该端口的用户侧 QinQ 功能, 并在该端口的入方向上应用上行策略 p1 [SwitchC] interface ethernet 1/0/1 [SwitchC-Ethernet1/0/1] port link-type trunk [SwitchC-Ethernet1/0/1] port trunk permit vlan 101 201 301 102 202 302 501 502 503 [SwitchC-Ethernet1/0/1] qinq enable downlink [SwitchC-Ethernet1/0/1] qos apply policy p1 inbound [SwitchC-Ethernet1/0/1] quit # 配置下行端口 Ethernet1/0/2 为 Trunk 端口且允许 CVLAN 和 SVLAN 通过, 使能该端口的用户侧 QinQ 功能, 并在该端口的入方向上应用上行策略 p2 [SwitchC] interface ethernet 1/0/2 [SwitchC-Ethernet1/0/2] port link-type trunk [SwitchC-Ethernet1/0/2] port trunk permit vlan 103 203 303 104 204 304 501 502 503 [SwitchC-Ethernet1/0/2] qinq enable downlink [SwitchC-Ethernet1/0/2] qos apply policy p2 inbound [SwitchC-Ethernet1/0/2] quit # 配置上行端口 Ethernet1/0/3 为 Trunk 端口且允许 SVLAN 通过, 配置该端口为 DHCP Snooping 信任端口和 ARP 信任端口, 并使能该端口的网络侧 QinQ 功能 [SwitchC] interface ethernet 1/0/3 [SwitchC-Ethernet1/0/3] port link-type trunk [SwitchC-Ethernet1/0/3] port trunk permit vlan 501 502 503 [SwitchC-Ethernet1/0/3] dhcp-snooping trust [SwitchC-Ethernet1/0/3] arp detection trust [SwitchC-Ethernet1/0/3] qinq enable uplink (4) 配置 Switch D # 使能 DHCP Snooping 功能 <SwitchD> system-view [SwitchD] dhcp-snooping # 配置端口 Ethernet1/0/1 为 Trunk 端口且允许 SVLAN 通过 <SwitchD> system-view [SwitchD] interface ethernet 1/0/1 [SwitchD-Ethernet1/0/1] port link-type trunk [SwitchD-Ethernet1/0/1] port trunk permit vlan 501 502 503 1-17
1.4.2 2:2 VLAN 映射配置举例 1. 组网需求 VPN A 中的站点 1 和站点 2 是某公司的两个分支机构, 且分别利用 VLAN 10 和 VLAN 30 承载业务 由于分处不同地域, 这两个分支机构采用了不同的服务提供商所提供的 VPN 接入服务, 且 SP 1 和 SP 2 分别将 VLAN 100 和 VLAN 200 分配给这两个分支机构使用 该公司希望其下属的这两个分支机构可以跨越 SP 1 和 SP 2 的网络实现互通 2. 组网图图 1-8 2:2 VLAN 映射配置组网图 3. 配置步骤 (1) 配置 PE 1 # 配置 Ethernet1/0/1 端口的 QinQ 功能, 为 VLAN 10 报文添加 VLAN ID 为 100 的外层 VLAN Tag <PE1> system-view [PE1] interface ethernet 1/0/1 [PE1-Ethernet1/0/1] port access vlan 100 [PE1-Ethernet1/0/1] qinq enable [PE1-Ethernet1/0/1] quit # 配置上行端口 Ethernet1/0/2 允许 VLAN 100 的报文通过 [PE1] interface ethernet 1/0/2 [PE1-Ethernet1/0/2] port link-type trunk [PE1-Ethernet1/0/2] port trunk permit vlan 100 (2) 配置 PE 2 # 配置端口 Ethernet1/0/1 为 Trunk 端口且允许 VLAN 100 通过 <PE2> system-view [PE2] interface ethernet 1/0/1 [PE2-Ethernet1/0/1] port link-type trunk [PE2-Ethernet1/0/1] port trunk permit vlan 100 [PE2-Ethernet1/0/1] quit # 配置端口 Ethernet1/0/2 为 Trunk 端口且允许 VLAN 100 通过 [PE2] interface ethernet 1/0/2 [PE2-Ethernet1/0/2] port link-type trunk [PE2-Ethernet1/0/2] port trunk permit vlan 100 (3) 配置 PE 3 # 配置下行端口的上行策略 downlink_in: 即下行端口对入方向报文的匹配规则流行为 <PE3> system-view [PE3] traffic classifier downlink_in 1-18
[PE3-classifier-downlink_in] if-match customer-vlan-id 10 [PE3-classifier-downlink_in] if-match service-vlan-id 100 [PE3-classifier-downlink_in] quit [PE3] traffic behavior downlink_in [PE3-behavior-downlink_in] remark service-vlan-id 200 [PE3-behavior-downlink_in] quit [PE3] qos policy downlink_in [PE3-qospolicy-downlink_in] classifier downlink_in behavior downlink_in [PE3-qospolicy-downlink_in] quit # 配置下行端口的下行策略 downlink_out: 即下行端口对出方向报文的匹配规则和流行为 [PE3] traffic classifier downlink_out [PE3-classifier-downlink_out] if-match customer-vlan-id 30 [PE3-classifier-downlink_out] if-match service-vlan-id 200 [PE3-classifier-downlink_out] quit [PE3] traffic behavior downlink_out [PE3-behavior-downlink_out] remark customer-vlan-id 10 [PE3-behavior-downlink_out] remark service-vlan-id 100 [PE3-behavior-downlink_out] quit [PE3] qos policy downlink_out [PE3-qospolicy-downlink_out] classifier downlink_out behavior downlink_out [PE3-qospolicy-downlink_out] quit # 配置上行端口的上行策略 uplink_out: 即上行端口对出方向报文的匹配规则和流行为 [PE3] traffic classifier uplink_out [PE3-classifier-uplink_out] if-match customer-vlan-id 10 [PE3-classifier-uplink_out] if-match service-vlan-id 200 [PE3-classifier-uplink_out] quit [PE3] traffic behavior uplink_out [PE3-behavior-uplink_out] remark customer-vlan-id 30 [PE3-behavior-uplink_out] quit [PE3] qos policy uplink_out [PE3-qospolicy-uplink_out] classifier uplink_out behavior uplink_out [PE3-qospolicy-uplink_out] quit # 配置下行端口 Ethernet1/0/1 为 Trunk 端口且允许 VLAN 200 通过, 在该端口的入方向上应用上行策略 downlink_in, 并在该端口的出方向上应用下行策略 downlink_out [PE3] interface ethernet 1/0/1 [PE3-Ethernet1/0/1] port link-type trunk [PE3-Ethernet1/0/1] port trunk permit vlan 200 [PE3-Ethernet1/0/1] qos apply policy downlink_in inbound [PE3-Ethernet1/0/1] qos apply policy downlink_out outbound [PE3-Ethernet1/0/1] quit # 配置上行端口 Ethernet1/0/2 为 Trunk 端口且允许 VLAN 200 通过, 并在该端口的出方向上应用下行策略 uplink_out [PE3] interface ethernet 1/0/2 [PE3-Ethernet1/0/2] port link-type trunk [PE3-Ethernet1/0/2] port trunk permit vlan 200 [PE3-Ethernet1/0/2] qos apply policy uplink_out outbound [PE3-Ethernet1/0/2] quit (4) 配置 PE 4 # 配置 Ethernet1/0/2 的 QinQ 功能, 为 VLAN 30 报文添加 VLAN ID 为 200 的外层 VLAN Tag <DeviceD> system-view [DeviceD] interface ethernet 1/0/2 [DeviceD-Ethernet1/0/2] port access vlan 200 1-19
[DeviceD-Ethernet1/0/2] qinq enable # 配置端口 Ethernet1/0/1 允许 VLAN 200 的报文通过 [DeviceD] interface ethernet 1/0/1 [DeviceD-Ethernet1/0/1] port link-type trunk [DeviceD-Ethernet1/0/1] port trunk permit vlan 200 1-20