Базовые сведения о работе с коммутаторами Cisco
Данная статья когда-то разрабатывалась, как пособие по основам работы с коммутаторами для «самых начинающих» инженеров. Постараемся в нём рассмотреть практические аспекты работы, не закапываясь особенно в теорию коммутации. В качестве подопытной зверушки у нас будут выступать коммутатор L3 серии Cisco Catalyst 3560 – достаточно универсальная железка, позиционируемая производителем как коммутатор корпоративного класса с фиксированной конфигурацией. Может применяться, как на уровне доступа, так и на уровне распределения.
При написании статьи предполагается, что читающий уже знаком с основами работы в Cisco IOS, или способен разобраться с встроенной системой помощи, благо, что она достаточно информативна и дружелюбна. Также предполагается само собой разумеющимся хотя бы базовое знание технологий TCP/IP и модели OSI.
Базовая конфигурация режимов работы портов.
Поскольку в построении сети практически невозможно обойтись без использования VLAN, то первое, на что мы обратим внимание – это два основных режима работы портов для передачи тегированного и нетегированного трафика, или, в терминологии Cisco – trunk & access соответственно.
К access порту подключаются, как правило, оконечные устройства, не умеющие работать с тегированным трафиком, а к trunk – каналы для передачи данных по различным VLAN в сети.
Конфигурация access-порта предельно проста, и выглядит примерно так:
interface FastEthernet0/4
description –simple access port—
switchport access vlan 100
switchport mode access
Настраивается, соответственно, так:
sw1.cs.ntk#conf t
Enter configuration commands, one per line. End with CNTL/Z.
sw1(config)#interface fastEthernet0/4
sw1(config-if)# description —SKY-CONTROL—
Задаем описание интерфейса. Не обязательно, но очень помогает в документации сети.
sw1(config-if)# switchport access vlan 100
Устанавливаем VLAN в который будет попадать трафик при входе в этот интерфейс. Соответственно, при выходе кадров из него, метки VLAN снимаются.
sw1(config-if)# switchport mode access
Переключаем порт в режим access.
Базовая конфигурация транковых портов тоже элементарна:
interface FastEthernet0/21
description –simple trunk port—
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 952, 953
switchport mode trunk
Как мы видим – добавляется только список разрешенных к прохождению VLAN (не обязательно, но в целях безопасности лучше применить) и применяемый стандарт энкапсуляции – dot1q, пропиетарный Cisco ISL, или автосогласование.
Транковый порт сам по себе не умеет работать с нетегированным трафиком, поэтому такой трафик будет просто отброшен. Для его обработки можно настроить на портах native vlan. Любой пакет, не принадлежащий к определенному VLAN будет помечаться меткой native vlan, а трафик из данного vlan будет передаваться в транковый порт нетегированным.
Стоит заметить, что конфигурация порта при переключении его из одного режима в другой не изменяется, в отличие от режима его работы. Поэтому порт, сконфигурированный, как показано ниже, будет работать в trunk. Стоит ориентироваться только на switchport mode или, на вывод информации, как будет изложено далее.
interface FastEthernet0/21
description — port — switchport access vlan 2
switchport trunk encapsulation dot1q
switchport mode trunk
Конфигурация скорости и дуплекса.
Несмотря на повсеместное распространение автосогласования работы портов, зачастую встречаются проблемы, связанные с некорректной работой автосогласования, в результате чего порт может постоянно «прыгать» из рабочего состояние в нерабочее и генерировать ошибки. Поэтому самым надежным путем решения данной проблемы является ручной перевод портов на обои концах линка в одинаковый режим работы.
Конфигурируется элементарно, следующими командами:
sw1(config-if)#speed?
10 Force 10 Mbps operation
100 Force 100 Mbps operation
auto Enable AUTO speed configuration
sw1(config-if)#duplex?
auto Enable AUTO duplex configuration
full Force full duplex operation
half Force half-duplex operation
О диагностике проблем, связанных с автосогласованием будет сказано далее.
Сами VLAN создаются так:
ors-sw-ortpc(config)#vlan 777
ors-sw-ortpc(config-vlan)#name test_vlan
ors-sw-ortpc(config-vlan)#exit
Просмотр информации о созданных VLAN – show vlan
Catalyst 3560 поддерживает до 1005 созданных VLAN. Возникает вопрос – что делать, если число созданных VLAN подходит к концу, а нужно подключить скажем, новый сегмент сети? Или же, до новой БС присоединяющий оператор выделил 1 VLAN, а нам нужно пробрасывать свой VLAN. В таком случае можно использовать dot1q tunneling, или Q-in-Q – двойное тегирование VLAN. В таком случае на входе транспорта внуть одного VLAN упаковываются остальные VLAN, и распаковываются на выходе. Сражу стоит отметить что 29хх серия Catalyst, в отличие от 35xx, 37xx такой режим работы не поддерживает.
Настраивается тоже достаточно элементарно:
sw1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
sw1(config)#interface fa0/17
sw1(config-if)#description – QinQ double encapsulation — sw1(config-if)#switchport mode dot1q-tunnel
sw1(config-if)#switchport access vlan 77
interface FastEthernet0/17
switchport access vlan 77
switchport mode dot1q-tunnel
end
Таким образом настроенный порт все приходящие пакеты будет энкапсулировать в VLAN 77, который и будет виден для всех устройств, находящихся далее. Достаточно передать данный VLAN до того узла, на котором необходимо развернуть обратно, и там распаковать, используя аналогичные настройки порта.
При этом, возможно, нужно будет увеличить MTU по данному пути на 4 байта, для обеспечения дополнительной метки vlan tag.
Адресация и маршрутизация.
Catalyst 3560 может работать как на третьем уровне сетевой модели, так и на втором. В любом случае для доступа к нему необходимо присвоить ему IP адрес в требуемом VLAN (как правило, для управления устройствами выделяется отдельный VLAN) и настроить маршрутизацию.
interface Vlan100
ip address 192.168.10.254 255.255.255.0
ip default-gateway 192.168.10.1
Тем самым мы назначили коммутатору IP-адрес 192.168.10.254/24 в 100м VLAN и установили шлюзом по умолчанию 192.168.10.1. При такой схеме коммутатор используется как L2. Включить L3 маршрутизацию можно командой ip routing. При этом становится возможным задавать множество маршрутов, и просматривать, соответственно, таблицу маршрутизации (show ip route). Естественно, перед переключение необходимо сначала указать маршруты, чтобы не потерять управление коммутатором из другой сети.
conf t
ip route 0.0.0.0 0.0.0.0 192.168.10.1
Получение и обработка информации.
Думаю, тут стоит рассмотреть практические примеры с пояснениями:
show interfaces status – выводит общую информацию по всем портам.
sw1#show interfaces status
Port Name Status Vlan Duplex Speed Type
Fa0/1 Sector-1 connected trunk a-full a-100 10/100BaseTX
Fa0/2 Sector-2 connected trunk a-full a-100 10/100BaseTX
Fa0/3 Sector-3 connected trunk a-full a-100 10/100BaseTX
Fa0/4 notconnect 1 auto auto 10/100BaseTX
Fa0/5 port connected 100 a-full a-100 10/100BaseTX
Fa0/6 connected trunk full 100 10/100BaseTX
Fa0/7 disabled 100 auto auto 10/100BaseTX
Здесь мы можем видеть:
Собственно, сам порт, его имя (задаваемое description).
Status – порта – подключен и поднят (connected)/не подключен физически (notconnect) либо административно отключен (disabled).
Vlan – режим работы порта – trunk, или соответствующий access vlan.
Дуплекс и скорость порта – авто, или же жестко заданные установки (Fa0/6 – принудительно в режиме 100 Mb, full duplex.), Обратите внимание что на нерабочих интерфейсах прописано auto.
sh interfaces – просмотр подробной информации об указанном интерфейсе.
sw1#sh interfaces fa0/21
FastEthernet0/21 is up, line protocol is up (connected)
Hardware is Fast Ethernet, address is 001f.0001.0001 (bia 001f.0001.0001)
Description: — some port — MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 2/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full-duplex, 100Mb/s, media type is 10/100BaseTX
input flow-control is off, output flow-control is unsupported
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:00, output 00:00:06, output hang never
Last clearing of «show interface» counters 17w4d
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 1056000 bits/sec, 203 packets/sec
5 minute output rate 551000 bits/sec, 269 packets/sec
1015031190 packets input, 556493190204 bytes, 0 no buffer
Received 8800603 broadcasts (0 multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 5337282 multicast, 0 pause input
0 input packets with dribble condition detected
1761812043 packets output, 340685749958 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 PAUSE output
0 output buffer failures, 0 output buffers swapped out
Is up, line protocol is up (connected) — Первое «up» относится к состоянию физического уровня передачи данных интерфейса. Сообщение «line protocol up» показывает состояние уровня канала передачи данных для данного интерфейса и означает, что интерфейс может отправлять и принимать запросы keepalive.
Для сравнения
FastEthernet0/4 is down, line protocol is down (notconnect) – порт отключен.
FastEthernet0/7 is administratively down, line protocol is down (disabled) – отключен административно (shutdown).
Full-duplex, 100Mb/s (полнодуплексный, 100 Мбит/с) — текущая скорость и режим дуплексирования для данного интерфейса. Заметьте, что сейчас невозможно узнать – было ли включено автосогласование для порта.
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
– очередь входа для пакетов. На коммутаторах данной серии не используется, но служит для отброса пакетов с низким приоритетом в случае перегрузки CPU. Общее число сбросов. Стоит заметить, что типичной причиной сброса пакетов может быть прием трафика в канал с меньшей пропускной способностью из более широкого канала.
5 minute input rate 1056000 bits/sec, 203 packets/sec
5 minute output rate 551000 bits/sec, 269 packets/sec
Скорость ввода/вывода трафика за 5 минут – в битах и пакетах. Возможно подсчитывать трафик за иные промежутки времени – для этого используется команда load-interval. Однако, это ведет к увеличению загрузки CPU.
sw1(config)#int fa0/1
sw1(config-if)#load-interval?
Load interval delay in seconds
1015031190 packets input, 556493190204 bytes, 0 no buffer
Received 8800603 broadcasts (0 multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 5337282 multicast, 0 pause input
0 input packets with dribble condition detected
1761812043 packets output, 340685749958 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 PAUSE output
0 output buffer failures, 0 output buffers swapped out
Далее показаны текущие счетчики ошибок, являющиеся важнейшим инструментом в диагностике возникающих проблем.
Счетчики ошибок на самом деле разбросаны по разным местам IOS, но для примера можно рассмотреть следующее:
sw1#sh interfaces fa0/1 counters errors
Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize
Fa0/1 0 0 0 3 1.46E+08
Port Single-Col Multi-Col Late-Col Excess-Col Carri-Sen Runts Giants
Fa0/1 0 0 0 0 0 3 64
Счетчик и некоторые рекомендации:
Align-Err
Количество ошибок выравнивания.
Как правило, увеличение данного счетчика свидетельствует о проблемах согласования дуплексных режимов, либо о наличии проблемы на физическом уровне.
collisions
Число коллизий произошедших до окончания передачи пакета. Нормальное явление для полудуплексного интерфейса. Быстрый рост счетчика может быть вызван высокой загрузкой интерфейса, либо несоответствием режимов дуплекса.
CRC
Несовпадение контрольной суммы кадра.
Обычно является результатом конфликтов, но может указывать и на физическую неполадку. В некоторых случаях возможны наводки на физику ЛВС, либо помехи.
pause input
Подключенное устройство запрашивает приостановку передачи трафика при переполнении его буфера.
Excess-ColПодобно коллизиям не должно наблюдаться на полнодуплексном интерфейсе.
FCS-Err
Ошибки в контрольной последовательности кадров.
Как правило, увеличение данного счетчика свидетельствует о проблемах согласования дуплексных режимов, либо о наличии проблемы на физическом уровне.
ignored
Может быть признаком широковещательного шторма в сети.
Late-Col
Коллизии на последних этапах передачи кадра. Не должны наблюдаться на полнодуплексном порту.
lost carrier
Потеря несущей. Проблемы на физическом уровне.
Underruns
Скорость передатчика превышает возможности коммутатора.
Undersize
Полученные кадры с размером меньше минимума. Необходимо проверить устройство, посылающее такие кадры.
Для получения подробной информации по обработанным пакетам можно использовать команду
sh controllers ethernet-controller
Пример вывода:
sw1 #sh controllers ethernet-controller fa0/21
Transmit FastEthernet0/1 Receive
665578020 Bytes 662563391 Bytes
3057832162 Unicast frames 2887447872 Unicast frames
2443399319 Multicast frames 100518228 Multicast frames
132541948 Broadcast frames 90307083 Broadcast frames
0 Too old frames 533536518 Unicast bytes
0 Deferred frames 3228404572 Multicast bytes
0 MTU exceeded frames 1010212552 Broadcast bytes
0 1 collision frames 0 Alignment errors
0 2 collision frames 0 FCS errors
0 3 collision frames 0 Oversize frames
0 4 collision frames 145990113 Undersize frames
0 5 collision frames 0 Collision fragments
0 6 collision frames
0 7 collision frames 735750877 Minimum size frames
0 8 collision frames 1557036200 65 to 127 byte frames
0 9 collision frames 305275380 128 to 255 byte frames
0 10 collision frames 95908725 256 to 511 byte frames
0 11 collision frames 126755638 512 to 1023 byte frames
0 12 collision frames 257546363 1024 to 1518 byte frames
0 13 collision frames 0 Overrun frames
0 14 collision frames 0 Pause frames
0 15 collision frames
0 Excessive collisions 0 Symbol error frames
0 Late collisions 0 Invalid frames, too large
0 VLAN discard frames 64 Valid frames, too large
0 Excess defer frames 0 Invalid frames, too small
521536351 64 byte frames 145990113 Valid frames, too small
3679829207 127 byte frames
317941784 255 byte frames 0 Too old frames
197523329 511 byte frames 64 Valid oversize frames
114203781 1023 byte frames 0 System FCS error frames
802738977 1518 byte frames 0 RxPortFifoFull drop frame
0 Too large frames
0 Good (1 coll) frames
0 Good (>1 coll) frames
На этом позвольте закончить, все дополнительное уже мало укладывается в рамки данной статьи.
Cisco Load-interval
The IOS calculates statistics (including load) over some interval which can be controlled using the load-interval command. 30 seconds is the smallest interval that can be configured. There may be advantages to longer intervals and advantages to shorter intervals. If you use the longer interval (which is the default of 5min) you get more of a big picture of what the router is doing. But the longer interval tends to hide the impact of bursty traffic. By setting the load-interval to a shorter value you may see more easily the impact of bursty traffic but may have more difficulty in seeing the bigger picture of what is happening with the interface. Deciding on which is better depends very much on your local situation and on what you are trying to look at.
Default Interval
R#sh int port-channel 1
Port-channel1 is up, line protocol is up
Hardware is FEChannel, address is ca05.1ae4.001c (bia ca05.1ae4.0000)
Internet address is 192.168.255.102/30
MTU 1500 bytes, BW 200000 Kbit/sec, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
ARP type: ARPA, ARP Timeout 04:00:00
No. of active members in this channel: 2
Member 0 : FastEthernet1/0 , Full-duplex, 100Mb/s
Member 1 : FastEthernet0/0 , Half-duplex, 100Mb/s
No. of Non-active members in this channel: 0
No. of PF_JUMBO supported members in this channel : 0
Last input 00:06:05, output never, output hang never
Last clearing of “show interface” counters never
Input queue: 0/150/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/80 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
19 packets input, 1779 bytes
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog
0 input packets with dribble condition detected
15 packets output, 1437 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 unknown protocol drops
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier
0 output buffer failures, 0 output buffers swapped out
30sec Interval
R5#sh int port-channel 1
*Jul 1 23:19:52.087: %SYS-5-CONFIG_I: Configured from console by console
R5#sh int port-channel 1
Port-channel1 is up, line protocol is up
Hardware is FEChannel, address is ca05.1ae4.001c (bia ca05.1ae4.0000)
Internet address is 192.168.255.102/30
MTU 1500 bytes, BW 200000 Kbit/sec, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
ARP type: ARPA, ARP Timeout 04:00:00
No. of active members in this channel: 2
Member 0 : FastEthernet1/0 , Full-duplex, 100Mb/s
Member 1 : FastEthernet0/0 , Half-duplex, 100Mb/s
No. of Non-active members in this channel: 0
No. of PF_JUMBO supported members in this channel : 0
Last input 00:06:30, output never, output hang never
Last clearing of “show interface” counters never
Input queue: 0/150/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/80 (size/max)
30 second input rate 0 bits/sec, 0 packets/sec
30 second output rate 0 bits/sec, 0 packets/sec
19 packets input, 1779 bytes
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog
0 input packets with dribble condition detected
15 packets output, 1437 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 unknown protocol drops
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier
0 output buffer failures, 0 output buffers swapped out
Share this:
Like this:
Like Loading.
Leave a Reply Cancel reply
Recent Posts
- Cisco Application Centric Infrastructure (ACI) Simulator
- Ansible Module in Configuring ACL
- Versa SDWAN | OSPF PE-CE
- Python Concurrent Futures & Threading
- VXLAN L2VPN EVPN – NO ROUTES?
Categories
- 1. Cisco Network (262)
- Audit and Checking (3)
- Bandwidth/Latency/TCP/UDP (4)
- Cisco Lincense (3)
- Cisco Software (1)
- Cisco XR OS (4)
- ASR 9k (4)
- AAA (2)
- ACL (2)
- ARP (1)
- Asymetric (1)
- BFD (1)
- BGP (29)
- BGP Security (5)
- Route Reflector (2)
- SDWAN – Fortinet (19)
- Versa (6)
- Viptela (38)
- Cisco Switches (4)
- Image Upgrade (1)
- L2 Ether-Channel (4)
- Messages (1)
- POE (2)
- Qinq (1)
- Reset (1)
- Security Features (1)
- SG200 (1)
- Stack (1)
- STP (3)
- UDLD (1)
- Solarwinds (1)
- F5 (1)
- Peplink (1)
- VMware (1)
- ACI (9)
- APIC (2)
- Cisco MDS (1)
- Cisco Nexus (6)
- Cisco UCS (2)
- IP Addressing (1)
- Media Types, Power Supply, Etc. (2)
- OTV (1)
- Server and Storage (4)
- Tier 2-3 & Clos Fabric (4)
- Checkpoint (2)
- Cisco (6)
- Firepower (3)
- Fortigate (7)
- Juniper (3)
- Mcafee (1)
- Palo Alto (7)
- Server (6)
- Storage (3)
- Ansible (1)
- Orchestration (1)
- Python Programming (14)
- CCIE SP Study (7)
- 2. OSPF (3)
- 3. ISIS (2)
- Ethernet Virtual Circuit (EVC) (1)
- CEF (Cisco Express Forwarding) (1)
Recent Comments
vik on Invalid number(-96) on ASR… piyush on SDWAN VIPTELA | Creating certi… Mark on FortiGate SDWAN – SLA Pe… Rajamanickam on Fortinet SDWAN: Auto discovery… amin on Alcatel PaBX Command list QoS в Cisco
[править] Утилиты для классификации и маркировки
[править] Class-Based Marking (CB Marking)
Особенности логики и настройки CB Marking:
- Для CB Marking нужно включать CEF, иначе соответствующую service-policy нельзя будет применить на интерфейсе.
- CB Marking включается для пакетов входящих или выходящих из интерфейса.
- Могут быть настроены несколько команд set для маркировки трафика в нескольких полях.
- Пакеты, которые не совпали с явно настроенными class, совпадают со специальным class, который называется class-default.
- Если для class не задана команда set, то трафик, который совпадает с ним, не маркируется.
[править] Настройка CB Marking
Маркировка трафика, который совпадает с параметрами class-map определенным значением поля IP Precedence:
router(config-pmap-c)# set [ip] precedence
Для этой и следующей команды, если указан параметр ip, то значение поля устанавливается только для пакетов IPv4. Если параметр опущен, то значения IPP и DSCP устанавливаются для пакетов IPv4 и IPv6.
Маркировка трафика определенным значением поля DSCP:
router(config-pmap-c)# set [ip] dscp
Маркировка трафика определенным значением поля CoS:
router(config-pmap-c)# set cos
Указание идентификатора группы для QoS group:
router(config-pmap-c)# set qos-group
Установка в ячейке ATM бита CLP:
router(config-pmap-c)# set atm-clp
Установка в кадре Frame Relay бита DE:
router(config-pmap-c)# set fr-de
[править] QoS Pre-Classification
Устройство, на котором выполняется маркировка трафика, может терминировать VPN-туннель. В этом случае в туннельные заголовки (IPsec или GRE) копируется значение поля ToS. Но такие функции как NBAR не могут работать с трафиком, который инкапсулирован в туннельный заголовок.
В IOS существует функция, которая помогает решить этот вопрос — QoS Pre-Classification.
QoS pre-classification «помнит» исходный, не зашифрованный трафик, до тех пор пока не будут выполнены действия QoS в исходящем направлении.
Эта функция может быть включена командой qos pre-classify в таких режимах:
- interface tunnel (для GRE и IPIP)
- interface virtual-template (для L2F и L2TP)
- crypto map (для IPsec)
[править] Просмотр информации
Для того чтобы регулировать частоту с которой проверяется статистика на интерфейсах (packet rate, bit rate) используется команда load-interval. Интервал указывается в секундах, по умолчанию 5 минут:
dyn5(config-if)# load-interval
[править] Управление перегрузками и избежание перегрузок
Управление перегрузками (congestion management) или queuing — каким образом маршрутизатор или коммутатор управляет пакетами или кадрами, пока они ожидают своей очереди для выхода из устройства.
Для маршрутизаторов характерно output queuing, а для коммутаторов input и output queuing.
Избежание перегрузок (congestion avoidance) — логика, которую использует устройство, когда решает отбрасывать ли пакет и когда его отбрасывать, если система очередей становится более загруженной.
[править] Программные и аппаратные очереди
- Программная очередь (software queue) — очереди, которые реализованы в программном обеспечении и которыми можно управлять с помощью различных утилит.
- Аппаратная очередь (hardware queue) — после того как пакет покидает программную очередь, он попадает в небольшую аппаратную FIFO очередь. В Cisco эта очередь ещё называется transmit queue (TX queue) или transmit ring (TX ring).
Свойства аппаратных очередей:
- после окончания отправки интерфейсом одного пакета, следующий пакет из аппаратной очереди может быть отправлен через интерфейс без вмешательства со стороны программного обеспечения,
- всегда используют логику FIFO,
- не могут быть изменены утилитами IOS,
- IOS автоматически уменьшает размер аппаратной очереди по сравнению с её размером по умолчанию, если настроена какая-то утилита управления очередями,
- Если длина аппаратной очереди меньше, то повышается вероятность, что передача данных будет контролироваться в программной очереди.
Посмотреть текущий размер аппаратной очереди (для этого маршрутизатора по умолчанию размер очереди 256):
dyn5# sh controllers fa0/0 . tx_limited=0(256) .
Изменение размера очереди:
dyn5(config)# int fa0/0 dyn5(config-if)# tx-ring-limit 3
После изменения размер аппаратной очереди:
dyn5# sh controllers fa0/0 . tx_limited=0(3) .
[править] Утилиты управления очередями
- Priority queuing (PQ)
- Custom queuing (CQ)
- Class-based weighted fair queuing (CBWFQ)
- Low-latency queuing (LLQ)
Классы определенные в policy-map соответствуют очередям. Поэтому термины очередь (queue) и класс (class) взаимозаменяемы в контексте обсуждения LLQ и CBWFQ.
LLQ и CBWFQ поддерживают 64 очереди. Кроме того, существует одна специальная очередь по умолчанию class-default queue. В эту очередь попадают пакеты, которые НЕ совпали с критериями явно настроенных классов.
[править] CBWFQ
Принципы работы CBWFQ:
- Классификация — выполняется на основании любых критериев, которые доступны в MQC с помощью команды match,
- Политика отбрасывания пакетов — tail drop или WRED, настраивается для каждой очереди,
- Количество очередей — 64,
- Максимальная длина очереди — зависит от модели маршрутизатора,
- Обслуживание в пределах одной очереди — FIFO в 63 очередях, FIFO или WFQ в class-default queue,
- Обслуживание между очередями — на основании выделенной пропускной способности для каждой очереди.
[править] Проверка количества выделенной пропускной способности
Когда policy-map применяется к интерфейсу (команда service-policy output), IOS выполняет проверку не выделяет ли эта policy map слишком много пропускной способности для конкретного интерфейса. Если policy map не проходит проверку, то она не применяется к интерфейсу.
Проверка выполняется на основании двух команд указанных в режиме настройки интерфейса:
IOS позволяет policy map выделять пропускную способность величиной (сумма всех значений bandwidth) не более чем произведение значений bandwidth и max-reserved-bandwidth (по умолчанию 75 процентов).
Пример задания величин на интерфейсе (bandwidth задается в килобитах, а max-reserved-bandwidth а процентах):
dyn5(config)# int fa0/0 dyn5(config-if)# bandwidth 10000 dyn5(config-if)# max-reserved-bandwidth 70
После задания таких параметров, если на интерфейс fa0/0 применяется policy-map, то пропускная способность, которая выделена в ней не должна быть более чем 7000.
dyn5(config)# policy-map test-bw dyn5(config-pmap)# class class1 dyn5(config-pmap-c)# bandwidth 4000 dyn5(config-pmap)# class class2 dyn5(config-pmap-c)# bandwidth 5000
Применение policy-map на интерфейсе:
dyn5(config-if)# service-policy output test-bw I/f FastEthernet0/0 class class2 requested bandwidth 5000 (kbps), available only 3000 (kbps)
Policy-map не была применена так как максимальное значение пропускной способности которое может быть для неё выделено 7000. Первый класс забрал 4000, а оставшихся 3000 не хватает для второго класса. Поэтому и появляется ошибка, что доступно только 3000, а класс запросил 5000.
Существует другой вариант выделения пропускной способности для policy-map. При выделении пропускной способности для класса используются команды:
- bandwidth percent — процент пропускной способности выделенной для класса, процент считается от всей пропускной способности интерфейса. Сумма пропускной способности выделенной для классов в policy-map не должна превышать max-reserved-bandwidth настроенной на соответствующем интерфейсе.
- bandwidth remaining percent — процент пропускной способности выделенной для класса, процент считается от значения произведения bandwidth и max-reserved-bandwidth интерфейса. Сумма пропускной способности выделенной для классов в policy-map соответственно может быть 100 процентов.
dyn5(config)# policy-map test-bw dyn5(config-pmap)# class class1 dyn5(config-pmap-c)# bandwidth percent 20
В одной policy-map может использоваться только один из трёх вариантов выделения пропускной способности для класса (bandwidth, bandwidth percent или bandwidth remaining percent).
[править] Размер очереди для CBWFQ
Пример задания размера очереди для класса (диапазон от 1 до 4096 пакетов):
dyn5(config)# policy-map test-bw dyn5(config-pmap)# class class1 dyn5(config-pmap-c)# queue-limit 500
[править] Включение WFQ для класса по умолчанию
Для класса по умолчанию можно включить WFQ (и только для него):
dyn5(config)# policy-map test-bw dyn5(config-pmap)# class class-default dyn5(config-pmap-c)# fair-queue
[править] congestive-discard-threshold
fair-queue [congestive-discard-threshold]
[править] LLQ
Синтаксис команды для настройки LLQ:
dyn5(config-pmap-c)# priority > [burst-size]
Команда priority для класса:
- включает LLQ,
- резервирует пропускную способность,
- включает функцию policing,
- (опционально) указывает размер burst для policer (по умолчанию 20 процентов).
Пропускная способность может быть задана конкретным значением или процентами от пропускной способности интерфейса. В одной и той же policy-map могут использоваться различные способы указания пропускной способности priority или priority percent.
Суммарная пропускная способность выделенная в policy-map командами priority и bandwidth не должна превышать значение произведения bandwidth и max-reserved-bandwidth.
Фактически LLQ будет использоваться только когда аппаратная очередь заполнена.
Параметр bandwidth указывает максимальное значение пропускной способности, которое выделяется пакетам, которые принадлежат классу в котором указана команда priority. Этот параметр с одной стороны гарантирует указанную пропускную способность классу, с другой — сдерживает поток пакетов приоритетного класса.
Когда устройство не перегружено, то приоритетному классу разрешено превышать указанную пропускную способность. Если устройство перегружено, то трафик приоритетного класса, который превышает указанную пропускную способность, будет отброшен.
Пример policy-map в которой для class1 настроено LLQ:
dyn5(config)# policy-map test-bw dyn5(config-pmap)# class llq-class dyn5(config-pmap-c)# priority percent 30
dyn5# sh policy-map test-bw Policy Map test-bw Class llq-class Strict Priority Bandwidth 30 (%)
Просмотр статистики по конкретному классу:
dyn5# sh policy-map interface fa0/0 output class llq-class FastEthernet0/0 Service-policy output: test-bw Class-map: llq-class (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps, drop rate 0 bps Match: none Queueing Strict Priority Output Queue: Conversation 264 Bandwidth 30 (%) Bandwidth 30000 (kbps) Burst 750000 (Bytes) (pkts matched/bytes matched) 0/0 (total drops/bytes drops) 0/0
[править] Weighted Round Robin Queuing
Weighted Round Robin (WRR)
sw(config-if)# wrr-queue cos-map queue-id threshold-id cos-1. cos-n
wrr-queue priority-queue
sw(config-if)# wrr-queue bandwidth
[править] Weighted Random Early Detection (WRED)
Tail drop — когда очередь заполнена, IOS начинает отбрасывать новые пакеты.
Weighted Random Early Detection (WRED) — отслеживает длину очереди и отбрасывает некоторый процент пакетов в очереди для улучшения производительности сети.
WRED отбрасывает пакеты до тех пор как очередь заполнится.
Для того чтобы определить достаточно ли полна очередь для того чтобы отбрасывать пакеты WRED измеряет среднюю глубину очереди (average queue depth). Затем, значение average depth сравнивается с minimum threshold и maximum threshold. В зависимости от результата сравнения выполняются различные действия.
Значение average depth относительно threshold Действие Название действия в WRED average < min threshold Пакеты не отбрасываются No drop min threshold < average < max threshold Процент пакетов отбрасывается. Процент пакетов, которые отбрасываются возрастает от 0 до максимального процента по мере приближения значения average к max threshold Random drop average > max threshold Все новые пакеты отбрасываются Full drop Mark probability denominator (MPD) — на основании этого значения вычисляется процент пакетов, которые будут отброшены.
WRED дает больший приоритет пакетам с определенными значениями IPP и DSCP. Для того чтобы сделать это WRED использует разные профили трафика (traffic profile) для пакетов с разными значениями IPP и DSCP.
WRED traffic profile состоит из настроек для трёх переменных:
Профили WRED заданные по умолчанию для DSCP-based WRED:
DSCP Min threshold Max threshold MPD 1/MPD AFx1 33 40 10 10% AFx2 28 40 10 10% AFx3 24 40 10 10% EF 37 40 10 10% Exponential weighting constant контролирует насколько быстро меняется средняя глубина очереди. Если значение константы меньше, то средняя глубина очереди меняется быстрее; если константа больше, то — медленнее. По умолчанию используется значение 9.
[править] Настройка WRED
WRED может быть настроен на:
- физическом интерфейсе (с FIFO очередью),
- для класса (класс должен быть не LLQ) внутри CBWFQ policy-map,
- для ATM VC.
Для использования WRED на физическом интерфейсе, IOS отключает остальные механизмы управления очередями и создает одну очередь FIFO.
Команды по настройке WRED аналогичны на интерфейсе и для класса внутри policy-map.
Включение WRED (по умолчанию включается WRED с использованием IPP):
dyn5(config-if)# random-detect
Включение WRED с использованием DSCP для определения профиля трафика:
dyn5(config-if)# random-detect dscp-based
Изменение настроек по умолчанию WRED для конкретного значения IPP:
dyn5(config-if)# random-detect precedence
Изменение настроек по умолчанию WRED для конкретного значения DSCP:
dyn5(config-if)# random-detect dscp
Exponential weighting constant:
dyn5(config-if)# random-detect exponential-weighting-constant
[править] Просмотр настроек
dyn5# sh queueing [interface | custom | fair | priority | random-detect]
Пример вывода настроек:
dyn5# sh queueing Current fair queue configuration: Current DLCI priority queue configuration: Current priority queue configuration: Current custom queue configuration: Current random-detect configuration: FastEthernet0/0 Queueing strategy: random early detection (WRED) Random-detect not active on the dialer Exp-weight-constant: 9 (1/512) Mean queue depth: 0 class Random drop Tail drop Minimum Maximum Mark pkts/bytes pkts/bytes thresh thresh prob 0 0/0 0/0 20 40 1/10 1 0/0 0/0 22 40 1/10 2 0/0 0/0 24 40 1/10 3 0/0 0/0 26 40 1/10 4 0/0 0/0 28 40 1/10 5 0/0 0/0 31 40 1/10 6 0/0 0/0 33 40 1/10 7 0/0 0/0 35 40 1/10 rsvp 0/0 0/0 37 40 1/10 Current per-SID queue configuration:
[править] Modified Deficit Round-Robin (MDRR)
Утилита MDRR реализована только для маршрутизаторов Cisco 12000, так как они не поддерживают CBWFQ и LLQ.
MDRR позволяет классифицировать трафик на семь round-robin очередей (0-6), с одной дополнительной приоритетной очередью.
Если в приоритетной очереди нет пакетов, то WDRR обслуживает очереди по принципу round-robin. Если в приоритетной очереди есть пакеты, то WDRR может обрабатывать пакеты одним из вариантов:
- Strict priority mode — приоритетная очередь обслуживается сразу, как только там появляются пакеты;
- Alternate mode — приоритетная очередь обслуживается после каждой не приоритетной очереди.
MDRR поддерживает два типа scheduling.
- Quantum value (QV) — количество байтов. WDRR удаляет пакеты из очереди до тех пор пока QV для этой очереди будет удалено.
- Deficit — количество байт которые были обработаны сверх нормы (более чем QV). При следующем прохождении цикла с очереди в которой было взято больше байт, будет взято на эту же величину меньше.
[править] Управление перегрузками и избежание перегрузок на коммутаторах
Коммутаторы 3550 и 3560 выполняют входящее и исходящее управление очередями. У 3550 одна входящая очередь работающая по принципу FIFO. У 3560 две входящих очереди, одна из которых может быть настроена как приоритетная очередь.
В 3560 packet scheduler использует метод shared round-robin (SRR) для того чтобы контролировать отправку пакетов. На входящих очередях SRR разделяет пропускную способность между очередями, в соответствии с настроенными весами. Вес выполняет роль относительной, а не абсолютной величины.
Пол умолчанию, трафик промаркированный значением COS 5 попадает во вторую очередь, остальной в первую. Можно настроить назначение трафика в очередь по значению DSCP.
switch# show mls qos maps cos-input-q
switch# show mls qos maps dscp-input-q
Настройка коэффициентов для очередей (по умолчанию 90 процентов в очередь 1 и 10 процентов в очередь 2):
switch(config)# mls qos srr-queue input buffers
Настройка процентов для пропускной способности, которые устанавливают частоту с которой scheduler берет пакеты из двух буферов (по умолчанию оба значения 4):
switch(config)# mls qos srr-queue input bandwidth
Две указанные команды вместе определяют какое количество данных коммутатор может
Настройка приоритетной очереди:
switch(config)# mls qos srr-queue input priority-queue bandwidth
Коммутатор будет обслуживать приоритетную очередь до тех пор, пока пропускная способность не достигнет настроенного значения weight. После этого остальная пропускная способность разделяется между очередями.
[править] Shaping и Policing
[править] Терминология
- Tc — временной интервал, измеряемый в секундах, в течение которого может быть отправлен commited burst (Bc). Для многих shaping утилит Tc=Bc/CIR.
- Bc — commited burst rate, измеряется в битах. Количество трафика которое будет отправлено в течение Tc интервала.
- CIR — commited information rate, в битах в секунду, определяет rate VC в соответствии с контрактом.
- Shaped rate — rate, в битах за секунду, до которого конкретная настройка делает shape трафику. Может быть установлен или нет в значение равное CIR.
- Be — excess burst size, в битах. Количество битов, которое может быть отправлено сверх указанного Bc после периода неактивности.
[править] Shaping в сетях Frame-Relay
Minimum information rate (MIR) или mincir.
Уменьшает rate шейпер в том случае, если обнаруживает перегрузку с помощью одного из двух методов:
- получает кадр с установленным битом BECN (Backward Explicit Congestion Notification),
- получает проприетарное сообщение о перегрузке (congestion message) Cisco ForeSight.
При получении BECN или ForeSight сообщения, шейпер снижает rate на 25 процентов от максимального rate. Фактически уменьшается Bc и Be на 25 процентов, а Tc остается неизменным. Если опять приходит сообщение BECN или ForeSight, то происходит уменьшение ещё на 25 процентов. Так происходит то тех пор пока не будет достигнут mincir.
После получения 16 сообщений без BECN или ForeSight, rate снова возрастает.
[править] Class-based shaping
CB shaping может быть настроен только для исходящих пакетов и может быть применен к физическому интерфейсу или подынтерфейсу.
dyn5(config-pmap-c)# shape [average | peak] [[burst-size][exceed-burst-size]]
Должен быть указан shaping rate. Bc и Be могут быть опущены, а Tc не может быть задан напрямую. Соответственно CB shaping высчитывает неуказанные значения. Значения высчитываются по-разному в зависимости от того чему равен shaping rate.
Переменная Rate Rate > 320 kbps Bc 8000 bits Bc = shaping rate * Tc Be Be = Bc = 8000 Be = Bc Tc Tc = Bc / shaping rate 25ms [править] CB shaping peak rate
Если CB shaping настроен командой shape peak, то:
- значения Bc, Be, Tc высчитываются как и для команды shape average,
- токены Bc и Be (а не только Bc) пополняются каждый временной интервал.
Shaping rate = configured rate (1 + Be/Bc)
[править] Generic Traffic Shaping
[править] Frame-Relay traffic shaping
Frame-Relay traffic shaping (FRTS):
- FRTS может использоваться только на frame-relay интерфейсах, а CB shaping может использоваться для любого протокола канального уровня.
- Как и CB shaping, FRTS позволяет использовать утилиты для управления очередями вместо одной очереди FIFO.
- В отличие от CB shaping, FRTS не позволяет включать дополнительные утилиты управления очередями на физическом интерфейсе одновременно с FRTS.
- FRTS всегда шейпит трафик в каждой VC отдельно.
- FRTS не может классифицировать трафик для того чтобы шейпить часть трафика конкретной VC.
- В отличие от CB shaping, FRTS может динамически получать значение CIR, Bc и Be, настроенные на FR-коммутаторе, используя Enhanced Local Management Interface (ELMI).
dyn5(config)# map-class frame-relay testFR dyn5(config-map-class)# frame-relay traffic-rate [peak]
Пример явного указания параметров:
dyn5(config)# map-class frame-relay testFR dyn5(config-map-class)# frame-relay cir 64000 dyn5(config-map-class)# frame-relay bc 640
Настройка динамического реагирования маршрутизатора на основании BECN:
dyn5(config-map-class)# frame-relay adaptive-shaping
[править] CB policing
CB policing разделяет пакеты на две или три категории, в зависимости от вида policing, а затем применяет к каждой категории соответствующее действие.
- conforming
- exceeding
- violating
[править] Single-rate, two-color policing (one bucket)
Policer использует две категории:
CB Policer заполняет bucket не на основании временных интервалов, а на основании пакетов.
Количество токенов высчитывается по формуле:
((current_packet_arrival_time - Previous_packet_arrival_time) * Police_rate) / 8
Так как токен представляет право на передачу одного байта, то результат разделен на 8, чтобы перевести его из битов в байты.
Когда приходит новый пакет, policer должен определить превышает или нет этот пакет установленный контракт.
Policer сравнивает количество байт в пакете (Xp) с количеством токенов в token bucket (Xb).
Категория Требования Токены, которые забраны из bucket Conform Если Xp Xp токенов Exceed Если Xp > Xb не забираются [править] Single-rate, three-color policing (two buckets)
Policer использует три категории:
Xbc — количество токенов в Bc bucket, Xbe — количество токенов в Be bucket.
Категория Требования Токены, которые забраны из bucket Conform Если Xp Xp токенов из Bc bucket Exceed Если Xp > Xbc и Xp Xp токенов из Be bucket Violate Если Xp > Xbc и Xp > Xbe не забираются [править] Two-rate, three-color policing (two buckets)
- Commited information rate (CIR)
- Peak information rate (PIR)
Policer использует три категории:
- conform — пакеты передающиеся до CIR,
- exceed — пакеты передающиеся выше CIR, но до PIR,
- violate — пакеты передающиеся выше PIR.
[править] Настройка CB policing
police cir 8000 bc 1000 be 500 conform-action transmit exceed-action transmit violate-action drop
Если не указаны значения Bc или Be, то используются значения по умолчанию, которые зависят от типа policing.
Тип policing Как определить тип по команде police Значения по умолчанию Single rate, two color не настроено violate-action Bc = CIR/32, Be = 0 Single rate, three color настроено violate-action Bc = CIR/32, Be = Bc Dual rate, three color настроено PIR Bc = CIR/32, Be = PIR/32 [править] Multi-action policing
Multi-action policing — маркировка нескольких полей в одном пакете с помощью CB policing.
[править] Commited access rate (CAR)
CAR это single-rate, two-color policing.
CAR оптимизирован для высокоскоростных соединений.
CAR применяется для входных и выходных интерфейсов (включая подинтерфейсы в том числе Frame Relay и ATM)
может так же использоваться для предотвращения DOS атак.dyn5(config-if)# rate-limit [access-group [rate-limit] acl-index] bps burst-normal burst-max conform-action action exceed-action action
- access-group — аксесс лист классификации
- bps — скорость бит/с (commited access rate)
- burst-normal — размер всплеска рекомендовано считать по формуле ([4]):
- burst-normal = bps * (1 byte)/(8 bits) * 1.5 seconds
- burst-max — максимальный размер всплеска
- burst-max=burst-normal*2
- conform-action action — действие при соответствии ограничения
- exceed-action action — действие при превышении ограничения
- Возможные варианты действий:
- drop – уничтожить
- transmit — передать
- set-dscp-transmit – пометить пакет
interface Tunnel122 ip address 10.84.239.230 255.255.255.252 ip mtu 1420 rate-limit input access-group 199 8000 1600 2000 conform-action transmit exceed-action drop . end
Просмотр трафика, который попадает под CAR:
sm-sht-c2811#sh int tu 122 rate-limit Tunnel122 crypto tunnel sm Input matches: access-group 199 params: 8000 bps, 1600 limit, 2000 extended limit conformed 23741 packets, 1994692 bytes; action: transmit exceeded 3210 packets, 184395 bytes; action: drop last packet: 1149595396ms ago, current burst: 0 bytes last cleared 14w0d ago, conformed 0 bps, exceeded 0 bps
На интерфейс можно описывать любое число правил, ограничивающих трафик на данном интерфейсе
Следующий пример ограничивает ICMP трафик до 500 kb/s, а так же UDP трафик до уровня 2 Мб/s на одном из интерфейсов! sm-c3660(config-if)#rate-limit input access-group 100 500000 62500 62500 conform-action transmit exceed-action drop sm-c3660(config-if)#rate-limit input access-group 101 2010000 250000 250000 conform-action transmit exceed-action drop ! sm-c3660(config)#access-list 100 permit icmp any any sm-c3660(config)#access-list 101 permit udp any any
[править] rate-limit ACL
dyn1(config)# access-list rate-limit ? Precedence ACL index MAC address ACL index mpls exp ACL index
dyn1(config)# access-list rate-limit 1 mask
Порядок вычисления параметра mask:
- Определить какие значения IPP нужны.
- Каждому значению IP precedence соответствует бит в выделенном байте:
- 00000001 — 0
- 00001000 — 3
- 00100001 — 5
- Сложить получившиеся 8мибитные числа. Например, если необходимо совпадение значений 0, 3 и 5, то итоговое значение будет 00101001.
- Перевести полученное значение в соответствующее шестнадцатеричное число. Для приведенного примера это будет число 0x29.
- Настроить соответствующий ACL. Для указанного примера: access-list rate-limit 1 mask 29.
[править] QoS Policy Propagation через BGP (QPPB)
[править] Дополнительная информация
- Class-Based Shaping Configuration
- Shaping vs. Policing At A Glance
- Comparing Traffic Policing and Traffic Shaping for Bandwidth Limiting (англ.)
- QoS для DMVPN
- Understanding How Routing Updates and Layer 2 Control Packets Are Queued on an Interface with a QoS Service Policy (pak_priority) (англ.)
- Bridging the gap between 3550 and 3560 QoS: Part I (англ.)
- Bridging the gap between 3550 and 3560 QoS: Part II (англ.)
- Traffic Classification in the 3550/3560 Switches (англ.)
- Comparing Traffic Policing Features in the 3550 and 3560 switches (англ.)
- Quick Notes on the 3560 Egress Queuing (англ.)
Cisco Systems, Inc. Устройства Cisco 871 • Cisco Router • Cisco Switch • Сisco Сatalyst • Cisco IPS • Cisco ASA • PIX • Dynamips Безопасность
(коммутаторы и
маршрутизаторы)Cisco Security • Port security • DHCP snooping • Dynamic ARP Protection • IP Source Guard • Аутентификация при доступе к сети • 802.1X в Cisco • Zone-Based Policy Firewall • Cisco NAT • NAT в Cisco • Cisco SSH Cisco ASA Cisco ASA/NAT • Cisco ASA/Troubleshooting • Cisco ASA/IPS • Cisco ASA failover • Cisco ASA/Transparent firewall • Cisco ASA/Site-to-Site_VPN • Cisco ASA/Easy_VPN • Cisco ASA/WebVPN • Объединение OSPF-сетей туннелем между двумя системами ASA (без GRE) • Центр сертификатов на Cisco ASA VPN IPsec в Cisco • Cisco IOS Site-to-Site VPN • DMVPN • Cisco Easy VPN • Cisco Web VPN • Cisco ipsec preshared Канальный уровень CDP • VLAN в Cisco • ISL • VTP • STP в Cisco • Cisco Express Forwarding • Агрегирование каналов • Зеркалирование трафика • QinQ • Frame Relay Сетевой уровень Маршрутизация в Cisco • RIP • EIGRP • IS-IS • OSPF • BGP • PIM • Multicast • GLBP • VRRP • HSRP • DHCP • IPv6 • IPv6 vs IPv4 • Резервирование Интернет-каналов без использования BGP • Использование BGP для резервирования Интернет-каналов Разное Режим ROMMON в Cisco • Опция 82 DHCP • 802.1X и RADIUS • SNMP в Cisco • QoS в Cisco • EEM • Troubleshooting • Автоматизация работы устройств Cisco • Cisco NTP • Cisco IP SLA • Cisco Enhanced Object Tracking IP-телефония Основы PCM • Дискретизация • Квантование • Компандирование (ulaw, alaw) • Теорема Найквиста • Кодек • IP-телефония • Протоколы IP-телефонии • Голосовая почта • IVR • Конференция • Gatekeeper • DID • Диалплан • Музыка на удержании • Эхоподавление • Перехват звонка • Парковка вызова • Запись разговора • Очереди звонков • Callback • Перевод звонка • Исходящий звонок • Запись голосовых файлов • Звонок на группу • Отправка факсов Традиционная телефония Режимы портов в коммутаторах Cisco
Порт готов перейти в режим trunk, но при этом не передает DTP-кадры порту на другом конце. Этот режим используется для предотвращения конфликтов с другим «не-cisco» оборудованием. В этом случае коммутатор на другом конце должен быть вручную настроен на использование trunk’а.
Dynamic Trunk Protocol (DTP) является проприетарным протоколом Cisco, обеспечивающим коммутационным устройствам возможность определять находится ли в состоянии поднятия trunk соседний коммутатор и какой протокол нужно задействовать ISL или 802.1Q. DTP включается по умолчанию.
load-interval 30
30 second input rate 397000 bits/sec, 224 packets/sec
30 second output rate 317000 bits/sec, 220 packets/secСредняя скорость входящего и исходящего трафика за период (в примере за 30 секунд). По умолчанию период усреднения 5 минут. Минимальный период — 30 секунд. Задается командой «load-interval» в режиме конфигурации интерфейса.
storm-control broadcast include multicast
Включает подавление многоадресной рассылки. Позволяет подавлять входящий многоадресный и широковещательный трафик на интерфейсе.
storm-control broadcast level 10.00
Задает верхние пороговые уровни для широковещательного трафика. Действие по управлению штормом происходит, когда использование трафика достигает этого уровня. Можно установить уровень Enter threshold
Устанавливает максимальный уровень широковещательного трафика в 10% от полосы пропускания. Порог так же можно устанавливать не только в процентах, но и в битах в секунду (bps).
storm-control action shutdown
Команда указывает на то, какое действие должно быть совершено, когда лимит широковещательного трафика в 10% (команда выше) будет достигнут — отключить порт (shutdown) . Если действие не указывать, то свитч будет просто фильтровать трафик, превышающий порог, и не отправлять никаких оповещений.
SNMP-трапы и сообщения в Syslog можно включить, если указать action trap.spanning-tree portfast trunk
PortFast — этот режим предназначен для того, что бы «ускорить» инициализацию портов которые подключены к серверам или пользовательским станциям. В нормальном состоянии, без PortFast, порт на котором работает Spanning Tree перед включением в режим передачи данных проходит несколько довольно долгих фаз: blocked, listening, learning и только потом, где-то через 40-50 секунд после включения кабеля, он переходит в состояние forwarding и начинает передавать данные. Делается это для того, что бы если на порту окажется дублирующий линк, то Spanning Tree успел бы это понять, и в сети не возникло петли и наша сеть не «сломалась» пусть даже на короткое время.
Так же в некоторых случаях может понадобиться включить PortFast на trunk линках, например если данный транк ведёт к серверу, который принимает из него несколько VLAN’ов.
spanning-tree bpdufilter enable
Команда bpdufilter запрещает прохождение BPDU фреймов на порту. Bdpufilter фильтрует в обе стороны, т.е. коммутатор отбрасывает все входящие BPDU и не отправляет BPDU в порт.
BPDU
Блок данных протокола мостового перенаправления (Bridge Protocol Data Unit, BPDU) — фрейм (единица данных) протокола управления сетевыми мостами, IEEE 802.1d, базируется на реализации протокола основного дерева (Spanning Tree Protocol, STP).storm-control broadcast level pps 1k
Для pps pps указывает возрастающий пороговый уровень для широковещательного ( broadcast ), многоадресного (multicast) или одноадресного (unicast) трафика в пакетах в секунду (packets per second — pps ) (до одного десятичного знака). Порт блокирует трафик при достижении возрастающего порога. Диапазон составляет от 0,0 до 10000000000,0.
[k|m|g] Enter rising threshold
storm-control multicast level pps 1k
Для pps pps указывает возрастающий пороговый уровень для широковещательного (broadcast), многоадресного ( multicast ) или одноадресного (unicast) трафика в пакетах в секунду (packets per second — pps ) (до одного десятичного знака). Порт блокирует трафик при достижении возрастающего порога. Диапазон составляет от 0,0 до 10000000000,0.
[k|m|g] Enter rising thresholdend
no lldp transmit
LLDP
Link Layer Discovery Protocol (LLDP) — протокол канального уровня, позволяющий сетевому оборудованию оповещать оборудование, работающее в локальной сети, о своём существовании и передавать ему свои характеристики, а также получать от него аналогичные сведения.Отключение и включение LLDP на интерфейсе
LLDP включен по умолчанию на всех поддерживаемых интерфейсах для отправки и получения информации LLDP.no lldp transmit — Пакеты LLDP не отправляются через интерфейс.
- Возможные варианты действий: