Šta je klijent-server tehnologija. Osnove klijent-server tehnologije Mrežna prijava

Klijent-server tehnologija je način povezivanja između klijenta (korisničkog računara) i servera ( moćan kompjuter ili opreme koja pruža podatke), u kojoj oni međusobno direktno komuniciraju.

Šta je "klijent-server"?

Opšti principi prenosa podataka između komponenti računarske mreže uspostavljeni su arhitekturom mreže. Tehnologija “klijent-server” je sistem u kojem se informacije pohranjuju i obrađuju na strani servera, a formiranje zahtjeva i prijem podataka se obezbjeđuje na strani klijenta. Za razliku od klijent-server tehnologije, gdje se podaci izdvajaju iz datoteka, u klijent-server mrežama podaci se pohranjuju na stroju na kojem su instalirani. serverska aplikacija mrežna baza podataka.

Istovremeno, klijent-server tehnologije obezbeđuju prisustvo specijalni softver– klijent i server. Ovi programi komuniciraju koristeći posebne mrežne protokole za prijenos podataka. Po pravilu, klijent i server su instalirani na različitim računarima, ali ponekad se mogu instalirati na istom računaru.

Serverski softver je konfigurisan da prima i obrađuje zahtjeve korisnika, pružajući rezultat u obliku podataka ili funkcija (e-mail, ćaskanje ili pregledavanje interneta). Računar na kojem je instaliran ovaj program mora imati Visoke performanse i visokim tehničkim parametrima.

Kako funkcioniše arhitektura klijent-server

Softver sa klijentske mašine šalje zahtev serveru, gde se obrađuje i gotov rezultat šalje klijentu. Ova tehnologija radi na istom principu kao i baza podataka: zahtjev - obrada - prijenos rezultata.

Server se izvršava sljedeće karakteristike:

  • pohrana podataka;
  • obrada zahtjeva od klijenta korištenjem procedura i okidača;
  • slanje rezultata klijentu.

Funkcije koje se implementiraju klijentski dio:

  • formiranje i slanje zahtjeva na server;
  • primanje rezultata i slanje dodatnih naredbi (zahtjevi za dodavanje, brisanje ili ažuriranje informacija).

Prednosti i nedostaci

Arhitektura klijent-server ima sljedeće prednosti:

  • visoka brzina obrade podataka;
  • mogućnost brzog rada sa velikim brojem klijenata;
  • razdvajanje programskog koda serverskih i klijentskih aplikacija.

Više korisnika može raditi u isto vrijeme sa podacima kroz transakcije (niz operacija predstavljenih kao jedan blok) i zaključavanja (izolacija podataka od uređivanja od strane drugih korisnika).

Nedostaci klijent-server tehnologija:

  • visoki zahtjevi za hardverskim i softverskim karakteristikama serverskog hardvera zbog činjenice da se obrada podataka odvija na strani servera;
  • potreba za administratorom sistema koji kontroliše nesmetan rad serverske opreme.

Slojevita arhitektura klijent-server

Tehnologija "klijent-server" na više nivoa omogućava dodelu zasebne serverske opreme za obradu podataka. Operacije skladištenja, obrade i izlaza podataka izvode se na različitim serverima. Ova podjela odgovornosti povećava efikasnost mreže.

Primjer slojevita arhitektura je troslojna tehnologija. U takvoj mreži, pored klijenta i aplikacijskog servera, postoji i dodatni server baze podataka.

Sljedeće tri nivoa:

  1. Niže. Ova veza uključuje klijentski softver sa korisničkim interfejsom i sistemom interakcije sa sledećim nivoom obrade podataka.
  2. Prosjek. Zahtjeve iz klijentskih programa obrađuje aplikacijski server, koji obrađuje i priprema informacije za prijenos između servera najviše razine i klijenta. Omogućava vam da rasteretite skladište podataka od nepotrebnog opterećenja i distribuirate zahtjeve različitih korisnika.
  3. Upper. To je nezavisni server baze podataka na kojem se pohranjuju sve informacije. On prima pripremljeni zahtjev od poslužitelja aplikacija i daje mu potrebne informacije bez direktne interakcije s klijentskim aplikacijama.

Namenska serverska mreža

Arhitektura namjenskog servera je lokalna mreža u kojoj su svi uređaji u interakciji kontrolirani od strane jednog ili više servera. U tom slučaju klijenti (radne stanice) šalju zahtjev resursima preko serverskog softvera. Namenski server nema klijentsku stranu i funkcioniše samo kao server za obradu zahteva klijenata i zaštitu podataka. U prisustvu više servera, funkcije između njih mogu biti raspoređene sa definicijom za svaku pojedinačnu dužnost.

Arhitektura klijent-server se koristi u velikom broju mrežnih tehnologija koje se koriste za pristup različitim mrežnim uslugama. Pogledajmo na brzinu neke vrste takvih usluga (i servera).

Web serveri

U početku su omogućavali pristup hipertekstualnim dokumentima putem HTTP-a (Huper Text Transfer Protocol). Sada podržavaju napredne funkcije, posebno rad sa binarnim datotekama (slike, multimedija, itd.).

Aplikacioni serveri

Dizajniran za centralizovano rešavanje primenjenih problema u određenoj predmetnoj oblasti. Da to učine, korisnici imaju pravo pokrenuti serverske programe za izvršenje. Upotreba servera aplikacija smanjuje zahtjeve za konfiguraciju klijenta i pojednostavljuje cjelokupno upravljanje mrežom.

Serveri baza podataka

Serveri baze podataka se koriste za obradu korisničkih upita u SQL jeziku. U ovom slučaju, DBMS se nalazi na serveru na koji se povezuju klijentske aplikacije.

File serveri

File Server trgovine informacije u obliku datoteka i omogućava korisnicima pristup njima. Po pravilu, fajl server takođe pruža određeni nivo zaštite od neovlašćenog pristupa.

Proxy server

Prvo, djeluje kao posrednik, pomažući korisnicima da dobiju informacije sa Interneta dok osiguravaju mrežu.

Drugo, pohranjuje često tražene informacije u keš memoriju na lokalnom disku, brzo ih isporučujući korisnicima bez ponovnog pristupa Internetu.

Zaštitni zidovi(zaštitni zidovi)

Zaštitni zidovi koji analiziraju i filtriraju prolazni mrežni promet kako bi osigurali sigurnost mreže.

Mail serveri

Pružaju usluge slanja i primanja poruka elektronske pošte.

Serveri za daljinski pristup (RAS)

Ovi sistemi obezbeđuju komunikaciju sa mrežom putem dial-up linija. Udaljeni zaposlenik može koristiti korporativne LAN resurse tako što će se povezati na njega pomoću običnog modema.

Ovo su samo neke vrste čitavog niza klijent-server tehnologija koje se koriste u lokalnim i globalnim mrežama.

Za pristup određenim mrežnim uslugama koriste se klijenti čije su mogućnosti karakterizirane konceptom "debljine". Definira hardversku konfiguraciju i softver koji korisnik ima. Razmotrite moguće granične vrijednosti:

"Tanki" klijent

Ovaj termin definira klijenta čiji su računarski resursi dovoljni samo za pokretanje potrebne mrežne aplikacije preko web sučelja. Korisnički interfejs takve aplikacije formira se pomoću statički HTML (izvršenje JavaScript-a nije omogućeno), sva logika aplikacije se izvodi na serveru.
Da bi tanki klijent radio, dovoljno je samo pružiti mogućnost pokretanja web preglednika u čijem se prozoru provode sve radnje. Iz tog razloga, web pretraživač se često naziva "univerzalnim klijentom".

"Debeli" klijent

Ovo je radna stanica ili personalni računar koji koristi sopstveni disk operativni sistem i koji ima potreban set softvera. “Debeli” klijenti se obraćaju mrežnim serverima uglavnom za dodatne usluge (na primjer, pristup web serveru ili korporativnoj bazi podataka).
“Debeli” klijent također znači klijentsku mrežnu aplikaciju koja radi pod lokalnim OS. Takva aplikacija kombinuje komponentu prezentacije podataka (OS grafički korisnički interfejs) i komponentu aplikacije (računarska snaga klijentskog računara).

