Учебники

DCN — управление каналом передачи данных и протоколы

Канальный уровень отвечает за реализацию механизма двухточечного потока и контроля ошибок.

Управление потоком

Когда кадр данных (данные уровня 2) отправляется с одного хоста на другой по одному носителю, требуется, чтобы отправитель и получатель работали с одинаковой скоростью. То есть отправитель отправляет данные со скоростью, с которой получатель может обрабатывать и принимать данные. Что если скорость (аппаратная / программная) отправителя или получателя отличается? Если отправитель отправляет слишком быстро, получатель может быть перегружен (перегружен) и данные могут быть потеряны.

Для управления потоком можно использовать два типа механизмов:

  • Остановись и подожди

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

    Остановись и подожди

  • Раздвижное окно

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

Остановись и подожди

Раздвижное окно

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

Контроль ошибок

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

Требования к механизму контроля ошибок:

  • Обнаружение ошибок — отправитель и получатель, оба или любые, должны удостовериться, что в транзите есть какая-то ошибка.

  • Положительный ACK — Когда получатель получает правильный кадр, он должен подтвердить его.

  • Отрицательный ACK — Когда получатель получает поврежденный кадр или дублированный кадр, он отправляет NACK обратно отправителю, и отправитель должен повторно передать правильный кадр.

  • Повторная передача: отправитель поддерживает часы и устанавливает период ожидания. Если подтверждение ранее переданного кадра данных не приходит до истечения времени ожидания, отправитель повторно передает кадр, думая, что кадр или его подтверждение потеряно при передаче.

Обнаружение ошибок — отправитель и получатель, оба или любые, должны удостовериться, что в транзите есть какая-то ошибка.

Положительный ACK — Когда получатель получает правильный кадр, он должен подтвердить его.

Отрицательный ACK — Когда получатель получает поврежденный кадр или дублированный кадр, он отправляет NACK обратно отправителю, и отправитель должен повторно передать правильный кадр.

Повторная передача: отправитель поддерживает часы и устанавливает период ожидания. Если подтверждение ранее переданного кадра данных не приходит до истечения времени ожидания, отправитель повторно передает кадр, думая, что кадр или его подтверждение потеряно при передаче.

Существует три типа доступных методов, которые канальный уровень данных может развернуть для контроля ошибок с помощью автоматических запросов на повторение (ARQ):

В ARQ остановки и ожидания может произойти следующий переход:

Механизм остановки и ожидания ARQ не использует ресурсы в лучшем виде. Когда подтверждение получено, отправитель бездействует и ничего не делает. В методе Go-Back-N ARQ и отправитель, и получатель поддерживают окно.

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

Когда отправитель отправляет все кадры в окне, он проверяет, к какому порядковому номеру он получил положительное подтверждение. Если все кадры подтверждены, отправитель отправляет следующий набор кадров. Если отправитель обнаруживает, что он получил NACK или не получил ACK для определенного кадра, он повторно передает все кадры, после чего он не получает никакого положительного ACK.

В Go-back-N ARQ предполагается, что приемник не имеет никакого буферного пространства для своего размера окна и должен обрабатывать каждый кадр по мере его поступления. Это заставляет отправителя повторно передавать все кадры, которые не были подтверждены.

В режиме Selective-Repeat ARQ приемник, отслеживая порядковые номера, буферизует кадры в памяти и отправляет NACK только для того кадра, который отсутствует или поврежден.

Отправитель в этом случае отправляет только пакет, для которого получен NACK.