1

Я надеюсь, что смогу сказать это правильно и не запутать всех. (Извините, если я сделаю!)

Последние пару дней я пытался узнать как можно больше о том, как работает внутренняя часть маршрутизатора. Я знаю основы, но мне любопытно, как маршрутизатор обрабатывает эту информацию. Из того, что я прочитал, IP-адрес сначала поступает в маршрутизатор, а затем, пока ЦП маршрутизатора обрабатывает ссылку, он также входит в ОЗУ и проверяет «Таблицу IP» на наличие списка ссылок, которые у него уже есть. а затем, после этого, снова проверьте ОЗУ на предмет «ARP Cache», чтобы увидеть, есть ли у него уже MAC-адрес IP-адреса, на который он отправляет пакет, или я полностью ошибаюсь. Не стесняйтесь ответить, если вы можете помочь!

2 ответа2

1

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

Маршрутизатор загружает таблицу маршрутизации в память (до обработки IP-трафика)

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

Кэш ARP используется только для пакетов типа Ethernet (включая "Wifi") и используется для обнаружения / запоминания устройств, доступных в локальной сети. Он вызывается только в том случае, если "следующий переход" находится на стороне локальной сети и еще не известен.

Часто процесс маршрутизации выполняется во встроенном программном обеспечении, которое удаляет / частично удаляет бит обработки ЦП, и одна из причин заключается в том, что не все устройства поддерживают IPV6). Кроме того, маршрутизация часто выполняется в сочетании с фильтрацией и / или проверкой пакетов. В Интернете есть ряд диаграмм, показывающих, как обрабатываются пакеты через IPTables. Конечно, IPTables / Linux далеко не единственная игра в городе, но она очень распространена и дает представление о том, как обрабатывается материал. Смотрите здесь для простого руководства.

0

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

На уровнях 1 и 2 электрический сигнал, несущий данные кадра, принимается и буферизуется до тех пор, пока у порта не будет достаточно кадра, чтобы сказать, куда он движется, а затем он либо полностью буферизуется, либо поток направляется на микросхема (ASIC), которая обрабатывает MAC-адрес, используя либо таблицу известных MAC-адресов, либо широковещательное разрешение.

Маршрутизация, однако, является несколько более абстрактным процессом (потому что он происходит на более абстрактном уровне). Не вдаваясь в подробности (есть целые книги по любому из этих понятий), маршрутизаторы знают сети, а не хосты и обмениваются информацией о сетях, которые они знают, используя протоколы, такие как RIP, OSPF, (E)IGRP, BGP и т.д. ,

Маршрутизатор не должен знать путь к данному хосту. Ему просто нужно знать выходной интерфейс, который он должен использовать для отправки пакета на другой маршрутизатор, который более конкретно знает, что с ним делать. Это все, что маршрутизатор действительно должен знать, чтобы выполнять свою работу; Фактически, большинство домашних маршрутизаторов знают только два маршрута: маршрут к локальной сети и маршрут к любому другому адресу в мире.

Итак, если я хочу отправить пакет на сервер в Хокайдо, Япония, из США, маршрут для моего пакета пакетов может быть:

  1. Мой дом провайдеру
  2. Мой провайдер на западном побережье США
  3. Западное побережье Японии (Токио)
  4. Токио на северном побережье
  5. Северное побережье до Хокайдо
  6. Хокиадо для провайдеров ISP
  7. Принимающий провайдер для хостов соседства
  8. хостинг соседства с сайтом хоста
  9. Размещение сайта на точном сервере

Это не так просто в реальном мире, но основной принцип заключается в том, что с каждым прыжком пакет попадает в маршрутизатор, который все более и более конкретно знает, как добраться до хоста. Таким образом, моему маршрутизатору, маршрутизатору моего интернет-провайдера или западному побережью США не нужно ничего знать о сетях, доступных на северном побережье Японии.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .