1 / 64

DISTRIBUIRANI SUSTAVI

DISTRIBUIRANI SUSTAVI. Komunikacija. Distribuirani sustavi - komunikacija. Komunikacija u distribuiranim sustavima Protokoli zasnovani na slojevima (OSI model) Poziv procedure na drugom računalu (RPC) Remote object inovacation (RMI) Komunikacija usmjerena na poruke

april-casey
Download Presentation

DISTRIBUIRANI SUSTAVI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DISTRIBUIRANI SUSTAVI Komunikacija

  2. Distribuirani sustavi - komunikacija • Komunikacija u distribuiranim sustavima • Protokoli zasnovani na slojevima (OSI model) • Poziv procedure na drugom računalu (RPC) • Remote object inovacation (RMI) • Komunikacija usmjerena na poruke • Komunikacija usmjerena na stream Distribuirani sustavi -komunikacija

  3. Distribuirani sustavi - komunikacija • Protokoli zasnovani na slojevima • Open System International Reference Model – ISO OSI ili OSI model • Otvoren sustav – komunicira sa drugim sustavima putem pravila koja propisuju formate, sadržaj i značenje poruka koje se šalju i primaju. • Formaliziranjem pravila nastaje protokol • Protokoli mogu biti: • Connection-oriented • connectionless Distribuirani sustavi -komunikacija

  4. Distribuirani sustavi - komunikacija • OSI slojevi: • Fizički sloj • Sloj prijenosa podataka (dana link) • Mrežni sloj • Transportni sloj • Sloj sesije • Prezentacijski sloj • Aplikativni sloj • Svaki sloj dodaje svoje zaglavlje u poruku Distribuirani sustavi -komunikacija

  5. Distribuirani sustavi - komunikacija Slika 1. Slojevi i protokoli u OSI modelu Distribuirani sustavi -komunikacija

  6. Distribuirani sustavi - komunikacija Slika 2. Primjer poruke Distribuirani sustavi -komunikacija

  7. Distribuirani sustavi - komunikacija • Fizički sloj • Slanje bitova • Data link sloj • Otkrivanje i ispravka grešaka (checksum) • Grupiranje bitova u blokove ili pakete (frame) Distribuirani sustavi -komunikacija

  8. Distribuirani sustavi - komunikacija Slika 3. komunikacija receiver-sender u data link sloju Distribuirani sustavi -komunikacija

  9. Distribuirani sustavi - komunikacija • Mrežni sloj • Odabir najbolje putanje za slanje bloka – routing • X.25 – connection-oriented • IP – connectionless • Paketi se šalju neovisno jedan o drugome • Transportni sloj • Dijeljenje poruke u pakete i slaganje paketa u poruku • TCP (Transmission Control Protocol) • UDP (Universal Datagram Protocol) Distribuirani sustavi -komunikacija

  10. Distribuirani sustavi - komunikacija Slika 4. a) uobičajena aktivnost TCP b) transakcijski TCP Distribuirani sustavi -komunikacija

  11. Distribuirani sustavi - komunikacija • Sloj sesije • Sinhronizacija • Kontrola dijaloga • Korištenje kontrolnih točaka • Prezentacijski sloj • Formatiranje podataka u porukama • Aplikacijski sloj • Mail, file transfer, spajanje udaljenih terminala Distribuirani sustavi -komunikacija

  12. Distribuirani sustavi - komunikacija Slika 5. Prilagođeni referentni model za mrežnu komunikaciju Distribuirani sustavi -komunikacija

  13. Distribuirani sustavi - komunikacija • Remote procedure call RPC • Poziv procedure na drugom računalu • Proces koji je pozvao RPC ne zna da se obrada poziva izvodi na drugom računalu • Procesi se izvode u različitom adresnom prostoru uz prijenos parametara i rezultata obrade između računala • Nefunkcionalnost jednog ili oba računala pri izvođenju RPC-a Distribuirani sustavi -komunikacija

  14. Distribuirani sustavi - komunikacija • Prijenos parametara • Call-by-value • Call-by-reference • Razlika je bitna pri izvođenju RPC-a • Klijent proces nije upoznat sa izvođenjem poziva na drugom računalu • Klijent stub • Server stub • Marshaling – dodavanje parametara u poruku Distribuirani sustavi -komunikacija

  15. Distribuirani sustavi - komunikacija Slika 6. Prijeno parametara pri pozivu procedure Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  16. Distribuirani sustavi - komunikacija Slika 7. RPC između klijenta i servera Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  17. Distribuirani sustavi - komunikacija Slika 8. Faze izvođenja RPC-a Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  18. Distribuirani sustavi - komunikacija • Za klijent i server računala identične strukture i prijenos skalarnih vrijednosti model je učinkovit • IBM mainframe računala – EBCDIC • IBM osobna računala – ASCII • Problemi u prikazu cjelobrojnih vrijednosti i decimalnih brojeva • Intel 486 - little endian • SPARC – big endian Distribuirani sustavi -komunikacija

  19. Distribuirani sustavi - komunikacija Slika 9. a) originalna poruka b) SPARC c) invertirana poruka Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  20. Distribuirani sustavi - komunikacija Slika 10. a) procedura b) poruka Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  21. Distribuirani sustavi - komunikacija • Uporaba mrežnih standarda ili canonical form za različite tipove varijabli. • Kako generirati stub? • Klijent i server stub generiraju se na osnovi specifikacija servera. • Formalna specifikacija procedura napisana u jeziku za specifikacije definira parametre, njihovu namjenu (ulazni, izlazni ili oboje) i njihovu maksimalnu veličinu. Distribuirani sustavi -komunikacija

  22. Distribuirani sustavi - komunikacija • Dinamic binding – povezivanje klijenta i servera • Formalna specifikacija servera • Ime servera • Popis dozvoljenih procedura (read, write, create and delete) • Server pozivom initalize eksportira server sučelje slanjem poruke programu binder što se označava registriranjem servera (ime, verzija, jedinstveni identifikator i handle) • Klijent šalje poruku binder-u za import verzijom server sučelja • Princip eksportiranja i importanja sučelja je fleksibilan • Nedostatak je povećan promet mrežom i preopterećenje binder-a (koristi se više kopija binder-a) Distribuirani sustavi -komunikacija

  23. Distribuirani sustavi - komunikacija • RPC protokoli • Održavanje stalne veze je elegantno rješenje ali nije isplativo (LAN mreže) pa je potreban protokol • Primjena postojećeg protokola (IP) • Ušteda vremena • Izbjegnuto testiranje • Podržanost za mnoge postojeće mreže • Izrada protokola za RPC • Izrada posebnog protokola znači utrošak vremena za analizu, izradu, testiranje i uvođenje protokola Distribuirani sustavi -komunikacija

  24. Distribuirani sustavi - komunikacija Slika 11. Princip korištenja doors Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  25. Distribuirani sustavi - komunikacija Slika 12. a) uobičajena interakcija klijent server za RPC b) interakcija korištenjem ainhronog RPC Distribuirani sustavi -komunikacija

  26. Distribuirani sustavi - komunikacija Slika 13. Interakcija klijent server u asinhronom RPC Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  27. Distribuirani sustavi - komunikacija Slika 14. Faze pisanja klijenta i servera Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  28. Distribuirani sustavi - komunikacija Slika 15. Klijent-server binding Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  29. Distribuirani sustavi - komunikacija • Prizivanje objekta na drugom računalu • Remote object invocation – RMI • Distribuirani objekti • Stanje • Metode • Interfejsi • Remote objects • Compile-time objekti • Objekt adapter Distribuirani sustavi -komunikacija

  30. Distribuirani sustavi - komunikacija Slika 16. Pozivanje objekata na udaljenom računalu Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  31. Distribuirani sustavi - komunikacija • Persistent (postojani) objekti • neovisni o trenutnom serveru koji kreira objekt • Transient (kratkotrajni) objekti • Postoje samo dok postoji server koji upravlja objektom • Povezivanje (binding) klijenta i objekta • Implicit binding • pozivanje metode pri pozivu reference na objekt • Explicit binding • Povezivanje sa objektom, a zatim pozivanje metode Distribuirani sustavi -komunikacija

  32. Distribuirani sustavi - komunikacija Slika 17. a) implicit binding b) explicit binding Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  33. Distribuirani sustavi - komunikacija • Implementacija referenci objekta • Uključivanje adrese računala koje sadrži objekt • Korištenje location servera • Implementation handle • Statičko i dinamičko pozivanje udaljenih metoda • Statički – poznavanje definicija interfejsa unaprijed • fobject.append(int) • Dinamički – pozivanje metode za vrijeme izvođenja • invoke(fobject, id(append),int) Distribuirani sustavi -komunikacija

  34. Distribuirani sustavi - komunikacija • Prijenos parametara • Za poziv parametara objekta pohranjenog na klijent računalu prenosi se kopija parametara lokalnog objekta – prijenos po vrijednosti • Za poziv paramatara objekta pohranjenog na drugom računalu prenosi se referenca na objekt - prijenos po referenci Distribuirani sustavi -komunikacija

  35. Distribuirani sustavi - komunikacija Slika 18. Prijenos parametra po vrijednosti i referenci Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  36. Distribuirani sustavi - komunikacija • Komunikacija usmjerena na poruke • Message-oriented communication • Persistent communication • Poruka je pohranjena u sustavu sve dok se ne isporuči na odredište • Transient communication • Poruka je pohranjena samo za vrijeme izvođenja sender i receive aplikacije Distribuirani sustavi -komunikacija

  37. Distribuirani sustavi - komunikacija Slika 19. Organizacija komunikacijskog sustava Distribuirani sustavi -komunikacija Distribuirani sustavi - osnovni pojmovi

  38. Distribuirani sustavi - komunikacija Slika 20. Primjer persistent komunikacije Distribuirani sustavi -komunikacija

  39. Distribuirani sustavi - komunikacija • Asinkrona komunikacija • Pošiljatelj nastavlja aktivnost nakon slanja poruke • Poruka je pohranjena u lokalnom bufferu (međuspremniku) • Sinkrona komunikacija • Pošiljatelja se blokira sve dok se ne pohrani poruka u lokalnom bufferu računa primatelja Distribuirani sustavi -komunikacija

  40. Distribuirani sustavi - komunikacija • Primjeri komunikacije porukama • Persistant asynchronous communication • e-mail • Persistant synchronous communication • blokiran pošiljatelj za vrijeme pohrane poruke na računalo pošiljatelja • Transient asynchronous communication • UDP • Receipt-based transient asynchronous communication • blokiran pošiljatelj • Delivery-based transient asynchronous communication • Blokiran pošiljatelj do pokretanje obrade na serveru • Response-based transient asynchronous communication • Blokiran pošiljatelj do završetka obrade na serveru Distribuirani sustavi -komunikacija

  41. Distribuirani sustavi - komunikacija Slika 21. Primjeri komunikacije porukama Distribuirani sustavi -komunikacija

  42. Distribuirani sustavi - komunikacija • Transient komunikacija usmjerena na poruke • Socket (spojnica) – spojna točka koju koriste aplikacije za upis i čitanja podataka koji se proslijeđuju ostatkom mreže • Apstrakcija mrežne komunikacije za aplikacije • Socket interfejs • Podržavaju samo send i receive • Komunikacija primjenom TCP/IP protokola Distribuirani sustavi -komunikacija

  43. Distribuirani sustavi - komunikacija Slika 22. Socket primitives za TCP/IP Distribuirani sustavi -komunikacija

  44. Distribuirani sustavi - komunikacija Slika 23. Connection-oriented komunikacija primjenom socket-a Distribuirani sustavi -komunikacija

  45. Distribuirani sustavi - komunikacija • Transient komunikacija usmjerena na poruke • MPI – Message-passing interfejs • Prikladan nivo apstrakcije za izradu učinkovitih aplikacija u mrežnom okruženju • Jednostavna implementacija sa minimalnim dodatnim aktivnostima • Pogodno rješenje za komunikaciju više procesa u grupi Distribuirani sustavi -komunikacija

  46. Distribuirani sustavi - komunikacija Slika 25. skup osnovnih poruke za MPI Distribuirani sustavi -komunikacija

  47. Distribuirani sustavi - komunikacija • Persistent komunikacija usmjerena na poruke • Message-queuing systems – Message oriented middleware (MOM) • Omogućuje pohranu poruka i njihovo slanje pri čemu nije nužna aktivnost pošiljatelja i primatelja • Poruke se pohranjuju u red, a slanje poruka je osigurano povezivanjem komunikacijskih servera Distribuirani sustavi -komunikacija

  48. Distribuirani sustavi - komunikacija Slika 26. Moguća komunikacija primjenom redova poruka Distribuirani sustavi -komunikacija 48

  49. Distribuirani sustavi - komunikacija • Arhitektura message-queuing sistema • Poruka se mora pohraniti u redu (source queue) na lokalnom računalu pošiljatelja • Poruka u redu ima specifikaciju odredišnog reda (destination queue) • Slanjem poruka upravlja queue manager • Sustav mora poznavati veze između redova (source i destination) i mrežnih lokacija računala na kojima su redovi pohranjeni. • Problemi ažuriranja veza na računalima koja sadrže redove mogu se umanjiti ažuriranjem rutera Distribuirani sustavi -komunikacija

  50. Distribuirani sustavi - komunikacija Slika 27. Razlika između adresiranja na nivou redova i adresiranja mrežnim slojevima Distribuirani sustavi -komunikacija 50

More Related