The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Неправильный порядок UDP пакетов при агрегации каналов"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Маршрутизаторы CISCO и др. оборудование. (Другое оборудование)
Изначальное сообщение [ Отслеживать ]

"Неправильный порядок UDP пакетов при агрегации каналов"  +/
Сообщение от phekd94 (ok), 10-Ноя-20, 09:47 
Добрый день.
Есть поток UDP пакетов, который приходит на MikroTik. Этот поток с помощью bridge попадает на bounding (балансировка - round robin), состоящий из двух портов (то есть поток раздваивается). Далее поток с этих двух портов проходит через несколько устройств и попадает на другой MikroTik, который настроен аналогичным образом. Таким образом, раздвоенный поток собирается в один. Так вот, тест на потерю пакетов (из методики RFC 2544) показывает, что ничего не теряется. Но тест BERT (Bit Error Rate Test) выдает коэффициент, отличный от 0, то есть я делаю вывод, что пакеты приходят не в правильном порядке из-за появления некоторой задержки при проходе через устройства между маршрутизаторами.
Вопрос такой: можно ли настроить агрегацию (например, какая-нибудь волшебная балансировка) так, чтобы UDP пакеты приходили в правильном порядке, если связь между маршрутизаторами может быть ТОЛЬКО СИМПЛЕКСНОЙ? Или же, при такой постановке задачи, за порядком пакетов можно следить только используя свой контроль на генерирующем поток и приемном устройствах (например, использовать часть байт в пакете для нумерации пакетов и тому подобное)?
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от fantom (??), 10-Ноя-20, 11:29   +/
>[оверквотинг удален]
> не теряется. Но тест BERT (Bit Error Rate Test) выдает коэффициент,
> отличный от 0, то есть я делаю вывод, что пакеты приходят
> не в правильном порядке из-за появления некоторой задержки при проходе через
> устройства между маршрутизаторами.
> Вопрос такой: можно ли настроить агрегацию (например, какая-нибудь волшебная балансировка)
> так, чтобы UDP пакеты приходили в правильном порядке, если связь между
> маршрутизаторами может быть ТОЛЬКО СИМПЛЕКСНОЙ? Или же, при такой постановке задачи,
> за порядком пакетов можно следить только используя свой контроль на генерирующем
> поток и приемном устройствах (например, использовать часть байт в пакете для
> нумерации пакетов и тому подобное)?

НЕТ!
Повторите торию -- IP НЕ ГАРАНТИРУЕТ ПОРЯДОК!!! от слова вообЧе и СОВСЕМ.
Каждый IP пакет (и как следствие UDP дейтаграмма) независимый блок данных и прийти они могут в произвольном порядке и без агрегации каналов.
И именно в UDP понятие "неправильный порядок пакетов" лишино смысла.
Задача "собрать в правильном порядке" -- задача приложения, а никак не стека UDP.

Для "на выходе" получить "правильный порядок" был придуман tcp...

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от fantom (??), 10-Ноя-20, 11:33   +/
>[оверквотинг удален]
>> за порядком пакетов можно следить только используя свой контроль на генерирующем
>> поток и приемном устройствах (например, использовать часть байт в пакете для
>> нумерации пакетов и тому подобное)?
> НЕТ!
> Повторите торию -- IP НЕ ГАРАНТИРУЕТ ПОРЯДОК!!! от слова вообЧе и СОВСЕМ.
> Каждый IP пакет (и как следствие UDP дейтаграмма) независимый блок данных и
> прийти они могут в произвольном порядке и без агрегации каналов.
> И именно в UDP понятие "неправильный порядок пакетов" лишино смысла.
> Задача "собрать в правильном порядке" -- задача приложения, а никак не стека
> UDP.

Так что надежное решение -- только на уровне генерирующего/принимающего приложений.
Все прочее ненадежно, изменятся политики QoS на трассе и прилетит к вам опять винегрет.

> Для "на выходе" получить "правильный порядок" был придуман tcp...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #3

3. Сообщение от phekd94 (ok), 10-Ноя-20, 12:59   +/
>[оверквотинг удален]
>> Повторите торию -- IP НЕ ГАРАНТИРУЕТ ПОРЯДОК!!! от слова вообЧе и СОВСЕМ.
>> Каждый IP пакет (и как следствие UDP дейтаграмма) независимый блок данных и
>> прийти они могут в произвольном порядке и без агрегации каналов.
>> И именно в UDP понятие "неправильный порядок пакетов" лишино смысла.
>> Задача "собрать в правильном порядке" -- задача приложения, а никак не стека
>> UDP.
> Так что надежное решение -- только на уровне генерирующего/принимающего приложений.
> Все прочее ненадежно, изменятся политики QoS на трассе и прилетит к вам
> опять винегрет.
>> Для "на выходе" получить "правильный порядок" был придуман tcp...

Благодарю всех за ответы

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

4. Сообщение от CAE (ok), 12-Ноя-20, 12:14   +/
Можно, если маршрутизаторы в середине балансируют per flow, а не per packet.
Но это не микротики, конечно, да и в Линукс-бсд-боксах надо приложить усилия руками, из коробки не будет. А те рутеры, где есть CEF и похожие методики, те умеют.
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру