Server

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
O pereche de servere într-un dulap rack

Un server (din engleză (la) servește „a servi”, deci literalmente „servitor, servitor”) [1] în tehnologia informației și telecomunicații este o componentă sau subsistem de calculator pentru procesarea și gestionarea traficului de informații care furnizează, la un logic și fizic, orice tip de serviciu către alte componente (denumite de obicei clienți , adică clienți ) care îl solicită printr-o rețea de calculatoare , în cadrul unui sistem de calcul sau chiar direct local pe un computer .

Descriere

Arhitectura client-server

Adică reprezintă un nod terminal al rețelei opuse gazdei clientului. Cu alte cuvinte, este un computer sau un program care furnizează datele solicitate de alte computere, acționând astfel ca o gazdă pentru transmiterea informațiilor virtuale. Prin urmare, termenul de server , precum și termenul de client , se pot referi atât la componenta hardware , cât și la componenta software care furnizează funcționalitățile sau serviciile de mai sus. De asemenea, se spune că mașina hardware a serverului este capabilă să ofere resurse în termeni de servicii clientului care le solicită / solicită. Prin urmare, face parte din arhitectura de rețea logică la nivel de aplicație numită client-server . [2] [3]

În funcție de context, termenul „server” poate însemna, prin urmare:

  1. un computer „obișnuit” folosit pentru a furniza servicii altor computere, indiferent de caracteristicile sale hardware.
  2. un computer specific aparținând segmentului de piață dedicat utilizării ca server, caracterizat prin fiabilitate ridicată, performanță mai mare și funcții suplimentare.
  3. un proces (adică un program care rulează) care oferă servicii altor procese (de exemplu, Web Server ).

În general, prin urmare, avem tendința de a indica ca server componenta hardware care printr-un anumit software furnizează un serviciu și clientul componenta hardware cu un software relativ care îl folosește la cererea utilizatorului. Pe de altă parte, ar fi mai bine să ne gândim mai mult în termeni abstracte (un „serviciu server”), dat fiind că tot mai multe servere, înțelese în sensul de calcul al termenului, sunt mașini virtuale grație virtualizării și nu computerelor fizice.

Caracteristici

De obicei, o mașină hardware pentru server poate găzdui unul sau mai multe servicii sau poate implementa logic unul sau mai multe servere. Fiecare server poate fi de tipul:

  • iterativ , care este capabil să accepte și să satisfacă secvențial o singură cerere de serviciu la un moment dat de către clienții cu o procedură tipică de așteptare a cozii pentru procesele care trebuie gestionate (caz de câțiva clienți: situație la începutul rețelei de Internet );
  • simultan , adică capabil să satisfacă mai multe cereri de servicii de la mai mulți clienți prin proceduri tipice de multi-threading și gestionarea resurselor hardware / software ale mașinii (situație care a devenit acum obișnuită pe Internet).

Arhitectură client-server sau N-tier

Pictogramă lupă mgx2.svg Același subiect în detaliu: Sistemul client / server și arhitectura pe mai multe niveluri .

Complexul logic format din unul sau mai multe servere și, de obicei, mai mulți clienți este numit modelul client-server tipic pentru Internet și sistemele IT corporative. În ultimii ani s-a extins la interacțiunea dintre mai multe mașini sau servicii eterogene și, în acest caz, vorbim de Arhitectură cu 3 niveluri (sau mai general la N-nivel ).

Serverul primește cereri de servicii de la clienți și le returnează răspunsul cu rezultatele după ce a efectuat procesarea relevantă. Acest lucru are avantajul fără îndoială de a concentra pe o singură mașină centrală toate resursele principale de procesare , software, întreținere , informații critice sau sensibile , măsurile de asigurare a fiabilității (cum ar fi copiile de rezervă ); Dimpotrivă, clienții pot fi, în general, și mașini cu resurse și fiabilitate mai mici, care au singura sarcină de a interacționa cu utilizatorul și care nu conțin informații critice sau sensibile.

Trebuie remarcat faptul că, din punct de vedere software, un computer nu este niciodată pur un server, întrucât, pe lângă furnizarea de servicii către alții, se bazează de obicei pe servicii furnizate de terți și, prin urmare, este atât server, cât și client în același timp. De exemplu, un server de e-mail se bazează pe alte servere (de exemplu, servere DNS ) pentru a obține informații despre rețea și, prin urmare, este simultan atât un server de e-mail, cât și un client pentru alte servicii legate de gestionarea rețelei.

Când, pe de altă parte, nu suntem în această situație, adică fiecare terminal de rețea se află într-o ierarhie egală cu celelalte, vorbim despre un model de rețea peer-to-peer sau o arhitectură.

