Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Контроль перегрузок.






Подход, применяемый в TCP, заключается в ограничении скорости передачи источников в зависимости от наблюдаемой перегрузки. Если перегрузки в сети не наблюдаются, источник может увеличивать скорость передачи; в противном случае скорость передачи принудительно снижается. При подобном подходе возникают три вопроса. Во-первых, каким образом ограничить скорость передачи данных источником? Во-вторых, как источник может определить наличие перегрузки на пути между ним и приемником? В-третьих, каков алгоритм изменения скорости передачи в зависимости от перегрузки? Мы рассмотрим эти вопросы на примере алгоритма Reno, использующегося в современных операционных системах для контроля перегрузки ТСР-соединений. Для определенности будем считать, что источник осуществляет передачу большого файла данных.

 

Сначала рассмотрим, каким образом в TCP удается ограничивать скорость передачи данных. Как мы узнали из раздела «Протокол TCP — передача с установлением соединения», каждая сторона TCP-соединения состоит из буферов передачи и приема, а также набора переменных (LasttByteRead, RcvWindow и т. д.). Механизм контроля перегрузки использует дополнительную переменную CongWin, называемую окном перегрузки. Окно перегрузки влияет на скорость передачи данных в сеть следующим образом: объем неподтвержденных данных, которые может передать источник, не превышает минимального из значений CongWin и RcvWindow, то есть выполняется неравенство

 

LastByteSent – LastByteAcked < min{CongWin, RcvWindow}.

 

Для того чтобы наглядно представить разницу между контролем перегрузок и контролем потока, предположим, что объем приемного буфера TCP настолько велик, что ограничение, накладываемое окном приема, можно считать несущественным. Таким образом, количество неподтвержденных данных определяется только переменной CongWin.

 

Ограничение объема неподтвержденных данных косвенно влияет на скорость передачи источника. Представьте себе соединение, в котором отсутствуют потери и задержки пакетов. Если в начале времени оборота источнику разрешается передача CongWin байтов, а по истечении времени оборота он получает квитанции для переданных данных, то скорость его передачи равна отношению CongWin ко времени оборота. Таким образом, меняя значение CongWin, протокол TCP может регулировать скорость передачи данных через соединение.

 

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

 

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


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

mylektsii.su - Мои Лекции - 2015-2024 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал