Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Modelul client-server
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 

Generalitaþi

Modelul standard pentru aplicaþii in reþea este client-server. Serverul este un proces aºteptand sa fie conectat de un proces client pentru a oferi diverse servicii (acces la resurse). Resursele pot fi fiºiere, structuri de date, informaþii diverse sau resurse fizice ca imprimante, fax-uri, scannere, etc. Serverii ºi clienþii sunt procese care se pot executa oriunde in reþea. O secvenþa tipica poate fi urmatoarea : g7z19zt
• se starteaza procesul fie la pornirea sistemului, fie dintr-un fiºier script. Se face iniþializarea, dupa care serverul trece in starea de asleep, aºteptand o cerere de serviciu de la un client.
• se starteaza un proces client, cel mai adesea prin introducerea unei comenzi interactive de catre un user. Iata cateva tipuri de servicii pe care le poate asigura un server :
• aflarea zilei
• printarea unui fiºier
• scrierea/citirea unui fiºier de pe sistemul serverului
• logarea la sistem a unui user
• executarea unei comenzi pe sistemul serverului
• la terminarea serviciului de catre procesul server, acesta trece din nou in starea asleep

Putem divide procesele server in :
• serveri iterativi, daca cererea facuta de client poate fi rezolvata de server intr- un interval dat de timp (relativ scurt). Cererea este rezolvata chiar de serverul insuºi. Un exemplu tipic este aflarea zilei, orei.
• serveri concurenþi, daca cererea facuta de client nu poate fi rezolvata de server intr-un timp dat (nu poate ºti cat va dura). In acest caz, serverul invoca alt proces pentru rezolvarea cererii, dupa care trece in asleep. Un exemplu este o cerere de transfer de fiºier
Se observa ca un server petrece cel mai mult timp in starea asleep, aºteptand cereri de la clienþi. Rolurile serverilor ºi clienþilor este asimetric, cu toate ca pana acum am considerat procesele ce comunicau, de pe nivelele sesiune sau transport ca fiind simetrice. Serverul este startat primul, dupa care se deschide un canal de comunicaþie pe sistemul pe care se afla ºi se informeaza hostul local ca se pot primi cereri de la clienþi la o adresa data. Serverul va aºtepta cererile la adresa respectiva. Un server iterativ proceseaza cererea ºi trimite raspunsul. Serverii iterativi sunt in mod normal folosiþi daca cererea unui client poate fi rezolvata toata. Serverii concurenþi vor lansa (fork+exec) un nou proces pentru rezolvarea cererii clientului. Noul proces se va ocupa numai de cererea pentru un anumit client, desfaºurata pe un canal ce va fi inchis la terminare. Din cele prezentate, reiese ca un server va introduce intr-o coada cererile de la clienþi, in timp ce el rezolva o parte din ele. De asemenea, un proces server va fi activ atat timp cat funcþioneaza calculatorul host.
Un client este un proces care doreºte utilizarea unei resurse, avand ºi el o secvenþa de acþiuni de desfaºurat. Astfel, el va deschide un canal de comunicaþie ºi se va conecta la un anumit host, la o adresa data (a serverului). Apoi, va trimite mesajul-cerere catre server ºi va aºtepta primirea raspunsului. La terminarea acþiunii, clientul va inchide canalul de comunicaþie. Deschiderea unui canal de comunicaþie de catre server este cotata ca o acþiune pasiva, in timp ce un client deschide un canal in mod activ.
Termenii de server ºi client pot fi ºi o maºina (staþiile fara disc din reþea, clienþii, acceseaza serverul, un file-server). Un computer la care este legata o imprimanta se considera a fi un server de imprimanta. Uneori, serverii se mai numesc ºi daemoni, adica serveri incarcaþi la startarea sistemului. Daemonii sunt folosiþi pentru furnizarea de servicii sistem (timp, useri la un moment dat).




IPX/SPX

IPX/SPX (Internet Packet Exchange/Sequenced Packet Exchange) sunt protocoalele native ale lui Novell. Ele sunt adaptari ale arhitecturii XNS (Xerox Network Systems), de la sfarºitul anilor 1970. IPX corespunde IDP (Internetwork Datagram Protocol) iar SPX cu SPP (Sequenced Packet Protocol) al lui Xerox. Fiecare protocol suporta transmisia prin pachete. IPX opereaza la nivel reþea, asigurand o legatura fara conexiune ( nesigura, deoarece transmisiile nu sunt cu raspuns), fig1.

