packetpushers.net
General Network Challenges, and IP/TCP/UDP Operations
Excerpt
- Unicast flooding - Out of order packets - Asymmetric routing - The impact of microbursts - ICMP unreachables and redirects - IPv4 options and IPv6 extension headers - IPv4 and IPv6 fragmentation - TTL - IP MTU - IPv4 and IPv6 path MTU discovery - MSS - TCP latency - Windowing - Bandwidth delay product - Global synchronization - TCP options - Starvation - UDP latency. Unicast Flooding: … However, packets that arrive out of order typically inhibit network performance dramatically. For example, the TCP receiver could send duplicate ACKs to trigger the fast retransmit algorithm. The TCP sender, upon receiving the duplicate ACKs, assumes packets were lost in transit and reduces the TCP window size, which reduces the TCP throughput. Forwarding schemes that implement per-packet load distribution often result in out-of-order packets being received at the destination. … A packet may need to be fragmented multiple times during transmission if the MTU decreases multiple times along the path. Routers along the path do not perform fragmentation reassembly, even when a fragment is fragmented again due to an even lower MTU along the path. It is up to the TCP/IP stack in the end device to reassemble the fragments. Fragmentation in the network introduces extra overhead, since only the ultimate destination device can re-assemble the fragments. … When performing a traceroute from Cisco devices, which send three probes to each hop by default, the second probe in the final hop usually times out. This is due to the default ICMP rate limiting of Cisco IOS. The error messages returned from the intermediate routers are “TTL Exceeded”, whereas the message returned by the ultimate destination is “Destination Unreachable”. … For example, the default Ethernet MTU is usually 1500 bytes in most implementations. When an IP packet carrying a TCP segment needs to be sent, 20 bytes are used for the IP header, and 20 for the TCP header, which leaves 1460 bytes left for the actual data payload. When setting the MTU, some platforms (like Classic IOS) do not consider the Layer 2 header, while others (like IOS-XR) do. The default MTU of 1500 for an Ethernet interface on Classic IOS is equivalent to the default Ethernet MTU 1514 on IOS-XR. If the data to be sent is larger than the supported MTU on an interface, it must be either fragmented or dropped. Larger MTU values reduce protocol overhead at the expense of having to re-transmit more data when data is lost or corrupted during transport. MTU can be an issue for IP when different tunneling protocols are used on top of IP. For example, IP-in-IP adds another 20 bytes of overhead, effectively reducing the MTU of the payload by 20. … Likewise, when implementing tunneling, the TCP MSS is often adjusted to avoid fragmentation at the IP layer because of the overhead associated with the tunneling protocol(s). Cisco IOS supports changing the MSS of TCP SYN packets that are sent through the router. This is commonly used with PPPoE, which supports an MTU of 1492 bytes. … TCP latency is often defined by the RTT Round Trip Time, which is the length of time it takes to receive back a response from a TCP message. For example, establishing a new TCP session involves sending a SYN and expecting to receive a SYN/ACK in response. Latency begins with the propagation delay, which is no faster than the speed of light. Serialization delay, and intermediary device processing also add to the overall latency. … Global synchronization results as a combination of how TCP uses slow-start and windowing, combined with tail-drop queuing on the router. One way to alleviate these symptoms is to use Random Early Detection queuing, where packets in a queue approaching congestion are randomly discarded, which causes the individual TCP stream to reduce its window size temporarily. By perform this action randomly on individual TCP streams, instead of all at once on all TCP streams (tail drop), the bandwidth of the link is used more efficiently.
Related Pain Points
Out-of-order packet delivery degrades TCP throughput
7Per-packet load distribution forwarding schemes cause packets to arrive out of order, triggering TCP's fast retransmit algorithm and causing the sender to reduce window size, dramatically reducing throughput.
Linux desktop display protocol fragmentation (X11 vs Wayland)
6Developers must support multiple display protocols—X11 and Wayland—as Linux transitions from X11 to Wayland. Not all distributions have fully adopted Wayland, and XWayland compatibility is inconsistent, causing software to run less smoothly than on X11.
Global synchronization causes inefficient bandwidth utilization
6Tail-drop queuing combined with TCP slow-start causes all TCP streams to reduce window size simultaneously during congestion, leading to inefficient link utilization and bursty traffic patterns.
TCP/IP Network Performance Diagnostic Complexity
5Diagnosing TCP/IP performance issues requires checking multiple system layers (host memory/CPU, link errors, IP fragmentation, TCP retransmission, buffer sizes, MTU settings), with many interdependent configuration parameters and no straightforward diagnosis methodology, making performance troubleshooting tedious and time-consuming.