Sistema client / servidor

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
Esquema de la comunicació entre client i servidor a través d' Internet

En informàtica, el terme sistema client-servidor (literalment " client-servient") indica una " arquitectura de xarxa en què generalment un client o terminal d' ordinador està connectat a un servidor per a l'ús d'un determinat servei, com ara compartir un determinat recurs de maquinari / programari amb altres clients, basant-se en l'arquitectura de protocol subjacent.

De manera més senzilla, els sistemes client / servidor són una evolució de sistemes basada en la compartició simple de recursos : la presència d’un servidor permet que un nombre determinat de clients comparteixin els seus recursos, deixant al servidor gestionar l’accés als recursos per evitar conflictes d’ús típics. dels primers sistemes informàtics . [1] [2] Les xarxes locals (LAN) de la companyia, Internet , els sistemes informàtics i els sistemes operatius s’organitzen en forma d’arquitectura típica client-servidor per a l’ús dels serveis respectius.

Descripció

Client

Icona de la lupa mgx2.svg El mateix tema en detall: Client .

El programari client sol tenir una complexitat limitada, normalment limitat a funcionar com a interfície del servidor . En general, en el camp de TI, el terme client indica un component que accedeix als serveis o recursos d’un altre component, anomenat servidor . En aquest context, per tant, podem parlar de clients que es refereixen a maquinari o programari .

Un ordinador connectat a un servidor mitjançant una xarxa local o geogràfica i al qual sol·licita un o més serveis mitjançant un o més protocols de xarxa és un exemple de client de maquinari. Un programa de correu electrònic és un exemple de client de programari. Cada vegada hi ha més programari, com ara el web , el correu electrònic , les bases de dades , que es divideixen en una part del client (residència i execució al PC client ) i una part del servidor (residència i execució al servidor ).

El terme client també fa referència al programari utilitzat a l’ordinador client per accedir a la funcionalitat que ofereix el servidor . Per exemple, a la web el programari client és el navegador web i parla amb un servidor web mitjançant el protocol HTTP ; per al correu electrònic, el client s’anomena agent d’usuari de correu o MUA (per exemple, Outlook , Mozilla Thunderbird , Eudora , ...) i parla amb el servidor ( Agent de transferència de correu o MTA ) a través del protocol SMTP i POP o IMAP ; el client per consultar o modificar la base de dades (sovint formada per biblioteques de programari utilitzades per una aplicació ) parla amb el SGBD , que gestiona la base de dades i respon a les consultes del client .

Servidor

Icona de la lupa mgx2.svg El mateix tema en detall: Servidor .

El programari de servidor , a més de la gestió lògica del sistema, ha d’implementar totes les tècniques de gestió d’accessos, assignació i alliberament de recursos, compartició i seguretat de dades o recursos.

Per exemple, un servidor de correu és comparable a qualsevol oficina de correus. Els usuaris per accedir a la seva bústia de correu mitjançant el client han d’haver estat autoritzats. De la mateixa manera, un usuari ha de tenir la clau de la bústia situada en una oficina de correus des de la qual vol recollir correspondència.

Arquitectura de diversos nivells

Icona de la lupa mgx2.svg El mateix tema en detall: arquitectura de diversos nivells .
Esquema de la comunicació entre client i servidor

Quan un equip client es connecta directament a un sistema de base de dades o a un servidor d’aplicacions estàndard, s’anomena arquitectura de dos nivells .

Recentment, és més comú que els equips client , anomenats clients prims que no incorporen lògica empresarial , sinó només elements d’interfície, es connectin a una aplicació de servidor que implementa una lògica empresarial en la qual es comunica transitòriament (és a dir, posteriorment) amb la base de dades del servidor , que emmagatzema les dades utilitzades per l’aplicació. Aquesta arquitectura s’anomena arquitectura de 3 nivells .

En general, les arquitectures de nivell n-poden emprar una sèrie de serveis diferents, incloent les relacions transitives entre els servidors d'aplicacions que implementen diferents funcions de lògica de negocis, cadascuna de les quals poden o no emprar un sistema de base de dades compartida o diferent.

Connexió

Icona de la lupa mgx2.svg El mateix tema en detall: commutació de paquets .

Els clients i el servidor es connecten mitjançant un protocol de comunicació a través d’una xarxa de comunicació . El protocol pot estar en text clar o, en alguns casos, xifrat .

