首先要明白在TCP/IP协议栈中的以下5个概念:

  • 数据帧(Frame):它的起始点和目的点都是数据链路层(二层),其包含链路层的头部(MAC地址等等)。
  • 数据包(Packet):一般指代网络层(三层)的传输单元,当传输层协议为UDP时,其也可以称作UDP数据包,用以与IP数据包作区分。
  • 数据报(Datagram):一般指代当传输层(四层)协议为UDP时的传输单元,有时三层的单元也可以称为数据报,也就是IP数据报,所以也有UDP数据报来加以区分。
  • 段(Segment):传输层(四层)协议为TCP时的信息单元。
  • 消息(message):网络层以上(经常在应用层(五层))的信息单元。

以上的所有都是包含本层头部的。

那么什么是MTU呢?

In computer networking, the maximum transmission unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single network layer transaction. The MTU relates to, but is not identical to the maximum frame size that can be transported on the data link layer, e.g. Ethernet frame.

在维基百科中提到了MTU是最大的PDU,那么什么又是PDU呢?

In telecommunications, a protocol data unit (PDU) is a single unit of information transmitted among peer entities of a computer network. A PDU is composed of protocol-specific control information and user data. In the layered architectures of communication protocol stacks, each layer implements protocols tailored to the specific type or mode of data exchange.

从维基百科中,我们可以看到,PDU是包含头部信息的。

那么综合来看,MTU则是网络层的包包含网络层的头部的最大的值。由于以太网的最大传输字节为1518,减去18个字节的以太网传输头部和尾部,那么MTU的最大值为1518-18=1500字节。