|
|
  |
Где теряются UDP пакеты? Как повысить надежность доставки ? |
|
|
|
Nov 14 2011, 10:25
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(Костян @ Nov 14 2011, 11:22)  объясните почему ? у меня кросс кабель с утройства в комп вставлен. Как могут пакеты поменяться местами ? я так разумею - особенности реализации стэка. программист использовал это в своих целях в рамках интерфейса - имеет право. если более точнее отвечать на ваш вопрос - там на IP уровне (по протоколу) должны обрабатыватьс не обязательные поля (кстати там есть очень интересные поля - для военного применения  ) и в том числе фрагментацию. Если Вы задумаетесь над алгоритмом обработки фрагментации - то в зависимости от размеров памяти вы будете накапливать пакеты некоторое время, перед тем как отдать выше (в случае фрагментации). Не всегда на этом уровне получается красиво. тут главное скорость. отсюда думаю и растут уши... размеры IP пакета могут быть разные. В локальной сети, на столе - это 1500 байт... хотя может и сам UDP уровень реализован не ввиде очереди. осадок - имеет право, тот кто это реализовывал. кстати это одна из ошибок - ожидать очерёдность (в UDP). в TCP/IP - там другая бяда - ожидать квантованность  )) страдают не многие, а очень многие... (круглый)
|
|
|
|
|
Nov 14 2011, 11:33
|
Знающий
   
Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059

|
QUOTE (Aner @ Nov 14 2011, 10:15)  еще момент 1) Какова длина кабеля? ~2m QUOTE 2) Какой категории кабель? CAT 5e. К кабелю притензий нету, иначе бы на меньших скоростях были бы ошибки в самом пакете и, как следствие, не совпадал бы CRC для пакетов.
|
|
|
|
|
Nov 15 2011, 13:18
|
Знающий
   
Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059

|
Начал с обратной задачи. С ПК в девайс данные гнать. Скорость 100МБ/с при длине пакета 1024, ошибок 0%. Но заметил, что иногда сетевая действительно вертит порядок пакетов (хотя в снифере все ровно), причем порядок идет следующий: 2,1,4,3,6,5..... . Но интересный момент, первые 6 пакетов не доходят
|
|
|
|
|
Nov 23 2011, 11:48
|
Знающий
   
Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059

|
QUOTE (Sergey_Bekrenyov @ Nov 21 2011, 16:14)  Встроенные средства Линуха позволяют протестировать места потерь пакетов очень хорошо. В моем случае была неправильная 1 контрольная сумма на 65536 пакетов и не очнь быстрый винчестер. Будте добры, огласите название этих средств. netstat ? Могу ли я контроллировать заполнение буфера сетевой карты ? например при заполнении буфера сетевой карты более 3/4 выдавать прерывание на процессор и формировать конфигурационный пакет, который уменьшит скорость выдачи данных в сеть.
|
|
|
|
|
Nov 23 2011, 16:08
|

Местный
  
Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599

|
Цитата(Костян @ Nov 23 2011, 15:48)  Будте добры, огласите название этих средств. netstat ?
Могу ли я контроллировать заполнение буфера сетевой карты ? например при заполнении буфера сетевой карты более 3/4 выдавать прерывание на процессор и формировать конфигурационный пакет, который уменьшит скорость выдачи данных в сеть. по-моему все-таки tcpdump с кучей опций - занимался этим программист-линуксоид. К сожалению буфер оттуда не видно и рулить этим процессом со слов программистов не получится. Просто увидите что то ли дроппит езернет фрэймы, то ли дискардит. Точнно уже не помню
Сообщение отредактировал Sergey_Bekrenyov - Nov 23 2011, 16:09
|
|
|
|
|
Dec 3 2011, 16:05
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Позвольте вставить свои пять копеек. Тоже занимался этим делом. Использовал jumbo пакеты 8K, которые генерились отдельным девайсом в 1GE кабель CAT- 5 длинной до 15 м. Подключение к ПК через 1GE свитч. ПК - 3,5Ггц 4Гбайт память, сетевая карта от D-Link, OC -Windows XP. Приход пакетов контролировал снифером wireshark, на винчестер их не писал, сразу в память. Докладываю:
-1. Потеря пакетов сильно зависит от наличия других активных приложений. Параллельно открытый браузер, флэш-плеер или антивирус увеличивали потерю пакетов на порядки.
-2. На потерю пакетов также сильно сказывается настройка снифера. В частности, надо специально отключать прорисовку в реальном времени и запись на винчестер, установить ограничение по обьему принятых данных.
-3. Если использовать pcap с записью пакетов напрямую в память, то пакеты практически не теряются даже на очень высоких скоростях потока.
|
|
|
|
|
Dec 5 2011, 11:33
|
Знающий
   
Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059

|
QUOTE (Aprox @ Dec 3 2011, 14:05)  -3. Если использовать pcap с записью пакетов напрямую в память, то пакеты практически не теряются даже на очень высоких скоростях потока. Что имеется ввиду под pcap ? библиотека на плюсах или контретная утилита на этой библиотеке ? Насчет потерь. В моем случае даже доли процента потерь не допустимы. Поэтому я для себя так и не ответил на вопрос, можно ли с помощью Ethernet передавать пакеты с 100% доставкой при кросс кабеле?
|
|
|
|
|
Dec 5 2011, 13:42
|
Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839

|
Цитата(Костян @ Dec 5 2011, 15:33)  Поэтому я для себя так и не ответил на вопрос, можно ли с помощью Ethernet передавать пакеты с 100% доставкой при кросс кабеле? нельзя. это ж очевидно..
|
|
|
|
|
Dec 5 2011, 17:18
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Костян @ Dec 5 2011, 14:33)  Что имеется ввиду под pcap ? библиотека на плюсах или контретная утилита на этой библиотеке ? Точно не могу сказать, использовал как готовую откомпилированную dll. Что у нее внутри - сказать затрудняюсь. Выдает пакеты по stream, можно писать на винчестер, можно память. В память естественно быстрее, но опаснее. Цитата Насчет потерь. В моем случае даже доли процента потерь не допустимы. Дублируйте пакеты. Цитата Поэтому я для себя так и не ответил на вопрос, можно ли с помощью Ethernet передавать пакеты с 100% доставкой при кросс кабеле? на протоколе TCP- наверное можно. На UDP- точно нельзя.
|
|
|
|
|
Dec 6 2011, 05:22
|
Знающий
   
Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163

|
Цитата Можно передавать в определенной конфигурации по udp в связке (плис в компьютер) данные без потерь Перепосылки есть? Если нет, то серьёзная помеха похерит всю вашу передачу.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|