14.5.1. Open Systems Interconnection

14.5.1. Open Systems Interconnection

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

Прежде чем разбираться с протоколами, нам необходимо узнать, что такое модель взаимодействия открытых систем, которая была разработана Международной Организацией по Стандартам (ISO, International Organization for Standardization). В соответствии с этой моделью сетевое взаимодействие делится на семь уровней.

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

2. Канальный уровень — передача кадра данных между любыми узлами в сетях типовой архитектуры или соседними узлами произвольной топологии. В качестве адресов на канальном уровне используются MAC-адреса.

3. Сетевой уровень — доставка (без каких-либо гарантий) пакета любому узлу в сетях произвольной топологии.

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

5. Сеансовый уровень— управление диалогом между узлами. Обеспечена возможность фиксации активной на данный момент стороны.

6. Уровень представления — здесь возможно преобразование данных (цифрация, компрессия).

7. Прикладной уровень — набор сетевых сервисов (FTP, E-mail и др.) для пользователя и приложения.

На рис. 14.1 вы можете увидеть, как должна выглядеть классическая сетевая модель.

Рис. 14.1. Сетевая модель OSI

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

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

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

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

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Manx Software Systems Inc.

Из книги Генерация высококачественного кода для программ, написанных на СИ автора Хислей Филипп Н

Manx Software Systems Inc. Компилятор Aztec C86 сгенерировал хороший код с довольно хорошим уровнем оптимизации. Кроме свертки констант и алгебраических упрощений, Aztec C86 выполнил снижение мощности и удаление общих подвыражений. Однако, он не выполнил удаление лишних присваиваний и не


5.1 OPEN

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

5.1 OPEN Вызов системной функции open (открыть файл) — это первый шаг, который должен сделать процесс, чтобы обратиться к данным в файле. Синтаксис вызова функции open:fd = open(pathname, flags, modes);где pathname — имя файла, flags указывает режим открытия (например, для чтения или записи), а modes


10.1.2.1 Open

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

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


Метод FileInfo.Open()

Из книги Photoshop. Лучшие фильтры автора Бондаренко Сергей

Метод FileInfo.Open() Метод FileInfо.Open() можно использовать для того, чтобы открывать существующие файлы и создавать новые с более точными характеристиками, чем при использовании FileInfo.Create(). В результате вызова Open() возвращается объект FileStream. Рассмотрите следующий пример.static void


Rip Open (Разрыв и открытие)

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

Rip Open (Разрыв и открытие) Фильтр Rip Open (Разрыв и открытие) дополняет фильтры Xenofex 2, имитирующие поведение бумаги (Crumple (Мятый) и Burnt Edges (Опаленные края)). Фильтр Rip Open (Разрыв и открытие) позволяет «разорвать» изображение в указанном месте. При этом картинка будет не просто


The Open Group

Из книги MySQL: руководство профессионала автора Паутов Алексей В

The Open Group The Open Group (Открытая группа) была сформирована в 1996 году объединением X/Open Company (основана в 1984 году) и Open Software Foundation (OSF, основан в 1988 году). Эта группа представляет собой международный консорциум производителей и потребителей из промышленности, правительства и


5.2.9.2. Инструкция OPEN

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

5.2.9.2. Инструкция OPEN OPEN cursor_nameЭта инструкция открывает предварительно объявленный


1.9 Open System Interconnection

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

1.9 Open System Interconnection Взаимодействие открытых систем (Open System Interconnection — OSI) стало результатом международных усилий по созданию компьютерных коммуникационных стандартов и базовых прикладных служб. Формально OSI разработана в рамках Международной организации по


18.2.9. Библиотека Open-URI

Из книги Политики безопасности компании при работе в Интернет автора Петренко Сергей Александрович


2.3. Подход компании Cisco Systems

Из книги Linux программирование в примерах автора Роббинс Арнольд

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


4.6.3. Возвращаясь к open()

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович

4.6.3. Возвращаясь к open() Вы можете вспомнить объявление для open():int open(const char *pathname, int flags, mode_t mode);Ранее мы сказали, что при открытии файла для простого ввода/вывода мы можем игнорировать аргумент mode. Хотя, посмотрев на creat(), вы, возможно, догадались, что open() также может


Operating systems

Из книги Реконизм. Как информационные технологии делают репутацию сильнее власти, а открытость — безопаснее приватности автора Сименко Илья Александрович

Operating systems Блок [operating systems] содержит столько строк, сколько операционных систем установлено на компьютере. При этом каждая строка имеет такой формат:«путь к системному каталогу загружаемой операционной системы»=«строка, идентифицирующая данную операционную систему в


Open Source

Из книги Операционная система UNIX автора Робачевский Андрей М.


X/Open

Из книги Цифровая фотография от А до Я [2-е издание] автора Газаров Артур Юрьевич

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


Функция open(2)

Из книги автора

Функция open(2) Открывает указанный файл для чтения или записи и имеет следующий вид:#include <fcntl.h>int open(const char *path, int oflag, mode_t mode);Первый аргумент (path) является указателем на имя файла. Это имя может быть как абсолютным (начинающимся с корневого каталога /), так и относительным


ACD Systems FotoSlate Photo Print Studio

Из книги автора

ACD Systems FotoSlate Photo Print Studio Программа ACD FotoSlate — это недорогое и практичное решение для печати цифровых фотографий с превосходным качеством. Программа дает возможность выбрать более 450 макетов для печати на бумаге, а модуль Page Designer позволяет разрабатывать собственные макеты.