This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
сервис_qos [2009/05/14 16:36] val |
сервис_qos [2020/05/07 07:37] (current) val [Сервис QOS] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Сервис QOS ====== | ====== Сервис QOS ====== | ||
| + | |||
| + | * [[https://habr.com/post/420525/|Сети для самых матёрых. Часть пятнадцатая. QoS]] | ||
| + | |||
| + | ===== Уилиты для экспериментов ===== | ||
| + | |||
| + | * [[Утилита iPerf]] | ||
| + | |||
| + | <code> | ||
| + | gate# apt install wondershaper | ||
| + | |||
| + | gate# wondershaper eth1 10 10 | ||
| + | |||
| + | gate# wondershaper eth1 | ||
| + | |||
| + | gate# wondershaper clear eth1 | ||
| + | </code> | ||
| + | |||
| + | ===== Linux ===== | ||
| + | ===== Cisco ===== | ||
| + | |||
| + | * [[https://www.cisco.com/c/en/us/support/docs/switches/catalyst-3750-series-switches/91862-cat3750-qos-config.html|Cisco Catalyst 3750 QoS Configuration Examples]] | ||
| + | * [[https://reggle.wordpress.com/2013/05/14/qos-part-v-hardware-queues-on-35603750-switch-platform/|QoS part V: hardware queues on 3560/3750 switch platform]] | ||
| + | * [[http://cisco-conf.ru/qos/90-qos-catalyst-3750-.html|3750 QOS: Общие принципы]] | ||
| + | |||
| + | ==== Включение ==== | ||
| + | |||
| + | <code> | ||
| + | mls qos | ||
| + | </code> | ||
| + | ==== Назначение QOS для трафика c определенным DSCP ==== | ||
| + | |||
| + | * [[https://dreamforccie.wordpress.com/2010/04/23/convert-phb-af-to-dscp-decimal-and-vise-versa-its-so-easy/|Convert PHB AF to DSCP Decimal and Vise Versa: It’s So Easy!]] | ||
| + | * [[https://supportforums.cisco.com/t5/wan-routing-and-switching/dscp-qos-value/td-p/920725|DSCP - QOS value]] | ||
| + | |||
| + | <code> | ||
| + | TOS: 0x000068b8 | ||
| + | |||
| + | show mls qos maps dscp-output-q | ||
| + | |||
| + | interface GigabitEthernet1/0/1 | ||
| + | mls qos trust dscp | ||
| + | </code> | ||
| + | |||
| + | ==== Назначение DSCP для трафика c определенным профилем ==== | ||
| + | |||
| + | <code> | ||
| + | no ip access-list extended IP-Communicator | ||
| + | ip access-list extended IP-Communicator | ||
| + | ! permit udp any any range 10000 20000 | ||
| + | ! permit ip any host 195.19.32.11 | ||
| + | permit ip host 195.19.32.11 any | ||
| + | |||
| + | class-map match-all Class-B | ||
| + | match access-group name IP-Communicator | ||
| + | |||
| + | policy-map sample-policy2 | ||
| + | class Class-B | ||
| + | set dscp ef | ||
| + | |||
| + | interface GigabitEthernet1/0/2 | ||
| + | service-policy input sample-policy2 | ||
| + | </code> | ||
| + | |||
| + | ==== Назначение QOS для трафика отдельного порта ==== | ||
| + | |||
| + | <code> | ||
| + | show mls qos maps cos-output-q | ||
| + | |||
| + | interface GigabitEthernet1/0/11 | ||
| + | mls qos cos 5 | ||
| + | mls qos trust cos | ||
| + | </code> | ||
| + | |||
| + | ==== Выделение полосы в магистральном соединении для трафика с определенным QOS ==== | ||
| + | |||
| + | <code> | ||
| + | sh mls qos queue-set | ||
| + | |||
| + | show mls qos interface g1/0/47 queueing | ||
| + | |||
| + | interface GigabitEthernet1/0/47 | ||
| + | ! Full priority for q1 | ||
| + | srr-queue bandwidth shape 0 0 0 0 | ||
| + | srr-queue bandwidth share 255 1 1 1 | ||
| + | |||
| + | ! 1/20 band for q1 | ||
| + | srr-queue bandwidth shape 20 0 0 0 | ||
| + | srr-queue bandwidth share 1 1 1 1 | ||
| + | |||
| + | clear mls qos interface g1/0/47 statistics | ||
| + | show mls qos interface g1/0/47 statistics | inc queue | ||
| + | </code> | ||
| ===== Равномерное ограничение полосы для всех с исключениями ===== | ===== Равномерное ограничение полосы для всех с исключениями ===== | ||
| Line 5: | Line 97: | ||
| ==== FreeBSD (ipfw) ==== | ==== FreeBSD (ipfw) ==== | ||
| <code> | <code> | ||
| - | [gX:~] # cat /etc/ipfw.conf | + | [gate:~] # cat /etc/ipfw.conf |
| - | pipe 1 config bw 64kbit/s mask dst-ip 0xffffffff | + | </code><code> |
| - | pipe 2 config bw 100mbit/s | + | pipe 1 config bw 100mbit/s |
| + | pipe 2 config bw 64kbit/s mask dst-ip 0xffffffff | ||
| - | add 10 pipe 2 ip from any to 192.168.100+X.2 | + | add 10 pipe 1 ip from any to 192.168.100+X.2 |
| - | add 20 pipe 1 ip from any to 192.168.100+X.0/24 | + | add 20 pipe 2 ip from any to 192.168.100+X.0/24 |
| add 100 allow ip from any to any | add 100 allow ip from any to any | ||
| - | + | </code><code> | |
| - | [gX:~] # cat /etc/rc.conf | + | [gate:~] # cat /etc/rc.conf |
| - | … | + | </code><code> |
| + | ... | ||
| + | dummynet_enable=yes | ||
| firewall_enable="YES" | firewall_enable="YES" | ||
| firewall_type="/etc/ipfw.conf" | firewall_type="/etc/ipfw.conf" | ||
| - | … | + | </code><code> |
| + | [gate:~] # /etc/rc.d/ipfw start | ||
| - | [gX:~] # kldload dummynet | + | [gate:~] # ipfw pipe show |
| - | + | ||
| - | [gX:~] # /etc/rc.d/ipfw start | + | |
| </code> | </code> | ||
| - | |||
| ===== Балансировка нагрузки между провайдерами ===== | ===== Балансировка нагрузки между провайдерами ===== | ||
| - | Использование PF | + | |
| + | ==== FreeBSD (pf) ==== | ||
| http://www.openbsd.org/faq/pf/pools.html | http://www.openbsd.org/faq/pf/pools.html | ||
| <code> | <code> | ||
| - | [gX:~] # cat /etc/pf.conf | + | [gate:~] # cat /etc/pf.conf |
| + | </code><code> | ||
| lan_net = "192.168.1X.0/24" | lan_net = "192.168.1X.0/24" | ||
| int_if = "tap0" | int_if = "tap0" | ||
| Line 52: | Line 148: | ||
| to any | to any | ||
| </code> | </code> | ||
| - | |||