The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"как просуммировать сети"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"как просуммировать сети"  
Сообщение от kirk (??) on 31-Янв-09, 00:21 
по bgp получаю несколько сетей, например в виде
10.0.0.0/22
10.0.8.0/22
10.0.16.0/20

есть какой либо скрипт, позволяющий получить на выходе 10.0.0.0/19 ?

PS маршруты получаю по openbgp и отправляю в pf-таблицу

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "как просуммировать сети"  
Сообщение от kirk (??) on 31-Янв-09, 00:24 
>по bgp получаю несколько сетей, например в виде
>10.0.0.0/22
>10.0.8.0/22
>10.0.16.0/20
>
>есть какой либо скрипт, позволяющий получить на выходе 10.0.0.0/19 ?
>
>PS маршруты получаю по openbgp и отправляю в pf-таблицу

забыл добавить, что есть еще overlapping сети типа:
172.16.0.0/12
172.16.2.0/24
172.19.0.0/16

как отбросить все сети, входящие в сеть 172.16.0.0/12  ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "как просуммировать сети"  
Сообщение от angra (ok) on 31-Янв-09, 02:47 
Вы сформулируйте внятно в терминах битов по какому алгоритму хотите получить объединение и что увидеть на выходе. Сам скрипт легко написать на том же perl, но ваша логика мне пока не ясна.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "как просуммировать сети"  
Сообщение от kirk (??) on 31-Янв-09, 12:58 
>Вы сформулируйте внятно в терминах битов по какому алгоритму хотите получить объединение
>и что увидеть на выходе. Сам скрипт легко написать на том
>же perl, но ваша логика мне пока не ясна.

алгоритм прост - сравнить сети и если одна входит в другую то оставить бОльшую сеть.
если есть 2 или больше сетей точно попадающих в границы большей сети,
пример1, есть 2 сети:

172.16.0.0/12
172.17.0.0/24
сеть 172.17.0.0/24 попадает в диапазон 172.16.0.0/12
значит оставляем сеть 172.16.0.0/12

пример2, есть 2 сети
192.168.0.0/24
192.168.1.0/24

объединяем обе сети в одну - 192.168.0.0/23

задача максимум - уменьшить количество сетей для фаервола.

PS в программировании не силен, поэтому если у кого есть готовый скрипт то был бы признателен

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "как просуммировать сети"  
Сообщение от const86 (ok) on 31-Янв-09, 10:29 
>забыл добавить, что есть еще overlapping сети типа:
>172.16.0.0/12
>172.16.2.0/24
>172.19.0.0/16

Это не совсем overlapping, здесь есть одна сеть, включающая все остальные. Для двух заданных сетей проверить, что одна включает другую - совсем не сложная задачка.

>10.0.0.0/22
>10.0.8.0/22
>10.0.16.0/20
>
>есть какой либо скрипт, позволяющий получить на выходе 10.0.0.0/19 ?

А это по какому принципу? Сеть, включающая все остальные? Обратите внимание, что в ней есть хосты, не принадлежащие ни одной заданной сети (10.31.0.1, например).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "как просуммировать сети"  
Сообщение от kirk (??) on 31-Янв-09, 12:47 
>[оверквотинг удален]
>
>>10.0.0.0/22
>>10.0.8.0/22
>>10.0.16.0/20
>>
>>есть какой либо скрипт, позволяющий получить на выходе 10.0.0.0/19 ?
>
>А это по какому принципу? Сеть, включающая все остальные? Обратите внимание, что
>в ней есть хосты, не принадлежащие ни одной заданной сети (10.31.0.1,
>например).

10.0.16.0/20  входит в сеть 10.0.0.0/19
а про сеть 10.31.0. я не говорил ))


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "как просуммировать сети"  
Сообщение от const86 (ok) on 31-Янв-09, 14:45 
>10.0.16.0/20  входит в сеть 10.0.0.0/19
>а про сеть 10.31.0. я не говорил ))

Вот именно, что не говорил, а она тоже входит в 10.0.0.0/19.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "как просуммировать сети"  
Сообщение от kirk (??) on 31-Янв-09, 15:04 
>>10.0.16.0/20  входит в сеть 10.0.0.0/19
>>а про сеть 10.31.0. я не говорил ))
>
>Вот именно, что не говорил, а она тоже входит в 10.0.0.0/19.

сеть 10.31.0.0 НЕ ВХОДИТ в сеть 10.0.0.0/19, вы что то путаете.
подсчитайте побитно

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "как просуммировать сети"  
Сообщение от Andrey Mitrofanov on 31-Янв-09, 16:27 
>подсчитайте побитно

Удивительно! Значит про биты Вы всё-таки знаете. Тогда всё просто...

Взять первуюсеть.
Пока Взять_из_списка ещёсеть => взялась; делать
  Если  Входит_в ещёсеть, То
    перваясеть=ещёсеть; ЦиклПродолжить;
  ИначеЕсли ещёсеть Входит_в перваясеть, То
    ЦиклПродолжить;
  Иначе
    Пока перваясеть->маска > 0 && ещёсеть не Входит_в перваясеть; делай
      перваясеть->маска--; # или около того...
    Акоп.
  Илсе.
