

Note that TCP/IP are part of operating system, while most functionality of Ethernet is implemented on the NIC. 7,300 Bytes can be conveniently segmented into five maximum sized TCP segments.Īfter IP adds a header to the TCP segments the resulting IP datagrams are sent one-by-one to the "Ethernet layer".

If we subtract the 20 Byte IP header and 20 Byte TCP header there is 1460 Bytes remaining for data in a TCP segment (this is the TCP Maximum Segment Size ( MSS)). Why five? The Maximum Transmission Unit ( MTU) of Ethernet is 1500 Bytes. Lets assume the application data is 7,300 Bytes. How does this affect what Wireshark captures? Consider the figure below illustrating the normal flow of data through a TCP/IP stack without offloading. In other words, offloading to the NIC can produce performance gains inside your computer, but not across the network. However offloading doesn't change what is sent over the network. This saves on the CPU and importantly cuts down on the bus communications to/from the NIC. That is, instead of the OS using the CPU to segment TCP packets, it allows the NIC to use its own processor to perform the segmentation.

Common operations for offloading are segmentation and checksum calculations. One case in which this occurs is when TCP/IP operations are offloaded by the operating system to the Network Interface Card (NIC). Unfortunately sometimes what we see in Wireshark is not what we expect. This allows students to see the actual packets being sent across a network, and start to understand the protocol rules and formats used. ping, Secure Shell, web browsing, iperf). In the lab I teach ( ITS332), as well as assignments for some lecture courses, we use Wireshark to capture traffic generated by several Internet applications (e.g. When introducing data communications concepts and protocols to students I think it is beneficial to demonstrate, and more importantly, allow students to play with real protocols. Segmentation and Checksum Offloading: Turning Off with ethtool