De obicei, mai multe servere diferite pot locui, de asemenea, pe aceeași mașină hardware, cu economii la costurile totale, după dimensionarea corespunzătoare pentru a satisface cerințele mai mari ale clienților, la prețul unei vulnerabilități mai mari datorită centralizării resurselor. Din punct de vedere hardware, serverele pot locui pe un computer normal sau pe mașini hardware dedicate cu performanțe, fiabilitate și costuri mai ridicate. În rețelele LAN corporative, serverele sunt adesea situate pe un segment de rețea cunoscut sub numele de DMZ .

Operațiune

Diagrama de operare client-server
Pictogramă lupă mgx2.svg Același subiect în detaliu: trafic (telecomunicații) și teoria Queuing .

Serverele oferă servicii clientului în mod obișnuit în modul de solicitare / răspuns care funcționează la nivelul aplicației modelului ISO / OSI și modelului TCP / IP (precum și clienților) conform dictatelor protocolului de rețea special care reglementează funcționarea acestuia pentru executarea serviciului către client. Prin urmare, se bazează pe straturile de protocol inferioare ale stivei de rețea, în special pe protocoalele de straturi de transport precum TCP și UDP și pe stratul de rețea ( IP ) pentru rutare .

De obicei, finalizarea serviciului pentru client este precedată de o fază de definire a unui socket (pereche adresă IP / port ) și stabilirea ulterioară a conexiunii cu serverul prin TCP sau UDP, serverul având o adresă IP statică datorată la legături intrinseci cu numele domeniului (care este inevitabil fixat) prin DNS . Porturile dedicate serverelor sunt de obicei cunoscute și porturi statice ( porturi bine cunoscute ), în funcție de serviciul special efectuat.

Crearea aplicațiilor de rețea, în ceea ce privește conexiunea , intră în sfera așa-numitei programări de socket . De obicei, această zonă de programare utilizează apeluri de sistem adecvate sau socket-uri API către server și sistemul de operare client pentru a crea conexiunea fiabilă atât în ​​modul iterativ, cât și în modul concurent, gestionând, de asemenea, toate erorile sau excepțiile posibile.

Cluster

Pictogramă lupă mgx2.svg Același subiect în detaliu: computerele cluster .
Exemplu de computer cluster

Dacă solicitarea este prea mare pentru un singur server sau dacă sunt necesare niveluri ridicate de fiabilitate , mai multe servere pot partaja sarcina de a furniza un serviciu sau un grup de servicii. În acest caz, se spune că serverele formează o singură resursă de calcul definită ca un server cluster , care poate continua să funcționeze chiar dacă un anumit număr de mașini componente sunt luate offline, chiar dacă, evident, resursa suferă o degradare generală a performanței. Acest lucru necesită ca acestea să aibă un sistem de operare adecvat și / sau conectate prin configurații specifice de rețea.

Proiectare și management

Pictogramă lupă mgx2.svg Același subiect în detaliu: Planificarea capacității .

De obicei, serverele din medii distribuite , cum ar fi sistemele de calculatoare și rețelele de calculatoare, sunt gestionate de administratori de sistem la distanță ( gestionare de la distanță ) prin conexiuni de la distanță realizate prin diferite aplicații dedicate posibile ( Virtual Network Computing ).

În arhitecturi complexe (de rețea) formate din sisteme și aplicații diferite, bazate pe tehnologii și platforme distincte, sunt adesea utilizate produse software specifice (extrem de complexe) care se ocupă de integrarea între diferitele componente (locația fizică a mașinilor și a bazelor de date, aplicație complexitatea, articularea serviciilor de bază, instanțele software în mediile de producție, conexiunea - către utilizatori - a diverselor programe de management și productivitate, fluxuri de procese, resurse și informații etc.). Integrarea nu este doar „banală” de tip hardware (din acest motiv există deja consolidarea comună), ci și de sisteme / tehnologice [4] / tip de aplicație. Aceste produse de integrare arhitecturală sunt apanajul marilor jucători [5] , deși chiar și lumea open source începe să ofere unele soluții, poate potrivite pentru complexități mai mici.

Fiabilitate și siguranță

Pictogramă lupă mgx2.svg Același subiect în detaliu: fermă server și recuperare după dezastre .
Exemplu de server farm la CERN

Serverul este un element fundamental al infrastructurii IT din care face parte, deoarece defecțiunile sale afectează toți clienții care îl utilizează. Prin urmare, pentru servere, se adoptă măsuri pentru a asigura fiabilitate ridicată , care garantează continuitatea serviciului ( disponibilitate ) și robustețe față de erori, precum și securitate ridicată sau protecție împotriva atacurilor cibernetice:

