Эталонная модель osi. Теория:Сетевая модель OSI

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

В период с 1977 по 1984 год профессионалы разработали модель сетевой архитектуры под названием «рекомендуемая модель взаимодействия открытых систем» (the Reference Model of Open Systems Interconnection, OSI). Модель OSI определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень. Модель OSI была разработана на основании большого опыта, полученного при создании компьютерных сетей, в основном глобальных, в 70-е годы. Полное описание этой модели нанимает более 1000 страниц текста.

Термин «рекомендуемая модель взаимодействия открытых систем» часто встре­чается в литературе под названием «модельISO/ OSI», отмечая вклад ISO в ее формирование. Для некоторых профессиональных сетевых программистов эта модель представляет собой образец идеальной сетевой архитектуры.

Модель ISO/OSI использует деление на уровни, чтобы организовать общее представление о структуре сети в виде четко определенных, взаимосвязанных модулей. В сети, поделенной на уровни, каждый уровень служит для исполнения опре­деленной функции или службы сети по отношению к окружающим соседним уровням. Каждый уровень как бы защищает соседний от избыточной информа­ции, способной просочиться от более низкого уровня наверх. Гра­мотно спроектированный уровень должен скрывать все особенности своего функционирования от вышележащего. Опираясь на эти положения, можно создавать сеть, состоящую их функциональных модулей с четко описанным интерфейсом.

В модели ISO/OSI (рис. 22) средства взаимодействия делятся на семь уровней: прикладной, представительский (уровень представления), сеансовый, транспортный, сетевой, канальный (уровень соединения) и физический. Каждый уровень имеет дело с одним определенным аспектом взаимодействия сетевых устройств. Модель описывает системные средства взаимодействия, реализуемые операционной системой, системными утилитами, системными аппаратными средствами. Модель не включает спецификации взаимодействия приложений конечных пользователей. Свои собственные протоколы взаимодействия приложения реализуют, обращаясь к системным средствам. Поэтому необходимо различать уровень взаимодействия приложений и прикладной уровень.

На рисунке 22 изображена простая сеть, созданная на основе модели ISO/OSI. Сеть состоит из двух компьютеров, которые, в свою очередь, составлены из уровней. Стрелки, соединяющие уровни, показывают путь следо­вания данных в сети. Для каждого уровня существует соответствующий протокол (транспортный протокол, сетевой протокол).


Каждый уровень пользуется различными единицами измерения количества данных. Уровни приложения (прикладной уровень), представления, сеансовый, транспортный, - используют термин « сообщением» в качестве единицы измере­ния. Сетевой уровень трактует данные как « пакеты» , а уровень соединения - как « кадр» . Физический уровень имеет дело с битами - последовательностью нулей и единиц

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

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



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

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

Наряду с термином сообщение существуют и другие термины, применяемые сетевыми специалистами для обозначения единиц данных в процедурах обмена. В стандартах ISO для обозначения единиц данных, с которыми имеют дело протоколы разных уровней, используется общее название протокольный блок данных (Protocol Data Unit, PDU). Для обозначения блоков данных определенных уровней, часто используются специальные названия: пакет (packet), дейтаграмма (datagram), сегмент (segment).

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

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

Рассмотрим более подробно функции каждого уровня.

Физический уровень состоит из физических элементов (hardware), служащих непосредственно для передачи информации по сетевым каналам связи. Поэтому линии связи - кабели, соединяющие компьютеры, - относятся к физическому уровню. К нему же относятся и методы электрического преобразования сигна­лов. Различные сетевые технологии, такие как Ethernet, ARCNET, или token ring, относятся к физическому уровню, как задающие параметры преобразова­ния сигналов для передачи по сети. Физический уровень передает данные по битам.

На физическом уровне определяется тип передачи данных: симплексный, полудуплексный или дуплексный.

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

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

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

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

В локальных сетях протоколы канального уровня используются компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах функции канально­го уровня реализуются совместными усилиями сетевых адаптеров и их драйверов. Сетевая карта в компьютере - пример реализации уровня соединения.

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

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

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

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

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

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

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

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

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

На рис. 24 показаны четыре сети, связанные тремя маршрутизаторами. Меж­ду узлами А и В данной сети пролегают два маршрута: первый через маршрутиза­торы 1 и 3, а второй через маршрутизаторы 1, 2 и 3.


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

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

Сообщения сетевого уровня принято называть пакетами (packets). При органи­зации доставки пакетов на сетевом уровне используется понятие «номер сети». В этом случае адрес получателя состоит из старшей части - номера сети и млад­шей - номера узла в этой сети. Все узлы одной сети должны иметь одну и ту же старшую часть адреса, поэтому термину «сеть» на сетевом уровне можно дать и другое, более формальное определение: сеть - это совокупность узлов, сетевой ад­рес которых содержит один и тот же номер сети.

