IPV4问题与改进
IPV4存在的问题 | IPV6的改进 |
---|---|
网络地址短缺:IPV4为32位,只能提供43亿个地址 | IPV6 128位 |
地址分配不合理:IPV4中1/3被美国占用 | |
路由速度慢:随着网络规模扩大,路由表越来越庞大,路由处理速度越来越慢,IPV4头部多达13个字段 | IPV6 只有8个字段 |
缺乏安全功能:IPV4没有加密、认证等机制 | IPV6集成IPSec |
不支持新的业务模式:IPV4没有扩展字段 | IPV6支持多报头嵌套 |
IPV6只能由源节点进行分段,中间路由器不能分段,目的是简化路由处理,MTU发现 |
IPV6报文格式
- 版本:与IPv4报文头部相同,用于标记版本(表明报文时IPv4还是IPv6),一共4bit,值为0110;
- 通信类型:占8bit。用于区分不同的IP分组,相当于IPV4中服务类型字段;
流标记:20位,可以用来标记报文的数据类型。该字段占20bit,因此一共可以有2^20个标签,如果使用IPv6使用MPLS或者是QoS,可以很方便的使用该字段作为标签; - 负载长度:16位。该字段指的是IPv6报文中除了基本报头外其他剩余部分的长度。由于该字段只有20bit,因此当IPv6超出这个长度时,必须要进行分片;
- 下一跳头部:占8bit,表明下一个头部(可能是上层协议或者是扩展报头)的类型;
- 跳数限制:共8bit,类似于IPv4中的TTL,用于三层防环。
- 源地址:128位,发送节点的地址;
- 目的地址:128位,接收节点的地址;
6种扩展头部
IPV6地址
- 128位;(8组,每组为四个十六进制数)
- 采用冒号分隔的十六进制数表示
冒号分十六进制
例子:
8000:0000:0000:0123:4567:89AB:CDEF
-
每个字段前面的0可以省去,例如0123可以简写为123;
-
一个或多个全0字段,可以用一对冒号"::"代替;
以上地址可简写为 8000::1235:4567:89AB:CDEF
-
IPv4兼容地址可以写为 ::192.168.10.1;
-
有效0位不可以简写,双冒号只能出现一次;
合法写法:
12AB:0000:0000:CD30:0000:0000:0000:0000/60
12AB::CD30:0:0:0:0/60
12AB:0:0:CD30::/60
非法写法
12AB:0:0:CD3/60 //在16位的字段中可以省掉前面的0,但不能省掉后面的0;
12AB::CD30/60 //这种表示可展开为12AB:0000:0000:0000:0000:0000:0000:CD30)
12AB::CD3/60 //这种表示可展开为12AB:0000:0000:0000:0000:0000:0000:0CD3)
IPv6地址分类
单播地址
- 不确定地址:地址0:0:0:0:0:0:0:0,称为不确定地址,不能分配给任何节点;
- 回环地址:地址0:0:0:0:0:0:0:1 称为回环地址;
- 可聚合全球单播地址:这种地址在全球范围内有效,相当于IPv4公有地址(前缀为001);
- 链路本地地址:用于同一链路的相邻节点间的通信(前缀为1111 1110 10),结合MAC地址自动生产;
- 站点本地地址:相当于IPv4中的私网地址(前缀为1111 1110 11);
任意播地址
表示一组接口的标识符,通常是路由距离最近的接口;
- 任意播地址不能用作源地址,而只能作为目标地址;
- 任意播地址不能指定给IPv6主机,只能指定给IPv6路由器;
组播地址
- 发往组播地址的分组被传送给该地址标识的所有接口;
- IPv6中没有广播地址,它的功能已被组播地址所代替;
- IPv6组播地址的格式前缀为1111 1111
IPv4和IPv6地址对比
IPv6路由协议
- RIPng、OSPFv3、BGP4+;
- DHCPv6 无状态配置;
- ICMPv6(新增加的邻居发现功能代替了ARP协议的功能)
过渡技术
- 隧道技术:解决IPv6节点之间通过IPv4网络进行通信;
- 双栈技术:同时运行IPv4和IPv6;
- 翻译技术:解决纯IPv6节点与纯IPv4节点之间进行通信;