lab7
.docx
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ
КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
Дисциплина Безопасность IP телефонии
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №7
Quality of Service
Направление/специальность подготовки: Информационная безопасность
Студенты:
ИКБ-95 ______ (ФИО) (группа) (подпись)
ИКБ-95 ______ (ФИО) (группа) (подпись)
Преподаватель:
Поляничева А.В. ______ (ФИО) (подпись)
Цель лабораторной работы
Настроить QoS на сетевых устройствах Cisco через packet tracer.
Задачи лабораторной работы
Добавить 4 пк
Добавить 4 телефона
Добавить 2 коммутатора
Добавить два маршрутизатора 2811
Добавить HTTP/FTP сервер
Используемое программное обеспечение
Cisco Packet Tracer 8.0
Схема топологии сети
Рисунок 1
Выполнение лабораторной работы
Часть 1. Настройка QoS на роутере R1
QoS – Quality of service.
Сделать на R1
1) Match traffic:
- Voice traffic using NBAR (rtp) -> Set DSCP to EF
- HTTP using NBAR (http)-> Set DSCP to AF31
- ICMP using NBAR (icmp)-> Set DSCP to AF11
2) Bind outbound on s0/1/0
- Voice should get priority bandwidth of 100kbps
- HTTP should get minimum bandwidth of 50kbps
- ICMP should get minimum bandwidth of 25kbps
Для этого нужно убедиться, что на роутере не включен QoS через sh run. Просмотреть текущие настройки, записать их в отчёт.
Старые настройки R1 |
Новые настройки R1 |
Building configuration... Current configuration : 973 bytes ! version 15.4 no service timestamps log datetime msec no service timestamps debug datetime msec no service password-encryption hostname R1 ! ! enable password cisco ! ! ip dhcp pool pc network 10.1.2.0 255.255.255.0 default-router 10.1.2.254 dns-server 8.8.8.8 ! no ip cef no ipv6 cef ! ip name-server 8.8.8.8 ! ! spanning-tree mode pvst ! interface GigabitEthernet0/0/0 ip address 10.1.2.254 255.255.255.0 duplex auto speed auto ! interface GigabitEthernet0/0/1 no ip address duplex auto speed auto shutdown ! interface Serial0/1/0 bandwidth 250 ip address 10.1.1.1 255.255.255.0 clock rate 250000 ! interface Serial0/1/1 no ip address clock rate 2000000 shutdown ! interface Vlan1 no ip address shutdown ! router ospf 1 log-adjacency-changes network 0.0.0.0 255.255.255.255 area 0 ! ip classless ! ip flow-export version 9 ! ! line con 0 ! line aux 0 ! line vty 0 4 password cisco login ! end |
Building configuration...
Current configuration : 1294 bytes ! version 15.4 no service timestamps log datetime msec no service timestamps debug datetime msec no service password-encryption ! hostname R1 ! enable password cisco ! ! ! ip dhcp pool pc network 10.1.2.0 255.255.255.0 default-router 10.1.2.254 dns-server 8.8.8.8 ! ! ! no ip cef no ipv6 cef ! ! ! ip name-server 8.8.8.8 ! ! spanning-tree mode pvst ! class-map match-all voice match protocol rtp class-map match-all http match protocol http class-map match-all icmp match protocol icmp ! policy-map mark class voice priority 100 set ip dscp ef class http bandwidth 50 set ip dscp af31 class icmp bandwidth 25 set ip dscp af11 ! ! interface GigabitEthernet0/0/0 ip address 10.1.2.254 255.255.255.0 duplex auto speed auto ! interface GigabitEthernet0/0/1 no ip address duplex auto speed auto shutdown ! interface Serial0/1/0 bandwidth 250 ip address 10.1.1.1 255.255.255.0 service-policy output mark clock rate 250000 ! interface Serial0/1/1 no ip address clock rate 2000000 shutdown ! interface Vlan1 no ip address shutdown ! router ospf 1 log-adjacency-changes network 0.0.0.0 255.255.255.255 area 0 ! ip classless ! ip flow-export version 9 ! ! ! line con 0 ! line aux 0 ! line vty 0 4 password cisco login ! ! ! end |
Voice traffic using NBAR (rtp) ->
Set DSCP to EF;-
HTTP using NBAR (http)->
Set DSCP to AF31;-
ICMP using NBAR (icmp)->
Set DSCP to AF11
В данной задаче требуется разграничить полосу пропускания для разных протоколов и назначить эти настройки на интерфейсе, настраивая NBAR
Распознавание сетевых приложений (англ. Network Based Application Recognition, NBAR) — механизм, используемый в компьютерных сетях для распознавания потока данных (dataflow) по первому переданному пакету.
Для начала нужно настроить class-map.
Работа с class-map
Команда class-map используется для задания класса трафика и критериев этого класса, на основе которых сетевой трафик будет группироваться в классы (классифицироваться).
Синтаксис class-map [match-all|match-any] class-map-name no class-map [match-all|match-any] class-map-name class-map-name имя класса трафика
Рисунок 2 Создание классов
Рисунок 3 Проверка созданных классов в конфигурации
Значение по умолчанию match-all
Рекомендации по использованию |
Описанные ниже команды позволяют задать определенный сервис обслуживания сетевого трафика. Они классифицируют пакеты (относят пакеты к определенному классу трафика) и маркируют их (назначают соответствующий приоритет). Формирование трафика выполняется в три шага: ∙ пакеты распределяются по классам (команды class-map); ∙ задаются правила для каждого класса (команды policy-map); ∙ заданная политика привязывается к интерфейсу (команды service-policy). Используемая здесь технология QoS – Дифференцированное обслуживание (DiffServ) – основана на классификации трафика и его маркировке. С помощью команды class-map можно задать несколько классов обслуживания и критерии этих классов. Например, когда трафик из подсети поступает на внутренний интерфейс шлюза, то сначала он разбивается на множество классов обслуживания на основе полей (IP-адрес, порт, поле ToS) заголовка пакета сетевого и транспортного уровней, заданных командой class-map. Затем на этом же интерфейсе производится маркировка пакетов – изменяется поле ToS - переносится значение Precedence (приоритет) или значение DSCP, установленные командами set precedence или set dscp в режиме настройки команды policy-map, в поле ToS. Маркировка производится в соответствии с тем классом обслуживания, к которому принадлежит пакет. В названии команды policy-map слово «политика» имеет тот смысл, что установленные значения Precedence и DSCP определяют набор процедур, которые будут обеспечивать заданный класс обслуживания. Для данного примера заданный класс обслуживания трафика нужно обеспечивать на внешнем интерфейсе шлюза безопасности с помощью утилиты drv_mgr, которая позволяет управлять загрузкой процессора обработкой трафика – включать/выключать механизм уничтожения неприоритетных пакетов (по полю ToS), управлять стратегией очередей, включать/выключать механизм защиты от перегрузки и др. Существует возможность задания независимых команд классификации и маркирования для входящего и исходящего трафика на каждом интерфейсе. При IPsec обработке исходящего пакета классификация и маркирование пакета будет производиться до его инкапсуляции, для входящего пакета – после его декапсуляции. При IPsec обработке пакетов будет происходить копирование поля ToS из внутреннего во внешний заголовок. Критерии, по которым трафик будет ассоциироваться с определенным классом, задаются в режиме настройки класса следующими командами: ∙ match access-group – означает, что классу принадлежат пакеты, которые попадают под действие указанного списка доступа (access-list); ∙ match any – означает, что все пакеты принадлежат этому классу; ∙ match dscp – означает, что классу принадлежат пакеты, у которых значение DSCP равно одному из указанных; ∙ match precedence – означает, что классу принадлежат пакеты, у которых значение Precedence равно одному из указанных. Для одного класса можно задать любое количество критериев выбора трафика. При повторном задании критериев для данного класса ключевое слово match-all или match-any можно не указывать, сохранится прежний тип класса. Если же указать другой тип (например, match-all вместо match any), то тип класса изменится. Удаление класса производится командой: no class-map [match-all|match any] class-map-name Если данный класс используется в команде policy-map, то класс не удаляется, а выводится сообщение об ошибке: "% Class-map <class-map-name> is being used" Пример Router(config)# class-map match-any class1 Router(config-cmap)# match access-group 101 Router(config-cmap)# match dscp af41 af31 af21 Router(config-cmap)#exit |
Рекомендации по использованию |
После того, как командой class-map заданы классы трафика и их критерии, командой policy-map задается политика работа с классами. Для этого производится маркировка пакетов – выставляется в поле ToS пакета значение Precedence (приоритет), установленное командой set precedence, или значение DSCP, установленное командой set dscp. В названии команды policy-map слово «политика» имеет тот смысл, что установленные значения Precedence и DSCP определяют набор процедур, которые будут обеспечивать заданный класс обслуживания трафика. Заданный класс обслуживания осуществляется с помощью утилиты drv_mgr, которая позволяет управлять загрузкой процессора обработкой трафика – включать/выключать механизм уничтожения неприоритетных пакетов (по полю ToS), управлять стратегией очередей, включать/выключать механизм защиты от перегрузки и др. Существует возможность задания независимых команд маркирования для входящего и исходящего трафика на каждом интерфейсе. При IPsec обработке исходящего пакета классификация и маркирование пакета будет производиться до его инкапсуляции, для входящего пакета – после его декапсуляции. При IPsec обработке пакетов будет происходить копирование поля ToS из внутреннего во внешний IP заголовок пакета. Команда policy-map переходит в режим настройки политики, в котором задается класс трафика командой class, все пакеты которого будут маркироваться. Удаляется policy-map командой: no policy-map policy-map-name Если ссылка на эту политику есть в каком-нибудь интерфейсе, то ссылка удаляется без предупреждения. Пример Пример маркировки всех пакетов класса class1 значением af41 в поле ToS: Router(config)# policy-map policy-map1 Router(config-pmap)# class class1 Router(config-pmap-c)#set dscp af41 Router(config-pmap-c)#exit |
1. Создаем class map с именем и назначаем соответствующий тип трафика
2. Следующая задача указать протокол в соответствии с названием class-map
Рисунок 4 Указание протокола
3. Проделать эти пункты с трафиком VOICE (RTP), HTTP, ICMP
Рисунок 5 Проверка протоколов в конфигурации
Помним, что VOICE и voice – РАЗНЫЕ CLASS-MAP!
Далее переходим к настройке policy map.
Работа с policy-map
Команда policy-map используется для маркирования пакетов в соответствии с тем классом обслуживания, к которому принадлежит пакет. В одной policy map могут задаваться несколько классов.
Синтаксис policy-map policy-map-name
Значение по умолчанию значение по умолчанию отсутствует.
Режимы команды Global configuration.
1. Создать Policy-map.
2. Дальше мы сопоставляем нужный класс.
Следует обратить внимание, что можно сопоставить только уже созданный класс. При попытке сопоставления нового класса будет ошибка
3. Далее мы решаем, что делать с голосовым трафиком. По заданию нужно настроить быструю переадресацию трафика
Differentiated Services Code Point (DSCP, Точка кода дифференцированных услуг) - элемент архитектуры компьютерных сетей, описывающий простой масштабируемый механизм классификации, управления трафиком и обеспечения качества обслуживания. DSCP может применяться, например, для снижения задержки чувствительного сетевого трафика вроде голосовой связи и потокового мультимедиа, тогда как остальной трафик будет идти без приоритизации. DSCP использует 6-битное поле 8-битного IP-заголовка DS. Для IPv4 используется пространство устаревшего заголовка ToS, который разделён на поля DSCP и ECN. В терминологии IPv6 заголовок называется Traffic Class, логика его организации совершенно идентична. |
Код DSCP Кодом DSCP называются шесть наиболее значимых бит поля DiffServ. Два последних неиспользуемых бита в поле DiffServ в рамках его структуры не определены, они в настоящее время используются в качестве битов явного уведомления о перегрузке (ECN). Оконечные маршрутизаторы классифицируют пакеты и присваивают им либо значение IP-приоритета, либо значение кода DSCP в сети Diffserv. Другие сетевые устройства в ядре, которое поддерживает Diffserv, используют значение DSCP в заголовке IP-пакета для выбора варианта пересылки данных пакета через каждый узел и обеспечивают адекватную обработку QoS. На схемах в данном подразделе показаны различия между байтом ToS, определяемым стандартом RFC 791, и полем DiffServ. Значение стандартному полю DiffServ пакета присваивается таким образом, чтобы в каждом узле сети пакет подвергался определенной переадресации или пересылке данных через узел. Значение по умолчанию кода DSCP равно 000 000. Коды DSCP для выбора класса — это значения, которые имеют обратную совместимость со значениями IP-приоритета. При преобразованиях между значением IP приоритета и кодом DSCP, согласуются три наиболее значимых бита. |
для установки первоочередности обработки пакетов, а также классифицирует очередность, предоставляя более подробную детализацию посредством использования следующих трех бит в коде DSCP. DiffServ реорганизует и переименовывает уровни приоритета (по-прежнему определяются тремя наиболее значащими битами кода DSCP) в этих категориях 5 Быстрая переадресация (EF) 4 Класс 4 3 Класс 3 2 Класс 2 1 Класс 1 0 Доставка по возможности С помощью этой системы сетевое устройство первоначально устанавливает приоритет трафику на основе его принадлежности к классу. Затем сетевое устройство дифференцирует и устанавливает приоритет пакетов, принадлежащих к трафику одного и того же класса, принимая во внимание вероятность сброса пакетов. Стандарт DiffServ не дает точного определения понятиям "низкая", "средняя" и "высокая" вероятность сброса пакетов. Не все сетевые устройства распознают настройки DiffServ (DS2 и DS1), а в случаях, когда эти настройки распознаются, они не обязательно инициируют операцию обработки пересылки данных в каждом узле сети. Каждый узел сети реализует свой отклик на основе заданных настроек. |
Гарантированная переадресация
Стандарт RFC 2597 дает определение гарантированной переадресации (AF) при пересылке данных через узел и описывает ее в качестве метода для DS-домена поставщика, обеспечивающего различные уровни гарантий переадресаций IP-пакетов, получаемых от клиентского DS-домена.
Гарантированная переадресация при пересылке данных через узел предоставляет AF-классу определенное значение пропускной способности и позволяет получать доступ к дополнительной пропускной способности, если это возможно. Существует четыре AF-класса — обозначаемых как AF1x – AF4x. В рамках каждого класса существует три возможности сброса пакетов. В зависимости от имеющейся сетевой политики пакеты могут выбираться для пересылки на основе необходимой пропускной способности, задержки, дрожания (изменений времени задержки), потерь или в соответствии с приоритетом доступа к службам сети.
Классы с 1 по 4 относятся к AF-классам. Следующая таблица иллюстрирует DSCP-кодирование для вероятностного определения AF-класса. Биты DS5, DS4 и DS3 определяют класс, биты DS2 и DS1 определяют вероятность сброса, а бит DS0 всегда устанавливается равным нулю.
-
Вероятность
сброса
Класс 1
Класс 2
Класс 3
Класс 4
Низкая
001010
AF11
DSCP 10
010010
AF21
DSCP 18
011010
AF31
DSCP 26
100010
AF41
DSCP 34
Средняя
001100
AF12
DSCP 12
010100
AF 22
DSCP 20
011100
AF32
DSCP 28
100100
AF42
DSCP 36
Высокая
001110
AF13
DSCP 14
010110
AF23
DSCP 22
011110
AF33
DSCP 30
100110
AF43
DSCP 38
Выполняется это командой set ip DSCP
Далее указываем priority 100 килобит в секунду
Рисунок 6 Создание метки политики
Проверить настройки через команду sh run / do sh run из режима конфигурации
Рисунок 7 Проверка политики
4. В этом же policy class сделать настройки для двух оставшихся классов. Согласно заданию необходимо выбрать - HTTP using NBAR (http)-> Set DSCP to AF31., т.е. установить гарантированную переадресацию трафика.
Установить также командой set. Дальше необходимо указать bandwidth 50
5. Для - ICMP using NBAR (icmp)-> Set DSCP to AF11 сделать подобные настройки, но указать уже AF11. Bandwidth 25.
Проверить настройки через команду sh run / do sh run из режима конфигурации
Рисунок 8 Создание гарантированной переадресации для классов
Рисунок 9 Проверка переадресации
Привязка POLICY к интерфейсу
Зайти на интерфейс s 0/1/0 на исходящее направление
Рисунок 10 Привязка политики на интерфейс
Проверить настройки через команду sh run / do sh run из режима конфигурации
Рисунок 11 Проверка политики на интерфейсе
Записать настройки в память устройства
Настройка роутера R2
Задача
On Router2:
1) Match traffic:
- Voice traffic using DSCP EF -> Set IP Precedence to 5
- HTTP using DSCP AF31-> Set IP Precedence to 3
- ICMP using DSCP AF11-> Set IP Precedence to 0
Рисунок 12 Создание классов
Рисунок 13 Создание политик
Рисунок 14 Проверка классов и политик
2) Bind inbound on s0/2/0
Рисунок 15 Привязка политик на интерфейс
Рисунок 16 Проверка привязанной политики
Проверяем текущие настройки R2, записываем в таблицу
Текущие настройки |
Новые настройки |
Building configuration...
Current configuration : 1352 bytes ! version 15.4 no service timestamps log datetime msec no service timestamps debug datetime msec no service password-encryption ! hostname R2 ! ! enable password cisco ! no ip cef no ipv6 cef ! ! spanning-tree mode pvst ! ! interface GigabitEthernet0/0/0 no ip address ip nat inside duplex auto speed auto ! interface GigabitEthernet0/0/1 ip address 8.8.8.100 255.255.255.0 ip nat outside duplex auto speed auto ! interface GigabitEthernet0/1/0 switchport mode access switchport nonegotiate ! interface GigabitEthernet0/1/1 switchport mode access switchport nonegotiate ! interface GigabitEthernet0/1/2 switchport mode access switchport nonegotiate ! interface GigabitEthernet0/1/3 switchport mode access switchport nonegotiate ! interface Serial0/2/0 bandwidth 250 ip address 10.1.1.2 255.255.255.0 ip nat inside ! interface Serial0/2/1 no ip address clock rate 2000000 ! interface Vlan1 no ip address ! router ospf 1 log-adjacency-changes passive-interface GigabitEthernet0/0/1 network 0.0.0.0 255.255.255.255 area 0 default-information originate ! ip nat inside source list 1 interface GigabitEthernet0/0/1 overload ip classless ! ip flow-export version 9 ! ! access-list 1 permit any ! no cdp run ! ! line con 0 ! line aux 0 ! line vty 0 4 password cisco login ! ! ! end |
Building configuration...
Current configuration : 1629 bytes ! version 15.4 no service timestamps log datetime msec no service timestamps debug datetime msec no service password-encryption ! hostname R2 ! ! enable password cisco ! no ip cef no ipv6 cef ! ! spanning-tree mode pvst ! class-map match-all voice match ip dscp ef class-map match-all http match ip dscp af31 class-map match-all icmp match ip dscp af11 ! policy-map remark class voice set precedence 5 class http set precedence 3 class icmp set precedence 0 ! ! interface GigabitEthernet0/0/0 no ip address ip nat inside duplex auto speed auto ! interface GigabitEthernet0/0/1 ip address 8.8.8.100 255.255.255.0 ip nat outside duplex auto speed auto ! interface GigabitEthernet0/1/0 switchport mode access switchport nonegotiate ! interface GigabitEthernet0/1/1 switchport mode access switchport nonegotiate ! interface GigabitEthernet0/1/2 switchport mode access switchport nonegotiate ! interface GigabitEthernet0/1/3 switchport mode access switchport nonegotiate ! interface Serial0/2/0 bandwidth 250 ip address 10.1.1.2 255.255.255.0 ip nat inside service-policy input remark ! interface Serial0/2/1 no ip address clock rate 2000000 ! interface Vlan1 no ip address ! router ospf 1 log-adjacency-changes passive-interface GigabitEthernet0/0/1 network 0.0.0.0 255.255.255.255 area 0 default-information originate ! ip nat inside source list 1 interface GigabitEthernet0/0/1 overload ip classless ! ip flow-export version 9 ! ! access-list 1 permit any ! no cdp run ! ! line con 0 ! line aux 0 ! line vty 0 4 password cisco login ! end |