Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    Истории про fq_codel/CAKE?

    Истории про fq_codel/CAKE?

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Истории про fq_codel/CAKE?, RouterOS
     
    dtaht
    Guest
    #1
    0
    06.01.2025 15:52:00
    Мне всегда интересно, как люди используют cake и fq_codel. В последнее время мы добавляем в cake некоторые новые функции. Как у вас с этим дела?
     
     
     
    dtaht
    Guest
    #2
    0
    22.01.2025 18:55:00
    Алгоритмы в cake-autorate, возможно, можно перенести на mikrotik. В идеале какой-то механизм типа BQL можно было бы применить и к исходящему интерфейсу, чтобы он работал с меняющейся естественной скоростью. Но когда я последний раз смотрел, все LTE и 5G устройства имели фиксированный объём чрезмерного буфера прямо в самом устройстве.
     
     
     
    dtaht
    Guest
    #3
    0
    22.01.2025 18:57:00
    Ты совершенно прав, что иногда сам интернет выдаёт сбои. Я всё ещё надеюсь, что fq_codel и cake появятся на большем числе магистральных каналов, но где-то всегда будет какой-то глюк. Чтобы понять, действительно ли cake или fq_codel приносят пользу, можно посмотреть статистику потерь пакетов за какое-то время — это хороший индикатор. Но когда я последний раз проверял, у Mikrotik таких данных не было. Можешь проверить ещё раз?
     
     
     
    dtaht
    Guest
    #4
    0
    22.01.2025 19:00:00
    Хорошая конфигурация. Согласен с тобой, что если ближайший CDN находится менее чем в 30 мс, и ты не пытаешься общаться по всему миру, то региональная настройка — это хороший вариант. Однако фильтр подтверждений на приёме в основном бесполезен и сильно нагружает процессор. В твоей среде он нужен только на передаче.
     
     
     
    tangent
    Guest
    #5
    0
    22.01.2025 19:59:00
    Не рискую ли я, полагая, что мой самый удалённый часто используемый CDN находится менее чем в 30 мс, и что последствия ошибочного прогноза иногда незначительны? Однако ack-фильтр на приёме практически бесполезен и жрёт процессор. В вашей среде он нужен только на передаче. Интересное наблюдение, спасибо. Я не просто убрал эту бесполезную часть из конфигурации, но и добавил такой абзац: «Мы делаем это только на стороне cake-tx, потому что в типичных случаях можем контролировать только то, что отправляем на удалённые TCP/IP стеки, а не то, что они делают в ответ. Есть исключения, например, при site-to-site туннеле WireGuard, но даже там фильтрация ACK наиболее эффективна с узкой стороны асимметричного канала. Поэтому лучшая стратегия — применять фильтрацию ACK только на стороне передачи каждого пира, улучшая таким образом очередь приёма на удалённом узле издалека.»
     
     
     
    moorezilla
    Guest
    #6
    0
    22.01.2025 20:35:00
    Есть один важный момент, который нужно учитывать: ограничения по пропускной способности даны с точки зрения целевого интерфейса, а не вашего клиента. Мы привыкли указывать асимметричные скорости интернета именно с позиции клиента, но тогда вы получите искажённое представление о том, как работают очереди в RouterOS. WinBox покажет, что моя «Целевая скорость загрузки» — 256M, а «Целевая скорость скачивания» — 24M, что кажется неправильным, пока не поймёшь, что когда я что-то скачиваю на клиентский компьютер, WAN-интерфейс фактически отдаёт этот трафик клиенту.

    @tangent, ты хочешь сказать, что настройки загрузки и скачивания нужно поменять местами при настройке простой очереди? Для меня это не повлияло бы на скорость, так как у меня симметричный канал, но это важно для таких режимов, как «cake-flowmode=dual-dsthost» и «cake-flowmode=dual-srchost». Если твои слова верны, то, похоже, я перепутал эти настройки, и уверен, не я один.

    @dtaht, у меня сейчас вообще нет потерь, но я продолжу проверять. Не уверен, означает ли это, что потерь действительно нет, или простая очередь просто не учитывает их для fq_codel или cake.
     
     
     
    tangent
    Guest
    #7
    0
    22.01.2025 21:19:00
    Учитывая, что моя конфигурация подаёт два CAKE-очереди в простую очередь, где применяется максимальное ограничение, я бы сказал: «Да». Но почему бы не попробовать и не убедиться самому? Твой симметричный канал не исключает эксперименты. Если у тебя 1G/1G, попробуй 900M/800M и посмотри, в какую сторону у тебя окажется «липкая палочка» (то есть где возникнут проблемы). Я пришёл к такому выводу после того, как попробовал это у себя и был озадачен поведением, а потом придумал объяснение, которое привёл выше.
     
     
     
    moorezilla
    Guest
    #8
    0
    23.01.2025 11:54:00
    Да… мне кажется, в данных простой очереди отображается наоборот, по крайней мере, с точки зрения того, чего я, признанный новичок в этом деле, ожидал бы. Я добавил новую очередь besteffort Cake и запустил стрим YouTubeTV, чтобы посмотреть, что увеличится больше — загрузка или скачивание — в вкладке «traffic» и в панели «Statistics» простой очереди Cake. Очередь, похоже, показывает то, что я бы назвал трафиком загрузки, как трафик выгрузки в Cake, потому что я ожидал, что скачивание будет расти гораздо сильнее, чем выгрузка, когда стриминг-сервис стартует в сети. Эти значения колеблются, но я не наблюдал, чтобы скачивание вдруг стало больше выгрузки.

    Traffic  
    Traffic / Target Upload: 24.3 Mbps  
    Traffic / Target Download: 283.8 kbps  
    Total Dropped: 0  

    Statistics  
    Avg Rate: Target Upload: 13.1 Mbps  
    Avg Rate: Target Download: 404.5 kbps  

    Так что я читаю это как «ожидаемое» скачивание простой очереди на самом деле как выгрузку… и наоборот.
     
     
     
    jbl42
    Guest
    #9
    0
    23.01.2025 13:11:00
    Я обнаружил то же самое: значения rx/tx в simple queue перепутаны по сравнению с ожидаемым поведением: RX — это загрузка целевого интерфейса, а TX — скачивание целевого интерфейса. Конфигурация ниже хорошо работает на кабельных соединениях 1000/100 Мбит с пользователями, которые жаловались на проблемы с загрузкой или скачиванием большого количества и/или крупных файлов, что мешало параллельным звонкам в Teams/Zoom и т. п.

    Очередь rx besteffort ограничивает входящий WAN-трафик незадолго до того, как вступает в действие шейпер у провайдера. Это, как показало время, меньше влияет на задержки. Очередь tx diffserv4 отлично приоритизирует исходящий трафик Teams/Zoom, если аплинк загружен полностью. По крайней мере, жалобы прекратились.

    /queue type  
    add cake-diffserv=diffserv4 cake-flowmode=dual-srchost cake-nat=yes kind=cake name=cake-WAN-tx  
    add cake-diffserv=besteffort cake-flowmode=dual-dsthost cake-nat=yes kind=cake name=cake-WAN-rx  

    /queue simple  
    add comment="RX= Загрузка цели TX = Скачивание цели" max-limit=950M/95M name=cake-WAN queue=cake-WAN-rx/cake-WAN-tx target=bridge1_WAN
     
     
     
    dtaht
    Guest
    #10
    0
    24.01.2025 20:18:00
    Меня всегда удивляло, почему используется режим двойной изоляции, а не тройной. При включённом NAT я думал, что тройная изоляция лучше.
     
     
     
    dtaht
    Guest
    #11
    0
    24.01.2025 20:20:00
    Потери пакетов не считаются при использовании cake или fq_codel. Не стесняйтесь доставать тик по этому поводу от моего имени. Мне всё ещё интересно узнать причину, по которой был переопределён режим потока по умолчанию.
     
     
     
    Larsa
    Guest
    #12
    0
    24.01.2025 20:30:00
    Просто пытаюсь понять логику: «переопределение» в смысле какого-то из примеров в этой теме?
     
     
     
    dtaht
    Guest
    #13
    0
    24.01.2025 20:37:00
    Да, шансы ошибиться время от времени очень малы. Особенно при входном формировании трафика лучше использовать ваше типичное RTT в качестве оценки, чтобы контролировать очередь до того, как она попадёт в шейпер провайдера, который вы пытаетесь обойти. Алгоритм codel был разработан с расчётом на мировые RTT (280 мс) с настройками по умолчанию: target 5 мс, interval 100. Он также рассчитан так, что один TCP-поток может использовать почти всю пропускную способность, если RTT находится в этом диапазоне. Сегодня наиболее типичные сценарии — это примерно 15 коротких потоков из браузера, 5 и более из торрент-клиента, а вообще интерактивные потоки, такие как voip и видеоконференции, потребляют так мало трафика, что у них практически никогда не возникает потерь. При большом количестве потоков и/или небольших RTT codel на самом деле недостаточно отзывчив.

    Случай, когда использование регионального RTT может навредить (30 мс interval, 1.5 мс target) — это когда передача одного пакета занимает больше времени, чем его «подгонка» под пропускную способность. При 10 Мбит один пакет помещается примерно за 1.3 мс. После появления codel системы на базе Linux начали использовать packet pacing, который работает лучше как на коротких, так и на длинных расстояниях. Правда, у меня нет реальных бенчмарков по этому поводу.

    В общем, если вы не передаёте большой объём данных через один поток на расстоянии дальше 100 мс с пропускной способностью выше 10 Мбит/с, региональная настройка должна быть в порядке.

    … «Мы делаем это только с cake-tx, если у нас сочетается соотношение загрузки и отдачи больше 10:1, на узкой стороне асимметричного канала, когда подтверждения (acks) от одного TCP-потока могут полностью загрузить аплоад. Фильтрация подтверждений не помогает при зашифрованном трафике — например, в site-to-site туннеле WireGuard. Подтверждения почти никогда не ставятся в очередь на стороне приёма, фильтровать там бессмысленно.»
     
     
     
    dtaht
    Guest
    #14
    0
    24.01.2025 20:39:00
    Похоже, мир просто скопировал настройки dual-whatever, где в режиме nat лучше всего показал себя diffserv3. dual-whatever действительно имеет смысл только без включенного nat.
     
     
     
    mke
    Guest
    #15
    0
    24.01.2025 21:55:00
    Я поигрался с rrul некоторое время назад. Точные настройки не помню, наверное, была простая очередь на моём подключении 100 DL / 20 UL с лимитами 95 DL / 15 UL. Что мне показалось крутым — так это то, как чётко видно diffserv4 в действии. Сейчас я запускаю CAKE на дереве очередей с включённым fasttrack и для ipv4, и для ipv6 (тестирую 7.18beta). Раньше fasttrack был отключён, и я классифицировал трафик с помощью правил mangle и меток dscp для diffserv, но я не до конца доверяю своим навыкам mangle, чтобы оставлять такую настройку. Без очередей:  
     
    fq_codel:  
     
    CAKE dual-src/dsthost diffserv4 nat internet:  
     
     
     
    dtaht
    Guest
    #16
    0
    24.01.2025 22:05:00
    Обычно можно поставить cake с точным, правильным фреймингом прямо вплотную к лимиту загрузки (и при этом использовать ack-filter). А вот на загрузках — не больше 92%. И спасибо, что поиграл с rrul!
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры