Zunächst ist es nur möglich, Daten innerhalb eines Sub-Netzes direkt an andere IP-Adressen zu verschicken.
In allen anderen Fällen, in denen Daten an andere Netzwerknummern geschickt werden sollen, treten Rechner auf den Plan, die den Verkehr zwischen den Netzen regeln. Solche Rechner werden als Gateways bezeichnet.
Diese Rechner leiten Daten von Host-Rechnern des eigenen Sub-Netzes an Gateways in anderen Sub-Netzen weiter, und umgekehrt ankommende Daten von Gateways anderer Sub-Netze an die Host-Rechner im eigenen Sub-Netz.
Das Weiterleiten der Daten zwischen Sub-Netzen wird als Routing bezeichnet. Die Beschreibung der möglichen Routen vom eigenen Netzwerk zu anderen Netzwerken wird in Routing-Tabellen auf den Gateway-Rechnern festgehalten.
Zu den Aufgaben von Gateways gehört es auch, eine Alternativ-Route zu finden, wenn die übliche Route nicht funktioniert, z.B. weil bei der entsprechenden Leitung eine Störung oder Übehrlastung aufgetreten ist. Gateways senden sich dazu ständig Testpakete zu, um das Funktionieren der Verbindung zu testen und für Datentransfers "verkehrsarme" Wege zu finden.
Es ist daher keinesfalls im vornherein klar, welchen Weg die Daten nehmen. Sogar einzelne Pakete einer einzigen Sendung können völlig unterschiedliche Wege nehmen