fig 1 - protocoale NetWare

SAP : Service Advertising Protocol
ODI : Open Data-Link Interface
NCP : Netware Core Protocol
RIP : Routing Information Protocol

IPX ofera capabilitaþi de adresare ºi rutare serverilor NetWare ºi interfeþelor client. SPX opereaza la nivel transport ºi asigura un serviciu de transfer pachete prin legaturi orientate pe conexiune (sigura, deoarece primeºte raspuns de transmisie ºi menþine integritatea pe toata perioada transferului).Se gestioneaza fluxul de date ºi precedenþa pachetelor.
IPX/SPX nu sunt singurele protocoale suportate de sistemul de operare de reþea NetWare, fig 2, dar ele sunt native pentru sistem. Unitatea de transmisie este pachetul, ce conþine un header ºi un mesaj, fig 3. Headerul conþine informaþiile necesare pentru a transfera pachetul de la sursa la destinaþie. Mesajul este corpul util al pachetului. IPX defineºte formatul de baza pentru header. SPX adauga informaþiile necesare pentru menþinerea conexiunii. Adresa sursa ºi destinaþie ocupa cel mai mult din headerul IPX. O adresa de reþea conþine :
• 4 octeþi, adresa de reþea
• 6 octeþi, adresa numarului
• 2 octeþi, adresa socketului

fig 2 - diverse protocoale suportate de NetWare

fig 3 - formatul unui pachet IPX/SPX

Rutarea in reþea se bazeaza pe adresa de reþea pentru transmiterea unui pachet cand adresa destinaþie este diferita de a reþelei din care vine pachetul. In reþeaua destinaþie, MAC-ul interfeþei recunoaºte adresa din pachet egala cu a nodului. Din adresa de socket, IPX preda pachetul procesului respectiv, deci este posibila existenþa mai multor procese. Marimea maxima a unui pachet IPX este de 576 de octeþi. Headerul IPX este de 30 octeþi iar a lui SPX este de 42 de octeþi. Headerul conþine urmatoarele campuri :
• suma de control
• lungimea pachetului
• control transport
• tip pachet
• adresa destinaþie
• adresa sursa
Deoarece headerul SPX este de 42 octeþi, partea utila scade la 534 octeþi. Headerul SPX conþine campurile din IPX, dar in plus mai are :
• control conexiune
• tip data stream
• ID conexiune sursa
• ID conexiune destinaþie
• numar secvenþa
• numar raspuns
• numar alocare
Campurile suplimentare asigura unui pachet SPX secvenþierea ºi garantarea livrarii.
Legatura intre aplicaþie ºi IPX se face prin ECB-uri (Event Control Block). Informaþiile din ECB sunt necesare IPX-ului pentru a transmite/recepþiona un pachet conform cu cerinþele aplicaþiei. Setarea campurilor din ECB este obstacolul major in programarea cu IPX/SPX. ECB-urile pot fi pe baza de soclu sau nu. ECB-urile cu soclu gestioneaza evenimente IPX/SPX, in timp ce ECB-urile fara soclu planifica evenimente fara a referi transmisia pachetelor IPX/SPX. Un ECB cu soclu include :
• adresa de legatura
• adresa ESR
• flag in-use
• cod de terminare
• numar socket
• spaþiu IPX
• spaþiu driver
• adresa imediata
• contor fragmene
• lista descriptorilor de fragment ECB
• date
ECB-urile fara soclu sunt luate in evidenþa de AES (Asynchronous Event Scheduler) ºi de aceea nu necesita un canal anume. Campurile din ECB-urile fara soclu sunt un subset al celor din ECB cu soclu :

• adresa de legatura
• adresa ESR
• flag in-use
• spaþiu AES
Programarea cu IPX/SPX include iniþializarea, deschiderea/inchiderea soclurilor, planificarea evenimentelor asincrone, servicii de eveniment ºi gestiunea fragmentelor ECB.
IPX/SPX este nucleul de comunicaþie in mai multe produse livrate de firma Novell. Protocolul suporta interacþiuni staþii/server, fig 4.

