Модель оси прикладной уровень протоколы. Как работает модель OSI

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

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

Модель взаимодействия открытых систем OSI (Open System Interconnection) разработана международной организацией по стандартам ISO (Inernational Standarts Organization).

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

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

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

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

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

Теперь рассмотрим работу каждого уровня модели OSI подробнее:

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

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

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

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

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

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

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

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

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

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

Сетевая модель OSI (англ.open systems interconnection basic reference model - базовая эталонная модельвзаимодействия открытых систем) -сетевая модельстекасетевых протоколовOSI/ISO.

В связи с затянувшейся разработкой протоколов OSI, в настоящее время основным используемым стеком протоколов является TCP/IP, он был разработан ещё до принятия модели OSI и вне связи с ней.

Модель OSI

Тип данных

Уровень (layer)

Функции

7. Прикладной (application)

Доступ к сетевым службам

6. Представительский (presentation)

Представление и шифрование данных

5. Сеансовый (session)

Управление сеансом связи

Сегменты / Дейтаграммы

4. Транспортный (transport)

Прямая связь между конечными пунктами и надежность

3. Сетевой (network)

Определение маршрута и логическая адресация

2. Канальный (data link)

Физическая адресация

1. Физический (physical)

Работа со средой передачи, сигналами и двоичными данными

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

В литературе наиболее часто принято начинать описание уровней модели OSI с 7-го уровня, называемого прикладным, на котором пользовательские приложения обращаются к сети. Модель OSI заканчивается 1-м уровнем - физическим, на котором определены стандарты, предъявляемые независимыми производителями к средам передачи данных:

    тип передающей среды (медный кабель, оптоволокно, радиоэфир и др.),

    тип модуляции сигнала,

    сигнальные уровни логических дискретных состояний (нуля и единицы).

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

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

К базовым сетевым технологиям относятся физический и канальный уровни.

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

Прикладной уровень (уровень приложений) - верхний уровень модели, обеспечивающий взаимодействие пользовательских приложений с сетью:

    позволяет приложениям использовать сетевые службы:

    отвечает за передачу служебной информации;

    предоставляет приложениям информацию об ошибках;

    формирует запросы к уровню представления.

Протоколы прикладного уровня: RDP HTTP (HyperText Transfer Protocol), SMTP (Simple Mail Transfer Protocol), SNMP (Simple Network Management Protocol), POP3 (Post Office Protocol Version 3), FTP (File Transfer Protocol), XMPP, OSCAR,Modbus, SIP,TELNETи другие.

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

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

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

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

Чтобы понять, как это работает, представим, что имеются две системы. Одна использует для представления данных расширенный двоичный код обмена информацией EBCDIC, например, это может бытьмейнфреймкомпанииIBM, а другая - американский стандартный код обмена информациейASCII(его используют большинство других производителей компьютеров). Если этим двум системам необходимо обменяться информацией, то нужен уровень представлений, который выполнит преобразование и осуществит перевод между двумя различными форматами.

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

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

Существует другая группа стандартов уровня представлений, которая определяет представление звука и кинофрагментов. Сюда входят интерфейс электронных музыкальных инструментов (MIDI) для цифрового представления музыки, разработанный Экспертной группой по кинематографии стандартMPEG.

Протоколы уровня представления: AFP - Apple Filing Protocol, ICA -Independent Computing Architecture, LPP - Lightweight Presentation Protocol, NCP -NetWare Core Protocol, NDR -Network Data Representation, XDR -eXternal Data Representation, X.25 PAD -Packet Assembler/Disassembler Protocol.

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

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

Протоколы сеансового уровня: ADSP, ASP, H.245, ISO-SP (OSI Session Layer Protocol (X.225, ISO 8327)), iSNS, L2F, L2TP, NetBIOS, PAP (Password Authentication Protocol), PPTP, RPC, RTCP, SMPP, SCP (Session Control Protocol), ZIP (Zone Information Protocol), SDP (Sockets Direct Protocol)..

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

Транспортный уровень (англ.transport layer ) модели предназначен для обеспечения надёжной передачи данных от отправителя к получателю. При этом уровень надёжности может варьироваться в широких пределах. Существует множество классов протоколов транспортного уровня, начиная от протоколов, предоставляющих только основные транспортные функции (например, функции передачи данных без подтверждения приема), и заканчивая протоколами, которые гарантируют доставку в пункт назначения нескольких пакетов данных в надлежащей последовательности, мультиплексируют несколько потоков данных, обеспечивают механизм управления потоками данных и гарантируют достоверность принятых данных. Например, UDPограничивается контролем целостности данных в рамках одной датаграммы и не исключает возможности потери пакета целиком или дублирования пакетов, нарушения порядка получения пакетов данных;TCPобеспечивает надёжную непрерывную передачу данных, исключающую потерю данных или нарушение порядка их поступления или дублирования, может перераспределять данные, разбивая большие порции данных на фрагменты и, наоборот, склеивая фрагменты в один пакет.

Протоколы транспортного уровня: ATP, CUDP, DCCP, FCP, IL, NBF, NCP, RTP, SCTP, SPX, SST, TCP (Transmission Control Protocol), UDP (User Datagram Protocol).

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

Сетевой уровень (англ.network layer ) модели предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и «заторов» в сети.

Протоколы сетевого уровня маршрутизируют данные от источника к получателю. Работающие на этом уровне устройства (маршрутизаторы) условно называют устройствами третьего уровня (по номеру уровня в модели OSI).

Протоколы сетевого уровня: IP/IPv4/IPv6 (Internet Protocol), IPX, X.25, CLNP (сетевой протокол без организации соединений), IPsec (Internet Protocol Security). Протоколы маршрутизации - RIP, OSPF.

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

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

Спецификация IEEE 802разделяет этот уровень на два подуровня:MAC(англ.media access control ) регулирует доступ к разделяемой физической среде, LLC(англ.logical link control ) обеспечивает обслуживание сетевого уровня.

На этом уровне работают коммутаторы,мостыи другие устройства. Эти устройства используют адресацию второго уровня (по номеру уровня в модели OSI).

Протоколы канального уровня- ARCnet,ATMEthernet,Ethernet Automatic Protection Switching(EAPS),IEEE 802.2,IEEE 802.11wireless LAN,LocalTalk, (MPLS),Point-to-Point Protocol(PPP),Point-to-Point Protocol over Ethernet(PPPoE),StarLan,Token ring,Unidirectional Link Detection(UDLD),x.25.

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

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

На этом уровне также работают концентраторы,повторителисигнала имедиаконвертеры.

Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. К физическому уровню относятся физические, электрические и механические интерфейсы между двумя системами. Физический уровень определяет такие виды сред передачи данных как оптоволокно,витая пара,коаксиальный кабель, спутниковый канал передач данных и т. п. Стандартными типами сетевых интерфейсов, относящимися к физическому уровню, являются:V.35,RS-232,RS-485, RJ-11,RJ-45, разъемыAUIиBNC.

Протоколы физического уровня: IEEE 802.15 (Bluetooth),IRDA,EIARS-232,EIA-422,EIA-423,RS-449,RS-485,DSL,ISDN,SONET/SDH,802.11Wi-Fi,Etherloop,GSMUm radio interface,ITUиITU-T,TransferJet,ARINC 818,G.hn/G.9960.

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

Семейство TCP/IPимеет три транспортных протокола: TCP, полностью соответствующий OSI, обеспечивающий проверку получения данных;UDP, отвечающий транспортному уровню только наличием порта, обеспечивающий обмендатаграммамимежду приложениями, не гарантирующий получения данных; иSCTP, разработанный для устранения некоторых недостатков TCP, в который добавлены некоторые новшества. (В семействе TCP/IP есть ещё около двухсот протоколов, самым известным из которых является служебный протоколICMP, используемый для внутренних нужд обеспечения работы; остальные также не являются транспортными протоколами).

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

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

В качестве адреса хоста IPX использует идентификатор, образованный из четырёхбайтного номера сети (назначаемого маршрутизаторами) и MAC-адреса сетевого адаптера.

Модель TCP/IP (5 уровней)

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

    Транспортный (4) уровень (Transport Layer) обеспечивает доставку пакетов без ошибок и потерь, а также в нужной последовательности. Здесь же производится разбивка на блоки передаваемых данных, помещаемые в пакеты, и восстановление принимаемых данных из пакетов. Доставка пакетов возможна как с установлением соединения (виртуального канала), так и без. Транспортный уровень является пограничным и связующим между верхними тремя, сильно зависящими от приложений, и тремя нижними уровнями, сильно привязанными к конкретной сети.

    Сетевой (3) уровень (Network Layer) отвечает за адресацию пакетов и перевод логических имен (логических адресов, например, IP-адресов или IPX-адресов) в физические сетевые MAC-адреса (и обратно). На этом же уровне решается задача выбора маршрута (пути), по которому пакет доставляется по назначению (если в сети имеется несколько маршрутов). На сетевом уровне действуют такие сложные промежуточные сетевые устройства, как маршрутизаторы.

    Канальный (2) уровень или уровень управления линией передачи (Data link Layer) отвечает за формирование пакетов (кадров) стандартного для данной сети (Ethernet, Token-Ring, FDDI) вида, включающих начальное и конечное управляющие поля. Здесь же производится управление доступом к сети, обнаруживаются ошибки передачи путем подсчета контрольных сумм, и производится повторная пересылка приемнику ошибочных пакетов. Канальный уровень делится на два подуровня: верхний LLC и нижний MAC. На канальном уровне работают такие промежуточные сетевые устройства, как, например, коммутаторы.

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

