Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
1
Uvod 1-1
Računarske mreže(napredni kurs)
SPR
Prof.dr Igor Radusinović
mr Uglješa Urošević
All material copyright 1996-2007J.F Kurose and K.W. Ross, All Rights Reserved
Uvod 1-2
O čemu se radi?
Kurs u računarskim mrežama (napredni kurs) nudi:� Sistematizaciju znanja stečenih o principima na
kojima počivaju računarske mreže� upoznavanje Internet arhitekture/protokola na
osnovnom nivou� Ovladavanje osnovnim analitičkim mehanizmima za
opisivanje pojava na Internetu
Ciljevi� Podići znanje iz računarskih mreža na viši nivo� Stvaranje uslova za aktivno učešće polaznika u
budućem razvoju Interneta
2
Uvod 1-3
Informacije o kursu
� Kome je namijenjen kurs?❍ Dodiplomskim studentima telekomunikacija i računara, kao i
studentima specijalističkih studija na SPR � Šta je poželjno znati od ranije?
❍ Osnove telekomunikacija, programiranje, operativni sistemi ILI Računarske mreže, Poslovne računarske mreže, Internet tehnologije
� Materijali kursa:❍ Prezentacije urađene od strane autora knjige: Computer Networking:
A Top Down Approach Featuring the Internet, J. Kurose & Keith Ross, Addison Wesley, 4th edition, 2008 ili
❍ Umrežavanje računara: Od vrha do dna sa Internetom u fokusu, J. Kurose & Keith Ross, Addison Wesley, prevod trećeg izdanja, CET Computer Equipment and trade, 2005
❍ WWW ❍ Zabilješke sa predavanja
Uvod 1-4
Informacije o kursu (više)
Rad broj % ocjeneKolokvijum 2 50%Završni ispit 1 50%
� Način polaganja:
3
Uvod 1-5
Pregled kursa:
Pripremna nedjelja
I nedjeljaII nedjeljaIII nedjeljaIV nedjeljaV nedjeljaVI nedjeljaVII nedjeljaVIII nedjeljaIX nedjeljaX nedjeljaXI nedjeljaXII nedjeljaXIII nedjeljaXIV nedjeljaXV nedjeljaXVI nedjeljaZavršna nedjeljaXVIII-XXI nedjelja
Priprema i upis semestra
Uvod u računarske mreže. Principi protokola nivoa aplikacije. HTTP. FTP. SMTP. DNS Principi protokola nivoa transporta. Nekonektivni transportni servis (UDP)Konektivni transportni servis (TCP). TCP kontrola zagušenja. TCP kontrola protokaSlobodna nedjeljaPrvi kolokvijumNivo mreže i rutiranje. Nekonektivni mrežni servis (IP)Rutiranje na InternetuDijkstra i Bellman-Fordov algoritmi.Drugi kolokvijumNivo linka i lokalne računarske mreže. Kontrola greške.EthernetBežične računarske mrežeZavršni ispitOvjera semestra i upis ocjena.Dopunska nastava i popravni ispitni rok.
Uvod 1-6
Glava 1: UvodZadatak:� Shvatiti kontekst,
pregled, “osjetiti” računarsku mrežu� dublje, detaljnije kasnije� pristup:
❍ opisni❍ korišćenje Interneta
kao primjera
Pregled:� Šta je Internet� Šta je protokol?� Ivica mreže (network edge)� Okosnica mreže (network core)� Pristupna mreža (access network),
fizički medijum� Internet/ISP struktura� Performanse: gubitak, kašnjenje i
propusnost� Višenivovska arhitektura, mrežni
protokoli, modeli servisa
4
Uvod 1-7http://www.caida.org/research/topology/as_core_network/
Uvod 1-8
Šta je Internet?Iz čega se sastoji Internet u fizičkom smislu?� Milioni povezanih (umreženih)
računarskih uređaja: hostovi=krajnji sistemi
❍ PC radne stanice, serveri❍ Mobilni telefoni, PDA, ....izvršavaju mrežne aplikacije
� Komunikacioni linkovi❍ Optičko vlakno, bakarna parica,
radio kanal❍ Brzina prenosa= opseg (bandwith)
� ruteri: prosleđivanje paketa između različitih mreža
Rezidencijalna mreža
Kompanijska mreža
Mobilna mreža
Globalni ISP
Regionalni ISP
5
Uvod 1-9
Iz čega se sastoji Internet u logičkom smislu?� protokoli kontrolišu slanje i
prijem poruka❍ npr, TCP, IP, HTTP, FTP, PPP
� Internet: “mreža svih mreža”
❍ Labava hijerarhija❍ Javni Internet vs. privatni
intranet
� Internet standardi❍ RFC: Request for comments❍ IETF: Internet Engineering
Task Force
Šta je Internet?
Rezidencijalna mreža
Kompanijska mreža
Mobilna mreža
Globalni ISP
Regionalni ISP
Uvod 1-10
Šta je Internet (sa stanovišta usluge)?
� Komunikaciona infrastrukturakoja omogućava distribuiraneaplikacije:
❍ Web, email, igrice, e-commerce, baze podataka, glasanje, file (MP3) sharing
� Komunikacioni servisi koji su na raspolaganju aplikacijama:
❍ Pouzdan prenos podataka od izvora do destinacije
❍ “best effort” (nepouzdana) predaja podataka
6
Uvod 1-11
Šta je protokol?ljudski protokoli:� “Koliko je sati?”� “Imam pitanje”� “Mogu li da
odgovaram za 10?”� Ima li skaliranja?� Upoznavanje
… šalju se posebne poruke
… rade se različite stvari kada poruka stigne
mrežni protokoli:� Između mašina � Sve komunikacione
aktivnosti na Internetu definišuprotokoli
Protokoli definišu format, redosled poslatih i
primljenih poruka izmeđumrežnih entiteta, i akcije koje se sprovode nakon prijema poslatih poruka
Uvod 1-12
Detaljniji pogled na mrežnu strukturu
�Mrežna ivica:aplikacije i hostovi�Mrežna okosnica:
❍ međupovezani ruteri
❍ mreža povezanih mreža
� Pristupna mreža,fizički medijum:komunikacioni linkovi (žični i bežični)
7
Uvod 1-13
Ivica mreže:� Krajni sistemi (hostovi):
❍ izvršavaju aplikativne programe
❍ npr. Web, email❍ na “ivici mreže”
� Arhitekture aplikacije❍ klijent/server model
• klijent host zahtijeva, dobija servis od “uvijek dostupnog” servera
• npr. Web browser/server; email client/server
❍ peer-peer (P2P) model:• minimalno (ili ne) korišćenje
dodijeljenih servera• npr. Skype, BitTorrenth
❍ hibridni modeli
klijent/server
peer-peer
Uvod 1-14
Ivica mreže: konektivni servis (connection-oriented)
Cilj: prenos podataka između krajnjih sistema� Rukovanje “handshaking”:
uspostavljanje (priprema za) prenos podataka u budućnosti
❍ Dobar dan, Dobar danljudski protokol
❍ uspostavljanje “stanja”dva komunicirajuća hosta
� TCP - Transmission Control Protocol
❍ Internet konektivni servis
TCP servis [RFC 793]� Pouzdan, redosledan
prenos podataka (u bajtovima)
❍ gubici: potvrde i retransmisije
� Kontrola protoka:❍ Pošiljalac ne smije zatrpati
prijemnika
� Kontrola zagušenja:❍ Pošiljalac “usporava slanje”
kada je mreža zagušena
8
Uvod 1-15
Ivica mreže: nekonektivni servis (connectionless)
Cilj: prenos podataka između krajnjih sistema
❍ Isto kao i prije!� UDP - User Datagram
Protocol [RFC 768]: ❍ Internet nekonektivni servis❍ Nepouzdani prenos podataka❍ Nema kontrole protoka❍ Nema kontrole zagušenja
Aplikacije koje koriste TCP:� HTTP (Web), FTP (file
transfer), Telnet (remote login), SMTP (email)
Aplikacije koje koriste UDP:� streaming media,
telekonferencija, DNS, Internet telefonija
Aplikacije koje koriste i TCP i UDP:� Skype,…
Uvod 1-16
Pristupne mreže i fizički medijum
Pitanje: Kako povezati krajnji sistem na edge ruter?� Rezidencijalne pristupne mreže� Institucionalne pristupne mreže
(škole, kompanije)� Mobilne pristupne mreže
Obrati pažnju� kapacitet (b/s) pristupne mreže?� zajednički ili dodijeljeni?Popularni pristupi� Dial-up modem� DSL� Kablovska� Bežični pristup (GPRS, EDGE,
UMTS, WLAN, WiMAX,...)
9
Uvod 1-17
Fizički medijum
� Bit: prenosi se prekopredajne/prijemne parice� fizički link: između
predajnika i prijemnika� “vođeni” medijum:
❍ Signali se prenose preko čvrstog medijuma: bakar,optičko vlakno, koaksijalac
� “ne vođeni” medijum:❍ Signali se prostiru slobodno,
npr., radio
Upredena parica� Dvije izolovane
bakarne žice❍ Kategorija 3:
tradicionalne telefonske žice, 10 Mb/s Ethernet
❍ Kategorija 5 : 100Mb/s Ethernet
❍ Kategorija 5e: 1Gb/s Ethernet
❍ Kategorija 6: 10Gb/s Ethernet
Uvod 1-18
Fizički medijum: koaksijalac, optičko vlakno
Koaksijalni kabal:� Dva koncentrična
bakarna provodnika� bidirekcioni� Osnovni opseg:
❍ jedan kanal na kablu❍ rani Ethernet
� Širokopojasni :❍ više kanala na kablu❍ HFC
Kabal sa optičkim vlaknima:� Stakleno vlakno prenosi svjetlosne
impulse, svaki impuls jedan bit� Rad na visokim brzinama:
❍ Brzi tačka-tačka prenosi (npr., nekoliko 100Gb/s)
� Nizak nivo greške: veće rastojanje između ripitera i imunitet u odnosu na elektromagnetni šum
10
Uvod 1-19
Fizički medijum: radio
� signal se prenosi elektromagnetnim spektrom� nema fizičke “žice”� bidirekcioni� Efekti propagacije:
❍ refleksija❍ difrakcija❍ interferencija
Radio link:� Zemaljski mikrotalasni (terrestrial
microwave)❍ npr. kanali do 45 Mb/s
� WLAN❍ 2Mb/s, 11Mb/s, 54Mb/s,
600Mb/s� wide-area (npr., celularni)
❍ 3G: stotine kb/s❍ 3.5G nekoliko Mb/s❍ 4G (LTE Advanced i IEEE
802.15m): 1Gb/s (DL), 500Mb/s (UL)
� satelitski❍ do 50Mb/s kanal (ili više užih
kanala)❍ 270 ms kašnjenje od kraja do
kraja❍ geostacionarni (GEO) vs.
niskoorbitni (LEO)?
Uvod 1-20
Okosnica mreže
� Skup međupovezanih rutera� Fundamentalno pitanje: kako
se podaci prenose mrežom?❍ Komutacija kola (circuit
switching): svakoj komunikaciji se dodjeljuju telekomunikacioni resursi od kraja do kraja tokom čitavog njenog trajanja
❍ Komutacija paketa (packet-switching): poruke se šalju preko mreže u djelovima (paketima) iz kojih se na destinaciji rekonstruiše poruka
11
Uvod 1-21
Okosnica mreže: Komutacija kola
Resursi od kraja do kraja se rezervišu za “poziv”� Kapacitet linka,
kapacitet komutiranja� Dodijeljeni resursi:
nema dijeljenja� Garantovane
performanse� Zahtijeva se
uspostavljanje poziva
Uvod 1-22
Okosnica mreže: Komutacija kola
Mrežni resursi (npr., kapacitet) su podijeljeni na “djeliće”� Djelići se dodjeljuju
pojedinačnim komunikacijama� Djelić resursa je
slobodan ako ga ne koristi neka komunikacija (nema dijeljenja resursa)
� Dijeljenje kapaciteta linka na “djeliće”❍ Frekvencijski
multipleks❍ Vremenski multipleks❍ Kodni multipleks❍ Prostorni multipleks❍ Ortogonalni
frekvencijski multipleks
❍ …
12
Uvod 1-23
Komutacija kola: FDMA i TDMA
FDMA (Frekvencijski multipleks)
frekvencija
vrijeme
TDMA (Vremenski multipleks)
frekvencija
vrijeme
4 korisnika
Primjer:
Uvod 1-24
Okosnica mreže: Komutacija paketa
Svaka komunikacija od kraja do kraja se dijeli na pakete� paketi korisnika A, B dijele mrežne
resurse� Svaki paket koristi kompletan
kapacitet linka� Resursi se koriste kada su
potrebni
Kolizija oko resursa:� Suma zahtijevanih resursa
može preći nivo dostupnih resursa� Zagušenje: redovi čekanja
paketa, koji čekaju na korišćenje linka� Uskladišti i proslijedi (store
& forward): paketi se pomjeraju za jedan “hop” u intervalu vremenu
❍ Prenos preko linka❍ Čekanje na sledeći link
Podjela kapaciteta na “djeliće”Dodjela resursa
Rezervacija resursa
13
Uvod 1-25
Komutacija paketa: StatističkoMultipleksiranje
Sekvence paketa korisnika A & B nemaju fiksan sadržaj� statističko multipleksiranje.U vremenskom multipleksu svaki host dobija isti slot u okviru vremenskog multipleksa.
A
B
C1Gb/sEthernet
100Mb/s
D E
Statističko multipleksiranje
Red čekanja paketa koji čekaju na izlazni link
Uvod 1-26
Komutacija poruka: uskladišti i proslijedi (store-and-forward)
� L/R sekundi je potrebno da se prenese (“ugura”) porukaveličine L bita na link čija je brzina prenosa R b/s� Čitava poruka mora doći na
ruter prije nego što se ona proslijedi na sledeći link: store and forward
� kašnjenje = 3L/R (ako se zanemari vrijeme propagacije
Primjer:� L = 10 Mb� R = 2 Mb/s� kašnjenje = 15 sec
R R RL
14
Uvod 1-27
Komutacija paketa vs. komutacija kola
� 1 Mb/s link� svaki korisnik:
❍ 100 kb/s kada je “aktivan”❍ aktivan 10% vremena
� Komutacija kola: ❍ 10 korisnika
� Komutacija paketa: ❍ Sa 35 korisnika,
vjerovatnoća da je više od> 10 aktivnih manja od .0004
Komutacija paketa dozvoljava većem broju korisnika da koriste mrežu!
N korisnika1 Mb/s link
Uvod 1-28
Komutacija paketa vs. komutacija kola
� Odlična za “sporadične” (bursty) podatke❍ zajedničko korišćenje resursa❍ jednostavnija, nema uspostavljanja poziva� Prekomjerno zagušenje: kašnjenje paketa i gubici
❍ potrebni su protokoli za pouzdani prenos podataka i kontrolu zagušenja
� Pitanje: Kako postići performanse nivoa komutacije kola?❍ garantovan kapacitet za potrebe audio/video
aplikacija je problem koji još uvijek nije riješen!
Jeli komutacija paketa “pobjednik”?
15
Uvod 1-29
Mreže sa komutacijom paketa: prosleđivanje� Cilj: pomjeranje paketa unutar rutera od izvora do
destinacije❍ razmatraćemo kasnije više algoritama za selekciju puta
(rutirajućih algoritama)
� Datagram mreža:❍ adresa destinacije u paketu određuje naredni hop (skok)❍ rute se mogu mijenjati tokom sesije❍ analogija: vožnja, traženje informacije o željenom pravcu
� Mreža virtuelnih kola:❍ Svaki paket nosi “etiketu” tzv.tag (ID virtuelnog kola), tag
određuje naredni hop❍ Fiksna putanja se određuje prilikom uspostavljanja poziva, i ostaje
nepromijenjena do kraja sesije❍ ruteri održavaju “per-call” stanje
Uvod 1-30
Struktura Interneta: mreža svih mreža
� ISP-i trećeg reda (“Tier-3” ) ili lokalni ISP-i (local ISP)❍ poslednji hop (“pristup”) mreže (najbliže krajnjim sistemima)
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
lokalniISPlokalni
ISPlokalniISP
lokalniISP
lokalniISP Tier 3
ISP
lokalniISP
lokalniISP
lokalniISP
Lokalni i tier-3 ISP-i su korisnici ISP-a većeg reda preko kojih se povezuju na ostatak Interneta
16
Uvod 1-31
Struktura Interneta: mreža svih mreža
� paket se prenosi preko mnogo mreža!
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
lokalniISPlokalni
ISPlokalniISP
lokalniISP
lokalniISP Tier 3
ISP
lockalniISP
lokalniISP
lokalniISP
Uvod 1-32
17
Uvod 1-33
Kako nastaju gubici i kašnjenje?Paketi se smještaju u red čekanja (queue) u baferima rutera� Dolazna brzina paketa prevazilazi kapacitet odlaznog
linka� Paketi čekaju na slanje
A
B
paket se prenosi (kašnjenje)
Paketi čekaju (kašnjenje)
slobodni (dostupni) baferi: dolazni paketi se odbacuju(gube) ako nema slobodnih bafera
Uvod 1-34
Četiri izvora kašnjenja paketa
� 1. obrada u čvorištu:❍ Provjera greške na bitu❍ Utvrđivanje odlaznog linka❍ …
A
B
Propagacija
Prenos
Obrada u čvorištu Čekanje
� 2. Čekanje❍ Vrijeme čekanja za prenos
na odlaznom linku❍ Zavisi od nivoa zagušenosti
rutera❍ …
18
Uvod 1-35
Kašnjenje u mrežama sa komutacijom paketa
3. Kašnjenje uslijed prenosa:� R=kapacitet linka (b/s)� L=veličina paketa (bit)� Vrijeme slanja jednog
paketa po linku = L/R
4. Kašnjenje uslijed propagacije:� d = dužina fizičkog linka� s = brzina prostiranja po
medijumu (~2x108 m/sec)� Kašnjenje uslijed propagacije
= d/s
A
B
Propagacija
Prenos
Obrada učvorištu Čekanje
Napomena: s i R su dvije različite veličine
Uvod 1-36
Kašnjenje u čvorištu
� dproc = vrijeme obrade❍ tipično nekoliko mikrosekundi ili manje
� dqueue = kašnjenje uslijed čekanja❍ zavisi od zagušenja
� dtrans = kašnjenje uslijed prenosa❍ = L/R, značajno na linkovima malih kapaciteta
� dprop = vrijeme propagacije❍ nekoliko mikrosekundi do nekoliko stotina milisekundi
proptransqueueprocnodal ddddd +++=
19
Uvod 1-37
Kašnjenje uslijed čekanja
� R=kapacitet linka (b/s)� L=veličina paketa (bit)� a=srednja dolazna
brzina paketa
Intenzitet saobraćaja = La/R
� La/R ~ 0: srednje kašnjenje uslijed čekanja je malo� La/R -> 1: kašnjenje postaje veliko� La/R > 1: više saobraćaja “dolazi” nego što može da
“ode”, srednje kašnjenje je beskonačno!
Srednje kašnjenje uslijed čekanja
Uvod 1-38
“Realna” Internet kašnjenja i rute
� Kako izgledaju “realna” Internet kašnjenja & gubici? � Traceroute: daje mjerenja kašnjenja od izvora do
rutera duž Internet puta od kraja izvora do kraja do destinacije. Za svako i:
❍ šalje tri paketa koji će dostići ruter i na putu do destinacije
❍ ruter i će vratiti paket pošiljaocu❍ pošiljalac mjeri vrijeme između slanja i odgovora.
3 mjerenja
3 mjerenja
3 mjerenja
20
Uvod 1-39
Gubitak paketa
� Red čekanja (bafer) ima konačan kapacitet
� Kada paket dođe do popunjenog reda čekanja paket se odbacuje (gubitak)
� Izgubljeni paket se može ponovo poslati od strane prethodnog čvora, ili izvorišnog krajnjeg sistema ili se ponovo ne šalje
A
B
paket je poslat
paket dolazi na punibafer i biva izgubljen
bafer (prostor za čekanje)
Uvod 1-40
Propusnost
� propusnost: brzina (b/s) kojom se biti prenose od pošiljaoca do destinacije❍ trenutna: brzina u posmatranom trenutku❍ srednja: prosječna brzina tokom dužeg
intervala
server, sa fajlomveličine F bita, koji
se šalje klijentu
Kapacitet linkaRs
b/Kapacitet linka
Rc
b/scijev prenosi
“fluid” brzinomRs
b/s)
cijev prenosi“fluid” brzinom
Rc
bits/sec)
server šalje bite(fluid) u cijev
21
Uvod 1-41
Propusnost (više)� R
s< R
cKoliko iznosi srednja propusnost od kraja do kraja?
Rs
b/s Rc
b/s
� Rs
> Rc
Koliko iznosi srednja propusnost od kraja do kraja?
Rs
b/s Rc
b/s
link koji ograničava propusnost
“bottleneck” link
Uvod 1-42
Propusnost: Internet scenario
10 konekcija na fer način dijele “bottleneck” link okosnice
kapaciteta R b/s
Rs
Rs
Rs
Rc
Rc
Rc
R
� Propusnost po konekciji:min(R
c,R
s,R/10)
�U praksi: Rc
ili Rs
je obično “bottleneck”
22
Uvod 1-43
Internet arhitektura� Aplikacija: podržava mrežne
aplikacije❍ FTP, SMTP, STTP
� Transport: host-host prenos podataka
❍ TCP, UDP
� Mreža: rutiranje datagrama od izvora do destinacije
❍ Internet Protocol (IP), rutirajućiprotokoli
� Link : prenos podataka između susjednih mrežnih elemenata
❍ PPP, Ethernet
� Fizički: biti “po žici”
Nivo aplikacije
Nivo transporta
Nivo mreže
Nivo linka
Fizički nivo
Uvod 1-44
ISO/OSI referentni model� prezentacija: dozvaljava
aplikacijama razumijevanje značenja podataka, npr., enkripcije, kompresija,...� Sesija: sinhronizacija, oporavak
razmjene podataka,...� Internet nema ove nivoe!
❍ Ovi servisi ako su potrebni se implementiraju unutar nivoa aplikacije
Nivo aplikacije
Nivo prezentacije
Nivo sesijeNivo transporta
Nivo mreže
Nivo linka
Fizički nivo