Существует ли алгоритм снятия отпечатков пальцев с алгоритма управления перегрузкой TCP, используемого в захваченном сеансе? - PullRequest
6 голосов
/ 09 февраля 2009

Мне нужна программа для определения алгоритма управления перегрузкой TCP , используемого в захваченном сеансе TCP.

В ссылочной статье Википедии говорится:

TCP New Reno является наиболее распространенным реализован алгоритм, поддержка SACK очень распространенный и является продолжением Рено / New Reno. Большинство других конкурирующие предложения, которые все еще нужны оценка. Начиная с 2.6.8 Ядро Linux переключено по умолчанию Реализация из Рено в БИК. реализация по умолчанию была снова изменен на CUBIC в 2.6.19 версия.

Также:

Составной TCP является Microsoft реализация TCP, который поддерживает два разных окна заторов одновременно с целью достижение хороших результатов на LFN не нарушая при этом справедливости. Она имеет был широко развернут с Microsoft Windows Vista и Windows Server 2008 и был портирован на более старый Microsoft Версии для Windows, а также для Linux.

Какими будут некоторые стратегии для определения того, какой алгоритм CC используется (от третьей стороны, захватившей сеанс)?

Обновление

Этот проект имеет встроенный инструмент для этого:

Интернет недавно был развивается из однородного скопления контроль до неоднородного скопления контроль. Несколько лет назад интернет движение в основном контролировалось стандартный алгоритм TCP AIMD, тогда как Интернет-трафик теперь контролируется много разных TCP контроля перегрузки алгоритмы, такие как AIMD, BIC, CUBIC, CTCP, HSTCP, HTCP, HYBLA, ILLINOIS, LP, STCP, VEGAS, VENO, WESTWOOD + и ДА УЖ. Однако очень мало работать на производительность и стабильность изучение интернета с гетерогенный контроль заторов. Один фундаментальная причина заключается в отсутствии информация о развертывании различных Алгоритмы TCP. Цели этого Проект должен:

1) develop tools for identifying the TCP algorithms in the Internet,
2) conduct large-scale TCP-algorithm measurements in the Internet.

1 Ответ

3 голосов
/ 01 апреля 2009

Существует гораздо больше алгоритмов контроля заторов, чем вы упомянули здесь, помимо всего прочего, список включает в себя: FAST, Scalable, HSTCP, HTCP, Bic, Cubic, Veno, Vegas.

Существуют также небольшие их вариации из-за исправления ошибок в реальных реализациях, и я предполагаю, что реализации в разных ОС также ведут себя немного по-другому.

Но если мне нужно попытаться придумать идею, это было бы оценить RTT соединения, вы можете попытаться посмотреть, сколько времени прошло между третьим и четвертым пакетами, как первый и второй пакеты могут быть испорчены ARP и другими алгоритмами обнаружения вдоль маршрута.

После того, как у вас есть оценка RTT, вы можете попытаться уточнить ее по пути, хотя я не совсем уверен, как вы могли бы это сделать. Но вам не нужна полная спецификация для программы, просто идеи: -)

Получив RTT, вы можете попытаться поместить пакеты в RTT и посчитать количество пакетов данных в полете в каждом бине. Таким образом, вы сможете «построить» график-cwnd (количество пакетов в бине) и попробовать там какое-то сопоставление с образцом.

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

Это определенно звучит как интересная и сложная задача!

...