导航:首页 > 数据处理 > 为什么数据包最小是46

为什么数据包最小是46

发布时间:2023-04-08 15:37:20

Ⅰ 以太网帧长

以太网中传输的数据帧的长度并不是一个常数,而是一个范围内的,以太网帧长度最大限制(MTU)是1518字节,最小长度是64字节。限制帧的最大长度是为了避免一台设备长时间占用信道,所以在传输过程中一定要有机制强制一个设备停止传输,让出信道的使用。那么为何要限制最小的帧长度呢?一个过小的数据会让以太网不能正常工作吗?

首先,这是一个历史问题,今天确实没有必要限制最小帧长了。早期的以太网使用总线拓扑,网络中多台设备共享一个物理信道。这样就导致了多台设备同时发送信号的时候会发生碰撞,导致多台设备传输失败。然而,经过长时间的演进,特别是交换机的出现,让以太网成为了一个星型拓扑、全双工独享链路的网络。我们使用的网线中有8根铜线,其中使用了4根,备用4根。收发采用的电平信号在两根铜线中传播。收发电路分离的方法使得全双工成为可能。

现在开始回答这个历史上的问题。过短的数据帧确实会带来问题。原因在于电信号是非常快的,过短的帧会导致帧传输时间非常小。以至于在一个局域网的物理环境中,想要给远一点的设备传数据帧的时候。帧在发完之后还有设备没有探测到这个帧,于是也开始使用信道。这是就会发生碰撞。并且,帧的发出者并不知道帧发生了碰撞。因为以太网没有提供可靠传输的机制,帧的发出者在发送完帧后认为帧传输完成,不会再发送这一帧。

解决这个问题就需要让发出者发送一个帧的时间不要太短。这个时间需要考虑最坏的情况。考虑网络中物理距离最远的两台设备,他们中一个发信号,另外一个是最晚得知这个信号的。因此帧传输时间至少要保证帧能传到最远的设备。这个时间是物理距离限制除以光速。如果以太网提升带宽,但是又要保证最小帧长度不变,就不得不牺牲线路的传输距离。因为带宽提高时,发送相同长度的数据帧的时间会缩短。我们又必须保证在这个时间内让网络内所有设备都能接受到这个信号。这就解释了为什么以太网带宽越来越大,但是最长传输距离却越来越小。

仅仅让最远端的设备受到帧的传输时间能保证帧发送完之后不再发生碰撞吗?很可惜,这段时间还不够。再考虑一个最坏的情况,帧在最远点发生了碰撞,但是发出者必须要等待和第一次传输相同的时间才能发现碰撞的产生。因此,最小传输时间必须保证让最远端的设备收到信号,并且让信号发出者收到最远端是否发生了碰撞。这两个情景的最快情况决定了最小传输时间是网络最长距离的两倍处理除以光速。

对于早期的以太网,传输带宽是10Mbps,最小帧是64Bytes。发送完最小帧的时间是

最长传播距离是:

因此,CSMA/CD要求10M以太网的最大物理距离是5736米,超过这个距离,就会使得CSMA/CD出现错误。

这个距离超出了电信号衰减的距离。

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

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

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

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

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

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

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

当多个工作站均想向以太网发送数据时,如果总线处于忙的状态,大家都等待,也不会有何争议;但是如果总线处于空的状态,而且工作站是依次监听到空状态,那么各个工作站就会陆续向总线发送数据,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之间传输的来回时间 必须控制在一定范围之内。

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

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

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层进行一些无用数据的填充来满足这个要求。

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

(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字节。

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个字节之内有没有错误,有的话不转发,这样就排除了正常的以太网错误包。

Ⅱ 以太网数据帧的最小数据载荷为

46Byte。
根据查询相关资料信息,以太网数据帧的最小数据载荷为46Byte,最小的帧是64字节当有效载荷较小时,以保障帧的大小铅码达到64字节。
所谓数据帧,就是数据链路层的协议数据单元,它包括三部分,帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同槐迹哪步信息、地址信息、差错控制信息等,数据部分则包含网络层传下来的数州孙据,比如IP数据包。

Ⅲ 一个数据包的大小是好多

1、数据链路层对数据帧的长度都有一个限制,也就是链路层所能承受的最大数据长度,这个值
称为最大传输单元,即MTU。以以太网为例,这个值通常是1500字节。

2、对于IP数据包来讲,也有一个长度,在IP包头中,以16位来描述IP包的长度,也就是说,
一个IP包,最长可能是65535字节。

3、结合以上两个概念,第一个重要的结论就出来了,如果IP包的大小,起过了MTU值,那么就需要
分片,也就是把一个IP包分为多个,这个概念非常容易理解,一个载重5T的卡车,要拉10T的货,它
当然就得分几次来拉了。

4、IP分片是很多资料常讲的内容,但是我倒是觉得分不分片其实不重要,重要的是另一个东西。一个
数据包穿过一个大的网络,它其间会穿过多个网络,每个网络的MTU值是不同的。我们可以设想,如果
接受/发送端都是以太网,它们的MTU都是1500,我们假设发送的时候,数据包会以1500来封装,然而,
不幸的是,传输中有一段X.25网,它的MTU是576,这会发生什么呢?我想,这个才是我们所关心的。
当然,结论是显而易见的,这个数据包会被再次分片,咱开始用火车拉,到了半路,不通火车,只通汽车,
那一车货会被分为很多车……仅此而已,更重要的是,这种情况下,如果IP包被设置了“不允许分片标志”,那
会发生些什么呢?对,数据包将被丢弃,然事收到一份ICMP不可达差错,告诉你,需要分片!
这个网络中最小的MTU值,被称为路径MTU,我们应该有一种有效的手段,来发现这个值,最笨的方法或许是先
用traceroute查看所有节点,然后一个个ping……

5、到了传输层,也会有一个最大值的限制,当然,对于只管发,其它都不管的UDP来说,不再我们讨论之列。这里
说的是TCP协议。说到大小,或许会让人想到TCP着名的滑动窗口的窗口大小,它跟收发两端的缓存有关,这里讨论
的是传输的最大数据包大小,所以,它也不在讨论之列。
TCP的选项字段中,有一个最大报文段长度(MSS),表示了TCP传往另一端的最大数据的长度,当一个连接立时,连接
的双方都要通告各自的MSS,也就是说,它说是与TCP的SYN标志在一起的。当然,对于传输来讲,总是希望MSS越大越好,
现在超载这么严重,谁家不希望多拉点货……但是,MSS总是有个限制的,也就是MTU-IP头长度-TCP头长度,对于以太网来讲
它通常是1500-20-20=1460,虽然总是希望它能很大(如1460),但是大多数BSD实现,它都是512的倍数,如1024……

6、回到分片上来,例如,在Win2000下执行如下命令:
ping 192.168.0.1 -l 1473

按刚才的说法,1473+20(ip头)+8(icmp头)=1501,则好大于1500,它会被分片,但是,我们关心的是:

这个数据包会被怎么样分法?
可以猜想,第一个包是
以太头+IP头+ICMP头+1427的数据;
那第二个分片包呢?
它可以是:
以太头+IP头+ICMP头+1个字节的数据
或者是:
以太头+IP头+1个字节的数据
也就是省去ICMP头的封装,当然,IP头是不可以省的,否则怎么传输了……

事实上,TCP/IP协议采用的是后一种封装方式,这样,一次可以节约8个字节的空间。IP包头中,用了三个标志来描述一个分片包:
1、分片标志:如果一个包被分片了,被置于1,最后一个分片除外;——这样,对于接收端来讲,可以根据这个标志位做为重组的重
要依据之一;
2、分片偏移标志:光有一个标志位说明“自己是不是分片包”是不够的,偏移标志位说明了自己这个分片拉于原始数据报的什么位置,
很明显,这两个标志一结合,就很容易重组分片包了。
3、不允许分片标志:如果数据包强行设置了这个标志,那么在应该分片的时候,…… err,刚才已经说过了

Ⅳ udp数据报为什么限制为64k

1、概述
首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。
其中以太网(Ethernet)的数据帧在链路层
IP包在网络层
TCP或UDP包在传输层
TCP或UDP中的数据(Data)在应用层
它们的关系是 数据帧{IP包{TCP或UDP包{Data}}}

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。

在应用程序中我们用到的Data的长度最大是多少,直接取决于底层的限制。
我们从下到上分析一下:
1.在链路层,由以太网的物理特性决定了数据帧的长度为(46+18)-(1500+18),其中的18是数据帧的头和尾,也就是说数据帧的内容最大为1500(不包括帧头和帧尾),即MTU(Maximum Transmission Unit)为1500;
2.在网络层,因为IP包的首部要占用20字节,所以这的MTU为1500-20=1480;
3.在传输层,对于UDP包的首部要占用8字节,所以这的MTU为1480-8=1472;
所以,在应用层,你的Data最大长度为1472。当我们的UDP包中的数据多于MTU(1472)时,发送方的IP层需要分片fragmentation进行传输,而在接收方IP层则需要进行数据报重组,由于UDP是不可靠的传输协议,如果分片丢失导致重组失败,将导致UDP数据包被丢弃。
从上面的分析来看,在普通的局域网环境下,UDP的数据最大为1472字节最好(避免分片重组)。
但在网络编程中,Internet中的路由器可能有设置成不同的值(小于默认值),Internet上的标准MTU值为576,所以Internet的UDP编程时数据长度最好在576-20-8=548字节以内。

Ⅳ 以太网帧最小数据为何是46字节

这个46只是最小值,范围最大是1500

Ⅵ 以太网最小报文为什么是46字节

你记错了吧~~是32字节!

Ⅶ 网络层数据包的大小范围

最小46个字节
最大是1518(这个情况是不支持802.1Q的,如果是支持802.1Q那就再加上4个字节的TAG)

Ⅷ 为什么以太网数据帧最小为64字节

文章一:

以太网(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。


文章二:

2.碰撞槽时间
假设公共总线媒体长度为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为碰撞槽时间)
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个中继器,因
此规定对于10Mbps以太网规定一帧的最小发送时间必须为51.2μs。
(3)51.2μs也就是512位数据在10Mbps以太网速率下的传播时间,常称为512位时。这个时间定
义为以太网时隙。512位时=64字节,因此以太网帧的最小长度为512位时=64字节。

2,以太网18字节,我想应该是“目的MAC(6)+源MAC(6)+Type(2)+CRC(4)

3,至于IP最大传输单元1500,只是规定


文章三:

Lmin/R = 2*S/(0.7*C) + 2*Tphy + n*Tr

Lmin - 最小帧长
R - 网络速率(10M等)
S - 碰撞域 (*2 表示一来一回,划个图就明谈袜白了)
C - 标准光速(*0.7表示在双绞线中,用光纤的话别论)
Tphy - 物理层延时(*2 是因为要经过一收一发两个主机的物理层)
Tr - 中继器延时(一般来说,相当于两个物理层的延时

原理:

如图示:

主机 A 中继器 B 主机 B
--------------------------------------------------
| 物理层 | | |
--------------------------------------------------
| | | |
+-----------------------+ +---------------+

|<------------------ S -------------------->|

根据以太网媒体访问控制机制,A 在发出长度为La的数据流后
如果收到B返回的碰撞指示,则停止该帧的发送,并且发32bit
的010101...以强化碰撞;并延时t = r*T 这样长的时间;
其中T = 1/C,r是一个在(0, 2^k)内的随机数,k = min(n,10)
n 为本次发生连续碰撞的次数,如果n过大则上交高层处理。

如果我们先规定了碰撞域S。情况如下:
主机A以R的速率发送,以0.7*C的光速到达B,然后发生碰撞
返回A,一共的路程是2*S,此时对应的帧长度即为Lmin。因为
如果La
碰撞指示就失去了意义,媒体访问控制就失败了。
如果先定义了Lmin,同样可以定出S。

如 IEEE 802.3 Lmin = 64B;设R = 10M bps Tphy = 15us
Tr = 0 则可以计算出 S = 2.3km

在实际应用当中,还要考虑信号在介质上的有效距离,对于
双绞线来说,有效距离要小于S,这样就会引入中继器来延长
传输距离,但是可以看出,这又将减小S。所以这是一对矛盾,
在设计以太网时,应该加以考虑。


以太网帧为什么最小是64个字节

文章来源:http://hi..com/hltky2008/blog/item/53ae8136efca58370a55a90a.html,致谢!

以太网帧为什么最小要64个字节,512bit(个位)

看这个理论时,希望你能静下心来,看上二到三次再画个图想一想,真正了解原理

以太网是无连接的,不可靠的服务,采用尽力传输的机制。以太网CSMA/CD我就不多讲了,我相信大家都了解这个原理。
以太网是不可靠的,这意味着它并不知道对方有没有收到自己发出的数据包,但如果他发出的数据包发生错误,他会进行重传。以太网的错误主要是发生碰撞,碰撞是指两台机器同时监听到网络是空闲的,同时发送数据,就会发生碰撞,碰撞对于以太网来说是正常的。
我们来看一下,假设A检测到网络是空闲的,开始发数据包,尽力传输,当数据包还没有到达B时,B也监测到网络是空闲的,开始发数据包,这时就会发生碰撞,B 首先发现发生碰撞,开始发送碰撞信号,所谓碰撞信号,就是连续的01010101或者10101010,十六进制就是55或AA。这个碰撞信号会返回到 A,如果碰撞信号到达A时,A还没有发完这个数据包,A就知道这个数据包发生了错误,就会重传这个数据包。但如果碰撞信号会返回到A时,数据包已经发完,则A不会重传这个数据包。
我们先看一下,以太网为什么要设计这样的重传机制。首先,以太网不想采用连接机制,因为会降低效率,但他又想有一定的重传机制,因为以太网的重传是微秒级,而传输层的重传,如TCP的重传达到毫秒级,应用层的重传更达到秒级,我们可以看到越底层的重传,速度越快,所以对于以太网错误,以太网必须有重传机制。
要保证以太网的重传,必须保证A收到碰撞信号的时候,数据包没有传完,要实现这一要求,A和B之间的距离很关键,也就是说信号在A和B之间传输的来回时间必须控制在一定范围之内。IEEE定义了这个标准,一个碰撞域内,最远的两台机器之间的round-trip time 要小于512bit time.(来回时间小于512位时,所谓位时就是传输一个比特需要的时间)。这也是我们常说的一个碰撞域的直径。
512个位时,也就是64字节的传输时间,如果以太网数据包大于或等于64个字节,就能保证碰撞信号到达A的时候,数据包还没有传完。
这就是为什么以太网要最小64个字节,同样,在正常的情况下,碰撞信号应该出现在64个字节之内,这是正常的以太网碰撞,如果碰撞信号出现在64个字节之后,叫 late collision。这是不正常的。
我们以前学习CISCO网络的时候,CISCO交换机有一种转发方式叫fragment-free,叫无碎片转发,他就是检查64个字节之内有没有错误,有的话不转发,这样就排除了正常的以太网错误包。

[求助]关于以太网的最小帧64Bytes,1518 Bytes

内容来源:http://www.netexpert.cn/thread-12833-1-1.html,致谢!

大家好,记得以前在论坛上看到过关于以太网最小帧 64 Bytes 的由来,是一个算式,计算出来了这是CSMA/CD算法探测冲突的最小传输时间,但是刚才在论坛上翻了半天,没看到,哪位大虾能再为小弟解释一下么?谢谢了

另外,在有些资料上看到以太网的帧头开销是18字节,但是请问这是怎么得来的?因为 Dst MAC + Src MAC + Type(Length)只有12 Bytes(注意:这里应该是14字节),另外的 6 Bytes 从何而来呢?

最后一个问题,以太网为什么要规定最大传输单元 1518 Bytes?

------
问题很菜,大家不要笑我

1,关于最小字节的由来

2.碰撞槽时间
假设公共总线媒体长度为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为碰撞槽时间)
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个中继器,因
此规定对于10Mbps以太网规定一帧的最小发送时间必须为51.2μs。
(3)51.2μs也就是512位数据在10Mbps以太网速率下的传播时间,常称为512位时。这个时间定
义为以太网时隙。512位时=64字节,因此以太网帧的最小长度为512位时=64字节。

2,以太网18字节,我想应该是“目的MAC(6)+源MAC(6)+Type(2)+CRC(4)

3,至于IP最大传输单元1500,只是规定

有些把以太网帧的前导字符部分也算到帧头里面了

IEEE 802.3标准的第一个版本于1983年6月24日发布,由于Xerox将关于CSMA/CD的4件专利转交给IEEE,IEEE以极低的价格授权生产企业使用相应专利,所以使用IEEE 802.3标准生产产品不存在高昂专利费用问题。随后,802.3标准得到了ANSI和ISO的认可,使IEEE 802.3标准成为一个开放的、权威的标准。
虽然与Ethernet II标准发布时间差不多,而且IEEE 802.3的标准级别比前者高得多,但在标准发布后的十多年,802.3标准在应用中仅仅能与Ethernet II平分秋色,其本质原因是802.3标准中的帧结构必须配合802.2标准使用,这大大减小了应用的灵活性并显着增加了协议的开销,复杂加之效率低使802.3难以占上风。
在1998年编辑中802.3工作组对802.3标准进行了重大改动,最后完成了新版标准IEEE 802.3-2002。2002版的802.3标准对MAC帧结构进行了重大改进使之具备Ethernet II封装灵活性,从而在应用中完全取代了Ethernet II,使IEEE 802.3-2002标准成为以太网的唯一标准。
2005年以来又开始制定802.3标准的新版本。
802.3-2002标准定了以太网的头结构为DA(6)+SA(6)+Len/Type(2)=14字节。



如果我的回答对您有帮助希望您可以采纳,谢谢!

Ⅸ 为什么会有42字节arp包

各种协议在封装上层送来的数据时都有自己的固定格式,在IP段中IP数据报的大小为46-1500Byte,大了,得分段,小了,用额外数据填游喊充满至缺磨穗46Byte
隶属于IP层的ARP协议它的格伏卜式大小就为固定的28个字节,显然后面需要补齐至46字节
而IP数据报送到链路层封装为以太网桢的时候就是在IP数据报的头加14个字节,尾部再加上4个校验字节,所以一个以太网桢的总长度就是64-1518Byte
能捕捉到42字节的数据包应该是不可能的,你的意思是不是指有效的数据呢?
因为14字节桢头+28字节ARP包=42字节

阅读全文

与为什么数据包最小是46相关的资料

热点内容
如何查学校的注册信息 浏览:250
产品购买资金怎么来的 浏览:839
农产品零售商访谈提纲怎么写 浏览:373
微信程序天天军棋怎么打字 浏览:739
上海男装店代理多少钱 浏览:578
如何练跳伞技术 浏览:970
安若希产品怎么用 浏览:460
健翔桥市场有多少公里 浏览:820
如何把表格的内容变成数据库 浏览:821
双应用程序是什么意思 浏览:396
从国外怎么邮寄产品 浏览:584
招商如何解决信息不对称 浏览:412
威海银滩二手房交易在哪里过户 浏览:93
没有启用数据为什么出现流量超了 浏览:788
代理游戏手机有什么优势 浏览:491
为什么程序员大部分生女儿 浏览:412
什么是会计程序 浏览:644
vivos9手机如何转移数据 浏览:788
虚拟货币叫停交易是什么意思 浏览:649
左下角的小程序怎么加箭头的 浏览:695