ndis-based nat + shaper

Home Forums Discussions General Discussion ndis-based nat + shaper

This topic contains 3 replies, has 2 voices, and was last updated by  Vadim Smirnov 12 years, 2 months ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #5011

    Alex Boborikin
    Participant

    есть NAT ndis-based, хочется прикрутить shaper в минимальной комплектации – к примеру, ограничить входящий трафик для tcp. возникает вопрос, как реализовать ограничение.

    приходят в голову следующие мысли:
    1) делим время на интервалы, и отбрасываем все пакеты при превышении заданного значения в байтах за интервал, а tcp будет перепосылать потерянные пакеты. недостаток, бросающийся в глаза – увеличение трафика. хотя вполне может быть, что грамотная реализация протокола на конечных точках снизит скорость передачи.
    2) попробовать поиграться с параметром window tcp-заголовка, те уменьшить значение для исходящих пакетов. есть опасение, что приведет к крайней неэффективности (читай – лишнему трафику) или вообще полному ступору соединения
    3) не отсекать “лишние” пакеты, а складывать в буфер (FIFO). имхо будет эффективен при трафике, немного превышающем ограничение (когда задержки пакетов в буфере будут меньше таймаута tcp перед повторной посылкой данных из-за неполучения подтверждения клиентом)

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

    #6017

    Vadim Smirnov
    Moderator

    Обычно делается очередь пакетов (размер ограничен разумеется), пакеты из очереди выталкиваются в соответствии с установленой скоростью. В случае переполнения очереди пакеты начинают отбрасываться. Цепляться для выталкивания пакетов нужно к таймеру (на случай если долго нет новых пакетов) и событиям прихода новых пакетов (таймер может срабатывать довольно редко по сравнению с приходом пакетов), высчитываем время с последнего события и передаем столько пакетов сколько пролезло бы по установленному каналу за прошедшее время.

    #6018

    Alex Boborikin
    Participant

    а в “железных” маршрутизаторах типа циски используется такой же алгоритм? есть ли оценки его эффективности?
    спасибо.

    #6019

    Vadim Smirnov
    Moderator

    а в “железных” маршрутизаторах типа циски используется такой же алгоритм?

    Что там в сиске, не знает никто кроме разработчиков сиски.

    есть ли оценки его эффективности?

    Тут есть какая-то теория:
    http://www.lan2net.ru/shaper.shtml

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.