МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
ТАВРИЧЕСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ
им. В.И.Вернандского
МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ
КАФЕДРА ИНФОРМАТИКИ
ДИПЛОМНАЯ РАБОТА
Проектирование и разработка
сетевых броузеров
на основе теоретико-графовых моделей
специальности «информатика»
_________________Поляков Т.И.
2000 г.
Содержание | |
Введение | 2 |
Глава I. Теоретико-графовые модели организации сетевых структур | 3 |
1.1. Основные понятия теории графов | 3 |
1.2. Графовые алгоритмы | 5 |
Глава II. Сетевые структуры на базе теоретико-графовых моделей | 11 |
2.1. Методы построения сетевых структур | 11 |
2.2. Классификация существующих методов организации сетей | 12 |
2.3. Глобальная сеть Internet | 16 |
2.4. Основы сетевой маршрутизации | 20 |
2.5. Алгоритмы маршрутизации | 24 |
Глава III. Сетевые броузеры | 33 |
3.1. Описание стандартного броузера | 33 |
3.2. Характеристика существующих систем поиска | 33 |
3.3. Особенности создания броузеров в визуальных средах программирования | 40 |
Глава Программная реализация | 44 |
4.1. Архитектура системы “броузер” | 44 |
4.2. Основные процедуры броузера | 45 |
4.3. Архитектура имитационной модели глобальной сети | 47 |
4.4. Основные процедуры имитационной модели | 48 |
Заключение | 50 |
Список литературы | 51 |
Приложение 1 – исходный текст программы “броузер” | 52 |
Приложение 2 – исходный текст модели корпоративной сети | 91 |
Введение
Актуальность
В связи с расширением глобальной сети Internet возрастает необходимость внедрения новых оптимизационных алгоритмов, связанных со скоростью обмена данных между компьютерами в единой сети. Компьютерные сети завоевывают мир. Системы из маленьких компьютеров превращаются в огромные хранилища данных, доступные всему миру. Любая современная фирма, любой офис оснащен хотя бы простейшей сетью. Не выходя из дома, сотни тысяч людей работают на персональных компьютерах, принося пользу всему миру. В основном для работы в Internet используются программы-броузеры. Эти программы позволяют легко обмениваться текстовой, графической и звуковой информацией, используя популярную, простую в обращении мультемедийную службу ИНТЕРНЕТ World Wide Web.
Цель
Цель данной работы заключается в следующем :
- разработка математической модели сетевого броузера и корпоративной среды;
- создание имитационной модели распределении информации в глобальных сетях.
Для достижения данной цели были решены следующие задачи:
1.) Проведен анализ существующих броузеров;
2.) Рассмотрены основные топологии существующих корпоративных сетей;
3.) Разработан алгоритм определения оптимального маршрута передачи
информации по глобальной сети.
1.Теоретико – графовые модели
организации сетевых структур
1.1. Основные понятия теории графов
Определение. Множество Х=
и набор U неупорядоченных пар объектов ( ) из Х называется графом Г. Объекты множества Х называются вершинами графа, а наборы объекта U – ребрами графа. Про ребра будем говорить, что они соединяют вершины и . В случае, если множество Х и набор U состоят из конечного числа объектов и пар, то граф Г называется конечным.Пусть
и - произвольные вершины графа Г.Определение.Система ребер графа Г
называется путем, соединяющим вершины и .Определение.Путь
, не проходящий дважды одно ребро, называется циклом, если = . В частности, цикл будем называть петлей.Определение. Граф Г называется связным, если для любых двух различных
вершин
и графа Г существует путь, соединяющий эти вершины.Легко видеть, что граф из примера 1 является конечным, несвязным и содержащим петли.
Определение. графы Г и Г` называются изоморфными, если существует взаимно однозначное соответствие между их вершинами и ребрами такое, что соответствующие ребра соединяют соответствующие вершины.
Определение. Граф Г` называется подграфом Г, если его вершины и ребра принадлежат графу Г.
Длиной пути в графе называют сумму длин входящих в этот путь ребер.
Определение.Деревом называется конечный связный граф с выделенной вершиной, именуемой корнем, не содержащий циклов.
Рис 2. Лес, имеющий две компоненты связности (2 дерева).
Будем далее обозначать через Х – множество вершин и U – множество ребер графа, а сам граф, определяемый этой парой объектов, будем обозначать <X,U>;
xX, uU. Обозначим длину дуги u=(x,y) через d(u). Кратчайшую длину пути из х в
z обозначим D(x,z).
Очевидно, если кратчайший путьиз x в z существует и проходит через промежуточную вершину w, то D(x,z) = D(x,w) + D(w,z). Эта формула справедлива для любой промежуточной вершины w рассматриваемого пути, в том числе и для последней, смежной с конечной вершиной w. Поэтому кратчайший путь можно отыскать, последовательно переходя от конечной вершины z в ближайшую смежную и запоминая цепочку построенных вершин (конечно, при условии, что хотя бы один путь между вершинами x и z существует и граф не содержит циклов. Эта идея и является в сущности принципом Р.Беллмана.
1.2. Графовые алгоритмы
Алгоритм Беллмана поиска кратчайшего пути между двумя вершинами связного графа, не имеющего циклов с неотрицательными длинами ребер. Его описание приводится ниже при помощи алгоритмической схемы.
Идентификаторы :
D[w] – рабочий массив, при вычислениях интерпретируется как кратчайшая длина из вершины w в вершину z.
wX.
d[s,t] – массив длин ребер графа для каждой пары вершин s,t X. Если некоторое ребро отсутствует, то в элементе этого массива полагается записанным некоторое достаточно большое число, превышающее сумму длин всех ребер графа.
Stack – последовательность вершин, определяющая кратчайший путь из x в z.
Begin
Stack:=’’; // Очистить Stack.
Stack <=z; // Поместить в стек конечную вершину z.
w:=z; // Запомнить первую пройденную вершину.
D[z]:=0; // Обнуление длины пути из вершины z в нее же.
While w=/=x do // Пока не будет достигнута начальная вершина, выполнять
// перебор вершин графа
p:= вершина, для которой величина D[p] = d[p,w]+D[w] минимальна. Если таких вершин несколько и среди них имеется вершина x, то p:=x, если же среди них нет вершины x – взять любую из доставляющих минимум сумме.
Stack <=p; // Записать выбранную вершину в стек.
w:=p; // и взять ее для построения следующего шага.
End;
End.
Пусть число вершин графа |X|=n, а число ребер |U|=m. Оценим сложность этого алгоритма как число шагов выполнения алгоритмической схемы, считая одним шагом выполнение ровно одного выполнимого оператора, каковые представлены только строками 2,3,4,5,6,8,9. В худшем случае выбор вершины в строке 8 (по минимуму расстояния) произойдет в результате просмотра всех n вершин, а цикл с заголовком в строке 6 повторится для всех вершин, поэтому сложность алгоритма можно оценить как C*n^2, где С – некоторая константа, учитывающая реализацию алгоритма в произвольной вычислительной среде.
Следующий алгоритм обеспечивает нахождение кратчайших расстояний от фиксированной вершины х, называемой источником, до всех остальных вершин графа с ограничением, предполагающим отсутствие в графе контуров отрицательной длины (сумма длин ребер, входящих в любой контур, неотрицательна).