Jumbo Frames

Every data unit on a network has to be assembled by the sender, and its headers have to be read by the network  components between the sender and the receiver. The receiver then reads the frame and TCP/IP headers before processing the data. This activity, plus the headers added to frames and packets to get them from sender to receiver, consumes CPU cycles and bandwidth.

Sending data in jumbo frames means fewer frames are sent across the network. This generates improvements in CPU cycles and bandwidth. A single 9k jumbo frame replaces six 1.5k standard frames, producing a net reduction of five frames, with fewer CPU cycles consumed end to end. Further, only one TCP/IP header and Ethernet header is required instead of six, resulting in 290 (5*(40+18)) fewer bytes transmitted over the network.

It takes over 80,000 standard Ethernet frames per second to fill a gigabit Ethernet pipe, consuming a lot of CPU cycles and overhead. Sending the same data with 9k jumbo frames, only 14,000 frames need to be generated, with the reduction in header bytes freeing up 4 Mbps of bandwidth.

These savings in CPU cycles and bandwidth can produce some significant increases in network performance. In a 1999 study on jumbo frames over gigabit Ethernet, “Microsoft, Sun, Compaq, Hewlett-Packard, and IBM all recorded at least 50% increases in TCP throughput with reduced CPU utilization on single- and multi-processor systems using jumbo frames.”

But, what is a Jumbo Frame?

A standard Ethernet frame is comprised of payload produced at Layer 4 and above, an IP header produced at Layer 3, and a data header produced at Layer 2. The payload at Layer 4 is the MSS, or maximum segment size, and is typically 1460 bytes. Add the TCP/IP header of 40 bytes and we have the Layer 3 MTU, or maximum transmission unit of 1500 bytes.

At Layer 2, a frame header is added to the MTU, which is comprised of the source and destination MAC addresses (6 + 6 = 12 bytes), the Ethernet type (2 bytes) and the CRC information (4 bytes), totaling 18 bytes. Many refer to an Ethernet frame as 1518 bytes, which is simply the 1500 byte MTU plus the 18 byte header. The 4 byte CRC information is sometimes not counted, leading to the 1514 byte size. If 802.1q VLAN tagging is in use, an additional 4 bytes are added, bringing the total to 1522 bytes.

So a jumbo frame is basically anything bigger than 1522 bytes, with a common size of 9000 bytes, which is exactly six times the size of a standard Ethernet frame. With Ethernet headers, a 9k byte jumbo frame would be 9014-9022 bytes. This makes it large enough to encapsulate a standard NFS (network file system) data block of 8192 bytes, yet not large enough to exceed the 12,000 byte limit of Ethernet’s error checking CRC (cyclic redundancy check) algorithm.

Jumbo frames are commonly used with networks that carry large amounts of data (or big files) or for purposes like iScsi.

  1. […] it after having performance issues. While i was reading i noticed that these users were also using Jumbo Frames on that exact same […]


Geef een reactie

%d bloggers liken dit: