Предположим, что есть настройка, как показано ниже:

                                  ------
                                -INTERNET-
                                  ------
                                     |
                                     |
                                     |
                                     | 
                                ___(ETH1)___ 
                               |            |
(SUBNET 1)---------------(ETH0)|   ROUTER   |(ETH2)---------------(SUBNET 2)
                               |____________|
                                   (ETH3)
                                      |
                                      |
                                      |
                                      |
                                  [SWITCH]
                                   /  |  \
                                  /   |   \
                                 /    |    \
                                /     |     \
                             PC#1    PC#2   PC#3

Мои первые вопросы касаются роутера. У меня сложилось впечатление, что каждый интерфейс маршрутизатора имеет свой собственный IP-адрес и маску подсети, которые предоставляются им интернет-провайдером. Например, ETH3 может иметь IP: 192.168.1.20/24. Это означает, что сетевой идентификатор (идентификатор подсети) равен 192.168.1, и, следовательно, все серверы в подсети, подключающейся к интерфейсу ETH3, будут иметь IP-адреса вида 192.168.1.XX. Все ли это правильно?

Далее, я немного не уверен, как маршрутизировать пакет из Интернета, скажем, на ПК № 3. Предположим, что ПК № 3 имеет IP 192.168.1.45 и отправляет запрос на www.facebook.com. Правильно ли следующее? ПК № 3 является частью подсети 192.168.1 (которая подключается к интерфейсу ETH3 192.168.1.20). Итак, www.facebook.com видит, что запрос сделан из 192.168.1.20 (интерфейс ETH3). Он отправляет ответ на этот запрос, который в конечном итоге направляется на ETH1, а затем на ETH3. Наконец, когда ответ достигает коммутатора, коммутатор считывает MAC-адрес в заголовке пакета ответа и видит, что ПК № 3 сделал запрос. Таким образом, он отправляет пакет на ПК № 3.

Если это правильно, меня немного смущает вопрос о том, почему ПК № 3 должен иметь собственный IP-адрес, если единственная информация, используемая для передачи пакета с www.facebook.com на ПК № 3, IP-адрес интерфейса маршрутизатора, к которому подключен ПК, + MAC-адрес ПК.

Наконец, у меня есть вопрос об интерфейсах Ethernet. Являются ли ETH0, ETH1 и т.д. Просто общими именами для портов Ethernet? Итак, если мой ноутбук имеет порт Ethernet, это также будет часто называться ETHO? В том же духе порты коммутатора Ethernet также перечисляются таким же образом (ETH0, ETH1, ETH2).

Любое разъяснение по этому вопросу будет принята с благодарностью. Спасибо!

4 ответа4

3

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

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

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

ETH3 может иметь IP: 192.168.1.20/24. Это означает, что сетевой идентификатор (идентификатор подсети) равен 192.168.1, и, следовательно, все серверы в подсети, подключающейся к интерфейсу ETH3, будут иметь IP-адреса вида 192.168.1.XX. Все ли это правильно?

Это также означает, что вы получаете "свободный" маршрут с прямым подключением, основанный на назначении IP/ маски подсети - маршрутизатор знает, что он может достичь 192.168.1.XX через ETH3, поэтому запись будет помещена в таблицу маршрутизации просто из-за этого факта.

Далее, я немного не уверен, как маршрутизировать пакет из Интернета, скажем, на ПК № 3.

  • ПК № 3 хочет поговорить с facebook.com
  • ПК № 3 выдает DNS-запрос и находит адрес на facebook.com
  • ПК № 3 использует локальный стек TCP/IP для связи с facebook.com.
  • Стек TCP/IP просматривает таблицу локальной маршрутизации, чтобы узнать, соответствует ли IP-адрес facebook.com каким-либо маршрутам.
  • Поскольку ПК № 3 является стандартным ПК, его таблица маршрутизации, вероятно, будет довольно простой и будет выглядеть так (упрощенно):
    • 127.0.0.1/8 через виртуальный интерфейс localhost
    • 192.168.3.0/24 через местный сетевой адаптер.
    • Шлюз по умолчанию, который должен быть IP-адресом маршрутизатора (который ДОЛЖЕН быть 192.168.3.XXX/24 адрес в той же подсети, что и ПК № 3).
  • Стек TCP/IP попытается найти соответствующий маршрут и, если он не найден, отправит трафик на шлюз по умолчанию, если он существует. Поскольку IP-адрес facebook.com не будет совпадать ни с одним из этих маршрутов, ПК № 3 отправит трафик на шлюз по умолчанию.
  • Маршрутизатор получает трафик на eth3 .
  • Стек TCP/IP маршрутизатора сверится с таблицей маршрутизации, чтобы узнать, сможет ли он найти подходящее место назначения. Он делает то же самое, что и ПК. Однако таблица маршрутизации маршрутизатора будет выглядеть примерно так (в качестве примера я составил адреса для других интерфейсов):
    • 192.168.0.0/24 через eth0
    • 192.168.2.0/24 через eth2
    • 192.168.3.0/24 через eth3
    • Шлюз по умолчанию через eth1
  • Стек TCP/IP маршрутизатора просматривает таблицу маршрутизации, чтобы определить, соответствует ли IP-адрес facebook.com каким-либо маршрутам, и, если он не найден, отправит трафик на шлюз по умолчанию, если он существует. Поскольку IP-адрес facebook.com не будет совпадать ни с одним из этих маршрутов, ПК № 3 отправит трафик на шлюз по умолчанию.
  • eth1 должен быть настроен NAT, поэтому в этот момент NAT изменяет адрес источника так, чтобы он выглядел так, как будто он получен от eth1 и запоминает этот факт для получения ответа.

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

... Я немного озадачен тем, почему ПК № 3 должен иметь собственный IP-адрес.

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

Наконец, у меня есть вопрос об интерфейсах Ethernet. Являются ли ETH0, ETH1 и т.д. Просто общими именами, данными для портов Ethernet

Схема ethX - это просто соглашение - по умолчанию Linux назовет первый, который видит eth0 , следующий eth1 и так далее. Имена назначаются udev или systemd и сохраняются по MAC-адресу. Имя может быть изменено на что угодно.

0

Ваш провайдер дает вам 1 IP-адрес (будь то статический или динамический). Обычно это назначается вашему роутеру. Остальные ваши устройства обычно получают NAT-версии этого IP-адреса. Вы можете прочитать больше о NAT на веб-сайте Ciscos - они дают довольно хорошее объяснение того, как он работает: http://www.cisco.com/c/en/us/support/docs/ip/network-address-translation-nat/26704-nat-faq-00.html

По сути, у PC3 нет собственного глобального IP-адреса, у него есть только уникальный IP-адрес в собственной сети.

Что касается вашего порта Ethernet - имя дается интерфейсом адаптера, это полностью зависит от производителя и драйверов. Обычно они называются такими вещами, как «Подключение по локальной сети».

0

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

Только внешний интерфейс WAN (в данном случае ETH1) будет иметь (внешний / публичный) IP-адрес, назначенный Интернет-провайдером. Другие интерфейсы будут иметь настроенный вручную (внутренний / частный) IP-адрес (в данном конкретном случае).

Например, ETH3 может иметь IP: 192.168.1.20/24. Это означает, что сетевой идентификатор (идентификатор подсети) равен 192.168.1, и, следовательно, все серверы в подсети, подключающейся к интерфейсу ETH3, будут иметь IP-адреса вида 192.168.1.XX. Все ли это правильно?

Правильно, даже если идентификатор подсети будет 192.168.1.0, если быть точным. http://www.cisco.com/c/en/us/support/docs/ip/routing-information-protocol-rip/13788-3.html

ПК № 3 является частью подсети 192.168.1 (которая подключается к интерфейсу ETH3 192.168.1.20). Итак, www.facebook.com видит, что запрос сделан из 192.168.1.20 (интерфейс ETH3). Он отправляет ответ на этот запрос, который в конечном итоге направляется на ETH1, а затем на ETH3. Наконец, когда ответ достигает коммутатора, коммутатор считывает MAC-адрес в заголовке пакета ответа и видит, что ПК № 3 сделал запрос. Таким образом, он отправляет пакет на ПК № 3.

Нет, facebook.com будет видеть запрос с вашего внешнего IP-адреса (тот, что на интерфейсе ETH1). Поскольку частные IP-адреса не маршрутизируются в общедоступной сети Интернет, частный IP-адрес ПК (192.168.1.x) «транслируется» на общедоступный / внешний IP-адрес с помощью процесса, известного как преобразование сетевых адресов (NAT). Маршрутизатор отслеживает эти трансляции в так называемой таблице NAT, поэтому он знает, откуда поступил запрос и куда отправить ответ с сервера. http://www.cisco.com/c/en/us/support/docs/ip/network-address-translation-nat/26704-nat-faq-00.html

Если это правильно, меня немного смущает вопрос о том, почему ПК № 3 должен иметь собственный IP-адрес, если единственная информация, используемая для передачи пакета с www.facebook.com на ПК № 3, IP-адрес интерфейса маршрутизатора, к которому подключен ПК, + MAC-адрес ПК.

Поскольку маршрутизаторы не работают с MAC-адресами (уровень 2 модели OSI), они работают с IP-адресами (уровень 3). Маршрутизатор знает, для какого IP-адреса предназначен пакет, и поэтому он перенаправляет пакет на коммутатор, который ищет IP-адрес в своей таблице ARP, чтобы найти соответствующий MAC-адрес, а затем отправляет кадр на соответствующий интерфейс / порт. https://en.wikipedia.org/wiki/OSI_model
https://en.wikipedia.org/wiki/Address_Resolution_Protocol

0

Мои первые вопросы касаются роутера.

Если это роутер ;-)

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

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

У меня сложилось впечатление, что каждый интерфейс маршрутизатора имеет свой собственный IP-адрес и маску подсети,

Да, это так.

оба [интерфейсы маршрутизатора] ... предоставляются им провайдером.

О чем ты говоришь

Вы говорите "оба", но ваша картинка показывает четыре.

И только один из этих 4 имеет IP-адрес от провайдера, хотя даже этот может быть установлен статически, например, если провайдер дает вам статический IP, вы можете получить его по DHCP от провайдера или установить его самостоятельно.

Например, ETH3 может иметь IP: 192.168.1.20/24. Это означает, что сетевой идентификатор (идентификатор подсети) равен 192.168.1, и, следовательно, все серверы в подсети, подключающейся к интерфейсу ETH3, будут иметь IP-адреса вида 192.168.1.XX. Все ли это правильно?

Я думаю, что терминология там правильная или правильная .. (удивительно). Но почему вы говорите "все серверы". Почему вы беспокоитесь о том, является ли компьютер, подключенный к этому интерфейсу, "сервером". (что бы вы ни имели в виду под "сервером" - это двусмысленный термин)

А из книг, которые я прочитал, обычно интерфейсы маршрутизатора имеют тенденцию быть .1 или .2 и т.д., Как правило, адрес подсети равен .0, а интерфейсы маршрутизатора в этой подсети +1 или +2 от этого, например .1 или .2. например, может быть два интерфейса маршрутизатора в подсети.

Далее, я немного не уверен, как маршрутизировать пакет из Интернета, скажем, на ПК № 3. Предположим, что ПК № 3 имеет IP 192.168.1.45 и отправляет запрос на www.facebook.com. Правильно ли следующее? ПК № 3 является частью подсети 192.168.1 (которая подключается к интерфейсу ETH3 192.168.1.20). Итак, www.facebook.com видит, что запрос сделан из 192.168.1.20 (интерфейс ETH3). Он отправляет ответ на этот запрос, который в конечном итоге направляется на ETH1, а затем на ETH3. Наконец, когда ответ достигает коммутатора, коммутатор считывает MAC-адрес в заголовке пакета ответа и видит, что ПК № 3 сделал запрос. Таким образом, он отправляет пакет на ПК № 3.

Ни за что.

Для начала есть NAPT. ака NAT/PAT, который является формой NAT. И следующее будет верно даже без PAT. Если вы зайдете на сайт www.whatismyip.com, вы увидите, что Интернет никогда не увидит IP-адрес, например 192.168.

Вы должны знать, что, прежде чем вы даже знаете, что такое маршрутизатор! И задолго до того, как вы даже знаете, что такое подсеть

Разве вы не заметили, что у множества компьютеров людей есть IP-адреса, такие как 192.168. Вы понимаете, что они столкнутся, если бы все они были в Интернете.

Если это правильно,

Не было

Я немного озадачен тем, почему ПК № 3 в первую очередь должен иметь свой собственный IP-адрес, если единственной информацией, используемой для передачи пакета с сайта www.facebook.com на ПК № 3, является IP-адрес Интерфейс маршрутизатора, к которому ПК подключен + MAC-адрес ПК.

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

И дело в том, что технически вы могли бы выбрать маршрутизатор с 2 портами, одной стороной в Интернете и одной стороной в локальной сети, и коммутатором, и именно таковы "народные маршрутизаторы". И в этой ситуации, технически, теоретически, и они построены не так, а технически ... Если бы TCP/IP были очень разными, вы могли бы покончить с IP-адресами .. в локальной сети. Это просто не будет так эффективно ... в огромной локальной сети. Так как IP-адреса являются иерархическими, а MAC-адреса плоскими. Иерархическое означает, например, вы можете сузить компьютер до подсети, например, сузить человека до страны при отправке письма. Вы можете получить это им быстрее.

Наконец, у меня есть вопрос об интерфейсах Ethernet. Являются ли ETH0, ETH1 и т.д. Просто общими именами для портов Ethernet? Итак, если мой ноутбук имеет порт Ethernet, это также будет часто называться ETHO? В том же духе порты коммутатора Ethernet также перечисляются таким же образом (ETH0, ETH1, ETH2).

Понятия не имею, что вы имеете в виду под "родовым именем",

но, во всяком случае, я не знаю .. Я знаю, что это значит, и я использовал его в Windows, но я не знаю природу этого имени - в частности, в Windows почти никогда не видят такие имена в Windows, но я думаю, что, возможно, программа с именем tcpdump (первоначально * программа nix), но которая имеет версию для Windows, поэтому может запускаться на Windows, называет их так ... так что, возможно, это несколько фундаментально, по крайней мере, каким-то образом (например, как минимум, возможно, один интерфейс равен 0, а один - 1, и т.д., даже если eth0 и eth1 и т. д. - это более терминология * nix и терминология cisco ios, или терминология, не относящаяся к windows, для Windows.

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