Xpoint
   [напомнить пароль]

Нужны ли подсказки проектировщикам сетей?

Метки: [без меток]
2007-04-07 11:13:54 [обр] Алексей Шоков(0/9)[досье]

Начну с главного: в университете мне нужно писать работу по прдмету "Теория Алгоритмов" на теме "Потоки в сетях". Работа предполагает теоретическую часть и создание какого-либо приложения, применяющего данный алгоритм.

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

Можно, конечно, написать программу для отмазки — это не составляет труда. Но это пустая трата времени. В связи с этим у меня возникла идея создать интсрумент для проектировщиков сетей, который может по модели сети давать дельные советы в ее улучшении.

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

Существуют ли рещения подобного типа? Я за свою небольшую практику ничего подобного не видел. В связи с этим возникает вопрос в целесообразности реализации этой идеи.

спустя 1 день 13 часов [обр] Сергей Сирик(53/737)[досье]
М Перенесено из форума "Аспекты разработки::Анализ и проектирование"
спустя 1 минуту [обр] Сергей Сирик(53/737)[досье]
Это не совсем Анализ и проектирование веб-приложений :) Пока пусть побудет в Прочем, тут ее с бОльшей долей вероятности заметят. Есть у нас еще Телематика и Маршрутизация, попробуйте еще там спросить ...
спустя 6 часов [обр] Алексей Шоков(0/9)[досье]
Сергей Сирик[досье], спасибо, что определили тему в правильный раздел! Если бы от этого еще ответы появились... :)
спустя 4 часа 51 минуту [обр] Thirteensmay(9/157)[досье]
Задачка интересная, и даже может быть весьма полезной, по крайней мере есть масса идей как ее сделать таковой, но основная проблема в том что даже в минимально полезном случае (создание простого эмулятора сети для студентов с целью пощупывания) она явно не укладывается в формат курсовой работы, наверное поэтому и ответов нет. Пожалуй с удовольствием поучаствовал бы в проекте по разработке такой штуки.
спустя 47 минут [обр] Алексей Шоков(0/9)[досье]
Thirteensmay[досье], не укладывается в рамки — не беда ;). Я же, собственно, почему и затеял данную тему, что нет желания писать банальную программу на Delphi для нахождения максимального потока в графе.
спустя 57 минут [обр] Сергей Сирик(53/737)[досье]
Алексей Шоков[досье]
Могу и ответ предложить :) Как по мне, проблема в высокой "теоретичности" задачи. Т.е. сети такой сложности, где может потребоваться оптимизация потока подобными способами еще на стадии проектирования, встречаются настолько редко, что и софт специальный не нужен - при большой необходимости можно и руками посчитать :) Потому как конфигурация сетей определяется в большинстве своем совсем другими факторами - географией в основном :)
спустя 13 минут [обр] Thirteensmay(9/157)[досье]

Алексей Шоков[досье] Ну тогда вот смотрите, идея такая: То что Вы написали про нахождение максимального потока это все хорошо, но крайне недостаточно, ибо получается как бы статика. В реальности же интересует динамика, т.е. ответы на вопросы почему чтото в какой то момент начинает тормозить, что будет если сюда добавить тото, и т.п. Я не говорю что надо разработать экспертный комплекс для тестирования реальной сети и принятия решений, это очень сложно, а вот эмулятор, масштаба средней организации, порядка сотни хостов, и при этом не особо детализированный, думаю вполне можно. Конечно, более менее точно эмулировать будет сложно даже здесь, но очень похоже и не нужно, для начала достаточно учитывать только основные моменты, типа номинальной нагрузки, случайного ее распределения и т.п. Даже при таком упрощении можно будет увидеть основные проблемы - пики нагрузки, перегрузку каналов/сетевого оборудования и пр. Это будет полезно и тем же студентам/преподавателям, типа лабораторки устраивать, да и реальным технарям на обслуживании не помешает, по крайней мере о явных ляпах предупредит, а еще если дополнительный функционал, типа легкого оптимизированного визуального ввода схемы сети и параметров, с выходной печатью разных состояний, фильтров параметров, и т.п. Короче думаю вариант есть. Главное - надо убедится что таких решений правда нет, ну хотябы открыто/бесплатных, ибо велосипед изобретать сами понимаете. Технически, начать надо конечно с продумывания общей структуры и идеи, ну как минимум я так понимаю должно быть 3 вида устройств: рабочие станции, сервера, сетевое оборудование (концентраторы/шлюзы/маршрутизаторы) и физические каналы, по ним надо вводить соответствующие параметры, типа диапазон генерации трафика каждым устройством, нагрузочную/пропускную способность, и т.п. Далее необходимо будет иметь визуальную среду для ввода всего этого хозяйства, и самое главное - подсистему эмуляции, ну грубо говоря брать тики времени, смотреть диапазоны генерируемого устройствами трафика, рандомом назначать каждому устройству его значение, суммировать полученную нагрузку, смотреть справиться ли канал/концентратор, распределять по маршрутам далее вплоть до серверов и назад, ну или чтото типа того, надо думать. В результате можно накапливать статистику по перегрузкам, эффектам от изменения конфигурации и пр., т.е. то что и требовалось доказать. Даже это очень не кисло конечно, и тут скорее команда разработчиков нужна, но я не вижу более простого случая чтобы оно было реально полезно и востребовано.

P.S. И еще раз, Вы уверены что в природе такое уже не существует ? Я честно говоря таким вопросом не задавался.

Сергей Сирик[досье] Ну а как на счет приложения к образованию ? Не каждый студента в реальную сеть запустит, и будет он фигню писать не подозревая об ошибке, а так хоть дым из сервера на картинке увидит ;) Да и не только, ну вот лень например мне будет считать все вручную если под рукой есть простенький удобный инструмент, да еще и со всякими вкусностями ;) ?

спустя 2 часа 32 минуты [обр] Алексей Шоков(0/9)[досье]

Сергей Сирик[досье], Thirteensmay[досье], так же в тему реального применения: меня всегда занимал вопрос, будет ли работать wi-fi-сеть в каком-либо отдельно взятом помещение. Было бы очень приятно смоделировать ситуацию и сразу увидеть, какой мощности требуются антены к базовым станциям, т.е. каким будет сигнал и т.д. Но смоделировать такое, в отличие от проводов, гораздо сложнее... Так что эту мечту оставляю за бортом.

Thirteensmay[досье], я не уверен, что чего-то подобного не существует, хотя мне на глаза попадались только инструменты для создания простых графических схем (к примеру, Dia). А идеи по поводу самого приложения у вас хорошие, практически так я его себе и представляю. Для начала, на мой взгляд, главное — определиться с сущностями (маршрутизаторы, рабочие станции...) и их свойствами (пропусная способность, средняя величина генерируемого траффика...). После этого на этот каркас уже можно навешивать всяческие алгоритмы для подсчета чего-либо.

Да и, если вспомнить начало темы (мне же программа нужно к докладу в конце-концов) и то, что это не одно дня дело (да и не одного разработчика), то можно для начала реализовать из сущностей только маршрутизаторы, а из свойств только его пропускную способность.

спустя 2 дня 18 часов [обр] Алексей Шоков(0/9)[досье]
Хм, если подумать, то все получается именно так, как сказал Сергей Сирик[досье]. Т.е. программа практически не применима в реальности. Но, если опять же подумать, то можно применить подобную схему не к компьютерным сетям, а к автомобильным дорогам. Эта область, как мне кажется, идеально подходит для применения алгоритмов нахождения максимального потока в графе.
спустя 3 часа 56 минут [обр] Сергей Сирик(53/737)[досье]
Алексей Шоков[досье]
В правильном направлении мыслите :) Выглянул в окно ... в очень правильном направлении :)
спустя 52 минуты [обр] Thirteensmay(9/157)[досье]
Ага, тогда берем базу реального времени по загруженности дорог города, анализируем Вашим алгоритмом, и передаем результат об оптимальном маршруте на соответствующий компьютер в машине. Только это не намного проще эмулятора сети, и уж точно уже реализовано. Все правильно - "проблема в высокой 'теоретичности' задачи", т.е. алгоритм сам по себе полезен лишь с теоретической точки зрения, а чтобы стал с практической - его нужно завернуть, но в Вашем случае во чтото простое, а чем проще тем получается бесполезнее ;)
А как Вам например такой вариант, далеко не идеальный конечно, но всеже чтото помоему в нем есть: Анализатор возможных конфигураций (например компьютеров собираемых из комплектующих по прайсу). Тут имеем типичный граф: Платформа-Процессор-МатПлата-и т.д., с пересечениями как положено и различными маршрутами. Допустим необходимо найти наиболее дешевую middle-end конфигурацию, или выполнить анализ по нескольким конфигурациям для сопоставления с конкурентами, ну тут вариантов много короче. Главное это можно сделать в одиночку (ну если конечно хоть чуть в железе соображаете) и за приемлемое время. Польза на лицо, а что касается новизны, ну понятно что какието элементы гдето используются, но чтобы вот так специально... Поспрашайте у продавцов. А ?
спустя 10 часов [обр] Сергей Сирик(53/737)[досье]
Thirteensmay[досье]
Насколько я изучал подобный вопрос, система выдаст информацию только о том, где сейчас нету машин ... и сколько водителей полчило эту информацию??? И сколько из них уверено, что эту вот мааленькую улицу знают только они??? И сколько из них будет соблюдать правила дорожного движения и НЕ выезжать на перекрестки??? Реально вычислительные мощности бортовых компов (или же устройств их заменяющих, типа КПК) и каналов передачи данных тока-тока подбирается к теоретически достаточно для решения подобных задач ... а практика - это вообще отдельное дело :)
спустя 10 часов [обр] Thirteensmay(9/157)[досье]
Да уж... "практика - отдельное дело :)" Похоже надо признать что разработка реально полезного приложения к теории при заданных условиях... ?
Powered by POEM™ Engine Copyright © 2002-2005