IPv6 子网划分

网络工程 ip 子网 ipv6 IP地址
2021-07-09 11:44:34

我正在做一个 IPv6 练习,其中我必须配置两个路由器接口:G0/0G0/1

G0/0使用2001:DB8:FADE:00FF::/64,我必须使用下一个子网G0/1

这是答案,但我不明白的是,如何移动这些位:

G0/0 2001:DB8:FADE:00FF::1/64 
G0/1 2001:DB8:FADE:0100::1/64

00FF - 0000 0000 1111 1111
0100 - 0000 0001 0000 0000

让我们说:

000F - 0000 0000 0000 1111

之后发生了什么?最后一位回到零,而我在第三部分增加 +1?喜欢0000 0000 0001 0000 = 0010 (Hex)


更新:

我想知道如何开发这个二进制文件,直到十六进制值得到 FFFF

例子:

00FF - 0000 0000 1111 1111     
       0000 0001 0000 0000
       0000 0001 0000 0001
       0000 0001 0000 0010

试图简化,第四部分到达1111而前一部分保持值,之后

  0000 0001 0001 1111
  0000 0001 0010 1111

现在,第三部分开始构建直到1111,接下来是第二部分等等。

我对么?我不会发展那个价值观:\

1个回答

IPv6 在这方面很容易,因为您并没有像 IPv4 那样真正进行子网划分。在正常情况下,除了极少数例外,您有一个子网大小 ( /64)。您需要做的就是能够以十六进制计数。

IPv6 地址只是一个 128 位的数字。有两部分:网络 ID 和接口 ID。每个都是 64 位。您只需要专注于您想要做的网络 ID。IPv6 的文本表示被分解为由冒号分隔的单词,以便于阅读。当涉及到又大又丑的 IPv6 地址时,有些人会称之为自相矛盾,但请尝试阅读没有冒号的地址。

在十进制中,您数09当您到达 时9,下一步是增加下一个更高的数字并从0(9转到10)重新开始这同样适用于十六进制,不同之处在于您计数0f(f转到10)。如果您想将二进制混为一谈,每四个二进制数字等于一个十六进制数字。十六进制 <-> 二进制比将十进制加入 IPv4 的方式要容易得多。

我认为您通过考虑块来混淆自己。在你的例子中:

000F = 0000 0000 0000 1111

你问接下来会发生什么。当你这样看时会发生什么:

000F = 0000000000001111

二进制计数与十进制或十六进制相同:

Binary  Decimal Hexadecimal
    0       0        0
    1       1        1
   10       2        2
   11       3        3
  100       4        4
  101       5        5
  110       6        6
  111       7        7
 1000       8        8
 1001       9        9
 1010      10        a
 1011      11        b
 1100      12        c
 1101      13        d
 1110      14        e
 1111      15        f
10000      16       10
10001      17       11
10010      18       12
10011      19       13

等等...

其实都是简单的数数。您应该习惯于以十六进制进行操作。在 Binary 中使用 IPv4 的一个重要原因是您需要进行按位运算来确定边界在哪里,但是对于 IPv6,您实际上只是给定了一个 64 位边界。位操作要少得多。