网络层(6) IPv6
一、IPv6地址概念介绍
IPv6是“Internet Protocol Version6”(互联网协议第6版),用于替代IPv4的下一代IP协议。由于IPv4地址资源有限,制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
二、IPv6地址使用的原因
1. IPv4地址枯竭不够使用问题:
根据互联网地址分配的官方组织公告说明,随着IPv4地址诞生以来,使用的人员递增,网络设备的不断增加,IPv4地址已经出现了枯竭不够使用的情况,根据最新公告,地址将在2020年使用耗尽。
2.IPv6地址端到端通讯有局限性:
由于IPv4地址不足,通常使用NAT技术来实现私网地址与公网地址的转换,但这种技术也有局限性,如使用地址加密技术IPsec VPN,就不能使用NAT地址,因此端到端的通讯会受影响,而使用IPv6地址就不用考虑地址不足问题。
三、IPv6地址优势和特点
1.全局可达性与灵活性
2.网络地址聚合性更高
3.地址的多宿主特性(没有子接口地址概念)
4.地址自动分配方式简单(自动配置地址技术)
5.更容易可以实现端到端通讯
四、IPv6数据报格式
IPv6数据报包含两个部分,分别是基本首部(40B)和有效载荷。有交载荷又包含两个部分,分别是选项部分和数据部分,选项部分是各种扩展首部。
1、版本(4bit):指明协议版本,IPv6就是6。
2、优先级(8bit):区分数据报的优先级,是否需要对数据报进行优先处理。
3、流标签(20bit):“流”是指在互联网络上从特定源点到特定终点的一系列数据据。所有属于同一个流的数据报都具有同样的流标签。
4、有交载荷长度(32bit):它指的是IPv6数据报的有效载荷的长度,指扩展首部+数据部分的总长。
5、下一个首部(8bit):标识下一个扩展首部字段的位置。如一个IPv6数据报,基本首部的下一个首部则指向的是扩展首部1,而扩展首部1的下一个首部则指向扩展首部2,扩展首部2的下一个首部则指向扩展首部3,以此类推。
6、跳数限制(8bit):就是跳数限制。类拟于IPv4的TTL值。
7、源地址和目的地址(128bit):就是IPv6的源地址和目的地址。
注:IPv6头部默认为40字节。
五、IPv6 地址报文
IPv4地址采用32位二进制组成,IPv4地址数据为:2的32次方。
IPv6 地址采用128位二进制组成,IPv6地址数据为2的128次方。
IPv4地址与IPv6地址的报文对比:
IPv6与IPv4地址的区别:
(1)IPv6把IPv4的可选字段移多首部,变成了扩展首部,成为灵活的首部格式,路由器不对扩展首部进行检查,大大提高了路由器的处理效率。
(2)IPv6支持即插即用(即自动配置),不需要DHCP协议。
(3)IPv6首部长度必须是8B的整数部,IPv4首部是4B的整数倍。
(4)IPv6只能在主机处分片,IPv4可以在路由器和主机处分片。
(5)IPv6取消了协议字段,改成下一个首部字段。
(6)IPv6取消了总长度长段,改用有效载荷长度字段。
(7)IPv6取消了服务类型字段。
(8)IPv6地址在通讯过程中不存在广播通讯方式。
五、IPv6 地址使用与过渡
利用下面两种方案解决IPv4至IPv6地址过渡问题:
1.双栈协议技术
指在同一台设备的网卡上同时配置IPv4地址,也配置IPv6地址,根据不同网络环境,使用不同地址进行通讯。
2.使用隧道技术
在原有使用IPv4的网络环境中打一个隧道,隧道技术将其它协议的数据帧或包重新封装,然后通过隧道发送。要实现IPv6地址的通讯需要(6to4)。
3.释译技术
解决纯IPv6节点与IPv4节点之间通信。
六、IPv6 地址组成
IPv6 地址是由128位二进制组成,每4位二进制划分为一组,IPv6地址可以分成8组字符串。
XXXX:XXXX: XXXX:XXXX: XXXX:XXXX: XXXX:XXXX 16进制信息
IPv6地址可以分为:IPv6 单播地址、IPv6 组播地址、IPv6 任意播地址。
IPv6单播地址:一对一通信,可做为源地址和目的地址使用。
IPv6组播地址:一对多通信,可做目的地址。取代了IPv4中的广播地址。
IPv6任意播地址:一对多中的一个通信,可做目的地址。
IPv6单播地址,又可以分成以下几种
1.聚合全局单播地址
其实就是公网IP地址,又称为AGUA地址,地址的组成格式如图所示:
开始地址为:2000:0000: 0000: 0000: 0000: 0000: 0000: 0000
结束地址为:3FFF:FFFF: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF
主机分配为:2001::/16
设备使用为:2002::/16 实现6to4隧道使用的地址。
2.链路本地单播地址
链路本地单播地址用于邻居发现协议,主要用于启动时链路结点的自动地址配置,该地址的起始10位固定为1111 1110 10(FE80::/10)。
分配的地址为: FE80::/10。
3.站点本地地址
其实就是主机配置的私网IP地址,在没有得到公网地址时,可以分配给主机使用的私网地址,用于进行网络测试通讯。
分配的地址为:FEC0::/10
4.未指定地址和还回接口地址
就是在自动获取网络地址的过程中,需要一个地址表示网卡地址信息,就是0000:0000: 0000:0000: 0000:0000: 0000:0000(简写为::);还回接口地址就是等价于IPv4中的127.0.0.1地址,使用0000:0000: 0000:0000: 0000:0000: 0000:0001(简写为::1)。
5.IPv4兼容地址
就是主机上已配置IPv4地址,能够将IPv4地址转换为IPv6地址就是所谓的兼容地址。
比如:我们的主机已配置了192.168.1.5地址,如转换为IPv6地址,对应的IPv6地址就是0:0: 0:0: 0:0: 192.168.1.5->0:0: 0:0: 0:0:C0A8:0105。
6.IPv6 任意播地址
表示一组接口的标识符,通常是路由距离最近的接口,任意播地址不能用作源地址,而只能作为目标地址,任意播地址不能指定给IPv6主机,只能指定给IPv6路由器。
7.IPv6 组播地址
发住组播地址的分组被传送给絯地址标识的所有接口,IPv6中没有广播地址,它的功能已被组播地址所代替,IPv6组播地址的格式前缀为1111 1111 十六进制为 FF00::/8 开头。
七、IPv4与IPv6地址对比
八、IPv6地址编写
IPv6地址采用128位二进制组成,在编写时,采用冒号分16进制表示,以下就是一个常见的IPv6地址格式:
2001:0DB0:010F:0000:0000:0000:0000:0D0C
其实IPv6有简化规则:
1.每组地址0开头可以省略
原地址为: 2001:0DB0:010F:0000:0000:0000:0000:0D0C
简化地址: 2001:DB0:10F:0000:0000:0000:0000:D0C
2.每组连续多个0可以用一个0表示
原地址为: 2001:0DB0:010F:0000:0000:0000:0000:0D0C
简化地址: 2001:DB0:10F: 0: 0: 0: 0:D0C
3.连续多组0可以用::表示(双冒号只能出现一次)
原地址为: 2001:0DB0:010F:0000:0000:0000:0000:0D0C
简化地址: 2001:DB0:10F::D0C