Топологии сетей. Топология сети звезда

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

В вычислительной технике для представления данных используется двоичный код. Внутри компьютера единицам и нулям данных соответствуют дискретные электрические сигналы. Представление данных в виде электрических или оптических сигналов называется кодированием . Существуют различные способы кодирования двоичных цифр 1 и 0, например, потенциальный способ, при котором единице соответствует один уровень напряжения, а нулю - другой, или импульсный способ, когда для представления цифр используются импульсы различной или одной полярности.

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

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

Еще одной проблемой, которую нужно решать при передаче сигналов, является проблема взаимной синхронизации передатчика одного компьютера с приемником другого. При организации взаимодействия модулей внутри компьютера эта проблема решается очень просто, так как в этом случае все модули синхронизируются от общего тактового генератора. Проблема синхронизации при связи компьютеров может решаться разными способами, как с помощью обмена специальными тактовыми синхроимпульсами по отдельной линии, так и с помощью периодической синхронизации заранее обусловленными кодами или импульсами характерной формы, отличающейся от формы импульсов данных.

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


Задачи надежного обмена двоичными сигналами, представленными соответствующими электромагнитными сигналами, в вычислительных сетях решает определенный класс оборудования. В локальных сетях это сетевые адаптеры , а в глобальных сетях - аппаратура передачи данных, к которой относятся, например, устройства, выполняющие модуляцию и демодуляцию дискретных сигналов, - модемы . Это оборудование кодирует и декодирует каждый информационный бит, синхронизирует передачу электромагнитных сигналов по линиям связи, проверяет правильность передачи по контрольной сумме и может выполнять некоторые другие операции. Сетевые адаптеры рассчитаны, как правило, на работу с определенной передающей средой - коаксиальным кабелем, витой парой, оптоволокном и т. п. Каждый тип передающей среды обладает определенными электрическими характеристиками, влияющими на способ использования данной среды, и определяет скорость передачи сигналов, способ их кодирования и некоторые другие параметры.

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

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

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

Сетевые топологии. Основные понятия(17-18)

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

Заметим, что конфигурация физических связей определяется электрическими соединениями компьютеров между собой и может отличаться от конфигурации логических связей между узлами сети. Логические связи представляют собой маршруты передачи данных между узлами сети и образуются путем соответствующей настройки коммуникационного оборудования.

Выбор топологии электрических связей существенно влияет на многие характеристики сети. Например, наличие резервных связей повышает надежность сети и делает возможным балансирование загрузки отдельных каналов. Простота присоединения новых узлов, свойственная некоторым топологиям, делает сеть легко расширяемой. Экономические соображения часто приводят к выбору топологий, для которых характерна минимальная суммарная длина линий связи. Рассмотрим некоторые, наиболее часто встречающиеся топологии.

Полнозвенная(16)

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

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

Ячеистая(16)

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

Общая шина(17)

Общая шина (рис. 1.10, в) является очень распространенной (а до недавнего времени самой распространенной) топологией для локальных сетей. В этом случае компьютеры подключаются к одному коаксиальному кабелю по схеме «монтажного ИЛИ». Передаваемая информация может распространяться в обе стороны. Применение общей шины снижает стоимость проводки, унифицирует подключение различных модулей, обеспечивает возможность почти мгновенного широковещательного обращения ко всем станциям сети. Таким образом, основными преимуществами такой схемы являются дешевизна и простота разводки кабеля по помещениям. Самый серьезный недостаток общей шины заключается в ее низкой надежности: любой дефект кабеля или какого-нибудь из многочисленных разъемов полностью парализует всю сеть. К сожалению, дефект коаксиального разъема редкостью не является. Другим недостатком общей шины является ее невысокая производительность, так как при таком способе подключения в каждый момент времени только один компьютер может передавать данные в сеть. Поэтому пропускная способность канала связи всегда делится здесь между всеми узлами сети.

Звезда(18)

Топология звезда (рис. 1.10, г). В этом случае каждый компьютер подключается отдельным кабелем к общему устройству, называемому концентратором , который находится в центре сети. В функции концентратора входит направление передаваемой компьютером информации одному или всем остальным компьютерам сети. Главное преимущество этой топологии перед общей шиной - существенно большая надежность. Любые неприятности с кабелем касаются лишь того компьютера, к которому этот кабель присоединен, и только неисправность концентратора может вывести из строя всю сеть. Кроме того, концентратор может играть роль интеллектуального фильтра информации, поступающей от узлов в сеть, и при необходимости блокировать запрещенные администратором передачи.

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

Иерархическая топология(17)

Иерархическая топология (hierarchical topology) похожа на расширенную звездообразную топологию. Только в такой сети нет центрального узла. Вместо этого используется магистральный узел (trunk node) , от которого отходят ветви (branches) к другим узлам. Существуют два типа иерархической топологии: бинарное дерево - от каждого узла отходят два соединения; и магистральное дерево - магистральный узел имеет узлы-ветви, от которых отходят каналы к рабочим станциям.

Кольцо(18)

В сетях с кольцевой конфигурацией (рис. 1.10, е) данные передаются по кольцу от одного компьютера к другому, как правило, в одном направлении. Если компьютер распознает данные как «свои», то он копирует их себе во внутренний буфер. В сети с кольцевой топологией необходимо принимать специальные меры, чтобы в случае выхода из строя или отключения какой-либо станции не прервался канал связи между остальными станциями. Кольцо представляет собой очень удобную конфигурацию для организации обратной связи - данные, сделав полный оборот, возвращаются к узлу-источнику. Поэтому этот узел может контролировать процесс доставки данных адресату. Часто это свойство кольца используется для тестирования связности сети и поиска узла, работающего некорректно. Для этого в сеть посылаются специальные тестовые сообщения.

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

Кратность звёздной системы ограничена. Невозможно создать долгоживущую систему из трёх, четырёх и более равноправных звёзд. Устойчивыми оказываются только иерархические системы. К примеру, чтобы в тройной системе третий компонент не был выброшен из системы, необходимо чтобы он не приближался ближе чем на 8-10 радиусов к «внутренней» двойной системе. Сам же компонент может быть как одиночной, так и ещё одной двойной звездой .

Двойные звёздные системы

Звёздные системы из двух звёзд называются двойными звёздами , или двойными звёздными системами. При отсутствии приливных эффектов, возмущений от других сил и передачи массы от одной звезды к другой, такая система устойчива, и обе звезды будут неограниченно долго двигаться по эллиптической орбите вокруг центра масс системы (см. Задача двух тел).

Системы с более чем двумя звёздами

Системы с более чем двумя звёздами также возможны: например, звёздное скопление и галактика - виды звёздных систем. Из-за большого размера этих систем, их динамика значительно сложнее, чем у двойной звезды. Однако, также возможно существование звёздных систем с небольшим (но больше двух) количеством звёзд и простой орбитальной динамикой. Эти системы называются кратными звёздными системами , или физически кратными звёздами . Кратная звёздная система, состоящая из трёх звёзд, называется тройной .

Динамическая теория

Теоретически моделирование кратной звёздной системы сложнее, чем двойной, так как рассматриваемая динамическая система (Задача N тел) может проявлять хаотическое поведение. Многие конфигурации небольших групп звёзд оказываются нестабильными, и, в конце концов, одна из звёзд приближается к другой достаточно близко и разгоняется настолько, что покидает систему . Нестабильности можно избежать в системе, которую Эванс называл иерархическими . В иерархической системе звёзды могут быть разделены на две группы, каждая из которых обращается по большой орбите вокруг центра масс системы. Каждая из этих групп должна также быть иерархической. Это означает, что они тоже могут быть разделены на меньшие подгруппы, которые сами являются иерархическими, и т. д.

Тройные звёздные системы

Тройные звёздные системы - наиболее распространённый тип кратных систем. Например, в издании

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

В зависимости от поколения коммутирующего устройства, сеть может функционировать как в полудуплексном, так и дуплексном режиме. Это связано со следующими технологическими особенностями:

