1、以太网的概念 以太网最早由Xerox(施乐)公司在1975年创建。 1980年,DEC(数字装备公司)、lntel(英特尔公司)和Xerox三家公司联合推出以太网(EtherNet)规约,即Ethernet V1标准。 1982年,修改为第二版,DIX Ethernet V2。 1983年,IEEE 802 委员会以DIX Ethernet V2为基础,推出了IEEE802.3标准,IEEE802.3又叫做具有CSMA/CD(载波监听多路访问/冲突检测)的网络。 IEEE802.3以太网标准是应用最为广泛的局域网,包括标准以太网(10Mbit/s)、快速以太网(100Mbit/s)、千兆以太网(1000Mbit/s)和10G(10Gbit/s)以太网系列,它们都采用CSMA/CD访问控制方法,符合IEEE802.3标准。 根据以太网使用的电缆类型和信号处理方法,习惯用类似于“10Base-T”的方式进行命名。这种命名方式由三个部分组成。 10:表示速率,单位是Mbps。 Base:表示传输机制,Base代表基带,Broad代表宽带。 T:传输介质,T表示双绞线,F表示光纤。 2、以太网CSMA/CD工作过程 首先网络中的每个结点都能访问总线,通过总线发送数据,称为多路访问。 在发送数据前,结点需要先“听”一下总线上是否有数据信号,这个过程称为载波侦听。 如果“听”到总线没有数据信号,总线空闲,那么结点就将数据帧发送出去。此时也有可能另一站点同时检测到总线空闲,也发送了数据帧,便发生了“冲突”,如图4所示,在A发送的数据还未到达B站点时、B站点也检测到总线空闲,发送了数据帧,这时便发生了冲突。 所以在发送数据帧的同时,还需要继续监听总线,检测是否发生了冲突,称为冲突检测。如果检测到了冲突,就马上停止数据发送,并发送一个加强干扰信号,用以通知总线上其他各有关站点发生了冲突。 如果检测到有总线上有数据信号,结点便避让一段时间后再尝试。 3、退避算法 上面谈到在监听总线过程中,如果检测到有总线上有数据信号,结点便避让一段时间后再尝试,决定退让时间的方法称为退避算法,常用的退避算法有非坚持、1-坚持、P-坚持3种。 (1)非坚持算法。如果检测到有总线上有数据信号,则等待一个随机时间,再去重新检测总线。它的缺点是,可能有几个站点要发送数据,且都检测到总线上有信号,则都会等待一个随机时间,可能就在这个随时时间里,总线上数据传完,处于空闲状态,故使用率降低。 (2)1-坚持算法。若发生了冲突,则采用二进制指数退避算法延迟一段时间再去检测。它的优点是,总线利用率高,缺点是假若有两个或两个以上的站点有数据要发送,冲突就不可避免。以太网就是采用这种方法。 (3)P-坚持算法。如果检测到总线是空闲的,则以P的概率发送,而以1-P的概率延迟一个时间单位发送。延迟后,再检测,若空闲,再以P的概率发送,1-P的概率延迟发送。P-坚持算法的关键在于选择P的有效值,P过大,冲突就不可避免,P过小,则总线利用率低。 4、以太网帧格式 伴随着以太网的发展,历史上以太网帧格式有五种 ,现在我们介绍的是IEEE802.3一般帧格式,其格式如下图所示:
图中各字段含义如下: 前导码字段(P):作用是使接收端进入同步状态,以便数据的接,其格式为7个字节的10101010; 帧开始标志(SFD):紧跟在前导码字段之后标识本信息帧的开始,其格式为10101011,当控制器将接收帧送入缓冲器时,前导码字段(P)和帧开始标志(SFD)均被去除,类似地当控制器发送帧时,这两个字段作为前缀加入帧中,下面我们在计算最小帧长和最大帧时都是指去除前缀时的长度; 信宿/信源地址(DA/SA):分别对应目的地址和源地址,MAC地址可以用2-6字节来表示,原则上是这样,但实际都是6字节; 数据字段长度(L):表示DATA字段的实际长度,占2字节; 用户数据字段(DATA):长度小于1500字节,存放高层LLC的信息,当该字段长度为1500字节时,帧的最大长度为1518字节; 填充字段(PAD):为保证帧长度不小于64字节,用填充字段,填充字段不大于46字节; 帧检验序列(FCS):4个字节,用于循环冗余校验码。 5、帧的最小长度 以太网发送的帧的长度必须足够大,以确保发送端在收到冲突信号时还在发送数据。也就是说整个帧的发送时间T应当不小于信号在网中“传播距离最大”的两个结点之间传输时间的两倍2t,t为最远站点之的传输时间。 帧传输时间可以这样估算:t=帧从结点到媒体的时间 + 媒体上传输的时间 + 转发器的处理时间。 以IEEE802.3定义的标准CSMA/CD网络10BASE5为例,来分析一下帧实际传输时间的估算。10BASE5的基本特征是:基带传输、速率为10Mbps、采用粗同轴电缆、单段缆线最长500米、最多允许5段,如下图:
图中各数字意义如下: 1、信号发送到结点的时间约2us,即20比特时间; 2、信号从结点到媒体的时间(50米)约0.25 us ,即2.5比特时间。计算方法是传输距离除于传输速率,传输速率约光速的2/3,即200m/ us; 3、介质存取单元(Media Access Unit,MAU)收发时间约2us,即20比特时间; 4、2500米传输所需时间约12.5us,即125比特时间,计算方法同上; 5、4个中继器转发处理时间约8us,即80比特时间(20比特/中继器); 困此,t=(20+2.5+20+125+80) (比特时间) T=(20+2.5+20+125+80)*2 = 512 (比特时间) 即为了保证发送结点在完成发送任务之前可以发现冲突,帧的最小长度规定为512位(64字节),那么根据MAC帧格式可知,当DATA数据字段为0,为保证帧的最小长度为64字节,可填充的PAD字段的最大长度应为46字节。 6、二进制指数退避算法 二进制指数退避算法过程如是,将检测到冲突发生的最长时间2t当作一个时隙: 发生第一次冲突后,站点等待0或1个时隙再开始重传; 发生第二次冲突后,站点随机地选择等待0,1,2或3个时隙再开始重传; 第i次冲突后,在0至2i-1间随机地选择一个等待的时隙数,再开始重传; 当i>=10次冲突,选择等待的时隙数固定在0至1023(210-1)间; 当i>=16次冲突,丢弃该帧,发送失败,报告上层协议。 CSMA/CD的特点是并不能避免冲突的发生,只能解决冲突带来的问题,以太网在共享总线上运行CSMA/CD协议,存在以下特点:共享介质,不适应重负荷应用环境;帧的延迟不能确定,实时性差;无优先级区分,重要的帧和不重要的帧都有相同的权力使用总线;存在碰撞域,以太网内的结点和以太网的覆盖范围受到限制等,但由于设计简单方便,还是得到了广泛应用。
|