IPv4 против IPv6

ip4 против ip6

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

В этой статье объясняется интернет-протокол и чем IPv6 отличается от IPv4.

Что такое IP (интернет-протокол)

Будучи людьми, мы идентифицируем друг друга и общаемся друг с другом, используя свои имена. Аналогично, в компьютерном мире устройства используют IP-адреса для идентификации и взаимодействия друг с другом. Общий язык, используемый всеми вычислительными устройствами для взаимодействия друг с другом, называется протоколом. Подобно человеческим языкам, протокол также имеет набор правил для форматирования и обработки данных.

имена

Интернет-протокол (IP) — это набор правил, определяющих адресацию и маршрутизацию данных между компьютерами. Он в основном используется с сетевыми транспортными протоколами, такими как TCP и UDP.

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

IPv4

Первой основной версией протокола IP (IP) является версия 4 (IPv4). Она использует 32-битную схему сетевой адресации, которая далее разбивается на четыре 8-битных числа, называемых октетами. Например, IP-адрес google.com — 141.251.36.46. Этот формат известен как точечно-квадрантная нотация. Эти IP-адреса можно настроить вручную или получить автоматически через DHCP-сервер.

Чтобы проверить текущий статус удаленного устройства, мы можем выполнить ICMP-зондирование этого IP-адреса с помощью команды ping :

 ping -c 1 google.com
 PING google.com (142.251.36.46) 56(84) bytes of data. 64 bytes from ams17s12-in-f14.1e100.net (142.251.36.46): icmp_seq=1 ttl=116 time=247 ms ...

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

Класс адреса Диапазоны IP-адресов Маска подсети Количество сетей Количество хостов в сети
Класс А 1.0.0.0 – 126.0.0.0 255.0.0.0 126 16,777,214
Класс Б 128.0.0.0 – 191.255.0.0 255.255.0.0 16,282 65,534
Класс С 192.0.0.0 – 223.255.255.0 255.255.255.0 2,097,150 254
Класс D 224.0.0.0 – 239.255.255.255 Многоадресная рассылка
Класс Е 240.0.0.0 до 255.255.255.255 Исследование/Зарезервировано/Экспериментально

Расчёт подсети включает в себя несколько математических выражений, скрытых за экраном. Для упрощения вычислений можно использовать инструменты для разбиения IPv4 на подсети, такие как ipcalc или subnetcalc . Ниже приведены фрагменты кода, демонстрирующие использование этих инструментов:

 ipcalc 110.0.20.18/24
 Address: 110.0.20.18 01101110.00000000.00010100. 00010010 Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000 Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111 => Network: 110.0.20.0/24 01101110.00000000.00010100. 00000000 HostMin: 110.0.20.1 01101110.00000000.00010100. 00000001 HostMax: 110.0.20.254 01101110.00000000.00010100. 11111110 Broadcast: 110.0.20.255 01101110.00000000.00010100. 11111111 Hosts/Net: 254 Class A
 subnetcalc 192.168.10.15/24
 Address = 192.168.10.15 11000000 . 10101000 . 00001010 . 00001111 Network = 192.168.10.0 / 24 Netmask = 255.255.255.0 Broadcast = 192.168.10.255 Wildcard Mask = 0.0.0.255 Hosts Bits = 8 Max. Hosts = 254 (2^8 - 2) Host Range = { 192.168.10.1 - 192.168.10.254 } Properties = - 192.168.10.15 is a HOST address in 192.168.10.0/24 - Class C - Private GeoIP Country = Unknown (??) DNS Hostname = (Name or service not known)

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

интернет-маршрутизация

Здесь трафик с компьютера A (10.235.64.58) попадает на интерфейс шлюза маршрутизатора (10.235.64.57) в левой части интернет-облака. Он достигает шлюза сервера Google через интернет-маршрутизацию и, наконец, достигает сервера назначения.

