Назначение: заполнение полей "source AS" и "destination AS" в экпсортируемых netflow-записях. Файлы: patch_asnum_1, база ripe (декабрь 2006)
В описание netgraph-узла ng_netflow были добавлены новые типа сообщений (примеры):
enableasfill { enable=1 } - включает данную функциональность addnettoas { oct1=10, oct2=11, oct3=12, oct4=0, mask=24, as=55} - добавляет информацию о принадлежности сети 10.11.12.0/24 к автономке 55 getasnumber { oct1=10, oct2=11, oct3=12, oct4=44} - возвращает номер AS, к которой приписан IP 10.11.12.44 { as=55 }
Для правильного внесения информации рекомендуется запонять модуль информацией сверху вниз - сначала /8, затем /9 и т.д.
Требования к памяти:
модифицированный узел Netgrapha типа ng_netflow при создании занимает на ~300kbyte=(255*255*(size_of(ptr)+1) byte больше (для 64 битной-архитектуры размер увеличится в 2 раза ;). Рабочий размер - ~1Mbyte (после внесения информации о всех сетях RIPE).
Оценка количества операций для получения информации об одном IP: худший случай (оказалась сеть /24 и таких сетей в сети /16 256 штук) - поиск в линейном односвязном списке из 256 элементов;
msg collector: addnettoas { oct1=214, oct2=0, oct3=0, oct4=0, mask=8, as=721} msg collector: addnettoas { oct1=12, oct2=0, oct3=0, oct4=0, mask=9, as=7018}........и т.д. затем
msg collector: enableasfill { enable=1 } //включаем эту функциональность ngctl -f ripe_list.ng
collelctor в данном случая - имя узла ng_netflow, с которым будем работать
Функцонал вводится в действие и доступен без пересборки "мира" и даже без перезагрузки системы - выгрузили старый модуль, скомпилировали и установили пропатченный (kldunload ng_netflow; make && make install; kldload ng_netflow), загрузили в память и готово.
E-mail:Изменено: 27-01-2011