认识IP V6 地址
来源:互联网 发布:知乎 山下智博 编辑:程序博客网 时间:2024/05/01 10:59
我们知道,Internet的主机都有一个唯一的IP地址,IP地址用一个32位二进制的数表示一个主机号码,但32位地址资源有限,已经不能满足用户的需求了,因此Internet研究组织发布新的主机标识方法,即IPv6。在RFC1884中(RFC是Request for Comments document的缩写。RFC实际上就是Internet有关服务的一些标准),规定的标准语法建议把IPv6地址的128位(16个字节)写成8个16位的无符号整数,每个整数用四个十六进制位表示,这些数之间用冒号(:)分开,例如:3ffe:3201:1401:1280:c8ff:fe4d:db39
IPv6相对于现在的IP(即IPv4)有如下特点:
扩展的寻址能力
IPv6将IP地址长度从32位扩展到128位,支持更多级别的地址层次、更多的可寻址节点数以及更简单的地址自动配置。通过在组播地址中增加一个“范围”域提高了多点传送路由的可扩展性。还定义了一种新的地址类型,称为“任意播地址”,用于发送包给一组节点中的任意一个;
简化的报头格式
一些IPv4报头字段被删除或变为了可选项,以减少包处理中例行处理的消耗并限制IPv6报头消耗的带宽;
对扩展报头和选项支持的改进
IP报头选项编码方式的改变可以提高转发效率,使得对选项长度的限制更宽松,且提供了将来引入新的选项的更大的灵活性;
标识流的能力
增加了一种新的能力,使得标识属于发送方要求特别处理(如非默认的服务质量获“实时”服务)的特定通信“流”的包成为可能;
认证和加密能力
IPv6中指定了支持认证、数据完整性和(可选的)数据机密性的扩展功能。
IPv6地址语法
IPv4地址表示为点分十进制格式,32位的地址分成4个8位分组,每个8位写成十进制,中间用点号分隔。而IPv6的128位地址则是以16位为一分组,每个16位分组写成4个十六进制数,中间用冒号分隔,称为冒号分十六进制格式。
下面试举一例,先看一个以二进制形式表示的IPv6地址:
0010000111011010000000001101001100000000000000000010111100111011
0000001010101010000000001111111111111110001010001001110001011010
该128位地址以16位为一分组可表示为:
0010000111011010 0000000011010011 0000000000000000 0010111100111011
0000001010101010 0000000011111111 1111111000101000 1001110001011010
每个16位分组转换成十六进制并以冒号分隔:
21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A
IPv6可以将每4个十六进制数字中的前导零位去除做简化表示,但每个分组必须至少保留一位数字。去除前导零位后,上述地址可写成:
21DA:D3:0:2F3B:2AA:FF:FE28:9C5A
零压缩
某些类型的地址中可能包含很长的零序列,为进一步简化表示法,IPv6还可以将冒号十六进制格式中相邻的连续零位进行零压缩,用双冒号“::”表示。 例如链路本地地址FE80:0:0:0:2AA:FF:FE9A:4CA2可压缩成FE80::2AA:FF:FE9A:4CA2;多点传送地址FF02:0:0:0:0:0:0:2压缩后,可表示为FF02::2。
要想知道“::”究竟代表多少个“0”,我们可以做这样的计算:用8去减压缩后的分组数,再将结果乘以16。例如,在地址FF02::2中,有两个分组(“FF02”分组和“2”分组),那么被压缩掉的“0”共有(8-2)*16 = 96位。
值得注意的是,在一个特定的地址中,零压缩只能使用一次,也就是说,在任意一个冒号分十六进制格式中只能出现一个双冒号“::”,否则我们就无法知道每个“::”所代表的确切零位数了。
IPv6 前缀
前缀是地址中具有固定值的位数部分或表示网络标识的位数部分。IPv6的子网标识、路由器和地址范围前缀表示法与IPv4采用的CIDR标记法相同,其前缀可书写为:地址/前缀长度。例如21DA:D3::/48是一个路由器前缀,而21DA:D3:0:2F3B::/64是一个子网前缀。
注意:在IPv4实现中普遍使用的被称为子网掩码的点分十进制网络前缀表示法在IPv6中已不再使用,IPv6仅支持前缀长度表示法。
IPv6地址类型
IPv6地址是独立接口的标识符,所有的IPv6地址都被分配到接口,而非节点。由于每个接口都属于某个特定节点,因此节点的任意一个接口地址都可用来标识一个节点。IPv6有三种类型地址:
单播
用于确认单独接口的一个地址。发往单播地址的数据包被发送到该地址所确认的接口。按照数据包的可到达性,单播支持以下类型的地址
1、全球单播地址
能够全球到达和确认的地址。全球单播地址由一个全球选路前缀、一个子网ID 和一个接口ID 组成。当前全球单播地址分配使用的地址范围从二进制值001 (2000::/3) 开始,即全部IPv6 地址空间的八分之一。
2、站点本地单播地址:
只能在客户站点内到达和确认的地址,类似于IPv4 专用地址10.0.0.0/8 和192.168.0.0/16。站点本地单播地址包含一个FEC0::/10 前缀、子网ID 以及接口ID。
3、链路本地单播地址:
只能由与同一本地链路相连的节点到达和确认的地址。链路本地单播地址使用FE80::/ 10 前缀和一个接口ID
单播地址interface ID 的64位的来历
另外单播还包括一些其他特殊的地址
在IPv4向IPv6的迁移过渡期,两类地址并存,我们还将看到一些特殊的地址类型:
IPv4兼容地址
IPv4兼容地址,可表示为0:0:0:0:0:0:w.x.y.z或::w.x.y.z(w.x.y.z是以点分十进制表示的IPv4地址),用于具有IPv4和IPv6两种协议的节点使用IPv6进行通信。
IPv4映射地址
IPv4映射地址是又一种内嵌IPv4地址的IPv6地址,可表示为0:0:0:0:0:FFFF:w.x.y.z或::FFFF:w.x.y.z。这种地址被用来表示仅支持IPv4地址的节点。
6to4地址
6to4地址用于具有IPv4和IPv6两种协议的节点在IPv4路由架构中进行通信。6to4是通过IPv4路由方式在主机和路由器之间传递IPv6分组的动态隧道技术。
任播
任播地址是分配给一套属于不同节点的接口的全球地址(如图所示)。发往一个任播地址的数据包被发送到
最近的接口。任播地址具有以下限制:
任播地址不得用作IPv6 数据包的源地址。
任播地址不得分配给IPv6 主机,但是可以分配给IPv6 路由器。
组播
与在IPv4 中一样,组播地址被分配给一套属于不同节点的接口。发往组播地址的数据包被发送到该地址所
确定的所有接口。IPv6 组播地址使用FF00::/8 前缀,全部IPv6 地址空间的1/256
IP v6地址目前分配状况:
补充一些常用的地址前缀
::/128 即0:0:0:0:0:0:0:0,只能作为尚未获得正式地址的主机的源地址,不能作为目的地址,不能分配给真实的网络接口
::1/128 即0:0:0:0:0:0:0:1,回环地址,相当于ipv4中的localhost(127.0.0.1),ping locahost可得到此地址
2001::/16 全球可聚合地址,由 IANA 按地域和ISP进行分配,是最常用的IPv6地址
2002::/16 6 to 4 地址,用于6to4自动构造隧道技术的地址
3ffe::/16 早期开始的IPv6 6bone试验网地址
注:上面三类属于单播地址,都是目前互联网上广泛应用的IPv6地址
fe80::/10 本地链路地址,用于单一链路,适用于自动配置、邻机发现等,路由器不转发
ff00::/8 组播地址
::A.B.C.D 其中<A.B.C.D>代表ipv4地址,兼容IPv4的IPv6地址。自动将IPv6包以隧道方式在IPv4网络中传送的IPv4/IPv6节点将使用这些地址
::FFFF:A.B.C.D 其中<A.B.C.D>代表ipv4地址,例如 ::ffff:202.120.2.30 ,是IPv4映射过来的IPv6地址,它是在不支持IPv6的网上用于表示IPv4节点
- 认识IP V6 地址
- IP V6的地址格式
- IP V6
- 深入浅出认识IP地址的真正含义
- 【网络】认识IP地址与掩码
- 获取ipv4、v6 地址
- IP*Works! V6 for VS2003
- 为IP v6划分子网
- 为IP v6划分子网
- 为IP v6划分子网
- MyEcipse v3 v4 v5 v6 下载地址
- infBox V6.3 软件+演示 下载地址
- 面对 IP v6 十大须知
- 关于IP v6的一点中文资料
- Miridix IP Ping Tool v6.5
- Cordic v6.0 IP CORE使用说明
- IP地址
- IP地址
- 第7天:CSS入门
- 为什么Photoshop打不开用GDI+生成的jpeg文件
- Mailman开源邮件列表系统
- 腾讯VS珊瑚虫
- 深入浅出Liferay Portal (10)
- 认识IP V6 地址
- 一些电子书籍的网站
- 用apache实现禁止IP段或者主机对某个目录的访问
- C语言常犯错误积累(三)
- Servlet/Jsp性能优化
- 链表的C语言实现基础介绍
- JSP中WAP中文乱码解决方案
- C++内存管理变革(8):No Lock(无锁)的GC Allocator
- 欢迎光临我的新博客CORE SPACE