Добавил:
Да поможет вам Котельников Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзаменационные вопросы по курсу.docx
Скачиваний:
40
Добавлен:
23.06.2024
Размер:
29.87 Mб
Скачать

5. Физический уровень модели osi (Лекция 4) тут затрону все уровни и буду ссылаться сюда при необходимости

ФИЗИЧЕСКИЙ УРОВЕНЬ.

Самый нижний уровень модели OSI.

Задача – передача потока бит по среде передачи данных. Физический уровень никак не вникает и не анализирует передаваемую информацию.

Единица передачи – БИТ.

Задача – как представить биты информации в виде сигналов, передаваемых по среде.

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

Пропускная способность – сколько данных мы можем передать в единицу времени.

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

Совместно ПС и З характеризуют скорость работы канала.

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

Симплексный – направление передачи только в 1 сторону.

Дуплексный – в обе стороны одновременно.

Полудуплексный – в обе стороны поочереди.

Набор медных кабелей в одной оболочке. Кабели попарно скручены между собой – это сделано для того, чтобы уменьшить количество помех. Как правило, в одном кабеле 4 витые пары. Передача данных осуществляется по всем парам проводов в обе стороны одновременно.

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

КАНАЛЬНЫЙ УРОВЕНЬ

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

Для каналов с множественным доступом (где одну и ту же среду передачи могут использовать несколько устройств) канальный уровень решает задачи:

Адресации – если у нас на канале связи есть несколько устройств, нам нужно определить какому именно устройству предназначено сообщение.

Согласованного доступа к каналу – чтобы одновременно устройства не передавали данные.

У нас есть 2 компа – хост 1 и хост 2 и показаны 3 уровня – сетевой, канальный и физический. Канальный уровень получает данные от вышестоящего уровня (сетевого) и добавляет к нему заголовок и концевик. Заголовок + пакет + концевик – это кадр. Сообщение передается через физический уровень по среде передачи данных и поступает на канальный уровень принимающей стороны. На принимающем компе читаются заголовок и концевик, извлекается пакет сетевого уровня и передается вышестоящему сетевому уровню.

Как определить, где в потоке бит начинаются и заканчиваются отдельные кадры. Для этого были разработаны методы:

На картинке 3 разных кадра выделенных разными цветами. Вначале указано количество байт. Метод прост в реализации, однако при передаче данных по сети данные могут искажаться, в том числе может исказиться длина кадра. Например, в первом кадре не 6, а 7, тогда все пойдет наперекосяк при получении. На практике такой метод не применяется.

Вставка байтов – протокол BSC. Тут передавались обычные текстовые символы. Перед началом каждого кадра добавлялись байты DLE STX, в конце кадра DLE ETX. Escape последовательность нужна для того, чтобы отличить «служебные» байты от тех, которые могут встретиться в самом кадре.

Вставка битов – протоколы HDLC и PPP.

Следующий вид определения начала и конца кадров это использование средств физического уровня (применяется в технологии Ethernet).

С амый простой способ – просто обнаружить ошибку (контрольная сумма). Если технология канального уровня использует обнаружение ошибок, то кадр с ошибкой просто отбрасывается и никаких попыток восстановить данные не производится.

Более сложный механизм – исправление ошибок. Чтобы иметь возможность исправить ошибку нам нужно добавить к данным какую-то дополнительную информацию, с помощью которой мы сможем обнаружить ошибку и восстановить правильные данные.

Повторная отправка данных – еще один вариант исправления ошибок.

Как реализуется повторная отправка:

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

Есть 2 варианта метода повторной отправки. Рассмотренная выше схема – остановка и ожидание (применяется в Wi-Fi).

Второй метод – скользящее окно. На канальном уровне нет технологий, применяющих этот метод, но он применяется в TCP на транспортном уровне.

LLC – отвечает за передачу данных, формирование кадра и исправление ошибок

MAC – обеспечивает согласованный доступ к каналу связи с разделяемой средой передачи данных.

СЕТЕВОЙ УРОВЕНЬ

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

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

Технологии канального уровня отличаются друг от друга и непонятно, как их объединять.

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

Разберемся подробнее, начнем с различия сетей:

Чем могут различаться технологии канального уровня, на основе которых создаются сети?

Во-первых, уровнем сервиса: в Ethernet нет гарантии доставки – никак не проверяется, дойдет сообщение или нет, в Wi-Fi есть (отправитель передает кадр и ждет получения подтверждения).

Во-вторых, типом адресации: в Ethernet и Wi-Fi используются MAC-адреса, в сетях сотовой связи IMEI адреса, в других технологиях канального уровня могут использоваться адреса других типов. Также схемы адресации могут отличаться – в Ethernet используется плоская схема.

В-третьих, поддерживается ли широковещание в технологии канального уровня или нет.

В-четвертых, максимальным размером кадра, который может быть передан через сеть, построенной по этой технологии (MTU).

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

Что можно сделать на сетевом уровне чтобы согласовать различия в сетях?

Для согласования типа сервиса устройство, которое объединяет сети, может обеспечивать разные типы сервисов в разных сетях. Например, устройство принимает и Wi-Fi и Ethernet.

Для согласования адресов на сетевом уровне вводятся специальные типы адресов – глобальные адреса (адреса устройств в составной сети, которые не зависят от адресов в конкретной технологии канального уровня). Когда используется такой тип адресации, то у устройства в сети 2 адреса – глобальный и локальный. Поэтому нужны механизмы определения локального адреса по глобальному (ARP для TCP/IP).

Что делать с максимальным размером пакета в сетях?

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

Формат адресов – MAC

Режим моста – работа Ethernet и Wi-Fi согласуется на канальном уровне.

Что делает сетевой уровень, чтобы улучшить масштабирование?

Задачи сетевого уровня:

Объединение сетей.

Маршрутизация

Обеспечение качества обслуживания

Оборудование, работающее на сетевом уровне – маршрутизатор.

ТРАНСПОРТНЫЙ УРОВЕНЬ

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

Адресация – для какого процесса предназначен тот или иной пакет.

Полностью модель OSI выглядит так:

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

На сетевом оборудовании только 3 уровня.

Уровни, начиная с транспортного, работают только на хостах.

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

Транспортный уровень обеспечивает СКВОЗНОЕ соединение – между двумя хостами может находится множество сетевых устройств, но они не влияют на работу транспортного уровня, поэтому ТУ называется сетенезависимым – он позволяет скрыть от разработчиков приложений детали сетевого взаимодействия.

Пример сетевого взаимодействия с использованием IP адресов и портов:

У нас есть веб сервер, работающий на порту 80 и клиент, который хочет подключиться к этому веб серверу. Клиент открывает браузер и операционная система автоматом присваивает ему порт. Когда клиент отправляет запрос на сервер, сервер знает, на какой порт ответить:

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

Для взаимодействия с транспортным уровнем используют интерфейс сокетов.