动态路由实验

计算机网络——配置动态路由实验 这篇文章简单的介绍了计算机网络实验:配置动态路由 阅读详情
  • 实验拓扑

  

 

  • 实验需求

1.除了R5的环回地址固定5.5.5.0/24,其他网段基于192.168.1.0/24进行合理划分;
2.R1-R4每个路由器存在两个环回接口,模拟PC,地址也192.168.1.0/24网络内;
3.R1-R4不能直接编写到达5.5.5.0/24的静态路由,但依然可以访问;
4.全网可达,尽量减少每台路由器路由条目数量,避免环路;
5.R4与R5间,正常1000M链路通信,故障时自动改为100M;

三、实验步骤

1、划分网段

划分网络地址,依据相关要求,我们需要在192.168.1.0/24网段内划分为4个网段

1>192.168.1.0/26和192.168.1.0/26该两个网段划分为骨干链路网段

2>192.168.1.128/26 该网段为AR1的环回网段

两个环回口的小网段由该网段划分出

AR2也是同理

2、开始编写到达各个网段的静态路由

3、开始配置缺省路由,通向5.5.5.0/24网段,实现全网通,并且开始测试。

4、防环,做黑洞路由配置

5、改变路由条目优先级来实现先走千兆路段

6、测试,观察千兆链路故障时,百兆链路是否相通

  • 实验步骤

1、配置IP地址

[AR1-GigabitEthernet0/0/0]ip add 192.168.1.65 26

[AR1-GigabitEthernet0/0/0]quit

[AR1]int loopback 0

[AR1-LoopBack0]ip add 192.168.1.129 27

[AR1]int loopback 1

[AR1-LoopBack1]ip add 192.168.1.161 27

[AR1-LoopBack1]

[AR2-GigabitEthernet0/0/0]int g0/0/1

[AR2-GigabitEthernet0/0/1]ip add 192.168.1.1 26

[AR2-GigabitEthernet0/0/1]quit

[AR2]int loopback 0

[AR2-LoopBack0]ip add 192.168.1.193 27

[AR2]int loopback 1

[AR2-LoopBack1]ip add 192.168.1.225 27

[AR3]INT g0/0/0

[AR3-GigabitEthernet0/0/0]ip add 192.168.1.2 26

[AR3]int loopback 0

[AR3-LoopBack0]ip add 3.3.3.3 24

[AR3-LoopBack0]quit

步骤2:配置动态路由协议

[AR1]rip 1

[AR1-rip-1]version 2

[AR1-rip-1]undo summary

[AR1-rip-1]network 192.168.1.0

[AR2]rip 1

[AR2-rip-1]version 2

[AR2-rip-1]undo summary

[AR2-rip-1]network 192.168.1.0

[AR3-rip-1]version 2

[AR3-rip-1]undo summary

[AR3-rip-1]network 192.168.1.0

步骤3:配置到达3.3.3.0/24 实现全网通

[AR3-rip-1]default-route  originate

 

步骤4:接口验证

[AR1]int g0/0/0

[AR1-GigabitEthernet0/0/0]rip authentication

[AR1-GigabitEthernet0/0/0]rip authentication-mode md5 usual cipher 12345

[AR2]int g0/0/0

[AR2-GigabitEthernet0/0/0]rip authentication-mode md5 usual cipher 12345

步骤5:接口汇总,防环

[AR1]int g0/0/0

[AR1-GigabitEthernet0/0/0]rip authentication

[AR1-GigabitEthernet0/0/0]rip authentication-mode md5 usual cipher 12345

[AR1-GigabitEthernet0/0/0]rip summa

[AR1-GigabitEthernet0/0/0]rip summary-address  192.168.1.128 255.255.255.192

[AR1-GigabitEthernet0/0/0]quit

[AR1]ip rou

[AR1]ip route-static 192.168.1.128 26 null 0

动态路由RIP的简单配置实验 今天的动态路由配置实验比较之前的静态综合实验要相对简单的些,主要表现在配置量要小很多这个反面,其次RIP他是典型的工作在IGP下的动态路由协议,RIP他的这个协议诞生的时间比较早,所以在当下这个年代已经很少见到那台路由器在使用这个协议了,今天来学习他呢主要是为了学习其他动态路由协议做铺垫,下面来看一下实验要求: 阅读详情

相关推荐

计网ENSP实验6—静态及动态路由组网

接口的IP地址掩码长度必须大于等于network命令中的掩码长度,且接口不带子网的IP地址必须在network命令指定的网段范围之内。#查看所有从其他路由器学来的RIP路由信息,以及与每条路由相关的不同定时器的值、路由器IP路由表。在RTC的GE0/0/1端口抓包分析,在PC-10-1上ping PC-80-1 (结果截图)#查看RIP的邻居信息、RIP发布数据库的所有激活路由(这些路由以RIP更新报文的形式发送)在PC-10-1上 ping PC -50-1,测试连通性;单区域只有一个主干区域。

m0_73982156的博客 1123

实验:动态路由(RIP)

一、实验拓扑 二、实验要求 1.R3环回3.3.3.0/24,不宣告此环回; 2.其他网段基于192.168.1.0/24进行划分; 3.R1与R2均存在两个环回; 4.整个网络运行ripv2; 5.全网可达,保证更新安全,减少路由条; 三、实验步骤 步骤1:将192.168.1.0/24划分出三个大网段 192.168.1.0000 0000/26---192.168.1.0/26(划分出两个网段作为链路) 192.168.1.0000 0000/27---192.168.1.0/

obboda的博客 3983

【OSPF动态路由】OSPF动态路由综合实验报告

【OSPF动态路由】OSPF动态路由综合实验报告

2301_79850619的博客 3247

实验五:动态路由配置

记录计算机网络实验作业,欢迎大佬批评指正!!!

weixin_62630638的博客 2252

动态路由实验(RIP实验)

什么是动态路由 动态路由是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。 动态路由的工作原理 动态路由机制的运作依赖路由器的两个基本功能:路由器之间适时的路由信息交换,对路由表的维护: 路由器之间适时地交换路由信息 动态路由之所以能根据网络的情况自动计算路由、选择转发路径,是由于当网络发生变化时,路由器之

haijq的博客 2174

华为实验——动态路由

动态路由实验一、RIP1.1实验拓扑图1.2配置命令1.3实验过程1.4实验结果二、OSPF2.1 实验拓扑图2.2 配置命令2.3实验过程2.4实验结果 一、RIP 1.1实验拓扑图 配置图如下,验证R1、R2、R3能否互相RIP进行发送和接收广播(路由信息) 1.2配置命令 [R1]rip 1(启动RIP) [R1-rip-1]version 2 (启动版本2 “缺省为版本1 ”) [R1-rip-1]undo summary(关闭路由自动聚合"即所有路由信息都会按照IP地址分类归类") [R1-ri

weixin_51613313的博客 1825

【动态路由】动态路由的综合实验配置与指令

介绍部分我做成了笔记,所以这里直接上笔记图片即可。

2301_79850619的博客 2369

单臂路由、三层交换机、以及静态路由与动态路由OSPF的综合实验

前言 结合所学的路由交换知识,单臂路由、三层交换机、动态路由配置,结合在同个实验里体现出来。 一、实验拓扑 二、实验需求 图中已显示为静态区域以及动态路由区域,通过路由重分发实现全网互通,验证静态、动态路由,Area的重分发。 三、实验思路 首先实现单臂路由vlan间的不同通信,其次在AR5上配置默认路由,在AR6上配置到PC3、PC4的静态路由,以及引入静态路由或直连路由;其次实现三层交换机的内部通信,借用vlan50当作G0/0/1端口发出相应的报文,并加入动态路由;在R7...

weixin_46517448的博客 6131

动态路由实验之RIP

静态路由是由网络管理员手动配置的缺点:容易出错、网络主机数量多时不易于管理、灵活性差,而动态路由很好的解决了这些问题,一起来看看动态路由RIP如何配置吧

生活不易,喵喵叹气 5348

实验九 路由器RIP动态路由配置

实验九 路由器RIP动态路由配置 一、实验目的 掌握RIP协议的配置方法: 掌握查看通过动态路由协议RIP学习产生的路由; 熟悉广域网线缆的链接方式; 二、实验背景   假设校园网通过一台三层交换机连到校园网出口路由器上,路由器再和校园外的另一台路由器连接。现要做适当配置,实现校园网内部主机与校园网外部主机之间的相互通信。为了简化网管的管理维护工作,学校

不忘初心,方得始终。 1万+

动态路由实验总结.docx

动态路由实验总结.docx

实验08 路由器RIP动态路由配置实验报告

一、实验名称 路由器RIP动态路由配置 二、实验目的 路由器RIP动态路由配置: 1.掌握RIP协议的配置方法; 2.掌握查看通过动态路由协议RIP学习产生的路由; 3.熟悉广域网线缆的链接方式。 三、实验内容和要求 假设校园网通过一台三层交换机连到校园网出口路由器上,路由器再和校园外的另一台路由器连接。现要做适当配置,实现校园网内部主机与校园网外部主机之间的相互通信。为了简化网管的管理维护工作,学校决定采用RIPV2协议实现互通。 1.网络拓扑结构设...

mariodf的博客 4万+

用python将dycom .dcm格式图像转换为nifti .nii

因为发现目前搜索到的多数中文教程并不能正确将FMRI图像正确转换,例如很多用simpleITk的seriesreader的,所以写了一下自己正确转换的方法。因为FMRI是一个4D数据,有时间轴,所以用seriesreader读写出来的图像把时间轴维度给降维了。当然你用SPM12工具的dycom import也是能正确转换的,但是我还是喜欢python这样的,代码直接简单。

qq_41103479的博客 3609

常见动态路由协议之———RIP动态路由实验

动态路由简述: 1、动态路由是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整2、当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文 动态路由原理: 动态路由的运作依赖路由器的两个基本功能:路由器之间适时的路由信息交换,对路由表的维护1、路由器...

binshi9437的博客 2175

安卓-折叠屏平行视界适配(多厂商兼容与优先级实战)

本文详细解析了安卓折叠屏平行视界适配的现状与挑战,重点探讨了多厂商兼容性策略和优先级冲突的实战解决方案。通过对比Google的Embedding方案和国内厂商的EasyGo标准,提供了检测设备支持方案、处理优先级冲突及双方案共存的最佳实践,帮助开发者高效完成折叠屏适配。

weixin_29190169的博客 164

AD9361 Fast Lock实战:Python脚本自动生成Profile寄存器配置(附完整代码)

本文详细介绍了利用Python脚本实现AD9361 Fast Lock Profile寄存器自动化配置的实战方案。通过解析频率合成公式、VCO约束及查表机制,脚本能根据目标频率一键生成完整的16进制寄存器序列,大幅提升射频系统开发中多频点切换的效率和准确性,并支持CSV、JSON、C头文件等多种输出格式,便于与FPGA/嵌入式系统集成。

weixin_29194693的博客 475

动态路由配置实验总结

动态路由配置实验总结

Just do it ! 1万+

转录组分析中的Fastp和FastQC:如何快速检测数据质量并优化流程

本文深入探讨了转录组分析中数据质量控制的核心流程,重点介绍了Fastp和FastQC两款工具的组合应用。FastQC负责对原始测序数据进行全面质量评估,生成可视化报告;Fastp则能一站式完成接头切除、低质量序列过滤、长度筛选等关键质控步骤。文章提供了详细的参数解读、实战脚本和自动化流程构建指南,帮助研究人员快速检测数据质量并优化预处理流程,为下游的差异表达等分析奠定可靠基础。

weixin_28452161的博客 182

OSPF动态路由实验(思科)

OSPF(Open Shortest Path First)是一种内部网关协议,主要用于在单一自治系统内决策路由。它是一种基于链路状态的路由协议,通过链路状态路由算法来实现动态路由选择。OSPF的工作原理主要包括邻居发现、链路状态数据库的建立、路由计算和路由表的更新等几个方面。当两个路由器之间的Hello消息能够正常通信时,它们就可以建立邻居关系,并通过交换链路状态信息来构建整个网络的链路状态数据库。OSPF使用Dijkstra算法来计算最短路径树,并根据计算结果更新路由表,从而实现动态路由选择。

qq_65150735的博客 7867

【异常】OpenClaw 上下文溢出问题(100% context used 309.9k/200k`)排查与解决

摘要:OpenClaw 运行出现"100% context used 309.9k/200k"报错,表示上下文窗口超出200k Token限制。解决方法包括:1) 重启服务或新建会话清空缓存;2) 修改配置文件提升context_window值;3) 长期优化如限制历史对话轮数、分批处理长文本。该问题通常由输入过长或多轮对话累积导致,需控制单次输入量在阈值内。

奶爸的编程之路,也就一周冷个三天 3238

71、CAN总线双绞线绞距与抗共模干扰的定量关系

摘要:本文探讨了CAN总线双绞线绞距与抗共模干扰的定量关系。通过理论推导得出共模电压与绞距平方成正比,绞距越小抑制效果越好。工程实践表明,工业现场推荐绞距不超过30mm,高频干扰场景需优先优化绞距。实测数据验证了绞距均匀性的重要性,建议控制在15-25mm范围,安装时保持绞合结构完整。案例显示,将绞距从50mm改为15mm后,共模干扰从12V降至1.8V,有效解决了CAN通信问题。绞距选择需兼顾理论计算与现场实测,同时注意与屏蔽层的协同设计。

2401_88858637的博客 186

ensp实验四:OSPF动态路由1

1、掌握动态路由配置方法;2、查看路由表本实验需要以下设备:1、路由器4台。2、PC机2台;1、根据拓扑搭建实验环境。2、路由器互联接口配置,地址表如下:路由器端口IPR1GE 0/0/0GE 0/0/1Eth 0/0/0R2GE 0/0/0GE 0/0/1R3GE 0/0/0GE 0/0/1GE 0/0/2R4GE 0/0/0Eth 0/0/0PC1Fa0/0PC2Fa0/0R1R2R3R4。

weixin_66127281的博客 5943

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

动态路由实验----RIP的基本配置

RIP基本配置

Kevin_xiaole的博客 2168

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: 动态路由(RIP)
下一篇: OSPF 实验
陈璆鸣
博客等级 码龄3年 144粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值