fig 4 - arhitectura NetWare
NetWare Lite 1.x pentru DOS ºi Windows este un sistem de operare de reþea peer-to-peer pentru 2-25 useri. Configuraþia medie este de 10 useri. Este perfect compatibil cu Windows 3.x. Este proiectat pentru transferuri ºi poate fi instalat in cateva minute. NetWare 2.2 este destinat bazelor de date de marime medie sau grupurilor de lucru din compartimentele unei companii. Poaqte funcþiona cu server dedicat sau nededicat. Ofera performanþa, interoperabilitate ºi siguranþa. NetWare 3.11 este destinat unor companii cu sute de useri pentru un singur server. Suporta o varietate de staþii client ce executa DOS, Windows, OS/2, Unix, MacIntosh. NetWrae 4.x este ultima generaþie de sisteme Novell. S-au adaugat la 3.11 noi servicii de directoare, securitate sporita, elemente mai complexe de management ºi opþiuni de WAN. Cu NetWare 4.x se poate integra un server intr-un mediu de comunicaþie. NetWare 3.x ºi 4.x sunt sisteme pe 32 biþi ce implementeaza mecanisme de multithreading, un model de memorie flexibil, securitate centralizata ºi controale de integritate. Aplicaþiile de pe server, numite NLM-uri sunt linkeditate in NetWare. Se permite adaugarea de noi facilitaþi de catre user.

NetBIOS

In 1984 IBM a introdus primul sau standard de reþea. Viteza de lucru era de 2 Mbps (faþa de 10 Mbps la Ethernet) ºi se chema IBM PC Network, in rest fiind similar cu Ethernet. NetBIOS, dezvoltat prin preluare de la o firma, a devenit standadul IBM pentru reþea. La fel cum BIOS-ul asigura interfaþa intre programe ºi hardware-ul unui PC, NetBIOS asigura interfaþa intre programe ºi reþea. NetBIOS a devenit un standard pentru LAN-uri de marime mijlocie. Exista implementari ce folosesc de asemenea TCP sau UDP ca suport de protocol de transport. Problema in acest caz este ca numele din NetBIOS nu corespund la adresele din TCP/IP, ceea ce inseamna un efort suplimentar in programare. Standardele RFC 1001 ºi 1002 descriu utilizarea NetBIOS cu TCP/IP (orice staþie adresabila TCP/IP este adresabila ºi NetBIOS). De fapt, NetBIOS este o interfaþa software ºi nu un protocol (totuºi ofera servicii similare unui protocol).
NetBIOS ofera atat servicii fara conexiune (datagrame) cat ºi orientate conexiune (circuite virtuale, emuland aspecte din TCP/IP). Serviciile oferite sunt prezentate in fig 5.

fig 5 - NetBIOS

In unele medii exista o interfaþa deasupra lui NetBIOS care se numeºte SMB (protocolul Server Message Block situat in nivelele superioare OSI). Interfaþa SMB, dezvoltata de Microsoft serveºte la partajarea fiºierelor.
Serviciul de sesiune NetBIOS asigura o legatura orientata conexiune, o facilitate de transfer a mesajelor full duplex. Lungimea mesajelor este variabila, dar nu poate depaºi 131000 bytes. Serviciul de nume este folosit pentru a eticheta resursele sistem. De exemplu, in mecanismul client-server, atat clientul cat ºi serverul vor avea un nume. Numele au de la 1 la 16 caractere ºi sunt de doua tipuri : unice, pentru toata reþeaua ºi nume de grupuri. Numele de grupuri nu trebuie sa fie unice ºi toate procesele ce adopta un nume de grup fac parte din acel grup. Exista patru comenzi in cadrul serviciului de nume :
• ADD NAME - adauga un nume unic
• ADD GROUP NAME - adauga un nume de grup
• DELETE NAME - ºterge un nume
• FIND NAME - determina daca un n ume este inregistrat

NetBIOS suporta datagramele, la fel ca IP in reþele TCP/IP. Ele au o lungime maxima de 512 bytes. Datagramele pot fi transmise intregii reþele sau unui nume specific. Exista patru comenzi in serviciul de datagrame :

• SEND DATAGRAM - trimite o datagrama unui nume
• SEND BROADCAST DATAGRAM - trimite o datagrama intregii reþele
• RECEIVE DATAGRAM - recepþioneaza o datagrama de la un nume
• RECEIVE BROADCAST DATAGRAM - orice nod o recepþioneaza

Serviciul de comenzi generale asigura diverse funcþii :
• RESET - reseteaza tabele ºi sesiuni NetBIOS
• CANCEL - anuleaza comenzi asincrone
• ADAPTER STATUS - preia starea interfeþei de reþea
• UNLINK - dezlegare de serverul de bootstrap

Dupa cum am menþionat, NetBIOS este o specificare ce descrie interfaþarea la o reþea. Se descriu in amanunt cum trebuie setaþi diverºi registri procesor pentru a efectua o funcþie de reþea. Funcþia in sine este tratata de nivelul reþea, iar la terminarea ei acelaºi nivel returneaza starea lui NetBIOS. NetBIOS nu presupune existenþa unui anume nivel reþea, dar necesita anumite servicii de la acesta. De exemplu, nivelul reþea trebuie sa asigure legaturi atat orientate conexiune cat ºi fara. Mai mult, sesiunile corespund cu streamurile TCP cu deosebirea ca indicatorii de format sunt incluºi in timp ce streamurile TCP sunt neformatate. Cu toate ca NetBIOS ºi TCP par a avea destule analogii, convenþia de nume este diferita. Numele NetBIOS sunt formaþi din 16 octeþi ºi apeleaza procese ºi nu computere. Semantica lor ingreuneaza utilizarea intr-un mediu multireþea. TCP, pe de alta parte este mult mai adaptabil acestor medii. Cea mai obiºnuita implementare a lui NetBIOS este peste TCP/IP. Atunci, trebuie rezolvata diferenþa intre numele NetBIOS ºi adrese TCP/IP. Standardele RFC 1001 ºi 1002 descriu tocmai implemetarea NetBIOS peste conexiuni TCP/IP.
Natura client-server este pusa in evidenþa de serviciul sesiune, care cuprinde urmatoarele comenzi :
• CALL - open activ
• LISTEN - open pasiv
• SEND - transmite date
• SEND NO ACK - transmite date fara achitare
• RECEIVE - recepþioneaza date
• HANG UP - terminare sesiune
• SESSION STATUS - acces la stare sesiune

In NetBIOS, un proces trebuie sa fie client ºi altul server. Serverul iniþiaza o comanda LISTEN, care va deschide serverul in modul pasiv. Un client se va putea conecta la un server cu CALL, care va trece serverul in modul activ. Atat LISTEN cat ºi CAL intorc un numar de sesiune proceselor care le-au iniþiat. Numarul va fi folosit apoi de SEND, RECEIVE ºi HANG UP pentru identificarea sesiunii. Orice proces poate avea mai multe sesiuni active la un moment dat. Dupa o comanda SEND, NetBIOS aºteapta o achitare (ACK) de transmisie reuºita pentru a ceda controlul din nou programului. Achitarea este trimisa de RECEIVE. Acþiunile descrise asigura o legatura orientata conexiune, sigura, similara ca in TCP. Comanda SEND NO ACK nu aºteapta o achitare, fiind folosita in special in reþele Token-Ring, unde achitarea mesajelor trimise face parte din nivelul date. NetBIOS ofera ºi legaturi fara conexiune, cu posibilitatea de a pierde precedenþa, fara control de flux ºi alte aspecte legate de servicii orientate conexiune.

TCP/IP

Daca la OSI s-a dezvoltat mai intai modelul arhitectural ºi apoi protocolul, datorita exploziei Internetului, in cazul TCP/IP mai intai s-au creat protocoalele iar modelul arhitectural s-a stabilizat ulterior. Internetul de azi consta din mii de reþele locale, regionale sau pe arii mai extinse. In general TCP/IP se spune ca este o stiva de protocoale, ai carei membri sunt :
• TCP (Transmission Control Protocol) este protocolul de baza la nivelul transport ce asigura servicii orientate conexiune. El se foloseºte de IP din nivelul reþea, fig 6

fig 6 - header TCP/IP
• IP (Internet Protocol) asigura serviciul de transmisie a pachetelor pentru TCP, ICMP ºi UDP. Opereaza la nivel reþea din modelul OSI
• ICMP (Internet Control Message Protocol) este folosit pentru erori ºi controlul informaþiei generate de software-ul TCP/IP. Datele ICMP sunt transmise in datagramele IP

