Példa az alkalmazási rétegre: Az Internet szolgáltatások
A következõkben az alkalmazási réteg funkcióinak jobb megértésére az Internet alkalmazási rétegét mutatjuk be.
Az Internet felépítést a 117. ábrán láthatjuk. A legfontosabb része a nagy adatátviteli sebességû, általában optikai kábelekbõl, és mûholdas kapcsolatokból álló gerinchálózat (bone), amely az ide kapcsolódó hálózatok információit szállítja.
117. ábra: Internet kommunikáció
A csomagokat routerek irányítják a különféle útvonalakon. Azonban kevés felhasználónak adatik meg a gerincre csatlakozás közeli lehetõsége, általában a “fõúttól messze”, mellékutak mentén, vagy csak egy kis ösvény végén laknak. Ez a hasonlat itt azért is találó, mert valóban tükrözi az adatátviteli sebesség csökkenését, amit például egy telefonos kapcsolat jelenthet. A felhasználó által elérhetõ adatátviteli sebességet a gerincig vezetõ alhálózatok adatátviteli sebessége közül a legkisebb fogja meghatározni.
A megfelelõ hálózati teljesítmény eléréséhez csak nagyteljesítményû gépekkel lehet a gerincvonalakra csatlakozni. Az átlagos felhasználók ezért a helyi hálózati kapcsolataikat használhatják fel, míg egyéni felhasználók számára az Internet szolgáltatók (providerek) által üzemeltett nagyteljesítményû gépeken keresztül való csatlakozás a megoldás. Ennek megfelelõen a következõ kapcsolódási megoldások lehetségesek:
A felhasználót általában nem ez, hanem az elérhetõ szolgáltatások érdeklik. A szolgáltatások alapvetõen két csoportba sorolhatók: közvetlen hálózati kapcsolatot nem igénylõ (off-line) szolgáltatás - ilyen a levelezés-, és azt igénylõ (on-line) szolgáltatások. Ennek megfelelõen is több megoldás lehetséges:
Az Interneten mivel eltérõ felépítésû hálózatokat kötnek össze, szükséges az Interneten folyó kommunikáció közös szabványainak kidolgozása, amelyet az RFC (Request for Comments) dokumentumok tartalmazzák, amelyekrõl a fejezet végén adunk egy rövid összefoglalót. A szabványok közös alapjául a UNIX operációs rendszerben megvalósított megoldások szolgáltak, mivel elsõként ilyen operációs rendszerû gépeket kötöttek össze, és jelenleg is az Internet-ben lévõ gépek többségén a UNIX valamelyik változat fut. Az Internet lényegesebb alkalmazási protokolljai a következõk:
Ezek segítségével az Internet által jelenleg biztosított lényegesebb szolgáltatások ABC sorrendben :
A következõkben ezen protokollok és szolgáltatások közül a legfontosabbakat mutatjuk be. A most következõ részekben felhasználjuk a TCP/IP protokollal foglalkozó részben szereplõ ismereteket, de az összefüggések jobb megértése érdekében lesznek olyan dolgok amelyeket megismételünk
A legalapvetõbb szolgáltatás, a legelsõ, amit az Interneten használtak, az elektronikus levelezés. Egy levelezõprogram (mail) segítségével szöveges állományt küldhetünk az Internet bármelyik felhasználójának. Ehhez az kell, hogy minden levelezõnek egyedi címe legyen, és a címzés is szabványos legyen. Egy felhasználó Email címe általánosan a következõképpen épül fel:
Felhasználói_név @ gépnév . domain_név . subdomain_név . ország(intézmény)azonosító
Általánosan fogalmazva egy felhasználói név (username) és egy cím (domain) részbõl áll, a kettõ között a @ jel található. Ez a "kukac" az angol "at" szót jelenti, vagyis arra utal, hogy ez a felhasználó HOL (melyik gépen) található meg. A felhasználói_név egy rövid azonosító, ami nem tartalmazhat speciális karaktereket. A @ (kukac) jel a felhasználói nevet választja el a gépet leíró utána lévõ résztõl. A cím hierarchikus felépítésû, a legutolsó jelöli a legmagasabb szintet, és így szûkítve a kört. Ha ezt értelmezni akarjuk, akkor célszerû hátulról kezdeni. Az utolsó egység az ország(intézmény)azonosító országra, vagy az intézmény jellegére utal. Egy rövid lista azokról, amikkel a legtöbbet lehet találkozni:
...és a többi ország (kétbetûs) kódja
A cím további részeinél pontok választják el a részeket egymástól A domain_név általában annak a környezetnek az azonosítója, amiben a gép található, az intézmény vagy egy lokális hálózat neve, pl. .kando: a Kandó Fõiskola domain neve. Magyarországi felsõoktatási intézmények domain nevei pl.: bme, bke, elte, pote, sote, stb. A subdomain_név akkor létezik, ha szükség van a domén további tagolására, pl. .obuda.kando.hu: a Kandó óbudai részlege. A gépnév értelemszerûen azt a gépet specifikálja a doménen belül, amelyen a felhasználó géphasználati joga (accountja) található. Pl. az én címem: konya@novserv.obuda.kando.hu.
Fontos megjegyezni, hogy Email-en keresztül közvetlenül csak 0-127-es kódú ASCII karakterek küldhetõk át. Ha olyan karaktert küldünk, aminek a 8. bitje 1, azt a rendszer levágja, elvész. Így közvetlenül bináris fájlok átvitele nem lehetséges. Több megoldás létezik erre a problémára, a legelterjedtebb program az UUENCODE/UUDECODE.
Az UUENCODE a fájlt alkotó bináris bájtsorozatot konvertál 7 bites szöveggé oly módon, hogy a fájl elejérõl kezdve sorban vesz 3 db 8 bites bájtot, és azt szétbontja 4 db 6 bites darabra. Például:
AFH, 01H, 65H = 1010 1111 0000 0001 0110 0101 = 101011 110000 000101 100101
Mivel a speciális ill. vezérlõkarakterek ASCII kódjai 0-31-ig terjednek, a normál szöveg kialakítása érdekében mind a négy így kapott bitcsoporthoz hozzáad 32-t (00100000).
101011 110000 000101 100101 => 1001011 1010000 0100101 1000101 = 4BH 50H 25H 45H = KP%E
Így kaptunk 3 bájtból 4, a képernyõn is olvasható karaktert, amit aztán már elküldhetünk. Az UUDECODE program az így keletkezett fájlt kódolja vissza a fogadó oldalon. A kódolt fájl természetesen hosszabb lesz, mint az eredeti , mert a módszere semmilyen más változtatást (pl. tömörítés) nem végez.
Egy másik megoldás esetén már lehetõség van levélben nem ASCII karakterek, képek, hangok küldésére is. Ezt az eljárást MIME-nek (Multi-purpose Internet Mail Extensions) nevezik. Amelyik levelezõprogram ismeri ezt, azzal írható, illetve olvasható akár magyar ékezeteket tartalmazó levél is.
Bár az elektronikus levelezés a legalapvetõbb a szolgáltatások között, mégis a felhasználó szempontjából van két nagyon kedvezõ tulajdonsága:
A levelek küldését és fogadását ténylegesen egy, folyamatos hálózati kapcsolattal rendelkezõ számítógépen futó program, a Mail-szerver (levelezés kiszolgáló) végzi. A felhasználók ténylegesen ennek a programnak küldik leveleiket, illetve ettõl kapják meg a leveleket. Az elküldött és kapott leveleket ez a program tárolja, és a címek alapján végzi a hálózaton keresztüli kézbesítést. Lényeges megkülönböztetni a hálózati internet címeket a levélcímektõl. A levelek címrésze határozza meg annak a gépnek az internet címét, amelyen a levelezés kiszolgáló program fut, és ezen címrész alapján a gépre küldött leveleket egy olyan lista segítségével kézbesíti, amely a gépen a levelezésbe bevont felhasználókat azonosítja.
Levelezni valamilyen levelezõ programmal lehet. Mindegyik megvalósítja az alábbi funkciókat:
Ha egy levél érkezik, akkor általában nemcsak maga az üzenet jön meg, hanem egy pár soros "fejléc" is. Ez a legtöbb esetben nem tartalmaz az átlagos felhasználó számára lényeges információt. Vegyünk egy példát:
Received: from MAIL by KKMF_MSZI (Mercury 1.21); 8 Mar 96 08:28:19 GMT+1
Return-path: <drdani@mazsola.iit.uni-miskolc.hu>
Received: from gold.uni-miskolc.hu by novserv.obuda.kando.hu (Mercury 1.21); 8 Mar 96 08:28:13 GMT+1
Received: from [193.6.4.39] by gold.uni-miskolc.hu (AIX 3.2/UCB 5.64/4.03) id AA27796; Fri, 8 Mar 1996 08:11:41 GMT
Received: by mazsola.iit.uni-miskolc.hu (SMI-8.6/SMI-SVR4) id IAA04556; Fri, 8 Mar 1996 08:15:15 +0100
Date: Fri, 8 Mar 1996 08:15:14 +0100 (MET)
From: Drotos <drdani@pigmy.iit.uni-miskolc.hu>
To: Konya Laszlo <KONYA@novserv.obuda.kando.hu>
Subject: Re: RS422/RS232 keres/kerdes
Message-Id: <Pine.LNX.3.91.960307202228.508A-100000@pigmy>
Reply-To:
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
A “Received": sorokból azoknak az állomásoknak a neveit, és a használt protokollokat tudhatjuk meg, amelyeken a levél keresztülment. Minden levél esetében van legalább egy ilyen sor. Ha a levél nagyon "kavargott" a világban, akkor 10 fölé is mehet ezeknek a soroknak a száma. Egy levélnek általában 4-5 ilyen sora van.
A “Date:" a levél elküldésének dátuma.
A “From": sor azt a címet tartalmazza, ahonnan a levél jött.
A “To:" a címzett email címét tartalmazza. Lehet, hogy egy levelet több helyre küldtek, ilyenkor vesszõvel vannak elválasztva a címek.
Subject: a levél tárgya
A “Message-Id:" egy egyedülálló azonosító. Általában a levelek útjának követésére használják.
található "Reply-To:" ha a feladó nem szeretné, hogy arra a címre válaszoljunk, ahonnan a levél jött (ezt a Return-path: sor tartalmazza), akkor megad egy másikat.
A “Mime-Version:” és a “Content-Type:” sorok az elõbbiekben említett MIME módszer paraméterei.
Smileys (mosolygók)
Élõ beszélgetéseknél a beszéd közben az érzelmeket a szöveg elõadási módja mellett a testbeszéd (arcjáték, válrándí tás, stb.) is közvetíti. Email esetén ez a metakommunikáció hiányzik. Ennek pótlására kitalálták a mosolygókat. Ha a fejünket bal oldalra döntjük és úgy nézzük:
:-)
Még néhány:
;-) kacsintás;
:-( helytelenítés;
:-O meglepõdés;
8-) szemüveg viselés;
=|:-)= Lincoln Ábrahám /Jó rendben, ez egy kicsit erõs volt : -) /
A levél karakteres jellege egy új “mûvészeti” ágat is megteremtett: a karakterekkel kialakítható rajzok készítését. Egy ilyen “ASCII-Art” látható az oldalt lévõ keretben.
Az ftp protokoll a hálózatban lévõ gépeken megtalálható fájlok átvitelére használható. Használata az Email-el szemben már folyamatos hálózati kapcsolatot igényel. Adatátviteli sebesség igénye is jelentõsebb, hiszen elfogadható idõn belül kell átvinnünk esetleg több száz kilobájtnyi adatot. Néhány kbit/s-os átviteli sebesség már elfogadható.
Az ftp protokoll két átviteli módban mûködhet: ascii és binary. Az elõbbi, mivel 7 bites kódokat használ, szövegállományok átvitelére alkalmas, az utóbbi bármilyen általános fájlra. Fontos továbbá, hogy egyes rendszerek (pl. Unix) különbséget tesznek kis és nagybetûk közt, azaz a fájl nevében tetszõlegesen lehetnek kis és nagybetûk.
A felhasználói általában akkor tud egy távoli géprõl/gépre másolni, ha a távoli gépen is rendelkezik felhasználói jogosultsággal (account-tal).
A kapcsolat egy ftp programmal lehetséges, ott kell megadni a célgép nevét, ami egy internet cím. Ha a kapcsolat létrejött, a rendszer kéri az azonosítót és a jelszót. Ha a belépés sikeres, akkor a következõ legalapvetõbb parancsokat használhatja:
Vannak mindenki számára elérhetõ ún. nyilvános elérésû gépek, amelyekre természetesen nem kell account-tal rendelkezni, ez az ún. anonymous ftp. Az ilyen gépekre bejelentkezve bejelentkezõ (login) névként az "anonymous" szót kell begépelni. A rendszer ekkor arra kér, hogy jelszóként a saját email-címünket adjuk meg, ez sokszor gyakorlatilag nem kötelezõ, kizárólag statisztikai célt szolgál. Ezek után a távoli gépet, pontosabban annak nyilvánosan elérhetõ könyvtárait láthatjuk, és az összes fenti ftp parancs használható.
Azok részére, akik csak Email kapcsolattal rendelkeznek, létezik a levéllel történõ off-line ftp, az ftpmailt. Ennek az a lényege, hogy vannak olyan hálózatra kötött számítógépek amelyek az ftpmail server programot futtatják, Ez fogadja a leveleket, és feldolgozza a bennük a ftp-vel elérni kívánt gép címét és az ftp parancsokat tartalmazó utasításokat. Az ftpmail program végrehajtja a kijelölt ftp kapcsolatot, letölti a megadott fájlt, uuencode-olja, majd elküldi levélben a feladónak. Ez egy nem túl kényelmes, de jól használható módszer fájlok letöltésére, ha nincs más mód. Természetesen ehhez pontosan ismerni kell a letöltendõ fájl pontos útvonalát is.
Egy távoli gépre úgy lehet belépni, mintha egy terminálja elõtt ülnénk. Azaz a Telnet a gépek közti távoli bejelentkezést lehetõvé tevõ protokoll neve. Ez is folyamatos (on-line) hálózati kapcsolatot igényel, és sebességigénye hasonló az ftp-hez, (persze csak ha azt szeretnénk, hogy egy leütött billentyû ne 10 másodperc múlva jelenjen meg...).
Telnettel csak akkor tudunk egy másik gépre belépni, ha azon a gépen is van accountunk.
Bejelentkezés után a rendszer úgy viselkedik, mintha ott ülnénk a távoli gép elõtt, azaz a távoli gép operációs rendszerének konvenciói érvényesek, parancsainkat a telnet protokoll adja át a távoli gép operációs rendszerének, és az távoli operációs rendszer hajtja végre. Így a távoli gépen programokat futtathatunk, megnézhetjük az odaérkezett leveleinket, stb.
Ezen lehetõség a hálózati gépek biztonságának egy sebezhetõ pontja. Ha ugyanis egy távoli gépre rendszeradminisztrátori jogokkal tudunk belépni (felhasználói név: root, a jelszót automatikus próbálkozási módszerrel “kitaláljuk”), akkor a géppel mindent megtehetünk. Az ilyen behatolás módot nyújt arra is, hogy a távoli gépet felhasználva (a Telnetet ott elindítva) lépjünk be egy “kényesebb” gépre. Ez utóbbi behatolás felderítésekor a behatoló címe az erre használt gép címe, és ha az oda történõ behatolás nyomait eltüntetjük , akkor nem lehet kideríteni a kényesebb gépre behatolót.
A Telnet protokoll egy nyilvánosan használható változata. Az anonymous ftp-vel elérhetõ fájlok keresésére használható adott név, vagy névrészlet alapján. Az archie szerverek folyamatosan figyelik az ftp-vel elérhetõ szervereket egy adott régóiban, és az elérhetõ könyvtárakat a bennük lévõ fájlok neveivel együtt, egy folyamatosan frissített adatbázisba helyezik. Az archie kezelése egyszerû, csak be kell írni a kulcsszót, ami alapján keresünk, és egy listát kapunk arról, milyen néven mit talált az archie a saját adatbázisában.. Használatához egy archie szerverhez kell kapcsolódnunk, és az általa különféle ftp szerverekrõl összegyûjtött és folyamatosan frissített adatbázisban kereshetünk. A bécsi egyetem archie-szerverére a
telnet archie.univie.ac.at
paranccsal kapcsolódhatunk. Az archie elérhetõ levelezéssel is. Ilyenkor az
archie @ archie.univie.ac.at
címre kell levelet küldeni, levél törzsébe a find kulcsszó után kell a keresett részt beírni. Az eredménylistát saját Email címünkre fogjuk megkapni.
Ha a finger szó után megadunk egy Email-cím szerkezetû címet (rámutatunk), információkat tudhatunk meg a megjelölt felhasználóról. Ilyenek például: A felhasználói login és saját neve, home könyvtára, alapértelmezett shell-je, utolsó bejelentkezésének idõpontja, illetve, ha éppen be van jelentkezve, akkor mióta, és honnan.
Ezen kívül még olyan információk olvashatók, amiket az illetõ maga adott meg. Többnyire minden rendszerben van egy erre kijelölt fájl, amibe bármit beírhatunk, amit közölni szeretnénk a minket finger paranccsal megkeresõ személlyel. Unix rendszerben a home könyvtárunkban lévõ .plan nevû fájlban található információ olvasható el a finger paranccsal.
Az olyan levelezési fórumokat, amelyek hasonló témájú információcserére alakultak levelezési listáknak nevezzük. A csoport tagjai levelezésen keresztül állnak kapcsolatban egymással, a tagok egy központi helyre küldik a leveleiket, majd onnan kerülnek az egyes csoporttagoknak elküldésre, vagy levelenként, vagy idõszakonkénti pl. naponkénti gyûjtésben. Ez utóbbi esetben egy levélben kapja meg a lista résztvevõje az összegyûjtött napi levelezést, ezt szokták digest-nek hívni.
A USENET több mint 6000 témával való foglalkozásra alakult ún. hírcsoport-ot tartalmaz. A levelezési listáktól eltérõen a hírcsoportba küldött leveleket nem kézbesítik, hanem anyagaikat szervereken tárolják, amit az adott géphez hozzáférési jogot kapott személyek elolvashatnak. Az összes hírcsoport anyagát csak néhány nagy hírszerver tárolja, a többieken csak egy-egy kiválasztott részük található. A kezdõk bekapcsolódását kéréseket és rá a válaszokat tartalmazó dokumentumok, az ún. FAQ-ok (magyarul: GYIK = Gyakorta Ismétlõdõ Kérdések) segítik. Technikailag a Usenet egy speciális telnet parancs, amit akkor tudunk használni, ha gépünkön, vagy ahova be vagyunk jelentkezve, található megfelelõ kliens program. PL. Unixban a tin, VMS alatt a news.
Információk szervezése a hálózaton
Az információk összegyûjtése, rendezése és megkeresése, a dinamikusan változó hálózaton nem egyszerû dolog. Hogyan szervezhetjük meg az információk közötti kapcsolatokat? Alapvetõen két megoldás kínálkozik:
Például az elektrotechnika témakör: a 6. fõcsoport (Alkalmazott tudományok, technika) 62 alcsoportjának (Technika) 621 jelölésû (Gépek, elektrotechnika) témaköre.
Ennek a rendszernek számos elõnye mellett hátrányai is vannak: nagyon kötött, a struktúra felsõbb szintjei már nem változtathatók meg; minden információt valahova be kell sorolni; ez felveti a határterületek besorolásánál a nem egyértelmûség kérdését. Nem veszi figyelembe azt, hogy az egyik terület robbanásszerû fejlõdése miatt aránytalanná válik az egyes alszintek egymáshoz viszonyított súlya.
118. ábra: Kapcsolatok az információk között
A hálózaton való hierarchikus keresésre jó példa a Gopher. Tipikus gopher példa egy könyvtárban való keresés, pl. adott könyv címe alapján. A gopher szerverek többnyire könnyen kezelhetõ menürendszert adnak a kezünkbe, onnan lehet menüszinteken keresztül az információt megkeresni. Elõfordulhat, hogy a gopher adatbázisa több gépen helyezkedik el, ekkor a gopher program automatikusan kapcsolja azt a gépet, amely a kért információt tartalmazza.
Wais (Wide Area Information Server)
A gopherhez hasonló információ keresõ rendszer, azzal a különbséggel, hogy fõleg grafikus felületen dolgozhatunk vele, és hogy a keresett információ helye nem kötött. Például egy megadott szó alapján egy listát kapunk minden olyan elõfordulási helyrõl, ahol szerepel az adott szó, függetlenül attól, hogy az egy ftp-vel elérhetõ fájl neve, vagy egy gopher menüpontja, stb.
1.fejezet: A hálózatok célja, alkalmazása, alapfogalmak
2.fejezet: Fizikai átviteli jellemzõk és módszerek
3.fejezet: Közeg-hozzáférési módszerek
4.fejezet: Adatkapcsolati protokollok
8.fejezet: TCP/IP protokoll, az Internet szállítási rétege: a TCP, az Internet hálózati rétege: az IP, Címzési rendszer, Összeköttetés mentes szállítási protokoll: az UDP, az Internet vezérlése: az ICMP protokoll, Hálózat elérési réteg, a UNIX hálózatkezelésérõl röviden, Példa az alkalmazási rétegre: Az Internet szolgáltatások, WWW, Ellenõrzõ kérdések