Беспроводная сеть, работающая по технологии WiFi - технологически может функционировать только в полудуплексном режиме с поочерёдным подключением ко всем узлам.
- сеть, использующая пассивный или активный концентратор - принцип действия такой сети похож на принцип действия сети, использующей Шинную топологию. Главное отличие состоит в том, что вместо шины используется коммутатор, который так же пропускает через себя огромное множество пакетов, транслируя их от одного компьютера всем в надежде, что кто-нибудь его примет. Терминаторы в такой сети не используются, т.к. клиентские узлы сети не отражают пакеты, а только могут отправлять "уведомление о получении" отправителю в виде контрольной суммы. В общем говоря, такая сеть функционирует быстрей, чем шина только лишь из-за более высокого качества передающей среды.

Сеть использующая свитч (switch) - это высокоскоростная сеть, в которой роль концентратора выполняет как раз вышеназванное устройство. Разница заключается в том, что в отличие от простого концентратора, свитч создает в памяти временные таблицы соответствия портов с сетевыми адресами, что позволяет свитчу направлять пакеты не всем подряд, а только получателю. Таким образом получается возможность создавать изолированные сессии и передавать данные в режиме Full Duplex (полный дуплекс), что так же позволяет избежать коллизий и существенно ускорить передачу данных между компьютерами и другими сетевыми устройствами. Более того - интеллектуальные управляемые свитчи позволяют разделить сеть на несколько изолированных подсетей, что бывает удобно при организации разделения доступов пользователей сети к различным её сегментам.

Более высокая пропускная способность сети за счет использования проводников более высокого уровня;
- легкая диагностика - всегда легко найти "диверсанта", т.к. достаточно поочерёдно отключить хосты от сети;
- выход из строя одного узла, даже если имеет место повреждение сетевого кабеля, не наносит урон всей сети;
- более дорогое, но, тем не менее, легкое масштабирование - если до основного концентратора далеко тянуть провод, то можно поставить дополнительный концентратор возле самого ближайшего и подключать новых клиентов. Хотя, конечно, тут важно учитывать, для каких целей используется сеть. Если для организации совместного доступа в интернет, то этот вариант вполне разумный, если же в сети используется программа 1С в режиме прямого доступа к файлам базы - то этот метод может быть неприемлем.

Топология физических связей

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

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

Рис. 4.1. Варианты связи компьютеров.

Мы можем соединять каждый компьютер с каждым или же связывать их последовательно, предполагая, что они будут общаться, передавая друг другу сообщения "транзитом". При этом транзитные узлы должны быть оснащены специальными средствами, позволяющими выполнять эту специфическую посредническую операцию. В роли транзитного узла может выступать как универсальный компьютер, так и специализированное устройство.

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

Среди множества возможных конфигураций различают полносвязные и неполносвязные:


Рис. 4.1.1. Типы конфигураций

Полносвязная топология (рис. 4.2 ) соответствует сети, в которой каждый компьютер непосредственно связан со всеми остальными. Несмотря на логическую простоту, это вариант громоздкий и неэффективный. Действительно, каждый компьютер в сети должен иметь большое количество коммуникационных портов, достаточное для связи с каждым из остальных компьютеров. Для каждой пары компьютеров должна быть выделена отдельная физическая линия связи. (В некоторых случаях даже две, если невозможно использование этой линии для двусторонней передачи.) Полносвязные топологии в крупных сетях применяются редко, так как для связи N узлов требуется N(N-1)/2 физических дуплексных линий связи, т.е. имеет место квадратическая зависимость. Чаще этот вид топологии используется в многомашинных комплексах или в сетях, объединяющих небольшое количество компьютеров.


Рис. 4.2. Полносвязная конфигурация.

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

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


Рис. 4.3. Ячеистая топология.

