Функции уровней, Эталонная модель OSI - Компьютерные сети

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

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

Эталонная модель взаимодействия открытых систем, Open Systems Interconnection Reference Model (OSI), создавалась как единый международный стандарт сетевых технологий.

Набор протоколов называется открытым, если описание и детали протоколов опубликованы.

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

ISO -- международная организация по стандартизации.

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

Существует 7 уровней с помощью которых происходит сетевое взаимодействие. От нижнего уровня к верхнему:

1. Физический (Physical Layer) Передача битов данных по сети.

Подробнее [показать]

Преобразует биты в исходящие сигналы, передает сигналы и, затем, преобразует входящие сигналы в биты. Определяет:

    O характеристики сигналов; O среды передачи; O физическую топологию среды передачи; O механические и физические (электрические, оптические) спецификации среды передачи; O интерфейсы (разъемы) оборудования.

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

2. Канальный (уровень передачи данных) (Data Link Layer) Передает кадры (наборов битов) между двумя узлами сети, непосредственно связанными между собой.

Подробнее [показать]

Передает кадры (frames) -- наборы битов -- между двумя узлами сети, непосредственно связанными между собой Функции канального уровня:

    O взаимодействие со средой передачи данных (протокол MAC); O надежная доставка; O управление потоком.

В протоколах канального уровня заложена определенная структура связей между компьютерами и способы их адресации. Для идентификации компьютеров на канальном уровне используются аппаратные адреса (MAC - адреса) в Ethernet. 802.Xx - номера описаний стандартов IEEE (институт инженеров по электротехнике и радиоэлектронике).

Технологии: Ethernet (802.3), WiFi (802.11), Token Ring (802.5) и РРР.

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

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

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

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

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

Исправление ошибок выполняет расширенная служба обнаружения ошибок. Такая служба способна не только обнаружить ошибку в кадре, но также определить, в каком именно разряде она произошла, и таким образом исправить некоторые ошибки. Услуга по исправлению ошибок предоставляется некоторыми протоколами канального уровня (например, ATM), но, как правило, не для всего пакета, а только для его заголовка.

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

3. Сетевой (Network Layer) Осуществляет управление подсетью, то есть совокупностью коммуникационного оборудования. Определяет маршруты следования данных. Соединяет разнородные сети.

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

    O адресация компьютеров во всей глобальной сети (IP-адреса); O выбор маршрута доставки сообщений.

Не обеспечивает надежность доставки (искажения, потери, изменение порядка следования).

Протоколы: IP (Internet Protocol), ARP, RARP, ICMP, DHCP.

Best-effort delivery - доставка пакетов с максимально возможной скоростью, без гарантии отсутствия задержек, потерь пакетов (при переполнении буферов на маршрутизаторах).

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

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

При путешествии пакета из одной сети в другую также может возникнуть ряд проблем. Так, способ адресации, применяемый в одной сети, может отличаться от принятого в другой. Сеть может вообще отказаться принимать пакеты из-за того, что они слишком большого размера. Также могут различаться протоколы, и т. д. Именно сетевой уровень должен разрешать все эти проблемы, позволяя объединять разнородные сети. Для преобразования IP-адресов (адресов сетевого уровня) в MAC-адреса (адреса канального уровня) в сетях TCP/IP используется протоколы ARP (англ. Address Resolution Protocol -- протокол разрешения адресов) и RARP (англ. Reverse Address Resolution Protocol -- обратный протокол преобразования адресов).

Протоколы маршрутизации RIP (в локальных сетях) и BGP (в магистральный сетях) работают на прикладном уровне.

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

Осуществляет надежную доставку данных от отправителя к получателю. Функции транспортного уровня:

    O контроль ошибок: искажения пакетов, потери, изменение порядка следования, дублирование; O контроль потока данных; O сегментирует и повторно собирает данные в один поток; O обеспечивает совместное использование канала различными программами (каждой присваивается число - "номер порта")

Протоколы: TCP, UDP

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

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

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

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

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

Позволяет двум сторонам поддерживать длительное взаимодействие (сеанс) по сети. Функции сеансового уровня:

    O установление сеанcа; O поддержка/управление сеансом; O разрыв сеанса; O синхронизация передачи данных (можно помещать контрольные точки в поток данных и возвращаться назад к определенной точке).

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

6. Уровень предоставления данных (Presentation layer) Занимается согласованием синтаксиса и семантики данных, передающихся по сети.

Уровень отвечает за:

    O преобразование форматов данных; O кодирование/декодирование.

Примеры преобразования данных: форматирование, сжатие, перевод, кодирование, шифрование.

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

7. Прикладной (Application layer) Предоставляет службы для специфических потребностей пользователей (электронная почта, передача файлов и др.)

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

Протоколы: HTTP, SMTP, POP3, IMAP, FTP.

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

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

На этом уровне передаваемые данные называются сообщениями.

Похожие статьи




Функции уровней, Эталонная модель OSI - Компьютерные сети

Предыдущая | Следующая