U posljednje vrijeme sve češće se koristi još jedan izraz: „bogati“-klijent. "Bogati"-klijent je svojevrsni kompromis između "debelog" i "tankog" klijenta. Poput "tankog" klijenta, "bogati" klijent takođe predstavlja grafičko sučelje, koje je već opisano pomoću XML-a i uključuje neke funkcionalnosti debelih klijenata (na primjer, drag-and-drop interfejs, kartice, više prozora, ispusti- donji meniji itd.)

Logika aplikacije "bogatog" klijenta je takođe implementirana na serveru. Podaci se šalju u standardnom formatu za razmjenu zasnovanom na istom XML-u (SOAP, XML-RPC protokoli) i interpretirani od strane klijenta.

Neki od glavnih protokola bogatih klijenata zasnovanih na XML-u su navedeni u nastavku:

  • XAML (eXtensible Application Markup Language) - razvijen od strane Microsofta, koristi se u aplikacijama na .NET platformi;
  • XUL (XML User Interface Language) je standard razvijen od strane Mozilla projekta, koji se koristi, na primjer, u mail klijent Mozilla Thunderbird ili Mozilla Firefox pretraživač;
  • Flex je multimedijalna tehnologija zasnovana na XML-u koju je razvio Macromedia/Adobe.

Zaključak

dakle, glavna ideja klijent-server arhitekture je podijeliti mrežnu aplikaciju na nekoliko komponenti, od kojih svaka implementira određeni skup usluga. Komponente takve aplikacije mogu raditi na različitim računarima, obavljajući serverske i/ili klijentske funkcije. Ovo poboljšava pouzdanost, sigurnost i performanse mrežnih aplikacija i mreže u cjelini.

test pitanja

1. Koja je glavna ideja K-S interakcije?

2. Koja je razlika između koncepta "klijent-server arhitekture" i "klijent-server tehnologije"?

3. Navedite komponente K-C interakcije.

4. Koje zadatke obavlja prezentacijska komponenta u arhitekturi KS?

5. Koja je svrha alata za pristup bazi podataka kao posebne komponente u CS arhitekturi?

6. Zašto je poslovna logika izdvojena kao posebna komponenta u arhitekturi K-S?

7. Navedite modele interakcije klijent-server.

8. Opišite model servera datoteka.

9. Opišite model poslužitelja baze podataka.

10. Opišite model "server aplikacija".

11. Opišite model "terminalnog servera".

12. Navedite glavne tipove servera.

Priroda interakcije računala u lokalnoj mreži obično je povezana s njihovom funkcionalnom svrhom. Kao iu slučaju direktne veze, LAN-ovi koriste koncept klijenta i servera. Tehnologija klijent-server je poseban način interakcije između računara na lokalnoj mreži, u kojem jedan od računara (server) daje svoje resurse drugom računaru (klijentu). Shodno tome, pravi se razlika između peer-to-peer mreža i serverskih mreža.

Sa peer-to-peer arhitekturom, ne postoje namjenski serveri u mreži; svaka radna stanica može obavljati funkcije klijenta i servera. U ovom slučaju, radna stanica dodjeljuje dio svojih resursa za zajedničku upotrebu svim mrežnim radnim stanicama. Po pravilu, peer-to-peer mreže se stvaraju na bazi računara iste snage. Peer-to-peer mreže su prilično jednostavne za postavljanje i rad. U slučaju kada se mreža sastoji od malog broja računara i njena glavna funkcija je razmena informacija između radnih stanica, peer-to-peer arhitektura je najprihvatljivije rešenje. Takva mreža se može brzo i lako implementirati pomoću tako popularnog operativnog sistema kao što je Windows 95.

Prisustvo distribuiranih podataka i mogućnost promjene resursa servera od strane svake radne stanice komplikuje zaštitu informacija od neovlaštenog pristupa, što je jedan od nedostataka peer-to-peer mreža. Razumijevajući ovo, programeri počinju da obraćaju posebnu pažnju na pitanja sigurnosti informacija u peer-to-peer mrežama.

Još jedan nedostatak peer-to-peer mreža je njihov niži učinak. To je zbog činjenice da su mrežni resursi koncentrirani na radne stanice, koje moraju istovremeno obavljati funkcije klijenata i servera.

U serverskim mrežama postoji jasna podjela funkcija između računala: neki od njih su stalno klijenti, dok su drugi serveri. S obzirom na raznovrsnost usluga koje pružaju računarske mreže, postoji nekoliko tipova servera, a to su: mrežni server, fajl server, server za štampanje, mail server itd.

Mrežni server je specijalizovani računar fokusiran na obavljanje najvećeg broja računarskih poslova i funkcija upravljanja računarskom mrežom. Ovaj server sadrži jezgro mrežnog operativnog sistema, koji kontroliše rad cijele lokalne mreže. Mrežni server ima prilično veliku brzinu i veliku količinu memorije. Sa takvom organizacijom mreže, funkcije radnih stanica se svode na ulaz-izlaz informacija i njihovu razmjenu sa mrežnim serverom.

Termin server datoteka odnosi se na računar čija je primarna funkcija skladištenje, upravljanje i prijenos datoteka podataka. Ne obrađuje niti modificira datoteke koje pohranjuje ili prenosi. Server možda ne "zna" da li je datoteka tekstualni dokument, slika ili tabela. Generalno, serveru datoteka možda čak nedostaju tastatura i monitor. Sve promjene u datotekama podataka se vrše sa klijentskih radnih stanica. Da bi to učinili, klijenti čitaju datoteke podataka sa servera datoteka, unose potrebne promjene u podatke i vraćaju ih nazad na server datoteka. Takva organizacija je najefikasnija kada veliki broj korisnika radi sa zajedničkom bazom podataka. Unutar velikih mreža, nekoliko servera datoteka može se koristiti istovremeno.

Server za štampanje (server za štampanje) je uređaj za štampanje koji je povezan na prenosni medij pomoću mrežnog adaptera. Takav mrežni uređaj za štampanje je samostalan i radi nezavisno od drugih mrežnih uređaja. Server za štampanje opslužuje zahteve za štampanje sa svih servera i radnih stanica. Kao serveri za štampanje koriste se specijalni štampači visokih performansi.

Uz visok intenzitet razmjene podataka sa globalnim mrežama, mail serveri se dodjeljuju unutar lokalnih mreža, uz pomoć kojih se obrađuju poruke Email. Web serveri se mogu koristiti za efikasnu komunikaciju sa Internetom.

Mrežne tehnologije

Ethernet je najpopularnija tehnologija za izgradnju lokalnih mreža. Na osnovu standarda IEEE 802.3, Ethernet prenosi podatke brzinom od 10 Mbps. U Ethernet mreži, uređaji provjeravaju prisutnost signala na mrežnom kanalu ("slušaju" ga). Ako nijedan drugi uređaj ne koristi kanal, tada Ethernet uređaj prenosi podatke. Svaka radna stanica na ovom LAN segmentu analizira podatke i utvrđuje da li je za nju namijenjena. Takva šema je najefikasnija sa malim brojem korisnika ili malim brojem poruka koje se prenose u segmentu. Sa povećanjem broja korisnika, mreža neće raditi tako efikasno. U ovom slučaju, optimalno rješenje je povećanje broja segmenata za opsluživanje grupa s manje korisnika. U međuvremenu, nedavno je postojao trend da se svakom desktop sistemu obezbede namenske linije od 10 Mbps. Ovaj trend je vođen dostupnošću jeftinih Ethernet prekidača. Paketi koji se prenose preko Ethernet mreže mogu biti varijabilne dužine.

Fast Ethernet koristi istu osnovnu tehnologiju kao i Ethernet - višestruki pristup s senzorom operatera sa detekcijom kolizije (CSMA/CD). Obje tehnologije su bazirane na standardu IEEE 802.3. Kao rezultat toga, obje vrste mreža mogu koristiti (u većini slučajeva) istu vrstu kabela, iste mrežne uređaje i aplikacije. Brze Ethernet mreže omogućavaju vam prijenos podataka brzinom od 100 Mbps, odnosno deset puta brže od Etherneta. Kako aplikacije postaju složenije i povećava se broj korisnika koji pristupaju mreži, ova povećana propusnost može pomoći u uklanjanju uskih grla koja uzrokuju povećanje vremena odziva mreže.