В сетях с кольцевой конфигурацией (рис. 4.4 ) данные передаются по кольцу от одного компьютера к другому. Главное достоинство "кольца" в том, что оно по своей природе обладает свойством резервирования связей. Действительно, любая пара узлов соединена здесь двумя путями - по часовой стрелке и против. "Кольцо" представляет собой очень удобную конфигурацию и для организации обратной связи - данные, сделав полный оборот, возвращаются к узлу-источнику. Поэтому отправитель в данном случае может контролировать процесс доставки данных адресату. Часто это свойство "кольца" используется для тестирования связности сети и поиска узла, работающего некорректно. В то же время в сетях с кольцевой топологией необходимо принимать специальные меры, чтобы в случае выхода из строя или отключения какой-либо станции не прерывался канал связи между остальными станциями "кольца".


Рис. 4.4. Топология "кольцо".

Топология "звезда" (рис.4.5 ) образуется в том случае, когда каждый компьютер с помощью отдельного кабеля подключается к общему центральному устройству, называемому концентратором 2) . В функции концентратора входит направление передаваемой компьютером информации одному или всем остальным компьютерам сети. В роли концентратора может выступать как компьютер, так и специализированное устройство, такое как многовходовый повторитель, коммутатор или маршрутизатор. К недостаткам топологии типа "звезда" относится более высокая стоимость сетевого оборудования, связанная с необходимостью приобретения специализированного центрального устройства. Кроме того, возможности наращивания количества узлов в сети ограничиваются количеством портов концентратора.


Рис. 4.5. Топология "звезда".

Иногда имеет смысл строить сеть с использованием нескольких концентраторов, иерархически соединенных между собой связями типа "звезда" (рис. 4.6 ). Получаемую в результате структуру называют также деревом. В настоящее время дерево является самым распространенным типом топологии связей, как в локальных, так и в глобальных сетях.


Рис. 4.6. Топология "иерархическая звезда" или "дерево".

Особым частным случаем конфигурации звезда является конфигурация "общая шина" (рис. 4.7 ). Здесь в роли центрального элемента выступает пассивный кабель, к которому по схеме "монтажного ИЛИ" подключается несколько компьютеров (такую же топологию имеют многие сети, использующие беспроводную связь - роль общей шины здесь играет общая радиосреда). Передаваемая информация распространяется по кабелю и доступна одновременно всем присоединенным к нему компьютерам.

Рис. 4.7. Топология "общая шина".

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

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

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


Рис. 4.8. Смешанная топология.

Адресация узлов сети

Еще одной проблемой, которую нужно учитывать при объединении трех и более компьютеров, является проблема их адресации , точнее сказать адресации их сетевых интерфейсов 1) . Один компьютер может иметь несколько сетевых интерфейсов. Например, для образования физического кольца каждый компьютер должен быть оснащен как минимум двумя сетевыми интерфейсами для связи с двумя соседями. А для создания полносвязной структуры из N компьютеров необходимо, чтобы у каждого из них имелся N-1 интерфейс.

Адреса могут быть числовыми (например, 129.26.255.255) и символьными (). Один и тот же адрес может быть записан в разных форматах, скажем, числовой адрес в предыдущем примере 129.26.255.255 может быть записан и в шестнадцатеричном формате цифрами - 81.1a.ff.ff.

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

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


Рис. 4.9. Плоское адресное пространство.

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


Рис. 4.10. Иерархическая структура адресного пространства.

На рис. 4.10 показана трехуровневая структура адресного пространства, при которой адрес конечного узла задается тремя составляющими: идентификатором группы (K), в которую входит данный узел, идентификатором подгруппы (L) и, наконец, идентификатором узла (n), однозначно определяющим его в подгруппе. Иерархическая адресация во многих случаях оказывается более рациональной, чем плоская. В больших сетях, состоящих из многих тысяч узлов, использование плоских адресов может привести к большим издержкам - конечным узлам и коммуникационному оборудованию придется работать с таблицами адресов, состоящими из тысяч записей. А иерархическая система адресации позволяет при перемещении данных до определенного момента пользоваться только старшей составляющей адреса, затем для дальнейшей локализации адресата следующей по старшинству частью, и в конечном счете - младшей частью. Примером иерархически организованных адресов служат обычные почтовые адреса, в которых последовательно уточняется местонахождение адресата: страна, город, улица, дом, квартира.

К адресу сетевого интерфейса и схеме его назначения можно предъявить несколько требований:

    адрес должен уникально идентифицировать сетевой интерфейс в сети любого масштаба;

    схема назначения адресов должна сводить к минимуму ручной труд администратора и вероятность дублирования адресов;

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

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

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

Нетрудно заметить, что эти требования противоречивы - например, адрес, имеющий иерархическую структуру, скорее всего, будет менее компактным, чем плоский. Символьные имена удобны, но из-за переменного формата и потенциально большой длины их передача по сети не очень экономична. Так как все перечисленные требования трудно совместить в рамках какой-либо одной схемы адресации, на практике обычно используется сразу несколько схем, так что сетевой интерфейс компьютера может одновременно иметь несколько адресов-имен. Каждый адрес используется в той ситуации, когда соответствующий вид адресации наиболее удобен. А для преобразования адресов из одного вида в другой используются специальные вспомогательные протоколы, которые называют иногда протоколами разрешения адресов (address resolution).

Примером плоского числового адреса является МАС-адрес, используемый для однозначной идентификации сетевых интерфейсов в локальных сетях. Такой адрес обычно применяется только аппаратурой, поэтому его стараются сделать по возможности компактным и записывают в виде двоичного или шестнадцатеричного значения, например 0081005e24a8. Когда задаются МАС-адреса, вручную ничего делать не нужно, так как они обычно встраиваются в аппаратуру компанией-изготовителем; их называют еще аппаратными (hardware) адресами. Использование плоских адресов является жестким решением - при замене аппаратуры, например сетевого адаптера, изменяется и адрес сетевого интерфейса компьютера.

Типичными представителями иерархических числовых адресов являются сетевые IP- и IPX-адреса. В них поддерживается двухуровневая иерархия, адрес делится на старшую часть - номер сети - и младшую - номер узла. Такое разделение позволяет передавать сообщения между сетями только на основании номера сети, а номер узла используется после доставки сообщения в нужную сеть; точно так же, как название улицы используется почтальоном только после того, как письмо доставлено в нужный город. В последнее время, чтобы сделать маршрутизацию в крупных сетях более эффективной, предлагаются более сложные варианты числовой адресации, в соответствии с которыми адрес имеет три и более составляющих. Такой подход, в частности, реализован в новой версии протокола IPv6, предназначенного для работы в Internet.

Символьные адреса или имена предназначены для запоминания людьми и поэтому обычно несут смысловую нагрузку. Символьные адреса можно использовать как в небольших, так и в крупных сетях. Для работы в больших сетях символьное имя может иметь иерархическую структуру, например ftp-arcH2.ucl.ac.uk. Этот адрес говорит о том, что данный компьютер поддерживает FTP-архив в сети одного из колледжей Лондонского университета (University College London - ucl), и данная сеть относится к академической ветви (ac) Internet Великобритании (United Kingdom - uk). При работе в пределах сети Лондонского университета такое длинное символьное имя явно избыточно и вместо него можно пользоваться кратким символьным именем, на роль которого хорошо подходит самая младшая составляющая полного имени, то есть ftp-arcH2.

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

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

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

Распределенный подход хорош тем, что не предполагает выделения специального компьютера, на котором к тому же часто приходится вручную вводить таблицу соответствия адресов. Недостатком распределенного подхода является необходимость широковещательных сообщений - такие сообщения перегружают сеть, так как они требуют обязательной обработки всеми узлами, а не только узлом назначения. Поэтому распределенный подход используется только в небольших локальных сетях. В крупных сетях распространение широковещательных сообщений по всем ее сегментам становится практически нереальным, поэтому для них характерен централизованный подход. Наиболее известной службой централизованного разрешения адресов является система доменных имен (Domain Name System, DNS) сети Internet.

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

    отдельных интерфейсов;

    их групп (групповые адреса);

    сразу всех сетевых интерфейсов сети (широковещательные адреса).

