计算机网络笔记(三)

计算机网络——数据链路层

1、第三章:数据链路层

通过下面的思维导图来依次分享「数据链路层」里面重要知识点的笔记。

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

1.  数据链路层基本功能:通过对OSI参考模型分析,数据链路层接受下层物理层提供的服务,以此为基础为上层网络层提供服务。具体为加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

2.  为网络层提供服务:对网络层而言,数据链路层的基本任务是将原机器中来自网络层的数据传输到目标机器的网络层。该服务可分为:

①无确认的无连接服务:源机器发送数据帧时不需先建立链路连接,目的机器收到数据帧时不需发回确认。对丢失的帧,数据链路层不负责重发而交给上层处理。适用于实时通信或误码率较低的通信信道,如以太网。

②有确认的无连接服务:源机器发送数据帧时不需先建立链路连接,但目的机器收到数据帧时必须发回确认。源机器在所规定的时间内没有收到确定信号,就重传丢失的帧,以提高传输的可靠性。该服务适用于误码率较高的通信信道,如无线通信。

③有确认的面向连接服务:帧传输过程分为三个阶段:建立数据链路、传输帧、释放数据链路。目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一帧,因而该服务的可靠性最高。该服务适用于通信要求(可靠性、实时性)较高的场合。

3.  链路管理:在用于面向连接的服务中,数据链路层连接的建立、维持和释放的过程。

4.  数据链路层传输的单位:数据链路层将网络层的分组封装成帧,以帧为单位进行传输。例如在高级数据链路控制(High-Level Data Link Control或简称HDLC)通信规则中帧的格式如下:

在上图中标志位的作用是确定帧的起始与终止,用“0插入法”实现透明传输,即该帧在发送时,除标志外,当发现有连续5个“1”出现时,便在其后添插一个“0”;该帧接收时,也除标志位外,当连续发现5个连续“1”出现后,若其后一个比特“0”则自动删除它。

3、第二节:差错控制

1.  差错控制:由于信道噪声等各种原因,帧在传输过程中可能会出现错误。用以使发送方确定接收方是否正确收到了由它发送的数据的方法即为差错控制。差错控制有可分为检错编码(Error-Detecting Code)和纠错编码(Error-Correcting Code).

2.  检错编码:采用冗余编码技术。其核心思想是在有效数据(信息位)被发送前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使得码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。常见的检错编码有奇偶校验码循环冗余码(CRC)

3.  纠错编码:在数据通信的过程中,解决差错问题的一种方法是在每个要发送的数据块上附加足够的冗余信息,使接收方能够推导出发送方实际送出的应该是什么样的比特串。最常见的纠错编码是海明码,它能发现双比特错,但只能纠正单比特错。

说明:奇偶校验码只能检测出错误而无法对其进行修正,也无法检测出双位错误;循环冗余校验码可以检测出所有的单比特错误;海明校验码可以纠正一位差错。

  

4、第三节:流量控制

1.  流量控制:由于接发双方各自的工作速度和缓存空间的差异,可能造成帧的丢失而出错。因此流量控制就是限制发送方的数据流量,使其发送速度不致于超过接收方能力。流量控制的基本方法是由接收方控制发送方发送数据的速率,常见的方式有:停止-等待协议和滑动窗口协议。

2.  停止-等待流量控制基本原理:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,则发送方必须一直等待。每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,因而传输效率很低。

3.  滑动窗口流量控制基本原理:在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口。发送窗口用来对发送方进行流量控制,而发送窗口的大小代表在还没有收到对方确认信息的情况下发送方最多还可以发送多少个数据帧,同理,在接收端设置接收窗口是为了控制可以接收哪些数据帧而不可以接收哪些帧。在接收方只有当收到的数据帧的序号落入接收窗口内才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。

4、第三节:可靠传输机制

1.  可靠传输机制:数据链路层的可靠传输通常使用确认和超时重传两种机制来完成。

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

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

2.  自动重传请求(Auto Repeat reQuest, ARQ): 通过接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来差错的方法之一。传统自动重传请求分为三种,即停等式(Stop-and-Wait) ARQ、后退N帧(Go-Back-N) ARQ以及选择性重传(Selective Repeat)ARQ。后两种协议是滑动窗口技术与请求重发技术的结合。(注意,在数据链路层中流量控制机制和可靠传输机制是交织在一起的。)

3.  停止一等待协议:源站发送单个帧后必须等待确认,在目的站的回答到达源站之前,源站不能发送其他的数据帧。从滑动窗口机制的角度看,停止-等待协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议。

4.  多帧滑动窗口与后退N帧协议(GBN):在后退N帧式ARQ中,发送方不需要在收到上一个帧的确认ACK后才能开始发送下一帧,而是可以连续发送帧。当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不又重传该出错帧及随后的N个帧。换句话说,接收方只允许按顺序接收帧。

5.  多帧滑动窗口与选择重传协议(SR):为进一步提高信道的利用率,可设法只重传出现差错的数据帧或者是计时器超时的数据帧。但此时必须加大接收窗口,以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。

在选择重传协议中,每一个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重传。另外,该协议使用了比上述其他协议更有效的差错处理策略,即一旦接收方怀疑帧出错,就会发一个否定帧NAK给发送方,要求发送方对NAK中指定的帧进行重传。

5、第四节:介质访问控制

1.  介质访问控制的主要任务是:为使用传输介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制(Medium Access Control, MAC)子层。

2.  从信道划分介质访问控制:通过多路复用技术(即在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率)来实现信道划分介质访问控制。可划分为以下四种:

①频分多路复用(FDM):将多路基带信号调制到不同频率载波上再进行叠加形成一个复合信号的多路复用技术。

②时分多路复用(TDM):将一条物理信道按时间分成若干个时间片,轮流地分配给多个信号使用。每一个时间片由复用的一个信号占用,这样,利用每个信号在时间上的交叉,就可以在一条物理信道上传输多个信号。

③波分多路复用(WDM):也就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。由于光波处于频谱的高频段,有很高的带宽,因而可以实现很多路的波分复用。

④码分多路复用(CDM):是靠不同的编码来区分各路原始信号的一种复用方式。与FDM和TDM不同,它既共享信道的频率,又共享时间。

3.  随机访问介质访问控制:在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户都可以根据自己的意愿随机地发送信息,占用信道全部速率。在总线网中,  当有两个或更多个用户同时发送信息时,就会产生帧的冲突(碰撞,即前面所说的相互干扰),这导致所有冲突用户的发送均以失败告终。

为了解决随机接入发生的碰撞,每个用户需按照一定的规则反复地重传它的帧,直到该帧无碰撞地通过。这些规则就是随机访问介质访问控制协议,这些协议的核心思想都是:  胜利者通过争用获得信道,从而获得信息的发送权。因此,随机访问介质访问控制协议又称为争用型协议。常用的协议有:

①ALOHA协议:分为纯ALOHA和时隙ALOHA两种。

a.  纯ALOHA协议

当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内没有收到确认,该站点就认为传输过程中发生了冲突。发送站点需要等待段时间后再发送数据,直至发送成功。

b.  时隙ALOHA协议

时隙ALOHA是把所有各站在时间上都同步起来,并将时间划分为一段段等长的时隙(Slot),规定只能在每个时隙开始时才能发送一个帧。从而避免了用户发送数据的随意性,减少了数据产生冲突的可能性,提高了信道的利用率。

②载波侦听多路访问(Carrier Sense Multiple Access, CSMA)协议:在ALOHA协议的基础上改进协议,在每个站点在发送前都先侦听一下共用的信道, 发现信道空闲后再发送,从而大大减小冲突的可能,提高信道的利用率。

③载波侦听多路访问/碰撞检测(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)协议:是CSMA协议的改进方案,“载波帧听”就是发送前先侦听,即每一个站在发送数据之前先要检测一下总线上是否有其他站点在发送数据,如果有,则暂时不要发送数据,要等待信道变为空闲时再发送。“碰撞检测”就是边发送边侦听,即适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站点是否也在发送数据。Collision  oetettCSMAVCD的工作流程可简单概括为“先听后发,边听边发(区别于CSMA协议),冲突停发,随机重发”。

④载波侦听多路访问/碰撞避免(Carrier Sense Multiple Access with Collision Avoidance,CSMA/CA)协议:即对CSMA/CD协议进行了修改,把碰撞检测改为碰撞避免CA(Collision Avoidance)。碰撞避免” 并不是指协议可以完全避免碰撞,而是指协议的设计要尽量减少碰撞发生的概率。

4.  轮询访问介质访问控制: 在轮询访问中,用户不能随机地发送信息,而是通过一个集中控制的监控站,以循环的方式轮询每个结点,再决定信道的分配。当某结点使用信道时,其他结点都不能使用信道。典型的轮询访问介质访问控制协议是令牌传递协议,它主要使用在令牌环局域网中。

6、第五节:数据链路层设备

1.  网桥:两个或多个以太网通过网桥连接起来后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就可称为一一个网段。 网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域。如果把网桥换成工作在物理层的转发器,就没有这种过滤通信量的功能。由于各网段的相对独立,一个网段的故障不会影响到另一个网段的运行。

2.  交换机:从本质上说,以太网交换机就是一个多端口的网桥,工作在数据链路层。交换机能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽。以太网交换机对工作站是透明的,这样管理开销低廉,简化了网络结点的增加、移动和网络变化的操作。利用以太网交换机还可以很方便地实现虚拟局域网(Virtual LAN, VIAN),VLAN不仅可以隔离冲突域,也可以隔离广播域。

将自己的学习笔记通过本博客展现出来,也是对自己学习的一种记录。

             扫一扫,关注公众号

猜你喜欢

转载自blog.csdn.net/ziyu_one/article/details/86654946