ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопасность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
ћерион Ќетворкс

9 минут чтени€

” каждого из нас, наверное, есть родственник (бабушка, брат, плем€нник или еще кто-то), который говорил так быстро, что вы не могли пон€ть слова, которое он говорил? Ќекоторые компьютерные программы тоже "говор€т" слишком быстро. –исунок 1 иллюстрирует это.

ѕример переполнени€ буфера

Ќа рисунке:

  • ¬ момент времени 1 (T1) отправитель передает около четырех пакетов на каждые три, которые может обработать приемник. ѕриемник имеет п€ти-пакетный буфер дл€ хранени€ необработанной информации; в этом буфере наход€тс€ два пакета.
  • ¬ момент времени “2 отправитель передал четыре пакета, а получатель обработал три; буфер в приемнике теперь содержит три пакета.
  • Ќа этапе T3 отправитель передал четыре пакета, а получатель обработал три; буфер в приемнике теперь содержит четыре пакета.
  • Ќа этапе T4 отправитель передал четыре пакета, а получатель обработал три; буфер в приемнике теперь содержит п€ть пакетов.

—ледующий переданный пакет будет отброшен получателем, потому что в буфере нет места дл€ его хранени€, пока получатель обрабатывает пакеты, чтобы их можно было удалить. „то необходимо, так это своего рода петл€ обратной св€зи, чтобы сказать передатчику замедлить скорость, с которой он посылает пакеты, как показано на рисунке 3.

Ётот тип обратной св€зи требует либо не€вной сигнализации, либо €вной сигнализации между приемником и передатчиком. Ќе€вна€ передача сигналов используетс€ более широко. ѕри не€вной сигнализации передатчик предполагает, что пакет не был прин€т на основании некоторых наблюдений о потоке трафика. Ќапример, получатель может подтвердить получение некоторого более позднего пакета, или получатель может просто не подтвердить получение определенного пакета, или получатель может не отправл€ть что-либо в течение длительного периода времени (в терминах сети). ѕри €вной сигнализации получатель каким-то образом напр€мую сообщает отправителю, что определенный пакет не был получен.

÷икл обратной св€зи дл€ управлени€ потоком пакетов

Windowing

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

  1. ѕередатчик отправл€ет некоторое количество информации получателю.
  2. ѕередатчик ждет, прежде чем решить, правильно ли была получена информаци€ или нет.
  3. ≈сли получатель подтверждает получение в течение определенного периода времени, передатчик отправл€ет новую информацию.
  4. ≈сли получатель не подтверждает получение в течение определенного периода времени, передатчик повторно отправл€ет информацию.

Ќе€вна€ сигнализаци€ обычно используетс€ с Windowing протоколами, просто не подтвержда€ получение конкретного пакета. явна€ сигнализаци€ иногда используетс€, когда получатель знает, что он сбросил пакет, когда полученные данные содержат ошибки, данные получены не по пор€дку или данные иным образом повреждены каким-либо образом. –исунок 3 иллюстрирует простейшую Windowing схему-окно с одним пакетом.

ќкно одного пакета

