Рефераты

Проектирование и разработка сетевых броузеров на основе теоретико-графовых моделей

Проектирование и разработка сетевых броузеров на основе теоретико-графовых моделей

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ТАВРИЧЕСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ

им. В.И.Вернандского

МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ

КАФЕДРА ИНФОРМАТИКИ

ДИПЛОМНАЯ РАБОТА

Проектирование и разработка

сетевых броузеров

на основе теоретико-графовых моделей

Выполнил студент 5 курса

специальности «информатика»

_________________Поляков Т.И.

Научный руководитель,

к.ф.-

м.н., доцент

___________________Попов В.Б.

Решение о допуске к защите :

_________________________

Зав.кафедрой информатики

д.ф.-м.н., профессор

________________Донской В.И.

Симферополь

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. Основные понятия теории графов

Определение. Множество Х=[pic] и набор U неупорядоченных пар объектов

([pic]) из Х называется графом Г. Объекты множества Х называются вершинами

графа, а наборы объекта U – ребрами графа. Про ребра [pic]будем говорить,

что они соединяют вершины [pic]и [pic].[pic]В случае, если множество Х и

набор U состоят из конечного числа объектов и пар, то граф Г называется

конечным.

Пусть [pic]и [pic]- произвольные вершины графа Г.

Определение. Система ребер графа Г [pic]называется путем, соединяющим

вершины [pic]и [pic].

Определение.Путь [pic], не проходящий дважды одно ребро, называется

циклом, если [pic]=[pic]. В частности, цикл [pic]будем называть петлей.

Определение. Граф Г называется связным, если для любых двух различных

вершин [pic]и [pic]графа Г существует путь, соединяющий эти вершины.

Рис. 1

Легко видеть, что граф из примера 1 является конечным, несвязным и

содержащим петли.

Определение. графы Г и Г` называются изоморфными, если существует

взаимно однозначное соответствие между их вершинами и ребрами такое, что

соответствующие ребра соединяют соответствующие вершины.

Определение. Граф Г` называется подграфом Г, если его вершины и ребра

принадлежат графу Г.

Длиной пути в графе называют сумму длин входящих в этот путь ребер.

Определение. Деревом называется конечный связный граф с выделенной

вершиной, именуемой корнем, не содержащий циклов.

Если в графе можно выделить более одного дерева, которые не связны между

собой, то такой граф называют лесом.

Рис 2. Лес, имеющий две компоненты связности (2 дерева).

Будем далее обозначать через Х – множество вершин и U – множество ребер

графа, а сам граф, определяемый этой парой объектов, будем обозначать

;

x ?X, u ?U. Обозначим длину дуги 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.

w?X.

d[s,t] – массив длин ребер графа для каждой пары вершин s,t ?X. Если

некоторое ребро отсутствует, то в элементе этого массива полагается

записанным некоторое достаточно большое число, превышающее сумму длин всех

ребер графа.

Stack – последовательность вершин, определяющая кратчайший путь из x в

z.

Begin

Stack:=’’; // Очистить Stack.

Stack .

n=|X| - число вершин графа.

u,w,k – рабочие переменные.

D[w] – массив, в котором к концу работы алгоритма будут содержаться

кратчайшие длины путей из х в w для всех вершин

w ?X.

Begin

D[x]:=0; // Длина пути из источника

x.

For w ?X do D[w]:=d[x,w]; // Инициализация матрицы расстояний

For k:=1 to n-2 do // Повторять n-2 раз

For w ?{X\{x}} do // Цикл по всем вершинам, кроме

источника.

For u ?X do D[w]:=min(D[w],D[u]+d[u,w]); // выбор

минимума.

End.

Этот алгоритм также основан на соотношении (принципе оптимальности)

Беллмана. Всякий раз, когда находится путь через транзитную вершину u,

который короче найденного пути из х в w, он заменяется на более короткий

путь. Это соотношение должно проверяться для любой возможной из n-2

транзитных вершин при оценке пути в каждую вершину, поэтому в алгоритме

имеется цикл, определенный в строке 4.

