Software de server ( server , server englezesc de la a servi - a servi; serverele plural, serverele sunt, de asemenea, folosite în limbajul colocvial) - în tehnologia informației - o componentă software a unui sistem de calcul care îndeplinește funcții de serviciu (serviciu) la cererea clientului , oferindu-i acces la anumite resurse sau servicii.
Conceptele de server și client și rolurile atribuite acestora formează conceptul software de „ client-server ”.
Pentru a interacționa cu clientul (sau clienții, dacă se acceptă lucrul simultan cu mai mulți clienți), serverul alocă resursele necesare de comunicare între procese ( memorie partajată , conductă , socket etc.) și așteaptă cererile de deschidere a unei conexiuni (sau, în de fapt, cereri pentru serviciul furnizat). În funcție de tipul unei astfel de resurse, serverul poate servi procese în cadrul aceluiași sistem informatic sau procese pe alte mașini prin canale de date (de exemplu, portul COM ) sau conexiuni de rețea.
Formatul cererilor clientului și al răspunsurilor serverului este definit de protocol . Specificațiile protocolului deschis sunt descrise de standarde deschise, de exemplu, protocoalele Internet sunt definite în documentele RFC .
În funcție de sarcinile efectuate, unele servere, în absența solicitărilor de servicii, pot fi inactive în așteptare. Alții pot lucra (de exemplu, colectarea de informații), pentru astfel de servere, lucrul cu clienții poate fi o sarcină secundară.
Cuvântul „server” are o altă semnificație - un computer care îndeplinește sarcini de server, sau un computer (sau alt hardware) specializat (prin factor de formă și/sau resurse) pentru a fi folosit ca bază hardware pentru serverele de servicii (uneori - servicii ale unui anumit direcție), partajarea resurselor computerului cu programele rulate de utilizator. Acest mod de operare se numește „nededicat”, spre deosebire de „dedicat” ( ing. dedicat ), când computerul îndeplinește doar funcții de service. Strict vorbind, mai multe servere rulează întotdeauna pe o stație de lucru (de exemplu, sub Windows XP) - un server de acces la distanță (server terminal), un server de acces la distanță pentru sistemul de fișiere și sistemul de imprimare și alte servere la distanță și interne.
De regulă, fiecare server servește unul sau mai multe protocoale similare. Serverele pot fi clasificate în funcție de tipul de serviciu pe care îl oferă. [unu]
Serverele universale sunt un tip special de program de server care nu oferă niciun serviciu pe cont propriu. În schimb, serverele generice oferă serverelor de servicii o interfață simplificată pentru resursele IPC și/sau acces unificat pentru clienți la diverse servicii. Există mai multe tipuri de astfel de servere:
Serverele generice sunt adesea folosite pentru a scrie tot felul de servere de informații - servere care nu au nevoie de o rețea specifică și nu au altă sarcină decât deservirea clienților. De exemplu, programele și scripturile obișnuite ale consolei pot acționa ca servere pentru inetd .
Majoritatea serverelor Windows interne și specifice rețelei rulează prin servere generice (RPC, (D-)COM).
Strict vorbind, un server de rutare nu este un server în sensul clasic, ci este o funcție de bază de suport de rețea a sistemului de operare.
Pentru TCP/IP , rutarea este o funcție de bază a stivei IP (codul de suport TCP/IP). Orice sistem din rețea își direcționează propriile pachete către destinație, dar numai routerele (cunoscute și ca routere sau gateway-uri) efectuează redirecționarea pachetelor altor persoane. Sarcinile routerului la redirecționarea pachetului:
Soluțiile de rutare dinamică sunt concepute pentru a colecta informații despre starea curentă a unei rețele complexe și pentru a menține un tabel de rute prin această rețea pentru a se asigura că un pachet este livrat de-a lungul celei mai scurte și eficiente rute.
Dintre aceste soluții, numai BGP ( B order G ateway Protocol - Border Gateway Protocol), utilizat pentru rutarea globală, utilizează modelul client-server . Soluțiile locale ( RIP OSPF ) folosesc mailinguri de difuzare și multicast în activitatea lor.
Serviciile de rețea asigură funcționalitatea rețelei; de exemplu, serverele DHCP și BOOTP asigură inițializarea serverelor și stațiilor de lucru, DNS - traducerea numelor în adrese și invers.
Serverele de tunel (de exemplu, diverse servere VPN) și serverele proxy asigură comunicarea cu o rețea care nu este accesibilă prin rutare.
Serverele AAA și Radius oferă o singură autentificare în rețea, autorizare și înregistrare a accesului.
Serviciile de informare includ atât cele mai simple servere care raportează informații despre gazdă (ora, zi, motd) și utilizatori (finger, ident ), cât și servere de monitorizare, cum ar fi SNMP . Majoritatea serviciilor de informare operează prin servere universale.
Un tip special de servicii de informare sunt serverele de sincronizare a timpului - NTP . Pe lângă faptul că informează clientul despre ora exactă, serverul NTP interogează periodic mai multe alte servere pentru a-și corecta propriul timp. Pe lângă timp, viteza ceasului sistemului este analizată și corectată. Corectarea timpului se realizează prin accelerarea sau încetinirea ceasului sistemului (în funcție de direcția corecției) pentru a evita problemele care pot apărea la o simplă permutare a timpului.
Serverele de fișiere sunt servere pentru a oferi acces la fișierele de pe un disc de server.
În primul rând, acestea sunt servere de transfer de fișiere la comandă, prin protocoale FTP , TFTP , SFTP și HTTP . Protocolul HTTP este axat pe transferul de fișiere text, dar serverele pot oferi și date arbitrare ca fișiere solicitate, cum ar fi pagini web create dinamic, imagini, muzică etc.
Alte servere vă permit să montați partiții de disc de server în spațiul de disc al clientului și să lucrați complet cu fișierele de pe ele. Serverele de protocol NFS și SMB permit acest lucru . Serverele NFS și SMB funcționează prin interfața RPC .
Dezavantajele unui sistem server de fișiere:
Serverele de acces la date întrețin baza de date și returnează datele la cerere. Unul dintre cele mai simple servicii de acest tip este LDAP ( Lightweight Directory Access Protocol ) .
Nu există un protocol unic pentru accesarea serverelor de baze de date , cu toate acestea, o serie de baze de date sunt unite prin utilizarea regulilor uniforme de generare a interogărilor - limbajul SQL ( Structured Query Language ) . Alături de ei, există și altele - baze de date NoSQL .
Serverele media oferă rețelei acces la surse multimedia, de la audio/video la cerere (care apropie serverele media de serverele de fișiere) până la streaming audio/video în timp real.
Telefonie VoIP / IPServere de telefonie IP (VoIP) - comutatoare software (comutatoare software) , PBX-uri IP , PBX virtuale și servere de videoconferință , precum și servere specializate de servicii de internet (cum ar fi Skype ) oferă utilizatorilor capabilități de comunicare vocală și video în timp real printr-un computer retelelor. Pe lângă transmiterea efectivă a datelor media în flux (audio și video), serverul de telefonie IP, ca un PBX clasic , implementează capacitatea de a înregistra un terminal final, de direcționare a apelurilor și de stabilire corectă a conexiunii între utilizatori și, adesea, și alte tipuri de servicii .
În unele cazuri, în funcție de tehnologia implementată și de setările administrative, serverul VoIP poate oferi doar control - înregistrarea utilizatorului în rețea și comutarea apelurilor primite, fără participarea directă la transferul de date media între terminalele client. În acest caz, datele de încărcare utilă în flux sunt transmise direct între utilizatorii finali ( peer-to-peer ) și/sau unele dispozitive intermediare, aplicații. Se știe că această opțiune de comunicare directă cu control prin server este folosită în Skype , Viber , Telegram și WhatsApp . De asemenea, acest mod este adesea folosit în IP-PBX-urile corporative.
Ca terminale client la serverul VoIP, pot acționa telefoanele VoIP , telefoanele video , telefoanele software (softphones) , precum și telefoanele analogice convenționale conectate printr-un gateway VoIP . Serverul de telefonie IP poate funcționa ca un dispozitiv de sine stătător pentru a asigura comunicarea între utilizatorii interni sau poate fi conectat la orice rețea terță parte , inclusiv rețeaua publică de telefonie , prin Internet sau prin rețeaua operatorului de telefonie .
Serviciile de mesagerie permit utilizatorului să trimită și să primească mesaje (de obicei mesaje text).
În primul rând, acestea sunt servere de e-mail care operează sub protocolul SMTP . Serverul SMTP primește mesajul și îl livrează în căsuța poștală locală a utilizatorului sau către alt server SMTP (server de destinație sau intermediar). Pe computerele cu mai mulți utilizatori, utilizatorii lucrează cu e-mail direct pe terminal (sau în interfața web). Pentru a lucra cu e-mailul pe un computer personal, e-mailul este colectat din cutia poștală prin servere care funcționează pe protocoalele POP3 sau IMAP .
Pentru a organiza conferințe, există servere de știri care funcționează prin protocolul NNTP .
Există servere de chat pentru mesagerie în timp real . Există un număr mare de protocoale de chat, cum ar fi IRC , Jabber și OSCAR .
Serverele de acces la distanță, prin programul client corespunzător, oferă utilizatorului un analog al unui terminal local (text sau grafic) pentru lucrul pe un sistem de la distanță.
Serverele telnet , RSH și SSH oferă acces la linia de comandă .
Interfața grafică pentru sistemele Unix - sistemul X Window - are un server de acces la distanță încorporat, deoarece a fost dezvoltat inițial cu această capacitate. Uneori, capacitatea de a accesa de la distanță interfața X-Window este denumită incorect „X-Server” (acest termen în X-Window este numit driver video).
Serverul standard pentru accesul de la distanță la GUI Microsoft Windows se numește server terminal .
Un fel de management (mai precis, monitorizare și configurare) este asigurat și de protocolul SNMP. Pentru aceasta, computerul sau dispozitivul hardware trebuie să aibă un server SNMP.
Servere care furnizează servicii aplicate rețelei (inclusiv de calcul).
Servere de jocuriServerele de joc servesc pentru jocul simultan al mai multor utilizatori într-o singură situație de joc. Unele jocuri au un server în distribuția principală și vă permit să îl rulați într-un mod nededicat (adică vă permit să jucați pe mașina pe care rulează serverul).
Serverele de imprimare permit utilizatorilor din rețea să partajeze o imprimantă partajată.
Fax Server permite utilizatorilor din rețea să trimită mesaje fax .
Soluțiile server sunt sisteme de operare și/sau pachete software optimizate pentru performanța funcțiilor serverului de către un computer și/sau care conțin un set de programe pentru implementarea unui set tipic de servicii.
Ca exemplu de soluții de server, putem cita sisteme Unix care au fost concepute inițial pentru a implementa o infrastructură de server.
De asemenea, este necesar să se separe pachetele de servere și programele aferente (de exemplu, un server web / kit PHP / MySQL pentru implementarea rapidă a găzduirii) pentru instalare sub Windows (Unix se caracterizează prin instalarea modulară sau „ambalată” a fiecărei componente, astfel încât astfel de soluții sunt rare , dar ele există (cea mai cunoscută fiind LAMP).
În soluțiile de server integrate, toate componentele sunt instalate în același timp, toate componentele sunt mai mult sau mai puțin strâns integrate și preconfigurate între ele. Totuși, în acest caz, înlocuirea unuia dintre servere sau aplicații secundare (dacă capabilitățile lor nu satisfac nevoile) poate fi o problemă.
Soluțiile server servesc la simplificarea organizării infrastructurii IT de bază a companiilor, adică pentru a construi rapid o rețea cu drepturi depline într-o companie, inclusiv de la zero. Compilarea aplicațiilor de server individuale într-o soluție implică faptul că soluția este concepută pentru a îndeplini cele mai comune sarcini; în același timp, complexitatea implementării și costul total de proprietate al unei infrastructuri IT construite pe astfel de soluții sunt reduse semnificativ.