4.1. Общие сведения о Flexible QinQ

Flexible QinQ принимает решение добавлять внешний тэг VLAN (SPVLAN tag) или нет, основываясь на потоке кадров данных. Например, Гибкий QinQ может быть реализован на основе тэга VLAN пользователя, MAC-адреса, IPv4/IPv6 адреса, протокола IPv4/IPv6, номером порта приложения и т.д. Таким образом эта технология позволяет гибко инкапсулировать поток данных пользователя по различным схемам и различными методами.

4.2. Конфигурация Flexible QinQ

Соответствие потока данных Flexible QinQ реализовано на основе правил карты политик (policy-map):

  1. Создать карту класса (class-map) для классификации различных поток данных;

  2. Создать карту политик (policy-map) Flexible QinQ для связи с картой класса (class-map) и выбора операции;

  3. Применить Flexible QinQ на порт;

  4. Проверка текущей конфигурации Flexible QinQ.


  1. Создать карту класса (class-map) для классификации различных поток данных;

Команда

Описание

class-map <class-map-name>


no class-map <class-map-name>

!  В режиме глобальной конфигурации

Создание карты классов с именем <class-map-name> и вход в режим конфигурирования этой карты классов.

Команда no удаляет карты классов с именем <class-map-name>

match {access-group <acl-index-or-name> | ip dscp <dscp-list>| ip precedence <ip-precedence-list> | ipv6 access-group <acl-index-or-name> | ipv6 dscp <dscp-list> | ipv6 flowlabel <flowlabel-list> | vlan <vlan-list> | cos <cos-list>}

no match {access-group | ip dscp | ip precedence | ipv6 access-group | ipv6 dscp | ipv6 flowlabel | vlan | cos }

!  В режиме глобальной конфигурации

Настройка критерия соответствия данных карте классов. Команда no отменяет конфигурацию соответствия.






2. Создать карту политик (policy-map) Flexible QinQ для связи с картой класса (class-map) и выбора операции;

Команда

Описание

policy-map <policy-map-name>

no policy-map <policy-map-name>

!  В режиме глобальной конфигурации

Создание карты политик с именем и вход в режим её конфигурирования <policy-map-name>.Команда no удаляет карту политик

class <class-map-name> [insert-before <class-map-name>]



no class <class-map-name>

!  В режиме глобальной конфигурации

Задать для текущей карты политик ассоциацию с картой классов с именем <class-map-name>.

insert-before <class-map-name> - позволяет добавить карту классов для ассоциации раньше, чем с именем <class-map-name>.

Команда no отменяет эту ассоциацию.

set {ip dscp <new-dscp> | ip precedence <new-precedence> | internal priority <new-inp> | drop precedence <new-dp> | cos <new-cos> | s-vid<new-vid>}

no set {ip dscp | ip precedence | internal priority | drop precedence | cos|s-vid }

!  В режиме глобальной конфигурации

Присвоить классифицированному трафику новое значение dscp (ip dscp <new-dscp>), значение ip presedence (ip precedence <new-precedence>), значение приоритета сброса (drop precedence <new-dp>), значение поля cos (cos <new-cos>), внешний тег vlan (s-vid <new-vid>)

Команда no отменяет присвоение.


3. Применить Flexible QinQ на порт.

Команда

Описание

service-policy input <policy-map-name>

no service-policy input {<policy-map-name>}

! В режиме конфигурирования интерфейса

Применить карту политик с именем <policy-map-name> для входящего трафика на порту

Команда no удаляет карту политик с именем <policy-map-name> с порта.


4. Просмотр конфигурации Flexible QinQ

Команда

Описание

show mls qos {interface [<interface-id>]

!   В привилегированном режиме

Просмотр текущей конфигурации Flexible QinQ на порту <interface-id>

4.3. Пример конфигурации Flexible QinQ

Рисунок 22.1 - Пример использования Flexible QinQ


Как показано на рисунке 22.1, первый пользователь, подключенный к DSLAM1, назначает метки DSCP 10, 20 и 30 для исходящего трафика в своей сети. DSCP10 соответствует Широкополосному доступу, DSCP20 соответствует VoIP, DSCP соответствует VOD. После того, как на портах коммутаторов в сторону клиентов будет включен Гибкий QinQ, пакетам с разным значением DSCP будут добавлены различные внешние тэги VLAN, уникальные в публичной сети оператора. Пакетам с DSCP10 будет добавлен тег 1001, трафик будет отправлен на BRAS. Пакетам с DSCP20 (DSCP30) будет добавлен внешний тег VLAN 2001 (3001 соответственно), трафик будет отправлен на SR.
Второй пользователь, подключенный к DSLAM2, также добавляет различные метки DSCP, метки внешнего тега будут добавлены аналогичным образом. На приведенном выше рисунке внешний тег второго пользователя отличается от первого пользователя для различия DSLAM и местонахождения пользователей.
Предположим, что DSLAM подключены к портам Ethernet 1/0/1 обоих коммутаторов соответственно.

Конфигурация будет выглядеть следующим образом:

Switch1:

Switch(config)#class-map c1
Switch(config-classmap-c1)#match ip dscp 10
Switch(config-classmap-c1)#exit
Switch(config)#class-map c2
Switch(config-classmap-c2)#match ip dscp 20
Switch(config-classmap-c2)#exit
Switch(config)#class-map c3
Switch(config-classmap-c3)#match ip dscp 30
Switch(config-classmap-c3)#exit
Switch(config)#policy-map p1
Switch(config-policymap-p1)#class c1
Switch(config-policymap-p1-class-c1)# set s-vid 1001
Switch(config-policymap-p1)#class c2
Switch(config-policymap-p1-class-c2)# set s-vid 2001
Switch(config-policymap-p1)#class c3
Switch(config-policymap-p1-class-c3)# set s-vid 3001
Switch(config-policymap-p1-class-c3)#exit
Switch(config-policymap-p1)#exit
Switch(config)#interface ethernet 1/0/1
Switch(config-if-ethernet1/0/1)#dot1q-tunnel enable
Switch(config-if-ethernet1/0/1)#service-policy p1 in

Switch2:

Switch(config)#class-map c1
Switch(config-classmap-c1)#match ip dscp 10
Switch(config-classmap-c1)#exit
Switch(config)#class-map c2
Switch(config-classmap-c2)#match ip dscp 20
Switch(config-classmap-c2)#exit
Switch(config)#class-map c3
Switch(config-classmap-c3)#match ip dscp 30
Switch(config-classmap-c3)#exit
Switch(config)#policy-map p1
Switch(config-policymap-p1)#class c1
Switch(config-policymap-p1-class-c1)# set s-vid 1002
Switch(config-policymap-p1)#class c2
Switch(config-policymap-p1-class-c2)# set s-vid 2002
Switch(config-policymap-p1)#class c3
Switch(config-policymap-p1-class-c3)# set s-vid 3002
Switch(config-policymap-p1-class-c3)#exit
Switch(config-policymap-p1)#exit
Switch(config)#interface ethernet 1/0/1
Switch(config-if-ethernet1/0/1)#dot1q-tunnel enable
Switch(config-if-ethernet1/0/1)# service-policy p1 in

4.4. Решение проблем с конфигурацией Flexible QinQ

В случае, если Flexible QinQ не может быть применен к порту, проверьте не вызвана ли проблема следующими причинами: