Зачем нам нужен IPv6?

44

Это будет своего рода вопрос новичка, но я не совсем уверен, почему нам действительно нужен IPv6. AFAIK, история такова:

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

Таким образом, маска подсети начала становиться явной. По существу размер IP-адреса увеличился.

Мой вопрос: в чем недостаток продолжения адресации с масками подсети? Например, когда их становится недостаточно, не можем ли мы продолжать использовать «маски подсети-подсети» и т. Д.?

Я понимаю, что он занимает больше места, чем исходный IPv4 (и, возможно, не сильно отличается от использования IPv6), но не являются ли явные маски подсети достаточным решением? Если нет, то почему они являются недостаточным решением?

Утка
источник
13
Предупреждение: кажется, что термин «маска подсети» используется здесь неправильно. Маска подсети, т. Е. И т. 255.255.255.0Д. Здесь обсуждается нечто иное: маскарадинг, более известный как NAT (преобразование сетевых адресов).
Сандер Штеффанн
@SanderSteffann На самом деле да. Позже я понял, что я не использовал правильную терминологию. Пожалуйста, не стесняйтесь редактировать вопрос. Я не совсем уверен, какие термины являются правильными для использования. (Особенно часть «Маска подсети-подсети»)
Утку
Это было немного много, поэтому я поставил это в ответ :)
Сандер Штеффанн
Никто не упоминает, насколько проще IPv6, чем работа в сети.
Джейкоб Эванс
1
Одна из проблем с любыми вопросами об IPv6 заключается в том, что вы найдете много квазирелигиозных фанатиков. Я обычно отвечаю на вопросы IPv6 только с комментариями, чтобы фанаты не повредили мою репутацию. По правде говоря, IPv6 может завоевать популярность или нет. У него слишком много недостатков, чтобы сделать правильную ставку, и есть другие варианты.
Кевин Кин

Ответы:

80

Здесь запутываются две вещи:

  • Классовая адресация против CIDR
  • Маскарадинг / NAT

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

  • сеть класса A (a / 8 в терминах CIDR, с маской сети 255.0.0.0)
  • сеть класса B (a / 16 в терминах CIDR, с маской сети 255.255.0.0)
  • сеть класса C (a / 24 в терминах CIDR, с маской сети 255.255.255.0)

Все эти классы были выделены из фиксированных диапазонов. Класс A содержал все адреса, где первая цифра была от 1 до 126, класс B был от 128 до 191 и класс C от 192 до 223. Маршрутизация между организациями содержала все это в протоколах.

В те классные дни, когда организации понадобилось, например, 4000 адресов, было два варианта: дать им 16 блоков класса C (16 x 256 = 4096 адресов) или дать им один блок класса B (65536 адресов). Из-за жестко закодированных размеров все 16 отдельных блоков класса C должны будут маршрутизироваться отдельно. Многие получили блок класса B, содержащий гораздо больше адресов, чем им было нужно. Многие крупные организации получат блок класса А (16 777 216 адресов), даже если потребуется всего несколько сотен тысяч. Это впустую много адресов.

CIDR снял эти ограничения. Классы A, B и C больше не существуют (с ± 1993 г.), и маршрутизация между организациями может происходить с любым длиной префикса (хотя обычно не допускается использование чего-либо меньшего, чем / 24, чтобы предотвратить появление множества крошечных блоков, увеличивающих размер таблиц маршрутизации. ). Таким образом, с тех пор стало возможным маршрутизировать блоки разных размеров и выделять их из любой части ранее пространства классов ABC адресного пространства. Организация, которой требуется 4000 адресов, может получить / 20, что составляет 4096 адресов.

Подсеть означает разделение выделенного адресного блока на более мелкие блоки. Меньшие блоки могут быть настроены в физических сетях и т. Д. Это не волшебным образом создает больше адресов. Это только означает, что вы делите свое распределение в соответствии с тем, как вы хотите его использовать.

То, что создало больше адресов, было Маскарадингом, более известным как NAT (Трансляция сетевых адресов). С помощью NAT одно устройство с одним общедоступным адресом обеспечивает связь для всей сети с частными (внутренними) адресами за ним. Каждое устройство в локальной сети считает, что оно подключено к Интернету, даже если оно не совсем. NAT-маршрутизатор будет проверять исходящий трафик и заменять частный адрес локального устройства своим собственным общедоступным адресом, притворяясь источником пакета (именно поэтому он также известен как маскарадинг). Он запоминает, какие переводы он сделал, чтобы при любых ответах он мог вернуть исходный частный адрес локального устройства. Обычно это считается хаком, но он работал и позволял многим устройствам отправлять трафик в Интернет, используя меньше публичных адресов.

Можно иметь несколько NAT-устройств друг за другом. Это делается, например, интернет-провайдерами, которым не хватает публичных адресов IPv4. У провайдера есть несколько огромных NAT-маршрутизаторов, которые имеют несколько публичных адресов IPv4. Затем клиенты подключаются с использованием специального диапазона адресов IPv4 ( 100.64.0.0/10хотя иногда они также используют обычные частные адреса) в качестве своих внешних адресов. Затем у клиентов снова есть маршрутизатор NAT, который использует тот единственный адрес, который они получают на внешней стороне, и выполняет NAT для подключения всей внутренней сети, которая использует обычные частные адреса.

Хотя есть несколько недостатков в том, чтобы иметь маршрутизаторы NAT:

  • входящие соединения: устройства, находящиеся за NAT-маршрутизатором, могут устанавливать только исходящие соединения, поскольку у них нет своего собственного «реального» адреса для приема входящих соединений.
  • переадресация портов: это обычно делает меньше проблем переадресацией портов, когда маршрутизируемый NAT выделяет некоторые порты UDP и / или TCP на своем публичном адресе внутреннему устройству. Затем маршрутизатор NAT может пересылать входящий трафик с этих портов на это внутреннее устройство. Для этого пользователю необходимо настроить эти переадресации на маршрутизаторе NAT.
  • NAT операторского класса: где провайдер выполняет NAT. Вы не сможете настроить переадресацию портов, поэтому принятие любых входящих подключений становится (бит-торрент, наличие вашего собственного сервера VPN / web / mail / etc) невозможным
  • Разделение судьбы: внешний мир видит только одно устройство: этот маршрутизатор NAT. Поэтому все устройства за маршрутизатором NAT разделяют его судьбу. Если одно устройство за маршрутизатором NAT ведет себя неправильно, это адрес маршрутизатора NAT, который попадает в черный список, таким образом блокируя все остальные внутренние устройства.
  • избыточность: маршрутизатор NAT должен помнить, какие внутренние устройства обмениваются данными через него, чтобы он мог отправлять ответы нужному устройству. Поэтому весь трафик группы пользователей должен проходить через один маршрутизатор NAT. Обычные маршрутизаторы не должны ничего запоминать, и поэтому легко создавать избыточные маршруты. С NAT это не так.
  • единственная точка отказа: при сбое маршрутизатора NAT он забывает все существующие соединения, поэтому все существующие соединения через него будут разорваны
  • большие центральные маршрутизаторы NAT стоят дорого

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

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

Сандер Штеффанн
источник
1
Ух очень через ответ. Спасибо. Что касается NAT операторского класса: вы заявили, что битовый торрент закончится. Но я не мог понять, почему это произошло. Точнее, я думаю, что это должно было закончиться даже сегодня, если это так. Позвольте мне объяснить: я предполагаю, что многие домашние пользователи используют маршрутизатор NAT, и это заставляет меня думать, что «пиявка» не может пиять от пользователя, который использует NAT-маршрутизатор, так как пиявка не будет знать адрес компьютера для подключения. Так как пиявка не сможет найти сеялку, это будет означать конец, даже если поток будет хоть сегодня. Не могли бы вы уточнить это для меня?
Утку
5
Переадресация портов может быть настроена пользователем на домашних маршрутизаторах для разрешения входящих подключений, или локальный клиент BitTorrent использует специальный протокол, чтобы заставить маршрутизатор NAT автоматически устанавливать переадресацию портов. Маршрутизатор NAT операторского класса не разрешает такие переадресации портов. BitTorrent по-прежнему работает без входящих соединений, но не так хорошо.
Сандер Штеффанн
4
@ Utku, бойкий ответ "это не так". то есть, вы правы, что входящие соединения со многими узлами Bittorrent NAT не могут быть установлены. при этом этот узел может устанавливать соединения с другими узлами в сети, и, поскольку данные передаются в обоих направлениях по соединению, они все же могут вносить свой вклад в сеть, распространяя фрагменты, которые один из их одноранговых узлов имеет для других.
Роб Старлинг
3
О bittorrent и NAT: см. Superuser.com/questions/104462/… . Резюме: входящие соединения встраиваются в ваше исходящее соединение; некоторые клиенты используют ретрансляционную систему, чтобы разрешить входящие соединения от нового пользователя через соединения с общим узлом. Это менее эффективно, и вы получите более низкие скорости. Это невозможно, если все узлы находятся за NAT без переадресации портов.
Тимбо
2
на разделение судьбы, соответствующий анекдот: techcrunch.com/2007/01/01/wikipedia-bans-qatar
njzk2
15

Интернет-протокол (IP) был разработан для обеспечения сквозного подключения.

32 бита адреса IPv4 допускают только около 4,3 миллиарда уникальных адресов. Затем вы должны вычесть кучу адресов для таких вещей, как многоадресная рассылка, и есть много математических данных, показывающих, что вы никогда не сможете использовать полную емкость подсети, поэтому существует много потерянных адресов.

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

Использование NAT для удовлетворения голода IP-адресов разрушает парадигму сквозного IP-соединения. Становится трудно выставить достаточно публичных IP-адресов. Подумайте на минуту, что бы вы, как домашний пользователь с одним общедоступным IP-адресом, сделали бы, если бы вы хотели разрешить нескольким устройствам использовать один и тот же транспортный протокол и порт, скажем, два веб-сервера, которые по соглашению используют TCP-порт 80, доступ из публичного интернета. Вы можете перенести TCP-порт 80 на общедоступном IP-адресе на один частный IP-адрес, но как быть с другим веб-сервером? Этот сценарий потребует от вас перепрыгнуть через несколько обручей, с которыми обычный домашний пользователь не может справиться. Теперь подумайте об Интернете вещей(IoT), где у вас могут быть сотни или тысячи устройств (лампочки, термостаты, термометры, дождемеры и спринклерные системы, датчики тревоги, приборы, устройства для открывания гаражных ворот, развлекательные системы, ошейники для домашних животных и кто знает, что еще) некоторые или все из которых хотят использовать одни и те же конкретные транспортные протоколы и порты. Теперь подумайте о компаниях, которым нужен IP-адрес, чтобы обеспечить своих клиентов, поставщиков и партнеров возможностью подключения.

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

IPv6 предоставляет достаточно публичных адресов для восстановления первоначальной парадигмы IP. В настоящее время IPv6 имеет 1/8 адресов IPv6 во всем блоке адресов IPv6, отведенных для глобально маршрутизируемых адресов IPv6. Предполагая, что в 2100 году в мире будет 17 миллиардов человек (что нереально), текущий глобальный диапазон адресов IPv6 (1/8 блока адресов IPv6) обеспечивает более 2000/48 сетей для каждого из этих 17 миллиардов человек. Каждая сеть / 48 состоит из 65 536/64 подсетей с 18 446 744 073 709 551 616 адресами в подсети.

Рон Мопин
источник
Таким образом, NAT по сути является «патчем», верно? Патч, который нарушает основной принцип Интернета.
Утку
7
NAT можно назвать патчем, но многие называют его хаком или, что еще хуже.
Рон Маупин
7
Ваше второе предложение важно! NAT создает асимметрию между людьми, которые могут запускать серверы, и людьми, которые не могут (легко). Это фундаментальное нарушение основных демократических принципов Интернета. Разумеется, волнует ли это кого-то, это другой вопрос. Большинству людей, которые сидят за NAT, все равно. Многие поставщики контента делают уход поставить столько людей , сколько возможно за NAT с, потому что тогда они могут контролировать то , что (большинство) Интернет видит.
Йорг Миттаг
1
@ JörgWMittag, «Большинство людей, которые сидят за NAT, не заботятся». Пока их новая блестящая многопользовательская игра, приложение или игрушка не будут работать так, как они этого ожидают, тогда им, безусловно, все равно. «Многие провайдеры контента стараются оставить как можно больше людей за NAT, потому что тогда они могут контролировать то, что ... видит интернет». Для управления доступом не требуется NAT. Это можно сделать так же легко (если не больше) без NAT. NAT делает многие вещи более сложными для поставщиков контента / услуг и людей, которых я знаю, которые используют такие сети, я не знаю, кто использует NAT, если они могут избежать этого.
YLearn
9

