目录
一、IPv6地址
1、IPv4地址概述
2、IPv6地址概述
3、IPv6的优势
4、IPv6报文构成
1)IPv6基本报头
2)IPv6基本报头解析
5、IPv6地址数量(IP地址的终极解决方案)
6、IPv4地址结构(扩展知识)
7、IPv6地址分类 (扩展知识)
8、IPv6地址按照范围分类(扩展知识)
9、常用的IPv6地址前缀(扩展知识)
10、IPv6接口标识 (扩展知识)
二、IPv6实验
1、IPv6静态路由实验
2、IPv4和IPv6 双栈
3、扩展:OSPFv2和OSPFv3的LSA对比
4、扩展:IPv6地址迁移
1)IPv4地址回顾
-IP地址:互联网协议地址
-作用:在网络中唯一标识一台设备的一组数字
-组成:网络位和主机位
-长度:32个二进制位
-表示方法:点分十进制
-按照范围分类:
A :单播地址
B :单播地址
C :单播地址
D :组播地址
E:保留地址
-按照功能分类:
公网地址
私有地址
自动配置地址:DHCP无法提供IP时,系统会自动分169.254.0.0/16范围的地址。
环回地址:范围为127.0.0.0/8
广播地址:用于发送信息给网络上的所有设备,例如255.255.255.255。
0.0.0.0 : 未分配地址
2)IPv4地址的不足
-IPv4地址只有2的32次方,在移动互联网和万物互联下,无法支撑全球使用
-IETF推出NAT(网络地址转换)等技术来延长IPv4地址的寿命。但IPv4地址最终枯竭
1)最后的468万个IPv4地址平均分配到全球5个RIR:
2011年2月3日,IANA(因特网地址分配组织)宣布将其最后的468万个IPv4地址平均分配到全球5个RIR(区域互联网注册管理机构),此后IANA再没有可分配的IPv4地址。
2019年11月25日IPv4地址分配完毕
2)五大RIR包括:
▫RIPE:欧洲IP地址注册中心,服务于欧洲、中东地区和中亚地区
▫LACNIC:拉丁美洲和加勒比海地址注册中心,服务于中美、南美以及加勒比海地区
▫ARIN:美国Internet编号注册中心,服务于北美地区和部分加勒比海地区
▫AFRINIC:非洲网络信息中心,服务于非洲地区
▫APNIC:亚太互联网络信息中心,服务于亚洲和太平洋地区
3)IPv6发展现状
1、IPv6报头: 1)IPv6基本报头也称之为固定报头。固定报头包含8个字段, 总长度为40个字节 2)这8个字段分别为: 版本(Version) 流量类型(Traffic Class) 流标签(Flow Label) 载荷长度(Payload Length) 下一个报头(Next Header) 跳数限制(Hop Limit) 源IPv6地址 目的IPv6地址 3)字段解析 版本 :该字段规定了IP协议的版本,值为6。长度为4bit 流类别 :该字段功能和IPv4中的服务类型功能类似, 表示IPv6数据报文的类或优先级。长度为8bit。 流标签: 与IPv4相比,该字段是新增的。。该字段长度为20bit。 可以通过源IPv6地址+流标签来唯一确定一条数据流 也可以通过目的IPv6地址+流标签来唯一确定一条数据流 有效载荷长度 :该字段表示IPv6数据报有效载荷的长度。 有效载荷是指紧跟IPv6报头的数据报的其它部分(即扩展报头) 该字段长度为16bit,能表示最大长度为65535Byte的有效载荷 下一报头: 8bit,类似IPv4中的协议字段,主要为表示上层协议数据单元中的协议类型 跳数限制: 8bit, 类似于IPv4中的TTL字段,主要是定义数据包经过的最大跳数, 每经过一台设备,该值减1,该值为0时,数据包会被丢弃 源IP地址: 128bit,发送方地址 目标IP地址: 128bit,接收方地址
1)什么IPv6协议的地址长度是128bit
▫CPU处理字长经历了4bit、8bit、16bit、32bit、64bit等,所以将IPv6长度定为128bit。
2)IPv6的128bit地址是一个什么概念?
▫IPv4有(2的32次方)= 4,294,967,296个地址。
▫IPv6有(2的128 次方= )
=340,282,366,920,938,463,463,374,607,431,768,211,456个地址
(340万亿万亿万亿个地址),相当于地球表面每平方米可以分配到67万亿个地址。
▫夸张的说,地球上每一粒沙子都可以分配到一个IPv6地址。
1
5、IPV6地址格式
-IPv6地址的长度为128bit
-一般用冒号分割为8段,每一段16bit,每一段内用十六进制表示
-与IPv4地址类似,IPv6也用“IPv6地址/掩码长度”的方式来表示IPv6地址
IPv6首选格式
-冒号分割为8段,每一段16bit,每一段内用十六进制表示。
用“IPv6地址/掩码长度”的方式来表示。
例如:2001:0DB8:0000:0001:0000:0000:0000:45ff/64
IPv6压缩格式
例如:2001:0DB8:0000:0001:0000:0000:0000:45ff/64
例如:2001:DB8:0:1:0:0:0:45ff/64
例如:2001:DB8:0:1::45ff/641
IPv6内嵌IPv4地址的格式
地址的前96bit为IPv6地址格式,后32bit为IPv4地址格式。
IPv6部分可采用首选或压缩格式,IPv4部分采用点分十进制格式。
例如:0:0:0:0:0:0:100.1.1.1/96
例如:0:0:0:0:0:0:100.1.1.1/64
例如:::100.1.1.1/96
例如:1234:ffff:1234::100.1.1.1/64
例如:::ffffe:100.1.1.1/64
IPv4和IPv6共存:
双栈技术: 设备即支持ipv4和ipv6
隧道技术: 用隧道技术把一个ipv4流量封装在ipv6流量里面
转换技术: (NAPT6)
1)一个IPv6地址可以分为如下两部分:
▫网络前缀:nbit,相当于IPv4地址中的网络位。
▫接口标识:(128-n)bit,相当于IPv4地址中的主机位。
IPv6单播地址示例:2001:1000:1000:0001:5EAB:1111:2222:3333/64
•单播地址(UnicastAddress):标识一个接口地址
•组播地址(MulticastAddress):标识多个接口地址
•任播地址(AnycastAddress):任播地址标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包将发送给其中路由器上最近的一个网络接口。
•IPv6没有定义广播地址(BroadcastAddress)
备注:
“任意播”(Anycast)地址是一种特殊类型的网络地址。当一个消息被发送到一个任意播地址时,网络将会把消息送达到距离最近的、与该任意播地址相关联的设备。这种“距离”通常是指路由成本,而非物理距离。
在 IPv6 中,任意播地址并没有特定的标识或者区段,任何全球单播地址或者链路本地单播地址都可以被配置为任意播地址。网络根据路由配置和协议来决定哪些地址是任意播的。
来看一个实例:
假设你的网络中有三个服务器(A、B、C)都提供相同的服务,它们在地理位置上是分布的,服务器A在深圳,服务器B上海,服务器C在北京。你可以将这三个服务器的IPv6地址都配置为同一个任意播地址。
此时,如果一个用户在深圳访问这个任意播地址,那么这个请求就会被路由到最近的服务器A(深圳)。而如果另一个用户在上海访问同一个任意播地址,那么这个请求就会被路由到最近的服务器B(上海)。这样就可以实现负载均衡和最低延迟。
IPv4: A类地址 0-127 IPv4: B 类地址 128-191 fc88:12::1 所以同理: IPv6是这样分配的: IPv6全球单播地址: 名字:GUA(Global Unicast Address,全球单播地址)也被称为可聚合全球单播地址。 范围:2000-3FFF 作用:该类地址全球唯一,用于互联网访问,相当于IPv4的公网地址。 IPv6唯一本地单播地址: 名字:ULA(Unique Local Address,唯一本地地址) 范围:FC00-FDFF 作用:是IPv6私网地址,只能够在内网中使用 该地址空间在IPv6公网中不可被路由,因此不能直接访问公网 虽然是私有地址,也是全球唯一的,即便泄露到公网中,也不会产生地址冲突 IPv6链路本地单播地址: 名字:LLA(Link-Local Address,链路本地地址) 范围:FE80-FEBF 作用:是IPv6中另一种应用范围受限制的地址类型。 LLA的有效范围是本地链路(只在一根线上起作用) IPv6组播地址: 范围:FF00-FFFF 作用:IPv6组播地址标识某个组,目的为组播地址的报文会被送到该组播组内的成员
3)IPv6地址前缀分配
IPv6管理机构申请到的IPv6前缀是 /23
运营商申请到的IPv6的前缀是 /32
企业申请到的IPv6的前缀是 /48
企业内部子网的IPv6前缀是 /64
接口ID可通过三种方式生成:手工配置、系统自动生成,或基于IEEE EUI-64规范生成。
基于IEEEEUI-64-该方式将接口的MAC地址转换为IPv6接口标识
拓扑
需求
配置IPv6地址
配置IPv6静态路由,实现网络互通
配置步骤
1)在全局下开启IPv6
2)在接口下开启IPv6
3)给接口配置IPv6地址
4)配置静态路由
5)验证
配置命令
第一步:配置接口IPv6地址 R7的配置: 1) 配置接口IP地址 [R7]ipv6 [R7]int g0/0/0 [R7-GigabitEthernet0/0/0]ipv6 enable [R7-GigabitEthernet0/0/0]ipv6 address 2001:47::7 64 [R7-GigabitEthernet0/0/0]int g0/0/1 [R7-GigabitEthernet0/0/1]ipv6 enable [R7-GigabitEthernet0/0/1]ipv6 address 2001:78::7 64 R8的配置: [R8]ipv6 [R8]int g0/0/0 [R8-GigabitEthernet0/0/0]ipv6 enable [R8-GigabitEthernet0/0/0]ipv6 address 2001:78::8 64 [R8-GigabitEthernet0/0/0]int g0/0/1 [R8-GigabitEthernet0/0/1]ipv6 enable [R8-GigabitEthernet0/0/1]ipv6 address 2001:58::8 64 第二步:配置静态路由 [R7]ipv6 route-static 2001:58:: 64 2001:78::8 [R8]ipv6 route-static 2001:47:: 64 2001:78::7 第三步:验证:display ospfv3 peer display ipv6 routing-table protocol ospfv3 在PC中验证 ping 2001:2::1
拓扑
需求
先配置OSPFv3, 实现IPv6全网互联互通
在配置OSPFv2, 实现IPv4全网互联互通
配置步骤
1)在全局下开启IPv6
2)在接口下开启IPv6
3)给接口配置IPv6地址
4)配置OSPFv3
-配置router-id
-在接口上开启ospfv3功能,并指定区域
5)在接口上配置IPv4地址
6)配置OSPFv2
7)验证
配置命令
第一步:在全局下开启IPv6 在接口下开启IPv6 配置接口IPv6地址 R1的配置: [R1]ipv6 [R1]int g0/0/1 [R1-G0/0/1]ipv6 enable [R1-G0/0/1]ipv6 address 2001:1::f 64 [R1-G0/0/1]int g0/0/0 [R1-G0/0/0]ipv6 enable [R1-G0/0/0]ipv6 address 2001:12::1 64 R2的配置: [R2]ipv6 [R2]int g0/0/0 [R2-G0/0/0]ipv6 enable [R2-G0/0/0]ipv6 address 2001:12::2 64 [R2-G0/0/0]int g0/0/1 [R2-G0/0/1]ipv6 enable [R2-G0/0/1]ipv6 address 2001:23::2 64 R3的配置: [R3]ipv6 [R3]int g0/0/0 [R3-G0/0/0]ipv6 en [R3-G0/0/0]ipv6 enable [R3-G0/0/0]ipv6 address 2001:23::3 64 [R3-G0/0/0]int g0/0/1 [R3-G0/0/1]ipv6 enable [R3-G0/0/1]ipv6 address 2001:34::3 64 R4的配置: [R4]ipv6 [R4]int g0/0/0 [R4-G0/0/0]ipv6 enable [R4-G0/0/0]ipv6 add 2001:34::4 64 [R4-G0/0/0]int g0/0/1 [R4-G0/0/1]ipv6 enable [R4-G0/0/1]ipv6 add 2001:45::4 64 R5的配置: [R5]ipv6 [R5]int g0/0/0 [R5-G0/0/0]ipv6 enable [R5-G0/0/0]ipv6 add 2001:45::5 64 [R5-G0/0/0]int g0/0/1 [R5-G0/0/1]ipv6 enable [R5-G0/0/1]ipv6 add 2001:56::5 64 R6的配置: [R6]ipv6 [R6]int g0/0/0 [R6-G0/0/0]ipv6 enable [R6-G0/0/0]ipv6 add 2001:56::6 64 [R6-Gi0/0/0]int g0/0/1 [R6-G0/0/1]ipv6 enable [R6-G0/0/1]ipv6 add 2001:2::f 64 第二步:配置OSPFv3 R1的配置: [R1]ospfv3 1 [R1-ospfv3-1]router-id 1.1.1.1 [R1-ospfv3-1]quit [R1]int g0/0/1 [R1-G0/0/1]ospfv3 1 area 12 [R1-G0/0/1]int g0/0/0 [R1-G0/0/0]ospfv3 1 area 12 R2的配置: [R2]ospfv3 1 [R2-ospfv3-1]router-id 2.2.2.2 [R2-ospfv3-1]quit [R2]int g0/0/0 [R2-G0/0/0]ospfv3 1 area 12 [R2-G0/0/0]int g0/0/1 [R2-G0/0/1]ospfv3 1 area 0 R3的配置: [R3]ospfv3 1 [R3-ospfv3-1]router-id 3.3.3.3 [R3-ospfv3-1]quit [R3]int g0/0/0 [R3-G0/0/0]ospfv3 1 area 0 [R3-G0/0/0]int g0/0/1 [R3-G0/0/1]ospfv3 1 area 0 R4的配置: [R4]ospfv3 1 [R4-ospfv3-1]router-id 4.4.4.4 [R4-ospfv3-1]quit [R4]int g0/0/0 [R4-G0/0/0]ospfv3 1 area 0 [R4-G0/0/0]int g0/0/1 [R4-G0/0/1]ospfv3 1 area 0 R5的配置: [R5]ospfv3 1 [R5-ospfv3-1]router-id 5.5.5.5 [R5-ospfv3-1]quit [R5]int g0/0/0 [R5-G0/0/0]ospfv3 1 area 0 [R5-G0/0/0]int g0/0/1 [R5-G0/0/1]ospfv3 1 area 56 R6的配置: [R6]ospfv3 1 [R6-ospfv3-1]router-id 6.6.6.6 [R6-ospfv3-1]quit [R6]int g0/0/0 [R6-G0/0/0]ospfv3 1 area 56 [R6-G0/0/0]int g0/0/1 [R6-G0/0/1]ospfv3 1 area 56 第三步:配置ODPFv2 R1的配置: [R1]int g0/0/1 [R1-G0/0/1]ip add 192.168.1.254 24 [R1-G0/0/1]int g0/0/0 [R1-G0/0/0]ip add 192.168.12.1 24 [R1-G0/0/0]q [R1]ospf 1 router-id 1.1.1.1 [R1-ospf-1]area 12 [R1-ospf-1-area-0.0.0.12]network 192.168.12.0 0.0.0.255 [R1-ospf-1-area-0.0.0.12]network 192.168.1.0 0.0.0.255 R2的配置: [R2]int g0/0/1 [R2-G0/0/1]ip add 192.168.23.2 24 [R2-G0/0/1]q [R2]ospf 1 router-id 2.2.2.2 [R2-ospf-1]area 12 [R2-ospf-1-area-0.0.0.12]network 192.168.12.0 0.0.0.255 [R2-ospf-1-area-0.0.0.12]q [R2-ospf-1]area 0 [R2-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255 R3的配置: [R3]int g0/0/0 [R3-GigabitEthernet0/0/0]ip add 192.168.23.3 24 [R3-GigabitEthernet0/0/0]int g0/0/1 [R3-GigabitEthernet0/0/1]ip add 192.168.34.3 24 [R3-GigabitEthernet0/0/1]q [R3]ospf 1 router-id 3.3.3.3 [R3-ospf-1]area 0 [R3-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255 [R3-ospf-1-area-0.0.0.0]network 192.168.34.0 0.0.0.255 R4的配置: [R4]int g0/0/0 [R4-GigabitEthernet0/0/0]ip add 192.168.34.4 24 [R4-GigabitEthernet0/0/0]int g0/0/1 [R4-GigabitEthernet0/0/1]ip add 192.168.45.4 24 [R4-GigabitEthernet0/0/1]q [R4]ospf 1 router-id 4.4.4.4 [R4-ospf-1]area 0 [R4-ospf-1-area-0.0.0.0]network 192.168.45.0 0.0.0.255 [R4-ospf-1-area-0.0.0.0]network 192.168.34.0 0.0.0.255 R5的配置: [R5]int g0/0/0 [R5-GigabitEthernet0/0/0]ip add 192.168.45.5 24 [R5-GigabitEthernet0/0/0]int g0/0/1 [R5-GigabitEthernet0/0/1]ip add 192.168.56.5 24 [R5-GigabitEthernet0/0/1]q [R5]ospf 1 router-id 5.5.5.5 [R5-ospf-1]area 0 [R5-ospf-1-area-0.0.0.0]network 192.168.45.0 0.0.0.255 [R5-ospf-1-area-0.0.0.0]q [R5-ospf-1]area 56 [R5-ospf-1-area-0.0.0.56]network 192.168.56.0 0.0.0.255 R6的配置: [R6]int g0/0/0 [R6-GigabitEthernet0/0/0]ip add 192.168.56.6 24 [R6-GigabitEthernet0/0/0]int g0/0/1 [R6-GigabitEthernet0/0/1]ip add 192.168.2.254 24 [R6-GigabitEthernet0/0/1]q [R6]ospf 1 router-id 6.6.6.6 [R6-ospf-1]area 56 [R6-ospf-1-area-0.0.0.56]network 192.168.2.0 0.0.0.255 [R6-ospf-1-area-0.0.0.56]network 192.168.56.0 0.0.0.255 第四步:验证:display ospfv3 peer display ipv6 routing-table protocol ospfv3 display ip routing-table protocol ospf 在路由器中做ping测试 ping ipv6 2001:2::1 在PC中验证 ping 2001:2::1 display ospfv3 peer display ospfv3 peer verbose display ospfv3 interface g0/0/0 display ospfv3 lsdb display ospfv3 lsdb ? external //5类 inter-prefix //3类 inter-router //4类 intra-prefix //9类 link //8类 network //2类 nssa //7类 router //1类
拓扑
需求
IPv6地址迁移
配置步骤
1)在全局下开启IPv6
2)在接口下开启IPv6
3)给接口配置IPv6地址
4)配置OSPFv3
-配置router-id
-在接口上开启ospfv3功能,并指定区域
5)开启主机的ping测试
6)进行IPv6地址更换
7)验证:
配置命令
第一步:配置OSPFv3 实现网络互联互通 R18的配置: [R18]ipv6 [R18]ospfv3 1 [R18-ospfv3-1]router-id 18.18.18.18 [R18-ospfv3-1]quit [R18]int g0/0/0 [R18-GigabitEthernet0/0/0]ipv6 enable [R18-GigabitEthernet0/0/0]ipv6 add 2001:38::254 64 [R18-GigabitEthernet0/0/0]int g0/0/1 [R18-GigabitEthernet0/0/1]ipv6 enable [R18-GigabitEthernet0/0/1]ipv6 add 2001:89::8 64 [R18-GigabitEthernet0/0/1]ospfv3 1 area 0 [R18-GigabitEthernet0/0/1]int g0/0/0 [R18-GigabitEthernet0/0/0]ospfv3 1 area 0 R19的配置: [R19]ipv6 [R19]ospfv3 1 [R19-ospfv3-1]router-id 19.19.19.19 [R19-ospfv3-1]q [R19]int g0/0/0 [R19-GigabitEthernet0/0/0]ipv6 enable [R19-GigabitEthernet0/0/0]ipv6 add 2001:89::9 64 [R19-GigabitEthernet0/0/0]ospfv3 1 area 0 [R19-GigabitEthernet0/0/0]int g0/0/1 [R19-GigabitEthernet0/0/1]ipv6 enable [R19-GigabitEthernet0/0/1]ipv6 add 2001:48::254 64 [R19-GigabitEthernet0/0/1]ospfv3 1 area 0 第二步:使用PC3 ping PC4 ping 2001:48::4 -t //一直ping 第三步:给R18和R19(互联的接口)增加新的IPv6地址 [R18] int g0/0/1 [R18-G0/0/1]ipv6 add 2001:333::8 64 [R19] int g0/0/0 [R19-G0/0/0]ipv6 add 2001:333::9 64 第四步:把R18和R19(互联的接口)原有的IPv6地址删除 [R18]int g0/0/1 [R18-GigabitEthernet0/0/0]undo ipv6 add 2001:89::8 64 [R19]int g0/0/0 [R19-GigabitEthernet0/0/0]undo ipv6 add 2001:89::9 64 第五步:检查PC3 ping PC4的状态,验证网络是否中断过 ping 2001:48::4 -t //验证网络是否中断过