членовредительство TCP
Nov. 29th, 2007 11:46 amА вот пришла в голову интересная мысль:
Connection-oriented (как это по-русски?) протокол в Интернете работает за счет кооперативности. Когда где-то кончается пропускная способность, все, кто шлют данные, съеживаются и уменьшают интенсивность посыла.
А ведь, наверное, хитрожопой реализацией можно сманипулировать так, чтобы другие участники съежились, а самому сожрать полосу поширше. Можно, наверное, даже сделать разновидность этой хрени совместимой с обычным TCP. Т.е. чтоб на принимающей стороне был обычный TCP, а вся хитрожопость была в посылающей части. В-принципе, самое простой приходящий в голову вариант - место съеживания начинать посылать все пакеты в дубликате (т.е. да, съеживая полезную пропускную способность вдвое), а через небольшое время, когда все остальные участники устаканятся, убирать дубликаты и расширять пропускную способность взад.
Очевидное применение - например, для VPN без гарантий пропускной полосы через третьих провайдеров.
Интересно, кто-нибудь уже такую пакость делал?
Connection-oriented (как это по-русски?) протокол в Интернете работает за счет кооперативности. Когда где-то кончается пропускная способность, все, кто шлют данные, съеживаются и уменьшают интенсивность посыла.
А ведь, наверное, хитрожопой реализацией можно сманипулировать так, чтобы другие участники съежились, а самому сожрать полосу поширше. Можно, наверное, даже сделать разновидность этой хрени совместимой с обычным TCP. Т.е. чтоб на принимающей стороне был обычный TCP, а вся хитрожопость была в посылающей части. В-принципе, самое простой приходящий в голову вариант - место съеживания начинать посылать все пакеты в дубликате (т.е. да, съеживая полезную пропускную способность вдвое), а через небольшое время, когда все остальные участники устаканятся, убирать дубликаты и расширять пропускную способность взад.
Очевидное применение - например, для VPN без гарантий пропускной полосы через третьих провайдеров.
Интересно, кто-нибудь уже такую пакость делал?
no subject
Date: 2007-11-29 06:55 pm (UTC)подлые сукипосылают флуд NACK-ами на peer-to-peer пакеты..no subject
Date: 2007-11-30 07:15 pm (UTC)no subject
Date: 2007-11-29 09:07 pm (UTC)Работоспособен на самом деле другой подход - модификация congestion aviodance алгоритма заложенного в TCP. http://en.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm нам говорит что это называется Additive increase/multiplicative decrease - то есть постоянно пытаться помаленьку ускориться, если стукнулись лбом - резко замедляться. Если замедляться не так резко как в стандарте - можно получить преимущество IMHO. А можно и проблемы - в случае если реально надо резко замедляться.
no subject
Date: 2007-11-30 07:18 pm (UTC)Тут как раз в зиване по другому поводу подсказали digitalfountain.com - они вставляют в данные избыточность, после чего херачат мультикастом.