Классификация трафика

Для настройки классификации в EcoRouterOS необходимо использовать специальные карты классов, создать соответствующий профиль трафика и привязать его к экземпляру сервиса (service-instance). В таком случае входящие в service-instance пакеты могут быть классифицированы, т.е. обработаны и рассмотрены другим QoS-функционалом.

Карты классов создаются в конфигурационном режиме при помощи команды class-map <NAME>, где NAME может быть любой строкой, рекомендуемый формат имени — все буквы заглавные.

Пример:

ecorouter(config)# class-map VIDEO
ecorouter(config)# class-map IPVOICE
ecorouter(config)# class-map MYCLASS

При создании карты класса пользователь оказывается в режиме ее конфигурирования.

Пример:

ecorouter(config)# class-map VOICE
ecorouter(config-cmap)#?
Traffic classifier configuration commands:
 exit  Exit from the current mode to the previous mode
 help  Description of the interactive help system
 match  Classification criteria
 no   Negate a command or set its defaults
 set   Set marking values
 show  Show running system information

В режиме конфигурации карты классов пользователю доступна команда match, которая позволит выделять определённые пакеты из общего потока трафика путём указания значения поля или его наименования в заголовках Ethernet, MPLS или IP. По значениям этих полей будет осуществляться классификация трафика. Введение нескольких правил match будет соответствовать логической операции «ИЛИ».

Пример:

ecorouter(config-cmap)#match ?
 cos  IEEE 802.1Q class of service priority values
 dscp  Match DSCP in IP packets
 exp  Match MPLS experimental
ecorouter(config-cmap)#match cos ?
 <0-7>  Enter class-of-service values
ecorouter(config-cmap)#match dscp ?
 <0-63>  Enter DSCP values
ecorouter(config-cmap)#match exp ?
 <0-7>  Enter MPLS exp values

Как видно из примера, классификация в EcoRouterOS может осуществляется по полям cos, dscp и exp. Значения могут задаваться только в десятичном виде. Можно задавать набор значений, используя в качестве разделителя запятую «,» или диапазон, используя в качестве разделителя дефис «-».

Для создания профилей трафика используется команда traffic-profile <NAME>, где NAME может быть любым наименованием, рекомендуемый формат имени — цифры или все буквы заглавные.

При создании профиля трафика пользователь оказывается в режиме его конфигурирования.

Пример:

ecorouter(config)# traffic-profile 1
ecorouter(config-traffic-profile)# ?
Traffic profile configuration commands:
 class  Select a class to configure
 exit  Exit from the current mode to the previous mode
 help  Description of the interactive help system
 no   Negate a command or set its defaults
 show  Show running system information

Для привязки классов трафика к профилю используется команда class с указанием имени ранее сконфигурированной карты классов.

Пример:

ecorouter(config)#traffic-profile 1
ecorouter(config-profile)#class VIDEO
ecorouter(config-profile)#class IPVOICE

Для включения классификации, возможности обрабатывать пакеты отдельно друг от друга и применять различные политики в зависимости от типа поступающего трафика пользователь должен применить профиль трафика к заранее созданной политике. Сделать это можно с помощью команды в конфигурационном режиме service-policy <NAME>, где NAME может быть любым наименованием, рекомендуемый формат имени — цифры или заглавные буквы.

Пример:

ecorouter(config)#service-policy ECO
ecorouter(config-policy)#traffic-profile 1

Далее необходимо применить политику на экземпляре сервиса (service-instance) во входящем направлении. Классификация трафика в исходящем направлении невозможна.

Пример:

ecorouter(config)#port ge1
ecorouter(config-port)#service-instance test
ecorouter(config-service-instance)#service-policy ECO in

Пример включения классификации голосового и видео-трафика во входящем направлении по отношении к порту ge1:

ecorouter(config)#class-map VIDEO
ecorouter(config-cmap)#match dscp 1
ecorouter(config-cmap)#exit
ecorouter(config)# class-map IPVOICE
ecorouter(config-cmap)#match dscp 2
ecorouter(config-cmap)#exit
ecorouter(config)#traffic-profile TEST
ecorouter(config-traffic-profile)#class VIDEO
ecorouter(config-traffic-profile)#class IPVOICE
ecorouter(config-cmap)#exit
ecorouter(config)#service-policy ECO
ecorouter(config-policy)#traffic-profile TEST
ecorouter(config)#port ge1
ecorouter(config-port)#service-instance test
ecorouter(config-service-instance)#service-policy ECO in

Для проверки сконфигурированных параметров можно воспользоваться командами:

ecorouter#sh class-map
Class map default
Class map IP0
 Match dscp: 2
Class map IP1
 Match dscp: 4
Class map IP2
 Match dscp: 8
Class map IP3
 Match dscp: 12
show traffic-profile
Traffic profile prof-dscp
 Class IP0
 Class IP1
 Class IP2
 Class IP3