吐血码万字长文搞懂了数据链路层

万字长文学懂计算机网络的数据链路层,计算机的重要性不需要多讲,基础的知识不能决定我们现在解决问题的速度,但是它却决定了我们能爬到多高的地方.
本篇文章2W点多字,算是比较详细的总结了,点不点赞的无所谓,但真希望读者或者需要到的人能认真阅读,同时如果文章有错误,也欢迎各位的指点.

目录

数据链路层

数据链路层功能的形象比喻

数据链路层的功能

数据链路层基本概念

  • 结点:主机.路由器
  • 链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线,光纤和微波.分为有线链路和无线链路.
  • 数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路.
  • 帧:链路层的协议数据单元,封装网络层数据报.

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

数据链路层功能概述

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

功能一:为网络层提供服务.无确认无连接服务,有确认无连接服务,有确认面向连接服务.

  • 无确认无连接的服务:因为不需要连接和确认,所以速度快,一般用于实时系统
  • 有确认无连接的服务:当接收端接收到数据,就给发送端发送确认信息,如果在规定的时间内发送端没有接收到接收端的确认,那么就会重发.一般用于误码率较高的系统
  • 有确认有连接的确认:确认发送端和接收端连接正常后再发送数据,发送端还要求接收端在收到数据后反馈确认信息.是一种最安全的连接
  • 注意:有连接就一定有确认

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

功能三:组帧

功能四:流量控制(限制发送方)

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

组帧功能详解

基础知识

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

首部和尾部包含很多的控制信息,其中的一个重要的作用就是:帧定界(确定帧的界限)

帧同步:接收方应当能从发送方的二进制比特流中区分出帧的开始和终止.

透明传输

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

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

组帧的四种方法:

1.字符计数法

字符计数法

帧首部使用一个计数字段(第一个字节,8位)来标明帧内字符数

缺点:因为帧的计数字段如果发生错误的话,后面的所有帧都会接连的发生错误,发送端和接收端就时区同步

2.字符(字节)填充法

字符填充法

就是在发送端填充转义字符,在接收端把所有的转义字符删去就能够接收到我们需要的数据

3.零比特填充法

零比特填充法的标志帧开始和结束的标志一样,都是01111110

对于零比特填充法我们总结的方法为:5"1"1"0"

操作:

  1. 在发送端,扫描整个信息字段,只要连续5个1,就立即填充1个0(因为我们的标志是连续6个1,这样做能够避免帧中的数据和我们的标志开始和结束的字符区分开,保证帧中数据永远和标志不一样)
  2. 在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描.发现连续5个1时,就把后面的一个0删除.这样就还原出了我们帧中真实的数据.
4.违规编码法

我们知道在曼彻斯特编码方式中,每一个比特所对应的电平都是:高-低,低-高的编码方式,因此我们使用高-高,低-低的违规编码方式来作为帧中数据的开始和结束的标志.

组帧方法总结:

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

差错控制

概括来说,传输中的差错是由于噪声引起的.

全局性噪声:

  • 由于线路本身电气特性所产生的随机噪声(热噪声),是信道固定的,随机存在的.
  • 解决办法:提高信噪比来减少或避免干扰.(对传感器下手)

局部性噪声:

  • 外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因
  • 解决办法:通过利用编码技术来解决

这些噪声都可能使我们的数据发生差错.

差错:

  1. 位错:指的是比特位出错,1变成0,0变成1.
  2. 帧错:
    1. 丢失:接收端接受的帧少于发送端发送的帧
    2. 重复:接收端接收的帧多于发送端发送的帧(部分是重复的帧)
    3. 失序:接收端接收到的帧的顺序和发送端发送的帧的顺序不同.

对于位错的差错控制

区别概念:链路层的编码和物理层的编码

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

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

1.检错编码

检错编码:发现那里有错

奇偶校验码: n-1位信息元,1位校验元

奇校验码:"1"的个数为奇数

偶校验码:"1"的个数为偶数

奇偶校验码的特点:

只能检查出奇数个比特错误,检错能力为50%(偶数个比特发生错误时可能是 0 1相互抵消的,这样就检测不出来)

循环冗余CRC

要传的数据 ÷ 生成多项式 = 结果+余数(帧检验序列/冗余码) -----发送的数据---->(要传的数据+余数)作为接收端接收的数据 ÷ 生成多项式 = 结果+余数

如果接收端运算结果是0,那么判定在传输过程中没有发生错误,就接收,否则则拒绝接收.

CRC校验码

CRC校验码2

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

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

链路层使用CRC校验,能够实现无比特差错的传输,但是不能实现可靠传输

2. 纠错编码

纠错编码:不仅能发现编码有错,还能知道就在那发生错误

海明码

海明码:能发现双比特错,但是只能纠正单比特错
: 2 r > = k + r + 1 : r , k 海明不等式: 2^r >= k + r+1\\ 注:r为冗余信息位,k为信息位
工作流程:

1.确定校验码位数r

海明码1

2.确定校验码和数据的位置

海明码2

3.求出校验码的值

海明码3

4.检错和纠错

海明码4

链路层的流量控制和可靠传输机制

链路层的流量控制

较高的发送速度较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作

image-20200519190402958

数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的.

数据链路层流量控制手段:接收方收不下就不回复确认

传输层流量控制手段:接收端给发送端一个窗口公告.

流量控制和可靠传输的方法:

1.停止-等待协议

每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧.

效率较低,很多的时间都在等待确认.

为什么要有停止-等待协议?

除了比特出差错,底层信道还会出现丢包问题(意思就是可能只是无比特差错传输,而不是可靠传输)

为了实现流量控制

丢包:物理线路故障,设备故障,病毒攻击,路由信息错误等原因会导致数据包的丢失.

研究停等协议的协议

虽然现在常用的是全双工通信,但为了讨论问题的方便,仅考虑一方发送数据(发送方),一方接收数据(接收方).

因为是在讨论可靠传输的原理,所以并不考虑数据是哪一个层次上传递的.

"停止-等待"就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组.

停等协议
2.滑动窗口协议
后退N帧协议(GBN)
选择重传协议(SR)
协议 发送窗口和接收窗口特点
停止-等待协议 发送窗口大小=1,接收窗口大小=1
后退N帧协议(GBN) 发送窗口大小>1,接收窗口大小=1
选择重传协议(SR) 发送窗口大小>1,接收窗口大小>1

可靠传输:发送端发啥,接收端就收啥

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

滑动窗口解决:

  1. 流量控制(收不下就不给确认,发送端想发发不了,那么变相的控制了发送端的发送速度)
  2. 可靠传输(发送方自动重传)

信道划分介质访问控制

点对点链路:两个相邻节点通过一个链路相连,没有第三者.应用ppp协议.常用于广域网

image-20200521163710449

广播式链路:所有主机共享通信介质.应用:早期的总线以太网,无线局域网,常用于局域网

  • 经典拓扑结构:总线型.星型(逻辑总线型)

image-20200521163719074

这种类似对讲机的类型:当一个设备发出信息,可以传到其他所有的设备,但是不一定到所有的设备都进行处理,只有设备接收到信息是自己需要的信息时才会处理,但是如果两个设备同时发送信息,就可能因为信号干扰而导致失败,而介质访问控制的内容就是,采取一定的措施,使得两对节点之间不会发生信号的相互干扰的情况

介质访问控制:

分类

  1. 静态访问信道:信道划分介质访问控制(在用户通信之前,按时序或者频率把信道进行划分)

    • 频分多路复用FDM
    • 时分多路复用TDM
    • 波分多路复用WDM
    • 码分多路复用CDM
  2. 动态分配信道

    • 轮询访问介质访问控制:令牌传递协议
    • 随机访问介质访问控制:
      • ALOHA协议
      • CSMA协议
      • CSMA/CD协议
      • CSMA/CA协议

信道划分介质访问控制

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

多路复用技术:

把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率

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

image-20200521165817175

静态划分信道

频分多路复用技术

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

特点:充分用了传输介质带宽,系统效率比较高,由于技术比较成熟,实现也比较容易.

image-20200521170232399

时分复用

image-20200521170325767

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

TDM帧时物理层传送的比特流所划分的帧,标志一个周期

由此我们有一种感觉:

频分复用技术--------“并行”

时分复用技术--------“并发”

这样的话我们在时分复用技术中,如果A,B,C的主机都休息(不进行数据传输),那么虽然只剩D主机在传输数据,但还是要等待时间片的轮转,浪费很多的时间

由此就有了统计时分复用技术STDM技术(能明显的提高信道的利用率)

统计时分复用

image-20200521171416653

波分多路复用

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

(和频分复用特别像)

码分多路复用CDM

码分多址(CDMA):是码分多路复用的一种方式

1个比特分为多个码片/芯片(chip),每个站点被指定一个唯一的m为的芯片序列

发送1时站点发送芯片序列,发送0时发送芯片序列反码(通常把0写成-1)

如何保证数据传输不打架:多个站点同时发送数据的时候,要求各个站点芯片序列相互正交
: ( A × B + A × B . . . ) ÷ = 0 A B 0 , 相互正交的计算方式:\\ (A芯片序列的第一位×B芯片序列的第一位+A芯片序列的第二位×B芯片序列的第二位...)÷序列位数=0\\ A芯片序列的各位和B芯片序列的各位对应相乘再相加的结果除以每个芯片序列数如果结果等于0,则表示正交

如何合并:因为我们要把多台主机或者终端发送的数据在一条信道上发送,所以需要把数据进行合并,各路数据在信道中被线性相加(相加的也是芯片序列对应的数值)

如何分离:合并的数据和源站规格化内积.
: ( A × ( ) + A × . . . ) ÷ = ( 1 0 , + 1 1 ) A B 内积的计算方式:\\ (A芯片序列的第一位×源站芯片序列(也就是合并数据后的序列)的第一位+A芯片序列的第二位×源站芯片序列的第二位...)÷序列位数= 内积(如果是-1表示0,如果是+1表示1)\\ A芯片序列的各位和B芯片序列的各位对应相乘再相加的结果除以每个芯片序列数

动态分配信道

动态媒体接入控制/多点接入

特点:信道并非在用户通信时固定分配给用户

随机访问介质访问控制

所以用户可随机发送信息,发送信息时占用全部带宽

可能导致不协调的冲突的问题,就出现了一些协议来解决这个问题

纯ALOHA协议

纯ALOHA协议思想:不监听信道,不按时间槽发送随机重发. 想发就发

image-20200521184743626
: T 0 : , , , 注:T_0:时间槽,表示数据帧发送成功的时间,包括了发送时延,传播时延和处理时延

冲突如何检测?

如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突

冲突如何解决?

超时后等以随机时间再重传

因为数据帧的发送很随机,导致数据帧发送的成功率很低,而且因为冲突的信息的重传也具有随机性,因此可能会导致某一信息长时间都得不到重传.这时候就发明出了时隙ALOHA协议

时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送.控制想发就发的随机性

image-20200521190403714

总结:

  1. 纯ALOHA协议比时隙ALOHA吞吐量更低,效率更低
  2. 纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发
  3. 冲突的解决方式都是超时重传,但是纯ALOHA协议是随机重传,而时隙ALOHA只能在时间片开始时重传
CSMA协议:

载波监听多路访问协议CSMA,.

  • CS:载波侦听/监听,每一个站在发送数据之前要测试一下总线上是否有其他计算机在发送数据
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(相互叠加).当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上周至少有两个站在同时发送数据,表明产生了碰撞,即产生了冲突.
  • MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上.

协议思想:发送帧之前,监听信道

监听结果:

  1. 信道空闲:发送完整帧
  2. 信道忙:推迟发送

根据监听结果(需要监听)的信道空闲和信道忙的不同发送时间(确定何时发送,就有了三种协议),

  1. 1-坚持CSMA
  2. 非坚持CSMA
  3. p-坚持CSMA
1-坚持CSMA协议

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

1-坚持CSMA思想:

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

优点:

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

缺点:

假如有两个或者两个以上的站点有数据要发送,冲突就不可避免

非坚持CSMA

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

非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道, 如果空闲,则直接传输,不必等待,忙则等待随机时间之后再监听,

优点:

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

缺点:

可能大家都在延迟等待的过程中,造成媒体处于空闲状态,媒体利用率降低

p-坚持CSMA

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

p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道

总结一下

image-20200603121924624

CSMA/CD协议:

载波监听多点接入/碰撞检测CSMA/CD

**CS:**载波监听.倾听.每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据

MA多点接入,表示也多计算机以多点及接入的方式连接在一根总线上.(总线型网络)

CD:碰撞检测(冲突检测),边发送边监听,适配器(可以理解为我们的主机)边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据.(半双工网络)

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

信号在信道上传输,虽然我们用的协议是CSMA/CD协议,在监听的,但是同样可能会有冲突的可能.因为信号在信道上传输是有时间的(虽然信号的传输速度很快),但是当信道很长时,就需要传输时间,而我们的信号在没传输到检测的位置时,是检测不出来的.也就是说传播时延是对载波监听有影响的

现在我们来讨论传播时延对载波监听的影响(单程端到端传播时延τ(tao))

image-20200603123507829

当信号在传输过程中,信号如果发生碰撞,那么信号就会发生信号的叠加

问题:最迟多久才能知道自己发送的数据没和别人发生碰撞?

答案:

image-20200603124217236

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

在CSMA/CD中我们使用截断二进制指数规避算法来计算我们的重传时间

image-20200603124556003

这个可以告诉我们:若连续多次发生冲突,就表明可能有较多的站争用信道使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳点

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

答案:0~1023

最小帧长问题

我们使用CSMA/CD协议(或者说CSMA/CD协议的特点)就是在传输数据过程中检测,如果发现传输数据冲突,那么传输的数据信号就会叠加而导致错误,这时CSMA/CD协议就会及时叫停,停止继续传输,但是如果传输的帧很短,在发现传输出错之前,已经传输完毕了,那么CSMA/CD协议的作用就失效了,所以我们现在要考虑最小的传输帧长

之前我们讲到:在2τ的时间内我们必然能检测出数据的传输是否出错,因此帧的传输时延至少要两倍于信号在总线中的传播时延
/ > = 2 τ = 线 × × 2 = 2 τ × 帧长/数据传输速率>=2τ \\可得最小帧长=总线传播时延×数传输速率×2=2τ×数据传输速率
以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧,如果我们要传输小于64B的数据,那么数据会被自动填充为大于等于64B.

CSMA/CA协议

载波监听多点接入/碰撞避免CSMA/CA

为什么要有CSMA/CA协议?用于无线局域网

CSMA/CA协议工作原理

  • 发送数据前,先检测信道是否空闲
  • 空闲则发出RTS(request to send),RTS包括发射端的地址,接收端的地址,下一份数据将持续发送的时间等信息:信道忙则等待
  • 接收端收到RTS后,将响应CTS(clear to send).
  • 发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)
  • 接收端收到数据帧后,将CRC来检验数据是否正确,正确则响应ACK帧
  • 发送方收到ACK就可以进行下一个数据帧的发送,如果没有收到则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机推迟时间)

总结CSMACD和CSMA/CA的相同点和不同点

相同点:

  • CSMACD和CSMA/CA都属于CSMA的思路,其核心是先听再说.换言之,两个在接入信道之前都需要进行监听,发现信道空闲后,才能进行接入

不同点:

  • 传输介质不同:CSMA/CD用于总线式以太网(有线),而CSMA/CA用于无线局域网(无线)
  • 载波检测方式不同:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同.CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化,而CSMA/CA采用能量检测(ED).载波检测(CS)和能量载波混和检测三种检测信道空闲的方式
  • CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传

介质访问控制总结

前面已经介绍了信道划分介质访问控制(MAC)协议和随机访问MAC协议

信道划分介质访问控制协议(MAC):

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

随机访问MAC协议:

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

现在学轮询访问MAC协议/轮流协议/轮转访问MAC协议:

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

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

轮询协议

主结点轮流"邀请"从属结点发送数据

问题:

1.轮询开销(要问询从属机器是否要发送数据是一个连接过程,可能会有耗时和耗资源)

2.等待延迟(在后面排着的从属结点要等待主机询问其他结点才能传输数据,可能等待时间很长)

3.单点故障(当主机宕机时,其他存储机都没办法工作)

令牌传递协议

image-20200603133647344

每个结点都可以在一定时间内(令牌持有时间)获得发送数据的权利,并不是无限制持有令牌

问题:

1.令牌开销

2.等待延迟

3,单点故障

应用于令牌环网(物理星型拓扑,逻辑环形拓扑)

采用令牌传送方式的网络常用于负载较重.通信量较大的网络中

局域网基本概念和体系结构

局域网:简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道

特点:

  • 覆盖的地理范围小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内
  • 使用专门铺设的传输介质(双绞线同轴电缆)进行联网,数据传输速率高
  • 通信延迟时间短,误码率低,可靠性高
  • 各站为平等的关系,共享传输信道
  • 多采用分布式控制和广播式通信,能进行广播和组播

决定局域网的主要要素为:网络拓扑,传输介质介质访问控制方法

局域网拓扑结构

星型拓扑

总线型拓扑

环形拓扑

树型拓扑

image-20200603142238282

局域网传输介质

  • 有限局域网 常用介质:双绞线,同轴电缆光纤
  • 无线局域网 常用介质:电磁波

局域网介质访问控制访问方法

  1. CSMA/CD:常用于总线型局域网,也用于属性内网络
  2. 令牌总线: 常用于总线型局域网,也用于树型网络
    • 它把总线型和树型网络中的各个工作站按一定顺序如按接口地址大小排列形成一个逻辑环.只有令牌持有者才能控制总线,才有发送信息的权利
  3. 令牌环:用于环形局域网,如令牌环网

注意物理连接的形状和局域网的拓扑结构不一定要保证统一,局域网的拓扑结构只是考虑了数据在链路中的流动,而没有要求一定的物理连接的结构,但是也不是随意连接的,要相互契合

局域网的分类

  1. 以太网
  2. 令牌环网
  3. FDDI网
  4. ATM网
  5. 无线局域网

image-20200603143119722

MAC子层和LLC子层

image-20200603143419509

以太网

以太网概述

以太网(Ethernet)指的是有Xerox公司创建并由Xerox.Intel和DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准以太网使用CSMA/CD(载波监听多路访问及冲突检测)技术.

以太网在局域网各种拘束中占统治地位:

  1. 造价低廉(以太网卡不到100块)
  2. 是应用最广泛的局域网技术
  3. 比令牌环网.ATM往便宜,简单(建网简单,修复简单)
  4. 满足网络速率的要求:10Mb/s~10Gb/s

以太网两个标准:

  1. DIX Ethernet V2:第一个局域网产品(以太网)规约
  2. IEEE 802.3:IEEE 802委员会工作组制定的第一个IEEE的以太网标准(帧格式上有一点改动)

802.3局域网AKA以太网

以太网听无连接.不可靠的服务

无连接:发送方和接收方无"握手过程"

不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责.

以太网只实现无差错接收,不实现可靠传输

以太网传输介质与拓扑结构的发展

image-20200603144807657

适配器和MAC地址

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

  • 适配器上装有处理器和存储器(包括RAM和ROM)
  • ROM上有计算机硬件地址MAC地址
    • 在局域网中,硬件地址又称为物理地址,或MAC地址(实际上是标识符,可以理解为我们每个人的身份证,能够唯一的标识我们的硬件设备)
    • MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定.常用6个十六进制标识,如02-60-8c-e4-b1-21.

以太网MAC帧

image-20200603145914715

高速以太网

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

  1. 100BASE-T以太网
    • 双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用的是IEEE802.3的CSMA/CD协议
    • 支持全双工和半双工,可在全双工方式下工作而无冲突
  2. 吉比特以太网
    • 光纤或双绞线上传送1Gb/s信号
    • 支持全双工和半双工,可在全双工方式下工作而无冲突
  3. 10吉比特
    • 10吉比特以太网在光纤上传送10Gb/s信号
    • 只支持全双工,无争用问题

IEEE802.11无线局域网

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

这里说的无线局域网并不是指的是WIFI,这里说的无线局域网的范围比WIFI的范围要大很多.

802.11的MAC帧头格式

image-20200603151305820

无线局域网的分类

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

    image-20200603164026416

  2. 无固定基础设施无线局域网的自组织网络

image-20200603164057727

广域网

广域网,通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个州并能提供远距离的通信,形成国际性的远程网络

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

PPP协议

PPP协议的特点:

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

PPP协议应满足的要求

  • **简单:**对于链路层的帧,无需纠错,无需序号,无需流量控制
  • 封装成帧:帧界定符
  • 透明传输:与帧界定符一样的比特组合的数据应怎么处理:异步线路用字节流填充,同步线路用比特填充
  • 多层网络层协议:封装的IP数据报可以采用多种协议
  • 多种类型链路单行/并行,同步/异步电/光
  • 差错检测:错就丢弃
  • 检测连接状态:链路是否正常工作
  • 最大传送单元:数据部分最大长度MTU
  • **网络层地址协商:**知道通信双方的网络层地址

PPP协议无序满足的要求:

纠错(只需要检错)

流量控制(交给上层处理)

序号

不支持多点线路(只满足点对点就行了)

PPP协议的三个组成部分:

  1. 一个将IP数据报封装到串行链路(tongue串行/异步串行)的方法
  2. 链路控制协议LCP:检录并维护数据链路连接.(比如身份验证,拨号连接)
  3. 网络控制协议NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP啦配置,为网络层协议建立和配置逻辑连接.

PPP协议的状态图

image-20200603170123957

PPP协议的帧格式

image-20200603170455588

HDLC协议

高级数据链路控制,是一个在同步网上传输数据**.面向比特**的数据链路层协议,它是由国家标准化组织(ISO)根据IBM公司的SDLC协议扩展开发而成的.

数据报文可透明传输,用于实现透明传输的"0比特插入法"易于硬件实现

采用全双工检验

HDLC的站

  1. 主站的主要功能是发送命令(包括数据信息)帧.接收响应帧,并负责对整个链路的控制系统的初启.流程的控制.差错检测或恢复等
  2. 从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制
  3. 复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制

根据这三种站,就有了三种数据操作方式:

  1. 正常响应方式:从站要发送消息,要先通过主站的同意才能发送
  2. 异步平衡方式:指的是每个复合站都能进行对别的站的数据传输
  3. 异步响应方式:从站不需要经过主站的同意就能自主的发送数据

HDLC的帧格式:

image-20200603171555343

PPP协议和HDLC协议的相同点和不同点:

相同点:

  • HDLC和PPP协议都支持全双工链路
  • 都可以实现透明传输(有小的区别:PPP协议可以支持零比特填充的比特填充方法又可以实现字节填充方法,但是HDLC只能实现零比特填充的方法(即5110))
  • 都可以实现差错的检错,但是不纠正错误

区别:

PPP协议 面向字节 2B协议字段 无序号和确认机制 不可靠
HDLC协议 面向比特 没有 有编号和确认机制 可靠

数据链路层的设备

扩展的以太网:我们希望以太网的覆盖范围进行扩展,这种扩展的以太网在网络层看来仍然是一个网络

物理层拓展以太网

两种方式:

  1. 通过光纤来扩展以太网的范围
  2. 通过多个集线器的来扩展以太网(但是传输效率变低,很可能产生冲突)

image-20200603213319647

数据链路层扩展以太网

网桥根据MAC帧的母的地址对帧进行转发过滤.当网桥收到一个帧时,并不是向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后在确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)

  • 网桥的两端是两个不同的网段
  • 网桥能够把冲突域分隔开,但是如果换成物理层设备(如集线器)就没有分隔的作用,就不能实现冲突域的通信

image-20200603214149430

网桥的优点解析:

  • A-B能够通信,A-C,A-E都能通信
  • A发生宕机时,不影响B-C的通信
  • 假设传输速率是10Mb/s,那么使用网桥之后,图中最大的物理带宽就是30Mb/s

网桥的分类

  • 透明网桥:"透明"指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备–自学习
网桥的自学习过程

image-20200603215557862

  • 源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部
    • 方法:源站以广播方式向欲通信的目的站发送一个发现帧

意思就是:有多条路径都能从发送端到接收端,但是源路由网桥在尝试之后会发现一个最佳路径,然后以后要再次通信时,就使用最佳的路径.(路由最少/时间最短)

  • 多接口网桥—以太网交换机

image-20200603220309187

以太网交换机的两种交换方式

  1. 直通式交换机
    • 查完目的地址(6B)就立刻转发
    • 延迟小,可靠性低,无法支持具有不同速率的端口的交换
  2. 存储转发式交换机
    • 将帧放入告诉缓存,并检查是否正确,正确则转发,错误则丢弃
    • 延迟打,可靠性高,可以支持不同速率的端口的交换

冲突域和广播域

  • 冲突域:在同一冲突域中的每一个节点都能收到所有被发送的帧.简单的说就是同一时间内只能有一台设备发送信息的范围
  • 广播域:网络中能接收任一设备发出的广播帧的所有设备的集合.简单的说如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域
能否隔离冲突域 能否隔离广播域
物理层设备【傻瓜】(中继器.集线器) × ×
链路层设备【路人】(网桥.交换机) ×
网络层设备【大佬】(路由器)

数据链路层总结思维导图

image-20200603221451829

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qIOehKkg-1591231437223)(C:\Users\lenovo\Desktop\雷雨佳\计算机网络\截图\image-20200603232926409.png)]

猜你喜欢

转载自blog.csdn.net/qq_40742223/article/details/106537887