Акоп.

ЗЫ: Универсальный результат: 0.0.0.0/0.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "есть! :))"  
Сообщение от Andrey Mitrofanov on 31-Янв-09, 16:41 
Кста-а-ати... Вспомнилось!

http://packages.debian.org/sid/aggregate
man ~ http://man.cx/aggregate%288%29

ЗЫ: Сам узнал из зависимостей firehol. Пакет присутствовал в sarge, отсутствовал в etch (бинарник из sarge - работает, почему не поставляли не знаю), теперь в lenny снова есть...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "есть! :))"  
Сообщение от angra (ok) on 31-Янв-09, 16:47 
А я уже собирался небольшой скриптик на перле написать, задачка казалась интересной.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "есть! :))"  
Сообщение от kirk (??) on 31-Янв-09, 18:43 
>Кста-а-ати... Вспомнилось!
>
>http://packages.debian.org/sid/aggregate
>man ~ http://man.cx/aggregate%288%29
>
>ЗЫ: Сам узнал из зависимостей firehol. Пакет присутствовал в sarge, отсутствовал в
>etch (бинарник из sarge - работает, почему не поставляли не знаю),
>теперь в lenny снова есть...

спасибо, то что нужно ))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "как просуммировать сети"  
Сообщение от Pahanivo email(??) on 31-Янв-09, 16:18 
>по bgp получаю несколько сетей, например в виде
>10.0.0.0/22
>10.0.8.0/22
>10.0.16.0/20
>
>есть какой либо скрипт, позволяющий получить на выходе 10.0.0.0/19 ?
>
>PS маршруты получаю по openbgp и отправляю в pf-таблицу

1) разберитесь что такое ip 4 адрес - вы этого не понимаете, удивляет кто вам вообще доверил bgp
2) задача называется "агрегирование сетей" и задача не такая простая как кажется
например
10.0.0.0/24 + 10.0.1.0/24 = 10.0.0.0/23 (сети агрегируются)
НО
10.0.1.0/24 + 10.0.2.0/24 = 10.0.1.0/24 + 10.0.2.0/24 (не в коем разе не 10.0.1.0/23, сети не агрегируются)

думаю если поискать решенее найдется, в томже перле есть модули для работы с ip адресами и сетями.
если че могу подсказать как решать

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "как просуммировать сети"  
Сообщение от kirk (??) on 31-Янв-09, 16:35 
>[оверквотинг удален]
>
>например
>10.0.0.0/24 + 10.0.1.0/24 = 10.0.0.0/23 (сети агрегируются)
>НО
>10.0.1.0/24 + 10.0.2.0/24 = 10.0.1.0/24 + 10.0.2.0/24 (не в коем разе не
>10.0.1.0/23, сети не агрегируются)
>
>думаю если поискать решенее найдется, в томже перле есть модули для работы
>с ip адресами и сетями.
>если че могу подсказать как решать

1. с чего вы взяли что я не знаю что такое ip адрес? удивляет как можно сделать такое тупое предположение.
2. я знаю как называется эта задача, не надо объяснять как суммировать сети

возможно я неверный пример дал. вопрос был - есть ли скрипт для задачи? знаете такой - подскажите, не знаете - перейдите к следующей теме

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "как просуммировать сети"  
Сообщение от Pahanivo email(??) on 31-Янв-09, 22:03 
>[оверквотинг удален]
>>если че могу подсказать как решать
>
>1. с чего вы взяли что я не знаю что такое ip
>адрес? удивляет как можно сделать такое тупое предположение.
>2. я знаю как называется эта задача, не надо объяснять как суммировать
>сети
>
>возможно я неверный пример дал. вопрос был - есть ли скрипт для
>задачи? знаете такой - подскажите, не знаете - перейдите к следующей
>теме

дочитай мой пост до конца без нервов

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "как просуммировать сети"  
Сообщение от kirk (??) on 31-Янв-09, 23:18 
>[оверквотинг удален]
>>1. с чего вы взяли что я не знаю что такое ip
>>адрес? удивляет как можно сделать такое тупое предположение.
>>2. я знаю как называется эта задача, не надо объяснять как суммировать
>>сети
>>
>>возможно я неверный пример дал. вопрос был - есть ли скрипт для
>>задачи? знаете такой - подскажите, не знаете - перейдите к следующей
>>теме
>
>дочитай мой пост до конца без нервов

расслабся, и прочти мой пост до конца.
вопрос решен.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "как просуммировать сети"  
Сообщение от Pahanivo email(??) on 31-Янв-09, 23:45 
>[оверквотинг удален]
>>>сети
>>>
>>>возможно я неверный пример дал. вопрос был - есть ли скрипт для
>>>задачи? знаете такой - подскажите, не знаете - перейдите к следующей
>>>теме
>>
>>дочитай мой пост до конца без нервов
>
>расслабся, и прочти мой пост до конца.
>вопрос решен.

да я и не напрягался ))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру