Представительный уровень
Многоуровневая модель OSI. Стек протоколов OSI. Структуры основных видов телекоммуникационных сетей: сети доступа, магистральные сети, сети операторов связи.
Сетевая технология - это согласованный набор стандартных протоколов и реализующих их программно-аппаратных средств (например, сетевых адаптеров, драйверов, кабелей и разъемов), достаточный для построения вычислительной сети. Эпитет «достаточный» подчеркивает то обстоятельство, что этот набор представляет собой минимальный набор средств, с помощью которых можно построить работоспособную сеть. Возможно, эту сеть можно улучшить, например, за счет выделения в ней подсетей, что сразу потребует кроме протоколов стандарта Ethernet применения протокола IP, а также специальных коммуникационных устройств - маршрутизаторов. Улучшенная сеть будет, скорее всего, более надежной и быстродействующей, но за счет надстроек над средствами технологии Ethernet, которая составила базис сети.
Модель OSI
Обмен информацией между компьютерами, объединенными в сеть, очень сложная задача. Это связано с тем, что существует много производителей аппаратных и программных средств вычислительных систем. Единственный выход — унифицировать средства сопряжения систем, а именно использовать открытые системы. Открытая система взаимодействует с другими системами в соответствии с принятыми стандартами.
В 1984г. Международная Организация по Стандартизации (ISO) представила индустриальный стандарт — модель взаимодействия открытых систем (Open System Interconnection Reference Model — OSI/RM, в советской литературе — ЭМВОС), чтобы помочь поставщикам создавать совместимые сетевые аппаратные и программные средства. В соответствии с этой моделью выделяются следующие уровни (рис.1):
Рис. 1. Эталонная модель OSI
- физический (Physical);
- канальный (Data Link);
- сетевой (Network);
- транспортный (Transport);
- сеансовый (Session);
- представительский (Presentation) ;
- прикладной (Application).
В соответствии с эталонной моделью OSI эти уровни взаимодействуют так, как показано на рис. 2. Таким образом, сложная задача обмена информацией между компьютерами в сети разбивается на ряд относительно независимых и менее сложных подзадач взаимодействия между смежными уровнями.
Рис. 2. Взаимодействие между уровнями OSI
Связь между уровнями двух сетевых узлов (горизонтальное взаимодействие) выполняется в соответствии с унифицированными правилами — протоколами взаимодействия
В автономной системе передача данных между уровнями (вертикальное взимодействие) реализуется через интерфейсы API
Границу между сеансовым и транспортным уровнями можно рассматривать как границу между протоколами прикладного уровня и протоколами низших уровней. Если прикладной, представительный и сеансовый уровни обеспечивают прикладные процессы сеанса взаимодействия, то четыре низших уровня решают проблемы транспортировки данных.
Два самых низших уровня — физический и канальный — реализуются аппаратными и программными средствами, остальные пять более высоких уровней реализуются, как правило, программными средствами.
При передаче информации от прикладного процесса в сеть на физический уровень происходит ее обработка, которая заключается в разбиении передаваемых данных на отдельные блоки, преобразовании формы представления или кодировки данных в блоке и добавлении к каждому блоку заголовка (header) соответствующего уровня. Каждый заголовок характеризует используемый протокол обработки данных, причем каждый уровень воспринимает в качестве данных весь блок, полученный от предыдущего уровня, включая присоединенный заголовок. Такое построение эталонной модели позволяет заложить (инкапсулировать) в каждый передаваемый по физической среде информационный блок сведения, необходимые для выбора последовательности протоколов для осуществления обратных преобразований на принимающей информацию стороне.
Физический уровень
Этот уровень определяет механические, электрические, процедурные и функциональные характеристики установления, поддержания и размыкания физического соединения между конечными системами. Физический уровень определяет такие характеристики соединения, как уровни напряжений, синхронизацию и физическую скорость передачи данных, максимальные расстояния передачи, конструктивные параметры разъемов и другие аналогичные характеристики. Известные стандарты RS-232-C, V.24 и IEEE 802.3 (Ethernet).
Канальный уровень
Канальный уровень (уровень звена данных, информационно-канальный уровень) отвечает за надежную передачу данных через физический канал, а именно:
- обеспечивает физическую адресацию (в отличие от сетевой или логической адресации);
- обеспечивает обнаружение ошибок в передаче и восстановление данных;
- отслеживает топологию сети и обеспечивает дисциплину использования сетевого канала конечной системой;
- обеспечивает уведомление о неисправностях;
- обеспечивает упорядоченную доставку блоков данных и управление потоком информации.
Для ЛВС канальный уровень разбивается на два подуровня:
- LLC (Logical Link Control) — обеспечивает управление логическим звеном, т.е. собственно функции канального уровня;
- MAC (Media Access Control) — обеспечивает специальные методы доступа к среде распространения.
Сетевой уровень
Этот уровень обеспечивает возможность соединения и выбор маршрута между двумя конечными системами, подключенными к разным подсетям (сегментам), которые могут быть разделены множеством подсетей и могут находиться в разных географических пунктах. Протоколы маршрутизации позволяют сети из маршрутизаторов выбирать оптимальные маршруты через связанные между собой подсети.
Транспортный уровень
Транспортный уровень обеспечивает высшим уровням услуги по транспортировке данных, а именно:
- обеспечивает надежную транспортировку данных через объединенную сеть;
- обеспечивает механизмы для установки, поддержания и упорядоченного завершения действия виртуальных каналов;
- обеспечивает обнаружение и устранение неисправностей транспортировки;
- следит за тем, чтобы конечная система не была перегружена слишком большим количеством данных.
Другими словами, транспортный уровень обеспечивает интерфейс между процессами и сетью, устанавливает логические каналы между процессами и обеспечивает передачу по этим каналам информационных блоков. Эти логические каналы называются транспортными.
Сеансовый уровень
Сеансовый уровень реализует установление, поддержку и завершение сеанса взаимодействия между прикладными процессами абонентов. Сеансовый уровень синхронизирует диалог между объектами представительного уровня , определяет точки синхронизации для промежуточного контроля и восстановления при передаче файлов. Этот уровень также позволяет производить обмен данными в режиме, заданном прикладной программой, или предоставляет возможность выбора режима обмена.
Кроме основной функции управления диалогом сеансовый уровень предоставляет средства для выбора класса услуг и уведомления об исключительных ситуациях (проблемах сеансового, представительного и прикладного уровней).
Представительный уровень
Представительный уровень (уровень представления данных) определяет синтаксис, форматы и структуры представления передаваемых данных (но не затрагивает семантику, значение данных). Для того, чтобы информация, посылаемая из прикладного уровня одной системы, была читаемой на прикладном уровне другой системы, представительный уровень осуществляет трансляцию между известными форматами представления информации за счет использования общего формата представления информации.
Таким образом, этот уровень обеспечивает служебные операции, выбираемые на прикладном уровне, для интерпретации передаваемых и получаемых данных: управление информационным обменом, отображение данных и управление структурированными данными. Эти служебные данные позволяют связывать воедино терминалы и вычислительные средства различных типов.
Прикладной уровень
В отличие от других уровней прикладной уровень — самый близкий к пользователю уровень OSI — не предоставляет услуги другим уровням OSI, однако он обеспечивает прикладные процессы, лежащие за пределами масштаба модели OSI.
Прикладной уровень обеспечивает непосредственную поддержку прикладных процессов и программ конечного пользователя (программ обработки крупномасштабных таблиц, текстовых процессоров, программ банковских терминалов и т.д. ) и управление взаимодействием этих программ с сетью передачи данных:
- идентифицирует и устанавливает наличие предполагаемых партнеров для связи;
- синхронизирует совместно работающие прикладные программы;
- устанавливает соглашение по процедурам устранения ошибок и управления целостностью информации;
- определяет достаточность наличных ресурсов для предполагаемой связи.
Модель OSI не является реализацией, она лишь предлагает порядок организации взаимодействия между компонентами системы. Реализациями этих правил являются стеки протоколов.
Итак, взаимодействие компьютеров в сетях происходит в соответствии с определенными правилами обмена сообщениями и их форматами, то есть в соответствии с определенными протоколами. Иерархически организованная совокупность протоколов, решающих задачу взаимодействия узлов сети, называется стеком коммуникационных протоколов.
Стек OSI
Следует различать стек протоколов OSI и модель OSI. В то время, как модель OSI концептуально определяет процедуру взаимодействия открытых систем, декомпозируя задачу на 7 уровней, стандартизирует назначение каждого уровня и вводит стандартные названия уровней, стек OSI - это набор вполне конкретных спецификаций протоколов, образующих согласованный стек протоколов. Этот стек протоколов поддерживает правительство США в своей программе GOSIP. Все компьютерные сети, устанавливаемые в правительственных учреждениях после 1990 года, должны либо непосредственно поддерживать стек OSI, либо обеспечивать средства для перехода на этот стек в будущем. Тем не менее, стек OSI более популярен в Европе, а не в США, так как в Европе меньше установлено старых сетей, использующих свои собственные протоколы. В Европе также ощущается большая потребность в общем стеке, так как здесь имеется большое количество разных стран.
Это международный, независимый от производителей стандарт. Он может обеспечить взаимодействие между корпорациями, партнерами и поставщиками. Это взаимодействие осложняется из-за проблем с адресацией, именованием и безопасностью данных. Все эти проблемы в стеке OSI частично решены. Протоколы OSI требуют больших затрат вычислительной мощности центрального процессора, что делает их более подходящими для мощных машин, а не для сетей персональных компьютеров. Большинство организаций пока только планируют переход к стеку OSI. Из тех, кто работает в этом направлении, можно назвать Военно-морское ведомство США и сеть NFSNET. Одним из крупнейших производителей, поддерживающих OSI, является компания AT&T. Ее сеть Stargroup полностью базируется на стеке OSI.
По вполне очевидным причинам стек OSI в отличие от других стандартных стеков полностью соответствует модели взаимодействия OSI, он включает спецификации для всех семи уровней модели взаимодействия открытых систем (рис. 1.3).
Рис. 1.3. Стек OSI
На физическом и канальном уровнях стек OSI поддерживает протоколы Ethernet, Token Ring, FDDI, а также протоколы LLC, X.25 и ISDN. Эти протоколы будут подробно обсуждены в других разделах пособия.
Сервисы сетевого, транспортного и сеансового уровней также имеются в стеке OSI, однако они мало распространены. На сетевом уровне реализованы протоколы как без установления соединений, так и с установлением соединений. Транспортный протокол стека OSI в соответствии с функциями, определенными для него в модели OSI, скрывает различия между сетевыми сервисами с установлением соединения и без установления соединения, так что пользователи получают нужное качество обслуживания независимо от нижележащего сетевого уровня. Чтобы обеспечить это, транспортный уровень требует, чтобы пользователь задал нужное качество обслуживания. Определены 5 классов транспортного сервиса, от низшего класса 0 до высшего класса 4, которые отличаются степенью устойчивости к ошибкам и требованиями к восстановлению данных после ошибок.
Сервисы прикладного уровня включают передачу файлов, эмуляцию терминала, службу каталогов и почту. Из них наиболее перспективными являются служба каталогов (стандарт Х.500), электронная почта (Х.400), протокол виртуального терминала (VT), протокол передачи, доступа и управления файлами (FTAM), протокол пересылки и управления работами (JTM). В последнее время ISO сконцентрировала свои усилия именно на сервисах верхнего уровня.
X.400 - это семейство рекомендаций Международного консультативного комитета по телеграфии и телефонии (CCITT), в которых описываются системы пересылки электронных сообщений. На сегодняшний день рекомендации X.400 являются наиболее популярным протоколом обмена сообщениями. Рекомендации Х.400 описывают модель системы обмена сообщениями, протоколы взаимодействия между всеми компонентами этой системы, а также множество видов сообщений и возможности, которыми обладает отправитель по каждому виду отправляемых сообщений.
Рекомендации X.400 определяют следующий минимально необходимый набор услуг, предоставляемых пользователям: управление доступом, ведение уникальных системных идентификаторов сообщений, извещение о доставке или недоставке сообщения с указанием причины, индикация типа содержания сообщения, индикация преобразования содержания сообщения, временные отметки при передаче и доставке, выбор категории доставки (срочная, несрочная, нормальная), многоадресная доставка, задержанная доставка (до определенного момента времени), преобразование содержимого для взаимодействия с несовместимыми почтовыми системами, например, со службами телексной и факсимильной связей, запрос о том, доставлено ли конкретное сообщение, списки рассылки, которые могут иметь вложенную структуру, средства защиты сообщений от несанкционированного доступа, базирующиеся на асимметричной криптосистеме публичных ключей.
Целью рекомендаций X.500 является выработка стандартов глобальной справочной службы. Процесс доставки сообщения требует знания адреса получателя, что при больших размерах сетей представляет собой проблему, поэтому необходимо иметь справочную службу, помогающую получать адреса отправителей и получателей. В общем виде служба X.500 представляет собой распределенную базу данных имен и адресов. Все пользователи потенциально имеют право войти в эту базу данных, используя определенный набор атрибутов.
Над базой данных имен и адресов определены следующие операции:
- чтение - получение адреса по известному имени,
- запрос - получение имени по известным атрибутам адреса,
- модификация, включающая удаление и добавление записей в базе данных.
Основные проблемы реализации рекомендаций X.500 проистекают из масштабности этого проекта, претендующего на роль всемирной справочной службы. Поэтому программное обеспечение, реализующее рекомендации X.500, получается весьма громоздким и предъявляет высокие требования к производительности аппаратуры.
Учет рекомендаций Х.400 и X.500 при проектировании систем электронной почты делает принципиально возможной и концептуально простой стыковку почтовых систем разных производителей.
Протокол VT решает проблему несовместимости различных протоколов эмуляции терминалов. Сейчас пользователю персонального компьютера, совместимого с IBM PC, для одновременной работы с компьютерами VAX, IBM 3090 и HP9000 нужно приобрести три различные программы для эмуляции терминалов различных типов и использующих разные протоколы. Если бы каждый хост-компьютер имел бы в своем составе программное обеспечение протокола эмуляции терминала ISO, то и пользователю бы понадобилась только одна программа, поддерживающая протокол VT. В своем стандарте ISO аккумулировала широко распространенные функции эмуляции терминалов.
Передача файлов - это наиболее распространенный компьютерный сервис. Доступ к файлам, как к локальным, так и к удаленным, нужен всем приложениям - текстовым редакторам, электронной почте, базам данных или программам удаленного запуска. ISO предусматривает такой сервис в протоколе FTAM. Наряду со стандартом X.400, это наиболее популярный стандарт стека OSI. FTAM предусматривает средства для локализации и доступа к содержимому файла и включает набор директив для вставки, замены, расширения и очистки содержимого файла. FTAM также предусматривает средства для манипулирования файлом как единым целым, включая создание, удаление, чтение, открытие, закрытие файла и выбор его атрибутов.
Протокол пересылки и управления работами JTM позволяет пользователям пересылать работы, которые должны быть выполнены на хост-компьютере. Язык управления заданиями, который обеспечивает передачу работ, указывает хост-компьютеру, какие действия и с какими программами и файлами должны быть выполнены. Протокол JTM поддерживает традиционную пакетную обработку, обработку транзакций, ввод удаленных заданий и доступ к распределенным базам данных.