一、为什么需要IPv6
1.什么是IPV6?
IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation)。它是Internet工程任务组IETF(Internet Engineering Task Force)设计的一套规范,是IPv4(Internet Protocol Version 4)的升级版本。
2.有何优点?
近乎无限的地址空间,最大可能是运用于万物互联的物联网时代。IPV6地址采用128bit长度,而IPv4是32bit长度。
例如:2001:0000:0000:0000:0000:0000:0000:0001/126,其中126是前缀
报文头部结构更加简洁,灵活。相比于IPv4去除了IHL、Identifier、Flag、Fragment Offset、Header Checksum、 Option、Padding域。支持扩展头部,新增选项时不必修改现有结构,理论上可以无限扩展,体现了优异的灵活性。
支持无状态自动配置功能。使IPV6终端能够即插即用,省去地址分配的麻烦。
V6中取消了广播机制。在V4中所有需要借助广播来工作的协议在V6中均采用组播代替。
二、IPV6基本包头
正在上传…重新上传取消
正在上传…重新上传取消
1. version : 版本号,值固定为6,4个比特位。
2. Traffic Class : 通信量类,与IPv4 首部ToS字段等效。由于从来没被广泛使用,因此最终这个8位长的字段被分为两个部分。前6位被称为区分服务字段(DS字段),后2位是显示拥塞通知(ECN)字段或指示位。这些字段被用于数据报转发时的特殊处理。
3. Flow Label : 流标识。标识这个数据包属于源节点和目标节点之间的一个特定数据包序列,该字段长度为20位。举个栗子,同一个连接IPv6数据流流标识应相同。
4. Payload Length : 负载长度。不包含IPv6首部长度。这个长度就是扩展首部和数据长度和。
5 . Next Header : 指出下一个扩展首部的类型,如果没有扩展首部的话,这个字段指的是传输层的协议类型,例如TCP/UDP。
6. Hop Limit : 跳数限制,这个字段和IPv4首部中TTL类似,传输过程中,每经过一个节点,该字段递减1,为0时丢弃。
7. Source Address : 128位 16字节长度 源地址。
8. Destination Address : 128位 16字节长 目的地址。
以NA报头为例:
正在上传…重新上传取消
正在上传…重新上传取消
正在上传…重新上传取消
正在上传…重新上传取消
三、IPv6地址概述
1.IPV6地址写法
IPV6地址写法: 使用冒分16进制标示,每16位为一段;共8段.
例如:2031:0000:130F:0000:0000:09C0:006A:130B
(1)每一段地址前面的0可以省略
2031:0000:130F:0000:0000:9C0:6A:130B
(2)若一段全为0,可以省略成一个0
2031:0:130F:0:0:9C0:6A:130B
(3)若连续两段以上全0,可以省略为::
2031:0:130F::9C0:6A:130B
(4)若存在两个部分均为全0,只能将其中一个部分省略为::
例如:2031:0000:0000:9C0:0000:0000:0000:130B
2031:0:0:9C0::130B
2.IPV6地址分类
1、单播地址 一对一 只有单播地址能作为源地址,也可作为目标地址。
标识一个接口,目的地址为单播地址的报文会被送到被标识的接口。IPV6中,一个接口可拥有多个IPV6地址。
2、组播地址 一对多 作为目标地址。
标识多个接口,目的地址为组播地址的报文被送到被标识的所有口,只有加入相应组播组的设备接口才会侦听发往该组播地址的报文。
3、任播地址 一到最近
任播地址标识一组网络接口(通常属于不同节点),目标地址是任播地址的数据包将发给其中路由意义上最近的一个网络接口。
4、IPV6没有定义广播地址
2.IPV6地址分析
1.单播地址:
(1)全球可聚合单播地址(Aggregate Global Unicast Address)
• IPV6的公网地址(需申请),全球单播传递
• 目前全球已规划地址----2000::/3
• 范围–2000::-----3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
• 一般从运营商处申请到的IPV6地址空间为/48(已分配的全局路由前缀前3bit001,因此只有45bit),再由自己根据需要进一步规划。
正在上传…重新上传取消
• 子网ID:组织机构可以用子网ID来构建本地网络
• 接口ID:用来标识一个设备(的接口)
正在上传…重新上传取消
正在上传…重新上传取消
(2)唯一本地地址(Unique Local Address)
• 是IPV6的私有地址,只能在内网中使用,不可再公网中路由,不能直接访问公网。
• 唯一本地地址使用FC00/7地址块,其中最高的第8位为L位,值为1代表该地址为在本地网络范围中使用的地址;值为0被保留,用于以后的发展。因此FC00/7被分成两个/8的块,其中FC00/8暂时未定义
正在上传…重新上传取消
• ULA虽然只在有限范围内有效,但也具有全球唯一的前缀。(伪随机,冲突可能性很低)
• Global ID是通过伪随机的方式产生的。
(3)链路本地地址(Link Local Address)
• 是IPV6中的应用范围受限的地址类型,只能在链接到同一本地链路的节点之间使用。
• 使用前缀 FE80::/10。
正在上传…重新上传取消
• LLA用于一条单一链路层面的通信,例如IPV6的地址无状态自动配置,IGP对等体关系等。有效范围为本地链路。
正在上传…重新上传取消
正在上传…重新上传取消
正在上传…重新上传取消
正在上传…重新上传取消
正在上传…重新上传取消
• 每一个IPV6接口都必须具备一个链路本地地址。华为设备支持自动生成和手动配置。
• 在华为路由器上,当接口获得一个IPV6全球单播地址后,设备会自动为该接口配置LLA。
• 源或目的的IPV6地址为LLA的数据包将不会被转发出始发的链路之外,换句话说,链路本地地址的有效范围为本地链路。
EUI-64接口ID
• 接口ID为64bit,用来标识链路上的接口,在每条链路上必须唯一
• IEEE EUI-64规范将48bit的MAC地址转化为64bit的接口ID。某些系统支持自动生成随机接口ID(Windows 7)
EUI-64构造方法是:
原始MAC: 00-e0-4c-00-32-1a
一、先将MAC一分为二,中间填入0xff 0xfe,得到EUI-64
00-e0-4c 00-32-1a
00-e0-4c-ff-fe-00-32-1a
二、将U/L位取反,最后得到IPV6接口标识符.
0000 0000-e0-4c-ff-fe-00-32-1a
0000 0010-e0-4c-ff-fe-00-32-1a
02-e0-4c-ff-fe-00-32-1a
其中,U/L求反就是将第七位的二进制改写,如果原值是1就改写成0,如果原值是0就改写成1.
正在上传…重新上传取消
正在上传…重新上传取消
2.组播地址
用来标识一组接口,发往组播地址的数据将被转发给侦听该地址的多个设备
地址范围:FFxx::/8
正在上传…重新上传取消
被请求节点组播地址(solicited-node multicast address)
一种特殊的组播地址,对于节点或路由器的接口上配置的每个单播和任意播地址,都会自动生成一个对应的被请求节点组播地址。注意link-local address也会生成一个被请求节点的组播地址。
特点 :
1 在本地链路上,被请求接点的组播地址中只包含一个用户
2 只要知道一个节点的ipv6地址,就能计算出他的被请求节点的组播地址
作用:
1、在IPV6中,没有ARP。ICMP代替了ARP的功能,被请求节点的组播地址被节点用来获得相同本地链路上邻居节点的链路层地址
2、用于重复地址检测DAD,在使用无状态自动配置将某个地址配置为自已的IPV6地址之前,节点利用DAD验证在其本地链路上该地址是否已经被使用。
前缀:FF02:0000:0000:0000:0000:0001:FFxx:xxxx/104
FF02::1:FFxx:xxxx/104
如何产生:被请求节点组播地址的前104位固定,将IP地址的后24位移下来填充到后面就可以了
正在上传…重新上传取消
正在上传…重新上传取消