精华内容
下载资源
问答
  • 1.TCP报文头部没有声明长度的字段,所以理论上说TCP报文...3.以太网帧的最大长度是MTU,为1500字节  (可见,自顶向下,协议栈对长度的限制越来越大) 4.MSS是TCP报文中数据段的最大长度,前面说了可以是

    1.TCP报文头部没有声明长度的字段,所以理论上说TCP报文长度是无限制的。


    2.IP报文头部有个16bits的Total length字段,表示IP报文的长度,故IP报文的长度最大可达65536字节


    3.以太网帧的最大长度是MTU,为1500字节 


    (可见,自顶向下,协议栈对长度的限制越来越大)


    4.MSS是TCP报文中数据段的最大长度,前面说了可以是无限的,为什么又冒出个MSS呢?

    其实这是考虑到传输的效率,每次传送的数据最大长度太小会增加开销,显然;太大的话在IP层要进行分片,终点时要重组,出错还要重传,所以都会增加开销。因此要合理选择一个最大报文长度,原则是尽可能大,只要到IP层不用分片即可。而IP数据包所经历的路径是动态变化的,因此不同路径上最大不用分片的MSS不同。一般情况下,在建立连接的时候告诉对方自己的MSS,若未填写,则默认为536字节。


    5.一般情况下MSS取值使得以太网帧恰好不超过MTU,即若不考虑TCP和IP报文头的可选字段,则MSS与MTU的差值为40,即MSS=MTU-20字节TCP报头-20字节IP报头,那么在以太网环境下,MSS值一般就是1500-20-20=1460字节。

    但是常见的服务器发给客户的SYN中通告的MSS的是1440,目前还不知道是为何。


    参考资料:http://www.vants.org/?post=109

      http://blog.csdn.net/hldjf/article/details/7450565

    展开全文
  • 链路层上最常见封装就是以太网和IEEE 802封装,这里就使用以太网作为...这个长度是提供给上层协议的数据负载,也就是上层协议封装的数据最长度不要超过以太网帧的数据长度。最小数据帧尾46,最大数据帧长为1500.  在

    链路层上最常见的封装就是以太网和IEEE 802封装,这里就使用以太网作为讲解的对象。

    一、概述

         数据链路层属于计算机网络的底层,使用的信道主要有点对点信道和广播信道两种类型。
     
         在TCP/IP协议族中,数据链路层主要有三个目的:
              1)为IP模块发送和接收数据
              2)为ARP模块发送ARP请求和接收ARP应答
              3)为RARP模块发送RARP请求和接收RARP应答
         TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网,令牌环网,FDDI(光纤分布式数据接口)及RS-232串行线路等。
         
         数据链路层的协议数据单元——帧:将IP层(网络层)的数据报添加首部和尾部封装成帧。
         数据链路层协议有许多种,都会解决三个基本问题,封装成帧,透明传输,差错检测。

    .二、以太网和IEEE802的封装

         如图所示,显示了两种不同形式的封装格式。最常使用的封装格式是RFC894定义的格式。两种帧格式均采用48bit(6 byte)的目的地址和源地址。


            以太网的帧格式才有6字节的目的地址和源头地址。帧长度字段是指它后续数据的字节长度,但不包括CRC校验码。这个长度是提供给上层协议的数据负载,也就是上层协议封装的数据最长度不要超过以太网帧的数据长度。最小数据帧尾46,最大数据帧长为1500.
            在分析以太网帧的长度时,也有不同的说法,详见http://blog.csdn.net/yusiguyuan/article/details/22490229
    二、最大传输单元MTU
          最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。
         如果在IP层要传输一个数据报比链路层的MTU还大,那么IP层就会对这个数据报进行分片。一个数据报会被分为若干片,每个分片的大小都小于或者等于链路层的MTU值。当同一网络上的主机互相进行通信时,该网络的MTU对通信双方非常重要。但当主机间要通过很多网络才能通信时,对通信双方最重要的是通信路径中最小的MTU,因为在通信路径上不同网络的链路层MTU不同。通信路径中最小的MTU被称为路径MTU。
         网络中一些常见链路层协议MTU的缺省数值如下:
    • FDDI协议:4352字节
    • 以太网(Ethernet)协议:1500字节
    • PPPoE(ADSL)协议:1492字节
    • X.25协议(Dial Up/Modem):576字节
    • Point-to-Point:4470字节
          以太网和802.3对数据帧的长度有一个限制,其最大值分别是1500和1492字节。链路层的这个特性称作MTU,最大传输单元,不同类型的网络大多都有一个上限,这个值是根据硬件来确定的。

           如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行分片,把数据分成若干片,这样每一片就小于MTU,。
    三、路径MTU
           路径MTU和上述内容类似,只不过是在传输数据的时候需要知道真个路径的最小MTU.
    展开全文
  • 02以太网帧格式

    2020-07-12 10:02:32
    以太网(RFC 894)帧格式 ...以太网帧中的数据长度规定最小46字节,最大1500字节,ARP和RARP数据包的长度不够46字节,要在后面补填充位。最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不

    以太网(RFC 894)帧格式

    以太网的帧格式如下所示:
    在这里插入图片描述其中的源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的。用ifconfig命令看一下,“HWaddr 00:15:F2:14:9E:3F”部分就是硬件地址。类型字段有三种值,分别对应IP、ARP、RARP。帧末尾是CRC校验码。
    以太网帧中的数据长度规定最小46字节,最大1500字节,ARP和RARP数据包的长度不够46字节,要在后面补填充位。最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU,如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片(fragmentation)。ifconfig命令的输出中也有“MTU:1500”。
    注意,MTU这个概念指数据帧中有效载荷的最大长度,不包括帧首部的长度

    展开全文
  • 在使用CLICK路由器时候会发现,当数据字段填充过少发送时,网卡会自动对进行填充,确保它至少有64字节 为什么需要有一定的长度,查阅资料,原因如下: 以太网(IEEE 802.3)格式: 1、前导码(前...

    参考链接:https://www.cnblogs.com/dalulu/p/10331065.html

     

    在使用CLICK路由器的时候会发现,当数据字段填充过少发送帧时,网卡会自动对帧进行填充,确保它至少有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。

    IP数据包长度问题总结

    TCP/IP协议,涉及到四层:链路层、网络层、传输层、应用层。

    其中以太网的数据帧在链路层

    IP包在网络层

    TCP或UDP包在传输层

    TCP或UDP中的数据(Data)在应用层

    它们的关系是数据帧{IP包{TCP或者UDP包{Data}}}

    ————————————————————————————————

    在应用程序中我们用到的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包中的数据多于1472时,发送方的IP层需要分片fragmentation进行传输,而在接收方IP层则需要进行数据报重组,由于UDP是不可靠的传输协议,如果分片丢失导致重组失败,将导致UDP数据包被丢弃。)

    从上面的分析来看,普通的局域网环境下,UDP的数据最大是1472字节最好,避免分片重组。

    但是在网络编程中,Internet中的路由器可能设置成不同的值(小于默认值),Internet上的标准MTU值为576,所以Internet的UDP编程时的数据长度最好在576 - 20 -8 = 548字节以内。

    Mac OS点击系统偏好设置——网络——高级——硬件可以查看本机的MTU设置。

    IP数据包的最大长度是64K字节(2^16 -1),因为在IP包头中用2个字节描述报文长度,2个字节所能表示的最大数字就是2^16-1 = 65536 -1 = 65535.

    由于IP协议提供为上层协议分割和重组报文的功能,因此传输层协议的数据包长度原则上来说没有限制。实际上限制还是有的,因为IP包的标识字段终究不可能无限长,按照IPv4,上限是2^32=4G字节。依照这种机制,TCP包头中就没有“包长度”字段,而完全依靠IP层去处理分帧。这就是为什么TCP常常被称作一种“流协议”的原因,开发者在使用TCP服务的时候,不必关心数据包的大小,只需要将SOCKET看作一条数据流的入口,往里面放数据就是了,TCP协议本身会进行拥塞/流量控制。

    UDP则和TCP不同,UDP包头内有总长度字段,同样为2个字节,因此UDP数据包的总长度被限制为(2^16-1),这样恰好可以放进一个IP包内,使得UDP/IP协议栈的实现非常简单高效。65535再减去UDP头本身所占据的8个字节,UDP服务中的最大有效负载长度仅为65527.这个值也就是调用getsockopt()时指定SO_MAC_MSG_SIZE所得到的返回值,任何使用SOCK_DGRAM属性的socket,一次send的数据都不能超过这个值,否则必然得到一个错误。

    那么,IP包提交给下层协议时将会得到怎样的处理呢?取决于数据链路层协议,一般得到数据链路层协议都会负责将IP包分割成更小的帧,然后在目的端重组它,在EtherNet上,数据链路帧的大小如开篇所述。而如果是IP over ATM,则IP包将被切分成一个一个的ATM Cell,大小为53字节。

    展开全文
  • 以太网(RFC 894)帧格式以太网帧格式如下所示:其中源地址和目的地址是指网卡硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化...以太网帧的数据长度规定最小46字节,最大1500字节,ARP和RARP数据包...
  • 在以太网链路上的数据包称作以太帧,在802.3标准里,规定了一个以太帧的数据部分(Payload)的最大长度是1500个字节(MTU),再加上14字节链路头和4字节的FCS,所以以太网帧的最大长度为1518。另外,以太网帧的最小长度...
  • 以太网(RFC 894)帧格式(图36.6) 其中源地址和目的地址是指网卡硬件地址(也叫MAC地址),长度是48位,是在网 卡出厂时固化。...以太网帧的数据长度规定最小46字节,最大1500字节,AR
  • 以太网

    2018-11-06 20:25:00
    结束位置往前4个字节(检验序列)就是数据字段的结束位置。 MAC地址生成方式:记录源mac地址 以太网的扩展方式:1、使用集线器,优点 :不同系的以太网上的计算机能够跨系通信;扩大了以太网覆盖的地理范围。2、...
  • 最大传输单元

    千次阅读 2014-07-24 19:53:10
    比如以太网帧数据字段的最大长度是1 500B,所以它的MTU就是1500B.  在这里顺便解释一下以太网帧的长度问题。如前所述,以太网帧中的数据字段最少需要有4B(如果不够则在成帧时予以补足),最多为1500Ba参看图3一和...
  • 数据链路层——最大传输单元MTU

    千次阅读 2018-07-23 23:17:11
    1 数据链路层的以太网帧结构 以太网帧结构由四个字段组成,各字段含义为: 目的地址:该地址指是MAC...数据:要传输的数据,不过该数据长度的要求,是在46–1500字节之间,该长度称为最大传输单元即MTU 若...
  • 最大传输单元:MTU

    2020-02-23 21:12:04
    MTU的概念: MTU相当于发快递时对包裹...它限制了数据帧的最大长度,不同的网络类型都有一个上限值。 例如以太网的MTU是1500。 如果网络层有数据包要传,而且数据包的长度超过了MTU, 那么网络层就要对数据包进行...
  • 以太网帧格式 以太网协议规定了一组电...规定最大长度是考虑到如果数据传输出错最多只需要传输最大帧长度的数据,有效载荷最大为1500字节,但是当数据过大时候需要分开发送。 链路层流量控制但是不经常使用 ..
  • WindowsMTU修改

    千次阅读 2018-12-25 11:27:00
    MTU是英文Maximum Transmission Unit缩写,意为“最大传输单位”。也就是通过TCP/IP协议所传输数据包最大有多少字节,对于网速有极大影响,...以太网帧数据字段最大长度是1500b,所以系统默认1500,所以通常情...
  • udp

    2020-10-07 09:47:44
    udp标识字段 udp首部 udp+IP IP首部单位:4B,片偏移单位:8B 以太网帧数据的最大长度是1500B
  • 计算机网络(第七版) ...在IP层下面的每一种数据链路层协议都规定了一个数据中的数据字段的最大长度,这称为最大传送单元MTU(Maximum Transfer Unit)。 当一个IP数据报封装成链路层的时,此数据报的总长度(即首
  • 计算机网络(第七版) 谢希仁编著 5-13 一个UDP用户数据报的数据字段为8192字节。在链路层要使用以太网来传送。...在IP层下面的每一种数据链路层协议都规定了一个数据中的数据字段的最大长度,这称为最大传送...
  •  P110指明了V2格式MAC格式,其中数据字段(即IP数据包)长度范围在46字节-1500字节,这个范围是针对以太网来定义,“1500字节”也叫做以太网的MTU(最大传输单元,即以太网限定了IP数据报最大长度为1500字节...
  • 1、以太网帧格式 2.2、ARP数据报格式 3、IPV4数据报格式如下: IP数据包首部长度数据长度都是可变,但总是4整数倍。 4位版本:IPV4版本号是4。 4位首部长度:它里面数值是以4字节为单位,...
  • 总长度:总长度值首部和数据之和的长度,总长度字段是16位,因而数据的最大长度为2^16-1,当IP封装成以太网帧时,其长度不能超过最大传送单元MTU的值。 标识:占16位,IP软件里面维持着一个计数器,每产生...
  • 一、链路层 1、分类: ①广播型信道:通常用在局域网、无线LAN(WIFI)、卫星网和混合光纤电缆。...数据字段最小长度是46字节。如果数据报比这个小,就填充。去除填充是靠网络层首部数据长度字段。
  • MTU,即最大传输单元,数据(有效载荷)部分的最大长度。 IP地址是逻辑地址,MAC地址是物理地址。 数据链路层 1. 以太网帧的格式 最常用的MAC帧就是以太网V2的格式,格式如下: 上图中每个字段的含义如下表所示...
  • 要知道以太网帧数据的最大长度为1500字节,那么在网络层传递给数据链路层的时候就需要对IP数据包进行分片,那么IP头部信息应当有分片字段。为了多个分片的数据包能够重组,应当有唯一一个标识字段来确认多个分片的包...
  • TCP与UDP基础

    2019-04-22 14:35:55
    理论上,一个IPV4数据的最大长度是65535字节,这由IPV4头部的16位总长度字段决定 除去20字节的IPV4头部和UDP头部8字节 数据最大长度就是65507字节 实际上:UDP属于传输层,由下至上来看: 以太网(Ethernet)数据帧...
  • 关于TCP/IP

    2016-01-17 11:00:17
    关于TCP/IP几个层次,如下所示: 这其中各个层次数据包封装如下所示: 数据包到达之后由协议栈到达各层过程如此啊所示: 着重要注意一下就是...以太网帧的数据长度规定最小46字节,最大1500字节,AR
  • 问题4-4:从什么地方可以查阅到以太网帧格式中“类型”字段是怎样分配? 问题4-5:是什么原因使以太网有一个最小帧长和最大帧长? 问题4-6:在双绞线以太网中,其连接导线只需要两对线:一对线用于发送,另一对...
  • 一.网络接口层(链路层): ①以太网帧格式: ...其中目的地址和源地址均是网卡地址(MAC地址),对于每个设备都是唯一,ifconfig ---->HWaddr...以太网帧的数据长度最小为46字节,最大为1500字节,也就是封装上
  • TCP分段和IP分片

    2020-10-27 15:55:00
    MTU,是链路层中网络对数据帧的一个限制,以太网为例。MTU为1500个字节。一个IP数据报在以太网中 传输,假设它的长度大于该MTU值,就要进行分片传输,使得每片数据的长度小于MTU。 MSS(最大分段大小) MSS...
  • 问题4-29:IP数据报的首部的最大长度是多少个字节?典型的IP数据报首部是多长? 问题4-30:IP数据报在传输的过程中,其首部长度是否会发生变化? 问题4-31:当路由器利用IP数据报首部中的“首部检验和”字段检测出在...
  • 计算机网络复习题

    2014-12-29 19:01:35
    TCP包中有一个Window size 字段,接收方可以通过该字段告诉发送方,自己还有多少个接收缓冲区,极端情况下,当接收方不能再接收数据时,把该字段设置为0,从而发送方可以根据该字段的值来调整发送数据的大小或速率。...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

以太网帧数据字段的最大长度是