Главная страница
Навигация по странице:

  • Передача квитанции на получение байта 8401 2354 2355 3816 3817 5275 5276 8400 / _______ t1 t2 t3 t4 J

  • (в момент t5 снова передается квитанция на байт 8401)

  • Общие свойства и классификация протоколов маршрутизации

  • Применяемые сегодня в IP-сетях протоколы маршрутизации относятся к

  • □ дистанционно-векторные алгоритмы (Distance Vector Algorithm, DVA); □ алгоритмы состояния связей (Link State Algorithm, ISA). 574

  • Дистанционно-векторные алгоритмы хорошо работают только в небольших сетях. В больших

  • В результате служебный,трафик, создаваемый Протоколами ISA, гораздо менее интенсивный, чем у протоколов PVA.

  • Построение таблицы маршрутизации

  • Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы


    Скачать 22.28 Mb.
    НазваниеУчебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
    АнкорOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
    Дата12.03.2017
    Размер22.28 Mb.
    Формат файлаpdf
    Имя файлаOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
    ТипУчебник
    #3698
    страница58 из 99
    1   ...   54   55   56   57   58   59   60   61   ...   99
    570
    Глава 17. Базовые протоколы TCP/IP
    послать в качестве номера квитанции значение 12431 нельзя, потому что это бы означало, что получены все байты вплоть до 12430. Поскольку в потоке байтов образовался разрыв, получатель может только еще раз повторить квитанцию 8401, говоря тем самым, что все еще ожидает поступления потока байтов, начиная с 8401, то есть подтверждает получение не отдельных блоков данных, а непрерывной последовательности байтов.
    Передача квитанции
    на получение байта 8401
    2354 2355 3816 3817 5275 5276 8400 / _______
    t1
    t2
    t3
    t4
    J------------------

    Время t
    a
    Передача квитанции
    2354 2355 3816 3817 5275 5276 8400
    на получение байта 8401
    10567 12430/
    L i
    I
    I
    і—
    ------
    1
    -----*
    t1
    t2
    t3
    t4
    t5
    Q
    Время t
    Рис. 17.16. Накопительный принцип квитирования: а — плотное заполнение буфера
    (в момент t4 передается квитанция на байт 8401), б — неплотное заполнение буфера
    (в момент t5 снова передается квитанция на байт 8401)
    Когда протокол TCP передает в сеть сегмент, он «на всякий случай» помещает его копию в буфер, называемый также очередью повторной передачи, и запускает таймер. Когда приходит квитанция на этот сегмент, соответствующая копия удаляется из очереди. Если же квитанция не приходит до истечения срока, то сегмент, вернее его копия, посылается повторно. Может случиться так, что копия сегмента придет тогда, когда исходный сегмент уже окажется на месте, тогда дубликат попросту отбрасывается.
    Управление потоком
    Какой размер окна должен назначить источник приемнику, и наоборот? Точнее, каким на каждой из сторон должно быть выбрано время ожидания (тайм-аут) очередной квитанции?
    От ответа на этот вопрос зависит производительность протокола TCP.
    При выборе величины тайм-аута должны учитываться скорость и надежность линий связи, их протяженность и многие другие факторы. Тайм-аут не должен быть слишком коротким, чтобы по возможности исключить избыточные повторные передачи, снижающие полезную пропускную способность системы, но он не должен быть и слишком длинным, чтобы избежать длительных простоев, связанных с ожиданием несуществующей или «за­
    блудившейся» квитанции.
    В протоколе TCP тайм-аут определяется с помощью достаточно сложного адаптивного алгоритма, идея которого состоит в следующем. При каждой передаче засекается время от момента отправки сегмента до прихода квитанции о его приеме (время оборота). Получае­
    мые значения времени оборота усредняются с весовыми коэффициентами, возрастающими от предыдущего замера к последующему. Это делается с тем, чтобы усилить влияние по­
    следних замеров. В качестве тайм-аута выбирается среднее время оборота, умноженное на некоторый коэффициент. Практика показывает, что значение этого коэффициента должно превышать 2. В сетях с большим разбросом времени оборота при выборе тайм-аута учиты­
    вается и дисперсия этой величины.

    Протоколы транспортного уровня TCP и UDP
    571
    Размер окна приема связан с наличием в данный момент места в буфере данных у при­
    нимающей стороны. Поэтому в общем случае окна приема на разных концах соединения имеют разный размер. Например, можно ожидать, что сервер, вероятно обладающий боль­
    шим буфером, пошлет клиентской станции окно приема большее, чем клиент серверу. В за­
    висимости от состояния сети то одна, то другая стороны могут объявлять новые значения окон приема, динамически уменьшая и увеличивая их.
    Варьируя величину окна, можно влиять на загрузку сети. Чем больше окно, тем большая порция неподтвержденных данных может быть послана в сеть. Но если пришло большее ко­
    личество данных, чем может быть принято модулем TCP, данные отбрасываются. Это ведет к излишним пересылкам информации и ненужному росту нагрузки на сеть и модуль TCP.
    В то же время окно малого размера может ограничить передачу данных скоростью, которая определяется временем путешествия по сети каждого посылаемого сегмента. Чтобы из­
    бежать применения малых окон, в Некоторых реализациях TCP предлагается получателю данных откладывать реальное изменение размеров окна до тех пор, пока свободное место не составит 20-40 % от максимально возможного объема памяти для этого соединения. Но и отправителю не стоит спешить с посылкой данных, пока окно принимающей стороны не станет достаточно большим. Учитывая эти соображения, разработчики протокола TCP предложили схему, согласно которой при установлении соединения заявляется большое окно, но впоследствии его размер существенно уменьшается. Существуют и другие прямо противоположные алгоритмы настройки окна, когда вначале выбирается минимальное окно, а затем, если сеть справляется с предложенной нагрузкой, его размер резко увели­
    чивается.
    Управлять размером окна приема может не только та сторона, которая посылает это окно, чтобы регулировать поток данных в свою сторону, но и вторая сторона — потенциальный отправитель данных. Если вторая сторона фиксирует ненадежную работу линии связи
    (регулярно запаздывают квитанции, часто требуется повторная передача), то она может по собственной инициативе уменьшить окно. В таких случаях действует правило: в качестве действующего размера окна выбирается минимальное из двух значений: значения, диктуе­
    мого приемной стороной, и значения, определяемого «на месте» отправителем.
    Признаком перегрузки TCP-соединения является возникновение очередей на промежу­
    точных узлах (маршрутизаторах) и на конечных узлах (компьютерах). При переполнении приемного буфера конечного узла «перегруженный» модуль TCP, отправляя квитанцию, помещает в нее новый уменьшенный размер окна. Если он совсем отказывается от приема, то в квитанции указывается окно нулевого размера. Однако даже после этого приложение может послать сообщение на отказавшийся от приема порт. Для этого сообщение должно сопровождаться указателем срочности. В такой ситуации порт обязан принять сегмент, даже если для этого придется вытеснить из буфера уже находящиеся там данные. После приема квитанции с нулевым значением окна протокол-отправитель время от времени делает контрольные попытки продолжить обмен данными. Если протокол-приемник уже готов принимать информацию, то в ответ на контрольный запрос он посылает квитанцию с указанием ненулевого размера окна.
    Как видно из нашего далеко не полного описания двух протоколов транспортного уровня стека TCP/IP, на один из них — TCP — возложена сложная и очень важная задача: обе­
    спечение надежной передачи данных через ненадежную сеть.
    В то же время функциональная простота протокола UDP обуславливает простоту ал­
    горитма его работы, компактность и высокое быстродействие. Поэтому те приложения,

    572
    Глава 17. Базовые протоколы TCP/IP
    в которых реализован собственный, достаточно надежный механизм обмена сообщениями, основанный на установлении соединения, предпочитают для непосредственной передачи данных по сети использовать менее надежные, но более быстрые средства транспортировки, в качестве которых по отношению к протоколу TCP и выступает протокол UDP. Прото­
    кол UDP может применяться и тогда, когда хорошее качество линий связи обеспечивает достаточный уровень надежности и без применения дополнительных приемов наподобие установления логического соединения и квитирования передаваемых пакетов. Заметим также, что поскольку протокол TCP основан на логических соединениях, он, в отличие от протокола UDP, не годится для широковещательной и групповой рассылки.
    Общие свойства и классификация
    протоколов маршрутизации
    Протоколы маршрутизации обеспечивают поиск и фиксацию маршрутов продвижения данных через составную сеть TCP/IP. Давайте остановимся на некоторых общих свойствах протоколов данного класса.
    Начнем с того, что существуют такие способы продвижения пакетов в составных сетях., которые вообще не требуют наличия таблиц маршрутизации на маршрутизаторах.
    Наиболее простым способом передачи пакетов по сети является так называемая лавинная
    маршрутизация, когда каждый маршрутизатор передает пакет всем своим непосредствен­
    ным соседям, исключая тот, от которого его получил. Понятно, что это — не самый рацио­
    нальный способ, так как пропускная способность сети используется крайне расточительно, тем не менее такой подход работоспособен (именно так мосты и коммутаторы локальных сетей поступают с кадрами, имеющими неизвестные адреса).
    Еще одним видом маршрутизации, не требующим наличия таблиц маршрутизации, явля­
    ется маршрутизация от источника (source routing). В этом случае отправитель помещает в пакет информацию о том, какие промежуточные маршрутизаторы должны участвовать в передаче пакета к сети назначения. На основе этой информации каждый маршрутизатор считывает адрес следующего маршрутизатора, и если он действительно является адресом его непосредственного соседа, передает ему пакет для дальнейшей обработки. Вопрос о том, как отправитель узнает точный маршрут следования пакета через сеть, остается открытым. Маршрут может задавать либо вручную администратор, либо автоматически узел-отправитель, но в этом случае ему нужно поддерживать какой-либо протокол марш­
    рутизации, который сообщит ему о топологии и состоянии сети. Маршрутизация от ис­
    точника была опробована на этапе зарождения Интернета и сохранилась как практически неиспользуемая возможность протокола IPv4. В, IPv6 маршрутизация от источника явля­
    ется одним из стандартных режимов продвижения пакетов, существует даже специальный заголовок для реализации этого режима.
    Тем не менее большинство протоколов маршрутизации нацелено на создание таблиц
    маршрутизации.
    Выбор рационального маршрута может осуществляться на основании различных крите­
    риев. Сегодня в ІР-сетях применяются протоколы маршрутизации, в которых маршрут выбирается по критерию кратчайшего расстояния. При этом расстояние измеряется в раз­
    личных метриках. Чаще всего используется простейшая метрика — количество хопов,

    Общие свойства и классификация протоколов маршрутизации
    573
    то есть количество маршрутизаторов, которые нужно преодолеть пакету до сети назначе­
    ния. В качестве метрик применяются также пропускная способность и надежность каналов, вносимые ими задержки и любые комбинации этих метрик.
    Различные протоколы маршрутизации обладают разным временем конвергенции.
    Протокол маршрутизации должен обеспечить создание на маршрутизаторах согласованных друг с другом таблиц маршрутизации, то есть таких таблиц, которые обеспечат доставку пакета от исходной сети в сеть назначения за конечное число шагов. Современные про­
    токолы маршрутизации поддерживают согласованность таблиц, однако это их свойство не абсолютно — при изменениях в сети, например при отказе каналов передачи данных или самих маршрутизаторов, возникают периоды нестабильной работы сети, вызванной вре­
    менной несогласованностью таблиц разных маршрутизаторов. Протоколу маршрутизации обычно нужно некоторое время, которое называется временем конвергенции, чтобы после нескольких итераций обмена служебной информацией все маршрутизаторы сети внесли изменения в свои таблицы и в результате таблицы снова стали согласованными.
    Различают протоколы, выполняющие статическую и адаптивную (динамическую) марш­
    рутизацию.
    При статической маршрутизации все записи в таблице имеют неизменяемый, статический статус, что подразумевает бесконечный срок их жизни. Записи о маршрутах составляют­
    ся и вводятся в память каждого маршрутизатора вручную администратором сети. При изменении состояния сети администратору необходимо срочно отразить эти изменения в соответствующих таблицах маршрутизации, иначе может произойти их рассогласование, и сеть будет работать некорректно.
    При адаптивной маршрутизации все изменения конфигурации сети автоматически отра­
    жаются в таблицах маршрутизации благодаря протоколам маршрутизации. Эти протоколы собирают информацию о топологии связей в сети, что позволяет им оперативно отрабаты­
    вать все текущие изменения. В таблицах маршрутизации при адаптивной маршрутизации обычно имеется информация об интервале времени, в течение которого данный маршрут будет оставаться действительным. Это время называют временем жизни (TTL) маршрута.
    Если по истечении времени жизни существование маршрута не подтверждается протоко­
    лом маршрутизации, то он считается нерабочим, пакеты по нему больше не посылаются.
    Протоколы адаптивной маршрутизации бывают распределенными и централизованными.
    При распределенном подходе все маршрутизаторы сети находятся в равных условиях, они находят маршруты и строят собственные таблицы маршрутизации, работая в тесной ко­
    операции друг с другом, постоянно обмениваясь информацией о конфигурации сети. При
    централизованном подходе в сети существует один выделенный маршрутизатор, который собирает всю информацию о топологии и состоянии сети от других маршрутизаторов. На основании этих данных выделенный маршрутизатор (который иногда называют сервером
    маршрутов) строит таблицы маршрутизации для всех остальных маршрутизаторов сети, а затем распространяет их по сети, чтобы каждый маршрутизатор получил собственную та­
    блицу и в дальнейшем самостоятельно принимал решение о продвижении каждого пакета.
    Применяемые сегодня в IP-сетях протоколы маршрутизации относятся к адаптивным распреде­
    ленным
    протоколам, которые, в свою очередь, делятся на две группы:
    □ дистанционно-векторные алгоритмы (Distance Vector Algorithm, DVA);
    □ алгоритмы состояния связей (Link State Algorithm, ISA).

    574
    Глава 17. Базовые протоколы TCP/IP
    В дистанционно-векторных алгоритмах (DVA) каждый маршрутизатор периодически и ши­
    роковещательно рассылает по сети вектор, компонентами которого являются расстояния
    (измеренные в той или иной метрике) от данного маршрутизатора до всех известных ему сетей. Пакеты протоколов маршрутизации обычно называют объявлениями о расстояниях, так как с их помощью маршрутизатор объявляет остальным маршрутизатора^ известные ему сведения о конфигурации сети.
    Получив от некоторого соседа вектор расстояний (дистанций) до известных тому сетей, маршрутизатор наращивает компоненты вектора на величину расстояния от себя до данного соседа. Кроме того, он дополняет вектор информацией об известных ему самому других сетях, о которых он узнал непосредственно (если они подключены к его портам) или из аналогичных объявлений других маршрутизаторов. Обновленное значение вектора маршрутизатор рассылает своим соседям. В конце концов, каждый маршрутизатор узнает через соседние маршрутизаторы информацию обо всех имеющихся в составной сети сетях и о расстояниях до них.
    Затем он выбирает из нескольких альтернативных маршрутов к каждой сети тот марш­
    рут, который обладает наименьшим значением метрики. Маршрутизатор, передавший информацию о данном маршруте, отмечается в таблице маршрутизации как следующий
    (next hop).
    Дистанционно-векторные алгоритмы хорошо работают только в небольших сетях. В больших
    сетях они периодически засоряют линии сэязи инхен<»$йь|м трафиком, іс тсщ^кв изменения
    конфигурации не всегда корректно могут отрабаты вэт% ^^п|^^(^| этого
    как марш­
    рутизаторы не имеют точного представления о тополоі>4]|^^^й з свтіі, a p^&ftompaid^
    :
    косвенной информацией—
    ^
    Наиболее распространенным протоколом, основанным на дистанционно-векторном алго­
    ритме, является протокол RIP (см. далее).
    Алгоритмы состояния связей (LSA) обеспечивают каждый маршрутизатор информацией, достаточной для построения точного графа связей сети. Все маршрутизаторы работают на основании одного и того же графа, что делает процесс маршрутизации более устойчивым к изменениям конфигурации.
    Каждый маршрутизатор использует граф сети для нахождения оптимальных по некоторо­
    му критерию маршрутов до каждой из сетей, входящих в составную сеть.
    Чтобы понять, в каком состоянии находятся линии связи, подключенные к его портам, маршрутизатор периодически обменивается короткими пакетами HELLO со своими бли­
    жайшими соседями. В отличие от протоколов DVA, которые регулярно передают вектор расстояний, протоколы LSA ограничиваются короткими сообщениями, а передача более объемных сообщений происходит только в тех случаях, когда с помощью сообщений
    HELLO был установлен факт изменения состояния какой-либо связи.
    В результате служебный,трафик, создаваемый Протоколами ISA, гораздо менее интенсивный,
    чем у протоколов PVA.
    Протоколами, основанными на алгоритме состояния связей, являются протокол IS-IS стека OSI (этот протокол используется также в стеке T C P/IP) и протокол OSPF стека
    T C P/IP

    Протокол RIP
    575
    Протокол RIP
    Протокол RIP (Routing Information Protocol — протокол маршрутной информации) явля­
    ется внутренним протоколом маршрутизации дистанционно-векторного типа.
    Будучи простым в реализации, этот протокол чаще всего используется в небольших сетях.
    Для IP имеются две версии RIP — RIPvl и RIPv2. Протокол RIPvl не поддерживает масок.
    Протокол RIPv2 передает информацию о масках сетей, поэтому он в большей степени со­
    ответствует требованиям сегодняшнего дня. Так как построение таблиц маршрутизации в обеих версиях протокола принципиально не отличается, в дальнейшем для упрощения записей будет описываться работа версии 1.
    Построение таблицы маршрутизации
    Для измерения расстояния до сети стандарты протокола RIP допускают различные виды метрик: хопы, значения пропускной способности, вносимые задержки, надежность сетей
    (то есть соответствующие признакам D, Т и R в поле качества сервиса ІР-пакета), а также любые комбинации этих метрик. Метрика должна обладать свойством аддитивности — метрика составного пути должна быть равна сумме метрик составляющих этого пути.
    В большинстве реализаций RIP используется простейшая метрика — количество хопов, то есть количество промежуточных маршрутизаторов, которые нужно преодолеть пакету до сети назначения.
    Рассмотрим процесс построения таблицы маршрутизации с помощью протокола RIP на примере составной сети, изображенной на рис. 17.17. Мы разделим этот процесс на
    5 этапов.
    <С 2 0 1 . 3 6 . 1 4 . Q
    201.36
    < J 3 2 .1 1 .0 .1 0 T >
    .17.6 Л >
    0 9 4 ^ 2 7 .1 8 .5 1
    “ 202.101.16.0
    1   ...   54   55   56   57   58   59   60   61   ...   99


    написать администратору сайта