Я понимаю, что у нас заканчиваются (или уже закончились?) Адреса IPv4, но я не совсем понимаю, почему это так. Прямо сейчас у каждого дома есть свой собственный адрес IPv4 (назначается динамически, но, тем не менее, у каждого есть адрес). Почему город (например) не может иметь только один IPv4-адрес, и все дома в этом городе будут просто находиться в частной сети этого города? Тогда этот один город сможет назначать адреса от диапазона 0.0.0.1
до 255.255.255.254
.
Я уверен, что мое понимание как-то не так, иначе адреса IPv4 не закончились бы. Что не так с моим пониманием?
Ответы:
Нехватка адресов IPv4
По словам Винта Серфа (отца IP), размер 32-битного адреса IPv4 был выбран произвольно. ИС была совместным экспериментом между правительством и академическими кругами, и существующий публичный Интернет никогда не представлялся. Парадигма IP заключалась в том, что каждое подключенное устройство будет иметь уникальный IP-адрес (все пакеты, отправляемые между IP-устройствами, будут непрерывно подключаться от исходного IP-адреса к IP-адресу назначения), и многие протоколы, использующие IP, зависят от каждого устройства. имея уникальный IP-адрес.
Предполагая, что мы могли бы использовать каждый возможный адрес IPv4 *, существует только 4 294 967 296 возможных адресов IPv4, но (по состоянию на сентябрь 2018 года) нынешняя численность населения мира составляет 7 648 290 361 человек. Как видите, для каждого человека недостаточно IPv4-адресов, чтобы иметь хотя бы один, но у многих есть компьютер, принтер, мобильный телефон, планшет, игровая приставка, Smart TV и т. Д., Для каждого из которых требуется IP-адрес, и это даже не касается бизнес-потребностей в IP-адресах. Мы также находимся на пороге IoT (Интернет вещей), где каждому устройству требуется IP-адрес: лампочки, термостаты, термометры, датчики дождя и спринклерные системы, датчики тревоги, приборы, транспортные средства, устройства открывания гаражных ворот, развлекательные системы, ошейники для домашних животных, а кто знает что еще
* Есть блоки адресов IPv4, которые нельзя использовать для адресации хоста. Например, многоадресная рассылка имеет блок из 268 435 456 адресов, которые нельзя использовать для адресации хоста. IANA поддерживает реестр адресов специального назначения IANA IPv4 по адресу https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml для документирования всех блоков специальных адресов и их целей. ,
IANA (Управление по присвоению номеров в Интернете) исчерпало блоки адресов IPv4 для назначения RIR (региональным интернет-реестрам), которые должны быть назначены в их соответствующих регионах, и RIR теперь также исчерпали адреса IPv4 для назначения в каждом регионе. Интернет-провайдеры (интернет-провайдеры) и компании, которые хотят или нуждаются в адресах IPv4, больше не могут получать адреса IPv4 от своих RIR и теперь должны попытаться купить адреса IPv4 у компаний, которые могут иметь дополнительные (по мере углубления нехватки адресов IPv4 цена на адреса IPv4). Продолжается).
Даже если бы все IPv4-адреса, которые зарезервированы для специальных целей и не могут использоваться для адресации хоста, были доступны для использования, мы все равно были бы в том же положении, потому что просто недостаточно IPv4-адресов из-за ограниченного размера адресов IPv4.
Смягчение нехватки адресов IPv4
IANA и RIR исчерпали бы адреса IPv4 за много лет до того, как они сделали бы, если бы IANA и IETF (Целевая группа по инженерным вопросам интернета) не приняли меры по снижению нехватки адресов IPv4. Одним из важных смягчающих факторов стало устаревание сетевых классов IPv4 в пользу CIDR (бесклассовой междоменной маршрутизации). Классовая адресация допускает только три назначенных размера сети (16 777 216, 65 536 или 256 общих адресов хостов на сеть), а это означает, что многие адреса теряются (для бизнеса, которому требуется только 300 адресов хостов, необходимо выделить классную сеть, в которой имеется 65 536 возможных хостов). адреса, тратить более 99% адресов в классной сети),
Безусловно, наибольшее влияние на продление срока службы IPv4 оказало использование частной адресации и варианта NAT (преобразование сетевых адресов), называемого NAPT (преобразование сетевых адресов), что большинство людей имеют в виду, когда они обратитесь к NAT или PAT (PAT - это термин, определяемый поставщиком для NAPT). К сожалению, NAPT - это уродливый обходной путь, который ломает сквозную парадигму IP и нарушает протоколы, которые зависят от уникальной IP-адресации, требуя еще более уродливых обходных путей.
NAT / NAPT
Концепция NAT довольно проста: он заменяет один или оба IPv4-адреса источника и назначения в заголовке пакета, когда пакет проходит через устройство NAT. На практике это требует вычислений, поскольку заголовок IPv4 имеет вычисляемое поле для проверки целостности заголовка IPv4, а любое изменение, внесенное в заголовок IPv4, требует пересчета поля, а некоторые транспортные протоколы в полезной нагрузке пакета также имеют свои собственные вычисленные значения. поля, которые должны быть пересчитаны с использованием вычислительных ресурсов в устройстве NAT, которые могут использоваться для пересылки пакетов.
В базовом NAT устройство NAT имеет пул IPv4-адресов, которые оно использует для замены исходных IPv4-адресов заголовков пакетов для пакетов IPv4, отправленных из внутренней сети во внешнюю сеть, и поддерживает таблицу трансляции для перевода IPv4-адреса назначения трафика, возвращаемого из внешней сети, чтобы доставить пакеты обратно на правильные хосты во внутренней сети. Это также требует ресурсов на устройстве NAT для создания и поддержки таблицы трансляции, а также для выполнения поиска в таблице. Такое использование ресурсов может замедлить пересылку пакетов, поскольку ресурсы, используемые NAT, берутся из ресурсов, которые можно использовать для пересылки пакетов.
NAPT расширяет Basic NAT, также переводя адреса (порты) транспортного протокола для TCP и UDP и идентификаторы запросов для ICMP. Также путем преобразования адресов транспортного уровня NAPT позволяет использовать один внешний адрес IPv4 для многих внутренних адресов IPv4 хоста. NAPT даже более ресурсоемкий, чем Basic NAT, поскольку для каждого протокола транспортного уровня требуется отдельная таблица, а также он должен выполнять вычисления целостности для транспортных протоколов.
Использование частной IPv4-адресации, которую можно повторно использовать в нескольких сетях (вы, возможно, заметили, что большинство домашних / жилых сетей по умолчанию используют одну и ту же сеть 192.168.1.0/24, которая находится в одном из выделенных IANA диапазонов частных IPv4-адресов) вместе с NAPT позволяет корпоративным и домашним пользователям использовать один внешний (общедоступный) адрес для большой внутренней (частной адресации) сети. Это экономит много-много IPv4-адресов (в несколько раз превышающее общее количество возможных IPv4-адресов) и продлевает срок службы IPv4 далеко за пределы точки, в которой он был бы разрушен без NAPT. У NAPT есть некоторые серьезные недостатки:
Решение проблемы нехватки адресов IPv4
IETF предсказала нехватку адресов IPv4 и создала решение: IPv6, который использует 128-битные адреса, то есть имеется 340 282 366 920 938 463 463 374 607 431 768 211 456 возможных адресов IPv6. Почти невообразимое количество адресов IPv6 устраняет необходимость в NAPT (IPv6 не имеет никаких стандартов NAT, как это делает IPv4, а экспериментальный IPv6 NAT RFC специально запрещает NAPT), восстанавливая первоначальную сквозную парадигму IP. Снижение нехватки адресов IPv4 предназначено для продления срока службы IPv4 до тех пор, пока IPv6 не станет повсеместным, после чего IPv4 должен исчезнуть.
Люди не могут действительно понять числа размера, используемого для IPv6. Например, стандартная сеть IPv6 использует 64 бита для каждой из сетевых и узловых частей сетевого адреса. Это 18 446 744 073 709 551 616 возможных сетей стандарта IPv6 / 64 и такое же (огромное) количество адресов узлов для каждой из этих сетей. Чтобы попытаться понять такое большое число, рассмотрите инструменты, которые сканируют все возможные адреса в сети. Если такой инструмент может сканировать 1 000 000 адресов в секунду (маловероятно), потребуется более 584 542 лет, чтобы выполнить сканирование в одной сети / 64 IPv6. В настоящее время только 1/8 от общего адресного пространства IPv6 выделено для глобальных адресов IPv6, что составляет 2,305,843,009,213,693,952 стандартных сетей IPv6 / 64, и если численность населения мира в 2100 году составит 21 миллиард (несколько реалистичное число), каждый из этих 21 миллиарда человек может иметь 109 802 048 стандартных сетей IPv6 / 64, каждая из которых имеет 18 446 744 073 709 551 616 возможных адресов хоста. К сожалению, (десятилетия) нехватки адресов IPv4 настолько укоренились в сохранении адресов в людях, что многие просто не могут его отпустить, и они пытаются применить его к IPv6, что бессмысленно и фактически вредно. IPv6 на самом деле предназначен для тратить адреса.
У IETF также было преимущество задним числом, и он улучшил IP (в IPv6), удалив функции IPv4, которые не работали хорошо, улучшив некоторые функции IPv4 и добавив функции, которых не было в IPv4, создав новый и улучшенный IP , Поскольку IPv6 является совершенно отдельным протоколом от IPv4, его можно запускать параллельно с IPv4, поскольку выполняется переход с IPv4 на IPv6. Хосты и сетевые устройства могут одновременно запускать IPv4 и IPv6 на одном и том же интерфейсе (с двумя стеками), и каждое из них невидимо для другого; нет никаких помех между двумя протоколами.
Проблема с IPv6 заключается в том, что на самом деле это совершенно другой протокол, который несовместим с вездесущим IPv4, и многие люди считают, что меры по уменьшению нехватки адресов IPv4 являются «достаточно хорошими». Прошло много лет с тех пор, как IPv6 был стандартизирован, и мы только сейчас получаем некоторую реальную популярность в использовании IPv6 (Google сообщает, что по состоянию на сентябрь 2018 года всемирное распространение IPv6 превысило 20%, а уровень внедрения IPv6 в США превысил 35%). Причина, по которой мы, наконец, переходим на IPv6, заключается в том, что просто больше не используются неиспользуемые IPv4-адреса.
Существуют и другие препятствия, являющиеся частью культуры IPv4, которые людям просто трудно заглянуть в прошлое. Многие люди также боятся IPv6, которые выросли и чувствовали себя комфортно с IPv4, бородавками и всем остальным. Например, адреса IPv6 кажутся большими и некрасивыми по сравнению с адресами IPv4, и это, кажется, отталкивает многих людей. Реальность такова, что IPv6 часто проще и более гибок, чем IPv4, особенно для адресации, а уроки, извлеченные из IPv4, были применены к IPv6 с самого начала.
источник
Ответ Рона Мопена дает блестящий обзор нехватки IPv4, но я хотел бы ответить на эту часть вашего вопроса:
На первый взгляд, это именно то, как работает «NAT» (или, более конкретно, «маскировка IP-адреса»): настроена частная сеть, которая смотрит на внешний Интернет как один хост и направляет трафик внутренне ко многим разные пользователи. Но есть некоторые важные ограничения, которые вы пропустили в своем примере:
Существует около 18 миллионов адресов IPv4 для частного использования, но только 65536 номеров портов. На самом деле вам не нужен уникальный порт для каждого соединения, потому что вы можете иметь справочную таблицу, которая также включает в себя удаленный адрес, но все еще есть предел того, как далеко вы можете масштабировать без проблем.
Тем не менее, NAT действительно является одной из главных причин, по которой сеть IPv4 не полностью разрушилась из-за нехватки адресов. Назначение IP-адреса каждому домашнему хозяйству или офису и выдача им устройства для выполнения NAT позволяет подключать гораздо больше устройств, чем допускал оригинальный дизайн IPv4. Для дальнейшего масштабирования используется NAT операторского уровня , где у интернет-провайдера меньше общедоступных адресов, чем у подключенных домохозяйств, возможно, используя два уровня NAT для управления маршрутизацией пакетов к их возможному месту назначения.
В конце концов, сжатие каждого возможного маршрута из нескольких оставшихся адресов - это просто поддержка IPv4 в течение жизни, и в какой-то момент каждый адрес будет зарезервирован для внутреннего использования, публичного лица какой-либо сети NAT или публичного адреса сервера, принимающего нежелательные соединения.
источник
Именно это уже делают многие интернет-провайдеры с конца 1990-х годов.
В 1990-е годы для этого были разные причины (не дефицит IPv4). Однако в 2012 году интернет-провайдер, где я являюсь клиентом, начал делать это, потому что больше не было адресов IPv4:
Мой провайдер использует «DS-Lite», что означает, что новые клиенты получают диапазон глобальных адресов IPv6 (назначаются динамически), и у них есть только частный адрес IPv4, как вы его описали.
Другие интернет-провайдеры используют «CGNAT», что именно то, что вы описываете (без IPv6).
Вы должны увидеть , что это не возможно при использовании NAT:
Если вы хотите работать с каким-либо сервером, вам определенно необходим уникальный IP-адрес. И обратите внимание, что некоторые устройства в вашем доме, к которым вы можете получить доступ со своего смартфона, являются «серверами».
Также было проведено исследование, проведенное Facebook Inc., которое показало, что скорость соединения зависит от того, когда несколько клиентов используют один IP-адрес.
И есть еще одна проблема:
Из-за номеров портов количество подключений, которые один IP-адрес может установить к определенному серверу, ограничено примерно 60000.
Я видел страницы потокового видео, которые открывали 10 соединений одновременно. 6000 человек используют одну и ту же страницу, и предел 60000 достигнут.
А 60000 - теоретический предел; реальный лимит меньше.
Это определенно не будет работать:
Предположим, вы хотите получить доступ к этому веб-сайту (networkengineering.stackexchange.com). Тогда вам нужно будет установить соединение с 151.101.129.69.
Если бы внутри общегородской локальной сети был компьютер с адресом 151.101.129.69, соединение с «networkengineering.stackexchange.com», вероятно, не работало бы, поскольку неясно, какой из двух компьютеров с одинаковым IP-адресом подразумевается: Тот, что внутри городской сети или тот, что вне сети?
Это означает, что общегородская сеть должна знать, что 151.101.129.69 - это адрес вне этой сети.
Поэтому можно использовать только адреса, которые не используются во всемирном Интернете.
Кстати:
Даже в частной сети, не подключенной к Интернету, мы не можем использовать весь диапазон 0.0.0.1-255.255.255.254:
В таких сетях мы можем использовать адреса как 151.101.129.69.
Однако диапазоны 0, 127 и 224-255 нельзя использовать, поскольку эти диапазоны обрабатываются специально почти всеми операционными системами и устройствами. Так что ни одна из распространенных ОС не позволит компьютеру иметь адрес 127.10.11.12, например.
источник
Также стоит отметить, что многие IPv4-IP-адреса принадлежат либо облачным хостинговым компаниям, либо посредникам-посредникам, и были сильно испорчены. Любой, кто арендует прокси, столкнулся с проблемами, связанными с испорченным IP-адресом.
В то время как адреса IPv4 закончатся, их все равно более чем достаточно, и вы все равно можете купить их блоки (по 1000) за несколько долларов каждый.
источник
Есть некоторые объективные и некоторые основанные на мнении причины, и, конечно, самая важная причина - деньги - для этого.
Прежде всего, IP предназначен для сквозной связи с узлами, имеющими уникальные адреса. Что в принципе означает - теоретически - что каждое устройство (сервер, компьютер, телефон) должно иметь свой собственный индивидуальный IP-адрес.
Доступно 4 миллиарда адресов, что, в принципе, будет достаточно для всех, поскольку на планете почти вдвое больше людей, но подавляющее большинство изо всех сил пытается получить достаточно, чтобы поесть, и в любом случае не может позволить себе компьютер при жизни. , Тем не менее, среди меньшинства, которое может себе позволить , это больше похоже на 15-20 устройств на душу населения, постоянно подключенных к сети, включая некоторые камеры, холодильник, дистанционно управляемую подсветку и отопление и ... тостер . Который по неизвестной мне причине должен быть подключен к Интернету.
Не то чтобы Интернет вещей действительно был чем-то необходимым, но он очень успешно продавался и получил широкое распространение в течение последнего десятилетия, так что это реальность и, следовательно, реальнаявопрос. Кроме того, значительное количество адресов тратится впустую по веским техническим причинам, а огромное количество адресов тратится впустую без всякой веской причины (я вернусь к этому позже).
На практике есть такая вещь, называемая NAT, которая делает (или почти так) то, что вы предлагаете. Технически это нарушает принципы проектирования ИС, что, однако, не такая уж большая проблема. Тем не менее, хотя NAT работает нормально и, на самом деле, неплохо, у него есть свои ограничения (в частности, теоретически он может только увеличить количество адресов не более чем на 65535, а на практике гораздо меньше). сильное желание заставить NAT умереть. Наиболее актуальным является тот факт, что NAT скрывает соотношение 1: 1 между адресом и устройством. Что на самом деле хорошо, о, черт возьми, вы на самом деле не хотите этого, но это не так хорошо для определенных людей, которые имеют право голоса (например, правоохранительные органы). Другая причина в том, что NAT (который обычно тоже защищен брандмауэром) делает некоторые приложения более сложными. В частности, один хост за NAT, разговаривающий с другим за NAT, проблематичен (не невозможно, просто сложнее реализовать, чем абсолютно необходимо).
Теперь для «типичного» предприятия (или другой организации), где некоторые люди сидят в кабинах и общаются в корпоративной сети или через VPN, и, возможно, с своего рода доступом в Интернет, было бы разумно иметь, например, один IP-адрес на этаж и NAT их все до конца. Мало того, что это будет намного дешевле, это также сделает его менее очевидным для внешнего наблюдателя, который есть кто. Плюс, это сделало бы это намного более очевидным для администратора сети. И то, и другое хорошо. Увы, реальность такова, что несколько крупных компаний и университетов США зарезервировали огромные диапазоны IP-адресов, поэтому каждая машина, которую они могут когда-либо иметь, имеет свой индивидуальный адрес. Спроси почему? Я не мог сказать.
Самая важная причина, по которой мы «заканчиваем», заключается в том, что существует сильная мотивация для продвижения IPv6. Хотя IPv6 не только устраняет некоторые проблемы и приносит некоторые (хотя и немного) желательные функции, он также добавляет измеримые накладные расходы на провод (особенно, если задействованы несколько уровней, таких как IP-over-PPPoE-over-ATM, как это имеет место для многих подключение к домашнему интернету), а клиенты платят за пропускную способность, измеряемую в байтах в секунду, или за объем в байтах. Так что ... любой путь отойти от IPv4 очень желателен, потому что, как провайдеру, вам нужно меньше магистральных сетей, или вы можете брать с ваших клиентов больше за те же вещи.
Это приводит к активному продвижению кризиса, раздаче адресов, подобных конфетам (пока почти никто не остался). Я помню, что не так давно, пару лет, вы получали что-то вроде 5 адресов, просто так при аренде сервера за 50 долларов.
источник
Loreno:
1) Ваш интуитивный вопрос: «Почему у города (например) не может быть только одного IP-адреса, и все дома в этом городе будут просто находиться в частной сети этого города? Тогда этот город сможет назначать адреса из диапазона От 0.0.0.1 до 255.255.255.254. " на самом деле будет работать, если IP-адреса были правильно администрированы. К сожалению, Интернет начинался без видения всемирной коммуникационной инфраструктуры, а затем развивался настолько быстро, что корректирующие действия не могли решить проблемы. - Так как они сказали.
2) Несколько лет назад наша команда решилась на эту проблему из-за любопытства, основанного на нашем телефонном опыте. Мы придумали решение под названием EzIP (фонетика для Easy IPv4), которое может расширить каждый публичный адрес IPv4 в 256 миллионов раз (намного больше, чем вы ожидали). Мы подали предложение в IETF:
https://tools.ietf.org/html/draft-chen-ati-adaptive-ipv4-address-space-03
И графическое представление может передать идею быстрее:
https://www.avinta.com/phoenix-1/home/EzIPenhancedInternet.pdf
3) Схема EzIP не только решает проблему нехватки IP-адресов, но также предоставляет возможность повышения производительности Интернета. Пожалуйста, посмотрите на вышеупомянутые документы, и тогда мы сможем обсудить дальше.
Абэ (2018-10-14 22:27)
источник
У нас не хватает адресов IPv4.
Сколько сегодня стоит IPv4-адрес? Кажется, это около $ 18: http://ipv4marketgroup.com/ipv4-pricing/
Один IPv4 намного дешевле, чем баррель нефти. Мне нужно 8 новых баррелей масла в год для моей машины. Мне не нужно 8 новых адресов IPv4 каждый год - на самом деле, мне достаточно одного адреса IPv4, и в настоящее время я не использую никаких серверов, поэтому я мог бы прекрасно разделить адрес через NAT операторского уровня.
На самом деле, даже несмотря на то, что нефть (в обычных потребляемых количествах) намного, намного дороже, чем адреса IPv4 (в типичных необходимых количествах), у нас даже не кончается нефть.
Если вы купите IPv4-адрес, он будет у вас навсегда (или до тех пор, пока сторонники IPv6 не вытеснят IPv4 в качестве выбранного протокола). При ставке дисконтирования 5% это 0,9 доллара в год. Я плачу около 300 долларов в год за свое мобильное соединение (которое стоит за NAT операторского уровня) и около 300 долларов в год за мое фиксированное соединение (что не за NAT операторского уровня). Годовая стоимость адреса IPv4 составляет 0,3% от годовой стоимости подключения к Интернету через фиксированные или мобильные услуги.
Существуют технологии, такие как TLS и HTTP-прокси, которые позволяют запускать множество серверов за одним IPv4-адресом, идентифицированным их доменными именами. Таким образом, например, Интернет вещей (IoT) вполне может привести к развертыванию миллиардов серверов, гораздо больше, чем у нас есть адреса IPv4. Большинство новых незашифрованных протоколов сегодня построены на основе HTTP; большинство новых зашифрованных протоколов сегодня построены на основе TLS. У обоих есть возможность указать DNS-имя сервера, поэтому прокси-сервер может работать и скрывать несколько серверов за одним IPv4-адресом. Такие протоколы, как SSH, могут запускать серверы за нестандартными портами, а OpenSSH имеет «прокси-команду», поэтому прокси-сервер SOCKS / HTTP CONNECT также может поддерживать несколько машин, к которым вы можете подключиться по SSH за одним IPv4-адресом. Буду ли я доплачивать 18 долларов за то, что в моей конфигурации OpenSSH нет необходимости указывать нестандартный порт или прокси-команду? Я бы не стал.
Такие методы, как независимые от конечных точек сопоставления, позволяют пробивать дыры в UDP и TCP, которые могут устанавливать двухточечное соединение между двумя хостами за NAT, просто необходим внешний сервер для определения того, какой порт TCP / UDP назначен NAT для каждой конечной точки. NAT не нарушает сквозное соединение, ему просто необходим отдельный вспомогательный сервер, чтобы определить, какой номер порта назначен NAT. Потребуются ли миру 4 миллиарда таких вспомогательных серверов? Нет, это не так.
IPv6 - это религия. Многим трудно поверить, что Интернет завтра может работать без IPv6, так же, как им трудно поверить, что общество может работать без религии.
источник