PowerScale nodes use 10, 25, and 40 GbE NICs for front-end networking. To maximize throughput on these high-bandwidth links, jumbo frames are recommended for greater throughput. Standard 1,500 byte and jumbo 9,000-byte packets are formed with the same packet structure at Layer 1, with the only difference pertaining to the actual data payload. Although the overhead is identical for standard and jumbo packets, the ratio of the data to the overhead varies significantly.
For every payload sent to Layer 1 on the wire, the following fields are required:
Interpacket Gap / Preamble / Start Frame Delimiter / Destination MAC / Source MAC / Type / CRC In bytes, this translates to:
12 + 7 + 1 + 6 + 6 + 2 + 4 = 38 bytes
Hence, regardless of the payload fields, every payload requires an additional 38 bytes to be sent. This does not consider the optional VLAN tag, which requires an additional 4 bytes. The following sections provide examples of packet overhead based on the payload fields.
IPv4 and TCP headers consume the following bytes:
20 bytes (IPv4) + 20 bytes (TCP)= 40 bytes
If the payload headers consume 40 bytes, the data field for a standard 1,500-byte payload consumes:
1500 – 40 = 1460 bytes
Therefore, a standard 1,500-byte packet with IPv4 and TCP headers results in a data to Ethernet frame percentage as follows:
(Data Bytes) / (Total Ethernet Frame Bytes) = (1500 – 40) / (1500 + 38) = 1460/1538 = .949 => 94.9%
A 9,000-byte payload that contains IPv4 and TCP headers consumes the following bytes:
20 bytes (IPv4) + 20 bytes (TCP)= 40 bytes
If the payload headers consume 40 bytes, the data can field consumes:
9000 – 40 = 8960 bytes
Therefore, a 9,000-byte packet with IPv4 and TCP headers results in a data to Ethernet frame percentage as follows:
Data Bytes) / (Total Ethernet Frame Bytes) = (9000 – 40) / (9000 + 38) = 8960/9038 = .991 => 99.1%
Linux automatically inserts the timestamp within the payload. A standard 1,500-byte payload that contains IPv4, TCP, and timestamp headers consumes the following bytes:
20 bytes (IPv4) + 20 bytes (TCP) + 12 bytes (timestamp) = 52 bytes
If the payload headers consume 40 bytes, the data field consumes:
1500 – 52 = 1448 bytes
Therefore, a standard 1,500-byte packet with IPv4 and TCP headers results in a data to Ethernet frame percentage as follows:
(Data Bytes) / (Total Ethernet Frame Bytes) = (1500 – 52) / (1500 + 38) = 1448/1538 = .941 => 94.1%
Linux automatically inserts the timestamp within the payload. A 9,000-byte payload that contains IPv4, TCP, and timestamp headers consumes the following bytes:
20 bytes (IPv4) + 20 bytes (TCP) + 12 bytes (timestamp) = 52 bytes
If the payload headers consume 40 bytes, the data field consumes:
9000 – 52 = 8948 bytes
Therefore, a 9,000-byte packet with IPv4 and TCP headers results in a data to Ethernet frame percentage as follows:
(Data Bytes) / (Total Ethernet Frame Bytes) = (9000 – 52) / (9000 + 38) = 8948/9038 = .990 => 99.0%