IPV6
- 1、IPv6基础
- 1.1 Ipv6地址静态配置、Eui 64
- 1.1.1 Ipv6地址静态配置
- 1.1.2、Ipv6地址计算总结
- 1.1.2.1、IEEE eui 64计算
- 1.1.2.1.1、作用
- 1.1.2.1.2、计算方法
- 1.1.2.1.3、计算过程
- 1.1.2.2、被请求加入的组播组地址计算(三层)
- 1.1.2.2.1、 作用
- 1.1.2.2.2、 计算方法
- 1.1.2.2.3、 计算过程
- 1.1.2.3、被请求加入的组播组MAC地址计算
- 1.1.2.3.1、 作用
- 1.1.2.3.2、 计算方法
- 1.1.2.3.3、 计算过程
- 2、ICMPv6差错类报文
- 2.1、基础环境(全网跑ospfv3)
- 2.2、ICMPv6差错类报文
- 2.2.1、hop limit超时
- 2.2.2、端口不可达
- 2.2.3、数据包过大
- 2.3、NDP协议
- 2.3.1、NS、NA地址解析
- 3、三大动态路由协议IPV6
- 3.1 OSPFv3
- 3.1.1、进程、实例实验
- 3.1.2、OSPFv3 LSA解析
- 3.1.2.1、一类LSA:Router
- 3.1.2 .1、二类LSA:network
- 3.1.2.3、三类LSA:inter-prefix
- 3.1.2.4、四类LSA:inter-router
- 3.1.2.5、五类LSA:external
- 3.1.2.6、七类LSA:nssa
- 3.1.2.7、八类LSA:LINK
- 3.2.1.8、九类LSA:intra-prefix
- 3.1.2.9、OSPFv3 LSA总结
1、IPv6基础
1.1 Ipv6地址静态配置、Eui 64
1.1.1 Ipv6地址静态配置
R1
ipv6
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001:12::1/64
R2
ipv6
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001:12::2/64
验证:R1 ping R2
1.1.2、Ipv6地址计算总结
1.1.2.1、IEEE eui 64计算
1.1.2.1.1、作用
计算ipv6地址的接口标识(主机位)
情况1:接口link_local地址的接口标识计算
情况2:接口ipv6 GUA地址的接口标识计算
1.1.2.1.2、计算方法
第一步:接口MAC地址(48bit)拿出来
第二步:MAC地址开头第7个比特取反(2进制)
第三步: MAC地址中间打开,插入FFFE(16bit) = 64bit的 接口标识
1.1.2.1.3、计算过程
R1的G0/0/0 Link_local地址为例:R1的G0/0/0口 MAC地址:00e0-fce1-37bd
第一步:接口MAC地址:00e0-fce1-37bd
第二步:00000000e0-fce1-37bd
0000010e0-fce1-37bd - 第7bit取反
02e0-fce1-37bd
第三步:02e0-fce1-37bd - 中间插入FFFE = R1 G0/0/0口 的 接口标识
Link_local地址前缀固定为:FE80::/10
所以R1的G0/0/0 LinkLocal地址为:fe80::2e0-fcff-fee1-37bd
验证:R1查看接口Link Local地址
[R1]display ipv6 interface GigabitEthernet 0/0/0
1.1.2.2、被请求加入的组播组地址计算(三层)
1.1.2.2.1、 作用
接口会自动加入这个组,用于被访问自己(邻居发现、地址重复检测)
1.1.2.2.2、 计算方法
第一步:前104bit固定前缀:FF02::1:FF
第二步:后24bit 从接口标识复制过来
1.1.2.2.3、 计算过程
R1的接口标识1(link local的接口标识):fe80::2e0-fcff-fee1-37bd
R1的接口标识2(手工配置地址的接口标识)2001:12::1/64 -> ::1
第一步:前104bit固定前缀:FF02::1:FF
第二步:后24bit:e1-37bd(link_local的标识)
后24bit:00:0001
R1加入的被请求组播组1:FF02::1:FFE1-37BD
R1加入的被请求组播组2:FF02::1:FF00::1
分析:
- 当接口GUA地址与Link_Local的接口标识一致时,只会产生一个被请求的组播地址
- 当接口GUA地址与Link_Local的接口标识不一致时,会产生2个被请求的组播地址
1.1.2.3、被请求加入的组播组MAC地址计算
1.1.2.3.1、 作用
地址解析时的目的MAC地址封装
1.1.2.3.2、 计算方法
第一步:固定前16bit前缀 33:33
第二步:后32bit由组播ipv6地址拿过来
1.1.2.3.3、 计算过程
R1的被请求组播IP地址1:FF02::1:FFE1-37BD
R1的被请求组播IP地址2:FF02::1:FF00::1
第一步:固定16前16bit前缀33:33
第二步:后32bit 组播地址1:FFE1-37BD
后32bit组播地址2:0000:0001
组播MAC地址1:33:33:FF:E1:37:BD
组播MAC地址2:33:33:00:00:00:01
验证抓包:
2、ICMPv6差错类报文
需求:R1、R2,R3运行ospfv3 三个环回口地址可以互通
2.1、基础环境(全网跑ospfv3)
R1
ipv6
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001:12::1/64
interface LoopBack0
ipv6 enable
ipv6 address 2001:1::1/64
R2
ipv6
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001:12::2/64
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 2001:23::2/64
interface LoopBack0
ipv6 enable
ipv6 address 2001:2::2/64
R3
ipv6
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 2001:23::3/64
interface LoopBack0
ipv6 enable
ipv6 address 2001:3::3/64
OSPFv3 配置
R1
ospfv3 1
router-id 1.1.1.1
interface GigabitEthernet0/0/0
ospfv3 1 area 0.0.0.0
interface LoopBack0
ospfv3 1 area 0.0.0.0
R2
ospfv3 1
router-id 2.2.2.2
interface GigabitEthernet0/0/0
ospfv3 1 area 0.0.0.0
interface GigabitEthernet0/0/1
ospfv3 1 area 0.0.0.0
interface LoopBack0
ospfv3 1 area 0.0.0.0
R3
ospfv3 1
router-id 3.3.3.3
interface GigabitEthernet0/0/1
ospfv3 1 area 0.0.0.0
interface LoopBack0
ospfv3 1 area 0.0.0.0
验证连通性
R1以loop0为源 ping R3 loop0口:ping ipv6 -a 2001:1::1 2001:3::3
2.2、ICMPv6差错类报文
2.2.1、hop limit超时
利用traceroute 命令探测
[R1]tracert ipv6 2001:23::3
2.2.2、端口不可达
[R1]tracert ipv6 2001:23::3
2.2.3、数据包过大
R2
interface GigabitEthernet0/0/1
ipv6 mtu 1300 //修改中间路由的接口MTU值(改小)
R1
ping ipv6 -s 1500 2001:23::3 //丢一个包表示在利用PTU机制发现,R1直接分片
2.3、NDP协议
2.3.1、NS、NA地址解析
R1:
reset ipv6 neighbors all
Warning: This operation will delete all static and dynamic IPv6 ND entries and the configurations of all static IPv6 ND. Continue?[Y/N]:y
R2:
reset ipv6 neighbors all
Warning: This operation will delete all static and dynamic IPv6 ND entries and the configurations of all static IPv6 ND. Continue?[Y/N]:y
R1:ping ipv6 -c 1 2001:12::2
分析:R1 ping 一次R2,连续触发4对NS,NA
原因1:谁回复NA,谁的邻居表里关于对面ip、MAC的映射关系就由 stale ->delay,等5s就开始再次发NS
原因2:R2回复R1,delay 5s超时以后进入probe发送给R1的NS是以自己LLA地址为源,R1收到这个NS形成的关于R2的邻居表,就多了一个R1 -> R2 LLA地址的邻居表
所以:每个接口有两个ip地址,1个linklocal地址,一个接口配置的GUA ip地址,所以不同源ip发出的NS,会封装不同的邻居表对应相同的MAC地址
R1会有两个邻居表项:R2的GUA ip地址 –> R2 g0/0/0的mac
R2的LLA IP地址 -> R2 g0/0/0的mac
R2同理也有两个邻居表项
验证:R1查看邻居表是否关于R2的G0/0/0口mac有两个表项
3、三大动态路由协议IPV6
3.1 OSPFv3
3.1.1、进程、实例实验
需求:
-
R1,R4之间起进程1、实例2
-
R2、R3、R5之间起进程1,实例1
-
实现R1和R4可以建立ospfv3邻居关系
-
R2和R3可以建立ospfv3邻居关系
基础接口配置:
R1
ipv6
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001🔢:1/64
R2
ipv6
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001🔢:2/64
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 2001:25::2/64
interface LoopBack0
ipv6 enable
ipv6 address 2001:2::2/128
R3
ipv6
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001🔢:3/64
R4
ipv6
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001🔢:4/64
R5
ipv6
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 2001:25::4/64
interface LoopBack0
ipv6 enable
ipv6 address 2001:5::5/128
OSPFv3配置
R1
ospfv3 1
router-id 1.1.1.1
interface GigabitEthernet0/0/0
ospfv3 1 area 0.0.0.0 instance 2
R2
ospfv3 1
router-id 2.2.2.2
interface GigabitEthernet0/0/0
ospfv3 1 area 0.0.0.0 instance 1
interface GigabitEthernet0/0/1
ospfv3 1 area 0.0.0.1 instance 1
ospfv3 network-type p2p instance 1
interface LoopBack0
ospfv3 1 area 0.0.0.0 instance 1
R3
ospfv3 1
router-id 3.3.3.3
interface GigabitEthernet0/0/0
ospfv3 1 area 0.0.0.0 instance 1
R4
ospfv3 1
router-id 4.4.4.4
interface GigabitEthernet0/0/0
ospfv3 1 area 0.0.0.0 instance 2
R5
ospfv3 1
router-id 5.5.5.5
interface GigabitEthernet0/0/1
ospfv3 1 area 0.0.0.1 instance 1
ospfv3 network-type p2p instance 1
interface LoopBack0
ospfv3 1 area 0.0.0.1 instance 1
验证:R1,R2查看邻居关系
R1:display ospfv3 peer
R2:display ospfv3 peer
抓包:
结论:ospf进程号:本地有效
ospf instance id:会携带在hello包中,只有instance相同才可以建立邻居关系
3.1.2、OSPFv3 LSA解析
3.1.2.1、一类LSA:Router
R2上查看R2产生的一类LSA
R2:display ospfv3 interface - DR是R3,接口ID为3
R2:display ospfv3 lsdb self-originate router
分析:只在本区域内泛洪
Transit: 描述自己由哪个接口连接了DR的哪个接口
P2P:描述自已由哪个接口连接了邻居(router-id)的哪个接口
3.1.2 .1、二类LSA:network
R2查看从DR(R3)上收到的2类lsa
display ospfv3 lsdb originate-router 3.3.3.3 network
分析:二类LSA由DR产生,仅仅描述这个MA网络里有哪些路由器,只在本区域内泛洪
3.1.2.3、三类LSA:inter-prefix
R3上查看从ABR(R2)上产生的3类LSA:描述区域1
[R3]display ospfv3 lsdb originate-router 2.2.2.2 inter-prefix
分析:三类LSA由ABR产生,描述其他区域的路由信息,全区域泛洪
3.1.2.4、四类LSA:inter-router
R5上将loopack0口引入ospf
R5:
ospfv3 1
import-route direct
R3上查看R2产生的4类LSA
[R3]display ospfv3 lsdb originate-router 2.2.2.2 inter-router
分析:4类LSA由ABR产生,用来告知本区域ASBR怎么去,本区域内泛洪
3.1.2.5、五类LSA:external
R3上查看R5产生的5类LSA
[R3]display ospfv3 lsdb originate-router 5.5.5.5 external
注:很多人做到这发现没有实验现象(好好排查 多看看基础配置就知道啦 相当于一个小排错)
分析:5类LSA由ASBR产生,通告路由器不发生改变,用来描述外部路由信息,全区域泛洪
3.1.2.6、七类LSA:nssa
R2和R5把区域1配置成nssa区域
R2
ospfv3 1
area 0.0.0.1
nssa
R5
ospfv3 1
area 0.0.0.1
nssa
R2上查看nssa区域里的ASBR R5产生的7类LSA
[R2]display ospfv3 lsdb originate-router 5.5.5.5 nssa
分析:7类LSA由nssa区域里的ASBR产生,用来描述外部路由,只在nssa区域内泛洪
3.1.2.7、八类LSA:LINK
R3上查看R2产生的8类LSA
[R3]display ospfv3 lsdb originate-router 2.2.2.2 link
R3查看从R2这个下一条走的全局路由表
分析:Ipv6路由表中的ospfv3路由,下一跳都是对面接口link-local地址,ospfv3本身的lsa工作机制是由接口描述的,所以需要8类LSA告知直连路由器,我连接你的接口link-local地址是多少,用于给对面路由器形成路由表项的下一跳地址,8类lsa仅在直连链路之间传递。
3.2.1.8、九类LSA:intra-prefix
R5查看关于区域1的p2p网络类型9类lsa
[R5]display ospfv3 lsdb originate-router 2.2.2.2 intra-prefix
R2查看R3(DR)产生的描述MA链路的9类LSA
[R2]display ospfv3 lsdb originate-router 3.3.3.3 intra-prefix
R2查看自己产生的关于自己loopback接口的9类lsa
[R2]display ospfv3 lsdb self-originate intra-prefix
分析:9类LSA用来描述路由信息(本区域泛洪)
MA网络:DR产生,描述MA链路的路由信息
每个路由器都产生描述自身P2P链路和loopack接口的路由信息
3.1.2.9、OSPFv3 LSA总结