¬ одиночном окне пакета (также иногда называемом ping pong) передатчик отправл€ет пакет только тогда, когда получатель подтвердил (показанный на рисунке как ack) получение последнего переданного пакета. ≈сли пакет не получен, получатель не подтвердит его. ѕри отправке пакета отправитель устанавливает таймер, обычно называемый таймером повторной передачи; как только этот таймер активируетс€ (или истекает), отправитель предполагает, что получатель не получил пакет, и отправл€ет его повторно.

 ак долго должен ждать отправитель? —уществует несколько возможных ответов на этот вопрос, но по существу отправитель может либо ждать фиксированное количество времени, либо установить таймер на основе информации, полученной из предыдущих передач и условий сети. ѕростой (и наивной) схемой было бы

  • »змерьте промежуток времени между отправкой пакета и получением подтверждени€, называемый временем обратного пути (RTT- Round Trip Time, хот€ обычно пишетс€ в нижнем регистре, поэтому rtt).
  • ”становите таймер повторной передачи на это число плюс небольшое количество времени буфера, чтобы учесть любую изменчивость в RTT на прот€жении нескольких передач.

 роме того, получатель может получить две копии одной и той же информации:

  1. A передает пакет и устанавливает таймер его повторной передачи
  2. B получает пакет, но
    1. Ќе может подтвердить получение, потому что он находитс€ вне пам€ти или испытывает высокую загрузку процессора или какое-то другое состо€ние.
    2. ќтправл€ет подтверждение, но оно отбрасываетс€ сетевым устройством.
  3. “аймер повторной передачи в точке A истекает, поэтому отправитель передает другую копию пакета.
  4. B получает эту вторую копию той же информации

 ак получатель может обнаружить дублированные данные? ƒл€ получател€ представл€етс€ возможным сравнить полученные пакеты, чтобы увидеть, есть ли дублирующа€с€ информаци€, но это не всегда будет работать - возможно, отправитель намеревалс€ отправить одну и ту же информацию дважды. ќбычный метод обнаружени€ дублирующейс€ информации заключаетс€ в включении некоторого вида пор€дкового номера в передаваемые пакеты.  аждому пакету присваиваетс€ уникальный пор€дковый номер при его создании отправителем; если получатель получает два пакета с одинаковым пор€дковым номером, он предполагает, что данные дублированы, и отбрасывает копии.

ќкно размером 1, или ping pong, требует одного кругового перехода между отправителем и получателем дл€ каждого набора передаваемых данных. Ёто, как правило, приводит к очень низкой скорости передачи. ≈сли рассматривать сеть, как о сквозном железнодорожном пути, а каждый пакет-как об одном вагоне поезда, то наиболее эффективное использование пути и сама€ быстра€ скорость передачи данных будут тогда, когда путь всегда полон. Ёто физически невозможно, однако, в случае сети, потому что сеть используетс€ многими наборами отправителей и получателей, и всегда есть сетевые услови€, которые помешают использованию сети достичь 100%. —уществует некоторый баланс между повышением эффективности и скорости отправки более одного пакета за один раз, а также мультиплексированием и "безопасностью" отправки меньшего количества пакетов за один раз (например, одного). ≈сли правильна€ точка баланса может быть вычислена каким-то образом, схема управлени€ потоком с фиксированным окном может хорошо работать. –исунок 4 иллюстрирует это.

ѕример управлени€ потоком фиксированного окна

Ќа рисунке 4, предполагаемое фиксированное окно с трем€ пакетами:

  • ѕри T1, T2 и T3 A передает пакеты; A не нужно ждать, пока B что-либо подтвердит, чтобы отправить эти три пакета, так как размер окна установлен на 3.
  • ¬ момент T4 B подтверждает эти три пакета, что позвол€ет A передать другой пакет.
  • ѕри T5 B подтверждает этот новый пакет, даже если это только один пакет. B не нужно ждать, пока A передаст еще три пакета, чтобы подтвердить один пакет. Ёто подтверждение позвол€ет A иметь достаточный бюджет дл€ отправки еще трех пакетов.
  • ѕри T5, T6 и T7 A отправл€ет еще три пакета, заполн€€ свое окно. “еперь он должен ждать, пока B не подтвердит эти три пакета, чтобы отправить больше информации.
  • Ќа этапе T8 B подтверждает получение этих трех пакетов.

