Сетевые интерфейсы и протоколы
Главная цель, которая преследуется при соединении компьютеров в сеть - это возможность использования ресурсов каждого компьютера всеми пользователями сети. Для того, чтобы реализовать эту возможность, компьютеры, подсоединенные к сети, должны иметь необходимые для этого средства взаимодействия с другими компьютерами сети. Задача разделения сетевых ресурсов является сложной, она включает в себя решение множества проблем - выбор способа адресации компьютеров и согласование электрических сигналов при установление электрической связи, обеспечение надежной передачи данных и обработка сообщений об ошибках, формирование отправляемых и интерпретация полученных сообщений, а также много других не менее важных задач.
Обычным подходом при решении сложной проблемы является ее декомпозиция на несколько частных проблем - подзадач. Для решения каждой подзадачи назначается некоторый модуль. При этом четко определяются функции каждого модуля и правила их взаимодействия.
Частным случаем декомпозиции задачи является многоуровневое представление, при котором все множество модулей, решающих подзадачи, разбивается на иерархически упорядоченные группы - уровни. Для каждого уровня определяется набор функций-запросов, с которыми к модулям данного уровня могут обращаться модули выше лежащего уровня для решения своих задач. Такой формально определенный набор функций, выполняемых данным уровнем для выше лежащего уровня, а также форматы сообщений, которыми обмениваются два соседних уровня в ходе своего взаимодействия, называется интерфейсом.
Интерфейс определяет совокупный сервис, предоставляемый данным уровнем выше лежащему уровню.
При организации взаимодействия компьютеров в сети каждый уровень ведет "переговоры" с соответствующим уровнем другого компьютера. При передаче сообщений оба участника сетевого обмена должны принять множество соглашений. Например, они должны согласовать уровни и форму электрических сигналов, способ определения длины сообщений, договориться о методах контроля достоверности и т.п. Другими словами, соглашения должны быть приняты для всех уровней, начиная от самого низкого уровня передачи битов, до самого высокого уровня, детализирующего, как информация должна быть интерпретирована.
Правила взаимодействия двух машин могут быть описаны в виде набора процедур для каждого из уровней. Такие формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах, называются протоколами.
Из приведенных определений можно заметить, что понятия "интерфейс" и "протокол", в сущности, обозначают одно и то же, а именно - формализовано заданные процедуры взаимодействия компонент, решающих задачу связи компьютеров в сети. Однако довольно часто в использовании этих терминов имеется некоторый нюанс: понятие "протокол" чаще применяют при описании правил взаимодействия компонент одного уровня, расположенных на разных узлах сети, а "интерфейс" - при описании правил взаимодействия компонентов соседних уровней, расположенных в пределах одного узла.
Протоколы реализуются не только программно-аппаратными средствами компьютеров, но и коммуникационными устройствами. Действительно, в общем случае связь компьютеров в сети осуществляется не напрямую - "компьютер-компьютер", а через различные коммуникационные устройства такие, например, как концентраторы, коммутаторы или маршрутизаторы. В зависимости от типа устройства, в нем должны быть встроены средства, реализующие некоторый набор сетевых протоколов.
При организации взаимодействия могут быть использованы два основных типа протоколов. В протоколах с установлением соединения (connection-oriented network service, CONS) перед обменом данными отправитель и получатель должны сначала установить логическое соединение, то есть договориться о параметрах процедуры обмена, которые будут действовать только в рамках данного соединения. После завершения диалога они должны разорвать это соединение. Когда устанавливается новое соединение, переговорная процедура выполняется заново. Телефон - это пример взаимодействия, основанного на установлении соединения.
Вторая группа протоколов - протоколы без предварительного установления соединения (connectionless network service, CLNS). Такие протоколы называются также дейтаграммными протоколами. Отправитель просто передает сообщение, когда оно готово. Опускание письма в почтовый ящик - это пример связи без установления соединения.
ТОПОЛОГИЯ СЕТИ
Термин "топология" или "топология сети" характеризует физическое расположение компьютеров, кабелей и других компонентов ЛВС. Этот термин используется для описания основной компоновки сети. Топология сети в значительной степени обуславливает все ее характеристики: производительность, унификацию оборудования и технологий, стоимость монтажа и затраты будущих периодов на ее поддержку, ремонтопригодность и надежность и т.п. В частности, выбор той или иной топологии влияет на:
- состав сетевого оборудования, с помощью которого создается сеть;
- будущие характеристики сети;
- возможности расширения сети;
- возможность использование новых технологий в будущем.
Выбор подходящей топологии часто является трудной задачей. Сегодня наиболее популярной топологией стала "звезда-шина", но и она не всегда отвечает требованиям пользователей. В принципе, существует несколько критериев, помогающих выбрать ту или другую топологию, но они не дают однозначного решения, ибо не учитывают ограничений, накладываемых, например самим зданием, в котором монтируется сеть:
- НАДЕЖНОСТЬ. Если нужна очень надежная сеть со встроенной избыточностью, наиболее подходят топологии "кольцо" или "звезда-кольцо".
- СТОИМОСТЬ. В стоимость реализации определенной топологии входят, как минимум, три составляющие: а) установка, б) расширение, в) сопровождение (обслуживание, поиск неисправностей и отказов). Приходится иметь в виду, что монтаж и проверка работоспособности кабельных подсистем всегда во много раз выше его стоимости.
- НАЛИЧИЕ РАНЕЕ ПРОЛОЖЕННЫХ КОММУНИКАЦИЙ. Если в здании существуют ранее проложенные кабельные сегменты и их использование в принципе возможно, то целесообразно их использование в двух случаях: 1) объем коммуникаций велик и находится в хорошем состоянии, 2) не противоречит закладываемым в проект сети принципам.
При выборе конкретного типа сети важно учитывать ее топологию. Как уже упоминалось ранее, основными сетевыми топологиями являются линейная (шинная), звездообразная и кольцевая
Топология играет транспортную роль в схеме метода доступа. Кольцо описывает логический маршрут, а пакет передается от одной станции к следующей, совершая в итоге полный круг
Звездообразная топология обеспечивает защиту от разрыва кабеля. Если кабель рабочей станции будет поврежден, это не приведет к выходу из строя всего сегмента сети. Она позволяет также легко диагностировать проблемы подключения, так как каждая рабочая станция имеет свой собственный кабельный сегмент, подключенный к концентратору. Вы просто ищете разрыв кабеля, который ведет к неработающей станции. Остальная часть сети продолжает нормально работать.
Однако, звездообразная топология имеет и недостатки. Во-первых, она требует много кабеля. Во-вторых, концентраторы часто довольно дороги. В-третьих, кабельные концентраторы превращаются в конгломерат кабелей, которые трудно обслуживать. Однако, в большинстве случаев в такой топологии используется недорогой кабель типа "витая пара". В некоторых случаях можно даже использовать существующие телефонные кабели. Кроме того, для диагностики и тестирования выгодно собирать все кабельные концы в одном месте. По сравнению с концентраторами ArcNet концентраторы Ethernet и MAU Token Ring достаточно дороги. Новые подобные концентраторы включают в себя средства тестирования и диагностики, что делает их еще более дорогими.
Проблемы в сетях с линейной топологией, таких как Ethernet (коаксиальный кабель 10BASE-2) диагностировать труднее. Если кабель порван, поврежден или отключен, то независимо от места разрыва не функционируют все рабочие станции. Чтобы выявить эти проблемы, используются специальные тестирующие устройства.