Алгоритм Дейкстры нахождения кратчайших расстояний от источника до всех

остальных вершин применим только тогда, когда граф не имеет контуров или

когда веса всех ребер неотрицательны.

Идентификаторы :

d[s,t] – массив длин ребер графа для каждой пары вершин

s,t ?X. Если ребра нет, то соответствующий элемент этого массива

содержит достаточно большое число.

х – вершина-источник графа .

n=|X| - число вершин графа.

u,w – рабочие переменные.

D[w] – массив, в котором к концу работы алгоритма будут содержаться

кратчайшие

длины путей из x в w для всех вершин w ?X.

BEGIN

D[x]:=0;

For w ?X do D[w]:=d[x,w];

T:={X\{x}};

While T=\= do

Begin

w:=вершина r из T такая, что D[r]=min{D[p]:p из T};

T:={T\{w}};

For u ?T do D[w]:=min[D[w],D[u]+d[u,w]];

End

END

Алгоритм Форда-Фалкерсона нахождения максимального потока в сети.

Многие задачи исследования операций сводятся к анализу потоков,

маршрутов, последовательностей событий, протекающих со времени, и других

процессов, которые можно представить в виде множества взаимосвязанных

элементов. Для математического представления таких процессов удобно их

задание в виде графов.

Рассмотрим конечный ориентированный граф Г=(X,u), в котором

Х={x1,...,xn}-множество вершин, U – множество дуг.

Пусть x ?X. Обозначим E+(x) – множество дуг графа, входящих в х, E-(x) –

выходящих из х.

Множества начальных вершин дуг из Е+(х) и множество конечных вершин дуг

из Е-(х) обозначим соответственно S+(x) и S-(x).

E+(x) E-(x)

y x

y

S+(x)

S-(x)

Рис. 3. Окрестность вершины графа.

Граф Г называют транспортной сетью, если каждой дуге u соответствует

целое число c(u)>=0 и найдутся x0 и z из Х такие, что Е+(х0)=

Е-(z)= . Вершина х0 называется истоком, z-стоком, c(u) – пропускной

способностью дуги. Потоком в транспортной сети называют целочисленную

функцию ф(u), удовлетворяющую следующим условиям :

1) 00 присвоить пометку

(-xi, min[d(xi), ф(xj,xi)]), что означает возможность уменьшения потока на

величину, определяемую минимумом.

3. Если сток не помечен и можно пометить какую-либо вершину, кроме

стока, то перейти к п.2.

4. Если оказался помеченным сток z, и в его пометку входит число d(z),

то между вершинами x0 и z найдется цепь, все вершины которой помечены

номерами предыдущих вершин. Для каждой помеченной вершины х в этой цепи

изменить величину потока : ф'(y,x)=ф(y,x)+d(z), если х имеет пометку

(+y,d(x)) или ф'(y,x)=ф(y,x)-d(z), если х имеет пометку (-y,d(x)). Пометка

вершины х стирается, назначенные потоки запоминаются. При достижении (в

процессе стирания пометок вершин цепи) истока х0 перейти к п.1; если же ни

одну вершину пометить не удается и сток z не помечен, то перейти к

построению разреза.

II.Построение разреза.

Искомый минимальный размер R определяется двумя множествами Х1 и Х2, где

Х1 – все помеченные вершины, Х2 – вершины, которые не удается пометить. При

этом полный поток Ф=Ф* должен быть равен величине полученного минимального

разреза.

2.Сетевые структуры на базе

теоретико-графовых моделей

2.1. Методы построения сетевых структур

Компьютерная сеть состоит из элементов, среди которых выделяют

компьютеры, предоставляющие ресурсы в сети (серверы), компьютеры,

обеспечивающие доступ к сетевым ресурса серверов (клиенты), среду (media),

в которой реализованы соединения, и сами ресурсы – файлы, процессоры,

принтеры, и другие элементы. В сетях реализуется принципиальная возможность

совместного использования и устройств, и данных.

Соединения компьютеров в сети может осуществляться по-разному, и

различным типовым способам присвоены различные наименования.

Различают сети с выделенными серверами и одноранговые сети. В настоящее

время наиболее распространенными являются сети с архитектурой клиент-

сервер, которые используют центральный сервер для обслуживания запросов

клиентов, в то время как одноранговые сети позволяют любой рабочей станции

функционировать одновременно в качестве сервера, если этого требуют задачи.

В сетях с архитектурой клиент-сервер специализированный компьютер

(выделенный сервер) используется для установки всех разделяемых ресурсов.

Такое решение ускоряет доступ пользователей к централизованным ресурсам

сети и связано с рядом особенностей :

- сетевое администрирование проще за счет незначительного числа серверов

в сети и их узкой специализации;

- предъявляются высокие требования к выделенному серверу : для

обеспечения высокой производительности требуется установка на сервере

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

использования в сервере производительного процессора;

- при нарушении работы сервера сеть становится практически

неработоспособной.

Если в одноранговой сети нет выделенного сервера, все компьютеры

равноправны в том смысле, что могут рассматриваться и как серверы, и как

клиенты. Обычно одноранговые сети содержат до десяти компьютеров.

Одноранговая сеть на основе сервера содержит выделенный сервер. Сеть

может содержать не один, а несколько серверов, имеющих специальное

назначение :

- файл-серверы;

- принт-серверы;

- серверы приложений, на которых выполняются прикладные задачи;

- почтовые серверы;

- факс-серверы;

- коммуникационные серверы, управляющие потоком данных и почтовых

сообщений между сетью, в которой они размещены, и другими сетями,

мэйнфреймами (большими ЭВМ) или удаленными пользователями через модемы и

телефонные линии;

- серверы служб каталогов, обеспечивающие поиск, хранение и защиту

информации в сети.

В комбинированных сетях совмещаются лучшие качества одноранговых сетей и

сетей на основе сервера. Используется сервер, но и другие отдельные

компоненты могут разрешать доступ к своим данным.

2.2. Классификация существующих методов организации сетей

Базовые топологии локальных сетей

Базовые топологии локальных сетей – это основные виды конфигураций

соединений элементов сетей при помощи кабеля.

Рассмотрим три базовых топологии : шина, звезда и кольцо.

Шина (или линейная шина) – это топология, представленная на рис. 4.

Рис. 4. Простейшая одноранговая сеть.

Передаваемый сигнал распространяется по кабелю – магистрали (сегменту) и

поглощается на концах терминаторами (заглушками). В любой момент времени

только один компьютер может вести передачу. Данные передаются всем

компьютерам сети, однако информацию принимает только тот, адрес которого

соответствует адресу получателя, зашифрованному в передаваемых данных.

Говорят, что шина – пассивная топология. Компьютеры только “слушают”, но

не регенерируют сигналы. Подсоединение кабеля осуществляется при помощи

баррел-коннекторов и репитеров.

Баррел-коннекторы – это специальные металлические соединительные

разъемы; они позволяют сращивать кабель, но при большом количестве стыковок

сигнал ощутимо затухает. Для решения проблемы сохранения физических

параметров сигналов, распространяющихся в компьютерных сетях, применяют

специальные устройства.

Репитер – это повторитель-формирователь, просто усиливающий сигнал.

Топология звезда предусматривает подключение всех компьютеров с помощью

сегментов кабеля к центральному элементу. Различают два подтипа этой

топологии – пассивная звезда, в центре которой нет компьютера-абонента,

кабели соединены при помощи концентратора (hub), и активная звезда,

содержащая в центре компьютер, управляющий обменом информации в сети.

Концентратором (hub) называют устройство, служащее для объединения

нескольких сегментов сети и не преобразующее передаваемую информацию.

Сигналы от передающего компьютера поступают через концентратор ко всем

остальным. Концентраторы бывают активные, пассивные и гибридные.

Активная звезда обеспечивает бесконфликтное управление, но нарушения в

работе центра приводят к выходу из строя всей сети, но зато сеть с такой

топологией мало чувствительна к выходу из строя участков соединительного

кабеля.

Топология кольцо предусматривает передачу сигналов по кольцу в одном

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

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

роли репитера, усиливая сигналы и передавая их следующему компьютеру.

Сервер

Рис.5. Топология “Кольцо”.

Типы кабелей

Тип кабеля, выбранного для соединения сетевых компонентов между собой,

определяет максимальную скорость передачи данных в сети и возможную

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

процессов распространения сигналов. Основными и наиболее распространенными

являются следующие типы кабелей :

- Коаксиальный (coaxial), подразделяющийся на толстый и тонкий;

- Витая пара (twisted pair), имеющая два типа : неэкранированная (10

Base-T) и экранированная.

- оптоволоконный (fiber optic).

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

тонкий, -до 500 метров, и часто используется в качестве основного

магистрального кабеля (backbone).

Для подключения к толстому коаксиальному кабелю применяют специальное

устройство – трансивер (TRANSmitter/reCEIVER – передатчик.приемник),

устройство, преобразующее поток параллельных данных, который использует

шина компьютера, в поток последовательных данных, направляемых по кабелю к

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

кабелю, снабжен специальным коннектором, который называют «зуб вампира» или

«пронзающий ответвитель». Чтобы подключить трансивер к сетевому адаптеру,

нужно подключить кабель трансивера к коннектору AUI- порта сетевой платы.

Этот коннектор известен как DB-15 (15-ти контактный).

Витая пара дешевле коаксиального кабеля и менее надежна. Использование

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

соединения до 100 метров. Для подключения витой пары используются

восьмиконтактные коннекторы RG-45.

Оптоволоконный кабель имеет высокую стоимость и обладает рядом

преимуществ : слабое затухание сигнала, практическая невозможность вскрытия

оптоволокна с целью перехвата данных. Такой кабель передает данные только в

одном направлении и поэтому состоит из двух волокон с отдельными

коннекторами.

Использование оптоволоконного кабеля теоретически может позволить

осуществлять передачу данных со скоростью 200000 Мб/сек.

Платы сетевого адаптера

Платы сетевого адаптера принимают параллельные данные с шины компьютера

и преобразуют их в последовательный битовый код, используемый при передаче

по кабелю. Плата сетевого адаптера должна указать свое местонахождение или

сетевой адрес, чтобы ее можно было отличить от остальных плат. Сетевые

адреса определены комитетом IEEE, закрепившим за каждым производителем

таких плат некоторые интервалы адресов. Эти адреса «зашиты» в микросхемы.

Благодаря этому каждая плата и каждый компьютер имеют уникальный адрес в

сети. Плата сетевого адаптера запрашивает у компьютера данные из памяти по

шине, и если они поступают быстрее, чем может передать плата, то данные

временно помещаются в буфер.

Перед передачей данных передающая плата проводит диалог с принимающей

платой, осуществляя согласование информации о следующих параметрах передачи

:

- максимальном размере блока передаваемых данных;

- объеме данных, передаваемых без подтверждения о получении;

- интервалах между передачами блоков данных;

- интервале, в течение которого необходимо послать подтверждение;

- объеме данных, которые может принять каждая плата без возникновения

ситуации переполнения;

- скорости передачи данных.

2.3. Глобальная сеть Internet

Наиболее распространенные сетевые протоколы

Определение. Протоколы являются набором правил и процедур,

предназначенных для установления связей в сети.

Набор протоколов сети Internet, TCP/IP (Transmit Control Protocol /

Internet Protocol) является промышленным стандартом протоколов,

обеспечивающих связь компьютеров разных типов.

Основные протоколы передачи данных высокого уровня :

WWW (World Wide Web) – важнейший ресурс Internet, обеспечивающий

гипертекстовое представление информации и гипертекстовые ссылки для единого

представления и доступа во всемирной глобальной сети.

Gopher – усовершенствованная система передачи файлов. Позволяет,

используя систему меню, просматривать списки ресурсов, пересылать нужный

материал, просматривать данные. Компьютеры, использующие Gopher, можно

представить соединенными в единую информационно-поисковую систему

GopherSpace.

