Поскольку основной функцией сети является соединение между собой различного оборудования, проблема открытости, в частности, стандартизации, для сетей приобретает особое значение. В связи с этим в начале 80-х годов международной организацией по стандартизации ISO (International Standardization Organization) совместно с рядом других организаций была сформулирована и принята модель взаимодействия открытых систем OSI (Open System Interconnection), которая сыграла и играет до сих пор важную роль в развитии сетей [ Таненбаум - Олифер ].
Полное описание модели OSI занимает более 1000 страниц текста. Это связано с тем, что сетевое взаимодействие устройств является сложной задачей. Для решения таких задач обычно используется декомпозиция сложной задачи на более простые. Декомпозиция выполняется таким образом, чтобы количество и сложность связей, а также поток данных между подзадачами были минимальными. В модели OSI было использовано 7 подзадач (уровней), причем декомпозиция выполнена таким образом, что взаимодействие осуществляется только между соседними уровнями.
|
|
Такой подход обеспечил возможность решения задачи взаимодействия систем для каждого уровня отдельно, в том числе независимыми группами разработчиков. В частности, для сетевого взаимодействия устройств необходимо согласовать между собой электрические уровни сигналов, задержки и длительности импульсов, типы соединителей, способы кодирования информации, способы обеспечения достоверности передачи, формы и форматы адресации, форматы данных, способы доступа к сети, способы буферизации данных, способы деления их на пакеты и восстановления целостности сообщений и др.
Семь уровней модели OSI представлены в табл. 2.1.
Табл. 2.1. Эталонная модель OSI | ||||
Номер уровня | Название уровня | Название протокола | Примеры | Название единицы обмена |
Прикладной | Прикладной протокол | FTP, HTTP, SMTP | APDU, сообщение | |
Уровень представления | Протокол уровня представления | SSL | PPDU | |
Сеансовый | Сеансовый протокол | SPDU | ||
Транспортный | Транспортный протокол | TCP, UDP, SPX | TPDU | |
Сетевой | Сетевой | IP, IPX | Пакет | |
Канальный (передачи данных) | Протокол канального уровня | Кадр | ||
Физический | Протокол физического уровня | Бит |
Модель OSI не включает средства взаимодействия между собой приложений, расположенных на разных компьютерах сети, такие, как, например, DDE, OPC или CORBA, а описывает только средства, реализуемые операционной системой, системными утилитами и аппаратурой. Поэтому прикладной уровень нельзя путать с уровнем взаимодействия приложений, который в модель OSI не входит.
Если приложение обращается с запросом к прикладному уровню, то на основании этого запроса программное обеспечение прикладного уровня формирует сообщение, состоящее из заголовка и поля данных, и передает его вниз, на уровень представления. Протокол представительного уровня выполняет требуемые действия, содержащиеся в заголовке прикладного уровня и добавляет к сообщению свою служебную информацию - заголовок представительного уровня, в котором содержатся инструкции для соответствующего уровня получателя сообщения. Сформированное таким образом сообщение с уже двумя заголовками передается вниз сеансовому уровню, который также добавляет к нему свой заголовок. Таким образом, дойдя до физического уровня, сообщение обрастает семью заголовками, после чего оно передается по сети адресату. Когда сообщение достигнет адресата, оно проходит весь стек протоколов в обратном порядке, от физического уровня до прикладного. На каждом уровне выполняются соответствующие функции, содержащиеся в заголовке каждого уровня.
|
|
Большинство уровней модели OSI имеют смысл только в сетях с коммутацией пакетов (а не каналов). Тем не менее, отдельные ее уровни и термины используются практически во всех сетях. Сеансовый уровень и уровень представления на практике используются редко, а сетевой уровень и канальный - практически всегда и сильно перегружены [ Таненбаум ].