In computer networking, the interpacket gap (IPG), also known as interframe spacing, or interframe gap (IFG), is a pause which may be required between network packets or network frames. Depending on the physical layer protocol or encoding used, the pause may be necessary to allow for receiver clock recovery, permitting the receiver to prepare for another packet (e.g. powering up from a low-power state) or another purpose. It may be considered as a specific case of a guard interval.
Ethernet devices must allow a minimum idle period between transmission of Ethernet packets. A brief recovery time between packets allows devices to prepare for reception of the next packet. While some physical layer variants literally transmit nothing during the idle period, most modern ones continue to transmit an idle pattern signal. The standard minimum interpacket gap for transmission is 96 bit times (the time it takes to transmit 96 bits of data on the medium). The time is measured from the end of the frame check sequence of one frame to the start of the preamble for the next.
During data reception, some interpacket gaps may be smaller due to variable network delays, clock tolerances (all speeds), and the presence of repeaters (10 Mbit/s only).
10 Mbit/s Ethernet | (47 bit times) | ||
100 Mbit/s (Fast) Ethernet | (96 bit times)[2] | ||
Gigabit Ethernet | (64 bit times) | ||
2.5 Gigabit Ethernet | (40 bit times) | ||
5 Gigabit Ethernet | (40 bit times) | ||
10 Gigabit Ethernet | (40 bit times) | ||
25 Gigabit Ethernet | (40 bit times) | ||
40 Gigabit Ethernet | (8 bit times) | ||
50 Gigabit Ethernet | (8 bit times) | ||
100 Gigabit Ethernet | (8 bit times) | ||
200 Gigabit Ethernet | (8 bit times) | ||
400 Gigabit Ethernet | (8 bit times) |
Some manufacturers design adapters transmitting with a smaller interpacket gap for slightly higher data transfer rates. That can lead to data loss when mixed with standard adaptors.[3] [4]
For Fibre Channel, there is a sequence of primitives between successive frames, sometimes called interframe gap as well. The minimum sequence consists of six primitives, IDLE|IDLE|R_RDY|R_RDY|IDLE|IDLE
.[5] Each primitive consists of four channel words of 10 bits each for 8b/10b encoded variants (1–8 Gbit/s), equivalent to four data bytes.[6]