Сложность сетевых структур и разнообразие телекоммуникационных устройств, выпускаемых различными фирмами, привели к необходимости стандартизации как устройств, так и процедур обмена данными между пользователями. Международная организация стандартов (International Standards Organization - ISO) создала эталонную модель взаимодействия открытых систем (Open System Interconnection reference model - OSI), которая определяет концепцию и методологию создания сетей и систем передачи данных. Модель ISO/OSI описывает стандартные правила функционирования устройств и программных средств при обмене данными между узлами (компьютерами) в открытой системе. Открытая система состоит из программно-аппаратных средств, способных взаимодействовать между собой при использовании стандартных правил и устройств сопряжения (интерфейсов).
Модель ISO/OSI включает семь уровней. На рис. 14.5 показана модель взаимодействия двух устройств: узла источника – source и узла назначения – estination.
Рис.14.5 - Семиуровневая модель ISO/OSI
Правила, по которым происходит обмен данными между программно-аппаратными средствами, находящимися на одном уровне, называется протоколом. Набор протоколов называется стеком протоколов и задается определенным стандартом.
Взаимодействие соответствующих уровней является виртуальным, за исключением физического уровня, на котором происходит обмен данными по кабелям, соединяющим компьютеры. Взаимодействие уровней между собой происходит через межуровневый интерфейс и каждый нижележащий уровень предоставляет услуги вышележащему.
Виртуальный обмен между соответствующими уровнями узлов HostA и HostB (рис.14.4) происходит определенными единицами информации. На трех верхних уровнях – это сообщения или данные (Data). На транспортном уровне – сегменты (Segment), на сетевом уровне – пакеты (Packet), на канальном уровне – кадры (Frame) и на физическом передается поток битов.
Рис.14.6 - Устройства и единицы информации соответствующих уровней
Для каждой сетевой технологии существуют свои протоколы и свои технические средства, часть из которых имеет условные обозначения, приведенные на рис.14.6. Данные обозначения введены фирмой Cisco и стали общепринятыми. Среди технических средств физического уровня следует отметить кабели, разъемы, повторителей сигналов (repeater), многопортовые повторители или концентраторы (hub), преобразователи среды (transceiver), например, преобразователи электрических сигналов в оптические и наоборот. На канальном уровне это мосты (bridge), коммутаторы (switch). На сетевом уровне – маршрутизаторы (router). Сетевые адаптеры (Network Interface Card – NIC) функционируют как на канальном, так и на физическом уровне.
При передаче данных от источника к узлу назначения, подготовленные на прикладном уровне передаваемые данные последовательно проходят от самого верхнего Прикладного уровня 7 узла источника информации до самого нижнего – Физического уровня 1, затем передаются по физической среде узлу назначения, где последовательно проходят от уровня 1 до уровня 7.
Самый верхний Прикладной уровень (Application Layer) 7 оперирует наиболее общей единицей данных – сообщением. На этом уровне реализуется управление общим доступом к сети, потоком данных, сетевыми службами, такими как FTP, TFTP, HTTP, SMTP, SNMP и др.
Представительский уровень (Presentation Layer) 6 изменяет форму представления данных. Например, передаваемые с уровня 7 данные преобразуются в общепринятый формат ASCII. При приеме данных происходит обратный процесс. На уровне 6 также происходит шифрация и сжатие данных.
Сеансовый (Session Layer) уровень 5 устанавливает соединение двух компьютеров, определяет, какой компьютер является передатчиком, а какой приемником, задает для передающей стороны время передачи.
Транспортный уровень (Transport Layer) 4 из длинного сообщения узла источника информации формирует сегменты определенного объема, а короткие сообщения может объединять в один сегмент. В узле назначения происходит обратный процесс. Кроме того, транспортный уровень обеспечивает надежную доставку пакетов. При обнаружении потерь и ошибок на этом уровне формируется запрос повторной передачи, при этом используется протокол TCP. Когда необходимость проверки правильности доставленного сообщения отсутствует, то используется более простой протокол UDP.
Сетевой уровень (Network Layer) 3 адресует сообщение, задавая единице передаваемых данных (пакету) логический сетевой адрес, определяет маршрут, по которому будет отправлен пакет данных, транслирует логические сетевые адреса в физические, а на приемной стороне – физические адреса в логические.
Канальный уровень (Data Link) 2 формирует из пакетов кадры данных (frames). На этом уровне задаются физические адреса устройства-отправителя и устройства-получателя данных. На этом же уровне к передаваемым данным производится прибавление контрольной суммы, определяемой с помощью алгоритма циклического кода. На приемной стороне по контрольной сумме определяют и по возможности исправляют ошибки.
Физический уровень (Physical) 1 осуществляет передачу потока битов по соответствующей физической среде (электрический или оптический кабель, радиоканал) через соответствующий интерфейс. На этом уровне производится кодирование данных, синхронизация передаваемых битов информации.
Протоколы трех верхних уровней являются сетенезависимыми, три нижних уровня являются сетезависимыми. Связь между тремя верхними и тремя нижними уровнями происходит на транспортном уровне.
Важным процессом при передаче данных являетсяинкапсуляция(encapsulation) данных. Передаваемый поток данных, сформированный приложением, проходит три верхних сетенезависимых уровня и поступает на транспортный уровень, где формируются сегменты данных (рис. 14.7).
Рис.14.7 - Инкапсуляция данных
На сетевом уровне к сегменту добавляется заголовок (header), который содержит специфическую для данного уровня информацию, прежде всего, сетевые (логические) адреса отправителя информации (источника) – Source Address (SA) и адрес получателя (назначения) – Destination Address (DA). При этом формируется пакет данных.
На канальном уровне к пакету добавляется новый заголовок, содержащий физические адреса источника и следующего узла сети, через который пройдет сообщение, а также другую информацию. При этом формируется кадрили фрейм данных. Кроме того, на этом уровне добавляется трейлер (концевик) кадра, содержащий информацию, необходимую для проверки правильности принятой информации. Таким образом, происходит обрамление данных заголовками со служебной информацией, т.е. инкапсуляция данных.
Помимо модели OSI на практике используется также четырехуровневая модель TCP/IP (Рис.14.8).
Рис.14.8 - Модель TCP/IP
Прикладной уровень модели TCP/IP по названию совпадает с названием модели OSI, но по функциям гораздо шире, поскольку охватывает три верхних сетенезависимых уровня (прикладной, представительский и сеансовый). Транспортный уровень обеих моделей и по названию, и по функциям одинаков. Сетевой уровень модели OSI соответствует межсетевому (internet) уровню модели TCP/IP, а два нижних уровня (канальный и физический) представлены объединенным уровнем Network Access.