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


36

Я нахожусь в компьютерном лагере, и я заметил, что каждое устройство, подключенное к сети, имеет свой публичный IP-адрес, что меня очень удивило. Еще более странным является то, что их публичные IP-адреса точно такие же, как и их частные IPv4-адреса. Как это возможно?


1
Доказательство не то, что интересно, но факты, которые вы могли бы предоставить, возможно, позволят нам прояснить вашу ситуацию. Как вы определяете публичный IP и как он выглядит?
Джули Пеллетье

87
Вот как Интернет был разработан для работы и как он (надеюсь) снова будет работать в IPv6.
user253751

13
Их публичные и частные адреса IPv4 не могут быть одинаковыми. Возможно, вы ошибочно заключили, что у них есть частный IPv4-адрес, когда у них вообще нет личного адреса.
Дэвид Шварц

3
@FlareCat: Очевидно, что для крупных сайтов, таких как Google.com, большинство их пользователей сейчас используют IPv6. Строго говоря, это не означает, что они подключаются напрямую, но поскольку компании получают адреса IPv6 на миллиарды, очевидно, что каждый пользователь IPv6 может иметь свой собственный адрес IPv6.
MSalters

3
@FlareCat представьте, что каждый раз, когда вы звоните кому-то на другого оператора связи, вместо того, чтобы иметь его прямой номер, у вас есть только номер большого «коммутатора» у оператора. Вы должны сказать им, чтобы перенаправить ваш звонок этому человеку вручную. И когда вы получаете звонок, вы видите только номер коммутатора, а не прямой номер абонента (потому что его нет). Это именно то, что происходит с IPv4 и NAT (ваш маршрутизатор становится коммутатором), и с ним очень трудно работать. IPv6 позволил бы каждому компьютеру иметь «прямой номер», так что больше никаких глупостей с NAT.
Андре Бори

Ответы:


63

Они владеют диапазоном IP-адресов и используют диапазон для прямого подключения к WAN (Интернет) вместо того, чтобы прятаться за NAT (преобразование сетевых адресов). По сути, NAT был создан для сред, в которых не хватает общедоступных IP-адресов для всех машин в сети, поэтому все они могут скрываться за пулом (одного или нескольких) общедоступных IP-адресов. Если у вас есть хотя бы один публичный IP-адрес для каждой машины, тогда использование NAT является вопросом выбора.


32
Вам не нужно быть провайдером для этого. Многие старые компании имеют оригинальные IP-назначения; У HP до раскола было 48 миллионов адресов IPv4!
MSalters

3
Вы правы. Я упомянул провайдера, потому что он сказал, что провайдер держит лагерь.
NetwOrchestration

5
Если я правильно помню, MIT (как в mit.edu) имеет или имел больший блок IP-адресов, чем Китай.
Ti Strga

2
@TiStrga: См. Адресное пространство IANA IPv4 или Карту Интернета xkcd 2006 года, чтобы узнать о назначениях , выполненных «дедушкой», включая «Класс A» (сейчас / 8) для MIT, Ford и т. Д.
благодарность

2
@HorusKol: Это глупый способ написать «а / 26 и а / 28».
grawity

19

В старые времена (до появления Общественного Интернета в 1991 году ) такие технологии, как NAT, не были распространены, и большинство операторов не использовали адреса RFC1918 . Они не делят Интернет на публичные и частные пространства, как это обычно делают сегодня.

В первые дни компании захватывали огромные блоки публичных IP-адресов, резервируя целые сети / 8, состоящие из 16 777 216 дискретных адресов в каждой. Департамент обороны США владеет 13 такими блоками. Смотрите здесь для известных владельцев / 8 блоков: https://en.wikipedia.org/wiki/List_of_assigned_/8_IPv4_address_blocks#List_of_assigned_.2F8_blocks

Прошло много лет с тех пор, как блоки такого размера стали доступны новым владельцам регистрации из -за истощения адресного пространства IPv4 , поэтому требовались такие технологии, как сети NAT и RFC1918, чтобы ограничить количество общедоступных IP-адресов, необходимых для доступа к сети. Однако крупные организации все еще держат свои блоки, поэтому они могут сами использовать их или сдавать в аренду другим.


почему некоторые сетевые инженеры говорят, что NAT - плохая идея?
Celeritas

1
NAT более сложен и ограничивает видимость между узлами. В конечном счете, преимущества намного перевешивают затраты для большинства людей. Я не думаю, что они ответственно скажут, что это «плохая идея», потому что Интернет продолжает работать, несмотря на истощение адресов, но я думаю, что большинство скажет, что NAT неоптимален с их точки зрения. Очень немногие инженеры обеспокоены конфигурацией домашнего маршрутизатора, и именно здесь NAT имеет наибольшее преимущество. У нас не было бы маршрутизаторов, которые не-айтишники могли бы просто распаковать, подключить и запустить, если бы не комбо SPF + NAT + RFC1918.
Фрэнк Томас

18

Так должен работать интернет.

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

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


