Руководство по технологиям объединенных сетей Cisco (953103), страница 121
Текст из файла (страница 121)
1СМР-сообщение об истечении лимита времени посылается маршрутизатором в случае обнуления поля времени существования 1Р-пакета (выражается в пройденных узлах или секундах). Поле времени существования предотвращает бесконечную циркуляцию пакетов по объединенной сети, если последняя содержит маршругиую петлю. В этом случае маршрутизатор отбрасывает исходный пакет. Протокол! РРР Протокол обнаружения маршрутизатора (1СМР Воцгег-1)!всочегу Рпяосо! — ИПР) использует объявления и запросы маршрутизаторов, чтобы определить адреса маршрутизаторов соседних подсетей. Каждый маршрутизатор периодически рассылает с Глава 35.
Протоколы !л1егле! каждого своего интерфейса широковещательные объявления. Получая эти сообщения, узлы узнают адреса маршрутизаторов соседних подсетей. Вместо того чтобы ожидать незапрашиваемые сообщения, узлы могут использовать для запроса немедленных объявлений сообщения маршрутизаторов. !КгзР обладает нскоторымн преимушествами по сравнению с другими методами определения адресов соседних маршрутизаторов. Он не требуст от узлов распознавания протоколов маршрутизации, а от администратора — ручной настройки.
Объявления маршрутизатора сообщают узлам о наличии соседних маршрутизаторов, но не несут информации о качестве маршрута. Если для достижения узла получателя узел использует ближайший, но нс оптимальный маршрутизатор, он получает сообщение о лучшем варианте маршрута. Протокол ТСР Протокол управления лередачей (Тгалзлптол Солгго( Рлзгосо! — ТСР) обеспечивает надежную передачу данных в среде 1Р. ТСР относится к транспортному уровню эталонной модели Об! (4-й уровень). ТСР предоставляет такис службы, как потоковая передача данных, надежность, эффективное управление потоком, дуплексный режим и мультиплексирование.
Прн потоковой передаче данных ТСР передает неструктурированный поток байтов, идентифицируемых по порядковым номерам. Эта служба полезна для приложе»ий, поскольку им не приходится разбивать данные на блоки перед их передачей по протоколу ТСР. ТСР группирует байты в сегменты и передаст их на уровень протокола 1Р лля пересылки. Надежность ТСР обеспечивается сквозной, ориентированной на соединение, передачей пакетов по объединенной сети. Она достигается упорядочением байтов при помощи номеров подтверждения передачи, по которым получатель определяет, какой байт должен поступить следующим.
Байты, не получившие подтверждения в течение опредслснного времени, передаются заново. Надежный механизм протокола ТСР позволяет устройствам обрабатывать потерянные, задержанные, дублированные и неверно прочитанные пакеты. Механизм лимита времени позволяет устройствам распознавать потерянные пакеты и запрашивать их повторную передачу. ТСР обеспечивает эффективное управление потоком.
При отправке подтверждений источнику данных принимающий ТСР-процесс указывает наибольший порядковый номер, который он может принять без переполнения внутрснних буферов. В дуплексным режиме ТСР-процесс может одновременно пересылать и принимать пакеты. Наконец, мультиплексирование ТСР означает одновременную передачу по одному соединению нескольких диалогов верхнего уровня.
Установка ТСР-соединения Для использования надежных транспортных служб ТСР-узлы должны устанавливать друг с другом сеансы, ориентированные на соединение. Установка соединения выполняется по механизму, называемому трехэталной сцктронцзацией (Йгес-вау папдзпа)се). Этот механизм синхронизирует обе стороны соединения, позволяя им согласовать начальные порядковые номера. Он также обеспечивает готовность обеих сторон к псрелаче данных и информированность каждой из сторон о готовности другой.
Это не- 5ЭО Часть Ч!. Сетевые протоколы обходимо во избежание передачи или повторной передачи пакетов в процессе установки сеанса нли после его разрыва. Каждый узел выбирает случайным образом порядковый номер, чтобы следить за приемом и передачей байтов потока.
Затем механизм трехэтапной синхронизации работает следующим образом. Первый узел (Узел А) инициирует соединение, отправляя пакет с начальным порядковым номером и битом синхронизации БУ)ч( лля индикации запроса соединения. Второй узел (Узел В) получает 5УХ, записывает порядковый номер Х и отвечает подтверждением ЬУ)х( (вместе с АСК = Х + 1). Узел В указывает собственный порядковый номер (БЕ() = У). Тогда, если АСК равен 20, то это означает, что узел принял байты с 0 по 19 и ожидает следующий байт 20.
Эта технология называется подтверждением передачи. Затем Узел А подтверждает прием всех байтов, посланных Узлом В с подтверждением передачи, указывая следующий байт, который Узел А ожидает получить (АСК = У + 1). После этого может начинаться передача данных. Подтверждение приема и повторная передача Простой транспортный протокол может обеспечивать надежность и такую технологию управления потоком, при которой исходный узел посылает пакет, запускает таймер и ждет подтверждения приема перед отправкой нового пакета. Если подтвержленис не получено по истечении времени, узел передает пакет еще раз.
Эта технология называется лодтверждеиоем проема и ловочорной передачей (Роз)г)че Ас)гпотч1едйгпепг апд Кеггапятп(зз(оп — РАК). Присваивая каждому пакету порядковый номер, РАК позволяет узлам отслеживать пакеты, потерянные или дублированные вследствие сетевых задержек и преждевременной повторной передачи. Номера последовательностей посылаются обратно как уведомления в возможности отслеживания подтверждений приема. Однако РАК неэффективно использует пропускную способность, потому что перед отправкой нового пакета узел должен ждать подтверждения и, следовательно, пакет можно передавать только один за другим.
Скользящее окно ТСР Скользящее окно ТСР позволяет использовать пропускную способность сети более эффективно, чем РАК, поскольку с его помощью узелы могут отправлять несколько байтов или пакетов. не дожидаясь подтверждения. В ТСР принимающий узел определяет текущий размер окна каждого пакета. Так как по ТСР-соединению данные передаются в виде потока байт, размеры окон тоже выражаются в байтах.
Таким образом, окнопредставляст собой количество байт данных, которые отправитель может послать до ожидания подтверждения приема. Начальные размеры окон определяются при настройке соединения, но могут изменяться прн передаче данных для управления потоком. Например, нулевой размер окна означает запрет па передачу данных. Предположим, что ТСР-отправителю надо послать с помощью скользящего окна последовательность байт (пронумерованных от 1 до 1О) получателю с размером окна 5. Отправитель помещает в окно первые 5 байт, передает их все сразу и ждет подтверждения приема. 591 Глава 35. Протоколы!п(егпе( Получатель отвечает с АСК, равным 6, показывая, что получил байты с 1 по 5 и ждет байта 6.
В том же пакете получатель показывает, что размер его окна равен 5. Отправитель сдвигает скользящее окно на 5 байт вправо и передает байты с 6 по 1О. Получатель отвечает АСК, равным 11, показывая, что он ожидает байта 11. В этом пакете получатель может указать, что его размер окна равен 0 (поскольку, например, его внутренние буферы заполнены). Тогда отправитель больше не сможет посылать байты, пока получатель не пошлет другой пакет с ненулевым размером окна.
Формат ТСР-пакета Поля и полный формат ТСР-пакета показаны на рис. 35.10. 32 бита Раа. 35. КД Фяаааа ТСР-аакета Описание полей ТСР-пакета Ниже описаны поля ТСР-пакета, показанные на рис. 35.10. ° Порт источника и порт получателя. Точки, в которых процессы верхнего уровня источника и получателя принимают услуги ТСР. ° Порядковый номер. Обычно это номер, присвоенный первому байту данных в текущем сообщении. При установке соединения может также использоваться для обозначения исходного порядкового номера в предстоящей передаче. ° Номер подтверждения.
Порядковый номер следующего байта данных, который ожидает получить получатель. ° Сдвиг данных. Число 32-разрядных слов в заголовке ТСР. ° Резервные. Область, зарезервированная для использования в будущем. 592 Часть Н1. Сетевые протоколы ° Флаги. Различная управляюшая информация, в том числе биты БУ)ч и АСК, используемые для установки соединения, и бит НХ для разрыва соединения. ° Окно. Размер приемного окна получателя (обьем буфера для входяших данных). ° Контрольная сумма. Показывает, не был ли заголовок поврежден при передаче.
в Указатель срочности. Указывает на первый байт срочных данных в пакете. в Параметры. Различные дополнительные параметры ТСР. ° Данные. Информация верхнего уровня. Протокол 00Р )лротокол передачи дейтаграмм пользователя 00Р (1)лег 1)агадгат РтоГосог — ИЗР) представляет собой протокол транспортного уровня (уровень 4), не требующий подтверждения соединения, и принадлежащий семейству протоколов 1шегпеп В сушности, 1)ОР является интерфейсом между 1Р и протоколами верхнего уровня.
Порты протокола ИЭР различают приложения, запушенные на одном устройстве. В отличие от ТСР, 0РР не добавляет 1Р надежности, управления потоком, или функций исправления ошибок. Из-за простоты ГЛЭР его заголовки короче и требуют меньше сетевых ресурсов, чем ТСР. 1Л)Р полезен в ситуациях, когда мощные механизмы обеспечения надежности протокола ТСР не обязательны, например, когда управление потоком и коррекцию ошибок можно возложить на протокол верхнего уровня.
1ЛлР является транспортным протоколом для нескольких известных протоколов уровня приложений, в том числе )чРБ, Б)чМР, В)чБ и ТЕ ГР. Как показано на рис. 35.11, формат пакета Ш)Р содержит четыре поля: порт источника, порт получателя, длина и контрольная сумма. 32 бита Рие. З5.П. Заголовок пакета 111ЗР Поля портов источника и получателя содержат 1б-разрядные номера портов протокола 1ЛЭР для демультиплексирования дейтаграмм при приеме процессов уровня приложений. Поле длины определяет размер 1ЛлР-заголовка и данных.