Kliens - Szerver

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2017. október 21-én felülvizsgált verziótól ; az ellenőrzések 30 szerkesztést igényelnek .

"Client - server" ( eng.  client-server ) - olyan számítási vagy hálózati architektúra, amelyben a feladatok vagy a hálózati terhelés megoszlik a szolgáltatók, úgynevezett szerverek és a szolgáltató ügyfelek, az úgynevezett kliensek között. Valójában a kliens és  a szerver szoftver . Ezek a programok általában különböző számítógépeken találhatók, és hálózati protokollokat használó számítógépes hálózaton keresztül lépnek kapcsolatba egymással , de elhelyezkedhetnek ugyanazon a gépen is. A szerverprogramok várják a kliensprogramoktól érkező kéréseket, és biztosítják számukra az erőforrásaikat adatok formájában (például fájlok átviteleHTTP - n , FTP -n , BitTorrenten , adatfolyam- vagy adatbázis -műveleteken keresztül vagy szolgáltatási funkciókként (például e-mail , azonnali üzenetküldő rendszereken keresztüli kommunikáció vagy webböngészés a világhálón ). Mivel egy szerverprogram több kliens programtól is tud kérést végrehajtani, egy speciálisan dedikált, speciális módon konfigurált számítógépre kerül, általában más szerverprogramokkal együtt, így ennek a gépnek a teljesítményének magasnak kell lennie. Az ilyen gépet a hálózatban betöltött speciális szerepe, hardverének és szoftverének sajátosságai miatt szervernek is nevezik , a kliensprogramokat végrehajtó gépek pedig kliensek.

A kliens és a szerver szerepe

A kliens-szerver jellemző leírja az egymással együttműködő programok kapcsolatát egy alkalmazásban. A kiszolgálókomponens funkciót vagy szolgáltatást biztosít egy vagy több ügyfél számára, amelyek ilyen szolgáltatásokra vonatkozó kéréseket kezdeményeznek. A szervereket az általuk nyújtott szolgáltatások szerint osztályozzák. Például egy webszerver weblapokat, míg egy fájlszerver számítógépes fájlokat szolgál ki. A megosztott erőforrás a kiszolgáló számítógép bármely szoftvere és elektronikus komponense lehet, a programoktól és adatoktól a processzorokig és a tárolóeszközökig. A szerver erőforrás-megosztása egy szolgáltatás .

Azt, hogy egy számítógép kliens, kiszolgáló vagy mindkettő, a szolgáltatásokat igénylő alkalmazás jellege határozza meg. Például a webszerverek és a fájlszerver-szoftverek egyidejűleg futhatnak ugyanazon a számítógépen, hogy különböző adatokat szolgáltassanak ki a különböző típusú kérelmeket benyújtó ügyfelek számára. Az ügyfélszoftver az ugyanazon a számítógépen lévő kiszolgálószoftverrel is együttműködhet. A szerverek közötti kommunikációt, például az adatok szinkronizálását, néha szerverközinek nevezik .

Interakció a kliens és a szerver között

Általánosságban elmondható, hogy a szolgáltatás a számítógépes erőforrások absztrakciója, és az ügyfélnek nem kell aggódnia a kiszolgáló működése miatt, amikor kérelmet küld és választ. Az ügyfélnek csak az ismert alkalmazási protokollon alapuló választ kell megértenie, azaz a kért szolgáltatás tartalmát és adatformázását.

Az ügyfelek és a szerverek kérés-válasz mintában cserélnek üzeneteket. A kliens kérést küld, a szerver pedig választ ad vissza. Ez az üzenetküldés a folyamatok közötti kommunikáció példája. A kommunikációhoz a számítógépeknek közös nyelvvel kell rendelkezniük, és szabályokat kell követniük, hogy a kliens és a szerver is tudja, mire számíthat. A kommunikáció nyelvét és szabályait a kommunikációs protokoll határozza meg. A kliens-szerver modell összes protokollja az alkalmazási rétegen működik. Az alkalmazási réteg protokollja alapvető beszélgetési mintákat határoz meg. Az adatcsere további formalizálása érdekében a szerver megvalósíthat egy alkalmazásprogramozási felületet ( API ). Az API egy absztrakciós réteg egy szolgáltatás eléréséhez. Azáltal, hogy a hivatkozást egy adott tartalomformátumra korlátozza, megkönnyíti az elemzést. A hozzáférés absztrahálásával megkönnyíti a platformok közötti adatcserét.

A szerver rövid időn belül számos különböző ügyféltől tud kérést fogadni. Egy számítógép egyszerre csak korlátozott számú feladatot tud végrehajtani, és egy ütemezési rendszerre támaszkodik az ügyfelektől érkező bejövő kérések prioritása érdekében, hogy kielégítse azokat. A visszaélések megelőzése és a rendelkezésre állás maximalizálása érdekében a kiszolgálószoftver korlátozhatja az elérhetőséget az ügyfelek számára. A szolgáltatásmegtagadási támadások a kiszolgáló felelősségét használják ki a kérések feldolgozására, az ilyen támadások túlterhelik a szervert a kérések túlzott gyakoriságával. Titkosítást kell használni, ha bizalmas információkat kell továbbítani a kliens és a szerver között.

Összehasonlítás a peer-to-peer architektúrával

A kliens-szerver modellen kívül az elosztott számítástechnikai alkalmazások gyakran peer-to-peer architektúrát használnak.

A kliens-szerver gyakran egy központi rendszerként készül, amely sok ügyfelet szolgál ki. Így a kiszolgáló teljesítmény-, memória- és tárhelyigényének a várható terheléshez kell igazodnia. A terheléselosztási és feladatátvételi rendszereket gyakran használják arra, hogy egy szervert egyetlen fizikai gépen túlra is méretezjenek. Egy peer-to-peer hálózatban két vagy több számítógép egyesíti erőforrásait, és egy decentralizált rendszerben működik együtt. A peer csomópontok egy nem hierarchikus hálózat egyenrangú vagy ekvipotenciális csomópontjai. Ellentétben az ügyfél-szerver vagy kliens-sor-ügyfél architektúrában lévő ügyfelekkel, a társak közvetlenül kommunikálnak egymással. Egyenrangú hálózatban a peer-to-peer kommunikációs protokoll algoritmusa kiegyenlíti a terhelést, és még a kevés erőforrással rendelkező társak is segíthetnek a terhelés megosztásában. Ha egy csomópont elérhetetlenné válik, a megosztásai mindaddig elérhetőek maradnak, amíg más partnerek felajánlják őket. Ideális esetben egy csomópontnak nem kell magas rendelkezésre állást elérnie, mivel más csomópontok kompenzálják az erőforrás-leállást. Ahogy a társak elérhetősége és átviteli sebessége változik, a protokoll átirányítja a kéréseket. Mind a kliens-szerver, mind a mester-szolga az elosztott peer-to-peer rendszerek alkategóriájának tekintendő.

Előnyök

Hátrányok

Réteges kliens-szerver architektúra

A többszintű kliens-szerver  architektúra olyan kliens-szerver architektúra, amelyben az adatfeldolgozási funkció több különálló szerveren van elhelyezve. Ez lehetővé teszi az adatok tárolásának, feldolgozásának és megjelenítésének funkcióinak elkülönítését a szerverek és a kliensek képességeinek hatékonyabb kihasználása érdekében.

A többszintű architektúra speciális esetei:

Dedikált szerver hálózat

A dedikált szerverrel rendelkező hálózat ( pl .  kliens/szerver hálózat ) olyan helyi hálózat (LAN) , amelyben a hálózati eszközöket egy vagy több szerver központosítja és vezérli. Az egyes munkaállomásoknak vagy klienseknek (például személyi számítógépeknek) a szerver(ek)en keresztül kell hozzáférniük a hálózati erőforrásokhoz.

Irodalom