[网络基础]以太网的最大和最小帧长是怎样计算的

1、以太网的最小帧长

前提条件:10Mbps的传输速率;载波多路复用/冲突检测(CSMA/CD)

(1)、CSMA/CD

(Carrier Sense Multiple Access with Collision Detection)带冲突检测的载波监听多路访问技术(载波监听多点接入/碰撞检测)。在传统的共享以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。

载波监听(carrier sense):以太网上的各个工作站在发送数据时,都要监听总线上有没有数据正在传输。

若有数据传输(称总线为忙),则不发送数据

       若无数据传输(称总线为空),可以立即发送准备好的数据

多路访问:

以太网上的各个工作站在发送数据时,共用一条总线,且发送数据是广播式的

冲突(碰撞):以太网上有两个或两个以上的工作站同时发送数据,在总线上就会产生信号的冲突;哪个工作站接收到的数据都辨别不出真正的信息。

(2)、以太网的探测帧

冲突产生:

总线处于空的状态,而且工作站是依次监听到空的状态,那么各个工作站就会陆续向总线发送数据。

     A工作站发送的数据还未传递到另一个要发送数据B工作站。那么B工作站就会认为总线为空的状态,就会向总线发送数据。造成冲突。

       这仅仅是两个工作站,实际上可能有更多的工作站。

    冲突解决方法:

问题:必须采取一种办法;否则,则会导致工作站一直向总线注入数据,而又会检测到冲突。既浪费工作站和总线的资源,又会导致数据迟迟发不出去。

原理:假设某个工作站检测到冲突发生,就发送碰撞信号,使冲突更加明显,使得所有工作站都能检测到总线发生冲突。然后每个想要发送数据的工作站,检测到总线为空,在发送数据之前,先发送一个数据帧(探测帧)。探测帧的长度既要求最快速的到达目的地(尽量小),又要保证探测帧的传递时间足够(发送时间大于所有工作站监测到冲突并发送碰撞的时间)使得其他工作站能够监听到。这个探测帧的长度就是以太网规定的最小帧长

结果就是,如果没有工作站发出碰撞信号打断探测帧的传输,那么就代表总线确实为空,并且没有工作站和“我”争抢总线资源。然后就可以正式发送数据。

        例:重新上述内容,A工作站发送向总线数据,B工作站在未检测到A工作站发送的数据时,以为总线为空,开始发送数据。冲突产生;假设B工作站监测到冲突,然后发送一个碰撞信号(01010101或者10101010)。如果A工作站未发送完毕,则会重新发送。(因为冲突已经导致之前发送的数据无法辨认了)

(3)、如何计算最小帧长?

10Mbps以太网中规定,最大连接距离是2500米。

一帧的传输时间等于   传输时延  +  工作站发送时间(有快有慢);

所以10Mbps以太网直接规定一帧的最小发送时间为51.2μs

最小帧长度 = 10Mbps * 51.2μs =512bit = 64字节

这是对于10Mbps以太网

100Mbps以太网的时隙仍为512位时,以太网规定一帧的最小发送时间必须为5.12μs。

1000Mbps以太网的时隙增至512字节,即4096位时,4.096μs。

结论:以太网的最小帧长,是因为使用CSMA/CD的原因;对于1000Mb/s的吉比特以太网,MAC层有两种选择,要么保留CSMA/CD,要么不用它。若保留CSMA/CD协议,必须面临碰撞检测问题,这就要再一次减小网络的最大有效传输距离到25米。当然您可以不缩短网络的距离,而是增加一个帧的程度,就如我们开始分析100Mb/s以太网那样,让一个帧持续足够长的时间。但因为上层来的数据没有这么多,所以就需要在MAC层进行一些无用数据的填充来满足这个要求。

最后:

   最小帧长/传输速率 正比于 网络最大传输距离/光速

光速是恒定的,最大传输距离根据信号衰减人为规定的。传输速率也是设计好的。

2、以太网最大帧长

IP的首部中的IP数据报总长度有16位,代表可以传送65535字节,加上以太网头,应该最大为65553字节。

但是在10Mbps以太网上,将会占用共享链路长达50ms,这将严重影响其它主机的通信,特别是对延迟敏感的应用是无法接受的。

而如果采用小包传送,那么每个帧上都有以太网头,IP头,可能有TCP头或者UDP头。这样导致,越小的帧,传输效率越低。

最后以太网规定,最大帧长的数据长度为1500个字节(只是规定)

 

如有错误,请大家批评指正

  • 14
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值