All technologies

TCP

15 painsavg 6.1/10
networking 5performance 5architecture 2security 1monitoring 1compatibility 1

TCP Connection Limits for Large-Scale Data Collection

8

Opening thousands of TCP connections from a single server for data collection triggers firewall bot detection and IP blacklisting, blocking large-scale web scraping and data pipeline projects. This is a fundamental architectural limitation when trying to gather data from many sources simultaneously.

networkingTCP

Out-of-order packet delivery degrades TCP throughput

7

Per-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.

networkingTCPIP

Connectivity issues between serverless functions and traditional databases

7

Traditional database setups (like RDS instances) are often not connected to the internet by default, making it extremely difficult to connect serverless compute platforms like Cloudflare Workers to them. This creates a significant operational burden for modern development workflows.

networkingCloudflare WorkersRDSTCP

UDP blocked by corporate firewalls and NAT middleboxes

7

Middleboxes block non-TCP protocols (UDP, DCCP, SCTP) in corporate networks and censoring countries, forcing applications back to TCP despite TCP being unsuitable for many use cases.

networkingUDPTCPDCCP+1

Weak TCP checksums provide insufficient data integrity

7

16-bit TCP checksums are too weak to detect bit-flips; organizations implementing encryption see reduced crashes because encryption enforces stronger 128-256 bit checksums. This architectural weakness forces all-or-nothing security decisions.

securityTCP

TCP Poor Latency on High-Speed Networks

7

TCP/IP achieves poor round-trip latency and cannot approach the raw capabilities of next-generation high-speed networks like Myrinet and ATM. TCP was designed for wide-area networks and is not optimized for local-area or high-bandwidth, high-latency connections.

performanceTCPUDPUDT

TCP Too Slow for Real-Time Applications

6

TCP's reliability guarantees, connection overhead (3-way handshake), and flow control make it unsuitable for applications prioritizing speed over reliability, such as video calls, online games, and live streams, forcing developers to use UDP instead and lose reliability benefits.

performanceTCPUDP

TCP/IP lacks embedded application semantics support

6

TCP/IP architecture doesn't allow embedding application semantics into network packets, preventing application-level control over data transmission. This forces applications to build custom framing on top of TCP.

architectureTCPIP

TCP/IP Protocol Stack Layering Overhead

6

Multi-layer protocol stack organization (Sockets → TCP → IP → driver) requires costly layer transitions and data transformations at each boundary. Nearly one-quarter of small-packet processing time is spent on memory management (mbuf overhead and copying), and layer transitions consume significant processing overhead.

performanceTCPIPBerkeley Sockets

Global synchronization causes inefficient bandwidth utilization

6

Tail-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.

performanceTCPQoS

Head-of-Line Blocking with TCP Multiplexing

6

Protocols attempting to multiplex or pipeline concurrent commands over a single TCP connection encounter head-of-line blocking, where TCP's ordered delivery constraint prevents concurrent messages from being processed independently, forcing developers to re-implement flow control and framing.

networkingTCP

TCP/IP Network Performance Diagnostic Complexity

5

Diagnosing 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.

monitoringTCPIP

TCP Expensive Checksum Computation Bottleneck

5

TCP uses per-packet checksums for end-to-end reliability despite modern network hardware already providing per-packet CRCs, creating redundant and expensive checksum computation that becomes a bottleneck in packet processing, especially on LAN where the extra reliability is unnecessary.

performanceTCP

TCP Application-Level Acknowledgement Redundancy

5

TCP's acknowledgement only confirms message receipt, not processing, forcing applications to implement their own redundant acknowledgement layers on top of TCP to ensure data has actually been processed by the receiving application.

architectureTCP

TCP Unused or Broken Protocol Features

3

TCP has a long history of unused or broken features (e.g., TCP urgent flag) that add complexity without functional benefit, creating legacy cruft that cannot be removed due to backward compatibility constraints.

compatibilityTCP