0x3 数据链路层
导图
数据链路层功能
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。
结点:主机、路由器。
链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
帧:链路层的协议数据单元,封装网络层数据报。
功能概述
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
- 为网络层提供服务。无确认无连接服务、有确认无连接服务、有确认面向连接服务。
- 链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
- 组帧
- 流量控制
- 差错控制:帧错、位错。
封装成帧
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。
-
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
-
组帧 :
- 字符计数法
- 字符填充法
- 零比特填充法
- 违规编码法
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210626114346535-1049431394.png)
透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须通过组帧的四种方法使收方不会将这样的数据误认为是某种控制信息,这样才能保证数据链路层的传输是透明的。
-
字符计数法:帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
缺点:如果有一个计数字段错误,后面所有的帧都会错乱。
-
字符填充法:在传送帧的控制信息前面加上转义字符 ,接收端就会忽略其后的控制信息。
当传送的帧是由文本文件组成时(文本文件的字符都是从键盘上输入的,都是ASCll码)。即传送的帧一定不包含帧定界符(SOH、EOH)不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输。
当传送的帧是由非ASCI码的文本文件组成时(二进制代码的程序或图像等)即传送的帧可能包含帧定界符(SOH、EOH)就要采用字符填充方法实现透明传输。
-
零比特填充法:遇到连续的五个1,就在其后添上一个0。
保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
-
违规编码法:通过编码中不会用到的电平方式来标示帧的起始和终止。
可以用“高-高”,“低-低”来定界帧的起始和终止。
由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法。
小结
差错控制
差错从何而来?
传输中的差错都是由于噪声引起的。
- 全局性:由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
- 局部性:外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。解决办法:通常利用编码技术来解决。
-
差错类型
-
位错:也叫比特错,比特位出差,1变成0,0变成1。
-
帧错:丢失、重复、失序。
-
链路层为网络层提供服务:无确认无连接服务(通信质量好有线传输链路),有确认无连接服务&有确认面向连接服务(通信质量差的无线传输链路)。
冗余编码:在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。
编码VS编码:数据链路层编码和物理层的数据编码与调制不同。物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。而数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程是否出现了差错。
位错
检错编码
-
奇偶校验码
奇偶校验码特点:只能检查出奇数个比特的错误,检错能力为50%。
为什么只能检查奇数个错误?
- 以奇校验为例:奇+偶=奇(×) 奇+奇=偶(√)
- 以偶校验为例:偶+奇=奇(√) 偶+偶=偶(×)
-
循环冗余码CRC
接收端检错过程:
- 把收到的每一个帧都除以同样的除数,然后检查得到的余数R.
- 余数为0,判定这个帧没有差错,接受。
- 余数为不为0,判定这个帧有差错(无法确定到位),丢弃。
- FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速,因此不会延误数据的传输。
纠错编码
海明距离:两个合法编码(码字)的对应比特取值不同的比特数称为这两个码字的海明距离(码距),一个有效编码集中,任意两个合法编码(码字)的海明距离的最小值称为该编码集的海明距离(码距)。
-
海明码检测d位错,需要d+1码距。
-
海明码纠正d位错,需要2d+1码距。
海明码:
-
确定校验码位数r
最多有m+r种错误,以及不出错1种。
-
确定校验码和数据的位置
-
求出校验码的值
满足校验码的通配符形式则被该校验码负责。
-
检错并纠错
纠错方法一:
- 找到不满足奇/偶校验的分组取交集,并与符合校验的分组取差集。
纠错方法二:
小结
流量控制
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
数据链路层和传输层的流量控制
- 数据链路层的流量控制是点对点(相邻结点),而传输层的流量控制是端到端(主机之间)。
- 数据链路层流量控制手段:接收方收不下就不回复确认。
- 传输层流量控制手段:接收端给发送端一个窗口公告。
流量控制的方法:
- 停止-等待协议:发送窗口大小=1,接收窗口大小=1。
- 后退N帧协议(GBN):发送窗口大小>1,接收窗口大小=1。
- 选择重传协议(SR):发送窗口大小>1,接收窗口大小>1。
可靠传输:发送端发啥,接收端收啥。
流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627155250546-992963276.png)
停止-等待协议
每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。
为什么要有停止等待协议?
为了实现流量控制。除了比特出差错,底层信道还会出现丢包问题(丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。)
研究停等协议的前提?
虽然现在常用全双工通信方式,但为了讨论问題方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
停等协议有几种应用情况?
-
无差错情况
-
有差错情况
-
数据帧丢失或检测到帧出错
-
ACK丢失
-
ACK迟到
-
信道利用率:发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。
L指T周期内发送L比特数据、C指发送方数据传输速率、T指发生周期,从开始发送数据,到收到第一个确认帧为止。
信道吞吐率
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627111044570-1542464645.png)
停止-等待协议性能分析
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627111230977-541832091.png)
后退N帧协议(Go-Back-N)
发送窗口(n个):发送方维持一组连续的允许发送的帧的序号。
接收窗口(1个):接收方维持一组连续的允许接收帧的序号。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627112239251-1935517074.png)
GBN发送方必须响应的三件事
-
上层的调用
上层要发送数据时,发送方先检査发送窗口是否已满,如果未满,则产生一个并将其发送。如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口己满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧) -
收到了一个ACK
GBN协议中,接收方并不是对于每一个收到的帧都发送确认帧,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部。 -
超时事件
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。
GBN接收方要做的事
-
如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。
-
其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息: expectedseqnum(下一个按序接收的帧序号)。
运行中的GBN
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627124309616-1446107168.png)
滑动窗口长度:
若采用n个比特对帧编号,那么发送窗口的尺寸W应满足:
因为发送窗口尺寸过大,就会使得接收方法区别新帧和旧帧。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627150422189-554763037.jpg)
GBN协议重点
- 累计确认(偶尔捎带确认)。
- 接收方只按顺序接受帧,不按序无情丢弃。
- 确定序列号最大的、按序到达的帧。
- 发送窗口最大为\(2^{n}-1\),接受窗口最大为1。
GBN协议性能分析
-
优点:因为连续发送数据而提高了信道利用率
-
缺点:在重传时必须把原来已经正确传送的数据帧重传,传送效率降低。
例题
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627125205139-1126227603.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627150408850-447618113.jpg)
选择重传协议(Selective-Repeat)
GBN协议的弊端是累计确认后批量重传,那么可不可以只重传出差的帧?
解决办法:设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧。
SR中的滑动窗口
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627151757648-205007463.png)
SR发送方必须响应的三件事
- 上层的调用
从上层收到数据后,SR发送方检査下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧:否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。 - 收到了一个ACK
如果收到确认帧ACK,假如该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口対应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧(新进入的帧),则发送这些帧。超时事件
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
SR接收方要做的事
来者不拒(窗口内的帧)
SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627152242533-2036813212.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627152316668-390583345.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627152410351-253386482.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627152603628-382950678.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627152511082-833606469.png)
如果收到了窗口序号外(小于窗口下界)的帧,就返回一个ACK。其他情况,就忽路该帧。
运行中的SR
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627153305091-1001039298.png)
滑动窗口长度
发送窗口等于接收窗口。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627154059544-325020332.png)
无法区分新旧帧。
SR协议重点
- 对数据帧逐一确认,收一个确认一个。
- 只重传出错帧。
- 接收方有缓存。
- \(W_{Tmax}=W_{Rmax}=2^{n-1}\)
小结
数据链路层应用
传输数据使用的两种链路
-
点对点链路:两个相邻节点通过一个链路相连,没有第三者。
应用:PPP协议,常用于广域网。 -
广播式链路:所有主机共享通信介质。
应用:早期的总线以太网、无线局域网,常用于局域网。
典型拓扑结构:总线型、星型(逻辑总线型)。
介质访问控制
介质访问控制:(MAC Medium Access Control)采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
静态划分信道
信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627160452290-777224656.png)
多路复用技术:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道。
频分多路复用FDM
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627160932858-172397449.png)
充分利用传输介质带宽,系统效率较高,由于技术比较成熟,实现也比较容易。
时分多路复用TDM
将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627161232651-1574062831.png)
TDM帧是在物理层传送的比特流所划分的帧,标志一个周期。
统计时分复用STDM
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627161814596-1295830053.png)
每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。
波分多路复用WDM
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627162104725-1479277515.png)
码分多路复用CDM
码分多址(CDMA)是码分复用的一种方式。
1个比特分为多个码片/芯片(chip),每个站点被指定一个唯一的m位的芯片序列,
发送1时发送芯片序列(通常把0写成-1),发送0时发送芯片序列反码。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627163348764-466152505.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627163136967-1821288377.png)
动态分配信道
动态分配信道又称(动态媒体接入控制/多点接入)
特点:信道并非在用户通信时固定分配给用户。
随机访问介质访问控制:所有用户可随机发送信息,发送信息时占全部带宽。
ALOHA协议
纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想发就发
- 冲突如何检测?
如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。 - 冲突如何解决?
超时后等一随机时间再重传。
时隙ALOHA协议:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。控制想发就发的随意性
ALOHA协议重点:
- 纯 ALOHA比时隙 ALOHA吞吐量更低,效率更低。
- 纯 ALOHA想发就发,时隙 ALOHA只有在时间片段开始时才能发。
CSMA协议
CSMA协议:载波监听多路访问协议CSMA(carrier sense multiple access)
CS:载波侦听/监听,每一个站在发送数据之前要检測一下总线上是否有其他计算机在发送数据。
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站送数据,表明产生了碰撞,即发生了冲突。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
协议思想:发送帧之前,监听信道。
-
1-坚持CSMA:
坚持指的是对于监听信道忙之后的坚持。
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。\[空闲则直接传输,不必等待。 \]\[忙则一直监听,直到空闲马上传输。 \]如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失
缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。 -
非坚持CSMA:
非坚持指的是对于监听信道忙之后就不继续监听。
非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。\[空闲则直接传输,不必等待。 \]\[忙则等待一个随机的时间之后再进行监听。 \]优点:采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:可能存在大家都在延退等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。 -
p-坚持CSMA:
p-坚持指的是对于监听信道空闲的处理。
p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。\[空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。 \]\[忙则持续监听直到信道空闲再以p概率发送。 \]\[若冲突则等到下一个时间槽开始再监听并重复上述过程。 \]优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
缺点:发生冲突后还是坚持要把数据帧发送完,造成了浪费。 -
三种CSMA对比:
CSMA/CD协议
载波监听多点接入/碰撞检测CSMA/CD( carrier sense multiple access with collision detection)
CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。CSMA/CD适用于总线型网络,即以太网或有线网络
CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检測信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。 半双工网络
为什么先监听后发送还会冲突?
因为电磁波在总线上总是以有限的速率传播的,所以会有一定的传播时延。当A主机向B主机发送数据,由于传播时延B主机还未收到数据,这时B主机误以为线路空闲也发送数据,就会产生碰撞冲突💥。
传播时延对载波监听的影响
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627184507574-1895985963.png)
最多是两倍的总线端到端的传播时延(2τ),也叫争用期/冲突窗口/碰撞窗口。
只要经过2r时间还没有检测到碰撞,就能肯定这次发送不会发生碰撞。
如何确定碰撞后的重传时机?
阶段二进制指数规避算法
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627180700282-1533831057.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627181806356-277409569.png)
最小帧长问题
帧的传输时延至少要两倍于信号在总线中的传播时延。
以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效。
CSMA/CA协议
载波监听多点接入/碰撞避免CSMA/CA( carrier sense multiple access with collision avoidance)
为什么要有CSMA/CA?
CSMA/CA适用于无线局域网,CSMA/CD无法做到360°全面检测碰撞。隐蔽站问题,即当A和C都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会导致冲突。
-
CSMA/CA协议工作原理
- 发送数据前,先检测信道是否空闲。
- 空闲则发出RTS(request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。
- 接收端收到RTS后,将响应CTS(clear to send)。
- 发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。
- 接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧。
- 发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。
-
实现CA的三种手段
- 预约信道
- ACK帧
- RTS/CTS帧(可选)
CSMA/CD与CSMA/CA
- 相同点:
CSMA/CD与 CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。 - 不同点:
- 传输介质不同: CSMA/CD用于总线式以太网【有线】,而 CSMA/CA用于无线局域网【无线】。
- 载波检测方式不同:因传输介质不同, CSMA/CD与CSMA/CA的检测方式也不同。 CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检測(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。
- CSMA/CD检测冲突, CSMA/CA避兔冲突,二者出现冲突后都会进行有上限的重传。CSMA/CD上限是16次。
轮询访问介质访问控制
轮询协议:主结点轮流“邀请”从属结点发送数据。问题:
- 轮询开销
- 等到延迟
- 单点故障
令牌传递协议:
令牌:一个特殊格式的MAC控制帧,不含任何信息。控制信道的使用,确保同一时刻只有一个结点独占信道。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627224957658-1039973640.png)
令牌环网无碰撞:每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
问题:
- 令牌开销
- 等待延迟
- 单点故障
应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。
采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。
小结
-
信道划分MAC协议:
基于多路复用技术划分资源。
在网络负载重情况下:共享信道效率高,且公平
在网络负载轻情况下:共享信道效率低 -
随机访问MAC协议:冲突
用户根据意愿随机发送信息,发送信息时可独占信道带宽。
在网络负载重情况下:产生冲突开销
在网络负载轻情况下:共享信道效率高,单个结点可利用信道全部带宽 -
轮询协议/轮流协议/轮转访问MAC协议:轮询协议、令牌传递协议
既要不产生冲突,又要发送时占全部带宽。
局域网
局域网(Local Area Network),简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。
LAN特点:
- 覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
- 使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高(10Mb/s~10Gb/s)
- 通信延迟时间短,误码率低,可靠性较高。
- 各站为平等关系,共享传输信道。
- 多采用分布式控制和广播式通信,能进行广播和组播。
决定局域网的主要要素为:网络拓扑,传输介质与介质访问控制方法。
局域网拓扑结构
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627230111558-370728246.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627230137384-1938741903.png)
- 总线型拓扑比较好,我们的以太网就是逻辑上的总线拓扑结构。
拓扑结构 | 增删节点 | 单点故障 | 核心故障 | 通信方式 |
---|---|---|---|---|
总线型 | 容易且易扩展 | 不影响全网通信 | 总线故障则全网通信瘫痪 | 信道利用率高,信号延迟不确定 |
星型 | 容易且易扩展 | 不影响全网通信 | 中心节点故障则全网通信瘫痪 | 数据传输不发生冲突线路长费用高 |
环型 | 麻烦且扩展性差 | 影响全网通信 | 每个节点平等 | 传输速度快,利于实时控制 |
树型 | 容易且易扩展 | 不影响全网通信 | 对根节点依赖大 | 易于发现故障 |
网型 | 可靠性高 | 共享资源容易 | 管理和路径选择复杂 | 线路长,硬件成本高 |
局域网MAC方法
- CSMA/CD常用于总线型局域网,也用于树型网络。
- 令牌总线常用于总线型局域网,也用于树型网络。
它是把总线型或树型网络中的各个工作站按一定顺序如按接口地址大小排列形成个逻辑环。只有令牌持有者才能控制总线,才有发送信息的权力。 - 令牌环用于环形局域网,如令牌环网。
局域网分类
- 以太网是应用最为广泛的局域网,包括标准以太网(10Mbps)、快速以太网(100Mbps)、千兆以太网(1000Mbps)和10G以太网,它们都符合IEEE802.3系列标准规范。逻辑拓扑总线型,物理拓扑是星型或拓展星型。使用CSMA/CD
- 令牌环网 物理上采用了星形拓扑结构,逻辑上是环形拓扑结构。已是“明日黄花”。
- FDDM网(Fiber Distribued Data Interface) 物理上采用了双环拓扑结构,逻辑上是环形拓扑结构。
- ATM网(Asynchronous Transfar Mode) 较新型的单元交换技术使用53字节固定长度的单元进行交换。
- 无线局域网(Wireless Local Area Network: WLAN) 采用IEE802.11标准。
IEEE 802标准
IEE802系列标准是IEE802 LAN/MAN标准委员会制定的局域网、城域网技术标准(1980年2月成立)。其中最广泛使用的有以太网、令牌环、无线局域网等。这一系列标准中的每一个子标准都由委员会中的一个专门工作组负责。
口诀:三姨太(以太网),乘着四路公交车(Token-Bus),上五环(Token-Ring),六进了城(城域网),被扒手偷光了钱,站在两根电线杆间蹭WIFI。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627231413080-1362793461.png)
MAC子层和LLC子层
IEE802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层、物理层,它将数据链路层划分为逻辑链路控制子层LLC和介质访问控制子层MAC。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627231839457-1585755611.png)
- LLC子层负责识别网络层协议,然后对它们进行封装。LLC报头告诉数据链路层一旦帧被接收到时,应当对数据包做何处理。为网络层提供服务:无确认无连接、面向连接、带确认无连接、高速传送。
- MAC子层的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性。
小结
以太网
以太网(Ethernet)指的是由 Xerox公司创建并由 Xerox、lntel和DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用 CSMA/CD(载波监听多路访问及冲突检测)技术。
以太网在局域网各种技术中占统治性地位:
- 造价低廉(以太网网卡不到100块)。
- 是应用最广泛的局域网技术。
- 比令牌环网、ATM网便宜,简单。
- 满足网络速率要求:10Mb/s~10Gb/s。
以太网两个标准
- DIX Ethernet V2:第一个局域网产品(以太网)规约。
- IEEE802.3:IEEE802委员会802.3工作组制定的第一个IE的以太网标准。(这两个标准帧格式有一丢丢改动)
802.3局域网也叫做以太网
以太网提供无连接、不可靠的服务:
无连接:发送方和接收方之间无“握手过程”。
不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。
以太网传输介质
- 粗同轴电缆(1990)
- 细同轴电缆
- 双绞线+集线器(目前)
以太网拓扑结构
- 总线型(之前)
- 星型(现在)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627233652247-2092284629.png)
- 使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议。
- 以太网拓扑:逻辑上总线型,物理上星型。
10BASE-T以太网
10BASE-T是传送基带信号的双绞线以太网。
T表示采用双绞线、F表示光纤、2代表细同轴电缆、5代表粗同轴电缆、BASE代表基带信号传输技术。
现在10 BASE-T采用的是无屏蔽双绞线(UTP),传输速率是10Mbps.
- 物理上星型拓扑,逻辑上总线型,每段双绞线最长为100m。
- 采用曼彻斯特编码。
- 采用CSMA/CD介质访问控制。
适配器与MAC地址
- 计算机与外界有局域网的连接是通过通信适配器的。
- 网络接口板或网络接口卡NC(network interface card),现在不再使用单独网卡。
- 适配器上装有处理器和存储器(包括RAM和ROM),ROM上有计算机硬件地址MAC地址。
- 在局域网中,硬件地址又称为物理地址,或MAC地址。【实际上是标识符】
- MAC地址(48bit):每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-60-8ce4-b1-21。
以太网MAC帧
最常用的MAC帧是以太网V2的格式。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210627234501954-747285433.png)
数据链路层的MTU最大数据传送单元是1500字节,且为了保证MAC帧是有效帧,使用CSMA/CD协议,即最小帧长是64字节,所以64-6-6-2-4=46字节。
以太网V2与IEE6802.3的区别:
- 第三个字段是长度/类型
- 当长度/类型字段值小于0x0600时,数据字段必须装入LC子层。
高速以太网
速率大于100Mb/s的以太网称为高速以太网。
- 100BASE-T以太网
在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEE802.3的CSMA/CD协议。支持全双工和半双工,可在全双工方式下工作而无冲突。 - 吉比特以太网
在光纤或双绞线上传送1Gb/s信号。
支持全双工和半双工,可在全双工方式下工作而无冲突。 - 10吉比特
10吉比特以太网在光纤上传送10Gb/s信号。
只支持全双工,无争用问题。
小结
无线局域网
IEE802.11是无线局域网通用的标准,它是由IEEE所定义的无线网络通信的标准。
802.11的MAC帧头格式
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628140916070-1153352387.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628140939934-1512459154.png)
接收端指接受基站,发送端指发送基站
无线局域网分类
- 有固定基础设施无线局域网
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628141651352-334579398.png)
- 无固定基础设施无线局域网的自组织网络
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628141844853-1581283672.png)
广域网
广域网(WAN Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网( Internet)是世界范围内最大的广域网。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628142203114-1380951976.png)
PPP协议
点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。
只支持全双工链路
PPP协议满足的要求
- 简单 对于链路层的帧,无需纠错,无需序号,无需流量控制
- 封装成帧 帧定界符
- 透明传输 与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充
- 多种网络层协议 封装的IP数据报可以采用多种协议
- 多种类型链路 串行/并行,同步/异步,电/光
- 差错检测 错就丢弃
- 检测连接状态 链路是否正常工作 不支持多点链路
- 最大传送单元 数据部分最大长度MTU
- 网络层地址协商 知道通信双方的网络层地址
- 数据压缩协商
PPP协议三个组成部分
- 一个将IP数据报封装到串行链路(同步串行/异步串行)的方法。
- 链路控制协议LCP:建立并维护数据链路连接。身份验证
- 网络控制协议NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。
PPP协议的状态图
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628143342769-463656523.png)
PPP协议的帧格式
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628143623599-1290852883.png)
HDLC协议
高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC( Synchronousdata Link Control协议扩展开发而成的数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现
采用全双工通信
所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。
HDLC的站
- 主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、
流程的控制、差错检测或恢复等。 - 从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路
控制 - 复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。
三种数据操作方式:正常响应方式、异步平衡方式、异步响应方式
HDLC的帧格式
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628144522773-950200278.png)
- 信息帧(1)第1位为0,用来传输数据信息,或使用捎带技术对数据进行确认
- 监督帧(S)第一位是1第二位是0,用于流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能
- 无编号帧(U)第一二位都是11,用于提供对链路的建立、拆除等多种控制功能
PPP协议&HDLC协议
HDLC、PPP只支持全双工链路
都可以实现透明传输。
都是广域网的协议。
都可以实现差错检测,但不纠正差错。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628145151537-57472867.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628145358011-1896657189.png)
小结
数据链路层设备
物理层扩展以太网
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628150331397-683193887.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628150355721-406293887.png)
数据链路层扩展以太网
网桥
网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628150747980-1613237491.png)
网桥的分类
-
透明网桥:“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备ー一自学习。
-
源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
方法:源站以广播方式向欲通信的目的站发送一个发现帧。
交换机
多接口网桥——交换机
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628154327021-2072883425.png)
以太网交换机的两种交换方式
-
直通式交换机
查完目的地址(6B)就立刻转发。
延迟小,可靠性低,无法支持具有不同速率的端口的交换。 -
存储转发式交换机
将放入高速缓存,并检查否正确,正确则转发,错误则丢弃。
延迟大,可靠性高,可以支持具有不同速率的端口的交换。
冲突域&广播域
-
冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。
-
广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628152901379-834826389.png)
![](https://img2020.cnblogs.com/blog/1855535/202106/1855535-20210628153303018-833105360.png)