[Moscow.pm] Взрыв мозга или занимательная топология

Александр Букреев pesniru на gmail.com
Сб Ноя 24 13:20:41 PST 2007


Если математики предложат что-то дельное - я бы тоже с удовольствием выслушал.
Ибо задачку решал где-то 2 года назад и уверен, что решение мое совсем
не самое оптимальное, но все-таки рабочее. :-) Ибо 2 года этой схемой
пользуются наши инженеры. А когда мы им это "дерево" еще и к карте
местности привязали, добавили пингабельности оборудования в реальном
времени и еще пару фишек - вообще красота получилась. :-)

25.11.07, Naim Shafiev<shafiev на gmail.com> написал(а):
> Мда.Задача очень не тривиальна.По сути как я понимаю нужно
> придумать алгоритм обхода  ориентировано графа с повторами
> и пропусками.В понедельник пойду штурмовать математиков по
> дискретке пусть предложат
>  решение :)
>
> 24.11.07, Kaltashkin Eugene <zhecka на gmail.com> написал(а):
> > Александр Букреев пишет:
> > >> Идея Андрея была хороша. проверил её на деле, результаты уже есть.
> > >> Но с оговорками.
> > >>
> > >
> > > Какие получились оговорки?
> > >
> > см. предыдущее письмо.
> > > Идея Андрея хороша, но проходя последовательно по дереву от оконечных
> > > устройств ты никогда не получишь полное дерево, т.к. на практике в
> > > большой сети встречаются ситуации, когда есть пропуски. Т.е . соседние
> > > коммутаторы не видят друг-друга. Проходя последовательно у вас будет в
> > > этом месте затык. Проходя по всем связям по очереди, у вас просто
> > > построится несколько деревьев. Которые уже можно дособрать вручную...
> > >
> > дособирать вручную проблематично при огромном количестве хостов.
> > >> проблема в том, что корневым устройством может быть любое :)
> > >>
> > > Эм. Вам и нужно ЛЮБОЕ устройство. Оно требуется только для вычислений.
> > > К самой топологии сети оно может не иметь отношения, т.е. не являться
> > > реальным корнем дерева. Проще в качестве него выбрать устройство,
> > > которое видит максимальное количество адресов коммутаторов на
> > > максимальном количестве портов.
> > >
> > оно в итоге вычисляется само собой.
> > > Эм. Поясни, что ты именуешь как private и public в данной задачке...
> > >
> > легко. private - порт с единственным подключенным устройством.
> > public(null) - куча адресов на одном порту.
> > >> select switch,port,count(*) from mactable where status is null group by
> > >> switch,port;
> > >> даёт полный список количества устройств на портах up/downлинков.
> > >> запрос
> > >> select switch,port,count(*) from mactable where status is null and
> > >> macaddr not in (select macaddr from mactable where switch='10.6.204.21'
> > >> and status = 'private') group by switch,port;
> > >> убирает из этого списка порт с downlinkом.
> > >>
> > >
> > > Хм. Я тут структурами перла оперировал. Проще в памяти поработать, чем
> > > мускуль напрягать. ;-)
> > >
> > с перлом не совсем проще.
> > когда адресов 8 штук проще, когда 500 уже проблема. count считать
> > приходится таки и исключения.
> >
> > > Порядок действий:
> > > - выбираем корневое устройство
> > > - получаем список: устройство-порт = список устройств на порту
> > > - отбрасываем те связки "устройство-порт" у которых в списке устройств
> > > присутствует корень.
> > > В итоге получили список даунлинков на связках "устройство-порт".
> > >
> > >
> > > Дальше начинаем строить связи:
> > > 3 - d9 (однозначная связь), записываем, выкидываем везде d9
> > >
> > > После прохода по всем однозначным связям получает картинка:
> > > 2.8: 3
> > > 2.1: 1
> > > Соответственно строим эти связи и все. Полностью все связи получены.
> > >
> > это всё понятно. логически и визуально задача решается за пару минут, а
> > когда скажем топология сети неизвестна и картинки нет ? плясать не от
> чего.
> > В данном мной примере всего 14 свичей, из них 4 по 24
> > порта(23,26,27,28), и 10 по 50 портов. Реально сейчас свичей 25 штук,
> > через неделю-две будет 29, потом прибавится 3 удалённых офиса и еще 6
> > свичей разных мастей :) и это не предел. просто я не стал сюда включать
> > глобальную конфигурацию. Иметь полную структурную схему нарисованную
> > руками получается просто нерационально, хоть она и есть, но она
> > устаревает очень быстро. Люди двигаются с места на место. Компы прыгают
> > со свича на свич.
> > Вотъ такие пироги.
> >
> >
> ______________________________________________________________________
> > Moscow.pm mailing list
> > moscow-pm на pm.org | http://moscow.pm.org
> > http://mail.pm.org/mailman/listinfo/moscow-pm
>
>
> ______________________________________________________________________
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
> http://mail.pm.org/mailman/listinfo/moscow-pm
>


Подробная информация о списке рассылки Moscow-pm