¬ схемах управлени€ окнами, где размер окна больше одного, существует четыре вида подтверждений, которые приемник может отправить передатчику:

  • ѕоложительное подтверждение: приемник подтверждает получение каждого пакета в отдельности. Ќапример, если пор€дковые номера 1, 3, 4 и 5 были получены, приемник подтвердит получение этих конкретных пакетов. ќтправитель может сделать вывод, какие пакеты не получил приемник, отметив, какие пор€дковые номера не были подтверждены.
  • ќтрицательное подтверждение: приемник отправл€ет отрицательное ack дл€ пакетов, которые, по его мнению, отсутствуют или были повреждены при получении. Ќапример, если пор€дковые номера 1, 3, 4 и 5 были получены, приемник может сделать вывод, что пор€дковый номер 2 отсутствует, и отправить отрицательное ack дл€ этого пакета.
  • ¬ыборочное подтверждение: по сути, это сочетание положительного и отрицательного подтверждени€, как указано выше; приемник отправл€ет как положительные, так и отрицательные подтверждени€ дл€ каждой последовательности полученной информации.
  •  умул€тивное подтверждение: подтверждение получени€ пор€дкового номера подразумевает получение всей информации с более низкими пор€дковыми номерами. Ќапример, если пор€дковый номер 10 подтвержден, подразумеваетс€ информаци€, содержаща€с€ в пор€дковых номерах 19, а также информаци€, содержаща€с€ в пор€дковом номере 10

“ретий оконный механизм называетс€ управлением потоком скольз€щего окна. Ётот механизм очень похож на фиксированный механизм управлени€ потоком окон, за исключением того, что размер окна не €вл€етс€ фиксированным. ѕри управлении потоком со скольз€щим окном передатчик может динамически измен€ть размер окна при изменении сетевых условий. ѕриемник не знает, какого размера окно, только то, что отправитель передает пакеты, и врем€ от времени приемник подтверждает некоторые или все из них, использу€ один из механизмов подтверждени€, описанных в предыдущем списке. ћеханизмы скольз€щих окон добавл€ют еще один интересный вопрос к вопросам, уже рассмотренным в других механизмах управлени€ окнами: какого размера должно быть окно? ѕростое решение позвол€ет просто вычислить rtt и установить размер окна, кратный rtt. Ѕыли предложены более сложные решени€;


Negotiated Bit Rates (—огласование Bit Rates)

ƒругое решение, которое чаще используетс€ в сет€х с коммутацией каналов, а не в сет€х с коммутацией пакетов, заключаетс€ в том, чтобы отправитель, получатель и сеть согласовывали скорость передачи битов дл€ любого конкретного потока. Ўирокий спектр возможных скоростей передачи данных был разработан дл€ р€да различных сетевых технологий. ¬озможно, "наиболее полный набор" предназначен дл€ асинхронного режима передачи данных (ATM)-но данные сети ATM вы скорее всего найдете в ближайшем ћузее истории сетей, потому что ATM редко развертываетс€ в производственных сет€х. Ѕитовые скорости ATM €вл€ютс€:

  • ѕосто€нна€ скорость передачи (Constant Bit Rate -CBR): отправитель будет передавать пакеты (или информацию) с посто€нной скоростью; следовательно, сеть может планировать с учетом этой посто€нной нагрузки на полосу пропускани€, а приемник может планировать с учетом этой посто€нной скорости передачи данных. Ётот битрейт обычно используетс€ дл€ приложений, требующих синхронизации времени между отправителем и получателем.
  • ѕеременна€ скорость передачи (Variable Bit Rate -VBR): отправитель будет передавать трафик с переменной скоростью. Ёта скорость обычно согласовываетс€ с несколькими другими част€ми информации о потоке, которые помогают сети и получателю планировать ресурсы, включа€:
    • ѕикова€ скорость или максимальна€ скорость передачи пакетов в секунду, которую планирует передать отправитель
    • ”стойчива€ скорость или скорость, с которой отправитель планирует передавать данные в обычном режиме
    • ћаксимальный размер пакета или наибольшее количество пакетов, которые отправитель намереваетс€ передать за очень короткий промежуток времени
  • ƒоступна€ скорость передачи (Available Bit Rate -ABR): отправитель намереваетс€ полагатьс€ на способность сети доставл€ть трафик с максимальной отдачей, использу€ некоторую другую форму управлени€ потоком, такую как метод скольз€щего окна, дл€ предотвращени€ переполнени€ буфера и настроить передаваемый трафик на доступную полосу пропускани€.