[ Сетевая модель 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