|
Механизм тайм-аута ожидания подтвержденияКогда протокол TCP передает сегмент с данными, он помещает его копию в очередь повторной передачи и запускает таймер. Когда приходит подтверждение (на данный сегмент) – сегмент стирается, а таймер выключается. Если таймер истек, а подтверждение не получено – сегмент передается повторно (рис.6.16.).
Рис.6.16. Выбор тайм-аута. Важной задачей является выбор величины этого тайм-аута T a ожидания подтверждения. При малой величине T a увеличивается число повторных передач. При большой величине T a возникают длительные простои ожидания «несуществующей» квитанции. В протоколе TCP тайм-аут T a выбирается с помощью достаточно сложного адаптивного алгоритма. Суть его следующая. · При каждой передаче засекается время до прихода квитанции (время оборота). · Получаемые значения усредняются с весовым коэффициентом, возрастающим от предыдущего замера к следующему. Таким образом стараются усилить влияние последних замеров времени оборота. · В качестве T a выбирается среднее время оборота, умноженное на некоторый коэффициент. Практика показывает, что значение этого коэффициента должно превышать 2. · При большом разбросе времени оборота в алгоритме выбора тайм-аута учитывается также и дисперсия этой величины. Приостановка передачи. При полном заполнении входного буфера перегруженный узел-приемник указывает в своей квитанции нулевое окно. Даже после этого его партнер по соединению может направить на этот порт сообщение. Для этого оно должно сопровождаться пометкой «срочно» (в поле заголовка — «указатель срочности»). При поступлении такого срочного пакета порт обязан принять его даже путем вытеснения из буфера уже находящихся там данных. После приема квитанции с нулевым окном узел-отправитель время от времени делает контрольные попытки продолжить обмен данными. Если порт-приемник уже готов принимать информацию, то в ответ на контрольный запрос он посылает квитанцию с указанием ненулевого размера окна. Перегрузка сети может произойти и на промежуточных узлах-маршрутизаторах. В таких случаях они могут инициировать уменьшение размера окна посылкой управляющих сообщений ряду конечных узлов. Это позволяет им дифференцированно управлять интенсивностью потока данных в различных частях сети. Протокол TCP описан в документе RFC 793. Формат заголовка Как показано на рисунке 6.17 сегмент TCP состоит из заголовка и поля данных. Минимальная длина заголовка составляет 20 байт. Для определения назначения большинства полей предназначены специальные управляющие биты заголовка. Формат и значения поля «управляющие биты» показаны в таблице 6.1. Таблица 6.1.
q URG — (Urgent) – сигнализация о срочных данных q ASK — (Acknowledgment) – указывает на то, что используется поле «подтверждения». q PSH — (Push) – включена функция проталкивания потока данных. Обычно используется для передачи последнего сегмента в потоке данных и этот сегмент будет без очереди доставлен к приложению-получателю. q RST — (Reset) – указывает на сброс и последующую перезагрузку данного соединения. q SYN — (Synchronization) – флаг синхронизации. Когда он установлен, поле «номер в последовательности» содержит начальный номер байта в последовательности. q FIN — (Final) – указывает на отсутствие данных для передачи. Основные поля заголовка. «Номер в последовательности» (Sequence number) – номер первого байта в текущем сегменте. «Номер подтверждения» (Acknowledgment number) – номер следующего байта, который ожидает приемник. Тем самым подтверждается получение байтов с номерами до {AN-1}. «Смещение данных» (Data offset) – указывает количество 32-битных слов в заголовке TCP. «Резерв» (Reserved) – заполнено нулями и предназначено для будущего расширения протокола. «Окно» (Window) – объявляет размер W окна в байтах. «Контрольная сумма» (Checksum) – сумма всех 16 битовых слов заголовка и поля данных. «Указатель срочности» (Urgent pointer) – используется совместно с флагом URG. Указывает размер в байтах поля срочных данных.
Рис.6.17. Options) – имеет переменную длину и может отсутствовать. Его размер всегда кратен 8 байтам. Здесь могут, к примеру, указываться: максимальный размер сегмента, дополнительные услуги и т.д. «Выравнивание» (Padding) – заполнение нулями до 32-битовой длины. ![]() ![]() Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... ![]() Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... ![]() Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... ![]() ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|