Что такое модель оси. Модель взаимодействия открытых систем (OSI). Функции транспортного уровня модели osi

В литературе наиболее часто принято начинать описание уровней модели OSI с 7-го уровня, называемого прикладным, на котором пользовательские приложения обращаются к сети. Модель OSI заканчивается 1-м уровнем - физическим, на котором определены стандарты, предъявляемые независимыми производителями к средам передачи данных:

  • тип передающей среды (медный кабель, оптоволокно, радиоэфир и др.),
  • тип модуляции сигнала,
  • сигнальные уровни логических дискретных состояний (нули и единицы).

Любой протокол модели OSI должен взаимодействовать либо с протоколами своего уровня, либо с протоколами на единицу выше и/или ниже своего уровня. Взаимодействия с протоколами своего уровня называются горизонтальными, а с уровнями на единицу выше или ниже - вертикальными. Любой протокол модели OSI может выполнять только функции своего уровня и не может выполнять функций другого уровня, что не выполняется в протоколах альтернативных моделей.

Каждому уровню с некоторой долей условности соответствует свой операнд - логически неделимый элемент данных, которым на отдельном уровне можно оперировать в рамках модели и используемых протоколов: на физическом уровне мельчайшая единица - бит, на канальном уровне информация объединена в кадры, на сетевом - в пакеты (датаграммы), на транспортном - в сегменты. Любой фрагмент данных, логически объединённых для передачи - кадр, пакет, датаграмма - считается сообщением. Именно сообщения в общем виде являются операндами сеансового, представительского и прикладного уровней.

К базовым сетевым технологиям относятся физический и канальный уровни.

Прикладной уровень

Прикладной уровень (уровень приложений; англ. application layer ) - верхний уровень модели, обеспечивающий взаимодействие пользовательских приложений с сетью:

  • позволяет приложениям использовать сетевые службы:
    • удалённый доступ к файлам и базам данных,
    • пересылка электронной почты;
  • отвечает за передачу служебной информации;
  • предоставляет приложениям информацию об ошибках;
  • формирует запросы к уровню представления.

Протоколы прикладного уровня: RDP , HTTP , SMTP , SNMP , POP3 , FTP , XMPP , OSCAR , Modbus , SIP , TELNET и другие.

Уровень представления

Зачастую ошибочно называемый представительским уровнем, этот уровень (англ. presentation layer ) обеспечивает преобразование протоколов и кодирование/декодирование данных. Запросы приложений, полученные с прикладного уровня, на уровне представления преобразуются в формат для передачи по сети, а полученные из сети данные преобразуются в формат приложений. На этом уровне может осуществляться сжатие/распаковка или шифрование/дешифрование, а также перенаправление запросов другому сетевому ресурсу, если они не могут быть обработаны локально.

Уровень представлений обычно представляет собой промежуточный протокол для преобразования информации из соседних уровней. Это позволяет осуществлять обмен между приложениями на разнородных компьютерных системах прозрачным для приложений образом. Уровень представлений обеспечивает форматирование и преобразование кода. Форматирование кода используется для того, чтобы гарантировать приложению поступление информации для обработки, которая имела бы для него смысл. При необходимости этот уровень может выполнять перевод из одного формата данных в другой.

Уровень представлений имеет дело не только с форматами и представлением данных, он также занимается структурами данных, которые используются программами. Таким образом, уровень 6 обеспечивает организацию данных при их пересылке.

Чтобы понять, как это работает, представим, что имеются две системы. Одна использует для представления данных расширенный двоичный код обмена информацией EBCDIC , например, это может быть мейнфрейм компании IBM , а другая - американский стандартный код обмена информацией ASCII (его использует большинство других производителей компьютеров). Если этим двум системам необходимо обменяться информацией, то нужен уровень представлений, который выполнит преобразование и осуществит перевод между двумя различными форматами.

Другой функцией, выполняемой на уровне представлений, является шифрование данных, которое применяется в тех случаях, когда необходимо защитить передаваемую информацию от доступа несанкционированными получателями. Чтобы решить эту задачу, процессы и коды, находящиеся на уровне представлений, должны выполнить преобразование данных. На этом уровне существуют и другие подпрограммы, которые сжимают тексты и преобразовывают графические изображения в битовые потоки, так, что они могут передаваться по сети.

