|
|||||
A számítástechnika fejlődésével, s különösen az internet elterjedésével egyre többet hallani a TCP/IP-ről, de hogy pontosan hogyan működik, és mi az, nem sokan tudják. Pedig manapság a hálózatok alapjának számít ez a protokollcsalád. TCP/IP - becsületes nevén Transmission Control Protocol / Internet Protocol - alapvető feladata, hogy a hálózatokon közlekedő csomagokat hiánytalanul és sértetlenül juttassa el a címzetthez. Ilyen hálózatnak tekinthető például maga az internet is. Bár nem feltétlenül hatékonyabb, mint bármelyik másik hálózati protokoll, azzal, hogy a világháló építőkövévé vált, vezető szerepet vívott ki magának versenytársaival szemben. A 70-es években több hálózat működött egymástól függetlenül az Egyesült Államokban. Amikor megpróbálták összekapcsolni ezeket, kiderült, hogy nem lehetséges, mert mindegyik más protokollt, másfajta kommunikációt használt. Ezt az összeférhetetlenséget kiküszöbölendő hozták létre TCP/IP néven a közös protokollcsaládot. Igaz ugyan, hogy ez csak két protokollra hivatkozik, mégis egy családról van szó, amelyből a TCP és az IP a két legfontosabb tag. RétegződésA hálózatok kommunikációrétegenként, hierarchikusan épülnek fel, az egyes rétegek más-más feladatot látnak el. Az adatot szállító csomag a legfelsőtől a legalsóig végigmegy az összes rétegen, majd kilép a hálózatra, kis szerencsével eljut céljához, ott viszont épp fordított utat jár be: a legalsó réteg kapja fel, dobja felfelé a következő rétegekhez, amíg végül meg nem érkezik céljához. A rétegzett hálózati architektúra felépítését az ISO (International Organization for Standardization; Nemzetközi Szabványügyi Hivatal) találta ki, és az úgynevezett OSI-modell írja le. Ez az ajánlás hét réteget definiál, mivel azonban nagyon későn, jóval a TCP/IP elterjedése után vált szabvánnyá, a világon szinte senki nem tartja be. A TCP/IP mindösszesen négy réteget definiál - lássuk, melyek ezek, és milyen feladatot látnak el.
Az adatkapcsolási (fizikai) rétegAdatkapcsolási rétegen a hálózati kapcsolatot megvalósító hardvert, azaz a hálózati kártyát vagy a jó öreg modemet és ezek meghajtóprogramjait értjük. Ezek felelnek a helyes csomagtovábbításért, például az Ethernet esetében a hálókártya gondoskodik arról, hogy az adatok helyesen kerüljenek a kábel megfelelő ereibe. Visszafelé pedig a kártya, illetve annak meghajtója továbbítja az adatokat a felette levő réteghez. Ahhoz, hogy ez a részfolyamat sikeres legyen, a meghajtó minden egyes adatcsomag elé fejlécet, mögé pedig CRC-ellenőrző összeget helyez. Az előbbi a címzésben és a csomag további sorsának eldöntésében, míg az utóbbi a sértetlenség ellenőrzésében játszik fontos szerepet. A hálózati réteg: az IP birodalmaA hardverrétegről továbbengedett sértetlen csomag az IP (Internet Protokoll) birodalmába, a hálózati rétegre érkezik. Az IP feladata a csomagok célba juttatása az optimális útvonal megkeresésével. Nem foglalkozik azzal, hogy maga a csomag végül hogyan jut el céljához, nem tud arról, hogy „alatta" Ethernet, modemes vagy drót nélküli hálózat van-e. A lényeg a helyes IP-cím. Minden internetre csatlakozó számítógépet az IP-címe azonosít a hálózaton. Például a Microsoft webkiszolgálójának címe 207.46.245.222 - akár a szokásos www.microsoft.com szöveget, akár e négy számsorozatot írjuk a cím mezőbe, a böngészőben megjelenik a cég nyitóoldala. Az IP fejléce tartalmazza többek között a feladó és a címzett IP-címét is, így adja tovább az adatot az adatkapcsolati rétegnek. A befelé jövő csomagoknál „lehámozza" saját fejlécét az „adatról", a fejléc egyéb mezői alapján megállapítja, hogy a „felette" levő rétegen ki a csomag címzettje, és így dobja azt tovább a TCP-nek. A szállítási réteg: a TCP birodalmaIP-szinten nincs hibaellenőrzés: ha elveszett egy csomag, az már csak a szállítási rétegen derül ki - a TCP felel a biztonságos adatátvitelért: ez az úgynevezett kapcsolatorientált protokoll. A TCP saját fejlécében sorszámozza a kimenő csomagokat, és ellenőrző összeggel látja el őket (checksum), a megérkezett csomagról pedig visszajelzést küld a feladónak. A feladó oldalán figyeli, hogy minden küldéshez megérkezik-e a visszajelzés, és ha ez nem történne meg a megadott időn belül, elveszettnek nyilvánítja, és újraküldi a csomagot. A TCP arról is visszajelzést küld, ha az ellenőrző összeg nem stimmel, a feladó tehát megtudja, hogy a csomag megsérült, és ez esetben is elküldi újra. Ha minden csomag beérkezett, elvégzi a sorba rendezést, majd a fejlécében levő portszám alapján továbbítja azt az alkalmazásrétegnek. Az egyes alkalmazások eltérő sorszámú portokat használnak a kommunikációhoz, így minden csomag a megfelelő alkalmazáshoz talál vissza. A portszám alapján a legtöbb esetben a szóban forgó alkalmazás is azonosítható. Az alkalmazásrétegAz idáig többször említett alkalmazás igazából alkalmazásprotokollt jelöl -ezek találhatók a kommunikáció legfelső szintjén. Az egyik legismertebb a HTTP (HyperText Transfer Protocol), amelyet internetes oldalak megtekintéséhez használunk. A TCP-nek édes mindegy, hogy az Internet Explorert vagy az Operát használjuk-e böngészésre, az ő számára kizárólag az számít, hogy a HTTP melyik portot veszi igénybe a kommunikációhoz. Egy másik közismert protokoll az állományok le- és feltöltésére használt FTP (File Transfer Protocol), vagy a levelek küldésének terhét magára vállaló SMTP (Simple Mail Transfer Protocol). Egy másik fontos protokoll: UDPA fentiekből már látható, miért hívtuk a bevezetőben protkollcsaládnak a TCP/IP-t, de még az előbb említett alkalmazásprotokollokkal kiegészítve sem teljes a felsorolás. Ismerkedjünk még egy fontos családtaggal! Az UDP (User Datagram Protocol) tulajdonképpen a TCP „butított" változata. Ugyanúgy az IP és az alkalmazásprotokollok között helyezkedik el, de az adatfolyamot csak minimális mértékben irányítja. Sokkal gyorsabban használható, nincs visszajelzés és sorba rendezés. Végbemegy ugyan a csomagok épségének ellenőrzése, de nem foglalkozik azzal, hogy az adatok valóban megérkeznek-e a címzetthez. Felmerülhet a kérdés, hogy mire is jó akkor az UDP. Vannak olyan helyzetek, amikor a TCP rendkívül korrekt, precíz csomagkezelése túl „körülményesnek" bizonyul. Gondoljunk például az interneten keresztül sugárzott rádióadásokra vagy videókra, esetleg a telefonálásra: az adatcsomagok kis mérete miatt nem jelent túl nagy problémát, ha egy-egy útközben véletlenül elveszik - egyszerűen nem tűnik fel, vagy legalábbis sokkal kevésbé, mintha az adás vagy a beszélgetés meg-megszakadna, amíg várunk a hiányzó csomag megérkezésére és sorba rendezésére. A DNS megkönnyíti internetes életünketAmikor a böngészőben meg akarunk nyitni egy weboldalt, a címét több részből összeállítva adjuk meg. Például a www.knok.hu egy tartománynevet (knok.hu) és egy altartománynevet (www) tartalmaz. Ez azonban önmagában kevés ahhoz, hogy a kért oldal megnyíljon, hiszen a számítógépeket IP-címük azonosítja az interneten. A betű-kombinációt- konkrétan a tartomány nevét -tehát IP-címmé kell alakítani. Pontosan ez a feladata a DNS-nek (Domain Name System; tartománynévrendszer). A szolgáltatótól kapott hozzáféréssel írunk be egy tartománynevet a böngésző címsorába, a szolgáltatóhoz tartozó DNS-kiszolgáló átfordítja azt IP-címmé, persze csak ha található hozzá IP-címbejegyzés. Gépünk akkor fordul a DNS-hez, ha a helyi adatbázisban nem találja meg a megfelelő bejegyzést; ez a Windows XP esetén a \Windows\ System32\Drivers\Etc mappában található hosts állomány. Ha a helyi adatbázis nem segít, akkor a szolgáltató által megadott DNS-hez fordul. Előfordulhat, hogy itt sem talál választ. Ilyenkor továbblép az említett láncolatban, és egy másik kiszolgáló segítségét kéri. KilátásokBár különösebb aggodalomra még nincs ok, azért a hálózati szakemberek már jó pár éve szembesültek azzal a problémával, hogy a TCP/IP aktuális formájában nem képes elegendő mennyiségű IP-címet kiosztani. A mostani rendszer a négy egybájtos értékből állítja össze az IP-címet, s így legfeljebb 4 milliárd darabot képes megkülönböztetni. Ez a jelenlegi internetes fejlődés mellett előbb-utóbb kevés lesz, de hogy mikor telik be, arról mindenkinek más a véleménye. A következű generációA jelenleg használt IP teljes neve IPv4. A kilencvenes évek elejétől kezdve dolgoznak a címtartományt jócskán kibővítő IPv6-on, amely 16 bájtot biztosít a címek létrehozásához, és így elképesztő számú, 3 x 10^38 cím kerülhet kiosztásra. Szakemberek szerint akár évtizedekig is képes lesz egymás mellett működni a két IP-verzió, tehát nem kell aggódni amiatt, hogy holnapután már nem tudunk csatlakozni az internetre. Hasznos segédletek:A ping parancs IP-szinten működik: ellenőrzi, hogy egy elküldött adatcsomag eljut-e a címzettig és onnan vissza, majd megjeleníti, hogy ez mennyi időt vett igénybe, ami főképp hálózati, illetve internetes játékosok számára fontos. Tracert: az összetett hibakereső A teljes nevén traceroute paranccsal végigkövethetjük, milyen útvonalon közlekednek az adatcsomagok gépünktől az adott célállomásig. Ehhez az IP-fejlécben található TTL (Time to Live) értéket használja, amely meghatározza, hogy maximum hány aktív hálózati eszközt (általában valamilyen útválasztót) ejthet útba a csomag. A működési elv egyszerű: minden útválasztó eggyel csökkenti a rajta áthaladó csomag TTL-értéket, majd amikor az eléri a nullát, az útválasztó a csomag megsemmisüléséről üzenetet küld a feladónak. A tracert tehát az első csomagokat l-es TTL-értékkel küldi ki, így az a legközelebbi útválasztónál „meghal". A következő lépésekben mindig eggyel növel a TTL-t, a visszakapott üzenetekből pedig megtudja az útvonalon levő útválasztók címét. Pathping: az adatfolyam-irányító Ez a parancs tulajdonképpen az előző kettő kombinációja. Először megvizsgálja a csomag útvonalát, majd minden állomásnak küld egy-egy pinget. Ebből egy statisztikát hoz létre, amelyből kiderül, hogy volt-e csomagveszteség, és ha volt, melyik állomásnál. IpConfig: a helyi beállítások lekérése Segítségével lekérdezhetjük az aktuális IP-beállításokat. A parancs használható önmagában is, de több paramétere is van. Az Ipconfig /all részletesebb eredményeket küld vissza. Ha DHCP-kiszolgálótól kapjuk IP-címünket, akkor azt a /release paraméterrel „visszaadhatjuk", míg a /renew paraméterrel megújíthatjuk. |
|