Catalyst PBR: различия между версиями
(0) |
Sirmax (обсуждение | вклад) |
||
(не показано 10 промежуточных версий 6 участников) | |||
Строка 1: | Строка 1: | ||
+ | [[Категория:Cisco]] |
||
=Policy Routing= |
=Policy Routing= |
||
Маршрутизация на основе политики (Policy Routing) - это маршрутизация при которой критерием для выбора next-hop служит не адрес получателя, а некоторое условие (в случае с cisco - описанное в route-map) |
Маршрутизация на основе политики (Policy Routing) - это маршрутизация при которой критерием для выбора next-hop служит не адрес получателя, а некоторое условие (в случае с cisco - описанное в route-map) |
||
На коммутаторах есть особенность, способная доставить немало головной боли. Дело в том, что в ACL которая является критерием выбора для route-map все вхождения deny обрабатываются программно, с соответствующей деградацией производительности. |
На коммутаторах есть особенность, способная доставить немало головной боли. Дело в том, что в ACL которая является критерием выбора для route-map все вхождения deny обрабатываются программно, с соответствующей деградацией производительности. |
||
+ | ==Примеры использования== |
||
− | 6DoDs5 <a href="http://svcfkxqlewqj.com/">svcfkxqlewqj</a>, [url=http://foxqgxqdvwkb.com/]foxqgxqdvwkb[/url], [link=http://hrwfzwprtixt.com/]hrwfzwprtixt[/link], http://tafngxfnzdqp.com/ |
||
+ | Для всех пакетов попавших в PBR_ACL установить next-hop 172.16.1.1 (т.е. использовать альтернативный шлюз) |
||
+ | <PRE> |
||
+ | route-map PBR permit 10 |
||
+ | match ip address PBR_ACL |
||
+ | set ip next-hop 172.16.1.1 |
||
+ | </PRE> |
||
+ | |||
+ | Если я хочу написать ACL вида: |
||
+ | * Для всех пакетов идущих на "серые" (192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8) сети использовать стандартную таблицу маршрутизации |
||
+ | * Для всех пакетов идущих на ДНС-сервера использовать стандартную таблицу маршрутизации |
||
+ | * Для остальных (уходящих в "Мир") использовать шлюз 172.16.1.1 |
||
+ | |||
+ | Есть 2 варианта, оба абсолютно рабочих, но производительностью они будут отличаться в разы.<BR> |
||
+ | Первый - использовать простой ACL |
||
+ | <PRE> |
||
+ | ip access-list extended PBR_ACL |
||
+ | deny ip any 192.168.0.0 0.0.255.255 |
||
+ | deny ip any 172.16.0.0 0.15.255.255 |
||
+ | deny ip any 10.0.0.0 0.255.255.255 |
||
+ | deny ip host 193.33.хх.хх 10.0.0.0 0.255.255.255 |
||
+ | deny ip host 193.33.хх.хх 10.0.0.0 0.255.255.255 |
||
+ | permit ip host any any |
||
+ | </PRE> |
||
+ | В этом случае будем наблюдать увеличение счетчиков срабатывания ACL что применительно к коммутаторам говорит о том, что пакеты были обработаны программно. Пропорционально трафику растет загрузка процессора. |
||
+ | <BR> |
||
+ | |||
+ | Второй вариант иллюстрирует альтернативный подход - практически не используется deny (кроме как для выделения трафика DNS которого немного и который не создает нагрузки на коммутатор). |
||
+ | При использовании этого ACL в route-map маршрутизация будет происходить wire-speed. Естественно, при условии что число ACE (правил всех ACL) не будет превышать допустимое для текущего профия (sdm preffer) |
||
+ | <PRE> |
||
+ | ip access-list extended PBR_ACL |
||
+ | permit ip any 0.0.0.0 7.255.255.255 |
||
+ | permit ip any 8.0.0.0 1.255.255.255 |
||
+ | permit ip any 11.0.0.0 0.255.255.255 |
||
+ | permit ip any 0.0.7.255 12.0.0.0 3.255.255.255 |
||
+ | permit ip any 16.0.0.0 15.255.255.255 |
||
+ | permit ip any 32.0.0.0 31.255.255.255 |
||
+ | permit ip any 64.0.0.0 15.255.255.255 |
||
+ | permit ip any 80.0.0.0 7.255.255.255 |
||
+ | permit ip any 88.0.0.0 3.255.255.255 |
||
+ | permit ip any 0.0.0.0 255.0.0.0 |
||
+ | permit ip any 95.0.0.0 0.63.255.255 |
||
+ | permit ip any 95.64.0.0 0.3.255.255 |
||
+ | permit ip any 95.68.0.0 0.0.255.255 |
||
+ | permit ip any 95.69.0.0 0.0.127.255 |
||
+ | permit ip any 95.70.0.0 0.1.255.255 |
||
+ | permit ip any 95.72.0.0 0.7.255.255 |
||
+ | permit ip any 95.80.0.0 0.15.255.255 |
||
+ | permit ip any 96.0.0.0 15.255.255.255 |
||
+ | permit ip any 112.0.0.0 7.255.255.255 |
||
+ | permit ip any 120.0.0.0 3.255.255.255 |
||
+ | permit ip any 124.0.0.0 1.255.255.255 |
||
+ | permit ip any 126.0.0.0 0.255.255.255 |
||
+ | permit ip any 128.0.0.0 31.255.255.255 |
||
+ | permit ip any 160.0.0.0 7.255.255.255 |
||
+ | permit ip any 168.0.0.0 3.255.255.255 |
||
+ | permit ip any 172.0.0.0 0.15.255.255 |
||
+ | permit ip any 172.32.0.0 0.31.255.255 |
||
+ | permit ip any 172.64.0.0 0.63.255.255 |
||
+ | permit ip any 172.128.0.0 0.127.255.255 |
||
+ | permit ip any 173.0.0.0 0.255.255.255 |
||
+ | permit ip any 174.0.0.0 1.255.255.255 |
||
+ | permit ip any 176.0.0.0 15.255.255.255 |
||
+ | permit ip any 192.0.0.0 0.127.255.255 |
||
+ | permit ip any 192.128.0.0 0.31.255.255 |
||
+ | permit ip any 192.160.0.0 0.7.255.255 |
||
+ | permit ip any 192.169.0.0 0.0.255.255 |
||
+ | permit ip any 192.170.0.0 0.1.255.255 |
||
+ | permit ip any 192.172.0.0 0.3.255.255 |
||
+ | permit ip any 192.176.0.0 0.15.255.255 |
||
+ | permit ip any 192.192.0.0 0.63.255.255 |
||
+ | deny ip any host 193.33.xx.xx |
||
+ | deny ip any host 193.33.xx.xx |
||
+ | permit ip any 193.0.0.0 0.255.255.255 |
||
+ | permit ip any 194.0.0.0 1.255.255.255 |
||
+ | permit ip any 196.0.0.0 3.255.255.255 |
||
+ | permit ip any 200.0.0.0 7.255.255.255 |
||
+ | permit ip any 208.0.0.0 15.255.255.255 |
||
+ | permit ip any 248.0.0.0 7.255.255.255 |
||
+ | </PRE> |
Текущая версия на 10:12, 24 июня 2010
Policy Routing
Маршрутизация на основе политики (Policy Routing) - это маршрутизация при которой критерием для выбора next-hop служит не адрес получателя, а некоторое условие (в случае с cisco - описанное в route-map) На коммутаторах есть особенность, способная доставить немало головной боли. Дело в том, что в ACL которая является критерием выбора для route-map все вхождения deny обрабатываются программно, с соответствующей деградацией производительности.
Примеры использования
Для всех пакетов попавших в PBR_ACL установить next-hop 172.16.1.1 (т.е. использовать альтернативный шлюз)
route-map PBR permit 10 match ip address PBR_ACL set ip next-hop 172.16.1.1
Если я хочу написать ACL вида:
- Для всех пакетов идущих на "серые" (192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8) сети использовать стандартную таблицу маршрутизации
- Для всех пакетов идущих на ДНС-сервера использовать стандартную таблицу маршрутизации
- Для остальных (уходящих в "Мир") использовать шлюз 172.16.1.1
Есть 2 варианта, оба абсолютно рабочих, но производительностью они будут отличаться в разы.
Первый - использовать простой ACL
ip access-list extended PBR_ACL deny ip any 192.168.0.0 0.0.255.255 deny ip any 172.16.0.0 0.15.255.255 deny ip any 10.0.0.0 0.255.255.255 deny ip host 193.33.хх.хх 10.0.0.0 0.255.255.255 deny ip host 193.33.хх.хх 10.0.0.0 0.255.255.255 permit ip host any any
В этом случае будем наблюдать увеличение счетчиков срабатывания ACL что применительно к коммутаторам говорит о том, что пакеты были обработаны программно. Пропорционально трафику растет загрузка процессора.
Второй вариант иллюстрирует альтернативный подход - практически не используется deny (кроме как для выделения трафика DNS которого немного и который не создает нагрузки на коммутатор). При использовании этого ACL в route-map маршрутизация будет происходить wire-speed. Естественно, при условии что число ACE (правил всех ACL) не будет превышать допустимое для текущего профия (sdm preffer)
ip access-list extended PBR_ACL permit ip any 0.0.0.0 7.255.255.255 permit ip any 8.0.0.0 1.255.255.255 permit ip any 11.0.0.0 0.255.255.255 permit ip any 0.0.7.255 12.0.0.0 3.255.255.255 permit ip any 16.0.0.0 15.255.255.255 permit ip any 32.0.0.0 31.255.255.255 permit ip any 64.0.0.0 15.255.255.255 permit ip any 80.0.0.0 7.255.255.255 permit ip any 88.0.0.0 3.255.255.255 permit ip any 0.0.0.0 255.0.0.0 permit ip any 95.0.0.0 0.63.255.255 permit ip any 95.64.0.0 0.3.255.255 permit ip any 95.68.0.0 0.0.255.255 permit ip any 95.69.0.0 0.0.127.255 permit ip any 95.70.0.0 0.1.255.255 permit ip any 95.72.0.0 0.7.255.255 permit ip any 95.80.0.0 0.15.255.255 permit ip any 96.0.0.0 15.255.255.255 permit ip any 112.0.0.0 7.255.255.255 permit ip any 120.0.0.0 3.255.255.255 permit ip any 124.0.0.0 1.255.255.255 permit ip any 126.0.0.0 0.255.255.255 permit ip any 128.0.0.0 31.255.255.255 permit ip any 160.0.0.0 7.255.255.255 permit ip any 168.0.0.0 3.255.255.255 permit ip any 172.0.0.0 0.15.255.255 permit ip any 172.32.0.0 0.31.255.255 permit ip any 172.64.0.0 0.63.255.255 permit ip any 172.128.0.0 0.127.255.255 permit ip any 173.0.0.0 0.255.255.255 permit ip any 174.0.0.0 1.255.255.255 permit ip any 176.0.0.0 15.255.255.255 permit ip any 192.0.0.0 0.127.255.255 permit ip any 192.128.0.0 0.31.255.255 permit ip any 192.160.0.0 0.7.255.255 permit ip any 192.169.0.0 0.0.255.255 permit ip any 192.170.0.0 0.1.255.255 permit ip any 192.172.0.0 0.3.255.255 permit ip any 192.176.0.0 0.15.255.255 permit ip any 192.192.0.0 0.63.255.255 deny ip any host 193.33.xx.xx deny ip any host 193.33.xx.xx permit ip any 193.0.0.0 0.255.255.255 permit ip any 194.0.0.0 1.255.255.255 permit ip any 196.0.0.0 3.255.255.255 permit ip any 200.0.0.0 7.255.255.255 permit ip any 208.0.0.0 15.255.255.255 permit ip any 248.0.0.0 7.255.255.255