Управление потоком
Управление потоком является функцией, которая предотвращает перегрузку сети, не позволяя передающему устройству перегружать принимающие устройства данными. Существует ряд возможных причин сетевой перегрузки. Например, высокоскоростной компьютер может создавать трафик быстрее, чем сеть может его передавать, или быстрее, чем устройство назначения может его получить и обработать. Существуют три обычно используемых метода обработки сетевой перегрузки:
1. Буферизация используется сетевыми устройствами для временного хранения всплесков избыточных данных в памяти, пока их нельзя будет обработать. Случайные всплески данных легко обрабатываются с помощью буферизации. Однако избыточные всплески данных могут переполнить память, заставляя устройство отбрасывать все прибывающие дополнительные дейтаграммы.
2. Принимающие устройства направляют источникам сообщения подавления передачи, чтобы предотвратить переполнение своих буферов. Получающее устройство посылает сообщение подавления передачи, чтобы источник уменьшил текущую скорость передачи данных по нескольким причинам. Возможно, наиболее общая причина возникает, когда получающее устройство начинает отбрасывать полученные данные в связи с переполнением буферов. Когда это происходит, получающее устройство начинает посылать подавляющие источник сообщения передающему устройству со скоростью одного сообщения на каждый отброшенный пакет. Когда они начинают приходить на устройство источника, оно снижает скорость данных, пока не перестанет получать сообщения. Как только принимающее устройство прекратит посылать сообщения подавления передачи, устройство-источник станет постепенно увеличивать скорость данных до тех пор, пока снова не получит запросов подавления.
3. Создание окна является схемой управления потоком, при которой устройство-источник требует от устройства-приемника подтверждения приема после передачи определенного числа пакетов. При размере окна, равном трем, источник требует подтверждения после отправки трех пакетов. Посмотрим, как это работает. Устройство-источник посылает три пакета устройству назначения. После получения трех пакетов устройство назначения посылает источнику подтверждение. Источник получает подтверждение и посылает еще три пакета. Если устройство назначения не получает один или большее число пакетов по какой-то причине (например, из-за переполнения буферов), у него нет достаточного количества пакетов, чтобы послать подтверждение. Источник, не получив подтверждения, повторно посылает пакеты с уменьшенной скоростью передачи.
