Что происходит с кадром, когда он достигает коммутатора или маршрутизатора?

1983
dargemir

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

2
Я не вижу, как «один компьютер отправляет кадр другому ПК через коммутатор» и «у нас два компьютера подключены к одному коммутатору и что-то между ними отправляются» - это разные сценарии. Jamie Hanrahan 7 лет назад 0
Ваш вопрос должен быть про Ethernet? Ваш второй сценарий предполагает использование роутера? sawdust 7 лет назад 0
Извините, конечно, вторая часть касается роутера. Ред. dargemir 7 лет назад 0
Если два компьютера находятся в одной подсети, то маршрутизатор похож на коммутатор. sawdust 7 лет назад 0
@ Sawdust Не собирать ниты - о, кто я, шучу, я забираю ниты - но маршрутизатор _include_ переключатель. Технически чистый маршрутизатор будет иметь только один порт на подсеть. Обычные "домашние NAT-маршрутизаторы" имеют один порт "WAN" и несколько портов "LAN" - за последним есть переключатель. Трафик между портами LAN вообще не проходит через часть маршрутизатора, так что, да, он действует как коммутатор. :) Jamie Hanrahan 7 лет назад 1
А что, если они находятся в других сетях, как здесь: https://zapodaj.net/images/72df7cf02b691.jpg dargemir 7 лет назад 1
@JamieHanrahan - К вашему сведению, вы не говорите мне ничего, чего я еще не знаю. ИМО этот некачественный вопрос только оценивает то, что я написал. sawdust 7 лет назад 0

3 ответа на вопрос

0
LPChip

Маршрутизатор - это, в основном, коммутатор с дополнительным преобразованием NAT, позволяющий различать входящий и исходящий трафик.

Когда задействован Интернет и, таким образом, используется NAT, правила переадресации портов определяют, что происходит с пакетом (фреймом). Если он только локальный, весь NAT не используется, и, следовательно, используется только внутренний коммутатор. Как и в случае с обычным коммутатором, пакет остается неизменным.

И это ПК относится к другим сетям? zapodaj.net/images/72df7cf02b691.jpg dargemir 7 лет назад 0
Как указано в моем ответе, это становится трансляцией NAT, поэтому правила перенаправления портов определяют, куда направляется пакет. LPChip 7 лет назад 0
0
Twisty Impersonator

«Насколько я понимаю, когда один компьютер отправляет кадр другому ПК через коммутатор, кадр остается неизменным».

Ты прав; Коммутаторы не изменяют кадры, которые они передают в любом случае. Это называется прозрачным мостовым соединением, как описано в статье О'Рейли под названием « Базовая операция переключения» :

Коммутаторы Ethernet спроектированы таким образом, что их операции невидимы для устройств в сети, что объясняет, почему этот подход к связыванию сетей также называется прозрачным мостовым соединением . «Прозрачный» означает, что при подключении коммутатора к системе Ethernet не происходит никаких изменений в кадрах Ethernet, которые соединены мостом.


«Но что произойдет, если у нас есть два компьютера, подключенных к маршрутизатору, и мы отправим что-то между ними?»

TL; DR

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


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

enter image description here

Здесь у нас есть маршрутизатор с двумя интерфейсами: e1 / 1/1 (который я обозначу как E1 ) и e1 / 1/2 (который я обозначу как E2 ). Обратите внимание, что два интерфейса маршрутизатора находятся в отдельных подсетях, что всегда должно быть в случае маршрутизатора:

  • E1 подключен к подсети 10.0. 0 .0 / 24
  • Е2 подключен к подсети 10.0. 1 .0 / 24

Теперь предположим, что компьютер A (с IP-адресом 10.0.0.2/24 и, следовательно, в подсети 10.0.0.0/24) отправляет пакет на IP-адрес назначения 10.0.1.2. Как только этот пакет прибывает в маршрутизатор, происходит следующее:

  1. Пакет поступает на интерфейс E1
  2. Маршрутизатор определяет адрес назначения 10.0.1.2
  3. Маршрутизатор проверяет свою таблицу маршрутизации, чтобы определить, куда должен идти пакет
  4. Таблица маршрутизации указывает, что интерфейс E2 подключен к подсети 10.0.0.0/24.
  5. Маршрутизатор подготавливает пакет для передачи по интерфейсу E2. Это требует модификации пакета несколькими способами. Например, новый пакет будет иметь:
    • Старый адрес назначения уровня 2 (MAC) заменен новым адресом назначения, который будет широковещательным адресом FF:FF:FF:FF:FF:FFдля первого такого пакета, отправленного на интерфейсе.
    • Новая последовательность проверки кадра (FCS) рассчитана и добавлена ​​в пакет
  6. Новый пакет передается по интерфейсу E2

После отправки пакета в сегмент сети, подключенный к интерфейсу E2 маршрутизатора, он принимается компьютером B с IP-адресом 10.0.1.2.

Предположим, что компьютер A отправляет пакет на IP-адрес назначения 10.0.7.44. Как только пакет достигает маршрутизатора, происходит следующее:

  1. Пакет поступает на интерфейс E1
  2. Маршрутизатор определяет адрес назначения 10.0.7.44
  3. Маршрутизатор проверяет свою таблицу маршрутизации, чтобы определить, куда должен идти пакет

Что теперь происходит?

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

В реальном мире, однако, маршрутизатор, вероятно, будет иметь хотя бы один интерфейс, настроенный как маршрут по умолчанию или маршрут последней инстанции . В таблице маршрутизации это интерфейс, с которым связана сеть 0.0.0.0/0. Если у маршрутизатора нет определенного маршрута к действительной сети для пакета, предназначенного для 10.0.7.44, в качестве действия «последней инстанции» он будет передавать пакет по интерфейсу, связанному с маршрутом по умолчанию.

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

  • Больше памяти для хранения таблицы маршрутизации
  • Больше процессорного времени для проверки таблицы (это делается для каждого входящего пакета!)
  • Чрезмерные и частые обновления таблиц маршрутизации от многих других маршрутизаторов в Интернете для обеспечения точности таблицы маршрутизации. В противном случае пакеты могут быть переадресованы через интерфейс, который фактически не имеет подключения к сети назначения.
0
Charles Burge

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

Переключатель - это место, где встречаются разные трубы. Он будет смотреть на адрес источника и адрес назначения на капсуле, и, основываясь на этом, отправить его через соответствующую трубку, чтобы получить, куда он идет.

Маршрутизаторы заботятся о конверте, а не о капсуле. Когда маршрутизатор получает капсулу, он в основном открывает капсулу и затем отбрасывает ее. Затем он посмотрит на конверт и выяснит, куда ему нужно идти. Конверт, возможно, должен пойти на чей-то стол. В этом случае он передаст конверт другой системе доставки (протоколу). Или он может решить, что конверт должен вернуться в систему трубок, и в этом случае он поместит его в новую капсулу и отправит в путь.

Это, конечно, очень упрощенно, но, надеюсь, это немного прояснит картину.

Хорошая аналогия. Какую принципиальную разницу вы имеете в виду между функцией переноса капсулы на * другой стол * и помещением ее обратно в * систему пробирок *? На небольшом примечании, переключатели не заботятся об адресе источника кадра. Twisty Impersonator 7 лет назад 0
Одной из возможных аналогий является кабельный модем. На внутренней стороне он использует Ethernet для маршрутизации кадров во внутренней локальной сети. На внешней стороне он использует DOCSIS, который по-прежнему является уровнем 2, но другой протокол. И да, переключатели действительно заботятся об адресе источника. Вот как они узнают, какие MAC-адреса на каких портах. Charles Burge 7 лет назад 0
Мое плохое использование коммутатором исходного MAC-адреса. Я бы не назвал кабельный модем роутером. Настоящий маршрутизатор - это устройство уровня 3 OSI с целью «маршрутизации» пакетов между несколькими сетями уровня 3. Но трансляция пакетов между различными физическими сетевыми архитектурами * не * особенность автономного маршрутизатора. Из-за объединения нескольких сетевых возможностей в одном устройстве некоторые считают, что кабельный модем лучше всего описать как [Жилой шлюз] (https://en.wikipedia.org/wiki/Residential_gateway?wprov=sfla1). Twisty Impersonator 7 лет назад 0
На самом деле кабельный модем ** является ** маршрутизатором в полном смысле этого слова. Вот почему он имеет внутренний IP-адрес и внешний IP-адрес. Он направляет пакеты между вашей домашней локальной сетью и сетью кабельной компании. Charles Burge 7 лет назад 0
Как и обычный беспроводной маршрутизатор, но никто бы не назвал его настоящим маршрутизатором. Twisty Impersonator 7 лет назад 0
Посмотрите на [В чем разница между модемом и маршрутизатором?] (Https://www.howtogeek.com/234233/whats-the-difference-between-a-modem-and-a-router/). Twisty Impersonator 7 лет назад 0

Похожие вопросы