Адреса могут быть:

    числовыми и символьными;

    аппаратными и сетевыми;

    плоскими и иерахическими.

Для преобразования адресов из одного вида в другой используются протоколы разрешения адресов (address resolution).

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

Еще одной важнейшей задачей построения сетей является создание эффективного механизма коммутации. В следующей лекции мы рассмотрим это фундаментальное понятие с самых общих позиций.

Обобщенная задача коммутации

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

Например, в сети на рис. 5.1 узлы 2 и 4, непосредственно друг с другом не связанные, вынуждены передавать данные через транзитные узлы, в качестве которых могут использоваться, например, узлы 1 и 5. Узел 1 должен выполнить передачу данных с интерфейса A на интерфейс B, а узел 5 - с интерфейса F на B.

Рис. 5.1. Коммутация абонентов через сеть транзитных узлов.

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

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

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

    Определение маршрутов для потоков.

    Сообщение о найденных маршрутах узлам сети.

    Продвижение – распознавание потоков и локальная коммутация на каждом транзитном узле.

    Мультиплексирование и демультиплексирование потоков.

Определение информационных потоков

Понятно, что через один транзитный узел может проходить несколько маршрутов, например через узел 5 проходят данные, направляемые узлом 4 каждому из остальных узлов, а также все данные, поступающие в узлы 3 и 10. Транзитный узел должен уметь распознавать поступающие на него потоки данных, чтобы обеспечивать их передачу именно на те свои интерфейсы, которые ведут к нужному узлу.

Информационным потоком (data flow, data stream) называют последовательность данных, объединенных набором общих признаков, который выделяет эти данные из общего сетевого трафика.

Данные могут быть представлены в виде последовательности байтов или объединены в более крупные единицы данных - пакеты, кадры, ячейки. Например, все данные, поступающие от одного компьютера, можно определить как единый поток, а можно представить как совокупность нескольких подпотоков, каждый из которых в качестве дополнительного признака имеет адрес назначения. Каждый из этих подпотоков, в свою очередь, можно разделить на еще более мелкие подпотоки данных, например, относящихся к разным сетевым приложениям - электронной почте, копированию файлов, обращению к Web-серверу.

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

Однако не всегда достаточно определить поток только парой адресов. Если на одной и той же паре конечных узлов выполняется несколько взаимодействующих по сети приложений, которые предъявляют к ней свои особые требования, поток данных между двумя конечными узлами должен быть разделен на несколько подпотоков, так чтобы для каждого из них можно было проложить свой маршрут. В таком случае выбор пути должен осуществляться с учетом характера передаваемых данных. Например для файлового сервера важно, чтобы передаваемые им большие объемы данных направлялись по каналам с высокой пропускной способностью, а для программной системы управления, которая посылает в сеть короткие сообщения, требующие обязательной и немедленной отработки, при выборе маршрута важнее надежность линии связи и минимальный уровень задержек. В таком примере набор признаков потока должен быть расширен за счет информации, идентифицирующей приложение.

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

Признаки потока могут иметь глобальное или локальное значение. В первом случае они однозначно определяют поток в пределах всей сети, а во втором - в пределах одного транзитного узла. Пара уникальных адресов конечных узлов для идентификации потока - это пример глобального признака. Примером признака, локально определяющего поток в пределах устройства, может служить номер (идентификатор) интерфейса устройства, с которого поступили данные. Например, узел 1 (рис. 5.1 ) может быть сконфигурирован так, что он передает все данные, поступившие с интерфейса А, на интерфейс С, а данные, поступившие с интерфейса D, на интерфейс В. Такое правило позволяет разделить два потока данных - поступающий из узла 2 и поступающий из узла 7 - и направлять их для транзитной передачи через разные узлы сети, в данном случае данные из узла 2 через узел 8, а данные из узла 7 - через узел 5.

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

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

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

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

В качестве критериев выбора могут выступать, например:

    номинальная пропускная способность;

    загруженность каналов связи;

    задержки, вносимые каналами;

    количество промежуточных транзитных узлов;

    надежность каналов и транзитных узлов.

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

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

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