Open loyio opened 3 years ago
结点:主机、路由器
链路:网络中两个结点之间的物理通道.链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
帧:链路层的协议数据单元,封装网络层数据报
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报
数据链路层在物理层提供服务的基础上向网络层提供服务.其最基本的服务是将源自网络层來的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能.将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。 首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。
帧同步:收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
组帧的四种方法:1.字符计数法,2.字符(节〉填充法,3.零比特填充法,4.违规编码法。
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就"看不见”有什么妨 碍数据传输的东西。
当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
痛点:鸡蛋装在一个篮子里了
操作:
保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
曼彻斯特编码
可以用"髙-高”,“低-低”来定界帧的起始和终止
由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法。
概括来说,传输中的差错都是由于噪声引起的。 全局性1.由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。 解决办法:提髙信噪比来减少或避免干扰。(对传感器下手) 局部性2.外界特定的短暂原因所造成的冲击嗓声.是产生差错的主要原因。 解决办法:通常利用编码技术来解决。
链路层为网络层提供服务:无确认无连接服务(通信质量好,有线传输链路),有确认无连接服务,有确认面向连接服务(通信质量差的无线传输链路)。
数据链路层编码和物理层的数据编码与调制不 同 。物理层编码针对的是单个比特 . 解决传输过程中比特的同步等问题,如曼彻斯特编码。而数据链路层的编码针对的是一组比特,它通过兀余码的技术实现一组二进制比特串在传输过程是否出现了差错。
在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。 当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。
如果一个字符S的ASCII编码从低到髙依次为1100101,采用奇校验,在下述收到的传输后字符中,哪种错误不能检测?
A. 11000011 B.11001010 C. 11001100 D.11010011
奇偶校验码特点:只能检查出奇数个比特错误,检错能力为50%。
把收到的每一个帧都除以同样的除数,然后检查得到的余数R。
余数为0,判定这个帧没有差错,接受。
余数为不为0,判定这个帧有差错(无法确定到位),丢弃。
FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速,因此不会延误数据的传输。
在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对帧的无差错接收,即“凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。“凡是接收端数据链路层接受的帧均无差错”。
“可靠传输”:数据链路层发送端发送什么,接收端就收到什么
链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输
工作流程
两个合法编码(码字)的对应比特取值不同的比特数称为这两个码字的海明距离(码距),一个有效编码集中,任意两个合法编码(码字)的海明距离的最小值称为该编码集的海明距离(码距J。
要发送的数据:D=1100
数据的位数m=4,满足不等式的最小r为3,也就是D=1100的海明码应该有4+3=7位,其中原数据4位,检验码3位
D=1100
纠错方法一:找到不满足奇/偶校验的分组取交集,并与符合校验的分组取差集。
纠错方法二:(101的十进制数)
较髙的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
数据链路层流量控制手段:接收方收不下就不回复确认。
传输层流量控制手段:接收端给发送端一个窗口公告。
停止-等待协议:发送窗口大小=1,接收窗口大小=1
后退N帧协议(GBN):发送窗口大小>1,接收窗口大小=1
选择重传协议(SR):发送窗口大小>1,接收窗口大小>1
可靠传输:发送端发啥,接收端收啥。
流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧。
滑动窗口解决:
......
除了比特出差错.底层信道还会出现丢包问题。 为了实现流量控制。
丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。
虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
“停止-等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
无差错情况&有差错情况
每发送1个数据帧就停止并等待,因此用1bit来编号就够
优点:简单
缺点:信道利用率太低
信道利用率
发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。
倍道吞吐率=倍道利用率*发送方的发送速率
例题:一个信道的数据传输率为4kb/s ,单向传播时延为30ms ,如果使停止-等待协议的信道最大利用率达到80% ,要求的数据帧长度至少为( )。
流水线技术:
发送窗口:发送方维持一组连续的允许发送的帧的序号
接收窗口:接收方维持一组连续的允许接收帧的序号
若采用n个比特对帧编号,那么发送窗口的尺寸满足:。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
1.数据链路层采用了后退N帧(GBN )协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是( )。
A . 2 B . 3 C . 4 D . 5
重新发送4、5、6、7
2.主机甲与主机乙之间使用后退N帧协议(GBN )传输数据,甲的发送窗口尺寸为1000 ,数据帧长为1000字节, 信道带宽为100Mb/s ,乙每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若甲、乙之间的单向传播时延是50ms ,则甲可以达到的最大平均数据传输率约为()。
A . 10Mb/s B . 20Mb/s C . 80Mb/s D . 100Mb/s
优点:因连续发送数据帧而提髙了信道利用率
缺点:在重传时必须把原来己经正确传送的数据帧重传,是传送效率降低。
累计确认 -> 批量重传
可不可以只重传出错的帧? 解决办法:设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧。
发送方:
接收方:
来者不拒(窗口内的帧)
SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。
如果收到窗口序号外(小于窗口下界)的帧,就返回一个ACK
窗口长度可以无限吗?
发送窗口最好等于接收窗口。(大了会溢出,小了无意义)
数据链路层采用了选择重传(SR )协议,发送方已经发送了编号为0~ 3的帧。现已收到1号帧的确认,而0、2号帧依次超时,则发送方需要重传的帧数是()
A.2 B.3 C.4 D.5
重新发送0、2号帧
点对点链路:两个相邻节点通过一个链路相连,没有第三者。应用:PPP协议,常用广域网
广播式链路:所有主机共享通信介质。应用:早期的总线以太网、无线局域网,常用于局域网。典型拓扑结构:总线型、星型(逻辑总线型)
介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
信道划分介质访问控制,将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开.把时域和频域资源合理地分配给网络上的设备。
多路复用技术:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率
把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道
用户在分配到 一定的频带后,在通信过程中自始至终都占用这个频带。頻分复用的所有用户在同样的时间占用不 同的带宽(频率带宽)资源。
充分利用传输介质带宽,系统效率较髙;由于技术比较成熟,实现也比较容易。
将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙.所有用户轮流占用信道。
频分复用—— “并行” 时分复用——“并发”
波分多路复用就是光的频分多路复用.在一根光纤中传输多种不同波长(频率〉的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
码分多址(CDMA)是码分复用的一种方式。
1个比特分为多个码片/芯片(chip),每一个站点被指定一个唯一的m位的芯片序列,发送1时发送芯片序列(通常把0写成-1)。
纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想发就发
冲突如何检测?
如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。
冲突如何解决?
超时后等一随机时间再重传。
时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。
控制想发就发的随意性
载波监听多路访问协议CSMA (carrier sense multiple access)
CS: 载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上
协议思想:发送帧之前,监听信道。
监听结果:
信道空闲:发送完整帧
信道忙:推迟发送
1-坚持 CSMA
非坚持CSMA
p-坚持CSMA
坚持指的是对于监听信道忙之后的坚持。
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则直接传输,不必等待。
忙则一直监听,直到空闲马上传输。
如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
非坚持指的是对于监听信道忙之后就不继续监听。
非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则直接传输,不必等待。
忙则等待一个随机的时间之后再进行监听。
优点:采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。
p-坚持指的是对于监听信道空闲的处理
p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则以P概率直接传输,不必等待:概率1-P等待到下一个时间槽再传输。
忙则持续监听直到信道空闲再以p概率发送。
若冲突则等到下一个时间槽开始再监听并重复上述过程。
优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
但是发生冲突后还是要坚持把数据帧发送完,造成了浪费
1-坚持CSMA | 非坚持CSMA | p-坚持CSMA | |
---|---|---|---|
信道空闲 | 马上发 | 马上发 | p概率马上发 1-p概率等到下一个时隙再发送 |
信道忙 | 继续坚持监听 | 放弃监听,等一个随机事件再监听 | 持续监听,知道信道空闲再以p概率发送 |
载波监听多点接入/碰搶检测CSMA/CD (carrier sense multiple access with collision detection)
CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络
CD:碰撞检测(冲突检测〉,"边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。半双工网络
先听后发为什么还会冲突
因为电磁波在总线上总是以有限的速率传播的。
最迟多久才能知道自己发送的数据没和别人碰撞?
截断二进制指数规避算法
帧的传输时延至少要两倍于信号在总线中的传播时延。
以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧。
载波监听多点接入/碰撞避免CSMA/CA (carrier sense multiple access with collision avoidance)
为什么要有CSMA/CA?
无线局域网:
发送数据前,先检测信道是否空闲
空闲则发出RTS(request to send), RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待
接收端收到RTS后,将响应CTS (clear to send)。
发送端收到CTS后,开始发送数据帧(同时预约信道;发送方告知其他站点自己要传多久数据)。
接收端收到数据帧后,将用CRC來检验数据是否正确,正确则响应ACK帧。
发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。
相同点:
CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。
不同点:
信道划分介质访问控制(MAC Multiple Access Control )协议:
基于多路复用技术划分资源。
网络负载重,共享信道效率髙,且公平
网络负载轻:共享信道效率低
随机访问MAC协议:冲突
用户根据意愿随机发送信息,发送信息时可独占信道带宽。
轮询访问MAC协议/轮流协议/轮转访问MAC协议:
既要不产生冲突,又要发送时占全部带宽。
主结点轮流“邀请”从属结点发送数据。
问题:
1.轮询开销2.等待延迟3.单点故障
令牌:一个特殊格式的MAC控制帧,不含任何信息。控制信道的使用,确保同一时刻只有一个结点独占信道。
令牌环网无碰撞
问题:
应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。
采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。
局域网(Local Area Network):简称LAN.是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。
特点1:覆盖的地理范围较小,只在一个相对独立的局部范围内互联,如一座或集中的建筑群内。
特点2:使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率髙(10Mb/s〜10Gb/s) »
特点3:通信延迟时间短,误码率低,可靠性较髙。
特点4:各站为平等关系,共享传输信道。
特点5:多采用分布式控制和广播式通信,能进行广播和组播。
决定局域网的主要要素为:网络拓扑,传输介质与介质访问控制方法。
中心节点是控制中心,任意两个节点间的通信最多只需两步,传输速度快,并且网络构形简单、建网容易、便于控制和管理。但这种网络系统,网络可 靠性低,网络共享能力差,有单点故障问题。
网络可靠性高、网络节点间响应速度快、共享资源能力强、设备投入量少、成本低、安装使用方便,当某个工作站节点出现故障时,对整个网络系统影响小
系统中通信设备和线路比较节省。有单点故障问题: 由于环路是封闭的,所以不便于扩充,系统响应延时长,且信息传输效率相对较低。
易于拓展,易于隔离故障,也容易有单点故障。
局域网
IEEE 802系列标准是IEEE 802 LAN/MAN辨准委员会制定的局域网、城域网技术标准(1980年2月成立)。其中最广泛使用的有以太网、令牌环、无线局域网等。这一系列白哦准中的每一个字标准都由委员会中的一个专门工作组负责
IEEE 802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层。
LLC负贵识别网络层协议,然后对它们进行封装。LLC报头告诉数据链路层一旦帧被接收到时,应当对数据包做何处理。为网络层提供服务:无确认无连接、 面向连接、带确认无连接、髙速传送。
MAC子层的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性。
以太网(Ethernet)指的是由Xerox公司创建并由Xerox, Intel和DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD (载波监听多路访问及冲突检测〉技术。
以太网在局域网各种技术中占统治性地位:
以太网两个标准
DIX Ethernet V2:第一个局域网产品(以太网)规约。
IEEE 802.3: IEEE 802委员会802.3工作组制定的第一个IEEE的以太网标准。(帧格式有一丢丢改动)
802.3局域网AKA以太网
无连接:发送方和接收方之间无“握手过程”。
不可靠:不对发送方的数据帧编号.接收方不向发送方进行确认.差错帧直接丢弃,差错纠正由髙层负贵。
以太网只实现无差错接收,不实现可靠传输。
10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T采用的是无屏蔽双绞线(UTP),传输速率是10Mb/s。
物理上采用星型拓扑,逻辑上总线型,每段双绞线最长为100m。
采用曼彻斯特编码。
采用CSMA/CD介质访问控制。
计算机与外界有局域网的连接是通过通信适配器的。
网络接口板
网络接口卡NIC(network interface card)
NOW, 不再使用单独网卡
适配器上装有处理器和存储器(包括RAM和ROM)
ROM上有计算机硬件地址MAC地址
在局域网中,硬件地址又称为物理地址,或MAC地址。【实际上是标识符】
MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-60-8c-e4-bl-21。
最常用的MAC帧是以太网V2的格式。
与IEEE 802.3 的区别:
速度100Mb/s的以太网称为髙速以太网。
IEEE 802.11是无线局域网通用的标准,它是由IEEE所定义的无线网络通信的标准。
广域网(WAN,Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网(Internet)是世界范围内最大的广域网。
点对点协议PPP (Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。
只支持全双工链路
简单:对于链路层的帧,无需纠错,无需序号,无需流量控制。
封装成帧:帧定界符
透明传输:与帧定界符一样比特组合的数据应该如何处理,异步线路用字节填充,同步线路用比特填充。
多种网络层协议:封装的IP数据报可以采用多种协议。
多种类型链路:串行/并行,同步/异步,电/光....
差错检测:错就丢弃。
检测连接状态:链路是否正常工作。
最大传送单元:数据部分最大长度MTU»
网络层地址协商:知道通信双方的网络层地址。
数据压缩协商
髙级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control)协议扩展开发而成的.
数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现
采用全双工通信
所有帧采用CRC检验.对信息帧进行顺序编号.可防止漏收或重份,传输可靠性髙。
主站、从站、复合站
主站的主要功能是发送命令(包括数据信息〉帧、接收响应帧,并负贵对整个链路的控制系统的初启、 流程的控制、差错检测或恢复等。
从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制。
三种数据操作方式:
异步平衡方式
1) 信息帧(I)第1位为0,用来传输数据信息,或使用捎带技术对数据进行确认 2) 监督帧(S)10,用于流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能 3) 无编号帧(U)11,用于提供对链路的建立、拆除等多种控制功能。
HDLC、PPP只支持全双工链路。
都可以实现透明传输。
都可以实现差错检测,但不纠正差错。
PPP协议 | 面向字节 | 2B协议字段 | 无序号和确认机制 | 不可靠 |
---|---|---|---|---|
HDLC协议 | 面向比特 | 没有 | 有编号和确认机制 | 可靠 |
网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤〉。
网段:一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。
网桥优点:
过滤通信量,增大吞吐量。
扩大了物理范围。
透明网桥:“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备一一 自学习。
源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
方法:源站以广播方式向欲通信的目的站发送一个发现帧。
以太网交换机:可以独占传输媒体带宽
直通式交换机:查完目的地址(6B)就立刻转发。延迟小,可靠性低,无法支持具有不同速率的端口的交换
存储转发式交换机:将帧放人髙速缓存,并检查是否正确,正确则转发,错误则丢弃。 延迟大,可靠性髙,可以支持具有不同速率的端口的交换。
冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。
广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能收收到这个信号的设备范围称为一个广播域。