Racunarske Mreze i Internet - Praktikum

download Racunarske Mreze i Internet - Praktikum

of 42

description

Racunarske Mreze i Internet - Praktikum

Transcript of Racunarske Mreze i Internet - Praktikum

  • Uvod u raunarstvo Raunarstvo i informatika

    UVOD U RAUNARSTVO

    - Raunarske mree -

    Katedra za Raunarstvo

    Univerzitet u Niu, Elektronski fakultet

  • 2

    Raunarska mrea

    Raunarska mrea je kolekcija raunarskih i raunarsko-komunikacionih ureaja povezanih na razliite naine u cilju prenosa podataka i deljenja resursa.

    Resursi mogu biti hardverski: moan procesor, brzi diskovi velikog kapaciteta, tampai, kao i softver i podaci

    Veza izmeu raunara u mrei moe biti iana - korienjem kablova razliite vrste Beina korienjem radio talasa ili infracrvenih signala

    Raunarska mrea je kombinacija hardvera i softvera koji omoguava korisnicima da razmenjuju podatke i dele resurse

  • 3

    Korist raunarskih mrea Deljenje hardverskih resursa

    Deljeni tampai, ploteri, brzi diskovi velikih kapaciteta za arhiviranje podataka, itd. (Print server, File server)

    Razmena podataka Brza i pouzdana isporuka podataka razliitih formata - elektronska pota, Web strane, datoteke, itd. (Mail server, Web server, FTP server, Server baze podataka)

    Poboljana pouzdanost Ukoliko vie raunara u mrei izvravaju zajedniki algoritam, otkaz jednog raunara u mrei se prevazilazi tako to njegovu ulogu preuzimaju drugi raunari u mrei

    Poboljana skalabilnost Vie raunara opte namene povezanih mreom (Cluster/Network of Workstations) koji paralelno izvravaju istu aplikaciju po performansama su priblini super raunarima uz daleko niu cenu

  • 4

    Hardver i softver raunarskih mrea

    Komunikacioni hardver

    Fizika veza izmeu dva raunara ukljuujui mrene kartice, modeme, kablove, switch-eve, rutere, itd.

    Komunikacioni softver (skup protokola)

    Omoguava da aplikacije koriste komunikacioni hardver u slanju podataka kroz mreu.

    Protokol definie format podataka koji se razmenjuju i skup pravila za komunikaciju izmeu razliitih raunarsko-komunikacionih ureaja povezanih u mreu

  • 5

    Kategorije raunarskih mrea

    Mrea ravnopravnih uesnika (peer-to-peer) - nema hijerarhije izmeu raunara, svi su ravnopravni, funkcioniu i kao klijenti i kao serveri bez kontrole administratora Serverske mree poseduju raunar izdvojen kao server optimizovan za zadovoljenje zahteva klijenata i sigurnost podataka i aplikacija (file server, Web server, aplikacioni server, mail server, itd.)

    Serverska mrea Serverska mrea

    Peer-to-peer mrea

  • 6

    Komunikacioni medijum

    Komunikacioni (prenosni) medijum je materijal koji je provodnik elektro i/ili elektromagnetnih signala (bakar, staklo, vazduh, itd.)

    Karakteristike komunikacionog medijuma: Propusni opseg (bandwidth) - brzina prenosa podataka u bitovima po sekundi (bps)

    Odnos signal/um odreena proporcija snage signala i uma

    Greka prenosa odnos pogreno primljenih bitova prema ukupnom broju prenetih bitova u specifinom vremenskom periodu

    Slabljenje signala sa rastojanjem

    Po komunikacionom (prenosnom) medijumu mree mogu biti:

    iane (koaksijalni kabl, upredene parice, optiki kabl)

    Beine (infracrveni, mikrotalasni, radio, satelitski signali)

  • Komunikacioni medijumi (Kablovi)

    Koaksijalni kabl

    Upredene parice

    Optiki kabl

    7

  • 8

    Raunarske mree po oblasti koju pokrivaju

    PAN (Personal Area Network) u bliskom okruenju korisnika (bluetooth, infrared)

    LAN (Local Area Network) povezuje relativno mali broj raunara na lokalnom geografskom podruju (spratu, zgradi, kompaniji, univerzitetu, itd.)

    MAN (Metropolitan Area Network) - povezuje vie LAN u urbanom podruju koristei javnu telekomunikacionu infrastrukturu

    WAN (Wide Area Network) povezuje dve ili vie LAN, MAN ili WAN na irokom geografskom podruju. Internet predstavlja primer WAN koji obuhvata celu Zemlju

  • 9

    Mrena topologija LAN

    Magistrala (bus)

    Zvezda (star) Prsten (ring)

  • 10

    MAN

    Javna telekomunikaciona

    infrastruktura u gradu

  • 11

    WAN

  • 12

    Mreni komunikacioni ureaji

    Kartica za interfejs sa mreom (Network Interface Card - NIC)

    Obino kartica u slotu za proirenja matine ploe ili kontroler na matinoj ploi raunara; ukljuuje eksterni port za prikljuenje mrenog kabla ili antene za beinu komunikaciju

    Poseduje jedinstvenu 48-bitnu adresu (fiziku, MAC adresu)

    Modem

    Komponente za proirenje raunarske mree Repetitor (Repeater)

    Hab (Hub - mreni razdelnik)

    Mreni preklopnik (Switch)

    Mreni most (Bridge)

    Ruter (Router - usmeriva, skretnica)

    Mreni prolaz (Gateway)

  • 13

    Metode pristupa mrenom medijumu Viestruki pristup zajednikom medijumu nadgledanjem prisustva noseeg signala uz detekciju kolizije (CSMA/CD) - Svaki raunar na mrei proverava da li je kabl slobodan za emitovanje. Kada oseti da nema saobraaja na mrei, alje podatke i za to vreme nijedan drugi raunar ne moe slati svoje podatke dok ne stignu do odredita. Ukoliko doe do istovremenog slanja podataka (sudara), oba prestaju sa emitovanjem podataka izvesno, razliito vreme, a onda pokuavaju ponovo.

    Prosleivanje tokena - Specijalna vrsta podataka (token) krui prstenastom mreom od raunara do raunara. Raunar koji eli da poalje podatke mora da saeka slobodan token. Raunar tada preuzima kontrolu nad njim i koristi ga za prenos podataka. Dok jedan raunar koristi token ostali ne mogu da komuniciraju.

  • 14

    LAN komunikacione tehnologije Ethernet

    Topologija magistrale, mogua i kombinacija zvezde i magistrale

    Metoda pristupa CSMA/CD

    Mreni medijumi: koaksijalni kablovi, upredene parice, optiki kablovi

    Standard IEEE 802.3

    Brzine prenosa: 10Mbps, 100Mbps, 1 Gbps 10 Gbps (Gigabit Ethernet)

    Token Ring (IBM) Topologija prstena

    Metoda pristupa prosleivanjem tokena

    Mreni medijum upredene parice

    Standard IEEE 802.5

    Brzine prenosa 4-16 Mbps, 100 Mbps (Fast Token Ring)

  • 15

    Prenoenje podataka kroz mree Podaci koji se prenose su podeljeni na delove fiksne veliine koji se nazivaju paketi (packets, frames)

    Komutacija paketa (packet switching) nain prenosa podataka kroz mreu koji su podeljeni u vie paketa koji se nezavisno prenose i na odredinom raunaru spajaju u celinu.

    Komponente paketa:

    Adresa izvornog raunara koji alje podatke

    Adresa odredinog raunara koji prima podatke

    Podaci koji se prenose (izmeu 512B i 4KB)

    Informacije pomou kojih odredini raunar spaja pakete u originalni podatak

    Podaci o proveri greke kojima se proverava da li su paketi stigli bez greke (ciklina provera redundantosti CRC kod)

    Komponente paketa su grupisane u tri dela: zaglavlje, podaci, pratei zapis sa kodom za proveru greke

  • 16

    Programi ping i traceroute Program ping se koristi za ispitivanje dostupnosti udaljenog mrenog ureaja (raunara, rutera itd.) kao i prikaz parametara ove veze (brzina).

    Program traceroute se koristi za prikaz putanje kojom paketi putuju kroz mreu do odredinog mrenog ureaja. Ova putanja se sastoji od niza rutera koji preusmeravaju pakete do njihovog odredita, a program traceroute za svaki od rutera prikazuje i vreme pristupa.

    Programi ping i traceroute rade u konzolnom (tekstualnom) reimu - u Windows Command Prompt prozoru:

    Start -> Run -> ukucati cmd i pritisnuti Enter

  • 17

    Program ping Jednostavan program za proveru da li je udaljeni mreni ureaj (raunar, ruter, server, tampa itd.) ukljuen, ispravan i povezan na mreu. Slanjem paketa posebnog protokola koji se koristi u ove svrhe (ICMP Internet Control Message Protocol) udaljenom mrenom ureaju izazivamo njegov odgovor takoe u vidu ICMP paketa.

    ping

    ping

    Pritom se meri vreme za koje se udaljeni mreni ureaj odazvao. Podrazumevano se alju 4 paketa veliine po 32 B i primaju 4 odgovora pri emu se za svaki od odgovora meri vreme odziva.

    Dodatne opcije:

    -t: beskonano pingovanje

    -l : zadavanje veliine paketa

    Ukoliko je udaljeni mreni ureaj nedostupan (mrena veza do tog ureaja ne funkcionie) odgovori na pakete nee stii. Ukoliko postoji neki problem sa mrenom komunikacijom moe se desiti da na neke od ping-ova dobijemo, a na neke ne dobijemo odgovor.

  • 18

    Program ping

  • 19

    Program tracerout Program Traceroute (tracert) radi trasiranje rute paketa kroz mreu tako to registruje sve vorove (rutere) kroz koje paket prolazi na svom putu do odredita. Adresa odredita se isto kao i kod programa ping zadaje kao simbolika ili IP adresa.

    tracert

    tracert

    Paketi na svom putu kroz mreu ak i do istog odredita mogu putovati razliitim putanjama, to zavisi od trenutnog stanja na mrei.

    Program tracert interno koristi isti mehanizam (isti protokol i iste pakete) kao i program ping, pri emu se uzastopno otkrivaju svi vorovi na putanji do odredita. Za svaki vor program tracert alje tri uzastopna ping paketa i prikazuje njihova vremena odziva.

    Programom tracert moemo otkriti u kom voru su blokirani ping paketi (ICMP protokol), gde postoji neki problem, i sl.

  • 20

    Program tracerout Sa slike se moe zakljuiti da ruter na voru 9 filtrira ping pakete (ruter cisco-rut.etf.bg.ac.rs na IP adresi 147.91.15.129). To ne mora da znai da mrea nadalje nije funkcionalna. Takoe se moe zakljuiti da paketi posle 5. vora izlaze van lokalne mree, jer se vremena odziva sa manje od 1ms poveavaju na 4-6ms.

  • Internet i Web

    Internet je globalni

    sistem meusobno povezanih mrea koji koristi TCP/IP protokol kako bi se povezalo

    nekoliko milijardi ureaja

    Mrea svih mrea

    21

  • Servisi

    Internet sadri veliki broj mrenih servisa:

    World Wide Web (WWW)

    Email

    VoIP (Voice over IP)

    Prenos fajlova

    Video na zahtev

    Online igranje

    IM (Instant Messaging)

    22

  • Web

    Web je globalni skup dokumenata, slika i drugih

    resursa, koji su referencirani pomou URI-ja i meusobno povezani hiperlinkovima.

    URI (Uniform Resource Identifier) identifikuje

    servise, servere, baze podataka, dokumente, kao i

    resurse koje oni pruaju. Primeri:

    ftp://ftp.is.co.za/rfc/rfc1808.txt

    http://www.elfak.ni.ac.rs/index.html

    HTTP (HyperText Transfer Protocol). Glavni protokol

    koji se koristi na Web-u. Metode zahteva (Request): GET, POST, PUT, DELETE,...

    23

  • Web standardi

    24

    U osnovi Web-a su tri standarda:

    HTTP

    HTML (HyperText Markup Language)

    URI

    Analogija:

    HTTP potanski sistem

    HTML pismo

    URI - adresa

  • XML

    eXtensible Markup Language

    Jezik koji definie pravila za formatiranje dokumenata

    Moe da opie proizvoljnu strukturu podataka

    esto se koristi za prenos podataka na Internetu (Web servisi, AJAX)

    JSON isto opisuje strukture podataka ali koristi Javascript sintaksu; sve popularniji

    25

  • XML vs JSON

    26

  • Web 2.0

    Web 2.0 glavni moto je kolaborativnost, tj. ljudi irom Interneta kreiraju sadraj

    Web sajtovi slue kao servisi

    Akcenat na kolaboraciji

    Primeri:

    Google Maps (korisnici dodaju lokacije na mapi)

    Wikipedia (korisnici piu sadraj)

    Del.icio.us (social bookmarking)

    Facebook (predstavljanje korisnika)

    YouTube (korisnici uploaduju video materijal)

    Blog sajtovi (online dnevnik, korisnici piu blogove)

    27

  • Web servisi

    Metod komunikacije izmeu dva ureaja na mrei

    Podela na:

    REST Web servise glavna svrha je manipulacija Web resursima (predstavljenim pomou XML-a ili JSON-a) korienjem skupa operacija (za HTTP su GET, POST, PUT, DELETE)

    Proizvoljne Web servise, gde servis definie skup operacija koje klijenti mogu da koriste (SOAP, XML-RPC)

    REST je jednostavniji za upotrebu

    28

    http://www.acme.com/phonebook/UserDetails/12345

    GET POST PUT

    DELETE

  • Web API

    Web API implemetira se pomou HTTP protokola i REST Web servisa. Nisu potrebni XML protokoli Web servisa (SOAP i WSDL)

    Primeri:

    Google API

    Facebook API

    Twitter API

    Amazon API

    29

  • Hibridne Web aplikacije (Mashups)

    Objedinjavanje sadraja dobijenog sa vie razliitih izvora (Web servisa) pod jedinstveni GUI

    Integracija je pojednostavljena korienjem API-ja (application programming interface)

    Open API API koji koristi RET, SOAP, JavaScript i ostale Web tehnologije i omoguava da Web sajtovi meusobno interaguju.

    30

  • Trendsmap - primer mashup aplikacije

    Twitter (popularne teme) + Google Maps

    31

  • Raunarstvo u oblaku

    Cloud computing

    Velika grupa udaljenih servera koji su umreeni radi centralizovanog smetanja podataka i izvravanja klijentskih zahteva

    Primer Dropbox-a koji smeta podatke u cloud,

    Office 365, Amazon Web services

    Osnovni modeli:

    IaaS (Infrastruktura kao servis)

    PaaS (Platforma kao servis)

    SaaS (Softver kao servis)

    32

  • Infrastruktura kao servis (IaaS)

    Obezbeuje fizike ili virtualne maine

    Korisnici oblaka instaliraju operativne sisteme i

    aplikacije na infrastrukturu oblaka.

    Hyper-V, VMWare, Oracle VirtualBox

    Amazon Web Service (AWS), Google Compute

    Engine (GCE)

    33

  • Platforma kao servis (PaaS)

    Prua raunarsku platformu, tj. operativni sistem, okruenje za izvravanje programskog koda, server i bazu podataka

    Korisnik kreira aplikaciju ili servis korienjem alata i softvera koje prua provajder u oblaku. Takoe su obezbeeni serveri, mrea i smetanje podataka

    Google App Engine (aplikacije se smetaju u Googlovim data-centrima, pruaju automatsku skalabilnost kako se upotreba aplikacije poveava)

    Microsoft Azure 34

  • Softver kao servis (SaaS)

    Korisnici pristupaju softveru i bazama podataka

    koje obezbeuje provajder.

    Naziva se i softver na zahtev (on-demand-software)

    Vrlo esto se aplikacijama pristupa pomou tankog klijenta ili Web pretraivaa

    Korisniki podaci se uvaju u oblaku (pitanje privatnosti)

    Google Gmail, Microsoft 365, Salesforce, Citrix

    GoToMeeting

    35

  • Arhitektura Web aplikacija

    36

    Klijent-server

    Vieslojne:

    Klijent

    Web server

    Aplikacioni server

    Baza

  • Web i aplikacioni server

    Web server iskljuivo opsluuje HTTP zahteve, dok aplikacioni server komunicira sa razliitim aplikacijama koristei razne protokole

    Web server esto slui da generie HTML, dok se poslovna logika nalazi na aplikacionom serveru

    XML Web servisi su smanjili razliku izmeu Web i aplikacionog servisa

    Danas se moe smatrati da je Web server podskup aplikacionog servera

    37

  • Server tehnologije

    PHP

    ASP, ASP.NET Webforms, ASP.NET MVC (C# ili

    Visual Basic)

    JSP (Java)

    Node.js (Javascript)

    38

  • Klijent tehnologije

    HTML definisanje strukture i sadraja Web strane

    CSS definisanje izgleda Web strane

    Javascript definisanje ponaanja strane (komunikacija sa serverom,obrada dogaaja, generisanje elemenata, itd)

    AJAX (asynchronous Javascript + XML) asinhrona komunikacija sa serverom, tj. bez ponovnog uitavanje cele strane; npr. Facebook chat

    39

  • Struktura Web strane

    HTML elementi slue da se napravi sadraj Web strane (u smislu strukture strane): ovo ovde je naslov, zatim ide podnaslov, pa slika, itd...

    Stilovi definiu kako da se prikau HTML elementi

    Oni definiu kako e naslov izgledati, gde e biti pozicija slike, kakva e biti slova u tekstu, itd.

    40

  • Struktura Web strane

    41

    Web strana

    Hello world!

  • Javascript biblioteke i okruenja

    JQuery

    Angular.js - klijentsko MVC okruenje, za SPA (Single Page Application)

    Knockout.js

    Require.js (dinamiko uitavanje javascript fajlova na strani)

    42