What Determines Packet Size Over the Internet?

  • Thread starter Thread starter fisico30
  • Start date Start date
  • Tags Tags
    Internet
AI Thread Summary
IP packets are the fundamental units of data transmitted over the internet, with their size determined by the Maximum Transmission Unit (MTU) of the network. Larger messages are fragmented into smaller packets to fit within this size limit, while protocols like TCP ensure correct ordering and delivery. Streaming applications such as voice and video require consistent data flow, utilizing techniques like buffering and packet numbering to manage out-of-order arrivals. Advanced protocols can prioritize time-sensitive data during network congestion, enhancing Quality of Service. Understanding MTU and packet fragmentation is crucial for effective data transmission over IP networks.
fisico30
Messages
362
Reaction score
0
Hello forum,

information on the internet travels in the form of IP packets. For example, an email is broken down into several packets that travel independently over the internet. The packets have a maximum size and contain a lot of control infos.
These packets can have different size. What determines the size of packet versus another one? Some are larger than other ones...

thanks
fisico30
 
Engineering news on Phys.org
IIRC, IP packets have a maximum payload size. Large messages are broken into smaller chunks and stuffed into multiple packets. TCP is a higher level protocol which deals with the correct ordering and reception of those multiple packets. There may be logic that breaks the packets at different sizes, but I would mostly expect there to be a series of the maximum size with one final packet containing the excess. Also, many messages are shorter than a single payload size, so they will vary in length as well.

Again IIRC, the size of the IP packets is limited by the size of buffers in the hardware. I once worked on an imaging system that re-wrote the IP layer to use "large-packets" that were around 16Kb, that was limited by the available buffer sizes.
 
hello schip666,

thanks for the clear reply. It makes sense. Since you seem to know things well, let me ask you about applications like voice and video that in the past were based on circuit switched networks. These two applications need an interrupted flow of data in order to avoid jittering.
Everything is moving towards IP (I am reading about IP over WDM) and packet switching. How can data and video work well with IP if the packets can arrive independently, not all at the same time, and out of order, to be later rearranged?

IP over WDM seem to skip a lot of other protocols, doesn' it? That makes things faster I guess...

thanks
fisico30
 
I don't know what WDM is...of the two googled possibilities "wavelength division multiplexing" seems more apropos than "Windows Driver Model"... If the latter, then that's a physical layer thing and not very relevant to the message protocol. Look up "OSI model" network layering, it is one of the major computer areas that actually responded well to structured design...

The trick with streaming data is that the medium is faster than the message, so you get some breathing room to re-transmit/assemble/order packets before presenting them to the user. You have the same issue with a hard drive that is reading sector by sector and probably seeking all over the place too. I'm not at all current on it, but I seem to remember that there are more advanced protocols for streaming data.
 
size of IP packet is based on MTU. Default OS config has a default value for MTU like 1500. Besides some protocols query MTU of the next hop, Gateway. IP packet larger than MTU is fragmented by layer 3. (Another parameter is MSS of TCP layer, layer 4).
 
logicman112 said:
size of IP packet is based on MTU. Default OS config has a default value for MTU like 1500. Besides some protocols query MTU of the next hop, Gateway. IP packet larger than MTU is fragmented by layer 3. (Another parameter is MSS of TCP layer, layer 4).

Hi logicman,

thanks for the reply. I am still a beginner...Could you explain me better what it means that the IP packet size depends on the MTU? What is the MTU?
In simple layman terms, what does it mean "...Besides some protocols query MTU of the next hop, Gateway. IP packet larger than MTU is fragmented by layer 3..."?

thanks
fisico30
 
fisico30 said:
hello schip666,

thanks for the clear reply. It makes sense. Since you seem to know things well, let me ask you about applications like voice and video that in the past were based on circuit switched networks. These two applications need an interrupted flow of data in order to avoid jittering.
Everything is moving towards IP (I am reading about IP over WDM) and packet switching. How can data and video work well with IP if the packets can arrive independently, not all at the same time, and out of order, to be later rearranged?

IP over WDM seem to skip a lot of other protocols, doesn' it? That makes things faster I guess...

thanks
fisico30
Let me crack open my Networking textbook. It's got a chapter on VoIP, and I know it covered those issues as pretty big Quality of Service concerns. Keep in mind that this is just a freshman college textbook, so it probably doesn't have all the answers. (I'm not even in a networking program)

First off, the packets are numbered in the sequence they are sent. That's a fairly obvious solution to be able to rearrange them.

One solution mentioned for the "inconsistent arrival time" is buffering. As long as the time between packets is not too long, you can buffer a few of them and play them back in the correct sequence and timing.

If the packet is dropped or not received in time, then there is one technique mentioned is to replace the missing packets with the previous packet, played at a lower volume.

For example, if you only receive packets 1-3-5-6 from the sequence, the program will play back 1-1-3-3-5-6, with the second 1 and 3 at a lower volume. It's the networking equivalent of duct tape and a prayer, but as long as there aren't too many dropped packets it's good enough.

If you have control over the network (administering a LAN, obviously won't apply to anything going over the Internet) you can configure the routers to discard less time-sensitive packets (such as Web or email packets) in favor of VoIP or streaming if the network starts to get congested.
 
MTU stands for "Maximum Transmission Unit". Each network physical interface like eth0 has a device driver module. Each device driver can change the default number of MTU for a network interface(like eth0). When you want to transmit an IP packet, it goes down through some layers and one of them is IP layer or Layer 3. The codes of this layer compares the size of your packet with MTU. If it is larger, it fragments the packet, it means it chops the payload into separate chunks of data and sends each by a separate header.
 
Path MTU discovery is a protocol in Layer 3 and extra service which is asked by user. It can be activated by /proc file system on Linux machine. It sets MTU dynamically or in run time. It tests the path between source and destination and sets the MTU of the source machine to the the smallest number it finds.
 

Similar threads

Replies
14
Views
2K
Replies
11
Views
4K
Replies
4
Views
2K
Replies
6
Views
3K
Replies
6
Views
4K
  • Sticky
Replies
0
Views
4K
Replies
3
Views
4K
Back
Top