- 论坛徽章:
- 0
|
以太网是不可靠的,源主机并不知道目标有没有收到自己发出的数据包,但如果发出的数据包发生错误,源主机会进行重传。以太网的错误主要是发生冲突,冲突是指两台机器同时监听到网络是空闲的,同时发送数据,就会发生冲突,冲突对于以太网来说是正常的。
以太网为什么要设计这样的重传机制。首先,以太网不想采用连接机制,因为会降低效率,但他又想有一定的重传机制,因为以太网的重传是微秒级,而传输层的重传,如TCP的重传达到毫秒级,应用层的重传更达到秒级,我们可以看到越底层的重传,速度越快,所以对于以太网错误,以太网必须有重传机制。
要保证以太网的重传,必须保证源主机收到碰撞信号的时候,数据包没有传完,要实现这一要求,源主机和目标主机之间的距离很关键,也就是信号在源主机和目标主机之间传输的来回时间必须控制在一定范围之内。
IEEE的标准:一个冲突域内,最远的两台机器之间的round-trip time (来回时间)要小于512bit time.(所谓位时就是传输一个比特需要的时间)。这也是我们常说的一个冲突域的直径。
512个位时,也就是64字节的传输时间,如果以太网数据包大于或于等64个字节,就能保证冲突信号到达A的时候,数据包还没有传完。
这就是为什么以太网要最小64个字节,同样,在正常的情况下,冲突信号应该出现在64个字节之内,这是正常的以太网冲突,如果冲突信号出现在64个字节之后,叫late collision(后期冲突)。这是不正常的,是一个真正的错误。
CISCO交换机有一种转发方式叫fragment-free,叫无碎片转发,就是检查64个字节之内有没有错误,有的话不转发,这样就排除了正常的以太网错误包。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/19135/showart_208844.html
[ 本帖最后由 guguoqing 于 2008-12-7 11:03 编辑 ] |
|