Стандарты уровня представлений также определяют способы представления графических изображений. Для этих целей может использоваться формат PICT - формат изображений, применяемый для передачи графики QuickDraw между программами.

Другим форматом представлений является тэгированный формат файлов изображений TIFF , который обычно используется для растровых изображений с высоким разрешением . Следующим стандартом уровня представлений, который может использоваться для графических изображений, является стандарт, разработанный Объединённой экспертной группой по фотографии (Joint Photographic Expert Group); в повседневном пользовании этот стандарт называют просто JPEG .

Существует другая группа стандартов уровня представлений, которая определяет представление звука и кинофрагментов. Сюда входят интерфейс электронных музыкальных инструментов (англ. Musical Instrument Digital Interface , MIDI) для цифрового представления музыки, разработанный Экспертной группой по кинематографии стандарт MPEG , используемый для сжатия и кодирования видеороликов на компакт-дисках, хранения в оцифрованном виде и передачи со скоростями до 1,5 Мбит/с, и QuickTime - стандарт, описывающий звуковые и видео элементы для программ, выполняемых на компьютерах Macintosh и PowerPC.

Протоколы уровня представления: AFP - Apple Filing Protocol , ICA - Independent Computing Architecture , LPP - Lightweight Presentation Protocol, NCP - NetWare Core Protocol , NDR - Network Data Representation , XDR - eXternal Data Representation , X.25 PAD - Packet Assembler/Disassembler Protocol .

Сеансовый уровень

Транспортный уровень

Сетевой уровень

Канальный уровень

При разработке стеков протоколов на этом уровне решаются задачи помехоустойчивого кодирования. К таким способам кодирования относится код Хемминга , блочное кодирование, код Рида-Соломона .

В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой. Это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI (англ. ) , NDIS , UDI .

Физический уровень

На этом уровне также работают концентраторы , повторители сигнала и медиаконвертеры .

Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. К физическому уровню относятся физические, электрические и механические интерфейсы между двумя системами. Физический уровень определяет такие виды сред передачи данных как оптоволокно , витая пара , коаксиальный кабель , спутниковый канал передач данных и т.п. Стандартными типами сетевых интерфейсов, относящимися к физическому уровню, являются: V.35 , RS-232 , RS-485 , RJ-11 , RJ-45 , разъёмы AUI и BNC .

При разработке стеков протоколов на этом уровне решаются задачи синхронизации и линейного кодирования. К таким способам кодирования относится код NRZ , код RZ , MLT-3 , PAM5 , Манчестер II .

Протоколы физического уровня:

Модель взаимодействия открытых систем OSI (англ. Open System Interconnection) – это набор стандартов взаимодействия сетевого оборудования между собой. Также ее называют стеком протоколов. Разработана для того, чтобы различные объекты сети вне зависимости от производителя и типа (компьютер, сервер, коммутатор, хаб и даже браузер, отображающий html страницу) соблюдали единые правила работы с данными и могли успешно осуществлять информационный обмен.

Сетевые устройства бывают разными по функциям и «близости» к конечному потребителю – человеку или приложению. Поэтому модель OSI описывает 7 уровней взаимодействия, на каждом из которых работают свои протоколы, неделимые порции данных, устройства. Разберем принцип работы семиуровневой модели OSI с примерами.

Сетевые уровни модели OSI

Физический

Отвечает за физическую передачу данных между устройствами на большие и не очень расстояния. Он описывает виды сигналов и способы их обработки для разных сред передачи: проводов (витой пары и коаксиала), оптического волокна, радиолинии (wi-fi и bluetooth), инфракрасного канала. Единицы данных на этом уровне – биты, преобразованные в электрические импульсы, свет, радиоволны и т.д. Также тут фиксируются типы разъемов, их распиновка.

Устройства, работающие на физическом уровне модели ОСИ (OSI Model): повторители сигнала, концентраторы (хабы). Это наименее «интеллектуальные» устройства, задачей которых является усиление сигнала или его разветвление без какого-либо анализа и модификации.

Канальный

Находясь над физическим, должен «опустить» правильно оформленные данные в среду передачи , предварительно приняв их от верхнего уровня. На приемном конце протоколы канального уровня «поднимают» информацию из физики, проверяют полученное на наличие ошибок и передают выше по стеку протоколов.

Для осуществления процедур проверки необходимо, во-первых, сегментировать данные для передачи на порции (кадры), во-вторых, дополнять их служебной информацией (заголовками).

Также тут впервые всплывает понятие адреса. Здесь – это MAC (англ. Media Access Control) адрес – шестибайтовый идентификатор сетевого устройства, необходимый для указания в кадрах в качестве получателя и отправителя при передаче данных в рамках одного локального сегмента.

Устройства: сетевой мост (bridge), коммутатор. Их преимущественное отличие от «нижних» устройств – ведение таблиц MAC адресов по своим портам и рассылка/фильтрация трафика уже только по необходимым направлениям.

Сетевой

Объединяет целые сети. Решает глобальные логистические задачи по передаче данных между разными сегментами больших сетей: маршрутизацию, фильтрацию, оптимизацию и контроль качества.

Единица передаваемой информации – пакеты. Адресация узлов и сетей производится присвоением им 4-байтовых номеров – IP (англ. Internet Protocol) адресов, иерархически организованных, и позволяющих гибко настраивать взаимную логическую видимость сегментов сетей.

Также здесь появляются и привычные символьные имена узлов , за соответствие которых IP адресам отвечают протоколы сетевого уровня. Устройства, работающие на этом этаже модели OSI – маршрутизаторы (роутеры, шлюзы). Реализуя в себе все три первых уровня стека протоколов, они объединяют собой разные сети, перенаправляют пакеты из одной в другую, выбирая по определенным правилам их маршрут, ведут статистику передачи, обеспечивают безопасность за счет таблиц фильтрации.

Транспортный

Транспортировка в этом случае подразумевается логическая (так как за физическую отвечает 1 ступень стека): установление соединения с противоположным узлом на соответствующем уровне, подтверждение доставки полученных данных, контроль их качества. Так работает протокол TCP (англ. Transmission Control Protocol). Передаваемая порция информации – блок или сегмент.

Для передачи же потоковых массивов (датаграмм) используется протокол UDP (англ. User Datagram Protocol).

Адрес – десятичный номер виртуального программного порта конкретной рабочей станции или сервера.

Сеансовый

Управляет процессом передачи в терминах пользовательского доступа . Ограничивает время соединения (сессии) одного узла с другим, контролирует права доступа, синхронизирует начало, конец обмена.

Представительский

Полученные снизу – из сессии – данные необходимо правильно представить конечному пользователю или приложению. Корректная декодировка, декомпрессия данных, если браузер экономил ваш трафик — эти операции выполняются на предпоследнем шаге.

Прикладной

Прикладной или уровень прикладных приложений. Серфинг в браузере, получение и отправка почты, доступ к другим узлам сети посредством удаленного доступа – вершина сетевой модели OSI.

Пример работы сетевой модели

Рассмотрим на живом примере принцип работы стека протоколов. Пусть пользователь компьютера шлет в мессенджере фотографию другу с подписью. Спускаемся по уровням модели:

  • На прикладном формируется сообщение: помимо фото и текста к посылке добавляется информация об адресе сервера сообщений (символьное имя www.xxxxx.com при помощи специального протокола превратится в десятичный IP адрес), идентификаторе получателя на этом сервере, возможно еще какая-нибудь служебная информация.
  • На представительском — фотография может быть сжата, если, ее размер велик с точки зрения мессенджера и его настроек.
  • Сеансовый отследит логическую подключенность пользователя к серверу, его статус. Также им будет контролироваться процесс передачи данных после его начала, отслеживание сессии.
  • На транспортном данные разбиваются на блоки. Добавляются служебные поля транспортного уровня с контрольными суммами, опциями контроля ошибок и т.д. Одна фотография может превратиться в несколько блоков.
  • На сетевом — блоки оборачиваются служебной информацией, в которой содержатся в том числе адрес узла-отправителя и адрес IP сервера сообщений. Именно эта информация позволит IP пакетам дойти до сервера, возможно, через весь мир.
  • На канальном , данные IP пакетов упаковываются в кадры с добавлением служебных полей, в частности MAC адресов. Адрес собственной сетевой карты будет помещен в поле отправителя, а в поле получателя будет помещен MAC шлюза по умолчанию опять же из собственных сетевых настроек (вряд ли компьютер находится с сервером в одной сети, соответственно MAC его неизвестен, а шлюз по умолчанию, например, домашнего роутера – известен).
  • На физическом — биты из кадров будут транслированы в радиоволны, и дойдут посредством wi-fi протокола до домашнего роутера.
  • Там информация поднимется по стеку протоколов уже до 3 уровня стека роутера, далее будет произведено перенаправление пакетов до маршрутизаторов провайдера. И так далее, пока на сервере мессенджера, на самом верхнем уровне сообщение и фотография в исходных видах не попадут на личное дисковое пространство отправителя, затем получателя. И затем начнется аналогичный путь информации уже к адресату сообщения, когда тот выйдет в онлайн и установит сессию с сервером.
