Книга: Linux глазами хакера

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 уровне, то процесс трансляции начнется с него, и пакет будет подниматься вверх до физического уровня для отправки. Количество уровней в протоколе определяет его потребности и возможности при передаче данных.

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

Оглавление книги


Генерация: 0.373. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз