A számítógépes hálózatok
TCP/IP protokoll
A TCP/IP protokollcsomag négy rétegű szerkezete részben hasonló az ISO OSI hivatkozási modellhez.
TCP-IP rétegek
TCP/IP protokoll, amelyre az Internet épül, valójában nem egyetlen protokoll, hanem egy protokoll-csomag. A TCP/IP modell célja, hogy heterogén hálózatokat úgy lehessen összekötni, hogy a célállomások között mindig több útvonal legyen kialakítható, bármiféle központ nélkül.
TCP/IP igazi jelentőségét az a tény adja, hogy az Internet szabványos és elfogadott kommunikációs protokolljává nőtte ki magát. Így az Internet és a helyi hálózatok problémamentes összekapcsolása miatt mára a helyi hálózatok szabványává is vált.
A TCP/IP protokollkészlet a különböző operációs rendszerekkel működő számítógépek, illetve számítógép-hálózatok közötti kapcsolat létrehozására szolgál. E protokollkészletet arra dolgozták ki, hogy hálózatba kapcsolt számítógépek megoszthassák egymás között az erőforrásaikat. A TCP és az IP a legismertebb, ezért az egész családra a TCP/IP kifejezést használják. Segítségével különálló számítógép-hálózatok hierarchiája alakítható ki, ahol az egyes gépeket, illetve helyi hálózatokat nagy távolságú vonalak kötik össze.
A TCP szolgáltatásait sok alkalmazás igényli, azonban vannak olyanok, amelyeknek nincs rájuk szükségük. Persze léteznek olyan szolgáltatások, amelyeket minden alkalmazás megkíván; ezeket szedték egybe az IP-be. Ugyanúgy, ahogy a TCP, az IP is egy rutingyűjtemény, de ezt a TCP-t nem használó alkalmazások is elérhetik.
A különböző protokolloknak ezt a szintekbe rendezését rétegezésnek nevezik. Ennek megfelelően az alkalmazási programok (mint például a levelezés), a TCP, illetve az IP külön réteget alkotnak, amelyek mindegyike az alatta lévő réteg szolgáltatásait használja. A TCP/IP alkalmazások általában a következő négy réteget veszik igénybe:
alkalmazási protokollok (pl. levelezés);
a TCP-hez hasonló protokollok, amelyek rengeteg alkalmazás számára biztosítanak szolgáltatásokat;
IP, amely a datagramok célba juttatását biztosítja;
a felhasznált fizikai eszközök kezeléséhez szükséges protokollok (pl. Ethernet).
Mivel nagyszámú különböző hálózat áll egymással összeköttetésben átjárók (gateway) segítségével. Ezeken a hálózatokon lévő bármely számítógépet vagy erőforrást a felhasználónak el kell tudnia érni. Az adatcsomagok esetleg több tucat hálózaton is keresztülmehetnek mielőtt a célállomásra érkeznének. Az ezt megvalósító útvonalválasztásnak természetesen láthatatlannak kell maradnia a felhasználó számára, abból ő mindössze egy internetcímet kell, hogy ismerjen. Ez egy olyan számnégyes, amely tulajdonképpen egy 32 bites számot reprezentál. A felírás 4 darab 8 bites decimális szám formájában történik.
A TCP/IP összeköttetés-mentes hálózati protokollokat tartalmaz, ami azt jelenti, hogy az információ a datagramok sorozataként terjed tovább. A datagram adatok együttese, amely egy egyszerű üzenetként kerül továbbításra. A datagramok egymástól függetlenül, egyesével indulnak útjukra. (Az adott adatkapcsolat időtartamára vonatkozóan persze vannak előrejelzések.) A küldendő információt a protokollok a fenti adatokra tördelik, amelyeket aztán a hálózat egymástól teljesen különállóként kezel.
TCP (Transmission Control Protocol – Átvitelvezérlési protokoll)
Az Internet szállítási rétege
A TCP feladata az üzenet-csomagok esetleges darabolása, azok összeállítása a túloldalon, valamint az esetlegesen elveszett rész-csomagok újraküldése, ezáltal két pont közt egy megbízható átviteli csatorna biztosítása.
A TCP a csomagok továbbításakor az alsóbb rétegek felé egy ún. TCP fejlécet illeszt azok elé. Ez a fejléc a küldő- és a célállomás IP címének megjelölése mellett a két pont közti kapcsolatot azonosító egyedi kapukat (port) és egy sorszámot is tartalmaz. A kapu-azonosítók a két azonos csomópont közti párhuzamos üzenet-átviteli csatornák megkülönböztetésére szolgálnak. A sorszám mező az adott csomag első bájtának az üzeneten belüli elhelyezkedését adja meg. Így az 512 bájtos darabokban átvitt üzenetek csomagjainak sorszám mezői rendre a 0, 512, 1024 stb. értékekeket fogják kapni. Ezen kívül a fejléc rendelkezik még egy ellenőrző-összeg (checksum) mezővel is, melynek segítségével az átvitel fizikai hibái is kiszűrésre kerülhetnek.
A TCP/IP datagramok kezelésében két különböző protokoll játszik szerepet. Az üzenetek széttördelését, összeállítását, az elveszett részek újraadását, a datagramok helyes sorrendjének visszaállítását mind a TCP végzi. Az egyes datagramok útvonalának a meghatározását (routing) az IP hajtja végre. Egy datagram több hálózaton mehet keresztül, míg végül eljut a célállomásra. A különböző átviteli közegekből adódó inkompatibilitások kezelése és a célállomásokhoz vezető útvonalak végigkövetése komplex feladat. (Előfordulhat, hogy egy Ethernet-hálózatból kell eljuttatni egy datagramot egy másik Ethernet-hálózatba, csakhogy ez a másik hálózat a tengeren túl van. Ekkor biztos, hogy más közegeket is igénybe kell venni, például ISDN, műholdas stb. átviteli közegeket.)
A TCP és az IP közti interfész rendkívül egyszerű: a TCP egy datagramot ad át az IP-nek egy rendeltetési címmel együtt. Az IP semmit sem tud arról, hogy ez az információ hogyan viszonyul más datagramokhoz. Nem elegendő csupán a datagramnak a helyes címre való továbbítása. A TCP-nek még azt is tudnia kell, hogy az adott datagram melyik kapcsolathoz tartozik. A probléma megoldását a demultiplexálás v. nyalábbontás adja, amely a TCP/IP-ben valójában több különböző szinten folyik. A demultiplexáláshoz szükséges információt a fejlécek hordozzák. A fejléc azokat a kiegészítő információkat jelenti, amelyeket a különböző protokollok ragasztanak a datagramok elejére, hogy azokat nyomon tudják követni.
UDP (User Datagram Protocol – Felhasználói datagram-protokoll)
Előfordul, hogy elegendő egy jóval egyszerűbb keretforma is. Ilyen eset pl. a névfeloldási kérelem, mikor egy internetböngészőbe beírunk egy webcímet, azt át kell alakítania IP-címmé. Ha a kérésre rövid időn belül nem jön válasz, a kérést elveszettnek tekintjük, és megismételjük. Ilyen egyszerű protokoll az UDP.
Az UDP a forrás és a cél azonosítására portszámot használ. Ezáltal egyszerre többen is használhatják a protokollt.
IP (Internet Protocol) - Az Internet hálózati rétege
Az IP protokoll feladata a TCP réteg felől érkező adatcsomagok eljuttatása a meghatározott célállomásra. A protokoll az átvivendő csomagot az alsóbb réteg felé történő továbbítása előtt egy IP-fejéccel látja el. Ez a fejléc a forrás- ill. a célállomás IP címén, valamint a csomagok sorrendjét meghatározó információn kívül egy ún. protokoll-számot és egy ellenőrző-összeget is tartalmaz. A protokoll-szám jelentősége annak meghatározása, hogy a célállomáson az IP réteg a csomag fogadása után azt melyik felsőbb réteg (protokoll) felé továbbítsa (erre azért van szükség mert az IP protokoll szolgáltatásait nem feltétlenül csak a TCP, hanem más azonos szintű protokollok is használhatják).
A TCP az általa feldolgozott datagramokat átadja az IP-nek. Ezzel együtt közli a rendeltetési hely internetcímét is. Az IP feladata abban áll, hogy a datagram számára megkeresse a megfelelő útvonalat, és azt a másik oldalhoz eljuttassa. Az útközben fellelhető átjárók és egyéb közbülső rendszereken való átjutás megkönnyítésére az IP a datagramhoz hozzáteszi a saját fejlécét. A fejléc fő részei a forrás és a rendeltetési hely internetcíme (32 bites címek, pl. 128.6.4.94), a protokollszám és egy fejrészellenőrző összeg. A forrás címe a küldő gép címét tartalmazza. (Ez azért szükséges, hogy a vevőoldal tudja, honnan érkezett az adat.) A rendeltetési hely címe a vevőoldali gép címét jelenti. (Erre pedig azért van szükség, hogy a közbenső átjárók továbbítani tudják az adatot.) A protokollszám kijelöli, hogy a datagram a különböző szállítási folyamatok közül melyikhez tartozik. A TCP egy biztos választási lehetőség, de léteznek egyebek is (pl. UDP). Végül az ellenőrzőösszeg segítségével bizonyosodik meg a vevő oldali IP arról, hogy a fejléc az átvitel során nem sérült-e meg.
TCP/IP szolgáltatások
FTP: Állomány átvitel (File Transfer Protocol)
TELNET: Távoli bejelentkezés egy gépre ( Network Terminal Protocol)
E-mail: Elektronikus levelezés, ami lehetővé teszi elektronikus üzenetek küldését más számítógépekre (is).
Távoli nyomtatás, ami lehetővé teszi más gépekhez kötött nyomtatók használatát, így egy adott felhasználói csoport viszonylag kevés nyomtatóval is jól kiszolgálható.
RCP: Távoli programfuttatás. Segítségével lehetővé válik programok futtatása a távoli gépen.
NFS, RFS, AFS - Network file rendszerek, amelyek lehetővé teszik egész állományrendszerek elérését más gépek számára.
Hálózaton keresztül használható grafikus ablak (window) rendszerek.
Név kiszolgálók (name server): ezek az egyedi gépek neveit és címeit tartalmazzák egy intézményen belül. Segítségükkel nem kell minden host címét a helyi gépen tárolni, az a központi név szerverről név alapján elérhető.
Terminál szerverek, amelyek speciális célszámítógépek, ahonnan távoli gépekre jelentkezhetünk be. A terminálok vagy modemek ezekhez csatlakoznak, így nem szükséges egy hosthoz bejelentkezni csak azért, hogy egy másik gépet pl. telnet-tel elérjünk.