6
Это абсолютно верно, но я не собираюсь отказываться от преимуществ Statefull Packet Firewalling + NAT + RFC1918, даже если все используют IPv6. Для меня нет никаких преимуществ в том, чтобы мои детские компьютеры были напрямую доступны через Интернет в целом и передавали свои аппаратные идентификаторы (MAC-адреса) всему миру.
Фрэнк Томас

2
@FrankThomas Мне нравится удобство адресации RFC1918 в том, что оно переносимо (если я перехожу к другому провайдеру, мне не нужно переименовывать все), но в остальном я считаю, что NAT - это большая рутинная работа. У меня есть (относительно) небольшой блок IPv6, поэтому он также легко переносим. Конечно, ничто не мешает кому-либо использовать общедоступные адреса IPv4 или v6 с вышестоящим межсетевым экраном с отслеживанием состояния без NAT или использовать IPv6-адреса, не производные от MAC. Я делаю это со всеми моими системами IPv6, и это хорошо работает.
Heypete

4
@FrankThomas 'маршрутизируемый' не означает достижимый. Используйте брандмауэр. Кроме того, вам не нужно вставлять MAC в адрес ipv6, если вы используете то, что называется адресацией конфиденциальности: superuser.com/questions/243669/…
Sirex

5

Их единственный предел в количестве IP-адресов, которыми они владеют. Общедоступные адреса, скорее всего, настроены в их маршрутизаторе и маршрутизируются на основе локальных адресов.

Из-за нехватки адресов IPv4 очень редко можно тратить столько общедоступных адресов, но я подозреваю, что они, вероятно, распределяют нагрузку между ними по соображениям производительности сети и безопасности. Это можно сделать с помощью таблицы маршрутизации маршрутизатора или правил брандмауэра (или их комбинации).

В определенных схемах сети используемый публичный IP-адрес может со временем меняться.


4
Не уверен насчет «траты» публичных IP-адресов. Наличие хотя бы одного общедоступного IP-адреса на устройство вполне нормально, если у вас достаточно диапазона адресов. Использование адресов RFC1918 (и / или NAT) - отвратительный взлом, и избегать его использования всегда, когда это возможно, хорошо.
Hennes

Не уверен, на какой планете вы были последние 10 лет, но, за исключением серверов, большинство общедоступных IP-адресов теперь имеют NAT из-за нехватки, которая началась примерно в 2000 году.
Джули Пеллетье

4
Большинство вновь выделенных IP-адресов для жилых и малых предприятий имеют NAT. Многие организации, которые получили блоки классов A или B, не испытывают недостатка в IP и не нуждаются в экономии, даже если в глобальном масштабе такой дефицит существует. Даже в старшей школе моего сына были общедоступные IP-адреса для всех устройств, включая ноутбуки BYO, из-за того, что его «провайдером» был местный государственный университет, в котором не было недостатка в IPv4-адресах.
user4556274

2
Именно поэтому мы [начали] переходить на IP v6 с последних двух десятилетий. И да, я знаю, что их мало в эти дни. Получить еще 8 только для домашнего использования может быть немного трудно в эти дни. Вот почему NAT является несущественным злом для многих людей. Но для тех, у кого есть / 16 на работе и несколько статических IP-адресов дома, возможность избежать NAt - это хорошо.
Hennes

1
@ user4556274 Хех, у меня все еще есть серверы в моем старом универе. В компьютерном клубе университета у нас было два / 24 блока для игры. (Uni имел / 16). Много для старых парней, которых мы получили там первыми. И много v6 для новых людей.
Hennes

3

Компьютер не может иметь один и тот же общедоступный и частный IPv4-адрес. Это либо частный IP-адрес, который (согласно RFC1918 ) находится в диапазоне 192.168.xxx.xxx, 172.16.xxx.xxx или 10.xxx.xxx.xxx, либо публичный IP-адрес, который является любым другим адресом.

РЕДАКТИРОВАТЬ: Да, я знаю, что вы можете использовать общедоступные IP-адреса в вашей локальной сети. Однако никто этого не делает из-за стандартов и того факта, что вы не сможете получить доступ к этим адресам в Интернете. Я также знаю, что существуют другие адресные пространства, кроме публичного и частного, но, опять же, никто не использует их, и поэтому вы их не встретите.

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

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


Вероятно, стоит отметить, что можно также использовать любой старый блок публичных адресов в вашей локальной сети. Вы просто не сможете достичь «настоящего» в интернете, делая это. Я работал в компании, которая сделала это. Это было не красиво. Не делай этого.
Sirex

@Sirex Да, я знаю. Было около двадцати комментариев к этому ответу, обсуждающих это. Как-то все они были удалены, хотя. Я внесу изменения в ответ, чтобы подтвердить это.
theJack

Конечно, никто не подключается к Интернету, используя (общедоступные) IP-адреса , которые назначаются кому-то другому . Если это то, о чем идет речь во втором абзаце, это далеко не ясно. И если это не то , о чем говорится в вашем втором абзаце, то что вы говорите «никто не делает»? Потому что в третьем и четвертом параграфах говорится, что в вашей локальной сети вполне возможно использовать общедоступные IP-адреса. PS Ваш третий и четвертый абзацы, кажется, говорят почти одно и то же; то есть они кажутся излишними.
Скотт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.