LINUX.ORG.RU

Сообщения yuprohorov

 

Помогите.Через роутер 4 байта ( 13-16 ) теряются всегда, а через hub - в 0.5 % случаях.

Форум — Development

Добрый день.

Помогите, пожалуйста.

Моя програмка ( «сниффер», «сырой сокет» на C, C++ Linux Ubuntu ) считывает пакеты из LAN.

Другой комп. в сети посылает пакеты по протоколу IEC61850 Sampled Values.

Пакеты посылаются или через такой же сокет ( «содрал» с Pcap'а ) или с помощью libPcap с частотой 4000 пакетов в секунду.

Байты ( 0х81, 0х00, 0х80, 0х00 - 802.1Q Virtual Lan ) изначально содержаться в пакете ( пакет посылается «как есть» ) и идут сразу после 2-го MAC-адреса.

Так вот, если комп. с программой «сниффера» подключен к сети через Hub, то в 99% пакетов читаются с 4-мя указанными байтами, и имеют длинну 146 байт, а менее 1% пакетов приходят без этих 4-х байт и имеют длинну 142.

Если же я вместо Hub'а ставлю свой домашний роутер ( ASUS WL-520GU ), то ВСЕ пакеты приходят БЕЗ этих 4-х байт и имеют длинну 142.

Я вставил в пакеты сквозную нумерацию, и у меня есть уверенность, что по крайней мере через роутер приходят ВСЕ пакеты по порядку.

Помогите, пожалуйста, разобраться - куда могут деваться эти 4 байта, когда я принимаю пакеты через Hub ?

Какое устройство в ОФИСНОЙ сети ( сетевые платы, Hub'ы или еще что-то ) может «укорачивать» 1% пакетов на 4 байта ?

Или же «виновата» моя программа приема ? Или дело еще и в драйверах ?

Спасибо.

Прохоров Юрий.

yuprohorov
()

RSS подписка на новые темы