Чтение онлайн

на главную - закладки

Жанры

Настройка сетей Microsoft дома и в офисе. Учебный курс

Сергеев Александр

Шрифт:

Линейный алгоритм оценки вероятности может быть положен в основу используемого методикой RED метода вычисления вероятности потери дейтаграммы. Однако в него следует внести изменения, чтобы система не столь бурно реагировала на изменение степени загрузки сети. Это вызвано тем, что в реальной сети значение сетевого трафика постоянно изменяется в весьма широких пределах. В результате размер внутренней очереди маршрутизатора также отличается высокой степенью вариабельности. Если в алгоритме RED применяется упрощенный линейный метод, то вероятность отклонения последних дейтаграмм, поступивших в одном блоке, который и вызвал перегрузку, будет очень большой.

 

Причина этого заключается в том, что дейтаграммы

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

Каким же образом в алгоритме RED определять более высокую вероятность отклонения дейтаграмм по мере увеличении размера внутренней очереди и при этом сделать так, чтобы без крайней необходимости не отклонялись дейтаграммы в блоках, вызвавших перегрузку? Для ответа на этот вопрос необходимо вспомнить метод, примененный в протоколе TCP. Суть его состоит в том, что при вычислениях в каждый момент времени не следует использовать реальный размер очереди. Вместо этого в алгоритме RED определяется средневзвешенное значение размера внутренней очереди, которое используется для вычисления вероятности потери дейтаграмм. Величина средневзвешенного значения изменяется по экспоненциальному закону и корректируется каждый раз при получении очередной дейтаграммы.

В результате моделирования работы алгоритма RED и исследования его поведения в реальных условиях было выявлено много преимуществ этого метода. При перегрузке сети он позволяет избежать эффекта глобальной синхронизации, который возникает при применении метода усечения хвоста очереди. Кроме того, при кратковременной перегрузке метод RED без крайней необходимости не аннулирует дейтаграммы.

Сеанс связи TCP

Для установки сеанса связи протоколом TCP применяется метод трехстороннего квитирования связи. В простейшем случае процесс квитирования происходит так, как показано на рис. 4.6.



Рис. 4.6. Метод установки сеанса связи TCP


Первый сегмент, посылаемый в процессе квитирования, легко опознать, поскольку его полю SYN присвоена единица. Во втором сегменте данных единица присваивается двум полям, SYN и АС К. Это означает, что в нем находится сигнал подтверждения приема первого сегмента SYN и данные, предназначенные для продолжения процесса квитирования. В заголовке последнего сегмента единица находится только в поле АСК. Этот сегмент используется только для информирования получателя о том, что обе стороны уведомлены об установке соединения.

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

Метод трехстороннего квитирования связи является необходимым и достаточным условием выполнения успешной синхронизации между двумя сторонами соединения. В процессе осуществления доставки сегментов данных они

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

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

Порядковые номера не могут всегда начинаться с одного и того же значения. В частности, экземпляр протокола TCP не может каждый раз при создании нового соединения назначать порядковый номер, равный единице. Естественно, при открытии соединения обе стороны будут согласовывать свои порядковые номера. Это делается для того, чтобы номера байтов, указываемые в сигналах подтверждения приема, соответствовали номерам, используемым в заголовках при передаче сегментов данных.

Чтобы понять, каким образом стороны, обменявшись всего тремя сообщениями, могут согласовать порядковые номера для двух потоков, необходимо вспомнить, что в заголовке любого сегмента содержится как поле порядкового номера, так и поле номера сигнала подтверждения приема. Предположим, что компьютер А является инициатором соединения. Тогда во время трехэтапного процесса квитирования в первом SYN-сегменте он передает второй стороне (то есть компьютеру Б) свой начальный порядковый номер и. Получив SYN-сегмент, компьютер Б сохраняет в памяти начальный порядковый номер компьютера А, после чего посылает ответный сегмент синхронизации. В одноименном поле его заголовка она указывает уже свой начальный порядковый номер у, а полю номера сигнала подтверждения приема присваивается значение и+1. Тем самым компьютер Б уведомляет компьютер А о том, что его начальный порядковый номер успешно получен, и что компьютер Б ожидает получить от компьютера А поток байтов, начинающийся с номера и+1. В третьем и последнем сегменте процесса квитирования компьютер А подтверждает получение порядкового номера для компьютера Б и сообщает ему, что он ожидает получить от компьютера Б поток байтов, начинающийся с номера и+1. В обоих случаях номера в сигналах подтверждения приема соответствуют принятому в протоколе TCP соглашению о следующем ожидаемом сегменте данных.

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

Поделиться:
Популярные книги

Темный Лекарь 5

Токсик Саша
5. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 5

Охота на разведенку

Зайцева Мария
Любовные романы:
современные любовные романы
эро литература
6.76
рейтинг книги
Охота на разведенку

Неудержимый. Книга XVI

Боярский Андрей
16. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVI

Газлайтер. Том 18

Володин Григорий Григорьевич
18. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 18

Ищу жену для своего мужа

Кат Зозо
Любовные романы:
любовно-фантастические романы
6.17
рейтинг книги
Ищу жену для своего мужа

На границе империй. Том 8. Часть 2

INDIGO
13. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 8. Часть 2

По воле короля

Леви Кира
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
По воле короля

Черный Маг Императора 9

Герда Александр
9. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 9

Последняя Арена 8

Греков Сергей
8. Последняя Арена
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Последняя Арена 8

Измена. Вторая жена мужа

Караева Алсу
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Вторая жена мужа

Возмездие

Злобин Михаил
4. О чем молчат могилы
Фантастика:
фэнтези
7.47
рейтинг книги
Возмездие

Выстрел на Большой Морской

Свечин Николай
4. Сыщик Его Величества
Детективы:
исторические детективы
полицейские детективы
8.64
рейтинг книги
Выстрел на Большой Морской

Ты - наша

Зайцева Мария
1. Наша
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Ты - наша

Повелитель механического легиона. Том III

Лисицин Евгений
3. Повелитель механического легиона
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Повелитель механического легиона. Том III