【计算机网络】| 【03】数据链路层详解

一、概述

当主机1向主机2发送数据时

在这里插入图片描述

【链路】:从一个节点到另一个节点的一段物理线路,中间没有任何其他的交换节点;
【数据链路】:是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路;

二、数据链路层三大问题

1、封装成帧

封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧,含有重要信息;
应尽量让帧的数据部分尽可能长,提高传输效率;
- 应用层:封装成应用层协议数据单元;
- 运输层:添加运输层协议首部;
- 网络层:添加网络层协议首部;
- 数据链路层:添加帧头和帧尾,封装成帧;

【接收方的数据链路层如何哦那个物理层交付的比特流中提取出一个个帧】:
- 其中,帧头和帧尾的作用能够起到帧定界;
	- 但以太网V2中没有包含该标志,他通过物理层在其前部添加前导码,并规定了帧间的时间间隔;

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

在这里插入图片描述

透明传输
【透明传输】:数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
	- 透明传输会导致什么呢?当设置帧头和帧尾时,数据的内部具有一样的标志时,如何才能接收到正确的数据;
		- 在发送帧之前,对其进行检查,是否出现标志相同,若相同,则在该标志前加上转义字符;
	【常用方法】:
		- 面向字节的物理链路使用`字节填充`来实现透明传输;
		- 面向比特的物理链路使用`比特填充`来实现透明传输;
			- 在发送前使用零比特填充法,对数据进行扫描每5个1后插入0,当接收后将其剔除即可;

2、差错检测

由于帧在传输过程中遭遇干扰后可能出现误码,故接收方需要在接收数据的时候判断是否出现误码(0变1,1变0);

- 故发送方需要在发送帧之前,基于待发送的数据和检错算法计算出检错码,封装在帧尾(FCS),即接受方在接收的时候可以进行检测;
奇偶校验
【奇偶校验】:在待发送的数据后面`添加1位奇偶校验位`,使整个数据(包括所添加的校验位在内)中“1”的个数为奇数或偶数;
	- 奇校验:在数据后添加一个1,让1的总数为奇数,若产生一个位错误(1变0),则进行奇校验时,发送1的总数位奇故判断出现错误;
	- 但同时两个1变成0,即检验无效; 
	- 只能在奇数个位发送误码,则奇偶性发送改变,才可以检查误码; 
循环冗余校验CRC
【循环冗余校验CRC】:
- 收发双方约定好一个生成`多项式G(x)`;
- 发送方基于`待发送的数据`和生成`多项式`计算出差错检测码(冗余码),将其添加到待传输数据的后面`一起传输`;
- 接收方通过生成`多项式`来计算收到的数据是否产生了误码;

常用多项式:
CRC-16 = x^16+x^15+x^2+1
CRC-CCITT = x^16+x^12+x^5+1
CRC-32 = x^32 +x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1

常见的错误:
分组丢失:没有被接收到;
分组失序:发送早的数据比发送晚的数据早接收到;
分组重复:发送的数据迟迟没有被接收到,重新发送后,原先的数据也被接收到了;

在这里插入图片描述

3、可靠传输

【不可靠】:当接收方接收到有误码的帧是,将其丢弃即可;
【可靠】:当接收到误码的帧时,能够继续发送一份数据;

【三种可靠传输协议】:可应用于计算机网络体系结构各层协议中;
3. 1停止等待协议SW
发送方向接收方发送一个data,接收方回应ACK后,才能继续发送,若该data有误码,则向发送方发送NAK,重传;

【信道利用率】:
U = Td / (Td + RTT + Ta)
Td:数据分组的发送时延;
RTT:数据往返的时间;
Ta:ACK发送时延;
当RTT远大于Td时,U会非常低

超时重传

若发送的data丢失了,则接收方无法回应,故设置一个超时重传机制,若大于往返传输时间,则再次发送;
在运输层中,该时间一般不好设定,由于端到端之间的往返时间非常不确定(卫星链路);

若接收方的ACK没有被接收到,导致超时重传该怎么处理