WAIS – индексная поисковая система глобального информационного сервера.

SNMP (Simple Network Management Protocol) – протокол сети Internet для

мониторинга сети и сетевых компонентов.

FTP (File Transfer Protocol) – протокол сети Internet для передачи

файлов. Поддерживает процесс передачи файлов между локальным и удаленным

компьютером. Имеет ряд команд, которые реализуют двунаправленную передачу

двоичных и ASCII-файлов между компьютерами.

Telnet – протокол сети Internet для регистрации на удаленных хостах и

обработки данных на них.

SMTP (Simple Mail Transfer Protocol) – протокол сети Internet для обмена

электронной почтой.

TCP (Transmission Control Protocol) – TCP/IP – протокол для

гарантированной доставки данных, разбитых на последовательность фрагментов.

IP (Internet Protocol) – протокол сетевого уровня из набора протоколов

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

элементом технологии Internet. Его центральная часть – таблица маршрутов.

Этот протокол использует таблицу маршрутов при принятии всех решений о

маршрутизации IP-пакетов.

OSPF (Open Shortest Path First) – алгоритм маршрутизации, использующий

состояние каналов, в его основе лежит алгоритм Дейкстры. OSPF вычисляет

маршруты, учитывая количество маршрутизаторов, через которые пакет пройдет

на пути к получателю, пропускную способность линии, трафик и стоимость.

Набор протоколов IPX/SPX и NWlink (Internetwork Packet Exchange /

Sequenced Packet Exchange) – стэк протоколов, используемых в сетях Novell.

Это относительно небольшой и быстрый протокол, поддерживающий

маршрутизацию. NWlink – реализация IPX/SPX фирмой Microsoft для

использования в качестве транспортного маршрутизируемого протокола.

Концепция сокетов

Сетевой сокет (network socket) во многом напоминает электрическую

розетку. В сети имеется множество сокетов, причем каждый из них выполняет

стандартные функции. Все, что поддерживает стандартный протокол, можно

«подключить» к сокету и использовать для коммуникаций. Для электрической

розетки не имеет значения, что именно вы подключаете – лампу или тостер,

поскольку оба прибора рассчитаны на напряжение 220 Вольт и частоту 50 Герц.

Несмотря на то, что электричество свободно распространяется по сети, все

розетки в доме имеют определенное место. Подобным образом работают и

сетевые сокеты, за исключением того, что электроны и почтовые адреса

заменены на пакеты TCP/IP и IP-адреса. Internet Protocol (IP) является

низкоуровневым протоколом маршрутизации, который разбивает данные на

небольшие пакеты и рассылает их по различным сетевым адресам, что не

гарантирует доставку вышеупомянутого пакета адресату. Transmission Control

Protocol (TCP) является протоколом более высокого уровня, собирающим пакеты

в одну строку, сортирующим и перетранслирующим их по мере необходимости,

поддерживая надежную рассылку данных. Третий протокол, UNIX Domain Protocol

(UDP), используется вместе с TCP и может применяться для быстрой, но

ненадежной передачи пакетов.

Клиент/сервер

Под термином сервер подразумевается любой объект с общедоступными

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

доступ к определенному серверу. Взаимодействие между клиентом и сервером во

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

сервером, а лампа является клиентом напряжения. Сервер постоянно предлагает

свои «услуги», в то время как клиент волен в любое время отключиться от

обслуживания.

В сокетах Berkley понятие сокета позволяет одному компьютеру обслуживать

несколько различных клиентов одновременно, а также одновременно

обрабатывать информацию различных типов. Это стало возможным после введения

понятия порта, который является нумерованным сокетом на определенном

компьютере. Серверу разрешено обслуживать несколько клиентов,

подсоединенных к одному порту, но не одновременно. Для управления

соединением нескольких клиентов процесс сервера должен быть многопоточным

или иметь другие средства мультиплексирования одновременных операций ввода-

вывода.

Зарезервированные сокеты

После физического подключения выбирается протокол высокого уровня,

который зависит от используемого порта. Согласно спецификации протокола

TCP/IP, первые 1024 порта резервируются для определенных задач. Порт номер

21 предназначен для протокола FTP, 23 – для Telnet, 25 – для электронной

почты, 79 – для протокола finger, 80 – для HTTP, и т.д. Каждый протокол

определяет, каким образом клиент должен взаимодействовать с портом.

Например, протокол HTTP используется Web-броузерами и серверами для

передачи гипертекстовых страниц и изображений. Работает он следующим

образом. Когда клиент запрашивает файл от сервера HTTP (это действие

известно под названием попадание – hit), он просто записывает имя файла в

специальном формате в определенный порт и получает обратно содержимое

файла. Сервер также возвращает код состояния, сообщающий клиенту о

возможности удовлетворения запроса, и причину отказа.. Вот пример запроса

клиентом файла /index.html, в ответ на который сервер передает содержимое

файла.

СЕРВЕР

КЛИЕНТ

Опрашивает порт 80 Подключается к

порту 80

Определяет подключение Записывает «GET

/index.html

к серверу

HTTP/1.0\n\n»

Считывает до второго символа

новой строки (\n)

Определяет команду GET как

известную команду и протокол HTTP/1.0.

Считывает файл /index.html

Записывает «HTTP/1.0 200 OK\n\n»

(«200» означает «дальше идет

содержимое файла»)

Копирует содержимое файла в сокет Считывает файл и выводит его

Отключается Отключается

Транслирующие серверы

Транслирующие серверы (proxy servers) передают часть протокола клиента

другому серверу. Это необходимо в случаях, когда клиенты имеют определенные

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

подключен к другому серверу, не имеющему подобных ограничений, а тот, в

свою очередь, будет осуществлять все операции клиента. Транслирующий сервер

имеет возможность фильтровать определенные запросы или накапливать

(кэшировать) результаты этих запросов для дальнейшего использования.

Транслирующий HTTP сервер, поддерживающий кэширование, в состоянии

уменьшить количество запросов связи локальных сетей с Internet. Если

популярная web-страница затребована сотнями пользователей, транслирующий

сервер может, считав ее содержимое с web-сервера только один раз, сохранить

ее в буфере и обеспечить более быстрый доступ к ней клиентов.

Адресация Internet

Каждый компьютер в Internet имеет адрес. Им является число, однозначно

определяющее компьютер в сети. На IP-адрес отводится 32 бита и мы часто

представляем подобные адреса в виде последовательности чисел в интервале от

0 до 255, разделенных точками. Это облегчает их запоминание, поскольку

адреса присваиваются отнюдь не беспорядочно – прослеживается определенная

иерархия.

Служба доменных имен (DNS)

Internet не была бы столь дружественной сетью, если бы существовала

необходимость задавать адреса только числами. Например, сложно себе

представить появление ссылки на адрес «http://192.9.9.1/» в рекламном

объявлении. К счастью, существует служба, обеспечивающая поиск информации в

Internet с помощью имен,- служба доменных имен (Domain Name Service - DNS).

Точно так же, как четыре числа IP-адреса описывают сетевую иерархию слева

направо, имя адреса Internet, называемое именем его домена, описывает

положение машины в пространстве имен Internet справа налево. Например,

www.starwave.com означает, что адресат находится в домене com

(зарезервированном для коммерческих сетей США) и называется starwave

(название компании), а www является именем определенного компьютера – в

данном случае web-сервера компании starwave. www соответствует крайнему

правому числу в эквивалентном IP-адресе.

2.4. Основы сетевой маршрутизации

Библиографическая справка

В общедоступном значении слова маршрутизация означает передвижение

информации от источника к пункту назначения через объединенную сеть. При

этом, как правило, на пути встречается по крайней мере один узел.

Маршрутизация часто противопоставляется объединению сетей с помощью моста,

которое, в популярном понимании этого способа, выполняет точно такие же

функции. Основное различие между ними заключается в том, что объединение с

помощью моста имеет место на Уровне 2 эталонной модели ISO, в то время как

маршрутизация встречается на Уровне 3. Этой разницей объясняется то, что

