This document provides an overview of troubleshooting TCP/IP networks using Linux tools. It discusses both reactive troubleshooting to identify errors and proactive troubleshooting to identify performance issues. For reactive troubleshooting, it breaks it down by protocol (Ethernet/ARP, IP/ICMP, TCP/UDP, applications) and provides example tools and case studies for each. For proactive troubleshooting, it focuses on examining the entire network for factors affecting performance, using tools like netperf and iptraf. The document assumes a basic TCP/IP and Linux knowledge and provides a review of the TCP/IP protocol stack to set the stage for troubleshooting.