数据链路层

 

 

注意:以太网协议规定,接入网络的设备都必须安装网络适配器,即网卡,数据包必须是从一块网卡传送到另一块网卡。而网卡地址就是数据包的发送地址和接收地址,有了MAC地址以后,以太网采用广播形式,把数据包发给该子网内所有主机,子网内每台主机在接收到这个包以后,都会读取首部里的目标MAC地址,然后和自己的MAC地址进行对比,如果相同就做下一步处理,如果不同,就丢弃这个包。 

所以链路层的主要工作就是对电信号进行分组并形成具有特定意义的数据帧,然后以广播的形式通过物理介质发送给接收方

 

1.说说组帧的方法

组帧的方法有四种,第一种就是字符计数法,在帧的头部使用一个计数字段来标明帧内字符数,但这种方法容易一错毁所有,所以不提倡使用该方法,第二中方法为字符填充法,使用特定的字符作为头部和尾部,如遇到特殊字符用转义字符填充,第三种方法是零比特填充法,用特定的比特作为头部和尾部,数据部分如遇到五个1就填充一个0.第四种方法为违规编码法,其实违规的编码作为头部和尾部。

注意:每个帧的数据部分有个最大传送单元,叫MTU。其也是为什么当网络层的ip数据过大的时候,需要分片的原因。

 

2.说说差错控制

首先先谈谈为什么会出现差错呢?是因为在传输数据过程中会有噪声的干扰,从而导致数据出错。所以出现了差错控制,差错控制只要有两种方式,一个是检错,一个是纠错,其中检错有奇偶检测法和循环冗余码。

但奇偶检测法有个痛点,就是其检测出准确率只有50%。所以对比准确率,优先选择我们的循环冗余码,其主要的步骤过程是

1)根据多项式来确定加0的个数

2)进行模2除法确定余数,从而组成发送数据

3)对接收的数据进行模2除法,余数,不为0的话,即错误

 

而纠错编码是使用海明码来实现,其实现步骤是:

1)根据公式2^r>=k+r+1来确定冗余信息为的个数

2)根据2^冗余位数的位置下标  来算出冗余位应该摆放的位置

3)令所有要校验的位异或=0

4)检错并纠错:令所有要校验的位异或运算。如得到的是0,则无错,如不是0,则取相应位置的数值的反码

 

 

3.为什么要进行流量控制

由于发送和接受双方各自的工作速率和缓冲空间存在差异,可能出现发送方的发送能力大于接受方的接受能力的现象,所以得控制该现象的出现,其实现方式是通过限制发送方的数据流量,从而使其发送速率不超过接收方的接受能力

 

4.流量控制的常见方式

1)停等等待协议

2)后退n帧协议

3)选择重传协议

其中停等的发送和接受窗口都=1,所以只能发一个,等应答信号,然后再发下一个

而后退n帧协议的发送窗口大于1,接受窗口=1,其是采用累计确认的方式,所以如果我发了123个数据,只到了13,其接受端也只能继续等待第二个数据的到来,而这也是该方法的弊端,即使后续的分组已经到了,但重传的时候,依旧会重新发一些已经到的分组。所以就出现了选择重传协议,其发送和接受窗口都大于1,在选择重传协议中,每个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重传。或者说一旦接收方怀疑帧出错,就会发一个否定帧NAK给发送方,要求发送方对NAK中指定的帧进行重传。

 

 

5.可靠传输机制有哪些

1)确认

2)超时重传

确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道那些内容已经被正确接受了。有些情况下为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认。

而超市重传是指发送方在发送某个数据帧后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止。

而自动重换请求是指通过接受方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来差错的方法之一。

 

6.频分复用,时分复用,波分复用,码分复用

这是一种静态的信道划分方式,一般情况下不会发生冲突。

频分复用:给每个信号分配唯一的载波频率并通过单一媒体来传输多个独立信号的方法。

时分复用:在多个信号复用到单个硬件传输信道,它将一个周期的时间分割成几个时间片,它允许每个信号在自己的时间片中使用信道,接着再让下一个信号使用。这是最初版本的时分复用,后面考虑到某些信息可能在当下分配的时间里不需要发送数据,所以后续版本的时分复用,是根据信号的使用需求来进行时间片的分配。

波分复用:就是光的频分复用。用一根光纤同时传输多个频率很接近的光载波信号。

码分复用:码分复用是用一组包含互相正交的码字的码组携带多路信号。每一个用户可以在同样的时间使用同样的频带进行通信。由于各用户使用经过特殊挑选的不同码型,各用户之间不会造成干扰,因此这种系统发送的信号有很强的抗干扰能力。

 

7.介绍一下随机访问介质访问控制

在总线型网络中,每个用户都可以随时的发送信息,这就会导致如果出现两个用户在该信道同时发送数据,就会产生帧的冲突,导致冲突用户发送数据错误。为了解决随机这个问题,常用的协议有ALOHA 协议、CSMA协议、CSMA/CD 协议和CSMA/CA 协议等。

其中:

1)ALOHA协议又分为纯ALOHA协议和时隙ALOHA协议。纯ALOHA协议的思想就是不监听信道,想发就发,随时重发。当遇到冲突的时候,接收端会判断到,从而不回复确认,发送端在一定的时间内没有收到确认就知道发生了冲突,等待一个随机时间再次发送。

而时隙ALOHA协议是指将时间分成一个个时间片,用户只能在时间片的开始发送数据,其判断冲突的方式和纯ALOHA相同,只不过其处理冲突时,只能等下一个时间片开始才能发送。

2)CSMA协议分

1坚持csma

非坚持csma

p坚持csma

1坚持csma是说用户会一直监听信道是否空闲,如果空闲,则马上发送,不空闲,继续监听。

而非坚持csma是指说用户如果监听信道空闲的时候,则会发送,如果不空闲,则放弃监听一段时间,然后再监听。

p坚持csma则是如果信道空闲时,则有p几率发送。而如果不空闲,则放弃监听一段时间,然后再监听。

3)CSMA/CD 协议,其中cs表示在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。而ma是指多点接入,表示许多计算机以多点接入的方式连接在一根总线上。Cd表示“边发送边监听”,若发生冲突了,则停止发送。其中边发送边监听有一种特殊的情况,就是当帧过小的时候,当发送出去之后还没检测出冲突,但事实上已经发生冲突了,所以只能等无法收到确认,才能重发,发现冲突的时间太长,效率低下。所以就出现了最小帧长。其取决于传播时延的大小。公式为最小帧长/数据传输速率=2*传播时延。其如果发生了冲突,会在帧还未完全发出去之前就已经判断出来了,然后停止发送。等待一段时间再继续发送。

等待多长时间呢?其是由截断二进制指数规避算法决定。确定基本退避时间为2*传播时延。

定义参数k,它等于重传次数,其不超过10.也就是最大值是10.

然后从0(2^k)-1中随机去除一个数r,重传所需要的退避时间为r*基本退避时间

当重传达16次仍然不成功时,说明网络太拥挤,发送失败。

 

最后就是csma/ca协议。其是用于无线局域网所打造的协议。该协议规定在发送数据前,

  1. 先检测信道是否空闲。如果空闲则发送rts(发送端的地址和和接收端的地址)。忙则等待
  2. 接收到收到rts,相应cts
  3. 发送端收到cts,预约信道,并发送数据帧
  4. 接收端收到数据帧后,将用crc来检验数据是否正确,正确则响应ack
  5. 发送方收到ack就可以进行下一个数据帧的发送了,若没有则重传,也是用二进制指数退避算法来确定随机的推迟时间

 

Csma/cdcsma/ca的相同点和不同点

相同点:都是先听再发

不同点:

1)传输介质不同。一个是有线,一个是无线

2)载波检测方式不同;因传输介质不同,cd采取的是电缆中电压的变化来检测,而ca是采用能量检测,载波检测和能量载波混合检测三种检测信道空闲的方式

3)Cd是检测冲突,而ca是避免冲突

 

补充:还有一个协议叫做令牌协议,只有获取到令牌的人才能进行发送数据,其在物理上是总线形式,在逻辑上是环信。令牌传送方式的网络常用于负载较重,通信量较大的网络中。

 

8.ppp协议

点到点协议(Point to Point ProtocolPPP)是为在同等单元之间传输数据包而设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。PPP他需满足以下功能:

 

 

不需满足:

 

 

 

 

 

 

 

 

 

 

9.hdlc协议

HDLC协议使用统一的帧格式,运用方便;采用零比特插入法,易于硬件实现,且支持任意的位流传输,实现信息的透明传输;全双工通信,吞吐率高,在未收到应答帧的情况下,可连续发送信息帧,提高数据链路传输的效率;采用CRC帧校验序列,可防止漏帧,提高信息传输的可靠性。

主要有四个特点:

1)对于任何一种比特流都可透明传输。

2)较高的数据链路传输效率。

3)所有的帧都采用crc检验,对信息帧信息顺序编号,可防止漏收或重复,传输可靠性高。

4)用统一的帧格式来实现传输。

 

10.试分析中继器、集线器、网桥和交换机这四种网络互联设备的区别与联系。

这四种设备都是用于互联、扩展局域网的连接设备,但它们工作的层次和实现的功能不同。其中中继器和集线器在物理层,而网桥和交换机在数据链路层。

其中中继器的功能是对信号进行再生和还原,对衰弱的信号进行放大,即再生数字信号,好让数据不失真。在中继器的两端是网段而不是子网。适用于完全相同的两类网络的互联,其两个网段的速率要相同,用的协议也要一样。但两端可以连接不同的媒体。而网络标准中对于中继器有个规定叫5-4-3规则,即一个网段最多只能分5子网段;一个网段最多只能有4中继器;一个网段最多只能有三个子网段含有PC

 

而集线器也工作在物理层,相当于一个多接口的中继器,它可将多个结点连接成一个共享式的局域网,但任何时刻都只能有一个结点通过公共信道发送数据。

 

但这两个硬件都不隔离冲突域,性能低下,所以就出现了网桥和交换机。

其中网桥分透明网桥和源路由网桥。透明网桥中的网桥内部有个转发表,当发送帧时,其会自学习的确认帧应该在那个接口发出,其自学习的思路步骤是:

1)如发送的目的地址在转发表没有,就直接将发送端地址写入转发表。

2)如果有,则按照相应的端口输出。

而源路由网桥是在发送帧时,把详细的最佳路由信息放在帧的首部中,从而完成帧的发送。

 

而交换机是多接口网桥,有两种交换方式,为直通式交换机和存储转发式交换机。其中直通式交换机延迟小,但可靠性低,无法支持具有不同速率的端口的交换。而存储转发式延迟大,可靠性高,可支持不同速率的端口的交换。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-06-02 00:51  鹏达君  阅读(403)  评论(0编辑  收藏  举报