На сетевом уровне определяются два вида протоколов. Первый вид - сетевые протоколы (routed protocols) - реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоколов, называемых протоколами обмена маршрутной информацией или просто протоколами маршру­тизации (routing protocols). С помощью этих протоколов маршрутизаторы собира­ют информацию о топологии межсетевых соединений. Протоколы сетевого уровня реализуются программными модулями операционной системы, а также программ­ными и аппаратными средствами маршрутизаторов.

На сетевом уровне работают протоколы еще одного типа, которые отвечают за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов - Address Resolution Protocol, ARP.

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

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

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

Как правило, все протоколы, начиная с транспортного уровня и выше, реализу­ются программными средствами конечных узлов сети - компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно при­вести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

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

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

Транспортный уровень управляет пропускной способностью сети. Под пропускной способностью (bandwidth) подразумевается максимальное количество данных, проходящих в заданный интервал времени по каналу связи. Для увеличения пропускной способности (и производительности) транспортный уровень открывает несколько сетевых соединений для одного и того же транс­портного соединения. Чтобы сделать это, транспортному уровню требуется мультиплексировать и демультиплексировать передаваемые данные. Термин «мультиплексирование» означает процесс, укладывающий несколько потоков данных в один коммуникационный канал. Термин «демультиплексирование» означает обратное действие. Транспортный уровень передающего компьютера мультиплексирует (объединяет) множество сообщений в одно транспортное соединение. Принимающий данные транспортный уровень, наоборот, демультиплексирует одно соединение во множество сообщений.

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

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

С этого момента непосредственный обмен байтов приобретает внутренний смысл. Лишь этот уровень позволяет выполнять такие функции, как обращение к каталогу сервера.

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

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

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

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

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

Сетезависимые и сетенезависимые уровни. Функции всех уровней модели ISO/OSI могут быть отнесены к одной из двух групп. Либо к функциям, зависящим от конкретной технической реализации сети, либо к функциям, ориентированным на работу с приложениями (рис. 25).

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

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

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

Контрольные вопросы:

1. Что такое модель ISO\OSI?

2. Сколько и какие уровни включает в себя модель ISO\OSI?

3. Опишите функции каждого уровня модели ISO\OSI.

4. Из чего состоят сообщения на каждом уровне.

5. Поясните понятие «вложенность сообщений различных уровней»

Модель взаимодействия открытых систем 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 — это эталонная модель взаимодействия открытых систем, на английском звучит как Open Systems Interconnection Basic Reference Model. Ее назначение в обобщенном представлении средств сетевого взаимодействия.

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

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

Уровни OSI

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

Сетевой протокол — это правила и технические процедуры, позволяющие компьютерам, объединенным в сеть, осуществлять соединение и обмен данными.
Группа протоколов, объединенных единой конечной целью, называется стек протоколов.

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

Задачи компьютера ОТПРАВИТЕЛЯ:

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

Задачи компьютера ПОЛУЧАТЕЛЯ:

  • Принять пакеты данных
  • Удалить из него служебную информацию
  • Скопировать данные в буфер
  • После полного приема всех пакетов сформаровать из них исходный блок данных
  • Отдать его приложению

Для того, чтобы верно произвести все эти операции и нужен единый свод правил, то есть эталонная модель OSI.

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

Разберем их подробнее.

7. Прикладной уровень (Application Layer)

Его задача забрать у сетевого приложения данные и отправить на 6 уровень.

6. Уровень представления (Presentation Layer)

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

5. Сеансовый уровень (Session Layer)

У него много задач.

  1. Установить сеанс связи с получателем. ПО предупреждает компьютер-получатель о том, что сейчас ему будут отправлены данные.
  2. Здесь же происходит распознавание имен и защита:
    • идентификация — распознавание имен
    • аутентификация — проверка по паролю
    • регистрация — присвоение полномочий
  3. Реализация того, какая из сторон осуществляет передачу информации и как долго это будет происходить.
  4. Расстановка контрольных точек в общем потоке данных для того, чтобы в случае потери какой-то части легко было установить, какая именно часть потеряна и следует отправить повторно.
  5. Сегментация — разбивка большого блока на маленькие пакеты.

4. Транспортный уровень (Transport Layer)

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

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

3. Сетевой уровень (Network Layer)

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

2. Канальный уровень (Data Link Layer)

Здесь происходит передача пакета в пределах одного кабеля, то есть одной локальной сети. Он работает только до пограничного маршрутизатора одной локальной сети. К полученному пакету канальный уровень добавляет свой заголовок — MAC адреса отправителя и получателя и в таком виде блок данных уже называется КАДРОМ.

