View Full Version : IP protocol
fisico30
Mar8-11, 09:50 AM
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
schip666!
Mar8-11, 03:40 PM
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.
fisico30
Mar9-11, 07:20 AM
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
schip666!
Mar9-11, 12:31 PM
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.
logicman112
Mar12-11, 04:13 AM
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).
fisico30
Mar12-11, 08:04 AM
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
Jiggy-Ninja
Mar12-11, 10:21 AM
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.
logicman112
Mar14-11, 01:40 AM
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.
logicman112
Mar14-11, 02:00 AM
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.
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.