`
lbyzx123
  • 浏览: 476056 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

以太网最大帧和最小帧、MTU

    博客分类:
  • c++
 
阅读更多
 根据rfc894的说明,以太网封装IP数据包的最大长度是1500字节,也就是说以太网最大帧长应该是以太网首部加上1500,再加上7字节的前导同步码和1字节的帧开始定界符,具体就是:7字节前导同步码 + 1字节帧开始定界符 + 6字节的目的MAC + 6字节的源MAC + 2字节的帧类型 + 1500 + 4字节的FCS。
    按照上述,最大帧应该是1526字节,但是实际上我们抓包得到的最大帧是1514字节,为什么不是1526字节呢?
    原因是当数据帧到达网卡时,在物理层上网卡要先去掉前导同步码和帧开始定界符,然后对帧进行CRC检验,如果帧校验和出错,就丢弃此帧。如果校验和正确,就判断帧的目的硬件地址是否符合自己的接收条件(目的地址是自己的物理硬件地址、广播地址、可接收的多播硬件地址等),如果符合,就将帧交给“设备驱动程序”做进一步处理。这时我们抓包的软件才能抓到数据,因此,抓包软件抓到的是去掉前导同步码、帧开始分界符、FCS之外的数据,其最大值是6 + 6 + 2 + 1500 = 1514。
    以太网规定,以太网帧数据域部分最小为46字节,也就是以太网帧最小是 6 + 6 + 2 + 46 + 4 = 64。除去4个字节的FCS,因此,抓包时就是60字节。当数据字段的长度小于46字节时,MAC子层就会在数据字段的后面填充以满足数据帧长不小于64字节。由于填充数据是由MAC子层负责,也就是设备驱动程序。不同的抓包程序和设备驱动程序所处的优先层次可能不同,抓包程序的优先级可能比设备驱动程序更高,也就是说,我们的抓包程序可能在设备驱动程序还没有填充不到64字节帧的时候,已经捕获了数据。因此不同的抓包工具抓到的数据帧的大小可能不同。(比如,wireshark抓到的可能没有填充数据段,而sniffer抓到的就有填充数据段)

查看网络接口MTU的方法:
Windows下,在命令提示符下输入netstat -e -v
FreeBSD下,输入netstat -i

 

分享到:
评论

相关推荐

    以太网帧结构基础教程

    吉比特以太网(GE)遵循IEEE 802.3z和802.3ab标准,保持最大电缆长度100米和最小帧长64字节不变。在半双工模式下,采用“载波延伸”和“分组突发”技术,最小帧长增至512字节。全双工模式则不使用这些技术。吉比特...

    Ethernet II以太网帧详细分析

    这种类型的以太网帧是最常用的帧结构之一,其最小长度为64字节,最大长度可达1518字节(未考虑封装情况)。 #### 二、Ethernet II 帧结构 Ethernet II帧结构主要包括以下几个部分: 1. **目的MAC地址 (6字节)**:...

    以太网帧格式、IP数据报格式、TCP段格式+UDP段格式 详解 - - 博客园.pdf

    数据链路层包括MAC地址(网卡硬件地址),数据帧最小长度为46字节,最大为1500字节,被称为最大传输单元(MTU)。集线器(Hub)工作在物理层,负责信号中继;交换机工作在数据链路层,负责转发数据帧,并可能进行帧...

    tcp数据包格式.以太网 MTU=IP MTU=ip头+tcp头+payload

    这个限制不仅适用于以太网,也适用于IP层,因为IP数据报必须适应以太网帧的大小。因此,“以太网 MTU=IP MTU”意味着在以太网环境中,IP层能承载的最大数据量是1500字节。 然而,这个1500字节还包括了IP头和TCP头。...

    sniffer抓包分析以太网帧

    4. 考虑以太网帧的最小和最大数据负载限制。 5. 检查FCS以确保帧的完整性。 通过这种方法,我们可以深入了解网络通信的细节,诊断网络问题,或者检查潜在的安全威胁。理解以太网帧和其组成部分对于网络管理员和IT...

    路由交换技术-以太网帧结构.pptx

    以太网帧结构是路由交换技术中的基础知识,它在数据链路层中起着至关重要的作用,确保数据在物理链路上正确、可靠地传输。...在实际应用中,路由和交换技术利用以太网帧结构来构建高效、可靠的网络基础设施。

    MTU计算方法

    这是由于以太网标准规定了帧的最小和最大长度,以确保数据传输的可靠性和效率。MTU的计算需从中扣除头部信息的占用空间,包括源MAC地址、目的MAC地址、类型字段和CRC校验码等。 #### 计算过程示例 1. **以太网IP ...

    对mtu详细解说请评分

    在TCP/IP协议栈中,MTU定义了网络接口所能传输的最大数据包大小,不包括帧头和帧尾。理解并正确配置MTU对于优化网络性能、解决网络通信问题至关重要。 MTU的大小通常是固定的,并且由硬件限制,例如以太网的默认MTU...

    Ethernet帧结构解析程序

    3. **MAC地址(Destination MAC Address & Source MAC Address)**:每个以太网帧包含两个48位的MAC地址,前6个字节是目的MAC地址,后6个字节是源MAC地址,用于标识数据的目的地和发送方。 4. **类型/长度字段...

    第2章 Ethernet帧结构解析程序

    以太网帧由多个字段组成,每个字段都有特定的功能和用途。以下是基本的以太网帧结构: 1. **前导码**:由56位的10101010…101010位序列组成,用于接收端同步接收数据。 2. **帧起始定界符(SFD)**:8位的10101011...

    以太网禛结构.doc

    6. 数据(Payload):以太网帧的数据部分,最大可携带46到1500字节的数据,具体取决于网络的最小MTU(最大传输单元)设置。 7. 循环冗余校验(CRC,Cyclic Redundancy Check):4字节的校验和,用于检测数据传输...

    IP 数据包通过以太网网络传输标准

    在以太网中,最小的发送数据包长度为1500字节,这是考虑到以太网的最大传输单元(MTU),因此IP数据包的最大长度也被限制为1500字节。实践中推荐使用这个最大值。网关需要能够接收并处理这个长度的包,并在必要时...

    于ROS中mss,mtu的问题

    以太网的最小帧大小为64字节,最大帧大小为1518字节,所以除去头部的14字节(DMAC、SMAC、Type)和尾部的4字节(CRC),实际可用于数据部分的最大长度为1500字节,这就是以太网的标准MTU值。 #### MSS (Maximum ...

    计算机网络的帧的封装与解析

    3. **填充**:在某些情况下,如以太网,为了满足最小帧大小(通常为64字节)的要求,需要在数据中插入填充位。 4. **帧尾**:除了校验序列外,帧尾可能还包括其他控制信息,但具体取决于所使用的帧格式。 **帧解析...

    IPv4实验和以太网实验报告

    1. **最小帧长**:以太网帧的最小有效长度是46字节,包括目标地址、源地址、类型字段和至少28字节的数据。但实际的最小帧长在Wireshark抓包中显示为42字节,因为Wireshark抓取的是应用层看到的数据,不包括物理层的...

    MTU 相关知识总结点(一)

    5. **RFC4459 MTU and Fragmentation Issues with In-the-Network Tunneling**:关注隧道技术中的MTU和分片问题,因为在隧道中,额外的封装可能会导致实际MTU进一步减小。 6. **RFC4821 Packetization Layer Path ...

    Sniffer捕获数据分析

    以太网帧头部(14字节)加上IP数据总长度(28字节)等于42字节,但实际帧大小是60字节,这是因为为了填充到64字节的最小帧大小,填充了18字节。加上4字节的FCS,帧的完整大小是64字节。 如果我们将数据长度增加,...

Global site tag (gtag.js) - Google Analytics