第三章:数据链路层(408笔记|王道笔记|计算机网络笔记)

本文详细探讨了数据链路层的功能,包括帧定界、差错控制、流量控制和介质访问控制。内容源于408考研计算机网络复习,适合备考网络协议的考生阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 知识点:成帧的四种方法,链路层检错与纠错的方法,流量控制与三种滑动窗口协议,四种多路复用技术,ALOHA协议,CSMA协议,CSMA/CD协议,以太网与令牌环网,PPP协议与HDLC协议,网桥与交换机
  • 难点:海明码与CRC,滑动窗口协议的信道利用率,CSMA/CD协议最小帧长与争用期
  • 考纲要求:数据链路层功能,组帧,差错控制,流量控制与可靠传输机制,介质访问控制,局域网,广域网,数据链路层设备

第一节:数据链路层的功能

数据链路层的主要作用:加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改为逻辑上无差错的数据链路(结点到结点间的可靠传输),使之对网络层表现为无差错的数据链路

数据链路层基本概念

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报

【其职责就是把上层网络层交付给它的数据报安全的无差错的传给相邻结点】

结点

主机,路由器

链路

网络中两个结点之间的物理通道,链路的传输介质主要有双绞线,光纤和微波。分为有线链路,无线链路

数据
链路

网络中两个结点之间的逻辑通道,把实现控制数据的传输协议和硬件和软件加到链路上就构成数据链路

链路层的协议数据单元,封装网络层数据报

数据链路层功能概述

数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标网络层。其主要作用是加强物理层传输原始比特流的功能将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路

功能

功能一:为网络层提供服务

无确认无连接服务(通常用于实时通信或误码率比较低的通信信道,源主机发送数据帧前不需要与目的主机建立链路连接,而且目的主机收到数据帧后也不需要返回确认,如果帧丢失,数据链路层也不负责重发,直接交给上一层处理。这种服务不太负责,是为了实时通信更快)

有确认无连接服务(事现不需要建立连接,但是目的主机收到数据时必须发回一个确认,源主机在规定时间内没有收到主机的确认,就会重新传输一次,能提高数据链路层的可靠性。适合误码率相对较高的通信,如无线通信)

有确认面向连接服务(最安全最可靠,事现要建立连接,同时目的主机接收到一个确认帧就要返回一个确认帧,源主机收到确认后再发送下一个)【有连接一定有确认!】

功能二:链路管理,即连接的建立,维持,释放(用于面向连接的服务)

功能三:组帧

  • 帧定界:确定帧的界限
  • 帧同步:接收方从比特流中分出帧的起始与终止
  • 透明传输:不管所传输数据是什么样的比特组合(可能和帧定界符相同),都应当可以在链路上传输

功能四:流量控制

  • 限制发送方的数据流量,使其发送速率不超过接收方的接收能力
  • 数据链路层:控制相邻结点之间的流量;传输层:控制源端到目的端的流量

功能五:差错控制(帧错/位错)

  • 帧错:帧的丢失(定时器),重复或失序(编号机制)等错误;引入定时器和编号机制
  • 位错:帧的某位中出现差错;循环冗余校验(CRC可以发现位错

第二节:封装成帧&透明传输

组帧目的

把bit组合成帧作为传输单位是为了在出错时只重发出错的帧,而不重发全部数据,从而提高效率

封装

成帧

步骤

原理

封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。

帧定界

首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)

帧同步

接收方应当能从接收到的二进制比特流中区分出帧的起始和终止

组帧的四种方法

字符(节)计数法、字符(节)填充法、零比特填充法、违规编码法

为了提高帧的传输效率,我们都应该使帧的数据部分尽可能地大于首部和尾部,使得一个帧中大部分是数据部分。

由于链路层的协议,不管是哪一种协议都要规定所能传送的帧的最大数据部分上限(MTU)也就是数据部分有一个极限值,不同协议它的MTU长度也不同

透明

传输

定义

是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就”看不见”有什么妨碍数据传输的东西

注意

当所传数据中的比特组合恰巧与某一控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的

组帧的四种方法

字符计数法

思想

帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数(长度),在接收时根据帧首部的字数计数就可以知道一个帧的长度

不足

有一个明显缺陷,如果在传输过程中计数字节发生错误,可能导致后面所有的帧都失去同步而全部错误。因为这个致命缺点,字节计数法很少使用

字符填充法

当使用ASCII编码时,一共有128个不同的ASCII码,其中可打印的有95个,有33个是不可打印的,SOH和EOT就是不可打印的编码,所以可以用来作为控制符

0.当数据是由可打印的ASCII码组成的文本文件时,帧定界可以使用特殊的帧定界符。控制字符SOH放在一帧的最前面,表示帧的首部开始。另一个控制符EOT表示帧结束。SOH和EOT是控制符的名称,它们的二进制编码分别是0000 0001和0000 0100。

1.当传送的帧是用文本文件组成时(文本文件中的字符都是从键盘上输入的,都是ACSII码),其数据部分显然不会出现SOH或EOT这样的帧定界控制符,不管送键盘上输入什么字符都可以放到帧里传过去,即透明传输

2.当要传送的帧是由非ASCII码的文本组成时(二进制代码的程序或图像等)就要采用字符填充法实现透明传输。(通过一种方法使得接收端在数据部分看到与SOH和EOT一样比特组合时,能把他当作数据部分而不是帧定界符来看待)

字符填充法的理解:为了解决透明传输问题,在发送端的数据链路层中出现控制字符SOH或EOT的前面插入一个转义字符“ESC”(其二进制编码为0001 1011,同样是一个八位的比特组合),目的是告诉接收端不用管我转义字符后面的内容是什么,直到遇到真正的帧结束字符。而在接收端的数据链路层把数据送往网络层之前删除这个插入的转义字符【如果转义字符也在数据中,同样需要在转义字符前再插入一个转义字符。当接收端接收到连续两个转义字符时,就删除前面那个】

零比特填充法

和字符填充法的区别在于首部和尾部的标志符是一样的。如果在传输数据时,也出现了和首尾一样的比特组合,应该如何处理?归纳起来就是5“1”1“0”

操作

1.在发送端,扫描整个信息字段,只要连续5个1,就立即填入1个0

原始数据
0110111111110111110010

011011111011101111100010

填充

2.在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续5个1时,就把后面的0删除

011011111011101111100010
0110111111110111110010

删除

优势

保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误(需要硬件实现,性能优于字符填充法)

违规编码法

曼彻斯特编码中每一个码元或者说每一个比特它所对应的电平要么是高-低,要么是低-高。不会出现高高,低低这两种编码方式。因此这两种编码方式就是违规的编码方式。可以用“高-高”,“低-低“来定界帧的起始和终止。只适用于采用冗余编码的特殊编码环境(比较常用,实现方法简单,局域网的IEEE802标准就采用了这样的方法)

总结

由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充法实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是零比特填充法违规编码法

第三节:差错控制

差错的由来

现实中的通信链路都不会是理想的,由于噪声的存在,比特在传输的过程可能会产生差错

噪声

全局性

由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的

解决办法

提高信噪比来减少或避免干扰(对传感器下手)

局部性

外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因

解决办法

通常利用编码技术来解决

差错

位错
(比特错)

比特位出错,1变成0,0变成1
 

检错编码:奇偶校验码,循环冗余码CRC

纠错编码:海明码

帧错

[#1]-[#2]-[#3]

丢失

收到[#1]-[#3]

重复

收到[#1]-[#2]-[#2]-[#3]

失序

收到[#1]-[#3]-[#2]

定时器,编号机制

随着科技发展,通信链路的质量有了很大提升,所以不会对所有链路都采用这种检错方式,而是选择相信链路层的质量保证,不使用确认和重传机制进行无确认无连接服务,即使真的出错,那也把改正错误的任务交给上层。对于通信质量比较差的无线传输链路,链路层协议就会采用确认和重传机制,数据链路层就要向上提供一个可靠传输的服务(也就是有确认无连接服务,有确认面向连接服务)


链路层为网络层提供服务

无确认无连接服务

通信质量有线传输链路

有确认无连接服务

有确认面向连接服务

通信质量无线传输链路

物理层的编码
VS
数据链路层的编码

数据链路层编码和物理层的数据编码与调制不同物理层编码针对的是单个比特,解决传输过程中比特同步等问题,如曼彻斯特编码,而数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程中是否出现了差错


 

冗余编码

在数据发送之前,先按照某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错

冗余编码就相当于盒子上写的“6本”的附加信息

检错

编码

奇偶校验码

原理

X为1位校验元,后面为n-1位信息元

例题

分析:采用奇校验码,那么插入校验元后,应该为5个1,因为ABC都只有4个1与发送方和接收方约定的5个1不一样,所以可以判断出错了,D也有51,和约定的一样,所以没法判断

特点

  • 就检验码可以检测比特错,但是不能检测到底是哪个比特出现差错
  • 奇偶校验码只能检测出奇数个比特错误,检错能力为50%

循环冗余码CRC

接收端检错过程

把收到的每一个帧都除以同样的除数,然后检查得到的余数R
1.余数为0,判顶这个帧没有差错,接收
2.余数不为0,判定这个帧有差错(无法确定到位),丢弃
FCS的生成以及接收端CRC检验都是由硬件实现的,处理很迅速,因此不会延误数据的传输

在数据链路层仅仅使用循环冗余校验CRC差错检测技术,只能做到对帧的无差错接收,即“凡是接收端数据链路层接收的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。“凡是接收端数据链路层接收的帧均无差错

注意

可靠传输:数据链路层发送端发送什么,接收端就接受什么

链路层使用CRC检验,能够实现无比特差错的传输,只接受没有错误的信息,丢弃错误的数据,但这还不是可靠传输(因为出错的帧被丢弃了,没有对帧进行处理)

纠错

编码

海明码

功能

发现双比特错误,纠正单比特错误

工作

流程

确定校验码位数r→确定校验码和数据的位置→求出校验码的值→检错并纠错

海明

距离

也叫做码距,两个合法编码(码字)的对应比特位取值不同的比特数称为这两个码字的海明距离(码距),一个有效编码中,任意两个合法编码(码字)的海明距离的最小值称为该编码集的海明距离(码距)

补充

能发现并纠正一位错误:2r≥m+r+1
能发现两位错误并纠正一位错误:2r−1≥m+r前一条件下再增加1位总校验位

确定校验码位数r

r位冗余码,那么它能代表𝟐𝒓种状态,而数据位有m位,那么可能出错的位置就有m个,同样冗余码也会接在数据本身后面构成海明码,所以r位冗余码出错的位置也有r个,还包括1种没有出错的情况所以冗余码需要表示的状态就需要大于或等于m+r+1也就是
海明不等式

𝟐𝒓≥𝒎+𝒓+𝟏
 

确定校验码和数据的位置


求出校验码的值

求出校验位的思想有两种
①把包括校验位的分组如1,3,5,7直接进行异或运算(同0异1)最后结果等于0来求1值
②因为偶校验,所以只需要1,3,5,7里面有偶数个1就行,就能直接看出


检错并纠错

第四节:流量控制与可靠传输机制

较高的发送速度和较低的接受能力的不匹配,会造成传输出错(发送方发出的数据有可能超出接收方的缓存空间,可能溢出,既浪费空间,又浪费资源),因此流量控制也是数据链路层的一项重要工作

数据链路层传输层流量控制的区别

  • 数据链路层的流量控制是点对点的(相邻节点之间),而传输层的流量控制是端到端的(主机与主机之间)
  • 数据链路层流量控制手段:接收方收不下就不回复确认(确认帧,不包含数据的控制帧),能收下的话,就给发送方再发一个命令帧,让他继续发,直到收不下就不回发送方了
  • 传输层流量控制手段:接收端给发送端一个窗口公告(告诉发送端我现在窗口有多少,我的缓冲区还有多大,你控制下你的速度,别发太多)

流量控制

的方法

当接收方接收到一个帧以后,会回复发送方一个当前帧的确认命令帧,潜在意思就是告诉发送方你继续发(回复确认帧的同时接收窗口往后移一位,做好准备接收1号帧),发送方收到确认帧后,知道0号帧发送成功,发送窗口向后移动一位,并且发送1号帧。当发送了1号帧后,如果接收方没有回复确认,那么发送方就连续的发送2号帧,3号帧,4号帧,5号帧,直到接收到一个确认帧,发送窗口才能往前移动

停止-等待协议

发送窗口大小=1,接收窗口大小=1

后退N帧协议(GBN

发送窗口大小>1,接收窗口大小=1

选择重传协议(SR

发送窗口大小>1,接收窗口大小>1

注意链路层的滑动窗口协议当中,窗口的大小在传输过程中是固定的,传输层有不固定的窗口

实际上停止等待协议也是一种特殊的滑动窗口协议,只是发送和接收窗口都是1

可靠传输

流量控制

滑动窗口三者关系

可靠传输:发送端发什么数据,接收端就接收什么数据(如果发生帧的丢失,失序,重复,接收端都要进行控制,使其传输过来的帧回到正常状态,这是可靠传输要解决的问题)

流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧

滑动窗口能解决

流量控制(接收方收不下就不给确认,发送方想发也发不了,变相控制发送端发送速率

可靠传输(发送方自动重传机制,发送方到了时间话没收到确认帧,就会重传一次)

ps:不要过于纠结钻牛角尖这三者的具体区别

停止-等待协议

为什么要有停止等待协议

  • 除了比特出差错,底层信道还会出现丢包问题
  • 丢包(数据包):物理线路故障,设备故障,病毒攻击,路由信息错误等原因,会导致数据包的丢失
  • 为了解决丢包这个问题,同时为了实现流量控制,我们就需要这个停止等待协议

研究停等协议的前提

  • “停止-等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
  • 虽然现在常用全双工通信方式,但是为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
  • 因为是在讨论可靠性传输的原理,所以并不考虑数据是哪一个层次上传送的

停止-等待协议有几种应用情况

  • 有差错情况
  • 无差错情况

停等

协议
无差

错情

停等协议有差错情况

帧丢失

帧出错

  • 保留副本以免丢包需要重传
  • 必须编号是为了如果出现连续发送相同编号的数据帧,那就说明发送方进行了超时重传,如果连续出现了相同编号的确认帧,那么就说明接收方收到了相同的重复的帧,编号就能解决帧的丢失,帧的重复等问题
  • 检测到帧出错和帧丢失类似,因为出错了的话,接收方会直接丢弃,也不返回确认帧,等一个计时器的重传时间后,发送方进行超时重传
  • 超时计时器设置的重传时间比帧传输的平均往返时延RTT更长是为了保证确实是出现了异常,而不是单纯的耽搁了,超时后重传

ACK
确认帧
丢失

ACK
确认帧
迟到

停等协议性能分析

优点

简单

缺点

信道利用率太低

信道利用率

U=TDTD+RTT+TA

  • 停止等待协议信道利用率很低,大部分时间都在传输延迟上(大部分时间都在路上),用于发送接收的时间非常少
  • 𝑻𝑫是发送时延,即发送方用了多长时间将数据帧发送完毕
  • RTT是往返时延
  • 𝑻𝑨是接收方处理ACK确认帧的时延,题目中没告诉,则忽略不计

信道利用率(信道效率)

定义

发送方在一个发送周期内,有效的发送数据所需要的时间占整个发送周期的比率

公式

信道利用率=(LC)T

L是发送的数据比特数

C是发送方的数据传输率

T发送周期,从开始发送数据,到收到第一个确认帧为止,如果告诉了ACK时延则也加上去

T周期=T数据帧+T确认帧+2×单向传播时延

  • 题中:“不考虑确认帧”
    则说明不发送确认帧,相当于单程,不考虑回程的传播时延
  • 题中:“发送一个短帧”
    则说明不考虑传输时延T数据帧,但考虑RTT和T确认
  • 注意:选择题中由于T数据帧和T确认帧的值太小,可以的话直接可以把RTT理解为一个周期,来计算结果

信道吞吐率=信道利用率×发送方的发送速率

例题

一个信道的数据传输率为4kb/s,单向传播时延为30ms,如果使停止-等待协议的信道最大利用率达到80%,求数据帧长度至少为多少?

80%=L/4L/4+2×30ms=LL+2×30ms×4kb/s 最后得出L=960bit

滑动窗口的引入

问题

“停止-等待”协议的信道利用率非常低,发送完一帧后就需要等待,这时候信道是完全空闲的

解决
办法

为了提高信道利用率,发送端发送完一帧后,不用等待接收端的ACK确认帧,立刻发送第二帧,第三帧,这样信道的利用率就提高了

进一步改进

  • 增加发送方的帧的序号范围,传送当中的数据帧必须有一个唯一的序号(丢失易找回,接收方方便根据帧序号回应对应序号的确认帧)
  • 发送方需要缓存多个帧分组(连续发送N帧,其中某一帧可能需要重传,所以需要把N帧全部缓存备份下来)

引出新协议

后退N帧协议(GBN
选择重传协议(SR

后退N帧协议(GBN

Go
Back

N

GBN滑动窗口

发送窗口可以把它分成4个区域:
①发完被确认的

②已经发送但等待确认的
③还能发送的
④还不能发送的

发送窗口内部不一定全部填满了帧,可能网络层不需要再发送帧了,所以里面可以存在空格,无需一直满状态

特点
为了使得效率更快,不用针对每一个帧都返回确认帧,可以累计确认隔一会返回一个确认帧,假如123号帧全部发送出来,接收方不用逐一确认,只需要回复ACK3,发送方就知道123已经被正确接收,滑动窗口向后移动3格子。接收窗口能发ACK3,就说明接收窗口已经从1移到4

发送窗口:发送方维持的一组连续的允许发送的帧序号(本质是序号),可以有多个
接收窗口:接收方维持的一组连续地允许接收的帧序号(本质是序号),只有1

GBN发送方必须响应的三件事

上层的调用

上层(网络层)要发送数据时,链路层(发送方)先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需要将数据返回给上层,暗示上层窗口已满。让上层等一会再发送。(实际现实中,发送方(链路层)可以缓存这些数据,窗口不满时再发送帧)

收到一个ACK

累计确认:GBN协议中,对n号帧的确认采用累计确认的方式,表明接收方已经收到n号帧和它之前的全部帧

不逐一确认:不需要对每个数据帧逐一返回确认帧,可以每隔一段时间返回一个确认帧

超时事件

”后退N帧协议“来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧

GBN接收方要做的事

收到正确帧

如果正确收到n号帧,并且顺序正确,那么接收方为n帧发送一个ACK,并将该帧的数据部分交给上层

其余情况

其余情况都丢弃帧,并为最近按需接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个变量信息:expectedsequnum(下一个按需接收的帧序号/接收方的一个心中的谱,12号来了确认后来了45号,但是接收方心里有谱,我接下来要的是expectedsequnum=3号,所以45号丢弃)

GBN运行过程

滑动窗口长度

若采用n个比特对帧编号,那么发送窗口的尺寸WT应满足:1≤𝑾𝑻𝟐𝒏-1。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧
序号个数发送窗口+1             W+W=𝟐𝒏

如果使用2比特进行帧编号,那么滑动窗口的大小就是1≤WT≤3;
如果滑动窗口有4个,那么发送0,1,2,3四帧数据给接收端,四个帧全部丢失,此时接收端就会发送上一个周期的ACK要求重发这个周期的0123,那么此时发送方收到ACK3会有二义性,到底是重发当前的0123,还是窗口移动到第三个0123周期
另一种理解方式:假设0123都接收到了,接收方回复ACK3,假设ACK3丢失了,那么发送方没有收到确认,自然会重传0123帧,问题来了,此时的接收方如何判断是发送方重传的0123还是发送方传了第二个重复序列的0123

GBN协议重点总结

  • 累计确认(偶尔捎带确认)【发送方和接收方其实是双向通信的,两边都有双重身份,接收方也可能发送一些数据给发送方,把确认帧放到要发送的数据里面做个顺风车一起发送给发送方】
  • 接收方只按顺序接收帧,不按序无情丢弃
  • .确认序列号最大的,按序到达的帧
  • 发送窗口最大为𝟐𝒏-1,接收窗口大小为1(虽然有一个上限值,区间波动,但是一旦确定好后,在运行过程中都是不能改变的)

例题1

数据链路层采用了后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0、2、3号的确认,则发送方需要重发的帧数是(4567)

例题2

主机甲与主机乙之间使用后退N帧协议(GBN)传输数据,甲的发送窗口尺寸为1000,数据帧长为1000字节,信道带宽为100Mb/s,乙每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若甲,乙之间的单项传播时延是50ms,则甲可以达到的最大平均数据传输率约为()

第一种理解方法(更详细):
1.整个窗口数据的发送时延:

1000×1000×8bit100×106b/s=80
2.发送第一个帧到收到这个帧的确认帧的时间(一个周期的时间)
1000×8bit100×106b/s+50ms×2=100.08ms
3.12可知,甲发送完所有数据之后依然没有收到第、一个确认帧

4.甲的最大平均数据传输率=一个时间周期内发送的数据一个周期的时间
1000×1000×8bit100.08ms≈80Mbps

 

原本答案:
1.收到第一个确认帧之前能发送的数据量
1000×1000B=1MB
2.从发送第一个帧到接受到它的确认的时间是一个往返时延RTT(发送时延太短忽略)
50+50=100ms=0.1s
3.即在0.1s内最多能传输1MB的数据
1MB/0.1s=10MB/s=80Mbps
4.又因为信道带宽为100Mbps,所以答案为min{80Mbps,100Mbps}=80Mbps

GBN协议性能分析

优点

因连续发送数据帧而提高了信道利用率

缺点

在重传时必须把原来已经正确传送的数据帧重传,使得传送效率降低
为了解决这个问题,有了选择重传协议(SR

选择重传协议(SR
Selective
Repeat

引入

GBN协议弊端

累计确认机制(相对于停等协议优秀),导致批量重传,这些重传的帧,可能已经传输成功,就是因为之前的帧出错,导致传输成功的帧被丢弃

提出问题

可不可以只重传出错的帧?

解决方案

设置单个帧确认机制,同时加大接收窗口,设置接收缓存,可处理(缓存)乱序到达的帧

SR滑动窗口

SR发送方必须响应的三件事

上层的调用

从上层(网络层)收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输

收到了一个ACK

收到ACK,假如该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动完毕后,发现窗口中存在没有发送的帧,就将这些帧发送出去

超时事件

一个超时事件发生后只重传一个帧

SR接收方要做的事

来者不拒
(窗口内的帧)

SR接收方将确认一个正确接收的帧不管其是否按序失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口

举例

5号帧还没收到,6号帧已收到并缓存,7号帧来了后把7号帧缓存起来。等5号帧(窗口下界帧)收到后,567号帧一起交付给网络层,然后窗口向前移动

如果收到了窗口序号外(小于窗口下界)的帧,就返回一个ACK。其他情况就忽略该帧。

如果收到上一个窗口位置的帧(4~7号间)还发送过来,接收方就返回一个ACK,因为接收方知道,之所以还能接受到刚才的帧,是因为刚才发送方没有收到接收方回复的ACK,可能ACK丢失了或其他情况,导致发送方重传

SR运行过程

滑动窗口长度

发送窗口最好等于接收窗口(大了会溢出,小了没意义)
𝑾𝑻𝒎𝒂𝒙=𝑾𝑹𝒎𝒂𝒙=𝟐�𝐧−𝟏�

SR协议重点总结

  • 对数据帧逐一确认,接收方收到一个帧,就会单独发送该帧的确认帧
  • 只重传出错的帧
  • 接收方有缓存(失序的帧也存起来,等凑满了连续的帧再交付给网络层后窗口前移)
  • 滑动窗口大小𝑾𝑻𝒎𝒂𝒙=𝑾𝑹𝒎𝒂𝒙=𝟐�𝐧−𝟏�

例题

数据链路层采用了选择重传(SR)协议,发送方已经发送了编号位0~3的帧。现已收到1号帧的确认,而0,2号帧依次超时,则发送方需要重传的帧数目是(2)
解:重传0,2号帧这两个帧,3号帧不知道其状态

第五节:介质访问控制

传输数据的两种链路

点对点链路

两个相邻节点,通过一个链路相连,没有第三者【打电话】

应用

PPP协议,常用于广域网

广播式链路

链路上所有主机共享通信介质【对讲机】

应用

早期的总线以太网,无线局域网,常用于局域网

典型拓扑结构

总线型,星型(逻辑总线型)【星型相对于总线型更灵活,总线型总线断了,连接后半部分总线的主机就收不到消息了,星型则只存在支线断

问题

广播式链路中,如果同时两个主机要发送消息,那么两者之间的通信会相互干扰

链路层解决在广播式链路中,两台主机之间的通信不会相互干扰,解决机制就是介质访问控制

介质访问控制

内容

采取一定的措施,使得两对结点之间的通信不会发生相互干扰的情况

信道划分介质访问控制

定义

将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理的分配给网络上的设备

多路复用技术

把多路信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率【把多个信号拧成一捆后发送出去,到了接收端分离开来】

把一条广播信道,逻辑上分成几条用于两个结点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道

频分多路复用
FDM

特点

①一直持有频带:用户在分配到一定频带后,在通信过程中自始至终都占用这个频带
②占用不同频带宽度资源:频分复用的所有用户在同样的时间占用不同的带宽(频率带宽Hz)资源

一般用于传输模拟信号

优点

①效率高:充分利用传输介质带宽,系统传输效率较高
②实现简单:由于技术比较成熟,实现也比较容易

时分多路复用TDM

频分复用——“并行”
时分复用——“并发”

如果整个信道的速率是8000bit/s,将这个信道划分为4个TDM帧,那么每个用户的速率最高是2000bit/s

特点

①将时间划分为一段段等长的时分复用帧(TDM)。每一个时分复用的用户在每一个TDM帧中占用固定序号时隙,所有用户轮流占用信道

一般用于传输数字信号

缺点

如果ABC主机都有一段时间要休息一会,信道上只剩D在传输数据,他只能等待规定的ABC三个时间片之后才能占用信道然后再等三个时间,等待时间非常久,信道利用率很低

改进:


统计时分复用STDM

每一个STDM中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出STDM帧不是固定分配时隙。而是按需动态分配时序。使得信道利用率大大提高,每个用户最高能达到8000bit/s

波分多路复用WDM

实质

波分多路复用的本质就是光的频分多路复用,在以跟光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。

码分多路复用
CDM

背景

  • AB是发送数据的源站,C是接收数据的目的站
  • 频分复用下公共信道可以理解为拆分成了两条信道,A和B各占用一道,可同时发送(共享时间,没有共享空间)
  • 时分复用下公共信道被轮流占用,A先发送数据,然后B再发,所以公共信道在同一时间下只能被一个发送方所占用(共享空间,没有共享时间)
  • 码分复用和波分复用有点类似,把要发送的数据扭在一起,一起发送,然后到C站接收端对于这个合并的数据进行分离

问题

技术难点就是如何分离A和B以及其他站点发送过来的一些数据

解决

码分多址(CDMA是码分多路复用CDM的一种重要形式

(通用于无线局域网和蜂窝网络)

1个比特分为多个码片/芯片(chip),每一个站点被指定一个唯一的m位芯片序列(一般为64位或者128位,这边为了方便计算取8位,且两两正交)发送1时站点发送芯片序列(通常把0写为-1),发送0时发送芯片序列反码
1个比特分为多个码片(芯片),因为发送一个比特是需要时间的,可以称之为1比特的时隙时间,把这1比特分割成n位的芯片序列,那么就分成了n个微时隙

过程

  • 判断多个站点是否能同时发送:多个站点同时发送数据的时候,要求各个站点必须满足芯片序列相互正交规格化内积为0只要芯片/码片正交,就不会出现冲突。
    𝑺𝑨𝑻𝑩=𝟏𝒎𝒊=𝟏𝒎𝑺𝒊𝑻𝒊=𝟎   其中m为向量的分量个数。计算方式为芯片序列对应位相乘,然后相加,除以总位数
  • 数据合并:两个向量到了公共信道上,线性相加现在A站点发送比特1也就是S,B站点发送比特0也就是-T】  S+-T=S-T=00-220-202
  • 数据分离:合并的数据源站芯片序列规格化内积
    S(S-T)=1   也就是A发送的数据是1
    T(S-T)=-1  也就是B发送的数据是0

随机访问介质访问控制

特点

  • 所有用户都可以随机发送信息,发送信息时,占用全部带宽
  • 如果两台同时发送,并且占用全部带宽,这样就产生了冲突
  • 不采用集中控制方式,所有用户可根据自己的意愿随机发送信息,占用信道全部速率;但是会出现帧的碰撞(冲突)

解决

根据一定的规则,胜利者通过争用获得信道

ALOHA协议


ALOHA
协议

T0规定的是一个数据帧的长度,通常数据帧长是用比特来衡量的,在这𝑻𝟎这样一个数据帧是它的发送时间,这的发送时间既包括传输时间也包括传播时间,也就是一个帧从刚开始发送,到发送成功为止

思想

不监听信道,不按时间槽发送,随机重发。想发就发

冲突

检测

如果发生冲突,接收方就会检测出差错,然后不予确认(或者是发送一个NAK否定确认帧),发送方在一定时间内收不到确认就判断发生冲突

冲突

解决

超时后等一随机时间再重传【是否重传有一个概率P的概念,类似掷硬币,如果掷正面就传,反面就不传,然后再等一个随机时间再掷一次,细节不要求掌握】

时隙
ALOHA

协议

思想

把时间分成若干个相同时间片,所有用户在时间片开始时同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送【控制想发就发的随意性】(时间片就对应着上面的T0,也叫做时间槽

冲突

检测

如果接入信道时某用户与其它用户发生冲突,那么等到下一个时间片T0再开始发送【因为有一个概率P的问题,所以下次可能就不会再发生冲突】

对比

  • ALOHA协议想法就发,时隙ALOHA协议只有在时间片开始时才能发
  • 纯ALOHA协议比时隙ALOHA协议吞吐量更低,效率更低【吞吐量指在一段时间内成功发送的平均帧数】(纯ALOHA协议想法就发,非常容易发生碰撞)

CSMA协议

全称

载波监听多路访问协议CSMA(carrier sense multiple access)

CS-载波监听/侦听

每一个站在发送数据之前,要检测一下总线上是否有其他计算机在发送数据

当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到了信号电压摆动值超过了一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突

MA-多点接入

表示许多计算机以多点接入的方式连接在一根总线上

协议思想

发送帧之前,监听信道

根据推迟多久,以及是不是立即发送完整的帧又有三种协议规定

1-坚持CSMA

坚持指的是对于监听信道之后的坚持

思想

  • 如果一个主机要发送消息,那么它先监听信道
  • 空闲则直接传输,不必等待
  • 忙则一直监听,直到空闲马上传输
  • 如果有冲突(一段时间内未收到肯定回复),则等待一个随机时长的时间再监听,重复上述过程

优点

只要媒体空闲,站点就马上发送,避免了媒体利用率的损失

缺点

假如有两个或两个以上的站点有数据要发送,冲突就不可避免【有多个站点在监听信道是否空闲,一空闲就都发数据导致冲突】

非坚持CSMA

非坚持指的是对于监听信道之后就不继续监听

思想

如果一个主机要发送消息,,那么它先监听信道

空闲则直接传输,不必等待

忙则等待一个随机的时间之后再进行监听

优点

采用随机的重发延迟时间可以减少冲突发生的可能性

缺点

可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低

P-坚持CSMA

P-坚持指的是对于监听信道空闲的处理

思想

如果一个主机要发送消息,那么它先监听信道
空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输

忙则持续监听直到信道空闲再以p概率发送

若冲突则等到下一个时间槽开始再监听并重复上述过程

优点

既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案

缺点

发生冲突后还是要坚持把数据帧发送完,造成了浪费。

解决

办法

引入CSMA/CD协议

1-坚持CSMA

非坚持CSMA

P-坚持CSMA

信道空闲

马上发

马上发

p概率马上发

1-p概率等到下一个时隙再发送

信道忙

继续坚持监听

放弃监听,等一个随机时间再监听

持续监听,直到信道空闲再以p概率发送

CSMA/CD

全称

载波监听多点接入/碰撞检测CSMA/CD(carrier sense multiple access with collision detection)

CS

载波监听/侦听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据(检查其电压值波动即可)

MA

多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络

CD

碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据半双工网络
【碰撞后,总线上的传输信号产生了严重失真,无法从中恢复出有用的信息】

问题

先听后发为什么还会冲突?

因为电磁波在总线上总是以有限的速率传播的,如果电磁波没有到本站点,当时检测肯定是没有信号,但是等到本站点向外发出数据时,突然检测到有信号,这里电磁波传输的时间差,就造成了这种误差

传播时延对载波监听的影响

碰撞检测最长时间:
最多需要两倍的总线端到端的传播时延(2τ)才能知道自己发送的数据没和人碰撞
2τ也称之为总线的端到端往返传播时延,同时2τ也称之为争用期,冲突/碰撞窗口
所以只要经过2τ时间还没有检测到碰撞,就能肯定这次发送不会发生碰撞

如何确定碰撞后的重传时机

截断二进制指数规避算法





步骤

确定退避时间

确定基本退避时间,也就是争用期2τ(两倍的单程端到端传播时延)

确定重传次数

定义参数K,它等于重传次数

K取值不超过10,K=min{重传次数,10}
当重传次数不超过10时:k=重传次数
重传次数大于10时:k=10

取随机数确定重传时间

从离散的整数集合[01,,𝟐𝒌−𝟏]随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即r×2τ=r2τ

重传次数限制

重传达16仍不能成功,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错

示例

第1次重传
k=1,r在{0,1}中随机选
如果r=0,重传时间为0

如果r=1,重传时间为2τ

若还碰撞,则2次重传

第2次重传

K=2,r∈{0,1,2,3}

如果r=0,重传时间为0

如果r=1,重传时间为2τ

如果r=2,重传时间为4τ

如果r=3,重传时间为6τ

若还碰撞,则3次重传

第三次重传
k=3,r∈[0,7]
如果r=0,重传时间为0

如果r=1,重传时间为2τ

如果r=2,重传时间为4τ

重传时间为:

r倍的基本退避时间=r×2τ

若连续多次发生冲突,就标明可能有较多的站参与争用信道。使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定

例题

在以太网的二进制回退算法中,在11此碰撞之后,站点会在0~(?)之间选择一个随机数

因为重传次数为11次大于10次所以K=min{11,10}=10
所以r∈[0,210-1]=[0,1023]

最小帧长

背景

CSMA/CD的诞生就是为了能及时的叫停

检测到碰撞时,需要暂停帧的发送,如果帧太短,就会导致一次性发送完毕,无法暂停,这里需要在检测到碰撞时,帧还没有发送结束。

引入

为了使得CSMA/CD能及时叫停帧的发送,所以我们需要定义最小帧长

要求

帧的传输时延至少要两倍于信号在总线中的传播时延
帧长(bit)数据传输速率≥2×传播时延(𝜏) 

公式

最小帧长=2𝝉×数据传输速率

补充

以太网规定最短帧长为64B凡是长度小于64B的都是由于冲突异常终止的无效帧(以太网为了达到这个帧长,对于比较短的帧,会进行一个填充,直到达到64字节,才会放心的放到链路上发送)

CSMA/CA

全称

载波监听多点接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidance)

CA

Collision Avoidance 碰撞避免

问题

CSMA/CD协议已经很棒了但是为什么要有CSMA/CA?

CACD应用场景不一样,CA应用于无线局域网CD常用于总线式以太网(有线网络)

无线局域网不能使用CSMA/CD的原因

无法进行360°信道碰撞检测:在无线局域网中,无线信号360°发送,是无法检测所有方向的碰撞的
隐蔽站问题:当AC都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会导致冲突(以A为主体,C就相当于是个隐蔽站

工作

原理

  • 检测信道:发送数据前,检测信道是否空闲
    • 信道空闲:发出RTSRequest To sendRTS包括发射端的地址,接收端的地址,下一份数据将持续发送的时间等信息
    • 信道忙:等待
  • 接收端收到RTS响应CTSClear To Send/允许发送)【响应刚才请求的数据帧或信号】
  • 发送端收到CTS:开始发送数据(同时预约信道发送方告知其他站点自己要传多久数据
  • 接收端收到数据帧:将用CRC来检验数据是否正确,正确则响应ACK
  • 发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传,至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)

三种机制实现的碰撞避免

1.预约信道

2.ACK帧

3.RTS/CTS帧(可选)(主要解决隐蔽站)

CD与CA异同

相同点

  • CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都需要进行监听。当发现信道空闲后,才能进行接入
  • 冲突后的处理方式都使用截断二进制指数规避算法进行有上限的重传

不同点

CSMA/CD

CSMA/CA

传输介质

总线型以太网(有线网)

无线局域网

载波检测方式

检测电缆中的电压变化,数据碰撞时电压就会随着发生变化

能量检测(ED),载波检测(CS)

能量载波混合,三种方式检测信道是否空闲

冲突的处理

检测冲突

避免冲突

介质访问控制

(MAC) Medium Access Control

回顾

信道划分介质访问控制协议

  • 基于多路复用技术划分资源
  • 网络负载重:共享信道效率高,且公平
  • 网络负载轻:共享信道效率低

随机访问MAC协议

(只有它有冲突产生)

  • 用户根据意愿随机发送信息,发送信息时可独占信道带宽
  • 网络负载重:产生冲突开销
  • 网络负载轻:共享信道效率高,单个节点可利用信道全部带宽

轮询访问MAC协议/
轮流协议/轮转访问MAC协议

既要不产生冲突,又要发送时占全部带宽

轮询协议

令牌传递协议

轮询协议

定义

  • 主节点轮流邀请从属结点是否发送数据,所有结点主机问完一遍后再重复询问(不会发生冲突,结合了信道划分MAC优点),只允许一台从属结点主机发送数据且占用全部带宽(结合了随机访问MAC优点)
  • 询问的过程其实就是发送一个数据帧(比较短),用来实现询问的作用

优点

不会产生冲突,每次只允许一台主机发送数据且能占用全部带宽

缺点

  • 轮询开销(从属结点多的话开销多,每次询问都会产生数据帧)
  • 等待延迟(如果三个主机都不发送数据,第四台发送数据。还是要等询问完前面三个才询问第四个)
  • 单点故障(如果主机节点宕机,从属结点主机也发送不了数据。解决办法:备用主机)

令牌传递协议
大纲已删

令牌

一个特殊格式的MAC控制帧,不含任何信息。

令牌作用

控制信道的使用,确保同一时刻,只有一个站点独占信道

限制

每个节点都可以在令牌持有时间内,获得发送数据的权力,该时间并不是无限持有的,有时间限制

优点

①独占信道

②令牌环网无碰撞

缺点

  • 令牌开销(有时令牌可能没了,要再产生一次令牌。有的书上说:在源站点传完数据之后会产生一个新的令牌)
  • 等待延迟(和刚才轮询协议一样,假设D在发,但是A也想发,那么得等DCB才能轮到)
  • 单点故障(如果其中有一台主机宕机了,路可能就断了,解决办法备用主机替代)

应用场景

  • 通常应用于令牌环网(逻辑上是环形拓扑结构,物理上是星型拓扑结构
  • 采用令牌传送方式的网络常用于负载较重通信量较大的网络(不会空等,每次令牌的传递都在实实在在的发送数据,极端情况下主机都不要通信,令牌一直空等)

运行

过程

  • 令牌传递:网络处于空闲状态,令牌就会在网络上各个主机之间进行传递
  • 持有令牌发送数据:当主机A想要发送数据时,当令牌传递到A时,将令牌的状态标志位修改为使用状态,在令牌帧后加上数据,然后将令牌+数据帧发送出去;该数据目的是要发送给D主机
  • 非目的主机继续传递令牌:当数据到达B主机时,B主机查看该数据是不是发给自己的,如果是就通过TCU转发器将数据复制保存下来,如果不是就继续传递下去
  • 目的主机接收数据且继续传递令牌:当令牌+数据帧传递到A主机时,发送数据是给自己的,将数据复制下来,然后校验通过后将该令牌的状态标志位改为闲置状态,然后再传递给下一个主机

第六节:局域网LAN-Local Area Network

局域网

简称LAN,指在某一区域内由多台计算机互联成的计算机组,使用广播信道(对立的是点对点信道)

特点

其中最主要的是介质访问控制方法

  • 地理范围:局域网覆盖的地理范围较小,只在一个相对独立的局部范围内互联,如一栋楼,一学校
  • 速率高:用专门铺设的传输介质(双绞线,同轴电缆)联网,数据传输速率高(10MB/s~10GB/S)
  • 可靠性高:通信延迟时间短,误码率低,可靠性高(发出的信号衰减少)
  • 站点关系:局域网中各个站点平等,共享传输信道
  • 通信方式:多采用分布式控制和广播式通信,能进行广播和组播
    决定局域网特性的主要技术要素包括:网络拓扑结构传输介质介质访问控制方法

局域网拓扑结构

优点

中心节点是控制中心,任意两个节点间的通信最多只需要两步,传输速度快,网络结构简单,建网容易,便于控制和管理

缺点

可靠性低,网络共享能力差,有单点故障(中间节点)

优点

网络可靠性高,网络节点间响应速度快,共享资源能力强,设备投入量少,成本低,安装使用方便,当某个工作站节点出现故障时,对整个网络系统几乎没有影响(以太网就是一种逻辑上的总线型拓扑结构)

优点

系统中通信设备和线路比较节省

缺点

存在单点故障问题,由于环路是封闭的,所以不便于扩充,系统响应延时长,且信息传输效率相对较低

优点

拓展容易,易于隔离故障

缺点

容易有单点故障

传输介质

局域网

有线局域网

常用介质:双绞线,同轴电缆,光纤

无线局域网

常用介质:电磁波(空气中进行传播)

介质访问控制方法

CSMA/CD

常用于总线型局域网,也用于树型网络(载波监听多点接入/碰撞检测协议)

令牌总线

常用于总线型局域网,也用于树型网络
它是把总线型或树型网络中的各个工作站按一定顺序譬如按接口地址大小排列形成一个逻辑环。只有令牌持有者才能控制总线,才有发送信息的权利

令牌环

用于环形局域网,如令牌环网(令牌传递协议,逻辑环形,物理星型)

局域网的分类

其实是按照介质访问控制方法来分类的

以太网

以太网是应用最为广泛的局域网,包括标准以太网(10Mbps) 、快速以太网( 100Mbps)、千兆以太网( 1000 Mbps)和10G以太网,它们都符合IEEE802.3系列标准规范。逻辑拓扑总线型,物理拓扑是星型或拓展星型。使用CSMA/CD介质访问控制协议

令牌环网

逻辑上是环形拓扑结构,物理上是星型拓扑结构已经淘汰(因为有一个节点发生宕机,整个环就无法通信)

FDDI网

(Fiber Distribute Data Interface,光纤分布式数据接口)
物理上采用双环拓扑结构,逻辑上是环形拓扑结构

ATM网

(Asynchronous Transfer Mode,异步式传输模式)
新型单元交换技术,使用53字节固定长度单元进行交换

无线局域网

(Wireless Local Area Network;WLAN)wifi是无线局域网的一种应用】

采用IEEE802.11标准

IEEE802标准

IEEE802系列标准是IEEE802LAN/MAN标准委员会指定的局域网,城域网技术标准(1980年2月成立)。其中最广泛使用的有以太网,令牌环,无线局域网。这一系列标准中的每一个子标准都由委员会中的一个专门工作组负责

IEEE802.3标准

以太网介质访问控制协议(CSMA/CD)及物理层技术规范

【速记:以太(姨太)网就是小三,通常称以太网为802.3局域网】

IEEE802.5标准

令牌环网(Token-Ring)的介质访问控制协议及物理层技术规范
【速记:五环】

IEEE802.8标准

光纤技术资讯组,提供有光纤联网的技术咨询(FDDI使用的就是该标准)

【速记:光纤贵,有钱就是发8,有钱才买光纤,发发发888】

IEEE802.11标准

无线局域网(WLAN)的介质访问控制协议及物理层技术规范
【速记:11是路由器的两个天线WLAN无线局域网】

MAC

子层

LLC

子层

IEEE802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层

LLC

为网络层服务,LLC子层与传输媒体无关

MAC

与物理层紧密相关,向下处理有关于传输媒体的内容,向上屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口

LLC

功能

  • 识别网络层协议,然后对网络层数据进行封装
  • LLC报头告诉数据链路层,收到帧后,如何处理数据包

为网络层提供的服务

无确认无连接,面向连接,有确认无连接,高速传输服务

MAC

功能

数据帧的封装/卸装(组帧/拆帧)
帧的寻址和识别
帧的发送接收(比特传输差错检测)
链路的管理
帧差错控制

意义

MAC子层的存在屏蔽了不同物理链路种类的差异性

(透明传输)

第七节:以太网

概述

开发者

由Xerox公司创建并由Xerox,Intel,DEC公司联合开发的基带总线局域网规范

普及程度

以太网是当今现有局域网采用的最通用的通信协议标准

介质访问控制方式

以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术

优势

以太网在局域网各种技术中占统治性地位:

  • 造价低:以太网网卡不到100元
  • 应用广泛:是应用最广泛的局域网技术
  • 组网简单便宜:比令牌环网,ATM网便宜,简单
  • 速率高:10Mb/s~10Gb/s能满足网络速率要求

以太网
Ethernet
两个标准

  • DIX Ethernet V2:第一个局域网产品(以太网)规约
  • IEEE802.3:IEEE802委员会802.3工作组指定的第一个IEEE的以太网标准
    【这两个标准的主要区别在于帧的格式上有两个字节的微小的不同,所以只要满足任意上述一个规约或标准,都可以称之为以太网】

以太网提供的服务

无连接服务

发送方和接收方之间无“握手过程”

不可靠的服务

不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层(传输层)负责

以太网只实现无连接,无差错接收(错的丢掉,接受的必定正确),不可靠传输
【可靠传输指的是发来的都要接受,帧出错我要解决改正可靠传输都是由传输层实现,无差错接收是以太网接收的】

以太网发展

传输介质发展

粗同轴电缆→细同轴电缆→双绞线+集线器

物理拓扑结构发展

总线型→星型

在集线器上广播
逻辑上总线
物理上星型

以太网拓扑结构

使用集线器的以太网在逻辑上仍是一个总线,各站共享逻辑上的总线,使用的还是CSMA/CD协议,物理上是星型拓扑结构【因为技术的发展,出现了集线器,所以在物理上进行改良,所以物理上由原先的总线型变成了现在的星型,逻辑上依然为总线】

10BASE-T

以太网

10BASE-T是传送基带信号的双绞线以太网,T表示双绞线,现10BASE-T采用的是无屏蔽双绞线(UTP)传输速率是10Mb/s【BASE→基带信号;T-twist→双绞线;10→10Mb/s】

拓扑结构

物理上采用星型拓扑,逻辑上总线型每段双绞线最长为100m

编码方式

采用曼彻斯特编码

介质访问控制方式

采用CSMA/CD介质访问控制机制(有冲突碰撞)

适配器与MAC地址

适配器

功能

计算机与外界局域网的连接是通过通信适配器

概念

它是在主机箱内插入的一个网络接口板也叫做网络

接口卡NIC(network interface card)就是网卡由于

现在主板上都嵌入了适配器,所以不再单独用网卡

组成

适配器上装有处理器和存储器,存储器包括RAM和

ROM,ROM上有计算机硬件地址MAC地址

MAC地址

  • 在局域网中,硬件地址又称为物理地址,或MAC地址【实际上是标识符】
  • 每个适配器有一个全球唯一的48位二进制地址,生产出来就有唯一的一个MAC地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-60-8c-e4-b1-21 48位刚好6个字节,可以使用12个十六进制数字表示)

以太网MAC

因为以太网有DIX Ethernet V2和IEEE802.3两个标准,所以MAC帧对应两种格式,最常用V2格式

  

数据链路层

在链路层对数据报进行封装,封装的过程需要加头加尾(头:目的地址,源地址,类型;尾:FCS帧检验序列,循环冗余校验)为了使接收端可以迅速实现位同步(发送方和接收方能够保持发送和接收的同步),则需要从MAC层传到物理层的数据前面加上8B的前导码(前7B叫做前同步码都是1010构成的,后面1B前面都是1010最后面是11,其中1010的意思就是齐步走的121,使发送方和接收方能够进行一个时钟同步,最后面的11是告诉接收方可以开始接收我的帧了)

MAC层

  • 目的地址可能有三种情况单播地址:专有的一个MAC地址,如我要发送数据给一个固定的主机,主机的MAC地址就是我们的目的地址;广播地址:广播地址其实就是全1的也就是全f的,这样的地址会使得数据发送给所有主机,并且都会接收下来;多播地址
  • 类型其实就是在指明上面的网络层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的协议
  • 数据部分长度是可变的。1500字节为MTU(由于链路层的协议,不管是哪一种协议都要规定所能传送的帧的最大数据传输单元MTU,也就是数据部分有一个极限值,不同协议它的MTU长度也不同),46字节是由于CSMA/CD协议规定的以太网最小帧长限制为64B,64-6-6-2-4=46字节,为了保证这个MAC帧是个有效帧且可以使用CSMA/CD协议,所以数据部分长度最小为46B)
  • FCS就是CRC循环冗余检验的一个4字节的帧检验序列/冗余码

物理层

物理层中为什么头部插入的8B一个字节前导码中有一个帧开始定界符,而后面却没有帧结束定界符呢?因为以太网使用的编码形式是曼彻斯特编码,曼彻斯特编码的一个特点就是每个比特内都会有两个码元,所以只要发送数据就能感受到电压的变化(而不会像其他编码一样全0的话,可能是发送数据0,也可能停发了),不发送数据时电压就不会变化,因此发送方的网络适配器的接口上的电压就不会再变化,就可以很清楚的确定出以太网的帧结束的位置,于是在结束位置再向前推四个字节(FCS帧检验序列)就可以确定数据的结束位置。并且由于每个帧之间都有个最小间隔并不是紧挨着的,发完一个帧停一小会,因此会有一个空白时间,这个空白时间检测不到电压变化就说明没有发送数据了,所以依然往前推4个B就能确定数据的位置)

与IEEE802.3的区别

  • 第三个字段是长度/类型
  • 当长度/类型字段值小于0x0600时,数据字段必须装入LLC层(逻辑链路控制子层)

高速以太网

速率≥100Mb/s的以太网称为高速以太网

100BASE-T以太网

  • 双绞线(T上传送100Mb/s基带信号星型拓扑以太网,使用IEEE802.3的CSMA/CD协议。因为在100BASE-T中还是会产生冲突的
  • 支持全双工和半双工可在全双工方式下工作而无冲突【星型拓扑结构的中心节点由集线器变成了交换机,每一台主机都可以发送,发送的同时可以接收。因为交换机可以隔离冲突域,所以每一个交换机的端口都是一个冲突域,因此一个主机在一个冲突域中不会发生冲突,所以在全双工下无冲突也就不需要CSMA/CD协议

吉比特

以太网

  • 光纤或双绞线上传送1Gb/s信号
  • 支持全双工和半双工可在全双工方式下工作而无冲突

10吉比特以太网

  • 10吉比特以太网在光纤上传送10Gb/s信号
  • 只支持全双工无争用问题无冲突(不用CSMA/CD

IEEE

802.11

概念

IEEE802.11是无线局域网的通用标准,它是由IEEE所定义的无线网络通信的标准

范围

无线局域网(几千米)覆盖的范围要比WiFi大得多,WiFi是无线局域网的一种应用

WIFI

满足b和g定义的标准都是属于WIFI
IEEE802.11b:1999年,物理层补充(11Mbit/s工作在2.4GHz)
IEEE802.11g:2003年,物理层补充(54Mbit/s工作在2.4GHz)

802.11MAC

帧头

的为了打

地址1:RA接收端(receive address),接收端基站地址
地址2:TA发送端(transmit address),发送端基站地址
地址3:DA目的地址(destination address),目标主机的MAC地址
地址4:SA源地址(source address),发送端的MAC地址

  • 基站非常多,手持移动设备的手机号在基站的数据库中也要有更新,假设手机靠近A基站,那么手机号被存在A基站数据库中,假设移动到B基站,就把手机号注册到B基站当中,那么可在B基站数据库中查询到我们的手机号【这就是为什么每到一个新城市都会收到当地的欢迎短信,刚进入这个城市的基站范围内,然后被注册到当地基站中】
  • A手机和B手机进行通信,A手机附近有一个基站(AP1,AP是无线接入点即热点,也是基站,access point),B手机附近有一个基站(AP2)
  • A要与B通信,A先把信息通过电磁波发给AP1,然后AP1再发给AP2(可以有线可以无线),接下来AP2再把信号通过电磁波的形式发给B,这就是A和B通过基站(接入点)通信的过程

无线局域网分类

1.有固定基础设施的无线局域网

几个基本服务集组成了扩展服务集,连WiFi时,每一个WiFi都是一个基本服务集(基站,无线接入点),WiFi名字就是服务集标识符

2.无固定基础设施的无线局域网的自组织网络
只有一些主机,它们自己组成了一个网络,每一台主机都可以充当路由器的功能,也就是既可以发送数据,也可以帮忙转发数据。方法:把所有主机安排在同一个网段就可以了

第七节:广域网PPP协议与HDLC协议

广域网

覆盖范围

通常跨接很大的物理范围,几十公里到几千公里,跨市,跨国,跨几个洲提供远距离通信,形成国际性的远程网络

使用技术

广域网的通信子网主要使用分组交换技术

资源共享

广域网的通信子网可以利用公共分组交换网,卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网(Internet)是世界范围内最大的广域网

  • 广域网中有很多的节点交换机,它是链路层的设备交换机,但是和路由器的功能很类似,都是转发分组的。区别就是节点交换机只能在单个网络中转发分组,而路由器是可以在多个网络之间转发分组的
  • 广域网覆盖的网络体系结构层次:物理层,链路层,网络层局域网只覆盖物理层和链路层
  • 广域网通常采用的是点对点技术,一个发送端,一个接收端,一条链路相连的全双工或半双工通信模式局域网普遍采用的是多点接入技术(逻辑上是总线型的多点接入技术)。
  • 广域网中强调的是资源共享局域网比较强调数据传输,虽说广域网的传输速率比局域网高,但是又因为距离非常远,导致在广域网中传播延迟比局域网的传播延迟更长,广域网不怎么强调数据传输,再快也有一个传播延迟的影响

同步
异步

同步传输

同步通信,是指数据传送以数据块(一组字符/一连串的比特)为单位,字符与字符之间,字符内部的位与位之间都同步接收与发送时钟严格同步

异步传输

异步通信,是指数据传送以字符为单位字符与字符间的传送是完全异步的,位于位之间的传送基本上是同步

PPP

协议

概述

点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议用户使用拨号电话接入因特网时一般都使用PPP协议只支持全双工链路

PPP

协议

应满足的要求

  • 简单:对于链路层的帧,无需纠错,无需序号,无需流量控制,无需实现可靠传输【因为设计网络体系结构的时候,把复杂的部分都放在TCP协议当中,IP协议也稍微复杂一点,不过比TCP简单,IP协议层主要提供一个不可靠的数据报服务,链路层没必要抢在IP协议层之前把可靠传输实现,所以链路层不需要实现一个可靠传输的功能】
  • 封装成帧:帧头帧尾加上帧的定界符
  • 透明传输:不管数据部分传输什么样的比特流都可以完整的传过去,即使数据部分当中有帧的定界符也当看不见;与帧定界符一样的比特组合的数据应如何处理:异步线路用字节填充,同步线路用0比特填充(和HDLC协议一样的0比特插入法,遇5110
  • 多种网络层协议:链路层是对网络层的IP数据报进行封装,封装时ppp协议并不要求网络层给的IP数据报采用了什么类型的协议【封装IP数据报可以采用多种协议:IPIPX都行】
  • 多种类型链路:串行/并行,同步/异步,电/光,交换的/非交换的链路
  • 差错检测:直接丢弃错误帧【因为ppp协议并不需要实现可靠传输】,使用CRC循环冗余校验码,在末尾加FCS帧检验序列
  • 检测连接状态:检测链路是否正常工作
  • 最大传送单元:数据部分最大长度MTU不超过1500字节
  • 网络层地址协商:需要知道通信双方的网络层地址
  • 数据压缩协商:发送数据的时候对数据进行压缩

PPP

协议

无需满足的要求

  • 【总的来说就是不需要实现可靠传输】
  • 纠错:交给上一层负责;本层只负责检错
  • 流量控制:上层负责
  • 对帧编序号:顺序手法交给上层负责
  • 不支持多点线路:只需要满足点对点数据传输即可

PPP

协议的三个组成部分(三个功能)

  • IP数据报封装到串行链路的方法;串行链路又分为同步串行和异步串行两种;
  • 链路控制协议LCP:建立并维护数据链路连接,相当于身份验证的功能
            ↓
  • 网络控制协议NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接【通过LCP建立数据链路连接后,接下来可以实现上网的功能,这个时候需要把网络层的数据报进行一个处理封装给链路层,这个过程就是网络控制协议NCP负责】
    LCP相当于建立物理连接,NCP相当于在物理连接之上,又建立一层逻辑连接

PPP
协议的状态图

PPP

协议的帧格式

  • PPP协议部分都是字节格式的,是面向字节的协议
  • FCS帧检验序列:为了实现差错检测,使用CRC冗余检验算法插入了2个字节的帧检验序列
  • 协议字段:2字节,标识IP数据报/信息部分是一个什么样的类型,可能是IP数据报;LCP的数据;网络层控制数据等
  • 标志字段:帧定界符7E,二进制是0111 1110;PPP帧首尾各有一个帧定界符
  • 信息部分:引入转义字符7D,二进制位0111 1101,在数据中出现帧定界符或转义字符,就在前面插入一个转义字符,从而实现透明传输。到了接收端后把每次第一次遇见的转义字符删掉就能还原帧本身的模样【字符填充法
  • 地址字段与控制字段:地址A和控制C字段预留,目前还没完善,所以实际上没有携带任何对PPP协议有用的东西

HDLC

协议
——
已删

  • 所有帧采用CRC检验,对信息帧进行顺序比那好,可防止漏收或重份,传输可靠性高
  • 采用全双工通信
  • 高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control)协议扩展开发而成的。不属于TCP/IP协议族。
  • 数据报文透明传输:用于实现透明传输的“0比特插入法”易于硬件实现

HDLC站

主站

主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启,流程的控制,差错检测或恢复等【控制作用的站】

从站

主要功能时接收由主站发来的命令帧,向主站发送响应帧,并配合主站参与错误恢复等链路控制【被控制作用的站】

复合站

主要功能时既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制【既可以当主站,又可以当从站】

三种数据操作方式

正常响应方式

从站发送消息,需要经过主站的同意

异步平衡方式

每一个复合站都可以进行对别的站的数据传输(场面混乱,不需要征求),每个站地位平等

异步响应方式

从站不经过主站同意,就开始数据的传输

HDLC帧格式

如果透明传输区间内有与标志字段相同的比特流组合,我们可以采用零比特插入法来传输。HDLC协议是面向比特的,因为HDLC的帧格式是以比特为单位。

  • 标志字段:首尾都加入了标识符字段,且标识符字段的数都是一样的,如果在透明传输区间有相同的比特流形式,那么在中间就插入0【0比特传输的透明传输方法】
  • 地址位:地址位就取决于那三种数据操作方式,如果是正常响应和异步响应方式,那么地址位填充的都是从站的地址,如果是异步平衡方式,填充的就是一个对应站也就是应答的站
  • 控制字段:控制字段决定了HDLC帧的类型和ppp帧的 协议字段类似。控制字段我们只看前面两位
    • 息帧(I)第1位0,用来传输数据信息,或使用捎带技术对数据进行确认
    • 督帧(S)10,用于流量控制和差错检测,执行对信息帧的确认,请求重发和请求暂停发送等功能
    • 编号帧(U)11,用于提供对链路的建立,拆除等多种控制功能
    • 无监信无奸细HDLC帧的类型)

PPP
VS
HDLC

  • 链路类型:都支持全双工链路
  • 透明传输:都能实现透明传输PPP协议支持字节填充/零比特填充HDLC协议只支持零比特填
  • 差错控制:都实现了差错检测(CRC循环冗余校验),但是都不纠正
  • 传输单位:PPP协议面向字节,以字节为单位,每个PPP帧都是整数个字节8个字节
                     HDLC协议面向比特,以比特为单位,其数据不一定是整数字节
  • 协议字段:PPP协议中有两个字节的协议字段HDLC中没有,但是HDLC中有控制字段,有类似功能都规定了信息部分或者是这个帧是什么样的类型
  • 可靠性:PPP协议没有序号和确认机制,是不可靠的HDLC协议有编号和确认机制,是可靠的

为什么HDLC协议实现可靠传输我们还不怎么用它呢?因为太浪费了,在实际应用中,我们主要靠TCP协议来实现差错控制,流量控制等网络层和链路层都是不可靠的,尽最大能力交付的一种传输,原因在于我们对网络的速率要求比较高,如果在链路层和网络层还要进行差错的检测和纠正,这样花费的时间就更高了,延迟太大。所以在网络层和链路层不实现可靠传输,可靠传输交给传输层

第八节:数据链路层设备

物理层扩展以太网

背景

主机和集线器的距离不能超过100米(标准双绞线的有效传输距离为100米),如果超过了100米失真非常严重,且无法恢复,为了与距离比较远的主机进行通信,我们就要在物理层上把以太网拓展一下

冲突域

集线器连接的多个主机 , 处于一个冲突域中 , 一个冲突域同一个时间 , 只能有一台主机进行通信 , 如果有两台主机同时发送信息 , 就会产生冲突

方法一

采用光纤传输(传输距离长,且光纤信号损耗小),使用光纤解调器(光猫)来实现电信号与光信号之间的来回转换

方法二

主干集线器。第一个好处是可以实现跨冲突域的通信,第二个可以扩大以太网覆盖的范围。缺点就是效率变低,原来一个冲突域内是四台主机,现在发生冲突的概率更高

如何解决这个问题有(减少冲突,扩展以太网范围)→在链路层扩展以太网

链路层扩展以太网

通过网桥&交换机来实现链路层扩展以太网,网桥算是交换机的前身,现在实际应用中通常采用交换机。交换机就是更多接口的网桥。而且现在的局域网中每台主机都是通过交换机相连,集线器已经被淘汰了

网桥

作用

  • 网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不是向所有接口转发,而是先检查此帧的目的地址,然后再确定将该帧转发到哪一个接口,或者把它丢弃(即过滤)【集线器则会直接从所有端口转发出去,网桥高智商】
  • 网桥就是把几个以太网连接起来,因此构成了一个更大的以太网。之前的每个以太网就是一个冲突域,也称之为网段

网段

一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能直接通讯的那一部分

网桥

优点

  • 可以互连不同物理层,不同MAC子层和不同速率的以太网
  • 过滤通信量,增大吞吐量【分割冲突域,不同网段(冲突域)内可单独通信,AB通信的时候,CD也能通信。如果换成集线器则就是一个大的冲突域。并且现在AC也能通信,因为网桥把以太网进行了扩展。假如每一个网段的数据传输速率是10MB/S,这三个网段合起来最大吞吐量就是30MB/S,而假如是物理层设备如集线器,则最大吞吐量依然是10MB/S
  • 扩大了物理的传输范围
  • 提高了可靠性【网络出现故障时,只有一个网段内部会受到影响,不会影响其他网段】


网桥分为

透明网桥

源路由网桥

透明网桥

定义

“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备——自学习算法

  • 如果每个站点都发送过数据帧,那么每个网桥中,都记录有完整的转发表
  • 转发表不是一成不变的,网桥每隔几分钟会自动刷新一次转发表,重新学习,更新转发表可以实时反映最新的网络拓扑状态
  • B发送给A:A直接收到数据,同时也会传给右侧网桥,第一步网桥先检查源地址,转发表中没有B的源地址,那么就写入。再看目的地址,由于第一个网桥的转发表中已经存储了A传输的数据曾从左侧的接口1进来,所以网桥不再向接口2右侧传输数据,直接把帧丢弃。
  • A给B发送帧:网桥1先按源地址(AMAC地址)查找自己的转发表,发现没有,则把A的地址和收到这个帧的接口写入转发表中。这样 以后其他主机要给A发送数据,网桥就知道要从我的1号接口传输出去。然后根据目的地址(BMAC地址)来查找转发表,发现转发表中没有B的地址,而是通过接口1之外的接口转发出去。其他主机也都会收到这个帧,但是发现目的地址不是自己则丢弃。

源路由网桥

源路由网桥

在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧首部中

方法

源站以广播方式向欲通信的目的站发送一个发现帧。目的站收到后,会原路返回一个确认帧,这样源站就知道以后多少种路由选择方案,以及哪条路经过了多少路由,时间花了多久。这么多方案肯定有路由最少或者时间最短的一些方案,具体选择取决于实际需求。假如有一个路由最少时间最短的最优方案路径,那我们把这条路径的信息作为最佳路由信息放在帧的首部,以后只要是源站和目的站的信息相匹配,就可以直接采用这个最佳路径发送数据帧。

【第一次发送数据的过程是探路,后面直接根据最佳的路走】

以太网交换机

以太网交换机

  • 以太网交换机也叫做多接口网桥,上面有十几个端口
  • 每个端口可以连接集线器或主机,每个端口引出的都是一个冲突域
  • 可以让每个连接在该交换机的主机独占传输媒体带宽

以太网交换机

两种交换方式

直通式交换机

只检查目的地址(6B)就立刻转发

【题目会问把数据帧转发出去的时间是多少,只要算6B就行】
延迟小可靠性低不支持具有不同速率的端口的交换

存储转发式交换机

将帧放入高速缓存,并检查是否正确,正确则转发,错误则丢弃
延迟大可靠性高支持具有不同速率的端口的交换

实际生活中使用的都是存储转发式交换机

冲突域
广播域

冲突域

在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围

广播域

网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接受到这个信号的设备范围称为一个广播域

能否隔离冲突域

能否隔离广播域

物理层设备【傻瓜】(中继器,集线器)

×

×

链路层设备【路人】(网桥,交换机)

×

网络层设备【大佬】(路由器)

  • 链路层设备的一个端口就是一个冲突域
  • 路由器可以隔离广播域,查看是否有路由器,如果有路由器,路由器两个接口连接两个网络,那么就有两个广播域
  • 物理层,和数据链路层的设备不能隔离广播域,如果没有路由器,那么所有的设备构成一个广播域,广播域的个数为1个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

是bit不是byte

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

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

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

打赏作者

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

抵扣说明:

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

余额充值