Я читаю о том, как настроить 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; попробуйте навести указатель мыши на разные части адреса, чтобы увидеть, как они соотносятся между различными форматами.