Для определения IP-адреса сетевого интерфейса можно использовать такие команды, как ifconfig , hostname или ip .

 ifconfig ens160
 ens160: flags=4163 mtu 1500 inet 10.235.64.58 netmask 255.255.255.252 broadcast 10.235.64.59 inet6 fe80::fc7f:d8da:a969:1c1d prefixlen 64 scopeid 0x20 ether 00:0c:29:23:6f:30 txqueuelen 1000 (Ethernet) RX packets 35607241 bytes 34540488400 (34.5 GB) RX errors 0 dropped 12 overruns 0 frame 0 TX packets 24701952 bytes 15008379564 (15.0 GB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
 hostname -I
 10.235.64.58

Существуют специальные сетевые IP-адреса, например, 0.0.0.0 или 127.0.0.1 . Первый из них — маршрут по умолчанию или маршрут с четырьмя нулями, а второй называется адресом обратной связи.

В приведенном ниже фрагменте кода представлена таблица маршрутизации IP ядра с маршрутом по умолчанию для этой сети. Флаг «U» означает, что сетевой маршрут направлен вверх, а флаг «G» — что сетевой маршрут является сетевым шлюзом.

 netstat -rn | grep ens160
 Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.235.64.57 0.0.0.0 UG 0 0 0 ens160 10.235.64.56 0.0.0.0 255.255.255.252 U 0 0 0 ens160

Обычно датаграмма IPv4 состоит из заголовка длиной 20 байт, поля параметров и полей данных переменной длины. Пример формата пакета показан ниже.

ipv4-пакет

Ниже захват Wireshark помогает расшифровать информацию заголовка пакета из реального трафика.

Wireshark

IPv6

Интернет-протокол версии 6 — это обновлённая версия интернет-протокола (IP). 6-я версия интернет-протокола призвана заменить старую версию (IPv4), на которую по состоянию на 2018 год приходилось 75% всего интернет-трафика (Источник: Google IPv6 Stats).

Адрес IPv6 состоит из 128 бит (16 байт) и состоит из 32 шестнадцатеричных цифр. Для удобства управления эти цифры разделены на восемь групп по четыре цифры в каждой. Ниже представлена краткая иллюстрация.

ipv6

Соглашение об именовании IPv6 состоит из нескольких основных этапов.

Правило 1: Все буквы нечувствительны к регистру. Например, «ab41» равно «AB41». Правило 2: Последовательные поля с «0» могут быть отображены как «::», но только один раз в адресе. Правило 3: Начальные нули в поле необязательны. Например, «001a» равно «1a».

Например, возьмем адрес IPv6, 45ab:0000:a179:0000:0000:c1c0:abcd:0876

Применить правило 1 => 45ab:0000:a179:0000:0000:c1c0:abcd:0876 Применить правило 2 => 45ab:0:a179:0:0:c1c0:abcd:876 Применить правило 3 => 45ab:0:a179::c1c0:abcd:876

Существует три типа адресов IPv6: Unicast, Multicast и Anycast. Unicast-адрес — это отдельный сетевой интерфейс, на который пакеты доставляются. Кроме того, Unicast-адреса имеют локальную (link-local) и глобальную области действия. Multicast-адрес — это групповые интерфейсы, на которые доставляются пакеты. Anycast-адрес — это групповой интерфейс, на который пакеты доставляются на ближайший интерфейс.

Ниже приведены несколько известных адресов.

]::1/128 Адрес обратной связи
фф00::/8 Многоадресные адреса
fe80::/10 Локальные адреса ссылок
2001::/16 Обычные одноадресные адреса IPv6
2002::/16 6to4 Unicast-адреса
 subnetcalc 2001:4860:4860::8888/64
 Address = 2001:4860:4860::8888 2001 = 00100000 00000001 4860 = 01001000 01100000 4860 = 01001000 01100000 0000 = 00000000 00000000 0000 = 00000000 00000000 0000 = 00000000 00000000 0000 = 00000000 00000000 8888 = 10001000 10001000 Network = 2001:4860:4860:: / 64 Netmask = ffff:ffff:ffff:ffff:: Wildcard Mask = ::ffff:ffff:ffff:ffff Hosts Bits = 64 Max. Hosts = 18446744073709551616 (2^64 - 1) Host Range = { 2001:4860:4860::1 - 2001:4860:4860:0:ffff:ffff:ffff:ffff } Properties = - 2001:4860:4860::8888 is a HOST address in 2001:4860:4860::/64 - Global Unicast Properties: + Interface ID = 0000:0000:0000:8888 + Sol. Node MC = ff02::1:ff00:8888 GeoIP Country = United States (US) DNS Hostname = dns.google

Опять же, пакет IPv6 содержит как заголовок, так и полезную нагрузку. Размер заголовка фиксирован и составляет 40 байт, а адреса отправителя и получателя занимают по 32 байта. Пример формата пакета показан ниже.

ipv6-пакет

Несмотря на множество преимуществ, IPv6 не может вытеснить IPv4. Для плавного перехода обе версии протокола должны существовать одновременно. Поэтому поставщики услуг предлагают систему поддержки с двойным стеком, оснащённую сетевым интерфейсом, поддерживающим как пакеты IPv4, так и IPv6.

Существует несколько механизмов интеллектуального перехода, а именно туннелирование IPv6, сопоставление адресов IPv6 с IPv4 и т. д. Первый инкапсулирует пакет IPv6 в IPv4, тогда как второй сопоставляет IPv6 с адресами IPv4 в реализациях с двойным стеком.

IPv4 против IPv6 — быстрый сравнительный

Функции Интернет-протокол версии 4 [IPv4] Интернет-протокол версии 6 [IPv6]
Развертывание и распределение 1981 1999
Длина 32-битный 128-бит
Адресное пространство 4,29 х 10^9 3,4 х 10^38
Формат Десятичная дробь с точками / [10.235.64.56] Шестнадцатеричный / [2400::4]
Количество октетов 4 16
Размер заголовка Варьируется от 20 до 60 байт 40 байт
Классы Пять классов: класс A, класс B, класс C, класс D, класс E Никто
Функции безопасности / Аутентификация и шифрование Нет в наличии Доступный
Контрольная сумма Доступный Нет в наличии
IPSec Внешние и необязательные Встроенная функция
Количество прыжков Указано полем TTL Указано полем Hoplimit
Фрагментация Выполняется маршрутизаторами отправителя и пересылки Выполняется только отправителем
Поля параметров Предоставляется в заголовке IPv4 Необязательных полей нет, но доступны заголовки расширения IPv6.
Многоадресная передача IGMP управляет членством в многоадресной группе MLD заменяет IGMP
Широковещательное сообщение Доступный Недоступно. Используется многоадресная передача.
Сопоставление IP и MAC Протокол разрешения адресов Протокол обнаружения соседей

Заключение

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

нетворкинг

Об авторах

Шрирам Рамануджам

Опытный архитектор глобальной сетевой автоматизации с более чем 10-летним богатым отраслевым опытом разработки масштабируемых решений для сетевой автоматизации, инженерного проектирования, эксплуатации и телеметрии.

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *