Monday, November 20th, 2017

Основы работы с сетью: часть 17 – Эталонная модель OSI

Published on Февраль 18, 2009 by   ·   Комментариев нет

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

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

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

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

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

Рисунок модели osi

Рисунок A: Окно свойств подключения по локальной сети дает представление о том, как различные уровни сети применяются в Windows

Сетевая модель, которую использует Windows и большинство других сетевых операционных систем, называется модель OSI (взаимодействие открытых систем — Open System Interconnection Basic Reference). Модель OSI состоит из семи различных уровней. Каждый уровень модели построен так, что он может выполнять определенные задачи и способствовать взаимодействию между уровнем, расположенным над и под ним. Вы можете посмотреть, что собой представляет модель OSI на рисунке B.

Рисунок модели osi

Рисунок B: Модель OSI

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

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

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

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

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

Уровень сеанса (Session Layer)

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

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

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

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

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

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

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

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

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

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

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

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

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

Работает в оба направления

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

Заключение

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

www.windowsnetworking.com


Смотрите также:

Tags: ,

Readers Comments (Комментариев нет)




Да человек я, человек! =)

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]