华子目录
- IPV6
- IPV4和IPV6的报头
- IPV6的地址组成
- IPV6地址写法
- IPV6地址分类
- 单播地址
- 多播地址
- IPV6下的组播MAC地址
- 协议
- ICMPV6
- 1.PMTU
- 2.NDP
- 3.前缀通告auto-config
- 配置
- 静态
- RIPNG
- OSPFV3
- BGP4+
- 解决IPV4和IPV6兼容问题 (共存问题)
- 普通tunnel
- 6to4 tunnel
- 双栈
IPV6
特征(升级点)
- 全球单播地址(相当于IPV4地址下的公有地址,IPV6下没有nat)
- 可聚合性(IANA组织对全球的地址进行合理分配)
- 多宿主(一个物理接口可以同时拥有多个不同网段的IPV6地址,但是不同接口不能在同一网段)
- 自动配置
- DHCP V 6
- auto-config(路由器接口手工配置IPV6地址,然后路由器将自己地址的前缀(网络号) 下放给PC,PC将自动使用EUI-64(MAC地址) 来补充主机位)
- 即插即用(热插拔)
- 端到端的连接(不需要nat)
- 重编制(当配置DHCP的服务器地址变换时,将重新编制IPV6地址)
- 简单的报头
- 没有广播机制,只有组播和单播
- 没有校验和(因为2和4层均存在校验和)
- 流标签—保留—QOS
- 安全性和移动性
- IPV4和IPV6共存
IPV4和IPV6的报头
黄色部分:一致
红色部分:取消
蓝色部分:代替
V4中由于跨层封装的参数,在IPV6中若需要可以在尾部使用扩展首部来实现
V4中的服务类型,是V6中的扩展表
V4中的总长度,是V6中的有效负载长度(IPV4的报头默认20字节,最大可填充到60字节,V6报头默认64字节)
V4中的协议号,是V6中的下一个头部
V4中的TTL,是V6中的跳数限制
灰色:保留(流标签QOS)
IPV6的地址组成
1-23 注册位(有IANA分配给各个国家和机构)
24-32 ISP位(由国家分配给ISP和机构)
33-48 站点位(由ISP分配给各个企业)
49-64 子网位(由管理员子网划分后,应用到网络内)
IPV6地址写法
使用冒分16进制标识,每16位为一段;共8段
eg
2031:0000:130F:0000:0000:09C0:006A:130B
每一段地址前面的0可以省略
2031:0000:130F:0000:0000:9C0:6A:130B
若一段全为0,可以省略成一个0
2031:0:130F:0:0:9C0:6A:130B
若连续两段以上全0,可以省略为::
2031:0:130F::9C0:6A:130B (最终结果)
2031:0000:0000:09C0:0000:0000:0000:130B
若存在两个部分均为全0,只能将其中一个部分省略为::
2031:0:0:09C0::130B (最终结果)
例:
FF02:0:0:0:0:0:0:1 FF02::1
0:0:0:0:0:0:0:1 ::1
0:0:0:0:0:0:0:0 ::
当使用IPV6协议携带端口号时,需要使用中括号来区分
http://[2031:0:130F::9C0:6A:130B]:8080/index.php
IPV6地址分类
- 单播地址(一对一,只有单播地址能作为源地址,也可作为目标地址)
- 多播(组播)地址(一对多,作为目标地址)
- 任意播地址(一到最近)
单播地址
1.ABUA,全球可聚合单播地址,IPV6的公网地址(需申请),全球单播传递,目前全球已规划地址:2000::/3,范围:2000::到3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
其中:
2001::/16 目前IPV6Internet地址,已经在使用的地址
2002::/16 6to4 tunnel专用地址
2.本地链路地址—自动私有地址—link-local,类似于IPV4中的169.254.0.0/16
FE80::/16 实际使用时为/64的掩码
- 路由器接口上配置ipv6 enable命令,该接口将自动生成link-local地址
- 若在接口配置一个IPV6单播地址,必然自动生成link-local地址,一个接口只能存在一个link-local地址
link-local地址的网络位固定为FE80::/64, 主机位使用本地以太网接口的MAC地址来生成
link-local地址主机位,串行链路无MAC地址,将循环借用设备上以太网接口的MAC
主机位生成方法:
link-local地址-----网络位FE80::/64 后64位使用EUI-64(MAC地址)补充
EUI-64合成步骤:
(1)以太网接口MAC地址 如 CA00.0A60.0000
在MAC前24位和后24位之间强行插入FFFE
CA00.0AFF.FE60.0000
(2)U位转换
将合成后的地址,从左往右第7位自反,若该位为0,变为1,为1变为0
CA00=1100 1010 0000 0000 第7位自反
1100 1000 0000 0000=C800
(3)link-local地址为
FE80::C800:AFF:FE60:0
作用:
(1).在同一广播域内可以通讯使用:由于本地多接口可能使用相同MAC转换,故在使用link-local地址访问对端时,需要定义出接口
(2).常常作为动态路由协议生成的路由表条目中的下一跳地址(因为IPV6存在多宿主概念,该地址最稳定)
3.site-local 本地站点地址,私有地址,私网地址
FEC0::/16
4.未指定地址
::
作用:
(1)默认(缺省)路由
(2)在DHCP时作为无效地址(没有地址)
5.环回地址—127.0.0.1
::1
6.IPV4兼容性地址,用于6to4 tunnel专用
只要拥有一个IPV4地址,便拥有了一段IPV6地址,6to4 tunnel专用
假设IPV4地址为192.168.1.1
192 1100 0000 C0
168 1010 1000 A8
1 0000 0001 01
1 0000 0001 01
192.168.1.1的IPV4兼容性地址(IPV6地址)为2002.C0A8:0101::/48
多播地址
FF00::/8 所有组播地址,IPV4下的组播:224-239
FF02::1 相当于224.0.0.1 全世界路由器与所有PC之间
FF02::1 相当于224.0.0.2 全世界所有的路由器之间
FF02::9 相当于224.0.0.9 RIPNG
被请求节点组播地址:用于NDP协议(作用:获取对端MAC地址)
构成FF02::1:FF+24位 (IPv6单播地址的后24位)
只要存在一个IPV6单播地址,那么便会产生一个被请求节点组播地址
eg
2001::1(单播) FF02::1:FF00:1(组播)
每一个IPV6的单播地址默认在一个组内
IPV6下的组播MAC地址
33.33+32位(后32位位IPV6组播地址后32位)
FF02::1-------33.33.00.00.00.01
和IPV4一样不能一一对应
协议
ICMPV6
Internet控制管理协议-----存在大量的子协议
1.PMTU
路径MTU发现协议,通过ICMPV6 error包来获取整段路径上最小MTU值,统一MTU值
2.NDP
邻居发现协议—用于取代IPV4下的ARP协议
假设PC1和PC2通讯
PC1无PC2的MAC地址
(1)PC1封装ICMP type135 NS----相当于ARP的请求
源IPV6地址(PC1接口的IP地址) 目标IPV6地址(PC2的被请求节点组播地址 TTL=1)
源MAC地址(PC1接口MAC地址) 目标MAC地址(PC2的被请求节点组播地址对应的MAC)
(2)PC2回应ICMP type136 NA----相当于ARP的应答
源IPV6地址(PC2接口IP地址) 目标IPV6地址(PC1接口IPV6地址)
源MAC地址(PC2接口MAC地址) 目标MAC地址(PC1接口MAC地址)
ICMPV6中的NDP除取代了AARP外,其他的ARP协议也可以被NDP取代,原理一致
3.前缀通告auto-config
仅在以太网环境存在
路由器周期(200s)向下发送IPV6的地址前缀(网络号),PC使用EUI-64补充主机位。当前缀长度小于64位时,使用0补到64位;当前缀大于64位,从EUI-64取相同长度即可
路由器 PC
ICMP type 134---RA ICMP type 133---ACK-RS
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地址
当设备上的auto-config被激活后,同时可以收发IPV6路由协议信息,且可以为IPV6的流量进行路由(前提路由器接口上已经拥有合法IPV6的单播地址)
只要在路由器上开启了IPV6的单播路由功能,那么该路由器将向所有存在IPV6地址的以太网接口周期发送其地址的前缀
配置
静态
[r1]ipv6 启动IPV6
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ipv6 enable 开启IPV6
[r1-GigabitEthernet0/0/0]ipv6 address 12::1 64 配置IPV6地址
[r1-GigabitEthernet0/0/0]ipv6 address 2004:: 64 eui-64 基于接口MAC地址生成IPV6地址
注:一台路由器若运行一个IPV6的单播路由协议(动态,静态),也必须先开启IPV6单播路由功能
切记:一台IPV6路由器上若没有开启IPv6单播路由功能,将不能基于IPV6的流量进行路由表查看,但一旦开启该功能后,该设备上的所有以太网接口也被动的激活auto-config功能,故路由器邻居相连的接口是没有必要开启auto-config功能的,可以关闭
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ipv6 nd ra halt 关闭auto-config
IPV6静态路由
[r1]ipv6 route-static 2:: 64 12::2 静态路由
[r1]ipv6 route-static 2:: 64 12::2 preference 88 浮动静态
[r1]ipv6 route-static :: 0 12::2 缺省
[r1]ipv6 route-static 1:: 63 NULL 0 空接口防环路由
[r1]ping ipv6 2::2
注:无论使用何种路由协议,若目标不在本地,那么本地一定要开启IPV6的单播路由功能
[r1]display ipv6 interface brief
[r1]display ipv6 interface g0/0/0
RIPNG
同RIPV2使用完全一致的算法
基于UDP521端口工作,组播更新地址FF02::9
[r1]ripng 1
[r1-ripng-1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ripng 1 enable RIPNG宣告该接口
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]irpng summary-address 1:: 64 RIPNG汇总
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ripng default-route ?
only Advertise only the default route 只发缺省,不发环回
originate Originate the default route 发缺省,发环回
[r1-GigabitEthernet0/0/0]ripng default-route only (实际工程中建议使用only)
OSPFV3
组播更新地址FF02::5/6
OSPFV3与OSPFV2算法一致,唯一不同的是:LSA不同
[r1]ospfv3 1
[r1-ospfv3-1]router-id 2.2.2.2 注:router-id名字无所谓
[r1-ospfv3-1]q
[r1]interface g0/0/0 进入到接口
[r1-GigabitEthernet0/0/0]ospfv3 1 area 0 进行接口宣告
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospfv3 network-type broadcast 修改接口网络类型
BGP4+
[r1]bgp 100
[r1-bgp]router-id 2.2.2.2
[r1-bgp]peer 1::1 as-number 100
[r1-bgp]peer 1::1 connect-interface loopback 0
[r1-bgp]ipv6-family
[r1-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]int t0/0/0
[r1-Tunnel0/0/0]ipv6 enable
[r1-Tunnel0/0/0]ipv6 address 13::1 64
[r1-Tunnel0/0/0]tunnel-protocol ipv6-ipv4
[r1-Tunnel0/0/0]source 12.1.1.1
[r1-Tunnel0/0/0]destination 23.1.1.2
缺点:
1.到每一个不同目标,需要双发均配置tunnel
2.到每一个不同目标均需要编辑一条静态路由(为了路由可达)
6to4 tunnel
不用基于每个目标编辑tunnel和路由,仅需要一个tunnel和路由条目
原理:
先将本地IPV4公网地址转换为IPV6兼容性地址,然后将其进行子网划分后应用到内网
当流量来到tunnel接口时,其目标IPV4地址是从配置的IPV6地址中来的
[r1]interface t0/0/0
[r1-Tunnel0/0/0]ipv6 enable
[r1-Tunnel0/0/0]ipv6 address 2002:0C01:0101:1::1 64
[r1-Tunnel0/0/0]tunnel-protocol ipv6-ipv4 6to4
[r1-Tunnel0/0/0]source 12.1.1.1
[r1]ipv6 route-static 2002:: 16 t0/0/0
双栈
网络即连接V4网络也连接V6网络,通讯时根据目标IP地址,来判断应该携带那个网络源地址,默认优先查找V6网络中的DNS服务器
实现双栈:本质就是给一个接口配置IPV4和IPV6地址
[r1]ipv6
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ipv6 enable
[r1-GigabitEthernet0/0/0]ip address 2.2.2.1 24
[r1-GigabitEthernet0/0/0]ipv6 address 2::1 64