У нас есть сеть со сложным сетевым обменом. Это сложно для меня, потому что я хочу понять, как это работает. Вот подробности:

  1. Macbook A подключен к шлюзу через Ethernet и использует подключение к Macbook B через Wi-Fi.
  2. Macbook B подключен к Wi-Fi через Macbook A и использует подключение к ПК с Windows C через Ethernet.
  3. Windows-ноутбук D подключен к Wi-Fi с Macbook A

Так что я очень запутался с этой сетью. Как это работает?

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

2 ответа2

5

Обычно с Windows Network Sharing компьютер, который совместно использует свой доступ, действует как простой шлюз, в то время как все клиенты имеют автоматическую конфигурацию для маршрутизации всех IP-пакетов на этот шлюз по умолчанию. Вы можете воссоздать эту автоматическую настройку с помощью route add в командной строке.

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

Более подробная информация доступна в собственном описании Microsoft этой функции.

5

Существует два типа "общего доступа в Интернет" (могут быть и другие типы, но для упрощения я упрощаю):

  • Мостовое соединение - это технология, которая в основном переводит компьютер в существующую локальную сеть (ЛВС), используя интернет-соединение хост- компьютера в качестве шлюза для пересылки пакетов в ЛВС. В мостовой конфигурации компьютерам, подключенным к мосту, назначаются IP-адреса в той же подсети (LAN), к которой подключен главный компьютер. Например, если Macbook A был мостовым шлюзом с IP-адресом 192.168.1.2, Macbook B мог бы подключиться к мостовой сети и получить IP-адрес, такой как 192.168.1.3. Они будут "находиться в одной подсети", как если бы вы физически подключили кабель Ethernet к маршрутизатору или к тому, какой компьютер / устройство "владеет" (хостами) локальной сети.

  • Маскарадинг - это технология, которая, по сути, составляет основу того, что представляет собой локальная сеть. Терминология туманная, и есть много терминов, относящихся к одному и тому же. По сути, термины "NAT" (преобразование сетевых адресов), «IP-маскарадинг» и "LAN" (локальная сеть) используют один и тот же набор технологий. Основная идея заключается в том, что компьютер, на котором размещается NAT, называется маршрутизатором или шлюзом, и этот маршрутизатор / шлюз определяет частную подсеть, например, 192.168.1.x или 192.168.0.x (среди прочих), которые другие компьютеры могут подключаться к. Когда шлюз связывается в восходящем направлении (с другим NAT, под которым находится сам шлюз, или с самим общедоступным Интернетом), он преобразует IP-адреса компьютеров, подключенных к его NAT, в свой собственный IP-адрес, по сути говоря, от имени этих компьютеров и из Интернета или вышестоящего NAT.

Локальные сети (NAT или частные подсети) могут быть вложенными, что означает, что вы можете иметь длинную цепочку NAT. Например, если каждый из ваших компьютеров, подключенных к Интернету, использует маскарадинг, а не просто создает мост, тогда вы можете создать структуру NAT следующим образом:

  • Маршрутизатор или кабельный модем создает NAT 1 , который, скажем, 192.168.0.x, и перенаправляет трафик "в восходящем направлении" в общедоступный Интернет, который можно было бы назвать NAT 0 или NAT самого высокого уровня, поскольку он охватывает все общедоступные IP-адреса. в мире
  • Macbook A создает NAT 2 , например, 192.168.1.x, и перенаправляет трафик "в восходящем направлении" к NAT 1
  • Macbook B создает NAT 3 , который, скажем, 192.168.2.x, и перенаправляет трафик "восходящий" на NAT 2
  • Windows PC C подключается к NAT 3 а ноутбук Windows D подключается к NAT 2

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

Например, компьютер, такой как ноутбук D Windows, который находится в NAT 2 , может напрямую обращаться к серверу HTTP (Интернет) или SMB (Файл) на любых компьютерах в пределах NAT 2 , NAT 1 или NAT 0 (Интернет). Но он не может получить доступ к чему-либо в NAT 3 потому что он не виден и не маршрутизируется для него.

Поскольку я не знаю деталей того , как именно ваши интернет-соединения являются общими, я точно не знаю, что у вас на самом деле есть такое количество NAT. Если один или несколько компьютеров фактически создают мост, а не NAT, то количество NAT уменьшается, а сложность сети уменьшается. Например, если Macbook A фактически соединяет все устройства под ним в сети маршрутизатора, то структура NAT "сворачивается" на один уровень следующим образом:

  • Маршрутизатор или кабельный модем создает NAT 1 , который, скажем, 192.168.0.x, и перенаправляет трафик "в восходящем направлении" в общедоступный Интернет, который можно было бы назвать NAT 0 или NAT самого высокого уровня, поскольку он охватывает все общедоступные IP-адреса. в мире
  • Macbook A является мостом и перенаправляет трафик "вверх по течению" к NAT 1
  • Macbook B создает NAT 2 , который, скажем, 192.168.1.x, и перенаправляет трафик "восходящий" на NAT 1
  • Windows PC C подключается к NAT 2 а ноутбук Windows D подключается к NAT 1

В этом случае Macbook A будет иметь IP-адрес в диапазоне 192.168.0.x, Macbook B будет иметь IP-адрес в диапазоне 192.168.0.x (и создать диапазон 192.168.1.x), а ПК с Windows C будет иметь IP-адрес в диапазоне 192.168.1.x. Это на один уровень косвенности меньше.

Итак, как вы можете видеть, чем больше у вас NAT, тем более изолирована ваша сеть и тем сложнее инициировать соединения с одного компьютера на другой. Самая однозначная сеть для одноранговой связи между компьютерами в сети состоит в том, чтобы настроить их все под одним NAT, и при этом вся связь между компьютерами включает мостовые соединения, а не маскировку. Единственное устройство, которое в идеале будет маскироваться, - это самый последний компьютер / устройство перед самим публичным Интернетом, обычно это кабельный модем, маршрутизатор или DSL-модем. Это поместило бы все устройства в одну IP-подсеть, такую как 192.168.0.x, и они могли бы напрямую пинговать друг друга и беспрепятственно получать доступ к службам на каждом блоке.

Если вы запутались, вот визуальная аналогия.

У вас есть два мыльных пузыря. Они сталкиваются друг с другом.

Если это мост, два мыльных пузыря сливаются в один большой пузырь.

Если это маскарад, один мыльный пузырь будет заключен в другой (например, нарисовать круг внутри другого круга на бумаге). Этот "внутренний" пузырь обладает особым свойством, что соединения могут быть инициированы изнутри пузырька, предназначенного для чего-либо за пределами пузыря; но связи не могут прийти извне внутреннего пузыря, в точку внутри этого пузыря. Ну, они могут, но это называется переадресацией портов, и для этого требуется специальная, ручная настройка или, альтернативно, такие технологии, как UPnP (который часто рассматривается как небезопасный и отключенный).

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