MAC地址解析-广播地址、组播地址和单播地址的特征

别再混淆了!一文搞懂车载以太网中的单播、组播、广播与VLAN关系(附Wireshark抓包分析) 本文深入解析车载以太网中单播、组播、广播与VLAN的协作机制,通过Wireshark抓包实战演示数据链路层的通信原理。从MAC地址类型判定到交换机转发逻辑,再到VLAN的隔离特性,帮助读者掌握车载网络通信的核心技术,提升故障诊断能力。 阅读详情
AI摘要

本文详细介绍了MAC地址的三种类型:广播地址、组播地址和单播地址,并解释了它们的特点及应用。文中还讨论了MAC地址如何与IP地址进行映射,特别是组播地址之间的映射关系。

MAC地址分成三类,分别是广播地址、组播地址和单播地址。首先,FF:FF:FF:FF:FF:FF毫无疑问是广播地址。每个网卡出厂时被分配唯一一个单播地址,头24位是设备制造厂商的编号,由IEEE(电气与电子工程师协会)分配,后24位是设备厂商为网卡制定的唯一编号。例如08:00:20:0A:8C:6D是单播地址的例子,其中08:00:20是著名的CPU厂商AMD的编号。单播地址的特征是头8位的最低位为0,于是单播地址共有47位的地址空间。
另一类地址就是组播地址。MAC组播地址的特征是头8位的最低位是1,于是MAC组播地址空间相当巨大——除去全1的47位地址空间。例如01:80:C2:00:00:00是一个组播地址,表示802.1d网桥多播组。网桥就是使用这个地址,相互之间交换配置信息,运行分布式生成树算法,消除网络拓扑结构中的环路。

IP层也有单播、组播和广播的概念。MAC组播地址中的01:00:5E:00:00:00到01:00:5E:7F:FF:FF共计23位对应于IP组播地址。给定一个IP组播地址,将其低23位与01:00:5E:00:00:00的低位取“与”运算,即可的到一个 MAC组播地址。但IP组播地址有28位地址空间,对应的MAC组播地址却只有23位,这样每32个IP组播地址被映射到同一MAC地址上。
MAC组播地址空间远远大于IP组播地址空间。如果网络层仅有IP协议,那么完全能将IP组播地址一对一地映射到MAC组播地址!但MAC地址是一个数据链路层的概念,其上层的网络层远远不只有IP。


====

http://www.52xcy.com/other/2011/308.aspx

别再死记硬背了!用Wireshark抓包实战,5分钟搞懂ARP协议和以太网帧 本文通过Wireshark抓包实战,详细解析ARP协议和以太网帧的工作原理。从实验环境搭建到实际抓包分析,帮助读者快速掌握网络通信的基础知识,并应用于故障排查和安全分析,提升网络工程师的核心技能。 阅读详情

相关推荐

数据链路层核心原理与实战解析:从帧结构到网络故障排查

数据链路层是OSI模型中的第二层,负责在相邻节点间进行可靠的数据传输。其核心原理在于通过帧封装、MAC地址寻址及介质访问控制协议,在物理链路上实现数据的有效传递与错误检测。该层的技术价值在于为上层网络通信提供了稳定、高效的本地传输基础,直接决定了局域网内的通信质量与性能。在实际应用场景中,无论是家庭Wi-Fi网络还是企业数据中心,数据链路层的交换机转发、VLAN划分及ARP协议都发挥着关键作用。本文聚焦于数据链路层的核心协议与工作机制,结合以太网帧结构、CSMA/CD机制及交换机工作原理等热词,深入解析其如

weixin_34326179的博客 780

MAC地址分类-----单播,组播,广播的特征

Mac地址分为三类: 单播地址 组播地址 广播地址 每个网卡出厂之后都被分配唯一一个

爱show的小卤蛋的博客 5551

基于deepseek本地模型的本地知识库构建

通过以上步骤,你已经成功构建了一个基于 AnythingLLM 和 LM Studio 的本地知识库。这个系统不仅能够高效地存储和检索知识,还能结合强大的语言模型生成准确的回答。你可以根据自己的需求进一步扩展和优化这个系统,比如增加更多的文档格式支持、优化检索算法等。

qq_30178745的博客 1381

广播地址、组播地址、网关和子网掩码

一、IP地址分类 IP地址一共48位,由两部分组成,网络号和主机号。网络号标识当前设备处于Internet的哪一个网络,主机号标识当前设备属于该网络中的那一台主机。 IP地址一共分为5类: 地址分类 地址范围 最大网络数量 最大主机数量 A类地址 0.0.0.0-127.255.255.255 2^7=128 2^24=16777216 B类地址 128.0.0.0-191.255.255.255 2^14=16384 2^16=65536 C类地址 192.0.0.0-223.2

weixin_39270987的博客 6万+

保姆级教程:手把手教你从ENSEMBL官网下载GRCh38/GRCh37的GTF注释文件(附网址规律总结)

本文提供从ENSEMBL官网下载GRCh38/GRCh37的GTF注释文件的详细教程,包括路径解析、版本号确定和下载命令示例。特别解析了GRCh37的特殊存储结构,并分享批量下载、文件校验等高级技巧,帮助生物信息学研究者高效获取基因组注释文件。

weixin_29289821的博客 204

VS code平台调试AutoLISP程序教程

VS code平台调试AutoLISP程序教程

BearElder的博客 3183

数通IE小知识--IP地址和MAC地址的特点

IP地址的特点: 1.IP地址是唯一的。 2.IP地址是可变的。 3.基于网络拓扑进行IP地址分配。 MAC地址的特点: 1.MAC地址是唯一的。 2.MAC地址是不可变的。 3.MAC地址是基于制造商进行分配。

xiaosiyudecsdn的博客 2753

ethercat linux lan9252 - lan9253调试

linux 的ethercat测试

linsheng_111的专栏 1931

MAC地址的介绍(单播、广播、组播)

MAC地址组成 网络设备的MAC地址是全球唯一的。MAC地址长度为48比特,通常用十六进制表示。MAC地址包含两部分:前24比特是组织唯一标识符(OUI,OrganizationallyUniqueIdentifier),由IEEE统一分配给设备制造商。 例如,华为的网络产品的MAC地址前24比特是0x00e0fc。后24位序列号是厂商分配给每个产品的唯一数值,由各个厂商自行分配(这里所说的产品可以是网卡或者其他需要MAC地址的设备)。 MAC地址有单播、广播、组播之分 单播 局域网上的帧可以通过三种方式发

波波诸葛伟 1万+

视频异常检测 5 大经典数据集实战对比:UCSD Ped2 vs CUHK Avenue vs Street Scene

本文深入对比分析了视频异常检测领域的五大经典数据集,包括UCSD Ped2、CUHK Avenue和Street Scene等,从场景复杂度、异常类型和标注质量等多维度进行实战评估。通过详细的数据集特性解析和计算效率测试,为研究者和工程师提供选型指导,帮助优化算法在智能监控和安防领域的应用效果。

weixin_33800463的博客 409

在armv8架构中,有哪些是serror

(3)、RAS(Reliability, Availability, and Serviceability)错误:一些对于系统的可靠性、可用性和可维护性有影响的错误可能会触发 SError。(2)、ECC(Error Correction Code)错误:在访问带有错误校验的内存(如ECC内存)时,如果发现错误校验失败,可能会产生SError。2、其实呢,大多数Serror都是实现定义的,真正实现的serror就没有多少个。Serror(也称System Error),是异步异常的一种,一般是来自。

baron-周贺贺-代码改变世界ctw 1013

9、MAC 地址(单播、组播、广播地址分类)

1、单播 MAC 地址是指第一个字节的最低位是 0 的 MAC 地址; 2、组播 MAC 地址是指第一个字节的最低位是 1 的 MAC 地址; 3、广播 MAC 地址是指每个比特都是 1 的 MAC 地址。广播 MAC 地址是组播 MAC 地址的一个特例。 只要在下图中有一处对应,即可判断,其实只要记住开头就可以了 。若都不对应,则为非法Mac地址。 开头为: ?0 为单播 ; 开头为: ?1 为组播 ; 语句为: ff-ff… 为广播 ; 以上都不是: 为非法

qq_40309341的博客 2万+

​​手把手教你学PCIE--ATU 的 Bar 匹配模式与地址匹配模式详解​

摘要: ATU(地址转换单元)提供两种地址匹配模式:Bar匹配模式基于PCI设备的BAR寄存器自动映射虚拟地址(只需配置物理基址),适用于标准PCI设备DMA;地址匹配模式需显式配置虚拟与物理地址范围,适合自定义映射场景。核心区别在于匹配依据(BAR自动推导vs人工定义),Bar模式简化配置,地址模式更灵活。

MHD0815的博客 379

ifconfig 源码, MAC地址分类

源码地址:http://www.tazenda.demon.co.uk/phil/net-tools/   $ strace -e socket,ioctl ifconfig eth0  socket(PF_FILE, SOCK_DGRAM, 0)          = 3  socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4  socket(

evenness的专栏 8035

将Windbg附加到软件进程上排查异常闪退的问题

使用Windbg和Process Explorer排查因为内存泄漏导致的软件异常闪退问题。

dvlinker的技术专栏 1万+

深度学习工具包 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")

4.网络基础-IPv6基础知识

1.IPv6基础知识 IPv6简介 IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任 务组(IETF)设计的用于替代IPv4的下一代IP协议,IPv6采用128位的二进制地址,因此新 增的地址空间支持2 128 (约3.4×10 38 )个地址,其地址数量号称可以为全世界的每一粒沙子编 上一个地址。由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接

weixin_49765221的博客 5504

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

11、IPv6地址解析与配置-学习笔记

IPv6优势“无限” 地址空间地址长度 128bit,地址总量是 IPv4 的约(8×10^{28})倍,地址资源近乎无限。价值:可支撑海量物联网设备永久在线,实现万物互联,统一地址规划,彻底解决 IPv4 地址枯竭问题。层次化的地址结构地址按业务场景分层规划,严格保证地址段连续,无 IPv4 地址碎片化 “打洞” 问题。价值:便于路由聚合,大幅缩减全网路由表条目,提升路由查询转发效率。即插即用(SLAAC 无状态自动配置)终端无需 DHCP 服务器,接收路由器 RA 报文后,结合本地接口 ID 自动生成

m0_68006805的博客 638

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ARE协议,IP地址及特殊IP

4)主机位全0的地址---192.168.1.0==192.168.1.x---网段---网络号---网络地址。A:0xxx xxxx---(0-127)1-126---大型网络---255.0.0.0(掩码长度)交换机可以通过MAC地址获取IP地址(ARP协议)---地址解析协议---通过一种地址获取另一种地址。C:110x xxxx---192-223---小型网络---255.255.255.0。B:10xx xxxx---128-191---中型网络---255.255.0.0。

Lu__Yi__的博客 771

笔记:ARP/拓扑结构/IP基础

结构:所有节点共享一条通信线路优点:结构简单、成本低、缺点:安全性低,某个结点发送消息,其他结点都能收到;同一时刻只能有两个结点相互通信,需要抢占通信线路;通信线路瘫痪,网络也瘫痪;增删结点不方便;

2303_82039857的博客 380

HCIA 2

应用层 表示层 网络层 介质(硬件)访问控制层 物理层 1.IP:互联网协议 ( IPV4/IPV6) PV4:32位二进制(表示方法:点分十进制) IPV6 :128位 二进制(表示方法:冒分16进制) IP和MAC不是一一对应的 ,IP逻辑地址可变的,MAC是物理地址,不可变的 例 172.16.10.61 每位最大值255(0-255) 1.次方轴 00000001 = 1 00000010 = 2 00000100 == 4 00001000 == 8...

weixin_45799228的博客 513

Day 02

128.0.0.0-191.255.255.255----掩码为16。0.0.0.0-127.255.255.255----掩码为8。B类:172.16.0.0-172.31.255.255----十六个地址段。192.168.1.0/24---主机位全0----代表广播域----网段。A类:10.0.0.0-10.255.255.255----一个地址段。192.168.1.255/24---主机位全1---定向广播地址。D为组播地址----只能当作目的地址使用。·IP地址---逻辑寻址---全网唯一。

Creeper_exe的博客 90

笔记first

传输层:TCP/CDP(传输所依赖的协议) 1.分段(受MTU值限制) (MTU值:最大传输单元 默认1500字节---大了会分段 分段:当数据包过大时,连续的发送,可能会导致在传输途中插入其它数据包形成废包,英雌,采取分段的措施,来保证数据包的完整性) 2.端口号(针对不同软件)(0-65536 1-1023为注明端口 1024-65536为高端口 动态端口)若不是则丢弃,若是,则以单播的形式进行回复,若有本地有记录则直接按照记录发包,若没有记录,则进行ARP请求。转发---完成沟通。

Y_cheng_的博客 443

HCIA复习

思路:从主机位向网络位借位 192.168.1.0/24 192.168.1.0 0000000/25--192.168.1.0/25 192.168.1.1 0000000/25--192.168.1.128/25。---- ”人机交互的接口“基于数据包的逻辑地址进行转发,寻找网络中目的的位置,并在去往目的的多条路径中选择一条最佳的路径。127.0.0.1-127.255.255.254------环回地址。添加源MAC和目的MAC。分段---MSS(最大传输段)====MTU-IP头部-TCP头部。

Some_Joker_的博客 110

HCIP总结笔记

6-表示层:负责编码,解码,加密,解密,将编码转换为二进制(比如说windows上与linux上的微信想要正常通信必须要使用编码转化为二进制,因为两个不同系统编码格式是不一样的)协议数据单元是指在计算机网络中,不同层次的协议之间传递的数据单元。是一种全网统一的测试机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。在递归查找时,需要提前铺垫好所有的递归查找中所需要使用到的路由信息。下一跳:去往目标网段所需要经过的下一个路由器的入接口的。数据包后,路由器会查看本地路由表,若路由表中存在目的。

m0_68635801的博客 211

HCIP笔记

HCIP

m0_71974215的博客 240

HCIA 回顾

互联网传输信息:抽象源(通过电脑窗口界面输入)---编码 ----二进制 ----电信号(无法自动计算转换为电信号,需人工干预)OSI参考模型----OSI/RM由ISO组织提出(1979年)协议已经存在,创建模型,将协议加入到模型内,七层模型内,每层模型相互联系也相互区别TCP/IP模型根据已有的协议创建模型 ----跨层封装(仅存于此模型)----四层标准模型 ----五层对等模型ARP协议---地址解析协议正向ARP:通过已知IP地址,获取未知MAC地址;

TYM121380的博客 445
上一篇: 路由器原理及路由协议
下一篇: Linux / Unix Command: packet
Alan0521
博客等级 码龄19年 77粉丝 6原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值