Calculatoarele proiectate pentru a fi utilizate ca servere într-o cameră de servere medie spre mare sunt proiectate pentru a fi montate într-un dulap rack . Investițiile mai mari solicitate de aceste măsuri sunt motivate de importanța pe care o are funcționarea corectă a serverului pentru utilizatorii săi. Unul dintre cele mai tipice și simple atacuri cibernetice de implementat împotriva unui server este așa-numitul atac DoS , tipic pentru multe dispozitive de rețea .

Sisteme de operare server

Sesiunea Bash a unei interfețe text pe Linux

Sistemele de operare pentru server sunt multe, dar cele mai utilizate și cele mai cunoscute sunt în general:

Sistemele de operare server pot fi instalate direct pe hardware-ul mașinii sau virtualizate pe un hipervizor (de exemplu, o distribuție Linux pe VMware ESXi ) care vă permite să profitați de același server fizic pentru mai multe servere virtuale, optimizând gestionarea resurselor.

În mai multe cazuri, un sistem de operare poate acționa ca hipervizor și server în același timp, cum ar fi Windows Server cu Hyper-V care găzduiește alte sisteme Windows sau Solaris Logical Domains ( LDoms ).

În aplicații mai specifice, cum ar fi midrange și mainframe, este posibil să găsiți sisteme de operare mai specifice dedicate procesării unor volume mari de înregistrări și tranzacții: IBM AS / 400 , z / OS , z / TPF sau HP Integrity NonStop .

Tipuri și servicii de server

Una dintre cele mai frecvente greșeli este să ne gândim la server doar ca la o mașină specializată (fizică sau virtuală) echipată cu un sistem de operare adecvat scopului (adică edițiile de server Windows, Linux, Mac sau OS / 400). În realitate, marea majoritate a serverelor utilizate nu sunt nici mașini, nici sisteme de operare, ci servicii sau programe care îndeplinesc funcții specifice de sistem. În acest context, administratorul de sistem instalează și / sau configurează un „server” (de exemplu, serviciul DHCP care atribuie adrese IP automate resurselor de rețea) pe o mașină / sistem „server”.

Primul server web din istorie, NeXT Cube de la Tim Berners-Lee la CERN

Printre serviciile furnizate de obicei de un server sau de servere și care la rândul lor identifică diferitele tipuri, putem menționa:

Simbolul serverului de baze de date

Alte servere utilizate în mod obișnuit sunt serviciul automat de inventar al resurselor HD și SW sau cel care prezidează backupul .

Observații

În plus față de semnificația sa, adică cea descrisă în această intrare, termenul de server este uneori utilizat pe scară largă, dar necorespunzător, în special la locul de muncă de către experți non-IT; în aceste cazuri, „server” este rapid tot ce se află în interiorul unui cabinet de rețea sau în situații similare sau ne referim aproximativ la o gazdă .

În orice sistem de resurse computerizate trebuie de fapt să se facă distincția între cele 4 subsisteme tipice (adesea disjunite spațial) [6] :

  • prelucrare ( calcul );
  • arhivare ( depozitare );
  • conectivitate ( rețea );
  • senzori ( monitorizare ).

Doar partea de procesare corespunde în mod corespunzător unui server, de obicei virtualizat ca în cazul centrului de date [7] și, prin urmare, nici măcar prezent fizic în locul de utilizare a serviciului respectiv. Prin urmare, în multe cazuri (de exemplu, atunci când faceți referire la informații stocate și partajate "în rețea", adică nu "local" pe dispozitivul unui utilizator), ar trebui spus mai corect "pe stocare" și nu "pe server". Când vine vorba de aplicații web (livrate sau nu în cloud, în orice caz de la distanță), pentru care nici măcar nu trebuie să vă conectați prin VPN, ar trebui să le apelați pur și simplu după numele lor, evitând inexactități precum „Mă conectez la Server".

Notă

  1. ^ Vocea vocabularului online Treccani
  2. ^ (EN) Definiție server , pe linfo.org. Adus la 13 mai 2012 .
  3. ^ (RO) Bradley Mitchell, Servere de rețea - Ce este un server? , la compnetworking.about.com , about.com. Adus la 13 mai 2012 .
  4. ^ În sensul diferitelor sisteme de operare server. Ele pot avea impact atât la nivelul autobuzului, cât și la nivelul middleware - ului
  5. ^ De exemplu IBM.
  6. ^ De fapt, pentru profan, dacă ai folosi termenul generic „sistem”, aproape că nu te-ai înșela niciodată.
  7. ^ https://www.cwi.it/data-center

Elemente conexe

Alte proiecte

linkuri externe

Controlul autorității LCCN (EN) sh93000502 · GND (DE) 4209324-7