Ahogyan már korábban jeleztük, a hálózati szoftvernek egy 32 bites Internet címre van szüksége ahhoz, hogy egy kapcsolatot felépíthessen, vagy hogy datagrammokat küldhessen. A felhasználók viszont inkább a számítógépek neveivel mintsem számokkal szeretnének hivatkozni rájuk (a neveket könnyebben meg lehet jegyezni). Ezért létezik egy adatbázis, amelyből a hálózati szoftver kikeresheti a névnek megfelelő címet, és fordítva. Amikor az Internet még nem volt ilyen kiterjedt, akkor ez viszonylag könnyen megoldódott: minden gépnek volt egy adatállománya, amelyben az összes többi rendszer nevét és címét felsorolták. Ma már túl sok rendszer létezik ahhoz, hogy az ilyen megközelítés praktikus legyen. Emiatt ezeket az állományokat olyan névkiszolgálók váltották fel, amelyek a gépek neveit és a megfelelő címeket tartják nyilván. (A sokfajta információ közül ez csak egy. Valójában ezek a kiszolgálók sokkal általánosabb feladatot látnak el.) A valóságban egyetlen központi gép helyett az ilyen kiszolgálók egymással összekapcsolt halmaza használatos. Manapság már olyan sok különböző intézmény kapcsolódik az Internethez, hogy nem lenne praktikus, ha egy központi hatóságot kellene értesíteniük minden olyan esetben, amikor egy gépet a hálózatba be- vagy abból kikapcsolnak. Éppen ezért a névadásra az egyes intézmények a rendszerükön belül saját maguk jogosultak. Az így kialakított névkiszolgálók közösen egy fa struktúrát alkotnak, amely az intézmények hálózati szerkezetének felel meg. Ezt a szerkezetet a nevek is tükrözik. Tipikus példa erre a BORAX.LCS.MIT.EDU név, amely a MIT számítástechnikai laboratóriumának (LCS) egy számítógépét jelöli (ilyen példa lehetne még: maxi.inf.elte.hu, ami az ELTE Általános Számítástudományi tanszékének maxi nevű gépét adja). A gép Internet címének meghatározásához 4 potenciális kiszolgálót kellene megkérdezni. Először egy központi kiszolgálótól (root - gyökér, ld. a fa struktúrát) kellene megtudakolni, hogy hol található az EDU kiszolgáló, amely nem más, mint a hálózatba kapcsolt oktatási intézmények nyilvántartása. A gyökérként szereplő kiszolgáló több EDU kiszolgáló nevét és Internet címét adná meg. (Minden szinten több ilyen névkiszolgáló van, hogy az esetleges meghibásodások ne okozzanak fennakadást.) A következő feladat lenne az EDU kiszolgáló lekérdezése a MIT névkiszolgálójáról. Itt is több kiszolgáló nevét és Internet címét kapnánk meg. Ezek közül általában nem mindegyik található az intézmény területén (egy esetleges áramszünet fellépte miatt). Ez után a MIT-től kérdeznénk le a számítástechnikai laboratórium (LCS) névkiszolgálójának adatait, majd végül a laboratóriumi névkiszolgálók egyike adná a BORAX adatait. A végső eredmény a BORAX.LCS.MIT.EDU gép Internet címe lenne. A fenti szintek mindegyike egy tartományt (domain) jelöl. A teljes BORAX.LCS.MIT.EDU név pedig egy tartománynév (domain name). (Ugyanígy a felsőbb tartományok nevei is tartománynevek: LCS.MIT.EDU, MIT.EDU és EDU.)
Az esetek nagy többségében szerencsére nem kell a fenti lépések mindegyikét végrehajtani. A legfelső kiszolgáló (gyökér) ugyanis egyben a legfelső szinten lévő tartományok (pl. EDU) névkiszolgálójaként is szerepel. Tehát a gyökér kiszolgáló felé irányuló egyetlen kérdéssel a MIT névkiszolgálójához lehet eljutni. Az alkalmazott szoftverek pedig a már feltett kérdésekre kapott válaszokra emlékeznek. Ez azt jelenti, hogy a LCS.MIT.EDU kiszolgáló lekérdezése után tudja, hogy hol keresse a LCS.MIT.EDU, a MIT.EDU és az EDU tartománybeli kiszolgálókat. A BORAX.LCS.MIT.EDU fordítására szintén emlékszik. Persze minden ilyen információnak van egy megfelelő élettartama, ami tipikusan pár napnak felel meg. Az élettartam lejárta után az információkat fel kell frissíteni. Az intézmények ilyen módon változtathatnak, ha akarnak.
A tartományrendszer feladata nem merül ki az Internet címek megtalálásában. Minden egyes tartománynév csomópontként szerepel egy adatbázisban. A csomópontnak különböző tulajdonságokat jellemző rekordjai lehetnek. Ilyen az Internet cím, a számítógép típusa, és a számítógép által biztosított szolgáltatások felsorolása. Egy program egy adott névvel kapcsolatban kérheti ezen információk valamelyikét, vagy az összeset. Megoldható az is, hogy egy adatbázisbeli csomópont egy másik csomópont álneveként (alias) szerepeljen. Az is lehetséges, hogy a tartományrendszerben felhasználókról, levelezési listákról, vagy más objektumokról tároljunk adatokat.
A fenti adatbázisok működését, illetve az azok lekérdezését megvalósító protokollokat is Internet szabvány írja le. Minden hálózati alkalmazásnak meg kell tudnia valósítani ezeket a lekérdezéseket, mivel hivatalosan így történik a hosztnevek kiértékelése. Az alkalmazások általában saját rendszerükön (tartományukon) belül keresnek egy névkiszolgálót. Ez a kiszolgáló aztán a felsőbb szinten (az ő tartományán) lévő kiszolgálókkal veszi fel a kapcsolatot. Ezzel a módszerrel az alkalmazásokban lévő kód mennyiségét lehet lecsökkenteni.
A tartományrendszer fontos szerepet tölt be az elektronikus levelezésben. Az adatbázisokban szerepelhetnek olyan bejegyzések, amelyek megmondják, hogy melyik gép kezeli egy adott név leveleit, egy felhasználó levelei hová érkezzenek, illetve levelezési listákat is definiálhatnak.
(A tartományrendszerről az RFC 1034, 1035 és 1101 dokumentumok írnak. Ezek régebbi verziói: RFC 882, 883 és 973. Az RFC 974 pedig a tartományrendszernek az elektronikus levelezésben betöltött szerepéről szól.)