Проще говоря, больше нет доступных адресов IPv4. Все (или почти все) доступные адреса IPv4 были распределены. Взрыв IP-устройств, ноутбуков, телефонов, планшетов, камер, устройств безопасности и т. Д. И т. Д. Израсходовал все адресное пространство.

Рон Транк
источник
1
Это не совсем верно, подавляющее большинство пространства тратится впустую, потому что с самого начала оно не было хорошо распределено по подсетям. Теперь у организаций есть ряд адресов, которые они не используют в качестве публичных адресов, но чтобы вернуть их, потребовались бы значительные усилия по реструктуризации их сетей.
Джеймс Райан
7
Да, много места потрачено впустую. Но факт остается фактом: доступное пространство исчерпано.
Рон Ствол
1
@JamesRyan Существует также весь диапазон «класса E», который можно (в любое время) открыть для общего одноадресного назначения. Это дало бы миру еще 16/8 (около 134 миллионов дополнительных адресов). Но что тогда? Все, что нужно сделать, это отложить «окончательное истощение» всех адресов. Таким образом, независимо от того, сколько адресов IPv4 восстановлено или перераспределено, истощение неизбежно. IPv6 - это постоянное решение.
Эдди
3
@ Эдди, теоретически , диапазон "класса Е" может быть открыт. На практике 34 года людей, предполагающих, что диапазон «зарезервирован, не используется», означает, что любой, кто получит один из этих адресов, будет иметь ограниченную возможность соединения.
Марк
1
@ Марк согласен. Я просто хотел сказать, что есть карманы пространства IPv4, которые мы могли бы попытаться использовать, чтобы продлить срок его службы, но зачем беспокоиться, IPv6 неизбежен. (Я определенно не говорил, что мы должны продлить срок службы IPv4) .
Эдди
4

Прежде всего, метод переменной маски подсети стал недостаточным. Вот почему люди изобрели метод трансляции сетевых адресов, где вы можете использовать общедоступный IP-адрес для маскировки нескольких частных IP-адресов. Даже с этой техникой у нас почти нет IP для распределения. Кроме того, NAT нарушает один из основополагающих принципов Интернета: принцип «конец в конец».

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

IPv6 также предоставляет другие функциональные возможности, которые я не буду вдаваться в подробности: обязательная защита на уровне IP, автоматическая настройка адресов без учета состояния, больше не требуется широковещательная рассылка, только многоадресная рассылка и более эффективная обработка маршрутизаторами за счет упрощения заголовка. Также в этом веке мобильных устройств он имеет явную поддержку мобильности в форме мобильного IPv6.

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

dragosb
источник
NAT не был изобретен из-за отсутствия адресов или подсетей переменной длины. Он стал популярным просто потому, что многие интернет-провайдеры будут платить больше за услуги «бизнес-класса» с выделенным IP-пространством.
Альнитак
1

Основная организация, которая распространяет ИС по региональным организациям, полностью исчерпана. ARIN - региональная организация в США была исчерпана за последние несколько месяцев. Единственная региональная организация, у которой еще остались IP-адреса, - это AfriNIC.

Есть много компаний / организаций, таких как Ford, MIT и т. Д., Которые имеют полный диапазон IP класса. Когда они их приобрели, никто не думал, что мы так быстро выбежим.

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

IP предназначены для региона, не могут использоваться в другом регионе. Ну, они могут, но это очень не рекомендуется (гео-IP).

В настоящее время многие компании готовятся к IPv6. Переключение не легкое, так как его очень дорого купить новое оборудование, поддерживающее полный IPv6 для тех, у кого десятки тысяч серверов.

user1052448
источник
2
На самом деле IP не «предназначены для региона» - они были произвольно назначены одному из 5 RIR (что примерно соответствует пяти континентам). На самом деле весьма распространено, что блоки IP-адресов передаются (обычно продаются) из одного RIR, у которого еще есть некоторые остатки (сегодня только у Африки осталось), в другой. GeoIP - это просто взлом, а не нечто, встроенное в протокол IP.
Кевин Кин