Dato che il protocollo è nato su macchine Unix, il supporto delle reti TCP/IP è la modalità di comunicazione nativa di Linux, e benché per compatibilità siano stati implementati nel kernel anche parecchi altri protocolli di comunicazione, questo resta il principale ed il più usato.
La suite TCP/IP è strutturata su 4 livelli, mostrati in fig. 1, alla base c'è il livello del collegamento fisico, cioè il protocollo usato dall'hardware di comunicazione (nella maggior parte dei casi si tratta di ethernet). Questo livello dipende dall'hardware utilizzato, ed in genere viene usato in maniera trasparente all'utente.
Il livello immediatamente superiore è quello di IP, o Internet Protocol, è chiamato livello di rete dato che è quello che gestisce la trasmissione dei pacchetti sulla rete. È a questo livello che sono definiti gli indirizzi IP che identificano ogni macchina sulla rete.
Il terzo livello è quello detto di trasporto, e serve a gestire la creazione di canali di comunicazione diretta fra due computer. È a questo livello che vengono create le connessioni fra le macchine, ed qui che vengono implementate tutte le procedure che consentono di trasmettere i dati da un estremo all'altro in maniera affidabile.
Dal punto di vista dei programmi questo viene realizzato attraverso i cosiddetti socket, l'interfaccia usata in tutti i sistemi Unix per accedere alla comunicazione via rete; attraverso questa interfaccia (che è generica e non dipende dal protocollo specifico che si sta usando) i programmi possono creare i necessari canali di comunicazione fra due macchine diverse attraverso la rete.
Il quarto livello, quello di applicazione, è quello usato dai vari programmi che forniscono servizi su internet per parlarsi fra di loro, dentro i canali di comunicazione creati con i socket che si innestano sul terzo livello. Esso dipende dalle esigenze specifiche del programma, e varia da servizio a servizio.