Протокол SNOOPS ускоряет TCP соединения по беспроводным линкам в 2-6 раз!
Отправлено: Алексей Ногин on April 08, 1998 at 03:41:27:
Приветствую! Я побывал сегодня на докладе аспиранта из Беркли, который рассказал о новеAших разработках в области ускорения связи с ИнтерНет по беспроводным каналам. Он рассказал, что во всех широко распространенных системах скорость прокачки информации через беспроводные линки как правило сильно меньше возможностей радиомодема (WaveLan назывался в качестве примера, ARLAN - нет, но, как мы знаем, и про ARLAN это верно) Оказывается, основная причина этого состоит в D4ом, что на радиолинке из-за помех регулярно теряются пакеты, а TCP воспринимает потерю пакетов как сигнал, что линк перегружен и замедляет передачу информации. В результате файл передаетсD1 во много раз медленнее, чем мог бы. Одно из традиционных решений этой проблемы (насколько я понимаю, ARLAN именно так и делает - поправьте меня, если я не прав) состоит в том, что радиомодем сам прооизводит проверку, дошел ли пакет, и пересылает заново все потерянные на линке пакеты. Выясняется, что это не сильно улучшает ситуацию - многие пакеты приходят со значительной DAадержкой, пакеты приходят не по порядку и т.п. В результате довольно часто получатель пакета успевает послать ACK, говорящий, что пакет еще не получен, отправитель дублирует пакет и на радио-линк ложится дополнительная нагрузка, замедляющая передачу информации. Чтобы решить эти проблемы, в Беркли был разработан протокол SNOOP, состоящий в том, что роутер (или сам радиоCDодем) читает проходящие мимо него ACK'и и использует содержащуюся в них информацию, чтобы понять, какие пакеты были потеряны и требуют повторной пересылки, а также фильтрует ACK'и, которD9е заставили бы отправителя повторить пакет, который уже и так был повторен по радио. При применении протокола SNOOP скорость передачи информации по TCP даже при самом плохом качестве связи рC5дко отклоняется от теоретичиского максимума больше, чем на 5-10%, тем самым увеличивая скорость (по сравнению с простыми протокалами) в 2-6 раз. Домашняя страничка SNOOP'а - http://http.cs.berkeley.edu/~hari/papers/snoop.html , там же можно скачать драйвера для BSD/OS (утверждается, что существуют порты под Linux и FreeBSD, но надо спросить у Hari - hari@cs.berkeley.edu, где их взять). Несколько замечаний: 1) SNOOP имеет смысл ставить со стороны провайдера, со стороны клиента не нужно вообще ничего трогать. 2) Чтобы получить необходимый эффект от применения этого протокола, надо отключить retransmit у ARLAN'ов - по крайCEей мере со стороны провайдера, т.к. весь смысл в том, чтобы SNOOP сам управлял перепосылкой потерянных пакетов. 3) Было бы совсем здорово, если бы удалось уговорить Aironet сделать firmware, поддерж9вающее SNOOP (хотя бы в качестве экспериментальной версии). Алексей
Отклики:
Написать ответ
|