маршрутизация и объединение по мостовой схеме используют различную

информацию в процессе ее перемещения от источника к месту назначения.

Результатом этого является то, что маршрутизация и объединение с помощью

моста выполняют свои задачи разными способами; фактически, имеется

несколько различных видов маршрутизации и объединения с помощью мостов.

Тема маршрутизации освещалась в научной литературе о компьютерах более 2-

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

популярность только в 1970 гг. В течение этого периода сети были довольно

простыми, гомогенными окружениями. Крупномасштабное объединение сетей стало

популярно только в последнее время.

Компоненты маршрутизации

Маршрутизация включает в себя два основных компонента: определение

оптимальных трактов маршрутизации и транспортировка информационных групп

(обычно называемых пакетами) через объединенную сеть. В настоящей работе

последний из этих двух компонентов называется коммутацией. Коммутация

относительно проста. С другой стороны, определение маршрута может быть

очень сложным процессом.

Определение маршрута

Определение маршрута может базироваться на различных показателях

(величинах, результирующих из алгоритмических вычислений по отдельной

переменной - например, длина маршрута) или комбинациях показателей.

Программные реализации алгоритмов маршрутизации высчитывают показатели

маршрута для определения оптимальных маршрутов к пункту назначения.

Для облегчения процесса определения маршрута, алгоритмы маршрутизации

инициализируют и поддерживают таблицы маршрутизации, в которых содержится

маршрутная информация. Маршрутная информация изменяется в зависимости от

используемого алгоритма маршрутизации.

Алгоритмы маршрутизации заполняют маршрутные таблицы неким множеством

информации. Ассоциации "Пункт назначения/следующая пересылка" сообщают

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

путем отправки пакета в определенный роутер, представляющий "следующую

пересылку" на пути к конечному пункту назначения. При приеме поступающего

пакета роутер проверяет адрес пункта назначения и пытается ассоциировать

этот адрес со следующей пересылкой.

В маршрутных таблицах может содержаться также и другая информация.

"Показатели" обеспечивают информацию о желательности какого-либо канала или

тракта. Роутеры сравнивают показатели, чтобы определить оптимальные

маршруты. Показатели отличаются друг oт друга в зависимости от

использованной схемы алгоритма маршрутизации. Далее в этой главе будет

представлен и описан ряд общих показателей.

Роутеры сообщаются друг с другом (и поддерживают свои маршрутные

таблицы) путем передачи различных сообщений. Одним из видов таких сообщений

является сообщение об "обновлении маршрутизации". Обновления маршрутизации

обычно включают всю маршрутную таблицу или ее часть. Анализируя информацию

об обновлении маршрутизации, поступающую ото всех роутеров, любой из них

может построить детальную картину топологии сети. Другим примером

сообщений, которыми обмениваются роутеры, является "объявление о состоянии

канала". Объявление о состоянии канала информирует другие роутеры о

состоянии каналов отправителя. Канальная информация также может быть

использована для построения полной картины топологии сети. После того, как

топология сети становится понятной, роутеры могут определить оптимальные

маршруты к пунктам назначения.

Коммутация

Алгоритмы коммутации сравнительно просты и в основном одинаковы для

большинства протоколов маршрутизации. В большинстве случаев главная

вычислительная машина определяет необходимость отправки пакета в другую

главную вычислительную машину. Получив определенным способом адрес роутера,

главная вычислительная машина-источник отправляет пакет, адресованный

специально в физический адрес роутера (уровень МАС), однако с адресом

протокола (сетевой уровень) главной вычислительной машины пункта

назначения.

После проверки адреса протокола пункта назначения пакета роутер

определяет, знает он или нет, как передать этот пакет к следующему роутеру.

Во втором случае (когда роутер не знает, как переслать пакет) пакет, как

правило, игнорируется. В первом случае роутер отсылает пакет к следующей

роутеру путем замены физического адреса пункта назначения на физический

адрес следующего роутера и последующей передачи пакета.

Страницы: 1, 2, 3, 4, 5


© 2010 БИБЛИОТЕКА РЕФЕРАТЫ