реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Где теряются UDP пакеты? Как повысить надежность доставки ?
kolobok0
сообщение Nov 14 2011, 10:25
Сообщение #31


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(Костян @ Nov 14 2011, 11:22) *
объясните почему ? у меня кросс кабель с утройства в комп вставлен. Как могут пакеты поменяться местами ?


я так разумею - особенности реализации стэка. программист использовал это в своих целях в рамках интерфейса - имеет право. если более точнее отвечать на ваш вопрос - там на IP уровне (по протоколу) должны обрабатыватьс не обязательные поля (кстати там есть очень интересные поля - для военного применения sm.gif ) и в том числе фрагментацию. Если Вы задумаетесь над алгоритмом обработки фрагментации - то в зависимости от размеров памяти вы будете накапливать пакеты некоторое время, перед тем как отдать выше (в случае фрагментации). Не всегда на этом уровне получается красиво. тут главное скорость. отсюда думаю и растут уши... размеры IP пакета могут быть разные. В локальной сети, на столе - это 1500 байт... хотя может и сам UDP уровень реализован не ввиде очереди.

осадок - имеет право, тот кто это реализовывал.

кстати это одна из ошибок - ожидать очерёдность (в UDP). в TCP/IP - там другая бяда - ожидать квантованность sm.gif)) страдают не многие, а очень многие...

(круглый)
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Nov 14 2011, 10:43
Сообщение #32


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Цитата
кстати это одна из ошибок - ожидать очерёдность (в UDP). в TCP/IP - там другая бяда - ожидать квантованность sm.gif)) страдают не многие, а очень многие...

Имеется в виду ожидание данных в виде "пакета"? Да, напарывались на такое. sm.gif
Go to the top of the page
 
+Quote Post
Aner
сообщение Nov 14 2011, 11:15
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



еще момент
1) Какова длина кабеля?
2) Какой категории кабель?
при этих тестах. Может все банально.
Go to the top of the page
 
+Quote Post
Костян
сообщение Nov 14 2011, 11:33
Сообщение #34


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



QUOTE (Aner @ Nov 14 2011, 10:15) *
еще момент
1) Какова длина кабеля?

~2m


QUOTE
2) Какой категории кабель?

CAT 5e. К кабелю притензий нету, иначе бы на меньших скоростях были бы ошибки в самом пакете и, как следствие, не совпадал бы CRC для пакетов.
Go to the top of the page
 
+Quote Post
Костян
сообщение Nov 15 2011, 13:18
Сообщение #35


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



Начал с обратной задачи.
С ПК в девайс данные гнать.
Скорость 100МБ/с при длине пакета 1024, ошибок 0%.
Но заметил, что иногда сетевая действительно вертит порядок пакетов (хотя в снифере все ровно), причем порядок идет следующий: 2,1,4,3,6,5..... .
Но интересный момент, первые 6 пакетов не доходят sm.gif
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение Nov 21 2011, 18:14
Сообщение #36


Местный
***

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



Имел небольшой опыт - как под Линухом так и под виндой. На кабеле как правило все отлично, от сетевой карты зависит очень много, как и от драйверов и программы.
Встроенные средства Линуха позволяют протестировать места потерь пакетов очень хорошо. В моем случае была неправильная 1 контрольная сумма на 65536 пакетов и не очнь быстрый винчестер.

Есть такой протокол GigE Vision с загрузкой под 1 Gb/s - рекомендовано использовать именно Интеловские карточки + переписан драйвер для виндоус. В нем кстати реализован механихм перезапросов
Go to the top of the page
 
+Quote Post
Костян
сообщение Nov 23 2011, 11:48
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



QUOTE (Sergey_Bekrenyov @ Nov 21 2011, 16:14) *
Встроенные средства Линуха позволяют протестировать места потерь пакетов очень хорошо. В моем случае была неправильная 1 контрольная сумма на 65536 пакетов и не очнь быстрый винчестер.

Будте добры, огласите название этих средств. netstat ?

Могу ли я контроллировать заполнение буфера сетевой карты ? например при заполнении буфера сетевой карты более 3/4 выдавать прерывание на процессор и формировать конфигурационный пакет, который уменьшит скорость выдачи данных в сеть.
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение Nov 23 2011, 16:08
Сообщение #38


Местный
***

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



Цитата(Костян @ Nov 23 2011, 15:48) *
Будте добры, огласите название этих средств. netstat ?

Могу ли я контроллировать заполнение буфера сетевой карты ? например при заполнении буфера сетевой карты более 3/4 выдавать прерывание на процессор и формировать конфигурационный пакет, который уменьшит скорость выдачи данных в сеть.


по-моему все-таки tcpdump с кучей опций - занимался этим программист-линуксоид.

К сожалению буфер оттуда не видно и рулить этим процессом со слов программистов не получится. Просто увидите что то ли дроппит езернет фрэймы, то ли дискардит. Точнно уже не помню

Сообщение отредактировал Sergey_Bekrenyov - Nov 23 2011, 16:09
Go to the top of the page
 
+Quote Post
Aprox
сообщение Dec 3 2011, 16:05
Сообщение #39


Местный
***

Группа: Участник
Сообщений: 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 с записью пакетов напрямую в память, то пакеты практически не теряются даже на очень высоких скоростях потока.
Go to the top of the page
 
+Quote Post
Костян
сообщение Dec 5 2011, 11:33
Сообщение #40


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



QUOTE (Aprox @ Dec 3 2011, 14:05) *
-3. Если использовать pcap с записью пакетов напрямую в память, то пакеты практически не теряются даже на очень высоких скоростях потока.

Что имеется ввиду под pcap ? библиотека на плюсах или контретная утилита на этой библиотеке ?

Насчет потерь. В моем случае даже доли процента потерь не допустимы.
Поэтому я для себя так и не ответил на вопрос, можно ли с помощью Ethernet передавать пакеты с 100% доставкой при кросс кабеле?
Go to the top of the page
 
+Quote Post
Fast
сообщение Dec 5 2011, 13:42
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



Цитата(Костян @ Dec 5 2011, 15:33) *
Поэтому я для себя так и не ответил на вопрос, можно ли с помощью Ethernet передавать пакеты с 100% доставкой при кросс кабеле?
нельзя. это ж очевидно..
Go to the top of the page
 
+Quote Post
cioma
сообщение Dec 5 2011, 14:03
Сообщение #42


Профессионал
*****

Группа: Свой
Сообщений: 1 226
Регистрация: 19-06-04
Из: Беларусь
Пользователь №: 65



Если не изменяет память, потеря пакетов не запрещена в Ethernet. Либо стандарт вообще дает это на откуп протоколам более высокого уровня. В UDP гарантии доставки нет.
Go to the top of the page
 
+Quote Post
Aprox
сообщение Dec 5 2011, 17:18
Сообщение #43


Местный
***

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



Цитата(Костян @ Dec 5 2011, 14:33) *
Что имеется ввиду под pcap ? библиотека на плюсах или контретная утилита на этой библиотеке ?

Точно не могу сказать, использовал как готовую откомпилированную dll. Что у нее внутри - сказать затрудняюсь. Выдает пакеты по stream, можно писать на винчестер, можно память. В память естественно быстрее, но опаснее.
Цитата
Насчет потерь. В моем случае даже доли процента потерь не допустимы.
Дублируйте пакеты.
Цитата
Поэтому я для себя так и не ответил на вопрос, можно ли с помощью Ethernet передавать пакеты с 100% доставкой при кросс кабеле?
на протоколе TCP- наверное можно. На UDP- точно нельзя.
Go to the top of the page
 
+Quote Post
litv
сообщение Dec 6 2011, 04:40
Сообщение #44


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 6-10-04
Из: Воронеж
Пользователь №: 806



Для всех кто не верит. sad.gif Можно передавать в определенной конфигурации по udp в связке (плис в компьютер) данные без потерь и записывать на винчестер. до 120 Мбайт в секунду.
У нас (и не только у нас, есть другие люди и на этом форуме) работает.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Dec 6 2011, 05:22
Сообщение #45


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Цитата
Можно передавать в определенной конфигурации по udp в связке (плис в компьютер) данные без потерь

Перепосылки есть? Если нет, то серьёзная помеха похерит всю вашу передачу.
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 11:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01571 секунд с 7
ELECTRONIX ©2004-2016