Протокол IP : Протоколы IP-маршрутизации

Трассировка пакета от входной очереди сети до выходной, или "Период жизни пакета"

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Английский (22 августа 2015) | Отзыв


Содержание


Введение

Этот документ описывает жизнь пакета.

Предварительные условия

Требования

Для этого документа отсутствуют особые требования.

Используемые компоненты

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

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

Условные обозначения

Дополнительные сведения об условных обозначениях в документах см. в Условные обозначения технических терминов Cisco.

Процесс

Маршрутизаторы младшей модели Cisco включают 1xxx, 25xx, 26xx, 3600, 3800, 4000, 4500, и 4700 серий. С этими маршрутизаторами сообщение передано на проводе кем-то и получено контроллером в другой системе. Данный контроллер в большинстве систем напрямую сохраняет пакет в буферную память. Когда сообщение получено полностью, контроллер сохраняет данные указателя, чтобы входной драйвер мог найти его, а затем устанавливает прерывание приема.

Примечание: Если контроллер не имеет никаких буферов, в которые можно хранить сообщение, он регистрирует "игнорировать" на этом этапе и не получает сообщение.

В некоторый момент в будущем, обычно измеренном в микросекундах, драйвер становится активным. Первые проверки драйвера очередь передачи и, позже, проверяют очередь приема. На данный момент мы будем фокусироваться на обработке очереди приема. Драйвер проверяет обязательные аспекты очереди, решает, что существует сообщение, удаляет сообщение из очереди и пополняет контроллер, получают буферный список. Это тогда решает к какой средство передачи, такое как IP или Межсетевой пакетный обмен (IPX), для вручения сообщения.

Чтобы объяснить это, предположим, что это IP-сообщение. Драйвер попытается отправить IP-сообщение по настроенному быстрому IP-пути. Это сначала удаляет заголовок уровня соединения из сообщения и затем определяет, настроен ли быстрый маршрут на входном интерфейсе. Если ни один из быстрых маршрутов не сконфигурирован, то пакет помещается (маркируется) в "очередь входящих пакетов" и проверяется счетчик. Если счетчик является нолем, "очередь входящих пакетов" исчерпана, и пакет отброшен. Если счетчик не является нолем, он постепенно уменьшен, и сообщение ставится в очередь к пути обработки.

Примечание: "Очередь входящих пакетов" не является очередью в прямом смысле. Это - ряд пакетов, который был получен на интерфейсе и не полностью обработан (или путем передачи сообщения к исходящему интерфейсу или путем выпуска буфера). Однако если существует настроенный быстрый маршрут, а также сообщение, переданное по быстрому маршруту, (обычно так и бывает).

Сейчас быстрый маршрут проверяет сообщения и применяет определенный набор характеристик к немаршрутизированному сообщению. Этот шаг включает дешифрование или распаковку или обоих (если необходимый), выполняя Network Addresses Translation (NAT), применяя входные тесты согласованной скорости доступа (CAR), применяя тесты маршрутизации в соответствии с политикой, и т.д.

Политика маршрутизации, при ее использовании, фактически указывает выходной интерфейс. Если политика маршрутизации не используется, следующим шагом будет поиск адреса назначения в кэше маршрутизации, процесс, называемый "коммутация пакета". Структура и содержимое этого кэша варьируются в зависимости от режима быстрой коммутации. В случае стандартной быстрой коммутации в кэше содержатся последние использованные маршруты до префикса точки назначения или маршруты до хоста назначения. Иногда записи кэша могут отсутствовать. В этом случае сообщение перемещается на уровень процесса, вновь помеченное как элемент очереди входящих пакетов. В коммутации экспресс-пересылки Cisco кэш (называемый базой данных переадресации или FIB) является законченной таблицей маршрутов, поэтому данный процесс не происходит.

Если маршрут найден, запись в кэше маршрутизатора (или "смежность", как она называется в Cisco Express Forwarding) содержит сведения о выходном ПО, аппаратном интерфейсе и заголовке сообщения (следующем узле). Для мультиплексных интерфейсов это было бы следующей соответствующей виртуальной цепью или виртуальным каналом.

В том программном интерфейсе существует много проблем, которые могли бы примениться. Например, интерфейс, возможно, был настроен с Максимальным размером передаваемого блока данных (MTU), меньшим, чем размер сообщения. С тех пор нет никакого фрагмента в быстром маршруте, это определенное событие было бы причиной "натолкнуться" к уровню процесса. Кроме того, интерфейс мог бы быть настроен для Обработки NAT, выходных данных CAR, и т.д.. Эти функции будут применены на данном этапе обработки сообщения. Наконец, заголовок уровня соединения выходного интерфейса присоединен к сообщению, и это вручено выходному драйверу.

Сообщение представлено программе быстрой передачи в драйвере, который выполняет такие шаги.

  1. Отображается несколько запросов драйвера, например "Do I have to copy the message to a new buffer before transmitting it?" (Скопировать сообщение в новый буфер перед передачей?)?"

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

  3. Если формирование трафика не активно, не применимо к этому сообщению или же не превышена скорость, драйвер не спрашивает, меньше ли глубина очереди передачи выходного контролера, чем значение tx-queue-limit. Если оно ниже предела, драйвер просто ставит в очередь сообщения для передачи. Сообщение, прошедшее по этому пути, учитывается как сообщение быстрой коммутации на входе и на выходе.

  4. Если это не может быть выполнено быструю коммутацию, однако, драйвер отклоняет сообщение в очередь программного обеспечения, которая в общем упоминается как "очередь задерживаемых исходящих данных". Примеры таких удержаний очереди включают First In, First Out (FIFO) помещающий в очередь, Постановку в очередь с установлением приоритетa, Настраиваемую организацию очереди и Обслуживание очередей на основе равнодоступности (WFQ).

Так как это - получатель сообщений, которые придерживаются пути обработки также, такие сообщения считаются как выполненный быструю коммутацию на выходных данных on процессной коммутации и вводе. Обратите внимание на то, что они не были, фактически, процессной коммутацией. Когда пакет был коммутирован в быстром маршруте, решение о коммутации было сделано. Однако сообщение было направлено в очередь, которая совместно используется с путем процесса. Считается, что переключение процессов произойдет позже, когда сообщение покинет очередь удержания и направится в очередь передающего контроллера.

Коммутация в контексте процесса - то, что происходит, когда сообщение не может быть передано в быстром маршруте. Это означает, что сообщение передано в данную систему и в итоге (в идеальной ситуации) будет использоваться в процессах маршрутизации, обслуживания канала, управления сетью и др. Однако некоторый трафик действительно идет через путь обработки, такой как трафик, который использует Фрагментацию и чередование данных в канале (LFI) для чередования голоса между сегментами jumbogram, трафика X.25, фрагментации требования трафика и трафика, для которого не было никакой записи маршрута быстрого маршрута. Обработка на пути процессов в целом схода с быстрым путем, но по различным причинам различается в методах реализации. Одно из различий - то, что выходные данные on, флаг "очереди входящих пакетов" очищен, и счетчик на входном интерфейсе инкрементно увеличен (удаление сообщения от очереди входящих пакетов), и сообщение ставится в очередь в очередь задерживаемых исходящих данных. Затем смоделировано прерывание, которое может переключить передачу сообщения на выходной интерфейс. Это медленнее, чем быстрая коммутация из-за издержек процесса; может быть некоторое другое выполнение процесса, когда такое сообщение получено, и существуют еще некоторые сложные структуры данных, с которыми нужно иметь дело.

Связанные обсуждения сообщества поддержки Cisco

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


Дополнительные сведения


Document ID: 13713