Conversão de Terceiro Formulário IPv6 / IPv4?

7

Estou lendo sobre como configurar o IPv6 no Ubuntu , cheguei à seção sobre como ler endereços IPv6 e embora os primeiros dois exemplos façam sentido para mim, o último escapa um pouco, como já faz alguns anos desde a minha última aula de networking:

Como se converte a terceira forma em forma longa?

Aqui está o exemplo com o qual estou tendo problemas:

  • terceira forma: - 2002 :: 10: 0.0.1
  •   
  • formulário longo: - 2002: 0000: 0000: 0000: 0000: 0000: 0a00: 0001
  •    
  • canonicalform: - 2002 :: a00: 1

Eu entendo hexa até onde, em vez de terminar com o número dez, quando você contar além de nove, você acaba com A, B, C, D, E e F antes de incrementar o dígito na próxima coluna.

Você pode, por favor, me mostrar como isso funciona usando matemática, e não apenas algum conversor JavaScript on-line?

Obrigado!

    
por leeand00 06.10.2011 / 20:49

2 respostas

6

No IPv4, cada byte é representado por um número, de 0 a 255; no IPv6, a representação hexadecimal é usada em vez de 00 a ff. A conversão feita lá é mapear os quatro bytes do endereço IPv4 para os últimos 4 bytes do endereço IPv6:

IPv4:

aaa.bbb.ccc.ddd

IPv6:

XXXX::AABB:CCDD

Portanto, com uma entrada de 10.0.0.1 , os bytes são 0a , 00 , 00 , 01 ; levando a:

::0a00:0001

(que encurta para ::a00:1 )

Por outro exemplo, vamos usar 192.168.50.254 :

::c0a8:32fe
    
por 06.10.2011 / 21:04
3

Você pode analisar a conversão para diferentes formatos usando o v6decode ; tente passar o mouse sobre as diferentes partes do endereço para ver como elas se relacionam entre os diferentes formatos.

    
por 11.10.2011 / 20:49