DECbit — это метод контроля перегрузки TCP , реализованный в маршрутизаторах для предотвращения перегрузки . Его полезность заключается в прогнозировании возможной перегрузки и ее предотвращении.
Когда маршрутизатор хочет сообщить отправителю о перегрузке, он добавляет бит в заголовок отправляемых пакетов . Когда пакет прибывает на маршрутизатор, маршрутизатор вычисляет среднюю длину очереди за последний период (занятость + простоя) плюс текущий период занятости. (Маршрутизатор занят , когда передает пакеты, и простаивает в противном случае). Когда средняя длина очереди превышает 1, маршрутизатор устанавливает бит индикации перегрузки в заголовке пакета прибывающих пакетов.
Когда пункт назначения отвечает, соответствующий ACK включает установленный бит перегрузки. Отправитель получает ACK и подсчитывает, сколько пакетов он получил с битом индикации перегрузки, установленным на единицу. Если менее половины пакетов в последнем окне имели установленный бит индикации перегрузки, то окно увеличивается линейно. В противном случае окно уменьшается экспоненциально.
Этот метод динамически управляет окном, чтобы избежать перегрузки и увеличения грузоперевозок при обнаружении перегрузки, и пытается сбалансировать пропускную способность с учетом задержки.
Обратите внимание, что этот метод не позволяет эффективно использовать линию, поскольку он не использует доступную полосу пропускания . Кроме того, тот факт, что хвост увеличивается в размере от одного цикла к другому, не всегда означает, что есть перегрузка.