Következő: 17.1.1.2 A TCP/IP protokollok
Fel: 17.1.1 A TCP/IP
Előző: 17.1.1 A TCP/IP
  Index
A TCP/IP nem más, mint egy protokollkészlet,
amelyet arra dolgoztak ki,
hogy hálózatba kapcsolt számítógépek
megoszthassák egymás között az
erőforrásaikat.
A fejlesztés az ARPAnet köré csoportosult
kutatók munkája.
Valószínűleg az
ARPAnet a legismertebb TCP/IP alapú hálózat.
Hedrick azt írja, hogy ,,1987 júniusáig
legalább 130 különböző cég adott ki
olyan terméket, amely a TCP/IP-t támogatta, és többezer
hálózat alkalmazza
is a protokollokat''. Én nem jártam utána, hogy ma mekkora lehet ez a szám,
de nyilvánvalóan ennél sokkal több. 1987
óta az Internet jelentősen meghízott.
Először tekintsük át az alapvető
fogalmakat. Az itt leírt protokollkészlet
legjobb elnevezése
,,Internet protokollverem'' (vagy Internet
protokollkészlet). A TCP
és az IP ezen protokollok közül kettő. (Leírásukat
lásd lejjebb.) Mivel a protokollok közül a TCP
és az IP a legismertebb,
ezért az egész családra
a TCP/IP vagy az IP/TCP kifejezést használják.
Valószínűleg
nincs is értelme ellenkezni. (A sok rövidítésről
a következő oldalakon lelebbentjük a fátylat.)
Az Internet: hálózatok együttese. Hozzátartozik
az Arpanet, az NSFnet,
regionális hálózatok
(mint a
NYsernet), számos egyetem és kutatóintézet
helyi hálózata, és egy sor katonai hálózat
is. Az ,,Internet'' kifejezés
ezen hálózatoknak az
összességét jelenti. Ennek egy része a DDN
(Defense
Data Network), amely az USA Védelmi Minisztériumának
az irányítása alatt
áll. Ide tartozik néhány
kutatói hálózat (pl. Arpanet), illetve sokkal
titkosabb katonai hálózatok is. (Mivel az Internet
protokollok
fejlesztéséhez való anyagi hozzájárulások
nagy része DDN szervezetektől
származik, ezért
az Internet és a DDN kifejezések néha egybemosódni
látszanak.) A fenti hálózatok mindegyike
összeköttetésben áll egymással. A
felhasználók bármelyikről bármelyikre
küldhetnek üzenetet, kivéve azokat,
ahol biztonsági
vagy egyéb okokból megszorították a hozzáférést.
Az Internet protokollokat leíró dokumentumok olyan
hivatalos szabványok,
amelyeket az Internetet használók
közössége elfogadott és alkalmaz. Az
USA Védelmi
Minisztériuma 1987 tájékán kiadta a TCP/IP
MILSPEC-féle
definícióját. A
helyzet az, hogy a TCP/IP hívők továbbra is az
Internet
szabványokat használják. A MILSPEC változat
azokkal konzisztens.
Mindegy, hogy minek nevezzük, a TCP/IP egy protokollcsalád.
Jónéhány
tagja biztosít sok alkalmazás
számára szükséges alacsony szintű szolgálatokat.
Ilyen például az IP, a TCP és az UDP. (Ezeket egy kicsit
később részletesebben
is megnézzük.) Mások
olyan meghatározott feladatokat látnak el, mint például
a számítógépek közötti
állománytovábbítás, az üzenetküldés,
vagy éppen egy
adott gépre bejelentkezett felhasználók
lekérdezése. A TCP/IP-t kezdetben
főleg kis-
és nagyszámítógépek (mainframe-ek)
körében alkalmazták. Ezek a
gépek saját
merevlemezzel rendelkeztek, és általában teljesen
önállóak
voltak. Innen származtathatók
a TCP/IP legfontosabb ,,hagyományos''
szolgáltatásai:
- állománytovábbítás - Az
állománytovábbítási protokoll (File
Transfer Protocol, azaz FTP) segítségével
bármely számítógépen lévő
felhasználó bármelyik másik gépre küldhet
és onnan beszerezhet
állományokat. A biztonságot a felhasználónak
a másik gépen
érvényes
azonosítója és a hozzátartozó
jelszava jelenti. Gondoskodtak arról is,
hogy a különböző
karakterkészlettel, sorvégjellel stb...rendelkező
számítógépek közötti
állománytovábbítás is zavartalan
legyen. Ez nem
teljesen ugyanaz a dolog mint a hálózati
állományrendszer (network file
system) vagy a
netbios protokoll, amelyekről később lesz szó.
Az FTP egy
olyan segédprogram, amelyet bármely időpontban
futtatva, a hálózatba
kapcsolt más számítógépeken
lévő
állományok elérhetővé válnak.
Arra
használják, hogy az adatállományt a saját
rendszerre átmásolják. (Az FTP
leírását
lásd az RFC 959-ben).
- távoli bejelentkezés
- A hálózati terminál protokoll (TELNET)
a felhasználók távoli gépekre való
bejelentkezését kezeli. A távoli
viszonyt (session)
annak a gépnek a megadásával kell kezdeni, amelyhez
csatlakozni szeretnénk. Attól kezdve bármit is gépelünk
be, minden adat
a megadott géphez kerül a viszony befejeztéig.
Vegyük észre, hogy a
felhasználó valójában
még mindig a saját számítógépével
kommunikál. A
telnet program az, amelyik a futása alatt
ezt láthatatlanná teszi a
felhasználó előtt.
Minden begépelt karakter közvetlenül a másik
rendszerhez kerül. A távoli géppel meglévő
kapcsolat nagyjából hasonlít
egy modemes vonalhoz (dial-up connection). Ez azt jelenti, hogy a távoli
rendszer
először a bejelentkezést kéri, majd egy jelszót,
ugyanúgy, ahogy
ez egy modemes kapcsolat esetén történne.
A kijelentkezéskor a telnet
program kilép a vonalból,
és ismét a saját gépünk kommunikál
velünk. A
telnet program kisszámítógépes
megvalósításai általában egy
elterjedt
termináltípus emulációját
is tartalmazzák.(A specifikációt lásd
az
RFC 854 és az RFC 855 dokumentumokban. Az RFC
854 - 860 a
TELNET opcióit írja le.)
- számítógépes levelezés
(mail)
- Ez a szolgáltatás arra való, hogy
a felhasználók
üzeneteket küldjenek egymásnak. Az emberek kezdetben
csak
egy-két számítógépet használtak.
Ezeken a gépeken aztán mindenki a saját
levelezési
állományát tartotta fenn. Levél, illetve
üzenet elküldésekor
annyi történik, hogy az
egyszerűen a címzett megfelelő állományához
fűződik. Az olyan környezetben azonban, ahol mikroszámítógépeket
használnak, ezzel gond van. A legalapvetőbb probléma
abból fakad, hogy a
mikroszámítógépek
nem a legmegfelelőbbek üzenetek fogadására.
Levél
küldésekor a levelezést végző
program kommunikációs csatornát akar
megnyitni a címzett
géppel. Ha ez a gép történetesen egy mikroszámítógép,
akkor lehetséges, hogy éppen ki van kapcsolva, vagy
esetleg nem az
üzeneteket kezelő alkalmazást
futtatja. Ennek a problémának a megoldására
az üzeneteket kezelését egy állandóan
futó kiszolgáló (mail server) végzi
el. A mikrogépeken futó levelező program pedig egy
felhasználói interfészt
alkot a kiszolgáló
felé.(Lásd az RFC 821 és 822
dokumentumokat a
számítógépes levelezésre
vonatkozólag. Az RFC 937 pedig egy olyan protokollt
ír le, amely a mikroszámítógépeknek a
levelezést kiszolgáló számítógéptől
való
üzenetfogadását specifikálja.)
A TCP/IP protokollok bármely megvalósításának
tartalmaznia kell a fenti
szolgáltatások mindegyikét.
A mikroszámítógépes implementációkban
a
levelező rendszer nem mindig szerepel. Ezek a megszokott,
hagyományos
alkalmazások fontos szerepet játszanak
a TCP/IP alapú hálózatokban. A
hálózatokról
alkotott elképzelés azonban folyamatosan változik.
Manapság
már sok helyen többfajta számítógép
is működik egyszerre: mikroszámítógépek,
munkaállomások, kisszámítógépek,
illetve nagyteljesítményű számítógépek.
Ezen gépek mindegyikét speciális feladatokra
állították fel. Habár az
emberek többsége
még mindig csak egy meghatározott számítógépet
használ
a munkája során, ez a gép a kívánt
szolgáltatások eléréséhez egyéb
hálózati erőforrásokat vesz igénybe.
Ez a modell hozta létre a
,,server/client'' (kiszolgáló/kliens)
alapú hálózati szolgáltatásokat. A
kiszolgáló nem más mint egy meghatározott hálózati
rendszer, amely a
hálózat többi tagja részére
biztosít bizonyos szolgáltatásokat. A kliens pedig
az a rendszer, amely a szolgáltatást igénybe veszi.
(Nem szükséges, hogy a
kiszolgáló és a
kliens különböző számítógépen
legyen. Lehetnek például
egyazon a számítógépen
futó különböző programok is.) Az alábbiakban
felsoroljuk a mai hálózati felépítésben
jelenlévő tipikus kiszolgálókat. Ezek
a szolgáltatások a TCP/IP keretén belül is
megtalálhatók.
- hálózati
állományrendszer (network file system) - Ennek a
szolgáltatásnak a segítségével
a hálózaton lévő
állományokat az FTP módszerénél
valamivel természetesebben lehet elérni. A hálózati
állományrendszer azt
az illúziót kelti, hogy
az egyik rendszer lemezei vagy más egységei közvetlenül
más rendszerekhez tartoznak. Nincs szükség külön
hálózati alkalmazásra ahhoz,
hogy az állományokhoz
hozzá lehessen férni. Az adott számítógép
egyszerűen úgy viselkedik, mintha plusz egységeket
kapott volna. Ezek a
,,virtuális'' meghajtók a másik
rendszer lemezeit fogják jelenteni. Több
hasznos oldala is
van ennek a megközelítésnek. Egyfelől
nagykapacitású
meghajtókat lehet megosztani több
számítógép között. Ennek nyilvánvaló
takarékossági előnyei vannak. Másfelől
egy csapásra megvalósul a közös
állomány-hozzáférés.
Könnyebbé válik a rendszer karbantartása,
archiválása,
mivel nem kell a különböző
gépeken lévő másolatok időszerűsítésével
és
tartalékolásával foglalkozni. Sok cég
kínál nagyteljesítményű, meghajtó
nélküli számítógépeket. Ezeknek
a gépeknek a működése nagy mértékben
a
különböző
állománykiszolgálókhoz kapcsolt meghajtóktól
függ. (A TCP alapú,
PC-re készült
NetBIOS leírását az RFC 1001
és 1002 adja. A munkaállomások
és a
kisszámítógépek körében a Sun
Network File System az irányadó. Ennek a
protokoll
specifikációit a Sun Microsystems cég szolgáltatja.)
- távoli nyomtatás - Itt arról van szó, hogy a más számítógépekhez
csatlakoztatott nyomtatókat sajátként tudjuk elérni. (A legszélesebb
körben használt protokoll a Berkeley
Unix távoli sornyomtatás protokollja.
Sajnos ennek
dokumentált verziója nem létezik. A C nyelvű
forráskódot a
Berkeley egyetemtől könnyen
be lehet szerezni, ami a megvalósítást könnyíti.)
- távoli futtatás - A szolgáltatás megengedi programok másik gépen
való végvégrehajtását. Ez akkor
hasznos, ha a munka nagy részét kisebb
teljesítményű
gépen el lehet végezni, de néhány feladat
nagyobb rendszer
erőforrásait igényli. A távoli
futtatásnak jónéhány fajtája létezik.
Vannak olyanok, amelyek a parancsokat parancs szinten hajtják végre.
(Az intelligensebb változatok olyan rendszert keresnek, amely
szabad
erőforrással rendelkezik). Léteznek távoli
eljáráshívó rendszerek is, amelyek
megengedik, hogy a programok másik gépen futó
szubrutinokat hívjanak meg.
(Ennek a megvalósítására
több protokoll is létezik. A Berkeley Unix-ban két
kiszolgáló is található a távoli
futtatásra: az rsh
és az rexec. Ezek man
oldalai írják le az
általuk használt protokollokat. A Berkeley 4.3
verzióval
terjesztett programcsomag tartalmaz egy olyan osztott
parancsértelmezőt,
amely a rendszer terhelésétől
függő mértékben osztja fel a feladatokat
különböző
rendszerek között. A távoli eljáráshívások
módszere az 1980-as
évek vége felé a kutatások
középpontjában
állt, aminek eredményeképpen sok
szervezet
rendelkezik a szolgáltatás implementációjával.
A leginkább elterjedt és kereskedelmileg is támogatott
távoli eljáráshívó
protokoll a Xerox
cég Courier, illetve a Sun cég RPC
protokollja. A
dokumentációk beszerezhetők maguktól
a cégektől. A Courier-nek létezik
TCP alapú,
publikus megvalósítása is, amelyet a Berkeley 4.3
programcsomag részeként terjesztenek. Az RPC egy Sun
megvalósítása a
Usenet hálózaton
volt megtalálható, illetve a Berkeley 4.3 részeként
is megjelent.)
- névkiszolgálók (name servers) - Nagy kiterjedésű rendszerek működése
során rengeteg név keletkezik, amit valahogy adminisztrálni
kell. Ide
tartoznak a felhasználók
és a jelszavaik, az azonosítók és a számítógépek
nevei és hálózati címei. Ha mindezeket
minden számítógépen naprakészen akarnánk
tartani, akkor elvesznénk az információ dzsungelében.
Ennek elkerülése végett
az adatbázisokat nem
mindegyik, hanem csak egy pár rendszeren tartják fenn. A
többi
rendszer az adatokhoz a hálózaton keresztül fér
hozzá. (Az
Interneten lévő gépek neveit
és Internet címeit nyomon követő névkiszolgáló
protokollokat az RFC 822 és 823 dokumentumok
írják le. Ez ma már bármely
TCP/IP megvalósításnak
része kell, hogy legyen. Az IEN 116 egy olyan régebbi
névszolgáltató protokollt ír le, amelyet még
egy pár terminálkiszolgáló
és
egyéb termék használ a számítógépek
keresésére. A Sun cég Yellow Pages
rendszere a felhasználók neveinek, az állomány-megosztó
csoportoknak,
illetve a Unix rendszerek által használt más
adatbázisoknak az általános
kezelésére
szolgál. A rendszer a kereskedelemben kapható. A protokoll
leírása a Sun cégtől szerezhető be.)
- terminálszerverek - Rengeteg rendszerben előfordul, hogy a terminálokat
nem csatlakoztatják közvetlenül a számítógépekhez.
Ehelyett ezek
úgynevezett
terminálszerverekhez csatlakoznak. A terminálszerver
nem más mint egy
kisteljesítményű számítógép,
amely csak a telnet (vagy más, bejelentkezést
végrehajtó
protokoll) futtatására hivatott. Amennyiben a használt
terminál ilyen számítógéphez van kötve,
akkor egyszerűen csak be kell
gépelni egy számítógép
nevét, és máris létrejön a kapcsolat.
Általában
lehetséges egyszerre több számítógép
felé aktív kapcsolat fenntartása is.
A terminálszerver
végzi az
élő kapcsolatok közötti váltogatást,
és
figyelmezteti a felhasználót, ha egy kapcsolat
kimenetén megjelenik valami.
(A terminálszerverek a már
említett telnet protokollt használják. A valódi
terminálszervereknek tudniuk kell a névszolgálatot,
illetve egyéb
protokollokat is.)
- hálózat alapú ablakos rendszerek - A nagy teljesítményű grafikai
programok régebben
olyan számítógépeket igényeltek,
amelyekhez közvetlenül
csatlakozott bittérképes
grafikus képernyő. A hálózati ablakos
rendszerek
megengedik, hogy az ilyen programok más számítógéphez
csatlakoztatott
kijelzőt használjanak. Ezek a rendszerek
biztosítják, hogy a különböző
feladatokat a legmegfelelőbb rendszerek végezzék,
miközben végig egyetlen
grafikus felületet mutatnak a
felhasználó felé.(A legelterjedtebb megvalósítás
az X. A protokoll leírását a MIT Athena
projektjétől lehet beszerezni. Sok
cég támogatja
a Sun NeWS nevű rendszerét is. Mindkét
rendszer TCP/IP-re épül.)
A fenti protokollok közül jónéhány a
Sun, a Berkeley, illetve más
szervezetek munkájának
eredménye. Ez azt jelenti, hogy ezek hivatalosan
nem részei
az Internet protokollkészletnek; persze a megvalósításukban
TCP/IP-t használnak, mint bármely más TCP/IP
alkalmazás. Mivel a protokoll
definíciók nem képeznek
tulajdonjogot, valamint mivel kereskedelmileg
támogatott megvalósítások
is hozzáférhetőek, ezért célszerű
ezeket a
protokollokat az Internet protokollkészlet részeként
tekinteni. A fenti
lista a TCP/IP-n keresztül elérhető
szolgáltatásokból csak egy mintafelsorolás,
a főbb alkalmazások többségét azonban
tartalmazza. A többi széles körben
használatos
protokoll olyan speciális információkat biztosít,
mint például
a bejelentekezett felhasználók,
az aktuális idő stb...Amennyiben olyan
szolgáltatásra
van szükség, amely nem szerepel a fentiek között,
akkor
ajánlott az Internet Protokollok aktuális
listájának (RFC 1011) a
megtekintése. Ebben
megtalálható minden protokoll. Érdemes még a
főbb
TCP/IP megvalósításokat is végigböngészni,
hogy a különböző cégek milyen újabb
szolgáltatásokat adtak hozzá a protokollokhoz.
Következő: 17.1.1.2 A TCP/IP protokollok
Fel: 17.1.1 A TCP/IP
Előző: 17.1.1 A TCP/IP
  Index
1999-09-17