En el camp de les telecomunicacions , dues o més màquines o hosts ( ordinador , telèfon , impressora , etc.) es poden comunicar respectant els estàndards que s’anomenen protocols de xarxa. L’adhesió als protocols garanteix que dues màquines puguin comunicar-se correctament, fins i tot si s’han construït de forma independent.

Servei amb i sense connexió

Quan un client i un servidor comencen a comunicar-se, poden intercanviar paquets de control abans d’enviar les dades reals / reals ( comunicació orientada a la connexió ).

Aquests procediments, anomenats handshake , preparen els dos components per a la comunicació. Aquests procediments són la base, per exemple, de TCP . Tanmateix, també pot haver-hi serveis que envien dades directament sense connexió ni comentaris, com en el cas d’ UDP .

Tanmateix, la majoria d’aplicacions han d’enviar dades de manera segura i fiable, de manera que el handshaking ho fa exactament. Per tant, s’entén com la connexió a través de TCP, per exemple, és més segura, però també més lenta perquè intercanvia no només dades reals, sinó també dades de servei.

Nivell de servei: cues

Icona de la lupa mgx2.svg El mateix tema en detall: teoria de cues .

Quan hi ha massa clients que accedeixen a un servei, pot passar que la cua sigui inacceptable. En aquest cas parlem de massificació. El gestor ha de prendre mesures per programar les sol·licituds o augmentar els recursos disponibles.

El càlcul dels temps d’espera i dels nivells de servei és objecte d’estudis matemàtics i modelització per ordinador, com ara la teoria de les cues .

La cua de sol·licituds generades pels clients es pot inflar artificialment per denegar el servei als clients que realment ho sol·liciten. Això passa en el cas d’un atac cibernètic de denegació de servei (DOS) o de denegació de servei distribuït (DDOS). En aquests atacs, l'enemic crea, contracta o manipula de manera irregular un gran nombre de clients, que manen una taxa de sol·licituds molt superior a l'esperada pel servei atacat.

Exemples

Exemples de sistemes client / servidor :

Implementacions

Arquitectura de xarxa en capes

Icona de la lupa mgx2.svg El mateix tema en detall: Arquitectura de xarxes .

Normalment, cada protocol regula només una part dels aspectes d'una comunicació. Els diferents protocols s'organitzen amb una arquitectura de sistema o xarxa anomenada "capes" on s'utilitza un protocol específic a cada capa.

La divisió en nivells es fa de manera que cada nivell utilitza els serveis que ofereix el nivell inferior i proporciona serveis "més rics" al nivell superior. Les diferents capes d’un amfitrió es comuniquen entre elles mitjançant interfícies. Cada nivell parla només amb el immediatament superior i el immediatament inferior. Els protocols, d'altra banda, regulen la comunicació entre dues entitats del mateix nivell, que serveix per proporcionar serveis al nivell superior.

Els diversos nivells s’organitzen en piles de protocols ( protocol stack ). Les piles de protocols són una manera flexible de combinar components per fer un servei.

Un exemple real d’organització a nivell de protocol, clàssic en les discussions sobre xarxes d’ordinadors, és el camí d’una maleta en un viatge aeri des de la casa d’origen fins a l’hotel de destinació. El primer nivell que observem és el de la preparació de la maleta: el turista agafa la roba i la guarda i després la tanca, el protocol del primer nivell 1 defineix com es fa. El nivell 2 és el de l’acompanyant de maleta a l’aeroport de sortida, el turista li lliura la maleta (pas del primer al segon nivell) i l’acompanyant adjunta la informació relativa al vol i la destinació a la maleta. Aquí observem l’aspecte fonamental de l’organització a nivells de protocol, és a dir, per al secretari no cal saber com es col·locava la roba a la maleta, tampoc no és necessari que el turista conegui les operacions que ha de portar el secretari de fet, el turista obtindrà el que vulgui (tenir la roba posada a l’hotel d’arribada) sense que això afecti en absolut el funcionament dels altres protocols, sempre que ho facin correctament.

L’estructura serveix per complir algunes tasques:

Aquesta arquitectura té avantatges conceptuals i estructurals, fins i tot si alguns s’hi han oposat amb força, ja que una capa gruixuda duplica la funcionalitat d’una altra capa de manera repetitiva.

