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

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

Жанры

Настройка сетей 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 может разблокировать данные и доставить их ожидающему приложению.

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

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

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

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

Господин следователь. Книга 2

Шалашов Евгений Васильевич
2. Господин следователь
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Господин следователь. Книга 2

Бастард Императора. Том 8

Орлов Андрей Юрьевич
8. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 8

О, мой бомж

Джема
1. Несвятая троица
Любовные романы:
современные любовные романы
5.00
рейтинг книги
О, мой бомж

Болтливый мертвец

Фрай Макс
7. Лабиринты Ехо
Фантастика:
фэнтези
9.41
рейтинг книги
Болтливый мертвец

Леди Малиновой пустоши

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Леди Малиновой пустоши

Тайны затерянных звезд. Том 2

Лекс Эл
2. Тайны затерянных звезд
Фантастика:
боевая фантастика
космическая фантастика
космоопера
фэнтези
5.00
рейтинг книги
Тайны затерянных звезд. Том 2

Мастер 6

Чащин Валерий
6. Мастер
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 6

Измена. Право на обман

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

Связанные Долгом

Рейли Кора
2. Рожденные в крови
Любовные романы:
современные любовные романы
остросюжетные любовные романы
эро литература
4.60
рейтинг книги
Связанные Долгом

Ваше Сиятельство 4т

Моури Эрли
4. Ваше Сиятельство
Любовные романы:
эро литература
5.00
рейтинг книги
Ваше Сиятельство 4т

Очешуеть! Я - жена дракона?!

Амеличева Елена
Фантастика:
юмористическая фантастика
5.43
рейтинг книги
Очешуеть! Я - жена дракона?!

Секретарша генерального

Зайцева Мария
Любовные романы:
современные любовные романы
эро литература
короткие любовные романы
8.46
рейтинг книги
Секретарша генерального