目录
- 一、IPV6与IPV4相比改进之处
- 1. “无限“的地址空间
- 2. 层次化的地址结构
- 3. 即插即用
- 4. 简化了报头头部
- 5.保证端到端网络的完整性
- 6.安全性增强
- 7.增强QoS特性
- 二、IPV6的规则
- IPV6地址主要分为了三类:单播地址,组播地址,任播地址
- 单播地址
- 组播地址
- IPV6的配置
一、IPV6与IPV4相比改进之处
1. “无限“的地址空间
IPV6由128位二进制构成,采用的表述方法为:冒分十六进制
2. 层次化的地址结构
IPV6地址在分配时会更加合理,更便于进行汇总等操作
3. 即插即用
相较于IPV4支持通过DHCP自动获取IP地址,IPV6可以通过SLAAC(无状态地址自动配置)技术来实现快捷的地址下发,不需要DHCP服务器,仅需存在网关,并且网关具备IPV6地址即可。
4. 简化了报头头部
IPV4中TOS字段 — 服务类型 — 做策略用的 ---- IPV6 — 流分类
Total Length — payload length — 将总长度变为了负载长度,取消了头部长度(因为同时也取消了下面的选项字段,使IPV6头部变为定长头部)
FLOW LABEL — 流标签 — 区分和标记不同流量的,便于做QoS — 该参数暂时保留
5.保证端到端网络的完整性
在IPV6网络中,不使用NAT技术,所有设备都可以获得唯一的IP地址进行标识,实现端到端的通讯,可以很方便溯源这些。
6.安全性增强
为了保证IPV6网络数据传输的安全,我们专门研发了一套IPSEC — 因特网协议安全协议,这是一个协议组。目前 IPV4也可以配合IPSEC来使用,效果和IPV6相同。
7.增强QoS特性
主要体现在头部新增了一个流标签字段,更方便做QoS,但是,该字段目前保留。
二、IPV6的规则
采用的表述方法为:冒分十六进制
2001:0123:0000:4560:0000:0000:0000:001A — 首选格式(八组十六进制)
ipv6地址规则:
1,每一段前导0可以省略,如果这一段全是0,则至少保留一个0,拖尾的0不能省略
2001:123:0:4560:0:0:0:1A
2,一个或多个连续的段为全0时,可以使用“::”来标识,但是注意,一个IPV6地址中只能出现一处“::”。
2001:123:0:4560::1A ----- 压缩格式内嵌IPV4地址格式 ::192.168.1.1
IPV6中也存在网络位和主机位。只不过,在IPV6中将网络位称为网络前缀,将主机位称为接口标识。
IPV6地址网络前缀默认为64位:
2001::1 /64
在网络前缀固定的情况下,后面接口标识生成方法:
一、手工配置:自己手工填写一个不会冲突的地址即可;
二、EUI-64自动生成:
1.在48位的MAC地址中间(24位的位置),增加FFFE,添加16位,形成一个64位的二进制。
2.在这个64位的二进制中,找到第7位取反
三、系统设置随机接口ID
在IPV6中,接口支持多宿主 ---- 即一个接口可以配置多个不同网段的IPV6地址。在华为设备上一个接口上不允许配置同一个网段的多个IPV6地址。
IPV6地址主要分为了三类:单播地址,组播地址,任播地址
任播:标识的时一组网络接口,发送一个目标IPV6地址为任播地址的数据包,其效果是发送到该组所有成员接口中距离本地最近的一个接口。
单播地址
1、GUA — 全球单播地址
相当于IPV4中的公网IP地址,可以在全球范围内使用的单播地址。
目前使用的GUA地址范围为:
2000:: /3 ---- 这个地址段分配GUA地址
001 0 ---- 2000:0000:0000:0000:0000:0000:0000:0000
---- 3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
目前商用的IPV6地址段:2001:: /16
2002:: /16 ---- 用于6to4隧道技术
2,ULA — 唯一本地地址
相当于IPV4中的私网地址,但是,因为IPV6中不用NAT技术,所以,这一部分私网地址只是用于私网内实验使用,不允许出现在IPV6公网路由中。
FC00:: /7 ---- 这个地址段是专门为私网地址分配的地址段
1111 110 0
目前仅使用了FD00:: /8,FC00:: /8目前保留,后面拓展使用。
3,LLA — 本地链路地址
IPV4中也存在本地链路地址 — 169.254.0.0/16
在IPV6中,因为接口是支持多宿主的,所以,每一个接口,只要激活了IPV6,就会给自己配一个LLA地址。
固定的网络前缀:FE80:: /10
接口标识:将按照EUI-64的方法自动生成
== 因为,IPV6支持多宿主,所以,在动态路由协议选择下一跳IP时,处于稳定性考虑,会优先选择LLA地址作为下一跳地址。==
组播地址
其目的是为了标识某个组播组,发送一个目标IP地址为组播地址的数据包,则该报文将被发送至整个组播组中的所有成员。
FF:: /8 ---- ipv6组播地址段
IPV4中的本地链路组播:
RIPV2 — 224.0.0.9
OSPF — 224.0.0.5,224.0.0.6
224.0.0.1 — 针对所有的路由器和PC。针对的是所有节点。
224.0.0.2 — 针对所有路由器
224.0.0.1 ---- FF02::1 ----- 33:33:00:00:00:01
224.0.0.2 ---- FF02::2 ----- 33:33:00:00:00:02
224.0.0.9 ---- FF02::9 ----- 33:33:00:00:00:09
224.0.0.5 ---- FF02::5 ----- 33:33:00:00:00:05
224.0.0.6 ---- FF02::6 ----- 33:33:00:00:00:06
IPV6组播地址对应组播MAC地址,前16位为固定值 — 33:33,组播IPV6地址的后32位为组播MAC地址的后32位。
组播地址中还有一种 — 被请求节点组播
当一个节点,具备单播地址之后,将自动生成一个被请求节点组播地址。生成后,被请求节点就会加入到对应的组播组中。
FF02::1:FF — 前104位固定,后24位为单播地址的后24位
2001::1
FF02::1:FF00:1
特殊地址:
1,:: — 128位全0 ---- 等同于IPV4中的0.0.0.0 ---- 1,代表没有地址;2,代表所有地址(缺省)
2,::1 — 环回地址 ---- 等同于127.0.0.1
IPV6的配置
ICMPV6 ---- 互联网控制报文协议
在IPV6体系下,取代ARP协议的是NDP(邻居发现协议)协议,他是集成在ICMPV6下的,包括无状态地址自动配置功能也是通过NDP协议来实现的。ICMPV6协议还具备path-MTU发现机制(PMTUD)。
因为ICMPV6集成很多功能,所以,不同功能的数据报会通过ICMPV6数
据报中的type字段进行区分。比如:ping ----- echo
request — TYPE = 128
echo reply ---- type = 129
PMTUD ---- 在IPV6路由生成后,设备会发送ICMPV6报文检测包,去
检测整条路径中最小的MTU值(PMTU)。之后,在发送数据包时按照
最小MTU值发送,避免过程中出现分片的现象。
一个接口,在正式发送IPV6报文之前,将经历一下3个过程
1,地址配置
2,DAD — 地址冲突检测
3,地址解析
1,地址配置
GUA地址的获取方法 — 1,手工配置
2,无状态自动配置(SLAAC — NDP协
议)
3,有状态自动配置(DHCPV6)
无状态自动配置 — 无需DHCP服务器,只要由网关,便可以让
接入IPV6网络中的设备获得IPV6地址,即插即用。
需要利用ICMPV6中的两种报文
路由器请求报文(RS) — 主机主动发送RS请求 — type = 133
路由器通告报文(RA) — 网关回复RA报文,报文中包含网关的网络前缀,后面的接口标识需要设备自动生成。 —type = 134
还存在另一种形式,网关设备会周期性的主动发送RA报文,携带自己的网络前缀。(华为设备默认关闭自动发送功能。)
因为无状态地址配置无法下发DNS等其他参数信息,所以,一般多应用于物联网等终端较多,且不需要除地址外其他参数的场景。
2,DAD和地址解析就是IPV4中ARP协议完成的任务,在IPV6中都由NDP
协议来完成。
在NDP完成地址解析时需要使用两种报文
邻居请求报文(NS) — 相当于ARP请求报文,type = 135
邻居通告报文(NA) — 相当于ARP应答报文,type = 136
请求报文:
在ARP中 — SIP:自己IP DIP:请求的IP
在NDP中 — SIP:自己的IP DIP:请求IP所对应的被请求节点
组播地址。
在ARP中 — SM:自己MAC DM:全F
在NDP中 — SM:自己MAC DM:被请求组播地址对应的组播
MAC地址
应答报文:
在ARP和NDP均使用单播回复