纯ipv6网站(ipv6与ipv4的地址长度-编程之家

早在2011年2月3日,互联网号码分配公司(IANA)就宣布IPv4地址已用尽。此后,IPv6地址将接管并提供大量新的IP地址。它有多大?让我们先比较两者的数量。

IPv4地址空间的数量:4 294 967 296

IPv6地址空间的数量:

什么是IPv4和IPv6?让我们仔细看看。

00-1010大多数互联网用户都熟悉IP地址,知道最流行的地址类型 IPv4地址。这些地址通常用所谓的点分四等分或点分十进制表示,如165.195.130.107。四点表示法由四个用点分隔的十进制数组成。每个这样的数字都是[0,255]范围内的非负整数,代表整个IP地址的四分之一。四点表示法是写完整IPv4地址的一种简单方法(对于Intemet系统是一个32位非负整数),它使用方便的十进制数。在很多情况下,我们会注意这个地址的二进制结构。

纯ipv6网站(ipv6与ipv4的地址长度-编程之家

用点四倍和二进制表示法写入的IPv4地址

在IPv6中,地址长度为128位,是IPv4地址的4倍。一般来说,大多数用户都不熟悉。IPv6地址的传统表达方法是使用四个十六进制数字,称为块或字段,用冒号分隔。例如,一个8块的IPv6地址可以写成5f 05:200:80 ad :58003360058:0833600800336020233333333333333:1d 710,这不像用户熟悉的十进制数,而是更容易将十六进制数转换成二进制数。此外,一些常见的简化IPv6地址表示已经标准化。

块中的前导零不需要被写入。在前面的例子中,地址可以写成5f 05:2000:80 ad :58003360583360833608336083608360836080033602023:1d 71。所有零块都可以省略,用符号:3360代替。例如,IPv6地址0:0336003360033600336003:033600336003360033601可以缩写为:336010。同样,地址2001: db 8:336020 336003:03可以缩写为20010。在IPv6格式中,嵌入式IPv4地址可以采用混合符号形式,IPv4部分旁边的地址块的值为ffff,其余地址采用点状四组格式。例如,IPv6地址:ffff:10.0.0.1可以表示IPv4地址10.0.0.10,称为IPv4映射IPv6地址。IPv6地址的低32位通常由四组点表示。因此,IPv6地址:0102:f001相当于地址3360:1.2.240.1。它被称为兼容IPv4的IPv6地址。请注意,IPv4兼容地址不同于IPv4映射地址;它们只是给人一种兼容性的感觉,因为它们可以用类似于IPv4地址的方式编写,或者由软件处理。该地址最初用于IPv4和IPv6之间的过渡计划,但现在不再需要。的前导零必须被压缩(例如,2001:0db8:0022变成2001:db8:22)。3360只能用于最有影响的地方(最压缩的零),但不仅仅用于16位块。如果多个块包含相等长度的零,则最高阶的块将被:3360替换。十六进制数字。a到f应该用小写表示。下表介绍了IPv6地址及其二进制表示的一些示例。

纯ipv6网站(ipv6与ipv4的地址长度-编程之家

IPv6地址及其二进制表示的几个例子

在某些情况下(例如,当表示包含地址的网址时),IPv6地址中的冒号分隔符可能会与其他分隔符混淆,例如在IP地址和结束日期之间使用的冒号。在这种情况下,请用括号字符[和]括起IPv6地址。例如网址

http://[2001:0 db 8:85 a 3:08d :131933608 a2 e 3360037033607344]:443/

是指IPv6主机2001:0 db 8336085 a :08d :131933608 a2 e 3360037033607344中的端口号443,使用HTTP、TCP和IPv6协议。

有了大量的地址(尤其是IPv6),地址空间可以很容易地划分成块。IP地址可以根据类型和大小进行分组。大多数IPv4地址块最终被细分为一个地址,用于标识连接互联网或某些特殊内部网的计算机网络。这些地址称为单播地址。IPv4地址空间大部分是单播地址空间。大多数oIPv6地址空间目前未被使用。

IP地址的表示

//p26.toutiaoimg.com/origin/pgc-image/48f6a8e4e6a94887ad6451ed3afbc3f9?from=pc”>

1Pv4地址空间最初分为五大类

这里,我们看到5个类被命名为A、 B、 C、 D和E。A、 B、 C类空间用于单播地址。如果我们仔细看这些地址结构,可看到不同类的相对大小,以及在实际使用中的地址范围。下表给出了这种类结构(有时被称为分类地址结构)。

纯ipv6网站(ipv6与ipv4的地址长度-编程之家

最初(“分类”)的IPv4地址空间划分

该表显示了分类地址结构的主要使用方式,如何将不同大小的单播地址块分配给用户。类划分基于给定大小的可用网络数和给定网络中的可分配主机数之间的折中。例如,某个站点分配了一个A类网络号18.0.0.0 ,其中有224个地址分配给主机(即IPv4地址使用范围18.0.0.0 – 18.255.255.255),但在整个Intemet中只有127个A类网络。某个站点分配了一个C类网络号,例如192.125.3.0,只能容纳256台主机(也就是说在范围192.125.3.0 – 192.125.3.255内),但有超过200万的C类网络号是可用的。

子网寻址

通过子网寻址,一个站点被分配一个A类、 B类或C类的网络号,保留一些剩余主机号进一步用于站点内分配。该站点可能将基础地址中的主机部分进一步划分为一个子网号和一个主机号。从本质上来说,子网寻址为IP地址结构增加了一个额外部分,但它没有为地址增加长度。因此,一个站点管理员能在子网数和每个子网中预期的主机数之间折中,同时不需要与其他站点协调。

子网寻址提供额外灵活性的代价是增加成本。由于当前的子网字段和主机字段的定义是由站点指定的(不是由网络号分类决定),一个站点中所有路由器和主机需要一种新的方式,以确定地址中的子网部分和其中的主机部分。在出现子网之前,这个信息可直接从一个网络号中获得,只需知道是A类、 B类或C类地址(由地址的前几位表示)。下图给出了使用子网寻址的例子,显示了一个IPv4地址可能的格式。

纯ipv6网站(ipv6与ipv4的地址长度-编程之家

一个B类地址被划分子网的例子。

该站点将每个地址的前16位固定为某些特定号码,这是由于这些位已被分配给核心机构。后16位(仅用于在无子网的B类网络中创建主机号)现在可以由站点的网络管理员接需分配。在这个例子中, 8位被选定为子网号,剩下8位为主机号。这个特殊配置允许站点支持256个子网,每个子网最多可包含254台主机(当前每个子网的第一个和最后一个地址无效,即从整个分配范围中除去第一个和最后一个地址)。注意,只有划分子网的网络中的主机和路由器知道子网结构。在需要进行子网寻址之前, Internet其他部分仍将它作为站点相关的地址来看待。下图显示了如何工作。

纯ipv6网站(ipv6与ipv4的地址长度-编程之家

某个站点被分配一个典型的B类网络号128.32。

本图显示了一个虚拟的站点,使用一个边界路由器(即Internet的一个连接点)连接Internet和两个内部局域网。 x的值可以是[0,255]范围内的任意值。每个以太网是一个IPv4子网,整体分配为B类地址的网络号128.320 1nternet中的其他站点要访问这个站点,目的地址以128.32开始的所有流量直接由Internet路由系统交给边界路由器(特别是其接口的IPv4地址137.164.23.30)。在这点上,边界路由器必须区分128.32网络中的不同子网。特别是,它必须能区分和分离目的地址为128.32.1.x和目的地址为128.32.2.x.的流量。这些地址分别表示子网号1和2,它们都采用128.32的B类网络号。为了做到这点,路由器必须知道在地址中如何找到子网ID。

子网掩码

子网掩码是由一台主机或路由器使用的分配位,以确定如何从一台主机对应IP地址中获得网络和子网信息o IP子网掩码与对应的IP地址长度相同(IPv4为32位, IPv6为128位)。它们通常在一台主机或路由器中以IP地址相同的方式配置,既可以是静态的(通常是路由器),也可以使用一些动态方式。对于IPv4,子网掩码以IPv4地址相同的方式(即点分十进制)编写。虽然最初不需要以这种方式分配,当前子网掩码由一些1后跟一些0构成。这样安排,就可以用容易记的格式表示掩码,只需给出一些连续位的1 (左起)的掩码。这种格式是当前最常见的格式,有时也被称为前缀长度。下面两表列出了IPv4和IPv6的一些例子。

纯ipv6网站(ipv6与ipv4的地址长度-编程之家

各种格式的IPv4子网掩码的例子

纯ipv6网站(ipv6与ipv4的地址长度-编程之家

各种格式的IPv6子网掩码的例子

掩码由路由器和主机使用,以确定一个IP地址的网络/子网部分的结束和主机部分的开始。子网掩码中的一位设为1表示一个IP地址的对应位与一个地址的网络/子网部分的对应位相结合,并将结果作为转发数据报的基础。相反,子网掩码中的一位设为0,表示一个IP地址的对应位作为主机ID的一部分。例如,我们在下图中可以看到,当子网掩码为255.255.255.0时,如何处理IPv4地址128.32.1.140。

纯ipv6网站(ipv6与ipv4的地址长度-编程之家

一个IP地址可以与一个子网掩码使用按位与操作,以形成用于路由的地址的网络/子网标识符(前缀)。

注意, Intemet路由系统其余部分不需要子网掩码的知识,因为站点之外的路由器做出路由决策只基于地址的网络号部分,并不需要网络/子网或主机部分。因此,子网掩码纯粹是站点内部的局部问题。

广播地址

在每个IPv4子网中,一个特殊地址被保留作为子网广播地址。子网广播地址通过将IPv4地址的网络/子网部分设置为适当值,以及主机部分的所有位设置为1而形成。例如128.32.1.0/24。子网广播地址的构建方式为:对子网掩码取反(即将所有的0位改变为1,反之亦然),并与子网中任意计算机的地址(或等值的网络/子网前缀)进行按位或运算。下图显示了这个计算过程,其中使用IPv4地址128.32.1.14。

纯ipv6网站(ipv6与ipv4的地址长度-编程之家