Существует два типа "общего доступа в Интернет" (могут быть и другие типы, но для упрощения я упрощаю):
Мостовое соединение - это технология, которая в основном переводит компьютер в существующую локальную сеть (ЛВС), используя интернет-соединение хост- компьютера в качестве шлюза для пересылки пакетов в ЛВС. В мостовой конфигурации компьютерам, подключенным к мосту, назначаются 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 (который часто рассматривается как небезопасный и отключенный).