- •1.Локальные вычислительные сети
- •Топологии локальных сетей
- •Среды передачи информации
- •Методы кодирования информации
- •Методы управления обменом в сети типа «активная звезда»
- •В сети типа «шина»
- •В лвс типа «кольцо»
- •Контроль правильности передачи
- •Функции аппаратуры локальных сетей
- •Сетевые адаптеры
- •Магистральные функции
- •Сетевые функции
- •Другие сетевые устройства
- •Аппаратура лвс
- •Расчет максимальной длины сети
- •Типы лвс Ethernet
- •Аппаратура 10base 5
- •Аппаратура 10base-f
- •Создание сложных конфигураций
- •Аппаратура сети Fast Ethernet
- •Аппаратура сети Gigabit Ethernet
- •Аппаратура сети Token Ring фирмы ibm
- •Аппаратура сети Arcnet
- •Аппаратура сети fddi
- •Аппаратура сети 100vg-AnyLan
- •2.Эталонная модель взаимодействия открытых систем
- •Уровни эталонной модели
- •Функции уровней
- •Правила описания сервиса
- •3.Верхние уровни модели osi
- •Прикладной уровень
- •Уровень представления
- •Сеансовый уровень osi
- •Фазы и услуги сеансового сервиса
- •Функциональные группы и сервисные подмножества
- •Транспортный уровень osi
- •Услуги транспортного уровня
- •Установление соединения
- •Разъединение
- •Классы транспортного протокола
- •Процедуры протокола
- •Нумерация блоков данных
- •Явное управление потоком
- •Формат бдтп
- •4.Структура системы передачи данных
- •Сетевой уровень osi
- •Протоколы сетевого уровня
- •Зависимые от подсетей протоколы конвергенции (пр2)
- •Независимые от подсетей протоколы конвергенции
- •Рекомендация х.25 мкктт
- •Особенности пакетного уровня (х.25/3)
- •Управление потоком
- •Процедуры протокола х.25/3
- •Уровень управления информационным каналом
- •Протокол bsc
- •Типы станций hdlc
- •Режимы работы
- •Процедуры обмена
- •Назначение бита p/f
- •Установление соединения
- •Разъединение соединения
- •Восстановление посредством rej
- •5.Высокоскоростные глобальные сети Каналы t1/e1
- •Сети isdn
- •Имеются две стандартные для isdn конфигурации каналов: bri и pri/
- •Сети Frame Relay
- •Сети atm
- •6.Сеть Интернет
- •Определение Интернет
- •Управление Интернет
- •Оплата Интернет
- •Адресация в Интернет
- •Стек протоколов tcp/ip
- •Протокол ip
- •Протокол iPv6
- •Протокол tcp
- •Механизм тайм-аута ожидания подтверждения
- •Формат заголовка
- •Процедура передачи данных
- •Завершение соединения
- •Протокол udp
- •Протокол icmp
- •7.Маршрутизация
- •8.Удаленный доступ к сети
- •Работа модемов в рамках семиуровневой модели osi
- •Классификация модемов
- •Устройство современного модема
- •Режимы работы модема
- •Протоколы модуляции
- •Основные протоколы модуляции
Механизм тайм-аута ожидания подтверждения
Когда протокол TCP передает сегмент с данными, он помещает его копию в очередь повторной передачи и запускает таймер. Когда приходит подтверждение (на данный сегмент) – сегмент стирается, а таймер выключается. Если таймер истек, а подтверждение не получено – сегмент передается повторно (рис.6.16.).
Р
ис.6.16.
Выбор тайм-аута.
Важной задачей является выбор величины этого тайм-аута Ta ожидания подтверждения. При малой величине Ta увеличивается число повторных передач. При большой величине Ta возникают длительные простои ожидания «несуществующей» квитанции.
В протоколе TCP тайм-аут Ta выбирается с помощью достаточно сложного адаптивного алгоритма. Суть его следующая.
При каждой передаче засекается время до прихода квитанции (время оборота).
Получаемые значения усредняются с весовым коэффициентом, возрастающим от предыдущего замера к следующему. Таким образом стараются усилить влияние последних замеров времени оборота.
В качестве Ta выбирается среднее время оборота, умноженное на некоторый коэффициент. Практика показывает, что значение этого коэффициента должно превышать 2.
При большом разбросе времени оборота в алгоритме выбора тайм-аута учитывается также и дисперсия этой величины.
Приостановка передачи.
При полном заполнении входного буфера перегруженный узел-приемник указывает в своей квитанции нулевое окно. Даже после этого его партнер по соединению может направить на этот порт сообщение. Для этого оно должно сопровождаться пометкой «срочно» (в поле заголовка — «указатель срочности»). При поступлении такого срочного пакета порт обязан принять его даже путем вытеснения из буфера уже находящихся там данных.
После приема квитанции с нулевым окном узел-отправитель время от времени делает контрольные попытки продолжить обмен данными. Если порт-приемник уже готов принимать информацию, то в ответ на контрольный запрос он посылает квитанцию с указанием ненулевого размера окна.
Перегрузка сети может произойти и на промежуточных узлах-маршрутизаторах. В таких случаях они могут инициировать уменьшение размера окна посылкой управляющих сообщений ряду конечных узлов. Это позволяет им дифференцированно управлять интенсивностью потока данных в различных частях сети.
Протокол TCP описан в документе RFC 793.
Формат заголовка
Как показано на рисунке 6.17 сегмент TCP состоит из заголовка и поля данных. Минимальная длина заголовка составляет 20 байт. Для определения назначения большинства полей предназначены специальные управляющие биты заголовка.
Формат и значения поля «управляющие биты» показаны в таблице 6.1.
Таблица 6.1.
Номер бита |
1 |
2 |
3 |
4 |
5 |
6 |
Назва-ние |
URG |
ASK |
PSH |
RST |
SYN |
FIN |
Назна- чение |
Поле «указатель срочности» задейство-вано |
Поле «номер подтвер-ждения» задейст-вовано |
Включена функция протал-кивания |
Перезаг-рузка данного соедине-ния |
Синхро-низация номеров в очереди |
Данных для передачи нет |
URG — (Urgent) – сигнализация о срочных данных
ASK — (Acknowledgment) – указывает на то, что используется поле «подтверждения».
PSH — (Push) – включена функция проталкивания потока данных. Обычно используется для передачи последнего сегмента в потоке данных и этот сегмент будет без очереди доставлен к приложению-получателю.
RST — (Reset) – указывает на сброс и последующую перезагрузку данного соединения.
SYN — (Synchronization) – флаг синхронизации. Когда он установлен, поле «номер в последовательности» содержит начальный номер байта в последовательности.
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-битовой длины.
Процедура установления соединения.
В связи с крайней ненадежностью нижележащих протокольных уровней TCP использует процедуру троекратного рукопожатия для установления соединения (см. рис.).
На рисунке 6.18 ПВУ – это один из протоколов вышележащего уровня (HTTP, FTP и т.д.). Последовательность следующая:
ПВУ А посылает в свой объект TCP примитив «Открыть», указав адрес и параметры.
TCP А посылает TCP B сегмент SYN с номером, к примеру, 55.(флаг SYN=1, «номер в последовательности» = 55). Этот начальный номер будет затем использоваться в процедуре передачи данных. Начальный порядковый номер устанавливается с помощью специального генератора случайных чисел, который увеличивает свои значения каждые 4 мкс, работая по модулю 232. Это значит, что следующий раз такой номер встретится через 4,5 часа.
TCP B подтверждает получение запроса на соединение посылкой пакета SYN-ACK (SYN=1, ACK-1) с собственным начальным номером (например, 202) и с установленным в поле подтверждения номером 56 (следующий ожидаемый на приеме номер).
Р
ис.6.18.
TCP A посылает сегмент ACK с номером 203 (номер следующего ожидаемого байта).
TCP A уведомляет ПВУ А об открытии соединения.
Получив ACK 203 TCP B уведомляет примитивом «успешное открытие» ПВУ В.
