Lekc07 - Datorzinātnes un informācijas tehnoloģijas

Download Report

Transcript Lekc07 - Datorzinātnes un informācijas tehnoloģijas

Lekc07
Klient/servera sadarbības
arhitektūra un
TCP/IP steka galvenie
pakalpojumi
Saturs
•
•
•


Lietojumprocesu sadarbības veidi datortīklos
Vienādranga sadarbības modelis
Klient/servera sadarbības modelis
Klientservera tehnoloģija un tās priekšrocības
Dažādi klientservera tehnoloģijas pielietojumi
TCP/IP vidē
Sadarbības veidi datortīklos
Datoru sadarbības veidus tīklos noteic to arhitektūras
koncepcijas (modeļi), kas var būt:
• Vienādranga (peer-to-peer) arhitektūra
• Klient/servera (client/server) arhitektūra
Vienādranga modelis paredz, ka visām stacijām (objektiem) ir
vienādas datu pārraides tiesības.
To lieto, piem., atvērto sistēmu sadarbības bāzes etalonmodelī.
Klient/servera modelis paredz datu apstrādes procesu
sadalīt starp klientu (lietojumprocesu vai PC) un serveri,
kas vienlaikus var apkalpot vairākus klientus.
Serveris vienmēr ir gatavības stāvoklī un tā lietojuma
process pasīvi gaida kontaktu, bet klienta process aktīvi
iniciē sakarus ar to.
Reālos tīklos bieži vien realizētas šo sadarbības veidu
kombinācijas, piem., e-pasta gadījumā.
Vienādranga sadarbības modelis
• Tas nozīmē:
– vienlīdzīgu partneru sadarbību starp sistēmām
– Pieprasījumus pildīt klienta un servera funkcijas katrai
sistēmai
• Apraksta arī sadarbību starp viena etalonmodeļa
slāņa protokolu objektiem dažādās sistēmās
Vienādranga sadarbības piemērs
Arhitektūra “klients-serveris” un
vienādranga arhitektūra
Šodien lielākā daļa tīklu lieto modeli “klients-serveris”.
Tīkls ar arhitektūru “klients-serveris” ir tīkla vide, kurā
dators-klients ierosina pieprasījumu datoram-serverim,
kurš šo pieprasījumu izpilda.
Parasti, pat vienādranga tīklā, jebkurš dators ir vienlaicīgi
gan klients, gan serveris.
Modeļa “klients-serveris” darbība tiks izskatīta uz datu
bāžu pārvaldības sistēmas piemēra.
pieprasījums
Problēmas,
rezultātu
interpretācija
serveris
klients
rezultāts
Dati,
procedūras
Klienta-servera sadarbība caur tīklu
Strukturētās vaicājumvalodas SQL
lietošana
Modelī “klients-serveris” klienta programmatūra izmanto
strukturēto vaicājumvalodu (Structured Query Language SQL), kura pārtulko pieprasījumu no lietotājam saprotamas
valodas uz mašīnai saprotamo valodu. SQL ir vaicājumvaloda,
kas ir tuva dabīgai angļu valodai.
To izstrādāja IBM, lai nodrošinātu vienkāršu datu manipulēšanas
metodi.
Datu manipulēšana ir to ievade, meklēšana, izvilkšana un
rediģēšana.
Pēc neilga laika arī citi piegādātāji saprata, ka kopīgas valodas
izmantošana paātrinās lietojumu radīšanu, kuri darbojas ar datu
bāzēm.
Tā SQL kļuva par standartu. Ar to strādā lielākā daļa datu bāžu
pārvaldības sistēmu.
Pieprasījumu izpilde
Pieprasījumu datu bāzei ierosina klients, taču izpilda to serveris.
Klientam tiek atsūtīts pa tīklu tikai rezultāts.
Šis process sastāv no sešiem etapiem.
1. Klients pieprasa datus.
2. Pieprasījums tiek pārveidots SQL.
3. SQL-pieprasījums tiek pārraidīts pa tīklu uz serveri.
4. Datu bāzes serveris realizē meklēšanu DB, kurā atrodas dati.
5. Pieprasītie ieraksti tiek atsūtīti klientam.
6. Dati tiek nodoti lietotājam.
Vide “klients-serveris” satur divus galvenos komponentus:
1. lietojumu, kuru bieži sauc par klientu, vai interfeisa daļu
(front-end), tas atrodas klienta datorā;
2. datu bāzes serveri, kuru parasti sauc par serveri, vai
lietojuma daļu (back-end).
Klienta funkcijas
Lietotājs ģenerē pieprasījumu ar interfeisa lietojuma palīdzību,
kurš izpilda sekojošas funkcijas:
1. nodrošina lietotāja interfeisu;
2. veido pieprasījumus;
3. Atveido (interpretē) no servera saņemtos datus (piem., Excel
formā)
Klientservera vidē serverim netiek piešķirts lietotāja interfeiss.
Ar datu pasniegšanu ērtā formā, piemēram, pārskata veidā,
nodarbojas klients.
Dators-klients saņem instrukcijas no lietotāja, sagatavo tos
serverim, un pēc tam pa tīklu nosūta pieprasījumu serverim.
Serveris apstrādā pieprasījumu, veic nepieciešamo datu
meklēšanu un nosūta tos klientam. Klients lietotājam ērtā
formā atveido saņemto informāciju.
Klientservera vidē datora-klienta lietotājam ir darīšana ar ekrāna
formu. Tajā viņš uzdod nepieciešamās informācijas
parametrus.
Klient/servera lietojumu piemēri
Kā piemēru var minēt informāciju (tā glabājas vienā datu bāzē)
par kādas ražošanas kompānijas pircējiem un produkciju.
Taču arī šo informāciju interfeisa daļa var piedāvāt dažādos
veidos:
1. tirdzniecības nodaļa nosūta reklāmas materiālu pircējiem,
zinot viņu pasta indeksu;
2. izplatītāji precizē preču esamību noliktavā;
3. apkalpošanas nodaļa noskaidro, kuram no klientiem ir
vajadzīgi pakalpojumi;
4. komerciālais dienests uzskaita katra klienta pirkumus;
5. kredīta nodaļa apstādina klienta apkalpošanu, ja tā rēķins
izraisa šaubas.
Katrai nodaļai ir nepieciešama sava interfeisa daļa.
Tā dos pieeju kopīgai datu bāzei un izsniegs informāciju tādā
formā, kura atbilst konkrētās nodaļas specifikai.
Instrumentālie līdzekļi interfeisa daļai
Instrumentālie līdzekļi (tools), lietojumi un utilītas interfeisa daļai
papildina klientservera modeļa iespējas. Pie šiem līdzekļiem
pieder:
1. Pieprasījumu līdzekļi. Tie atvieglo pieeju servera datiem,
izmantojot iepriekš noteiktos pieprasījumus un iebūvētas
iespējas pārskatu izveidošanai.
2. Lietotāja lietojumi. Daudzi standarta lietojumi (piemēram,
Microsoft Excel) var darboties kā interfeisa daļa, piedāvājot
pieeju datu bāzes serverim. Citiem lietojumiem (piem.,
Microsoft Access) ir savs SQL, kurš nodrošina pieeju
dažādu ražotāju datu bāžu pārvaldības sistēmām.
3. Programmu izstrādes līdzekļi. Sistēmu “klients-serveris”
realizācijai nepieciešamas speciāli izstrādātas interfeisa
daļas. Programmu izstrādāšanas līdzekļi (piemēram,
Microsoft Visual Basic®) ievērojami atvieglo informācijas
sistēmu programmētājiem un administratoriem lietojumu,
kuri atbild par pieeju datu bāžu serveriem, radīšanu.
Servera funkcijas
Serveris klientservera vidē parasti ir domāts datu glabāšanai un
pārvaldīšanai. Tas realizē lielāko daļu operāciju ar datiem.
Serveri sauc arī par modeļa “klients-serveris” lietojuma daļu, jo
tieši tas izpilda klientu pieprasījumus.
Serveris:
1. saņem pa tīklu no klientiem strukturētos pieprasījumus,
2. izpilda tos, un pēc tam
3. atgriež klientam nepieciešamo informāciju.
Programmatūra, kas uzstādīta serverī datu bāzes pārvaldīšanai,
reaģējot uz klientu pieprasījumiem, uzsāk informācijas
meklēšanu.
Kā sistēmas “klients-serveris” daļa, tas atgriež tikai meklēšanas
rezultātus.
Datu apstrāde serverī
Datu apstrāde serverī ietver to:
1. sakārtošanu,
2. pieprasītās informācijas izvilkšanu un
3. tās nosūtīšanu uz lietotāja adresi.
Datu bāzes servera programmatūra paredz, turklāt,
sekojošas darbības ar informāciju (datiem):
1. atjaunošanu;
2. dzēšanu;
3. pievienošanu;
4. aizsardzību.
Glabājamās procedūras
Glabājamās procedūras (stored procedures) ir īsas, iepriekš
uzrakstītas datu apstrādes procedūras.
Glabājas serverī un tās var izmantot jebkurš klients (kam atļauja).
Glabājamās procedūras palīdz apstrādāt datus, samazinot koda
garumu un izmantojamo diska telpu datoros-klientos.
Vienu glabājamo procedūru var izsaukt jebkurš skaits klientu,
turklāt iekļaut to katras programmas kodā nav obligāti.
Glabājamo procedūru darbības sfēra:
1. realizē daļēju datu apstrādi, ko parasti vada klients;
2. samazina tīkla trafiku, jo vienīgais klienta pieprasījums
noved pie glabājamās procedūras komandu sērijas
izpildīšanas, katra no kurām prasītu atsevišķu pieprasījumu;
3. veic drošības kontroli, lai novērstu nesankcionēto dažu
procedūru palaišanu.
Klienta-servera tīklu arhitektūra
Pastāv vairāki modeļa “klients-serveris” realizācijas veidi.
Divi galvenie no tiem ir sekojošie:
1. dati tiek izvietoti vienā datu bāzes serverī;
2. dati tiek izvietoti vairākos datu bāzes serveros, atkarībā
no lietotāju izvietošanas un datu tipa (t.i. dalītas sistēmas
uzbūve) –
•
problēma: datu atjaunošanas nepieciešamība
Ir iespējami divi dalītas sistēmas uzbūves varianti:
3. periodiska serveru sinhronizācija caur globālo tīklu
(nodrošinās datu vienveidību visos serveros);
4. datu glabātavas (repository) izmantošana (nodrošinās
liela informācijas apjoma glabāšanu un bieži izsaucamo
datu pārraidīšanu starpsistēmās, kuras, savukārt,
pārveido tos ērtā formātā; pateicoties tam, samazinās
slodze uz galveno serveri).
Klientservera tehnoloģijas priekšrocības
Tehnoloģija izveido vidi, kas dod sekojošas priekšrocības:
1. labi saplānota klientservera sistēma nodrošina relatīvi lētu
platformu, kurai ir gan lieldatoru skaitļošanas iespējas gan
vienkārši uzstādama konkrētu uzdevumu izpildei.
2. klientservera apstrāde samazina tīkla trafiku, jo caur tīklu
tiek nosūtīti tikai pieprasījuma rezultāti.
3. Failu operāciju slodze uzlikta serverim, kurš ir jaudīgāks
par klientiem un spēj labāk apkalpot pieprasījumus.
4. Tīkliem ar intensīvo trafiku tas nozīmē, ka slodze tiks sadalīta
vienmērīgāk, nekā tradicionālajos tīklos uz servera pamata.
5. Modeļa “klients-serveris” tīkls samazina klientu prasības
pēc op. atmiņas, jo darbības ar failiem veic uz servera.
6. serveri ir spējīgi glabāt lielu datu daudzumu. Pateicoties
tam, datoros-klientos atbrīvojas ievērojama diska telpas daļa
citiem lietojumiem.
7. visas sistēmas pārvaldība, iekļaujot tās drošības kontroli,
kļūst daudz vienkāršāka, jo visi faili un dati tiek centralizēti
izvietoti serverī vai nelielā skaitā serveru. Tiek atvieglota arī
rezerves kopēšana.
Klienta programmatūra
Autonomās sistēmās, kad lietotājs ievada pieprasījuma
komandu datoram kāda uzdevuma izpildei, šo
pieprasījumu pārraida caur lokālo maģistrāli datora
procesoram.
Piemēram, ja vēlamies redzēt kataloga saturu, kurš ir
izvietots vienā no datora lokāliem diskiem, procesors
interpretē pieprasījumu, bet pēc tam izvada uz displeja
kataloga saturu.
Tīkla vidē, kad lietotājs veic pieprasījumu, kas attiecās
uz attālā servera resursiem, šo pieprasījumu pārsūta
(vai pāradresē) no lokālās datora maģistrāles tīklam,
uz serveri ar nepieciešamo resursu.
Redirektors
Pieprasījumu pārsūtīšana (vai pāradresācija) tiek izpildīta ar
redirektora (redirector) palīdzību.
Atkarībā no tīkla programmatūras, redirektors var saukties par
apvalku (shell) vai pieprasītāju (requester).
Redirektors ir neliels operētājsistēmas koda fragments, kurš:
1. pārķer pieprasījumus datorā;
2. noteic, vai pieprasījumam ir jānonāk lokālajā datora
maģistrālē, vai tas jāpārsūta caur tīklu uz citu serveri.
Tātad, redirektora darbs sākas ar brīdi, kad lietotājs nosūta
pieprasījumu tīkla resursam vai dienestam.
Lietotāja dators šajā gadījumā tiek saukts par klientu, jo tieši
tas veic pieprasījumu serverim.
Pieprasījumu pārķer redirektors un pārsūta caur tīklu.
Windows NT redirektoru pieprasījumus apkalpo serveris, dodot
pieeju nepieciešamiem resursiem.
Servera programmatūra
Servera programmatūra ļauj visiem sistēmas datoriem kopīgi
izmantot datus un servera perifērijas iekārtas (printerus,
skenerus, diskus).
Parasti visi Windows NT datori satur gan klienta, gan servera
programmatūru.
Pat ja darba stacijas Windows NT vadībā pilda klientu lomu,
tiem ir iebūvēta programmatūra servera funkciju izpildei.
Turpretim Novel Netware tīkla OS serveriem ir tikai servera
programmatūra, bet klientiem – tikai klienta programmatūra
Program-kompomponentu sadarbība
tīklā klient/servera modelī
Klientu programmu moduļu
raksturojumi
Vairumam klient/serveru sadarbības modeļiem ir kopējas
iezīmes.
Klientu programmu moduļi:
1. Ir jebkura lietojuma programma, kas kļūst par klientu uz
laiku, kad tai vajadzīga piekļuve attāliem resursiem;
2. Tos iniciē lietotājs un tie darbojas tikai viena seansa laikā;
3. Darbojas lokāli uz lietotāja datora
4. Aktīvi iniciē kontaktus ar serveri
5. Nepieciešamības gadījumā var vērsties pie vairākiem
pakalpojumu sniedzējiem, bet katrā laika momentā
kontaktē tikai ar vienu serveri
6. Neprasa speciālu aparatūru vai sarežģītu OS.
Serveru programmu moduļu
raksturojumi
Serveru programmu moduļi:
1. Ir specializētas programmas, kas sniedz viena veida
pakalpojumus, bet spēj vienlaikus apkalpot vairākus
klientus
2. Tiek izsauktas automātiski ielādes laikā un turpina strādāt
veicot vienu seansu pēc otra
3. Tiek realizētas uz koplietošanas (servera klases) datora
4. Pasīvi gaida savienojumu pieprasījumus no attāliem
klientiem, izmantojot pieprasījumu/atbildes (request/reply)
ziņojumus.
5. Pieņem klientu pieprasījumus, bet veic viena veida apkalpi
6. Prasa izmantot jaudīgu aparatūru un sarežģītu OS
Pieprasījumi, atbildes un datu plūsmu
virzieni
Datu plūsmas starp klientu un serveri var iet kā vienā
tā abos virzienos.
Parasti klients dod pieprasījumu un serveris sniedz
atbildi uz to, bet var būt arī sarežģītāki datu
plūsmas veidi, piem.,:
1. Klients dod vairākus pieprasījumus, serveris –
vairākas atbildes
2. Pēc pieprasījuma serveris sniedz daudzreiz
atbildes (meteoroloģiskie ziņojumi)
3. Serveris var eksportēt vai importēt failus pēc
klienta pieprasījuma
TCP/IP protokolu lietošana
klient/servera modelī
Vairāku pakalpojumu veidi (serveri) vienā
datorā piem.,failu serveris un www serveris
Pakalpojumu identifikācija
Transporta protokoli dod iespējas klientam viennozīmīgi atrast
vajadzīgos pakalpojumus ar portu numuru palīdzību.
Protokola porta numuri ir 16-bitu veseli skaitļi, kas unikāli
identificē katru pakalpojumu. Klients veicot pieprasījumu
uzrāda porta numuru.
Servera datorā TCP lieto klienta un servera portu numuru
kombināciju kā arī to IP-adrešu kombināciju katra konkrēta
seansa identificēšanai.
Datu apmaiņai starp klientiem un serveriem izmanto transporta
protokolus TCP vai UDP.
Vairāku servera kopiju lietošana sniedzot
viena veida pakalpojumus
Paralēlu darbību darbu izpildes princips ir serveru darbības
pamatā.
Lai klientiem nebūtu jāgaida rindā, katru klienta pieprasījumu
izpilda atsevišķa servera kopija.
Tas ļauj ātri izpildīt pieprasījumus, negaidot iepriekšējo
pabeigšanu.
Faktiski servera programma sastāv no 2 daļām:
1. viena pieņem pieprasījumus (galvenā plūsma) un veido
jaunu vadības plūsmu, bet
2. otra apstrādā pieprasījumu (darba plūsma).
Ja viens dators apkalpo N klientus, tad tas nodrošina N+1
plūsmas.
Klient/servera sadarbības sarežģītākie varianti
Klient/servera sadarbībā var tikt izmantoti dažādi varianti:
1. Klienta lietojums var sākumā būt par viena pakalpojuma
klientu, bet pēc tam – par cita.
2. Lai samazinātu apkalpes laiku, klients var vienlaikus
vērsties pie vairākiem serveriem un izmantot tā servera
pakalpojumus, kas pirmais sniedz atbildi.
3. Viena pakalpojuma serveris var kļūt par cita pakalpojuma
klientu, piem., faila serveris var kļūt par laika servera
klientu, lai reģistrētu pakalpojuma laiku (sadarbība
serveris/serveris).
Portu adresācija
TCP/IP sistēma adresācijai lieto IP-adreses un porta numura
kombināciju, ko sauc par soketu.
To apzīmē porta adresi atdalot ar kolu, piem., pieraksts
192.168.2.10:21 nozīmē 21 portu (FTP-serveris) pēc IPadreses 192.168.2.10.
Pazīstamu portu adreses publicētas RFC 1060 un, galvenokārt,
paredzētas serveriem, klientiem pastāvīgi portu numuri nav.
IANA kontrolē portu numurus no 1 līdz 1023, tādēļ uz laiku
piešķiramie portu numuri ir 1024 un lielāki.
Serveris saņemot datus no klienta izmanto avota (Source Port)
adresi atbildei.
Lietojumprogrammu jeb API saskarne
Par lietojumprogrammu jeb API (Application Program Interface)
saskarni sauc standarta metodi, kas lietojumiem nodrošina
visu tīkla iespēju izmantošanu.
Programmētājs var radīt lietojumus nezinot protokolus un tīkla
tehnoloģijas.
Servera atrašanās vietu klients var uzdot ar identifikatoru pāri:
(computer, application),
Computer – dators, uz kura atrodas servera programma,
Application – konkrēta lietojumprogramma uz šī datora.
Datu apmaiņas principi
Starp vairums Interneta lietojumu procesiem izpildās līdzīgas
operāciju secības:
1. Palaiž servera lietojumprocesu un gaida klientu
pieprasījumus
2. Klients vēršas pie servera norādot tā atrašanos un dodot
pieprasījumu datu apmaiņai
3. Klients un serveris apmainās ar ziņojumiem
4. Pēc datu apmaiņas beigām klients un serveris paziņo, ka
sasniegtas faila beigas, lai pabeigtu seansu.
Vairuma klienta un servera datu apmaiņas procesu var aprakstīt
ar 7 operāciju palīdzību.
7 operāciju komplekts, kas pietiekama
vairumam lietojumprocesu
Datu tipi, ko izmanto API saskarnē
API saskarnes klienta un servera operāciju secība
vienkāršākās apmaiņas gadījumā
Soketu (ligzdu) API saskarne
Lai gan protokolu standarti dod iespēju izvēlēties jebkuru API
saskarnes veidu, vairums OS (Windows, UNIX) lieto soketu
(ligzdu) API saskarni, kas tika izstrādāta priekš OS BSD
UNIX kā daļa no tās.
Tika izveidotas soketu bibliotēkas.
Programma izsauc soketu procedūras, ko pilda OS vai soketu
bibliotēkas procedūras.
Lietojumi, kas izmanto soketes, var tikt kopēti uz cita datora
nekoriģējot to izejas kodu.
Soketu procedūru izsaukumu secība klient/servera
sistēmā;
serverim jāpalaiž listen, pirms klients palaiž connect
Vienkāršs pasta pārsūtīšanas protokols SMTP
Vienkāršs pasta pārsūtīšanas protokols SMTP (Simple Mail
Transfer Protocol) izmantojot TCP pakalpojumus noteic starp
tīkla serveriem pārsūtāmo tekstu struktūru un e-pasta
vadības procedūru.
Sākotnēji e-pasts tikai izstrādāts kā dienesta vēstuļu apmaiņas
paplašinājums, tādēļ tajā saglabājušies vairāki tradic. termini,
piem., pasta kastīte, kas ir līdzeklis datu glabāšanai uz diska.
Pasta kastīte ir konkrētas personas īpašums; ir noteikumi, pēc
kuriem tajā ievietot ziņojumus, kas pienāk tās īpašniekam.
Katrai pasta kastītei ir unikāla adrese, kurā izmanto @, piem.,
mailbox@computer, kur
1. daļa apzīmē lietotāju, bet
2. daļa – datoru, kur atrodas pasta kastīte, t. i. domēna vārdu.
E-pasta ziņojumu formāts
Atslēgas vārdi, ko izmanto e-pastā
E-pasta ziņojumu pārraides ceļš
E-pasta izsūtīšanas saraksti – datu bāzes
Ziņojumu retranslācija un vārtejas
Pasta nodaļas protokols POP
Protokolam SMTP ir vairaakas nepilnības, kas nav protokolā
POP, kas prasa lietot serveri ar Pasta kastītēm
Pasta kastīte var atrasties tikai uz servera, kas apkalpo daudz
programmu kopijas
Pasta nodaļas protokols POP (Post Office Protocol) ir standarta
protokols, ko izmanto e-pasta lietotāji, lai saņemtu ziņojumus
no servera.
E-pasta datu ceļš lietojot protokolu POP
Galveno TCP/IP pakalpojumu klāsts
Pie galvenajiem TCP/IP pakalpojumiem pieder:
• Failu pārraides un piekļuves protokoli:
– Protokols FTP (File Transfer Protocol – failu
pārneses protokols)
– TFTP (Trivial File Transfer Protocol – vienkāršs
failu pārneses prot.)
– Tīkla datņu sistēma NFS (Network File System)
• Protokols Telnet attālai piekļuvei tīkla
resursiem un termināļu emulēšanai
• e-pasta protokols SMTP
• Hiperteksta transporta protokols HTTP
Citi mazāk nozīmīgi protokoli un utilītas
– Echo Izmanto ar ICMP kā arī tīkla lietojumu
skaņošanai.
– QOD (Quote of the Day – dienas citāts)
– Chargen (Character Generator – simbolu
generators)
– Whois
– Finger
– RPC (Remote Procedure Call – attālu procedūru
izsaukšana)
– SNMP (Simple Network management Protocol –
vienkāršs tīkla pārvaldības protokols)
Kā darbojas lietojumu slāņa protokoli?
Principi, kas raksturo lietojumu slāņa protokolu darbību,
ir sekojoši:
1. Ziņojumu (pieprasījumu/atbilžu) struktūru precīzs
apraksts, ko uztur katrs protokols vai pakalpojums
2. Labi zināmu portu adrešu noteikšana, ko lietojot
serveri gaida pakalpojumu pieprasījumus
3. Atbilstošu programmu komponentu pieejamība,
ko izpilda hosti pieprasot vai pildot pakalpojumus.
Klienta/servera lomas var būt:
• labi sadalītas, piem., protokolā HTTP, bet
• citur to lomas var arī mainīties (Gnutella – muz. failu
apmaiņas pak.), kas uzskatāmi par vienādranga
pakalpojumiem.
Starp serveru datu apmaiņas procesi
Pastāv arī cits svarīgs trafika tips, ko sauc par starp
serveru (server-to-server) trafiku, kad serveru
informācija tiek tiražēta to starpā, lai novērstu
datu zudumus kāda servera bojājuma gadījumā
vai lai saskaņotu atjaunojumus.
Starp serveru datu apmaiņas procesus sauc par
replikācijām (replication).
Ja pārraidi iniciē avots, tad to sauc par izgrūšanu
(push), ja pieprasa – par izvilkšanu (pool).
Dažos pakalpojumos lieto push/pull replikācijas,
kad avoti iniciē sūtīšanu pēc datu izmaiņas, bet
saņēmēji veic to pašu, lai saskaņotu datus.
Protokols FTP (File Transfer Protocol –
failu pārneses protokols)
Tas ir izplatītākais failu pārneses pakalpojumu līdzeklis –
nodrošina klient/servera failu pārraides:
1. pildot izkliedētus skaitļošanas procesus,
2. lietojot TCP-savienojumus un
3. saglabājot starp rezultātus uz diska.
FTP izmanto portu 21 un paredzēts interaktīvam un pakešu
režīmiem.
FTP protokola elementi ir:
1.
2.
3.
4.
5.
6.
7.
Lietotāja interfeiss (UI – User Interface), ko redz lietotājs
Protokolu interpretators (PI – Protocol Interpreter), kas
interpretē komandas
Protokola komandas, kas seko tieši aiz TCP-galvenes
Failu sistēma katrā savienojuma galā
Datu pārraides process (DTP – Data Transfer Process) –
datiem nav jāpārvietojas caur komand-savienojumu
Komandu pārraides TCP-savienojums – veidojas
automātiski
Datu pārraides TCP-savienojums – pēc noklusēšanas to
veido serveris
FTP-ziņojumos komandu un datu pārraidei lieto
atsevišķus savienojumus
Lietotāja
interfeiss
Lietotājs
FTP komandas
Servera protokolu
interpretators
Server PI
Failu
sistēma
Servera datu
pārraides process
Server DTP
FTP atbildes
Savienojums datu
pārraidei
Kienta protokolu
interpretators
Client PI
Klienta datu
pārraides process
Client DTP
Failu
sistēma
TCP-savienojumi, pārraidot datus;
kaut arī komand-savienojums atvērts, datu savienojums tiek
aizvērts pēc pārraides
Piekļuves tiesības un anonīmā piekļuve failiem
Vairums lietotāju var iztikt tikai ar nedaudz komandām, piem.:
• open,
• reģistrācijas dati – vārds un parole, kas veido uzskaites
ierakstu – un,
• beigās – close.
Daudzos mezglos lieto arī pieejas ierakstu anonymous un
paroli guest, kas ļauj jebkuram lietotājam piekļūt failiem.
Vadības un datu savienojumu nodalīšana ļauj vienkāršot
protokolu un panākt to, ka dati netiks sajaukti ar komandām.
Protokols Telnet
Protokols Telnet izmanto portu 23 servera pusē dinamiskais
ports klienta pusē un nodrošina divvirzienu (bidirectional) baitu
pārraidi.
Telnet partneri nodibinot savienojumu apmainās ar informāciju
par tām opcijām, ko izmantot TCP-savienojuma laikā (Sk.
RFC 854, 855). Katru hostu sauc par tīkla virtuālo terminālu
(NVT – Network Virtual Terminal).
NVT-klients parasti iniciē savienojumu, bet NVT-serveris to
apkalpo.
Protokols Telnet (turpināj.)
Nodibinot savienojumu partneri apmainās ar operatoriem:
• DO,
• DON’T,
• WILL,
• WON’T,
piekrītot vai atsakoties veikt pakalpojumus, ko pavada opciju
kodi.
Opcijas ir parametri vai saskaņojumi, ko uzstāda nodibinot
savienojumu.
To klienta puses uzskaitījumu un skaidrojumu Windows sistēmai
var atrast ievadot telnet /?
Protokola Telnet darbības shēma
Lietotāja
interfeiss
Lietotājs
Ports 23
Uzturāmās
opcijas
(papildiespējas)
Opcijas: DO, DON’T,
WILL,WON’T
Opcijas: DO, DON’T,
WILL,WON’T
Telnet dati
Apkalpojošie
procesi
Tīkla servera virtuālais
termināls
Server NVT
Telnet dati
Uzturāmās
opcijas
(papildiespējas)
Tīkla klienta
virtuālais termināls
Client NVT
Tīkla failu (datņu) sistēma NFS
Tīkla failu (datņu) sistēma NFS (Network File System) ir sistēma
dalītai failu koplietošanai, ko izstrādājusi firma Sun
Microsystems.
Tā neprasa veselu failu pārraidi, bet ļauj izmantot attāla datora
datnes un perifērijas iekārtas tā, it kā tās atrastos lietotāja
datorā. NFS nav atkarīga ne no datora procesora tipa un
operētājsistēmas, ne arī no tīkla arhitektūras un protokoliem.
NFS ļauj lietojumprocesam atvērt failu uz attālu datora un atrast
noteiktu vietu failā, veikt datu nolasīšanu un ierakstus sākot no
šīs pozīcijas izpildot tādas operācijas kā open, read un write.
NFS interfeiss atšķiras no FTP interfeisa. NFS konfigurēšanas
laikā datora failu sistēmā izveidojas speciāls katalogs, ka
projicējas uz attālā datora katalogu. Jebkura operācija, ko veic
šajā katalogā faktiski tiek izpildīta attālā datora failā.
Protokols HTTP
Hiperteksta pārraides protokols HTTP (Hypertext Transfer
Protocol), kas darbojas hipervidē* (hipervide – datu, teksta,
grafikas un audio informācijas elementu integrācija hipertekstu sistēmā)
nodrošina informācijas apmaiņu internetā un to izmanto
hipersaišu veidošanai starp hiperteksta dokumentiem.
Noklikšķinot peli uz kādas no hipersaitēm, ar šo protokolu
tiek atvērts attiecīgais dokuments.
Ar HTTP-klienta pārlūku (brauzeri) lietotājs var pieprasīt
konkrētus datu elementus serverim.
Protokols uztur 4 pamata operācijas, ko lieto pārlūks:
• GET – pieprasa konkrētu datu elementu no servera
• HED – pieprasa konkrēta datu elementa stāvokli, vada
kešdarbi un optimizē piekļuvi dokumentam (taimauti)
• POST – nosūta datus uz serveri
• PUT – arī tas pats, bet aizstāj datu elementu (lieto reti)
Svarīga loma ir kešdarbes lietošanai izmantojot HTTP.
HTTP-savienojumos komandas, metodes un atbildes
kodus lieto datu pārraidei
Lietotājs
Web-pārlūks
(brauzeris)
80 ports
Metode/protokola HTTP URI
Atbildes kodi
HTTP-serveris
Failu
sistēma
Metode/protokola HTTP URI
Atbildes kodi
HTTP-klients
Web pārlūka galvenie komponenti
Citi izplatītākie pakalpojumi
Protokols Echo
Tas ir TCP un UDP pakalpojums, kas lieto portu 7 un nosūta no
saņēmēja sūtītos simbolus atpakaļ avotam. Izmanto ar ICMP
kā arī tīkla lietojumu skaņošanai.
Pakalpojums QOD
Pakalpojums “Dienas citāts” (Quote of the Day, QOD) lieto
portu 17 un sūta īsu paziņojumu atbildot uz jebkuru
pieprasījuma paketi; lieto sistēmu administratori atbildot
lietotājiem, kas reģistrējas.
Pakalpojums Chargen
Pakalpojumu “Simbolu ģenerators” (Character Generator
Chargen) lieto portu 19 un izmanto serveris atbildot uz
klienta pieprasījumu, parasti skaņošanas mērķiem.
Utilīta Whois
Utilīta Whois, kurai rezervēts ports 43, meklē domena vārdu,
noteicot, kur tas reģistrēts kā arī primāro un sekundāro DNSserverus, kur atrodas ieraksts. Bet ping-pieprasījums dažkārt
labāk risina šos uzdevumus.
Protokols Finger
Lietotāja informācijas protokolu Finger var lietot, lai iegūtu
informāciju par TCP/IP hostiem un lietotājiem. Bet tā kā to
var izmantot arī uzbrukumiem no ārpuses, tad administratori
parasti slēdz tā portu 79.
Interfeiss RPC
Attāla procedūru izsaukuma interfeiss (Remote Procedure Call,
RPC) noteic mehānismu, kas ļauj vienai programmai izsaukt
citu uz attāla datora. Tādā veidā programmas bez
pārveidojumiem var tikt izmantotas dažādos datoru tīklos.
Lieto portu 111 TCP un UDP un apskatīts dokumentā
RFC1257.
Attālas procedūras izsaukšana RPC
Attālas procedūras izsaukšana (RPC – Remote Procedure Call)
ir viena no klientservera pamata tehnoloģijām.
Tā izsauc procedūras, ko izstrādājuši vai definējuši klienti.
Procedūras pilda serveris (pilnīgi vai daļēji),
bet rezultāti tiek nogādāti klientam.
Procedūru izsaukšanas piemēra grafs parastā
programmā
Programmas sadale pēc klient/servera principa
Parastais programmas izsaukums un
klient/servera versija
Secinājumi
1. Klientservera tehnoloģija ir izplatītākais datu
apstrādes veids datortīklos
2. Serveri ir datortīklu iekārtas, kas:
1. Glabā koplietošanas informāciju
2. vienmēr gatavi apkalpot klientu pieprasījumus
3. Datu apstrādes process, lietojot šo tehnoloģiju,
tiek sadalīts starp klienta un servera tīkla daļām
4. Klientservera sadarbība bieži paredz 2 TCP
savienojumu uzturēšanu:
1. Komandu savienojums
2. Datu pārraides savienojums
5. Replikācijas ir starp serveru datu atjaunošana