Prednosti mrežnih rješenja 10/100 Mbps

Nedavno se pojavilo novo rješenje koje pruža i 10Mbps Ethernet i 100Mbps Fast Ethernet široku kompatibilnost. „Dual-speed“ 10/100-Mbps Ethernet/Fast Ethernet tehnologija omogućava uređajima kao što su NIC, čvorišta i prekidači da rade na bilo kojoj od ovih brzina (ovisno o tome na koji uređaj su povezani). Ako povežete računar sa 10/100Mbps Ethernet/Fast Ethernet NIC na 10Mbps hub port, on će raditi na 10Mbps. Ako ga povežete na 10/100 Mbps port na čvorištu (kao što je 3Com SuperStack II Dual Speed ​​Hub 500), automatski će prepoznati novu brzinu i podržavati 100 Mbps. Ovo omogućava postupno, odgovarajućim tempom, prelazak na veće performanse. Također pojednostavljuje mrežni klijent i serverski hardver kako bi podržao sljedeću generaciju aplikacija koje intenzivno koriste propusni opseg i mrežne usluge.

gigabitni ethernet

Gigabit Ethernet mreže su kompatibilne sa Ethernet i Fast Ethernet mrežnom infrastrukturom, ali rade na 1000 Mbps - 10 puta brže od Fast Etherneta. Gigabit Ethernet je moćno rešenje koje eliminiše uska grla u glavnoj mreži (gde se povezuju segmenti mreže i gde se nalaze serveri). Uska grla nastaju zbog pojave aplikacija koje su gladne propusnog opsega, sve većeg povećanja nepredvidivih tokova intranet saobraćaja i multimedijalnih aplikacija. Gigabit Ethernet pruža način za neprimetnu migraciju Ethernet i Fast Ethernet radnih grupa na nova tehnologija. Takav prijelaz ima minimalan utjecaj na njihovo poslovanje i omogućava im postizanje veće produktivnosti.

ATM (Asynchronous Transfer Mode) ili asinhroni način prijenosa je tehnologija prebacivanja koja koristi ćelije fiksne dužine za prijenos podataka. Radeći pri velikim brzinama, ATM mreže podržavaju integrirani prijenos glasa, videa i podataka u jednom kanalu, djelujući i kao lokalne i šire mreže. Budući da se njihov rad razlikuje od interneta i zahtijeva posebnu infrastrukturu, takve mreže se uglavnom koriste kao okosne mreže koje povezuju i objedinjuju mrežne segmente.

Tehnologije sa prstenastom arhitekturom

Token Ring i FDDI tehnologije se koriste za kreiranje relejnih mreža sa pristupom tokenu. Oni čine kontinuirani prsten u kojem poseban niz bitova, nazvan token, kruži u jednom smjeru. Token se prenosi oko prstena, zaobilazeći svaku radnu stanicu na mreži. Radna stanica koja ima informacije za slanje može dodati okvir podataka tokenu. U suprotnom (ako nema podataka), jednostavno prosljeđuje token sljedećoj stanici. Token Ring mreže rade na 4 ili 16 Mbps i koriste se prvenstveno u IBM okruženju.

FDDI (Fiber Distributed Data Interface) je takođe prstenasta tehnologija, ali je dizajnirana za optički kabl i koristi se u okosnim mrežama. Ovaj protokol je sličan Token Ring-u i omogućava prijenos tokena oko prstena s jedne radne stanice na drugu. Za razliku od Token Ringa, FDDI mreže se obično sastoje od dva prstena čiji tokeni kruže u suprotnim smjerovima. To se radi kako bi se osigurao nesmetan rad mreže (obično na optičkom kablu) - kako bi se zaštitila od kvarova u jednom od prstenova. FDDI mreže podržavaju 100 Mbps i prijenos podataka na velike udaljenosti. Maksimalni obim FDDI mreže je 100 km, a udaljenost između radnih stanica je 2 km.

Obje tehnologije prstena se koriste u najnovijim mrežnim instalacijama kao alternativa ATM-u i raznim vrstama Etherneta.

Kreiraćemo dalje distribuirane računarske sisteme koristeći klijent-server tehnologiju. Ova tehnologija pruža jedinstven pristup razmjeni informacija između uređaja, bilo da se radi o računalima smještenim na različitim kontinentima i povezanim putem interneta ili Arduino pločama koje leže na istom stolu i povezane upredenim parom.

U budućim lekcijama planiram govoriti o stvaranju informacionih mreža koristeći:

  • Ethernet LAN kontroleri;
  • WiFi modemi;
  • GSM modemi;
  • Bluetooth modemi.

Svi ovi uređaji komuniciraju koristeći klijent-server model. Isti princip vrijedi i za prijenos informacija na Internetu.

Ne pretendujem da u potpunosti pokrivam ovu obimnu temu. Želim dati minimum informacija potrebnih za razumijevanje sljedećih lekcija.

Tehnologija klijent-server.

Klijent i server su programi koji se nalaze na različitim računarima, u različitim kontrolerima i drugim sličnim uređajima. Oni međusobno komuniciraju putem računarske mreže koristeći mrežne protokole.

Serverski programi su pružaoci usluga. Stalno čekaju zahtjeve od klijentskih programa i pružaju im svoje usluge (prenose podatke, rješavaju računske probleme, kontroliraju nešto itd.). Server mora biti stalno uključen i "slušati" mrežu. Svaki serverski program, po pravilu, može ispuniti zahtjeve više klijentskih programa.

Klijentski program je inicijator zahtjeva, koji se može postaviti u bilo koje vrijeme. Za razliku od servera, klijent ne mora biti stalno uključen. Dovoljno je da se povežete u trenutku zahteva.

Dakle, generalno, sistem klijent-server izgleda ovako:

  • Tu su kompjuteri, Arduino kontroleri, tableti, mobilni telefoni i drugi pametni uređaji.
  • Svi su uključeni u zajedničku računarsku mrežu. Žičano ili bežično, nije važno. Mogu se čak povezati na različite mreže međusobno povezane putem globalne mreže, kao što je Internet.
  • Neki uređaji imaju instalirane serverske programe. Ovi uređaji se zovu serveri, moraju biti stalno uključeni, a njihov zadatak je da obrađuju zahtjeve klijenata.
  • Klijentski programi rade na drugim uređajima. Takvi uređaji se zovu klijenti, oni pokreću zahtjeve serverima. One su uključene samo u trenucima kada je potrebno kontaktirati servere.

Na primjer, ako želite da uključite peglu sa mobilnog telefona preko WiFi mreže, tada će pegla biti server, a telefon će biti klijent. Pegla mora biti stalno uključena u utičnicu, a po potrebi ćete pokretati kontrolni program na telefonu. Ako povežete računar na WiFi mrežu pegle, takođe možete kontrolisati peglu pomoću računara. Biće to još jedan klijent. WiFi mikrovalna pećnica dodana sistemu će biti server. I tako se sistem može beskonačno širiti.

Slanje podataka u serijama.

Tehnologija klijent-server općenito je namijenjena za korištenje s velikim informacionim mrežama. Od jednog pretplatnika do drugog, podaci mogu putovati složenim putem kroz različite fizičke kanale i mreže. Putanja isporuke podataka može varirati ovisno o stanju pojedinih elemenata mreže. Neke mrežne komponente možda neće raditi u ovom trenutku, tada će podaci otići drugim putem. Vrijeme isporuke može varirati. Podaci mogu čak i nestati, a ne doći do primaoca.

Stoga je jednostavan prijenos podataka u petlji, kao što smo prenosili podatke na računalo u nekim prethodnim lekcijama, potpuno nemoguć u složenim mrežama. Informacije se prenose u ograničenim porcijama - paketima. Na strani odašiljanja informacije se dijele na pakete, a na strani prijema se iz paketa „sljepljuju“ u cijele podatke. Količina paketa obično nije veća od nekoliko kilobajta.

Paket je analogan običnom pismu. Takođe, pored informacija, mora sadržati adresu primaoca i adresu pošiljaoca.

Paket se sastoji od zaglavlja i informacijskog dijela. U zaglavlju se nalaze adrese primaoca i pošiljaoca, kao i servisne informacije potrebne za "lijepljenje" paketa na strani primaoca. Mrežna oprema koristi zaglavlje da odredi gdje će poslati paket.

