Sistem client / server

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Schema de comunicare între client și server prin Internet

În calcul , termenul sistem client-server (literalmente client-servient) indică o „ arhitectură de rețea în care, în general, un computer client sau terminal este conectat la un server pentru utilizarea unui anumit serviciu, cum ar fi partajarea unei anumite resurse hardware / software cu alți clienți, bazându-se pe arhitectura protocolului de bază.

Mai simplu, sistemele client / server reprezintă o evoluție a sistemelor bazată pe partajarea simplă a resurselor : prezența unui server permite unui anumit număr de clienți să își partajeze resursele, lăsând serverul să gestioneze accesul la resurse pentru a evita conflictele de utilizare tipice a primelor sisteme IT . [1] [2] Rețelele locale ale companiei (LAN), Internetul , sistemele informatice și sistemele de operare sunt organizate sub forma unei arhitecturi tipice client-server pentru utilizarea serviciilor respective.

Descriere

Client

Pictogramă lupă mgx2.svg Același subiect în detaliu: Client .

Software- ul client este în general de o complexitate limitată, în mod normal limitat la operarea ca o interfață a serverului . În general, în domeniul IT, termenul client indică o componentă care accesează serviciile sau resursele unei alte componente, numită server . În acest context, putem vorbi despre clienți care se referă la hardware sau software .

Un computer conectat la un server printr- o rețea locală sau geografică și la care solicită unul sau mai multe servicii, utilizând unul sau mai multe protocoale de rețea este un exemplu de client hardware. Un program de e-mail este un exemplu de client software. Din ce în ce mai multe programe software, cum ar fi web , e-mail , baze de date , care sunt împărțite într-o parte client (care se află și rulează pe computerul client ) și o parte server (care se află și se execută pe server ).

Termenul client se referă, de asemenea, la software-ul utilizat pe computerul client pentru a accesa funcționalitatea oferită de server . De exemplu, pe web, software - ul client este browserul web și vorbește cu un server web prin protocolul HTTP ; pentru e-mail clientul se numește agent de utilizator de poștă sau MUA (de exemplu, Outlook , Mozilla Thunderbird , Eudora , ...) și vorbește cu serverul ( Agent de transfer de mail sau MTA ) prin protocolul SMTP și POP sau IMAP ; clientul pentru consultarea sau modificarea bazei de date (adesea alcătuit din biblioteci software utilizate de o aplicație ) vorbește cu SGBD , care gestionează baza de date și răspunde la întrebările clientului .

Server

Pictogramă lupă mgx2.svg Același subiect în detaliu: Server .

Software-ul server , pe lângă gestionarea logică a sistemului, trebuie să implementeze toate tehnicile de gestionare a accesului, alocarea și eliberarea resurselor, partajarea și securitatea datelor sau resurselor.

De exemplu, un server de poștă electronică este comparabil cu orice birou poștal. Utilizatorii pentru a accesa căsuța poștală prin client trebuie să fi fost autorizați. În mod similar, un utilizator trebuie să aibă cheia pentru căsuța poștală situată la o poștă de la care dorește să colecteze corespondență.

Arhitectură pe mai multe niveluri

Pictogramă lupă mgx2.svg Același subiect în detaliu: arhitectura pe mai multe niveluri .
Schema de comunicare între client și server

Atunci când un computer client se conectează direct la un sistem de baze de date sau la un server de aplicații standard, aceasta se numește arhitectură pe două niveluri .

Recent, este mai frecvent ca computerele client , numite clienți subțiri care nu încorporează logica de afaceri , ci doar elemente de interfață, să se conecteze la o aplicație de server care implementează o logică de afaceri în care comunică tranzitiv (adică ulterior) cu baza de date a serverului , care stochează datele utilizate de aplicație. Această arhitectură se numește arhitectură pe 3 niveluri .

În general, arhitecturile de nivel n- pot folosi o serie de servicii distincte, inclusiv relații tranzitive între servere de aplicații care implementează diferite funcții logice de afaceri, fiecare dintre care poate sau nu poate folosi un sistem de baze de date partajate sau distincte.

Conexiune

Pictogramă lupă mgx2.svg Același subiect în detaliu: comutarea pachetelor .

Clienții și serverul sunt conectați printr-un protocol de comunicație printr-o rețea de comunicații . Protocolul poate fi în text clar sau, în unele cazuri, criptat .

În domeniul telecomunicațiilor , două sau mai multe mașini sau gazde ( computer , telefon , imprimantă etc.) pot comunica între ele respectând standardele care se numesc protocoale de rețea. Respectarea protocoalelor asigură faptul că două mașini pot comunica corect, chiar dacă au fost construite independent.

Service cu și fără conexiune

Când un client și un server încep să comunice, pot schimba pachete de control înainte de a trimite datele reale / reale ( comunicare orientată spre conexiune ).

Aceste proceduri, numite strângere de mână , pregătesc cele două componente pentru comunicare. Astfel de proceduri stau la baza, de exemplu, a TCP . Cu toate acestea, pot exista și servicii care trimit direct date fără conexiune și feedback, ca în cazul UDP .

Cu toate acestea, majoritatea aplicațiilor trebuie să trimită date în siguranță și fiabilitate, astfel încât strângerea de mână face exact asta. Prin urmare, se înțelege cum conexiunea prin TCP, de exemplu, este mai sigură, dar și mai lentă, deoarece schimbă nu numai date reale, ci și date de servicii.

Nivel de serviciu: cozi

Pictogramă lupă mgx2.svg Același subiect în detaliu: teoria cozii .

Când prea mulți clienți accesează un serviciu, se poate întâmpla ca coada să devină inacceptabilă. În acest caz vorbim de supraaglomerare. Managerul trebuie să ia măsuri pentru a programa solicitări sau pentru a crește resursele disponibile.

Calculul timpilor de așteptare și al nivelurilor de serviciu face obiectul studiilor matematice și al modelării computerizate, cum ar fi teoria cozilor .

Coada de solicitări generate de clienți poate fi umflată artificial pentru a refuza serviciul pentru clienții care o solicită cu adevărat. Acest lucru se întâmplă în cazul unui atac cibernetic Denial of Service (DOS) sau Distribuit Denial of Service (DDOS). În aceste atacuri, inamicul creează, angajează sau manipulează în mod neregulat un număr mare de clienți, care comandă o rată de cereri mult mai mare decât cea așteptată de serviciul atacat.

Exemple

Exemple de sisteme client / server :

Implementări

Arhitectură de rețea stratificată

Pictogramă lupă mgx2.svg Același subiect în detaliu: Arhitectura rețelei .

Fiecare protocol reglementează în mod normal doar o parte din aspectele unei comunicări. Diferitele protocoale sunt organizate cu o arhitectură de sistem sau de rețea numită „straturi” în care se folosește un protocol specific în fiecare strat.

Împărțirea pe niveluri se face astfel încât fiecare nivel să utilizeze serviciile oferite de nivelul inferior și să ofere servicii „mai bogate” la nivelul superior. Diferitele straturi dintr-o gazdă comunică între ele prin interfețe. Fiecare nivel vorbește doar cu cel imediat superior și cel imediat inferior. Protocoalele, pe de altă parte, reglementează comunicarea între două entități de același nivel, care servește la furnizarea de servicii la nivelul superior.

Diferitele niveluri sunt organizate în stive de protocol ( protocol stack ). Stivele de protocol sunt un mod flexibil de a combina componente pentru a realiza un serviciu.

Un exemplu real de organizație la nivel de protocol, clasic în discuțiile referitoare la rețelele de calculatoare, este cel al traseului unei valize într-o călătorie aeriană începând de la casa de origine până la hotelul de destinație. Primul nivel pe care îl observăm este cel al pregătirii valizei: turistul ia hainele și le pune la loc și apoi le închide, modul în care se face acest lucru este definit de protocolul primului nivel 1º. Nivelul 2 este cel al însoțitorului de valize de la aeroportul de plecare, turistul îi înmânează valiza (trecerea de la primul la al doilea nivel), iar însoțitorul atașează informațiile referitoare la zbor și destinație la valiză. Aici observăm aspectul fundamental al organizării la niveluri de protocol, adică pentru grefier nu este necesar să știe cum au fost așezate hainele în valiză, nu este, de asemenea, necesar ca turistul să cunoască operațiunile pe care grefierul trebuie să le efectueze. afară, de fapt, turistul va obține ceea ce dorește (să aibă hainele îmbrăcate la hotelul de sosire) fără ca acesta să afecteze deloc modul în care trebuie să funcționeze celelalte protocoale, atâta timp cât o fac corect.

Structura servește pentru îndeplinirea unor sarcini:

Această arhitectură are avantaje conceptuale și structurale, chiar dacă unii s-au opus puternic, deoarece un strat gros duplică funcționalitatea unui alt strat într-o manieră repetitivă.

De exemplu, serviciul ADSL este furnizat în moduri diferite, cele mai frecvente se numesc PPP peste ATM (adică protocolul Point to Point utilizează serviciile furnizate de protocolul ATM) și PPP prin Ethernet .

Cel mai mic nivel se numește „ nivel fizic ” și se ocupă de gestionarea transmiterii semnalelor prin mediul de transmisie ( cablu , fibră optică , infraroșu etc.). Cel mai înalt nivel se numește „ nivelul aplicației ” și este cel care permite utilizatorului să creeze mesajul pentru a comunica.

Împărțirea pe niveluri este destul de strictă la nivelul specificațiilor protocolului, în timp ce în implementare de multe ori niveluri diferite sunt implementate împreună în același modul software.

Două mașini comunicante nu pot utiliza aceeași stivă de protocol. De exemplu, dacă vă conectați la Internet printr-un modem, plasați stratul de rețea IP pe o conexiune PPP, în timp ce serverul la care vă conectați probabil acceptă rețeaua IP pe o conexiune Ethernet .

Într-o rețea de pachete, fiecare nivel al „stivei de protocol” adaugă un antet pachetelor, printr-o operație numită învăluire. Termenul se aplică și unor rețele cu comutare de circuit, cum ar fi SDH, unde plicul este un circuit dedicat transmiterii informațiilor de control.

Model OSI și model TCP / IP

Pictogramă lupă mgx2.svg Același subiect în detaliu: interconectare sisteme deschise , model OSI și Internet Protocol Suite .

Organizația Internațională pentru Standardizare ( ISO ) din 1979 a ajustat standardul de interconectare a sistemelor deschise (OSI), cu intenția de a crea un model de referință pentru telecomunicații care să fie utilizat în rețelele din întreaga lume. Cu toate acestea, în practică, standardul de facto care este utilizat în mod obișnuit în majoritatea rețelelor este TCP / IP , definit în RFC 1155 de IETF . Diferențele fundamentale dintre cele două standarde sunt simple: primul a fost definit la masă de o organizație super partes, în timp ce al doilea este munca celor care au construit fizic primele rețele, dezvoltându-le pe teren. Mai mult, standardul ISO / OSI atribuie o anumită sarcină fiecărui nivel, în timp ce TCP / IP este mai „elastic” și permite dezvoltarea de protocoale care efectuează mai multe sarcini de bază.

Sistem client / server pe un sistem local

Aproape toate sistemele de operare utilizează mecanisme bazate pe modelul client-server pentru funcționarea diferitelor procese . Nucleul în sine acționează ca un server atunci când gestionează apelurile către primitive de sistem din procesele care rulează.

Mai general, într-un sistem de operare, pentru unele tipuri de servicii, procesele server sunt furnizate în mod expres, singurele capabile să efectueze o anumită operație. Adesea aceste procese au acces exclusiv la o resursă și trebuie, de fapt, să servească solicitările proceselor clientului.

De exemplu, în sistemele Windows există un spooler , singurul proces din întregul sistem care poate utiliza imprimanta . Pentru a imprima, un proces nu trebuie să se interfețe cu driverul de imprimantă (și să execute secvența achiziționării-utilizării-eliberării driverului virtualizat), ci trebuie să trimită datele sale, prin serviciile oferite de sistem, procesului spooler, care, între celălalt, programează documentele care urmează să fie tipărite. Odată ce datele sunt trimise către spooler, procesul nu va ști că imprimarea este făcută, ci că va fi sigur (cu excepția cazului în care există o problemă). Având acces exclusiv la toate imprimantele de sistem, driverul imprimantei nu are proceduri de achiziție și eliberare.

Notă

  1. ^ (EN) Definiție client / server , pe linfo.org. Adus la 13 mai 2012 .
  2. ^ (RO) Bradley Mitchell, Introducere în rețelele de server client pe compnetworking.about.com, about.com. Adus la 13 mai 2012 .

Elemente conexe

Alte proiecte

linkuri externe

Controlul autorității Tezaur BNCF 3308
Telematică Portal telematic : accesați intrări Wikipedia care vorbesc despre rețele, telecomunicații și protocoale de rețea