Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Процедура установления соединения.





В связи с крайней ненадежностью нижележащих протокольных уровней TCP использует процедуру троекратного рукопожатия для установления соединения (см. рис.).

На рисунке 6.18 ПВУ – это один из протоколов вышележащего уровня (HTTP, FTP и т.д.). Последовательность следующая:

1. ПВУ А посылает в свой объект TCP примитив «Открыть», указав адрес и параметры.

2. TCP А посылает TCP B сегмент SYN с номером, к примеру, 55.(флаг SYN=1, «номер в последовательности» = 55). Этот начальный номер будет затем использоваться в процедуре передачи данных.
Начальный порядковый номер устанавливается с помощью специального генератора случайных чисел, который увеличивает свои значения каждые 4 мкс, работая по модулю 232. Это значит, что следующий раз такой номер встретится через 4,5 часа.

3. TCP B подтверждает получение запроса на соединение посылкой пакета SYN-ACK (SYN=1, ACK-1) с собственным начальным номером (например, 202) и с установленным в поле подтверждения номером 56 (следующий ожидаемый на приеме номер).

 
 

Рис.6.18.

4. TCP A посылает сегмент ACK с номером 203 (номер следующего ожидаемого байта).

5. TCP A уведомляет ПВУ А об открытии соединения.

6. Получив ACK 203 TCP B уведомляет примитивом «успешное открытие» ПВУ В.

Процедура передачи данных

Рассмотрим простейший случай. Из А в В передается 30 байт, а из В в А посылается 100 байт. Соединение является дуплексным. Последовательность обмена следующая (рис.6.19.):

7) ПВУ А выдает в TCP A примитив «Передать» и сообщение длиной 30 байт.

8) TCP A помещает 30 байт в сегмент. В заголовке указывается порядковый номер первого байта в сегменте — 56.

9)

 
 

TCP B получает сегмент, передает его ПВУ В и посылает сегмент подтверждения (ACK 86). Последний полученный байт будет иметь номер 85 (55+50). Так как в ACK указывается номер следующего ожидаемого байта, то это будет 86.



10) ПВУ В выдает TCP B примитив «Передать» и сообщение длиной 100 байт.

11) TCP B отправляет сегмент с порядковым номером 203 (202+1) — номером первого байта в этом сегменте.

Рис.6.19.

12) TCP A передает сообщение ПВУ А и посылает подтверждение ACK (303), т.е. с указанием номера следующего ожидаемого байта.

Так как протокол дуплексный и подтверждения могут включаться в состав передаваемого сегмента, то этапы 9 и 11 могут быть объединены (посылкой сегмента данных с N=203, ACK=86).

Завершение соединения

На рисунке 6.20 показаны этапы процедуры разъединения.

13) ПВУ А посылает TCP A примитив «Завершить».

14) TCP A выдает пакет FIN (с порядковым номером 86, без данных).

15) О закрытии сообщается ПВУ В (примитивом «Закрытие») и посылается ACK (87).

16) ПРУ В посылает примитив «Завершить» и посылается FIN (303)

17)

 
 

О закрытии извещается ПВУ А и выдается подтверждение ACK 304/

18) Об окончании процедуры извещается ПВУ В.

Рис.6.20.

Особенности протокола TCP

1. С помощью флага URG могут передаваться срочные данные.

2. Соединение является надежным за счет:
- использования режима обнаружения ошибок;
- присвоения порядковых номеров каждому байту сообщения;
- использования тайм-аута ожидания подтверждения, по его истечении сегмент передается повторно.

3. Управление потоком путем использования окна передачи W.

Протокол UDP

UDP (User Datagram Protocol) – протокол пользовательских дейтаграмм. Он используется в том случае, если передаваемые данные помещаются в одном пакете, а гарантия их доставки не особенно важна. Этот протокол не заботится о пропавших пакетах, о расположении данных в правильном порядке и о других тонкостях. Протокол применяется для тех программ, которые посылают

 
 

только короткие сообщения и могут повторить передачу данных, если ответ задерживается.

Формат дейтаграммы UDP показан на рисунке 6.21.

Рис.6.21

Поле «длина» указывает количество байтов в дейтаграмме (т.е. длина заголовка и данных)

Данные протокола UDP инкапсулируется в IP-дейтаграммах при передаче их по сети (см. рис.6.22.).

 
 

Рис.6.22.

Только IP-заголовок определяет отправителя и получателя. Сама же дейтаграмма содержит только номера портов.

UDP обеспечивает мультиплексирование и демультиплексирование дейтаграмм (см. рис.6.23.).

 
 

Рис.6.23.

Каждый такой порт (также как и в протоколе TCP) может быть представлен в виде входной и выходной очереди дейтаграмм.

Протокол ICMP

Протокол обмена управляющими сообщениями ICMP (Internet Control Message Protocol) является вспомогательным в стеке TCP/IP.

Этот протокол позволяет маршрутизатору сообщать станции-источнику об ошибках и нештатных ситуациях, с которыми он столкнулся при передаче IP-дейтаграммы от этой станции.

 
 

Протокол включается в каждую реализацию протокола IP и может рассматриваться и как его неотъемлемая часть.

Сообщения ICMP передаются по сети в поле данных IP-дейтаграммы. Протокол посылает два вида сообщений:

§ управляющие сообщения;

§ сообщения об ошибках.

Эти сообщения могут быть посланы как на другие маршрутизаторы, так и на конечные станции.

Протокол сообщает об ошибках, но не предпринимает мер по их исправлению. Если маршрутизатор обнаруживает ошибку, он уничтожает дейтаграмму, но одновременно с помощью ICMP отсылает сообщение об ошибке отправителю для принятия мер по ее устранению.Доставка сообщений ICMP производится с помощью IP-дейтаграмм. Поэтому эти сообщения могут быть аналогично другим дейтаграммам утеряны или удалены. Сообщения ICMP требуют двух уровней инкапсуляции (см. рис.6.24.).

Рис.6.24.

Все сообщения ICMP начинаются с трех одинаковых полей (см. рис.6.25.).

 
 

Рис.6.25.

Поле «тип» определяет смысл сообщения и его формат. Это поле может иметь, например, следующие значения:

¨ 8 — запрос эха;

¨ 3 — получатель недостижим;

¨ 11 — время жизни дейтаграммы истекло;

¨ 12 — ошибка параметра;

¨ 17 — запрос маски адреса и т. д.

Сообщения «Запрос эха» и «Ответ на эхо» часто используются при отладке сети. Они позволяют убедиться в достижимости получателя IP-дейтаграммы и его способности отвечать на запросы. Во многих системах программа с такими функциями называется «Ping».

Сообщение «Получатель недостижим» посылается маршрутизатором, если он не может доставить IP-дейтаграмму по назначению. Поле «код» в таком сообщении указывает на причину недоставки, например:

¨ 1 — устройство недостижимо;

¨ 3 — порт недостижим;

¨ 4 — требуется фрагментация;

¨ 6 — сеть назначения неизвестна и т.д.

В это сообщение включается IP-заголовок отвергнутой IP-дейтаграммы и ее первые 64 бита.

Сообщение «Подавление источника» требует от узла-источника уменьшения скорости передачи дейтаграмм. Такое сообщение посылается тогда, когда на маршрутизаторе скапливается большая очередь и происходит переполнение буфера. Тогда на каждую из не поставленных в очередь IP-дейтаграмм посылается такое сообщение.

Сообщение «Изменение маршрута» используется для указания источнику на то, что в данной сети существует более оптимальный путь доставки отправленной дейтаграммы. В сообщении указывается адрес рекомендуемого маршрутизатора.

Сообщение «Время жизни дейтаграммы истекло» посылается при обнулении счетчика времени жизни дейтаграммы или при превышении времени ожидания формирования фрагментов дейтаграммы.

Сообщение «Ошибка параметра» посылается маршрутизатором при обнаружении неправильного параметра в заголовке. Тогда дейтаграмма уничтожается. Неверный байт передается в специальном поле «указатель».

Сообщения «Запрос временной метки» и «Передача временной метки» используются для синхронизации часов в распределенной системе.

Сообщения «Запрос маски адреса» и «Передача маски адреса» необходимы для уточнения того, какие биты адреса относятся к адресу сети.

 

7.Маршрутизация

 

Реализуется на сетевом уровне сети. За нее отвечает протокол маршрутизации. При выборе стратегии маршрутизации могут быть поставлены разные цели, например:

q Минимизация времени доставки пакетов;

q Минимизации стоимости доставки пакетов;

q Обеспечение максимальной пропускной способности сети и т.д.

Задача маршрутизации решается маршрутизатором, который определяется как устройство сетевого уровня, использующее одну или несколько метрик для определения оптимального пути передачи сетевого трафика на основании информации сетевого уровня.

Под метрикой понимаются некоторые количественные характеристики пути, например, длина, время прохождения, пропускная способность и т. д.

Алгоритмы маршрутизации могут быть:

q статическими или динамическими;

q одномаршрутными или многомаршрутными;

q одноуровневыми или иерархическими;

q внутридоменными или междоменными;

q одноадресными или групповыми.

Статические (неадаптивные) алгоритмы предполагают предварительный выбор маршрутов и их занесение вручную в таблицу маршрутизации. Таким образом там должна уже быть заранее записана информация о том, на какой порт отправить пакет с соответствующим адресом. Примеры: протокол LAT фирмы DEC, протокол NetBIOS.

В динамических протоколах таблица маршрутизации обновляется автоматически при изменении топологии сети или трафика в ней.

Одномаршрутные протоколы предлагают только один маршрут для передачи пакета (который не всегда является оптимальным).

Многомаршрутные алгоритмы предлагают несколько маршрутов. Это позволяет передавать информацию получателю по нескольким маршрутам одновременно.

Сети могут иметь одноуровневую или иерархическую архитектуру. Соответственно различают и протоколы маршрутизации. В иерархических сетях маршрутизаторы верхнего уровня образуют особый уровень магистральной сети.

Некоторые алгоритмы маршрутизации действуют только в пределах своих доменов, т.е. используется внутридоменная маршрутизация. Другие алгоритмы могут работать и со смежными доменами – это определяется как междоменная маршрутизация.

Одноадресные протоколы предназначены для передачи информации (по одному или нескольким маршрутам) только одному получателю. Многоадресные — способны передавать данные сразу многим абонентам.

Выделяют три основные группы протоколов маршрутизации в зависимости от используемого типа алгоритма определения оптимального маршрута:

q Протоколы вектора расстояния;

q Протоколы состояния канала;

q Протоколы политики маршрутизации.

Протоколы вектора расстояния – самые простые и распространенные. Это, например, RIP, RTMP, IGRP.

Такие протоколы с определенной периодичностью передают (рассылают) соседям данные из своей таблицы маршрутизации (адреса и метрики). Соседи, получив эти данные, вносят необходимые изменения в свои таблицы. Недостаток эти протоколы хорошо работают только в небольших сетях. При увеличении размера возрастает служебный трафик в сети, увеличивается задержка обновления таблиц маршрутизации.

Протоколы состояния канала были впервые предложены в 1970 году Эдсгером Дейкстрой. Здесь вместо рассылки содержимого таблиц маршрутизации, каждый маршрутизатор производит широковещательную рассылку списка маршрутизаторов, с которыми он имеет непосредственную связь и списка напрямую подключенных к нему локальных сетей. Такая рассылка может производиться либо при изменении состояния каналов, либо периодически. Примеры протоколов: OSPF, IS-IS, Novell NLSP.

Протоколы политики (правил) маршрутизации наиболее часто используются в сети Интернет. Они опираются на алгоритмы вектора расстояния. Информация о маршрутизации получается от соседних операторов на основании специальных критериев. На основе такого обмена вырабатывается список разрешенных маршрутов. Примеры: протоколы BGP и EGP.

Маршрутизаторы

Маршрутизаторы являются достаточно сложными устройствами. При их создании используются 3 основные архитектуры.

1) Однопроцессорная. Здесь на процессор возлагается весь комплекс задач, включающий:

q фильтрацию и передачу пакетов;

q модификацию заголовков пакетов;

q обновление таблиц маршрутизации;

q выделение служебных пакетов;

q формирование управляющих пакетов;

q работа с протоколом управления сетью SNMP (Simple Network Management Protocol) и т.д.

Однако даже мощные RISC-процессоры не справляются с обработкой при большой загрузке.

2) Расширенная однопроцессорная. В функциональной схеме маршрутизатора выделяют модули, ответственные за выполнение ряда задач (например, работа со служебными пакетами). Каждый такой функциональный модуль снабжается собственным процессором (периферийным).

3) Симметричная многопроцессорная архитектура. Здесь происходит равномерное распределение нагрузки на все процессорные модули. Каждый из модулей выполняет все задачи маршрутизации и имеет свою собственную копию таблицы маршрутизации. Это наиболее прогрессивная для маршрутизаторов архитектура.

IP-маршрутизаторы

IP (Internet Protocol) является в настоящее время наиболее распространенным (в сети Интернет). Протокол работает на сетевом уровне и именно на этом уровне принимается решение о маршрутизации.

Существует 2 подхода к выбору маршрута:

· одношаговый подход;

· маршрутизация от источника.

При одношаговой маршрутизации каждый маршрутизатор принимает участие в выборе только одного шага передачи дейтаграммы. Поэтому в строке таблицы маршрутизации указывается не весь маршрут (к получателю), а только один IP-адрес следующего маршрутизатора. Для тех адресов, которые отсутствуют в таблице, используется адрес маршрутизатора по умолчанию.

Алгоритмы построения таблиц при одношаговоймаршрутизации могут быть следующими:

¨ фиксированная маршрутизация (таблица составляется «вручную» администратором);

¨ случайная маршрутизация (пакет передается в любом случайном направлении кроме исходного);

¨ лавинная маршрутизация (дейтаграмма передается во все направления, кроме исходного);

¨ адаптивная маршрутизация (таблица маршрутизации периодически корректируется на основании сведений о сетевой топологии от других маршрутизаторов).

Протоколы адаптивной маршрутизации получили наибольшее распространение в IP-сетях. Это протоколы: RIP, OSPF, IS-IS, EGP, BGP и т.д.

При маршрутизации от источника выбор маршрута производится конечным узлом или первым маршрутизатором на пути следования дейтаграммы. В IP-сетях этот метод не нашел распространения, зато широко применяется в ATM-сетях (например, протокол PNNI).

Пример записи в таблице маршрутизации (протокол RIP IP):

Номер сети получателя: 128.3.0.0

Следующий маршрутизатор в пути Количество переходов Таймер
128.5.3.2
128.5.4.7
128.5.3.9

Здесь в качестве метрики маршрута используется количество переходов (hop count). Его называют также числом транзитных узлов (маршрутизаторов на пути к адресату). Таймер – это время, прошедшее с момента последнего обновления записи, Таймер сбрасывается при каждом обновлении.

Автономные системы.

В связи с ростом сети Интернет производительность маршрутизаторов значительно снизилась. Неимоверно возрос объем трафика для поддержания маршрутизации и выросли в объеме маршрутные таблицы. В связи с этим Интернет была разделена на ряд Автономных систем (АС) (Autonomous System) (рис.7.1.). Каждая такая система представляет собой группу сетей и маршрутизаторов, управляемую уполномоченным. Это позволяет маршрутизаторая внутри каждой АС использовать различные протоколы маршрутизации. Здесь используются динамические протоколы маршрутизации, определяемые как класс IGP-протоколов (IGP – Interior Gateway Protocol – внутренний шлюзовой протокол). К этому классу относятся протоколы RIP, IS-IS и т.д.

 
 

Рис.7.1.

Для взаимодействия маршрутизаторов, принадлежащих к разным АС, используется дополнительный протокол, называемый EGP (Exterior Gateway Protocol –внешний шлюзовой протокол).

Примеры протоколов

Протокол RIP

Протокол RIP (Routing Information Protocol) относится к классу IGP. Появился протокол в 1982 году как часть стека протоколов TCP/IP. Стал стандартным протоколом маршрутизации внутри автономной системы. Ограничение — протокол не поддерживает длинные пути, содержащие более 15 переходов.

В качестве метрики используется количество переходов (т.е. число маршрутизаторов, которые должна пройти дейтаграмма, прежде чем достигнет получателя). Всегда выбирается путь с наименьшим числом переходов.

Периодически каждый маршрутизатор посылает сообщения об обновлении маршрутов своим соседям. Такое сообщение содержит всю его таблицу маршрутизации. Предварительно эта таблица заполняется адресами тех сетей, к которым маршрутизатор имеет непосредственный доступ (см. рис.7.2.).

Перед передачей информации соседнему маршрутизатору таблица корректируется – количество переходов до получателя увеличивается на единицу. Получив такое служебное сообщение от соседнего маршрутизатора, маршрутизатор обновляет свою таблицу маршрутизации в соответствии со следующими правилами:

a) Если новое количество переходов меньше старого (для адреса конкретной сети) — эта запись вносится в таблицу маршрутизации.

b) Если запись поступила от того маршрутизатора, который являлся источником уже хранящейся записи, то новое значение количества переходов вносится даже в том случае, если оно больше старого.

По умолчанию интервал между рассылками сообщений – 30 с. При длительном молчании соседнего маршрутизатора (свыше 180 с) записи, относящиеся к нему удаляются из таблицы маршрутизации (предполагается отказ линии или самого маршрутизатора).

 
 

Рис.7.2.

Протокол OSPF

Протокол OSPF (Open Shortest Path First) принят в 1991 году. Он ориентирован на применение в больших распределенных сетях. Основан на алгоритме состояния канала. Суть этого алгоритма состоит в том, что он должен вычислить кратчайший путь. Под «кратчайшим» имеется в виду не физическая длина, а время передачи информации.

Маршрутизатор отправляет запросы своим соседям, находящимся в одном домене маршрутизации, для выявления состояния каналов до них и далее от них. Состояние канала при этом характеризуется несколькими параметрами, называемыми «метрикой». Это может быть:

¨ пропускная способность канала;

¨ загрузка канала на текущий момент;

¨ задержка информации при прохождении по этому каналу и т.д.

Обобщив полученные сведения, маршрутизатор сообщает их всем соседям. После этого им строится ориентированный граф топологии домена маршрутизации. Каждому ребру графа назначается оценочный параметр (метрика)(рис.7.3.).

 
 

Рис.7.3.

Затем используется алгоритм Дейкстры, который по двум заданным узлам находит набор ребер с наименьшей суммарной стоимостью, т.е. выбирается оптимальный маршрут. В соответствии с этим строится таблица маршрутизации.

Протокол OSPF относится к классу IGP-протоколов и заменяет протокол RIP в больших и сложных сетях. Рассылка информации о состоянии каналов производится каждые 30 минут. На основе этих сообщений на каждом из маршрутизаторов создается база данных состояния каналов (Link-State Datadase). Эта база одинакова на всех маршрутизаторах домена.

На основе этой базы данных маршрутизатор формирует карту сетевой топологии и дерево кратчайших путей ко всем возможным получателям (см. рис.). Затем формируется таблица маршрутизации (табл.7.1.). Для сетей, подключенных к маршрутизатору напрямую указывается метрика, равная нулю.

Таблица 7.1.

Сеть Следующий маршрутизатор пути Метрика маршрута
Сеть 1 Маршрутизатор 5
Сеть 2 Подключена напрямую
Сеть 3 Подключена напрямую
Сеть 4 Маршрутизатор 2
Сеть 5 Маршрутизатор 2
Сеть 6 Маршрутизатор 4

 

При изменении состояния хотя бы одного подключенного канала, маршрутизатор рассылает сообщения своим соседям. Производится корректировка базы данных каналов, вычисляются кратчайшие пути, формируется заново таблица маршрутизации.

В больших сетях (с сотнями маршрутизаторов) протокол порождает очень много маршрутной информации, а база данных состояния каналов может достигать нескольких Мбайт.

Протокол IGRP

Протокол IGRP (Interior Gateway Routing Protocol) разработан фирмой CISCO в 1980 году. Принадлежит к классу протоколов IGP. Работает по алгоритму вектора расстояния. Предназначен для сетей TCP/IP.

В качестве метрики могут быть выбраны:

¨ время задержки;

¨ пропускная способность канала;

¨ загруженность канала;

¨ надежность канала (количество ошибок).

Аналогично протоколу RIP, таблицы маршрутизации формируются путем обмена маршрутизаторами служебной информацией. При запуске маршрутизатор содержит информацию только о подключенных к нему сетях. Затем он получает информацию от соседей и пополняет свою таблицу маршрутизации.

Для каждого маршрута вычисляется обобщенная метрика по формуле, учитывающей пропускную способность каналов, время задержки и надежность с некоторыми весовыми коэффициентами. Предпочтение отдается маршруту с наименьшей обобщенной метрикой.

Разновидностью этого протокола является протокол EIGRP (Enhanced Interior Gateway Routing Protocol) фирмы CISCO. Он объединяет достоинства методов вектора расстояния и состояния канала. Протокол отличает – небольшой служебный трафик, быстрое восстановление при изменении сетевой топологии (менее чем за 1 сек.). Процедуры протокола являются коммерческой собственностью фирмы.









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2019 zdamsam.ru Размещенные материалы защищены законодательством РФ.