Adresiranje paketa.

Na internetu postoji mnogo detaljnih informacija o ovoj temi. Želim da kažem što bliže praksi.

Već u sljedećoj lekciji, za prijenos podataka korištenjem klijent-server tehnologije, morat ćemo postaviti informacije za adresiranje paketa. One. informacije o tome gdje dostaviti pakete podataka. Općenito, morat ćemo postaviti sljedeće parametre:

  • IP adresa uređaja;
  • subnet maska;
  • Ime domena;
  • IP adresa mrežnog gatewaya;
  • MAC adresa;
  • luka.

Hajde da shvatimo šta je to.

IP adrese.

Tehnologija klijent-server pretpostavlja da su svi pretplatnici svih mreža u svijetu povezani na jednu globalnu mrežu. U stvari, u mnogim slučajevima to je tačno. Na primjer, većina računara ili mobilnih uređaja povezan na internet. Stoga se koristi format adresiranja koji je dizajniran za tako veliki broj pretplatnika. Ali čak i ako se tehnologija klijent-server koristi u lokalnim mrežama, prihvaćeni format adrese je i dalje očuvan, uz očitu redundantnost.

Svakoj tački povezivanja uređaja sa mrežom se dodeljuje jedinstveni broj - IP adresa (Internet Protocol Address). IP adresa se ne dodeljuje uređaju (računaru), već interfejsu za povezivanje. U principu, uređaji mogu imati nekoliko tačaka povezivanja, što znači nekoliko različitih IP adresa.

IP adresa je 32-bitni broj ili 4 bajta. Radi jasnoće, uobičajeno je da se piše kao 4 decimalna broja od 0 do 255, odvojena tačkama. Na primjer, IP adresa mog servera je 31.31.196.216.

Kako bi se mrežnoj opremi olakšala izgradnja rute isporuke paketa u formatu IP adrese, uvedeno je logičko adresiranje. IP adresa je podijeljena u 2 logička polja: broj mreže i broj hosta. Veličine ovih polja zavise od vrijednosti prvog (najvišeg) okteta IP adrese i podijeljena su u 5 grupa - klasa. Ovo je takozvana metoda klasnog usmjeravanja.

Klasa Visoki oktet Format

(C-mreža,
U-čvor)

Početna adresa Krajnja adresa Broj mreža Broj čvorova
A 0 S.U.U.U. 0.0.0.0 127.255.255.255 128 16777216
B 10 S.S.U.U 128.0.0.0 191.255.255.255 16384 65534
C 110 S.S.S.U 192.0.0.0 223.255.255.255 2097152 254
D 1110 Adresa grupe 224.0.0.0 239.255.255.255 - 2 28
E 1111 Rezerva 240.0.0.0 255.255.255.255 - 2 27

Klasa A je namenjena za upotrebu u velikim mrežama. Klasa B se koristi u mrežama srednje veličine. Klasa C je namijenjena mrežama s malim brojem čvorova. Klasa D se koristi za upućivanje na grupe hostova, dok su adrese klase E rezervirane.

Postoje ograničenja u izboru IP adresa. Za nas glavne smatrao sam sljedeće:

  • Adresa 127.0.0.1 se naziva loopback i koristi se za testiranje programa unutar istog uređaja. Podaci koji se šalju na ovu adresu se ne prenose preko mreže, već se vraćaju u program višeg nivoa kako su primljeni.
  • „Sive“ adrese su IP adrese dozvoljene samo za uređaje koji rade u lokalnim mrežama bez pristupa Internetu. Ove adrese nikada ne obrađuju ruteri. Koriste se u lokalnim mrežama.
    • Klasa A: 10.0.0.0 - 10.255.255.255
    • Klasa B: 172.16.0.0 - 172.31.255.255
    • Klasa C: 192.168.0.0 - 192.168.255.255
  • Ako polje broja mreže sadrži sve 0, onda to znači da host pripada istoj mreži kao i host koji je poslao paket.

Subnet masks.

U klasnom rutiranju, broj bitova mrežne i adrese hosta u IP adresi je dan prema tipu klase. A postoji samo 5 klasa, a zapravo se koriste 3. Stoga vam metod klasnog rutiranja u većini slučajeva ne dozvoljava da optimalno odaberete veličinu mreže. To dovodi do rasipničkog korištenja IP adresnog prostora.

1993. godine uveden je metod bezklasnog rutiranja, koji je trenutno glavni. Omogućava vam da fleksibilno, a samim tim i racionalno odaberete potreban broj mrežnih čvorova. Ova metoda adresiranja koristi maske podmreže promjenjive dužine.

Mrežnom čvoru nije dodijeljena samo IP adresa, već i maska ​​podmreže. Ima istu veličinu kao i IP adresa, 32 bita. Maska podmreže određuje koji dio IP adrese je za mrežu, a koji za host.

Svaki bit podmrežne maske odgovara bitu IP adrese u istom bitu. 1 u bitu maske označava da odgovarajući bit u IP adresi pripada mrežnoj adresi, a bit maske sa vrijednošću 0 označava da bit u IP adresi pripada hostu.

Prilikom odašiljanja paketa, čvor koristi masku za izdvajanje mrežnog dijela iz svoje IP adrese, uspoređuje ga sa odredišnom adresom, a ako se poklapaju, to znači da su prijenosni i prijemni čvorovi na istoj mreži. Zatim se paket dostavlja lokalno. U suprotnom, paket se šalje preko mrežnog interfejsa u drugu mrežu. Naglašavam da maska ​​podmreže nije dio paketa. To utiče samo na logiku rutiranja čvora.

U stvari, maska ​​omogućava da se jedna velika mreža podijeli na nekoliko podmreža. Veličina bilo koje podmreže (broj IP adresa) mora biti višekratnik stepena 2. Tj. 4, 8, 16, itd. Ovaj uslov je određen činjenicom da bitovi mrežnih i adresnih polja moraju biti uzastopni. Ne možete postaviti, na primjer, 5 bitova - mrežnu adresu, zatim 8 bitova - adresu domaćina, pa opet bitove mrežne adrese.

Primjer mrežne notacije sa četiri čvora izgleda ovako:

Mreža 31.34.196.32, maska ​​255.255.255.252

Maska podmreže se uvijek sastoji od uzastopnih jedinica (znaci mrežne adrese) i uzastopnih nula (znaci adrese domaćina). Na osnovu ovog principa, postoji još jedan način da se zabilježe iste informacije o adresi.

Mreža 31.34.196.32/30

/30 je broj jedinica u podmrežnoj maski. U ovom primjeru ostaju dvije nule, što odgovara 2 bita adrese hosta, ili četiri hosta.

Veličina mreže (broj čvorova) duga maska Kratka maska
4 255.255.255.252 /30
8 255.255.255.248 /29
16 255.255.255.240 /28
32 255.255.255.224 /27
64 255.255.255.192 /26
128 255.255.255.128 /25
256 255.255.255.0 /24
  • Posljednji broj prve podmrežne adrese mora biti djeljiv bez ostatka veličinom mreže.
  • Prva i poslednja adresa podmreže su adrese usluge i ne mogu se koristiti.

Ime domena.

Za osobu je nezgodno raditi sa IP adresama. To su skupovi brojeva, a čovjek je navikao da čita slova, koherentno napisana slova su još bolja, tj. riječi. Kako bi ljudima bio pogodniji rad sa mrežama, koristi se drugačiji sistem za identifikaciju mrežnih uređaja.

Bilo kojoj IP adresi se može dodijeliti literalni identifikator koji je čitljiviji ljudima. Identifikator se zove ime domene ili domena.

Ime domene je niz od dvije ili više riječi razdvojenih tačkama. Posljednja riječ je domen prvog nivoa, pretposljednja riječ je domen drugog nivoa i tako dalje. Mislim da svi znaju za to.

Komunikacija između IP adresa i imena domena odvija se kroz distribuiranu bazu podataka koristeći DNS servere. Svaki vlasnik domene drugog nivoa mora imati DNS server. DNS serveri su kombinovani u složenu hijerarhijsku strukturu i mogu da razmenjuju podatke o korespondenciji između IP adresa i imena domena.