При передачи за пределы одной локальной сети пакету присваивается MAC не хоста (компьютера), а маршрутизатора другой сети. Отсюда как раз появляется вопрос серых и белых IP, о которых шла речб в статье, на которую была выше дана ссылка. Серый — это адрес внутри одной локальной сети, который не используетс яза ее пределами. Белый — уникальный адрес во всем глобальном интернете.

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

1. Физический уровень (Transport layer)

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

Стеки протоколов

TCP/IP — это стек протоколов, который управляет передачей данных как в локальной сети, так и в глобальной сети Интернет. Данный стек содержит 4 уровня, то есть по эталонной модели OSI каждый из них объединяет в себе несколько уровней.

  1. Прикладной (по OSI — прикладной, представления и сеансовый)
    За данный уровень отвечают протоколы:
    • TELNET — удаленный сеанс связи в виде командной строки
    • FTP — протокол передачи файлов
    • SMTP — протокол пересылки почты
    • POP3 и IMAP — приема почтовых отправлений
    • HTTP — работы с гипертекстовыми документами
  2. Транспортный (по OSI то же самое) — это уже описанные выше TCP и UDP.
  3. Межсетевой (по OSI — сетевой) — это протокол IP
  4. Уровень сетевых интерфейсов (по OSI — канальный и физический)За работу этого уровня отвечают драйверы сетевых адаптеров.

Терминология при обозначении блока данных

  • Поток — те данные, которыми оперируются на прикладном уровне
  • Дейтаграмма — блок данных на выходе с UPD, то есть у которого нет гарантированной доставки.
  • Сегмент — гарантированный для доставки блок на выходе с протокола TCP
  • Пакет — блок данных на выходе с протокола IP. поскольку на данном уровне он еще не гарантирован к доставке, то тоже может называться дейтаграммой.
  • Кадр — блок с присвоенными MAC адресами.

Спасибо! Не помогло

Эталонная модель OSI являет собой 7-уровневую сетевую иерархию созданную международной организацией по стандартам (ISO). Представленная модель на рис.1 имеет 2 различных модели:

  • горизонтальная модель на основе протоколов, реализующую взаимодействие процессов и ПО на разных машинах
  • вертикальную модель на основе услуг, реализуемых соседними уровнями друг другу на одной машине

В вертикальной — соседние уровни меняются информацией с помощью интерфейсов API. Горизонтальная модель требует общий протокол для обмена информацией на одном уровне.

Рисунок — 1

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

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

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

  • тип разъемов и кабелей
  • разводка контактов в разъемах
  • схема кодирования сигналов 0 и 1

Самые распространенные виды спецификаций на этом уровне:

  • — параметры несбалансированного последовательного интерфейса
  • — параметры сбалансированного последовательного интерфейса
  • IEEE 802.3 —
  • IEEE 802.5 —

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

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

На этом канале реализована транспортировка и прием кадров данных. Уровень реализует запросы сетевого уровня и использует физический уровень для приема и передачи. Спецификации IEEE 802.x делят этот уровень на два подуровня управление логическим каналом (LLC) и управление доступом к среде (MAC). Самые распространенные протоколы на этом уровне:

  • IEEE 802.2 LLC и MAC
  • Ethernet
  • Token Ring

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

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

На этом уровне происходит деление пользователей сети на группы. Здесь реализуется маршрутизация пакетов на основе MAC-адресов. Сетевой уровень реализует прозрачную передачу пакетов на транспортный уровень. На этом уровне стираются границы сетей разных технологий. работают на этом уровне. Пример работы сетевого уровня показан на рис.2 Самые частые протоколы:

Рисунок — 2

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

На этом уровне потоки информации делятся на пакеты для передачи их на сетевом уровне. Самые распространенные протоколы этого уровня:

  • TCP — протокол управления передачей

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

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

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

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

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

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

  • FTP/TFTP — протокол передачи файлов
  • X 400 — электронная почта
  • Telnet
  • CMIP — управление информацией
  • SNMP — управление сетью
  • NFS — сетевая файловая система
  • FTAM — метод доступа для переноса файлов

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

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

Модель взаимодействия открытых систем (Open System Interconnection, OSI ) определяет различные уровни взаимодействия систем в сетях с коммутацией пакетов , дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень.

Модель OSI была разработана на основании большого опыта, полученного при создании компьютерных сетей, в основном глобальных, в 70-е годы. Полное описание этой модели занимает более 1000 страниц текста.

В модели OSI (рис. 11.6) средства взаимодействия делятся на семь уровней: прикладной, представительный , сеансовый , транспортный, сетевой , канальный и физический. Каждый уровень имеет дело с определенным аспектом взаимодействия сетевых устройств.


Рис. 11.6.

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

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

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

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