shuliga Posted October 19, 2003 Posted October 19, 2003 Имеется радиосвязь на расстоянии 45км с помощью точек доступа DWL-900AP+ в режиме моста. Из-за того, что в протоколе 802.11в на котором они работают, время ожидания пакетов, подтверждающих прием фиксировано и составляет 78мкс (а это меньше времени распространения радиосигнала) в канале возникает много дублирующих IP пакетов в результате никому не нужной повторной передачи. Есть много решений, но я остановился на этом: Нужно написать небольшую программку, которая бы выбрасывала лишние пакеты. Пакеты на ее вход должны направляться из FORWARD после проверки определенных условий в результате действия QUEUE (что-то такое, сейчас точно не помню), а затем должны двигаться дальше по цепочке. В программе нужно организовать стек на приблизительно 256 4-х байтных чисел. После поступления пакета на порт программы нужно проверить наличие его индивидуального номера (АСК ???) в стеке. Если его нет, то пакет пропускается дальше по цепочке, а его номер заносится в стек и проверяется следующий пакет. Если он есть, то пакет уничтожается и проверяется следующий пакет. Все это должно работать в Mandrake 9.1. В случае удачи моя благодарность вам будет безгранична (в пределах 1000р , высланных по указанному вами адресу). Во избежание дублирования перед началом работы потребуйте у меня подтверждения. Я с удовольствием приму любые сырые варианты и протестирую их. Исходный код с подробными комментариями обязателен. (И инструкции по установке, я новичок в линуксе). Пожалуйста, не оставьте без внимания мою просьбу! Задача не так проста как кажется. Я создаю локальную сеть масштаба маленького города пока водиночку и на свои средства. Проблемы - как из рога изобилия, помогите решить хотя бы одну из них. А может кто-то подскажет как изменить ПО DWL-900AP+, чтобы увеличить время ожидания АСК или вообще выключить их? Виктор. Вставить ник Quote
martini Posted October 19, 2003 Posted October 19, 2003 скоро появится admin_wireless и все тебе расскажет ;))) Вставить ник Quote
zoro Posted October 19, 2003 Posted October 19, 2003 ты по всем веткам нераскидывай топики... просто уже неприятно что одна и таже месага на разных неположеных местах валяеться на hub.ru за такое стали банить юзверя и удалять все!!! топики.. Вставить ник Quote
martini Posted October 19, 2003 Posted October 19, 2003 верно сказано, куда ни ткни везде 45км... Вставить ник Quote
фдуч Posted October 20, 2003 Posted October 20, 2003 если на концах линии стоят унихи, я бы попробовал поднять ppp поверх udp. на freebsd штатный ppp (не путать с pppd) это умеет, на радиолинках такая схема работает хорошо. плюс еще шифрование можно включить или компрессю или еще чего. Вставить ник Quote
Kaiser Posted October 20, 2003 Posted October 20, 2003 за 30 баков ядерный модуль к нетфильтру? сэр издевается? ;) Вставить ник Quote
shuliga Posted October 20, 2003 Author Posted October 20, 2003 Прошу всех извинить меня за назойливость, мне тут прислали одну программку, налажу, сообщю о результатах Вставить ник Quote
martini Posted October 20, 2003 Posted October 20, 2003 дык , товарисч Ленин завещал - делится , делится и еще раз делится.., или поносил - дай другому поносить.. )) как кому нравится Вставить ник Quote
shuliga Posted October 24, 2003 Author Posted October 24, 2003 Спасибо cdr на аналогичном топике в opennet.ru Проблема решена, пакеты фильтруются, нагрузки на Celeron 1700 не заметил. Вставить ник Quote
martini Posted October 25, 2003 Posted October 25, 2003 так чем ты их фильтруеш всетаки ?? Вставить ник Quote
shuliga Posted October 25, 2003 Author Posted October 25, 2003 Маленькой прикладной программкой, написанной cdr. Пакеты на нее направляются из iptables с помощью QUEUE. В локалке трафик снизился почти в 8 раз и существенно - в радиоканале Вставить ник Quote
martini Posted October 25, 2003 Posted October 25, 2003 ну а нам поюзать можна ее ? или как ? Вставить ник Quote
shuliga Posted October 26, 2003 Author Posted October 26, 2003 Вот здесь: http://www.opennet.ru/openforum/vsluhforum...ID9/2182.html#6 Вставить ник Quote
Sirco Posted October 26, 2003 Posted October 26, 2003 Не знаю какой результат работы данной программы Но IMHO это только програмный вариант закрыть глаза на дублирование пакетов в канале . Ты просто убиваеш данные пакеты - и они не доходять до статистики . Намного интереснее было бы уничтожить саму причину появление битых пакетов а именно разобраться в причине появления их в радиоканале .... Вставить ник Quote
zoro Posted October 26, 2003 Posted October 26, 2003 Да вроде и ежу понятно посылаеться пакет... и врубаеться таймер.. который 78мсек отсчитывает и если подтверждение не пришло то опять посылает пакет.. на коротких линках все клсс.. пакет и подтверждение успели прийти за это время. А что твориться на длинных линках? Пакет идет в одну сторону на это надо время + обработка получателем+ время "хода" подтверждения (~= времени прохождения самого пакета с инфой).. итого мы имеем время больше 78мсек и точка отправитель посылает еще один пакет.. на приемной стороне точка приняла пакет и послала подтверждение, тут на голову сваливаеться второй пакет (т.к. точка включена врежиме бриджа то она не смотрит что внутри пакета, а там какраз и стоит индефекатор TCP) но точки пофиг так как даные верны (совпадают контрольные суммы) то даные(два одинаковых пакета) попадают в комп.. билинг скорее всего считает методом подсчета пакетов(на iptables) а обработка одинаковый пакетов идет на более высоком уровне.. так что два одинаковых пакета подсчитались, а уровнем выше один из них отбрасываеться.. 1) путь решения. поправить билинг. :) 2) прикомпилить этот модуль 3) найти и изменить настройки этого таймера.. тоесть подсчитать- пересчитать время и установить новое значение... 1и 2рой пункт имеют один серьезный недостаток!!! пакеты "лишние" все равно ходят!! и при этом загружают не нужными пакетами канал, и без того худой..(скорости канала мало не бывает :) ) Программеры и люди которые хорошо знают потрашик линуха найдите этот таймер!!! и сделайте прогу чтобы можно было менять время тайм-аута :) shuliga- вынеси предложение в opennet.ru может они и с этим справяться? Вставить ник Quote
martini Posted October 27, 2003 Posted October 27, 2003 ради такого дела и мне не жалко будет 30 енотов докинуть Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.