A Windows névfeloldási szolgáltatásai
SZÁMÍTÓGÉP HÁLÓZATOK BEADANDÓ ESSZÉ A Windows névfeloldási szolgáltatásai
Jaszper Ildikó JAIOABT.SZE
[email protected] [email protected]
Budapest, 2007. május 19. -1Készítette: Jaszper Ildikó
JAIOABT.SZE
A Windows névfeloldási szolgáltatásai TARTALOMJEGYZÉK 1. Névfeloldás ................................................................................................................................... 3 2. NetBIOS név és a hozzá tartozó névfeloldási rendszer (WINS): .................................................... 3 3. DNS-név ....................................................................................................................................... 5 3.1. A DNS névfeloldás lekérdezése: ................................................................................................ 5
-2Készítette: Jaszper Ildikó
JAIOABT.SZE
A Windows névfeloldási szolgáltatásai
1. Névfeloldás A névfeloldás olyan folyamat, amelyben a rendszer a felhasználóknak könnyen megjegyezhető kiszolgálóneveket ad, így nem kell azokat a számokból álló IP-címeket használniuk, amelyekkel a kiszolgálók azonosítása történik a TCP/IP-hálózaton. Amikor gépemen megpróbálom megnézni a www.inf.u-szeged.hu címet, akkor a kapcsolat ideje alatt az én gépem látszólagosan a www.inf.u-szeged.hu címmel folytat adatátvitelt, valójában pedig a www.inf.u-szeged.hu címhez tartozó TCP/IP címmel veszi fel a kapcsolatot.
2. NetBIOS név és a hozzá tartozó névfeloldási rendszer (WINS): Az 1980-as években a Microsoft és az IBM közösen fejlesztette ki a NetBIOS névteret, a Windows9x és a Windows NT alap névfeloldásként a NetBIOS használatát támogatta. A NetBIOS egy 16 karakterből álló név, amit tetszésünk szerint megválaszthatunk. Természetesen törekednünk kell az egyediségre, továbbá a beszédes nevek használata megkönnyíti a hálózaton történő kommunikációt. Érdemes egy hálózat tervezésekor annak névkonvecióját is megtervezni. Azt mondtuk, hogy 16 karakter hosszú lehet egy NetBIOS név, ami igaz is, de a gyakorlatban ebből csak 15 karakter használható. A tizenhatodik egy speciális karakter, aminek a szerepe az, hogy a névhez tartozó számítógépen futó szolgáltatásokat a hálózaton egyértelműen elérhetővé tegye. A 16. karakter a felhasználókhoz GUI (graphic user interface) szinten nem jut el (így emiatt valójában egy NetBIOS név legfeljebb 15 karakter lehet!) Tehát a NetBIOS név fontos, mert egyedi, egy géphez csak egy tartozhat és egy hálózatban két azonos NetBIOS nevű gép nem működhet. Minden számítógép, melynek van NetBIOS neve, induláskor azt megpróbálja érvényesíteni, regisztrálni. Ilyenkor ellenőrzi, hogy a hálózaton valaki használja-e már az általa preferált NetBIOS nevet. Amennyiben a név szabad, azt hitelesíti, regisztrálja a nevet és a hozzá tartozó szolgáltatásokat. A másik lehetőség, hogy már valaki használja azt a nevet. Ilyenkor a gép nem tudja majd hitelesíteni a nevet és a hozzá tartozó szolgáltatásokat. Számítógépünk hibát fog jelezni, hogy már létezik egy azonos nevű számítógép a hálózaton, de ettől függetlenül elindul, de a NetBIOS kommunikációról le kell mondanunk és a NetBIOS-hoz kapcsolódó szolgáltatások sem indulnak el. A probléma könnyedén áthidalható, gépünknek egyszerűen csak más nevet kell adnunk, majd újraindítjuk és már kész is. Amennyiben sikerült gépünknek olyan nevet adni, ami egyedi a hálózaton, gépünk a NetBIOS nevét érvényesíti és a 16. karakter alapján a tallózó szolgáltatás segítségével a hálózaton a szolgáltatásait hirdeti, regisztrálja. Mik lehetnek ezek a szolgáltatások? Ilyen például a Messenger, melynek segítségével a bejelentkezett felhasználónak rövid üzenetet küldhetünk. (net send username üzenet). Tehát alapértelmezésben: akinek van NetBIOS neve, az hirdeti magát és szolgáltatásait a hálózaton. -3Készítette: Jaszper Ildikó
JAIOABT.SZE
A Windows névfeloldási szolgáltatásai Amikor egy számítógéppel a hálózaton keresztül szeretnénk kommunikálni, először meg kell tudnunk a névhez tartozó TCP/IP címet, vagy a címhez tartozó nevet. Ilyenkor a gépünk egy olyan kérdést küld a hálózaton keresztül, amit a hálózat minden tagja megkap (Broadcast). Ha szeretnénk lefordítani az emberi nyelvre ezt az üzenetet, akkor valahogy így hangzik: Szóljon nekem az a számítógép, és küldje el az IP címet, akinek a neve srv01. (Ilyenkor az srv01-hez tartozó IP címet keressük.) A hálózatunk, vagy is alhálózatunk minden számítógépe megkapja a kérdésünket, és valamennyi értelmezi is. Nyilván egy kivételével mindegyik eldobta a kérdést (vagy lehet, hogy senki nem válaszol), mert nem ők az srv01 NetBIOS név tulajdonosai. Igen egyszerűnek tűnik, de gondolkodjunk egy kicsit! Egy 172.31.0.0 255.255.0.0 hálózat esetén az álhálózatunkban akár több, mint 240 db számítógép lehet (sőt, több!), mindenki megkapja kérdésünket és abból csak egy számítógép válaszára várunk. (Az olyan jellegű csomagokat, amit egy egész alhálózat minden tagja megkap, Broadcast üzenetnek hívjuk. Természetesen akár több alhálózatra is átjuthat, ez csak a hálózati útválasztók (router) konfigurációjától függ.) Beláthatjuk, hogy ez felesleges forgalmat generál a hálózaton, amit könnyedén csökkenteni lehet. Csupán egy olyan gépre van szükségünk, ami a NetBIOS neveket egy központi adatbázisban tartja. Ilyen szolgáltatás a Windows servereken futó WINS (Windows Internet Name Serivce). A WINS kiszolgáló egy olyan gép, ami fogadja az ügyfélgépek névregisztrációját, és azokat egy JET típusú adatbázisban tárolja, frissíti. Ügyféloldalon szükséges egy WINS kliens, amit a Microsoft TCP/IP implementáció tartalmaz. Csak annyit kell beállítani, hogy mi a WINS kiszolgáló TCP/IP címe és már kész is. A WINS kiszolgáló szolgáltatásnak van egy helyileg minden kliens gépen elérhető kicsinyített változata - egy fájl. A %SystemRoot%\System32\Drivers\etc könyvtár alatt található az lmhosts nevű fájl. Ebbe kézzel felvehetünk NetBIOS neveket és IP címeket, amiket kliens gépünk majd képes lesz feloldani. Használata csak speciális esetekben ajánlott, mivel az lmhosts fájl csak az adott gépen érvényes, és ha a hálózatunk minden számítógépén azonos névfeloldást szeretnénk használni, akkor azonos lmhosts fájlt kell(ene) használni.
A NetBIOS névfeloldás blokkdiagramja
-4Készítette: Jaszper Ildikó
JAIOABT.SZE
A Windows névfeloldási szolgáltatásai
3. DNS-név A FQDN a fully qualified domain name rövidítése, ami annyit jelent, hogy teljesen hitelesített név. Azért van szükség erre, mert ez teszi lehetővé, hogy egy név valóban egyedi legyen. Míg a NetBIOS is egyedi, az FQDN is az, csak a hatáskörük más egy kicsit. Az Internetes kommunikáció során a NetBIOS névteret nem használjuk, ennek több oka is van. Az egyik a névtér tulajdonságából adódik: a NetBIOS névtér sík, hierachia bevezetésére nem alkalmas. Ez azt jelenti, hogy párezer gépen túl „használhatatlanná” válik, mert szinte képtelenség olyan sok teljesen egyedi, de teljesen értelmes gépnevet kiválasztani. Az FQDN névnél többszörös összekapcsolást is csinálhatunk. A DNS-t, amiben összekapcsolhatjuk egy host nevét egy domainnévvel, és ez a hosszú név biztos, hogy egyedi lesz, továbbá egy host név használható bármely tartománynév esetén - mint ahogy minden faluban lehet Kovács Pista. Tehát mint láthatjuk, az FQDN némileg hasonlít a NetBIOS névre és a NetBIOS névfeloldásra. Az FQDN feloldásakor szintén az IP címet keressük, csak ilyenkor nem a WINS kiszolgálóval kommunikálunk, hanem a DNS-sel. A Windows 2000 operációs rendszer alap névfeloldási rendszerkent már a DNS-t használja (lassan leszokunk a NetBIOS-ról). Sokat, rengeteget változott a Windows NT 4.0-ban található DNS Serverhez képest a Windows 2000 azonos szolgáltatása. Míg NT 4.0-ban a DNS kiszolgáló adatbázisa egy statikus adatbázis volt, addig a Windows 2000-ben található DNS kiszolgáló képes a WINS-hez hasonlóan Dinamikus frissítésre és a DNS nevekhez tartozó szolgáltatásokat is képes eltárolni. Mi több, az Active Directory egyik alappillére a DNS kiszolgáló. Gyakorlatilag egy homogén Windows 2000-es rendszerben nincs szükség többé a WINS kiszolgálóra, a NetBIOS kommunikációra. Használhatjuk helyette az FQDN-t mert a DNS kiszolgálóink adatbázisában minden szükséges információt megtalálunk!
3.1.
A DNS névfeloldás lekérdezése:
Egy IP címet lekérdezni – vagy a DNS kiszolgálónkat tesztelni – az NSLOOKUP programmal lehet, mely része az operációs rendszernek. Az NSLOOKUP programot a %systemroot%\system32 könyvtárban találjuk meg. (megtalálható Unix rendszereken is). Parancssorból használható, kétféle üzemmódban működik: interaktív és nem interaktív. A nem interaktív üzemmódjában kapcsolókkal vezérelve úgy viselkedik, mint egy másik parancssori program. Interaktív üzemmódba az nslookup paranccsal juthatunk. Ezt a parancsot kiadva a promt megváltozik, ez mutatja, hogy innentől kezdve utasításainkat nem a Windows parancsértelmezője fogadja. Az interaktív módból az exit paranccsal vagy a ctrl-c billentyűk lenyomásával léphetünk ki.
-5Készítette: Jaszper Ildikó
JAIOABT.SZE