OSI включает семь уровней. На рис. 1.5 показана модель взаимодействия двух устройств: узла источника (source) и узла назначения ( destination ). Совокупность правил, по которым происходит обмен данными между программно-аппаратными средствами, находящимися на одном уровне, называется протоколом . Набор протоколов называется стеком протоколов и задается определенным стандартом. Взаимодействие между уровнями определяется стандартными интерфейсами .


Рис. 1.5.

Взаимодействие соответствующих уровней является виртуальным , за исключением физического уровня, на котором происходит обмен данными по кабелям, соединяющим компьютеры. На рис. 1.5 приведены также примеры протоколов, управляющих взаимодействием узлов на различных уровнях модели OSI . Взаимодействие уровней между собой внутри узла происходит через межуровневый интерфейс , и каждый нижележащий уровень предоставляет услуги вышележащему.

Виртуальный обмен между соответствующими уровнями узлов A и B ( рис. 1.6) происходит определенными единицами информации. На трех верхних уровнях – это сообщения или данные (Data) , на транспортном уровне – сегменты (Segment) , на сетевом уровне – пакеты (Packet) , на канальном уровне – кадры (Frame ) и на физическом – последовательность битов.

Для каждой сетевой технологии существуют свои протоколы и свои технические средства, часть из которых имеет условные обозначения, приведенные на рис. 1.5 . Данные обозначения введены фирмой Cisco и стали общепринятыми. Среди технических средств физического уровня следует отметить кабели, разъемы, повторители сигналов (repeater) , многопортовые повторители или концентраторы (hub), преобразователи среды (transceiver) , например, преобразователи электрических сигналов в оптические и наоборот. На канальном уровне – это мосты (bridge), коммутаторы (switch) . На сетевом уровне – маршрутизаторы (router) . Сетевые карты или адаптеры ( Network Interface Card – NIC ) функционируют как на канальном, так и на физическом уровне, что обусловлено сетевой технологией и средой передачи данных .


Рис. 1.6.

При передаче данных от источника к узлу назначения подготовленные на прикладном уровне передаваемые данные последовательно проходят от самого верхнего, Прикладного уровня 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 . Когда необходимость проверки правильности доставленного сообщения отсутствует, то используется более простой и быстрый протокол дейтаграмм пользователя ( User Datagram Protocol – UDP ).

Сетевой уровень (Network Layer) 3 адресует сообщение, задавая единице передаваемых данных (пакету) логические сетевые адреса узла назначения и узла источника (IP-адреса ), определяет маршрут , по которому будет отправлен пакет данных , транслирует логические сетевые адреса в физические, а на приемной стороне – физические адреса в логические. Сетевые логические адреса принадлежат пользователям.

Канальный уровень (Data Link) 2 формирует из пакетов кадры данных (frames). На этом уровне задаются физические адреса устройства-отправителя и устройства-получателя данных. Например, физический адрес устройства может быть прописан в ПЗУ сетевой карты компьютера. На этом же уровне к передаваемым данным добавляется контрольная сумма , определяемая с помощью алгоритма циклического кода . На приемной стороне по контрольной сумме определяют и по возможности исправляют ошибки.

