我是靠谱客的博主 知性飞鸟,最近开发中收集的这篇文章主要介绍数据链路层(3.使用广播信道的数据链路层)一、局域网的数据链路层二、CSMA/CD协议 三、使用集线器的星形拓扑四、以太网的信道利用率 五、以太网的MAC层,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

        1.和2.中介绍了数据链路层的两种类型之一的点对点信道。这一节介绍另一种类型广播信道。

广播信道可以进行一对多的通信。因为局域网使用的就是广播信道,因此介绍局域网来介绍广播信道。

一、局域网的数据链路层

        局域网的网络为一个单位所有,且地理范围和站点数目均有限。

局域网的主要优点:

        1. 具有广播功能,从一个站点便可以访问全网。局域网上的主机可以共享连接在局域网上的所有硬件和软件资源。

        2. 便于系统的扩展和逐渐演变,各设备的位置可以灵活调整改变。

        3.提高了系统的可靠性、可用性、生存性。

局域网按拓扑类型分类:

媒体共享技术:

        静态划分信道:

                频分复用、波分复用、时分复用、码分复用等。但是不适合局域网使用。

        动态划分信道(多点接入):

                随机接入:所有用户可以随机地发送信息。若有两个或多个用户同时发布信息,那么在          共享媒体上将产生碰撞,使得发送失败。因此需要有解决碰撞的网络协议

                受控接入:用户不能随机地发送信息,必须受到一定的控制。代表有分散控制的令牌环         局域网和集中控制的多点线路探询(轮询)。受控接入使用较少。

1. 以太网两个标准:

(1)DIX Ethernet V2:

        以太网是美国施乐公司研制成功的。之后DEC公司、英特尔和施乐公司联合制定了DIX V1,之后迭代为DIX Ethernet V2,成为世界上第一个局域网产品的规约。

(2)IEEE802.3标准:

        IEEE802委员会(专门制定局域网和城域网的机构)制定的第一个以太网标准。它与DIX Ethernet V2标准只有很小的差别。

IEEE802委员会为了适应多种局域网标准,将数据链路层分成了两个子层:

        逻辑链路控制LLC子层:不管采用何种协议的局域网,对 LLC 子层来说都是透明的。

        媒体接入控制MAC子层:与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关。

        随着互联网发展,最终LLC子层作用几乎消失,最后厂商生产的适配器上就只装有MAC协议了。

2. 适配器的作用

        网络接口板又称为通信适配器 网络接口卡 NIC,或“网卡”。计算机与外界局域网的连接是通过适配器进行的。

适配器的重要作用:

        进行串行并行转换。

        对数据进行缓存。

        在计算机的操作系统上安装设备驱动器。

        实现以太网协议。

        

二、CSMA/CD协议

        最初以太网是将许多计算机连接在一根总线上,当初认为这种连接方法可靠又简单,因为无源。

        当有一台计算机发送信息时,总线上的所有计算机都可以接受到这个数据。这就是广播通信。但是并不是所有的通信都是一对多,也会有一对一的通信。

为了通信的简单,以太网采用以下两种措施:

(1)采用较为灵活的无连接工作方式

        即不必先建立连接就可以直接发送数据

        适配器对发送的数据也不进行编号,也不要求对方发回确认

        这样做是因为局域网信道质量很好,因信道质量产生差错的可能性很小。

        以太网提供的服务时尽最大努力交付,即不可靠交付

        当接收到错误数据帧时(CRC检测出错)直接丢弃,什么也不用做。例如:若高层使用TCP协议,那么TCP就会发现少了一些数据,要求重传。但以太网并不知道这是重传,而是把这当成新数据传

(2)以太网发送的数据都采用曼彻斯特编码的信号

        拥有自同步能力,但是占用的频带宽度比原始的基带信号增加了一倍(因为每秒传送的码元数增加了)。

载波监听多点接入/碰撞检测CSMA/CD协议:

多点接入

        说明是总线型网络,许多计算机以多点接入的方式连接在一根总线上。

载波监听

        是指每个站点在发送数据前都要监听一下总线上是否有数据在发送。如果有,就暂停发送,避免发生碰撞。

碰撞检测

        也就是便发送边监听,即适配器边发送数据边检测信道上信号电压的变化,以判断自己在发送数据的时候其他站是否也在发送数据(发送前双方数据还未到达传播至彼此,因此"载波监听未监听到")。

1. 为何进行碰撞检测

        因为电磁波在总线上的速度是有限的,这意味着信息传播是需要时间的。当某个站点监听到总线是空闲的可能并非是真的空闲。可能只是信号还未传播到该站点

        例如:A向B发送信息,要经过一段时间才可以传送到B,B在A的信息还未到达时发送了自己的帧(此时A的帧还未传播到B,所以载波监听到总线是空闲的),则A和B发送的帧在某一刻必然会碰撞,导致二者信息都不可用。

2. 信号传播时延对载波监听的影响

电磁波在1km的电缆中传播时延约为5μs。

 

如图所示,设τ为A发送信号到达B的时间,δ表示A信号还有δ的时间到达B。

        可见,如果δ为0则表示A的信号已经到达B,此时B便可以通过载波监听得知总线被占用,则不再发送自己的帧。

        如果δ不为0,则表示两者都发了信息,必然会碰撞。对A来说,想要了解到是否碰撞,就得持续监听,直到超过一定时间或者监听到B发送的信号。B发送的信号到达A的时间为2τ-δ。当δ无限接近0时,A检测到碰撞用时最长,为2τ。

        也就是说只要A发送信号经过了τ之后便可到达B,但是此时A还需要监听,因为并不知道是否碰撞。然而当A发送信息后,经过2τ也未监听到碰撞,则之后不会在碰撞。

3. CSMA/CD重要特性

        使用该协议的以太网不能同时接收和发送数据,即不能进行全双工通信,只能进行半双工通信(双向交替通信)。

        在发出信息后一小段时间内,存在碰撞的可能。

        这种发送不确定性导致以太网的平均通信量远小于以太网的最高数据率。

4. 争用期

        在2中得知,最先发送数据的站在最多经过2τ后便可以知道是否发生了碰撞,超过这个时间可以必定不会发生碰撞。

        称以太网端到端往返时间2τ为争用期。又称为碰撞窗口。只有经过争用期之后没有检测到碰撞才能肯定不会发生碰撞,才能放心的把这一帧发送完毕。

5. 二进制指数类型退避算法

        当一个站发送数据后发生碰撞,需要等待一定时间再重传,不然下次依旧会碰撞。用二进制指数类型退避算法来确定等待时间。

        基本退避时间为争用期2τ。

        从整数集合[0,1,…, (2^k -1)]中随机地取出一个数,记为 r。重传所需的时延就是 r 基本退避时间

        k计算方法:k = Min[重传次数, 10]。     

        当 k 小于等于 10 时,参数 k 等于重传次数。当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告

6. 最短帧长度

        假设某一个站发送了一个很短的帧,在这个帧发送完毕后,还没有到达目的地发生了碰撞。由于这个帧已经发送完毕,则发送端并不知道这个帧已经被废弃。

        为了解决上述情况,规定最小帧长度为64字节,即512bit。当发送数据非常少时,需要加入一些填充字符。

        这时,因为发送端发送的所有帧最小都是64字节,如果接收端接收到小于64帧的信息则立刻废弃,因为凡是小于64字节的帧都是由于冲突而异常终止的帧

7. 争用期长度

        电磁波在1km的电缆中传播时延约为5μs

        对于10Mbit/s的以太网,发送512bit(64字节)需要51.2μs,则确定51.2μs为争用期长。

        那么以太网端到端的最大距离时延必须小于争用期的一半,即25.6μs。这相当于以太网端到端的最大距离为5km。实际没有这么大。

8. 强化碰撞

        当发送数据的站一旦发生碰撞:

        (1)立即停止发送数据。

        (2)再继续发送若干比特的人为干扰信号

                

9. 帧间最小间隔

        以太网规定帧间最小间隔为9.6μs.这是为了使刚刚接收到数据帧的站接收缓冲来得及清理。

10. CSMA/CD协议流程

(1) 准备发送
        但在发送之前,必须先检测信道。
(2) 检测信道
        若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在 96 比特时间内信道保持空闲 (保证了帧间最小间隔),就发送这个帧。
(3) 检查碰撞
        在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有两种可能性:
①发送成功:在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么也不做。然后回到 (1)。
②发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待 r 倍 512 比特时间后,返回到步骤 (2),继续检测信道。但若重传达 16 次仍不能成功,则停止重传而向上报错

 三、使用集线器的星形拓扑

        以太网最初使用的时粗同轴电缆,之后发展为便宜的细同轴电缆。最后使用更便宜更灵活的双绞线。

        采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设别,叫做集线器

        

双绞线两端使用RJ-54插头。

IEEE制定了星形以太网 10BASE-T 的标准802.3i。

        10代表10Mbit/s的数据率。

        BASE代表连接线上的信号时基带信号。

        T代表双绞线。

集线器的特点:

 1. 集线器使用电子器件来模拟实际电缆线的工作,使用的还是CSMA/CD协议,像传统的以太网一样运行。

2. 使用集线器的以太网在逻辑上依旧是一个总线,各站共享逻辑上的总线,使用的还是CSMA/CD协议

3. 一个集线器有许多接口,每个接口通过RJ-54插头用两对双绞线与一台计算机上的适配器相连。。

         

4. 集线器工作在物理层,每个接口仅仅简单的转发比特,不进行碰撞检测

5. 集线器采用专门的芯片,进行自适应串音回波抵消。

四、以太网的信道利用率 

        假定一个10Mbit/s的以太网同时拥有10个站工作,那么每个站发送速率的平均速率似乎是总速率的1/10。然而并不是,因为还会发生碰撞,导致信道利用率不到100%。

设帧长为L,数据传输速率为C,则帧发送时间为T0=L/C

成功发送接收一个帧的时间为T0+τ(极限值)。因为发送之后还要传播,传播时间肯定比τ小,这是极限值。

以太网参数α:

        假设不会发生碰撞,那么发送一个帧的时间为T0+τ,定义α为:

                                               α = τ/T0

α →0 ,表示 一发生碰撞就立即可以检测出来 并立即停止发送,因而信道利用率很高。
α 越大,表明争用期所占的比例增大,每 发生 一次碰撞就浪费许多信道资源,使得 信道利用率 明显降低。

        因此α应尽量小一些,这意味着但数据率C一定时,以太网长度收到限制(不然τ就会变大),同时以太网的帧的长度不能太短。

信道利用率的最大值Smax:

        假设各站发送的数据不会碰撞,不是CSMA/CD协议了,总线一旦空闲就立刻发送数据。

        发送一帧的时间为T0+τ,而帧本身的发送时间为T0,则极限信道利用率为:

                Smax = T0 / (T0+τ) = 1 / (1+α)

        只有当参数α远小于1才能得到尽可能高的信道利用率。

        据统计,当以太网利用率达到30%时就已经处于重载的情况了。很多网络容量被碰撞消耗了。

五、以太网的MAC层

1. MAC层的硬件地址

        在以太网中,硬件地址又称为物理地址,或MAC地址

        准确来说,地址应当是某个站的标识符或名字

        IEEE 802 标准规定 MAC 地址字段可采用6字节或2字节这两种中的一种。

48位的MAC地址:

        IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。

        地址字段 6 个字节中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展唯一标识符必须保证生产出的适配器没有重复地址

        

        一个地址块可以生成 224 个不同的地址。这种 48 位地址称为 MAC-48,它的通用名称是 EUI-48。生产适配器时,6 字节的 MAC 地址已被固化在适配器的 ROM,因此,MAC 地址也叫作硬件地址或物理地址。“MAC地址”实际上就是适配器地址或适配器标识符 EUI-48。

 I/G位:

        IEEE规定地址字段的第一字节的最低位I/G 位。I/G 表示 Individual / Group。
        当 I/G位=0 时,地址字段表示一个单站地址
        当 I/G位=1 时,表示组地址,用来进行多播(以前曾译为组播)。此时,IEEE 只分配地址字段前三个字节中的23位。
        当 I/G 位分别为 0 和 1 时,一个地址块可分别生成 224 个单个站地址和 224 个组地址
        所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。

G/L位:

        IEEE 把地址字段第一字节的最低第 2 位规定为 G/L 位,表示 Global / Local。
        当 G/L位=0 时,是全球管理保证在全球没有相同的地址),厂商向IEEE购买的 OUI 都属于全球管理。
        当 G/L位=1 时, 是本地管理,这时用户可任意分配网络上的地址。

适配器检查MAC地址:

        适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址。
                如果是发往本站的帧则收下,然后再进行其他的处理。
                否则就将此帧丢弃,不再进行其他的处理。
                “发往本站的帧”包括以下三种帧:
                        单播 (unicast) 帧(一对一)
                        广播 (broadcast) 帧(一对全体)
                        多播 (multicast) 帧(一对多)

        以混杂方式工作的以太网适配器只要“听到”有帧在以太网上传输就都接收下来。

2. MAC帧的格式

        常用的以太网 MAC 帧格式有两种标准 :
                DIX Ethernet V2 标准
                IEEE 的 802.3 标准

        最常用的 MAC 帧是以太网 V2 的格式。

MAC层帧:

        第一字段第二字段为目的地址和源地址,都是6个字节。

        第三字段是类型,2个字节,表示上一层用的是什么协议。例如0×0800表示上层用的IP数据报。

        第四个字段是数据字段,长度在46到1500字节之间。(46计算方法:最小长度64字节减去18字节的首部和尾部)。

        第五个字段是帧检验序列FCS(使用CRC检测)。

 物理层帧:

        在帧的前面插入(硬件生成)的 8 字节中,第一个字段共 7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段 1 个字节是帧开始定界符,表示后面的信息就是 MAC 帧。

无效的帧:

        数据字段的长度与长度字段的值不一致;
        帧的长度不是整数个字节;
        用收到的帧检验序列 FCS 查出有差错;
        数据字段的长度不在 46 ~ 1500 字节之间。
        有效的 MAC 帧长度为 64 ~ 1518 字节之间。

最后

以上就是知性飞鸟为你收集整理的数据链路层(3.使用广播信道的数据链路层)一、局域网的数据链路层二、CSMA/CD协议 三、使用集线器的星形拓扑四、以太网的信道利用率 五、以太网的MAC层的全部内容,希望文章能够帮你解决数据链路层(3.使用广播信道的数据链路层)一、局域网的数据链路层二、CSMA/CD协议 三、使用集线器的星形拓扑四、以太网的信道利用率 五、以太网的MAC层所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部