Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Медленный запуск и предотвращение перегрузки




Повторная передача ТСР

Последняя функция, о которой следует поговорить, - это возможность ТСР определять, когда осуществлять повторную передачу пакета. Так как данные передаются по сети Internet, в которой происходят различные временные задержки, что обусловлено загруженностью маршрутизаторов и наличием низко- или высокоскоростных сетей, почти невозможно точно определить временную задержку до прихода подтверждения. Подтверждение может прийти, например, за время, измеряемое миллисекундами, а в другой раз это займет секунды, что объясняется гетерогенной природой Internet. ТСР подстраивается под переменные задержки при помощи адаптивного алгоритма повторной передачи. Он резервирует время динамически (не привязываясь к одному значению) и работает следующим образом. Передавая пакет для отправки, ТСР записывает время передачи и порядковый номер сегмента. После получения подтверждения сегмента, ТСР снова записывает время. По этой разнице определяется дискретное время круговой задержки, а затем – среднее время, необходимое для отправления пакета и получения подтверждения. Вычислив новое значение по новым данным, ТСР будет медленно изменять временной интервал ожидания пакета подтверждения.

 

Другие особенности ТСР – это механизмы медленного запуска (slow start) и предотвращения перегрузок (congestion avoidance). Первые версии ТСР начинали работу с соединением с передачи от отправителя в сеть нескольких сегментов, заполняющих окно, определенное приемником (в процессе трехэтапного установления связи). На локальные подсети такое соединение не оказывает такого влияния, как на взаимодействия между подсетями. Если между отправителем и получателем имеются маршрутизаторы и более медленные каналы, то не исключено, что возникнут проблемы. В первый момент может быть послано огромное количество информации. Метод, позволяющий избежать этого, называется медленным запуском. При возникновении перегрузки ТСР должен уменьшить скорость передачи пакетов в сеть, а затем с помощью механизма медленного запуска и/или управления нагрузкой восстановить ее. На практике эти механизмы используются совместно.

Алгоритм медленного запуска при работе постоянно следит, чтобы скорость передачи пакетов в сеть была равна скорости возвращения подтверждений. Механизм медленного запуска добавляет к окну ТСР отправителя окно перегрузки (congestion). Оно не указывается в заголовке ТСР, но предполагается. Когда устанавливается новое соединение, инициализируется окно перегрузки, равное одному сегменту.

Размеры сегментов варьируются в зависимости от типа компьютера или локальной сети, но возможно применение стандартного значения, обычно составляющего 536 (536 – это размер сегмента уровня ТСР, с которым мы работаем) или 512. Каждый раз, когда приходит подтверждение, окно перегрузки увеличивается на один сегмент. Максимальное количество сегментов, которые может передать отправитель, равно минимуму из окна перегрузки и окна передачи. Отличие здесь заключается в том, что окном перегрузки, как механизмом управления потоком, пользуется отправитель, а передаваемым окном – получатель.

Отправитель начинает с передачи одного сегмента и ожидания его подтверждения. При получении подтверждения окно перегрузки увеличивается с 1 до 2, и теперь могут быть посланы два сегмента. После подтверждения каждого из этих двух сегментов окно перегрузки возрастает до 4. Это значение продолжает расти по экспоненте, пока не будет достигнут размер окна передачи. Как только окно перегрузки и передаваемое окно сравняются по размеру, размер окна станет инструментом для управления нагрузкой на рабочие станции (так, как будто медленный запуск никогда не использовался), а сегменты будут продолжать передаваться.

Однако при перегрузке (что можно определить по дублированию подтверждений или большим задержкам, тайм-аутам) алгоритм прекращает работу, но начинает действовать другой алгоритм (известный как алгоритм управления перегрузкой). Как уже отмечалось ранее, в условиях перегрузки размеры окна перегрузки и окна передачи ТСР совпадают. Меньшее значение затем делится пополам и сохраняется в переменной, называемой порогом медленного запуска. Это значение должно быть равно, по крайней мере, двум сегментам, если только перегрузка не была причиной тайм-аута тогда размер окна перегрузки устанавливается в 1 (медленный запуск). Отправитель ТСР дальше может реализовать механизм либо медленного запуска, либо предотвращения перегрузок. Разу после получения подтверждения увеличивается размер окна перегрузок. Как только размер окна перегрузок сравняется со значением порога медленного запуска, алгоритм медленного запуска останавливается, и начинает работу алгоритм предотвращения перегрузок. Последний позволяет более гибко управлять (в отличие от алгоритма медленного запуска, линейно, а не экспоненциально) увеличением объемов передачи. В соответствии с этим алгоритмом размер сегмента умножается на 2, полученное значение делится на размер окна перегрузок, а затем постоянно увеличивается скорость каждый раз. Когда приходит подтверждение. Это дает возможность увеличивать размер передаваемых данных и лучше управлять скоростью передачи.

В Internet такие алгоритмы оказались весьма эффективными. Все версии программного обеспечения на базе TCP/IP теперь включают их, и они успешно работают не только на удаленных соединениях, но и между двумя станциями локальной подсети.

 




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 661; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.