(一) 广播信道是一对多的通信,在局域网中使用的最广。所以我们将广播信道就基本上是讲局域网了……
那什么是局域网?网络为一个单位所拥有,且地理范围和站点数据均有限。 这很好理解,对吧?比如说一个学校,一个网吧,一家公司等等之类的,内部网络都是局域网。通过局域网又连接到外网。
局域网有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。