Привет, незнакомец!

Похоже, вы здесь новенький. Чтобы принять участие, нажмите одну из кнопок ниже!

Как полисить трафик использующий ECMP

отредактировано июня 2016 Раздел: Policing shaping
Добрый день.

Думаю как решить задачку.
Есть 2 бордера. Оба анонсируют 0/0 вовнутрь. Трафик изнутри выходит в интернеты через них. Трафик балансируется по ECMP, в идеале 50/50, но идеала не бывает и всякие elephant flow могут перекашивать распределение.
Исходящий изнутри трафик хочется полисить на бордерах, но из за ecmp он может пройти через любой.
Самое простое и топорное решение полисить 50% от разрешонной полосы на одном бордере и 50% на другом.

Может есть лучше варианты?
Тэги темы:

Комментарии

  • А у вас оба бордера подключены к одному и тому же ISP, который считает суммарный трафик от обоих бордеров?
  • Нет, к разным, по 4рем одинаковым линкам. И для одинаковых префиксов (lp, aspath) тоже ecmp.
  • Честно говоря, не совсем понимаю целей полисинга в Вашем случае.
    Для более корректной балансировки? Или по каким-то административным причинам? (Например для разных отделов, если это Enterprise, либо по пользователям если это ISP )
    Исходящий трафик, имеете ввиду в вашу сеть извне, или же исходящий от Вас?
  • Да, исключительно для разделения ресурсов, в данном случае общей полосы.
    Изначально писал о трафике от меня наружу. Хотя и с входящим та же проблема.

    В общем то думаю никак эту проблему не решишь, если не собирать бордеры в одно шасси с единым control plain'ом.
    Или как то шарить состояния между ними.
  • отредактировано марта 2016
    А на бордеры траф с какой железки попадает со стороны локалки? Можно, например, использовать PBR - четные адреса на один бордер, нечетные на другой, при этом на бордерах можно сделать vrrp - если один бордер помрет, то четные и нечетные "сольются в едином потоке" на два виртуальных адреса vrrp, которые держит один живой бордер. Тут вам и балансировка и отказоустойчивость. В итоге один и тот же IP всегда пойдет на свой бордер, можно полисить.
  • infery написал:

    А на бордеры траф с какой железки попадает со стороны локалки? Можно, например, использовать PBR - четные адреса на один бордер, нечетные на другой, при этом на бордерах можно сделать vrrp - если один бордер помрет, то четные и нечетные "сольются в едином потоке" на два виртуальных адреса vrrp, которые держит один живой бордер. Тут вам и балансировка и отказоустойчивость.

    Тоже пришла мысль в голову о PBR.
  • infery написал:

    А на бордеры траф с какой железки попадает со стороны локалки? Можно, например, использовать PBR - четные адреса на один бордер, нечетные на другой, при этом на бордерах можно сделать vrrp - если один бордер помрет, то четные и нечетные "сольются в едином потоке" на два виртуальных адреса vrrp, которые держит один живой бордер. Тут вам и балансировка и отказоустойчивость. В итоге один и тот же IP всегда пойдет на свой бордер, можно полисить.

    также можно в PBR использовать set ip next-hop verify-availability track # что позволит проверить доступность узла без VRRP\HSRP

  • Спасибо, c pbr мысль интересная, особенно с дополнением set ip next-hop verify-availability.
    Но в моей ситуации не применимая. Меня вполне устраивает ecmp балансировка в fib'e, да она не идельная 50/50. Но на самом деле с per IP балансировкой перекос баланса очень большой будет, у меня не все IP одинаковый трафик генерят.
    И полисить мне надо не per IP, а per /24
  • отредактировано марта 2016
    ---
  • отредактировано апреля 2016
    Alex.Kovalev написал:

    Спасибо, c pbr мысль интересная, особенно с дополнением set ip next-hop verify-availability.
    Но в моей ситуации не применимая. Меня вполне устраивает ecmp балансировка в fib'e, да она не идельная 50/50. Но на самом деле с per IP балансировкой перекос баланса очень большой будет, у меня не все IP одинаковый трафик генерят.

    в PBR можно использовать расширенный ACL и на его основе произвести распределение
    Alex.Kovalev написал:

    И полисить мне надо не per IP, а per /24

    или prefix-list.

    Но PBR работать будет медленнее, чем cef и увеличит нагрузку на процессор.
  • aleksei_boroda написал:


    Но PBR работать будет медленнее, чем cef и увеличит нагрузку на процессор.

    CEF уже давно поддерживает PBR
  • dmfigol написал:

    aleksei_boroda написал:


    Но PBR работать будет медленнее, чем cef и увеличит нагрузку на процессор.

    CEF уже давно поддерживает PBR
    Признаю, напортачил. Действительно давно. Прошу прощения, если кого-либо ввел в заблуждение.

Войдите или Зарегистрируйтесь чтобы комментировать.