PDF版本,直接拖动至最后。
数据链路层负责通过一条链路从一个结点向另外一个物理链路直接相连的相邻结点传送数据报。
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
封装成帧是在一段数据的前后部分添加首部和尾部,这样就构成帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
组帧的四种方法:1.字符计数法;2.字符(节)填充法;3.零比特填充法;4.违规编码法。
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
痛点:如果首帧出错,后续都会出错(鸡蛋装在一个篮子里了)。
2.字符填充法:
在发送时,在非首部尾部的地方,出现EOT、SOH、ESC前面都加上ESC;在接收的时候在取消ESC。
3.零比特填充法:
操作:
1.在发送端,扫描整个信息字段,只要连续5个1,就立即填入1个0
2.在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续5个1时,就把后面的0删除。
保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
可以用“高-高”,“低-低”来定界帧的起始和终止。
总结:由于字节计数法中 Count字段的脆弱性 (其值若有差错将导致灾难性后果) 及 字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法。
1)概括来说,传输中的差错都是由于噪声引起的。
解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
解决办法:通常利用编码技术来解决。
2)差错
3)链路层为网络层提供服务:无确认连接服务(通信质量好,有线传输链路);
无确认无连接服务,有确认面向连接服务(通信质量差的无线传输链路)
(针对的是位错/比特错;不是帧错)
1)分类:
检错编码
纠错编码
海明码
2)编码 VS 编码
数据链路层编码和物理层的数据编码与调制不同。物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。
而数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程是否出现了差错。
3)冗余编码:
在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。
如果一个字符S的ASCII编码从低到高依次为1100101,采用奇校验,在下述收到的传输后字符中,哪种错误不能检测?
A.11000011 B.11001010 C.11001100 D.11010011
奇偶校验码特点:只能检查出奇数个比特错误,检错能力为50%。
1)计算过程:
2)接收端检错过程:
把收到的每一个帧都除以同样的除数,然后检查得到的余数R。
1.余数为0,判定这个帧没有差错,接受。
2.余数为不为0,判定这个帧有差错(无法确定到位),丢弃。
FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速,因此不会延误数据的传输。
海明码:发现双比特错,纠正单比特错。
工作流程:
海明不等式:2r=k+r+1
r为冗余信息位;K为信息位
例子:要发送的数据:D=101101
数据的位数k=6,
满足不等式的最小r为4,
也就是D=101101的海明码应该有6+4=10位,
其中原数据6位,效验码4位。
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
数据链路层流量控制手段:接收方收不下就不回复确认。
传输层流量控制手段:接收端给发送端一个窗口公告。
停止-等待协议3.4.2
每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。
滑动窗口协议
除了比特出差错,底层信道还会出现丢包问题。为了实现流量控制。
丢包:物理线路故障、设备故障、病毒攻击、路由器信息错误等原因,会导致数据包的丢失。
虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
“停止-等待” 就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
无差错情况 & 有差错情况
优点:简单;
缺点:信道利用率太低
因为停等协议的弊端,由此产生了流水线技术。但是流水线技术必须:1.增加序号范围;2.发送方需要缓存多个分组。
由此产生了:后退N帧协议(GBN);选择重传协议(SR)
发送窗口包括四部分:1.发完被确认的;2.已经发送但等待确认的;3.还能发送的;4.还不能发的。
1.上层的调用
上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送:如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)
2.收到了一个ACK
GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧
3.超时事件
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。
如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。
其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息: expectedse qnum(下一个按序接收的帧序号)。
滑动窗口可以无限吗?
若采用n个比特对帧编号,那么发送窗口的尺寸WT应满足:1≤WT≤2n-1。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
1.累积确认(偶尔捎带确认);
2.接收方只按顺序接收帧,不按序无情丢弃;
3.确认序列号最大的、按序到达的帧
4.发送窗口最大为2n-1,接收窗口大小为1
数据链路层采用了后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是()
A. 2 B .3 C .4 D .5
解析:重新发送4、5、6、7帧
优点:因连续发送数据帧而提高了信道利用率
缺点:在重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。
累计确认–>批量重传;可不可以只重传出错的帧?
解决方法:设置单个确认,同时加大接受窗口,设置接受缓存,缓存乱序到达的帧。
1.上层的调用
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。
2.收到了一个ACK
如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
3.超时事件
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
来者不拒(窗口內的帧)
SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。
如果收到了窗口序号外(小于窗口下界)的帧,就返回一个ACK。其他情况,就忽略该帧。
发送窗口最好等于接收窗口。(大了会溢出,小了没意义)
WTmax=WRmax=2(n-1)
1.对数据帧逐一确认,收一个确认一个
2.只重传出错帧
3.接收方有缓存
4.WTmax=WRmax=2(n-1)
数据链路层采用了选择重传(SR)协议,发送方已经发送了编号为0~3的帧。现已收到1号帧的确认,而0、2号帧依次超时,则发送方需要重传的帧数是()
A.2 B.3 C.4 D.5
解析:重新发送0、2号
点对点链路:两个相邻节点通过一个链路相连,没有第三者。
应用:PPP协议,常用于广域网。如:电话
广播式链路:所有主机共享通信介质
应用:早期的总线以太网、无线局域网,常用于局域网。典型拓扑结构:总线型、星型(逻辑总线型)。如:多部对讲机
介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。
充分利用传输介质带宽,系统效率较高;由于技术比较成熟,实现也比较容易。
将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
改进的时分复用——统计时分复用STDM
每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
纯ALOHA协议思想:不监听信道,不按时间槽发送,随机发送。想发就发
冲突如何检测?
如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。
冲突如何解决?
超时后等一随机时间再重传。
载波监听多路访问协议CSMA( carrier sense multiple access)
**CS:**载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。
**MA:**多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
协议思想:发送帧之前,监听信道。
监听结果:
坚持指的是对于监听信道忙之后的坚持。
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道
空闲则直接传输,不必等待。
忙则一直监听,直到空闲马上传输。
如果有冲突(一段时间內未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
非坚持指的是对于监听信道忙之后就不继续监听。
非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则直接传输,不必等待。
忙则等待一个随机的时间之后再进行监听。
优点:采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。
p-坚持指的是对于监听信道空闲的处理。
p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。
忙则持续监听直到信道空闲再以p概率发送。
若冲突则等到下一个时间槽开始再监听并重复上述过程。
优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
BUT:发生冲突后还是要坚持把数据帧发送完,造成了浪费。
有没有什么方法可以减少资源浪费,一冲突就能发现呢? ——CSMA/CD
先听后发为什么还会冲突?因为电磁波在总线上总是以有限的速率传播的。
截断二进制指数规避算法
例题:在以太网的二进制回退算法中,在11次碰撞后,站点会在0~(?)之间选择一个随机数。
k=min[11,10]=10
2 10-1=1023; [0.1.2…1023]
载波监听多点接入/碰撞避免 CSMA/CA ( carrier sense multiple access with collision avoidance) 有礼貌
为什么要有CSMA/CA ?
无线局域网:
无法做到360°,全面检测碰撞
隐蔽站:当A和C都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会导致冲突。
相同点:
CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入
不同点:
1.传输介质不同: CSMA/CD用于总线式以太网【有线】,而 CSMA/CA用于无线局域网【无线】。
2.载波检测方式不同:因传输介质不同, CSMA/CD与 CSMA/CA的检测方式也不同。 CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而 CSMA/CA采用能量检测(ED)载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。
3.CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传。
信道划分介质访问控制( MAC Multiple Access Control)协议:
基于多路复用技术划分资源。
网络负载重:共享信道效率高,且公平
网络负载轻:共享信道效率低
随机访问MAC协议: 冲突
用户根据意愿随机发送信息,发送信息时可独占信道带宽。
网络负载重:产生冲突开销
网络负载轻:共享信道效率高,单个结点可利用信道全部带宽
轮询访问MAC协议/轮流协议/轮转访问MAC协议:
既要不产生冲突,又要发送时占全部带宽,包括
令牌:
一个特殊格式的MAC控制帧,不含任何信息
控制信道的使用,确保同一时刻只有一个结点独占信道。令牌环网无碰撞
每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
问题:
1.令牌开销;2.等待延迟;3.单点故障
应用:
应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。
有线局域网:
常用介质:双绞线、同轴电缆、光纤
无线局域网:
常用介质:电磁波
1.CSMA/CD:常用于总线型局域网,也用于树型网络
2.令牌总线:常用于总线型局域网,也用于树型网络
它是把总线型或树型网络中的各个工作站按一定顺序如按接口地址大小排列形成个逻辑环。只有令牌持有者才能控制总线,才有发送信息的权力。
3.令牌环:用于环形局域网,如令牌环网
IEEB802系列标准是LEE802 LAN/MAN标准委员会制定的局域网、城域网技术标准(1980年2月成立)。其中最广泛使用的有以太网、令牌环、无线局域网等。这一系列标准中的每一个子标准都由委员会中的一个专门工作组负责。
EEE802标准所描述的局域网参考模型只对应oS参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层。
以太网( Ethernet)指的是由 Xerox公司创建并由 Xerox、lnte和DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用 CSMA/CD(载波监听多路访问及冲突检测)技术。
以太网在局域网各种技术中占统治性地位:
1.造价低廉(以太网网卡不到100块);
2.是应用最广泛的局域网技术;
3.比令牌环网、ATM网便宜,简单;
4.满足网络速率要求:10Mb/s~10Gb/s
DIX Ethernet v2:第一个局域网产品(以太网)规约
IEEE802.3:IEEE802委员会8023工作组制定的第一个EE的以太网标准。(帧格式有一丢丢改动)
8023局域网AKA以太网
线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是 CSMA/CD协议。以太网拓扑:逻辑上总线型,物理上星型。
10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10 BASE-T采用的是无屏蔽双绞线(UTP),传输速率是10Mb/s。
物理上采用星型拓扑,逻辑上总线型,每段双绞线最长为100m。
采用曼彻斯特编码。
采用 CSMA/CD介质访问控制。
计算机与外界有局域网的连接是通过通信适配器的。
在局域网中,硬件地址又称为物理地址,或MAC地址。【实际上是标识符】
MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-608ce4-b1-21。
最常用的MAC帧是以太网V2的格式
速率≥100Mb/s的以太网称为高速以太网。
1.100 BASE-T以太网
在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用EE8023的 CSMA/CD协议。
支持全双工和半双工,可在全双工方式下工作而无冲突。
2.吉比特以太网
在光纤或双绞线上传送1Gb/s信号.
支持全双工和半双工,可在全双工方式下工作而无冲突。
3.10吉比特
10吉比特以太网在光纤上传送10Gb/s信号。
只支持全双工,无争用问题。
IEEE 802.11是无线局域网通用的标准,它是由IEEE所定义的无线网络通信的标准。
点对点协议PPP( Point-to- Point protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。只支持全双工链路。
主站、从站、复合站
1.主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启流程的控制、差错检测或恢复等
2.从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制
3.复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制
三种数据操作方式:1.正常响应方式;2.异步平衡方式;3异步响应方式
1.光纤;2.主干集线器
网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检査此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。
1.透明网桥:“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备自学
2.源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
方法:源站以广播方式向欲通信的目的站发送一个发现帧。