Ali nije sve toliko važno. Za nas je najvažnije da svaki klijent ili server može pristupiti DNS serveru sa DNS zahtjevom, tj. sa zahtjevom za podudaranje IP adresa - ime domene ili obrnuto ime domene - IP adresa. Ako DNS server ima informaciju o korespondenciji između IP adrese i domene, onda on odgovara. Ako ne zna, onda traži informacije na drugim DNS serverima i zatim obavještava klijenta.

Mrežni pristupnici.

Mrežni gateway je hardverski ruter ili softver za povezivanje mreža s različitim protokolima. U opštem slučaju, njegov zadatak je da konvertuje protokole jedne vrste mreže u protokole druge mreže. Mreže po pravilu imaju različite fizičke medije za prijenos.

Primjer je lokalna mreža računara povezanih na Internet. Unutar vlastite lokalne mreže (podmreže), računari komuniciraju bez potrebe za bilo kakvim posrednim uređajem. Ali čim računar treba da komunicira sa drugom mrežom, kao što je pristup Internetu, on koristi ruter koji deluje kao mrežni gateway.

Ruteri koje imaju svi koji su povezani na žičani internet su jedan primjer mrežnog gatewaya. Mrežni gateway je tačka preko koje se omogućava pristup Internetu.

Općenito, korištenje mrežnog gatewaya izgleda ovako:

  • Recimo da imamo sistem od nekoliko Arduino ploča povezanih preko Ethernet lokalne mreže na ruter, koji je zauzvrat povezan na Internet.
  • U lokalnoj mreži koristimo “sive” IP adrese (gore opisane) koje ne dozvoljavaju pristup Internetu. Ruter ima dva interfejsa: našu lokalnu mrežu sa „sivom“ IP adresom i interfejs za povezivanje na Internet sa „belom“ adresom.
  • U konfiguraciji čvora navodimo adresu gatewaya, tj. "bijela" IP adresa interfejsa rutera spojenog na Internet.
  • Sada, ako ruter primi paket od uređaja sa “sivom” adresom sa zahtjevom za primanje informacija sa interneta, on zamjenjuje “sivu” adresu u zaglavlju paketa svojom “bijelom” adresom i šalje je na globalnu mreže. Nakon što je dobio odgovor sa interneta, on zamjenjuje „bijelu“ adresu sa „sivom“ adresom koja je zapamćena tokom zahtjeva i prenosi paket na lokalni uređaj.

MAC adresa.

MAC adresa je jedinstveni identifikator za uređaje na lokalnoj mreži. U pravilu se snima kod proizvođača opreme u trajnoj memoriji uređaja.

Adresa se sastoji od 6 bajtova. Uobičajeno je da se piše heksadecimalno u sljedećim formatima: c4-0b-cb-8b-c3-3a ili c4:0b:cb:8b:c3:3a. Prva tri bajta su jedinstveni identifikator proizvodne organizacije. Ostali bajtovi se nazivaju ”broj interfejsa” i njihovo značenje je jedinstveno za svaki pojedini uređaj.

IP adresa je logična i postavlja je administrator. MAC adresa je fizička, stalna adresa. On je taj koji se koristi za adresiranje okvira, na primjer, u Ethernet lokalnim mrežama. Kada se paket pošalje na određenu IP adresu, računar određuje odgovarajuću MAC adresu koristeći posebnu ARP tabelu. Ako u tabeli nema podataka o MAC adresi, onda ih računar zahteva posebnim protokolom. Ako se MAC adresa ne može odrediti, na taj uređaj neće biti poslani paketi.

Luke.

Mrežna oprema koristi IP adresu za identifikaciju primaoca podataka. Ali uređaj, kao što je server, može pokrenuti više aplikacija. Kako bi se utvrdilo za koju aplikaciju su podaci namijenjeni, u zaglavlje se dodaje još jedan broj - broj porta.

Port se koristi za definiranje procesa primatelja paketa unutar iste IP adrese.

Za broj porta je dodijeljeno 16 bitova, što odgovara brojevima od 0 do 65535. Prvih 1024 porta rezervirano je za standardne procese kao što su pošta, web stranice itd. Bolje je da ih ne koristite u svojim aplikacijama.

Statičke i dinamičke IP adrese. DHCP protokol.

IP adrese se mogu dodijeliti ručno. Prilično zamorna operacija za administratora. A u slučaju kada korisnik nema potrebno znanje, zadatak postaje nerešiv. Osim toga, nisu svi korisnici stalno povezani na mrežu, a drugi pretplatnici ne mogu koristiti statičke adrese koje su im dodijeljene.

Problem je riješen korištenjem dinamičkih IP adresa. Dinamičke adrese se klijentima izdaju na ograničeno vrijeme dok su kontinuirano na mreži. Dinamičkom dodjelom adresa upravlja DHCP protokol.

DHCP je mrežni protokol koji omogućava uređajima da automatski dobiju IP adrese i druge postavke potrebne za rad na mreži.

U fazi konfiguracije, klijentski uređaj kontaktira DHCP server i od njega prima potrebne parametre. Može se specificirati raspon adresa distribuiranih među mrežnim uređajima.

Pregled postavki mrežnog uređaja pomoću komandne linije.

Postoji mnogo načina da saznate IP adresu ili MAC adresu vaše mrežne kartice. Najjednostavnije je koristiti CMD komande operativnog sistema. Pokazat ću vam kako to učiniti koristeći Windows 7 kao primjer.

Fascikla Windows\System32 sadrži datoteku cmd.exe. Ovo je interpreter komandne linije. Pomoću njega možete dobiti informacije o sistemu i konfigurirati sistem.

Otvorite prozor za izvršavanje. Da bismo to uradili, izvršavamo meni Start -> Run ili pritisnite kombinaciju tastera Win+R.

Otkucajte cmd i pritisnite OK ili Enter. Pojavljuje se prozor tumača komandi.

Sada možete postaviti bilo koju od mnogih naredbi. Za sada nas zanimaju komande za pregled konfiguracije mrežnih uređaja.

Prije svega, ovo je naredba ipconfig, koji prikazuje postavke NIC-a.

Detaljna verzija ipconfig/all.

Naredba prikazuje samo MAC adrese getmac.

Tabela korespondencije između IP i MAC adresa (ARP tabela) je prikazana naredbom arp -a.

Komandom možete provjeriti vezu s mrežnim uređajem ping.

  • ping naziv domene
  • ping IP adresu

Server moje stranice odgovara.

Osnovni mrežni protokoli.

Ukratko ću govoriti o protokolima koji su nam potrebni u budućim časovima.

Mrežni protokol je skup konvencija, pravila koja regulišu razmjenu podataka na mreži. Nećemo implementirati ove protokole na niskom nivou. Namjeravamo koristiti gotove hardverske i softverske module koji implementiraju mrežne protokole. Stoga, nema potrebe ulaziti u detalje o formatima zaglavlja, formatima podataka i tako dalje. Ali, zašto je potreban svaki protokol, po čemu se razlikuje od drugih, kada se koristi, morate znati.

IP protokol.

Internet protokol isporučuje pakete podataka sa jednog mrežnog uređaja na drugi. IP protokol ujedinjuje lokalne mreže u jednu globalnu mrežu, osiguravajući prijenos paketa informacija između bilo kojeg mrežnog uređaja. Od protokola predstavljenih u ovoj lekciji, IP je na najnižem nivou. Svi ostali protokoli ga koriste.

IP protokol radi bez uspostavljanja veze. Jednostavno pokušava da isporuči paket na navedenu IP adresu.

IP tretira svaki paket podataka kao poseban, nezavisan entitet, nepovezan sa drugim paketima. Nije moguće koristiti samo IP protokol za prijenos značajne količine povezanih podataka. Na primjer, u Ethernet mrežama, maksimalna količina podataka po IP paketu je samo 1500 bajtova.

U IP protokolu ne postoje mehanizmi za kontrolu valjanosti konačnih podataka. Kontrolni kodovi se koriste samo za zaštitu integriteta podataka zaglavlja. One. IP ne garantuje da će podaci u primljenom paketu biti tačni.

Ako dođe do greške tokom isporuke paketa i paket se izgubi, tada IP ne pokušava ponovo poslati paket. One. IP ne garantuje da će paket biti isporučen.

