CCIE-10-IPv6-TS

目录

  • 实验条件
    • 网络拓朴
  • 环境配置
  • 开始Troubleshooting
    • 问题1. R25和R22邻居关系没有建立
    • 问题2. 去往R25网络的下一跳地址不存在、不可用
    • 问题3. 去往目标网络的下一跳地址不存在、不可用

实验条件

网络拓朴

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

环境配置

在我的资源里可以下载(就在这篇文章的开头也可以下载)
在这里插入图片描述

开始Troubleshooting

检查所有接口的配置

Phone#show ipv int br
Ethernet0/0            [up/up]FE80::A8BB:CCFF:FE02:30002001:CC1E:BEEF:25::100
Ethernet0/1            [administratively down/down]unassigned
Ethernet0/2            [administratively down/down]unassigned
Ethernet0/3            [administratively down/down]unassignedR25#show ipv int br
Ethernet0/0            [up/up]FE80::A8BB:CCFF:FE02:20002001:CC1E:BEEF:25::1
Ethernet0/1            [up/up]FE80::A8BB:CCFF:FE02:20102001:CC1E:BEEF:2225::18
Loopback0              [up/up]FE80::A8BB:CCFF:FE02:20002001:CC1E:BEEF::2225
R25#R22#show ipv int br
Ethernet0/0            [up/up]unassigned
Ethernet0/1            [up/up]FE80::A8BB:CCFF:FE01:F0102001:CC1E:BEEF:2225::17
Ethernet1/0            [up/up]FE80::A8BB:CCFF:FE01:F0012001:CC1E:ABCD:2622::13

其它的两台路由器没有密码,应该是不需要调整的,
直接ping Server4的IPv6地址

Phone#ping 2001:BEEF:CAFE::26
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:BEEF:CAFE::26, timeout is 2 seconds:
UUUUU
Success rate is 0 percent (0/5)
Phone#traceroute 2001:BEEF:CAFE::26
Type escape sequence to abort.
Tracing the route to 2001:BEEF:CAFE::261 2001:CC1E:BEEF:25::1 !U  !U  !U 
Phone#

ping包出现U表示目标不可达的意思, 就是路由器在查询路由表的时候没有目标网络的路由表,而且也没有默认路由,这时就回给源路由器一个目标不可达,源路由器就显示一个U的标记;

数据包到达了网关R25之后就没有下一跳的路由了,查询R25的路由相关配置

R25#show ipv route      
IPv6 Routing Table - default - 6 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static routeB - BGP, HA - Home Agent, MR - Mobile Router, R - RIPH - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interareaIS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMOND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - RedirectRL - RPL, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2la - LISP alt, lr - LISP site-registrations, ld - LISP dyn-eidlA - LISP away, a - Application
LC  2001:CC1E:BEEF::2225/128 [0/0]via Loopback0, receive
C   2001:CC1E:BEEF:25::/64 [0/0]via Ethernet0/0, directly connected
L   2001:CC1E:BEEF:25::1/128 [0/0]via Ethernet0/0, receive
C   2001:CC1E:BEEF:2225::/64 [0/0]via Ethernet0/1, directly connected
L   2001:CC1E:BEEF:2225::18/128 [0/0]via Ethernet0/1, receive
L   FF00::/8 [0/0]via Null0, receive
R25#show run | s router          
router bgp 65101bgp log-neighbor-changesneighbor 123.1.2.17 remote-as 12345!address-family ipv4neighbor 123.1.2.17 activateexit-address-family!address-family ipv6network 2001:CC1E:BEEF::2225/128network 2001:CC1E:BEEF:25::/64neighbor 123.1.2.17 activateexit-address-family

没有目标的路由信息,路由协议采用的是BGP协议, 查看一下BGP邻居状态情况

R25#show ip bgp summary
BGP router identifier 202.65.1.5, local AS number 65101
BGP table version is 1, main routing table version 1Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
123.1.2.17      4        12345       0       0        1    0    0 never    Idle

