IPV6:
为什么使用IPV6:
- V4地址数量不够
- V4使用NAT,破坏了端到端原则
IPV6的优点:
- 全球单播地址
- 聚合性强(IANA组织进行合理的分配)
- 多宿主----一个接口可以配置N个地址--且这些地址为同一级别
- 自动配置---1)DHCP V6 2)auto-config 路由器下放前缀(网络位),然后PC根据本
地MAC地址来自动生成主机位
- 即插即用
- 端到端的连接----不需要nat
- 重编址
- 简易报头 1)没有广播机制--只有组播 2)没有校验核(因为2层和4层具有校验)
3)流标签--QOS保留
- 安全性和移动性
- V4可以穿越V6的地址
黄色:保留
红色:取消
V4中由于跨层封装的参数,在IPV6中若需要可以在尾部使用扩展首部来实现
蓝色:替代--更名
1)服务类型----扩展表
2)总长度-------有效负载长度 IPV4的报头默认20字节,最大可填充到60字
节;V6报头默认64字节
3)下一个头部---协议号
4)TTL-----跳数限制
灰色: 保留 ---流标签
IPV6地址的组成:
1-23 注册位----由IANA分配给各个国家和机构
24--32 ISP位----由国家分配给ISP和机构
32--48 站点位---由ISP分配给客户
48--64 子网位---由管理员子网划分后,应用到网络内
写法:
IPV4使用点分十进制,IPV6冒分16进制
2031:0000:130F:0000:0000:09C0:006A:130B 每16位为一段,共8段
前缀0可以省略:
2031:0000:130F:0000:0000:9C0:6A:130B
一段全0可省略为1个0:
2031:0:130F:0:0:9C0:6A:130B
连续0可以省略为双冒号
2031:0:130F::9C0:6A:130B
注:当两处连续0时,只能省略1处,否则无法区分
2031:0000:0000:130F:0000:0000:0000:130B
2031:0:0:130F::130B
例:
FF02:0:0:0:0:0:0:1----FF02::1
0:0:0:0:0:0:0:0:1------::1
0:0:0:0:0:0:0:0:0-----::
http://【2031:0:0:130F::130B】:8080
IPV6地址分类:
- 单播地址 一对一
- 多播地址 一对多
- 任意播---一到最近
单播地址:
- AGUA--可聚合全球单播地址 ---IANA合理分配的IPV6公网地址
目前准备分配的地址2000::/3
2000::---3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
00 11 1111 1111 1111
其中2001::/16 当下IPV6实验室使用的地址---目前IPV6Internet地址
2002::/16 6to4tunnel 专用
2)本地链路地址---link-local 169.254.x.x
FE80::/10
- 路由器上每个接口都可以拥有唯一一个link-local地址;
在接口上配置ipv6 enable ,后自动生成,前64位 FE80:0:0:0
后64位根据本地设备上以太网接口的MAC地址自动生成
故,串线接口和本地以太网接口的link-local地址由于使用相同的MAC地址,导致
link-local地址一致。
2)只要在接口上配置一个IPV6的单播地址,那么该接口也会自动生成link-local地址
作用:
- 可用于直连通讯
r1# ping FE80::C800:1EFF:FEF0:0
Output Interface: Serial1/1 由于多个接口可能使用相同link-local地址,故必须定义出接口
- IPV6中的动态路由协议会将下一跳地址定义为对端接口的link-local
因为ipv6可以多宿主,故link-local最稳定
注:link-local地址的后64位使用以太网接口MAC地址补充,但MAC仅48位
后64使用EUI-64补充;
EUI--简易用户界面:
- 假设MAC地址为:ca00.1ef0.0000
在MAC地址的前24和后24位中间强行插入FFFE
ca00.1e ff.fe f 0.0000
- U位转换
将MAC地址从左往右第7位自反,0改1,1改0;
1100 1010 0000 0000.1eff.fef0.0000---- 1100 1010 0000 0000.1eff.fef0.0000
---c800.1eff.fef0.0000
0098.9e9a.a558 0298:9eff:fe9a:a558
001c-42ff-feef-d146
000000 0 000011100
1000011100
fe80::021c:42ff:feef:d146
- site-local 本地站点地址 ----类似IPV4中的私有地址----私网使用
FEC0::/10
1615130000 000000
- 未指定地址
::
-
在DHCP时作为无效地址
-
默认路由
-
环回地址---127.0.0.1
::1
- IPV4兼容性地址 用于6to4 tunnel
例:192.168.1.1 转换为16进制 C0A8.0101
故:192.168.1.1的IPV4兼容地址为2002:C0A8:0101::/48
172.16.1.1 1010 1100.0001 0000.0000 0001.0000 0001
2002:AC10:0101::/48
172.16.3.1
2002:ac10:0301::/48
191.168.172.1
2002:BFA8:AC01::/48
192.168.0.4
2002:C0a8:4::1/48
172.16.78.2
2002:ac10:4e02::/48
多播地址:
FF02::/8开头
FF02::1--224.0.0.1 代表所有主机
FF02::2--224.0.0.2 代表所有主机路由器
FF02::9--RIPNG
在多播地址中存在一种 --被请求节点组播地址
构成FF02::1:FF+24位---后24位取单播IPV6地址的后24位;每一个IPV6单播地址都会对应一个被请求节点组播地址;
2002:1c01:0101::1:1
ff02::1:ff01:01
33.33.ff.01.00.01
IPV6中的多播MAC地址:33.33+32位(后32为IPV6组播地址的后32位)
和IPV4一样不能一一对应
ICMPV6:存在大量的子协议
- PMTU--路径MTU发现协议---通过ICMPV6中的error包可以得知整段路径最小MTU值
- NDP 邻居发现协议---IPV6中不存在广播机制,故ARP的工作必须依靠NDP来完成
假设PCA请求PCB的MAC地址
A的数据包:封装ICMPV6 type 135
源ipv6地址--本地
目标ipV6地址-----对端ipv6的被请求节点组播地址
源MAC--本地
目标MAC---对端ipv6的被请求节点组播地址所对应MAC
B的数据包:封装ICMPv6 type 136
源ipv6地址--本地
目标ipV6地址-----对端ipv6单播地址
源MAC--本地
目标MAC---对端接口MAC
135--邻居请求NS 136邻居通告NA
ARP在IPV4还存在FARP/代理ARP之内功能;ICMPV6的NDP也可以进行这些工作,原理一致;
- 前缀通告----auto-config 路由器下放前缀,PC使用EUI-64补充主机位
当前缀长度小于64位时,使用0补到64位;当前缀大于64位,从EUI-64中取相同长
度即可;
网关路由器周期(200s)发送一次前缀 PC
RA ICMPV6 type 134 RS 133确认
134包: RA
源ipv6地址 路由器本地链路地址
目标ipv6地址 FF02::1 所有节点组播地址 TTL=1
源MAC 路由器接口mac
目标MAC FF02::1对应的MAC地址
133包:RS
源ipv6地址 ::
目标ipv6地址 FF02::2 所有节点组播地址 TTL=1
源MAC PC接口MAC
目标MAC FF02::2对应的MAC地址
配置:
接口配置ipv6地址
- link-local地址配置
r1(config)#interface s1/1
r1(config-if)#ipv6 enable
r1(config-if)#no shutdown
- 接口上配置一个IPV6的单播地址,也会自动生成link-local
r1(config)#interface s1/1
r1(config-if)#ipv6 address 12::1/64
r1(config-if)#ipv6 address 12::/64 eui-64
注:可以多宿主,--一个接口可以配置多个IPV6单播地址,无论是否在一个网段
- auto-config 只能应用于以太网接口
路由网关接口 PC接口(DHCP)
r1(config)#ipv6 unicast-routing r2(config)#interface f0/0
接口配置IPV6单播地址 r2(config-if)#ipv6 address autoconfig
r2(config-if)#no shutdown
华为
[R1]ipv6
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ipv6 enable
[R1-GigabitEthernet0/0/0]ipv6 address 12::1 64
[R1]dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.done.
[R1]dhcpv6 pool xx
[R1-dhcpv6-pool-xx]address prefix 12::0/64
[R1-dhcpv6-pool-xx]excluded-address 12::1
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]dhcpv6 server xx
Client
[Huawei]dhcp enable
[Huawei]ipv6
[Huawei]interface g0/0/0
[Huawei-GigabitEthernet0/0/0]ipv6 enable
[Huawei-GigabitEthernet0/0/0]ipv6 address auto link-local
[Huawei-GigabitEthernet0/0/0]ipv6 address auto dhcp
注:一台路由器若运行一个IPV6的单播路由协议(动态、静态),也必须先开启IPV6单播路由功能
切记:一台IPV6路由器上若没有开启IPV6单播路由功能,将不能基于IPV6的流量进行路由表查看;但一旦开启该功能后,该设备上的所有以太网接口也被动的激活auto-config功能;故同路由邻居相连的接口是没必要开启auto-config功能的,可以关闭
r1(config)#interface fastEthernet 0/0
r1(config-if)#ipv6 nd suppress-ra
华为
[Huawei-GigabitEthernet0/0/0]ipv6 nd ra halt
IPV6ACL:
一台设备上可以存在N张表,但一个需求点只能调用一张表;
匹配规则:从上往下逐一匹配,若上条匹配将按上条执行,不再查看下条
末尾隐含拒绝所有;没有标准列表,只有扩展列表,且只能基于命名的写法;扩展列表,不能限制自身产生的流量
r2(config)#ipv6 access-list ccie
r2(config-ipv6-acl)#deny ipv6 host 12::1 host 12::2
r2(config-ipv6-acl)#permit ipv6 any any
r2(config-ipv6-acl)#exit
r2(config)#
r2(config)#int s1/0
r2(config-if)#ipv6 traffic-filter ccie in
注:IPV6中不使用反掩码,而是直接使用掩码;
华为 华为支持基本acl
[R1]acl ipv6 2000
[R1-acl6-basic-2000]rule deny source 12::1 64
[R1-acl6-basic-2000]rule permit source any
调用
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]traffic-filter outbound ipv6 acl 2000
IPV6的ACL末尾隐含:
r2(config-ipv6-acl)#permit icmp any any nd-ns
r2(config-ipv6-acl)#permit icmp any any nd-na
r2(config-ipv6-acl)#deny ipv6 any any
注:因为关闭IPV6的NDP功能后,IPV6将失去最基本通信能力,故不能关闭
IPV6的静态路由:
r1(config)#ipv6 route 2::/64 12::2
r1(config)#ipv6 route 2::/64 serial 1/1
前缀+目标网络+出接口或下一跳
也可以修改默认的管理距离来实现浮动静态路由
r1(config)#ipv6 route 2::/64 12::2 ?
<1-254> Administrative distance
<cr>
12::2/64
12:0000:0000:0000:0000000000000000
12:0:0:1000000000000000::/65
12:0:0:8000::/65
华为
[R1]ipv6 route-static 2::0 64 12::2
[R1]ipv6 route-static 2::0 64 12::2 preference 88
注:无论使用何种路由协议,若目标不在本地,那么本地一定要开启IPV6的单播路由功能
r1(config)#ipv6 route ::/0 12::2 缺省路由
r1(config)#ipv6 route 1::/63 null 0 口接口防环
[R1]ipv6 route-static :: 0 12::2
[R1]ipv6 route-static :: 0 NULL 0
RIPNG:同RIPV2使用完全一致算法;
基于UDP521端口工作,组播更新地址FF02::9
r1(config)#IPV6 Unicast-routing 配置路由协议前,必须先开启单播路由功能
r1(config)#ipv6 router rip a 启动时需要配置进程名
r1(config-rtr)#exit
r1(config)#interface loopback 0
r1(config-if)#ipv6 rip a enable 宣告在接口进行,同IPV4下宣告的含义一致
r1(config-if)#exit
r1(config)#int s1/1
r1(config-if)#ipv6 rip a enable
华为
[R1]ripng 1
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ripng 1 enable
Ping时,源地址变更,只能基于接口
r1#ping 3::3 source s1/1
注:ripng中最大跳数为16.17为不可达;默认IPV4下学习到条目IPV6度量加1;
计时器:及具有周期更新,也有触发更新(毒性逆转水平分割)
r1#show ipv6 rip a
手工汇总:在更新源路由上所有更新发出的接口上进行配置
r1(config)#interface s1/1
r1(config-if)#ipv6 rip a summary-address 1::/63
华为
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ripng summary-address 56:: 64
缺省路由:在边界路由上先使用静态路由配置一条ISP的缺省,然后在同内网所有相连的接口上进行缺省路由发布
r1(config)#interface s1/1
r1(config-if)#ipv6 rip a default-information ?
only Advertise only the default route
originate Originate the default route
选择 only 将只发送缺省条目,明细不在发送
选举originate 明细缺省均发送
华为
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ripng default-route only
[R1-GigabitEthernet0/0/0]ripng default-route originate
OSPFV3:组播更新地址:FF02::5 /6
r2(config)#ipv6 router ospf 1 启动时需要配置进程号
r2(config-rtr)#router-id 1.1.1.1 配置RID,使用IPV4地址
宣告到接口进行,区域划分规则同IPV4下一致
r3(config)#int s1/0
r3(config-if)#ipv6 ospf 1 area 0
r3(config-if)#int lo0
r3(config-if)#ipv6 ospf 1 area 1
华为
[R2]ospfv3 1
[R2-ospfv3-1]router-id 2.2.2.2
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ospfv3 1 area 0
BGP4+:
r1(config)#router bgp 1
r1(config-router)#no synchronization
r1(config-router)#no auto-summary
r1(config-router)#b router-id 1.1.1.1
r1(config-router)#neighbor 12::2/64 remote-as 2
注:间使用BGP建立IPV4下的邻居关系,但V6邻居还未建立
r1(config-router)#address-family ipv6 进入家族模式来建立V6关系;
r1(config-router)#neighbor 12::2 activate
注:之后所有关于IPV6先配置,全部在家族模式中进行
r1(config-router)#address-family ipv6
r1(config-router-af)#network 1::/64
r1(config-router-af)#neighbor 12::2 next-hop-self
r1(config-router-af)#neighbor 12::2 route-map ccie out
r1(config-router-af)#exit
r1(config-router)#end
r1#clear bgp ipv6 * soft
r1#show bgp ipv6 summary
r1#show bgp ipv6
[R2]bgp 100
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 1::1 as-number 100
[R2-bgp]peer 1::1 connect-interface LoopBack 0
[R2-bgp]ipv6-family
[R2-bgp-af-ipv6]peer 1::1 enable
宣告
[R1-bgp-af-ipv6]network 34:: 64
重发布
[R1-bgp]ipv6-family
[R1-bgp-af-ipv6]import-route ospfv3 100
IPV4和IPV6兼容问题:
- 普通Tunnel
r1(config)#interface tunnel 0
r1(config-if)#ipv6 address 10::1/64
r1(config-if)#tunnel source 12.1.1.1
r1(config-if)#tunnel destination 23.1.1.2
r1(config-if)#tunnel mode ipv6ip
r1(config)#ipv6 route 3::/64 10::2
缺点:1、到每一个不同目标,均需要双方均配置tunnel
2、到每一个不同目标均需呀编辑一条静态路由
2)6to4 tunnel
不用基于每个目标编辑tunnel和路由,仅需一个tunnel和路由条目
先将本地IPV4公网地址转换为IPV6兼容性地址,然后将其进行子网划分后应用到内网
12.1.1.1--2002:0C01:0101::/48 可以划分到64位,将其地址配置到内网
23.1.1.1
2002:1701:0101::/48
2002:1701:0101::/64
2002:1701:0101:1::
34.1.1.2
2002:2201:0102::/64
r1(config)#interface loopback 0
r1(config-if)#ipv6 address 2002:0c01:0101::1/64
r1(config-if)#exit
r1(config)#interface tunnel 0
r1(config-if)#ipv6 address 2002:0c01:0101:1::1/64
r1(config-if)#tunnel source s1/1
r1(config-if)#tunnel mode ipv6ip 6to4
r1(config)#ipv6 route 2002::/16 tunnel 0
Huawei
[R2]interface Tunnel 0/0/0
[R2-Tunnel0/0/0]tunnel-protocol ipv6-ipv4
[R2-Tunnel0/0/0]ipv6 enable
[R2-Tunnel0/0/0]ipv6 address 2002:1701:0101:1::1/64
[R2-Tunnel0/0/0]tunnel-protocol
[R2-Tunnel0/0/0]source g0/0/1
[R2-Tunnel0/0/0]destination 34.1.1.2
[R2]ipv6 route-static 2002:: 16 Tunnel 0/0/0
- 双栈---网络既连接V4网络也连接V6网络,通讯时根据目标IP地址,来判断应该携带那个网络源地址;默认优先查找V6网络中的DNS 服务器;