Уважаемые коллеги, предлагаю заценить прекрасную картинку. Кто как, а я просто тащусь:
Вы меня спросите: ты, Даня, спьяну с единицами измерения ничего не напутал? Я вам отвечу: нет, ничего я не напутал, все честно.
Вы меня спросите: а что ж это тогда за инфернальный пиздец? А я вам отвечу: это любимое Акадо какбе хочет показывать нам, как ведет себя TCP в перегруженной DOCSIS-сети.
Картиночка получилась очень просто: заливка файла по scp - один tcp поток, никаких торрентов, никакого шумящего вайфая в середине, ничего подобного. Все, повторяюсь, честно.
По словам Акадовской техподдержки, у них чего-то сломалось на нашем CMTS, и пришел дефицит upstream емкости. А DOCSIS - штука многоподлая в отношении upstream'а. Там, как все мы знаем, система request-and-grant и truncated binary exponential backoff (TBEB) с перепосылом ажно до 16 раз. Поэтому, в перегруженном DOCSIS'е пакетик в кабельном модеме может отлеживаться довольно долго.
Ладно, я не буду плеваться в Акаду по этому поводу. У всех аварии случаются. Хотя, конечно, они могли бы временно удавить скорость в upstream в моем районе. Чесслово, лучше честные 256k, чем вот такое вот.
А сегодняшний приз достается замечательным людям из Scientific Atlanta. За ихнее трепетное отношение к буферизации пакетиков. Эти люди не понимают, что пакет, который провалялся в буфере 28(!) секунд - никому нахуй не нужен. Делать такие глубокие буфера - бессмысленно полностью, т.е. абсолютно.
Что делает TCP в таких условиях? Он льет себе потихонечку в буфер, ack'и приходят рано или поздно, дропов нету, TCP разгоняется, заливает буфер еще сильнее и т.д., пока каналом пользоваться становится совершенно нельзя, ибо все начинает разваливаться: броузить нельзя - соединения просто не устанавливаются при такой задержке, почта не ходит, ибо отваливается по таймаутам, про ssh и говорить нечего. Рано или поздно что-то дропнется, TCP замедлится, но разгонится снова, и так далее по классической пиле. Только у нормальной пилы период в сотни миллисекунд, что работать не мешает, а здесь в десятки секунд.
Чем думали наши дорогие друзья из SA, когда придумали сделать такие очереди без AQM? Наверное, какие-то благие побуждения у них были. Впрочем, кто ж их знает - см. эпиграф.