IPv4地址用完了,学习IPv6看这篇文章就够了

本文详细介绍了IPv6地址的表示方式、地址类型,包括全球单播、本地单播、任意播和组播地址,并讲解了ICMPv6和NDP(邻居发现协议)的相关内容,如地址自动配置、路由器发现和地址冲突检测等,旨在帮助读者全面理解IPv6的基本原理和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上帝视角

初识 IPv6

2019 年 11 月 25 日已分配完公网 IPv4 地址,以后就没有多余地址可以分配了。短期内可以使用 NAT 技术进行缓解。长期来看,还是要用 128 位的 IPv6 地址替代 32 位的 IPv4 地址,IPv6 有 3.4×10^38 个可用地址,多得不得了,可以满足未来 IP 地址的需求。

IPv6地址数量

IPv6 地址

IPv6 地址不但比 IPv4 的地址长度长,还其它方面的不同。

1、IPv6 地址表示

32 位的 IPv4 地址,分隔成 4 个 8 位段,每 8 位段的值在 0 ~ 255 之间,每个 8 位段之间用 “ . ” 分开,这就是 “ 点分十进制表示法 ” 。举个栗子:

192.168.0.1

而 128 位的 IPv6 地址,是 IPv4 地址的 4 倍,如果用点分十进制表示法,那么会有 16 个八位组,地址过于冗长。为了使用方便, 使用十六进制表示法,分隔成 8 个 16 位段,每 16 位段的值在 0000 ~ FFFF 的十六进制数之间,每个 16 位段之间用 “ : ” 分开。举个栗子:

2001:1111:0100:000a:0000:00bc:2500:0a0b

为了方便理解,可以查看下面的进制转换表

进制转换表

但是 IPv6 地址还是太长,不方便记忆,看着都头晕,也不方便书写,毫无规律可言。于是就有了两条简化规则。第一条规则是:

  • 每组十六进制数中开头的 0 可以省略。

上面的 IPv6 地址可以写成: 2001:1111:100:a:0:bc:2500:a0b

这里需要注意,开头的 0 才能省略,末尾的 0 是不能省略的,因为这样会引起歧义,无法确定省略的 0 是在数字前还是数字后。

如果有个 IPv6 地址有一串的 0 ,比如:

2001:0000:0000:0000:0000:0000:0000:0003

可以简写成:

2001:0:0:0:0:0:0:3

这时,还可以使用第二个规则进行简化,第二条规则是:

  • 由全 0 组成的连续的 16 位段可以用一对冒号 “ :: ” 表示。

上面的地址还可以简化成:

2001::3

这里需要注意,一个 IPv6 地址内,只能使用一次 “ :: ” 表示。如果使用两次及以上,也会产生歧义。举个栗子:

2001:0a0c:0000:0000:0021:0000:0000:0077

正确的写法有是:

2001:a0c::21:0:0:77

2001:a0c:0:0:21::77

如果使用了两次 “ :: ” ,那么就是错误的:

2001:a0c::21::77

有两个全 0 字符串,就无法确定它们的长度,上面错误的地址会有几种可能:

2001:0a0c:0000:0021:0000:0000:0000:0077

2001:0a0c:0000:0000:0021:0000:0000:0077

2001:0a0c:0000:0000:0000:0021:0000:0077

IPv4 的网段地址可以用子网掩码表示,还可以用斜线法表示。IPv6 只能用斜线法表示网段地址,即在 IPv6 地址后面加上一个斜线 “ / ” ,后面加上一个十进制的数字,来表示前面多少位是网络位。网络位是 64 位的 IPv6 地址表示如下:

3001:2222:333:aa:bc::707:9900/64

对应的网段地址是:

3001:2222:333:aa::/64

全是 0 的 IPv6 地址可以写成一对冒号。当网络位是 0 位时,表示默认地址。

::/0

当网络位是 128 位时,表示未指定地址( unspecified address )。设备未分配 IPv6 地址时,就用未指定地址作为标识进行报文交互。

::/128

2、IPv6 地址类型

IPv6 地址根据使用范围和功能,分为三种类型:

  • 单播( Unicast )
  • 任意播( Anycast )
  • 组播( Multicast )

对比 IPv4 ,IPv6 地址中没有广播地址,但是有一个包含全部节点的组播地址,跟 IPv4 中的广播地址功能相同。

其中单播地址又细分为全球单播地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值