Физический уровень (Physical) 1 осуществляет передачу потока битов по соответствующей физической среде (электрический или оптический кабель , радиоканал ) через соответствующий интерфейс . На этом уровне производится кодирование данных, синхронизация передаваемых битов информации.

Протоколы трех верхних уровней являются сетенезависимыми, три нижних уровня являются сетезависимыми. Связь между тремя верхними и тремя нижними уровнями происходит на транспортном уровне.

Важным процессом при передаче данных является инкапсуляция ( encapsulation ) данных. Передаваемое сообщение, сформированное приложением, проходит три верхних сетенезависимых уровня и поступает на транспортный уровень , где делится на части и каждая часть инкапсулируется (помещается) в сегмент данных ( рис. 1.7). В заголовке сегмента содержится номер протокола прикладного уровня, с помощью которого подготовлено сообщение, и номер протокола, который будет обрабатывать данный сегмент.


Рис. 1.7.

На сетевом уровне сегмент инкапсулируется в пакет данных, заголовок (header ) которого содержит, кроме прочего, сетевые (логические) адреса отправителя информации (источника) – Source Address (SA ) и получателя (назначения) – Destination Address (DA ). В данном курсе – это IP -адреса.

На канальном уровне пакет инкапсулируется в кадр или фрейм данных, заголовок которого содержит физические адреса узла передатчика и приемника, а также другую информацию. Кроме того, на этом уровне добавляется трейлер (концевик) кадра, содержащий информацию, необходимую для проверки правильности принятой информации. Таким образом, происходит обрамление данных заголовками со служебной информацией, т. е. инкапсуляция данных.

Название информационных единиц на каждом уровне, их размер и другие параметры инкапсуляции задаются согласно протоколу единиц данных ( Protocol Data Unit – PDU ). Итак, на трех верхних уровнях – это сообщение (Data) , на Транспортном уровне 4 – сегмент (Segment) , на Сетевом уровне 3 – пакет (Packet) , на Канальном уровне 2 – кадр (Frame) , на Физическом Уровне 1 – последовательность бит .

Помимо семиуровневой OSI модели на практике применяется четырехуровневая модель TCP / IP ( рис. 1.8).


Рис. 1.8.

Прикладной уровень модели TCP / IP по названию совпадает с названием модели OSI , но по функциям гораздо шире, поскольку охватывает три верхних сетенезависимых уровня (прикладной, представительский и сеансовый). Транспортный уровень обеих моделей и по названию, и по функциям одинаков. Сетевой уровень модели OSI соответствует межсетевому (Internet ) уровню модели TCP / IP , а два нижних уровня (канальный и физический) представлены объединенным уровнем доступа к сети (Network Access ).


Рис. 1.9.

Таким образом, Транспортный уровень , обеспечивающий надежность передачи данных, функционирует только на конечных узлах, что снижает задержку передачи сообщения по всей сети от одного конечного узла до другого. В приведенном примере ( рис. 1.9) протокол IP функционирует на всех узлах сети, а стек протоколов TCP / IP – только на конечных узлах.

Краткие итоги

  1. Телекоммуникационная сеть образуется совокупностью абонентов и узлов связи, соединенных линиями (каналами) связи.
  2. Различают сети: с коммутацией каналов , когда телекоммуникационные узлы выполняют функции коммутаторов , и с коммутацией пакетов (сообщений), когда телекоммуникационные узлы выполняют функции маршрутизаторов.
  3. Для создания маршрута в разветвленной сети необходимо задавать адреса источника и получателя сообщения . Различают физические и логические адреса .
  4. Сети передачи данных с коммутацией пакетов подразделяются на локальные и глобальные.
  5. Сети технологии IP являются дейтаграммными, когда отсутствует предварительное соединение конечных узлов и нет подтверждения приема сообщения.
  6. Высокую надежность обеспечивает

Для согласования работы устройств сети от разных производителей, обеспечения взаимодействия сетей, которые используют различную среду распространения сигнала создана эталонная модель взаимодействия открытых систем (ВОС). Эталонная модель построена по иерархическому принципу. Каждый уровень обеспечивает сервис вышестоящему уровню и пользуется услугами нижестоящего уровня.

Обработка данных начинается с прикладного уровня. После этого, данные проходят через все уровни эталонной модели, и через физический уровень отправляются в канал связи. На приеме происходит обратная обработка данных.

В эталонной модели OSI вводятся два понятия: протокол и интерфейс .

Протокол – это набор правил, на основе которых взаимодействуют уровни различных открытых систем.

Интерфейс – это совокупность средств и методов взаимодействия между элементами открытой системы.

Протокол определяет правила взаимодействия модулей одного уровня в разных узлах, а интерфейс – модулей соседних уровней в одном узле.

Всего существует семь уровней эталонной модели OSI. Стоит отметить, что в реальных стеках используется меньше уровней. Например, в популярном TCP/IP используется всего четыре уровня. Почему так? Объясним чуть позже. А сейчас рассмотрим каждый из семи уровней в отдельности.

Уровни модели OSI:

  • Физический уровень. Определяет вид среды передачи данных, физические и электрические характеристики интерфейсов, вид сигнала. Этот уровень имеет дело с битами информации. Примеры протоколов физического уровня: Ethernet, ISDN, Wi-Fi.
  • Канальный уровень. Отвечает за доступ к среде передачи, исправление ошибок, надежную передачу данных. На приеме полученные с физического уровня данные упаковываются в кадры после чего проверяется их целостность. Если ошибок нет, то данные передаются на сетевой уровень. Если ошибки есть, то кадр отбрасывается и формируется запрос на повторную передачу. Канальный уровень подразделяется на два подуровня: MAC (Media Access Control) и LLC (Locical Link Control). MAC регулирует доступ к разделяемой физической среде. LLC обеспечивает обслуживание сетевого уровня. На канальном уровне работают коммутаторы. Примеры протоколов: Ethernet, PPP.
  • Сетевой уровень. Его основными задачами являются маршрутизация – определение оптимального пути передачи данных, логическая адресация узлов. Кроме того, на этот уровень могут быть возложены задачи по поиску неполадок в сети (протокол ICMP). Сетевой уровень работает с пакетами. Примеры протоколов: IP, ICMP, IGMP, BGP, OSPF).
  • Транспортный уровень. Предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, как они были переданы. Выполняет сквозной контроль передачи данных от отправителя до получателя. Примеры протоколов: TCP, UDP.
  • Сеансовый уровень. Управляет созданием/поддержанием/завершением сеанса связи. Примеры протоколов: L2TP, RTCP.
  • Представительский уровень. Осуществляет преобразование данных в нужную форму, шифрование/кодирование, сжатие.
  • Прикладной уровень. Осуществляет взаимодействие между пользователем и сетью. Взаимодействует с приложениями на стороне клиента. Примеры протоколов: HTTP, FTP, Telnet, SSH, SNMP.

После знакомства со эталонной моделью, рассмотрим стек протоколов TCP/IP.

В модели TCP/IP определено четыре уровня. Как видно из рисунка выше – один уровень TCP/IP может соответствовать нескольким уровням модели OSI.

Уровни модели TCP/IP:

  • Уровень сетевых интерфейсов. Соответствует двум нижним уровням модели OSI: канальному и физическому. Исходя из этого, понятно, что данный уровень определяет характеристики среды передачи (витая пара, оптическое волокно, радиоэфир), вид сигнала, способ кодирования, доступ к среде передачи, исправление ошибок, физическую адресацию (MAC-адреса). В модели TCP/IP на этом уровне работает протокол Ethrnet и его производные (Fast Ethernet, Gigabit Ethernet).
  • Уровень межсетевого взаимодействия. Соответствует сетевому уровню модели OSI. Берет на себя все его функции: маршрутизацию, логическую адресация (IP-адреса). На данном уровне работает протокол IP.
  • Транспортный уровень. Соответствует транспортному уровню модели OSI. Отвечает за доставку пакетов от источника до получателя. На данному уровне задействуется два протокола: TCP и UDP. TCP является более надежным, чем UDP за счет создания предварительного соединения, запросов на повторную передачу при возникновении ошибок. Однако, в то же время, TCP более медленный, чем UDP.
  • Прикладной уровень. Его главная задача – взаимодействие с приложениями и процессами на хостах. Примеры протоколов: HTTP, FTP, POP3, SNMP, NTP, DNS, DHCP.

Инкапсуляция – это метод упаковки пакета данных, при котором независимые друг от друга служебные заголовки пакета абстрагируются от заголовков нижестоящих уровней путем их включения в вышестоящие уровни.

Рассмотрим на конкретном примере. Пусть мы хотим попасть с компьютера на сайт. Для этого наш компьютер должен подготовить http-запрос на получение ресурсов веб-сервера, на котором хранится нужная нам страница сайта. На прикладном уровне к данным (Data) браузера добавляется HTTP-заголовок. Далее на транспортном уровне к нашему пакету прибавляется TCP-заголовок, содержащий номера портов отправителя и получателя (80 порт – для HTTP). На сетевом уровне формируется IP-заголовок, содержащий IP-адреса отправителя и получателя. Непосредственно перед передачей, на канальном уровне добавляется Ethrnet-заголовок, который содержит физические (MAC-адреса) отправителя и получателя. После всех этих процедур пакет в виде битов информации передается по сети. На приеме происходит обратная процедура. Web-сервер на каждом уровне будет проверять соответствующий заголовок. Если проверка прошла удачно, то заголовок отбрасывается и пакет переходит на верхний уровень. В противном случае весь пакет отбрасывается.

В сегодняшней статье я хочу вернуться к основам, и расскажу о модели взаимодействия открытых систем OSI . Данный материал будет полезен начинающим системным администраторам и всем тем, кто интересуется построением компьютерных сетей.

Все составляющие сети, начиная со среды передачи данных и заканчивая оборудованием, функционируют и взаимодействуют друг с другом согласно своду правил, которые описаны в так называемой модели взаимодействия открытых систем .

Модель взаимодействия открытых систем OSI (Open System Interconnection) разработана международной организацией по стандартам ISO (Inernational Standarts Organization).

Согласно модели OSI, данные, передаваемые от источника к адресату, проходят семь уровней . На каждом уровне выполняется определенная задача, что в итоге не только гарантирует доставку данных в конечный пункт, но и делает их передачу независимой от применяемых для этого средств. Таким образом, достигается совместимость между сетями с разными топологиями и сетевым оборудованием.

Разделение всех сетевых средств по уровням упрощает их разработку и применение. Чем выше уровень, тем более сложную задачу он решает. Первые три уровня модели OSI (физический, канальный, сетевой ) тесно связаны с сетью и используемым сетевым оборудованием. Последние три уровня (сеансовый, уровень представления данных, прикладной ) реализуются средствами операционной системы и прикладных программ. Транспортный уровень выступает в качестве посредника между этими двумя группами.

Перед пересылкой через сеть, данные разбиваются на пакеты , т.е. порции информации, организованные определенным образом, чтобы они были понятны принимающим и передающим устройствам. При отправке данных пакет последовательно обрабатывается средствами всех уровней модели OSI, начиная с прикладного и заканчивая физическим. На каждом уровне к пакету добавляется управляющая информация данного уровня (называемая заголовком пакета ), которая необходима для успешной передачи данных по сети.

В результате это сетевое послание начинает напоминать многослойный бутерброд, который должен быть “съедобным” для получившего его компьютера. Для этого необходимо придерживаться определенных правил обмена данными между сетевыми компьютерами. Такие правила получили названия протоколов .

На принимающей стороне пакет проходит обработку средствами всех уровней модели OSI в обратном порядке, начиная с физического и заканчивая прикладным. На каждом уровне соответствующие средства, руководствуясь протоколом уровня, читают информацию пакета, затем удаляют информацию, добавленную к пакету на этом же уровне отправляющей стороной, и передают пакет средствами следующего уровня. Когда пакет дойдет до прикладного уровня, вся управляющая информация будет удалена из пакета, и данные примут свой первоначальный вид.

Теперь рассмотрим работу каждого уровня модели OSI подробнее:

Физический уровень – самый нижний, за ним находится непосредственно канал связи, через который осуществляется передача информации. Он участвует в организации связи, учитывая особенности среды передачи данных. Так, он содержит все сведения о среде передачи данных: уровень и частоту сигнала, наличие помех, уровень затухания сигнала, сопротивление канала и т.д. Кроме того, именно он отвечает за передачу потока информации и преобразование ее в соответствии с существующими методами кодирования. Работа физического уровня изначально возлагается на сетевое оборудование.
Стоит отметить, что именно с помощью физического уровня определяется проводная и беспроводная сеть. В первом случае в качестве физической среды используется кабель, во втором – любой вид беспроводной связи, например радиоволны или инфракрасное излучение.

