Изменения

Перейти к: навигация, поиск

Data link layer - Flow control

1013 байт добавлено, 16:59, 12 декабря 2016
Нет описания правки
Для надежной передачи данных на канальном уровне необходимо решить следующую проблему:  Если мы попробуем передавать данные сразу как только они у нас появляются, тов случае когда отправитель работает быстрее, чем получатель может обрабатывать поступающую информацию, произойдет переполнение буфера и мы начнем терять данные. Чтобы это предотвратить, нам необходимо осуществлять управление потоком. Управление потоком позволяет получателю контролировать скорость передачи данных, чтобы предотвратить чрезмерную загрузку в случае более быстрого отправителя.  Канальный уровень не отвечает за само [https://en.wikipedia.org/wiki/Network_congestion#Congestion_control переполнение] (что делать, когда буфер переполнился), эта проблема решается на более высоких уровнях.
Управление потоком передачи даных выполняется [[Data link layer - LLC | LLC]] подуровнем.
* Получать обратную связь от приемника.
* Статически ограничить скорость передачи.
Второй способ реализуют вышележащими уровнями, поэтому здесь будем рассматривать рассмотрим протоколыпередачи данных, использующие обратную в которых используется обратная связьдля информирования отправителя о состоянии дел у получателя.
==Stop-and-wait==
На полученный дубликат нужно тоже выслать подтверждение (чтобы не было бесконечной переотправки), но проигнорировать сам дубликат.
[[Файл:Stop-wait-receiversender.jpeg]] [[Файл:Stop-wait-receiver.jpeg]]
Проблема этого протокола в том, что мы неэффективно используем канал. Всегда занимаемся передачей только одного кадра, во время ожидания ACK ничего не делаем.
==Протокол скользящего окна. ==
Каждый исходящий кадр содержит свой порядковый номер.
На этот номер отводится поле размером ''n'' бит.
26
правок

Навигация