Проблемы маршрутизации
Адаптивная маршрутизация имеет свои проблемы. Во-первых, программы для обработки этой мощной схемы маршрутизации довольно сложны. Во-вторых, существует вероятность, что пакет начнет «автоколебание» и потеряется в сети, когда будет двигаться от одного узла к другому во время, когда их таблицы маршрутизации изменяются. Однако, если таблицы маршрутизации изменяются не часто, проблема потери пакетов не выглядит серьезно. Первоначально узлы сети ARPANET обменивались пакетами обновления со своими соседними узлами каждые 128 мс, что создавало множество проблем. При современном подходе узлы обновляют свои таблицы каждые 10 с.
Адаптивная маршрутизация также представляет некоторые проблема при сборке пакетов в узле конечного назначения. Когда используется подход с фиксированным каталогом, то, поскольку пакеты исходят один за другим строго последовательно по одному и тому же пути, они и прибывают в узел назначения в том же строгом порядке. При адаптивной маршрутизации пакеты могут перемещаться в сети по разным маршрутам, поэтому во многих случаях они будут прибывать в конечныйпункт с нарушением исходной последовательности. Передача пакетов с нарушением последовательности требует от принимающего узла постановки в очередь и сохранения всех пакетов прежде, чем они будут собраны и выданы пользователю.
Кроме того существуют проблемы, характерные для многих пакетных сетей, в том числе и в ЦСИО: потери пакетов, их дублирование, проблемы управления, чистка сети, снятие пакетов.
Чтобы описать проблему потери пакетов, представим, что пакет направлен к узлу D через узел коммутации В, который оповестил узел А сообщением АСК (рис. "Потеря пакета"). Однако узел, который дал ответ АСК (т.е. узел В), не отправляет сам пакет, поскольку этот узел вышел из строя до отсылки пакета. Очевидно, пакет потерян. И если другие пакеты из этого сеанса в конце концов все-таки прибывают в узел конечного назначения, то потерянный пакет найти уже невозможно.
Известно несколько методов для обработки ситуаций потерь пакетов. Один из подходов заключается в том, что узел В воздерживается от посылки сигнала АСК узлу А до тех пор, пока пакет не будет передан узлу D на самом деле. В других системах требуется посылка узлом D сообщения о статусе приема пакета из узла А, что помогает выявить потерянные пакеты. Последний подход обусловливает учет пакетов, пришедших в конечный узел.
На рис. "Дублирование пакетов" показана проблема дублирования пакетов.
В этом случае ответ АСК из узла В не возвращается в А даже в случае успешной отправки пакета в узел D. Следовательно узел А предполагает, что узел В вышел из строя и повторно посылает пакет через узел С. Узел С перешлет пакет в D, который, очевидно, ранее уже получил пакет из В.
Для устранения ситуации дублирования пакетов также известно несколько методов. Один из них требует более тщательно отработанной схемы идентификации последовательности пакетов в головной метке для того, чтобы определить каждый пакет уникально. На приемном конце специальные программы проверяют пакеты на дублирование и уничтожают дубли.
Проблемы управления связаны с управлением потоков пакетов, чтобы предотвратить избыточный поток пакетов, которые прибывают быстрее, чем узел способен обработать и передать дальше. Один из подходов для решения проблемы заключается в использовании пакетов-глушителей (рис. "Глушение пакетов"). Каждый узел управляет использованием своих выходных линий. Когда поток на входных линиях превосходит некоторое пороговое значение, программа управления узлом проверяет входящие пакеты и определяет, какой из узлов направляет чрезмерное количество пакетов. После этого контролирующий узел возвращает посылающему узлу или ООД пакет-глушитель. Этот пакет содержит указание снизить поток либо сохранить его на определенном уровне в течение определенного времени. Как только перегрузка исчезнет, посылающий узел снова может снять ограничения на посылку пакетов.
Проблемы возникают при использовании пакетов-глушителей в тех случаях, когда условия выполняются двумя или более узлами, находящимися в зависимости друг от друга. Например, если пакет-глушитель направлен в узел, от которого исходит чрезмерный поток пакетов, а этот узел должен был передать в принимающий узел именно тот пакет, который вызовет освобождение буферов принимающего узла, то возникает ситуация, известная как «клинч» или «мертвое сцепление». Одним из решений этой ситуации является требование, чтобы посылающий узел запросил от принимающего узла необходимое буферное пространство для многопакетного сеанса (запрос на ресурс одних махом). Принимающая сторона запасает буферное пространство заранее или же отвергает запрос на вызов.
Проблема очистка сети, когда пакеты могут потеряться, представлена на рис. "Очистка сети".
Из-за различных возможных проблем (ошибки последовательности, проблемы временные и т.д.) сеть выпускает управляющий пакет (пакет очистки, сброса и рестарта), который должен завершить сеанс пользователя . Обычно, когда этот пакет прибывает в узел D, последующие пакеты этого же сеанса в этом случае не принимаются узлом D. Поэтому пакеты 2 и 3 не будут восприняты и протокол более высокого уровня должен начать восстановление этих пакетов.
В некоторых случаях при работе с потоком пакетов устраняются пакеты, которые существуют в сети свыше выделенного лимита времени. Пакетам выделено некоторое «время жизни», затем они устраняются («снимаются»). После некоторого времени пакеты утрачивают свое значение. Сети с адаптивной маршрутизацией и бесконтактные сети иногда используют этот механизм.
Дата добавления: 2020-10-14; просмотров: 331;