Ukratko o IP protokolu, možemo reći da:

  • isporučuje male (ne više od 1500 bajtova) pojedinačne pakete podataka između IP adresa;
  • ne garantuje da će dostavljeni podaci biti tačni;

TCP protokol.

Protokol kontrole prijenosa (protokol kontrole prijenosa) je glavni protokol za prijenos podataka na Internetu. Koristi sposobnost IP protokola za isporuku informacija od jednog hosta do drugog. Ali za razliku od IP-a, to:

  • Omogućava prijenos velike količine informacija. Podjelu podataka u pakete i “lijepljenje” podataka na prijemnoj strani obezbjeđuje TCP.
  • Podaci se prenose uz unaprijed uspostavljenu vezu.
  • Vrši provjere integriteta podataka.
  • U slučaju gubitka podataka inicira ponovljene zahtjeve za izgubljenim paketima, eliminiše dupliciranje prilikom prijema kopija jednog paketa.

Zapravo, TCP protokol uklanja sve probleme isporuke podataka. Ako je moguće, on će ih isporučiti. Nije slučajno što je ovo glavni protokol za prijenos podataka u mrežama. Često se koristi terminologija TCP/IP mreža.

UDP protokol.

User Datagram Protocol je jednostavan protokol za prijenos podataka bez uspostavljanja veze. Podaci se šalju u jednom smjeru bez provjere spremnosti prijemnika i bez potvrde isporuke. Veličina paketa može biti do 64 kB, ali u praksi mnoge mreže podržavaju samo veličinu podataka od 1500 bajtova.

Glavna prednost ovog protokola je jednostavnost i velika brzina prijenosa. Često se koristi u aplikacijama koje su kritične za brzinu kao što su video streamovi. U takvim zadacima, bolje je izgubiti nekoliko paketa nego čekati zaostale.

UDP protokol karakteriše:

  • to je protokol bez veze;
  • isporučuje male pojedinačne pakete podataka između IP adresa;
  • ne garantuje da će podaci uopšte biti dostavljeni;
  • neće reći pošiljaocu da li su podaci isporučeni i neće ponovo prenijeti paket;
  • nema redosleda paketa, redosled isporuke poruka nije definisan.

HTTP protokol.

Najvjerovatnije ću više o ovom protokolu pisati u narednim lekcijama. A sada ću ukratko reći da je ovo Hyper Text Transfer Protocol. Koristi se za dobivanje informacija sa web stranica. U ovom slučaju, web pretraživač djeluje kao klijent, a mrežni uređaj kao web server.

U sljedećoj lekciji ćemo primijeniti klijent-server tehnologiju u praksi koristeći Ethernet mrežu.

Korištenje klijent-server tehnologije

Vremenom je nedovoljno funkcionalan model servera datoteka za lokalne mreže (FS) zamijenjen modelima strukture klijent-server (RDA, DBS i AS) koji su se pojavljivali jedan za drugim.

Tehnologija "Klijent-Server", koja je zauzela samo dno baze podataka, postala je glavna tehnologija globalnog Interneta. Nadalje, kao rezultat prenošenja ideja o Internetu u sferu korporativnih sistema, nastala je intranet tehnologija. Za razliku od tehnologije "Klijent-server", ova tehnologija je fokusirana na informacije u konačnom obliku za potrošnju, a ne na podatke. Računalni sistemi, koji su izgrađeni na bazi Intraneta, uključuju centralne informacione servere i određene komponente za prezentovanje informacija poslednjem korisniku (pretraživači ili navigatori). Radnja između servera i klijenta na Intranetu se izvodi pomoću web tehnologija.

U moderno doba, tehnologija "klijent-server" je postala veoma raširena, ali sama ova tehnologija nema univerzalne recepte. On samo daje opšti sud o tome kako treba kreirati trenutni distributivni informacioni sistem. Slično tome, implementacije ove tehnologije u određenim softverskim proizvodima, pa čak i tipovima softvera su prilično značajno prepoznate.

Klasična dvostepena arhitektura "Klijent - server"

Mrežne komponente po pravilu nemaju jednaka prava: neke imaju pristup resursima (na primjer: sistem za upravljanje bazom podataka, procesor, štampač, sistem datoteka i drugi), dok druge imaju mogućnost pristupa ovim resursima. operativni sistem serverska tehnologija

Tehnologija "Klijent-Server" je arhitektura softverskog paketa koji raspoređuje aplikativni program na dva logički različita dela (server i klijent), koji međusobno deluju po šemi "zahtev-odgovor" i rešavaju svoje specifične zadatke.

Program (ili računar) koji upravlja i/ili posjeduje resurse naziva se server resursa.

Program (računar ili) koji traži i koristi resurs naziva se klijent ovog resursa.

U ovom slučaju se takvi uvjeti mogu pojaviti i kada će neki softverski blok istovremeno implementirati funkcije servera u odnosu na jedan blok i klijenta u odnosu na drugi blok.

Glavni princip tehnologije klijent-server je podijeliti funkcije aplikacije u najmanje tri veze:

Moduli korisničkog sučelja;

Ova grupa se naziva i logika prezentacije. Omogućava korisnicima interakciju s aplikacijama. Bez obzira na specifične karakteristike logike prezentacije (interfejs komandne linije, proxy interfejsi, složeni grafički korisnički interfejsi), njena svrha je da obezbedi sredstvo za efikasniju razmenu informacija između informacionog sistema i korisnika.

Moduli za pohranu podataka;

Ova grupa se naziva i poslovna logika. Poslovna logika pronalazi ono što je točno potrebno aplikaciji (na primjer, funkcije aplikacije specifične za dati domen). Odvajanje aplikacije duž granica između programa pruža prirodnu osnovu za distribuciju aplikacije na dva ili više računara.

Moduli za obradu podataka (funkcije upravljanja resursima);

Ova grupa se također naziva logičkim algoritmima pristupa podacima ili jednostavno pristup podacima. Algoritmi za unos podataka smatraju se specifičnim sučeljem za aplikaciju za trajni uređaj za pohranu kao što je DBMS ili sistem datoteka. Uz pomoć modula za obradu podataka organizovan je poseban interfejs za DBMS aplikaciju. Koristeći sučelje, aplikacija može upravljati vezama baze podataka i upitima (prevođenje upita specifičnih za aplikaciju u SQL, dobivanje rezultata i prevođenje tih rezultata natrag u strukture podataka specifične za aplikaciju). Svaki od navedenih linkova može se implementirati nezavisno od nekoliko drugih. Na primjer, bez mijenjanja programa koji se koriste za obradu i pohranjivanje podataka, možete promijeniti korisnički interfejs tako da će isti podaci biti prikazani u obliku tabela, histograma ili grafikona. Većina jednostavne aplikaciječesto su u stanju da sastave sve tri veze u jedan program, a takva podjela odgovara funkcionalnim granicama.

U skladu s podjelom funkcija u svakoj aplikaciji, razlikuju se sljedeće komponente:

  • - komponenta prezentacije podataka;
  • - komponenta aplikacije;
  • - komponenta upravljanja resursima.

Klijent-server u klasičnoj arhitekturi treba da distribuira tri glavna dijela aplikacije u 2 fizička modula. Obično se komponenta aplikacije nalazi na poslužitelju (na primjer, poslužitelj baze podataka), komponenta za prezentaciju podataka nalazi se na strani klijenta, a komponenta upravljanja resursima distribuira se između serverskih i klijentskih dijelova. To je glavni nedostatak klasične dvoslojne arhitekture.

U dvoslojnoj arhitekturi, kada odvajaju algoritame za obradu podataka, programeri moraju imati potpune informacije o najnovijim promjenama koje su napravljene na sistemu i razumjeti te promjene, što stvara ne male poteškoće u razvoju klijent-server sistema, njihovom održavanju i instalaciji. , budući da je potrebno uložiti velike napore u koordinaciji djelovanja različitih grupa stručnjaka. Često se javljaju kontradiktornosti u postupcima programera, a to usporava razvoj sistema i tjera promjene na gotove i provjerene elemente.

Da bi se izbjegla nekonzistentnost između različitih elemenata arhitekture, kreirane su dvije modifikacije dvoslojne arhitekture "Klijent - Server": "Debeli klijent" ("Thin server") i "Thin klijent" ("Thick Server").

U ovoj arhitekturi, programeri su pokušali da izvrše obradu podataka na jednom od dva fizička dijela - bilo na strani klijenta ("Thick Client") ili na serveru ("Thin Client").

Svaki pristup ima svoje značajne nedostatke. U prvoj situaciji mreža je nepotrebno preopterećena, jer se preko nje prenose neobrađeni, odnosno suvišni podaci. Osim toga, postaje teže održavati sistem i mijenjati ga, jer ispravljanje greške ili zamjena algoritma proračuna zahtijeva istovremenu potpunu zamjenu svih programa interfejsa, ako se ne izvrši potpuna zamjena, dolazi do nedosljednosti podataka ili može doći do grešaka. Ako se sva obrada informacija obavlja na serveru, tada se javlja problem opisivanja ugrađenih procedura i njihovog otklanjanja grešaka. Sistem sa obradom informacija na serveru apsolutno je nemoguće prenijeti na drugu platformu (OS), ovo je ozbiljan nedostatak.

Ako se stvara dvoslojna klasična klijent-server arhitektura, tada morate znati sljedeće činjenice:

Arhitektura "Thick Server" je slična arhitekturi "Thin Client".

Prosljeđivanje zahtjeva od klijenta do servera, obrada zahtjeva od strane servera i prosljeđivanje rezultata klijentu. U isto vrijeme, arhitekture imaju sljedeće nedostatke:

  • - implementacija postaje složenija, jer jezici kao što je SQL nisu pogodni za razvoj takvog softvera i ne postoje dobri alati za otklanjanje grešaka;
  • - performanse programa napisanih na jezicima kao što je SQL su veoma niske u odnosu na one kreirane na drugim jezicima, što je najvažnije za složene sisteme;
  • - programi koji su napisani na jezicima DBMS, po pravilu, ne funkcionišu vrlo pouzdano; greška u njima može dovesti do kvara cijelog poslužitelja baze podataka;
  • - rezultirajući programi su potpuno neprenosivi na druge platforme i sisteme.
  • - Arhitektura "Thick Client" je slična arhitekturi "Thin Server".

Obrada zahtjeva se vrši na strani klijenta, odnosno svi sirovi podaci sa servera se prenose do klijenta. U ovom slučaju, arhitekture imaju negativne aspekte:

  • - ažuriranje softvera postaje komplikovanije, jer se njegova zamena mora vršiti istovremeno u celom sistemu;
  • - distribucija ovlasti postaje komplikovanija, jer se kontrola pristupa ne vrši akcijama, već tabelama;
  • - mreža je preopterećena zbog prijenosa sirovih podataka kroz nju;
  • - Slaba zaštita podataka, jer je teško pravilno dodijeliti ovlaštenja.

Da biste riješili ove probleme, morate koristiti višerazinske (tri ili više nivoa) klijent-server arhitekture.

Model na tri nivoa .

Od sredine 90-ih godina prošlog vijeka među stručnjacima je postala popularna troslojna arhitektura „Klijent – ​​server“ koja je informacioni sistem po funkcionalnosti podelila na tri određene veze: logiku pristupa podacima, logiku prezentacije i poslovnu logiku. Za razliku od dvoslojne arhitekture, troslojna ima dodatnu vezu - aplikacioni server dizajniran da implementira poslovnu logiku, dok je klijent potpuno rasterećen, koji šalje zahtjeve do međuvera, a sve mogućnosti servera su maksimalno iskorišten.

U troslojnoj arhitekturi, klijent, po pravilu, nije preopterećen funkcijama obrade podataka, već svoju glavnu ulogu obavlja kao sistem za predstavljanje informacija koje dolaze sa servera aplikacija. Takav interfejs se može implementirati korišćenjem standardnih alata Web tehnologije - pretraživača, CGI i Java. Ovo smanjuje količinu podataka između klijenta i servera aplikacija, omogućavajući klijentskim računarima da se povežu čak i preko sporih linija kao što su telefonske linije. U tom smislu, strana klijenta može biti toliko jednostavna da se u većini slučajeva izvodi pomoću univerzalnog pretraživača. Međutim, ako ga ipak morate promijeniti, onda se ovaj postupak može provesti brzo i bezbolno.

Aplikacioni server je softver koji je međusloj između servera i klijenta.

  • - Orijentisani na poruke - istaknuti predstavnici MQserije i JMS;
  • - Object Broker - istaknuti predstavnici CORBA-e i DCOM-a;
  • - Zasnovano na komponentama - sjajni predstavnici .NET-a i EJB-a.

Upotreba servera aplikacija donosi mnogo više mogućnosti, na primjer, smanjeno je opterećenje klijentskih računala, budući da aplikacijski server raspoređuje opterećenje i pruža zaštitu od kvarova. Budući da je poslovna logika pohranjena na poslužitelju aplikacija, na klijentske programe ni na koji način ne utječu promjene u izvještajima ili proračunima.

Postoji nekoliko servera aplikacija poznatih kompanija kao što su Sun, Oracle Microsystem, IBM, Borland, a svaki od njih se razlikuje po setu usluga koje pruža (u ovom slučaju neću uzimati u obzir performanse). Ove usluge olakšavaju programiranje i implementaciju aplikacija za cijelo preduzeće. Obično, aplikacijski server pruža sljedeće usluge:

  • - WEB server - najčešće uključen u isporuku najmoćnijeg i najpopularnijeg Apachea;
  • - WEB Container - omogućava vam da izvršite JSP i servlete. Za Apache, ova usluga je Tomcat;
  • - CORBA Agent - može osigurati distribuirani direktorij za pohranjivanje CORBA objekata;
  • - Messaging Service - broker poruka;
  • - Transakciona usluga - već iz naziva je jasno da se radi o transakcijskoj usluzi;
  • - JDBC - drajveri za povezivanje sa bazama podataka, jer je aplikacijski server taj koji će morati da komunicira sa bazama podataka i treba da bude u mogućnosti da se poveže sa bazom podataka koja se koristi u vašoj kompaniji;
  • - Java Mail - ova usluga može pružiti uslugu SMTP-u;
  • - JMS (Java Messaging Service) - obrada sinhronih i asinhronih poruka;
  • - RMI (Remote Method Invocation) - pozivanje udaljenih procedura.

Slojeviti klijent-server sistemi se lako mogu prevesti na Web tehnologiju - za to je potrebno da zamenite klijentski deo specijalizovanim ili univerzalnim pretraživačem, a server aplikacija dopunite sa Web serverom i malim serverskim pozivaocima procedura. Za

Ovi programi se mogu razviti koristeći ili Common Gateway Interface (CGI) ili moderniju Java tehnologiju.

U sistemu na tri nivoa, najbrže linije koje zahtevaju minimalne troškove mogu se koristiti kao komunikacioni kanali između aplikacijskog servera i DBMS-a, jer se serveri obično nalaze u istoj prostoriji (serverskoj sobi) i neće preopteretiti mrežu zbog prenos velike količine informacija.

Sve navedeno navodi na zaključak da je dvorazinska arhitektura vrlo inferiorna u odnosu na višerazinsku arhitekturu, s tim u vezi, danas se koristi samo višerazinska arhitektura klijent-server, koja prepoznaje tri modifikacije - RDA, DBS i AS.

Različiti modeli "klijent-server" tehnologije

Prva osnovna osnovna tehnologija za LAN je bila model servera datoteka (FS).. U to vrijeme ova tehnologija je bila vrlo česta među domaćim programerima koji su koristili sisteme kao što su FoxPro, Clipper, Clarion, Paradox i tako dalje.

U FS modelu, funkcije sve 3 komponente (komponenta prezentacije, komponenta aplikacije i komponenta pristupa resursima) su kombinovane u jednom kodu koji se izvodi na serverskom računaru (host). Klijentski računar u ovoj arhitekturi potpuno je odsutan, a prikaz i uklanjanje podataka se vrši pomoću računarskog računara ili terminala po redosledu emulacije terminala. Aplikacije se obično formiraju na jeziku četvrte generacije (4GL). Jedan od računara na mreži smatra se serverom datoteka i pruža usluge obrade datoteka drugim računarima. Radi pod kontrolom mrežnih operativnih sistema i igra važnu ulogu kao komponenta pristupa informacijskim resursima. Na drugim računarima u mreži radi se aplikacija u čijim kodovima su povezane komponenta aplikacije i komponenta prezentacije.

