精华内容
下载资源
问答
  • 在传统以太网中,为什么要有最小长度和最大长度的限制?以太网(IEEE802.3)格式:1、前导码:7字节0x55,一串1、0间隔,用于信号同步2、起始定界符:1字节0xD5(10101011),表示一开始3、DA(目的MAC):6字节4、...

    在传统以太网中

    ,

    为什么要有最小帧长度和最大帧长度的限制

    ?

    以太网

    (IEEE 802.3)

    帧格式:

    1

    、前导码:

    7

    字节

    0x55,

    一串

    1

    0

    间隔,用于信号同步

    2

    、帧起始定界符:

    1

    字节

    0xD5(10101011)

    ,表示一帧开始

    3

    DA(

    目的

    MAC)

    6

    字节

    4

    SA(

    MAC)

    6

    字节

    5

    类型

    /

    长度:

    2

    字节,

    0

    1500

    保留为长度域值,

    1536

    65535

    保留为类型域值

    (0x0600

    0xFFFF)

    6

    、数据:

    46

    1500

    字节

    7

    、帧校验序列

    (FCS)

    4

    字节,使用

    CRC

    计算从目的

    MAC

    到数据域这部分内容而得到的校验和。

    CSMA/CD

    作为

    MAC

    算法的一类

    LAN

    称为以太网。

    CSMA/CD

    冲突避免的方法:先听后发、边

    听边发、随机延迟后重发。一旦发生冲突,必须让每台主机都能检测到。关于最小发送间隙和最小帧

    长的规定也是为了避免冲突。

    考虑如下的情况,主机发送的帧很小,而两台冲突主机相距很远。在主机

    A

    发送的帧传输到

    B

    的前

    一刻,

    B

    开始发送帧。这样,当

    A

    的帧到达

    B

    时,

    B

    检测到冲突,于是发送冲突信号。假如在

    B

    冲突信号传输到

    A

    之前,

    A

    的帧已经发送完毕,那么

    A

    将检测不到冲突而误认为已发送成功。由于

    信号传播是有时延的,因此检测冲突也需要一定的时间。这也是为什么必须有个最小帧长的限制。

    按照标准,

    10Mbps

    以太网采用中继器时,

    连接的最大长度是

    2500

    米,

    最多经过

    4

    个中继器,

    因此

    规定对

    10Mbps

    以太网一帧的最小发送时间为

    51.2

    微秒。这段时间所能传输的数据为

    512

    位,因

    此也称该时间为

    512

    位时。这个时间定义为以太网时隙,或冲突时槽。

    512

    位=

    64

    字节,这就是以

    太网帧最小

    64

    字节的原因。

    512

    位时是主机捕获信道的时间。如果某主机发送一个帧的

    64

    字节仍无冲突,以后也就不会再发生

    冲突了,称此主机捕获了信道。

    由于信道是所有主机共享的,

    如果数据帧太长就会出现有的主机长时间不能发送数据,

    而且有的发送

    数据可能超出接收端的缓冲区大小,

    造成缓冲溢出。

    为避免单一主机占用信道时间过长,

    规定了以太

    网帧的最大帧长为

    1500

    100Mbps

    以太网的时隙仍为

    512

    位时,以太网规定一帧的最小发送时间必须为

    5.12

    μ

    s

    1000Mbps

    以太网的时隙增至

    512

    字节,即

    4096

    位时,

    4.096

    μ

    s

    对于

    1000Mb/s

    的吉比特以太网,

    MAC

    层有两种选择,

    要么保留

    CSMA/CD

    要么不用它。

    若保留

    CSMA/CD

    协议,必须面临碰撞检测问题,这就要再一次减小网络的最大有效传输距离到

    25

    米。当然您可以不缩短网络的距离,而是增加一个帧的程度,就如我们开始分析

    100Mb/s

    以太网那

    样,让一个帧持续足够长的时间。但因为上层来的数据没有这么多,所以就需要在

    MAC

    层进行一些

    无用数据的填充来满足这个要求。

    展开全文
  • 讨论以太网的帧长,就不得不先提一下以太网的大名鼎鼎的CSMA/CD协议。1.1 CSMA/CD协议CSMA/CD是英文carrier sense multiple access/collision detected 的缩写,可把它翻成“载波监听多路访问/冲突检测”,或“带有...

    讨论以太网的帧长,就不得不先提一下以太网的大名鼎鼎的CSMA/CD协议。

    1.1  CSMA/CD协议

    CSMA/CD是英文carrier sense multiple access/collision detected 的缩写,可把它翻成“载波监听多路访问/冲突检测”,或“带有冲突检测的载波侦听多路访问”。

    所谓载波监听(carrier sense),意思就是以太网络上的各个工作站在发送数据前,都要监听总线上有没有数据正在传输。若有数据传输 (称总线为忙),则不发送数据,需要等待;若无数据传输(称总线为空),可以立即发送准备好的数据。

    所谓多路访问(multiple access),意思就是以太网络上的各个工作站在发送数据时,共同使用一条总线,且发送数据是广播式的。

    所谓冲突(collision),意思就是,若以太网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的冲突;多个工作站都同时发送数据,在总线上就会产生信号的冲突,哪个工作站接收到的数据都辨别不出真正的信息。这种情况称冲突或者碰撞。

    为了减少冲突发生的影响,工作站在发送数据过程中还要不停地检测自己发送的数据,检测自己传输过程中有没有其他工作站在发送数据,在传输过程中与其它工作站的数据发生冲突,这就是冲突检测(collision detected)。

    详细见CSMA/CD协议介绍。

    1.2  以太网探测帧

    当多个工作站均想向以太网发送数据时,如果总线处于忙的状态,大家都等待,也不会有何争议;但是如果总线处于空的状态,而且工作站是依次监听到空状态,那么各个工作站就会陆续向总线发送数据,A工作站发送的数据还未传递到另一个要发送数据的B工作站,那么B工作站仍然认为总线为空的状态,那么B工作站也向总线注入数据;如果还有更多工作站向总线注入数据,原理一样,只是更加复杂而已。

    A工作站传递的数据与B工作站传递的数据就会在总线的某处发送冲突,导致此次数据发送失败。那有什么办法可以提前判断,使得工作站不必每次都源源不断的向总线注入数据,其后又检测到冲突,而重新等待,如此反复,既浪费了宝贵的工作站资源与总线资源,又使得数据迟迟不能发送出去。

    先了解下碰撞信号,就是连续的01010101或者10101010,十六进制就是55或AA。以太网实现原理是,假设某个工作站检测到冲突发生,那就发送碰撞信号,使冲突更加明显,使得所有工作站均能检测到总线发生了冲突。

    我们来看一下,假设A检测到总线是空闲的,开始发数据包,尽力传输,当数据包还没有到达B时,B也监测到总线是空闲的,开始发数据包,这时就会发生冲突。假设B 首先发现发生碰撞,开始发送碰撞信号。

    这个碰撞信号会返回到 A,如果碰撞信号到达A时,A还没有发完这个数据包,A就知道这个数据包发生了错误,就会重传这个数据包。但如果碰撞信号会返回到A时,数据包已经发完, 则A不会重传这个数据包。

    以太网为什么要设计这样的重传机制。首先,以太网不想采用连接机制,这会降低传输效率,但他又想保证一定的传输效率。因为以太网的重传是微秒级,而传输层的重传,如TCP的重传达到毫秒级,应用层的重传更达到秒级。我们可以看到越底层的重传,速度越快,所以对于链路层发生的错误,以太网必须有重传机制。

    要保证以太网的重传,必须保证A收到碰撞信号的时候,数据包没有传完,要实现这一要求,A和B之间的距离很关键,也就是说信号在A和B之间传输的来回时间 必须控制在一定范围之内。

    解决方法就是,每个想要发送数据的工作站,检测到总线为空状态,在发送数据之前,先发送一个探测帧,探测帧的发送就圆满的解决了上面的问题。而探测帧的长度既要达到最快速的传递到目的地,又要确保探测帧的传递时间足够使得其他工作站能够监听到。这个探测帧的长度就是以太网规定的最小帧长,就是一个最小最长帧。

    由于以太网传递的帧,归根结底还是由比特流组成。上面提到的传输速率,其实就是工作站的发送速率,传输一个帧还是一个个的比特发送出去。即,工作站发送一个帧的第一个比特到达目的地,而此帧的最后一个比特正好发送出去。

    2.1  碰撞槽时间

    C代表光速,也就是20.3cm/ns(每纳秒20.3厘米), C是30W。电子在铜介质(普通铜)中的移动速度是21W/s  。

    假设公共总线媒体长度为S,帧在媒体上的传播速度为0.7C(光速),网络的传输率为R(bps),帧长为L(bps),tPHY为某站的物理层时延;

    则有:

    碰撞槽时间=2S/0.7C+2tPHY

    因为Lmin/R=碰撞槽时间

    所以:Lmin =(2S/0.7C+2tPHY )×R

    Lmin 称为最小帧长度。

    碰撞槽时间在以太网中是一个极为重要的参数,有如下特点:

    (1)它是检测一次碰撞所需的最长时间。

    (2)要求帧长度有个下限。(即最短帧长)

    (3)产生碰撞,就会出现帧碎片。

    (4)如发生碰撞,要等待一定的时间。t=rT。(T为碰撞槽时间)

    假设:A、B两地之间通过一个单向传送带传递物品,传送带的传输速度是C(C代表光速),也就是20.3cm/ns(每纳秒20.3厘米),A点有个人叫Marcia,她要把一车荔枝一串一串的发送给B点的那个人Allen,现在Marcia需要抉择的是:我在传送荔枝给Allen的时候,如果Allen同时也有荔枝传给我,这个时候就会产生冲突,而冲突会把传送中的荔枝撞碎,破碎的荔枝渣会通过传送带反送给我,我很想知道是哪一串荔枝被撞碎了,如何实现?一个办法就是:在我收到荔枝碎片的时候,我仍旧在传着这串荔枝!比如有很多串荔枝,第1串,第2串等,当我发送第3串荔枝的过程中,收了荔枝碎片,那肯定是第3串里先发出的荔枝出现了碰撞,而不是第2串或第1串中的荔枝发生碰撞。

    为了实现这一点,假如Marcia到Allen点的距离是2500米(250000厘米),传送带上的荔枝每纳秒20.3厘米,那么一串荔枝中的第一个荔枝到达Allen点的用时就是250000除以20.3=12500纳秒,在加上碎片返回的时间是12500纳秒,等于25000纳秒,这个时间就是一串荔枝在传送带上必须持续的时间。

    Marcia高兴的时候,往传送带上放荔枝的时候快,不高兴的时候就慢。高兴的时候每秒可以往传送带上放100Mbit个荔枝,换算一下,也就是说放一个荔枝用10纳秒。不高兴的时候每秒钟只能往传送带上放10Mbit个,也就是说放一个荔枝用100纳秒。

    因为一串荔枝必须持续的时间25000纳秒,那么对于不高兴的时候,25000除以100=250个荔枝,这个结果就是一串荔枝的数量。所以,理论上一个10Mbit/s的以太网,最小帧长应该是250bit。但为了确保Marcia在放荔枝的过程中不会被扎到手,放送荔枝间会有一定的延时,所以最小帧长被定义为512bit(64字节)。

    因为一串荔枝必须持续的时间25000纳秒,对于高兴的时候,25000除以10=2500个荔枝,这个结果就是一串荔枝的数量。所以,理论上一个100Mbit/s的以太网,最小帧长应该是2500bit。但一个2500bit的帧又太大了,上层来的数据包不可能这么大。所以我们只能缩短A点到B点的距离为250米,一个荔枝在传送带上往返的时间也变成了2500纳秒。这时用2500除以10=250个荔枝,这个结果就是一串荔枝的数量。所以,理论上一个100Mbit/s的以太网,最小帧长应该是250bit,网络最大有效距离是250米。但为了确保Marcia在放荔枝的过程中不会被扎到手,放送荔枝间会有一定的延时,所以帧长被定义为512bit(64字节)。

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

    2.2  最优冲突时间

    下面我们来估计在最坏情况下,检测到冲突所需的时间

    (1)A和B是网上相距最远的两个主机,设信号在A和B之间传播时延为τ,假定A在t时刻开始发送一帧,则这个帧在t+τ时刻到达B,若B在t+τ-ε时刻开始发送一帧,则B在t+τ时就会检测到冲突,并发出阻塞信号。

    (2)阻塞信号将在t+2τ时到达A。所以A必须在t+2τ时仍在发送才可以检测到冲突,所以一帧的发送时间必须大于2τ。

    (3)按照标准,10Mbps以太网采用中继器时,连接最大长度为2500米,最多经过4个中继器(以太网中使用中继器的5-4-3-2-1原则),因此规定对于10Mbps以太网规定一帧的最小发送时间必须为51.2μs。

    (4)51.2μs也就是512位数据在10Mbps以太网速率下的传播时间,常称为512位时。这个时间定义为以太网时隙。512位时=64字节,因此以太网帧的最小长度为512位时=64字节。

    2.3  以太网帧长

    802.3-2002标准定了以太网的头结构为DA(6)+SA(6)+Len/Type(2)=14字节。帧校验序列(FCS):4字节,使用CRC计算从目的MAC到数据域这部分内容而得到的校验和。

    以太网的帧开销是18字节,是“目的MAC(6)+源MAC(6)+Type(2)+CRC(4)”。以太网最小帧长为64字节,那么IP报文最小为46字节,而局域网规定IP最大传输单元1500字节,实际上加上以太网帧的18字节,就是1518字节。

    IEEE定义了这个标准,一个碰撞域内,最远的两台机器之间的round-trip time 要小于512bit time。(来回时间小于512位时,所谓位时就是传输一个比特需要的时间)。这也是我们常说的一个碰撞域的直径。

    512个位时,也就是64字节的传输时间,如果以太网数据包大于或等于64个字节,就能保证碰撞信号到达A的时候,数据包还没有传完。

    这就是为什么以太网要最小64个字节,同样,在正常的情况下,碰撞信号应该出现在64个字节之内,这是正常的以太网碰撞,如果碰撞信号出现在64个字节之后,叫 late collision。这是不正常的。

    CISCO交换机有一种转发方式叫fragment-free,叫无碎片转发,他就是检查64个字节之内有没有错误,有的话不转发,这样就排除了正常的以太网错误包。

    展开全文
  • 自适应帧长系统的帧同步方法
  • 自适应帧长系统的帧同步算法
  • 以太网帧最小帧长与最大帧长

    万次阅读 多人点赞 2016-11-13 10:58:11
    以太网最小帧长为64字节,那么IP报文最小为46字节,而局域网规定IP最大传输单元1500字节,实际上加上以太网帧的18字节,就是1518字节。 讨论以太网的帧长,就不得不先提一下以太网的大名鼎鼎的CSMA/CD协议...

    以太网的帧开销是18字节,是“目的MAC(6)+源MAC(6)+Type(2)+CRC(4)”。以太网最小帧长为64字节,那么IP报文最小为46字节,而局域网规定IP最大传输单元1500字节,实际上加上以太网帧的18字节,就是1518字节。


    讨论以太网的帧长,就不得不先提一下以太网的大名鼎鼎的CSMA/CD协议。

    1.1  CSMA/CD协议

    CSMA/CD是英文carrier sense multiple access/collision detected 的缩写,可把它翻成“载波监听多路访问/冲突检测”,或“带有冲突检测的载波侦听多路访问”。

    所谓载波监听(carrier sense),意思就是以太网络上的各个工作站在发送数据前,都要监听总线上有没有数据正在传输。若有数据传输 (称总线为忙),则不发送数据,需要等待;若无数据传输(称总线为空),可以立即发送准备好的数据。

    所谓多路访问(multiple access),意思就是以太网络上的各个工作站在发送数据时,共同使用一条总线,且发送数据是广播式的。

    所谓冲突(collision),意思就是,若以太网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的冲突;多个工作站都同时发送数据,在总线上就会产生信号的冲突,哪个工作站接收到的数据都辨别不出真正的信息。这种情况称冲突或者碰撞。

    为了减少冲突发生的影响,工作站在发送数据过程中还要不停地检测自己发送的数据,检测自己传输过程中有没有其他工作站在发送数据,在传输过程中与其它工作站的数据发生冲突,这就是冲突检测(collision detected)。

    详细见CSMA/CD协议介绍。

    1.2  以太网探测帧

    当多个工作站均想向以太网发送数据时,如果总线处于忙的状态,大家都等待,也不会有何争议;但是如果总线处于空的状态,而且工作站是依次监听到空状态,那么各个工作站就会陆续向总线发送数据,A工作站发送的数据还未传递到另一个要发送数据的B工作站,那么B工作站仍然认为总线为空的状态,那么B工作站也向总线注入数据;如果还有更多工作站向总线注入数据,原理一样,只是更加复杂而已。

    A工作站传递的数据与B工作站传递的数据就会在总线的某处发送冲突,导致此次数据发送失败。那有什么办法可以提前判断,使得工作站不必每次都源源不断的向总线注入数据,其后又检测到冲突,而重新等待,如此反复,既浪费了宝贵的工作站资源与总线资源,又使得数据迟迟不能发送出去。

    先了解下碰撞信号,就是连续的01010101或者10101010,十六进制就是55或AA。以太网实现原理是,假设某个工作站检测到冲突发生,那就发送碰撞信号,使冲突更加明显,使得所有工作站均能检测到总线发生了冲突。

    我们来看一下,假设A检测到总线是空闲的,开始发数据包,尽力传输,当数据包还没有到达B时,B也监测到总线是空闲的,开始发数据包,这时就会发生冲突。假设B 首先发现发生碰撞,开始发送碰撞信号。

    这个碰撞信号会返回到 A,如果碰撞信号到达A时,A还没有发完这个数据包,A就知道这个数据包发生了错误,就会重传这个数据包。但如果碰撞信号会返回到A时,数据包已经发完, 则A不会重传这个数据包。

    以太网为什么要设计这样的重传机制。首先,以太网不想采用连接机制,这会降低传输效率,但他又想保证一定的传输效率。因为以太网的重传是微秒级,而传输层的重传,如TCP的重传达到毫秒级,应用层的重传更达到秒级。我们可以看到越底层的重传,速度越快,所以对于链路层发生的错误,以太网必须有重传机制。

    要保证以太网的重传,必须保证A收到碰撞信号的时候,数据包没有传完,要实现这一要求,A和B之间的距离很关键,也就是说信号在A和B之间传输的来回时间 必须控制在一定范围之内。

    解决方法就是,每个想要发送数据的工作站,检测到总线为空状态,在发送数据之前,先发送一个探测帧,探测帧的发送就圆满的解决了上面的问题。而探测帧的长度既要达到最快速的传递到目的地,又要确保探测帧的传递时间足够使得其他工作站能够监听到。这个探测帧的长度就是以太网规定的最小帧长,就是一个最小最长帧。

    由于以太网传递的帧,归根结底还是由比特流组成。上面提到的传输速率,其实就是工作站的发送速率,传输一个帧还是一个个的比特发送出去。即,工作站发送一个帧的第一个比特到达目的地,而此帧的最后一个比特正好发送出去。

    2.1  碰撞槽时间

    C代表光速,也就是20.3cm/ns(每纳秒20.3厘米), C是30W。电子在铜介质(普通铜)中的移动速度是21W/s  。

    假设公共总线媒体长度为S,帧在媒体上的传播速度为0.7C(光速),网络的传输率为R(bps),帧长为L(bps),tPHY为某站的物理层时延; 

    则有:

    碰撞槽时间=2S/0.7C+2tPHY

    因为Lmin/R=碰撞槽时间 

    所以:Lmin =(2S/0.7C+2tPHY )×R 

    Lmin 称为最小帧长度。

    碰撞槽时间在以太网中是一个极为重要的参数,有如下特点: 

    (1)它是检测一次碰撞所需的最长时间。

    (2)要求帧长度有个下限。(即最短帧长)

    (3)产生碰撞,就会出现帧碎片。

    (4)如发生碰撞,要等待一定的时间。t=rT。(T为碰撞槽时间)

    假设:A、B两地之间通过一个单向传送带传递物品,传送带的传输速度是C(C代表光速),也就是20.3cm/ns(每纳秒20.3厘米),A点有个人叫Marcia,她要把一车荔枝一串一串的发送给B点的那个人Allen,现在Marcia需要抉择的是:我在传送荔枝给Allen的时候,如果Allen同时也有荔枝传给我,这个时候就会产生冲突,而冲突会把传送中的荔枝撞碎,破碎的荔枝渣会通过传送带反送给我,我很想知道是哪一串荔枝被撞碎了,如何实现?一个办法就是:在我收到荔枝碎片的时候,我仍旧在传着这串荔枝!比如有很多串荔枝,第1串,第2串等,当我发送第3串荔枝的过程中,收了荔枝碎片,那肯定是第3串里先发出的荔枝出现了碰撞,而不是第2串或第1串中的荔枝发生碰撞。

    为了实现这一点,假如Marcia到Allen点的距离是2500米(250000厘米),传送带上的荔枝每纳秒20.3厘米,那么一串荔枝中的第一个荔枝到达Allen点的用时就是250000除以20.3=12500纳秒,在加上碎片返回的时间是12500纳秒,等于25000纳秒,这个时间就是一串荔枝在传送带上必须持续的时间。

    Marcia高兴的时候,往传送带上放荔枝的时候快,不高兴的时候就慢。高兴的时候每秒可以往传送带上放100Mbit个荔枝,换算一下,也就是说放一个荔枝用10纳秒。不高兴的时候每秒钟只能往传送带上放10Mbit个,也就是说放一个荔枝用100纳秒。

    因为一串荔枝必须持续的时间25000纳秒,那么对于不高兴的时候,25000除以100=250个荔枝,这个结果就是一串荔枝的数量。所以,理论上一个10Mbit/s的以太网,最小帧长应该是250bit。但为了确保Marcia在放荔枝的过程中不会被扎到手,放送荔枝间会有一定的延时,所以最小帧长被定义为512bit(64字节)。

    因为一串荔枝必须持续的时间25000纳秒,对于高兴的时候,25000除以10=2500个荔枝,这个结果就是一串荔枝的数量。所以,理论上一个100Mbit/s的以太网,最小帧长应该是2500bit。但一个2500bit的帧又太大了,上层来的数据包不可能这么大。所以我们只能缩短A点到B点的距离为250米,一个荔枝在传送带上往返的时间也变成了2500纳秒。这时用2500除以10=250个荔枝,这个结果就是一串荔枝的数量。所以,理论上一个100Mbit/s的以太网,最小帧长应该是250bit,网络最大有效距离是250米。但为了确保Marcia在放荔枝的过程中不会被扎到手,放送荔枝间会有一定的延时,所以帧长被定义为512bit(64字节)。

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

    2.2  最优冲突时间

    下面我们来估计在最坏情况下,检测到冲突所需的时间 

    (1)A和B是网上相距最远的两个主机,设信号在A和B之间传播时延为τ,假定A在t时刻开始发送一帧,则这个帧在t+τ时刻到达B,若B在t+τ-ε时刻开始发送一帧,则B在t+τ时就会检测到冲突,并发出阻塞信号。

    (2)阻塞信号将在t+2τ时到达A。所以A必须在t+2τ时仍在发送才可以检测到冲突,所以一帧的发送时间必须大于2τ。 

    (3)按照标准,10Mbps以太网采用中继器时,连接最大长度为2500米,最多经过4个中继器(以太网中使用中继器的5-4-3-2-1原则),因此规定对于10Mbps以太网规定一帧的最小发送时间必须为51.2μs。 

    (4)51.2μs也就是512位数据在10Mbps以太网速率下的传播时间,常称为512位时。这个时间定义为以太网时隙。512位时=64字节,因此以太网帧的最小长度为512位时=64字节。

    2.3  以太网帧长

    802.3-2002标准定了以太网的头结构为DA(6)+SA(6)+Len/Type(2)=14字节。帧校验序列(FCS):4字节,使用CRC计算从目的MAC到数据域这部分内容而得到的校验和。

    以太网的帧开销是18字节,是“目的MAC(6)+源MAC(6)+Type(2)+CRC(4)”。以太网最小帧长为64字节,那么IP报文最小为46字节,而局域网规定IP最大传输单元1500字节,实际上加上以太网帧的18字节,就是1518字节。

    IEEE定义了这个标准,一个碰撞域内,最远的两台机器之间的round-trip time 要小于512bit time。(来回时间小于512位时,所谓位时就是传输一个比特需要的时间)。这也是我们常说的一个碰撞域的直径。

    512个位时,也就是64字节的传输时间,如果以太网数据包大于或等于64个字节,就能保证碰撞信号到达A的时候,数据包还没有传完。

    这就是为什么以太网要最小64个字节,同样,在正常的情况下,碰撞信号应该出现在64个字节之内,这是正常的以太网碰撞,如果碰撞信号出现在64个字节之后,叫 late collision。这是不正常的。

    CISCO交换机有一种转发方式叫fragment-free,叫无碎片转发,他就是检查64个字节之内有没有错误,有的话不转发,这样就排除了正常的以太网错误包。

    转自http://www.cnblogs.com/aixin0813/p/3310040.html

    展开全文
  • 以太网原理 最大帧长 最小帧长

    千次阅读 2017-06-20 23:06:23
    在传统以太网中,为什么要有最小长度和最大长度的限制? 以太网(IEEE 802.3)格式: 1、前导码:7字节0x55,一串1、0间隔,用于信号同步 2、起始定界符:1字节0xD5(10101011),表示一开始 3、DA(目的MAC)...

    在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?

    以太网(IEEE 802.3)帧格式:

    1、前导码:7字节0x55,一串1、0间隔,用于信号同步

    2、帧起始定界符:1字节0xD5(10101011),表示一帧开始

    3、DA(目的MAC):6字节

    4、SA(源MAC):6字节

    5、类型/长度:2字节,0~1500保留为长度域值,1536~65535保留为类型域值(0x0600~0xFFFF)

    6、数据:46~1500字节

    7、帧校验序列(FCS):4字节,使用CRC计算从目的MAC到数据域这部分内容而得到的校验和。

    以CSMA/CD作为MAC算法的一类LAN称为以太网。CSMA/CD冲突避免的方法:先听后发、边听边发、随机延迟后重发。一旦发生冲突,必须让每台主机都能检测到。关于最小发送间隙和最小帧长的规定也是为了避免冲突。

    考虑如下的情况,主机发送的帧很小,而两台冲突主机相距很远。在主机A发送的帧传输到B的前一刻,B开始发送帧。这样,当A的帧到达B时,B检测到冲突,于是发送冲突信号。假如在B的冲突信号传输到A之前,A的帧已经发送完毕,那么A将检测不到冲突而误认为已发送成功。由于信号传播是有时延的,因此检测冲突也需要一定的时间。这也是为什么必须有个最小帧长的限制。

    按照标准,10Mbps以太网采用中继器时,连接的最大长度是2500米,最多经过4个中继器,因此规定对10Mbps以太网一帧的最小发送时间为51.2微秒。这段时间所能传输的数据为512位,因此也称该时间为512位时。这个时间定义为以太网时隙,或冲突时槽。512位=64字节,这就是以太网帧最小64字节的原因。

    512位时是主机捕获信道的时间。如果某主机发送一个帧的64字节仍无冲突,以后也就不会再发生冲突了,称此主机捕获了信道。

    由于信道是所有主机共享的,如果数据帧太长就会出现有的主机长时间不能发送数据,而且有的发送数据可能超出接收端的缓冲区大小,造成缓冲溢出。为避免单一主机占用信道时间过长,规定了以太网帧的最大帧长为1500。

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

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

     

    熟悉了最小帧长,可以说就明白了为什么基于CSMA/CD协议的以太网有网段长度限制,同时也掌握了以太网的精髓。 
    在这之前,我们应该先了解一下CSMA/CD协议。

    什么是CSMA/CD协议(载波侦听多路访问/冲突检测协议)?一个房间有很多人,如果同时说话,就谁也听不清楚别人说什么,于是大家约定了一个机制:每个人在说话之前先听一下有没有其他人说话(载波侦听),如果有,自己就先不说话,如果没有,就说话。如果大家同时发现房间里没有人说话,则同时开口,此时就产生冲突(冲突检测),产生冲突后大家都闭嘴,每个人心里都随机的选一个时间开口说话,这样随机时间时间最短的那个人就可以说话了,而其他人听着。在这一个大房间里,大家在同一个空间(共享同一个介质)里可以彼此说话(多路访问。而不仅是只能和某个人说话)。以太网就是遵循这种方式通信,链接在同一条网线上的多个设备必须在发送数据前先侦听线上有无其他机器在传输,如果没有就发送,如果遇到冲突就等一个随机的时间再发送。 
    关键的一点是:发送和接受端如何感知冲突? 
    假设:A、B两地间通过一个传送带链起来,传送带的滚动速度是C(C代表光速),也就是20.3cm/ns(每纳秒20.3厘米),A点有个人叫A1,他要把一车苹果分成一小堆一小堆的发送给B点的那个人B1,现则A1需要抉择的是:我在传送苹果给B1的时,如果B1同时也有苹果传给我,这个时候就会产生冲突,而冲突会把传送中的苹果撞碎,破碎的苹果渣会通过传送带反送给我,我很想知道是哪一小堆苹果被撞碎了,如何实现?一个办法就是:在我收到苹果碎片的时候,我仍旧在传着这堆苹果!比如有很多堆苹果,第1堆,第2堆等,当我发送第3堆苹果的过程中,收了苹果碎片,那肯定是第3堆里先发出的苹果出现了碰撞,而不是第2堆或第1堆中的苹果发生碰撞。 
    为了实现这一点,假如A到B点的距离是2500米(250000厘米),传送带上的苹果每纳秒20.3厘米,那么一堆苹果中的第一个苹果到达B点的用时就是250000除以20.3=12500纳秒,在加上碎片返回的时间是12500纳秒,等于25000纳秒,这个时间就是一堆苹果必须持续的时间。 
    体力稍好的人,往传送带上放苹果的时候快,体力不好的就慢。体力稍好的人每秒可以往传送带上放100Mbit个苹果,换算一下,也就是说放一个苹果用10纳秒。体力不好的人每秒钟只能往传送带上放10Mbit个,也就是说放一个苹果用100纳秒。 
    因为一堆苹果必须持续的时间25000纳秒,那么对于体力不好的人,25000除以100=250个苹果,这个结果就是一堆苹果的数量。所以,理论上一个10Mbit/s的以太网,最小帧长应该是250bit。但为了确保碰撞切实的被检测到,最小帧长被定义为512bit(64字节)。 
    因为一堆苹果必须持续的时间25000纳秒,对于体力好的人,25000除以10=2500个苹果,这个结果就是一堆苹果的数量。所以,理论上一个100Mbit/s的以太网,最小帧长应该是2500bit。但一个2500bit的帧又太大了,上层来的数据包不可能这么大。所以我们只能缩短A点到B点的距离为250米,一个苹果在传送带上往返的时间也变成了2500纳秒。这时用2500除以10=250个苹果,这个结果就是一堆苹果的数量。所以,理论上一个100Mbit/s的以太网,最小帧长应该是250bit,网络最大有效距离是250米。但为了确保碰撞切实的被检测到,最小帧长被定义为512bit(64字节)。 
    以下动画演示了发送端A在把数据传输给B时,在将要到达B点的地方出现了碰撞,于是碰撞碎片传回了A,A就知道正在传输的数据出现冲突了。

     

     

    由此可见,MAC层发送的速度越快,以太网的最大有效距离就越短。但对于1000Mb/s的吉比特以太网,MAC层有两种选择,要么保留CSMA/CD,要么不用它。若保留CSMA/CD协议,必须面临碰撞检测问题,这就要再一次减小网络的最大有效传输距离到25米。当然您可以不缩短网络的距离,而是增加一个帧的程度,就如我们开始分析100Mb/s以太网那样,让一个帧持续足够长的时间。但因为上层来的数据没有这么多,所以就需要在MAC层进行一些无用数据的填充来满足这个要求。 
    最后,我们推导出以下比例关系: 
    最小帧长/传输速率 
    正比于 
    网络最大传输距离/光速 
    一个网络的最大传输距离也称为冲突域,传输一个最小帧所用的时间(最小帧长/传输速率)正比于1位信息穿越冲突域的时间。

    展开全文
  • (CSMA/CD)的最小帧长计算最小帧长的由来:在一帧发送完毕之前,发送方必须要检测到是否有冲突发生,如果没有则大吉,如果有则按照相应算法检测后重新发送该帧。这样就很清楚了,就是一个帧发送完的时间必须大于检测...
  • 最大帧长和最小帧长详解

    万次阅读 多人点赞 2018-04-01 16:02:52
    文章出处:... 以太网(IEEE 802.3)格式: 1. 前导码:7字节0x55,一串1、0间隔,用于信号同步; 2. 起始定界符:1字节0xD5( 10101011 ),表示一开始; 3. DA ( 目...
  • 展开全部CSMA/CD总线网中最短帧长的计算公式为:最短数据62616964757a686964616fe78988e69d8331333431363061帧长(bit)/数据传输速率(Mbps)=2*(两站点间的最大距离(m)/200m/μs)数据帧的传输时延至少要两倍与传输时延...
  • 最小帧长度的定义:定义最小帧长度是为了使发送方能在一个帧的传输时间内检测到此帧是否在链路上产生冲突,如发生冲突,退避重发,若帧长小于最小帧,则无法检测帧传输中是否发生冲突。以太网最小帧64B=(7字节前导...
  • 自适应帧长调整DS-ALOHA防碰撞算法
  • 在此基础上,提出一种帧长自适应的二级帧聚合方法。该方法根据误码率的不同,自适应地调节第一级聚合数目,以使聚合长度在该误码率下达到最佳,从而使吞吐量达到最优。理论分析与仿真结果表明,在误码率多变的信道中...
  • CSMA CD)的最小帧长计算 ——总结 CSMA CD)的最小帧长计算 ——总结 CSMA CD)的最小帧长计算 ——总结
  • 通过分析LTE-Advanced系统中基于时隙接入信道控制协议(SCACP)的随机接入模型,提出一种时隙接入方法中接入帧长的优化算法。利用网络实时接入负载实现时隙接入中动态帧长的选择,使得优化后的接入帧长更适合当前接...
  • 以太网长度大小限制

    千次阅读 2019-03-31 17:22:37
    表示以太网传输的最大长度。 为什么要有最大长度限制呢? 这是因为以太网采用的是CSMA/CD方法在介质上传输数据。CSMA/CD叫做带冲突检测的载波监听多路访问技术,在发送数据之前需要检测链路是否空闲,只有链路...
  • 为了提高单帧长曝光图像法的颗粒速度测量的测速上限, 以背光成像的单帧长曝光法测速装置为研究对象, 从轨迹识别的角度, 对该方法测速上限的影响因素进行了理论分析和实验研究。结果表明:在背光成像方式下, 颗粒速度...
  • 在传统以太网中,为什么要有最小长度和最大长度的限制?   以太网(IEEE 802.3)格式: 1、前导码:7字节0x55,一串1、0间隔,用于信号同步 2、起始定界符:1字节0xD5(10101011),表示一开始 3、DA(目的...
  • IP协议的数据长度是多少?

    千次阅读 2019-04-11 22:07:26
    1、如果使用PPP协议,最大长度1510字节,其中数据长度(加载上层的协议数据)不超过1500字节; 2、如果在以太网中,的长度为:64~1518字节(10~100Mbps 的以太网),1G及以上的以太网,长度为512~1518字节...
  • 在传统以太网中,为什么要有最小长度和最大长度的限制? 以太网(IEEE 802.3)格式: 1、前导码:7字节0x55,一串1、0间隔,用于信号同步 2、起始定界符:1字节0xD5(10101011),表示一开始 3、DA...
  • 以太网数据帧最短帧长问题

    千次阅读 2019-09-06 20:41:13
    1.以太网的最短长度为64字节,或者中的数据不得少于46个字节,其中以太网头有18字节(以太网2的值为:MAC+2类型+4CRC,注意,如果是802.3的规范,它支持SNAP和802.3以太,其中的2个字节的类型字段就变为的长度),...
  • 以太网的最小帧和最大帧长的意义

    千次阅读 2018-09-18 23:45:20
    以太网最小帧长为什么是64字节 以太网是无连接的,不可靠的服务,采用尽力传输的机制。以太网CSMA/CD我就不多讲了,我相信大家都了解这个原理。  以太网是不可靠的,这意味着它并不知道对方有没有收到自己发出的...
  • 大小与长度

    万次阅读 2018-03-06 16:33:59
    几乎所有视频编码格式都可以简单的认为一就是编码后的一副图像。而音频跟音频格式有关,由各个编码标准规定。如果以PCM(未经编码的音频数据)来说,它根本就不需要的概念,根据采样率和采样精度就可以播放了...
  • 以太网最小合法长度 64字节

    千次阅读 2019-04-17 16:04:50
    以太网最小合法长度为?( B ) A 32字节 B 64字节 C 100字节 D 不确定 解析: 以太网格式:目标 MAC 地址 6 字节,源 MAC 地址 6 字节,类型 2 字节,数据和填充 46-1500 字节,FCS(检验序列) 4 ...
  • (2012年联考) 两台主机之间的数据链路层采用了后退N协议(GBN)传输数据,数据的传输速率为16kbps,单向传播时延为270ms,数据的长度范围是128~512字节,接收方总是以数据进行确认(即确认长度与发送...
  • 关于可变长度数据的解析

    千次阅读 2018-11-15 16:54:10
    关于可变长度数据的解析 在项目中需要解析另一主机的数据,而该主机数据是由积木式拼搭而成的可变的数据格式,每个积木所包含的数据长度不定,但是都小于10; 这里说明一下我在实际应用中的解决方法: 首先是和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,960
精华内容 2,384
关键字:

帧长