• UDP (User Datagram Protocol) se executa la nivel transport. Spre deosebire de TCP, este un protocol fara conexiune care nu presupune achitarea transmisiei datagramei
• ARP (Address Resolution Protocol) mapeaza adresele de Internet in adrese fizice, de exemplu in adrese de Ethernet. Opereaza la nivel reþea
• RARP (Reverse ARP) este complementar lui ARP ºi mapeaza adresele fizice, de exemplu cele de Ethernet, in adrese de Internet. De asemenea se executa la nivel reþea

Mai exista ºi alþi membri ai stivei de protocoale TCP/IP, mai puþin folosiþi, ca de exemplu GGP (Gateway-to-Gateway Protocol) ºi VMTP (Versatile Message Transaction Protocol). Toate aceste protocoale sunt definite in aºa numitele RFC (Request for Comments), de domeniul public. La nivelul aplicaþie sunt cateva servicii care sunt uzuale instalarii TCP/IP, cu toate ca nu fac parte din acesta : FTP (File Transfer Protocol), TELNET ºi SMTP (Simple Mail Transfer Protocol). FTP este folosit la transferul fiºierelor de la un sistem la altul, atat binare cat ºi ASCII. Exista varianta mai simpla TFTP. TELNET este o facilitate de remote login prin care userul se poate conecta la un sistem, presupunand indeplinite anumite condiþii de acces. SMTP suporta transfer de E-mail intre doua sisteme. Gestiunea locala a poºtei este o sarcina a fiecarui sistem, SMTP rezolvand doar transferul intre sisteme.
Procesele user transmit ºi recepþioneaza date prin protocoalele TCP ºi UDP din nivelul transport, fig 7

fig 7 - mediu TCP/IP

TCP asigura o legatura orientata pe conexiune, sigura prin faptul ca necesita achitare la transmisii de mesaje. Pe de alta parte, UDP, tot la nivelul transport, asigura o legatura fara conexiune ºi anume serviciu datagrama. Transmisia nu mai este sigura deoarece nu se cere achitare. TCP/IP poate opera in diverse configuraþii de LAN-uri Ethernet. Aplicaþiile pot folosi atat servicii TCP cat ºi UDP sau ambele simultan. Din cauza utilizarii multiple, aplicaþiile trebuie sa poata fi identificate precis. Acest lucru se rezolva prin porturi de 16 biþi din TCP sau UDP pentru fiecare proces user. Un camp de 8 biþi din headerul IP-ului determina daca datele sunt destinate TCP-ului sau UDP-ului. Tot un camp de 16 biþi din headerul Ethernet identifica tipul de frame, adica daca datele sunt destinate unui alt modul IP sau altui protocol ce poate fi operaþional in reþea. Diverse protocoale pot fi servisate concurent cu TCP/IP prin utilizarea campurilor de control amintite.
In contextul aplicaþiilor client-server, prin TCP/IP un user se poate ataºa la un sistem Unix pentru workstation, server, mainframe, etc. Serviciile disponibile includ TELNET, FTP, poºta electronica, NFS (Network File System, aducerea unui fiºier remote in domeniul local al unui sistem fara a fi transferat fizic, spre deosebire de FTP). SMTP permite transmisia/recepþia de mesage pentru Internet ºi sisteme Unix, fara traversare de gateway-uri. Cele mai multe din aplicaþiile bazate pe TCP/IP Unix sunt construite cu socluri Unix. Varianta de socluri oferita de Microsoft, Sun Microsystems este bazata pe Windows sockets, care acopera cam 70% din piaþa aplicaþiilor client-server pentru PC-uri.
Singurele probleme ce pot apare in LAN-uri Ethernet relativ la protocoalele TCP/IP sunt legate de introducerea tehnologiilor de mare viteza : ATM (Asynchronous Transfer Mode), FDDI (Fiber Distributed Data Interface) ºi SMDS (Switched Multi-megabit Data Service). O soluþie de marire a vitezei trecerii mesajelor prin aceste protocoale este implementarea lor in cipuri de siliciu, faþa de execuþia lor in memorie. Totuºi schimbarea permanenta a specificaþiilor TCP ºi cipurile CPU de viteza din ce in ce mai mare, nu au dus la extinderea acestei soluþii.


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta