Jump to content

Interpacket gap

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Cmavr8 (talk | contribs) at 21:20, 16 January 2010. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Ethernet devices must allow a minimum idle period between transmission of Ethernet frames known as the interframe gap (IFG), interframe spacing, or interpacket gap (IPG). A brief recovery time between frames allows devices to prepare for reception of the next frame. The minimum interframe gap is 96 bit times (the time it takes to transmit 96 bits of raw data on the medium), which is 9.6 μs for 10 Mbit/s Ethernet, 960 ns for 100 Mbit/s (fast) Ethernet, 96 ns for 1 Gbit/s (gigabit) Ethernet, and 9.6 ns for 10 Gbit/s (10 gigabit) Ethernet.

Several adapter manufacturers design their adapters with a smaller interframe gap for higher data transfer rates, which can lead to a high rate of collisions. An example is Intel EtherExpress 100B.[1]

IFG Shrinking is allowed on repeaters towards the DTE and MII (Media Independent Interface) into the MAC (Media Access Control). This is to account for variable network delays, added preamble bits, and clock tolerances.

On reception, some interframe gaps may be smaller due to variable network delays, clock tolerances, and the presence of repeaters.
For 10 Gigabit Ethernet received IFG can be reduced to a period of 40 bit times (5 bytes)
For Gigabit Ethernet received IFG can be reduced to a period of 64 bit times (8 bytes)
For Fast Ethernet received IFG is not specified.
For Ethernet received IFG can be reduced to a period of 47 bit times

Interpacket gap usually refers to the inter-packet delay when packet-flooding. For example, on a Linux machine, one can perform a packet flood by entering the command ping and then either specifying the -f switch for flood, or by specifying an interval of zero: -i 0. The resulting ping statistics then include ipg/ewma which report the Interpacket Gap and the "Exponential Weighted Moving Average":

# ping -i 0 -c 5 wikipedia.org
PING wikipedia.org (66.230.200.100) 56(84) bytes of data.
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=1 ttl=52 time=50.1 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=2 ttl=52 time=47.9 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=3 ttl=51 time=49.5 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=4 ttl=52 time=49.9 ms
64 bytes from rr.pmtpa.wikimedia.org (66.230.200.100): icmp_seq=5 ttl=52 time=47.7 ms

--- wikipedia.org ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 46ms
rtt min/avg/max/mdev = 47.735/49.067/50.130/1.026 ms, pipe 5, ipg/ewma 11.517/49.574 ms

Notes

  1. ^ "Intel EtherExpress 100B - High rate of collisions on 100-megabit networks". Microsoft co. Retrieved 2010-01-16.