发现R25和R22的邻居关系没有起来、查询R22的路由表信息,发现在R22上有和R26的邻居关系且有目标网络的路由信息且能ping通到目标网络。

R22#show ipv route
IPv6 Routing Table - default - 6 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static routeB - BGP, HA - Home Agent, MR - Mobile Router, R - RIPH - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interareaIS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMOND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - RedirectRL - RPL, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2la - LISP alt, lr - LISP site-registrations, ld - LISP dyn-eidlA - LISP away, a - Application
B   2001:BEEF:CAFE::/64 [20/0]via FE80::A8BB:CCFF:FE02:10, Ethernet1/0
C   2001:CC1E:ABCD:2622::/64 [0/0]via Ethernet1/0, directly connected
L   2001:CC1E:ABCD:2622::13/128 [0/0]via Ethernet1/0, receive
C   2001:CC1E:BEEF:2225::/64 [0/0]via Ethernet0/1, directly connected
L   2001:CC1E:BEEF:2225::17/128 [0/0]via Ethernet0/1, receive
L   FF00::/8 [0/0]via Null0, receive
R22#show ip bgp summary
BGP router identifier 134.22.22.22, local AS number 12345
BGP table version is 6, main routing table version 6
5 network entries using 720 bytes of memory
5 path entries using 420 bytes of memory
2/2 BGP path/bestpath attribute entries using 320 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1484 total bytes of memory
BGP activity 6/0 prefixes, 6/0 paths, scan interval 60 secsNeighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
123.1.2.18      4        65101       0       0        1    0    0 never    Idle (Admin)
123.3.3.3       4        12345       0       0        1    0    0 never    Idle
123.5.5.5       4        12345       0       0        1    0    0 never    Idle
134.21.21.21    4        12345       0       0        1    0    0 never    Idle
134.56.78.14    4        10001      22      19        6    0    0 00:15:40        5
R22#ping 2001:BEEF:CAFE::26
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:BEEF:CAFE::26, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
R22#

那么只需要解决R22和R25的邻居关系且把目标的网络让R25接收就可以达到我们的目标。

问题1. R25和R22邻居关系没有建立

之前看了R25的BGP配置没有发现异常、继续检查R22的BGP配置

R22#show run | s router bgp
router bgp 12345bgp router-id 134.22.22.22bgp log-neighbor-changesneighbor PEER peer-groupneighbor PEER remote-as 12345neighbor 2001:CC1E:ABCD:2622::12 remote-as 10001neighbor 123.1.2.18 remote-as 65101neighbor 123.1.2.18 shutdownneighbor 123.3.3.3 peer-group PEERneighbor 123.5.5.5 peer-group PEERneighbor 134.21.21.21 peer-group PEERneighbor 134.56.78.14 remote-as 10001!address-family ipv4neighbor PEER next-hop-selfno neighbor 2001:CC1E:ABCD:2622::12 activateneighbor 123.1.2.18 activateneighbor 123.3.3.3 activateneighbor 123.5.5.5 activateneighbor 134.21.21.21 activateneighbor 134.56.78.14 activateneighbor 134.56.78.14 route-map MED outexit-address-family!        address-family ipv6neighbor 2001:CC1E:ABCD:2622::12 activateneighbor 123.1.2.18 activateneighbor 123.1.2.18 route-map NEXT-HOP outexit-address-family
R22#

发现邻居关系被 Shutdown了,no shutdown就可以了


R22#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R22(config)#router bgp 12345
R22(config-router)#no neighbor 123.1.2.18 shutdown
R22(config-router)#
%BGP-5-ADJCHANGE: neighbor 123.1.2.18 Up 
R22(config-router)#do show ip bgp summary
BGP router identifier 134.22.22.22, local AS number 12345
BGP table version is 6, main routing table version 6
5 network entries using 720 bytes of memory
5 path entries using 420 bytes of memory
2/2 BGP path/bestpath attribute entries using 320 bytes of memory
2 BGP AS-PATH entries using 48 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1508 total bytes of memory
BGP activity 8/0 prefixes, 8/0 paths, scan interval 60 secsNeighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
123.1.2.18      4        65101       6       8        6    0    0 00:00:10        0
123.3.3.3       4        12345       0       0        1    0    0 never    Idle
123.5.5.5       4        12345       0       0        1    0    0 never    Idle
134.21.21.21    4        12345       0       0        1    0    0 never    Idle
134.56.78.14    4        10001      27      25        6    0    0 00:20:47        5
R22(config-router)#

发现R22和R25的邻居关系已经正常,查看BGP路由信息

R22(config-router)#do show bgp ipv6 unicast        
BGP table version is 2, local router ID is 134.22.22.22
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, t secondary path, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not foundNetwork          Next Hop            Metric LocPrf Weight Path*>   2001:BEEF:CAFE::/642001:CC1E:ABCD:2622::120 10001 i*    2001:CC1E:BEEF::2225/128::FFFF:123.1.2.180             0 65101 i*    2001:CC1E:BEEF:25::/64::FFFF:123.1.2.180             0 65101 i
R25#show bgp ipv6 unicast 
BGP table version is 3, local router ID is 202.65.1.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, t secondary path, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not foundNetwork          Next Hop            Metric LocPrf Weight Path*    2001:BEEF:CAFE::/64::FFFF:123.1.2.170 12345 10001 i*>   2001:CC1E:BEEF::2225/128::                       0         32768 i*>   2001:CC1E:BEEF:25::/64::                       0         32768 i
R25#

问题2. 去往R25网络的下一跳地址不存在、不可用

修改去往R25网络的下一跳地址,查询到R25上有配置了一个route-map 下一跳地址是R25的E0/1

R25#show run | s router
router bgp 65101bgp log-neighbor-changesneighbor 123.1.2.17 remote-as 12345!address-family ipv4neighbor 123.1.2.17 activateexit-address-family!address-family ipv6network 2001:CC1E:BEEF::2225/128network 2001:CC1E:BEEF:25::/64neighbor 123.1.2.17 activateexit-address-family
R25#show route-map
route-map NEXT-HOP, permit, sequence 10Match clauses:Set clauses:ipv6 next-hop 2001:CC1E:BEEF:2225::18Policy routing matches: 0 packets, 0 bytes
R25#

next-hop 2001:CC1E:BEEF:2225::18 这个IP地址是R25的 e0/1口,那说明这个route-map是为了修改BGP邻居访问network 2001:CC1E:BEEF::2225/128network 2001:CC1E:BEEF:25::/64时指定下一跳为自己的e0/1口,那说明这个route-map应该配置在out的方向上

R25#conf t
R25(config)#router bgp 65101
R25(config-router-af)#address-family ipv6
R25(config-router-af)#neighbor 123.1.2.17 route-map NEXT-HOP out
R25(config-router-af)#do show run | s router bgp
router bgp 65101bgp log-neighbor-changesneighbor 123.1.2.17 remote-as 12345!address-family ipv4neighbor 123.1.2.17 activateexit-address-family!address-family ipv6network 2001:CC1E:BEEF::2225/128network 2001:CC1E:BEEF:25::/64neighbor 123.1.2.17 activateneighbor 123.1.2.17 route-map NEXT-HOP outexit-address-family
R25(config-router-af)#

在R22的路由器上,查询BGP表

R22#show bgp ipv6 unicast
BGP table version is 4, local router ID is 134.22.22.22
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, t secondary path, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not foundNetwork          Next Hop            Metric LocPrf Weight Path*>   2001:BEEF:CAFE::/642001:CC1E:ABCD:2622::120 10001 i*>   2001:CC1E:BEEF::2225/1282001:CC1E:BEEF:2225::180             0 65101 i*>   2001:CC1E:BEEF:25::/642001:CC1E:BEEF:2225::180             0 65101 i
R22#show ipv route
IPv6 Routing Table - default - 8 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static routeB - BGP, HA - Home Agent, MR - Mobile Router, R - RIPH - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interareaIS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMOND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - RedirectRL - RPL, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2la - LISP alt, lr - LISP site-registrations, ld - LISP dyn-eidlA - LISP away, a - Application
B   2001:BEEF:CAFE::/64 [20/0]via FE80::A8BB:CCFF:FE02:10, Ethernet1/0
C   2001:CC1E:ABCD:2622::/64 [0/0]via Ethernet1/0, directly connected
L   2001:CC1E:ABCD:2622::13/128 [0/0]via Ethernet1/0, receive
B   2001:CC1E:BEEF::2225/128 [20/0]via FE80::A8BB:CCFF:FE02:2010, Ethernet0/1
B   2001:CC1E:BEEF:25::/64 [20/0]via FE80::A8BB:CCFF:FE02:2010, Ethernet0/1
C   2001:CC1E:BEEF:2225::/64 [0/0]via Ethernet0/1, directly connected
L   2001:CC1E:BEEF:2225::17/128 [0/0]via Ethernet0/1, receive
L   FF00::/8 [0/0]via Null0, receive

下一跳已经正常,且已经加进路由表中

问题3. 去往目标网络的下一跳地址不存在、不可用

修改去往目标网络的下一跳地址,查询到R22上的BGP有配置了一个route-map NEXT-HOP

R22#show run | s router bgp
router bgp 12345bgp router-id 134.22.22.22bgp log-neighbor-changes
......!address-family ipv6......neighbor 123.1.2.18 route-map NEXT-HOP outexit-address-family
R22#show route-map NEXT-HOP
route-map NEXT-HOP, permit, sequence 10Match clauses:Set clauses:Policy routing matches: 0 packets, 0 bytes
R22#

却是什么都没有配置、这导致R25去往目标网络时的下跳变成了::FFFF:123.1.2.17这个无效地址,因此配置一下set next-hop解决这个问题(ipv4建邻居,传ipv6路由和ipv6建邻居,传ipv4路由的下一跳都会出现问题需要手动修改)

R22#conf t
R22(config)#route-map NEXT-HOP permit 10
R22(config-route-map)#set ipv next-hop 2001:CC1E:BEEF:2225::17
R22(config-route-map)#do show route-map NEXT-HOP
route-map NEXT-HOP, permit, sequence 10Match clauses:Set clauses:ipv6 next-hop 2001:CC1E:BEEF:2225::17Policy routing matches: 0 packets, 0 bytes
R22(config-route-map)#

在R25上查看BGP路由表

R25#show bgp ipv6 unicast        
BGP table version is 4, local router ID is 202.65.1.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, t secondary path, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not foundNetwork          Next Hop            Metric LocPrf Weight Path*>   2001:BEEF:CAFE::/642001:CC1E:BEEF:2225::170 12345 10001 i*>   2001:CC1E:BEEF::2225/128::                       0         32768 i*>   2001:CC1E:BEEF:25::/64::                       0         32768 i
R25#show ipv route 
IPv6 Routing Table - default - 7 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static routeB - BGP, HA - Home Agent, MR - Mobile Router, R - RIPH - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interareaIS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMOND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - RedirectRL - RPL, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2la - LISP alt, lr - LISP site-registrations, ld - LISP dyn-eidlA - LISP away, a - Application
B   2001:BEEF:CAFE::/64 [20/0]via FE80::A8BB:CCFF:FE01:F010, Ethernet0/1
LC  2001:CC1E:BEEF::2225/128 [0/0]via Loopback0, receive
C   2001:CC1E:BEEF:25::/64 [0/0]via Ethernet0/0, directly connected
L   2001:CC1E:BEEF:25::1/128 [0/0]via Ethernet0/0, receive
C   2001:CC1E:BEEF:2225::/64 [0/0]via Ethernet0/1, directly connected
L   2001:CC1E:BEEF:2225::18/128 [0/0]via Ethernet0/1, receive
L   FF00::/8 [0/0]via Null0, receive
R25#

去往目标网络的下一跳已经正常,现在测试一下网络是否连通

Phone#ping 2001:BEEF:CAFE::26
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:BEEF:CAFE::26, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Phone#traceroute 2001:BEEF:CAFE::26
Type escape sequence to abort.
Tracing the route to 2001:BEEF:CAFE::261 2001:CC1E:BEEF:25::1 0 msec 0 msec 1 msec2 2001:CC1E:BEEF:2225::17 0 msec 0 msec 1 msec3 2001:CC1E:ABCD:2622::12 0 msec 1 msec 0 msec4 2001:BEEF:CAFE::26 1 msec 1 msec 0 msec
Phone#

网络通了,目标达成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/299689.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE4_如果快速做出毛玻璃效果_假景深

UE4_如果快速做出毛玻璃效果_假景深 2022-08-20 15:02 一个SpiralBlur-SceneTexture材质节点完成效果,启用半透明材质通过修改BlurAmount数值大小调整效果spiralBlur-SceneTexture custom节点,HLSL语言float3 CurColor 0;float2 BaseUV MaterialFloa…

JAVA面试八股文之框架相关

面试八股文 Spring和SpringMvc父子容器关系?实现AOP有几种方式?多节点定时任务重复执行问题?mybatisplus实现批量插入?springboot排除依赖?控制配置类的优先级?BeanFactory 和 ApplicationContext 的区别&a…

【论文阅读笔记】SAM-Adapter: Adapting Segment Anything in Underperformed Scenes

1.论文介绍 SAM-Adapter: Adapting Segment Anything in Underperformed Scenes SAM适配器:在表现不佳的场景中适配任何片段 2023年 ICCV Paper Code SAM Fails to Segment Anything? – SAM-Adapter: Adapting SAM in Underperformed Scenes: Camouflage, Shado…

吴恩达:AI 智能体工作流

热门文章推荐: (1)《为什么很多人工作 3 年 却只有 1 年经验?》(2)《一文掌握大模型提示词技巧:从战略到战术巧》(3)《AI 时代,程序员的出路在何方&#xff1…

Vue2(完结):replace属性、编程式路由导航、缓存路由组件、两个新钩子、路由守卫、history与hash

一、router-link的replace属性 1、作用:控制路由跳转时操作浏览器历史记录的模式 2、浏览器的历史记录有两种写入方式:分别为push和replace,push是追加历史记录,replace是替换当前记录。路由跳转时候默认为push 3、如何开启repla…

EXCEL地理数据处理工具(地图任务)

版本号 作者 修订内容 发布日期 1.0 小O 更新至0705版 2022-4-28 1.1 小O 更新至0772版 2024年4月3日 一、概述 小O地图EXCEL插件版提供基于EXCEL表格进行地理数据处理、地图可视化、地图绘图等功能,地理工具是用户使用频率很高的功能模块。地理工具能…

C语言交换两个变量值的方法,详细讲解

不管在学习哪门语言,都会遇到交换两个变量的这种问题,而且在面试测试题中也经常提到。既然出现的频率这么高,那我们今天就来讲讲交换两个变量常用的几种方法。 今天主要是基于C语言写的代码,不管哪种语言写的,应该核心…

Linux下Qt生成程序崩溃文件

文章目录 1.背景2.Qt编译生成程序2.1.profile模式的本质 3.执行程序,得到core文件4.代码定位4.1.直接使用gdb4.2.使用QtCreator 5.总结6.题外话6.1.profile模式和debug模式的区别 1.背景 在使用Qt时,假如在windows,当软件崩溃时,…

石油化工控制台定制厂家具备的专业条件一览

石油化工行业,作为国家的支柱产业之一,对设备与控制台的要求尤为严格。石油化工控制台是石油化工行业必不可少的办公设备之一。因此,选择一家专业的石油化工控制台定制厂家,对于提升企业的生产效率与安全水平具有不可估量的价值&a…

CTF之矛盾

这一题就是php的弱比较“” 这里要求输入的不是数字,并且输入要为1才打印flag 那我们就输入一个1后面接随便什么字符,因为php的弱比较将字符与数字进行比较的时候,会把字符转换成数字再比较,当转换到字符时后面便都为空了 flag{…

ChatGLM-6B实战微调(P-tuning-v2、LORA)

硬件准备 GPU: NVIDIA Tesla A30 24GB python 3.10 pytorch 1.11 transformers 4.27.1 实验环境 Change your pip source pip config set global.extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple # Writing to /opt/conda/pip.conf pip config set global.inde…

C/C++预处理过程

目录 前言: 1. 预定义符号 2. #define定义常量 3. #define定义宏 4. 带有副作用的宏参数 5. 宏替换的规则 6. 宏和函数的对比 7. #和## 8. 命名约定 9. #undef 10. 命令行定义 11. 条件编译 12. 头文件的包含 13. 其他预处理指令 总结&#x…

【御控物联】JavaScript JSON结构转换(15):对象To数组——转换映射方式

文章目录 一、JSON结构转换是什么?二、术语解释三、案例之《JSON对象 To JSON数组》四、代码实现五、在线转换工具六、技术资料 一、JSON结构转换是什么? JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0…

2024年03月CCF-GESP编程能力等级认证Scratch图形化编程二级真题解析

本文收录于专栏《Scratch等级认证CCF-GESP真题解析》,专栏总目录・点这里. 一、单选题(共 10 题,每题 3 分,共 30 分) 第1题 小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是?( )。 A、小程序 B、计时器 C、操作系统 D、神话人物 答案:…

【vite】-【vite介绍】-【vite的基础应用】-【vite的高级应用】-【

目录 vite介绍vite的基础应用vite创建项目vite创建vue3项目vite创建vue2项目vite创建react项目 vite中使用css的各种功能vite中使用tsvite中处理静态资源的方法vite集成eslint和prettiervite中的env环境变量 vite的高级应用 vite介绍 一、特点: 开发时效率极高开箱…

Excel常用技巧

个人笔记(整理不易,有帮助点个赞) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 个人随笔:工作总结随笔_8、以前工作中都接触过哪些类型的测试文档-CSDN博客 目录 一&#xff1a…

UE4几个常用节点链接

UE4几个常用节点链接 2017-12-02 12:54 1. 流光材质(及uv平铺次数) 2. 跑九宫格 3.闪光3。1 粒子闪烁效果 4.图案重复5.平移扭曲 6.溶解 刀光的uv滚动图片源或采样节点属性里改成clamp无后期发光光晕anistropic 各向异性高光法线图 法线图叠加 blendangle orrectedNo…

ThingsBoard通过MQTT发送属性数据

MQTT基础 客户端 MQTT连接 属性上传API 案例 MQTT基础 MQTT是一种轻量级的发布-订阅消息传递协议,它可能最适合各种物联网设备。 你可以在此处找到有关MQTT的更多信息,ThingsBoard服务器支持QoS级别0(最多一次)和QoS级别1&…

Python爬取公众号封面图(零基础也能看懂)

📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️感谢大家点赞👍&…

【Web应用技术基础】JavaScript(4)——案例:全选/取消全选按钮

视频已发。截图如下&#xff1a; 1.点击全选按钮&#xff0c;则选中所有选项 2.只要某个选项取消&#xff0c;则自动取消全选按钮的勾选状态 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"vie…