TCP Santa Cruz is a new implementation of TCP congestion control and error recovery designed to work better than TCP Reno or Tahoe over networks with heterogeneous transmission media. It uses estimates of the relative delay between packets on the forward path, rather than round-trip time estimates, to detect congestion early. It can identify the direction of congestion to isolate the forward throughput from reverse path events. Simulation experiments show TCP Santa Cruz achieves significantly higher throughput, smaller delays, and delay variances than TCP Reno and Vegas.