Июл 20

Семиуровневая сетевая модель

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

Семиуровневая сетевая модель

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

Наиболее известные сетевые модели:

• Модель OSI (Open System Interconnection), она же Модель ВОС (взаимосвязь открытых систем) — эталонная модель — теоретическая модель, описанная в международных стандартах.
• Модель DOD (Department of Defense) , она же Модель TCP/IP — практически использующаяся модель, принятая для работы в сети Интернет.
• Модель SPX/IPX — модель стека SPX/IPX (семейство протоколов для ЛВС).
• Модель AppleTalk — модель для сетей AppleTalk (протоколы для работы сетей с оборудованием Apple).
• Модель Fibre Channel — модель для высокоскоростных сетей Fibre Channel.

Международная организация по стандартам ISO (International Standardization Organization) разработала базовую модель связи открытых систем OSI для единого представления данных в сетях с неоднородными устройствами и программным обеспечением. Модель описывает правила и процедуры передачи данных в различных сетевых средах при организации сеанса связи. Основными элементами модели являются уровни, прикладные процессы и физические средства соединения.
Каждый уровень модели OSI определяет перечень задачу в процессе передачи данных по сети (рис. 1). Базовая модель является основой для разработки сетевых протоколов. OSI разделяет коммуникационные функции в сети на семь уровней, каждый из которых обслуживает различные части процесса области взаимодействия открытых систем.
Модель OSI описывает только системные средства взаимодействия, не касаясь приложений конечных пользователей. Приложения реализуют свои собственные протоколы взаимодействия, обращаясь к системным средствам.
Рассматриваемая модель определяет взаимодействие открытых систем разных производителей в одной сети, выполняя для них координирующие действия по:
• взаимодействию прикладных процессов;
• формам представления данных;
• единообразному хранению данных;
• управлению сетевыми ресурсами;
• безопасности данных и защите информации;
• диагностике программ и технических средств.
Модель OSI можно подразделить на две модели:
• горизонтальную модель на базе протоколов, обеспечивающую механизм взаимодействия программ и процессов на различных машинах;
• вертикальную модель на основе услуг, обеспечиваемых соседними уровнями друг другу на одной машине.

Рисунок 1 — Модель взаимодействия открытых систем ISO/OSI

Каждый уровень компьютера-отправителя взаимодействует с таким же уровнем компьютера-получателя, как будто он связан напрямую. Такая связь называется логической или виртуальной связью. В действительности взаимодействие осуществляется между смежными уровнями одного компьютера.
Информация на компьютере-отправителе должна пройти через все уровни. Затем она передается по физической среде до компьютера-получателя и опять проходит сквозь все слои, пока не доходит до того же уровня, с которого она была послана на компьютере-отправителе.
В горизонтальной модели двум программам требуется общий протокол для обмена данными. В вертикальной модели соседние уровни обмениваются данными с использованием интерфейсов прикладных программ API (Application Programming Interface).
Перед подачей в сеть данные разбиваются на пакеты. Пакет (packet) – это единица информации, передаваемая между станциями сети. При отправке данных пакет проходит последовательно через все уровни программного обеспечения. На каждом уровне к пакету добавляется управляющая информация данного уровня (заголовок), необходимая для успешной передачи данных по сети.
На принимающей стороне пакет проходит через все уровни в обратном порядке. На каждом уровне протокол этого уровня читает информацию пакета, затем удаляет информацию, добавленную к пакету на этом же уровне отправляющей стороной, и передает пакет следующему уровню. Когда пакет дойдет до Прикладного уровня, вся управляющая информация будет удалена из пакета, и данные примут свой первоначальный вид.
Каждый уровень модели выполняет свою функцию. Чем выше уровень, тем более сложную задачу он решает.
Отдельные уровни модели OSI удобно рассматривать как группы программ, предназначенных для выполнения конкретных функций. Один уровень, к примеру, отвечает за обеспечение преобразования данных из ASCII в EBCDIC и содержит программы, необходимые для выполнения этой задачи.
Каждый уровень обеспечивает сервис для вышестоящего уровня, запрашивая в свою очередь сервис у нижестоящего уровня. Верхние уровни запрашивают сервис почти одинаково: как правило, это требование маршрутизации каких-то данных из одной сети в другую. Практическая реализация принципов адресации данных возложена на нижние уровни.
Прикладной уровень (Application layer) –обеспечивает прикладным процессам средства доступа к области взаимодействия, является верхним (седьмым) уровнем и непосредственно примыкает к прикладным процессам. В действительности прикладной уровень – набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например с помощью протокола электронной почты. Специальные элементы прикладного сервиса обеспечивают сервис для конкретных прикладных программ, таких как программы пересылки файлов и эмуляции терминалов. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message).
Прикладной уровень выполняет следующие функции:
1. Выполнение различных видов работ.
- передача файлов;
- управление заданиями;
- управление системой и т. д.
2. Идентификация пользователей по их паролям, адресам, электронным подписям;
3. Определение функционирующих абонентов и возможности доступа к новым прикладным процессам;
4. Определение достаточности имеющихся ресурсов;
5. Организация запросов на соединение с другими прикладными процессами;
6. Передача заявок представительскому уровню на необходимые методы описания информации;
7. Выбор процедур планируемого диалога процессов;
8. Управление данными, которыми обмениваются прикладные процессы и синхронизация взаимодействия прикладных процессов;
9. Определение качества обслуживания (время доставки блоков данных, допустимой частоты ошибок);
10. Соглашение об исправлении ошибок и определении достоверности данных;
11. Согласование ограничений, накладываемых на синтаксис (наборы символов, структура данных).
Указанные функции определяют виды сервиса, которые прикладной уровень предоставляет прикладным процессам. Кроме этого, прикладной уровень передает прикладным процессам сервис, предоставляемый физическим, канальным, сетевым, транспортным, сеансовым и представительским уровнями.
На прикладном уровне необходимо предоставить в распоряжение пользователей уже переработанную информацию. С этим может справиться системное и пользовательское программное обеспечение.
Прикладной уровень отвечает за доступ приложений в сеть. Задачами этого уровня является перенос файлов, обмен почтовыми сообщениями и управление сетью.
Уровень представления данных (Presentation layer). Функции данного уровня – представление данных, передаваемых между прикладными процессами, в нужной форме. Этот уровень обеспечивает то, что информация, передаваемая прикладным уровнем, будет понятна прикладному уровню в другой системе. В случаях необходимости уровень представления в момент передачи информации выполняет преобразование форматов данных в некоторый общий формат представления, а в момент приема, соответственно, выполняет обратное преобразование. Таким образом, прикладные уровни могут преодолеть, например, синтаксические различия в представлении данных. Такая ситуация может возникнуть в ЛВС с неоднотипными компьютерами (IBM PC и Macintosh), которым необходимо обмениваться данными. Так, в полях баз данных информация должна быть представлена в виде букв и цифр, а зачастую и в виде графического изображения. Обрабатывать же эти данные нужно, например, как числа с плавающей запятой.
Представительный уровень выполняет следующие основные функции:
1. Генерация запросов на установление сеансов взаимодействия прикладных процессов.
2. Согласование представления данных между прикладными процессами.
3. Реализация форм представления данных.
4. Представление графического материала (чертежей, рисунков, схем).
5. Шифрование и кодирование данных.
6. Передача запросов на прекращение сеансов.
Протоколы уровня представления данных обычно являются составной частью протоколов трех верхних уровней модели.
Сеансовый уровень (Session layer) – это уровень, определяющий процедуру проведения сеансов между пользователями или прикладными процессами.
Сеансовый уровень обеспечивает управление диалогом для того, чтобы фиксировать, какая из сторон является активной в настоящий момент, а также предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, вместо того чтобы начинать все сначала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется.
Сеансовый уровень управляет передачей информации между прикладными процессами, координирует прием, передачу и выдачу одного сеанса связи. Кроме того, сеансовый уровень содержит дополнительно функции управления паролями, управления диалогом, синхронизации и отмены связи в сеансе передачи после сбоя вследствие ошибок в нижерасположенных уровнях. Функции этого уровня состоят в координации связи между двумя прикладными программами, работающими на разных рабочих станциях. Это происходит в виде хорошо структурированного диалога. В число этих функций входит создание сеанса, управление передачей и приемом пакетов сообщений во время сеанса и завершение сеанса.
На сеансовом уровне определяется, какой будет передача между двумя прикладными процессами:
- полудуплексной (процессы будут передавать и принимать данные по очереди).
- дуплексной (процессы будут передавать данные, и принимать их одновременно).
В полудуплексном режиме сеансовый уровень выдает тому процессу, который начинает передачу, маркер данных. Когда второму процессу приходит время отвечать, маркер данных передается ему. Сеансовый уровень разрешает передачу только той стороне, которая обладает маркером данных.
Сеансовый уровень обеспечивает выполнение следующих функций:
1. Установление и завершение на сеансовом уровне соединения между взаимодействующими системами.
2. Выполнение нормального и срочного обмена данными между прикладными процессами.
3. Управление взаимодействием прикладных процессов.
4. Синхронизация сеансовых соединений.
5. Извещение прикладных процессов об исключительных ситуациях.
6. Установление в прикладном процессе меток, позволяющих после отказа либо ошибки восстановить его выполнение от ближайшей метки.
7. Прерывание в нужных случаях прикладного процесса и его корректное возобновление.
8. Прекращение сеанса без потери данных.
9. Передача особых сообщений о ходе проведения сеанса.
Сеансовый уровень отвечает за организацию сеансов обмена данными между оконечными машинами. Протоколы сеансового уровня обычно являются составной частью протоколов трех верхних уровней модели.
Транспортный уровень (Transport Layer) – предназначен для передачи пакетов через коммуникационную сеть. На транспортном уровне пакеты разбиваются на блоки. На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Работа транспортного уровня заключается в том, чтобы обеспечить приложениям или верхним уровням модели (прикладному и сеансовому) передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.
Транспортный уровень определяет адресацию физических устройств (систем, их частей) в сети. Этот уровень гарантирует доставку блоков информации адресатам и управляет этой доставкой. Его главной задачей является обеспечение эффективных, удобных и надежных форм передачи информации между системами. Когда в процессе обработки находится более одного пакета, транспортный уровень контролирует очередность прохождения пакетов. Если проходит дубликат принятого ранее сообщения, то данный уровень опознает это и игнорирует сообщение.
В функции транспортного уровня входят:
1. Управление передачей по сети и обеспечение целостности блоков данных.
2. Обнаружение ошибок, частичная их ликвидация и сообщение о неисправленных ошибках.
3. Восстановление передачи после отказов и неисправностей.
4. Укрупнение или разделение блоков данных.
5. Предоставление приоритетов при передаче блоков (нормальная или срочная).
6. Подтверждение передачи.
7. Ликвидация блоков при тупиковых ситуациях в сети.
Начиная с транспортного уровня, все вышележащие протоколы реализуются программными средствами, обычно включаемыми в состав сетевой операционной системы.
На транспортном уровне широко используются протоколы ICMP, UDP и TCP. Протокол ICMP служит для передачи служебных сообщений. Протокол описан в RFC-792, существует перевод данного RFC на русский язык: RFC-792-ru.

Название протокола ICMP расшифровывается как Internet Control Message Protocol, таким образом, протокол претендует на то, чтобы контролировать за функционированием Интернета. Примером может быть сообщение ICMP redirect. Пусть есть сеть, в которой есть три машины A, B и C. Машина C является роутером (маршрутизатором), но у машины A в качестве маршрутизатора по каким-то причинам прописана машина B. В этом случае, когда машина A попробует связаться с внешним миром (например, с машиной D), она обратится к машине B, а та вернёт ей ICMP redirect сообщение, с тем чтобы на адрес D машина A обращалась напрямую через C. Таким образом, в данном случае, сообщения ICMP влияют на внутренние таблицы маршрутизации. Наиболее известные сообщения ICMP: echo request и echo reply. Обычно они используются в целях тестирования.
Протокол UDP служит для передачи данных без коррекции ошибок.
В задачу протокола UDP входит разбиение потока данных на пакеты. Каждый пакет имеет заголовок, в котором указаны IP (или IPv6) адреса источника и назначения и порты источника и назначения. Номера портов идентифицируют программы на хосте источнике и на хосте назначения, между которыми осуществляется передача данных.
Протокол UDP не только не гарантирует доставку пакетов, но не гарантирует, что доставленные пакеты придут в том же порядке, в котором они были высланы. Однако в надёжных сетях во имя роста производительности можно в некоторых приложениях с успехом использовать протокол UDP.
Протокол TCP отличается от протокола UDP тем, что в нём действует механизм контроля ошибок. Для реализации этого механизма в заголовок добавлено дополнительное поле с флагами TCP. Каждый пакет TCP подтверждается пакетом с флагом ACK (acknowledgement). Один пакет с флагом ACK может подтверждать получение нескольких пакетов. В протоколе оговорена сложная процедура подтверждений, которые происходят при открытии и закрытии соединения.


В таблице 2 приведена структура пакета TCP. В начале пакета идёт заголовок, в котором указаны адреса и порты источника и назначения пакета, флаги TCP (в таблице указаны сокращённо по первой букве) и прочая служебная информация, затем собственно данные.
Сетевой уровень (Network Layer) – обеспечивает прокладку каналов, соединяющих абонентские и административные системы через коммуникационную сеть, выбор маршрута наиболее быстрого и надежного пути.
Сетевой уровень устанавливает связь в вычислительной сети между двумя системами и обеспечивает прокладку виртуальных каналов между ними. Виртуальный или логический канал – это такое функционирование компонентов сети, которое создает взаимодействующим компонентам иллюзию прокладки между ними нужного тракта. Кроме этого, сетевой уровень сообщает транспортному уровню о появляющихся ошибках. Сообщения сетевого уровня принято называть пакетами (packet). В них помещаются фрагменты данных. Сетевой уровень отвечает за их адресацию и доставку.
Прокладка наилучшего пути для передачи данных называется маршрутизацией, и ее решение является главной задачей сетевого уровня. Эта проблема осложняется тем, что самый короткий путь не всегда самый лучший. Часто критерием при выборе маршрута является время передачи данных по этому маршруту; оно зависит от пропускной способности каналов связи и интенсивности трафика, которая может изменяться с течением времени. Некоторые алгоритмы маршрутизации пытаются приспособиться к изменению нагрузки, в то время как другие принимают решения на основе средних показателей за длительное время. Выбор маршрута может осуществляться и по другим критериям, например, надежности передачи.
При организации доставки пакетов на сетевом уровне используется понятие номер сети. В этом случае адрес получателя состоит из номера сети и номера компьютера в этой сети.
Сетевой уровень отвечает за деление пользователей на группы и маршрутизацию пакетов на основе преобразования MAC-адресов в сетевые адреса. Сетевой уровень обеспечивает также прозрачную передачу пакетов на транспортный уровень.
Сетевой уровень выполняет функции:
1. Создание сетевых соединений и идентификация их портов.
2. Обнаружение и исправление ошибок, возникающих при передаче через коммуникационную сеть.
3. Управление потоками пакетов.
4. Организация (упорядочение) последовательностей пакетов.
5. Маршрутизация и коммутация.
6. Сегментирование и объединение пакетов.
На сетевом уровне определяется два вида протоколов. Первый вид относится к определению правил передачи пакетов с данными конечных узлов от узла к маршрутизатору и между маршрутизаторами. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоколов, называемых протоколами обмена маршрутной информацией. С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений.

Канальный уровень (Data Link) – единицей обрабатываемой информации канального уровня являются кадры (frame). Кадры – это логически организованная структура, в которую можно помещать данные. Задача канального уровня – передавать кадры от сетевого уровня к физическому уровню. На физическом уровне пересылаются биты. При этом не учитывается, что физическая среда передачи может быть занята. Поэтому одной из задач канального уровня является проверка доступности среды передачи. Другой задачей канального уровня является реализация механизмов обнаружения и коррекции ошибок.
Канальный уровень обеспечивает корректность передачи каждого кадра, помещая специальную последовательность бит, в начало и конец каждого кадра, чтобы отметить его, а также вычисляет контрольную сумму, суммируя все байты кадра определенным способом и добавляя контрольную сумму к кадру. Когда кадр приходит, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой из кадра. Если они совпадают, кадр считается правильным и принимается. Если же контрольные суммы не совпадают, то фиксируется ошибка.
Задача канального уровня – брать пакеты, поступающие с сетевого уровня и готовить их к передаче, укладывая в кадр соответствующего размера. Этот уровень обязан определить, где начинается и где заканчивается блок, а также обнаруживать ошибки передачи.
На этом же уровне определяются правила использования физического уровня узлами сети. Электрическое представление данных в ЛВС (биты данных, методы кодирования данных и маркеры) распознаются на этом и только на этом уровне. Здесь обнаруживаются и исправляются (путем требований повторной передачи данных) ошибки.
Канальный уровень определяет доступ к среде и управление передачей посредством процедуры передачи данных по каналу.
При больших размерах передаваемых блоков данных канальный уровень делит их на кадры и передает кадры в виде последовательностей.
При получении кадров уровень формирует из них переданные блоки данных. Размер блока данных зависит от способа передачи, качества канала, по которому он передается.
В локальных сетях протоколы канального уровня используются компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов.
Канальный уровень может выполнять следующие виды функций:
1. Организация (установление, управление, расторжение) канальных соединений и идентификация их портов.
2. Организация и передача кадров.
3. Обнаружение и исправление ошибок.
4. Управление потоками данных.
5. Обеспечение прозрачности логических каналов (передачи по ним данных, закодированных любым способом).
Протоколы канального уровня – ARCnet, ATM, Controller Area Network (CAN), Econet, Ethernet, Ethernet Automatic Protection Switching (EAPS), Fiber Distributed Data Interface (FDDI), Frame Relay, High-Level Data Link Control (HDLC), IEEE 802.2 (provides LLC functions to IEEE 802 MAC layers), Link Access Procedures, D channel (LAPD), IEEE 802.11 wireless LAN, LocalTalk, Multiprotocol Label Switching (MPLS), Point-to-Point Protocol (PPP), Point-to-Point Protocol over Ethernet (PPPoE), Serial Line Internet Protocol (SLIP, устарел), StarLan, Token ring, Unidirectional Link Detection (UDLD), x.25.
В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой.
Физический уровень (Physical Layer) – предназначен для сопряжения с физическими средствами соединения. Физические средства соединения – это совокупность физической среды, аппаратных и программных средств, обеспечивающая передачу сигналов между системами. Физическая среда –материальная субстанция, через которую осуществляется передача сигналов. Физическая среда является основой, на которой строятся физические средства соединения. В качестве физической среды широко используются эфир, металлы, оптическое стекло и кварц.
Физический уровень состоит из Подуровня стыковки со средой и Подуровня преобразования передачи. Первый из них обеспечивает сопряжение потока данных с используемым физическим каналом связи. Второй осуществляет преобразования, связанные с применяемыми протоколами. Физический уровень обеспечивает физический интерфейс с каналом передачи данных, а также описывает процедуры передачи сигналов в канал и получения их из канала. На этом уровне определяются электрические, механические, функциональные и процедурные параметры для физической связи в системах. Физический уровень получает пакеты данных от вышележащего канального уровня и преобразует их в оптические или электрические сигналы, соответствующие 0 и 1 бинарного потока. Эти сигналы посылаются через среду передачи на приемный узел.
Физический уровень выполняет следующие функции:
1. Установление и разъединение физических соединений.
2. Передача сигналов в последовательном коде и прием.
3. Прослушивание, в нужных случаях, каналов.
4. Идентификация каналов.
5. Оповещение о появлении неисправностей и отказов.
Физический уровень определяет такие виды сред передачи данных как оптоволокно, витая пара, коаксиальный кабель, спутниковый канал передач данных и т. п. Стандартными типами сетевых интерфейсов, относящимися к физическому уровню, являются: V.35, RS-232, RS-485, RJ-11, RJ-45, разъемы AUI и BNC.
Протоколы физического уровня: IEEE 802.15 (Bluetooth), IRDA, EIA RS-232, EIA-422, EIA-423, RS-449, RS-485, DSL, ISDN, SONET/SDH, 802.11 Wi-Fi, Etherloop, GSM Um radio interface, ITU и ITU-T, TransferJet, ARINC 818, G.hn/G.9960.

Использованные книги

  1. Олифер В.Г., Олифер Н.А. Компьютерные сети. СПб, Питер, 1999.
  2. Дейтел Г. Операционные системы. Основы и принципы: Третье издание./ В 2-х томах, пер. с англ. – М.: ООО «Бином-Пресс», 2996. – Т.1 1024 с.; Т.2 398 с.
  3. Норенков И.П., Трудоношин В.А. Телекоммуникационные технологии и сети.- М:. Изд-во МГТУ им Н.Э. Баумана, 2000. 348с.
  4. Таненбаум Э. Компьютерные сети. – СПб: Питер, 2007

* * *

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

Поделитесь статьей со своими друзьями
Общайтесь со мной:
comments: Closed

Comments are closed.