《计算机网络 | 第三章:数据链路层》复习笔记
第三章:数据链路层
3.1 数据链路层的功能
简单的说,数据链路层加强了物理层传输原始比特流的功能。
3.1.1 为网络层提供服务
将源机器中来自网络层的数据传输带目标机器的网络层。数据链路层通常可以为网络层提供如下3个服务:
-
无确认的无连接服务。
-
有确认的无连接服务。
-
有确认的面向连接服务。
3.1.2 链路管理
什么是链路管理?-数据链路层的建立、维持、释放的过程称为链路管理。
主要用于面向连接服务
3.1.3 帧定界、帧同步与透明传输
这里有三个概念:
什么是帧定界?
-两台主机之间传输信息时,必须将网络层的分组封装成帧;比如某个协议规定,第0位为起始位、第1~8位为数据位、第9~10位为奇偶校验位、第11位为停止位,这个过程为帧定界。
什么是帧同步?
-帧同步是指,接收方能从数据中区分开来起始位和终止位。
什么是透明传输?
-无论传输的是怎样的数据,都应在链路上传输。若某一刻把一位的数据识别为了停止位,那么后面的数据就会被丢弃?NO、NO、NO,如果丢弃了那就不叫透明传输了。
3.1.4 流量控制
限制发送方的数据流量,使其发送速率不能超过接收方的接收能力。
3.1.5 差错控制
方式:ARQ(自动重传请求);让发送方将要发送的数据帧附加一定的CRC循环冗余码一并发送,发现错误丢弃,超时则重传。
方法:CRC(循环冗余校验)
3.2 组帧
数据链路层要把比特流组合为帧单位。
组帧主要解决:帧定界、帧同步、透明传输等问题。
注意:组帧既要加首部,又要加尾部。
主要有4种方法实现组帧:
-
字符计数法
-
字符填充的首尾定界符法
-
零比特填充的首尾标志法
-
违规编码法
3.3 差错控制
实际链路上传送是不理想的,有可能1会传为0,0会接为1,也称为比特差错。(具体的原因就不详细说了,据我了解有可能和电流电压有关,也有可能由某种中粒子造成的,反正就是一种物理特性吧~)
常用的控制差错技术:①ARQ自动重传请求、②FEC向前纠错。
注意:FEC就是能找到错误的比特的位置,然后去纠错。差错控制的过程分为检错和纠错
3.3.1 检错编码
-
奇偶校验码
-
循环冗余
又称多项式码,通过循环冗余码的检错技术,数据链路层做到了对帧的无差别接收。循环冗余码是有纠错能力的,但是在数据链路层只考虑它的检错功能。
3.3.2 纠错编码
最常见的方法是海明码,其实现原理就是在有效信息中加入几个校验位形成海明码,并把海明码的每个二进制位分配到几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还可以找到错误的位置,为纠错提供依据。(先记住纠错编码的技术是海明码,这里主要涉及到的是应用,先不用深究了吧!有兴趣可以看一下编码原理和过程)
3.4 流量控制与可靠传输机制
3.4.1 流量控制、可靠传输与滑动窗口机制
控制链路上的帧的发送速率,以使接收方有足够的缓冲空间来接收每个帧。主要的方式有:停止-等待协议和滑动窗口协议。
-
停止-等待协议
发送方每发送一帧,都要等待接收方的应答信息(ACK确认帧),才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示接收下一帧。
-
滑动窗口流量控制基本原理
发送窗口:任意时刻,发送方都维持一组连续的允许发送的帧的序号
接收窗口:接收方维持一组连续的允许接收的帧的序号
在接收方,只有收到的数据帧的序号落入接收窗口时,才允许将该数据帧收下,若数据帧落在接收窗口之外,则一律将其丢弃。
-
可靠传输机制
数据链路层的可靠传输通常使用确认和超时重传两种机制完成。
3.4.2 单帧滑动窗口与停止-等待协议
停止-等待协议 = 滑动窗口的发送和接收窗口大小均为1
3.4.3 多帧滑动窗口与后退N帧协议(GBN)
在后退N帧式ARQ中,发送方无须在收到上一个帧的ACK后才能开始发送下一帧,而是可以连续发送帧。简单说就是,接收方只允许按顺序接收帧。
3.4.4 多帧滑动窗口与选择重传协议(SR)
选择重传ARQ协议:只重传出现错误的帧。
3.5 介质访问控制
介质访问控制要完成的任务是:为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。
用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制(MAC)子层。
3.5.1 信道划分介质访问控制
目的:将连接同一介质的不同设备区分开来。
多路复用技术,把多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,提高了信道的利用率。
-
频分多路复用(FDM)
频分多路复用是一种将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。
-
时分多路复用(TDM)
时分多路复用就是将一条物理信道按时间分成若干个时间片,轮流的分配给多个信号使用。
-
波分多路复用(WDM)
波分多路复用技术即光的频分多路复用,它在一个光纤中传输多种不同波长的光信号。
-
码分多路复用(CDM)
采用不同的编码来区分各路原始信号的一种复用方式。
3.5.2 随机访问介质访问控制(争用型协议)
不采用集中控制方式解决发送信息的次序问题,所有用户都能根据自己的意愿随机地发信息,占用信道的全部速率。这里主要有两个协议:ALOHA协议和CSMA/CD协议;他们的核心思想都是:胜利者通过争用获得信道,从而获得信息的发送权。
-
ALOHA协议
-
纯ALOHA协议:当网络中任何一个站点需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内没有收到数据就认为发生了冲突,那么就隔一会再重新发送,直到发送成功。
-
时隙ALOHA协议:把所有各站在时间上同步起来,并将时间划分为一段段等长的时隙(Slot),规定只能在每个时隙开始时才能发送一个帧。从而避免了用户发送数据的随意性,减少了数据产生冲突的可能性,提高了信道的利用率。
-
-
CSMA协议
载波侦听多路访问(CSMA),每个站点在发送前都先侦听一下信道,发现空闲再发送,就会大大降低冲突的可能。CSMA协议是在ALOHA协议基础上提出的一种改进协议。
-
CSMA/CD协议
载波侦听多路访问/碰撞检测(CSMA/CD),协议是CSMA协议的改进,“碰撞检测”就是边发送边侦听,即适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时,其他站点是否也在发送数据。
CSMA/CD的工作流程可以简单概括为“先听后发,边听边发,冲突停发,随机重发”。
-
CSMA/CA协议
对CSMA/CD协议进行了修改,特别是碰撞检测部分,把碰撞检测改为“避免碰撞”。(避免是降低碰撞的概率)
注意:其算法先不进行深究了。
3.6 局域网
3.6.1 局域网的基本概念和体系结构
-
局域网的特点
-
为一个单位所用,范围和站点数目有效
-
所有站点共享较高的总带宽
-
较低的时延和较低的码误率
-
各站为平等关系而非主从关系
-
能进行广播和组播
-
-
局域网的三要素
-
拓扑结构
-
传输介质
-
介质访问控制方式
-
-
三种特殊的局域网拓扑实现
-
以太网(目前使用最广的以太网),逻辑拓扑是总线型结构,物理拓扑是星形或拓展星形结构。
-
令牌环(Token Ring,IEEE 802.5),逻辑拓扑是环形结构,物理拓扑是星形结构。
-
FDDI(光纤分布数字接口,IEEE 802.8),逻辑拓扑是环形结构,物理拓扑是双环结构。
-
IEEE 802标准定义的局域网参考模型只对应于OSI参考模型的数据链路层和物理层,并将数据链路层拆分为两个子层MAC(媒体接入控制)和LLC(逻辑链路控制);
3.6.2 以太网和IEEE 802.3
IEEE 802.3标准是一种基于基带总线形的局域网标准。 它描述的是物理层和数据链路层的MAC子层的实现方法。
以太网采用两种通信方式简化通信:①采用无连接的工作方式,不对发送的帧编号,即以太网提供的是不可靠服务,最大努力交付,至于纠错由高层来完成。②发送的数据都使用曼彻斯特编码的信号,每个码元的中间出现一次电压转换。
-
以太网的传输介质与网卡
以太网的传输介质有四种:
-
粗缆
-
细缆
-
双绞线
-
光纤
网卡(又称为网络接口半、网络适配器):全世界每块网卡在出厂时都有一个唯一的代码,称为介质访问控制(MAC)地址。MAC地址控制主机在网络上的数据通信。
-
-
以太网的MAC帧
每块网卡中的MAC地址也称为物理地址;MAC地址长6个字节,一般用由连字符(或冒号)分配的12个十六进制数表示,如12-32-4c-e4-b1-21,高24位为厂商代码,低24位为厂自行分配的网卡序列号。
-
高速以太网
速率达到或超过100Mb/s的以太网称为高速以太网。
-
100BASE-T以太网
-
吉尔特以太网
-
10吉尔特以太网
-
3.6.3 IEEE 802.11(局域网通用标准)
无线局域网可以分为两类:①有固定基础设施无线局域网②无固定基础设施移动自组织网络。
3.7 广域网
3.7.1 广域网的基本概念
广域网:覆盖范围很广(远超一个城市的范围),是英特网的重要组成部分。
PPP和HDLC是目前最常见的广域网数据链路层控制协议。
3.7.2 PPP协议
点对点协议,该协议应用在直接连接的两个结点链路上。使用串行线路通信的面向字节的协议。
PPP协议有三个组成部分:
-
链路控制协议(LCP):一种扩展链路控制协议,用于建立、配置、测试和管理数据链路。
-
网络控制协议(NCP):PPP协议允许同时采用多种网络层协议,每个不同网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。
-
一个将IP数据报封装到串行链路的方法
注意:
-
PPP提供检错但不纠错
-
不支持多点线路
-
PPP只支持全双工链路
-
PPP的两端可以使用不同的网络层协议,但任可以使用同一个PPP进行通信
-
PPP是面向字节的
3.7.3 HDLC协议
高级数据链路控制(HDLC),是ISO制定的面向比特的数据链路层协议。
特点:
-
不依赖字符编码集
-
可透明传输
-
全双工通信
-
较高的传输效率
-
所有帧采用CRC检验
-
较强的灵活性
HDLC适用于链路的两种基本配置:
-
非平衡配置:由一个主站控制整个链路的工作
-
平衡配置:链路的两端的两个站都是复合站,每个复合站都可以平等的发起数据传输,而不需要得到对方复合站的允许
概念:
-
站:主站、从站(从站受控于主站)、复合站(具有主站的功能,又具有从站的功能)
-
数据操作方式:①正常响应,②异步平衡方式,③异步响应方式。
-
帧格式:标志、地址、控制、信息、帧校验序列等组成。
3.8 数据链路层设备
3.8.1 网桥的基本概念及基本原理
网桥:将以太网组装成一个更大的以太网,原来的以太网称为网段。
网桥工作在数据链路层的MAC子层。网桥处理数据的对象是帧。
基本特点:
-
具备寻址和路径选择功能
-
把源网络的帧转发到目的网络
-
网桥在不同类型或形同类型的LAN之间存储并转发帧,必要时还进形链路上的协议转换。
-
对接收的帧不做修改,或者只修改格式
-
可以通过帧翻译不同类型的局域网
-
应有足够大的缓冲空间
分类:
-
透明网桥(选择的不是最佳路由)
-
源路由网桥(选择的是最佳路由)
3.8.2 局域网交换机机器工作原理
局域网交换机又称为以太网交换机,是一个多端口的网桥,它工作在数据链路层。交换机能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽。
原理:以太网交换机检测从以太网端口来的数据帧的源和目的地MAC地址,然后与系统内部的动态查找表进行比较,若数据帧的源MAC不在查找表中,就将此地址加入到查找表中,并将数据帧发送给相应的目的端口。
特点:
-
以太网交换机的每个端口都与单台主机直接连接
-
以太网交换机能同时联通许多端口
-
以太网交换机是一种即插即用设备
-
采用了交换芯片结构,交换速率高
-
以太网交换机独占传输媒体的带宽
两种交换模式:
-
直通式
-
存储-转发式