我们一起学网络(二)——数据链路层(CSMA/CD协议)

 (一) 广播信道是一对多的通信,在局域网中使用的最广。所以我们将广播信道就基本上是讲局域网了……

        那什么是局域网?网络为一个单位所拥有,且地理范围和站点数据均有限。       这很好理解,对吧?比如说一个学校,一个网吧,一家公司等等之类的,内部网络都是局域网。通过局域网又连接到外网。

        局域网有3个有点:(1)有广播功能,从一个机器可以访问到整个网络 (2)方便扩展,设备的位置灵活可变 (3)提高了系统的可靠性、可用性、生存性

        局域网按照网络拓扑方式分的话分为3中:(1)星形网 (2)总线网 (3)环形网    以前呢,用的最多的是总线网,因为总线网是用无源(没电源)线缆作为数据传输的介质,那时候人们认为无源的设备比较稳点,安全。现在呢,网络发达了,大规模集成电路的质量上去了,所以用的最多的是星形网,星形网用一个集线器来接收信息并广播到所有的结点上。其实星形网中的集线器就相当于总线网中的总线。

        以太网就是现在用的最广泛的局域网,共有两个标准。第一个是 DIX Ethernet V2,另一个是IEEE 802.3。    IEEE 802.3把局域网的链路层拆为两个子层,(1)逻辑链路控制LLC (2)媒体接入控制MAC。    由于各种原因,LLC已经基本不用了。所以我们着重介绍MAC

        讲MAC之前,我们需要先了解一下 适配器,适配器又叫网卡。网卡最大的功能是缓冲数据再发送,避免了网络数据率和总线数据率不同而可能引起的问题。每个适配器里都有一个独一无二的,固定的物理地址,这个物理地址就是我们所说的MAC地址。所谓广播就是集线器给局域网内的各个站点发送出此数据帧后,只有适配器的MAC地址与数据帧中的目的地址匹配的那个站才接收数据,其他的站就丢掉帧。

 

下面讲个重点的重点,以太网采用的协议CSMA/CD协议。 CSMA/CD的意思的载波监听多点接入/碰撞检测 (这里的载波不是指那种传输数据的载波,只是借用一个这个词)

多点接入:就是说网络是总线型的(星形网也是总线型的一种)。CSMA/CD是双向交替通信(半双工通信)

载波监听:不管发送前,还是发送中,每个站必须不停的检测信道。 发送前检测,是为了获得发送权,如果检测出信道中有数据,就不能发送。发送中检测,是为了及时发现有没有和其他的数据碰撞,也就是下面要说的碰撞检测

碰撞检测:当两个或以上的站发传送的数据同时在总线上时,总线上的电压变化幅度就会变大,容易造成传输中的数据损坏。

 

那么,这里有一个问题,既然我们在发送前进行了监听,监听到信道是“空闲”的才发送的数据,为什么还会发送碰撞?这是一个严重的问题。。。。。。

我们要知道,电磁波在电缆中传播是需要时间的,电磁波在1Km的电缆中传播时延为5μs。就是假如说,我A和B距离1km,A发出信息,B要5μs才能检测到,在这5μs内,B认为信道空闲,万一B一不小心在这5μs内发送了数据,,就会造成碰撞。咱还是用图说话吧。。。。

                                                               

我们把这种单程端到端传播时延极为τ   那端到端往返的传播时延自然就是2τ了。这个2τ这段时间呢,有个名词,叫争用期。争用期过了还没检测出碰撞,才能肯定这次发送肯定不会发送碰撞,数据顺利发送完毕了。争用期一般为51.2μs

那么碰撞以后呢?一旦检测到碰撞,则站点立刻终止发送数据,这样的话,数据就没有帧尾部。数据就不完整,接收方收到数据以后就会发现数据部完整,就把他丢弃了。为了防止数据过短,在检测到碰撞时数据已经发送完,造成接收端收到错误的数据,所以,我们规定最短的帧长度为64字节(不满64的加入填充字节),即512bit。与争用期相同。所以我们就可以说凡是长度小于64字节的帧都是由于碰撞而异常中止的无效帧。

碰撞中断帧的发送后会涉及一个重传的问题,以太网的解决方法是,使用退避算法来决定帧的重传。

退避算法:从离散的整数集合【0,1,…,(2k-1)】中随机取出一个数,记为r,重传推后时间是r倍的争用期。  k=Min【重传次数,10】。重传次数超过10次就取10,超过16次就把帧丢掉并报告给高层(TCP层)。

例如:第一次重传,k=1,r就从(0,1)里面选,因此重传推迟时间就为0或者2τ。如果还碰撞,第二次重传,k=2,r就从(0,1,2,3)选。重传推迟时间就为(0,2τ,4τ,6τ)中的其中之一。

最后介绍下【强化碰撞】的概念。 发生碰撞以后,除了立即停止发送数据,发送端再发送32bit或者48bit的人为干扰信号。目的是让局域网中所有用户都知道发生了碰撞。

最后一点是,以太网规定了 帧间最小间隔为9.6μs。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值