Per exemple, el servei ADSL es proporciona de diferents maneres, les més comunes s’anomenen PPP sobre ATM (és a dir, el protocol punt a punt utilitza els serveis proporcionats pel protocol ATM) i PPP sobre Ethernet .

El nivell més baix s’anomena “ nivell físic ” i s’ocupa de gestionar la transmissió de senyals a través del mitjà de transmissió ( cable , fibra òptica , infrarojos , etc.). El nivell més alt s’anomena “ nivell d’aplicació ” i és el que permet a l’usuari crear el missatge per comunicar-se.

La divisió en nivells és bastant estricta a nivell d’especificació de protocols, mentre que en la implementació sovint s’implementen diferents nivells junts en el mateix mòdul de programari.

És possible que dues màquines comunicants no utilitzin la mateixa pila de protocols. Per exemple, si us connecteu a Internet mitjançant un mòdem , col·loqueu la capa de xarxa IP en una connexió PPP, mentre que el servidor al qual us connecteu probablement admet la xarxa IP en una connexió Ethernet .

En una xarxa de paquets, cada nivell de la "pila de protocols" afegeix una capçalera als paquets, mitjançant una operació anomenada envoltant. El terme també s'aplica a algunes xarxes de commutació de circuits, com SDH, on l'embolcall és un circuit dedicat a transmetre informació de control.

Model OSI i model TCP / IP

Icona de la lupa mgx2.svg El mateix tema en detall: Interconnexió de sistemes oberts , model OSI i suite de protocols d’Internet .

L' Organització Internacional per a l'Estandardització ( ISO ) el 1979 ha ajustat l' estàndard d'interconnexió de sistemes oberts (OSI), amb la intenció de crear un model de referència per a les telecomunicacions que s'utilitzarà a les xarxes de tot el món. A la pràctica, però, l’ estàndard de facto que s’utilitza habitualment a la majoria de xarxes és TCP / IP , definit en RFC 1155 per la IETF . Les diferències fonamentals entre els dos estàndards són senzilles: el primer va ser definit a taula per una organització super partes, mentre que el segon és el treball dels que van construir físicament les primeres xarxes, desenvolupant-les en el terreny. A més, l'estàndard ISO / OSI assigna una tasca determinada a cada nivell, mentre que TCP / IP és més "elàstic" i permet el desenvolupament de protocols que realitzen més d'una tasca bàsica.

Sistema client / servidor en un sistema local

Gairebé tots els sistemes operatius utilitzen mecanismes basats en el model client-servidor per al funcionament dels diferents processos . El nucli actua com a servidor quan tracta les trucades a primitives del sistema a partir de processos en execució.

Més generalment en un sistema operatiu, per a alguns tipus de serveis, es proporcionen expressament processos de servidor , els únics capaços de realitzar una determinada operació. Sovint, aquests processos tenen accés exclusiu a un recurs i, de fet, han de servir les peticions dels processos del client.

Per exemple, en els sistemes Windows hi ha un spooler , l’únic procés de tot el sistema que pot utilitzar la impressora . Per imprimir, un procés no ha de relacionar-se amb el controlador de la impressora (i executar la seqüència de l' adquisició-ús-alliberament del controlador virtualitzat), sinó que ha d'enviar les seves dades, mitjançant els serveis que ofereix el sistema, al procés de cola, que, entre l'altre, programa els documents que s'han d'imprimir. Una vegada que les dades s’envien al spooler, el procés no sabrà que la impressió està feta, sinó que segur que sí (tret que hi hagi un problema). Amb un accés exclusiu a totes les impressores del sistema, el controlador de la impressora no té procediments d'adquisició i de llançament.

Nota

  1. ^ (EN) Definició de client / servidor , a linfo.org. Consultat el 13 de maig de 2012 .
  2. ^ (EN) Bradley Mitchell, Introducció a les xarxes de servidors de clients a compnetworking.about.com, about.com. Consultat el 13 de maig de 2012 .

Articles relacionats

Altres projectes

Enllaços externs

Control de l'autoritat Thesaurus BNCF 3308
Telemàtica Portal telemàtic : accediu a les entrades de Wikipedia que parlen de xarxes, telecomunicacions i protocols de xarxa