免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1052 | 回复: 0
打印 上一主题 下一主题

以太网的 SMA/CD的工作过程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:41 |只看该作者 |倒序浏览
以太网这个名次最早由Bob Metcalfe(3Com的创始人)提出。以太这个词源于物理学,早先人们认为宇宙中充满着以太,认为以太是电磁波的载体(后被否定),电磁波正是以它作为载体传播到宇宙的每个角落。这个名字很生动的描述了网络的特点:广播型网络。
关于以太网的工作机制
以太网的工作机制在IEEE的802.3中有明确的定义,其核心内容就是CSMA/CD-Carrier Sense Multiple Access/Collision Detect(载波侦听多路访问/冲突检测)。这个是以太网区别于其他局域网最显著的特征。
CSMA/CD的工作过程
1. 载波侦听
由于是共享型网络,所以一个站在发送数据前为了避免与其他站同时发消息而产生碰撞,工作站首先要侦听网络的状况,看看传输介质上是不是有载波信号(载波侦 听),其检测过程是:当网卡的一线对产生信号时,此时去测试另一对,若同时出现信号则表示出现了碰撞。这个过程被人们称为:先听后发。
2. 多路访问
意思是:一个节点发送数据可以同时到达多个节点。正好描述了以太网的特征。
3. 碰撞检测
为了避免两个站同时发送数据引入了碰撞检测的机制(设想两个站都准备发送数据而侦听网络,此时介质上没有载波,如果这时两个站都认为可以发送数据而同时发 送,那么冲突还是不可能避免)所以在发送过程中要不停的检测冲突的发生,如果检测到便立刻停止发送。这个过程被称作:边听边发。
4. 回退算法和回退区间
当检测到有碰撞发生时,工作站均会执行这个算法以调整自己的发送时间,从而达到避免碰撞发生。(后面详细介绍)
其发送流程可以简单的下面的流程图概括:


关于算法
下面我们着重来看看回退和回退区间的算法
1. 间隙时间(Slot time):由于以太网帧的数据字段长度是变长的(46-1500字节),所以检测的时间也是可变的,对算法的实现是不利的,所以规定Slot time是网卡发送512bit(64个字节)所用的时间,对于不同速率的以太网标准,这个时间是不同的。为什么规定要取64个字节作为这个标准时间?这 个要看一下以太网帧的结构(以802.3的帧为例)

7 1 6 6 2 46-1500 4
前导码(PRE) 帧首定界(SFD) 目的地址
(DA) 源地址
(SA) 长度
(LEN) 数据区
(DATA) 校验序列
(FCS)

最小的帧长度最少应该包括下面几项:源,目地址;长度字段,数据区(取最小长度);校验序列,所以加起来就是6+6+2+46+4=64(字节),因为这个长度是帧的最小长度,当小于这个长度时帧肯定是不完整的(碎片),所以规定这个最小帧长度为碰撞检测的时间。
还有的书上给出了Slot time的近似算法Slot time≈2S/0.7C+2T(其中S为媒体总长度,C为光速,T为在物理层的延时)另外还有就是:L/R=Slot time(L为最小帧长度,R为网络的传输率);由上面两个算式可以导出:L≈(2S/0.7C+2T)/R,由于碰撞只能发生在小于或者等于L的范围 内,所以L可以理解为媒体上传输的最大碎片长度。
2. 回退算法与回退区间
协议规定:从上一次发生碰撞到重新执行CSMA/CD的时间间隔被称为回退时间。我们把Slot time记为Δt,回退的时间间隔总是Δt的整数倍。回退区间为2的n次方(其中n为碰撞次数),例如:当发生一次碰撞时,区间为2的一次方即2,含义是 区间可以选择0和Δt两种,两站对应的组合可以为:
站点A 站点B
选择0 选择0
选择0 选择Δt
选择Δt 选择0
选择Δt 选择Δt
从表中我们看出:当选择第一和第四种情况的时候,会再次发生碰撞。由此我们不难推出一个一般性的结论:选择的组合数为m×m(其中m=2的n次方)而再次 发生碰撞的几率为m/m²=1/m;由此可以看出,随着n变大后,m成指数变化,相应的碰撞几率会相应的有变小的趋势,但是不可能归 零,所以总是有会出现碰撞的几率。但是碰撞的发生并不是总是无之境的,协议规定n的最大值是10,相应的区间在0~1023Δt,如果达到10以后还可以 有6次重试的机会。当达到16次时则丢弃此帧,向高层报错并将n清零,进行下面的传输。
关于帧扩展技术
由上面的公式L≈(2S/0.7C+2T)/R,可以看出最小帧长度与碰撞域的距离(跨距S)成正比。随着以太网技术的发展,速度达到了1G的千兆以太网 出现,如果仍然按照Slot time为发送64个字节的时间计算,相应的碰撞域范围大约在30m左右,这大大的限制了应用。人们通过采用帧扩展技术增加最小帧长度的方法来达到增加跨 距的目的。具体的做法是把最小帧长度由64个字节增加为512字节。当帧长度小于512字节的时候填充相应的字节数以达到。当超过时则不需要进行扩展。帧 扩展技术只是在半双工模式下采用的,当采用全双工时就不受CSMA/CD的限制,当然也就无碰撞域的概念,相应的也不需要采用扩展技术。其实在现今,交换 机已经代替Hub,相应的端口的模式几乎都处在全双工状态。
关于以太网中继器的个数
现在交换机非常普遍,集线器几乎都已经消失了,但是既然谈到了CSMA/CD就还是提一下这里吧。
在10M以太网中集线器的个数为最多四个(著名的5-4-3-2-1规则),在100M的以太网中为I类最多为1个,II类最多为2个,(其中I类指不能进行编码/解码的,II类为可以进行的)。在1G的以太网中最多为一个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP