猛兽总是独行,牛羊才成群结队。 —鲁迅
一、前 言
1.IPv6是网络层协议第二代标准,也成为IPng。
2.IPv6协议对IPv4协议进行了优化。
3.IPv4地址已经耗尽,部署IPv6大势所趋。
二、IPv6地址表示方法
1、IPv6地址表示方法
(1)IPv6地址包括128比特,由冒号分割成8段,每段4个16进制数 2031:0000:130F:0000:0000:09C0:876A:130B
2、IPv6压缩格式
(1)每组中的前导“0”都可以省略
2031:0:130F:0:0:9C0:876A:130B
(2)地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替
2031:0:130F::9C0:876A:130B
三、IPv4&IPv6报头对比
序号 | IPv4 | IPv6 |
---|---|---|
1 | Version:4bit—版本号 | Version:4bit |
2 | IHL:4bit—报头长度 | 无 |
3 | Type of Service:8bit–服务类型 | Traffic class:8bit–流量类别 |
4 | Total Length:16bit–总长度 | 无 |
5 | dentification:16bit–标识 | 无 |
6 | Flags:3bit–标志位 | 无 |
7 | Fragment Offset:12bit–片偏移 | 无 |
8 | Time to Live:8bit–生存时间 | Hop limit:8bit–跳数限制 |
9 | Protocol:8bit–协议 | 无 |
10 | Header Checksum:16bit–首部检验和 | 无 |
11 | Source Address:32bit–源IP地址 | Source Address:128bt—该字段表示该报文的源地址 |
12 | Destination Address:32bit–目的IP地址 | Destination Address:128bit–该字段表示该报文的目的地址 |
13 | Options:可变–选项字段 | 无 |
14 | Padding:可变–填充字段,全填0 | Extension Headers:可变–扩展报头 |
15 | 无 | Flow Label:20bit–流标签 |
16 | 无 | Payload length:16bit–该字段表示有效载荷的长度 |
17 | 无 | Next header:8bit–下一报头 |
IPv4报文头格式
IPv6报文头格式
ICMPv6使用Type字段来标识报文类型,根据Type字段的取值,可以将ICMPv6报文分为两大类:一类是差错报文,另一类是信息报文。
MAC地址 | IPv4 | IPv6 | |
---|---|---|---|
长度 | 48位(6个字节) | 32位 | 128位 |
进制 | 十六进制 | 二进制 | 十六进制 |
单播地址 | 第8位为1 | 全局唯一 | ::1 |
组播地址 | 第8位为1 | 239.0.0.0-239.255.255.255 | FF00::/8 |
四、拓扑
五、基本配置与分析
[AR-3]ipv6
[AR-3]ospfv3 1
[AR-3-ospfv3-1]router-id 3.3.3.3
[AR-3-ospfv3-1]quit
[AR-3]int g0/0/1
[AR-3-GigabitEthernet0/0/1]ipv6 enable
[AR-3-GigabitEthernet0/0/1]ipv6 address 2030::3 64
[AR-1-GigabitEthernet0/0/1]ospfv3 1 a 1
[AR-3-GigabitEthernet0/0/1]quit
[AR-3]int g0/0/1
[AR-3-GigabitEthernet0/0/1]ip address 23.1.1.3 24
[AR-3-GigabitEthernet0/0/1]quit
[AR-3]ospf 1
[AR-3-ospf-1]a 0
[AR-3-ospf-1-area-0.0.0.0]net 23.1.1.3 0.0.0.0
AR-1 Ping AR-3(2030::3)
IPv6
IPv4
六、ICMPv6协议
邻居发现ND(RFC2461)
Type=133 路由器请求(Router Solicitation)
Type=134 路由器公告(Router Advertisement)
Type=135 邻居请求(Neighbor Solicitation)
Type=136 邻居公告(Neighbor Advertisement)
Type=137 重定向 (Redirect)
多播侦听发现协议MLD(RFC2710)
Type=130 多播听众查询
Type=131 多播听众报告
Type=132 多播听众退出
七、跟踪邻居状态
邻居状态有5种(RFC2461)
1.INCOMPLETE 未完成
2.REACHABLE 可达
3.STALE 陈旧
4.DELAY 延迟
5.PROBE 探查
例子:节点A要访问节点B,A的缓存中无B的条目,下图是邻居状态机的变化
- A先发送NS,并生成缓存条目,状态为 Incomplete
- 若B回复NA,则 Incomplete->Reachable,否则10s后Incomplete->Empty,即删除条目
- 经过ReachableTime(30S),B的条目状态Reachable->Stale
- 或者在Reachable状态,收到B的非请求NA,且链路层地址不同,则马上->Stale
- 在Stale状态若A要向B发送数据,发送数据,并从Stale->Delay,等待应用层的提示信息,表示邻居可达。
- 在Delay_First_Probe_Time(默认5秒)内,若有NA应答或者应用层的提示信息,则Delay->Reachable;无应用层提示信
息,Delay->Probe; - 在Probe状态,每隔RetransTimer(默认1秒)发送单播NS,发送MAX_UNICAST_SOLICIT(缺省3个)个后再等
RestransTimer,有应答则Probe->Reachable,否则进入Empty,即删除表项
八、IPv6地址分类
预定义组播地址
Node-local
所有节点的组播地址: FF01:0:0:0:0:0:0:1
所有路由器的组播地址: FF01:0:0:0:0:0:0:2
Link-local
所有节点的组播地址: FF02:0:0:0:0:0:0:1
所有路由器的组播地址: FF02:0:0:0:0:0:0:2
Solicited-Node组播地址: FF02:0:0:0:0:1:FFXX:XXXX
所有OSPF路由器组播地址: FF02:0:0:0:0:0:0:5
所有OSPF的DR路由器组播地址: FF02:0:0:0:0:0:0:6
所有RIP路由器组播地址: FF02:0:0:0:0:0:0:9
所有PIM路由器组播地址: FF02:0:0:0:0:0:0:13