1

I am a little bit confused about one fact. According to the specification, the ethernet frame maximum size is 1518 bytes, and the IPv4 packet size Length field in an IPv4 header can be up to 65535 bytes.

So my question is: how is it possible to have an IP packet maximum length larger than an ethernet frame, as everyone knows IPv4 packets encapsulated into ethernet frames.

I have only one guess is fragmentation.

Please explain this.

  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer. – Ron Maupin Aug 14 '17 at 14:44
1

Your assumption the IPv4 is always encapsulated by ethernet is flawed. Don't confuse the network layers. Ethernet, a layer-2 protocol, can carry any numbers of layer-3 protocols, not only IPv4. On the other hand, IPv4, a layer-3 protocol, can be carried by any number of layer-2 protocols, and it doesn't care which. Some layer-2 protocols on which IPv4 is carried have larger maximum MTU sizes than does ethernet.

Ethernet and IPv4 were developed and released at about the same time, but by very different groups. It was not obvious at the time that either would end up being the dominant protocol for its network layer. Ethernet is a LAN protocol which was mostly used for IPX, and IPv4 was usually used on WANs to connect large university computers.

IPv4 can be fragmented by routers in the path, IPv6 cannot, but it specifies a minimum MTU of 1280. Lately, there is PMTUD which discovers the minimum MTU in a path before sending packets out along the path, so that packet sizes can be adjusted to fit the minimum MTU of the path before being sent.

  • Thanks for answer but I still cannot understand. Have a look at this picture elguber.files.wordpress.com/2010/05/osi_layers.jpg each upper layer has smaller size than lower, that is quite clear. Or you mean that 1500 restrictions is not real world case ? – solderingiron Jun 15 '16 at 14:47
  • What I'm saying is that each protocol was developed independently. There is no reason that IPv4 knows or cares about ethernet. When IPv4 was being developed, there was no such thing as ethernet, and when ethernet was being developed, there was no IPv4. Why would each care about the maximum size of the other? Each was developed with maximum sizes that its creators thought fit the protocol being developed. It is by pure happenstance that those two are the dominant protocols, and neither cares about the other. – Ron Maupin Jun 15 '16 at 14:53
  • @solderingiron, when Wi-Fi (IEEE 802.11) was developed, it was created with a larger payload than ethernet (IEEE 802.3). The maximum Wi-Fi frame size is 2346, considerably larger than ethernet, but not as large as the maximum packet size of IPv4. Token ring (IEEE 802.5) can have a payload of up to 4500 bytes. Some serial layer-2 protocols can have even larger payloads. Each network layer is independent of the other layers because each can carry, or be carried by, any current or future protocols. – Ron Maupin Jun 15 '16 at 15:10
  • Thanks for answers, but one and main question. If lower standard doesn't support such size for example 4500 for IEEE 802.5 and 65535 in IPV4 protocol, what happens on the bottom layer ? – solderingiron Jun 15 '16 at 19:52
  • The network stack in a host has an MTU for a particular interface. Each layer knows what this is, and it adjusts itself accordingly. – Ron Maupin Jun 15 '16 at 20:00
1

a) Ethernet is not the only Layer-2 transport.
b) IP supports fragmentation. (it's a bad idea, but it supports it.)
and c) Many vendors ignore that specific part of the standard and allow "jumbo frames". As it's not part of any standard, there's no set number -- it ranges from 2k up to 16k.

0

Unless the sender sets the Don't Fragement flag, a packet can be fragmented into many Ethernet frames. The recipient assembles the fragments and processes the whole IP packet. No information of the original IP packet will be lost.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.