Эталонная модель 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 — метод доступа для переноса файлов

Сетевая модель OSI (базовая эталонная модель взаимодействия открытых систем, англ. Open Systems Interconnection Basic Reference Model) - абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов.

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

Уровни OSI

Каждый уровень модели OSI отвечает за часть процесса обработки по подготовке данных к передаче по сети.

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

Уровень Название Описание 1 Описание 2
7. Прикладной Это уровень, с которым работают пользователи конечных продуктов. Их не волнует, как передаются данные, зачем и через какое место… Они сказали "ХОЧУ!" - а мы, программисты, должны им это обеспечить. В качестве примера можно взять на рассмотрение любую сетевую игру: для игрока она работает на этом уровне. Когда пользователь хочет отправить данные, например, электронную почту, на прикладном уровне начинается процесс инкапсуляции. Прикладной уровень отвечает за обеспечение сетевого доступа к приложениям. Информация проходит через верхние три уровня и, попадая вниз, на транспортный уровень, считается данными.
6. Представительский (Введение в XML , SMB) Здесь программист имеет дело с данными, полученными от низших уровней. В основном, это конвертирование и представление данных в удобоваримом для пользователя виде.
5. Сеансовый (TLS , SSL сертификаты для для сайта, почты , NetBios) Этот уровень позволяет пользователям осуществлять "сеансы связи". То есть именно на этом уровне передача пакетов становится для программиста прозрачной, и он может, не задумываясь о реализации, непосредственно передавать данные, как цельный поток. Здесь на сцену вступают протоколы HTTP, FTP , Telnet, SMTP и т.д.
4. Транспортный (Порты TCP , UDP) Осуществляет контроль над передачей данных (сетевых пакетов). То есть, проверяет их целостность при передаче, распределяет нагрузку и т.д. Этот уровень реализует такие протоколы, как TCP, UDP и т.д. Для нас представляет наибольший интерес. На транспортном уровне данные разбиваются на более легко управляемые сегменты, или блоки PDU транспортного уровня, для упорядоченной транспортировки по сети. Блок PDU описывает данные так, как они движутся с одного уровня модели OSI на другой. Кроме того, блок PDU транспортного уровня содержит такую информацию, как номера портов, порядковые номера и номера квитирования, которые используются для надежной транспортировки данных.
3. Сетевой (IP, ICMP протокол диагностики перегрузки сети) Логически контролирует адресацию в сети, маршрутизацию и т.д. Должен быть интересен разработчикам новых протоколов и стандартов. На этом уровне реализованы протоколы IP, IPX, IGMP, ICMP, ARP. В основном, управляется драйверами и операционными системами. Сюда влезать, конечно, стоит, но только когда ты знаешь, что делаешь, и полностью в себе уверен. На сетевом уровне каждый сегмент, поступивший с транспортного уровня, становится пакетом. Пакет содержит логическую адресацию и другие управляющие данные уровня 3.
2. Канальный (WI-FI , Что такое Ethernet) Этот уровень контролирует восприятие электронных сигналов логикой (радиоэлектронными элементами) аппаратных устройств. То есть, взаимодействуя на этом уровне, аппаратные средства превращают поток битов в электрические сигналы и наоборот. Нас он не интересует, потому что мы не разрабатываем аппаратные средства, чипы и т.д. Уровень касается сетевых карт, мостов, свичей, рутеров и т.д. На канальном уровне каждый пакет, поступивший с сетевого уровня, становится фреймом. Кадр содержит физический адрес и данные об исправлении ошибок.
1. Аппаратный (Физический) (лазер, электричество, радио) Контролирует передачи физических сигналов между аппаратными устройствами, входящими в сеть. То есть управляет передачей электронов по проводам. Нас он не интересует, потому что все, что находится на этом уровне, контролируется аппаратными средствами (реализация этого уровня - это задача производителей хабов, мультиплексоров, повторителей и другого оборудования). Мы не физики-радиолюбители, а геймдевелоперы. На физическом уровне фрейм становится битами. По сетевой среде биты передаются по одному.

