[ Сетевая модель OSI ]

Сетевая модель OSI (англ. Open Systems Interconnection Reference Model — модель взаимодействия открытых систем) — 
абстрактная модель для сетевых коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. 
Каждый уровень обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого 
оборудования и программного обеспечения становится гораздо проще и понятнее.

Разумеется, в настоящее время основным используемым семейством протоколов является TCP/IP, разработка которого не 
была связана с моделью OSI. За все время существования модели OSI она не была реализована, и, по-видимому, не будет 
реализована никогда.Сегодня используется только некоторое подмножество модели OSI. Считается, что модель слишком 
сложна, а её реализация займёт слишком много времени.

Отдельные специалисты утверждают также, что история модели OSI является типичным примером неудачного и оторванного 
от жизни проекта.


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

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


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

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


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

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


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

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


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

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


Сетевой уровень (Network layer)

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


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

Этот уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые 
могут возникнуть. Полученные с физического уровня данные он упаковывает в кадры данных, проверяет на целостность, 
если нужно исправляет ошибки и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или 
несколькими физическими уровнями, контролируя и управляя этим взаимодействием. Спецификация IEEE 802 разделяет этот 
уровень на 2 подуровня — MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC 
(Logical Link Control) обеспечивает обслуживание сетевого уровня. На этом уровне работают коммутаторы, мосты.

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


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

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


Взаимодействие уровней

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


Модель OSI и реальные протоколы

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

Основная недоработка OSI — непродуманный транспортный уровень. На нём OSI позволяет обмен данными между приложениями 
(вводя понятие порта — идентификатора приложения), однако, возможность обмена простыми датаграммами в OSI не 
предусмотрена — транспортный уровень должен образовывать соединения, обеспечивать доставку, управлять потоком и т. п. 
Реальные же протоколы реализуют такую возможность.


Семейство TCP/IP

Семейство TCP/IP имеет два транспортных протокола: TCP, полностью соответствующий OSI, и UDP, отвечающий транспортному 
уровню только наличием порта, обеспечивающий обмен датаграммами между приложениями.


Семейство IPX/SPX

В семействе IPX/SPX, порты (называемые «сокеты» или «гнёзда») появляются в протоколе сетевого уровня IPX, 
обеспечивая обмен датаграммами между приложениями (операционная система резервирует часть сокетов для себя). 
Протокол SPX, в свою очередь, дополняет IPX всеми остальными возможностями транспортного уровня в полном соответствии с 
OSI.

Кроме того, IPX не имеет адреса для хоста, полагаясь на адресацию канального уровня (например, MAC-адреса для Ethernet).


(c) funker777