Tehnologija djelovanja između klijenta i servera je sljedeća: zahtjev se šalje fajl serveru, koji prenosi DBMS-u, koji se nalazi na klijentskom računaru, potreban blok podataka. Sva obrada se vrši na terminalu.

Protokol razmjene je skup poziva koji daju aplikaciji ulaz za sistem podataka na serveru datoteka.

Pozitivni aspekti ove tehnologije su:

  • - jednostavnost razvoja aplikacije;
  • - jednostavnost administracije i ažuriranja softvera
  • - niske cijene opreme na radnom mjestu (terminali ili jeftini računari sa niskim performansama u režimu emulacije terminala uvek su jeftiniji od punopravnih računara).

Ali prednosti FS modela nadmašuju njegove nedostatke:

Unatoč velikoj količini podataka koji se šalju preko mreže, vrijeme odgovora je kritično, jer svaki znak koji klijent unese na terminalu mora se prenijeti na server, obraditi od strane aplikacije i vratiti kako bi se prikazao na ekranu terminala. . Osim toga, postoji i problem raspodjele opterećenja između nekoliko računara.

  • - skup serverski hardver budući da svi korisnici dijele njegove resurse;
  • - nema GUI .

Zahvaljujući rješenju problema svojstvenih tehnologiji "File - Server", pojavila se naprednija tehnologija pod nazivom "Klijent - Server".

Za moderni DBMS, arhitektura klijent-server je postala de facto standard. Ako se pretpostavi da će mrežna tehnologija koja se projektuje imati arhitekturu "klijent-server", to znači da će se aplikativni programi implementirani u njenom okviru distribuirati, odnosno dio aplikativnih funkcija implementirati u program klijenta. , drugi - u programu -server.

Razlike u implementaciji aplikacija u okviru tehnologije "Klijent-Server" određuju četiri faktora:

  • - koji se tipovi softvera nalaze u logičkim komponentama;
  • - koji se softverski mehanizmi koriste za implementaciju funkcija logičkih komponenti;
  • - kako se logičke komponente distribuiraju od strane računara u mreži;
  • - koji se mehanizmi koriste za međusobno povezivanje komponenti.

Na osnovu toga razlikuju se tri pristupa, od kojih je svaki implementiran u odgovarajući model tehnologije klijent-server:

  • - model daljinskog pristupa podacima (Remote Date Access - RDA);
  • - model servera baze podataka (DateBase Server - DBS);
  • - model aplikacijskog servera (Application Server - AS).

Značajna prednost RDA modela je širok izbor alata za razvoj aplikacija koji omogućavaju brz razvoj desktop aplikacija koje rade sa SQL baziranim DBMS-om. Alati po pravilu podržavaju grafičko korisničko sučelje sa OS-om, kao i alate za automatsko generiranje koda koji miješaju funkcije prezentacije i aplikacije.

Unatoč velikoj distribuciji, RDA model ustupa mjesto tehnološki najnaprednijem DBS modelu.

Model poslužitelja baze podataka (DBS). - Mrežna arhitektura tehnologije "Klijent - Server" koja se zasniva na mehanizmu uskladištenih procedura koje implementiraju funkcije aplikacije. U DBS modelu, koncept informacijskog resursa je komprimiran u bazu podataka zbog istog mehanizma pohranjenih procedura implementiranih u DBMS, a čak i tada ne u svim.

Pozitivni aspekti DBS modela u odnosu na RDA model su očigledni: to je mogućnost centralizirane administracije različitih funkcija, te smanjenje mrežnog prometa jer se pozivi pohranjenim procedurama prenose preko mreže umjesto SQL upita, te mogućnost razdvajanje procedure između dve aplikacije i čuvanje računarskih resursa za račun korišćenja jednom kreiranog plana izvršenja procedure.

Model poslužitelja aplikacija (AS). - ovo je mrežna arhitektura tehnologije "Klijent - Server", koja je proces koji se pokreće na klijentskom računaru i odgovoran je za korisnički interfejs (unos i prikaz podataka). Najvažniji element takvog modela je komponenta aplikacije, koja se zove aplikacijski server, na kojoj ona radi udaljeni računar(ili dva računara). Aplikacijski server je implementiran kao grupa aplikativnih funkcija dizajniranih kao servisi (servise). Svaka usluga pruža neke usluge svim programima koji ih žele i mogu koristiti.

Saznavši sve modele tehnologije "Klijent-Server", možemo izvući sledeći zaključak: RDA- i DBS-modeli, ova dva modela su zasnovana na dvoslojnoj šemi razdvajanja funkcija. U RDA modelu, aplikativne funkcije se prenose na klijenta, u DBS modelu njihovo izvršavanje se implementira preko DBMS kernela. U RDA modelu, komponenta aplikacije se spaja sa komponentom prezentacije, u DBS modelu je integrirana u komponentu pristupa resursima.

AS-model implementira troslojnu šemu razdvajanja funkcija, gdje je komponenta aplikacije izdvojena kao glavni izolirani element aplikacije, koji ima standardizirana sučelja sa dvije druge komponente.

Rezultati analize tehnoloških modela „File Server“ i „Klijent – ​​Server“ prikazani su u tabeli 1.

Uprkos svom nazivu, tehnologija klijent-server je takođe distribuirani računarski sistem. U ovom slučaju distribuirano računarstvo shvatiti kao arhitekturu "Klijent - server" uz učešće nekih servera. Kada se primjenjuje na distribuiranu obradu, termin "server" jednostavno označava program koji odgovara na zahtjeve i izvodi potrebne radnje na zahtjev klijenta. Pošto je distribuirano računarstvo vrsta klijent-server sistema, korisnici dobijaju iste prednosti, kao što su povećana ukupna propusnost i mogućnost obavljanja više zadataka. Također, integracija diskretnih mrežnih komponenti i njihovo funkcioniranje kao cjelina pomaže u povećanju efikasnosti i smanjenju ušteda.

Pošto se obrada implementira bilo gdje u mreži, distribuirano računanje u klijent-server arhitekturi garantuje efikasno skaliranje. Da bi se uspostavila ravnoteža između servera i klijenta, komponenta aplikacije treba da radi na serveru samo ako je centralizovana obrada efikasnija. Ako se logika programa koji stupa u interakciju s centraliziranim podacima nalazi na istom stroju kao i podaci, ne mora se prenositi preko mreže, tako da se zahtjevi za mrežno okruženje mogu smanjiti.

Kao rezultat, možemo izvući sljedeći zaključak: ako trebate raditi s malim informacionim sistemima koji ne zahtijevaju grafičko korisničko sučelje, možete koristiti FS model. Pitanje GUI-a može se slobodno riješiti RDA-modelom. DBS model je vrlo dobra opcija za sisteme upravljanja bazom podataka (DBMS). AS-model je najbolja opcija za kreiranje velikih informacionih sistema, kao i kada se koriste komunikacijski kanali male brzine.

 
Članci on tema:
Trajno brisanje podataka Izbrišite sve podatke sa čvrstog diska
Red u računaru je ključ dobrobiti korisnika - nema kvarova, maksimalne performanse. Da, i vizuelno je jasno gde koji fajl leži, koji programi su instalirani, čemu služe. Ali ako, naprotiv, na PC diskovima vlada haos ... - ovo je def
Statistika korištenja Messengera
Oni su glavno sredstvo komunikacije među korisnicima mobilnih uređaja i računara. SMS, MMS, pa čak i e-pošta postaju zastarjeli i manje zgodni od aplikacija za razmjenu trenutnih poruka koje često koriste vaš broj telefona.
Osnove klijent-server tehnologije Mrežna prijava
Tehnologija klijent-server je metoda povezivanja između klijenta (korisničkog računara) i servera (moćnog računara ili opreme koja obezbeđuje podatke), u kojoj oni međusobno direktno komuniciraju. Šta je "klijent-server"? Često
Isključite Linux iz komandne linije Kako isključiti Linux sa konzole
Nijedan operativni sistem nije savršen. Čak i ako je to slučaj, može doći do problema sa drajverima i aplikacijama. Linux nije izuzetak. Iako je stabilniji od Windowsa, vjerovatno će doći trenutak kada ćete morati ponovo pokrenuti računar.