Почему ipv6 128bit, а не 64bit?

13

Компьютерные процессоры перешли с 32 бит на 64 бит. Почему IP-адреса перешли с 32-битного на 128-битный (пропуская 64-битный)?

РЕДАКТИРОВАТЬ:

Я не собирался делать прямое сравнение. Просто любопытно, почему IP-адреса пропускаются 64-битными.

Бобби
источник
8
Я не понимаю, почему они были связаны, за исключением того, что это было большое жирное совпадение.
Игнасио Васкес-Абрамс
2
Когда IPv4 был изначально разработан, мы все полагали, что он был достаточно большим. Немногие, если таковые имеются, предполагали, что произошло 20+ лет спустя. Изучив урок, казалось разумным не совершать ту же ошибку снова. Можно было бы использовать IPv6 для назначения каждому человеку на планете своей собственной (32-битной) сети размера IPv4 с оставшимся местом.
dbasnett 19.10.10
Все, кто говорит, что они не связаны - вы уверены в этом? Много программных и аппаратных угощения IPv4 - адреса как беззнаковых 32-битных целых чисел. Добавление поддержки IPv6 в ваше приложение не так просто, как «s / uint32_t / uint128_t /».
Джеральд Комбс
7
@Джеральд; Да, мы уверены. IPv4 выбрал 32-битный, потому что это был самый большой регистр, который когда-либо существовал среди всех распространенных процессоров. Это был произвольный выбор, который казался достаточно хорошим в то время. В наши дни мы умнее, чем выбирать произвольные числа на основе регистров процессора. 128 бит был выбран, потому что он предоставляет достаточно IP-адресов, поэтому мы можем потратить их на такие вещи, как механизмы совместимости IPv4, удобство и т. Д .; и убедитесь, что нам не нужно дерьмо, как NAT, восстанавливая сквозную маршрутизируемость в Интернет.
Крис С
@ChrisS И все же даже 128 бит недостаточно для некоторых механизмов совместимости IPv4. Посмотрите на 6to4 и Тередо. Недостаток 6to4, который адресован Teredo, работает через NAT44. Но тогда почему Teredo пришлось исключить одну из функций, которыми обладает 6to4? С 6to4 вы можете запустить всю сеть, с Teredo вы можете запустить только один хост. Причина, по которой вы не можете использовать оба варианта, состоит в том, что адрес IPv6 составляет всего 128 бит, для того, чтобы использовать оба, потребовалось бы 192 бита. 6-й является еще одним примером механизма перехода, который мог бы получить выгоду от нескольких бит в адресе IPv6.
Касперд

Ответы:

21

Два не связаны. Решения о том, как структурировать IPV6, бесчисленны. В статье Википедии по IPv6 много информации .

По сути, 128-битное адресное пространство IPv6 дает нам такое огромное адресное пространство, что мы вряд ли когда-либо будем использовать все его (2 ^ 128 адресов или 3,4 * 10 ^ 38).

Увеличенное адресное пространство также обеспечивает лучшую иерархическую модель адресации, поскольку CIDR и подобные «хаки» больше не нужны для маршрутизации. Адресное пространство позволяет разделить 64-битный адрес хоста и 64-битный сетевой адрес, а адрес хоста можно настроить самостоятельно.

Чем больше места, тем больше адресов, и их проще организовать. IPv4 - это что-то вроде загроможденной квартиры с 1 спальней, а IPv6 - это гигантский склад, в котором мы можем все организовать гораздо более организованно.

Феб
источник
1
MAC-адреса также уникальны и с 48 битами было использовано менее 5%. Используя 64-битный адрес, было бы в 2^64/2^48=65536разы больше адресов, что приводит к использованию менее 0,00007%, если мы назначим ipv6 каждому устройству с зарегистрированным Mac (маловероятно)
NeDark
4

они вроде как перешли на 64-битную, потому что в большинстве моделей развертывания IPv6 вам назначен префикс / 64, что означает, что ваш «публичный» IP-адрес является фиксированным 64-битным, а остальная часть назначается вами в вашей частной сети (также колоссальные 64 Немного).

knitti
источник
1
Только провайдеры выпускают / 64, и из того, что я видел, на самом деле это случается не очень часто. Мое личное мнение таково, что идея 64 + 64 была глупой идеей, и мы должны придерживаться чего-то более близкого к CIDR.
Крис С
2
@ Крис С: Вы совершенно не правы.
Багамат
@bahamat, хочешь расширить это неподдерживаемое мнение?
Крис С
1
@ Крис С: Это не мнение. ISP вообще выпускают / 48. Подсети (почти) всегда / 64 и редко меньше. В RFC говорится, что отдельным лицам, а также организациям следует предоставить / 48. Вы только думаете, что 64/64 - плохая идея, потому что вы не понимаете, насколько велик 64-битный префикс (это 12 подсетей на см ^ 2 площади земли на поверхности земли). Вы, очевидно, немного знаете об IPv6, что хорошо, но вы привносите устаревшее мышление v4 в v6. Прекрати это. Я уважаю тебя за твою репутацию, но в этом ты ошибаешься.
Багамат
1
@Cris S: Точно моя точка зрения. Ты не понимаешь, насколько он огромен. Никто , скупой на префиксы, не делает этого. Глобальное адресное пространство 2000 :: / 3. При экспоненциальном коэффициенте использования ожидается, что при распределении / 48 закончится около 2150. Включая специальное пространство использования, оставляющее более 86% нетронутым. И это учитывая, что ни один из них никогда не будет перераспределен и использован повторно. Размахивать ими, как конфетами, значит, будет много для детей ваших детей.
Багамат
4

Потому что разработчики IPv6 сверхкомпенсировали предыдущий промах IPv4. 32-битный - это действительно слишком мало, но 64-битный будет эффективнее 128-битного (делится на 40 + 24 вместо 64 + 64). Но сейчас уже слишком поздно что-либо менять.

Alex
источник
2

С 64-битными IP-адресами все равно будет мало. Например, каждая карта Ethernet имеет 48-битный уникальный идентификатор. Если бы вы позволили картам использовать свои 48-битные уникальные идентификаторы в качестве адреса своего хоста, 64-битные оставляли бы только 16-битные для сетевой части, что недостаточно.

С 128-битными IP-адресами не мало. И это позволяет вам делать все изящные вещи.

Дэвид Шварц
источник
48-битное пространство используется не полностью, как сегодня. Почему мы считаем недостаточным 64-битное пространство (что в 65536 раз превышает 48-битное пространство), когда мы даже не занимаем более 10% 48-битного пространства?
Луис Масуэлли
Согласно, это утверждение , как это требует какого - то оправдания.
SilverbackNet
Назначение каждому устройству уникального идентификатора намного проще, чем создание маршрутизируемого адресного пространства. Вы можете сделать первое очень эффективно, но второе должно быть неэффективным. Вы хотите, чтобы в каждом глобальном префиксе было место для множества подсетей (должно быть / 64), от Google до домашнего пользователя. Таким образом, провайдеры выдают / 48 с. Очевидно, что каждому человеку на планете не нужно пространство подсети размером с Google, но гораздо проще, если вы просто предположите, что первые 48 являются глобально маршрутизируемыми, следующие 16 - это подсети, а последние 64 - это идентификаторы хоста. Комментаторы правы, нехватка была не в том, почему был выбран 128 бит, а в классной сети.
Николас Пипитоне
Во многих пакетах IPv6 в Интернете эта часть все равно обнуляется. Кто хочет представить свой MAC-адрес миру? Особенно сегодня, когда конфиденциальность стала более
серьезной