AndrK189100 Posted November 5, 2023 Прошу совета, как грамотно дать RDP трафику высший приоритет. Может я сделал не грамотно Преамбула. Есть ЛВС 40 ПК(Unutu + RDP клиент Remmina), канал передачи данный 50 Мбит. Шлюз Mikrotik RB3011UiAS. Часть ПК находятся в складском корпусе, который соединен с административным выделенным каналом 100 Мбит. Основная работа происходит на удаленном RDP сервере. Так же между офисом и сервером поднят PPTP туннель через который подключены офисные и складские принтеры. Т. к. Linux + Remmina + проброс принтеров по RDP - это боль. Особенно в разрезе того, что печатают, ну очень много. 3-4 тысячи страниц за рабочий день. А часто больше. Длительное время наблюдалась следующая картина: Регулярные внезапные обрывы RDP сессии. Причем, в складском корпусе это происходило чаще, чем в "офисе". И с каждым годом ситуация ухудшалась. Т. е. если 3 года назад RDP на складе рвалось 2-4 раза в день. То на октябрь 2023 15-20 раз. Пользователи "завыли". Понять их можно... Короче, партия сказала разобраться, комсомол ответил есть. Для начала был проверен выделенный канал, т. к. первое, что пришло в голову, проблемы с ним. Но, нет. Скорость соответствует заявленной, потерь нет. Позвонил провайдеру. Само собой говорящая голова из тех. поддержки начала меня уверять, что все просто отлично, они лично контролируют каждый пакет, составляют акт с печатью и т. д. Но, я таки продавил и меня перевели на уровень, где обитают профессионалы). Пообщавшись с инженером, ситуация начала прояснятся. В течение рабочего дня очень часто полностью выбирается ширина канала, в работу вступает шейпер провайдера и начинает дропать пакеты. А т. к. RDP чувствителен к потере пакетов, сервер тупо разрывает соединение... Ну, а, поскольку, объем передаваемой информации из года в год растет, проблема прогрессирует вслед за ним. Обрывы сессии на складе происходят чаще, т. к. раундтрип складских пакетов больше и их потери чаще. Амбула. Решил построить систему ограничения траффика на простых очередях(Simple Queue), т. к. деревья в данном случае, совершенно избыточны. Что сделал. Создал 2 правила в цепочке mange для маркировки RDP Трафика(ip address + port). Первое маркирует соединение, второе пакеты этого соединения. Создал родительскую очередь(main) с типом PFIFO и размером 100 пакетов. Ограничение скорости 47500 Kbit(5% от ширины канала). Для приоритезации RDP траффика. Создал очередь потомка main (RDP) - Max. Limit 47500 Kbit, Limit At 0, Priority 1, Queue Type PCQ, размер очереди 100 пакетов. Общий размер 5000Kib. Все остальное. Создал очередь потомка main (ALL) - Max. Limit 47500Kibt, Limit At 4Mbit, Priority 2, Queue Type PCQ, размер очереди 50 пакетов. Общий размер 2500Kib. Идея всего этого заключается в следующем. Пакеты не должны дропаться "моим" шейпером. Путь лучше будет задержка, чем потери. Для этого увеличил размер основной очереди и очереди RDP. На остальной трафик "пофиг". Выбирать трусы на ягодках можно и так... Смущают следующие моменты, в следствие того, что я, таки не профессиональный сетевой инженер. Тип главной очереди и ее длина. Насколько понимаю, работает так. Пакет попадает в главную очередь, и если ее размер меньше заданного, ждет передачи дальше. Если очередь забита, пакет отбрасывается. Далее пакет попадает в очередь RDP и если он правильно помечен, обрабатывается в ней по алгоритму PCQ с высшим приоритетом. Если очередь забита, пакет отбрасывается. Если пометки нет. Пакет попадает в ALL и обрабатывается уже там. Вопросы такие. Насколько правильно выбран тип очередей? Насколько правильно выбраны размеры очередей? Насколько адекватно все то, что я понаписали сделал? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SUrov_IBM Posted November 6, 2023 AndrK189100, здравствуйте. Извиняюсь, что отвечаю не по теме QoS. Хотел уточнить, если со стороны сервера используется MS Windows 2022/2019/2016 Server, для работы RDP возможно использование UDP соединения (порт 3389) - RDP версия 8.1. В TCP соединении передаются клавиатура и мышь клиента, в нескольких UDP соединениях передаются медиа-данные от сервера. Опыта работы с Remmina у меня нет, поэтому не могу сказать, поддерживает данный RDP клиент UDP соединение? Если поддержка есть, то возможно канал занимается UDP соединениями поступающими от сервера к клиенту? Можно попробовать отключить поддержку UDP соединения на стороне сервера. Правда, это ухудшит получаемое с сервера качество изображения. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AndrK189100 Posted November 8, 2023 UDP нет. Там под капотом freerdp. Разобрался уже и все настроил. Проблема решена... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
fractal Posted November 9, 2023 6 часов назад, AndrK189100 сказал: UDP нет. Там под капотом freerdp. Разобрался уже и все настроил. Проблема решена... Для будущих вопрошающих опишите свой конфиг, поможет наверняка кому нибудь Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AndrK189100 Posted November 10, 2023 Да тут не в конфиге дело. А в нюансах работы очередей. Я все правильно сделал изначально, но, не было уверенности). Позже постараюсь эти нюансы описать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...