A hálózat általában több egymáshoz kapcsolt számítógépbol áll, amelyek között lehetoség van információcserére és eroforrásmegosztásra. A hálózatba kapcsolt gépeket hostoknak nevezik, és minden ilyen hostnak van egy egyedi azonosítója (és ezzel együtt egy egyedi címe). Szokás megkülönböztetni a helyi hálózatokat (LAN- okat), és a nagytávolságú hálózatokat (WAN-okat). A LAN-ok átviteli sebessége több megabit/sec., míg a WAN-oké gyakran csak 9600 bit/sec. Az internet (vagy internetwork) több ilyen egymással összekapcsolt LAN-ból illetve WAN-ból áll (és ez nemcsak az INTERNETre vonatkozik).
A számítógépek közötti kommunikáció szigorú szabályok ( protokollok) szerint zajlik, és mivel ezek a protokollok nagyon összetettek, ezért ún. logikai szintekre osztották oket azért, hogy könnyebben lehessen oket kezelni és implementálni. Egy lehetséges szintfelosztás a következo: fizikai kapcsolat szintje, adatkapcsolati szint, hálózati szint és a transzport szint.
A fizikai szint specifikálja a fizikai adatátviteli közeg paramétereit: például azt, hogy mekkora lehet az összekapcsolt gépek közt kifeszített drót maximális hossza, mekkora feszültség jelenti a logikai 1-et illetve a logikai 0-át, stb.
Az adatkapcsolati szint specifikálja például az ellenorzoöszeg kiszámítási módját, az átviendo bitfolyam feldarabolásának (az ún. keretképzés) szabályait és még sok más dolgot. Ez és a fizikai szint egyértelmuen meghatározzák az egymással fizikailag (például dróttal) összekapcsolt számítógépek között lezajló kommunikáció szabályait.
A hálózati szint feladata annak a megoldása, hogy a kommunikáció ne csak az egymással közvetlen kapcsolatban levo gépek között folyhasson, hanem két tetszoleges hálózatba kapcsolt host között is, ezért a hálózati réteg (illetve a hálózati protokoll) feladata a csomagoknak a forráshosttól a célhostig történo elirányítása, az útvonalkijelölés ( routing).
A transzport szint feladata az, hogy adatokat fogadjon a felette levo szoftver-rétegtol, kisebb darabokra vágja szét azokat és továbbítsa a hálózati réteg felé. Majd a célállomáson az ottani transzport szint feladata lesz az egyes csomagoknak az eredeti sorrendbe rendezése. A legtöbb hoston egyszerre több folyamat is futhat, ezért szükség lehet több transzport-kapcsolatnak a hálózati rétegre történo a multiplexelésére (illetve demultiplexelésére). Ennek a megoldása is a transzport szintre tartozik.
Egyes szabványok ezeken kívül más szinteket is definiálnak,
az OSI például a viszonyszintet, amely a több fél között kialakult kapcsolat
szinkronizálására szolgál; az adatábrázolási szintet, amely például a
hálózaton keresztülhaladó adatok belso ábrázolásának, titkosításának
és tömörítésének módjával foglalkozik. Ez azért is fontos, mert az ún.
host byte order gyakran eltér a network byte ordertol. (A network byte
order -- a hálózati bytesorrendre vonatkozó
szabvány -- a Motorola proceszorok belso ábrázolási formájával egyezik meg,
és nem az Intelével! A reprezentációs problémák azoknál a gépeknél is
elojönnek, ahol egy byte nem 8, hanem esetleg 9 vagy 10 bitet
tartalmaz (ilyen is van ...). Ezért a legtöbb hálózati terminológiában
a bitnél
"szélesebb" adategységként nem a byteot, hanem az oktettet használják,
ami mindenképpen 8 bitbol áll, és az egyes hostok feladata a "helyi"
byte<-->
oktett transzformáció megoldása.)
Fontos, hogy ezek a protokollok azt nem specifikálják, hogy a programok ezeket a szolgáltatásokat hogyan, milyen programozói interfészen keresztül vehetik igénybe. Ez általában nagyon operációs rendszertol függo dolog: a UNIX rendszerekben ilyen interfészek a Berkeley socket interface és a TLI (Transport Layer Interface, szabványosított változatának neve XTI). A BSD UNIX nagy elterjedtsége miatt talán a socket interfész az elterjedtebb. Az AT&T UNIX alatt is létezik socket interfészt biztosító rendszerkönyvtár.
A kommunikáció általában úgy megy, hogy a felhasználói program átadja az átviendo adatokat a transzport-szintnek, az feldarabolja az adatokat kisebb csomagokra, kiegészíti egy transzport-fejléccel, és ezt átadja a hálózati szintnek. A hálózati szint további szükséges fejlécekkel egészíti ki azt, és továbbadja az alatta levo szintnek, s.í.t. Az adatok rendeltetési helyén pedig ugyanez történik, csak fordított irányban.