在传输时,给每个分组带上序号,只需保证每发送一个新的数据分组,其发送序号与上次发送的数据分组的序号不同即可(使用其中一个比特);
ACK同时也采用编号,数据链路层例外一般不会出现ACK分组迟到的现象;
3.2 回退N帧协议GBN
由于上述方式传输效率较低,故采用流水线传输可提高信道利用率;
利用发送窗口来限制发送发可连续发送数据分组的个数;
- 采用3个比特给数组编号(0~7),WT为窗口的大小,当WT为1时,即SW协议;
- 当序号在发送窗口内即可被连续发送,不需要等待ACK;
- ACK不需要逐个发送,可以使用ACKn将以前的数据分组一起发送ACK,Wt向前滑动n个;
- 若出现误码时,即将其分组丢弃,每丢弃一个就发送一次ACKn,发送方即可根据该ACK进行重传;

【发送方】:
- 发送窗口尺寸WT的取值范围是l <W≤ 2^n-1;
- 发送方可在未收到ACK下,将序号落在发送窗口内的多个数据分组全部发送出去;
- 发送方只有收到ACK时,发送窗口才能向前相应滑动;
- 发送方收到多个重复ACK时,可在重传计时器超时前尽早开始重传,由具体实现决定;
- 发送方发送窗口内某个已发送的数据分组产生超时重发时,其后续在发送窗口内且已发送的数据分组也必须全部重传;

【接收方】:
- 接收方的窗口Wr的取值范围是Wp=1,只能按序接收;
- 接收方只接收序号落在接收窗口内且无误码的数据分组,并且将接收窗口向前滑动一个位置,与此同时给发送方发回相应的确认分组;
	为了减少开销,接收方不一定每收到一个数据分组就发送ACK,
	而是可以在连续收到好几个无误的数据分组后,才针对最后一个数据分组发送ACK;
	或者可以在自己有数据分组要发送时才对之前控序接收且无误码的数据分组进行捎带确认;
- 接收方收到未按序到达的数据分组,除丢弃外,还要对最近按序接收的数据分组进行确认;


在这里插入图片描述

3.3 选择重传协议SR
将上述方法改进,Wr应大于1,接收方先收下失序到达无误码且需要在接收窗口内的数据分组,等所有缺分组收齐在一并送交上层;
不能采用累计确认,需要对每接收到的数据逐一确认;

【当Wr和Wt超出重传时】:
- 会使接收方无法分辨新、旧数据分组,出现分组重复;

【发送方】:
- 发送方可在未收到ACK下,将序号落在发送窗口内的多个数据分组全部发送出去;
- 发送方只有按序收到ACK时,发送窗口才能向前相应滑动;若收到未按序到达的确认分组时,对其进行记录,以防止其相应数据分组的超时重发,但发送窗口不能向前滑动;

【接收方】:
- 接收方可接收未按序到达但没有误码并且序号落在接收窗口内的数据分组;
	- 为了使发送方仅重传出现差错的分组,接收方不能再采用累积确认,而需要对每个正确接收到的数据分组进行逐一确认;
- 接收方只有在按序接收数据分组后,接收窗口才能向前相应滑动;

在这里插入图片描述

4、点对点协议PPP

是目前最广泛的点对点数据链路层协议(用户与ISP连接的协议);


【构成】:
- 对各种协议数据报的封装方法;
- 链路控制协议LCP,用于建立、配置以及测试数据链路的连接;
- 一套网络控制协议NCPs,其中每一个协议支持不同的网络层协议;

【透明传输】:当帧的数据部分出现标志时,面向字节的异步链路使用字节填充法(插入转移字符)
			若是面向比特的同步链路,则使用同步链路(比特填充法);

在这里插入图片描述
工作状态
在这里插入图片描述

三、媒体介入控制基本概念

共享信道要着重考虑如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC;

媒体接入控制:
	静态划分信道:预先分配好的信道,不灵活,对突发性数据传输信道利用率会很低;(用于wifi的物理层)
		- 频分多址:
		- 时分多址:
		- 码分多址:
		 		
	动态接入控制:
		受控接入(淘汰):
			- 集中控制(有一个主站以轮询每个站点有无数据发送,只有被轮询到的站点才能发送数据,最大缺点是存在单点故障)
			- 分散控制:各个站点平等,连接成环,令牌沿环传递,接收到令牌的站点即有权发送数据,并在发送后将令牌传给下一个站点;
		随机接入:所有站点竞争,随机在信道上发送data,若有多个站点一起发送,则会产生碰撞,即发送失败;

1、静态划分信道

信道复用:
	- 复用即一条物理线路同时传输多路用户的信号;当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用复用在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。
频分复用FDM

在这里插入图片描述

时分复用TDM

在这里插入图片描述

波分复用WDM

在这里插入图片描述

码分复用CDM(码分多址CDMA)
是另一种共享信道的方法,主要用于多址接入,上述FDM和TDM同样可以用于多址接入;
- 与FDM和TDM不同,CDM的每一个用户可以在同样的时间使用同样的频带进行通信;
- 由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰;

在CDMA中,每一个比特时间再划分为m(64/128)个短的间隔,称为码片;
- 使用CDMA的每一个站被指派一个唯一的m bit码片序列;
	- 一个站如果要发送比特1,则发送它自己的m bit码片序列;
	- 一个站如果要发送比特0,则发送它自己的m bit码片序列的二进制反码;
- 码片序列挑选原则:
	- 分配给每个站的码片序列必须各不相同(采用随机码序列);
	- 分配给每个站的码片序列必须互相正交;

2、动态接入控制

多址:动态分配信道给用户。这在用户仅仅暂时性地占将信道的应用中是必须的,而所有的移动通信系统基本上都属于这种情况。相反,在信道永久性地分配给用户的应用中,多址是不需要的; 
随机接入
CSMA/CS

多址接入MA

多个站连接在一条总线上,竞争使用总线。

载波监听CS

每一个站在发送帧之前先要检测一下总线上是否有其他站点在发送帧(“先听后说”) ;
	- 若检测到总线空闲96比特时间,则发送这个帧;
	- 若检测到总线忙,则继续检测并等待总线转为空闲96比特时间,然后发送这个帧;

碰撞检测CD

- 每一个正在发送帧的站边发送边检测碰撞;
- 一旦发现总线上出现碰撞,则立即停止发送,退避一段随机时间后再次发送;

争用期

端到端往返传播时时延*2
- 若该期间没有检测到碰撞,才能肯定不会发送碰撞;
- 在以太网中,发送帧的主机越多,端到端往返传播时延越大,碰撞的概率就越大,故总线不能太长;

最小帧长

由于帧过短时,将帧全部发送出去后将不在对其进行检测;
- 最小帧长为64字节,若帧长不够,则将其填补;
- 确保了主机可在帧发送之前就检测到该帧的发送过程中是否遭遇碰撞;
- 若争用期内无碰撞,则后续不会发生; 

最大帧长

若帧长太大将会一直占用总线,导致其他其他主机获取不到使用权;

截断二进制指数退避算法

退避时间 = 基本退避时间(一般为争用期*2) * 随机数;
- 若连续多次发生碰撞,就表明可能有较多的主机参与竞争信道。但使用上述退避算法可使重传需要推迟平均时间随重传次数而增大(这也称为动态退避),因而减小发生碰撞的概率,有利于整个系统的稳处;
- 当重传达16次仍不能成功时,表明同时打算发送帧的主机太多,以至于连续发生碰撞,则丢弃该帧,并向高层报告;

发送

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

CSMA/CA
在无线局域网中,仍可用CSMA。若发现有其他站在发送帧,就推迟发送以免发生碰撞;
在无线局域网中,不能使用碰撞检测CD,原因如下:
	- 由于无线信道的传输条件特殊,其信号强度的动态范围非常大,无线网卡上接收到的信号强度往往会远远小于发送信号的强度(可能相差百万倍)。
		若要在无线网卡上实现培检测CD,对硬件的要求非常高。
	- 若硬件支持,由于无线电波传播的特殊性(隐蔽站),进行碰撞检测的意义不大; 
故在无线局域网上采用CA功能(碰撞避免);

在802.11的MAC层定义两种不同的媒体接入控制方式:
- (默认)分布式协调功能DCF,没有中心控制站点,每个站点使用CSMA/CA协议通过争用信道来获取发送权;
- 点协调功能PCF,使用集中控制的接入算法;

帧间间隔IFS

802.11规定,所有站点必须在持续检测到信道空闲一段指定时间后才能发送帧;
帧间间隔的长短取决于该站点要发送的帧的类型:
	- 高优先级帧需要等待的时间较短,因此可优先获得发送权;
	- 低优先级帧需要等待的时间较长。若某个站的低优先级帧还没来得及发送,而其他站的高优先级帧已发
		送到信道上,则信道变为忙态,因而低优先级帧就只能再推迟发送了,以此来减少了发生碰撞的机会;
常用的两种帧间间隔如下:
	- 短帧间间隔SIFS(28us),是最短的帧间间隔,用来分隔开属于一次对话的各帧。一个站点应当能够在这段时间内从发送方式切换到接收方式。使用SIFS的帧				
		类型有ACK帧、CTS帧、由过长的MAC帧分片后的数据帧、以及所有回答AP探询的帧和在PCF方式中接入点AP发送出的任何帧;
	- DCF帧间间隔DIFS(128us),它比短帧间间隔SIFS要长得多,在DCF方式中用来发送数据帧和管理帧;

工作原理

【源站为什么在检测到信道空闲后还要再等待一段时间DIFS?】
就是考虑到可能有其他的站有高优先级的帧要发送。若有,就要让高优先级帧先发送;

【目的站为什么正确接收数据帧后还要等待一段时间SIFS才能发送ACK帧?】
SIFS是最短的帧间间隔,用来分隔开属于一次对话的各帧。在这段时间内,一个站点应当熊够丛发送方式切换到接收方式;


【如何判断何时使用退避算法】:
当站点检测到信道是空闲的,并且所发送的数据帧不是成功发送完上一个数据帧之后立即连续发送的数据帧,则不使用退避算法。
以下情况必须使用退避算法:
	- 在发送数据帧之前检测到信道处于忙状态时;
	- 在每一次重传一个数据帧时;
	- 在每一次成功发送后要连续发送下一个帧时(避免一个站点长时间占用信道);

在这里插入图片描述
信道预约和虚拟载波监听

【信道预约】
- 除源站和目的站以外的其他各站,在收到CTS帧(或数据帧)后就推迟接入到无线局域网中;
	这样就保证了源站和目的站之间的通信不会受到其他站的干扰;
- 如果RTS帧发生碰撞,源站就收不到CTS帧,需执行退避算法重传RTS帧;
- 由于RTS帧和CTS帧很短,发送碰撞的概率、碰撞产生的开销及本身的开销都很小。而对于一般的数据帧,
	其发送时延往往大于传播时延(因为是局域网),碰撞的概率很大,且一旦发生碰撞而导致数据帧重发,则浪费时间,
	因此用很小的代价对信道进行预约往往是值得的;
		- 使用RTS帧和CTS帧;
		- 不使用RTS帧和CTS帧;
		- 只有当数据帧的长度超过某一数值时才使用RTS;

【虚拟载波监听】:
除RTS帧和CTS帧会携带通信需要持续的时间,数据帧也能携带通信需要持续的时间;
- 由于利用虚拟载波监听机制,站点只要监听到RTS帧、CTS帧或数据帧中的任何一个,就能知道信道被占用
	的持续时间,而不需要真正监听到信道上的信号,因此虚拟载波监听机制能减少隐蔽站带来的碰撞问题。

四、MAC地址、IP地址、ARP协议

【MAC地址(数据链路层)】是以太网的MAC子层所使用的地址;
【IP地址(网际层)】是TCP/IP体系结构网际层所使用的地址;
【ARP协议(网际层)】属于TCP/IP体系结构的网际层,其作用是已知设备所分配到的IP地址,使用ARP协议可以通过该IP地址获取到设备的MAC地址;

1、MAC地址

MAC地址一般被固化在网卡中的ERRPROM;
- 主机一般有两个网络适配器(有线、无线)是对网络上各接口的唯一标识;
- 当使用点对点信道的数据链路层时不需要使用地址;
- 而使用广播信道(多个主机)的数据链路层需要使用地址来区分;
- 每个主机发送的帧中必须携带表示发送主机和接收主机的地址;


在这里插入图片描述
表示法

标准表示法:xx-xx-xx-xx-xx-xx
其他表示法:xx:xx:xx:xx:xx:xx   |    xxxx.xxxx.xxxx

发送顺序

字节发送顺序:第一~第七;
比特发送顺序:b0~b7;

地址作用

单播MAC地址:附带接收方mac地址,与主机进行匹配;
广播MAC地址:使用FF-FF-FF-FF-FF-FF,主机都能收到;
多播MAC地址:MAC第一字节【xx】第二个x不能整除2即为多播地址,在发送多播帧时,主机会查看与自己的多播组列表是否有匹配;

2、IP地址

是因特网上的主机和路由器使用的地址,用来标识:
	- 网络编号:表示因特网的网络;
	- 主机编号:表示同一网络上的不同主机;

数据包转化过程中IP地址与MAC地址的变化情况
在这里插入图片描述

在该过程中源IP地址和目的IP地址保持不变;
而源MAC地址和目的MAC地址逐个链路改变;

3、ARP

【如何通过IP地址找到MAC地址】
使用ARP协议,当一台主机要发送数据包时,会先查询自身的ARP高速缓存表,若没有,则无法在包中填写目的MAC地址;
故发送ARP请求报文(广播)来获取接收方的IP地址;该请求报文本封装与帧中,当某台主机解析到IP与自身相符,则先记录发送方
的MAC地址,在通过该请求(单播)回应;

【高速缓存表的动态、静态】:
- 动态:指记录是主机自动获取到的,生命周期两分钟(避免更换网卡后的问题);
- 静态:记录手工配置,不同OS下生命周期不同;


【注意】:
- ARP不能跨网络进行;

四、集线器于交换机的区别

1、集线器

- 早期以太网的互连设备
- 对接收到的信号进行放大、转发;
- 使用集线器作为互连设备的以太网仍然属于共享总线式以太网。集线器互连起来的所有主机共享总线带宽,属于同一个碰撞域和广播域。
- 使用集线器的以太网在逻辑上仍是一个总线网,各站共享总线资源,使用的还是CSMA/CD协议;
- 集线器只工作在物理层,它的每个接口仅简单地转发比特,不进行碰撞检测(由各站的网卡检测);
- 集线器一般都有少量的容错能力和网络管理功能;

2、以太网交换机

- 目前以太网中使用最广泛的互连设备
- 使用交换机作为互连设备的以太网,称为交换式以太网。交换机可以根据MAC地址过滤帧,即隔离碰撞域;
- 交换机的每个接口是一个独立的碰撞域;
- 交换机隔离碰撞域但不隔离广播域(VLAN除外);
- 以太网交换机通常都有多个接口,每个都可直接与一台主机或以太网交换机相连,一般为全双工方式;
- 以太网交换机具有并行性,能同时连通多对接口,使多对主机能同时通信,无碰撞(不使用CSMA/CD协议);
- 以太网交换机一般都具有多种速率的接口,工作在数据链路层(也包括物理层),它收到帧后,在帧交换表中查找帧的目的
	MAC地址所一一对应的接口号,然后通过该接口转发帧。
- 以太网交换机是一种即插即用设备,其内部的帧交换表是通过自学习算法自动地逐渐建立起来的;
- 两种转发方式:
	存储转发;
	直通交换,采用基于硬件的交叉矩阵(时延小,不检查帧);
2.1 自学习和转发帧的流程
假设主机已经知道网络中其他主机的MAC地址
- 帧进入交换机时,先记录该源MAC地址以及进入交换机的接口号到交换表中;
- 当交换机没有查询到目的MAC在交换表中,则对各个接口进行转发;
- 交换表中的记录都又生命周期;

在这里插入图片描述

2.2 生成树协议STP
  【如何提高以太网可靠性】:
  - 可以采用添加冗余链路,但会形成网络环路:
  	【网络环路】:
  			- 广播风暴、主机收到重复的广播帧、交换机的帧交换表震荡;

【故交换机采用STP】
以太网交换机使用生成树协议STP(Spanning Tree Protocol),可以在增加冗余链路来提高网络可靠性的同时又避免网络环路带来的各种问题:
- 不论交换机之间采用怎样的物理连接,交换机都能自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树型的(无逻辑环路);
- 最终生成的树型逻辑拓扑要确保连通整个网络;
- 当首次连接交换机或网络物理拓扑变化时,重新计算生成树;

3、两者的区别

【使用单播帧的情况】
使用交换机互连而成的交换式以太网上的某个主机,要给另一个主机发送单播帧,该单播帧进入交换机后,能够直接将帧转发给目的主机;
而集线器会转发给各个主机,故使用交换机具有明显优势;
【当使用广播帧的情况】:交换机和集线器效果上无明显区别;
【多台主机向另一台主机发送单播帧】:
 - 集线器会导致帧碰撞;
 - 交换机收到多个帧时会将其进行缓存,逐个发送给主机;
【使用交换机和集线器扩展以太网的区别】:
- 使用集线器会扩大广播域和碰撞域;
- 使用交换机会扩大广播域;

五、虚拟局域网VLAN

广播域会导致资源浪费,此类都会出现:
- ARP、RIP、DHCP、NetBEUI、IPX/SPX、Apple Talk;
【分割广播域】:来减少出现广播风暴
- 使用路由器可以隔离广播域,由于路由器默认不对数据包转发,但成本较高;
- 故使用虚拟局域网;

【虚拟局域网】: 是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求;

1、实现机制

1.1 IEEE 802.1Q帧

在这里插入图片描述

对以太网的MAC格式扩展,插入4字节VLAN标记;
VLAN标记的最后12bit为标识符VID,它唯一地标志了以太网帧属于哪一个VLAN,取值范围是0~4095 (0 ~ 2^12-1):
	- 0和4095都不用来表示VLAN,用于表示VLAN的VID的有效取值范围是1~4094;
802.1Q帧是由交换机来处理的,而不是用户主机来处理的:
	- 当交换机收到普通的以太网帧时,会将其插入4字节的VLAN标记转变为802.1Q帧(打标签);
	- 当交换机转发802.1Q帧时,可能会删除其4字节VLAN标记转变为普通以太网帧(去标签);

1.2 交换机端口类型
交换机端口的缺省VLAN ID:
	- 思科交换机上的Native VLAN,即本征VLAN;
	- 华为交换机上为Port VLAN ID,即端口VLAN ID,PVID(交换机端口有且只有一个);
Access
用于连接用户计算机;
- 只能属于一共VLAN;
- 该端口的PVID值与端口所属的VLAN的ID相同(默认为1);

【处理方法】:
- 接收:一般只接受未打标签的普通以太网MAC帧,根据接受帧的端口的PVID给帧打标签,即插入VLAN(字段中的VID取值与端口PVID相等);
- 发送:若帧中的VID与端口的PVID相等,则去标签并转发该帧,否则不转发;
Trunk
一般用于交换机之间或交换机与路由器之间的互连;
- 可以属于多个VLAN;
- 用户可以设置Trunk端口的PVID值,默认下为1;

【处理方法】:
- 接收:接收未打标签的帧,根据接收帧的端口的PVID给帧打标签,即插入VLAN,对已打标签的帧直接接收;
- 发送:对VID=PVID的帧,去标签在转发;
Hybrid
- Hybrid端口既可用于交换机之间或交换机与路由器之间的互连,也可用于交换机与用户计算机之间的互连;
- Hybrid端口可以属于多个VLAN用户可以设置Hybrid端口的PVID值默认为1;
- 处理方法(同Trunk端口)
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jxiepc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值