При большом количестве людей и отсутствии нормального, полноценного PBR (policy-based routing) на cisco asa, каким-то образом необходимо уменьшить потенциальные «тормоза» в передаче звука и видео по скайпу с компьютеров в переговорных комнатах, а также звука с ip-телефонов. Обладатели cisco-роутеров удивятся «сложности» постановки задачи. В роутерах практически любой трафик можно выделять по протоколу (match protocol skype и др.). Но не тут-то было. ASA «знает» только самые распространенные протоколы типа http, ftp и др. Также, она умеет выделять трафик по регулярным выражениям, но описать регулярными выражениями трафик скайпа довольно сложно.
Решение, в общем-то, нашлось довольно быстро. С наших IP-телефонов никакой трафик кроме голосового идти не может, поэтому приоритет будет отдаваться всему трафику с их айпишников. Для упрощения дальнейшего администрирования, самый простой способ — добавить все эти адреса в object-group.
object-group network IPPHONES network-object host 192.168.1.25 network-object host 192.168.1.26
Далее создаем access-list:
access-list IPPHONES extended permit ip object-group IPPHONES any
Этот access-list мы используем в class-map:
class-map IPPHONES match access-list IPPHONES
А class-map, в свою очередь, в policy-map:
policy-map LOCAL class IPPHONES priority
Таким образом, при дополнении этого policy-map политиками ограничения скорости для других типов трафика, мы отдадим приоритет исходящему трафику с телефонов.
С трафиком скайпа в переговорных комнатах можно поступить таким же образом (выдать приоритет всему трафику), но в нашем случае нашелся более изящный вариант. В переговорных комнатах установлены компьютеры под управлением ОС Windows и они входят в домен. При помощи групповых политик можно назначать значения DSCP трафику, генерируемому конкретными приложениями. Для этого надо создать новую политику QoS (Computer Configuration -> Windows Settings -> Policy-based QoS) в новом объекте (или в одном из существующих) групповой политики и назначить эту групповую политику на необходимый нам OU. В политике QoS необходимо выставить отличное от нуля (например, 1) значение DSCP для трафика TCP и UDP, генерируемого приложением skype.exe. После этого мы можем создать class-map для выделения этого трафика из потока:
class-map SKYPE match dscp 1
И добавить этот класс в наш policy-map:
policy-map LOCAL class SKYPE priority
И не забываем применять policy-map к интерфейсу:
service-policy LOCAL interface LOCAL
В итоге мы получаем минимальные задержки для интересующего нас трафика довольно простыми методами.