Согласно модели IS0/OSI архитектуру компьютерных сетей следует рассматривать на разных уровнях. Общее число уровней – до семи. Самый верхний уровень – прикладной. На этом уровне пользователь взаимодействует с вычислительной системой. Самый нижний уровень – физический. Он обеспечивает обмен сигналами между устройствами.
Обмен данными в системах связи происходит путем их перемещения с верхнего уровня на нижний, затем транспортировки, и, наконец, обратным воспроизведением на компьютере клиента в результате перемещения с нижнего уровня на верхний (рис. 5.1).
Для обеспечения необходимой совместимости на каждом из семи возможных уровней архитектуры компьютерной сети действуют специальные стандарты, называемые протоколами. Они определяют характер аппаратного взаимодействия компонентов сети (аппаратные протоколы) и характер взаимодействия программ и данных (программные протоколы). Физически функции поддержки протоколов исполняют аппаратные устройства (интерфейсы) и программные средства (программы поддержки протоколов). Программы, выполняющие поддержку протоколов, также называют протоколами.
Так, например, если два компьютера соединены между собой прямым соединением, то на низшем (физическом) уровне протокол их взаимодействия определяют конкретные устройства физического порта (параллельного или последовательного) и механические компоненты (разъемы, кабель и т.п.). На более высоком уровне взаимодействие между компьютерами определяют программные средства, управляющие передачей данных через порты. Для стандартных портов они находятся в базовой системе ввода/вывода (BIOS). На самом высоком уровне протокол взаимодействия обеспечивают приложения операционной системы. Например, для Windows 98 это стандартная программа, прямое кабельное соединение.
В соответствии с используемыми протоколами компьютерные сети принято разделять на локальные (LAN – Local Area Network) и глобальные (WAN – Wide Area Network). Компьютеры локальной сети преимущественно используют единый комплект протоколов для всех участников. По территориальному признаку локальные сети отличаются компактностью. Они могут объединять компьютеры одного помещения, этажа, здания, группы компактно расположенных сооружений.
Глобальные сети имеют, как правило, увеличенные географические размеры. Они могут объединять как отдельные компьютеры, так и отдельные локальные сети, в том числе и использующие различные протоколы.
Назначение всех видов компьютерных сетей определяется двумя функциями:
1) обеспечение совместного использования аппаратных и программных ресурсов сети;
2) обеспечение совместного доступа к ресурсам данных.
Так, например, все участники локальной сети могут совместно использовать одно общее устройство печати (сетевой принтер) или, например, ресурсы жестких дисков одного выделенного компьютера (файлового сервера). Это же относится и к программному, и к информационному обеспечению.
Независимо от того, в какой сети работает некоторый компьютер, функции установленного на нем программного обеспечения условно можно разделить на две группы:
1) управление ресурсами самого компьютера (в том числе и в интересах решения задач для других компьютеров);
2) управление обменом с другими компьютерами (сетевые функции).
Собственными ресурсами компьютера традиционно управляет ОС. Функции сетевого управления реализует сетевое ПО, которое может быть выполнено как в виде отдельных пакетов сетевых программ, так и в виде сетевой ОС.
При разработке сетевого ПО используется иерархический подход, предполагающий определение совокупности сравнительно независимых уровней и интерфейсов между ними. Это позволяет легко модифицировать алгоритмы программ произвольного уровня. Без существенного изменения других уровней. В общем случае допускается упрощение функций некоторого уровня или даже его полная ликвидация.
Для упорядочения разработки сетевого ПО и обеспечения возможности взаимодействия любых вычислительных систем Международная организация по стандартизации (ISO) разработала эталонную модель взаимодействия открытых систем (OSI).
Эталонная модель определяет следующие семь функциональных уровней:
1) физический (physical layer);
2) управления линией (звеном) передачи или канальный (data link);
3) сетевой (network layer);
4) транспортный (transport layer);
5) сеансовый (session layer);
6) представительный (presentation layer);
7) прикладной, или уровень приложений (application layer);
Физический уровень
Физический уровень обеспечивает интерфейс между ЭВМ сети и средой передачи дискретных сигналов. На физическом уровне через абонентские каналы передаются последовательности битов. Управление каналом сводится к выделению начала и конца кадра, несущего в себе передаваемые данные, а также к формированию и приему сигналов определенной физической природы.
Стандарты физического уровня включают рекомендации Х.21 либо Х.21 бис, определяющие механические, электрические, функциональные и процедурные характеристики, необходимые для установления (активизации), поддержания и расторжения (деактивизации) физических соединений.
Канальный уровень
Функции канального уровня состоят в управлении вводом-выводом информации в канале связи. Для повышения достоверности передачи процедуры канального уровня могут предусматривать введение избыточных кодов, повторную передачу данных и другие методы. Формируемые этим уровнем данные группируются в так называемые кадры. Обмен данными между двумя объектами канального уровня может вестись одним из трех способов: дуплексным (одновременно в обоих направлениях), полудуплексным (попеременно в обоих направлениях) или симплексным (в одном направлении).
Сетевой уровень
Сетевой уровень обеспечивает передачу сетевых блоков (пакетов) между узлами сети. Здесь решаются задачи выбора маршрута из числа возможных (при изменении нагрузки или конфигурации сети), управления входящим потоком, буферизации пакетов и т.д. Основная функция сетевого протокола – прокладка в каждом физическом канале совокупности логических каналов (до 4096), что существенно повышает эффективность использования ресурсов физического канала.
Транспортный уровень
Основной функцией транспортного уровня является доставка сообщений (транспортных блоков), которые состоят из сетевых пакетов. С этой целью транспортные объекты сетевого ПО организуют разборку сообщений на передающем конце и сборку сообщений из принимаемых пакетов на приемной стороне. Кроме того, транспортный уровень занимается согласованием различных сетевых уровней с помощью соответствующих шлюзов (согласование сетевых объектов принципиально различных сетей) и мостов (согласование сетевых объектов однотипных сетей).
Для контроля того, что все отправленные пакеты приняты и в них нет ошибок, применяется метод посылки квитанций – квитирование. Квитанции, подтверждающие прием, могут посылаться получателем после приема одного или нескольких пакетов (обычно до 8). В последнем случае говорят о так называемом механизме «окна». Применение этого механизма при неплохом качестве средств связи позволяет уменьшить загрузку коммуникационной сети передаваемой по ней служебной информацией.