Назад | Перейти на главную страницу

Преобразование IPv6 / IPv4 в третью форму?

Я читаю о том, как настроить IPv6 на Ubuntu, Я дошел до раздела о чтении адресов IPv6, и хотя первые два примера имеют для меня смысл, последний немного ускользает от моего понимания, так как прошло несколько лет с моего последнего сетевого класса:

Как преобразовать третью форму в полную?

Вот пример, с которым у меня возникли проблемы:

Я понимаю шестнадцатеричный код, поскольку вместо того, чтобы заканчиваться числом десять, когда вы считаете больше девяти, вы получаете A, B, C, D, E и F перед тем, как увеличивать цифру в следующем столбце.

Не могли бы вы показать мне, как это работает, используя математику, а не просто какой-нибудь онлайн-конвертер JavaScript?

Спасибо!

В IPv4 каждый байт представлен числом от 0 до 255; в IPv6 вместо этого используется шестнадцатеричное представление, от 00 до ff. Преобразование, которое выполняется там, состоит в том, чтобы отобразить четыре байта адреса IPv4 на последние 4 байта адреса IPv6:

IPv4:

aaa.bbb.ccc.ddd

IPv6:

XXXX::AABB:CCDD

Итак, с вводом 10.0.0.1, байты 0a, 00, 00, 01; ведущие к:

::0a00:0001

(который сокращается до ::a00:1)

В качестве другого примера возьмем 192.168.50.254:

::c0a8:32fe

Вы можете посмотреть на преобразование в разные форматы с использованием v6decode; попробуйте навести указатель мыши на разные части адреса, чтобы увидеть, как они соотносятся между различными форматами.