Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    MPLS/VPLS и биты HTB / EXP

    MPLS/VPLS и биты HTB / EXP

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    MPLS/VPLS и биты HTB / EXP, RouterOS
     
    mducharme
    Guest
    #1
    0
    17.08.2016 15:47:00
    У нас есть цепочка Mikrotik в тестовой лаборатории с VPLS и MPLS-TE туннелями: MKT1 ↔ MKT2 ↔ MKT3 ↔ MKT4. Между MKT3 и MKT1 настроены TE туннель и VPLS туннель, а также между MKT4 и MKT1. На MKT4 мы используем фильтр моста, чтобы назначить приоритет всем пакетам, входящим в туннель к MKT1, с приоритетом 7. На MKT3 фильтра нет, так как там должны идти экспериментальные данные, и туннель от MKT3 к MKT1 не должен иметь приоритет.

    Чтобы смоделировать перегрузку, на интерфейсе MKT3, который подключается к MKT2, мы настроили очередь с ограничением 20 Мбит/с для пакетов без меток (no-mark). Эта очередь ловит все пакеты и ограничивает скорость до 20 Мбит/с. Однако, похоже, что MPLS EXP-биты, установленные на MKT4, игнорируются, и весь трафик получает такой же приоритет, как и трафик с MKT3.

    Примечание: для теста на MKT4 запущен генератор UDP-пакетов, отправляющий на IP компьютера, подключенного к VPLS туннельному концу на MKT1. Аналогичный генератор запущен на MKT3 и тоже отправляет на тот же компьютер. Скорость генератора на MKT4 — минимально необходимое количество пакетов в секунду, чтобы создать 5 Мбит/с (гарантированная скорость для клиента), а через MKT3 идут UDP-пакеты с гораздо большей скоростью — 30 или 40 Мбит/с.

    Мы отслеживаем скорость поступления пакетов на туннельном конце MKT1. При запуске генератора на MKT3 трафик с MKT4 падает с 5 Мбит/с до 4,2. Отключение генератора на MKT3 возвращает трафик MKT4 к гарантированным 5 Мбит/с. Если попробовать отключить и включить фильтр моста на MKT4, который ставит приоритет пакетам, это никак не влияет на значение 4,2. Это говорит о том, что MPLS EXP-биты либо не устанавливаются, либо не учитываются.

    Я не уверен, связано ли это с тем, что HTB не распознает EXP-биты как признак приоритета или же эти биты изначально неправильно применяются. Есть идеи?
     
     
     
    mikeeg02
    Guest
    #2
    0
    17.10.2020 04:16:00
    Возвращаюсь к старой теме. Я уже тестировал и сделал то, что вы описали выше, на промежуточных роутерах. Допустим, вы хотите реализовать это на связи между mtk1 и mtk2… mtk1 — это конечная точка VPLS-туннеля. Как там организовать очередь для MPLS-выходящих кадров и включить трафик от исходного роутера (mtk1) (кроме как используя сам интерфейс VPLS-туннеля)? В моём случае нужно реализовать схему с дополнительной связью от mtk1 к mtk4, образующей кольцо, и VPLS-туннель может выходить через любой интерфейс, чтобы попасть в конечную точку туннеля.
     
     
     
    mikeeg02
    Guest
    #3
    0
    09.11.2020 21:17:00
    Это глупый вопрос? Не могу как следует запихнуть пакеты в очередь HTB на интерфейсе mpls-out, которые идут с начала туннеля. Хотя могу получить проходящий mpls-трафик на исходящем интерфейсе, как описано выше. Помогите?
     
     
     
    StubArea51
    Guest
    #4
    0
    10.11.2020 14:12:00
    Можешь выложить подробности конфигурации?
     
     
     
    mikeeg02
    Guest
    #5
    0
    11.11.2020 02:04:00
    Вот dev-маршрутизатор. Фактически, всё, что приходит через ether5, отмечается маркировкой пакетов и выставляется приоритет перед тем, как попасть в VPLS-туннель, который начинается здесь. Если этот маршрутизатор стоит посредине и использует метод моста, описанный выше, я могу ставить в очередь MPLS-пакеты в зависимости от их приоритета, проходящих через маршрутизатор. Но вот незадача: я не могу поставить в очередь пакеты, которые исходят именно с этого маршрутизатора. В коде ниже я пробовал и ip firewall, и фильтры моста для маркировки. Ничто не отображается в очереди ether1, которая является LDP-интерфейсом к следующему маршрутизатору. Как мне сделать так, чтобы пакеты, которые помещаются в VPLS-туннель на этом маршрутизаторе, попадали в мою выходную очередь? Если это вообще имеет смысл.

    /interface ethernet  
    set [ find default-name=ether1 ] advertise=100M-full,1000M-full l2mtu=1584 name="ether1 to top3011"
    set [ find default-name=ether2 ] l2mtu=1514 speed=100Mbps
    set [ find default-name=ether3 ] l2mtu=1514 speed=100Mbps
    set [ find default-name=ether4 ] l2mtu=1514 speed=100Mbps
    set [ find default-name=ether5 ] l2mtu=1514 speed=100Mbps
    set [ find default-name=ether6 ] l2mtu=1514 speed=100Mbps
    set [ find default-name=ether7 ] l2mtu=1514 speed=100Mbps
    set [ find default-name=ether8 ] l2mtu=1514 speed=100Mbps
    set [ find default-name=ether9 ] l2mtu=1514 speed=100Mbps
    set [ find default-name=ether10 ] l2mtu=1514 name="ether10 - admin"
    set [ find default-name=sfp1 ] l2mtu=1514

    /interface bridge  
    add name="bridge ether1"  
    add fast-forward=no name="bridge vpls" protocol-mode=none  
    add fast-forward=no name=bridge_Loopb protocol-mode=none  

    /interface vpls  
    add disabled=no l2mtu=1500 mac-address=02:F9:0F:DD:10:BA name="vpls to 2" remote-peer=10.0.0.2 vpls-id=1:1  

    /queue tree  
    add max-limit=10M name=ether1_queue parent="ether1 to 750"  
    add name=ether1_prio2 packet-mark=prio2_mpls_out_ether1 parent=ether1_queue  
    add name=ether1_prio1 packet-mark=prio1_mpls_out_ether1 parent=ether1_queue  
    add name=ether1_prio3 packet-mark=prio3_mpls_out_ether1 parent=ether1_queue  

    /routing ospf instance  
    set [ find default=yes ] router-id=10.0.0.1

    /interface bridge filter  
    add action=mark-packet chain=forward in-interface=ether5 new-packet-mark=prio2_mpls_out_ether1  
    add action=set-priority chain=forward in-interface=ether5 new-priority=2 passthrough=no  
    add action=mark-packet chain=output ingress-priority=1 new-packet-mark=prio1_mpls_out_ether1 out-bridge="bridge ether1"  
    add action=mark-packet chain=output ingress-priority=2 new-packet-mark=prio2_mpls_out_ether1 out-bridge="bridge ether1"  
    add action=mark-packet chain=output ingress-priority=3 new-packet-mark=prio3_mpls_out_ether1 out-bridge="bridge ether1"  

    /interface bridge port  
    add bridge="bridge ether1" hw=no interface="ether1 to 750"  
    add bridge="bridge vpls" hw=no interface=ether5  
    add bridge="bridge vpls" interface="vpls to 2"  

    /interface bridge settings  
    set allow-fast-path=no use-ip-firewall=yes  

    /ip address  
    add address=10.0.0.1 interface=bridge_Loopb network=10.0.0.1  
    add address=172.11.0.9/29 interface="ether1 to 750" network=172.11.0.8  
    add address=10.6.0.2/24 interface="ether10 - admin" network=10.6.0.0  

    /ip firewall mangle  
    add action=mark-packet chain=postrouting new-packet-mark=prio2_mpls_out_ether1 out-bridge-port="vpls to 2" passthrough=no  

    /mpls interface  
    set [ find default=yes ] mpls-mtu=1540

    /mpls ldp  
    set enabled=yes hop-limit=100 lsr-id=10.0.0.1 path-vector-limit=100 transport-address=10.0.0.1 use-explicit-null=yes  

    /mpls ldp interface  
    add interface="ether1 to 750" transport-address=10.0.0.1  

    /routing bfd interface  
    set [ find default=yes ] interval=0.1s min-rx=0.1s multiplier=2

    /routing ospf interface  
    add interface=bridge_Loopb network-type=broadcast passive=yes  
    add dead-interval=10s hello-interval=5s interface="bridge ether1" network-type=point-to-point use-bfd=yes  
    add dead-interval=10s hello-interval=5s interface="ether10 - admin" network-type=broadcast passive=yes  

    /routing ospf network  
    add area=backbone network=172.11.0.0/24  
    add area=backbone network=10.0.0.1/32  
    add area=backbone network=10.6.0.0/24  

    /system identity  
    set name="Bottom 3011"
     
     
     
    mducharme
    Guest
    #6
    0
    23.11.2020 19:14:00
    Да, к сожалению, это невозможно. Проблема в том, что ingress-priority устанавливается автоматически только при первом поступлении пакета на роутер, и можно использовать ingress-priority для фильтрации только в bridge filter правилах (а не priority). Все пакеты, которые создаются самим роутером (в нашем случае, VPLS-пакет создаётся роутером), получают ingress-priority 0, и это нельзя изменить. Поэтому роутер-источник будет обрабатывать пакет как трафик с лучшими усилиями на выходе, и он попадёт в очередь как трафик без маркировки приоритета (ingress-priority=0, значение по умолчанию), а не с нужным приоритетом. Мы обошли эту проблему тем, что всегда разделяем роли P и PE роутеров, иногда это означает, что приходится использовать два роутера вместо одного. Между PE и P устройствами устанавливается высокоскоростное выделенное соединение (кабельное или беспроводное), чтобы отсутствие QoS на первом участке PE-P не создавало проблем. Единственный случай, когда роутеры совмещают роли и P, и PE устройств — это трафик розничных клиентов, который идёт в режиме лучших усилий, и там отсутствие QoS не вызывает проблем.
     
     
     
    mikeeg02
    Guest
    #7
    0
    23.11.2020 19:27:00
    Это логично, и теперь, когда я знаю секрет правильного использования EXP/COS на не-CHR роутерах (благодаря твоим комментариям вчера вечером), я подумал, что добавление второго роутера как P роутера сработает, как ты и сказал выше. Я не тестировал потерю QOS с php при использовании implicit-null, но в руководстве сказано, что её "можно" потерять. По твоему опыту, есть ли какой-то эффект на EXP/COS при использовании implicit? Или это просто экономит двойной поиск на PE роутере? По захватам Wireshark похоже, что EXP всегда правильно копируется. Ещё раз спасибо.
     
     
     
    mducharme
    Guest
    #8
    0
    23.11.2020 19:49:00
    В большинстве случаев я не думаю, что использование implicit nulls как-то повлияет на качество обслуживания (QoS), но на 100% уверенности у меня нет. Мы везде используем implicit nulls — это настройка по умолчанию в MikroTik. Конечный P-роутер должен считывать приоритет на входе до того, как происходит удаление предпоследней метки, и этот приоритет должен корректно передаваться в CoS на выходе к PE-устройству через механизм, который я описывал в другой ветке.

    Это отличается от Cisco-роутеров, где EXP-биты MPLS считываются напрямую в очереди на выходе, и если метка исчезает, то и EXP-биты тоже пропадают, поэтому больше нельзя по ним ориентироваться. Поскольку MikroTik использует ingress-priority и priority для всего (которые копируются из EXP-битов), и эти значения сохраняются даже после удаления последней метки MPLS, то всё должно нормально работать на выходе к PE-устройству.

    Основной случай, когда explicit nulls могут понадобиться с MikroTik — это если у вас есть беспроводное радио, которое специально поддерживает чтение MPLS EXP-битов для QoS между P и PE устройствами — некоторые производители такое поддерживают. Однако большинство таких радиостанций можно настроить на чтение CoS вместо этого, так что это не особо большая проблема.
     
     
     
    mikeeg02
    Guest
    #9
    0
    23.11.2020 19:52:00
    Отлично, теперь понятно. Я не задумывался о том, что может произойти при взаимодействии с Cisco или другим производителем. Ещё раз спасибо!
     
     
     
    oscarif
    Guest
    #10
    0
    12.09.2018 16:01:00
    Доброе утро, партнёры! У меня есть тестовая лаборатория с 3 роутерами MikroTik RB, где настроены OSPF и MPLS-VPLS для подключения прозрачной LAN-сети. Но я никак не могу ограничить пропускную способность MPLS-VPLS. Не могли бы вы помочь?
     
     
     
    mducharme
    Guest
    #11
    0
    19.09.2018 17:42:00
    Чтобы ограничить пропускную способность VPLS, нужно всего лишь создать очередь на обоих концах туннеля VPLS, настроить её на совпадение с no-mark, задать нужный лимит и указать родительский интерфейс VPLS. Лимит на передачу данных будет с одной стороны, а лимит на приём — с другой.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры