传统 以太网 时隙(slot time) 理解

时隙在一般的数字通信原理中是这样定义的:
由各个消息构成的单一抽样的一组脉冲叫做一帧,一帧中相邻两个脉冲之间是时间间隔叫做时隙.

而以太网的时隙有它自己的特定意义.
(1)在以太网CSMA/CD规则中,若发生冲突,则必须让网上每个主机都检测到。但信号传播到整个介质需要一定的时间。 
(2)考虑极限情况,主机发送的帧很小,两冲突主机相距很远。在A发送的帧传播到B的前一刻,B开始发送帧。这样,当A的帧到达B时,B检测到了冲突,于是发送阻塞信号。 
(3)但B的阻塞信号还没有传输到A,A的帧已发送完毕,那么A就检测不到冲突,而误认为已发送成功,不再发送。 
(4)由于信号的传播时延,检测到冲突需要一定的时间,所以发送的帧必须有一定的长度。这就是时隙需要解决的问题。

这里可以把从A到B的传输时间设为T,在极端的情况下A要在2T的时间里才可以检测到有冲突的存在

1,电磁波在1KM电缆的传输时延约为5us(这个数字应该记下来~~~),如果在理想情况下

2,在10Mbps的以太网中有个5-4-3的问题:10 Mb/s以太网最多只能有5个网段,4个转发器,而其中只允许3个网段有设备,其他两个只是传输距离的延长。按照标准,10Mbps以太网采用中继器时,连接最大长度为2500米!

那么在理想的情况下,时隙可以为2500/1000*5*2us=25us,但是事实上并非如此简单.实际上的时隙一定会比25us大些.接下来说明一下~~~

3,在以太网在,时隙也可以叫做争用期,只有经过争用期这段时间没有检测到冲突碰撞,发送端才能肯定这次发送不会发生碰撞.然后当发生了碰撞而停止之后,以太网上的机器会再次侦听,再发送,这就有个再次碰撞的可能性,这里以太网使用了截断二进制指数类型的退避算法来解决,在碰撞之后,会推迟一个随机时间(具体略),这也会对争用期的选择有些影响.
而这个截断二进制指数类型的退避算法的有关说明,可以看看我回的这个帖子~
http://bbs.net130.com/showthread.php?s=&threadid=75968



基于上面所说的原因,也因为考虑到了端到端时延,而且还包括其他的许多因素,如可能存在的转发器所增加的时延等等~~~~以太网取51.2us为争用期,也就是时隙

对于10Mbps以太网来说,10Mb/s*51.2us=512bit,所以一般说的512bit时隙长度就是这样来的,这个长度为512/8=64字节.以太网在发送数据时,如果在前面64字节没有发生冲突的话,那么后续的数据就不会发生冲突,以太网就认为这个数据的发送是成功的.

100Mbps和1000Mbps以太网的时隙 
(1)100Mbps以太网的时隙: 
100Mbps以太网的时隙仍为512位时,以太网规定一帧的最小发送时间必须为5.12μs。
(2)1000Mbps以太网的时隙 
1000Mbps以太网的时隙增至512字节,即4096位,这个还望DX来指点.....


帧间间隔的概念:
MAC子层的标准还规定了帧间最小的间隔是9.6us,相当于96bit的发送时间,就是说一个主机在检测到总路线开始空闲后,还要等待9.6us才能发送数据.这样做是为了使刚刚收到的数据帧的主机的接收缓存来得及清理,做好接收下一帧的准

100Mbps以太网改变了10Mbps以太网的某些规定,其中最主要的是要在数据发送速率提高时使"单程传播时延与帧的发送时延之比"(a参数)仍然保持不变或者保持为较小的数值,(这个值可以影响以太网信道的利用率)

而为了使a参数保持不变,可以把帧度L增大到原来10倍(100M/10M),也可把网络的线长到原来的10分之1.

在100Mbps的以太网中采用的是保持原来的最短帧不变(和10M的兼容,同为64B),但把线长减到100米.而帧间隔由10M的9.6us减到0.96us~~~~


而对于Gbps以太网来说,情况也类似.
G网仍然保持一个网段的最大距离为100M,但采用了"载波延伸"(carrier extension)的方法,使最短帧长仍为64B(为了向下兼容性),同时将争用时间增大到512B,也就是楼主问的4096bit
凡发送的MAC帧长不足512B的,就用特殊字符填充在帧之后,但这对有效的载荷并无影响.

但是如果一个允许的最短的帧64B要发送时,也要将帧填充到512B,那么填充的448B就显得很浪费了,于是G网就采用了称为"分组突发"(packet bursting)的方法.就是当很多短帧要发送时,第一个短帧要采用上面所说的"载波延伸"来填充到512B,而之后的一些短帧就可以一个个地接着发,它们之间只留有必要的帧间最小间隔就可以了.这样就可以形成一串分组的突发,真到1500B或者稍多一点.

而这些都是基于以太网使用CSMA/CD时必须要规定的,而当以太网工作在全双工的模式下时,可以禁用CSMA/CD协议,这时就不必采用一些为了防止冲突而要进行的规定了....

而关于全双工时CSMA/CD的使用关系,可以参照这个帖子:
http://bbs.net130.com/showthread.php?s=&threadid=51630

  • 6
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
时隙aloha是一种随机接入协议,用于多用户共享同一个信道的通信。它的原理是将发送数据的时刻分成不同的时隙,每个用户在不同的时隙内随机选择是否发送数据,如果多个用户在同一个时隙发送数据,就会发生碰撞,从而需要重新发送数据。 在Matlab中,可以通过简单的代码来模拟时隙aloha的工作原理。首先,我们可以定义几个用户和它们的发送概率,然后通过随机数来决定每个用户在每个时隙是否发送数据。当有多个用户在同一个时隙发送数据时,就会发生碰撞,需要重新发送。我们可以通过计算碰撞概率和吞吐量等指标来评估时隙aloha的性能。 以下是一个简单的时隙aloha Matlab代码示例: ```matlab % 定义用户数量 num_users = 10; % 定义用户的发送概率 send_prob = 0.5; % 模拟100个时隙 num_slots = 100; % 初始化碰撞次数 collision_count = 0; % 模拟每个时隙 for slot = 1:num_slots % 对每个用户进行随机选择是否发送数据 for user = 1:num_users if rand < send_prob % 发送数据 if exist('last_send_time','var') && last_send_time == slot % 发生碰撞 collision_count = collision_count + 1; end last_send_time = slot; end end end % 计算碰撞概率 collision_prob = collision_count / num_slots; % 输出碰撞概率 disp(['碰撞概率为:', num2str(collision_prob)]); ``` 通过这段代码,我们可以模拟时隙aloha协议在特定条件下的性能表现,从而更好地理解和分析这种随机接入协议的特点和优劣势。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值