计算机网络-王道考研 003 数据链路层
数据链路层
- 链路层的功能
- 链路层的两种信道
- 局域网、广域网
- 链路层的设备
数据链路层的功能概述#
数据链路的研究思想#
虽然正常的步骤是数据链路层进入物理层,封装,然后中间解封装,最后接收者再封装,但是这样不方便我们进行研究,所以我们默认我们的数据链路层是这样同级之间平行传输,只是作为研究,实际上并非这样传输
数据链路层基本概念#
- 结点
- 主机、路由器
- 链路
- 网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
- 数据链路
- 网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
- 帧
- 链路层的协议数据单元,封装网络层数据报。
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。
数据链路层功能概述#
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。
其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路
他有以下几个功能
- 为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务,有链接一定有确认!
- 链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
- 组帧
- 流量控制。如果发送过快,接收不过来就限制发送方
- 差错控制(帧错/位错)。
封装成帧和透明传输#
- 封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束
- 帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止
首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限),我们读取文件读到帧头表示接收到信号,一直读到帧尾巴表示读完
组帧的四种方法#
- 字符计数法
- 字符(节)填充法
- 零比特填充法
- 违规编码法
字符计数法#
帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数
字符(节)填充法#
- 当传送的帧是由文本文件组成时(文本文件的字符都是从键盘上输入的,都是ASII码)不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输。
- 当传送的帧是由非ASCI码的文本文件组成时(二进制代码的程序或图像等)就要采用字符填充方法实现透明传输
因为一些文件可能包含终止符导致程序错误识别导致提前结束读取,提前丢弃后面的数据
我们在每一个数据之前加一个字符填充,就像转义字符,我们的网络就不会把它当做终止符
零比特填充法#
保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误
违规编码法#
可以用“高-高”,“低-低” 来定界帧的起始和终止
由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现
上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法
我们使用一些编码的时候绝对不会出现的编码来作为标识符
透明传输#
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
当所传数据中的比特组合恰巧与某-一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
小章总结 - 封装成帧和透明传输#
差错控制(纠错编码)#
差错从何而来?#
概括来说,传输中的差错都是由于噪声引起的。
- 全局性
- 由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
- 由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
- 局部性
- 外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。
解决办法:通常利用编码技术来解决。
- 外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。
链路层为网络层提供服务:无确认无连接服务,有确认无连接服务,有确认面向连接服务。
-
不会采用错误机制
- 通信质量好
- 有线传输链路
-
需要差错机制
- 通信质量差的无线传输链路
数据链路层的差错控制#
假设一个情况,我们现在A电脑向B电脑传输了一个错误的数据,但是这个错误的数据依旧经过了无数的中继器,浪费了大量的硬件资源,最终传递到B电脑的时候却发现是错误的,然后被丢弃,我们希望能在源头上解决这种问题,所以我们需要数据链路层的差错控制
- 检错编码
- 奇偶校验码
- 循环冗余码CRC
- 纠错编码
- 海明码
物理层的编码和数据链路层编码的对比
数据链路层编码和物理层的数据编码与调制不同。
-
物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码
-
数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程是否出现了差错。
奇偶校验码#
奇校验码特点
- 只能检查出奇数个比特错误,检错能力为50%。
CRC循环冗余码#
需要有一个多项式,发送端和接收端需要统一
然后最终结果的得数我们判断我们的余数是否为0,如果不为0则表示出错到了
-
计算冗余码:
-
加0 假设生成多项式G(x)的阶为r, 则加r个0。
-
模2 除法数据加0后除以多项式,余数为冗余码/FCS/CRC检验码的比特序列。
-
FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速,因此不会延误数据的传输。
在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对帧的无差错接收,即“凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。
凡是接收端数据链路层接收的帧均无差错
海明码#
-
海明码
- 发现双比特错,纠正单比特错。
-
海明码设计思路
- 将信息位分组进行偶校验
- 多个校验位
- 多个校验位标志错误的位置
多个校验位就可以携带多种状态信息(对还是错,错在哪)
需要多少校验码呢?#
我们k个校验位一共可以表达出2k次方种状态,而需要表达的内容包裹
我们需要用2k来表达n+k+1
根据这个算式我们可以得出
假设我们的信息位: 1010
-
确定海明码的位数
-
我们这里有4位需要传递的信息,所以我们根据算式可以得知,我们需要3个校验位
-
我们对这些位数进行定义
-
信息位就是大写字母D表示,比如D1D2D3
-
校验位用大写字母P表示,比如P1P2P3
-
所有的位数就用大写字母H表示,比如H1H2H3
-
-
-
确定校验位
我们规定校验位应该放在的位置上
如果现在有4个校验位,那么他们不应该连在一起放置,而且是需要按照这个公式进行放置 -
确定校验位的值
流量控制与可靠传输机制#
数据链路层的流量控制#
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
- 数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
- 数据链路层流量控制手段:接收方收不下就不回复确认
- 传输层流量控制手段:接收端给发送端一个窗口公告
流量控制的方法#
可靠传输,滑动窗口,流量控制#
-
可靠传输
- 发送端发啥,接收端收啥
-
流量控制
- 控制发送速率,使接收方有足够的缓冲空间来接收每一个帧
-
滑动窗口解决
- 流量控制(收不下就不给确认,想发也发不了)
- 可靠传输(发送方自动重传)
停止-等待协议#
- 为什么要有停止等待协议?
- 除了比特出差错,底层信道还会出现丢包[1]问题。为了实现流量控制。
- 研究停等协议的前提?
- 虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据 (发送方),一方接收数据(接收方)
- 停等协议有几种应用情况?
- 无差错情况
- 有差错情况
停等协议 - 无差错情况#
停等协议 - 有差错情况#
数据帧丢失或者检测到帧出错
我们发送方有一个计时器,如果时间到了对面还没有返回接收到的数据,我们就重新发送一次
- 发完一个帧后,必须保留它的副本
- 数据帧和确认帧必须编号
ACK 丢失
ACK 迟到
停等协议性能分析#
- 过于简单
- 信道利用率太低
信道利用率#
发送方在一个发送周期内,有效地发送数
据所需要的时间占整个发送周期的比率
- L表示:T内发送L比特数据
- C表示:发送方数据传输率
- T表示:发送周期(从开始发送数据,到收到第一个确认帧为止)
一个例子
选择重传协议(SR)#
- 目前协议中最优秀的
选择重传协议中的滑动窗口#
SR发送方必须响应的三件事#
-
上层的调用
- 从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。
-
收到一个ACK
- 如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
- 超时事件
- 每个帧都有自己的定时器,一个超时事件发生后只重传一个帧
SR接收方要做的事情#
-
来者不拒(窗口内的帧)
-
SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并
返回给发送方一个该帧的确认帧[收谁确认谁],直到所有帧(即序号更小的
帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动
窗口
如果收到了窗口序号外(小于窗口下界)的帧,就返回一个ACK
运行中的SR#
SR协议重点总结#
- 对数据帧逐一确认,收一个确认一个
- 只重传出错帧
- 接收方有缓存
后退N帧协议(GBN)#
停等协议的弊端#
这种一次传输3次数据的方式又叫流水线技术
- 必须增加序号范围
- 发送方需要缓存多个分组
后退N帧协议中的滑动窗口#
GBN发送方必须响应的三件事#
- 上层的调用
- 上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一 会再发送。 (实际实现中, 发送方可以缓存这些数据,窗口不满时再发送帧)
- 收到了一个ACK
- GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧
- 超时事件
- 协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。
GBN接收方要做的事情#
- 如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中
的数据部分交付给上层。 - 其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任
何失序帧,只需要维护一个信息: expectedseqnum (下一个按序接收的帧序
号)
运行中的GBN#
GBN协议重点总结#
- 累积确认(偶尔捎带确认)
- 接收方只按顺序接收帧,不按序无情丢弃
- 确认序列号最大的、按序到达的帧
- 发送窗口最大为2n-1,接收窗口大小为1
GBN协议性能分析#
-
优点
- 因连续发送数据帧而提高了信道利用率
-
缺点
- 在重传时必须把原来已经正确传送的数据帧重传,是传送效率降低
信道划分介质访问权限#
传输数据使用的两种链路#
- 点对点链路
- 广播式链路
介质访问控制#
介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况
-
静态划分信道
- 信道划分介质访问控制
- 频分多路复用FDM
- 时分多路复用TDM
- 波分多路复用WDM
- 码分多路复用CDM
- 信道划分介质访问控制
-
动态分配信道
- 动态媒体接入控制/多点接入
- 特点:信道并非在用户通信时固定分配给用户
- 动态媒体接入控制/多点接入
-
轮询访问介质访问控制
- 令牌传递协议
-
随机访问介质访问控制
-
所有用户可随机发送信息。发送信息时占全部带宽
- 这样会导致不协调然后冲突,所以我们需要下面这些协议
-
ALOHA协议
-
CSMA协议
-
CSMA/CD协议
-
CSMA/CA协议
-
信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。
频多分路复用FDM#
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源
- 充分利用传输介质带宽,系统效率较高
- 由于技术比较成熟,实现也比较容易
- 最简单,最基础
时分多路复用FDM#
将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道
- TDM帧是在物理层传送的比特流所划分的帧,标志一个周期
频分复用和时分复用的区别
- 频分复用就像是并行
- 时分复用就像是并发
改进时分复用 - 统计时分复用STDM#
每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中, 一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙
波分多路复用WDM#
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
- 不常考
码分多路复用CDM#
码分多址(CDMA) 是码分复用的一种方式。
1个比特分为多个码片/芯片(chip) ,每一个站点被指定一个唯一的m位的芯片序列
发送1时站点发送芯片序列,发送0时发送芯片序列反码(通常把0写成-1)。
- 如何不打架
- 多个站点同时发送数据的时候,要求各个站点芯片序列相互正交
- 如何合并
- 各路数据在信道中被线性相加
- 如何分离
- 合并的数据和源站规格化内积
ALOHA协议#
有一个学者,在夏威夷度假,但是夏威夷群岛之间通讯不方便,于是这个学者就边度假边研究,最终研究出来一个ALOHA协议,这个ALOHA是当地打招呼的一种方式
纯ALOHA协议#
-
纯ALOHA协议思想
- 不监听信道,不按时间槽发送,随机重发。想发就发
-
冲突如何检测?
- 如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突
-
冲突如何解决?
- 超时后等一随机时间再重传
时隙ALOHA协议#
时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。
- 控制想发就发的随意性
例如有一个人现在有消息要发送,但是现在憋着不发送,等到某一个特定时间,比如中午12点的时候再统一发送
CSMA协议#
载波监听多路访问协议CSMA (carrier sense multiple access)#
-
CS:载波侦听/监听
- 每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
- 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大( 互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突
- 每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
-
MA:多点接入
- 表示许多计算机以多点接入的方式连接在一根总线上
-
协议思想
-
发送帧之前,监听信道
-
根据监听结果
- 信道空闲 - 发送完整帧
1-坚持CSMA
非坚持CSMA
p-坚持CSMA
- 信道忙 - 推迟发送
- 信道空闲 - 发送完整帧
-
1-坚持CSMA#
坚持指的是对于监听信道忙之后的坚持。
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
-
空闲则直接传输,不必等待
-
忙则一直监听,直到空闲马上传输
-
如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程
优点和缺点
- 优点
- 只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
- 缺点
- 假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
非坚持CSMA#
非坚持指的是对于监听信道忙之后就不继续监听。
-
非坚持CSMA思想
-
如果一个 主机要发送消息,那么它先监听信道。
-
空闲则直接传输,不必等待。
-
忙则等待一个随机的时间之后再进行监听。
-
优点和缺点
- 优点
- 采用随机的重发延迟时间可以减少冲突发生的可能性。
- 缺点
- 可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低
p-坚持CSMA#
p-坚持指的是对于监听信道空闲的处理。
- p-坚持CSMA思想
- 如果一个主机要发送消息,那么它先监听信道。
- 空闲则以
p概率
直接传输,不必等待;1-p概率
等待到下一个时间槽再传输。 - 忙则等待一个随机的时间之后再进行监听。
优点和缺点
- 优点
- 既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
- 缺点
- 发生冲突后还是要坚持把数据帧发送完,造成了浪费。
三种CSMA对比总结#
1-坚持CSMA | 非坚持CSMA | p-坚持CSMA | |
---|---|---|---|
信道空闲 | 马上发 | 马上发 | p概率马上发 1-p概率等到下一个时隙再发送 |
信道忙 | 继续坚持监听 | 放弃监听,等一个随机时放弃监听, 等一个随机时间再监听 | 放弃监听,等一个随机时放弃监听, 等一个随机时间再监听 |
轮询访问介质访问控制#
介质访问控制#
-
信道划分介质访问控制(MAC Multiple Access Control )协议
- 基于多路复用技术划分资源。
- 网络负载重:共享信道效率高,且公平
- 网络负载轻:共享信道效率低
-
随机访问MAC协议(会发生冲突)
-
用户根据意愿随机发送信息,发送信息时可独占信道带宽。
-
网络负载重:产生冲突开销
-
网络负载轻:共享信道效率高,单个结点可利用信道全部带宽
-
-
轮询访问MAC协议/轮流协议/轮转访问MAC协议:
- 既要不产生冲突,又要发送时占全部带宽
- 两大协议
- 轮询协议
- 令牌传递协议
轮询协议#
-
主结点轮流“邀请”从属结点发送数据
-
问题:
- 轮询开销
- 等待延迟
- 单点故障
令牌传递协议#
- 令牌
- 一个特殊格式的MAC控制帧,不含任何信息。
- 控制信道的使用,确保同一时刻只有一个结点独占信道
- 令牌环网无碰撞
只有要发送数据的主机能拿到令牌,然后令牌不断在主机之间传递,直到找到那个接收方
- 每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌
- 问题
- 令牌开销
- 等待延迟
- 单点故障
- 应用于令牌环网( 物理星型拓扑,逻辑环形拓扑)
- 采用令牌传送方式的网络常用于负载较重、通信量较大的网络中
CSMA-CA协议#
载波监听多点接入/碰撞避免CSMA/CA (carrier sense multiple access with collision avoidance)
CSMA-CA协议就像是讲话的时候故意停顿,比如我们演讲的时候,我们说大家好,这时候会停顿一下, 看看有没有要抢话的,没有的话再接着开始演讲
CSMA/CA协议工作原理#
- 发送数据前,先检测信道是否空闲
- 空闲则发出RTS (request to send),RTS包括发射端的地址、接收端的地址、下一 -份数据将持续发送的时间等信息;信道忙则等待
- 接收端收到RTS后,将响应CTS (clear to send)。
- 发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)
- 接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧
- 发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)
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避免冲突
- 二者出现冲突后都会进行有上限的重传
- 传输介质不同
局域网基本概念和体系结构#
局域网#
局域网(Local Area Network) :简称LAN, 是指在某区域内由多台计算机互联成的计算机组,使用广播信道。
-
特点
- 覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
- 使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高(10Mb/s~ 10Gb/s)。
- 通信延迟时间短,误码率低,可靠性较高
- 各站为平等关系,共享传输信道
- 多采用分布式控制和广播式通信,能进行广播和组播
-
决定局域网的主要要素为
- 网络拓扑
- 传输介质与介质访问控制方法
局域网拓扑结构#
星型拓扑#
中心节点是控制中心,任意两个节点间的通信最多只需两步,传输速度快,并且网络构形简单、建网容易、便于控制和管理。但这种网络系统,网络可靠性低,网络共享能力差,有单点故障问题。
总线型拓扑(目前常用,最简单,最便宜)#
网络可靠性高、网络节点间响应速度快、共享资源能力强、设备投入量少、成本低、安装使用方便,当某个工作站节点出现故障时,对整个网络系统影响小。
环形拓扑#
系统中通信设备和线路比较节省。有单点故障问题;由于环路是封闭的,所以不便于扩充,系统响应延时长,且信息传输效率相对较低。
树形拓扑#
易于拓展,易于隔离故障,也容易有单点故障
局域网传输介质#
-
有线局域网常用介质
- 双绞线、同轴电缆、光纤
-
无线局域网常用介质
- 电磁波
局域网介质访问控制方法#
- CSMA/CD
- 常用于总线型局域网,也用于树型网络
- 令牌总线
- 常用于总线型局域网,也用于树型网络
- 它是把总线型或树型网络中的各个工作站按一定顺序如按接口地址大小排列形成一个逻辑环。只有令牌持有者才能控制总线,才有发送信息的权力。
- 令牌环
- 用于环形局域网,如令牌环网
局域网的分类#
- 以太网
- 以太网是应用最为广泛的局域网,包括标准以太网(10Mbps) 、快速以太网(100Mbps) 、千兆以太网( 1000 Mbps)和10G以太网,它们都符合IEEE802.3系列标准规范。逻辑拓扑总线型,物理拓扑是星型或拓展星型。使用CSMA/CD.
令牌环网- 物理上采用了星形拓扑结构,逻辑上是环形拓扑结构。已是“明日黄花”。
- FDDI网(Flber Distributed Data Interface)
- 物理 上采用了双环拓扑结构,逻辑上是环形拓扑结构。
- 使用光纤,造价较高,正常也很少使用
- ATM网(Asynchronous Tansfer Mode)
- 较新型的单元交换技术使用53字节固定长度的单元进行交换
- 无线局域网(Wireless Local Area Network; WLAN)
- 这个分类比wifi要大,wifi属于这个
- 采用IEEE 802.11标准。
IEEE802标准#
IEEE 802系列标准是IEEE 802 LAN/MAN标准委员会制定的局域网、城域网技术标准(1980年2月成立)。其中最广泛使用的有以太网、令牌环、无线局域网等。这一系列标准中的每一个子标准都由委员会中的一个专门工作组负责。
我们目前需要记住他们
- IEEE 802.3 :以太网介质访问控制协议 (CSMA/CD)及物理层技术规范
- IEEE 802.5 :令牌环网(Token-Ring)的介质访问控制协议及物理层技术规范
- IEEE 802.8 :光纤技术咨询组,提供有关光纤联网的技术咨询。
- IEEE 802.11:无线局域网(WLAN)的介质访问控制协议及物理层技术规范。
MAC子层和LLC子层#
IEEE802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层。
- LLC子层
- 可以看到我们LLC离网络层近,所以LCC的功能更多的偏向网络层
- 负责识别网络层协议,然后对它们进行封装。LLC报头告诉数据链路层一旦帧被接收到时,应当对数据包做何处理
- 为网络层提供服务:无确认无连接、面向连接、带确认无连接、高速传送
- MAC子层
- 我们MAC更加偏向物理层,所以我们的功能也基本都是和物理层有关
- 的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等
- MAC子层的存在屏蔽了不同物理链路种类的差异性。
以太网#
以太网(Ethernet)指的是由Xerox公司创建并由Xerox、InteI和DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD (载波监听多路访问及冲突检测)技术。
-
以太网在局域网各种技术中占统治性地位:
- 造价低廉(以太网网卡不到100块) ;
- 是应用最广泛的局域网技术;
- 比令牌环网、ATM网便宜,简单;
- 满足网络速率要求: 10Mb/s~10Gb/s
-
以太网两个标准
- DIX EthernetV2:第-一个局域网产品(以太网)规约。
- IEEE 802.3: IEE 802委员会802.3工作组制定的第一个IEEE的以太网标准。 (帧格式有一丢丢改动)
- 所以我们可以把以太网等价的叫802.3局域网
以太网提供无连接,不可靠服务#
以太网只实现无差错接收,不实现可靠传输
- 无连接:发送方和接收方之间无“握手过程”。
- 不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。
以太网传输介质与拓扑结构的发展#
使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议
- 以太网拓扑
- 逻辑上总线型,物理上星型
10BASE-T以太网#
10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T 采用的是无屏蔽双绞线(UTP),传输速率是10Mb/s
- 物理上采用星型拓扑,逻辑上总线型,每段双绞线最长为100m
- 采用曼彻斯特编码
- 采用CSMA/CD介质访问控制
适配器与MAC地址#
计算机与外界有局域网的连接是通过通信适配器的
-
网络接口板
-
网络接口卡NIC (network interface card )
-
现在已经不再使用单独网卡
-
适配器上装有处理器和存储器(包括RAM和ROM)
-
ROM上有计算机硬件地址MAC地址
-
在局域网中,硬件地址又称为物理地址,或MAC地址。[ 实际上是标识符]
-
MAC地址
- 每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-60-8c-e4-b1-21。
以太网MAC帧#
- 我们的数据最小必须要有46位(为了满足一次必须传输64个字节的标准)
- 最后的FCS可以看成是CRC循环冗余码
- 我们的MAC帧只有开始没有结束,因为我们发送的时候会有一个电频变化,可以自动识别,不需要再次进行判断结束
高速以太网#
速率≥100Mb/s的以太网称为高速以太网
- 100BASE-T以太网
- 在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE802.3的CSMA/CD协议。
- 支持全双工和半双工,可在全双工方式下工作而无冲突。
- 吉比特以太网
- 在光纤或双绞线上传送1Gb/s信号。
- 支持全双工和半双工,可在全双工方式下工作而无冲突。
- 10吉比特
- 10吉比特以太网在光纤上传送10Gb/s信号。
- 只支持全双工,无争用问题
无线局域网#
IEEE802.11的MAC帧头格式#
有固定基础设施无线局域网#
无固定基础设施无线局域网的自组织网络#
CSMA-CD协议#
- CS
- 载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下 总线上是否有其他计算机在发送数据
- MA
- 多点接入,表示许多计算机以多点接入的方式连接在-根总线上。
- 总线型网络
- CD
- 碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。
- 半双工网络
如何确定碰撞后的重传时机?#
最小帧长问题#
以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧
PPP协议和HDLC协议#
广域网#
-
广域网(WAN, Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络
-
广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网( Internet )是世界范围内最大的广域网
-
广域网强调资源共享,局域网强调传输速率
PPP协议的特点#
点对点协议PPP (Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PP协议
只支持全双工链路
PPP协议应满足的要求#
- 简单
- 对于链路层的帧,无需纠错,无需序号,无需流量控制。
- 封装成帧
- 哪怕是遇到帧定界符也当没看见一样接着传递
- 透明传输
- 与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充
- 满足多种网络层协议
- 封装的IP数据报可以采用多种协议
- 满足多种类型链路
- 串行/并行, 同步/异步,电/光....
- 差错检测
- 错就丢弃
- 检测连接状态
- 链路是否正常工作。
- 最大传送单元
- 数据部分最大长度MTU。
- 网络层地址协商
- 知道通信双方的网络层地址。
- 数据压缩协商
PPP协议无需满足的要求#
- 纠错
- 流量控制
- 序号
- 不支持多点线路
PPP协议的三个组成部分#
- 一个将IP数据报封装到串行链路(同步串行/异步串行)的方法。
- 链路控制协议LCP:建立并维护数据链路连接。身份验证
- 网络控制协议NCP: PPP可 支持多种网络层协议,每个不同的网络层协议都要- -个相应的NCP来配置,为网络层协议建立和配置逻辑连接。
PPP协议的状态图#
PPP协议的帧格式#
HDLC 协议#
我们实际很少运用他
高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control)协议扩展开发而成的
- 数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现
- 采用全双工通信
- 所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高
HDLC的站#
- 主站、从站、复合站
- 主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。
- 从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制。
- 复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。
- 三种数据操作方式:
- 正常响应方式
- 异步平衡方式
- 异步响应方式
HDLC的帧格式#
- 信息帧(I) 第1位为0,用来传输数据信息,或使用捎带技术对数据进行确认
- 监督帧(S) 10,用于流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能
- 无编号帧(U) 11,用于提供对链路的建立、拆除等多种控制功能
PPP协议和HDLC协议的区别#
- HDLC、PPP只支持全双工链路
- 都可以实现透明传输
- 都可以实现差错检测,但不纠正差错
最终总结#
丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。 ↩︎
作者:bemake
出处:https://www.cnblogs.com/BEMAKE/p/16471506.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!