IPv6
IPv6:由IETF设计的用来替代现行的IPv4协议的一种新的IP协议。现在的互联网大多数应用的是IPv4协议,但IPv4协议面临着地址匮乏等一系列问题。在IPv6的设计过程中除解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其它一些问题,主要有端到端IP连接、服务质量(QoS)、安全性、多播、移动性、即插即用等
IPv6相比IPv4的优点:
更大的地址空间
更高效的路由基础
更好的安全型
移动性
更好的QoS
IP包头结构
版本(4) |
流量类型(8) |
流标签(20) |
||
载荷长度(16) |
下一包头(8) |
跳数限制(8) |
||
源地址(128) |
||||
目标地址(128) |
||||
版本:长度为4位,对于IPv6,该字段必须为6。
流量类型:长度为8位。
流标签:长度为20位,用于标识同一业务流的包。
载荷长度:长度为16位,数据包载荷的字节长度。
跳数限制:相当于v4中的TLL值。
源地址:长度128位。
目标地址:长度128位。
IPv6:由128位2进制数组成
IPv6地址表示:使用32位十六进制表示,每个4位用冒号: 相隔,分成8段。
例如:1900:0BF0:0000:0001:0000:0000:0000:4AFE
压缩表示
可以去点每个字段开头的0,当地址中存在多个连续的0时,可以使用: :表示,但每个地址只允许出现一个: : 。
压缩如上地址:
1900:BF0:0:1::4AFE
和IPv4相比,IPv6使用前缀代替子网掩码来划分网段,地址前缀长度用“/xx”来表示。且取消了广播地址和网络位。
IPv6地址类型
1、单播
2、组播
3、任意播
1、单播:用于标识单个接口,除FF00::/8用于组播地址,其余都是单播地址
链路本地地址:用于建立邻居关系
FE80::/10 :每个接口前64位以FE80::开头,后64位以MAC转换来的。将MAC从中间分成开,然后插入FFFE,且将MAC地址的第7位取反(二进制),如图
未指定地址
0:0:0:0:0:0:0:0或 :: 表示地址缺失,相当于IPv4的0.0.0.0
环回地址
0:0:0:0:0:0:0:1或 ::1 相当于IPv4的127.0.0.1
2、组播
以FF00::/8开头。前8比特设置为FF。接下来的4比特是地址生存期:0是永久的,而1是临时的。接下来的4比特说明了组播地址范围(分组可以达到多远):1为节点,2为链路,5为站点,8为组织,而E是全局
3、任意播
也叫泛播。一组接口的标识符(通常属于不同的节点)。发送到此地址的数据包被传递给该地址标识的所有接口(根据路由走最近的路线)。任播地址类型代替 IPv4 广播地址,解决了IPv4的广播风暴的危害。
IPv6简单的应用
在思科设备上启用IPv6路由功能,并在接口上启用IPv6和配置接口IPv6地址。
开启设备IPv6路由
R1(config)#ipv6 unicast-routing
开启接口IPv6并产生本地链接地址
R1(config-if)#ipv6 enable
配置接口地址
R1(config-if)#ipv6 address ipv6-address/<0-128>
配置静态路由和默认路由
R1(config)#ipv6 route ipv6-addresses/xx next-address
R1(config)#ipv6 route ::/0 next-address
查看:
一般的查看命令相比ipv4只是把命令中的ip改成ipv6或在命令中添加ipv6
例如:R1#show ipv6 interface brief
动态路由协议
RIPng (RFC 2080):
基于RIPv2,使用IPv6进行传输
将链路本地地址用做源地址
使用FF02::9组播地址做为更新目标地址
更新通过UDP协议521端口发送
命令:
R1(config)#ipv6 router rip Sunshine
//开启ripng进程,并进入ripng视图
R1(config-if)#ipv6 rip Sunshine enable
//进入接口,开启ripng的ipv6功能
OSPFv3(RFC 2740)
删除了OSPFv2中针对IPv4的语义
使用128位的IPv6地址
将IPv6链路本地址用作源地址
每个接口可以有多个地址和OSPF实例
支持IPsec身份验证
运行在链路上而不是子网上
命令:
R1(config)#ipv6 router ospf 110
//启用ospfv3进程,并进入视图
R1(config-rtr)#router id 2.2.2.2
//配置router ID
R1(config-if)#ipv6 ospf 110 area 0
//进入接口宣告接口网段