Маршрутизация: как пакеты перемещаются и что происходит внутри маршрутизатора

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

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

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

Интерфейсы маршрутизатора:

Необходимо понимать, что каждый интерфейс маршрутизатора подключается к IP-сети. Но каждый интерфейс также будет иметь свой собственный IP-адрес для связи. Кроме того, два интерфейса, соединенные вместе, должны быть в одной подсети. Можешь сказать почему?

Интерфейсы коммутатора:

Коммутаторы интерфейсов подключаются к разным хостам в локальной сети. Он использует ARP для доставки пакетов, который использует MAC-адрес различных хостов в локальной сети для доставки данных. Прежде чем мы продолжим, вот простой вопрос, на который вы, возможно, захотите ответить сами:

Коммутаторам нужны IP-адреса для связи? Если да, то почему и в каких случаях; если нет, то почему нет и в каких случаях.

Ну, все зависит. Вот три сценария, которые должны дать вам некоторые идеи о коммутаторах.

Типы выключателей:

Основные переключатели:

Базовые выключатели — это те, которые обычно используются для бытовых целей. Например, коммутатор, который вы покупаете для лучшей связи в вашем доме, может быть основным. В основном это переключатели типа «включай и работай». Здесь вы можете узнать больше об основных коммутаторах уровня 2.

Переключатели умеренного уровня:

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

Управляемые переключатели:

Эти выключатели являются дорогими и передовыми из всех. У них есть несколько настроек переключателя. На продвинутом уровне они могут даже поддерживать действия уровня 3, такие как маршрутизация, MPLS, расширенный STP. Эти коммутаторы часто называют коммутаторами уровня 3.

После переключателей мы переходим к отдельным хостам. Отдельным хостом в сети может быть любое сетевое устройство с собственным уникальным IP-адресом. Например, это может быть ваш ноутбук, планшет, интерфейс маршрутизатора, сервер и т. Д.

Теперь мы готовы перейти к теме «Как пакеты передаются по сети?» 

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

  • Пакетная коммутация и,
  • Коммутация цепей

Сообщите нам больше об этих двух методах доставки пакетов через Интернет.

Пакетная коммутация

Говоря простым языком, примите во внимание, что при коммутации пакетов пакеты перемещаются от источника к месту назначения, не следуя заранее определенному пути.

Коммутация цепей

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

Маршрутизация является основным механизмом, который отвечает за поиск пути и доставку пакетов. так,

Как работает роутер?

Процесс маршрутизации внутри маршрутизатора очень интересно знать. Допустим, мы хотим путешествовать по Интернету и набрали в браузере какой-то веб-адрес для связи с веб-сервером.

Браузер, который является агентом пользователя, работает на уровне 7, то есть прикладной уровень добавляет заголовок к данным и передает его на транспортный уровень. Транспортный уровень добавляет еще один заголовок к пакету, который называется сегментом на транспортном уровне.

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

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

И теперь игра начинается — 

Кадр из канального уровня преобразуется в двоичные данные (0 и 1) и отправляется в коммутатор (при условии, что в этом случае коммутатор напрямую подключен к ПК) с использованием физического кабеля (с физического уровня), в котором находится пункт назначения. MAC-адрес коммутатора. Здесь предполагается, что вы уже знаете о переключении, и впредь концепция переключения не будет обсуждаться.

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

Маршрутизатор получает пакет и удаляет заголовок сетевого уровня. После удаления заголовка он смотрит на IP-адрес назначения в пакете.

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

Таблица маршрутизации

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

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

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

Соответствие самого длинного префикса (LPM)

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

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

Есть два таких известных аппаратных ускорителя, которые используются в LPM.

  • CAM (контентно-адресуемая память)
  • Trie (структурированное дерево данных)

Внутри маршрутизатора

Маршрутизатор имеет четыре строительных блока.

  • Входной порт
  • Ткань переключения
  • Процессор маршрутизации и,
  • Выходные порты

Внутри маршрутизатора

Входные порты

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

Вот вопрос для вас:

Могут ли пакеты помещаться в очередь только на одном входном порту, а на других нет? Если так, то при каких условиях? Оставьте свои ответы в комментарии в конце статьи.

Ткань переключения

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

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

Процессор маршрутизации

Процессор маршрутизации поддерживает таблицу маршрутизации. Когда сетевой администратор реализует алгоритм маршрутизации, именно процессор маршрутизации помогает сетевому администратору добиться правильной реализации требуемого протокола маршрутизации.

Выходной порт

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

Функции маршрутизатора

Маршрутизатор выполняет множество функций, таких как поиск IP, пересылка пакетов, ведение таблицы маршрутизации и т. Д. Эти функции можно разделить на две функции.

  • Функции пути к данным и,
  • Контрольные функции

Функции пути к данным

Функции тракта данных в основном связаны с функциями, которые выполняются на дейтаграммах. Некоторые примеры этих функций

  • Пересылка дейтаграммы
  • вычисление контрольной суммы для пакета, чтобы узнать, является ли полученный пакет ошибочным или нет
  • Планирование пакета на выходных перед отправкой их. Планирование может быть выполнено в соответствии с QoS (качеством обслуживания) и может включать в себя FIFO, FCFS и т. Д.
  • Специальный аппаратный ускоритель, который мы обсуждали в параграфах выше, помогает маршрутизатору выполнять функции тракта передачи данных.

Контрольные функции

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

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

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

Ограничения производительности маршрутизатора

Скорость поиска> линейная скорость

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

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

сценарий

Допустим, линейная скорость входного порта составляет 1 Гбит / с. Таким образом, входной порт может принимать до 1,07,37,41,824 байт данных в секунду.

Допустим, один пакет имеет 32 байта. Затем маршрутизатор получает около 33 554 432 (1 073 741 824/32) пакетов в секунду.

Если скорость поиска не превышает количество пакетов, упомянутых выше, просто представьте, сколько пакетов будет отброшено в секунду. В этом случае маршрутизатор должен иметь возможность поиска около 33 миллионов пакетов в секунду.

Скорость переключения> N x Линейная скорость

Здесь скорость переключения — это скорость, с которой коммутационная матрица пересылает входящий пакет на исходящий порт. Допустим, есть N выходных портов. Тогда скорость коммутации должна быть выше, чем N-линейная скорость исходящих портов. В противном случае будет длинная очередь пакетов, и в конечном итоге пакеты будут отброшены.

Другие заметки

  • Большинство роутеров хранят ОС в ПЗУ.
  • ОЗУ представляет собой изменчивую рабочую область маршрутизатора, в которой хранятся таблица маршрутизации, таблица ARP, текущие конфигурации.
  • ОЗУ также может использоваться в качестве расположения буфера, если пакеты находятся в очереди

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

Ссылка на основную публикацию