前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

计算机软件水平考试《网络工程师》-第3章 数据链路层-02

qiguaw 2025-05-25 14:56:15 资源文章 4 ℃ 0 评论

3.3 广播信道的数据链路

广播信道更多的运用于局域网通信。

3.3.1 共享式以太网

以太网其实就是局域网技术中的一种,现阶段成熟的局域网技术有三种:以太网(Ethernet)、令牌环(Token Ring)和光纤分布式数据接口(FDDI)。

局域网要解决的最大问题就是多台主机都想在网络上传输数据,而同一时间内网络上只允许有一台主机传输数据,否则会产生冲突,导致传输失败。

为了解决上述问题,人们探索了不少巧妙的办法。例如早期的令牌环网就采用令牌方式,整个网络里只有一个“令牌”,谁拿到令牌谁发言,而令牌在网络里按照相关的机制进行传递。

令牌环的缺点:维护复杂、可靠性差、灵活性差、信道利用率低。

相对于令牌环网的诸多缺点,一种设计简单、便捷、灵活性强的局域网技术“以太网”应运而生。最早的以太网一根总线被多台计算机共享。当一台计算机发送数据时,总线上所有的计算机都能检测到这个数据,这就是广播通信方式。也就是说网络上任何计算机都可以选择是否接收线路上传输的所有信息,发给你的你接收,不是发给你的你也同样可以接收。

为了实现广播信道的一对一通信,需要网络中的每块网卡都有一个与其它网卡不同地址。如图3.14计算机A和计算机C进行通信,计算机A给计算机C发送一个帧,此时该帧的数字信号会被传送到链路所有的计算机上,也就是说链路上的所有的计算机都能收到该帧(广播)。为了实现广播信道的一对一通信,就需要给发送的帧添加源MAC地址和目标MAC地址,只有当帧的目标MAC地址和计算机网卡MAC地址一致,网卡才会接受该帧。如果不一致,说明该帧不是发给自己的则丢弃。

广播信道中的计算机发送数据的机会是均等的,但是链路上又不能同时传送多台计算机发送的信号,因为会产生信号叠加相互干扰,因此每台计算机发送之前要判断链路上是否有信号在传输,开始发送后还要判断是否和其它正在链路上传过来的数字信号发生冲突。如果发生冲突,就要等待一个随机时间再次尝试发送。这种机制就是载波监听多点接入/碰撞检测CSMA/CD。

这种模式的以太网被称为共享式以太网,以细同轴电缆10Base2、粗同轴电缆10Base5、和集线器+双绞线为传送介质组建的网络。

注意:以太网的星型拓扑只是你的错觉,实质上它是一种总线型的连接,只不过这根“总线”被隐藏在了集线器或交换机内部。

集线器(hub)的功能和网线一样只是将数字信号发送到其它端口,它并不能识别哪些数字信号是前同步码、哪些是帧定界符、哪些是网络层数据首部。集线器只是把接收到的数据信号进行放大以达到增加传输距离的目的,所以集线器和网线一样工作在物理层。

以太网的两个标准:

Ethernet V2(现实中使用最多)

IEEE 802.3

为了使数据链路层更好的适应多种局域网标准,IEEE 802委员会就把局域网的数据链路层拆分成两个子层,即逻辑链路控制LLC(Logical Link Control)子层和媒体接入控制MAC(Medium Access Control)子层。与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种传输媒体和MAC子层的局域网对LLC子层来说都是透明的。

3.3.2 MAC地址

MAC地址的长度为48位(6个字节),通常表示为12个16进制数。

如:00-16-EA-AE-3C-40就是一个MAC地址。

其中前3个字节,16进制数00-16-EA代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后3个字节,16进制数AE-3C-40代表该制造商所制造的某个网络产品(如网卡)的系列号。只要不更改自己的MAC地址,MAC地址在世界是唯一的。形象地说,MAC地址就如同身份证上的身份证号码,具有唯一性。

3.3.3 CSMA/CD协议

共享信道要着重考虑的一个问题就是如何使众多用户能够合理而方便地共享通信媒体资源。这在技术上有两种方法:

(1)静态划分信道,使用频分复用、时分复用、波分复用、码分复用来划分信道,用户只要分配到了信道就不会和其它用户发生冲突。但这种划分信道的方法代价较高,不适合于局域网使用。

(2)动态媒体接入控制,又称为多点接入,其特点是信道并非在用户通信时固定分配给用户。分为以下两类:

随机接入:其特点是所有的用户可随机地发送信息。但如果恰巧有两个或更多的用

户在同一时刻发送信息,那么在共享媒体上就要产生碰撞(即冲突),

使得这些用户的发送都失败。因此,必须有解决碰撞的网络协议。

受控接入:用户不能随机的发送信息而必须服从一定的控制。这类的典型代表有

分散控制的令牌环局域网和集中控制的多点线路探询(polling),或

称为轮询

CSMA/CD是一种解决访问冲突的协议。

载波监听多点接入/碰撞检测(CSMA/CD)工作原理:

发送数据前先监听信道是否空闲,若空闲,则立即发送数据。在发送数据时,边发送边监听。若监听到冲突,则立即停止发送数据,等待一段随机时间再重新尝试。

在使用CSMA/CD协议时,一台计算机不可能同时进行发送和接收,因此使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行半双工通信

1.载波监听

就是用电子技术检测总线上有没有其它计算机在发送数据,如果有,则接入类似退避算法的程序,进而反复进行载波监听工作;如果没有,则依据一定的坚持(监听)算法决定如何发送。

以太网规定了帧间最小间隔为9.6μs,使接收方在接收完数据后清理缓存,做好接收下一帧的准备。

坚持算法可以分为以下三类:

(1)1-持续CSMA。

当信道忙或发生冲突时,要发送帧的站一直持续监听,一旦发现信道有空闲(即在帧间最小间隔时间内没有检测到信道上有信号),便可发送。

如果信道空闲,发送消息,否则转

如果信道忙,随时监听,一有空闲,发送消息

特点:有利于抢占信道,减少信道空闲时间;较长的传播延迟和同时监听,会导致多次冲突,降低系统性能。

(2)非持续CSMA

发送方并不持续监听信道,而是在冲突时等待随机的一段时间N,再发送。

如果信道空闲,则发送消息,否则转

如果信道忙,后退一个随机时间,转

特点:有更好的信道利用率,由于随机时延后退,从而减少了冲突的概率;然而,可能出现的问题是因为后退而使信道闲置一段较长的时间,这会使信道的利用率降低,而且增加了发送时延。

(3)P-持续CSMA

发送方按P概率发送帧。即信道空闲时(即在帧间最小间隔时间内没有检测到信道上有信号),发送方不一定发送数据,而是按照P概率发送。以1-P概率不发送,若不发送数据,下一时间间隔τ仍空闲,同理进行发送;若信道忙,则等待下一时间间隔τ;若冲突,则等待随机的一段时间重新开始。τ为单程网络传输时延。

①如果信道空闲,则有概率P发送消息,用(1-P)的概率延迟一个空闲单位。一个时间单位为τ(tao)

②如果信道忙,随时监听,直到信道空闲,转①

③延迟一个时间单位后,转①

特点:P的取值比较困难,大了会产生冲突,小了会延迟等待时间。

假定n个发送站等待发送,此时发现网络中与数据传送,当数据传输结束时,则有可能出现n×P个站发送数据。

如果n×P>1,则必然出现多个站点发送数据,这也必然导致冲突。有的站传输数据完毕后产生新帧,与等待发送的数据帧竞争,很可能加剧冲突。

如果P太小,例如P=0.01,则表示一个站中100个时间单位才会发送一次数据,这样99个时间单位就空闲了,造成浪费。

2.多点接入

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

3. 碰撞检测冲突检测)

CSMA/CD采用“边发送边监听”方式,即边发送边检测信道信号电压变化,如果发现信号变化幅度超过一定限度,则认为总线上发生了“冲突”。

为了能够检测到正在发送的帧在总线上是否产生冲突,以太网的帧不能太短,如果太短就有可能检测不到自己发送的帧产生了冲突。

如图3.16所示,以1000m的同轴电缆,带宽为10Mb/s的网卡为例,来计算从计算机A发送数据到检测到冲突需要的最长时间,以及在这期间发送了多少比特,以此来计算该网络的最短帧。

电磁波在1000米同轴电缆的传播时延大约为5μs,信号传播速度为200m/μs。总线上单程端到端传播时延称为τ。冲突检测用时最长的情况是计算机A发送的数据刚好到达计算机B时,计算机B也刚好发送数据给计算机A,计算机A检测出冲突所需时间为2τ,即5×2=10μs,在此期间计算机发送的比特数量为10Mb/s×10μs=100bit。所以该网络的最短帧为100比特,如果小于100比特,就有可能检测不到该帧在链路上产生冲突。

如图3.17所示,计算机A发送的帧只有80比特,在C处与计算机B发送的信号发生碰撞,发送完毕时,碰撞的信号还没有到达计算机A,此时计算机A会认为发送成功,等碰撞后的信号到达计算机A时它已经无法判断是自己发送的帧发生了碰撞,还是总线上的其它计算机发送的帧发生了碰撞。

以太网设计的最大端到端长度为5km,单程传播时延大约为25.6μs,10Mb/s标准以太网的最小帧为:

10Mb/s×25.6μs×2=512bit

512bit即64字节,所以以太网的最短帧为64字节。

以太网发送数据帧时如果前64字节没有检测出冲突,那么后面发送的数据就一定不会发生冲突。即如果发生碰撞,就一定在前64字节之内,凡是长度小于64字节的帧都是由于冲突而异常终止的无效帧,只要收到了这种无效帧,就应当立即将其终止。

例题:采用CSMA/CD协议的基带总线,其段长为1000m,中间没有中继器,数据速率为10Mb/s,信号传播速度为200m/μs。为了保证在发送期间能够检测到冲突,则该网络上的最小帧长应为( )比特。

最小帧长=网络速率×2×(最大段长/信号传播速度+站点延时)

10Mb/s×2×(1000m / 200 m/μs)=100bit

本例中的站点延时为0。

4. 退避算法

CSMA/CD只能减少冲突,不能完全避免冲突。以太网使用“截断二进制指数退避算法”来解决发送数据的碰撞问题。

计算机要想知道自己发送的帧在链路上是否发生碰撞必须等待2τ,2τ被称称为争用期(发生碰撞需要的最长时间)

“截断二进制指数退避算法”规定:发生碰撞的站在空闲后并不立即发送数据,而是推迟一个随机时间再进入发送流程。这种方法减少了重传时再次发生碰撞的概率。

如此可见,重传数次越多,则退避的时间就越长,称为动态退避。

该算法的特点是网络负载越重,可能后退的时间越长,没有对优先级进行定义,不适合突发性业务和流式业务。

小结:

1、共享式以太网的典型代表是使用10base2/10base5的总线型以太网和使用双绞线并用集线器连接的星型以太网,而后者,物理结构上是星型拓扑,而在逻辑上网内的主机依然是在同一条总线上。

2、总线形结构的特点决定了整个网络都处于同一个冲突域,若有两台主机要同时发送数据,则必然会产生冲突。为解决冲突,引入了CSMA/CD协议,而CSMA/CD协议要求网卡在发送数据之前必须侦听,因此这种总线结构也同样决定了网内主机的网卡以半双工模式工作。

3、集线器的每一个端口都同在一个冲突域中,CSMA/CD检测的整个同处一个冲突域每一个端口的每一种状态。它既侦听网络中正在发送的数据包,也侦听网络中正在接收的数据包。因为,它只有1条通道。就像总线一样,所有数据都在同一个通道内跑。CSMA/CD必须侦听到没人使用,它才发送数据包。

4、交换机虽然每一个端口都是一个独立的冲突域,端口之间并不相互冲突。可如果实在半双工工作模式下,一个端口中的接收和发送就产生冲突了。这个时候,CSMA/CD冲突检测机制将侦听在这个端口上是否有数据正在被接收而占用。所以,交换机在半双工工作模式下工作,网卡同样会启用CSMA/CD冲突检测机制来避免冲突的发生。

5、如今的以太网都是交换式的了,它以二层交换机为核心(取代了集线器的位置),交换机的每个端口都是一个独立的冲突域,假如这个端口连接唯一的一台主机,那么用于解决共享式以太网冲突的CSMA/CD协议就无用武之地了,既然没有了碰撞,那么发送和接收数据就不需要共用一条“总线”了,可以用两条线路分别用于发送和接收(即全双工模式)。当然,如果手动设定网卡以半双工模式工作,或者是网卡不支持全双工模式,或者这个端口连接的是一个集线器,那么这个端口必须工作在半双工模式。

6、802.3标准规定,在全双工模式下,不使用(实现)在传统共享式局域网中用于仲裁的CSMA/CD协议。

(未完待续)

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表