Канальный уровень выполняет самую сложную задачу – обеспечивает гарантированную передачу данных с помощью алгоритмов физического уровня и проверяет корректность полученных данных.

Прежде чем инициировать передачу данных, определяется доступность канала их передачи. Информация передается блоками, которые носят название кадров , или фреймов . Каждый такой кадр снабжается последовательностью бит в конце и начале блока, а также дополняется контрольной суммой. При приеме такого блока на канальный уровень получатель должен проверить целостность блока и сравнить принятую контрольную сумму с контрольной суммой, идущей в его составе. Если они совпадают, данные считаются корректными, иначе фиксируется ошибка и требуется повторная передача. В любом случае отправителю отсылается сигнал с результатом выполнения операции, и так происходит с каждым кадром. Таким образом, вторая важная задача канального уровня – проверка корректности данных.

Канальный уровень может реализовываться как аппаратно (например, с помощью коммутаторов), так и с помощью программного обеспечения (например, драйвера сетевого адаптера).

Сетевой уровень необходим для выполнения работы по передаче данных с предварительным определением оптимального пути движения пакетов. Поскольку сеть может состоять из сегментов с разными топологиями, главная задача сетевого уровня – определить кратчайший путь, попутно преобразовывая логические адреса и имена сетевых устройств в их физическое представление. Этот процесс носит название маршрутизации , и важность его трудно переоценить. Обладая схемой маршрутизации, которая постоянно обновляется в связи с возникновением разного рода “заторов” в сети, передача данных осуществляется в максимально короткие сроки и с максимальной скоростью.

Транспортный уровень используется для организации надежной передачи данных, которая исключает потерю информации, ее некорректность или дублирование. При этом контролируются соблюдение правильной последовательности при передаче-получении данных, деление их на более мелкие пакеты или объединение в более крупные для сохранения целостности информации.

Сеансовый уровень отвечает за создание, сопровождение и поддержание сеанса связи на время, необходимое для завершения передачи всего объема данных. Кроме того, он производит синхронизацию передачи пакетов, осуществляя проверку доставки и целостности пакета. В процессе передачи данных создаются специальные контрольные точки. Если при передаче-приеме произошел сбой, недостающие пакеты отправляются заново, начиная с ближайшей контрольной точки, что позволяет передать весь объем данных в максимально короткий срок, обеспечивая в целом хорошую скорость.

Уровень представления данных (или, как его еще называют, представительский уровень ) является промежуточным, его основная задача – преобразование данных из формата для передачи по сети в формат, понятный более высокому уровню, и наоборот. Кроме того, он отвечает за приведение данных к единому формату: когда информация передается между двумя абсолютно разными сетями с разным форматом данных, то прежде, чем их обработать, необходимо привести их к такому виду, который будет понятен как получателю, так и отправителю. Именно на этом уровне применяются алгоритмы шифрования и сжатия данных.

Прикладной уровень – последний и самый верхний в модели OSI. Отвечает за связь сети с пользователями – приложениями, которым требуется информация от сетевых служб всех уровней. С его помощью можно узнать все, что происходило в процессе передачи данных, а также информацию об ошибках, возникших в процессе их передачи. Кроме того, данный уровень обеспечивает работу всех внешних процессов, осуществляемых за счет доступа к сети – баз данных, почтовых клиентов, менеджеров загрузки файлов и т.д.

На просторах сети интернет я нашел картинку, на которой неизвестный автор представил сетевую модель OSI в виде бургера. Считаю, это очень запоминающийся образ. Если вдруг в какой-то ситуации (например, на собеседовании при устройстве на работу) вам понадобиться по памяти перечислить все семь уровней модели OSI в правильном порядке – просто вспомните данную картинку, и это вам поможет. Для удобства я перевел названия уровней с английского на русский язык:На сегодня это всё. В следующей статье я продолжу тему и расскажу про .