@revyu

Как работает передача кадра в ethernet?

школьник, пытаюсь в программирование.начал изучать компьютерные сети(курс созыкина+вики+тематические видосы с ютуба).нигде не могу найти как именно происходит маршрутизация и передача кадра с локальной сети до WWW.
т.е. вот у меня есть какой то пакет езернета у которого есть какой то мак адрес получателя .нажимаю enter он отправляется на роутер,роутер ищет в подключениях такой же mac адрес не находит ,роутер по патчкорду отправляет кадр на свитч на чердаке,свитч тоже не находит.куда перенаправляет свитч и как перенаправляет история умалчивает.
есть размытое объяснение что свитч перенаправляет его на какой то другой маршрутизатор районного далее городского уровня и т.д. перенаправляет вроде бы по wan сети но там скорость до 56 кбит/с а мне роутер выдает 100мб/с.
хотелось бы послушать что происходит дальше как можно четче и развернутее или ссылку на источники(хотя я искал и ничего не нашел)
сразу прошу прощения за тупой вопрос просто все вокруг как будто уже давно в теме а мне не сказали.
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
Evgenym
@Evgenym
Возможно, можно начать с этого:
https://linkmeup.ru/blog/11.html

А так очень рекомендую пройти (или найти в интернете) курсы сетевой академии Cisco. В частности Cisco CCNA. Я 10 лет назад проходил на английском, курсы хороший фундамент дают в области сетей. С этого начался мой путь в IT. С 2020 года, вроде как курс выходит на русском.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
firedragon
@firedragon
Senior .NET developer
google ethernet frame rfc
вопрос на самом деле крутой, так что успехов
Ответ написан
fzfx
@fzfx
18,5 дм
> нажимаю enter он отправляется на роутер
он отправляется первым делом на матрицу коммутации подключённого с противоположной стороны кабеля устройства: роутер это или коммутатор - не принципиально. главное - что речь не о сети из двух компов.
> ,роутер ищет в подключениях такой же mac адрес
встроенный в роутер коммутатор ищет
>не находит ,роутер по патчкорду отправляет кадр на свитч на чердаке
встроенный в роутер коммутатор рассылает полученный ethernet-кадр далее по всем своим портам, к которым что-либо подключено, кроме того порта, с которого пришёл кадр, и, учитывая, что коммутатор не сам по себе, а в составе роутера, то ещё и кроме портов, которые в настройках роутера отнесены к другим широковещательным сегментам (т. е. к другой сети, к другому VLAN).
> ,свитч тоже не находит.куда перенаправляет свитч и как перенаправляет история умалчивает.
туда же, куда и в случае с коммутатором в роутере - на все порты, кроме порта-источника и портов, относящихся к другим VLAN (если свитч управляемый и поддерживает разбиение портов по VLAN). таким образом ethernet-кадр, будет распространятся по всей локальной сети от коммутатора к другим коммутаторам (и компам), и на каждом из них будет повторяться одна и та же процедура: при наличии в коммутаторе записи, соотносящей MAC-адрес назначения из кадра с каким-то портом коммутатора, кадр будет перенаправлен в этот порт, а при отсутствии такой записи - во все порты сразу, кроме порта-источника. если в этой локальной сети действительно есть комп с таким MAC-адресом - то кадр в конце-концов до него дойдёт, а если нету - кадр будет в итоге утерян.
> есть размытое объяснение что свитч перенаправляет его на какой то другой маршрутизатор районного далее городского уровня и т.д. перенаправляет вроде бы по wan сети но там скорость до 56 кбит/с а мне роутер выдает 100мб/с.
тут уже начинаются привирушки со стороны того, кто вам дал размытое объяснение.
если, как вы в самом начале упомянули, "есть какой то пакет езернета у которого есть какой то мак адрес получателя", то за предел локальной сети (т. е. через роутер) он не выберется. роутер, как и любое другое устройство уровня L3 (работающее с IP-адресами), принимает со своего встроенного коммутатора только кадры, MAC-адрес назначения в которых совпадает с MAC-адресом роутера, и отбрасывает все остальные. так что ни в какую другую сеть ваш кадр не попадёт, пока не переписать вами сказанное на "есть какой то пакет езернета у которого в качестве мак адреса получателя указан MAC роутера". вот в этом случае кадр попадёт на роутер, который извлечёт из него IP-адрес назначения и на основании своей таблицы маршрутизации направит его в одну из подключенных к нему сетей, подменив при этом MAC назначения на MAC роутера этой новой сети (т. е. того роутера в этой новой сети, на который он шлёт кадр), или прибьёт.
> хотелось бы послушать что происходит дальше
про то, что дальше в варианте "какой то MAC", я указал выше: не далее как в пределах одной локальной сети.
а если MAC указан правильный (а за это отвечает таблица маршрутизации компа, с которого отсылается пакет в начале), всё это повторяется какое-то кол-во раз в зависимости от длины маршрута, его правильности и наличия проблем в сети: с каждого нового роутера кадр шлётся на MAC следующего роутера, проходит через свитчи, и если нигде нет обрыва или иной неисправности, добирается до следующего роутера, на котором, в зависимости от IP-адреса назначения, роутер выбирает следующую сеть и меняет MAC назначения, или прибивает кадр, если в его таблице маршрутизации отсутствует маршрут до этого IP-назначения.
на литературу вам уже вроде скинули ссылок. там вы прочтёте и про все остальные возможные ситуации, такие как широковещательные кадры, зарезервированные мультикаст-адреса, другие зарезервированные адреса, ARP-кеш, ARP-прогрев, ARP-проксирование, различные вариации стандартов Ehternet-кадров и много чего ещё - общую схему я описал, но из неё есть эти и другие исключения.
Ответ написан
@DDwrt100
механизм выглядит так:
При нажатии клавиши формируется пакет данных, там есть поля source и destination ip.
Далее сетевая подсистема смотрит находится ли destination ip в моей подсети (вообще вначале она смотрит принадлежит ли ip мне, но не важно). Если dst ip находится в подсети, компьютер обращается к своей arp таблице и смотрит за каким mac адресом dstip. и далее шлет на этот мак адрес. Если в arp нет искомого хоста, шлется broadcast сообщение кто здесь имеет dstip. Если ответили, то запись пишется в arp таблицу и далее по накатанной.

Если удаленный хост находится вне подсети компьютера, то хост проверяет свою таблицу маршрутизации есть ли у меня маршрут на эту подсеть. В большинстве случаев на хосте прописывается default gateway, он из себя представляет по сути маршрут 0,0,0,0/0 via ip_address_router. Далее происходит передача пакета как в первом случае до маршрутизатора. Маршрутизатор смотрит какой его маршрут наиболее близко подходит под dstip и шлет туда пакет по таким же правилам, как с хостом.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы