Con alcune semplici operazioni logiche tra indirizzo IP e netmask (and, xor e not) è possibile separare l'indirizzo in numero di rete e numero di host, oppure di confrontare il numero di rete tra due indirizzi IP
La tabella conterrà anche una riga che indica un router cui mandare i pacchetti la cui rete di destinazione non è in tabella. Questo router prende il nome di default gateway
Lo standard delle classi è troppo rigido, specialmente adesso che si tende ad assegnare pochi indirizzi IP ad ogni utente
Per separare il numero di rete dal numero dell'host si utilizza quindi la netmask
Nella netmask tutti i bit del numero di rete sono a 1, quelli del numero di host a 0
La netmask è un numero a 32 bit (come l'indirizzo IP), nel quale i bit più significativi sono tutti ad 1 ed i meno significativi a 0
In ogni riga della tabella di routing troveremo, quindi, l'indirizzo di una rete (esteso a 32 bit con 0 a destra), la netmask l'indirizzo IP di un router direttamente connesso, se la rete è remota, oppure l'indirizzo 0 se la rete è direttamente connessa