
У нас есть сеть со сложным сетевым обменом. Для меня это сложно, потому что я хочу понять, как это работает. Вот подробности:
- Macbook
A
подключен к шлюзу через Ethernet и предоставляет доступ к подключению MacbookB
по Wi-Fi. - Macbook
B
подключен к Wi-Fi с MacbookA
и использует подключение к ПК с WindowsC
через Ethernet. - Ноутбук Windows,
D
подключенный к Wi-Fi к MacbookA
.
Так что я совсем запутался в этой сети. Как это работает?
- Как каждой системе присваиваются IP-адреса?
- Как узнать, какая система находится в какой сети и какие компьютеры могут получить доступ к каким другим компьютерам?
- Каким образом сетевой ответ достигает нужного адресата?
решение1
Существует два типа «общего доступа к Интернету» (могут быть и другие типы, но я упрощаю для ясности):
Мостэто технология, которая по сути подключает компьютер к существующей локальной сети (LAN) с помощьюхозяинподключение компьютера к Интернету какшлюзквпередпакеты в локальную сеть. В конфигурации моста компьютеру(ам), которые подключаются к мосту, назначаются IP-адресав той же подсети (LAN), к которой подключен хост-компьютер. Например, если бы Macbook
A
был мостовым шлюзом с IP-адресом 192.168.1.2, MacbookB
мог бы присоединиться к мостовой сети и получить 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, и перенаправляет трафик «вверх по течению» в общедоступный Интернет, что можно назвать NAT0
или NAT самого высокого уровня, поскольку он охватывает все общедоступные IP-адреса в мире. - Macbook
A
создает NAT2
, например, 192.168.1.x, и перенаправляет трафик «вверх по течению» к NAT1
- Macbook
B
создает NAT3
, например, 192.168.2.x, и перенаправляет трафик «вверх по течению» к NAT2
- ПК с Windows
C
подключается к NAT3
, а ноутбук с WindowsD
подключается к NAT2
В общем случае, без специальных конфигураций переадресации портов,входящийсоединения (подключения к службам прослушивания) могут быть сделаны тольковверхцепочка NAT, а невнизэто.
Например, компьютер, такой как ноутбук Windows D
, который находится внутри NAT 2
, может напрямую получить доступ к HTTP (веб) или SMB (файл) серверу на любом компьютере внутри NAT 2
, NAT 1
или NAT 0
(Интернет). Но он не может получить доступ ни к чему на NAT, 3
поскольку он не виден или не маршрутизируется к нему.
Поскольку я не знаю подробностейкак именноваши интернет-соединения являются общими, я не знаю наверняка, есть ли у вас столько NAT на самом деле. Если один или несколько компьютеров на самом деле создаютмоста неНАТ, то количество NAT уменьшается, и сложность сети уменьшается. Например, если Macbook A фактически соединяет все устройства под ним в сеть маршрутизатора, то структура NAT «схлопывается» на один уровень следующим образом:
- Маршрутизатор или кабельный модем создает NAT
1
, например, 192.168.0.x, и перенаправляет трафик «вверх по течению» в общедоступный Интернет, что можно назвать NAT0
или NAT самого высокого уровня, поскольку он охватывает все общедоступные IP-адреса в мире. - Macbook
A
— это мост, который перенаправляет трафик «вверх по течению» к NAT1
- Macbook
B
создает NAT2
, например, 192.168.1.x, и перенаправляет трафик «вверх по течению» к NAT1
- ПК с Windows
C
подключается к NAT2
, а ноутбук с WindowsD
подключается к NAT1
В этом случае Macbook A будет иметь IP-адрес в диапазоне 192.168.0.x, Macbook B будет иметь IP-адрес в диапазоне 192.168.0.x (исоздаватьдиапазон 192.168.1.x), а Windows PC C
будет иметь IP-адрес в диапазоне 192.168.1.x. Это на один уровень косвенности меньше.
Итак, как вы видите, чем больше у вас NAT, тем более изолирована ваша сеть, и тем сложнее инициировать соединения с одного компьютера на другой. Самая однозначная сеть для одноранговой связи между компьютерами в сети — настроить их все пододинNAT, и естьвсекросс-компьютерные коммуникации включаютмости не маскировка. Единственное устройство, которое будет делать маскировку, в идеале, это последний компьютер/устройство перед самим публичным Интернетом, который обычно является кабельным модемом, маршрутизатором или DSL-модемом какого-либо типа. Это поместит все устройства в одну и ту же IP-подсеть, например 192.168.0.x, и они смогут напрямую пинговать друг друга и получать доступ к службам на каждом ящике без проблем.
Если вы запутались, вот наглядная аналогия.
У вас есть два мыльных пузыря. Они сталкиваются друг с другом.
Если этоМост, два мыльных пузыря сливаются в один, больший пузырь.
Если этоМаскировка, один мыльный пузырь оказывается заключенным внутри другого (как если бы вы рисовали круг внутри другого круга на бумаге). Этот «внутренний» пузырь обладает особым свойством, заключающимся в том, что связи могут быть инициированы изнутри пузыря, направленные в любое местоснаружипузырь; но, связи не могут прийти извне внутреннего пузыря, в точку внутри этого пузыря. Ну, ониможет, но это называется переадресацией портов и требует специальной ручной настройки или, в качестве альтернативы, таких технологий, как UPnP (которая часто считается небезопасной и отключаемой).
решение2
Обычно с Windows Network Sharing компьютер, который делится своим доступом, действует как простой шлюз, в то время как все клиенты имеют автоматическую настройку для маршрутизации всех IP-пакетов на этот шлюз по умолчанию. Вы можете воссоздать эту автоматическую настройку с помощью route add
командной строки.
Шлюзовому компьютеру принудительно назначается фиксированный IP-адрес в этой автоматической конфигурации на адаптере, который обеспечивает общий доступ и запускает простую службу DHCP для предоставления конфигурации IP и DNS «клиентам».
Более подробная информация доступна вСобственное описание этой функции корпорацией Microsoft.