Модель OSI

Модель OSI
Данные Уровень
Данные Прикладной
доступ к сетевым службам
Данные Представление
представления и кодирования данных
Данные Сеансовый
управления сеансом связи
Блоки Транспортный
безопасное и надежное соединение "точка - точка"
Пакеты Сетевой
определения маршрута и IP (логическая адресация)
Фото Канальный
MAC и LLC (физическая адресация)
Биты Физический
кабель, сигналы, бинарная передача

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

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

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

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


1. История

В 1978 году Международный комитет по стандартизации ( ISO) разработал стандарт архитектуры ISO 7498, для объединения различных сетей. В разработке участвовало 7 комитетов, каждому из них был отведен свой уровень. В 1980 году IEEE опубликовал спецификацию 802, детально описала механизмы взаимодействия физических устройств на канальном и физическом уровнях модели OSI. В 1984 году спецификация модели OSI пересмотрели и приняли как международный стандарт для сетевых коммуникаций.


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

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

Уровень OSI Протоколы
прикладной HTTP, gopher, Telnet, DNS, SMTP, SNMP, CMIP, FTP, TFTP, SSH, IRC, AIM, NFS, NNTP, NTP, SNTP, XMPP, FTAM, APPC, X.400, X.500, AFP, LDAP, SIP, IETF, RTP, RTCP, ITMS, Modbus TCP, BACnet IP, IMAP, POP3, SMB, MFTP, BitTorrent, e2k, PROFIBUS

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

отражение ASN.1, XML, TDI, XDR, NCP, AFP, ASCII, Unicode
сеансовый ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS, PPTP
транспортное TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, STP, TFTP
сетевой IPv4, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, SKIP
канальный (Ланки данных) ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token Ring, PPP, PPPoE, StarLan, WiFi, PPTP, L2F, L2TP, PROFIBUS
физический RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, RJ-11, T-carrier (T1, E1), модификации стандарта Ethernet : 10BASE-T, 10BASE2, 10BASE5, 100BASE-TX, 100BASE-FX, 100BASE-T, 1000BASE-T, 1000BASE-TX, 1000BASE-SX

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

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


2.2. Уровень отображения (Presentation layer)

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

В современных сетях используются 3 основных типа среды передачи: медный кабель (copper), оптическое волокно (fiber) и беспроводное среду передачи (wireless). Тип сигнала, с помощью которого осуществляется передача данных, зависит от типа среды передачи. Для медного кабеля сигналы, представляющие биты данных являются электрическими импульсами, для оптического волокна - импульсами света. В случае использования беспроводных соединений сигналы являются радиоволнами (электромагнитными волнами).

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

Технологии физического уровня определяются стандартами, которые разрабатываются следующими организациями: The International Organization for Standardization (ISO), The Institute of Electrical and Electronics Engineers (IEEE), The American National Standards Institute (ANSI), The International Telecommunication Union (ITU), The Electronics Industry Alliance / Telecommunications Industry Association (EIA / TIA) и т.д.. Данные стандарты охватывают 4 области, принадлежащих физическому уровню: физические и электрические свойства среды передачи, механические свойства (материалы, размеры, паи контактов коннекторов), кодирования (представления битов сигналами), определение сигналов для управления информацией. Все компоненты аппаратного обеспечения такие, как сетевые карты (Network interface card, NIC), интерфейсы и коннекторы, материалы кабелей и их конструкция определяются стандартами физического уровня. Можно отметить, что функции физического уровня встроенные в сетевое оборудование (hardware).

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

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

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


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

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

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

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

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


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

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

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

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

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

См.. также