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

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

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

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

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

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

  • Sliding Window

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

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

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

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

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

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

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

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

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

  • Остановка и ожидание ARQ

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

    • Отправитель поддерживает счетчик тайм-аута.
    • При отправке кадра отправитель запускает счетчик тайм-аута.
    • Если подтверждение кадра приходит вовремя, отправитель передает следующий кадр в очереди.
    • Если подтверждение не приходит вовремя, отправитель предполагает, что либо кадр, либо его подтверждение потеряны при передаче. Отправитель повторно передает кадр и запускает счетчик тайм-аута.
    • Если получено отрицательное подтверждение, отправитель повторно передает кадр.
  • Go-Back-N ARQ

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

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

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

  • Селективный повторный ARQ

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

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

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