В этом видео мы рассмотрим основы организации компьютерных сетей,
дадим определение понятиям интерфейса и протокола,
а также рассмотрим понятия инкапсуляция протоколов.
Часто мы воспринимаем естественно, что мы можем
подключиться с любого устройства компьютерной
сети вне зависимости от операционной системы, но так было не всегда.
На раннем этапе развития сетей оборудование
одного производителя не могло работать с оборудованием другого производителя.
На это было множество причин. Оборудование было несовместимо между собой,
ПО было несовместимо, а также были различные протоколы для передачи информации.
Для того, чтобы решить эту проблему необходимо было ввести стандарты.
Весьма просто создать сеть, которая объединяла два компьютера.
Представьте, что вам необходимо построить сеть,
в которой объединяются все компьютеры в мире. Нужно придумать как работать
с большим количеством разнообразного оборудования и программного обеспечения.
Такая сеть должна быть надежной и работать,
если некоторые узлы выйдут из строя. Сеть должна иметь возможность расти,
например подключать новые страны.
Большой сети необходимо обеспечить качество обслуживания, например,
скачать без проблем большие файлы или передавать данные без задержек и,
конечно же, в этой сети необходимо обеспечить безопасность передачи данных.
Для решения такой сложной задачи,
ее необходимо декомпозировать, что и было сделано.
Компьютерные сети разделили на несколько уровней взаимодействия.
Каждый уровень решает одной или нескольких связанных задач.
Каждый ниже лежащий уровень предоставляет интерфейс выше лежащему уровню,
что дает подход на основе уровней. Каждый уровень решает конкретную задачу,
выполняется изоляция уровней друг от друга, таким образом,
если что-то меняется на одном из уровней,
то меняется только этот уровень, для остальных уровней остается без изменений.
Многоуровневые модели организации сетей,
используется термин который необходимо запомнить, это интерфейс,
это набор примитивных операций, которые нижний уровень предоставляет верхнему.
На схеме видно как например уровень 3 предоставляет интерфейс уровню 4 и протокол,
это правила и соглашения используемые для связи уровня
n одного компьютера с уровнем n другого компьютера. Как видно на схеме,
уровень 4 хоста 1 общается с четвертым уровнем хоста 2 по протоколу четвертого уровня.
Важно разделять эти понятия.
Пользователи и вышестоящие уровни взаимодействуют с интерфейсом уровня, т.е.
уровень предоставляет некоторый набор функций.
Протокол же является реализацией этого взаимодействия, это означает,
что можно заменить один протокол другим и
в вышестоящих уровнях ничего менять не придется.
Также важным понятием является понятие инкапсуляция,
это включение сообщения вышестоящего уровня в сообщение ниже стоящего уровня.
Сообщение состоит из заголовка, данных и концевика. Рассмотрим пример.
Допустим мы хотим отправить сообщение от одного хоста к другому.
Формируем сообщение и передаем его третьему уровню.
Наше сообщение помещается в поле данных,
а также обрамляется заголовком и концевиком третьего уровня.
После этого передается на второй уровень.
Сообщения третьего уровня помещаются в поле данных,
а также обрамляется с заголовком и концевиком второго уровня и так далее.
К самому первому уровню сообщение обрастает заголовками и концевиками всех
уровней. После этого сообщение передается по каналам связи.
Когда сообщение приходит адресату, она передается на первый уровень.
Первый уровень обрабатывает заголовок и концевик,
извлекая сообщения из поля данных и передают его второму уровня и так далее,
пока мы не получим исходное сообщение, которое мы передавали.
Итак, для решения задачи построения большой сети используется декомпозиция на уровне.
Но есть еще ряд вопросов,
которые необходимо решить: сколько уровней должна быть в сети,
какие это должны быть уровни,
какие функции должны выполняться в этой сети и как
они должны быть распределены по уровням.
Это все задается архитектурой сети. Можно придумать множество разных архитектур,
но как и везде существует общепринятые стандарты организации сетей.
Существует две основные модели: модель взаимодействия
открытых систем оси и модель TCP/IP, но про них мы расскажем уже в следующем видео.
Давайте подведем итог. В этом видео мы рассмотрели основы организации компьютерной сети,
понятие протокола, интерфейса и инкапсуляция протоколов.