搜索

数据链路层入门笔记

gecimao 发表于 2019-07-25 22:04 | 查看: | 回复:

  在该层中,上层数据报加上头尾构成了帧,帧是在数据链路层的传递数据单元。帧头部一般是MAC地址,用于标识该帧的去处。该层所要解决的问题是保证数据的

  为了保证数据的可靠交付,我们采用了差错编码的方式进行数据的差错检测和纠正。原理如下:

  即若为奇校验码,则数据中1的个数加上1bit校验位中1的个数后应该为奇数,由此还衍生处了二维的奇偶校验。

  对一个二进制数据集D,选取一个二进制模式数G(共有r+1位bit)。则可以计算出循环冗余校验码R(有r位bit),使得(D,R)构成的数据集能在接收方被G整除。为计算出该校验码R,我们可以通过模二除法进行计算(模二除法就是异或和移位操作,计算机底层容易实现)。计算方法如下:

  得知D,在D后添加G的位数-1的0(即r个0),然后除以G,余数便是R。

  MAC地址用于标识网络中的具体设备,可以看成是每个链路层网络设备所独有的ID编号,一般情况下由网络设备制造商设置。MAC地址同IP地址之间的不同之处在于,IP地址可以分配,并依据所在子网而受限,但MAC地址一般都绑定了网络设备。IP地址有32bit,MAC地址有48bit,并用形如“1A-5D-8C-6C-DD-8F”的6组16进制数表示。

  除此之外,由于是对接的网络层IP地址,因此还需要有协议来保证将IP地址映射到对应的MAC地址。

  该类协议其实就是电路复用中的时分多址,频分多址,码分多址,波分多址协议。该类协议会为每个节点分配特定的通信空间(时间),其特点是:在高负载通讯下能做到公平最大化利用信道资源,但是在低负载情况下会对信道资源造成浪费。

  该类协议的特点是不预先为各个节点预留资源,采取先到先得的方式。这样的好处是可以充分利用信道资源,不过会引起冲突现象。因此,随机访问类MAC协议的主要功能之一就是检测冲突并从冲突中恢复。

  时隙ALOHA协议的效果在高负载的情况下并不好,通过计算可以推出其最大效率为37%。

  该协议比时隙ALOHA协议更为简单,即取消了时隙,任何时候都可以发送数据,因此,其效果更差,最大效率为18%。

  载波监听多路访问协议(carrier sense multiple access)较之ALOHA协议是一种更为“无私的协议”,他规定节点要发送数据报时,必须监听信道,当监听到信道在忙时,就采取选择,依据选择的不同,可以分为:

  虽然以上方法可以减少冲突的发生,但是由于延迟原因,还是可能发生冲突的。比如现有ABCD四个节点,D检测到信道可用,然后这个消息在传回D的途中,A也检测到信道可用。由于实际线路信号传播需要时间,当A的信道可以信号传回较快时,A先发出了数据报占用了信道,此时D刚收到信道可用的信号,因此也发送数据报,这样一来就产生了冲突,造成了信道传输数据失败,并且由于数据传输后节点就不管了,直到数据报传输完成才会发现错误。由此,人们提出了CSMA/CD协议。

  即带有冲突检测的CSMA协议,该协议与CSMA不同之处在于:CSMA/CD采用了边发边听,不发不听的形式。即当节点发送数据报时也监听信道,一旦发现信道有多个节点使用就停止发送。如下图:

  也正是由于CSMA/CD采用了边发边听,不发不听的形式。当一个数据报发送完成后节点就不会继续监听了,因此我们应该保证数据报的发送时间要大于监听信号的往返时间,即下图公式推导(左边为数据报发送时间,右边为监听信号的RTT时间):

  通过计算,我们可以发现CSMA/CD协议的效率会远高于ALOHA协议。并且该协议常用于以太网之中(因为WiFi网络监听信道强度太难)

  以太网基于CSMA/CD协议,在以太网中,如遇到信道忙的情况,节点会依据二进制指数退避原则选取等待时间,进行等待。该原则可简述为:尝试连接的冲突次数越多,等待时间越长。

  在以太网中的帧结构如下图,其中preamble为前导码,用于接发端的时钟同步,数据字段的最小数据要求也是因为要保证之前所说的数据报的发送时间要大于监听信号的往返时间。

  对于无法在发送数据报时监听信道的情况,人们设计了CSMA/CA(Collision Avoid)协议来解决。其思路就是在结点A在发送数据前,和数据接受方进行预约时段,然后接收方会广播一个ACK给所有的节点,告诉别人从现在开始他只接收结点A的数据,其他人别给他发。当A发送完数据后,接收方又会发送一个ACK告知大家他又可以接收数据了。

  如下图,首先,A检测到信道空闲,他会等待一个DIFS时间,看看这段时间内信道是否仍然保持空闲,如果是,他就开始发送RTS(Request to send)帧来预约,然后A等待ACK信号。这时如果B也发送了RTS,产生了冲突,则接受方AP(Acess Point)就收不到信号,不予理会。A发现没收到ACK,在等待一段时间(该段时间采用随即退避算法设定,效果就是:冲突次数越多退避时间越长)后,重新监听信道,并等待DIFS时间后重发RTS。假设这次成功,AP会在等待一个较短时间SIFS后,广播一个ACK(CTS,clear 同send),之后A接到该ACK,等待SIFS后开始发送数据。发送完毕后,AP又广播一个ACK,告知其他节点他又可以收数据了。

  (泛洪式的发送消息)包含A的IP,MAC和B的IP的消息,同属于一个LAN的BCD都接到了A的消息,但是根据目的IP为B,故CD忽略,B进行回复,将自己的MAC地址发送给A,然后A收到地址,讲该IP,MAC对应关系存在自己的ARP表中。在不同局域网中的ARP

  冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。处于物理层面的(OSI模型)。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。处于数据链路层面(OSI模型)。

  交换机属于链路层设备,并对主机透明(主机感知不到)。交换机具有自动配置参数功能,一般情况下无需软件编写,固有程序都是以专用芯片的方式固化在芯片当中。交换机可以隔绝冲突域,其每段链路都是一个冲突域,但是不可以隔绝广播域。

  既然通过交换机内部进行VLAN的划分,那不同VLAN之间的通信则要协议进行沟通,因此产生了IEEE 802.1Q协议。IEEE 802.1Q,俗称“Dot One Q”,是经过IEEE认证的对数据帧附加VLAN识别信息的协议。该协议通过在数据帧中添加了4字节的内容,并重新计算CRC值来保证正确识别数据帧所属VLAN。

本文链接:http://megsmind.net/dianduidianxieyi/732.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部