Мы видим, что, чем выше уровень - тем выше степень абстракции от передачи данных, к работе с самими данными. Это и есть смысл всей модели OSI: поднимаясь все выше и выше по ступенькам ее лестницы, мы все меньше и меньше заботимся о том, как данные передаются, мы все больше и больше становимся заинтересованными в самих данных, нежели в средствах для их передачи. Нас, как программистов, интересуют уровни 3, 4 и 5. Мы должны использовать средства, которые они предоставляют, для того чтобы построить 6 и 7 уровни, с которыми смогут работать конечные пользователи.

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

На сетевом уровне OSI реализованы протоколы IP(Структура межсетевого протокола IPv4 ,IPv6), IPX, IGMP, ICMP, ARP.

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

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

Идея разбиения на подсети - это основа построения составных сетей.

Сеть называется составной (internetwork или internet), если она может быть представлена в виде совокупности нескольких сетей. Сети, входящие в составную сеть, называются подсетями (subnet), составляющими сетями или просто сетями, каждая из которых может работать на основе собственной технологии канального уровня (хотя это и не обязательно).

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

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

    Логические сегменты сети, расположенные между мостами или коммутаторами, слабо изолированы друг от друга. Они не защищены от широковещательных штормов. Если какая-либо станция посылает широковещательное сообщение, то это сообщение передается всем станциям всех логических сегментов сети. Администратор должен вручную ограничивать количество широковещательных пакетов, которое разрешается генерировать некоторому узлу в единицу времени. В принципе некоторым образом удалось ликвидировать проблему широковещательных штормов с использованием механизма виртуальных сетей(Настройка VLAN Debian D-Link), реализованного во многих коммутаторах. Но в этом случае, хотя и возможно достаточно гибко создавать изолированные по трафику группы станций, но при этом они изолированы полностью, то есть узлы одной виртуальной сети не могут взаимодействовать с узлами другой виртуальной сети.

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

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

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

Модель состоит из 7-ми уровней, расположенных друг над другом. Уровни взаимодействуют друг с другом (по «вертикали») посредством интерфейсов, и могут взаимодействовать с параллельным уровнем другой системы (по «горизонтали») с помощью протоколов. Каждый уровень может взаимодействовать только со своими соседями и выполнять отведённые только ему функции. Подробнее можно посмотреть на рисунке.

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

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

Представительский (Уровень представления) (англ. Presentation layer )

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

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

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

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

Стандарты уровня представлений также определяют способы представления графических изображений. Для этих целей может использоваться формат PICT - формат изображений, применяемый для передачи графики QuickDraw между программами для компьютеров Macintosh и PowerPC. Другим форматом представлений является тэгированный формат файлов изображений JPEG.

Существует другая группа стандартов уровня представлений, которая определяет представление звука и кинофрагментов. Сюда входят интерфейс электронных музыкальных инструментов MPEG, используемый для сжатия и кодирования видеороликов на компакт-дисках, хранения в оцифрованном виде и передачи со скоростями до 1,5 Мбит/с, и Session layer )

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

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

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

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

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

Сетевой уровень (англ. Network layer )

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

Протоколы сетевого уровня маршрутизируют данные от источника к получателю и могут быть разделены на два класса: протоколы с установкой соединения и без него.

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

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

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

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

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

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

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

Источники

  • Александр Филимонов Построение мультисервисных сетей Ethernet, bhv, 2007 ISBN 978-5-9775-0007-4
  • Руководство по технологиям объединенных сетей //cisco systems , 4-е издание, Вильямс 2005 ISBN 584590787X

Wikimedia Foundation . 2010 .

Смотреть что такое "Модель OSI" в других словарях:

    Сетевая модель OSI (базовая эталонная модель взаимодействия открытых систем, англ. Open Systems Interconnection Basic Reference Model) абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к… … Википедия

    В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия

    Open Systems Interconnection Basic Reference Model базовая эталонная модель взаимодействия открытых систем абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждый уровень… … Словарь бизнес-терминов

    - (Модель TCP/IP) (англ. Department of Defense Министерство обороны США) модель сетевого взаимодействия, разработанная Министерством обороны США, практической реализацией которой является стек протоколов TCP/IP. Содержание 1 Уровни … Википедия

    ATP Название: Apple Talk Protocol Уровень (по модели OSI): Транспортный Семейство: TCP/IP Создан в: 2002 г. Порт/ID: 33/IP Назначение протокола: Аналог UDP с контролем плотности трафика Спецификация: RFC 4340 Основные реализац … Википедия



Понравилась статья? Поделиться с друзьями: