You are on page 1of 788

STVARNI SVET

VVlLLIAM A. SHAY
UNIVERSITY OF WISCONSIN - GREEN BAY
kompjuter
biblioteka
THOI VI SOI M
L EARI NI NG
Savremene
tehnologije i mree
komunikacione
Izdava:
Kompjuter Biblioteka
Vladana ievia 19
32000 aak
tel: 032/320-140, 232-322
fax: 032/232-322,
Beograd, Vojvode Stepe 34A-5
tel: 011/309-69-66
Tekui rauni:
155-847-88 i 205-8174-10
e-mail:
kombib @ eunet.yu
internet:
www.kombib.co.yu
Urednik:
Mihailo J. Solaji
Za izdavaa, direktor:
Mihailo J. Solaji
Prevod:
Dijana Ivanievi
Lektura:
Milo Jevtovi
Korice:
Saa Prudkov
Slog:
Zora Radojevi
Ana Pei
Ivana Petronijevi
Znak Kompjuter biblioteke:
Milo Milosavljevi
Stampa:
"Svetlost" aak
Godina izdanja:
2004.
Izdanje:
Prvo
UNDERSTANDING DATA COMMUNICATIONS AND NETWORKS
WlLLIAM A. SHAY
UNIVERSITY OF WISCONSIN - GREEN BAY
"Authorized translation from English language edition
by THOMSON LEARNING, Copyright 2004
All right reserved. No part of this book may be reproduced
or transmitted in any form or by means, electronic or
mechanical, including photocopying, recording or by any
information storage retrieval system, without permission
from the Publisher.
Autorizovani prevod sa engleskog jezika edicije u izdanju
THOMSON LEARNING, Copyright 2004
Sva prava zadrana. Nije dozvoljeno da ni jedan deo ove
knjige bude reprodukovan ili snimljen na bilo koji nain
ili bilo kojim sredstvom, elektronskim ili mehanikim,
ukljuujui fotokopiranje, snimanje ili drugi sistem
presnimavanja informacija, bez dozvole izdavaa.
Zatitni znaci
Kompjuter Biblioteka i THOMSON DELMAR LEARNING SU pokuali
da u ovoj knjizi razgranie sve zatitne oznake od opisnih
termina, pratei stil isticanja oznaka velikim slovima.
Autor i izdava su uinili velike napore u pripremi ove knjige,
iji je sadraj zasnovan na poslednjem (dostupnom) izdanju
softvera. Delovi rukopisa su moda zasnovani na predizdanju
softvera dobijenog od strane proizvodaa. Autor i izdava ne
daju nikakve garancije u pogledu kompletnosti, ili tanosti
navoda iz ove knjige, niti prihvataju ikakvu odgovornost za
performanse, ili gubitke, odnosno oteenja nastala kao
direktna, ili indirektna posledica korienja informacija iz
ove knjige.
ISBN: 86-7310-310-X
Sadraj
1 Uvod u komunikacije, standarde i protokole 1
1.1 Zato uopte prouavamo komunikacije? 1
Kratak istorijat . . 1
Primene 4
"Otvorena" pitanja 8
1.2 Kompjuterske mree 9
Topologija zajednike magistrale . 10
Topologija zvezde 11
Topologija prstena 12
Potpuno povezana topologija 13
Kombinovane topologije 13
1.3 Standardi i organizacije za uspostavljanje standarda 15
Potreba za uvodenjem standarda 15
Organizacije za uspostavljanje standarda 16
1.4 Otvoreni sistemi i OSI model 18
Opti pregled modela 22
Strategije povezivanja 24
Fiziki sloj 29
Sloj veze 30
Sloj mree 32
Transportni sloj 33
Sloj sesije 36
Sloj predstavljanja 38
Sloj aplikacije 40
Internet slojevi 42
Zakljuak 42
1.5 Budunost savremenih komunikacionih tehnologija 44
Pitanja i zadaci za proveru 51
Vebe 52
Reference 53
2 Medijumi za prenos i kodovi 54
2.1 Uvod 54
2.2 Provodni metal 57
Upredene parice 57
Koaksijalni kabl 59
2.4 Beine komunikacije 66
Mikrotalasni prenos 67
Satehtski prenos 70
Beini LAN 81
Bluetooth 82
Tehnologija Free Space Optics 83
Zakljuak 84
2.5 Kodovi 87
Rani kodovi 87
ASCII kod 89
EBCDIC kod 92
Unicode 92
2.6 Zakljuak 93
Pitanja i zadaci za proveru 94
Vebe 95
Reference 96
Analogni i digitalni signali 97
3.1 Uvod 97
3.2 eme za digitalno kodiranje 98
NRZ kodiranje 98
Manester kodiranje 100
3.3 Analogni signali 101
Furijeovi rezultati 103
Primene Furijeovih rezultata 106
3.4 Bitska brzina 107
Nikvistova teorema i beumni kanali 107
Kanali sa umovima 109
enonov rezultat 110
3.5 Konvertovanje digitalnih u analogne signale 112
Frekventna modulacija 113
Amplitudska modulacija 114
Fazna modulacija 114
Kvadraturna amplitudska modulacija 115
3.6 Konvertovanje analognih u digitalne signale 118
Impulsna amplitudska modulacija 119
Impulsna kodna modulacija 119
2.3 Optiki fiber 61
3
3.7 Modemi 121
Konstelacija signala 122
Standardi za modeme 125
Kablovski modemi 127
3.8 DSL 131
Kako DSL funkcionie? 132
Razliite DSL tehnologije 135
3.9 Zakljuak 138
Pitanja i zadaci za proveru 139
Vebe 141
Reference 143
4 Uspostavljanje konekcija 144
4.1 Uvod 144
4.2 Nosioci i ureaji za uspostavljanje komunikacije 145
Telefonski sistem 145
Privatne centrale 148
Mobilni telefoni 149
Faks maine 151
4.3 Modovi prenosa 153
Serijski i paralelni prenos 153
Asinhroni, sinhroni i izohroni prenos 154
Simplex, half-duplex i full-duplex komunikacije 158
4.4 Standardi za interfejse 159
EIA-232 interfejs 160
X.21 interfejs 164
USB 166
FireWire '. 172
4.5 Multipleksiranje 178
Multipleksiranje sa podelom frekvencije 180
Multipleksiranje sa podelom vremena 182
Statistiki multiplekseri 183
Multipleksiranje sa podelom talasnih duina 185
4.6 Digitalni nosioci 186
Tl 186
SONET 188
4.7 Protokoli nadmetanja za pristup
zajednikom medijumu 195
Aloha protokol 196
Protokol Carrier Sense Multiple Access (CSMA) 199
Detekcija kolizije 202
Izbegavanje kolizije 205
Prosleivanje tokena 205
Rezime protokola 207
4.8 Zakljuak 207
Pitanja i zadaci za proveru 210
Vebe 212
Reference 214
5 Kompresija podataka 215
5.1 Uvod 215
5.2 Frekventno zavisni kodovi 217
Hafmanov kod 217
Aritmetika kompresija 220
5.3 Run-Length kodiranje 225
Nizovi istog bita 225
Nizovi sa razliitim karakterima 226
Faksimil kompresija 226
5.4 Relativno kodiranje 229
5.5 Lempel-Ziv kompresija 229
5.6 Kompresija slika 235
Reprezentacija slika 235
IPEG kompresija 238
GIF fajlovi 245
5.7 Kompresovanje multimedijalnih informacija 246
MPEG 246
MP3 251
5.8 Zakljuak 254
Pitanja i zadaci za proveru 254
Vebe 255
Reference 257
6 Integritet podataka 258
6.l Uvod 258
6.2 Jednostavne tehnike za detekciju greaka 259
Provera parnosti 259
eksume 261
6.3 Detekcija greaka pomou cikline provere redundantnosti 261
Deljenje polinoma 262
Nain kako CRC funkcionie 263
Analiza CRC-a 265
Implementacija CRC-a pomou cildinih pomeranja 268
6.4 Hamingovi kodovi: Korekcija greaka 270
Korigovanje jednostruke greke 270
Korigovanje viestrukih greaka 273
6.5 Zakljuak 274
Pitanja i zadaci za proveru 275
Vebe 276
Reference 277
7 Zatita podataka 279
7.1 Uvod 279
7.2 Algoritmi za ifrovanje 281
Cezarovo (Caeser) ifrovanje 282
Polialfabetsko ifrovanje 284
ifrovanje premetanjem 284
ifrovanje na nivou bitova 285
Standardi za ifrovanje podataka 287
Clipper Chip i Skipjack algoritam 296
7.3 Distribuiranje i zatita kljua 299
Shamirov metod 300
Diffie-Hellman razmena kljua 300
7.4 Sifrovanje javnim kljuem 302
RSA algoritam 302
Digitalni potpisi 305
Autentifikacija i digitalni saetak poruke 308
Program Pretty Good Privacy 311
7.5 Zatita na transportnom sloju i autentifikacija servera 315
Zatita na transportnom sloju 316
X.509 sertifikat 317
Usaglaavanje 320
7.6 Firewalli 323
Filtriranje paketa 324
Firevvalli tipa Application-Level Gateway 325
Ispitivanje sadraja paketa na osnovu prethodnog stanja 327
7.7 Virusi 329
"Inficiranje" fajlova 330
Virusi koji su rezidentni u memoriji 332
Razvoj virusa 333
Izvori virusa 335
7.8 Pretaje i napadi 336
Internet "crv" 336
Kompjuterski hakeri 338
Ostale pretnje 339
7.9 Zakljuak 341
Pitanja i zadaci za proveru 345
Vebe 346
Reference 348
8 Kontrola toka 350
8.1 Uvod 350
8.2 Signaliziranje 352
DTE-DCE kontrola toka 353
X-ON/X-OFF 353
8.3 Kontrola orijentisana okvirima 354
Neogranieni protokol 355
Protokol stop-and-wait 356
Efikasnost protokola 358
8.4 Go-Back-n: Protokol klizajuih prozora 360
Format okvira 362
Karakteristike 363
Algoritam 366
8.5 Selektivna retransmisija: Protokol klizajuih prozora 370
Karakteristike 370
Algoritam 374
8.6 Efikasnost protokola klizajuih prozora 377
8.7 Tanost protokola 380
Konani automati 380
STD za pojednostavljeni go-back-n protokol 381
Dijagram prelaza stanja za go-back-n protokol sa grekom 383
Model Petri net 386
8.5 Zakljuak 390
Pitanja i zadaci za proveru 392
Vebe 393
Reference 395
9 Lokalne mree 396
9.1 Uvod 396
9.2 Kontrola veze izmeu podataka 398
High-level Data Link Control (HDLC) protokol 400
Binarny Synchronous Communications (BSC) protokol 408
9.3 Ethernet: IEEE standard 802.3 410
Koncepti 411
Format Ethernet okvira 413
Fizike implementacije 10 Mbps Etherneta 415
9.4 Fast Ethernet (100 Mbps) 417
100BaseTX 418
100BaseFX 421
100BaseT4 422
Domen kolizije 424
9.5 Gigabit Ethernet 424
MAC podsloj 425
1000BaseX 427
lOOOBaseT 428
Brzine vee od gigabita 430
9.6 Token ring: IEEE standard 802.5 433
Formati okvira i tokena 434
Rezervisanje i prisvajanje tokena 436
Odravanje prstena 440
9.7 Beine mree: IEEE standard 802.11 443
Infracrveni i radio talasi 444
"Nadmetanje" 447
Adresiranje 449
Format okvira 451
VVired Equivalent Privacy (WEP) protokol 453
Varijacije standarda 802.11 454
9.8 Zakljuak 455
Pitanja i zadaci za proveru 457
Vebe 459
Reference 461
10 Povezivanje mrea 462
10.1 Uvod 462
10.2 Konekcije sloja 1 465
Repetitori i hubovi 465
10.3 Konekcije sloja 2 467
Mostovi 467
Premoavanje razliitih tipova LAN-a 468
Rutiranje 469
Tabele rutiranja 469
Transparentni mostovi 471
Spanning tree algoritam 475
Mostovi koji koriste izvorno rutiranje 479
Komutatori i komutirani Ethernet 480
Virtuelni LAN-ovi 484
10.4 Konekcije sloja 3 487
Tabele rutiranja 488
Centralizovano rutiranje 490
Distribuirano rutiranje 491
Statiko rutiranje 492
Adaptivno rutiranje 492
10.5 Dijkstrin algoritam 493
10.6 Bellman-Fordov algoritam 496
Problemi sa Bellman-Fordovim algoritmom 500
10.7 Dodatni metodi za rutiranje 502
Rutiranje na osnovu stanja linka 502
Hijerarhijsko rutiranje 503
Routing Information protokol (RIP) 506
Algoritam Open Shortest Path First 509
Border Gateway protokol 510
10.8 Zaguenje i "samrtni zagrljaj" 512
Zaguenje 512
"Samrtni zagrljaj" 515
10.9 Zakljuak 517
Pitanja i zadaci za proveru 519
Vebe 520
Reference 523
11 Internet protokoli i aplikacije 524
11.1 Uvod 524
11.2 Internet protokol 525
Pregled TCP/IP protokola 526
Adresiranje na Internetu 528
Besklasne adrese 531
Dobijanje adrese 533
Domain Name System 534
IP paketi 537
Fragmentacija 540
IP rutiranje 541
Ruteri 546
Rutiranje paketa ka vie odredita 549
Resource Reservation protokol (RSVP) 555
Intemet Control Message protokol (ICMP) 557
11.3 IPv6 559
Nedostaci IP-ja 560
Zaglavlja paketa 561
IPSec 564
IPv6 adresiranje 566
Kompatibilnost sa IPv4 569
Zakljuak 570
11.4 Transportni protokoli 571
Transmission Control protokol (TCP) 573
TCP segment 574
Upravljanje konekcijom 577
Kontrola toka 580
Kontrola zaguenja 582
User Datagram protokol (UDP) 584
Real-Time Transfer protokol (RTP) 585
11.5 Internet aplikacije 589
Protokoli virtuelnog terminala 589
Transfer fajlova 596
Simple Mail Transfer protokol (SMTP) 602
Simple Netvvork Management protokol (SNMP) 604
11.6 Zakljuak 608
Pitanja i zadaci za proveru 610
Vebe 612
Reference 614
12 lnternet programiranje 616
12.1 Uvod 616
12.2 Soket programiranje 617
Soketi 618
Model klijent/server 619
Strukture podataka koje soketi koriste 620
Komande soketa 621
Primer klijent/server modela 621
12.3 World Wide Web 633
Pristup Web stranicama 634
Hypertext Markup Language 636
HTML forme 641
Programiranje na strani klijenta i JavaScript 644
12.4 CGI i programiranje na strani servera:
Postavljanje pretraivake maine 649
Forme 650
Stringovi upita 651
Primer pretraivake maine 651
12.5 Perl programiranje: Sistem za naruivanje pice 654
Interakcija sa korisnikom 655
Verifikovanje broja telefona 658
Auriranje informacija o korisniku 664
Postavljanje narudbine 667
Verifikovanje narudbine 669
12.6 Zakljuak 672
Pitanja i zadaci za proveru 673
Vebe 674
Reference 676
13 Tehnologije sa komutacijom kola 677
13.1 Uvod 677
13.2 Digitalna mrea sa integrisanim servisima (ISDN) 678
Servisi 679
Arhitektura 681
Protokoli 683
Postavljanje poziva 689
irokopojasni ISDN 691
13.3 Protokoli za virtuelna kola: X.25 i Frame Relay 692
Modovi mrea sa komutacijom paketa 693
X.25 standard za interfejse 696
Frame Relay 699
Kontrola zaguenja 703
13.4 Asinhroni prenos 705
Prednosti malih elija fiksne veliine 706
Opti pregled ATM mree 708
Komutacija 709
Referentni model 712
Definicija elije 713
Virtuelna kola i putanje 716
Upravljanje konekcijom 717
Adaptacioni slojevi 720
Service-specific connection-oriented protokol (SSCOP) 725
Gigabit Ethernet naspram ATM mree 726
13.5 Zakljuak 727
Pitanja i zadaci za proveru 727
Vebe 729
Reference 730
731
748
752
Renik
Skraenice
Indeks
Predgovor
Namena
Drugo izdanje ove knjige je izalo pre par godina, a od tada se promenilo mnogo tota na polju
razmene podataka i kompjuterskih mrea.
Softver baziran na Webu postao je sasvim uobiajen.
Potreba za bezbednim konekcijama na Web sajtovima je opta.
Razmatraju se bezbednosni aspekti i razvijaju alatke za borbu protiv sve veih pretnji
koje ugroavaju bezbednost.
Kreirani su novi standardi za ifrovanje i napravljen je kompromis sa starima.
Zbog zahteva za kvalitetnim servisima, javila se potreba za novim protokolima koji e
se pokretati zajedno sa postojeima.
Nove tehnologije za uspostavljanje konekcija, kao to su DSL, USB i FireVVire, postaju
sasvim uobiajene.
Ethernet mree su dostigle gigabitske brzine.
eme za kompresiju audio zapisa, kao to je MP3, i mogunost igranja igara preko
mree zauvek su promenili nain na koji ljudi koriste Internet.
Beine tehnologije poinju da predstavljaju prihvatljivu alternativu za mnoge
korisnike.
Retko se koriste protokoli koji su ranije bili uobiajeni, ili se mislilo da imaju
perspektivu u budunosti.
Mi vie ne ivimo u istom svetu u kome smo iveli kada je izalo prethodno izdanje ove knjige;
ovo izdanje odslikava promene koje su se desile u meduvremenu.
Iako je veliki deo sadraja knjige promenjen, njena namena je, u osnovi, ostala nepromenjena.
Napisana je za studente na niim godinama studija na odseku za kompjutersku tehniku koji su
odsluali najmanje dva semestra o izradi softvera i imaju dobru osnovu iz matematike,
ukljuujui i diskretnu matematiku. Obuhvaene su standardne teme na uvodnom kursu o
komunikacijama i kompjuterskim mreama, kao to su mediji za prenos, analogni i digitalni
signali, prenos podataka, metodi za kompresovanje i ifrovanje, mrene topologije, zatita mrea,
LAN protokoli, Internet protokoli i aplikacije, tehnologije sa komutacijom kola i Web aplikacije.
Cilj nam je da pomognemo itaocu da razume:
razlike, prednosti i nedostatke razliitih medija za prenos
analogne i digitalne signale, tehnike modulacije i demodulacije i nain funkcionisanja
uredaja za modulaciju, kao to su modemi, kablovski modemi i DSL modemi
efekat uma u toku prenosa i kako protokoli detektuju da su informacije promenjene
kako protokoli reaguju u situacijama kada um izaziva oteenja, ili gubitak informacija
standarde kao to su AES, ATM, DES, EIA-232, HDLC, IEEE 802.3, IEEE 802.5, IEEE
802.11, IPv6, JPEG, MP3, MPEG, OSI, SONET, TCP/IP i X.25, organizacije za
uspostavljanje standarda i razloge zato su standardi neophodni
tehnike za kompresovanje podataka, tipove podataka koji se mogu kompresovati i
poredenje razliitih metoda koji se danas koriste
"crve", viruse i ostale pretnje umreenim kompjuterima
potrebu za zatitom i efektivnim metodima ifrovanja
razlike izmedu sistema ifrovanja javnim i privatnim kljuem
kako se uspostavljaju bezbedne konekcije izmeu udaljenih sajtova
potrebu za kontrolom toka i razliite naine za njenu implementaciju
protokole koji se koriste na lokalnim mreama i strategije nadmetanja na deljenim
medijima za prenos podataka
beine standarde
metode povezivanja lokalnih mrea
strategije rutiranja
potrebu za protokolima koji podravaju real-time video aplikacije i koji zadovoljavaju
zahteve za kvalitetnim servisima
kako se dizajniraju i postavljaju razliite funkcionalne klijent/server aplikacije
kako sve vee korienje VVeba i multimedijalnih aplikacija utie na postojee
protokole i ta je uinjeno da bi se prevazile eventualne potekoe.
Sadraj i organizacija
U treem izdanju su izvrene velike promene - neke su usledile nakon komentara italaca, a ostale
su rezultat razvoja tehnologije. Mnoge slike su detaljnije razjanjene i poboljana su objanjenja
pojedinih protokola. Ukljuene su i brojne teme koje su u dananje vreme sasvim uobiajene,
zajedno sa novim dostignuima razvoja, i izostavljene su stare teme koje danas vie nemaju
nikakvu znaajnu ulogu na ovom polju.
Najoiglednija promena je moda u strukturi knjige koja je sada organizovana u sledeih trinaest
poglavlja:
Poglavlje 1 Uvod u komunikacije, standarde i protokole
Poglavlje 2 Mediji za prenos i kodovi
Poglavlje 3 Analogni i digitalni signali
Poglavlje 4 Uspostavljanje konekcija
Poglavlje 5 Kompresovanje podataka
Poglavlje 6 Integritet podataka
Poglavlje 7 Zatita podataka
Poglavlje 8 Kontrola toka
Poglavlje 9 Lokalne mree
Poglavlje 10 Povezivanje mrea
Poglavlje 11 Internet protokoli i aplikacije
Poglavlje 12 Intemet programiranje
Poglavlje 13 Tehnologije sa komutacijom kola
Ova restruktuirana knjiga predavaima treba da obezbedi bolje fokusiranje na specifine teme
koje trenutno obraduju u okviru svojih predavanja. Neka od ovih poglavlja odgovaraju delovima
poglavlja iz prethodnog izdanja, a nekim je predstavljen potpuno novi materijal. Najznaajnije
promene ukljuuju nove, ili proirene teme u vezi:
medija, ukljuujui provodne metale, optiki prenos, beine i satelitske komunikacije
DSL tehnologija
Universal Serial Bus (USB) i FireWire (IEEE 1394 standard) protokola
Synchronous Optical Network (SONET) protokola
tehnike aritmetike, faksimil i MP3 kompresije
Advanced Encryption Standard (AES) i Rijndaelovog algoritama
programa Pretty Good Privacy
Secure Sockets Layer, Transport Layer Security i X.509 sertifikata
Firewalla
sigurnosnih pretnji
standarda za Ethernet, brzi (Fast) Ethernet i Gigabit Ethernet (dat je opti pregled
10-gigabit Ethernet standarda)
802.11 Wireless LAN standarda
komutiranog Etherneta
virtuelnog LAN-a
protokola na slojevima 3 i 4, ukljuujui besklasno rutiranje izmedu domena,
rutiranje i rutere, rutiranje paketa ka vie odredita istovremeno, pitanja obezbedivanja
kvalitetaih servisa, Real-Time Transfer protokol i IPSec
Internet aplikacija
CGI programiranja, ukljuujui radne primere sistema za naruivanje preko Weba
pomou Linuxa i Perl Scripts
Frame Relay protokola
Iako bi bilo teko (skoro nemogue) obuhvatiti sve mogue teme u okviru jenosemetralnog
kursa, opseg predstavljenih tema omoguava predavaima da izaberu koje su najvanije za nji-
hove studente.
U ovoj knjizi je ponudena meavina teorije i praktinih aplikacija. Teorija obezbeduje solidnu
osnovu za dalje studije, a aplikacije pribliavaju studente stvarnim komunikacionim sistemima i
mreama - oni, na ovaj nain, stiu i dragocena iskustva, Svi studenti e imati koristi od
praktinih aplikacija, doksu teorijska objanjenja, pre svega, namenjena ambicioznijim studentima.
Osim toga, u Poglavlju 12 je predstavljen stvarni model radnih programa za klijent i server.
Svako poglavlje predstavlja osnovu na koju se nadovezuje naredno. Na primer, kada prouavate
multipleksiranje, nadmetanje za pristup zajednikom mediju, ili kompresiju, pre toga bi trebalo
da prouite naine na koje se signali prostiru kroz razliite medije. Kada prouavate lokalne
mree, trebalo bi da znate kakvi problemi mogu da nastanu zbog nadmetanja na linijama sa
viestrukim pristupom, kakve probleme stvaraju kanali sa umovima i kako se vri kontrola toka.
Kada prouavate protokole za WAN mree, trebalo bi da razumete protokole za lokalne mree i
zato ti protokoli nisu prikladni za vee mree. Sledi kratak rezime svih poglavlja.
Poglavlje 1 obezbeduje uvod u oblast kojom emo se baviti ("dodirnuti" su tekui problemi i
aplikacije na polju komunikacija i mrea). Opisana je potreba za uspostavljanjem standarda,
navedene se relevantne organizacije za uspostavljanje standarda, a, zatim, sledi pregled
standardizovanog modela protokola Open Svstem Interconnect. Poglavlje se zavrava
predvidanjima o buduim deavanjima.
U Poglavlju 2 predstavljeni su razliiti tipovi medija za prenos (kabl, iani, beini, satelitski,
optiki fiber), njihove prednosti i nedostaci i razliiti kodovi koji se koriste za dodeljivanje
znaenja podacima. U Poglavlju 3 prouavamo tipove analognih i digitalnih signala, tehnike
modulacije koje su neophodne za njihovo konvertovanje i efekat uma na bitskim brzinama.
Osim toga, predstavljeni su modemi, kablovski modemi i DSL tehnologije.
Poglavlje 4 se fokusira na uspostavljanje konekcija, na modove prenosa, na komunikacione
nosae (telefonski sistem, SONET i Tl), na standarde interfejsa (EIA-232, USB i FireWire) i na
nain kako vie ureaja pristupa zajednikom mediju (metodi multipleksiranja i razliiti pro-
tokoli za uspostavljanje konekcije).
U Poglavlju 5 su predstavljene tehnike za kompresovanje podataka i objanjeno je kako se u tim
tehnikama koriste razliiti tipovi redundantnosti podataka. U Poglavlju 6 se bavimo integritetom
prenetih podataka, detektovanjem greaka i tehnikama za korigovanje greaka, kao to su
parnost, CRC i Hamingovi kodovi.
Poglavlje 7 posveeno je zatiti podataka, ukljuujui tehnike ifrovanja (i sa javnim i sa privat-
nim kljuem), standarde za ifrovanje, algoritme za razmenu kljua, metode za autentifikaciju,
X.509 sertifikate i bezbedne konekcije, firewalle i razliite pretnje (viaise, "crve", hakere i napade
odbijanja servisa).
U Poglavlju 8 je prikazan algoritam kontrole toka koji opisuje kako uredaj rukuje razmenom
informacija i ta se deava prilikom gubitka, ili oteenja podataka. Opisane su i neke tehnike
koje se koriste za formalnu verifikaciju tanosti protokola.
Nakon toga, u Poglavlju 9 predstavljeni su LAN protokoli, ukljuujui nekoliko vrsta Etherneta - orig-
inalni, brzi (Fast) Ethernet i Gigabit Ethernet, Token Ring i IEEE 802.11 VVireless LAN standard.
U Poglavlju 10 se bavimo nainima povezivanja mrea. Obradeni su konekcije sa Sloja 2
(mostovi i komutatori), uenje adresa, algoritam otvorenog stabla, komutirani Ethernet i VLAN
mree. Osim toga, u ovom poglavlju se bavimo konekcijama Sloja 3 i predstavljamo razliite
algoritme rutiranja (Dijkstra, Bellman-Ford, RIP, BGP i mnoge druge). Opisani su I problemi
zaguenja mree i "samrtni zagrljaj".
Poglavlje 11 je posveeno Internetu. Obuhvaene su verzije 4 i 6 Internet protokola, kvalitet
servisa, rutiranje ka vie odredita i drugi protokoli koji su dizajnirani da bi bili ispunjeni
zahtevi nekih real-time servisa na Internetu. Osim toga, obraden je TCP (upravljanje konekcija-
ma, kontrola toka i upravljanje zaguenjem), a dat je i opis nekoliko uobiajenih Internet
aplikacija (Telnet, SSH, FTP i SMTP).
Poglavlje 12 je namenjeno onima koji u okviru kursa nameravaju da odrade i neke projekte.
Obezbedeni su radni primeri klijent/server aplikacija. Primeri ukljuuju soket programiranje, CGI
programiranje korienjem C-a i Perla i primer koda koji ilustruje kako se vri transfer fajlova i
kako funkcioniu pretraivaka maina i sistem za online narudbine.
U Poglavlju 13 se bavimo tehnologijama sa komutacijom kola, kao to su ISDN, X.25, Frame
Relay i ATM.
Pitanja na kraju svakog poglavlja su podeljena u dve grupe. Prva grupa (Pitanja za proveru)
sadri pitanja na koja se odgovori mogu dati direktno na osnovu sadraja poglavlja - ona treba
da ohrabre itaoca da se vrati na tekst i da izabere ono to su autor i predava smatrali najbitni-
jim. Smatram da je ovaj metod bolji sa pedagokog stanovita, u odnosu na pristup kod koga se
na kraju poglavlja jednostavno navedu najvanije teme, jer se ovako student ohrabruje da ita
knjigu kao da je re o romanu-lineamo. Ipak, uenje sloenog materijala esto zahteva ponovna
iitavanja da bi se razvrstali i razumeli razliiti koncepti. Jedan kolega mi je ispriao da je ranije
imao problema sa nekim studentom koji je stalno zaostajao za ostalima zato to je imao neki
honorarni posao, ali je na poslu imao i neto slobodnog vremena; umesto da se dosaduje,
odluio je da ponese ovu knjigu na posao i da ita kad god mu se ukae pogodna prilika. Kasnije
je u toku semestra znaajno napredovao i rekao je svom predavau da mu je nakon etvrtog, ili
petog itanja sve bilo jasno.
Pitanja za proveru nisu dovoljna. Druga grupa (Vebe) sadri pitanja koji itaoca navode da pri-
meni ono to je nauio i da vri poreenja, donosi logike zakljuke i razmatra mogue alterna-
tive. Odgovori nisu uvek jednostavni i to su najee problemi sa kojima biste e sretali u praksi.
Dopune za predavae
Instructor's Solutions Manual, uputstvo u kojem moete da pronadete odgovore na
pitanja iz provere i vebi; na raspolaganju je predavaima koji dobiju odobrenje od
izdavaa
primeri koji su na raspolaganju predavaima na osnovu zahteva (email:
shayw@uwgb.edu)
dodatne instrukcije moete da pronadete i na autorovom Web sajtu
http://www.uwgb.edu/shayw/udcn3. Tu se nalaze slike knjige u pdf formatu, ispravke
greaka koje su otkrivene nakon tampanja knjige, sve kopije koda koji je predstavljen
u Poglavlju 12 i brojni linkovi ka korisnim Web sajtovima, organizovani po temama
iz poglavlja.
Zahvalnost
U pisanju jedne ovakve knjige retko moe da uestvuje samo jedna osoba. Mnogi ljudi su
doprineli nastanku ove knjige - dali su mi dragocene ideje i informacije i pruili svesrdnu
podrku u toku realizacije ovog projekta. Dragocene savete prilikom pisanja prva dva izdanja ove
knjige pruili su mi sledei ljudi kojima se posebno zahvaljujem:
Abdullah Abonamah James E. Holden
Universit}' of Akron Clarion University
David Kieper David Whitney
University of Winsonsin-Green Bay San Francisco State Universitf
George W. Ball dr Sub Ramakrishnan
Alfred University Boivling Creen State University
Lance Leventhal dr J. Archer Harris
James Madison University
Mehran Basiratmand
Florida International University dr Seyed H. Roosta
Mount Mercy College
Judith Molka
Univeristy ofPittsburgh dr Paul H. Higbee
University of North Florida
Ron Bates
DeAnza College Dr. Brit Williams
Kennesam State University
Dan O'Connell
Fredonia College-SUNY dr Gene Hill Price
Old Dominion University
Bruce Derr
Sten Wine
John L. Spear Hunter College i
Syracause University Neui Era of Netutorks, Inc.
Mohammad El-Soussi dr J. Mark Pullen
Santa Barbara City College George Mason Universit)'
Janet M. Urlaub
Sinclair Communit}' College
Zahvaljujem se onima koji su mi obezbedili korisne sugestije za poboljanje drugog izdanja i koji
su imali vremena da pregledaju moj rukopis za tree izdanje. Paljivo sam razmotrio sve
komentare i sugestije i mnoge od njih ukljuio u konani rukopis.
Najiskrenije se zahvaljujem recenzentima ovog izdanja:
Irvinu Jay Levyu
Gordon College
Marku Pullenu
George Mason University
Abyu Tehranipouru
Eastern Michigan University
Cameliji Zlatea
De Paul University
Takoe se zahvaljujem ljudima u Brooks/Cole, ukljuujui mog urednika Kallie Swanson i njenog
pomonika Aartija Jayaramana, kao i Penmarin Books za produkciju, Cindy Kogut za copy
editing i George Barlie iz Accurate Art za ilustraciju ovog novog izdanja. Njihov doprinos i
zalaganje su omoguili pretvaranje mog rukopisa u knjigu. Mojoj porodici - Judy, Danu i Timu
dugujem posebnu zahvalnost. Oni su se rtvovali da bih ja mogao da koristim svoje "slobodno
vreme" za pripremu rukopisa. Obeavam da u im to nadoknaditi. Konano, veoma cenim
miljenje svih onih koji e proitati ovu knjigu. Slobodno mi poaljite svoje komentare na adresu
Bill Shay, Department of Information and Computing Sciences, University of Winsconsin - Green
Bay, Green Bay, WI 54311-7001, ili e-mailom shayw@uwgb.edu.
BILL SHAY
Za Ijubav prema uenju, skrivena skrovista i slatko blaenstvo knjiga
Henry Wadsworth Longfellow (1807-1882), ameriki pesnik
Postoje dve vrsta znanja. Ili znamo sve o neemu, ili znamo gde moemo da pronaemo
informacije o tome.
Samuel Johnson (1709-1784), britanski autor
1.1 Zato uopte prouavamo komunikacije?
Zato bismo uopte prouavali kompjutere i razmenu podataka? Postoje brojni razlozi, od onih
tipa "Apsolutno sam oaran tom oblau" do " Moram da znam kako da poveem svoj kompjuter
na mreu moje kompanije". Jedan od najvanijih razloga je injenica da su komunikacione
tehnologije prodrle apsolutno u sve aspekte naeg ivota, od profesionalnih i obrazovnih
okruenja, do "iste" rekreacije. Ove tehnologije su imale toliko jak prodor da se esto uzimaju
"zdravo za gotovo" i uopte nismo ni svesni svih njihovih primena.
Kratak istorijat
Polje komunikacija nije novo: ljudi su komunicirali jo od svog postanka najprimitivnijim nainima
sporazumevanja i crtanjem na zidovima peina. Hiljadama godina su komunicirali koristei rei,
pergament, kamene blokove i dimne signale. Primarni oblici slanja informacija zasnivali su se na
ulu sluha i vizuelnom predstavljanju. Ili ujete nekoga da govori, ili vidite slova i simbole koji defi-
niu poruku.
Uvod u komunikacije,
standarde i protokole
Komunikacije su se drastino promenile 1837. godine, kada je Semjuel Morze (Samuel Morse)
izumio telegraf. Zahvaljujui ovom izumu, bilo je mogue poslati informacije pomou
elektrinih impulsa preko bakarne ice. Poruke su slate tako to se svaki karakter prevodio u niz
dugakih, ili kratkih elektrinih impulsa, ili, ako ne koristimo tehnike izraze, u nizove taaka i
crtica - ti nizovi su prenoeni preko ice. Pridrueni skup karaktera i elektrinih impulsa naziva
se Morzeov kod. Mogunost slanja informacija bez oiglednog verbalnog, ili vizuelnog
medijuma predstavljala je kamen temeljac mnogim izumima koji e zauvek promeniti naine
komunikacije izmeu ljudi.
Aleksander Graham Bel (Alexander Graham Bell) je 1876. godine pomerio telegraf jedan korak
unapred. Pokazao je kako glas moe direktno da se konvertuje u elektrinu energiju i prenosi
preko ice korienjem naizmeninog napona. Na drugom kraju ice elektrini signali su
konvertovani nazad u zvuk. Rezultat je bila mogunost prenosa govora elektronskim putem
izmedu dve take, ije je rastojanje zavisilo samo od mogunosti fizikog povezivanja tih taaka.
Za ljude iji su ivoti zavisili samo od toga ta su mogli da vide i uju ovaj izum je bio
apsolutno neverovatan i delovao je nestvarno.
Najraniji telefoni su zahtevali poseban par ica za svaki telefon na koji je neka osoba htela da se
povee. Da bi nekoga pozvala, ta osoba je najpre morala da povee svoj telefon na par ica i da se
nada da je neko na drugom kraju slua. Nije bilo nikakvog zvona, ili ureaja za signaliziranje koji bi
osobu na drugom kraju obavestio o pozivu. To se promenilo pronalaskom razvodne table
(switchboard), razvodnog ureaja (slika 1.1) koji je povezivao linije izmeu telefona. Kada je neko
hteo da pozove nekoga, jednostavno je podizao slualicu i "redtovao" broj osobe koju eli da
pozove. Telefoni tada jo uvek nisu bili doli do take u kojoj bi ljudi sami obavljali aktivnosti kao
to su okretanje brojanika, ili pritiskanje dugmadi. Uspostavljanje konekcija je aktivirano glasom.
Konkretno, operater bi uo broj, a zatim bi koristio razvodnu tablu za povezivanje linija telefona
osobe koja upuuje poziv sa linijama telefona traene osobe.
SLIKA 1.1 Razvodna tabla
Konekciju runo uspostavlja operater
Razvodna tabla
U narednih 70 godina telefonski sistem je toliko napredovao da je telefon postao sasvim
uobiajeni aparat u svakoj kui. Veina nas nikada se nije ni zapitala kako telefonski sistem
funkcionie. Znamo da okrenemo neki broj i jednostavno saekamo da uspostavimo vezu sa bilo
kojim delom sveta.
Sledecl znaajan dogadaj na polju komunikacija desio se 1945. godine, kada je izmiljen prvi
elektronski kompjuter ENIAC (Electronic Numerical Integrator and Calculator). Dizajniran je za
balistike proraune u Drugom svetskom ratu i predstavljao je prvi uredaj koji je mogao da obraduje
informacije elektronskim putem. Iako ENIAC nije imao direktnu ulogu u kompjuterskim
komunikacijama, pokazao je da se izraunavanja i donoenje odluka mogu izvesti elektronskim
putem, to je jedna od polaznih osnova dananjih komunikacionih sistema.
Kompjuteri i komunikacije poinju da "izbijaju na povrinu" odmah nakon pronalaska prvog
tranzistora (1947. godine), koji je omoguavao kreiranje manjih i jeftinijih kompjutera. Nova
generacija kompjutera se pojavila 60-ih godina prolog veka; sa njima je olakano procesiranje i
rutiranje telefonskih poziva. Osim toga, sve vie kompanija kupuje kompjutere i razvija aplikaci-
je za njih, tako da narasta i potreba za prenosom informacija izmedu njih.
Prvi komunikacioni sistem izmedu kompjutera bio je jednostavan, ali pouzdan. U osnovi,
ukljuivao je zapisivanje informacija sa jednog kompjutera na magnetnu traku, a zatim se sa tom
trakom odlazilo do drugog kompjutera (neki ljudi i danas rade isto, mada su magnetne trake
zamenjene diskovima, CD-ROM-ovima i DVD-em). Na drugom kompjuteru je bilo mogue
proitati informacije sa trake. Ovo je bio pouzdan oblik komunikacije, uz pretpostavku da je
traka mogla bezbedno da se prenese do svog odredita.
Sledei znaajan pomak u elektronskim komunikacijama desio se sa razvojem prvog personalnog
kompjutera (PC-ja). Postojanje kompjutera koji se nalazi na radnom stolu otvara potpuno novi
svet mogunosti za smetanje i pribavljanje informacija. Ogroman broj PC-ja uveden je 80-ih
godina u skoro sva poslovna okruenja, kompanije, kole i organizacije, ali i u brojne domove.
Cinjenica da je veliki broj ljudi imao kompjutere uslovila je potrebu za jo lakim nainima za
razmenu informacija.
World Wide Web, aplikacija koja je informacije iz bilo kog dela sveta uinila lako dostupnim sa
bilo ijeg PC-ja, nastao je u narednoj deceniji. Pomou klikova miem korisnici kompjutera
piogu da pristupaju fajlovima, programima, video klipovima i zvunim zapisima. Online servisi,
kao to su America Online, ili Yahoo, obezbeduju pristup mnotvu usluga za svoje korisnike, kao
to su et sobe (prostorije za askanje), oglasne table (bulletin boards), sistemi za rezervaciju
avionskih karata i jo mnogo tota.
Da napomenemo da mnogi ljudi pogreno misle da koncept mrea za razmenu podataka potie
sa kraja 90-ih godina prolog veka, od pojave Interneta. Mnogi se esto iznenade kada uju da je
mrea za razmenu podataka prvi put kreirana u Francuskoj u 18. veku, oko 200 godina pre
nastanka Interneta! Bio je konstruisan niz tornjeva, koji su imali asovnike sa klatnom i panele
koji su na jednoj strani bili crni, a na drugoj beli.
Osoba na prvom tornju bi u skladu sa asovnikom postavljala panel tako da bude vidljiva crna,
ili bela strana. Druga osoba bi na udaljenom tornju teleskopom posmatrala kako je postavljen
panel na prvom tornju i u skladu sa tom postavkom definisan je poloaj lokalnog panela. Poruke
su kodirane u skladu sa nizovima crnih i belih slika i prenoene su od jednog tornja do sledeeg
u nizu. Prva poslata poruka je prelazila otprilike 16 kilometara, za ta su bila potrebna otprilike
etiri minuta. Referenca [RHo94] obezbeuje fascinantno tivo o toj mrei i nekim motivima
koji su inspirisali konstrukciju ovakve mree.
I na ulasku u 21. vek nove tehnologije neprestano menjaju nain naeg rada i sliku sveta koju
trenutno imamo. Integracija medijuma i komunikacionih servisa, zajedno sa eventualnom
konverzijom u digitalne prenose, obeava potpuno novi svet interaktivne zabave i nove
moguhosti za obrazovanje. Pristup Intemetu koji obezbeduju kompanije koje se bave
uvodenjem kablovskih sistema u kucha okruenja nudi sve vee brzine preuzimanja informacija.
Zahvaljujui tome, na raspolaganju imamo sve vei broj informacija. Palmtop kompjuteri i
beine tehnologije omoguavaju fleksibilnije korienje kompjutera, uenje i zabavu koje
ranije nije bilo mogue obezbediti. Sve vei broj ljudi koristi prednosti ovih tehnologija, to, sa
druge strane, namee sve vei broj etikih i pravnih problema. Sada je sve tee kontrolisati
pornografiju i materijal sa eksplicitnim nasiljem. Problem zatite autorskih prava (copyright)
eskalirao je 2000. godine, kada je tehnologija toliko napredovala da su ljudi mogli da razmenju-
ju popularnu muziku u digitalnom, kompresovanom formatu. Trenutno su u tu "priu" ukljueni
i problemi u vezi videa.
Kompjuteri i komunikacije su napredovali do te mere da je danas skoro nemogue zamisliti
funkcionisanje kompanija, kola, pa, ak, i mnogih individua bez kompjutera. Naa potpuna
zavisnost od kompjutera namee nam potrebu da ih razumemo, kako sa stanovita prednosti
koje pruaju, tako i u pogledu ogranienja.
Primene
Prenos podataka izmeu kompjutera predstavlja samo jednu oblast komunikacija. Na primer,
veina ljudi je svesna da je za televizijski prenos neophodno imati antenu i kabl koji e dovesti
signal u kuu. Medutim, to je samo poslednji korak u velikom svetskom komunikacionom
sistemu, koji je nastao 1962. godine uvoenjem Telstara, komunikacionog satelita dizajniranog
za prenos televizijskih i telefonskih signala izmedu Sjedinjenih Amerikih Drava i Evrope.
Telstar je pokazao da je prenos informacija izmedu kontinenata i tehnoloki izvodljiv i
ekonomski opravdan.
Danas se televizijski signali pomou preko brojnih komunikacionih satelita. Na slici 1.2 prikazan
je klasian sistem. Predajnik na jednom delu sveta alje signal do satelita u orbiti, koji prenosi taj
signal do prijemnika na drugom kraju sveta. Signali se od prijemnika alju do emisionih tornje-
va i prenose lokalno pomou frekvencije koju je odobrio FCC (Federal Communications
Commision). Antena prima signal i prenosi ga do televizijskog uredaja u naim domovima.
Televizijske antene su sve rea pojava u dananje vreme, jer se mnogi ljudi pretplauju na usluge
kablovske televizije, koja signale dovodi direktno u domove pomou optikih fiber kablova i
koaksijalnih kablova. Osim toga, mnogi ljudi kupuju sopstvene satelitske antene i direktno
primaju satehtske signale.
SLIKA 1.2 Prijem televizijskih signala
Ostale varijante korienja komunikacija ukljuuju lokalne mree (LAN - local area networks) i
mree ireg geografskog podruja (WAN - wide area networks), sisteme koji veem broju
kompjutera omoguavaju da komuniciraju na kraim (LAN), ili veim (WAN) rastojanjima. Kada
se poveu, korisnici mogu da alju, ili primaju fajlove sa podacima, mogu da se loguju na
udaljene kompjutere, da alju potu (email - elektronsku potu), ili da se povezuju na World
Wide Web. Zahvaljujui emailu, bilo koja osoba moe da poalje privatne, ili poslovne poruke,
tabelarne obrasce, baze podataka, pa, ak, i porodine fotografije sa jednog kompjutera na drugi.
Sistem za email smeta poruke na disku kompjutera, tako da drugi korisnik moe da ih proita.
Zbog neverovatno poveanog korienja emaila, koji poruke alje i prima elektronskim putem,
neki ljudi predvidaju da e u nekoj budunosti on zameniti klasinu potu. To se nee desiti ba
u najblioj budunosti, mada danas ogroman broj ljudi koristi email, kako u poslovne, tako i u
privatne svrhe, zahvaljujui sve veoj prisutnosti Weba.
Pomou emaila je mogue poslati poruku na udaljenu lokaciju iz privatnosti doma; na slici 1.3
ilustrovano je jedno mogue uredenje. Osoba sa PC-jem i modemom moe da pristupi svom
Internet provajderu preko telefonske linije, kablovskog servisa, ili, ak, satelitske antene. Taj
kompjuter se povezuje na WAN mreu, koja omoguava slanje poruke irom zemlje, ili, ak, do
drugih zemalja i eventualno do udaljenog Internet provajdera, ili moda kompjutera u
kompanijinoj mrei preko LAN-a. Rezultat je elektronski transfer izmedu dve take, koje se
potencijalno nalaze na velikim udaljenostima.
predajnik prijemnik
emisioni toranj
frekvencija odobrena
od strane FCC-a za lokalno
emitovanje
satelitski prenos
satellite
SLIKA 1.3 Konekcije elektronske pote
Slede kratki opisi dodatnih komunikacionih primena. Neke od ovih tema detaljnije emo
obraditi u kasnijim poglavljima.
Faksimil maine (faks) Faks maina kreira elektronski ekvivalent slici na paretu
papira, pa tu sliku alje preko telefonskih linija. Faks maina na drugom kraju ponovo
kreira sliku sa originalnog papira. Faks se koristi za slanje pisama, grafikona i
dijagrama za svega par minuta, ili, ak, za nekoliko sekundi.
Glasovne i video komunikacije LAN mree su originalno koriene za povezivanje
PC-ja i ostalih uredaja prvenstveno radi transfera podataka i softvera. Cesto su
komunikacioni sistemi razvijani iskljuivo radi prenosa glasa i video slika.
Neke kompanije su imale sopstvene telefonske sisteme, ili privatne centrale
(PBX - private branch exchange), o kojima e vie rei biti u Poglavlju 4. Video komu-
nikacije mogu da se koriste za putanje video zapisa, ili za prijem videa iz spoljanjeg
izvora i prenos signala u okviru kompanije, ili organizacije. Video komunikacije imaju
specijalne potrebe, jer obino zahtevaju prenos 30 slika u sekundi, a za svaku sliku je
neophodna velika koliina informacija da bi bila sauvana kristalno ista sa pravim
bojama. Medutim, sa pojavom novih tehnologija koje koriste gigabitske brzine
(milijardu bitova u sekundi), ovakav prenos postaje sasvim uobiajeni deo saobraaja
u okviru LAN mree. Time je otvoren potpuno novi svet moguih aktivnosti
korienjem PC-ja i LAN okruenja. Pomou slualica sa ugradenim mikrofonom
svaka osoba moe da se prikljui na PC, izabere neki broj telefona i inicira konverzaci-
ju sa osobom na udaljenom telefonu. Mini kamere postavljene na monitoru PC-ja
mogu da prenose slike osobe koja govori. Digitalno kreiranje slika se koristi i za
prenos video slika ka korisnicima PC-ja. To ima brojne primene. Na primer, kompani-
ja moe da sponzorie niz programa za obuku. Odeljenje koje je angaovano moe da
objavi da e prenositi video snimak sa uputstvima preko odgovarajueg nosaa i da e
ga odravati u odreenom vremenskom periodu.
PC kod
kue
Internet
provajder
modem
telefonska
linija
konekcija
WAN mree
WAN
mrea
lokalna mrea
PC na poslu
Zainteresovane osobe treba samo da koriste PC softver za selektovanje kanala u to
vreme i moi e da prate emisiju u vreme kada se emituje.
Mobilni telefoni Telefonski sistem je nesumnjivo najrasprostranjeniji komunika-
cioni sistem. Medutim, sve do 60-ih godina prolog veka uesnici u komunikaciji su se
morali fiziki povezivati. U to vreme telefonski sistem je poeo da koristi satelite i
mikrotalasne tomjeve za slanje signala. Ipak, i u to vreme osobe koje uestvuju u
razgovoru morale su fiziki da se vezuju na lokalne centrale. To je promenjeno
pronalaskom mobilnih (celularnih) telefona, uredaja koji se povezuju na telefonski
sistem preko radio talasa. Tako je ljudima omogueno da pozivaju druge brojeve iz
svojih automobila, dok su na pauzi za ruak, na utakmici, ili, ak, iz udaljenih delova
zemlje - iz bilo kog mesta na kome je mogua komunikacija sa predajnim i prijemnim
tornjevima. Mobilni telefoni su korisnicima omoguili i pristup Webu, kao i
mogunost slanja tekstualnih poruka. Detaljnije emo ih predstaviti u odeljku 4.2.
Informacioni servisi Oni koji imaju PC i modem mogu da se pretplate na razliite
informacione servise. Oglasne table (banke podataka) omoguavaju besplatnu
razmenu nekih softverskih proizvoda, fajlova i drugih informacija. Ostali servisi
korisnicima omoguavaju uvid u berzanske izvetaje, elektronske transakcije, ili
prouavanje rasporeda avionskih letova i rezervisanje karata. Pretraivake maine na
Webu omoguavaju pretraivanje baza podataka za dokumente u kojima se nalazi
zadata kljuna re, ili na osnovu zadate tematske oblasti. Korisnicima se vraaju
linkovi, tako da pomou jednog klika miem mogu da pristupe eljenim informacija-
ma. Diskusione grupe (newsgroups) omoguavaju pojedincima da postavljaju pitanja i
dobijaju odgovore o nekim konkretnim temama. Ovo je postao znaajan resurs za
ljude koji trae tehnike savete u vezi razliitih softverskih paketa, ili, u stvari, u vezi
bilo ega.
E-komerc Internet i razvoj razliitih programskih alatki promenili su nain na koji
funkcioniu brojne kompanije. Naruivanje sa udaljenih lokacija nije vie nikakva
novina, jer su Ijudi decenijama koristili kataloge za naruivanje razliitih proizvoda.
Medutim, e-komerc aplikacije su dovele do pojave ogromnog broja sajtova koji se
"takmie" za svaki dolar potencijalnih korisnika. Skoro sve - od knjiga, CD-ova, odee
i nekada popularnih medvedia (Beanie Babies), do automobila - moe da se kupi
povezivanjem na sajt, popunjavanjem formulara (naravno, u njemu navodite i broj
svoje kreditne kartice) i potvrdom unosa. U decembru 2002. godine grad Bridgeville u
Severnoj Kaliforniji, zajednica sa dugom tradicijom logovanja na Internet, imao je
najveu ponudu na eBayu, od otprilike 1,8 miliona dolara. Iako to ne moe u
potpunosti da se uporedi sa kupovinom Luizijane, sigurno je promenilo mogue
aspekte kupovine preko Interneta. Mnogi ljudi ovakav nain kupovine smatraju
najprikladnijim za poslovanje; naravno, ima ih onih koji sa manje entuzijazrna gleda-
ju na sve ovo. U jednoj anketi medu studentima na pitanja u emu je najvea prednost
kupovine preko Interneta i koji je najvei nedostatak kupovine preko Interneta
najei odgovor je glasio: "Ne morate da razgovarate ni sa kim."
Peer-to-peer umreavanje Peer-to-peer umreavanje je umreavanje u kojem grupa
kompjutera moe medusobno da komunicira bez posredovanja centralizovanog
servera. Ova tehnologija je privukla panju pre nekoliko godina kada je zbog Napstera
postavljeno pitanje zatite autorskih prava (copyright) u vezi razmene muzikih
fajlova. Mnogi korisnici se oslanjaju na peer-to-peer umreavanje za interaktivno
igranje igara preko Intemeta, a servisi kao to je Kazaa omoguavaju korisnicima da
dele audio fajlove, video klipove, pa, ak, i cele filmove (esto i pre nego to budu
predstavljeni irokoj publici).
"Otvorena" pitanja
Novi tehnoloki napredak je "otvorio" brojna pitanja koja je bilo neophodno ozbiljno razmotri-
ti. Na primer, u prethodnoj diskusiji esto smo koristili re povezivanje i njene razliite oblike.
Ali, kako se povezujemo? ta koristimo da bismo uspostavili konekciju? Da li koristimo icu,
kabl, ili optiki fiber? Moemo li da se poveemo i bez njih? U Poglavlju 2 su predstavljene razne
opcije.
Komunikacione tehnologije su poput planiranja saobraaja. Putevi omoguavaju da stignete do
eljenog odredita, a moraju da budu sposobni da izdre veliki saobraaj, posebno u velikim
gradovima. Projektanti moraju da pronau ravnoteu izmeu toka i cene. Autoput sa 10 traka
koji krui kroz grad moe da obezbedi bolji tok saobraaja od autoputa sa est traka, ali da li su
dodatne trake vredne poveanja cene autoputa? Odgovor je verovatno porvrdan ako je re o
veim, a negativan ako je re o manjim gradovima. Situacija je slina i kod komunikacionih
sistema. Oni moraju da podre prenos odreene koliine informacija, ali sama koliina zavisi od
konkretne primene. Koliina informacija koju treba da prenesemo odreuje nain povezivanja
ureaja. U Poglavlju 10 predstaviemo razliite naine za povezivanje uredaja.
Kada izaberemo nain povezivanja, moramo da uspostavimo pravila komunikacije. Gradske
ulice moraju da imaju saobraajne znakove i pravila za kontrolu saobraaja. Isto vai i za
komunikacione sisteme. Bilo da je primarni medijum kabl, bilo da ste se odluili za beini
prenos, morate da znate koliko e izvora primati poslate informacije. Potrebno je uspostaviti
neka pravila koja e spreiti koliziju poruka, ili e definisati postupak koji se primenjuje u sluaju
kolizije.
Lakoa korienja je sledei aspekt. Veina ljudi nee koristiti neku tehnologiju ako nije laka za
upotrebu. Na primer, mnogi kupci video rekordera nikada nisu nauili kako da ih programiraju,
bar dok se nije pojavio "VCR plus". Sada se mnogi video rekorderi mogu programirati glasom.
Da bi komunikacioni sistem, ili mrea imali mogunost funkcionisanja i daljeg razvoja,
informacije moraju biti lako dostupne. Medutim, u kojoj meri elimo da budu dostupne? Da li
svako moe da vidi, na primer, informacije o uplatama u penzioni fond, ili o investicijama?
Komunikacioni sistemi moraju da budu bezbedni. Moramo da shvatimo da lakoa razmene
mformacija omoguava neautorizovanim licima zloupotrebu tih informacija. Kako informacije
uiniti lako dostupnim za one kojima je pristup doputen i spreiti sve ostale da ih vide? Ovo je
veoma teko izvesti kada neautorizovani ljudi imaju na raspolaganju brojne resurse i ulau
znaajne napore za naruavanje bezbednosnih mera. Kako se osetljivost informacija poveava,
mere zatite postaju sve sofisticiranije. Ipak, ni jedan sistem nije savreno bezbedan. Zato se u
spreavanje ovakvih aktivnosti ukljuio i zakon sa raznim kaznenim merama. U Poglavlju 7
detaljnije emo obraditi oblast zatite.
ak i ukoliko uspemo da reimo sve ove probleme i upravljamo povezanim kompjuterima na
najefikasniji, najisplativiji i najbezbedniji nain, sa lakim transferom informacija, ostaje jedan
problem: nisu svi kompjuteri kompatibilni. U nekim situacijama prenos informacija sa jednog
kompjutera na drugi nalik je prelasku sa jednog automobila na drugi. Ako je re o dva "ford
escorta" proizvedena iste godine, to e biti jednostavno, ali ako je jedan "escort", a drugi "grand
prix", imaete problema.
Otvoreni sistemi su oblast koja privlai veliku panju. Ako su potpuno implementirani
doputaju razmenu informacija izmedu dva povezana kompjutera. Zbog razliitosti medu
sistemima, ovo nije trivijalan postupak. U poslednjih nekoliko godina uinjen je ogroman korak
napred u postizanju ovog cilja. U odeljku 1.4 predstaviemo otvorene sisteme i model poznat
pod nazivom Open Svstem Interconnect (OSI model). Iako se ovaj model nije dobro pokazao
za komercijalne svrhe, mnogi ga i dalje smatraju znaajnim, jer opisuje strukturu komunika-
cionih sistema i obezbeduje znaajan uvid u nain zajednikog funkcionisanja razliitih
komponenata komunikacionog sistema.
Konano, vraamo se na pitanje zato prouavati komunikacione tehnologije i umreavanje.
Jednostavno, to je polje koje je imalo i imae ubudue neverovatan razvoj. Ljudi rnoraju da ih
razumeju i da pomognu njihovo uobliavanje u budunosti.
1.2 Kompjuterske mree
Tokom 50-ih godina prolog veka veina kompjutera je bila slina sa jednog aspekta. Imali su
glavnu memoriju, centralnu procesorsku jedinicu (CPU) i periferije (slika 1.4). Memorija i CPU
su predstavljali centralni deo sistema i imali su konekcije sa uredajima kao to su disk, magnetne
trake i kompjuterski terminali. Otada su se razvile nove generacije kompjutera, kod kojih su obra-
da i smetanje podataka distribuirani izmeu vie razliitih uredaja. Korisnik moe da pribavlja
program sa jednog mesta, pokree ga na razliitim procesorima i alje rezultate na treu lokaciju.
Sistem koji povezuje razliite uredaje, kao to su PC-ji, tampai i skeneri, predstavlja mreu.
Obino svaki uredaj na mrei ima specifinu namenu za jednog, ili vie korisnika. Na primer, PC
moe da se nalazi na radnom stolu da bi zaposleni imao pristup potrebnim informacijama i
soflveru. On moe da bude rezervisan i za upravljanje diskom na kome se uvaju deljeni fajlovi.
Takav kompjuter nazivamo fajl server. Mrea esto "pokriva" manju geografsku oblast i povezu-
je uredaje u jednoj zgradi, ili grupi zgrada. Takva mrea se naziva lokalna mrea (LAN - local area
network). Mrea koja "pokriva" veargeografsku oblast, kao to je jedna drava, ili svet, naziva se
WAN rnrea (wide area network).
SLIKA 1.4 Komunikadoni ureaji u kompjuterskom sistemu
Postojanje velikog broja korisnika sa mogunou postavljanja zahteva za odredenim informaci-
jama neminovno dovodi do konflikata. Zbog toga, uredaji moraju da se poveu tako da se
obezbedi ispravan transfer informacija za sve uesnike u komunikaciji. Kao analogiju, ponovo
moemo da iskoristimo primer ulica u velikom gradu. Kada vozi samo jedna osoba, nije mnogo
bitno gde se ulice nalaze, koje su jednosmerne, gde se nalazi saobraajna signalizacija, ili kako se
vri sinhronizacija. Meutim, kada na ulicama imate hiljade automobila u jutarnjim asovima,
lo raspored moe da dovede do zaguenja koja uzrokuju ozbiljna kanjenja. Isto vai i za
kompjuterske mree. Moraju da se poveu tako da se omogui prenos podataka izmedu veeg
broja korisnika, sa malim, ili bez ikakvog kanjenja. Strategiju povezivanja nazivamo mrena
topologija. Izbor topologije zavisi od tipova uredaja i od potreba korisnika. Ono to moe dobro
da funkcionie za jednu grupu moe da bude veoma loe za neku drugu.
Topologija zajednike magistrale
Na slici 1.5 prikazana je tradicionalna topologija zajednike magistrale (ili, jednostavno,
topologija magistrale), koja povezuje ureaje kao to su radne stanice, mainframe kompjuteri i
fajl serveri. * Oni komuniciraju preko jedne magistrale (na primer, koaksijalnog kabla).
Tradicionalni pristup obezbeduje interfejs za svaki uredaj pomou koga se magistrala oslukuje i
ispituje se saobraaj na njoj. Ako interfejs utvrdi da su podaci namenjeni uredaju koji ih
trenutno opsluuje, podaci se itaju sa magistrale i prenose do odgovarajueg uredaja. Slino
tome, ako uredaj treba da prenese neke podatke, kola u interfejsu "oslukuju" kada je magistrala
slobodna i tada zapoinju prenos podataka. Ovo nije nita drugaije od ekanja na rampi za
ukljuivanje na autoput u vreme saobraajnog pica - proveravate kada je pogodan trenutak da se
"ubacite", u zavisnosti od toga da li vozite manji automobil, ili veliki kamion.
Ponekad se deava da dva uredaja istovremeno pokuavaju da prenesu podatke. Oba detektuju
odsustvo saobraaja i zapoinju prenos, ne registrujui prenos drugog uredaja.
* U Poglavlju 10 su predstavljeni alternativni naini za implementiranje topologije zajednike magistrale korienjem
uredaja kao to su komutatori i habovi.
Veina mrea ukljuuje vei broj ljudi koji koriste PC-je i svi ti korisnici mogu da pristupaju razn-
im tampaima, ili serverima.
diskovi
memorija
CPU
drajvovi magnetne trake
terminali
SLIKA 1.5 Topologija zajednike magistrale
Rezultat je kolizija signala. Dok prenose podatke, uredaji nastavljaju oslukivanje magistrale i
detektuju um koji nastaje zbog kolizije. Kada uredaj detektuje koliziju, prestaje da prenosi podatke,
eka nasumice izabrani period i ponovo pokuava da prenese podatke. Ovaj proces, poznat pod
nazivom Carrier Sense Multiple Access with Collision Detection (CSMA/CD), predstavljen je
detaljno u poglavljima 4 i 9, zajedno sa ostalim nainima pristupa zajednikom medijumu.
Primer mree sa zajednikom magistralom (i originalni standard za LAN mree) je Ethernet.
Njegova originalna konfiguracija koristi zajedniku magistralu onako kako smo je opisali;
medutim, najnovije promene u tehnologiji obezbedile su brojne naine za povezivanje Ethernet
ureaja, a da se, pri tom, i dalje sauva logika magistrale. U Poglavlju 9 detaljnije emo predstaviti
razliite verzije Etherneta. Bez obzira na konkretnu implementaciju, glavna prednost Etherneta je
mogunost lakog dodavanja novih uredaja na mreu.
Topologija zvezde
Sledee uobiajeno uredenje je topologija zvezde (slika 1.6).* Koristi centralnu komponentu
koja omoguava povezivanje drugih uredaja radi meusobne komunikacije. Ovakvi uredaji se
obino nazivaju hubovi (hubs), ili komutatori (switches); razlike izmedu njih objasniemo u
Poglavlju 10. Kontrola je centralizovana: ako uredaj eli da komunicira, to moe da izvede samo
pomou centralnog komutatora. Taj komutator usmerava podatke do njihovog odredita.
* Topologija zvezde moe da se posmatra i kao hijerarhijska topologija kod koje centralni vor igra ulogu "korena" u stablu.
U Poglavlju 10 pokazaemo kako se vei broj razliitih ureaja moe povczati na jedan komutator, ili hub, tj. na uredaj koji
obezbeduje hijerarhjjsko povezivanje.
mainframe
kompjuter
mainframe
kompjuter
fajl server
radna stanica
fajl server
radna stanica radna stanica
radna stanica
hub/komutator
server
tampa
SLIKA 1.6 Topologija zvezde
Centralizacija obezbeduje fokusiranje odgovomosti u jednoj taki, to je prednost topologije
zvezde. Kod prvih mrea topologija magistrale je imala neke prednosti u poreenju sa topologi-
jom zvezde. Nedostatak centralnog ureaja je olakavao dodavanje novih ureaja, jer ni jedan
uredaj nije morao da bude "svestan" ostalih uredaja na mrei. Osim toga, kvar, ili uklanjanje
jednog uredaja na mrei sa magistralom nisu izazivali prestanak rada mree. Kod topologije
zvezde kvar na centralnom komutatoru prekida konekciju. Medutim, sa promenom tehnologije
i razvojem pouzdane opreme stvoreni su tehniki i ekonomski uslovi za primenu topologije
zvezde u veim topologijama.
Topologija prstena
Kod topologije prstena (slika 1.7) ureaji se povezuju kruno. Svaki uredaj komunicira
direktno i jedino sa svojim "susedima". Ako "eli" da komunicira sa udaljenim uredajem, on alje
poruku koja se prosleuje preko svih ostalih uredaja koji se nalaze izmedu njih.
Mrea u obliku prstena moe da bude jednosmema i dvosmerna. Pod jednosmernom mreom
podrazumeva se mrea kod koje se sav prenos odvija u istom smeru (na primer, na slici 1.7 koristi
se smer kretanja kazaljki na asovniku). U tom sluaju svaki ureaj moe da komunicira samo sa
jednim "susedom". Kod dvosmernih mrea prenos podataka moe da se vri u bilo kom smeru i
ureaj moe direktno da komunicira sa oba "suseda".
Prva topologija prstena je bila IBM-ova Token Ring mrea, koja je koriena za povezivanje
PC-ja u jednoj kancelariji, ili odeljenju. Kod token ring mree komunikacija se koordinira
prosleivanjem tokena (preddefinisane sekvence bitova) izmedu svih uredaja u prstenu. Uredaj
moe neto da poalje samo kada primi token. Tako aplikacije sa jednog PC-ja mogu da pristu-
paju podacima smetenim na drugim kompjuterima (fajl serverima) bez uea posebnog
centralnog uredaja koji koordinira komunikaciju. Nedostatak topologije prstena je to to je
komplikovana sa stanovita odravanja. Na primer, ta se deava ako je token izgubljen, ili je
oteen? Svi uredaji koji trae token nee moi da ga dobiju i prenos podataka nee biti mogu.
Postoje naini za reavanje ovakvih problema i njih emo predstaviti, zajedno sa ostalim
aspektima token ring mrea, u odeljcima 4.7 i 9.S. Topologija prstena ima i svoje prednosti.
SLIKA 1.7 Topologija prstena
Na primer, injenica da ureaj mora da eka na token onemoguava istovremeni prenos iz vie
uredaja, tako da su kolizije nemogue. To je karakteristika Ethernet protokola (predstaviemo ga
u odeljku 4.7 i u Poglavlju 9. Kako su se mree razvijale, prednosti Ethemeta su nadvladale
njegove nedostatke; kao rezultat tog procesa, danas na tritu LAN mrea dominiraju razliite
verzije Etherneta.
Potpuno povezana topologija
Potpuno povezana topologija (slika 1.8) ima direktne konekcije izmedu svih parova uredaja na
mrei. To je ekstremni nain dizajniranja mree. Komunikacija postaje veoma jednostavna, jer
nema nadmetanja za dobijanje komunikacionih linija. Ako dva ureaja ele da komuniciraju, to
rade direktno, bez ukljuivanja ostalih ureaja na mrei. Ipak, cena direktnih konekcija izmedu
svakog para uredaja je veoma visoka. Osim toga, kod ovakve konfiguracije mnoge konekcije nee
biti dovoljno iskoriene. Ako dva uredaja retko komuniciraju, fizika konekcija izmeu njih se
veoma retko koristi. U takvim sluajevima ekonominiji pristup je indirektna komunikacija, tako
da se neiskoriene linije eliminiu.
Kombinovane topologije
Mnoge kompjuterske mree koriste kombinacije razliitih topologija. Na slici 1.9 prikazana je
jedna mogua kombinacija - ima zajedniku magistialu, koja direktno povezuje vie uredaja.
SLIKA 1.8 Potpuno povezana topologija
SLlKA 1.9 Kombinovana topologija
lokalna
mrea
most / komut at or
mainframe
kompjuter
lokalna mrea
lokatna mrea
magistrala
fajl server
laserski tampa
Grupe korisnika kao to su istraivai, raunovoe, ili osoblje u prodajnom odeljenju imaju
specijalizovane potrebe i ele zasebne LAN mree u okviru kojih e obavljati najvei deo svog
posla. Ipak, povremeno im je neophodan pristup informacijama sa dmgih LAN mrea.
U okviru mogueg dizajna postoji nekoliko LAN mrea koje povezuju PC-je i ostale uredaje u
topologiju prstena, zvezde, ili magistrale. Ureaji u okviru LAN-a komuniciraju u skladu sa
pravilima topologije koja je koriena za njihovo povezivanje. Ako PC mora da komunicira sa
uredajem u drugoj LAN mrei, to radi preko mosta, ili komutatora koji povezuje te dve LAN
mree. Mostovi i komutatori su uredaji koji obezbeuju tehnologiju za povezivanje uredaja
unutar i izmedu LAN mrea; detaljnije emo ih. predstaviti u Poglavlju 10.
1.3 Standardi i organizacije za uspostavljanje standarda
Potreba za uvoenjem standarda
Moda ste pomislili da je primarni problem kod uspostavljanja komunikacija izmedu dva
kompjutera jednostavno obezbeivanje prenosa podataka sa jednog kompjutera na drugi.
Medutim, poto se kompjuteri esto dosta razlikuju, proces prenosa moe da bude mnogo
sloeniji, recimo poput prelaska sa "kadilaka" na "tojotu". Svi automobili se zasnivaju na istim
prindpima, ali razliiti modeli imaju jedinstvene karakteristike sa razliitim stilovima tako da
ciljaju na razliita trita i razliite kupce; isto vai i za kompjutere, osim to korisnici mogu da
ispoljavaju veu dozu fanatizma (korisnici PC-ja "mrze" Mac, a korisnici Maca "mrze" PC).
Komapnije dizajniraju i proizvode kompjutere sa razliitim stilovima i za razliite aplikacije.
Veina sledi iste opte principe, a specifinosti odraavaju razmiljanja i filozofiju razliitih Ijudi.
Kompjuteri imaju razliite arhitekture, razumeju razliite jezike, smetaju podatke u razliitim
formatima i komuniciraju na razliitim brzinama. Zbog toga, postoji velika nekompatibilnost,
to znaajno oteava komunikaciju.
Ova nekompatibilnost dovodi do osnovnog pitanja kako je uopte mogue uspostaviti komu-
nikaciju izmedu kompjutera. Oni komuniciraju koristei model slian onome koji se koristi, na
primer, u trgovini izmedu razliitih zemalja. Svi uesnici govore drugim jezikom, tako da su im
neophodni prevodioci. Osim toga, moraju da se pridravaju protokola, koji defmie pravila i
nain na koji se diskusija zapoinje i nastavlja. Ako se svi ne pridravaju protokola, diskusija e
postati haotina. Ispravna diskusija se odvija kada svi uesnici potuju uspostavljena pravila.
Slino tome, da bi kompjuteri komunicirali, potrebni su im protokoli pomou kojih e biti
utvrdeno koji kompjuter "govori" i prevedeno to to "kae" na druge jezike. Sledei korak je
definisanje protokola. Tu lei sledei problem: protokoli su sjajni, ali e se diskusija, ako uesni-
ci slede razliite protokole, odvijati kao da i nema protokola. Ako se ljudi dogovore o
zajednikom protokolu, to postaje standardni protokol i svako moe da ga koristi. Naalost, ovo
pomalo lii na situaciju u kojoj bi svi trebalo da usvoje istu arhitekturu, a znamo da se to nikada
ne moe desiti. Usaglasiti miljenje vie grupa ljudi o neemu nije nimalo jednostavno. Razliite
grupe imaju razlidte ciljeve i ideje o tome koji protokol najbolje obezbeduje ispunjavanje tih
ciljeva. Zbog toga su godinama nastajali i bili korieni razni standardi.
Postoje dve grupe standarda. De facto standardi postoje zbog opte upotrebe - postali su toliko
rasprostranjeni da prodavci i proizvoai prepoznaju da e sa takvim proizvodima sebi obezbe-
diti veliko trite. Mnogi IBM-ovi proizvodi su postali de fakto standardi. Drugi tip su standardi
koje formalno prepoznaju i usvajaju organizacije za uspostavljanje standarda na osnovu
nacionalnih, ili svetskih kriterijuma. Oni koji ele da njihovo delo postane standard piu
predlog i prosleduju ga organizaciji za uspostavljanje standarda radi razmatranja. Tipino, ako
predlog naide na nesumljivu i optu porku, organizacije za uspostavljanje standarda daju
sugestije i alju ih kreatorima radi daljih modifikacija. Nakon nekoliko krugova sugestija i
modifikacija, predlog se usvaja, ili odbija. Ako se odobri, standard obezbeduje model na osnovu
koga proizvodai mogu da dizajniraju nove proizvode.
Organizacije za uspostavljanje standarda
Uvodenje organizacija za uspostavljanje standarda defmitivno je uvelo red na polju komunikaci-
ja koje se razvijaju neverovatnom brzinom. Odobreno je nekoliko stotina standarda za razliite
aspekte komunikacija, to je, pak, dovelo do nekompatibilnosti izmedu razliitih tipova uredaja.
Na primer, mnogi korisnici PC-ja kupuju modem (uredaj koji omoguava slanje i prijem signala
sa kompjutera preko telefonske linije) za povezivanje na kompjutere u univerzitetskim mreama,
ili mreama kompanija, ili na Internet provajdere. Problem je to postoji desetine standarda koji
opisuju razliite naine za slanje i prijem signala preko telefonske linije; ako modemi koriste
razliite standarde, komunikacija izmedu njih nije mogua. Ipak, proizvodai su prepoznali ovaj
problem i obino proizvode modeme tako da se implementiraju odredeni standardi koji
zadovoljavaju zahteve trita. Ovaj problem je u potpunosti objanjen u Poglavlju 3.
Na polju kompjuterskih mrea i savremenih komunikacija relevantne su sledee organizacije:
American National Standards Institute (ANSI) ANSI (www.ansi.org/) je privatna,
nevladina agencija, iji su lanovi proizvoclai, korisnici i druge zainteresovane
kompanije. Ima skoro 1.000 lanova, a predstavlja deo ISO-a (International
Organization for Standardization), koji emo objasniti kasnije. ANSI standardi su esti
na brojnim poljima. Neki od konkretnih primera su Fiber Distributed Data Interface
(FDDI) i Sinhrona optika mrea (SONET - Synchronous Optical Netowrk) za optiki
fiber. Sledei standard (predstaviemo ga u Poglavlju 2) je American Standard Code
for Information Interchange (ASCII), koji se koristi na mnogim kompjuterima za
smetanje informacija.
International Electrotechnical Commision (IEC) IEC (www.iec.ch/) je nevladina
agencija koja "izmilja" standarde za obradu podataka i interkonekcije i bezbednu
opremu. llkljuena je u razvoj Joint Photographic Experts Group (JPEG), grupe koja je
"izmislila" standard za kompresovanje slika.
International Telecommunications Union (ITU) raniji naziv bio je Comite
Consultatif International de Telegraphique et Telephonique (CCITT) Engleski
ekvivalent bio bi International Consultative Committee for Telephony and Telegraphy.
ITU (www.itu.int/) je agencija Ujedinjenih nacija, koja ima tri sektora: ITU-R se bavi
radio komunikacijama, ITU-D je razvojni sektor i ITU-T (relevantan za ovu knjigu),
koji se bavi telekomunikacijama. lanovi ITU-a su razne naune i industrijske organi-.
zacije, telekomunikacione agencije, autoritativna tela za telefoniju i ISO. ITU "stoji
iza" brojnih standarda za mree i telefonske komunikacije. Medu optepoznate
standarde ubrajaju se standardi V i X serija. V serija je namenjena telefonskim komu-
nikacijama.
U Poglavlju 3 detaljnije emo predstaviti neke V standarde koji opisuju nain na koji
modem generie i interpretira analogne telefonske signale. X serija se bavi interfejsima
mrea i javnim mreama. Poznatiji standardi ove serije su X.25 za interfejse u
mreama sa komutacijom paketa (predstavljen je u Poglavlju 13), zatim X.400 za
sisteme elektronske pote i X.509 za digilalne sertifikate (predstavljen je u Poglavlju
7). Postoje jo mnogi drugi X i V standardi.
Electronic Industries Association (EIA) lanovi EIA-a (www.eia.org), koji je lan
ANSI instituta, su brojne elektronske firme i proizvoad telekomunikacione opreme.
Primarne aktivnosti EIA asocijacije su elektronske konekcije i fiziki prenos podataka
izmedu razliitih ureaja. Najpoznatiji standard EIA asocijacije je RS-232 (poznat i
kao EIA-232), koji su PC-ji dugo koristili za komuniciranje sa drugim ureajima, kao
to su modemi, ili tampai. Standard EIA-232 predstaviemo u Poglavlju 4.
Telecommunications Industry Associatioo (TIA) TIA (www.tiaonline.org)
predstavlja provajdere proizvoda komunikacionih i informacionih tehnologija i servisa
na globalnom tritu. Ta asocijacija, koju akredituje ANSI, bavi se razvojem standarda
za iroki opseg komunikacionih proizvoda. Neki od primera su optiki kablovi, iani
provodnici i konektori koji se koriste u lokalnim mreama.
Internet Engineering Task Force (IETF) IETF (www.ietf.org) je internacionalna
zajednica, iji su lanovi dizajneri mrea, proizvodai i istraivai, koji kao zajedniki
interes imaju uspostavljanje stabilnog funkcionisanja Interneta i njegov razvoj.
Podeljena je u radne grupe koje se bave raznim aspektima Interneta, kao to su
aplikacije, operacije, upravljanje, rutiranje, zatita i transportni servisi. Ove radne
grupe su zaduene za razvoj i ocenu specifikacija koje treba da postanu Internet
standardi. Jedan od znaajnih rezultata rada IETF zajednice je sledea generacija
Internet protokola, koja je predstavljena u Poglavlju 11.
Institute of Electrical and Electronic Engineers (IEEE) IEEE (http://standards.ieee.oig) je
najvea svetska profesionalna organizacija koju ine profesionalci u oblasti raunarstva i
inenjeringa. Objavljuje razne asopise, organizuje konferencije i ima grupu za razvoj
standarda. Verovatno njeno najpoznatije delo na polju komunikacija su Project 802 LAN
standardi. Standardi 802, koji su predstavljeni u Poglavlju 9, definiu komunikacione
protokole za mree sa topologijom magistrale, prstena i beine mree.
International Organization for Standardization (ISO) ISO (www.iso.ch) je
svetska organizacija, koju ine tela za uspostavljanje standarda iz razliitih zemalja,
medu kojima se nalazi i ANSI iz SAD. Jedna od najznaajnijih aktivnosti ISO organi-
zacije je rad na otvorenim sistemima, koji definiu protokole koji omoguavaju
komunikaciju nezavisnu od arhitekture kompjutera. Optepoznati model je Open
System Interconnect, organizovan u sedam slojeva.
Neki od nas su verovali da e se OSI model koristiti u svim buduim komunikacijama,
to je, medutim, nakon razvoja Interneta i Web aplikacija, malo verovatno. Ipak, esto
se prouava kao model za uslojavanje protokola. OSI model predstaviemo u
narednom odeljku.
National Institute of Standards and Technology (NIST) Ranije poznat kao
National Bureau of Standards (NBS), NIST (www.nist.gov) je agencija Ministarstva
trgovine SAD. Uspostavlja standarde koje federalna vlada koristi prilikom kupovine
opreme. Osim toga, razvija standarde za razne fizike veliine, kao to su vreme,
duina, temperatura, radioaktivnost i radio frekvencije. Jedan znaajan standard za
bezbedne aplikacije je Data Encryption Standard (DES), metod ifrovanja, ili promene
informacija u formu koja ne moe da se razume. DES standard je izraden u ipovima
koji se koriste u komunikacionim uredajima. Standard je izuzetno sloen i
kontraverzan; neki veruju da ga je Nacionalna agencija za bezbednost (National
Security Agency) namerno oslabila da bi se spreilo korienje tehnika za ifrovanje
koje ne moe da se deifruje. Poto je standard "razbijen", vie se ne koristi kao
funkcionalni metod ifrovanja, ali postoje neke druge tehnike koje se zasnivaju na
ovom standardu. DES detaljnije predstavljamo u Poglavlju 7.
International Business Machines (IBM) Iako nije organizacija za uspostavljanje
standarda, naveli smo je zbog ogromnog udela u nastajanju de fakto standarda. Istaknuti
primeri su System Network Architecture (SNA) i Extended Binary-Coded Decimal
Interchange Code (EBCDIC). SNA je model protokola koji omoguava komunikaciju IBM
kompjutera i opreme. Nastao je pre OSI modela i danas nema optu upotrebu, mada je
po mnogo emu slian OSI modelu. EBCDIC kod (prikazaemo ga u Poglavlju 2)
predstavlja alternativu ASCII kodu za smetanje podataka i obino se koristi na IBM
mainframe kompjuterima (iako IBM-ovi PC-ji obino koriste ASCII kod).
Ove organizacije nisu jedina tela koja mogu da uspostavljaju standarde, ali su svakako najmero-
davnije u oblasti savremenih komunikacionih tehnologija i mrea.
1.4 Otvoreni sistemi i OSI model
Rekli smo da protokoli omoguavaju komunikaciju izmedu nekompatibilnih sistema. Kada
imamo dva specifina sistema, definicija protokola je sasvim jednostavna. Problem postaje
ozbiljniji i tei dok se poveava broj razliitih tipova sistema. Skup protokola koji omoguava
komunikaciju izmedu bilo koja dva sistema, bez obzira na njihovu arhitekturu, naziva se otvoreni
sistem. ISO se bavi problemom obezbedivanja komunikacije izmedu vie ureaja, a razvio je
Open System Interconnect (OSI) model. Da je potpuno razvijen, omoguio bi komunikaciju
izmedu bilo koja dva povezana kompjutera.
OSI model nije doiveo komercijalni uspeh, jer su ga "zasenili" protokoli na kojima se zasniva
Internet. Zbog toga, neki smatraju da je OSI model "mrtav" i da se vie ne koristi, a drugi, pak,
da, iako nije imao komercijalnog uspeha, ipak definie radni okvir u kome je mogue prouavati
i razumeti protokole. Specijalno, omoguava prouavanje irokog spektra komunikacionih
protokola i razumevanje njihovih medusobnih odnosa.
Kao i svi ostali sloeni programi, ili sistemi, ima tano definisanu strukturu na kojoj su izgradene
komponente. Osim toga, razumevanje pojedinanih komponenata sasvim se razlikuje od
razumevanja naina na koji te komponente zajedno funkcioniu da bi bio omoguen efikasan
komunikacioni sistem. Zbog toga, dajemo opti prikaz OSI modela.
OSI model ima sedam slojeva (slika 1.10). Svaki sloj izvrava specifine funkcije i komunicira sa
slojevima koji se nalaze direktno iznad i ispod njega. Vii slojevi su zadueni za korisnike
servise, aplikacije i aktivnosti, dok se nii slojevi bave stvarnim prenosom informacija.
Svrha uslojavanja protokola je razdvajanje specifinih funkcija, tako da njihova implementacija
bude transparentna sa stanovita drugih komponenata. Osim toga, organizovanje po slojevima
omoguava nezavisno dizajniranje i testiranje svih komponenata. Na primer, sloj veze i fiziki
sloj izvravaju zasebne funkcije. Fiziki sloj obezbeduje servise za sloj veze. Sloj veze uopte ne
vodi rauna o tome kako se servis izvrava, ve je bitno samo da li je servis izvren.
host sistem i korisnik
7. sloj aplikacije
6. sloj predstavljanja
5. sloj sesije
4. transportni sloj
3. sloj mree
2. sloj veze
1. fiziki sloj
medijum za prenos
SLIKA 1.10 Slojeviti OSI model ISO organizacije
Ako dode do nekih promena u implementaciji fizikog sloja, to nee uticati na sloj veze
(i sve ostale vie slojeve). Ovakav odnos vai izmedu bilo koja dva susedna sloja, a obezbeduje
apstraktnu analogiju koja se moe primeniti u raznim softverskim dizajnima.
Moemo da iskorislimo poreenje sa sastankom predsednika dve drave. Svaki lider izlae svoja
razmiljanja, mada se te ideje moraju preneti na odgovarajuem diplomatskom jeziku da bi se
izbegle eventualne uvrede. Osim toga, ako govore drugaijim jezikom, jedan jezik mora da se
izabere kao primarni oblik komunikacije. Na slici 1.11 ilustrovan je mogui troslojni protokol
koji ukljuuje pokuaj razreavanja krize. Jedan lider odmah istie da on nee tolerisati nastalu
situadju. Diplomata prenosi poruku u manje preteem tonu, a prevodilac prevodi poruku na
izabrani jezik. Na drugoj strani, drugi prevodilac prevodi poruku u specifini jezik te strane.
Diplomata prima pomku i govori predsedniku drave ta to, u stvari, znai.
U sutini, predsednici drava komuniciraju direktno, iako se poruke, zapravo, prenose
posredstvom drugih osoba. OSI model funkcionie na slian nain. Najnii je fiziki sloj, koji je
zaduen za stvarni prenos podataka. Najvii sloj je zaduen za kompjuterski sistem koji je
povezan na mreu. Svaki sloj u okvim modela odgovara razliitim nivoima apstrakcije u toku
komunikacije i definie odreene funkcije i protokole.
Formulisanje poruke u
skladu sa interesima drave.
"Ova situacija je
neprihvatljiva,
tupsone jedan."
Prenoenje poruke u
skladu sa odgovarajuim
diplomatskim iezikom.
diplomata
"U najveem interesu za ouvanje
zdravih odnosa i bezbednosti obe
drave je da odmah otklonimo
ovai problem."
Prevodenje na sporazumno
prihvaeni jezik komunikacije.
prevodilac prevodilac
Komunikacija bez poznavanja
kompletnih opsega ili
znaenja komunikacije.
Prevodenje nazad na
nacionalni iezik.
"U najveem interesu za
ouvanje zdravih odnosa
i bezbednosti obe drave
je da odmah otklonimo
ovaj problem."
diplomata
Prenoenje poruke
na jezik koji je u skladu
sa interesima drave.
Razmena ideja bez uea
autoriteta koji bi stvarali ili
menjali njihovo znaenje.
"Taj tupson kae
da to nee prihvatiti."
predsednik drave predsednik drave
Primanje poruke
i odgovaranje.
komunikacija na visokom
nivou, iako ne govore
istim jezikom
SLIKA 1.11 Komunikacioni protokol izmeu predsednika dve drave
Dve inae nekompatibilne strane, ako koriste OSI model, mogu medusobno da komuniciraju
(slika 1.12). Logino, svaki sloj komunicira direktno sa istim slojem na drugoj strani. Fiziki, svi
slojevi komuniciraju sa slojevima koji se nalaze odmah ispod, ili iznad njih. Kada proces eli da
poalje informacije, poinje da ih preputa sloju aplikacije. Taj sloj izvrava svoje funkcije i alje
podatke na sloj predstavljanja. Hakon toga, izvravaju se funkcije sloja predstavljanja i podaci se
prosleduju do sloja sesije. Ovaj proces se nastavlja sve dok se podaci ne prenesu do fizikog sloja,
koji, u stvari, prenosi podatke.
Proces se na prijemnom kraju izvodi obrnutim redosledom. Najpre fiziki sloj prima niz bitova
i predaje sloju veze. Na sloju veze se izvode odredene funkcije, a zatim se podaci alju do sloja
mree. Ovaj proces se nastavlja sve dok se ne stigne do sloja aplikacije, koji eventualno proslednje
podatke do prijemnog procesa.
proces alje i nf ormaci j e Proces pri ma i nf ormaci j e
Svaki s!oj izvrava svoje
f unkci j e i al j e podat ke
na sl edei vii sl oj .
Svaki sloj izvrava
svoje funkcije i alje
podatke do narednoj
nieg sloja.
fiziki preno niza podat aka
SLIKA 1.12 Komunikacija ostvarena pomou sedmoslojnog OSI protokola
sl oj apl i kaci j e
sloj predstavl j anj a
sl oj sesije
t ransport ni sl oj
sl oj mree
sl oj veze
fiziki sl oj
fiziki sloj
sl oj veze
sl oj mree
t ransport ni sl oj
sl oj seslje
sl oj predstavl j anj a
sloj apl i kaci j e
l ogi ka komuni kaci j a
i zmedu slojeva
Izgleda kao da procesi direktno komuniciraju, tako to svaki sloj komunicira direktno sa
identinim slojem na drugoj strani. U stvarnosti, svi podaci se prevode u niz bitova i prenose se
izmeu fizikih slojeva.
Ovaj proces pomalo podsea na slanje pisma, gde sa primaocom pisma komunicirate tako to
adresirate kovertu i ubacujete je u potansko sandue. to se Vas tie, aktivnost je zavrena: komu-
nikacija ne zavisi od toga kako se pismo usmerava, ili da li putuje kamionom, avionom, vozom,
brodom, ili ga nosi golub pismonoa. Znate da e pismo stii i jednostavno moete da ekate na
odgovor.
Opti pregled modela
SIoj aplikacije, najvii sloj, radi direktno sa korisnikom, ili sa programskim aplikacijama.
Napomenimo da to nije isto to i programska aplikacija. Sloj aplikacije obezbeduje korisnike
servise, kao to su elektronska pota, ili transfer fajlova. Na primer, kod protokola za transfer
fajlova sloj aplikacije na jednom kraju treba da poalje fajl direktno do sloja aplikacije na
drugom kraju, nezavisno od koriene mree, ili od arhitektura ukljuenih kompjutera.
Sloj aplikacije defmie i protokole koji omoguavaju pristup tekstualnom editoru na udaljenom
serveru. Razlog za to je injenica da razlidti tipovi editora koriste razliite kontrolne sekvence za
kontrolu kursora. Na primer, samo pomeranje kursora moe da zahteva kursorske tastere, ili speci-
jalne kombinacije tastera. Voleli bismo kada bi ovakve razlike bile transparentne za korisnika.
Sloj predstavljanja je odgovoran za predstavljanje podataka u formatu koji korisnik moe da
razume. Na primer, pretpostavimo da dva razliita kompjutera koriste razliite numerike
formate i formate za karaktere. Sloj za predstavljanje prevodi podatke iz jedne reprezentacije u
drugu i izoluje korisnika od tih razlika. Da bi se to izvelo, sloj za predstavljanje najpre utvrduje
razlike izmedu podataka i informacija. Na kraju krajeva, mree i postoje zato da bi korisnici
mogli da razmenjuju informacije, a ne nizove bitova. Korisnici ne treba da vode rauna o
razliitim formatima, veda se koncentriu na sadraj informacija i ono ta one znae za njih.
Sloj predstavljanja moe da obezbedi i bezbednosne mere. Moe da ifruje podatke pre nego to
se proslede do niih slojeva radi transfera. Sloj predstavljanja na drugom kraju u tom sluaju
deifruje primljene podatke. Korisnik nikada i ne mora da zna da je vrena bilo kakva promena
podataka. Ovo je posebno vano u WAN mreama (koje
"pokrivaju" velika geografska podruja), gde neautorizovani pristup predstavlja ozbiljan problem.
Sloj sesije omoguava aplikacijama na dva razliita kompjutera da uspostave sesiju, ili logiku
konekciju. Na primer, korisnik moe da se uloguje na udaljeni sistem i da komunicira
naizmeninim slanjem i primanjem poruka. Sloj sesije pomae koordinaciju procesa tako to se
svaki kraj obavetava kada moe da alje podatke, ili kada mora da "oslukuje". Ovo predstavlja
jedan oblik sinhronizacije.
Sloj sesije je zaduen i za ispravljanje greaka. Na primer, pretpostavimo da korisnik alje sadraj
velikog fajla preko mree na kojoj iznenada dolazi do kvara. Kada se funkcionalnost mree pono-
vo uspostavi, da li korisnik mora da pone ponovni prenos fajla od samog poetka? Odgovor je
negativan, jer sloj sesije korisniku omoguava umetanje kontrolnih taaka u dugakom nizu. Ako
mrea padne, bie izgubljeni samo podaci koji su preneti iza poslednje kontrolne take.
Osim toga, sloj sesije je zaduen za zatvorene operacije koje se sa stanovita korisnika izvode kao
jedinstvene transakdje. Uobiajeni primer je brisanje zapisa iz baze podataka. Iako korisnik vidi
brisanje zapisa kao jedinstvenu operaciju, ona, u stvari, moe da ukljuuje nekoliko operacija.
Najpre se mora pronai odgovarajui zapis, a zatim se pristupa brisanju promenom pokazivaa i
adresa i eventualnim upisom u indeks, ili he (hash) tabelu. Ako korisnik pristupa bazi podata
ka preko mree, sloj sesije mora da obezbedi da se sve operacije nieg nivoa izvedu pre nego to
pone konkretno brisanje. Ako se operacije u bazi podataka izvode u vreme kada stigne zahtev za
brisanje, zbog eventualnih otkaza mree moda e doi do naruavanja integriteta podataka, jer
je mogue da se izbriu samo neki pokazivai (setite se uvodnih predavanja na kojima ste uili
neto vie o strukturama podataka, kada je bilo rei o programirna koji ne menjaju sve pokazi-
vae), ili moe doi do brisanja zapisa, a da se, pri tom, ne izbrie referenca na taj zapis.
Cetvrti je transportni sloj. To je najnii sloj koji se bavi komunikacijama izmedu dva kraja (nii
slojevi rade sa samom mreom). Transportni sloj moe da utvrdi koja se mrea koristi za komu-
niciranje. Kompjuter moe da bude povezan na vie mrea, koje se razlikuju po brzini, ceni i tipu
komunikacije, a izbor esto zavisi od vie faktora. Na primer, da li su informacije predstavljene u
obliku dugakog kontinuelnog niza podataka? Hi, da li se komunikacija odvija sa brojnim
prekidima? Telefonska mrea je dobra za dugake, kontinuelne prenose podataka. Kada se
konekcija uspostavi, ona se odrava sve dok se ne zavri prenos podataka.
Sledei pristup podrazumeva deljenje podataka na manje pakete (podskupove podataka) i
njihov naizmenini prenos. U takvim situacijama nije neophodno odravati konstantnu ko
nekciju. Umesto toga, svaki paket moe nezavisno da se prenosi kroz mreu. Kada na prijemnoj
strani budu primljeni svi paketi, oni se moraju ponovo sastaviti pre nego to se proslede do viih
slojeva. Problem se javlja kada paketi koriste drugaije rute na putu do svog odredita, jer ne
postoji nikakva garancija da e biti primljeni istim redosledom kojim su i poslati (ba kao to ne
postoji nikakva garancija da e pismo koje je poslato u ponedeljak sigurno stii pre pisma koje je
poslato u utorak), ili da e uopte i stii do svog odredita. Ne samo da prijemna strana mora da
utvrdi taan redosled paketa, ve mora da proveri i da li su stigli svi paketi.
Sloj mree je zaduen za strategije rutiranja. Na primer, kod bidirekcione mree sa topologijom
prstena postoje dve putanje izmeu svake dve take. Sloenija topologija moe da ukljuuje vie
razliitih mta izmedu pojedinih taaka. Koja od njih je najbra, najjeftinija, ili najbezbednija?
Koje su otvorene, a koje su zaguene? Da li cela poruka treba da se alje istom rutom, ili se njeni
delovi mogu slati nezavisno?
Sloj mree kontrolie komunikacionu podmreu (communications subnet), kolekciju mediju-
ma za prenos i elemenata za komutaciju, koji su neophodni za rutiranje i prenos podataka. Sloj
mree je najvii sloj podmree. On moe da sadri i knjigovodstveni softver za ispostavu rauna
kupcima. Zapamtite da mrea postoji da bi omoguila komunikaciju korisnika. Kao i u sluaju
veine servisa, to neko mora da plati. Cena zavisi od koliine podataka koja se prenosi i eventu-
alno od doba dana. Sloj mree moe da rukuje takvim informacijama i da kontrolie naplatu.
Sloj veze nadgleda tok informacija izmedu susednih vorova u mrei. Koristi tehnike za detekci-
ju i korigovanje greaka da bi bio obezbeden prenos bez greaka. Ako se detektuje greka na linku,
moe da se zahteva novi prenos, ili, u zavisnosti od implementacije, ispravljanje greke. Osim
toga, kontrolie se koliina informacija koja se alje u odredenom trenutku; isuvie mala koliina
informacija izaziva preterano ekanje i na predajnom i na prijemnom kraju.
Sloj veze prepoznaje formate. Podaci se esto prenose u okvirima (frames), koje ine grupe bito-
va organizovanih u skladu sa specifinim formatom. Sloj veze oznaava poetak i kraj svakog
odlazeeg okvira sa jedinstvenim uzorkom bitova i te uzorke prepoznaje i prilikom definisanja
dolazeeg okvira. Zatim se okviri koji provereno ne sadre greke alju do sloja mree.
Konano, fiziki sloj prenosi bitove podataka preko mree. Bavi se fizikim i elektrinim aspekti-
ma prenosa podataka. Na primer, da li se kao medijum koriste bakarni kabl, optiki fiber, ili
satelitske komunikacije? Kako se podaci mogu fiziki preneti od take A do take B? Fiziki sloj
prenosi nizove bitova podataka primljene od sloja veze, bez razumevanja njihovog znaenja, ili
formata. Slino tome, bitovi se primaju bez ikakvog analiziranja i prosleduju se do sloja veze.
Dakle, najnia tri sloja se bave iskljuivo mrenim komunikacijama. Oni zajedno obezbeduju
servise za vie slojeve koji su zadueni za komunikacije izmeu krajnjih taaka. Oni defmiu
komunikacione protokole izmedu dva korisnika, ali, pri tom, ne vode rauna o detaljima nieg
nivoa u prenosu podataka. Neke mrene implementacije ne koriste svih sedam slojeva, ili mogu
da kombinuju neke funkcije iz razliitih slojeva. Zapamtite da je OSI model (i to vaan) i da
mnogi mreni protokoli nisu kompatibilni sa njim. Ipak, on zauzima vanu polaznu taku u
prouavanju, jer pomae razjanjavanje razloga zbog kojih su neke mrene funkcije postavljene
u okviru protokola. U tabeli 1.1 dat je pregled funkcija koje smo do sada predstavili.
Strategije povezivanja
Pre nego to predemo na prouavanje konkretnih slojeva, dajemo opti pregled mrenih operacija.
Znamo da se dva kompjutera moraju povezati (icom, optikim fiberom, satelitskom vezom, ili
nekom drugom beinom tehnologijom) da bi bila mogua komunikacija izmeu njih. Nain na
koji informacije putuju kroz mreu ie problem dizaina. Na primer, razmotrite mreu sa slike 1.13.
Funkcije Sloj
7. Aplikacije Obezbeduje elektronsku potu, transfer fajlova i druge korisnike servise.
6. Predstavljanja Prevodi formate podataka, ifruje i deifruje podatke.
5. Sesije Sinhronizuje uesnike u komunikciji, vri oporavljanje od greaka i zaokruuje
operacije.
4. Transportni Utvrduje mreu i moe da sakuplja i ponovo sastavlja pakete.
3. Mree Utvrduje rute i upravlja informacijama za naplatu.
2. Veze Detektuje i ispravlja greke i definie okvire.
l.Fiziki Prenosi fizike podatke.
SLIKA 1.13 Primer kompjuterske mree
Ako vor A eli da komunicira sa vorom F, kako e informacije putovati od A do F? Morate da
razlikujete ovaj problem od utvrivanja mte, ili mrene putanje. Ako linije predstavljaju fizike
konekcije, postoje etiri rute du kojih informacije mogu da putuju od vora A do vora F
(moete li da ih nabrojite?). Sloj mree utvrduje koja je ruta najbolja, ali pitanje je kako
informacije putuju preko izabrane rute. Ovo se ponekad naziv strategija povezivanja.
Postoje tri strategije: komutacija kola (circuit svvitching), komutacija poruka (message switching)
i komutacija paketa (packet switching). Kod komutacije kola, kada se konekcija uspostavi izmedu
dva vora, odrava se sve dok je jedan od vorova ne okona. Drugim reima, konekcija je
rezervisana za komunikaciju izmedu ove dve strane. Komutacija kola je uobiajena u telefonskim
sistemima (slika 1.14), jer se kanal koji se dodeli jednom telefonu ne moe koristiti za druge
telefone.
Kako ovo funkcionie? Osoba u vom A eli da razgovara sa osobom u voru F. Osoba A zahteva
aspostavljanje konekcije sa osobom F. Ako je re o telefonskoj mrei, konekcija se uspostavlja nakon
biranja broja. Kod kompjuterske mree korisnik unosi odgovarajue komande za povezivanje na
spedfinu lokaciju. U svakom sluaju, logika u voru A mora da utvrdi slede vor u ruti koji vodi
ka voai F. Ovaj proces ukljuuje razne faktore, kao to su cena konekcije i raspoloivost razliitih
putanja. Na primer, telefonski poziv iz San Franciska u Los Aneles normalno se ne mtira preko
Majamija. Ipak, ako su linije izmeu dva grada zaguene, konekcija moe da bude indirektna - na
primer, preko Sakramenta.
Na slici 1,14 vor A je utvrdio da je za put do vora F vor C bolji izbor nego vor B. Zato se vor
A povezuje na vor C. Nakon toga, vor C nastavlja u slinom stilu. Moe da izabere vor F, ili
moe da odlui da ide preko vora E. Na odluku utiu cena i postojee konekcije. U ovom sluaju
se vor C povezuje na vor E. vor E se konano vezuje na vor F. Konekcija je uspostavljena i
vor F moe da bude spreman za prihvatanje poziva. Kod telefonskog sistema prihvatanje
konekcije podrazumeva podizanje slualice na prijemnoj strani i izgovaranje pozdrava.
"Da li bi htela da
idemo u bioskop?"
"Pre bih ila sa
Bostonskim Daviteljem,
ali hvala na pitanju."
SLIKA 1.14 Rezervisano kolo za povezivanje vora A sa vorom F
Kod kompjuterskih mrea za prihvatanje konekcije koriste se odgovarajue komande. Ako vor F
ne odgovori (na primer, dobijete znak zauzea, ili nema nikakvog odgovora), vor A okonava
zahtev.
Ako vor F prihvati konekciju, razmena informacija moe da otpone. Osoba u voru A pita: "Da
li eli da idemo u bioskop?", a osoba u voru F odgovara: "Rado bih ila sa tobom, ali jutros mi
je uginio kanarinac i trenutno sam u alosti. Pozovi me neki drugi put kada nisam u gradu."
Komutacija kola zahteva utvrdivanje rute i uspostavljanje konekcije pre nego to otpone prenos
informacija. Osim toga, mrea odrava konekciju sve dok je jedan vor ne okona. Ovakav tip
komunikacije je najefikasniji kada je komunikacija izmedu dva vora kontinuelna, tj. kada vor
A "kae" neto, a vor F to "uje" skoro trenutno, skoro bez ikakvog kanjenja u prenosu. Ipak,
ovaj pristup nije uvek najbolji. Prvo, ako vor A poziva vor F, F mora da odgovori. U suprotnom,
A ne moe da alje informacije. Drugo, pretpostavimo da vorovi A i F retko razmenjuju
informacije (da li ste ikada "iskusili" dugake periode utanja za vreme telefonskog razgovora?).
U tom sluaju, konekcija nije dovoljno iskoriena.
Komutacija poruka je alternativa komutaciji kola. Mrea je koristi za uspostavljanje rute kada se
poalje poruka (jedinica informacija). Na primer, pretpostavimo da vor A alje sledeu poruku
do vora F: "Da li eli da ide u bioskop sa mnom?". vor A u poruku ukljuuje i adresu, ili
lokaciju vora F i trai prvi sledei vor na ruti. Kao to je prikazano na slici 1.15, vor A bira vor
C. Kao i ranije, izbor vora zavisi od cene i raspoloivosti konekcije. Cvor A alje poruku
(zajedno sa adresom vora F) ka voru C. Tu se poruka privremeno smeta, dok logika vora C
ne pronade sledei vor. Poruka se, zatim, alje do vora E, gde se ponovo privremeno smeta.
Konano, logika u voru E locira vor F i alje poruku na njeno finalno odredite. Poto se
poruka u potpunosti smeta u svakom voru, mree koje koriste ovaj metod nazivaju se i store-
and-forward (snimi-i-prosledi) mree.
Po emu se komutacija poruka razlikuje od komutacije kola?
SLIKA 1.15 Mrea sa komutacijom poruka
Kod komutacije poruka poruka se privremeno smeta u svakom voru. Kod komutaci-
je kola vor se jednostavno ponaa kao preklopni ureaj za rutiranje podataka. Na
primer, Va telefonski razgovor se ne smeta na posrednikim lokacijama (osim ako
neko prislukuje i snima taj razgovor). Kanjenje u prenosu koje je neophodno za
donoenje odluka kod komutacije poruka ini ovu strategiju povezivanja
neprihvatljivom kada je re o telefonskim mreama. Kanjenja u prenosu glasa
oteavaju konverzaciju.
Kod komutacije kola jedna ruta se rezervie za razmenu svih poruka izmedu dva vora.
Kod komutacije poruka razliite poruke mogu da putuju razliitim rutama.
Pretpostavimo da vor A elite da poalje drugu poruku: "Zaboravi prvu poruku;
moram da radim do kasno." do vora F. Poto je rutiranje esto zavisno od vremena, A
moe da izabere B kao prvi vor u ruti. U tom sluaju, poruka ide preko vora D do
vora F. Razliite poruke mogu da dele iste konekcije u vremenu, ime se postie bolja
iskorienost.
Komutacija kola zahteva da oba uesnika budu spremna u trenutku kada se podaci
poalju. To nije neophodno kod komutacije poruka. Poruka moe da se poalje i
snimi radi kasnijeg preuzimanja.
Trea konekcija povezivanja, komutacija paketa, minimizira efekte problema koje stvaraju dugake
poruke. Dugake poruke mogu da premae kapacitet bafera u voru, ili konekcije izmedu dva
susedna vora mogu biti "zaguene" u duim periodima. Otkaz konekcije moe da znai gubitak
cele poruke. Zbog toga su mree sa komutacijom poruka uglavnom zamenjene mreama sa
komutacijom paketa. Pogledajmo kako funkcioniu mree sa komutacijom paketa.
Pretpostavimo da vor A eli da poalje poruku do vora F. Ako je poruka dugaka, ona se deli
na manje jedinice, koje se nazivaju paketi. Velidna paketa zavisi od dizajna.
Ruta koja je koriena
za prvu poruku,
"Da li hoe da ide u
bioskop sa mnom?"
Ruta koja je koriena za
drugu poruku,
"Zaboravi prvu poruku;
moram da radim do kasno."
"Da li hoe da ide u
bioskop sa mnom?"
"Zaboravi prvu poruku;
moram da radim do kasno."
Slanje paketa
Pl , P2, i P3
Rute za pakete
Pl i P2
Rute za paket
P3
Prijem paketa
Pl , P3, i P2
SLIKA 1.16 Mrea sa komutacijom paketa
Svaki paket sadri odredinu adresu i neke druge naznake koje ukazuju kome je poruka namen-
jena i poruka se rutira pomou mrenih protokola. Kada svi paketi stignu na odredite, ponovo
se sastavljaju u originalnu poruku. Kao i kod komutacije poruka, ne odrava se fizika konekcija
izmedu krajnjih taaka. Manja veliina paketa predstavlja olakicu kod neophodnog baferovanja
u posrednikim vorovima mree.
Dva uobiajena metoda za rutiranje u mreama sa komutacijom paketa su metod datagrama i
metod virtuelnog kola. Kod pristupa datagrama svaki paket se prenosi nezavisno - mreni
protokol rutira svaki paket kao da je re o zasebnoj poruci. Tako je strategiji za rutiranje
omogueno razmatranje promene stanja u okviru mree. Zbog zaguenja na nekim rutama moe
se doneti odluka o promenama ranije utvrdenih mta (u Poglavlju 10 detaljnije emo predstaviti
strategije rutiranja).
Kod pristupa virtuelnog kola mreni protokol uspostavlja rutu (virtuelno kolo) pre nego to pone
slanje paketa. Paketi se isporuuju istom rutom, tako da je osigurano da se primaju u ispravnom
redosledu bez greaka. Proces je slian komutaciji kola, ali sa jednom znaajnom
razlikom: ruta nije rezervisana - razliita virtuelna kola mogu da dele zajedniku mrenu konekciju.
Logika u svakom voru mora da smeta primljene pakete i da planira njihovo dalje slanje.
Metod datagrama ima nedostatke zbog toga to nezavisno rutiranje paketa moe da povea
trokove. U nekim sluajevima je efikasnije koristiti virtuelna kola. Sledei nedostatak datagrama
je to to paketi verovatno ne stiu istim redosledom kojim su poslati. To nije prihvatljivo kod
real-time audio, ili video zapisa kod kojih se zvuk uje, ili slika vidi odmah im se paketi pojave
na odreditu. Za takve aplikacije je obino neophodno primati pakete istim redosledom kojim su
i poslati.
Na slici 1.16 prikazan je problem. Pretpostavimo da vor A eli da poalje poruku do vora F,
koja sadri tri paketa. Logika u voru A odluuje da rutira pakete Pl i P2 do vora C. Medutim,
kada je prouavana mogua ruta za P3, utvrdeno je da bi ruta preko vora C mogla da se "zagui".
Zato se P3 alje do vora B. Paketi Pl i P2 putuju do vorova E i F, dok paket P3 ide direktno od
B do F. U zavisnosti od saobraaja na mrei, F moe da primi pakete u redosledu Pl, P3, P2 i
onda mora da ih sastavi u ispravnom redosledu.
Sa druge strane, osetljivost na promenu uslova moe da bude prednost. Rutiranje paketa P3
drugom rutom moe da uzrokuje primanje paketa u pogrenom redosledu, ali zbog toga P3 stie
ranogo ranije nego to bi, inae, stigao. Kod mrea sa velikim saobraajem dobra ruta moe da
postane loa ako svi vorovi pokuavaju da prenesu pakete preko nje, kao to i najire ulice koje
vode ka centru velikog grada predstavljaju dobar izbor u 5 sati izjutra, a postaju zakrene dva sata
kasnije.
Strategije rutiranja i protokole za mree sa komutacijom paketa detaljnije emo prikazati u
kasnijim poglavljima. Za sada, u okviru tabele 1.2 moete da vidite poredenje do sada
predstavljenih strategija povezivanja.
Fiziki sloj
Fiziki sloj je prvenstveno zaduen za medijum za prenos podataka i naine na koje se signali
prenose. Najee korieni medijumi su kablovi sa upredenim paricama, koaksijalni kabl,
optiki fiber, sateliti, mikrotalasni tornjevi, infracrveni zraci i radio talasi. Svaka opcija ima speci-
fina elektrina, elektromagnetna, ili optika svojstva koja su prikladna u odreenim situacijama.
Ova svojstva stvaraju i ogranienja u pogledu koliine informacija koju je mogue preneti u
Komutacija kola Brzina. Prikladna je u situacijama Poto su mrene konekcije
kada su kanjenja u prenosu rezervisane, sve druge rute moraju
neprihvatljiva. da ih izbegavaju. Oba korisnika
moraju da budu prisutna u vreme
komunikacije, kao za vreme
telefonskog razgovora.
Komutacija poruka Rute nisu rezervisane i mogu se U optem sluaju, porukama je
koristiti odmah nakon prenosa potrebno vie vremena da stignu
poruke. Primalac ne mora odmah do svojih odredita. Problemi
da prihvati poslatu poruku. mogu da se jave i kod dugakih
poruka, jer moraju da se baferuju u
posrednikim vorovima. Poruka
putuje preko ranije izabranog vora
na osnovu uslova koji su mogli u
meduvremenu biti promenjeni.
Komutacija paketa Ako dode do "zaguenja", pristup Vei su trokovi, jer se svaki paket
(datagrami) datagrama kod komutacije paketa rutira zasebno. Odluke o rutiranju
moe da izabere alternativne rute moraju da se donesu za svaki paket
za preostale delove poruke. Na taj pojedinano. Paketi ne moraju da
nain je obezbedeno bolje stiu istim redosledom kojim su
iskorienje mrenih ruta. poslati.
Komutacija paketa Svi paketi koriste istu rutu, tako da je Rute kojima se paketi prenose
(virtuelna kola) obezbeeno pristizanje u istom posle nekog vremena ne moraju
redosledu kojim su i poslati. da budu optimalne.
Ova strategija je veoma korisna Potrebno je pregovarati
za real-time aplikacije. Osim toga, o novim rutama.
nii su trokovi rutiranja paketa.
Nedostaci Prednosti Strategija
jedinici vremena i odreduju verovatnou da e doi do smetnji iz spoljanjih izvora. Sledee
pitanje je da li treba preneti analogne, ili digitalne signale. Veina ljudi zna da se danas sve vie
koriste digitalrri prenosi, ali ta to, u stvari, znai? Kompletan opis medijuma za prenos i srodnih
tema u vezi analognog i digitalnog prenosa, irine propusnog opsega, odnosa signal-um,
irokopojasnih konekcija, osnovnog opsega, kvaliteta prenosa glasa, pa, ak, i Furijeove analize
moe da zauzme cele tomove. Neke od ovih tema detaljnije emo obraditi u Poglavlju 3.
Sloj veze
Dok se fiziki sloj bavi prenosom i prijemom podataka, sloj veze se nalazi na nivou iznad njega
- njegov zadatak je da obezbedi ispravno funkcionisanje fizikog sloja. Na primer, ta se deava
ako dva vora istovremeno pokuavaju da poalju podatke preko iste linije (nadmetanje)? Kada
vor zna da li su podaci koje je primio tani (detekcija greaka i korigovanje)? Da li elektrine
smetnje koje izazivaju elektrina oluja, ili promene u naponu mogu da dovedu do promene
nekih bitova? Ako smetnje promene odredite paketa, kako vor zna da nije primio neto to je
trebalo da primi?
Nadmetanje se javlja kada dva, ili vie vorova ele istovremeno da poalju podatke preko istog
medijuma. Postoji nekoliko naina da se to kontrolie. Neke mree sa topologijom magistrale
koriste metod pod nazivom detekcija kolizije. Detekcija kolizije ne spreava vorove da istovre-
meno iniciraju prenos preko zajednikog medijuma. Umesto toga, ovaj metod predstavlja odziv
na simultane prenose, ili kolizije. Obino, ako neki uredaj poalje podatke koji dodu u koliziju
sa nekim drugim podacima, kolo za "oslukivanje" detektuje koliziju i uredaj kasnije ponovo
pokuava da poalje iste podatke.
Ponekad uredaji pokuavaju da izbegnu kolizije "oslukivanjem" aktivnosti na magistrali. Ako je
magistrala zauzeta, uredaj ne inicira prenos. Ako kola detektuju da nema aktivnosti na magistrali,
uredaj inicira prenos. Ako dva ureaja "oslukuju" magistralu i detektuju odsustvo aktivnosti, istovre-
meno iniciraju prenos podataka i ponovo dolazi do kolizije. Ovaj metod razreavanja nadmetanja
na zajednikom medijumu nosi naziv Canier Sense Multiple Access ivith Collision Detection
(CSMA/CD). On ne razreava problem kolizije, vega samo svodi na minimalnu moguu meru. U
odeljku 4.7 data su detaljnija objanjenja ovog metoda.
Prosledivanje tokena je sledea ema za reavanje nadmetanja na zajednikom medijumu, koja
speava nastanak kolizija. U ovom sluaju jedinstvena sekvenca bitova, nazvana token, krui
preko vorova na mrei. Ako vor ima podatke koje treba da prenese, mora da eka sve dok ne
primi token, koji postavlja na kraj poruke. Osim toga, menja kontrolne bitove u tokenu da se
pokae da se token trenutno koristi. Poruka se alje do njnog odredita i tada se token nalazi u
odredinom voru. U zavisnosti od protokola, prijemna stanica moe da uzme token i da ga
iskoristi za slanje sopstvenih podataka, ili moe da prosledi token do sledeeg vora.
Mree sa topologijom prstena esto koriste metod prosledivanja tokena, kao to je prikazano na
slici 1.17. Token krui kroz prsten u smeru kretanja kazaljki na asovniku. Cvor E trenutno ima
token; zbog toga, samo on moe da poalje poruku. Poto je token jedinstven, ne moe da dode
do kolizije. Ipak, ovaj metod ima i svoje nedostatke: token moe da se izgubi, ili duplira, ili moe
da ga zadrava jedan isti vor. Reavanje ovakvih problema je detaljnije prikazano u Poglavlju 9.
Prosledivanje tokena nije ogranieno samo na mree sa topologijom prstena. Moe da se koristi
i u svim ostalim topologijama ako su vorovi numerisani, tako da token krui na osnovu
numerikog redosleda. Ipak, numeracija vorova se najlake izvodi u linearnim mreama, ili kod
mrea sa topologijom prstena. U odeljku 4.7 bie rei o prosledivanju tokena i nekim njegovim
varijacijijama, dok je u odeljku 9.6 ovaj metod predstavljen sa stanovita token ring standarda.
vor E ima token,
i zato samo on moe
da prenosi podatke.
Token cirkulie
po mrei
SLIKA 1.17 Token Ring mrea
Fiziki sloj prenosi nizove bitova preko mree. Kako primalac zna da li je primio tane podatke?
Loe konekcije, neispravne linije, ili elektrine smetnje mogu da utiu na prenos. Sloj veze
izvrava detekciju greaka i primenjuje algoritme za korigovanje eventualnih greaka. Pomou
detekcije greaka sloj veze na prijemnoj strani utvruje da li je dolo do greke; ako jeste, obino
zahteva ponovno slanje informacija. Pomou korekcije greaka sloj veze ima mogunost
ispravljanja oteenih bitova.
Najjednostavniji metod detekcije je verovatno bit parnosti, dodatni bit koji se pridruuje svakoj
sekvenci bitova, ili okviru. Na primer, parna parnost obezbeduje paran ukupan broj jedinica
(ukljuujui i sam bit pamosti). Zbog toga, ako okvir ima neparan broj bitova sa vrednou 1, bit
parnosti je 1. Ako je ukupan broj paran, bit parnosti je 0 (postoji analogna definicija i za
neparnu parnost). Razmotrite okvire na slici 1.18. Prvi okvir ima etiri bita sa vrednou 1. Zato
je bit parnosti O. Drugi okvir ima pet bitova sas vrednou 1, tako da je bit parnosti I. Bit
parnosti se prenosi zajedno sa okvirom i primalac proverava parnost. Ako otkrije da postoji
neparan broj bitova sa vrednou 1, dolo je do greke.
Problem kod korienja bitova parnosti je to to neke greke mogu da ostanu nedetektovane.
Na primer, ako se u vreme prenosa promene dva bita, broj bitova sa vrednocu 1 ostaje paran. Zbog
toga, parnost moe da detektuje samo jednostruke, a ne i dvostruke greke. Za detektovanje
viestrukih greaka postoje sofisticiranije tehnike. O tome je reeno neto vie u Poglavlju 6.
okvir
110101000
Bit parnosti Je 0 tako
da postoji paran broi 1-ca.
SLIKA 1.18 Bitovi parnosti
Bit parnosti je 1 tako da
postoji paran broj 1-ca.
01101101 1
okvir
token
SIoj mree
Sloj mree obezbeduje transportnom sloju mogunost uspostavljanja komunikacije izmedu
krajnjih taaka. Na osnovu ove mogunosti transportni sloj moe da obavlja svoje zadatke bez
potrebe da vodi rauna o detaljima razmene informacija izmeu dve stanice. To moe da se
uporedi sa telefonskim pozivom, kod koga ne morate da vodite rauna kako funkcionie
telefonska oprema. Ovaj proces, koji esto zahteva komunikaciju izmedu vie posrednikih
vorova, moe da bude prilino komplikovan. Postoji nekoliko protokola, ali isuvie su
komplikovani da bismo ih ovde prikazali; opisaemo ih u kasnijim poglavljima.
Sloj mree sadri algoritme koji su dizajnirani za pronalaenje najbolje rute izmedu dve take.
Utvrdivanje ruta smo pomenuli u okviru rasprave o tehnikama komutacije. Rekli smo da
utvrivanje mte zavisi od razliitih faktora, kao to su cena konekcije i raspoloivost linija, jer se
pokuava pronai najbra i najjeftinija ruta do odredenog vora. Na primer, na slici 1.19
prikazana je mrea na kojoj postoji nekoliko moguih ruta od vora A do vora F, Svaka linija
koja povezuje dva vora ima odredenu cenu, koja je naznaena kao broj linije. Polazei od vora
A ka vom F, preko vorova B i D, daje ukupnu cenu 16. Ako se ide preko vorova B i E, ukupna
cena je samo 12. U optem sluaju, sloj mree utvrduje koja je ruta najbolja. Hi lanije, protokoli
na sloju mree koji se izvravaju u vorovima kolektivno utvruju koja je ruta najbolja. Postoje
brojni pristupi rutiranju; njih emo predstaviti u Poglavlju 10.
Uspeno rutiranje je esto mnogo tee nego to izgleda na prvi pogled. Na predavanjima iz
diskretne matematike i struktura podataka obino se obraduju algoritmi za pronalaenje
najbolje, ili najjeftinije rule preko grafova. Ipak, tu se uzimaju neke pretpostavke koje esto nisu
tane u praksi. Pretpostavlja se da se vorovi grafa i cene veza ne menjaju. U dinamikim
okmenjima ovakve pretpostavke nisu tane. U mreu mogu da se ukljuuju novi uredaji i to
automatski utie i na postojee mte i na njihove cene. Algoritmi moraju da budu robustni da bi
reagovali na promenu uslova.
SLIKA 1.19 Cene ruta
ak i kada algoritmi odgovore na promenu uslova, mogu se javiti drugi problemi. Dobra ruta
moe da privue veliku koliinu saobraaja i da tako preoptereti kompjutere koji su prikljueni
na nju. Rezultujue zaguenje esto dovodi do eliminisanja odredene koliine saobraaja. Ovo
deluje kao isuvie strogo reenje, ali kada vor mora da prenese preveliku koliinu informacija,
ne postoji mnogo altemativa. U tom sluaju, protokol na sloju mree mora da bude sposoban da
obavesti poiljaoca da je poruka izgubljena.
Drugi problemi mogu da se jave kada se informacije koje se prenose preko jedne aite preusmere
zbog promene uslova, koja je dovela do defmisanja nove najbolje rute. U tom sluaju, informa-
cije mogu da putuju tom mtom, samo da bi se kasnije ponovo preusmerile. U ekstremnim
sluajevima, informacije mogu kontinuelno da se preusmeravaju, tako da odredene informacije
beskonano "odskau" od jednog vora do drugog. To je elektronski ekvivalent za prosjaka koji
trai mesto koje bi nazvao dom.
Transportni sloj
Transportni sloj predstavlja prelazni sloj. Tri sloja ispod transportnog zaduena su za mrene
komunikacije (slika 1.20). Svaki vor izmedu predajnog i prijemnog vora izvrava svoje
protokole da bi bio obezbeen ispravan i efikasan prenos informacija.
proces alje informacije proces prima informacije
SLlKA 1.20 Povezivanje krajnjih taaka pomou posrednikih vorova
aplikacija
predstavljanje
sesija
transport
mrea
mrea
veza
veza
fiziki sloj
fiziki sloj fiziki sloj fiziki sloj
veza
veza
mrea mrea
transport
sesija
predstavljanje
aplikacija
Transportni sloj i tri sloja iznad njega obezbeuju korisnike servise. Njihovo izvrenje je fokusi-
rano prvenstveno na predajne i prijemne vorove da bi bili osigurani pristizanje informacija na
njihovo odredite i potvrda o prijemu informacija koja se alje do predajnog vora.
Jedna od funkcija transportnog sloja je obezbedivanje pouzdane i efikasne mrene konekcije.
Zahvaljujui njemu, gornja tri sloja mogu da izvravaju svoje zadatke nezavisno od specifine
mrene arhitekture. Istovremeno, transportni sloj se oslanja na donja tri sloja prilikom kontrole
konkretnih mrenih operacija. On obezbeduje dolazak informacija od izvora do eljenog
odredita. Glavna odgovornost ovog sloja je obezbedivanje mrene konekcije, ili transportne
konekcije za slojeve sesije. Najvaniji zadatak je obezbedivanje pouzdanih i efikasnih
komunikacija. U praksi, mree su ponekad nepouzdane - ne postoji garancija da nee doi do
otkaza konekdje. Sta se deava ako se neki paket podataka izgubi? Sta ako paket znaajno kasni?
Kako ovakvi problemi utiu na korisnike? Specifinosti uobiajenog transportnog protokola
(Transmission Control Protocol - TCP) predstaviemo u Poglavlju 11.
Meu funkcije transportnog sloja ubrajaju se multipleksiranje, baferovanje i upravljanje
konekcijom. Pomou multipleksiranja (slika 1.21) nekoliko transportnih korisnika deli isti vor.
Na primer, korisnik moe da uspostavi vie konekcija na mrei preko jedne radne stanice. Jedna
konekcija slui za logovanje na udaljenu mainu, druga za preuzimanje fajla, a trea za pristup
Web sajtu. Svaka intereaguje sa transportnim slojem radi slanja i prijema podataka, a
transportni sloj osigurava da se svi dolazei podaci usmere do odgovorajueg korisnika.
Transportni sloj kontrolie i baferovanje u mrenim vorovima. Interesantno je da se baferova-
nje moe desiti ili u odredinom, ili izvornom voru.
mreni vor
transportni korisnik
transfer podataka
SLIKA 1.21 Multipleksiranje
transportni sloj
Kada transportni sloj na strani poiljaoca primi podatke od strane sloja sesije namenjene za
prenos, on ih deli u jedinice koje se nazivaju jedinice transportnog protokola (transport
protocol data units - TPDU). Transportni protokol ih alje do transportnog sloja na prijemnoj
strani (preko niih slojeva), gde se eventualno rutiraju ka sloju sesije na prijemnoj strani.
Transportni protokol obino zahteva potvrdu za prijem svakogTPDU-a. Ova potvrda je posebno
korisna na mreama sa komutacijom paketa, kod kojih paketi mogu da kasne, ili, ak, i da se
izgube zbog nekih otkaza na mrei. Pretpostavimo da transportni korisnik A eli da poalje
nekoliko TPDU-a do korisnika B. U nekim sluajevima TPDU-i se baferuju u izvoru i formira se
red ekanja za slanje sa niih slojeva. Transportni sioj eka na potvrdu za svaki TPDU, ali ga ne
uklanja iz bafera. Ako protokol zahteva potvrdu za svaki TPDU, transportni sloj na strani
poiljaoca eka na tu potvrdu. Ukoliko potvrda ne stigne u odredenom vremenskom periodu,
poiljalac ponovo alje TPDU, a to je mogue samo ako se on jo uvek nalazi u baferu.
Kada transportni sloj na prijemnoj strani primi TPDU, on ga zadrava sve dok sloj sesije ne bude
spreman da ga prihvati. Imajte na umu da ne postoje nikakve garancije da e sloj sesije odmah
prihvatiti TPDU. Ako primalac zna da poiljalac baferuje sve TPDU-e, moe da izabere korienje
samo jednog bafera radi utede prostora. Nedostatak ovog izbora je to primalac nema dovoljno
prostora za prihvatanje narednih TPDU-a sve dok se uva TPDU koji je ranije isporuen. U tom
sluaju, primalac ignorie TPDU-e i odbija da poalje potvrdu za njihov prijem. Poiljalac ne
prima nikakvu potvrdu i eventualno ponovo inicira prenos TPDU-a.
Upravljenje konekcijom (connection managament) je protokol na osnovu koga transportni sloj
uspostavlja i oslobada konekcije izmeu dva vora. Na prvi pogled, uspostavljanje i oslobaanje
konekcija deluju jednostavno, ali su, u stvari, prilino "nezgodne". Na primer, pretpostavimo da
transportni sloj pokuava da uspostavi konekciju izmeu korisnika A i B. Konekcija moe da
bude jednostavna kada (I) korisnik A zahteva uspostavljanje konekcije sa korisnikom B i kada
(2) korisnik B ukazuje na spremnost za prihvatanje konekcije, nakon ega se (3) konekcija
uspostavlja (slika 1.22). To je protokol dvosmernog usaglaavanja (two-way handshake pro
tokol) za uspostavljanje konekcije. Problem je to ovo ne funkcionie uvek zbog potencijalnih
kanjenja, ili zahteva korisnika A, ili odgovora korisnika B. Medutim, ove probleme i njihova
reenja moi emo da opiemo na najbolji nain tek u odeljku 11.4, nakon to predstavimo i
neke druge protokole.
SLlKA 1.22 Dvosmerno usaglaavanje
3. Konekcija je uspostavljena
1. "Da li spreman
za povezivanje?"
2. "Da!"
Sloj sesije
Sledea tri sloja se bave prvenslveno korisnikim servisima i funkcijama (prethodni slojevi su se
fokusirali na komunikacije). Sloj sesije sadri protokole koji su neophodni za uspostavljanje i
odravanje konekcije, ili sesije izmedu dva krajnja korisnika. Razlika izmedu transportnog sloja
i sloja sesije esto nije jasna na prvi pogled. Transportni sloj obezbeduje konekciju izmedu dva
vora koja je neophodna sloju sesije, a upravo smo rekli da sloj sesije obezbeuje konekciju
izmedu korisnika. U emu je razlika? Na slici 1.23 prikazana je analogija, na osnovu koje bi
trebalo da razjasnite eventualne zabune.
Na slici, direktor trai od sekretarice da pozove klijenta. Direktor je analogan sloju sesije, a
sekretarica transportnom sloju. Znai, zahtev u primeru (a) odgovara zahtevu za uspostavljanje
sesije. Direktor zahteva da se nspostavi konekcija, ali ne zalazi u tehnike detalje, kao to je
traenje telefonskog broja, ili njegovo biranje. U primeru (b) sekretarica poziva klijenta i tako
inicira procedure za uspostavljanje transportne konekcije.
"Molim vas da
pozovete g. Donsa."
"OK"
(a) Zahtev za uspostavljanjem konekcije sesije
(b) Zahtev za uspostavljanje transportne konekcije
blranje broja
telefona g. Donsa
"HaIo"
"Imate g. Donsa na liniji 3."
(c) Uspostavljena je transportna konekcija
"Ko je to?"
"Dobar dan, g. Dons."
SLIKA 1.23 Zahtev i uspostavljanje konekcije sesije
(d) Uspostavljena je konekcija seslje
Proces biranja i iniciranja konekcije je nezavisan od naina na koji telefonska kompanija vri
komutaciju kola koja, u stvari, usmerava poziv. Transportni sloj ne vodi rauna o tim detaljima.
Kada se poziv kompletira u primeru (c), uspostavljena je transportna konekcija. Medutim, sesija
nije uspostavljena sve dok direktor konano ne uzme telefon kao u primeru (d).
Na slici 1.24 dat je jo jedan primer koji se tie kompjuterskih komunikacija. Velike kompanije
koje imaju predstavnitva u celom svetu uglavnom sve najvanije podatke uvaju u bazi podata-
ka na centralnoj lokaciji. Svako predstavnitvo (sistemi za rezervadju avionskih karata, velike
brokerske kompanije, banke i tako dalje) ima sopstveni server koji komunicira sa bazom podata-
ka kompanije preko mree. Zaposleni u lokalnim predstavnitvima esto preko servera pristupa-
ju bazi podataka u kratkim vremenskim intervalima. To su sesije koje obezbeduje sloj sesije. Zbog
estog pristupa, transportni sloj odrava jednu transportnu konekciju izmedu servera i baze
podataka. Svaka sesija koristi istu transportnu konekciju i sistem funkcionie mnogo efikasnije
nego kada bi se svaki put ugovarala nova konekcija prilikom novog zahteva za pristup bazi
podataka.
Ne interpetirajte sliku 1.24 kao oblik multipleksiranja. Transportna konekcija opsluuje samo
jednu sesiju u jednom trenutku. Druga sesija moe da koristi transportnu konekciju tek kada se
prva sesija zavri.
Ako se transportna konekcija prekine zbog otkaza mree, sloj sesije moe da zahteva dmgu tra
nsportnu konekciju bez prekida sesije. Ovakav oporavak je analogan situaciji kada se prekine
veza direktora sa slike 1.23 sa klijentom i dok on eka da sekretarica ponovo pozove klijenta.
SLIKA 1.24 Vie sesija koristi jednu transportnu konekciju
lokalni server
transportna
konekcija
preko mreze
loglka konekcija ili sesija
Uspostavljanje sesije i
dobijanje informatija.
Uspostavljanje sesije
i dobijanje informacija.
baza podataka
kompanije
Sloj sesije obezbeuje i druge mogunosti, ali ovde ih neemo detaljnije opisivati. Na primer, sloj
sesije moe obema stranama da dopusti istovremeno slanje informacija (full duplex), ili da ih
primora da vre naizmenino slanje (half duplex). Osim toga, moe da organizuje informacije po
jedinicama; ako dode do naruavanja konekcije, korisnik ne mora da ponavlja slanje poruke od
poetka. Ovo je korisno ako doe do prekida za vreme slanja velikog fajla. Kada se konekcija
ponovo uspostavi, transfer moe da se nastavi od take u kojoj je prekinut. Osim toga, sloj
sesije moe da defmie aktivnosti koje se moraju izvesti po principu "sve, ili nita." Primer je
auriranje udaljene baze podataka koje ukljuuje promenu nekoliko zapisa. U sluaju prekida
veze za vreme auriranja mogue je da se neki zapisi promene, a neki da ostanu nepromenjeni,
zbog ega bi dolo do nekonzistentnosti podataka. Sloj sesije moe da obezbedi da se izvedu sve
promene, ili, u sluaju problema, da se ne izvede ni jedna.
Sloj predstavljanja
Umreavanje kompjutera moe da bude mnogo jednostavnije ako svi "govore" istim jezikom.
Ovde ne govorimo o jezicima kao to su C, Ada, Java, C++, ili COBOL. Mislimo na nain na koji
kompjuter predstavlja entitet koji nazivamo informacija.
Moramo da istaknemo razliku izmedu informadje i podataka, jer je re o veoma bitnoj razlici. Kada
govorimo o podadma, mislimo na gomile cifara, heksadecimalnih brojeva, ili stranica sa slovima, ili
specijalnim simbolima. Ukratko reeno, kompjuter ne smeta informacije, ve podatke. Informacija
je znaenje pridrueno zapamenim podacima. U sutini, podaci predstavljaju ureene nizove
bitova i bajtova i drugih nespomenutih "stvari". Informacija je ljudska interpretacija tih podataka.
Problem nastaje zbog toga to razliiti kompjuteri imaju razliite naine za predstavljanje istih
informacija. Zbog toga, nije dovoljno samo definisati efikasnu razmenu podataka. Moramo da
definiemo i efikasnu razmenu informacija. To je zadatak sloja predstavljanja.
Na primer, razmotrimo mreu koja prenosi podatke izmeu dva kompjutera (slika 1.25). Jedan
smeta informacije pomou ASCII koda, a drugi pomou EBCDIC koda, koristei razliite naine
za smetanje podataka (u Poglavlju 2 detaljnije emo predstaviti ASCII i EBCDIC). Kada ASCCII
kompjuter kae: "HELLO", mrea prenosi ASCII poruku. EBCDIC kompjuter prima i smeta
podatke. Naalost, nakon interpetiranja primljnih podataka dobija se " ! " jer se na prijemnoj
strani vri drugaija interpretacija bitova.
ASCII "HELLO " EBCDIC "<<! "
SLIKA 1.25 Razmena podataka izmeu dva kompjutera
Mrea
kompjuter
zasnovan na
ASCII kodu
48 45 4C 4C 4F 48 45 4C 4C 4F
kompjuter
zasnovan na
EBCDIC kodu
ASCII "HELLO " EBCDIC "HELLO "
SLIKA 1.26 Razmena informacija izmedu dva kompjutera
Mi elimo, u stvari, da izvrimo razmenu informacija onako kako je prikazano na slici 1.26.
Preneta je ASCII verzija rei "HELLO". Poto prijemnik koristi EBCDIC, podaci se moraju
konvertovati. U ovom sluaju se prenose heksadecimalni karakteri 48 45 4C 4C 4F, ali se prima-
ju karakteri C8 C5 D3 D3 D6. Ova dva kompjutera nisu razmenila podatke; umesto toga, to je
jo znaajnije, razmenila su informacije u formi rei "HELLO".
Medutim, problem nije samo konverzija koda. Mogui su problemi i prilikom prenosa brojeva.
Na primer, kompjuteri mogu da smetaju celobrojne vrednosti pomodi formata sa jednim, ili
dva komplementa. Razlika je minorna, ali mora se uzeti u obzir. Osim toga, razlikuje se broj
bitova koji se koristi za predstavljanje celobrojnih vrednosti. Obino se koriste formati sa 16, 32,
64, ili 80 bitova. Bitovi moraju da se dodaju, ili da se uklone da bi se omogudle razliite veliine.
Ponekad je translacija nemogua. Na primer, maksimalna celobrojna vrednost u 16-bitnom
formatu je 32.767. ta se deava ako kompjuter koristi 32-bitne celobrojne vrednosti i pokuava
da prenese vrednost 50.000 na kompjuter na kome je mogue koristiti samo 16-bitne celobrojne
vrednosti?
Osim toga, probleme stvaraju i brojevi u pokretnom zarezu. Na slici 1.27 prikazan je uobiajeni
forraat, mada su mogue razne varijacije. Razlikuje se broj bitova koji se koristi za eksponent i
mantisu. Broj bitova moe da se razlikuje i unutar same maine, jer se koriste ili jednostruka, ili
dvostruka preciznost. Isto tako, eksponent moe da se intepretira na razliite naine. Ponekad je
to stepen broja 2; u nekim drugim situacijama re je o stepenu broja 16. Ponekad se mantisa ne
pamti kao kontinuelni niz bitova. Kada se uzmu u obzir sve mogue razlike, pravo je udo da
kompjuteri uopte mogu da razmenjuju informacije.
Problem se proiruje kada se u celu "priu" ukljue sofisticiranije strukture podataka, kao to su
nizovi, zapisi i lanane liste. Sloj predstavljanja mora da uzme u obzir nain na koji se polja
zapisa smetaju.
bit znaka eksponent mantisa
SLIKA 1.27 Generiki format brojeva u pokretnom zarezu
kompjuter
zasnovan
na ASCII kodu
48 45 4C 4C 4F
Mrea
C8 C5 D3 D3 D6
kompjuter
zasnovan na
EBCDIC kodu
X X X X X X X X X X
y y y y y y
S
Na primer, da li svako polazi od granice rei, ili granice bajta? Gde se uvaju linkovi na polja?
Koliko bajtova zauzimaju? Da li se viedimenzionalni niz smeta po redovima, ili po kolonama?
Sloj predstavljanja mora da zna kakav sistem opsluuje. Osim toga, mora da poznaje format
podataka koje prima iz drugih izvora i da obezbedi ispravan transfer informacija kroz mreu.
Sledea funkcija sloja predstavljanja je kompresija podataka,* pomou koje se redukuje broj
bitova bez gubljenja znaenja informacija. Ako je prenos skup, kompresija moe znaajno da
snizi cenu prenosa i omogui prenos vee koliine informacija u jedinici vremena. Na primer,
pretpostavimo da se veliki fajl u potpunosti sastoji od niza velikih slova - to moe da bude lista
kljunih rei, ili prezimena zaposlenih. Koliko bitova podataka morate da prenesete? Ako su
karakteri kodirani ASCII kodom, broj je 8n, gde Je n broj karaktera. Ako sloj predstavljanja redefi-
nie kod tako to se O pridmi A, 1 za B i tako redom, do 25 za Z, svaki karakter u alfabetu moe
da se predstavi pomou pet bitova (jer je za 25 karaktera potreban manji broj bitova). Tako se, u
sutini, alje oko 38 odsto manje bitova. Postoje mnogi metodi za kompresovanje podataka;
detaljnije emo ih predstaviti u Poglavlju 5.
Bezbednost je sledei razlog za promenu bitova (za njihovo ifrovanje) pre slanja. Kada neauto-
rizovana osoba presretne poruku, nee imati nikakve koristi od nje ako je ifrovana. U Poglavlju
7 detaljnije je opisano ifrovanje podataka.
Sloj aplikacije
Sloj aplikacije, najvii sloj u OSI modelu, komunicira sa korisnikom i programskim aplikacijama.
Naziva se tako zato to sadri mrene aplikacije, koje se razlikuju od aplikacija za obrauna plata,
ili knjigovodstvenih aplikacija, paketa za grafiki dizajn, jezikih prevodilaca, ili programa za rad
sa bazama podataka. LI tipine mrene aplikacije ubrajaju se Web aplikacije, elektronska pota,
transfer fajlova, protokoli virtuelnog terminala (sve emo predstaviti u Poglavlju 11) i
distribuirani sistemi.
Veina fakulteta i velikih organizacija povezana je na Intemet, koji omoguava razmenu
privatnih i poslovnih poruka preko elektronske pote. Primera radi, brojni komentari koje su
autor i urednik razmenili u vreme nastajanja ove knjige preneti su pomocu elektronske pote.
Nii slojevi modela obezbeuju sredstva za izraavanje poruke i njen prenos do odredita.
Protokol za email na sloju aplikacije definie arhitekturu sistema elektronske pote. Pota se
smeta u potansko sandue - mailbox (u stvari, fajl), u okviru koga korisnici mogu da organizu-
ju i itaju svoje poruke i obezbeduju odgovore na njih.
Protokol za transfer fajlova korisnidma takoe omoguava razmenu informacija, mada na drugaiji
nain. Obino korisniku omoguava povezivanje na udaljeni sistem, ispitivanje sadraja nekih
direktorijuma i fajlova na udaljenom sistemu, a, zatim, njihovo kopiranje na svoj lokalni sistem.
Najefikasnija kompresija podataka moe da se izvede na ovom nivou, zato to je na njemu obezbeden najveci siepen
razumevanja podataka i njihove eventualne upotrebe. Ipak, kompresija se esto izvodi i na niim nivoima, umesto na ovom
nivou.
Za korisnika to je sasvim jednostavno, mada uz nekoliko problema. Jedan je struktura fajla. Neki
fajlovi sadre jednostavne sekvence bitova; u drugim fajlovima se nalaze linearne sekvence
zapisa. Haovani fajlovi doputaju nasumini pristup zapisima preko vrednosti kljueva.
Hijerarhijski fajlovi* mogu da organizuju sve pojave polja kljua u strukturi stabla. Ove razlike
stvaraju probleme prilikom transfera fajlova.
World Wide Web omoguava korisnicima da vide dokumente smetene na kompjuterima koji se
nalaze na razliitim lokacijama irom sveta. Osim toga, korisniku je omogueno da sledi link koji
je smeten u jednom dokumentu, a koji ukazuje na neki drugi dokument, ili sajt. Prated linkove,
korisnik moe da prelazi sa jedne lokacije na drugu jednostavnim klikovima mia. U argonu se
ova aktivnost naziva pretraivanje Weba, ili surfovanje Webom. Web i neke njemu orijentisane
aplikacije detaljnije emo predstaviti u Poglavlju 12.
Protokol virtuelnog terminala omoguava korisniku jedne radne stanice da se uloguje na
udaljeni kompjuter preko mree. Kada se povee, korisnik moe da radi na isti nain kao kada
radi na svom lokalnom kompjuteru. Mogunost pristupa razliitim kompjuterima sa razliitih
radnih stanica dovodi do raznih problema, zbog razlika u softveru i opremi. ]edan problem su
programi koji se esto piu za specifine hardverske komponente (na primer, drajveri za odreene
grafike kartice). Primer su tekstualni editori koji koriste ceo ekran. Editor prikazuje tekst na
ekranu i omoguava korisniku pomeranje kursora i izvodenje promena u tekstu. U zavisnosti od
radne stanice na kojoj radite, postoje razlike u broju prikazanih redova i kolona. Osim toga,
komande za pomeranje kursora, ili brisanje i umetanje teksta mogu da zahtevaju razliite
kontrolne sekvence koje zavise od kompjutera na koji ste povezani. Ostali problemi mogu da
budu rezultat razliitih formata ekrana koji se koriste za razliite softverske pakete (pod ovim
podrazumevano organizacioni razmetaj ekrana, koji je prethodio dananjim grafikim
korisnikim interfejsima). Cesto se pomou dobrog organizacionog razmetaja spreava "zatrpa-
vanje" prikaza korisnikim opcijama. Razmaci, tabulatori i selektovanje pomau korisniku da
radi sa softverom. Ponovo naglaavamo da ove karakteristike zavise od lokacije sa koje pokreete
softver.
Distribuirani sistemi su drugi oblik sve prisutnije aplikacije kompjuterskih mrea. Distribuirani
sistem omoguava pokretanje istog softvera sa vie ureaja i pristup zajednikim resursima.
Medu resurse se ubrajaju radne stanice, fajl serveri, mainframe kompjuteri i tampai (slika 1.28).
Kod pravog distribuiranog sistema korisnik se loguje na sistem i ne zna nita o njegovoj osnovnoj
strukturi. Korisnik zahteva odreeni resurs i dobija ga bez potrebe da vodi rauna odakle resurs
potie, ili koji je tip radne stanice koju koristi. Distribuirani sistem skriva te detalje.
Distribuirani sistemi predstavljaju veliki izazov. Pretpostavimo da korisnik zahteva fajl, navodei
njegov naziv. Problem je to razliiti sistemi koriste razliita pravila za imenovanje fajlova. Kako
da ta pravila budu transparentna za korisnika, a da se i dalje pridravaju sistema koji kompjuter
zahteva? esto neki fajlovi postoje na vie razliitih kompjutera. Kako distribuirani sistem zna
koji od tih fajlova korisnik zahteva? Poto se koriste razliiti kompjuteri, kako distribuirani
sistem reava problern dupliranih naziva fajlova? Distribuirani sistemi uvode brojne probleme.
* Morate da razlikujete strukturu fajla od njegove implementacije. Na primer, fajl moe da bude hijerarhijski, ali postoje razne
implementacije hijerarhijske strukture.
SLIKA 1.28 Distribuirani sistem
Internet slojevi
Kao to smo istakli na poetku ovog odeljka, OSI model nije doiveo komercijalni uspeh.
Ogromari napredak emaila i Web aplikacija tokom 90-ih godina prolog veka uinio je Internet
i njegove protokole dominantnim mrenim modelom.
Po emu se Internet razlikuje od OSI modela? Glavna razlika je to to se Intemet zasniva na
petoslojnom sistemu (slika 1.29). Te slojeve emo detaljnije obraditi kroz ovu knjigu, ali sada
istiemo da prva etiri mogu da se grubo uporede sa prva etiri sloja OSI modela. Medutim, poto
se Internet razvio tako da moe da funkcionie na ogromnom broju razliitih mrea, ne definie
nain na koji funkcioniu slojevi 1 i 2. Sloj 3 defmie formate paketa, procedure rutiranja, tipove
servisa i, u zavisnosti od verzije, neke bezbednosne mere. Sloj 4 odgovara ili TCP-u (protokol ne
moe da funkdonie bez uspostavljanja veze izmedu krajnjih taaka za komunikaciju izmedu
krajnjih taaka), ili UDP-u (User Datagram Protocol - protokol za komunikaciju izmeu krajnjih
taaka koji ne zavisi od veze). U Poglavlju 11 predstaviemo oba protokola. Peti sloj, sloj
aplikacije, odgovora protokolima kao to su HTTP (za navigaciju Webom), FTP (za transfer
fajlova), email i Telnet (protokoli virtuelnog terminala). Funkcionalnosti slojeva 5 i 6 OSI
modela nisu podrane na Internetu, ili su ukljuene u razliite Internet aplikacije.
Zakljuak
U ovom odeljku smo opisali svih sedam slojeva OSI modela. Svaki definie komunikacione
protokole za kompjuterske mree i izoluje sloj od detalja slojeva koji se nalaze ispod njega. Zajedno,
ovi slojevi izoluju korisnika od detalja samog prenosa informacija u toku komunikacije.
distribuirani sistem
tampai mainframe kompjuter fajl serveri radne stanice
SLlKA 1.29 Internet slojevi
Da je OSI model u potpunosti implementiran ("doiveo" je komercijalni neuspeh) omoguio bi
komunikaciju izmedu nekompatibilnih ureaja.
Najnia tri sloja se bave prvenstveno mrenim komunikacijama. Fiziki sloj alje i prima nizove
bitova, bez obzira na njihovo znaenje. On ne zna znaenje podataka, niti da li su oni tani.
Postoje i tri razliite strategije povezivanja. Komutacija kola kreira i odrava rezervisane linije
izmedu vorova. Komutacija poruka rutira poaike kroz mreu. Ne postoje rezervisane linije za
povezivanje vorova. Komutacija paketa deli poruku na pakete radi nezavisnog rutiranja.
Sloj veze obezbeduje detekciju greaka za fiziki sloj. Tehnike za detekciju greaka ukljuuju
bitove parnosti i ostale kodove za detekciju i korigovanje greaka. Neke od ovih tehnika mogu da
detektuju samo jednostruke greke; druge mogu da detektuju kada um naruava vie bitova. Sloj
veze sadri i strategije za reavanje nadmetanja. Detekcija kolizije omoguava simultani prenos iz
vie ureaja, ali sa detekcijom nastalih kolizija. Svaki uredaj nakon detektovane kolizije eka da
protekne nasumice izabrani period pre nego to ponovo pokua da prenese podatke. Prilikom
prosleivanja, token krui izmeu vorova na mrei. vor moe da prenosi podatke samo ako
ima token.
Najvii od donja tri sloja je sloj mree. On sadri strategije za rutiranje. Algoritmi mogu da utvrde
najjeftiniju rutu izmedu dva vora i svaki vor zna koji je njegov sledbenik u okviru rute.
Medutim, poto najjeftinija ruta na mrei zavisi od promena uslova u okviru mree, mogu se
koristiti adaptivne strategije rutiranja radi detektovanja promena na mrei; u skladu sa tim
promenama, menjaju se ranije utvrene rute.
Gornja etiri sloja slue korisniku. Najnii je transportni sloj. On obezbeduje baferovanje,
multipleksiranje i upravljanje konekcijom. Upravljanje konekcijom obezbeduje da kanjenje
poruka ne ugroava zahteve za uspostavljanje, ili oslobadanje konekcija.
5. sloj aplikacije
4. transportni sloj
3. sloj mree
2. sloj veze
1. fiziki sloj
Sloj sesije kontrolie dijalog izmeu korisnika. Kod half-duplex komunikacija sloj sesije prati ko
moe da govori, a ko mora da slua. Osim toga, omoguava nastavak transfera od take u kojoj
je dolo do prekida i moe da upravlja aktivnostima koje moraju da se izvode po principu "sve,
ili nita."
Sloj predstavljanja uzima u obzir razlike u nainu predstavljanja podataka. Omoguava razmenu
informacija izmedu dva sistema, mada oni moda ne koriste isti nain za smetanje podataka.
Osim toga, kompresuje podatke radi smanjenja broja prenetih bitova. Sloj predstavljanja rnoe
da implementira i ifrovanje i deifrovanje.
Poslednji i najvii sloj je s]oj aplikacije, koji sadri korisnike servise, kao to su elektronska pota,
softver za transfer fajlova i virtuelni terminali. On komunicira direktno sa korisnikom, ili
programskom aplikacijom.
Internet je sastavljen od pet slojeva: fizikog sloja, veze, mree, transportnog sloja i sloja
aplikacije. Elementi 5 i 6 sloja OSI modela sadrani su u Internet aplikacijama, ili u transportnim
protokolima.
1.5 Budunost savremenih komunikacionih tehnologija
Izdvojili smo dosta vremena za opisivanje istorije komunikacija i tekuih tehnologija i modela.
Sledee logino pitanje je kuda dalje. Drugim reima, ta moemo da oekujemo u budunosti?
Postoje neka predvidanja koja su egzotina i fantastina, mada verovatno nisu nita vie
fantastina nego to su ljudima pre nekoliko decenija izgledale tehnologije koje su nama danas
na raspolaganju: koncept satelita koji krui oko zemlje i alje televizijske signale zvuao je kao
nauna fantastika, mogunost korienja svetlosti za prenos slike i zvuka delovala je neverovat-
no, a ideja o "razgovoru" izmedu kompjutera bila je apsurdna i moda pomalo i zastraujua za
ljude koji su gledali isuvie filmova u kojima kompjuteri preuzimaju kontrolu nad svetom.
injenica je da mi vesada znamo za mnoge "stvari" koje e se sigurno koristiti i u budunosti.
Postoji veliki broj proizvoda koji su ve sada tehnoloki izvodljivi, ali jo uvek nisu isplativi u
velikim razmerama. Vratimo se na nae pitanje ta moemo da oekujemo. Evo nekih
mogunosti.
Ugraivanje Internet tehnologije u uredaje koji se svakodnevno koriste Mnoge
dtaoce e moda iznenaditi injenica da se 98 odsto procesora ne nalazi u tradiciona-
lnim PC-jima [EsOO], veu ureajima koje svakodnevno koristimo (vozilima,
asovnicima, kunim aparatima, fabrikim mainama, itd). Nemojte da se iznenadite
ako u doglednoj budunosti dode do velikog prodora beinih tehnologija u uredaje
koji se ne koriste u raunarstvu. Zamislite kuni termometar koji moe da pristupi
telefonu i pozove vatrogasce ako se detektuje visoka temperatura. Ako se ureaj nalazi
u stanu, umesto u kui, moe da obavesti druge stanare u zgradi i da preduzme i druge
aktivnosti osim alarma, kao to je, recimo, ukljuivanje svih svetala (potencijalni spas
za osobe oteenog sluha). U veoma velikim stambenim kompleksima moe da posto-
ji protokol na osnovu koga jedan stan poziva drugi stan, koji, pak, poziva ostale i tako
se pravovremeno obavetavaju svi stanari. Iako takve mogunosti obavetavanja ve
postoje u vidu poarnih alarma, mogu se poboljati na ovakav nain. Medusobno
povezivanje uredaja koji se nalaze u stanovima u zgradi moe da obezbedi sigurniji i
aurniji sistem upozorenja, koji e odmah obavestiti ljude pre nego to se problemi
"otrgnu" kontroli.
Drugi potencijalni primer mogu da budu ureaji koji e se ugradivati u automobile, a
koji mogu da registruju poziciju drugih vozila na autoputu i da spreavaju akcije koje
dovode do saobraajnih nesrea. Senzori ugraeni u zemlju mogu da detektuju
podrhtavanja u trusnim podrujima i da komuniciraju sa drugim uredajima u suse-
dnim zgradama koji aktiviraju zvune alarme. Postoje i neka razmiljanja o ugradnji
atmosferskih senzora koji e upozoriti na dolazak tomada u odredena podruija, Kada.
senzor cMektuje uslove za nailazak tornada, svoje podatke moe da alje preko
satelita. Kao odgovor, satelit alje koncentrisani mikrotalasni zrak u tom smetu, koji
moe da narui razlike u temperaturi neophodne za formiranje tornada.
Drugi primer je imitacija prisustva na daljinu (telepresence), koncept projeklovanja
na udaljenu lokaciju. Osnovna ideja je da se preko Internet konekcije upravlja roboti-
zovanim uredajem na udaljenom mestu. Medutim, postoje i druge mogunosti.
Pomou uredaja nalik onima koji generiu prikaz virtuelne stvarnosti korisnik bi
mogao da vidi, uje, ili moda oseti dogadaje koji se deavaju na udaljenim mestima i
da ima mogunost reagovanja na njih, a bilo bi idealno ako bi se sve to izvodilo u
realnom vremenu. Korisnik bi imao isti oseaj kao da se nalazi na lokaciji udaljenoj i
nekoliko hiljada kilometara. Znaajna primena bi mogla da bude u robotizovanim
uredajima koji reaguju na nesree na lokacijama nedostupnim za oveka. Korislei
ovaj koncept, korisnik bi mogao sa bezbedne lokadje da uestvuje u operacijama
spaavanja, ili ienja.
Na polju zabave, vodei proizvoda gitara Gibson razvio je tehnologiju pod nazivom
MaGlC (Media-accelerated Global Information Carrier), koja omoguava digitalizaciju
muzike i prenos preko Ethernet konekcije koja je uspostavljena sa gitarom. Ova
tehnologija je dizajnirana da bi zamenila analogne prikljuke i ima svoju primenu
prilikom snimanja i montiranja muzike. Verovatno ete moi da svirate gitaru i da,
istovremeno, to snimate na kompjuteru.
Elektronski telefonski direktorijumi Iako e trenutni formati koji se koriste za
obine i poslovne imenike biti primarni izvor informacija za veinu ljudi u budunosti
jo mnogo godina, elektronski telefonski imenici vepodnju da se naziru. Ideja je jed-
nostavna: koristili bi se PC, ili radna stanica za unos imena osobe, ili kompanije, a
zatim bi na ekranu bio prikazan odgovarajui broj telefona. Druga opcija je za unos
poslovne kategorije (restorani, honorarni rad, kompjuterske prodavnice, itd) i prikaz
liste odgovarajuih kompanija. Selektovanjem bilo koje stavke iz liste dobile bi se
kompletne informacije, ukljuujui broj telefona i adresu.
Iako je iroko dostupan, ovaj servis se jo uvek ne koristi masovno (mada e se to nar-
avno promeniti). U stvari, AT&T obezbeduje Web sajtove (na primer,
www.att.com/directory) koji obezbeduju ovakve direktorijumske servise. Koristei ove
servise, biraju se gradovi, drave, imena osoba, ili poslovne kategorije i sajt nudi
traene informacije, uz pretpostavku da su pronaene u bazi podataka. Osim toga,
dobijate pristup svim vrstama ostalih informacija koje se tradicionalno ne nalaze u
klasinim telefonskim imenicima.
Klikom na razliite linkove moete da preuzmete mapu prikazane lokacije, ili da dobijete
dodatne informacije o sajtu koji ste pronali, kao to su susedne firme, ili osobe. Ako je
re o firmama, moete da sakupite i osnovne informacije, kao to su podaci o bankroti-
ma, pamicama, ili zalozima. Sline informacije se pronalaze i o individualnim osobama
(ponekad uz dodatnu cenu), kao to su brano stanje, ili podaci o eventualnim razvodi-
ma, ili suenjima. Ako imate slualice sa ugraenim mikrofonom, moete da kliknete
ikonicu koja aktivira softver za pozivanje tog broja telefona. Moete ak da kliknete link
koji obezbeduje slanje cvea preko FTD-a. Pomou samo jednog klika dobijate vie
informadja nego to veina ljudi uopte moe da zamisli, mada sve to zahteva ozbiljne
zatitne mere i spreavanje potencijalnih zloupotreba.
Prenosivi telefoni Iako se teko mogu smatrati novom tehnologijom, mobilni tele-
foni su danas sasvim uobiajeni za mnoge ljude, koji ih koriste ili u poslovne svrhe, ili ih
smatraju nekom vrstom statusnog simbola. Naravno, mnogi imaju mnotvo drugih razlo
ga za njihovo korienje. Zamislite da Vam se auto pokvari u nekoj "nedodiji" u 2 sata
nou, desetak kilometara od najblieg telefona, ili da ste svedok neke nesree na udaljenoj
lokaciji. Mobilni telefon bukvalno moe da spasi ivot u nekim situacijama. Eventualno,
jednog dana e se telefonske govornice moi videti samo u muzejima tehnikih
dostignua. Prenosivi telefoni omoguavaju i prenosive faks maine. Ako zbog guve u
saobraaju kasnite na neki poslovni sastanak, iz automobila moete faksom da poaljete
u kancelariju svoje beleke, ili grafikone prodaje. Nove beine i satelitske tehnologije su
uslovile razvoj nove generacije komunikacione opreme, koja, ne samo da moe da
uspostavlja pozive, vemoe i da pristupa Internetu preko prenosivog uredaja. Vreme u
kome ete ovakve ureaje koristiti za paljenje svetla u kucl, ili da ponete spremanje (ili
podgrevanje) veere je verovatno pri kraju rada. Sateliti sada omoguavaju korienje
mobilnih telefona na lokacijama na kojima nema prijema signala sa tornjeva, kao to su
podruja visokih planina, ili sredina okeana.
Elektronska pota Internet ve koristi elektronsku potu (email) za razmenu
informacija irom sveta. U prolosti su ovu tehnologiju koristili samo kompanije, vladine
agencije i univerziteti. Medutim, danas je to jedan od najeh razloga zbog kojih se ljudi
odluuju na pretplaivanje na Internet servise. Ipak, sigurno je da postoji veliki broj ljudi
koji verovatno nije zainteresovan za ove servise, ili, jednostavno, ne eli da menja svoje
navike slanja rukom pisanih pisama. Po njihovom miljenju, slanje estitki povodom bilo
kog dogadaja ne moe da ima istu emotivnu notu kao tradicionalne razglednice.
Medutim, sa stasavanjem generacija koje i ne znaju kako je izgledao svet bez kompjutera,
drutvo e verovatno doi do take u kojoj e se zaudeno zapitati kako je sve
funkcionisalo bez kompjutera (ba kao to vena nas ne moe da zamisli ivot bez tele
fona). Oekujemo da e se u buduhosti gro poslovne korespodencije obavljati pomou
emaila. Na primer, email se sve vie koristi za komunikaciju izmedu lekara i pacijenata.
Pacijenti mogu da poalju email svom lekaru radi izdavanja recepata, optih
dijagnostikih pitanja, zakazivanja pregleda i svega onoga zbog ega nije neophodno
dolaziti u ordinaciju. Email moe da obezbedi praenje odziva koji treba da redukuju
pogrenu interpretaciju onoga to lekar kae. ak e i digitalni potpisi biti itljivi.
Digitalna revolucija Ovaj koncept je pomalo teko objasniti bez predoavanja
razlika izmeu analognih i digitalnih signala, o kojima e biti rei u Poglavlju 3. Za
sada, moete da smatrate da se u komunikacijama koriste isti tipovi signala kao i u
kompjuterima. Telefon je jo jedan primer kod kog je digitalna tehnologija promenila
funkcionisanje. U stvari, osim to signali idu direktno u kuu i od kue, telefonski
sistem je u potpunosti digitalan. Iako venu ljudi uopte i ne interesuje da li se njihovi
telefonski razgovori prenose kao analogni, ili digitalni signali (ako me neko pozove i kae
mi da sam dobio na lutriji, definitivno se nedi pitati kakva je tehnologija koriena za
prenos signala), digitalni signali su imali i imae velikog uticaja na servise koji nam stoje
na raspolaganju. Na primer, digitalni signali prenose informacije do odredinog telefona.
Za korisnika koji se pretplauje na servis identifikacije poziva na telefonskom uredaju se
prikazuju ime i broj telefona osobe koja ga zove. Iako mnogi ove informacije koriste
samo za prikazivanje, profesionalci kao to su lekari, advokati, ili brokeri mogu da koriste
softver za rutiranje dolazeeg broja telefona do baze podataka za klijente, ili pacijente, iz
koje mogu da pribave potrebne informacije pre nego to odgovore na poziv. Ne samo da
znaju od koga potie poziv, ve pre zapoinjanja razgovora mogu da imaju sve relevantne
informacije. Sistem moe ak da prikae i predlog odgovora, kao to je: "Dobar dan
gospodo Smit, kako su Dek i deaci?". Tako se postie prisniji kontakt sa osobom koja
zove. Sistem za obavetavanje policije 911 moe da mnogo bolje pomogne ljudima u
nevolji, jer se na ekranu ispisuje broj osobe koja nerazgovetno govori, ili ako poziv dolazi
od malog deteta. Prikazivanje pozivaoevog broja telefona umnogome redukuje broj
poziva kojima se ljudi uznemiravaju. Nedostatak ovog sistema je u ugroavanju
privatnosti. Mnogi ljudi nemaju svoje brojeve telefona zabeleene u imenicima i ne bi
trebalo da se ispisuju njihovi pozivi. Naravno, u takvim sluajevima je mogue onesposo-
biti identifikaciju poziva. Sistem e utvrditi da li je potrebno prikazati broj sa koga se
upuuje poziv.
Za nekoliko godina svi televizijski prenosi bie digitalni. Jedna od najvanijih
prednosti ove tehnologije je poboljanje kvaliteta signala, tako da je obezbeden visok
vizuelni i zvuni kvalitet. Naravno, nedostatak je to to e dananji televizori biti
zastareli kada nova generacija televizije preuzme primat. I kablovski sistemi e
prenositi iskljuivo digitalne signale, to e dovesti do bolje integracije kompjuterske
tehnologije i tehnologija prenosa. Naravno, to e omoguiti brojne interaktivne
servise. Gledaoci koji gledaju reklamne programe moi e da naruuju predstavljene
proizvode pomou svojih televizijskih prijemnika.
Pristup elektronskim medijumima Mnogi ljudi redovno odlaze u video klubove da
iznajme video kasete, ili odlaze u biblioteke da bi pozajmili neku knjigu, ili potraili
neto u enciklopediji. Sada postoji tehnologija koja moe da zameni televiziju dvosmern-
im komunikacionim uredajem.* Mo ete da je koristite za pristup
bibliotekama filmova, specijalnih izdanja, ili dokumentaraca. Plaanje po prikazivanju je
ve uobiajeno na brojnim lokacijama, tako da mogu da se selektuju razliiti
filmovi u naznaeno vreme. Razlika lei u tome to ete moi da gledate fllmove koje
elite da vidite u vreme koje sami izaberete. Slino tome, moi ete da pristupate elektron
skim knjigama iz biblioteke (uz pretpostavku da su reeni problemi zatite autorskih
prava). Elektronski pristup verovatno nee zameniti oputanje uz novu knjigu, ali moe
da bude korisno za one koji ele injenine informacije, poput onih koje se nalaze u
endklopedijama, ili u vladinim dokumentima. Mnoge poznate novine i magazini u pot
punosti mogu Vam biti dostupni u elektronskoj formi, ukoliko imate Intemet konekciju.
Doi e do spajanja pretraivanja Interneta i televizijskih tehnologija. Kompanije e moi
da dizajniraju reklame koje nee samo govoriti zato treba da kupite njihove proizvode,
ve ete moi odmah i da naaiite te proizvode koriste isti ureaj na kome ste videli
reklamu. Marketinke agencije e moi da prate gledanost jednostavnim pristupom TV
kanalima koje gledate. Naravno, ovde dolazi do izraaja problematika zatite privatnosti i
etike i mnogi e opravdano zahtevati da im se obezbedi pravo na privatno gledanje
programa. Moda emo doekati dan kada emo glasati na izborima iz naih domova.
Satelitski radio Moda deluje udno, ali poslednji znaajni dogaaj kada je re o
radiju bilo je kreiranje FM opsega jo pre 50 godina. Otada se nije promenilo mnogo
u navikama ljudi koji sluaju radio. To je u skorije vreme poelo da se menja. Internet
radio omoguava osobi za kompjuterom da se pomou svog pretraivaa povee na
radio stanicu i da slua ivu emisiju. Satelitski radio je tehnologija koja omoguava
kompanijama da emituju radio emisije preko satelita. Emitovanje se vri preko vie
kanala, preko kojih se prenose razliiti formati, kao to su popularna, ili klasina
muzika, sportski prenosi, ili razgovor. Znaajna prednost je u injenici da korisnici na
putu vie ne moraju da brinu o dometu signala kada naputaju lokalna podruja.
Osim toga, vie nee biti ogranieni samo na nekoliko stanica kada putuju u udaljene
oblasti. Da bi se olakalo funkcionisanje satelitskog radija, potrebno je poslati mreu
satelita u orbitu i obezbediti njihovu komunikaciju i prenos do svih taaka na zemlji.
Postoje neki problemi u vezi toga da li e ljudi biti spremni da plaaju usluge sateli
tskog radija (trenutno je sluanje satelitskog radija mogue samo uz pretplatu) kada
mogu besplatno da sluaju konvencionalni radio. Sa druge strane, ovo pitanje se ne
razlikuje mnogo od analognog pitanja koje je pre mnogo godina bilo postavljeno u
vezi plaanja TV-a. Pravo pitanje je da li e ljudi biti spremni za plaanje dodatnih
opcija; ako je istorija dobar pokazatelj, odgovor je verovatno potvrdan.
Video konferencije Svakog dana milioni ljudi provode deo svog radnog dana (ako ne i
previe) na raznim sastancima. Ponekad moraju da prelaze velika rastojanja, uz visoke
trokove, da bi prisustvovali nekim sastancima. Video konferencije omoguavaju ljudima
iz raznih delova sveta da vide i uju jedni druge kao da se nalaze zajedno. Mogu da razgo-
varaju i prikazuju grafikone kao da su u istoj prostoriji. Sve do skora, video konferencije
nisu bile isplative, jer je za video slike bila neophodna ogromna koliina informacija.
Medutim, sa napretkom video desktop tehnologije, grafike u visokoj rezoluciji, PC
aplikacija, brzine prenosa u mreama i tehnike kompresije, mnogo tota je promenjeno
u ovoj oblasti. Ono to se nekada smatralo luksuzom, koji su sebi mogle priutiti samo
najvee kompanije, danas mogu da koriste mnoge manje firme. Nije daleko ni dan kada
e full-motion video biti dostupan svakom korisniku na mrei.* Ova tehnologija moe da
se koristi i za programe obuke preko mree.
*Preuzimanje video klipova sa Interneta je ve uobiajeno, ali to nije ono na ta ovde mislimo. Takvi video
klipovi se preuzimaju i putaju lokalno. Mislimo na mogunost prenosa pokretne slike u realnom vremenu, u
trenutku kada se radnja stvarno deava. To zahteva neka real-time ogranienja koja neki mreni protokoli jo
uvek ne mogu da obezbede.
Odeljenje za obuku moe da isplanira emitovanje razliitih programa za obuku tako
da ih osobe rnogu pratiti iz svojih kancelarija, povezujui se na odgovarajui kanal i
pratei sesiju koja se prikazuje na ekranu.
Trodimenzionalni prikazi Video slike su dvodimenzionalne. Stari "3-D" filmovi su
prikazivani pomou dve razlidte slike iste stvari, a zatim su posmatrai nosili speci-
jalne naoari. Svako soivo je filtriralo jednu sliku, tako da je svako oko videlo
neznatno drugaiju sliku. Mozak te signale drugaije interpretira, dajui perspektivu
onoga to mi nazivamo rastojanje. Moda e jednog dana televiziju zameniti holo-
grafske kutije, u kojima e biti prikazivane stvarne trodimenzionalne slike. Medutirn,
to se verovatno nee razviti u bJiskoj budunosti.
Ali, zato se zaustaviti na slikama? Ljudi nisu bili zadovoljni samo prenosom glasa.
Morali su da osmisle kako da prenesu dvodimenzionalne video slike. Nakon toga su
poeli da razmiljaju o trodimenzionalnim slikama. ta je sa prenosom stvarnih
objekata, ili u ekstremnim sluajevima, samih ljudi? Zvui kao nauna fantastika?
Naravno da jeste i to zna svako ko je ikada gledao film "Zvezdane staze". Ali, tako se
razmiljalo i o lehnologijama koje danas koristimo. Ipak, ne budite apsolutno sigurni
da e tako biti i u ovom sluaju. U lanku u referenci [ZeOO] predstavljeno je kvantno
teleportovanje, to je veuradeno sa fotonima (esticama od kojih se sastoji svetlost).
U tom lanku su opisani principi po kojima su "estice istog tipa u istom kvantnom
stanju neraspoznatljive". To namee logino pitanje da li je mogue skenirati neto na
atomskom nivou, zabeleiti tipove i kvantna stanja svih estica i preneti te informacije
na udaljenu lokaciju, gde bi atomi izvueni iz materije bili ponovo sastavljeni u
skladu sa prenetim instrukcijama. Neki sumnjaju da se teleportovanje nije desilo, ve
da je kreirana kopija. Drugi mogu da tvrde da ospore njihovo miljenje tvrdnjom da,
ako je objekat na udaljenoj lokaciji zaista identian sa originalnim do atomskog nivoa,
onda se sa svih aspekata moe smatrati da Je objekat isti. Nema sumnje da ovakvo
pitanje moe da inicira dugotrajne rasprave. Bez obzira na sve, prenos fizikih
objekata svakako predstavlja krajnji domet komunikacije.
Elektronski lokatori Sledea vrsta naizgled nauno-fantastinih uredaja omoguava
ljudima da nose torbu koja centralnom kompjuteru alje informacije o tanoj lokaciji.
Danas se koriste slini ureaji. Na primer, neke transportne kompanije imaju instali-
rane odailjae u svim svojim kamionima. Sistemi su toliko precizni da mogu da
lociraju kamion u dornenu od nekoliko metara u bilo kom delu zemlje.
Ovi uredaji se ugrauju i u automobile. U automobilu se postavi mali video displej
koji prikazuje mapu puta. Korienjem sistema satelitskog praenja moe da se prikae
pulsirajua oznaka odredene lokacije. Ovakav sistem moe da bude koristan za nekog
ko se izgubio na nekom neobeleenom seoskom putu. Slini sistemi su jo korisniji za
navigacione sisteme na brodovima koji plove na otvorenim morima (naravno, bez
mape puta).
Ova tehnologija je nala svoju primenu i u mobilnoj telefoniji. Neke kornpanije pro-
daju mobilne telefone sa mobilnim servisom za pozicioniranje. Zamislite ta bi bilo
da se izgubite u divljini, ili da se povredite i ne moete da govorite.
Poziv servisu 911 omoguava spasiocima da otkriju Vau lokaciju preko mobilnog
telefona i da Vam bre ukau pomo. Mobilni servisi za pozicioniranje mogu da se
koriste i u manjim ureajima i da se postave na ogrlice kunih ljubimaca, ili, ak, deci
na odeu, tako da moete lako da ih pronadete ako se izgube.
Glasovne komunikacije Trenutno se razmena podataka najvie oslanja na kom-
pjuterske ureaje, kao to su radne stanice, skeneri, ekrani za prikaz, ili disk drajvovi.
Sofisticirani procesori danas mogu da se naue da prepoznaju govome ablone. Ovo je
izuzetno korisno za hendikepirane osobe, koje bi mogle glasom da kontroliu invalid-
ska kolica, ili ruku robota. Trenutna tehnologija ve omoguava programiranje video
rekordera glasom, ili kreiranje tekstualnih dokumenata diktiranjem teksta. Sledea ve
primenljiva tehnologija omoguava korisniku kompjutera da govori u mikrofon
prikljuen na softver koji digitalizuje glas i prenosi ga na udaljenu lokaciju preko
mree, gde moe da se smesti u mailbox. Osim toga, PC moe da se koristi na isti
nain kao i telefon.
NASA Deep Space Netvvork (DSN) DSN trenutno ima tri komunikaciona postro-
jenja u Kaliforniji, Spaniji i Australiji. Zbog Zemljine rotacije, ove lokacije su
neophodne za neprestano praenje sondi za svemirska ispitivanja bez posade, a mogu
da se koriste za vraanje slika i slanje komandi za navigaciju. Mrea moe da se koristi
i za prikupljanje naunih podataka iz astronomskih opservatorija, kao dodatak
naunim ekperimentima i kao podrka misijama u Zemljinoj orbiti. Poti su signali od
sondi za svemirska ispitivanja veoma slabi, DNS koristi osetljive reflektujue antene
veliine fudbalskog terena.
Komuniciranje mislima Moe li kompjuter da ita misli? Pre nego to se
podsmehnete ovom pitanju, setite se da ljudski mozak stvara jedinstvene modane
talase koji se mogu detektovati elektroencefalografom. Autor ove knjige je jednom
prilikom gledao dokumentarac u kome je ovek bio povezan na takav uredaj dok je
gledao sliku lopte koja se pomerala gore, dole, levo i desno; njegovi modani talasi su
zabeleeni i zapameni na kompjuteru radi kasnijeg referenciranja. Zatim je ta osoba
gledala loptu projektovanu na ekranu i pokuavala da je pomeri zamiljanjem jednog
od etiri mogua smera. Kompjuter je uporedio generisane modane talase iz ove
vebe sa onima kada su izdavane komande za projektovanu sliku u odgovarajuem
smeru. Funkcionisalo je! Da li kompjuter moe da ita misli? Procenite sami, ali
pratite ta se deava, jer ivimo u uzbudljivom vremenu.
Komunikacione tehnologije predstavljaju velike izazove. Moda se najve tiu zatite privatnos-
ti i bezbednosti. Ogromna koliina informacija koja se prenosi kroz vazduh "provocira"
beskrupulozne ljude da pokuaju ilegalno da presretnu poslate informacije. Kako spreiti te ljude
da ne vide informacije koje ne treba da vide, ili koje nisu platili? Kako ih spreiti da ometaju tele-
vizijske prenose slanjem sopstvenih poruka? Ovo nisu hipotetike situacije; vesu se desile.
ta je sa razliitim vladinim polisama u vezi prenosa i razmene informacija? Ne moemo da
postavimo kontrolne take na nacionalnim granicama radi kontrole informacija.
Da li treba ograniavati i filtrirati informacije? Ako treba, ko definie polise koje odreduju
prikladnost informacija? Kako to razdvojiti od cenzure?
Izazovi su brojni i moramo se pripremiti za suoavanje sa njima. Najpre, moramo da razumemo
i njih i tehnologije koje su uslovile njihov nastanak. Vreme je da ponemo.
Pitanja i zadaci za proveru
1. ta je Morzeov kod?
2. U emu je razlika izmedu nadmetanja i kolizija?
3. Nabrojte pet organizacija za uspostavljanje standarda i bar po jedan standard za koji je
svaka od nabrojanih organizacija odgovorna.
4. ta je razvodna tabla?
5. Nabrojte pet komunikacionih aplikacija i objasnite kako se mogu koristiti.
6. Sta je otvoreni sistem?
7. Nabrojte pet nadna za organizovanje lokalne mree.
8. ta je de fakto standard (dajte primer)?
9. ta se podrazumeva pod slojevitim protokolom? Zato se protokoli organizuju po
slojevima?
10. Uparite funkcije u prateoj tabeli sa slojem OSI modela koji ih izvrava.
Sloi OSI modela Funkcija
11. Navedite razliku izmedu parne i neparne parnosti.
12. Navedite razliku izmedu komutacije poruka i komutacije paketa.
Fiziki Definicija aktivnosti
Veze Baferovanje
Mree Nadmetanje
Transportni Kompresija podataka
Sesije Definicija elektrinih karakteristika signala
Predstavljanja Upravljanje dijalogom
Aplikacije Elektronska pota
ifrovanje i deifrovanje
Detekcija greaka
Upostavljanje i oslobadanje konekcije
Transfer fajlova
Konvertovanje formata
Multipleksiranje
Rutiranje
Komutacija
Sinhronizacija
Prosleivanie tokena
13. Da li su sledee izjave tane, ili netane (i zato)?
a. Prvi kompjuter je razvijen kao pomou uspostavljanju komunikacionih sistema.
b. Telstar je bio satelit dizajniran radi prenosa televizijskih i telefonskih signala
preko Atlantskog okeana.
c. Otvoreni sistem omoguava slobodan pristup razliitim raunarskim i
informacionim servisima.
d. Kompjuterska mrea moe da povee razliite tipove uredaja za skladitenje
podataka, iako oni smetaju podatke u razliitim formatima.
e. Dva para ureaja mogu da komuniciraju istovremeno preko zajednike
magistrale, ako se nalaze na suprotnim krajevima magistrale.
f. LAN sa potpuno povezanom topologijom je najee korieni oblik mree, jer
omoguava direktan prenos informacija izmeu bilo koja dva uredaja.
g. Standardi eliminiu nekonzistentnosti izmedu raunarskih uredaja.
h. Sedmoslojni OSI model bi, da je u potpunosti implementiran, dopustio
komunikaciju izmedu bilo koja dva uredaja, obezbedujui fiziki prenos
informacija izmedu njih.
i. Slojeviti protokoli omoguavaju implementaciju niih slojeva nezavisno od viih
slojeva i obrnuto.
j. Datagrami predstavljaju bolji pristup od virtuelnih kola prilikom reavanja
"zaguenja" na mreama.
k. Uspostavljanje OSI transportne konekcije zahteva da jedna strana postavi zahtev
za konekciju i da druga strana da potvrdu.
14. Koje mrene topologije omoguavaju prosledivanje tokena?
15. Koji su slojevi OSI modela zadueni prvenstveno za mrene operacije?
16. Po emu se OSI model razlikuje od Internet modela?
17. Prokomentariite prednosti i nedostatke prikazivanja broja telefona sa koga se
upuuje poziv svaki put kada zvoni telefon na pozvanoj strani.
18. U emu je razlika izmedu razmene podataka i razmene informacija?
Vebe
1. Skicirajte topologiju LAN mree u Vaoj koli, ili firmi.
2. Koje ste od moguh primena navedenih u odeljku 1.1 i sami koristili? Zato ste ih
koristili?
3. Koji su tipovi uredaja povezani na LAN mreu u Vaoj koli, ili radnom mestu? Da li
se verovatno nalaze i u drugim LAN mreama? Zato se nalaze, ili ne nalaze?
4. Pretpostavimo da bidirekciona token ring mrea povezuje osam uredaja numerisanih
od 1 do 8 u smeru kretanja kazaljki na asovniku. Na kojim ureajima otkazi
spreavaju prenos poruke od uredaja 1 do uredaja 4?
5. Pretpostavimo da mrea iz prethodne vebe ima n uredaja. Da li je mogue da, i pored
otkaza dva uredaja, svi ostali uredaji mogu da komuniciraju? Ako je mogue, pod
kakvim se uslovima javlja takva situacija?
6. Navedite etiri rute sa slike 1.9 preko kojih vor A moe da komunicira sa vorom F.
Koliki je ukupan broj ruta (uz pretpostavku da ruta samo jednom prolazi kroz isti
vor)?
7. Razmotrite sledee okvire:
011010001010001 x
100111000101101 X
100001100011000 X
Pretpostavimo da je x bit parnosti. Koju vrednost mora da ima x da bi se uspostavila
parna parnost, a koju za nepamu parnost?
8. Objasnite zato jednostavna provera parnosti ne moe da detektuje greku ako u toku
prenosa doe do promene vrednosti dva bita.
9. Kada u optem sluaju jednostavna provera parnosti moe da detektuje greku? Kada
se greke nee detektovati?
10. Navedite primer video konferencije koja je koriena u Vaoj koli, ili firmi.
11. Koji e aspekat savremenih komunikacija imati najvie uticaja na Va lini i
profesionalni ivot?
12. U odeljku 1.5 opisan je primer u kome osoba izdaje komande kompjuteru za pomer-
anje slike lopte obinim zamiljanjem podizanja, sputanja i pomeranja ulevo i
udesno. Mnogi mogu opravdano da kau da je ovo daleko od itanja misli. Kakvo je
Vae miljenje?
13. Koliko direktnih konekcija postoji u potpuno povezanoj topologiji sa n vorova?
14. Navedite neke dodatne primene u kojima uredaji koji ne slue u raunarske svrhe
mogu da zahtevaju uspostavljanje komunikacije.
15. Pronadite svoj broj telefona u online direktorijumskom servisu, poput onog koji se
moe pronai na adresi www.att.com/directory. Moete li da pronadete mapu svog
susedstva?
Reference
[EsOO] Estrin, D., R. Govindan and J. Heidemann, "Emedding the Internet."
Communications ofthe ACM, vol. 43, no. 5 (May 2000.), 39-41
[Ho94] Holtzmann, G., and B. Pehrson. "The First Data Networks". Scientific American,
January 1994, 124-129.
[ZeOO] Zeilinger, A. "Quantum Teleportation". Scientific Ameriam, April 2000, 50-59
Medijumi za
prenos i kodovi
Informacije su poput nerava koji se prostiru kroz Ijudsko telo i animiraju ga. Senzori i monitori su
analogni Ijudskim ulima na osnovu kojih ostvarujemo kontakt sa svetom oko nas. Baze podataka
odgovaraju memoriji; informacioni procesori izvravaju funkciju Ijudskog rezonovanja i razumevanja.
Kada se postmoderna infrastruktura integrie na odgovarajui nain, umnogome e premaiti Ijudsku
inteligenciju u bogatstvu, otrini, kapacitetu i preciznosti.
Albert Borgman, ameriki predava i autor
Podaci nisu informacije
informacije ne predstavljaju znanje
znanje nije razumevanje
razumevanje nije mudrost
Cliff Stoll i Gary Schubert
2.1 Uvod
U ovom poglavlju predstaviemo neke osnovne aspekte i modove komunikacija. Poinjemo
osnovnom raspravom o signalima i nastaviemo predstavljanjem razliitih medijuma koji se
koriste za transfer podataka. Nakon toga e biti razmotreni razlozi za postojanje velikog broja
razliitih naina za prenos podataka. Drugim reima, objasniemo koje su prednosti i nedostaci
svakog metoda.
Videemo da mnogi faktori pomau utvrdivanje koji je najbolji nain za povezivanje ureaja:
Cena konekcije
Koliina informacija koje se mogu preneti po jedinici vremena (bitska brzina)
Imunost na spoljanje smetnje (um)
Osetljivost na neautorizovano "oslukivanje" (bezbednost)
Logistika (kako se radna stanica povezuje na razliite servere u zavisnosti od toga da li
se server nalazi na drugom spratu u istoj zgradi, ili u drugoj zgradi preko autoputa sa
12 traka)
Mobilnost (Da li su komunikacioni ureaji statini? Da li prelaze mala, ili velika
rastojanja? Da li ih treba ograniiti na fizike konekcije kao to su iani kablovi?)
Kada se uredaji poveu, moda ete pomisliti da je zavren najtei deo posla i da oni mogu lako
da komuniciraju. Naalost, nije tako. Veliki problem lei u nainu na koji se informacije
reprezentuju i alju. Na primer, zamislite dva oveka koji stoje zajedno i razgovaraju licem u lice.
Ako govore istim jezikom, obino dolazi do komunikacije. Ako govore razliitim jezicima i ni
jedan ne razume ta onaj drugi govori, nee uvek doi do komunikacije.
Razlidti ureaji moda ne reprezentuju, ili ne alju informacije na isti nain. Tako, na primer, ako
jedan pokua da prenese informacije direktno do drugog, drugi moda nee razumeti primljene
informacije. Reenje problema moe da bude uspostavljanje komunikacionih standarda. Na
primer, mnogi uredaji prenose podatke koristei digitalne signale, koji se mogu predstaviti
elektrinim svojstvima,* tj. sekvencama specifinih naponskih nivoa. Grafiki, esto se predsta-
vljaju pomou etvorougaonih talasnih oblika; na slici 2.1a horizontalna osa predstavlja vreme,
a vertikalna nivo napona. Naizmenina promena naponskog nivoa sa visoke na nisku vrednost
moe simbolino da se predstavi nulama i jedinicama u odreenom periodu. Svaka nula, ili
jedinica naziva se bit; razliiti kodovi kombinuju takve bitove i koriste ih za reprezentaciju
informacija smetenih na kompjuteru. LJ odeljku 2.5 predstaviemo neke standardne naine za
reprezentovanje informacija, a u odeljku 2.2 razliite elektronske medijume preko kojih se
signali alju.
Personalni kompjuteri esto komuniciraju pomou modema, za ta koriste telefonske linije preko
kojih se prenose analogni signali (slika 2. Ib), ^ koji formiraju kontinuelno promenljive
naponske nivoe.
SLIKA 2.1 Analogni i digitalni signali
" Digitalni signali imaju i optiku reprezentaciju, koju emo predstaviti u odeljku 2.3.
^ lako Je veliki broj telefonskih sistema digitalan, veina telefonskih uredaja alje i prima analogne signale.
Kompjuter obino koristi modem za konvertovanje digitalnih u analogne signale pre prenosa. Modeme cemo
predsiaviti u Poglavlju 3.
(a) Digitalni signal (b) Analogni signal
Korienje analognih signala za reprezentovanje podataka i konvertovanje izmeu analognih i
digitalnih signala je sloeno. Ovaj problem je detaljnije razmotren u Poglavlju 3.
Sledei korak je utvrdivanje naina na koji signali putuju od jednog mesta do drugog. Postoje tri tipa
medijuma za prenos - svaki ima svoje specifinosti. Prvi tip su provodni metali, kao to su bakar, ili
gvoe, preko kojih se prenose analogni i digitalni signali na prethodno opisani nain. Uobiajeni
primeri su koaksijalni kabl i kablovi sa upredenim parovima ica. U odeljku 2.2 obradiemo njihove
karakteristike. Drugi medijum, koji predstavljamo u odeljku 2.3, je transparentni stakleni kabl
(optiki fiber), koji prenosi podatke koristei svetlosne talase. Trei tip ne zahteva flzike konekcije i
u potpunosti se oslanja na elektromagnetne talase, kao to su oni koji se koriste u televizijskim i radio
prenosima. Ovde postoje brojne opcije; detaljnije su predstavljene u odeljku 2.4.
Faktor koji se obavezno razmatra prilikom izbora komunikacionog medijuma je cena. Na primer,
iani kablovi, koaksijalni kablovi i optiki kablovi imaju razliite cene izrade. Osim toga, uredaji
na koje se prikljuuju takode izazivaju dodatne trokove. Sledei faktor koji treba razmotriti je
broj bitova koji komunikacioni medijum treba da prenese u jedinici vremena. Vee cene mogu
da budu opravdane ako rezultujui sistem bre prenosi veu koliinu informacija.
Bitna su dva merila: bitska brzina i opseg signala. Bitska brzina (bit rate) je broj bitova koji se moe
preneti u jednoj jedinici vremena. Tipina jedinica mere su bitovi u sekundi {bps - bits per seconds). U
zavisnosti od medijuma i aplikacije, bitske brzine se obino kreu od nekoliko stotina do milijarde
bps (gigabita u sekundi), a granice se pomeraju ka opsezima sa terabitima (trilion bitova) u
sekundi.
Pre definisanja opsega signala, pogkdaemo paljivije kako izgleda signal. Na primer, mnogi
analogni signali se predslavljaju pomou sinusoidalnog uzorka, ili kontinuelnog ciklusa. Perioda
signala je vreme potrebno za kompletiranje jednog ciklusa. Perioda signala sa slike 2.2 je p.
Frekvencija signala, /, predstavlja broj ciklusa kroz koje signal moe da oscilira u jednoj sekundi.
Frekvencija i perioda su "vezane" sledeom formulom:
SLIKA 2.2 Periodini signal
Jedinica mere je broj ciklusa u sekundi, ili herc (Hz). Na primer, pretpostavimo da p sa slike 2.2
iznosi 0.5 mikrosekundi (psec). Poto je 0.5 psec isto to i 0.5 xl0 sekundi, frekvencija signala
je 1/(0.5 x 10-6), ili 2.000.000 Hz = 2 megaherca (MHz).
Konkretni medijum za prenos moe da prenosi signale u konkretnom frekventnom opsegu.
Opseg signala (bandvvidth) predstavlja razliku izmeu najvie i najnie frekvencije koju je
mogue preneti. Na primer, telefonski signal moe da kontrolie frekvencije izmedu 300 i
otprilike 3.300 Hz, to daje opseg signala od 3.000 Hz. Sa stanovita ujnih zvukova, to znai da
veoma visok, ili nizak zvuk ne moe da prode kroz telefon. Najvei deo ljudskog govora uklapa
se Li telefonski opseg i zato se lako prepoznaje. Medutim, gubitak zvukova visoke, ili niske
frekvencije stvara probleme onima koji ele da sluaju, na primer, muziciranje Njujorke
filharmonije preko telefona.
Ponekad se termin opseg signala koristi kada se govori o broju bitova koji moe da se prenese.
Tehniki, opseg signala i bitske brzine su razliiti termini, ali izmedu njih postoji znaajna veza.
Ova sloena relacija detaljnije je opisana u odeljku 3.4.
Da bi se bitovi prenosili izmedu dva uredaja, mora da postoji put kojim e signal putovati
izmeu tih uredaja. Tipino, ovo zahteva fiziku konekciju, ili mogunost korienja
elektromagnetnih talasa, kao to su oni koji se koriste za radio i teieviziju. U narednih nekoliko
odeljaka predstaviemo nekoliko naina za uspostavljanje fizikih konekcija: kablovi sa
upredenim paricama, koaksijalni kabl i optiki fiber. Osim toga, prikazaemo i beine
komunikacije u kojima se koriste infracrveni talasi, mikrotalasni satelitski prenosi i Iaserske
tehnologije.
2.2 Provodni metal
Upredene parice
Jedan od najstarijih tipova medijuma za prenos je provodni metal, koji se koristi za prenos
informacija jo od 1837. godine, kada je Semjuel Morze izmislio telegraf. U osnovi, to je kolo
koje ima izvor napajanja, prekida i senzor (slika 2.3). Prekida na lokaciji A moe da se otvara
i zatvara runo, ime se kontrolie da li struja tee kroz kolo. Senzor na lokaciji B detektuje
struju i kreira kliktajui zvuk koji ste imali priliku da ujete na TV-u i u vesternima. Na slici 2.3
prikazan je telegrafski sistem koji omoguava prenos samo u jednom smeru.
SLIKA 2.3 Jednosmerni telegraf
izvor
napajanja
senzor
prekida u
otvorenom
poloaju
Neki drugi dizajni omoguavaju prenos u oba smera (ref. [Sh90]). Otvaranje i zatvaranje preki-
daa u razliitim obrascima kontroliu frekvenciju i trajanje signala koji se alju do lokacije B.
Poznati Morzeov kod, koji predstavljamo u odeljku 2.5, pridruuje podatke razliitim uzorcima
signala.
Bakarna ica je verovatno najuobiajeniji nain za povezivanje uredaja. Bakar se koristi zbog
njegovih elektrinih provodnih svojstava (elektricitet putuje kroz ovaj metal uz manji otpor nego
kroz druge materijale). Osim toga, otporniji je na koroziju nego drugi provodni metali, to je
izuzetno bitno ako e kablovi biti izloeni uticaju vlage.
Najea primena bakra je u kablovima sa upredenim paricama (twisted pair), kod kojih su dve
izolovane bakarne ice upredene. Izolacija onemoguava kratke spojeve izmedu provodnika.
Kablovi sa upredenim paricama se najee koriste za prenos balansiranih signala. To znai da
svaka ica prenosi struju, ali su signali fazno pomereni za 180.* Efekti spoljanjih elektroma-
gnetnih izvora na struju se skoro anuliraju, tako da je degradacija signala znaajno redukovana.
Upredanjem ica redukovana je interferenca iz spoljanjih izvora. Da ice nisu upredene, jedna
ica bi mogla biti izloena smetnjama u veoj meri od druge. Upredanjem se interferenca
ravnomerno rasporeuje na obe ice i signal, poto je balansiran, nastoji da ukloni interferencu.
Upredene parice se esto omotavaju zatitnim omotaem, koji omoguava ukopavanje kablova.
Takvi kablovi mogu da se oznaavaju u skladu sa brojem navoja po jedinici duine ice. Vei broj
uplitanja znaajno redukuje kapacitivnost, a pomae i redukovanje presluavanja (crosstalk),
elektromagnentnih smetnji izmedu susednih parica. Ovaj medijum je dosta dugo bio primarni
tip za telefonske komunikacije i jo uvek se koristi prilikom povezivanja kunih telefonskih
sistema sa najbliom telefonskom centralom. esto se koristi i za povezivanje radnih stanica na
mree.
Iako je bakar dobar provodnik, elektrini otpor ipak postoji i neophodno je postaviti repetitore
izmedu dve take (slika 2.4). Repetitor je uredaj koji presree emitovani signal pre nego to se
previe izoblii, ili oslabi, a zatim ga ponovo generie i prenosi dalje ka njegovom odreditu.
Ovde se namee logino pitanje na kom rastojanju je neophodno postaviti repetitore. Rastojanje
zavisi od karakteristika, kao to su tip signala, opseg signala i kapacitet ice za prenos struje
odredene jaine. Mnogi signali mogu da se prenose miljama pre nego to bude neophodno
regenerisanje signala. Sa repetitorima nema nikavog ogranienja u pogledu rastojanja na koje
signal moe da se prenese.
* Sa druge strane, nebalansirani signali koriste jednu icu za prenos elektrine struje, a drugu kao uzemljenje. Nebalansirani
signali su obino osetljiviji na interferencu od balansiranih. O tome e biti vie rei u odeljku 4.4.
SLlKA 2.4 Dve povezane take izmeu kojih je korien repetitor
Postoje dva tipa kablova sa upredenim paricama: nezatiene upredene parice (UTP - unshielded
twisted pair) i zatiene upredene parice (STP - shielded twisted pair). Zatieni upredeni par ima
upleteni metalni omota preko sloja izolacije, tako da je obezbeena bolja zatita od spoljanje
elektromagnetne interference. Osim toga, signali iz jednog para se tite od elektromagnetnog
polja koje generie struja iz drugog para. Nezatiene upredene parice nemaju takvu zatitu, ali
obino predstavljaju jeftimju varijantu i za proizvodnju i za instalaciju. Ovaj tip je slian icama
koje se koriste za povezivanje telefona na zidnu utinicu i danas se esto koristi u mnogim
mrenim okruenjima.
Razliite kategorije UTP kablova su obeleene numeriki. Na primer, ljudi esto koriste termin
Cat 5 kabl kada se misli na UTP kabl kategorije 5. Tipino, ice vie kategorije imaju vei broj
upredanja po jedinici duine, tako da se redukuje interferenca i postiu se vee bitske brzine.
Osim toga, obezbedena je bolja otpornost na near-end crosstalk (NEXT), fenomen kod koga
signali koji putuju du jedne ice stvaraju elektromagnetne talase i ometaju signale koji se
prostiru du druge blisko upredene ice. NEXT obino postaje problematian kod
visokofrekventnih signala. U tabeli 2.1 navedene su razliite kategorije UTP kablova i njihova
tipina primena.
Koaksijalni kabl
Sledei tip uobiajenog medijuma je koaksijalni kabl (slika 2.5), koji se sastoji od etiri
komponente. Prva je unutranji provodnik, za koji se, obino, koristi bakarna ica. Kao i kod upre-
denih parica, jezgro prenosi signal. Izolacioni sloj okruuje jezgro i spreava provodnik da dode u
kontakt sa treim slojem, obino gusto upredenom ianom mreom.* iana mrea titi jezgro od
elektromagnetne interference. Osim toga, titi ga i od gladnih glodara koji trae nezatiene metalne
ice. Poslednji sloj vidite na kablovima pomou kojih prikljuujete video rekorder na televizijski
uredaj: plastini zatitni omota.
Koaksijalni kabl obino prenosi informacije ili u okviru osnovnog opsega, ili u irokopojasnom
opsegu. U modu osnovnog opsega (baseband mode) opseg signala je rezervisan za jedan niz
podataka. Zbog toga, vei opseg signala omoguava prenos sa veim bitskim brzinama.
Repetitor uklanja
izoblienje i pojaava
i ponovo l al j e
primljeni signal.
repetttor
reeimitovani
signal
oslabljeni i
izoblieni signal
emitovani
signal
Ovo je tipino za lokalne mree, gde se u jednom trenutku prenosi samo jedan niz podataka. Kod
irokopojasnih opsega (broadband) opseg signala se deli po pojasevima. U svakom pojasu se
obino prenose zasebne kodne informacije, tako da je omoguen istovremeni prenos vie nizova
podataka preko istog kabla. Za kombinovanje signala na izvoru i njihovo razdvajanje na
odreditu koristi se specijalna oprema. Kablovska televizija je primer istovremenog prenosa
viestrukih signala (po jedan za svaki kanal) preko istog kabla. Predstavljanje kombinovanja
signala nastaviemo u odeljku 4.5, kada budemo govorili o multipleksiranju.
Cat 1 Dizajnirana je za primenu u ranim telefonskim sistemima, gde je
prvenstveno bio neophodan prenos glasa.
Cat 2 Koristi se u telefonskim sistemima i nekim starijim lokalnim mreama, kod
kojih bitske brzine ne prelaze 4 Mbps.
Cat 3 Postala je standard za kvalitetne govome telefonske komunikacije, a
podrava LAN komunikacije do 10 Mbps. Mora da prode testove za
presluavanje susednih signala (near-end crosstalk) do 16 MHz.
Cat 4 Koristi se za Ethernet i token ring mree kada bitske brzine dostiu 16
Mbps.
Cat 5 Obino se koristi u dananjim mreama i moe da podri bitske brzine od
100 Mbps na rastojanjima od 100 metara, ili manje. Osim toga, Ethernet
mree sa gigabitskim brzinama razvijene su za korienje sa etiri para UTP
kablova kategorije 5, u opsegu od 100 metara (ref. [StOO]). Tu je i
poboljani Cat 5 kabl (ponekad se oznaava kao Cat 5E), koji, u sutini,
predstavlja kvalitetniji kabl - podrava bitske brzine do gigabita u sekundi.
Korisnici mrea mogu da prepoznaju Cat 5 kabl po plavom omotau, koji se
postavlja od kompjutera do utinice u zidu. Mora da prode testove na pres
luavanje susednih signala do 100 MHz.
Cat 6 TIA je skoro odobrila standard za Cat 6 kablove, koji obezbeduje dvostruki
vei opseg signala u poreenju sa Cat 5E kablovima i ima poboljane
karakteristike koeficijenta signal-um.
Cat 7 Trenutno se priprema donoenje standarda za kategoriju 7, koji bi
obezbedio vee bitske brzine (u vreme kada je ova knjiga pisana, to jo
uvek nije bilo zavreno).
Kategorija Primena
Bakarni, ili
aluminijumski
provodnik
iana mrea
spoljanji omota
izolacija
SLIKA 2.5 Koaksijalni kabl
Dva tipa koaksijalnih kablova esto se nazivaju ThickNet i ThinNet.* ThinNet je tanji,
fleksibilniji kabl, koji je ranije korien za povezivanje uredaja u kompjuterskim Iaboratorijama.
Ova fleksibilnost ga je uinila idealnim izborom u situacijama kada je potrebno postaviti kabl po
okovima i oko stolova. ThickNet je vie korien u starijim mreama i jo uvek moe da se
pronade u nekim instalacijama. Poto je manje fleksibilan, njegova primena je ograniena samo
na povezivanje opreme koja se nalazi u razliitim zgradarna, ili kada je potrebno povezati
opremu na razliitim spratovima u jednoj zgradi.
Koaksijalni kablovi odavno mogu da postignu vee opsege signala od kablova sa upredenim parica-
ma i doputaju vea rastojanja. Osim toga, obezbedena je bolja zatita od elektrine interference. Kao
i kod kablova sa upredenim paricama, maksimalne bitske brzine i rastojanja menjaju se u skladu sa
razvojem novih tehnologija koje omoguavaju proizvodnju sofisticiranije opreme i bolje tehnike
signalizacije. Iako su ranije korieni kao primami nosai za prenos signala preko glavnog stuba
lokalnih mrea, koaksijalni kablovi se danas obino zamenjuju optikim fiber kablovima
(predstaviemo ih u sledeem odeljku), ili, ak, UTP kablovima. Zbog zatitnog omotaa, koaksija-
lni kabl ima bolju statistiku u pogledu greaka od UTP kablova, mada su UTP kablovi jeftiniji i laki
za rad, to je znaajna stavka kod IAN mrea kada je neophodno uklopiti se u ograniena budetska
sredstva. Medutim, koaksijalni kabl moe da bude poeljan izbor kada se manji broj uredaja smeta
na manjem podmju. LI takvim sluajevima zatitni omota koaksijalnog kabla obezbeduje bolju
zatitu od interference koja potie od susednih kablova.
2.3 Optiki fiber
Nekoliko problema (ili bar ogranienja) prati prenos podataka preko provodnog metala. ledan
problem je injenica da su elektrini signali osetljivi na smetnje iz spoljanjih izvora, kao to su
elektromotori, udari munje i drugi kablovi. U odeljku 3.4 ete videti da interferenca ograniava
koliinu podataka koju je mogue preneti. Osim toga, kablovi su teki i nezgrapni, posebno ako
ih je potrebno zajedno omotati. Zamislite kako izgleda prenos kablova od nekoliko hiljada stopa.
U stvari, prema AT&T, namotaj optikog fibera od 4,5 funti moe da prenese istu koliinu
informacija kao i 200 kalemova ianog kabla koji tei vie od 1.600 funti.
Ova teina predstavlja ogranienje prilikom instalacije kablova u prometnim oblastima, ili na
teko dostupnim mestima, kao to su ormari, ili dugaki uski prolazi. Osim toga, karakteristike
elektrinih signala i svojstva otpornosti provodnog metala postavljaju ogranienja i u pogledu
tipova signala koje je mogue prenositi i u pogledu rastojanja koje signali mogu da predu bez
izobliavanja. Ova ogranienja postavljaju granicu i u koliini informacija koje je mogue poslati
u jedinici vremena.
Alternativa je optiki fiber. On za prenos informacija koristi svetlost, a ne elektricitet. Telefonske
kompanije iroko primenjuju optiki fiber, posebno za pmanje usluga na velikim rastojanjima.
Otklonjene su mogunosti za elektrini um, a postoji kapacitet za prenos ogromnih koliina
informacija. Osim toga, optiki fiber je veoma tanak (u poredenju sa obinim kablovima), tako
da moe da se vezuje vea koliina kablova na manjem prostoru, nego to je mogue sa
traicionalnim kablovima.
U situacijama kada je potrebno postaviti kablove kroz ispuste, iznad plafona, ili izmeu zidova
ovo je velika prednost. Optiki fiber se danas standardno koristi u mnogim kompjuterskim
mreama. CD-i visokog kapaciteta, DVD tehnologija i sve vea integracija kompjutera i videa
postavljaju zahteve za mreama sa veim opsegom signala.
Principi koji su omoguili realizovanje optikog fibera potiu iz fizike, posebno optike i teorije o
elektromagnetnim talasima. Ovde nemamo nameru da detaljnije obradimo takve teme, mada
smatramo da je bitno da se istaknu neke osnovne ideje da biste bolje razumeli nain na koji
optiki fiber funkcionie.
Za poetak, razmotrimo svetlosni izvor usmeren ka nekoj povrini (slika 2.6). Povrina
predstavlja granicu izmedu dva medijuma, kao to su vazduh i voda. Neka a bude ugao pod
kojim svetlo see graninu oblast. Jedan deo svetlosti se reflektuje nazad pod uglom a u odnosu
na ravan, a drugi deo prolazi kroz granicu do drugog medijuma. To je refrakcija (prelamanje).
Medutim, na granici dolazi do promene ugla pod kojim se svetlost prostire. Drugim reima, ako
je p ugao pod kojim svetlosni talasi putuju od granice, . Zatim,moetedasezapitatedalije
vee, ili manje od . Ako ste to pomislili, estitamo. To je dobro pitanje.
Ako je > (kao na slici 2.6), kaemo da drugi medijum ima veu optiku gustinu od prvog (kao
to voda ima veu gustinu od vazduha). Medutim, ako prvi medijum ima veu optiku gustinu,
onda je < . Refrakcija objanjava zato soiva u naoarima izobliavaju normalni prikaz, ili
zato objekti koji se nalaze ispod vodene povrine izgledaju izoblieno kada se gledaju iznad
povrine vode. Svetlo koje se reflektuje od objekata je izoblieno i zato oni izgledaju drugaije.
Relacija izmedu i je interesantna. Fiziari za njeno opisivanje koriste meru koja je poznata
kao indeks refrakcije (koeficijent brzine svetlosti u vakuumu i brzine svetlosti u specifinom
medijumu). Osim toga, dobro poznati rezultat u fizici nelovo (Snell) pravilo "kae" da je koefi-
cijent indeksa refrakcije dva razliita medijuma (prikazana na slici 2.6) jednak odnosu
Ako je ovaj odnos manji od 1, svetlost putuje u medijum sa manjom optikom gustinom, a ako
je odnos vei od 1, znai da svetlost putuje u medijum sa veom optikom gustinom.
svetlosni izvor reflektovani izvor
dodirna povrina
izmeu dva
medijuma
refraktovana svetlost
SLIKA 2.6 Refrakcija i refleksija svetlosti
cos( )
cos( )
Zapamtite da su i uglovi izmedu 0 i 90, tako da cos( )<cos( ) znai da je < i obratno.
Sledei interesantan fenomen se javlja kada je ovaj koeficijent manji od 1 ( > ). Kada je a
manje od odreenog kritinog ugla, nema refraktovane svetlosti. Drugim reima, sva svetlost se
reflektuje. Zahvaljujui ovom fenomenu, omogueno je funkcionisanje optikog fibera.
Tri glavne komponente fiber optikog vlakna su jezgro, obloga i zatitni omota. Jezgro je
sastavljeno od istog stakla, ili plastinog materijala. Obloga okruuje jezgro. I ona je od stakla,
ili plastike, ali sa manjom optikom gustinom od jezgra. Koliko je jezgro isto? Kao to ete
videti, optiki fiber funkcionie tako to omoguava prenos svetlosti kroz jezgro. U nekim
sluajevima fiber moe da bude duine i do 20 milja. Poto se svetlost prenosi sa jednog kraja na
drugi, moemo da smatramo da je jezgro debljine 20 milja (zamislite stakleni blok koji je toliko
ist da je krika debljine 20 milja skoro transparentna).
Sledee pitanje je kako svetlost dospeva u fiber. Na jedan kraj fibera se postavlja svetlosni izvor,
kao to su LED dioda (light emitting diode), ili laser. U oba sluaja je re o uredaju koji reaguje
na elektrini naboj za stvaranje svetlosnog impulsa, koji se, obino, nalazi blizu infracrvenog
opsega od 10
14
Hz. Laser stvara veoma ist* i uzak mlaz. Osim toga, ima visok izlazni naboj, tako
da svetlost moe da se prenese na vee daljine, nego u sluaju LED dioda. LED diode proizvode
manje koncentrisanu svetlost koja ima iri spektar talasnih duina. One su jeftinije i u optem
sluaju traju due. Laseri se koriste tamo gde je neophodan veliki kapacitet prenosa podataka na
velikim rastojanjima, kao u sluaju telefonskih linija koje povezuju udaljena podruja.
Svetlosni izvor emituje kratke, ali brze svetlosne impulse koji ulaze u jezgro pod razliitim
uglovima. Svetlost pogada granicu jezgro/obloga pod uglom koji je manji od kritinog ugla i u
potpunosti se reflektuje nazad u jezgro, gde eventualno "pogada" granicu na njegovoj drugoj
strani. Efekat je odbijanje svetlosti od granice do granice, dok se prostire niz jezgro. Eventualno,
svetlost postoji unutar jezgra i moe da se detektuje senzorom. Svetlost koja "pogaa" granicu
pod uglom veim od kritinog ugla parcijalno se refraktuje u oblozi i apsorbuje je zatitni
omota. Tako se spreava odavanje svetlosti i apsorbovanje u susednim fiberima.
Prilikom prostiranja svetlosti kroz jezgro fibera moe do do jednog problema. Ako je jezgro prilino
debelo u odnosu na talasnu duinu svedosti, svetlost "pogada" razliita mesta pod razliitim uglovi-
ma. Jedan deo svetlosti se prostire kroz centar jezgra, a preostali deo "pogada" granice jezgra (slika
2.7). Prouavanje elektromagnemih talasa (posebno Maksvelovih jednaina) ukazuje da dolazi do
interference izmedu nekih refiektovanih svedosnih talasa. Zbog toga, postoji konaan broj uglova
pod kojim se zraci reflektuju i prostiru du fibera. Svaki ugao defmie putanju, ili mod. Fiber koji
prenosi svedost na ovakav nain naziva se step-index multimode fiber.
Svetlo koje se reflektuje pod veim uglovima (mereno u odnosu na horizontalu) reflektuje se
ee i prelazi vea rastojanja od svetlosti koja se reflektuje pod manjim uglom. Zato je potrebno
vie vremena za dolazak svetlosnog impulsa na drugi kraj fibera.
* Svetlost se esto sastoji od veeg broja razliitih talasnih duina, ili boja, to se vidi na primeru svetlosti koja prolazi kroz
prizmu i deli se na dugine boje. Laser moe da proizvede "istu" svetlost, ili svetlo koje se sastoji od svega nekoliko taiasnih
duina.
SLIKA 2.7 Step-index multimode fiber
Ovaj fenomen se naziva modalna disperzija. Zamislite grupu ljudi koja tri kroz hodnik. Neki
tre pravo kroz centar, dok drugi, koji imaju povez preko oiju, udaraju o zidove. Zna se ko e
pobediti u ovakvoj trci.
Modalna disperzija je problem ako je fiber isuvie dugaak. Svetlost iz jednog impulsa (koja se
reflektuje pod malim uglovima) moe da zahvati svetlost emitovanu iz prethodnih impulsa (koja
se reflektuje pod veim uglovima), ime se eliminiu razmaci koji se stvaraju izmedu njih.
Senzori vie ne vide svetlosne impulse; za njih je to ravnomeran svetlosni zrak i unitavaju se sve
informacije koje su bile kodirane u impulsima.
Jedan od naina za reavanje problema modalne disperzije je korienje graded-index multimode
fibera. To omoguava korienje drugog fenomena koji se tie injenice da brzina svetlosti zavisi od
medijuma kroz koji se prostire; svetlost bre putuje kroz medijum sa manjom optikom gustinom.
Graded-index multimode fiber (slika 2.8) takode ima jezgro, oblogu i zatitni omota. Razlika je
u tome to granica izmeu jezgra i obloge nije strogo definisana. Dmgim reima, dok se
radijalno udaljavate od jezgra, materijalu se postepeno smanjuje optika gustina. Zbog toga se sva
svetlost koja se radijalno prostire od jezgra vraa nazad ka centru i, eventualno, reflektuje nazad.
Poto se materijalu smanjuje optika gustina, svetlost bre putuje. Krajnji rezultat je da svetlost,
iako prelazi vea rastojanja, putuje bre i tako se redukuje modalna disperzija.
Drugi nain da se rei problem modalne disperzije je njena eliminacija. Verovatno se pitate kako
to izvesti. Ranije smo rekli da postoji konaan broj modova za prostiranje svetlosnih zraka. Taan
broj zavisi od prenika jezgra i talasne duine svetlosnog zraka. Redukovanjem prenika jezgra
smanjuje se broj uglova pod kojima svetlost "pogada" granice jezgra.
SLIKA 2.8 Graded-index multimode fiber
manja optika gustina
vea optika gustina
ulazak
svetlosnih
talasa
obloga sa
promenljivim
indeksom
refrakcije
zatitini omota
obloga
ulazak
svetlosnih
talasa
veoma isto
stakleno jezgro
Naravno, na taj nain se smanjuje i broj modova. Ako redukujemo prenik u dovoljnoj meri,
fiber e imati samo jedan mod. U tom sluaju, dobijamo fiber sa jednim modom (single-mode
fiber), kao na slici 2.9.
Do koje mere moemo da smanjujemo prenik? Drugi princip fizike tie se mogunosti za reflekto-
vanje elektromagnetnih talasa (kao to je svetlost) do veliine refleklora. Znai, da bi se svetlost
reflektovala na nain koji smo opisali, reflektor mora da bude vei od talasne duine reflektovane
svetlosti. Poto je reflektor obavijen oko jezgra, njegova veliina zavisi od prenika jezgra. Izmedu
frekvencije i talasne duine postoji sledea relacija
talasna duina = brzina svetlosti/frekvencija
Svetlost koja se prostire kroz optike fiber kablove ima frekvenciju aproksimativno od W" Hz,
tako da talasne duine iznose otprilike 2x10
-6
metara, ili 2 mikrona (1 mikron = 10
-6
metara).
Dakle, single-mode fiberi obino imaju prenike koji se mere u mikronima (obino 4-8, mada
ponekad i manje) i veoma su tanki (mnogi fiber kablovi su debljine ljudske vlasi). Ovako mali
prenici ine fiber krhkijim i teim za uplitanje. Zato se najee koriste za dalekovode, gde su
manipulisanje i uplitanje minimalni.
Optika fiber tehnologija ima brojne prednosti u odnosu na provodne metale:
Podaci mogu da se prenose na velikim brzinama.
Postoji veoma nizak otpor. Zbog toga, signal moe da prelazi vea rastojanja bez
postavljanja repetitora. Na primer, repetitori mogu da se postave na svakih 30 milja;
traicionalni kablovi sa provodnim metalom zahtevaju postavljanje repetitora na
znatno kraim rastojanjima.
Na optiki fiber ne utie elektromagnetna referenca, jer se signali prenose pomou
svetlosti.
Postoji veoma visoka otpornost na nepovoljne faktore okruenja, kao to je vlaga.
Zbog toga je ovo poeljna opcija u priobalnim podrujima.
Sa druge strane, dananji kompjuteri su elektronski uredaji i zato korienje optikih fiber
kablova zahteva konvertovanje elektrinih signala u svetlosne zrake i obratno. Ovaj proces uvodi
dodatni nivo sloenosti. Osim toga, optiki fiber kablovi se tee prikljuuju i upliu nego bakarni
vodovi. Komponente se lako dodaju prikljuivanjem na bakarne vodove, dok je za prikljuiva-
nje na stakleni fiber potrebna mnogo vea panja. U referenci [RoOl] moete da proitate
detaliniji uvod u optike fiber komunikacije.
ulazak
svetlosnih
talasa
SLIKA 2.9 Single-mode fiber
2.4 Beine komunikacije
Svi komunikacioni modovi koji koriste provodni metal, ili optike fiber kablove imaju neto
zajedniko: uredaji koji komuniciraju moraju da budu fiziki povezani. Fizike konekcije su
sasvim zadovoljavajue u brojnim sluajevima, kao to su povezivanje personalnih kompjutera u
kancelariji, ili povezivanje na server koji se nalazi u istoj zgradi. To je prihvatljiv koncept na
manjim rastojanjima, ali je na vedm udaljenostima veoma skup i teko se odrava. Zamislite
koaksijalni kabl koji povezuje kontrolu leta u NASA-i sa spejs atlom, ili kabl koji povezuje
kontrolne tornjeve na aerodromima u Njujorku i Londonu!
U mnogim situacijama fizika konekcija nije praktina, a esto nije ni izvodljiva. Recimo, treba
povezati delove mree u dve razliite zgrade izmedu kojih se nalazi autoput sa osam traka. Zavod
za urbanizam sigurno ne bi odobrio postavljanje kabla preko autoputa, niti prekid saobraaja
radi postavljanja kablova ispod zemlje. Neophodno je pronai nain za komunikaciju delova
mree bez fizikih konekcija, tj. za beinu komunikaciju.
Beini prenos ukljuuje elektromagnetne talase. Poto je rasprava o elektromagnetnim talasima
predmet posebnog kursa, ovde se neemo uputati u detaljnija objanjenja. Za nae potrebe
dovoljno je da kaemo da je re o oscilujudm elektromagnetnim talasima koji se indukuju iz
predajne antene. Nakon toga, talasi putuju kroz vazduh, ili slobodan prostor, gde ih prijemna
antena moe registrovati. Na ovaj nain se vri emitovanje radio i televizijskih signala.
Na slici 2.10 dat je spektar elektromagnetnih talasa. Radio talasi se koriste i za radio prenos i za
televizijski prenos. Na primer, televizijski VHF (very-high frequency) opseg nalazi se izmeu 30
i 300 MHz, dok UHF (ultra-high frequency) opseg zauzima podruje izmeu 300 MHz i 3 GHz. *
Radio talasi se koriste i za AM i FM radio, koriste ih radio amateri, mobilni telefoni i radio na
kratkim talasima. Svim tipovima ovih komunikacija frekvenciju dodeljuje Federal
Communications Comission (FCC). Neka svojstva elektromagnetnog zraenja su veoma bitna za
komunikacije. Jedno od njih je ranije pomenuta relacija izmedu talasne duine i frekvencije:
talasna duina = brzina svetlosti/frekvencija
Znai, visokofrekventni talasi imaju krae talasne duine i obratno. U tabeli 2.2 moete da vidite
neke konkretne vrednosti.
* MHz je megaherc, ili 10
s
Hz. GHz je gigaherc, ili IO
5
Hz.
SLIKA 2.10 Spektar elektromagnetnih talasa
100 10
10
10
12
10
14
10
16
10
17
10
18
frekvencija (Hz)
vidljiva ultravioletno gama
radio mikrotalasi infracrveni talasi svetlost zraenje X zraci zraci
Frekvencija (Hz) Aproksimativna talasna duina (u metrima)
102
104
106
108
1010
1012
3 x 106
3 x 104
300
3
0.03
0.0003
Niskofrekventni talasi, kada se emituju od zemlje, tee da se reflektuju u viim slojevima
atmosfere sa manjim gubitkom. Odskakanje talasa izmedu atmosfere i zemlje, tako da bude
mogu prenos signala, prati zakrivljenost Zemljine kugle. Na primer, kratki radio talasi (izmedu
3 i 30 Mhz) poznati su po prijemu signala sa polovine zemaljske kugle. Visokofrekventni signali
"nastoje" da se reflektuju sa veirn gubitkom i obino ne prelaze tolika rastojanja (mereno u
odnosu na Zemljinu povrinu).
Niskofrekventni talasi zahtevaju veoma dugake antene. Momarica je 70-ih i 80-ih godina prolog
veka pokuala da instalira veliku antenu (duine preko 50 milja) u gomjoj polovini poluostrva
Miigen. Trebalo je da se obezbede podmornike komunikacije sa signalima izuzetno niske frekve-
ncije (ELF signali) u opsegu manjem od 300 Hz. Projekat ELF je bio sporan zbog tetnog uticaja na
zdravlje Ijudi koji su bili izloeni elektromagnetnom zraenju. ak i u dananje vreme postoji rizik
po zdravlje ljudi koji su izloeni zraenju izvora napajanja i kompjuterskih terminala.
Posebno su znaajna tri tipa beinih komunikacija: mikrotalasni, satelitski i infracrveni prenosi.
Mikrotalasni prenos
Mikrotalasni prenos se obino koristi izmedu dve stanice na Zemlji. Korienje mikrotalasnog
prenosa ograniavaju dva svojstva. Prvo, mikrotalasi putuju po pravoj liniji i ne slede zakrivljenost
Zemljine kugle, to je mogue kod nekih niskofrekventnih talasa. Drugo, atmosferski uslovi i vrsti
objekti ometaju prenos mikrotalasa, koji, na primer, oni ne mogu da putuju kroz gradevine.
Tipini mehanizam za prenos i prijem mikrotalasnih signala je parabolini tanjir (slika 2.11).
Nema sumnje da ste ovakve antene vidali u mnogim dvoritima i na krovovima - za prijem
signala satelitskih TV programa, na vrhovirna zgrada, ili na tornjevima u pustim oblastima (slika
2.12). Tornjevi se, uglavnom, koriste za telefonske komunikacije. U skorije vreme veoma su
popularne 18-inne satelitske antene, pomou kojih se primaju signali brojnih televizijskih
stanica i za koje postoji mogunost plaanja na osnovu selekcije kanala.
SLIKA 2.11 Prijem signala na anteni u obliku parabole
SLIKA 2.12 Mikrotalasni emisioni toranj
dolazei
signali
linija
simetrije
fokus parabole
(prijemnik)
dolazei
signali
luk parabole
(reflektor)
Paraboline antene koriste dobro poznatu, mada verovatno zaboravljenu injenicu iz osnovnih
studija matematike. Za konkretnu parabolu nacrtajte pravu liniju okomitu na liniju tangente u
verteksu (temenoj taki) krive. Ovo je linija simetrije. Sve linije paralelne liniji simetrije reflektu-
ju talase od antene i seku se u zajednikoj taki koja je poznata kao fokus. Na slici 2.11 prikazano
je kako se ovo primenjuje prilikom prijema emitovanih talasa. Stvarna antena nije prijemnik, ve
samo reflektor. Poto ima oblik parabole, dolazei signali se reflektuju i seku u fokusu.
Postavljanjem stvarnog prijemnika omoguen je ispravan prijem signala. Napomenimo da se
parabolini reflektori koriste za ilustraciju fenomena apata u muzejima. Dva parabolina tanji-
ra se postavljaju na suprotnim krajevima prostorije. Osoba u fokalnoj taki govori tiho i glas se
reflektuje direktno na drugi tanjir. Druga osoba koja slua u fokalnoj taki uje glas prve osobe.
Drugi tip antente su antene u obliku roga (horn antenna), kao na slici 2.13. Predajne antene su
esto ovog tipa (na slici 2.12 prikazane su oba tipa). Antena u obliku roga sastoji od cilindrine
cevi pod nazivom talasni vodi (waveguide). Ponaa se kao vodi talasa i reflektuje mikrotalase
u uskom snopu. Snop putuje preko neometane oblasti i eventualno ga prima druga antena.
Sledei put kada se budete vozili van grada pogledajte paljivije unaokolo i moda ete videti oba
tipa antena na tornjevima.
Poto mora da postoji direktna linija vienja izmedu predajnika i prijemnika, postoji ogranienje
maksimalnog rastojanja na kome mogu da se postave. Granica zavisi od visine tornja,
zakrivljenosti terena i tipa terena izmedu njih. Na primer, antene na visokim tornjevima
postavljenim u ravnici mogu da "pokriju" velika rastojanja, obino 20 do 30 milja, iako se vii
tornjevi konstruiu na vrhovima brda, radi poveanja rastojanja.
SLIKA 2.13 Antena u obliku roga
uski snop
mikrotalasnih
signala
konkavni
reflektor
Talasni vodi
vodi mikrotalase
u konkavni reflektor.
U nekim sluajevima antene se postavljaju na kratkim rastojanjima u okviru grada. Meutim, tu
postoji problem ako neko izgradi objekat na direktnoj liniji videnja.
Ako se signali moraju prenositi na velikim rastojanjima, mogue je postaviti nekoliko tornjeva
repetitora izmedu antena (slika 2.14). Jedna antena prenosi signale do svog suseda, koji ih dalje
prenosi do sledeeg suseda i tako redom. Na taj nain je omoguen prenos signala i izmedu
taaka medu kojima ne postoji direktna linija videnja.
Satelitski prenos
Satelitski prenos je prvenstveno mikrotalasni prenos preko jednog satelita koji se nalazi u
Zemljinoj orbiti (slika 2.15). Sigurno je jedno od najecih komunikacionih sredstava koja se
danas koriste. Koristi se za telefoniju, televiziju, servise za vesti, vremenske prognoze i vojne
svrhe, a neki predvidaju da e doi dan kada e to biti sredstvo za povezivanje na Internet
(ref. [MeOO]), ime bi se omoguio pristup sa mesta na kojima zemaljski sistemi nisu praktini,
ili su, ak, neizvodljivi.
Verovatno ste veuli za Artura Klarka, autora trilogije "Odiseja u svemiru". Neki moda ne znaju da
je Klark bio fiziar i da je 1945. godine pisao o mogunostima korienja satelita za komuniciranje
ljudi irom sveta (ref. [C145 ]). U to vreme takva ideja se smatrala naunom fantastikom; danas je to
neto sasvim uobiajeno. Istovremeno, Klark nije verovao da bi satelitske komunikacije bile ekono-
mski isplative, ili tehniki izvodljive pre 21. veka (ref. [Hu90 ]). Medutim, trebalo je da prode samo
20 godina da se kreiraju tranzistori i satelitske komunikacije postale su stvarnost.
(direct line-of-sight transmission betvveen two ground stations)
(microwave transmission tower)
direktna linija videnja
Zemlja
prenos izmedu dve stanice na
Zemlji preko direktne linije videnja
toranj za mikrotalasni prenos
SLIKA 2.14 Mikrotalasni tornjevi korieni kao repetitori
Poelo je 4. oktobra 1957. godine, istorijskim dogadajem koji je okirao ameriku naciju i njene
politike lidere. Tog dana, naime, Sovjetski Savez je lansirao u svemir satelit "Sputnik". Satelit je
uao u nisku orbitu (na 560 milja) i poslao elektronski "beep" na zemlju. Kako se kretao na nebu,
tako je morala da se rotira i stanica na zemlji na kojoj se nalazila antena da bi bilo mogue
njegovo praenje. U poredenju sa dananjim standardima, to nije bilo preterano sofisticirano, ali
je bilo zaista neverovatno, jer se pokazalo da je mogua komunikacija izmedu Zemlje i objekata
u svemiru.
Poto se satelit kretao na nebu, komunikacija je bila mogua samo u kratkom vremenskom peri-
odu. Kada je zalazio iza horizonta, komunikacija se prekidala sve do trenutka dok se satelit. pono-
vo ne pojavi iznad horizonta. Takva situacija bi danas bila neprihvatljiva u brojnim aplikacijama
(mada ne svim). Zamislite kablovsku televiziju, ili telefonski razgovor koji se prekida svaki put
kada se satelit spusti ispod horizonta (to bi, ipak, bilo zgodno ako bi moglo da se sinhronizuje
sa trenucima u kojima poinju da se putaju reklame)! Sateliti koji zadravaju fiksnu poziciju
omoguavaju kontinuelni prenos, to je defmitivno znaajan kriterijum za primenu za masovne
medije. Pitanje je kako satelit moe da zadri fiksnu poziciju, a da ne padne.
CEOSTACIONARNI SATELITI Orbite satelita se predviaju korienjem matematikog modela
zasnovanog na Keplerovim zakonima za kretanje planeta. Ideja je sasvim jednostavna. Na
odreenoj visini, da bi se zadrao u orbiti, objekat mora da ima odredenu brzinu. Vee brzine bi
poslale objekte van zemljine orbite u svemir. Manje brzine mogu da budu nedovoljne za savla-
davanje gravitacije i u tom sluaju objekat pada. Drugim reima, na odredenoj visini orbitalna
brzina je utvrena. Trei Keplerov zakon povezuje vreme za obilazak planete sa visinom u orbiti.
SLIKA 2.15 Satelitske komunikacije
prijemnik prima
signale
Zemlja
predajnik alje
signale
Pretpostavimo da je period P vreme za koje satelit obide oko planete. Trei Keplerov zakon kae
da je P2=KD3, gde je D rastojanje izmeu satelita i centra planete, a K je konstanta koja zavisi od
gravitacije. Daigim reima, vie orbite (vee D) znae dui period.
P2=KD3
Ovde se namee logino pitanje koju orbitalnu visinu ima satelit sa periodom od 24 asa. Prema
Keplerovom zakonu, odgovor je 22.300 milja iznad ekvatora, to je znatno vea visina od one na
kojoj je leteo "Sputnik". Ovo ima veliki znaaj. Poto se Zemlja za 24 asa rotira oko svoje ose,
satelit koji se nalazi u orbiti na toj visini za posmatraa sa Zemlje deluje stacionamo. Ovo se nazi-
va geostacionarna (geosinhrona) orbita. Ako je posmatra predajnik, ili prijemnik, satelit bi u
odnosu na posmatraa ostao na fiksnoj poziciji i ne bi dolazilo do prekida komunikacija.
"Sputnik" i mnogi drugi sateliti su leteli na mnogo niim orbitama. Tehnologija jednostavno nije
obezbedivala dovoljno moan raketni pogon koji bi ih podigao vie u orbiti. Zato su rotirali oko
Zemlje za manje od 24 asa i zato su posmatrai na Zemlji mogli da uoe njihovo kretanje na
nebu. Danas komunikacione satelite odlikuje moan raketni pogon koji ih alje na vee visine u
geostacioname orbite. Tri ravnomerno rasporedena satelita na 22.300 milja iznad ekvatora mogu
da "pokriju" skoro celu povrinu Zemljine kugle (slika 2.16), osim polarnih oblasti.
Satelitske komunikacije su jednostavne. Svaki satelit ima nekoliko transpondera, uredaja koji
prihvataju signal sa frekvencijom iz odredenog opsega i reemituju ga sa drugom frekvencijom.
SLlKA 2.16 Sateliti u geostacionarnoj orbiti iznad ekvatora
22. 300
milia
oblast
"pokrivanja"
Zemlja
Predajnik na Zemlji alje signal (uplink) na satelit, gde jedan od transpondera prenosi signal
nazad do Zemlje (downlink) na dmgoj lokaciji (slika 2.15). Satelitske komunikacije se sada
koriste za prenos telefonskih i televizijskih signala. Mnogi ljudi imaju sopstvene prijemnike za
televizijske signale i sve su popularnije 18-inne satelitske antene, koje se postavljaju na krovove,
ili u dvorita.
Sateliti alju i primaju satelite u irokom frekventnom opsegu, pri emu je svaki transponder
zaduen za signale iz specifinog opsega. Obino se frekvencije uzlaznog i silaznog linka
razlikuju, tako da ne ometaju jedne druge. U tabeli 2.3 dati su uobiajeni opsezi koji se koriste
za komercijalne satelitske komunikacije, zajedno sa frekvencijama za uzlazni i silazni link. Ostali
opsezi su rezervisani iskljuivo za vojsku i vladine potrebe.
Znaajna injenica koju treba zapamtiti u vezi satelitskog prenosa je to da se razli&ti signali iz
istog frekventnog opsega ne smeju preklapati. Zato je ogranien broj satelita koji koriste isti
frekventni opseg i medusobno rastojanje izmedu satelita (o tome e biti rei neto kasnije).
Najpre je korien C opseg; danas se obino koristi za televizijske prenose i VSAT aplikacije (i o
njima e kasnije biti neto vie rei). Ve je dosta "zatrpan" zbog sve veeg broja medijskih
aplikacija i delom zbog toga to se njegove frekvencije koriste i u zemaljskim mikrotalasnim
prenosima.
Kako se u svetu sve vie koriste digitalne komunikacije, dolo je do poveanja broja digitalnih
sistema i prelaska sa emitovanja tradicionalnih televezijskih signala na televizijske signale visoke
defmicije (HDTV high-defmition television), lo je postavilo vee zahteve sa aspekta koliine
informacija koju je neophodno preneti. Kao to je prikazano u odeljku 3.4, vie frekvencije
(posebno one iz Ka opsega) podlone su atmosferskim uticajima, kao to su kia, ili velika
vlanost vazduha. Problem postaje jo vei kada je prijemna stanica daleko (u odnosu na
celokupnu Zemljinu povrinu) i kada signal mora due da putuje kroz atmosferu (slika 2.17).
Ovaj problem moe da se rei pojaavanjem snage signala, ili dizajniranjem sofisticiranijih
prijernnika za filtriranje uma. U stvari, jai signali iz Ku opsega doputaju korienje manjih
antena, ili tanjira. Mnogi od vas su ve videli 18-inne tanjire za prijem digitalnih televizijskih
signala, koji mogu da se kupe u veini radnji za prodaju elektronske opreme. Seamo se i vreme-
na kada su koriene velike satelitske antene koje su zauzimale cela dvorita. Ku signali
omoguavaju ui snop signala, tako da su mogui prenosi na manjim geografskim oblastima.
L 1.6465-1.66 1.545-1.5585
C 5.925-6.425 3.7-4.2
Ku 14.0-14.5 11.7-12.2
Ka 27.5-30.5 17.7-21.7
Opseg Frekventni opseg
uzlaznog linka (CHz)
Frekventni opseg
silaznog linka (CHz)
najslabiji
atmosferski
uticaj
smetnje
jae atmosferske
atmosfera
Zemlja
SLIKA 2.17 Atmosferske smetnje u funkciji ugla prenosa
Kako se signali pomeraju ka Ka opsegu, problem interference postaje ozbiljniji. Sateliti koji emituju
signale u Ka opsegu su i dalje nova tehnologija, mada ve imaju visoki prioritet u polidji i
programima vlada SAD-a, evropskih zemalja i Japana. Postoje ambiciozni planovi za postavljanje
globalne infrastrukture satelita u orbiti koji komuniciraju u Ka opsegu; predstaviemo ih ukratko.
U niem frekventnom spektru, L opseg se koristi prvenstveno za mobilne satelitske komunikaci-
je. To znai da se komunikacije izmedu automobila, kamiona, brodova, ili bilo kojih drugih
pokretnih sredstava oslanjaju na satelitski prenos. Nie frekvencije omoguavaju korienje
manje, jeftinije opreme, sa manjom snagom. Koriste se u transportu, gde dispeer moe da loci-
ra kamion sa tanou od nekoliko desetina metara (na nivou kontinenta). Mogu da se koriste i
u navigacione svrhe: u avionima, na brodovima i u automobilima ovaj sistem moe da se koristi
za iscrtavanje tekue lokacije.
Geostacionarni sateliti prenose signal koji se moe primiti bilo gde na zemaljskoj kugli, dok god
postoji direktna linija videnja. Ovakvi prenosi se koriste za emitovanje televizijskih sadraja i za
filmske servise kod kojih se naplaivanje vri po prikazivanju, za koje postoji veliki broj
prijemnika i koji ne moraju da imaju pristup kablovskim signalima. Koriste se i za vojne svrhe,
mada je tada neophodno ograniiti geografsku oblast u kojoj je mogue primati signale.
Specijalne antene koje omoguavaju uobliavanje snopa signala mogu da se koncentriu na
manje oblasti, kao to su gradovi. U budunosti se oekuje razvoj antena koje omoguavaju
usmeravanje snopa signala samo na jedno mesto.
Trenutno postoji nekoliko stotina satelita koji krue u Zemljinoj orbiti, obezbeujui
komunikacije u razliite svrhe korienjem signala u C i Ku opsezima. Namee se pitanje kako
satelit izdvaja signale koji su namenjeni za njega? Na primer, pretpostavimo da stanice 1 i 2 alju
signale na satelite 1 i 2, respektivno, koristei istu frekvenciju (slika 2.18). Oblast "pokrivena"
signalom zavisi od ugla disperzije signala. Ako su dva satelita postavljena isuvie blizu, ili ako je
ugao disperzije isuvie veliki, oba satelita primaju signale iz obe stanice. Zbog toga, ni jedan
satelit ne moe da utvrdi koje signale treba da ignorie.
Ako su uglovi disperzije manji i ako su sateliti dovoljno udaljeni, ni jedan satelit nee primati
signale iz tude stanice (slika 2.19). FCC definie pozicije amerikih satelita, sa inkrementom od
2 izmeu 67 i 143 zapadne geografske duine za komunikadje koje koriste C opseg. Ovo je
blie nego ranije, kada su koriena 4. Sateliti koji prenose signale u Ku opsegu mogu da se
postave na manjim udaljenostima, sa inkrementom od 1 . Poto postoji sve vei broj zahteva za
postavljanje satelita, mora se obezbediti postavljanje na manjim rastojanjima. Zato stanice na
Zemlji moraju da imaju manje uglove disperzije prenetih signala.
Satelitske komunikacije su prouzrokovale i odredene probleme. Na primer, kako da se sprei
neuatorizovani prijem signala? Kako se definie neautorizovani prijem signala koji putuje kroz
javni vazduni prostor? Zakonske odredbe nisu uvek "ili crne, ili bele". Na primer, postoje
razliita gledita u vezi toga da li je legalno pomou satelitskih antena primati kablovske
televizijske kanale koji se plaaju, kao to je HBO.
SLIKA 2.18 Sateliti primaju signale iz vie stanica
satelit 2
ugao disperzije
sienala
Sve to pripada
ovorn opsegu primljeno
je iz obe stanice
sa Zemlje.
stanica 1
stanica 2
satelit 1
Kompanije za kablovsku televiziju tvrde da su na gubitku zbog ovakvog pristupa. Vlasnici sateli-
tskih antena tvrde da signali putuju kroz javni vazduni prostor i da zbog toga moe svako da ih
koristi, kao i sve ostale televizijske signale.
Hi, to je jo gore, kako spredti neautorizovane prenose preko satelita? Bilo je sluajeva upada
kada su pojedinci slali bezazlene poruke preko satelita. Ali, ta je sa upadima koji ometaju
komunikacije? Zamislite koliko se danas "stvari" oslanja na satelitske komunikacije i shvatiete
koliko je problem ozbiljan. U mnogim sluajevima satelitski signali se skrembluju, ili ifruju da
budu neprepoznatljivi za neautorizovane korisnike. Jedan video haker je 27. aprila 1986. godine
izazvao incident, kada je, predstavljajui se kao Captain Midnight, ometao program HBO kanala
putanjem filma "The Falcon and the Snowman". To je izveo prenosom signala preko satelitskog
linka koji je bio jai od signala HBO kanala. Tvrdio je da je to uradio u znak protesta zbog
skremblovanja signala. U Poglavlju 7 detaljnije su prikazani ifrovanje i problemi zatite.
Ne slue svi sateliti za prenos telefonskih signala, za vremenske prognoze, ili za vojne svrhe.
Mnoge privatne kompanije vide satelite kao alternativu telefonskom sistemu, posebno ako
postoji potreba za prenosom podataka na veim rastojanjima. Korienje telefonskog sistema i
velikog broja komutatora umanjuje pouzdanost prenosa podataka, a u sluaju potrebe za
prenosom vee koliine podataka moe doi do produavanja vremena odziva. Reenje moe da
bude very small aperture terminal (VSAT) sistem, koji je razvijen 80-ih godina prolog veka. Taj
sistem obino povezuje centralnu lokaciju sa vie udaljenih lokacija. Na primer, na centralnoj
lokaciji moe da se nalazi velika baza podataka, kojoj pristupa vie korisnika iz udaljenih
predstavnitava. Komunikacija izmeu dve lokacije se odvija preko satelita i zahteva korienje
manjih antena koje mogu biti postavljene radi obezbedivanja pristupa centralnoj lokaciji.
oblast "pokrivena"
stanicom 1
oblast "pokrivena"
stanicom 2
satelit 1 satelit 2
ugao disperzije
signala
stanica 1
SLIKA 2.19 Sateliti primaju samo sienale iz jedne stanice
stanica 2
VSAT oprema moe da se povee direktno na korisniku opremu, kao to su radne stanice, ili
kontroleri. Mnoge aplikacije se oslanjaju na VSAT sisteme, posebno one koje zahtevaju velike
brzine prenosa podataka za kratko vreme. Primeri ukljuuju National Weather Service (ameriki
servis za vremenske prognoze), servise za prenos vesti, verifikaciju kreditnih kartica, sisteme za
automatsko obavetavanje i rent-a-car agencije.
Sateliti koji se nalaze nisko u Zemljinoj orbiti Geostacionami sateliti su veoma korisni za
emitovanje razliitih sadraja. Antene mogu da se usmere ka fiksnoj taki na nebu, tako da alju, ili
primaju signale po potrebi. Sateliti koji se nalaze nisko u Zemljinoj orbiti - LEO (low earth orbit)
sateliti - nude neke prednosti koje geostacionami sateliti ne mogu da ponude. Za vojna osmatranja
neophodni su sateliti koji se ne zadravaju na fiksnoj poziciji. Nia orbita omoguava satelitima da
se kreu u odnosu na povrinu Zemljine kugle i da skeniraju razliite oblasti.
LEO sateliti zahtevaju slabiji pogon i, u sporazumu sa NASA-om, ili vodeim kompanijama za
svemirske letove i lansirnim sistemima, kao to je Lockheed Martin, mogu da poalju satelit u
orbitu u spejs atlu, ili nekoj drugoj letelici, kao to je raketa. Ureaji koji komuniciraju sa LEO
satelitima zahtevaju manji pogon, jer je redukovano rastojanje koje signal treba da prede. LEO
sateliti nisu mnogo korieni za globalne komunikacije, jer se ne nalaze uvek u dometu
predajnika i prijemnika na Zemlji. Ipak, i to se menja!
Teorijski, LEO sateliti mogu da se koriste za komunikacije ako postoji dovoljan broj satelita u
orbiti. Na slici 2.20 moete da vidite kako je to mogue. Ako se na niim visinama u orbiti postavi
dovoljan broj satelita, svi mogu da se kreu relativno u odnosu na Zemlju. Na primer, na slici
20.2a stanica je uspostavila komunikaciju sa satelitom. Poto se satelit A nalazi nisko u orbiti,
kree se u odnosu na stanicu. Zbog toga, eventualno moe da se spusti ispod horizonta, tako da
direktna komunikacija sa stanicom bude nemogua sve dok on ne obie Zemlju i ponovo se ne
podigne iznad horizonta. Medutim, umesto da se eka na satelit A, koristi se drugi satelit (B), koji
se, takode, nalazi nisko u orbiti. Dva satelita su pozicionirana tako da, kada A pada ispod
horizonta (slika 2.20b), B se podie iznad horizonta.
SLIKA 2.20 Stimica komunicira sa LEO satelitima
Zemlja Zemlja
stanica
komunikacija
satelit
ravan
horizonta
satelit
On moe da preuzme komunikaciju iz stanice za koju je do tada bio zaduen satelit A. Kada B
eventualno side ispod horizonta, postojae sledei satelit koji moe da preuzme njegovo mesto.
Ako postoji dovoljan broj LEO satelita, uvek e postojati satelit koji moe da preuzme komu-
nikaciju sa stanicom na Zemlji i sve take na naoj planeti, ak i one najizolovanije, nai e se u
dometu LEO satelita. Ovo je slino principu na kome se zasniva mobilna telefonija. Va mobilni
telefon uvek kontaktira sa istim predajnikom, sve dok se ne udaljite toliko daleko da budete u
dometu drugog predajnika. Kod LEO satelita je situacija obrnuta - kreu se sateliti, a ne korisnik.
Posledica ovoga je da se bilo koje dve lokacije na Zemlji mogu povezati kao na slici 2.21. Jedna
stanica (na mestu X) komunicira sa najbliim LEO satelitom koji u orbiti izvrava protokol,
omoguavajud razmenu informacija. Protokol omoguava da se poruka iz mesta X prenese do
najblieg LEO satelita. LEO satelit u orbiti izvrava protokol koji doputa razmenu informacija.
Dakle, protokoli omoguavaju da LEO satelit iznad mesta X proverava koji je LEO satelit najblii
mestu Y, prenosi mu poruku, a zatim satelit iznad mesta Y prenosi poruku do Zemlje.
U vreme kada je ova knjiga pisana nije postojala globalna funkcionalna mrea sa LEO satelitima;
bilo je u planu kreiranje jedne takve mree. Inenjeri u Motorolinom odeljenju za satelitske
komunikacije zamislili su 1987. godine globalnu mreu sa 77 LEO satelita. Mrea je dobila naziv
Iridium, po 77. elementu periodnog sistema elemenata. To je prvi projekat u kome je predvideno
korienje LEO satelita. Signali koji bi se koristili za komunikaciju sa zemaljskim stanicama
pripadali bi L opsegu, mada se za prenos signala izmedu satelita koristi Ka opseg.
mesto X
Zemlja
mesto Y
SLIKA 2.21 Dve proizvoljne stanice komuniciraju preko LEO satelita
Atmosferski uslovi koji ometaju prenos signala izmedu satelita i zemaljskih stanica predstavljaju
manji problem iznad atmosfere. Suoen sa ozbiljnim fmansijskim potekoama, Iridium
konzordjum je u leto 2000. godine zvanino obustavio realizadju tog projekta.
Sledei akteru ovoj "prii" je Teledesic Corporation. Ta korporacija je osnovana 1990. godine, a
glavni investitori su pionir na polju telekomunikacija Craig McCaW, predsednik i CEO Microsofta
William Gates, saudijski princ Alwaleed Bin Talal, Abu Dhabi Investment Company i Boeing.
Planirano je da Teledesic mrea sadri 228 medusobno povezanih LEO satelita. Ranija konfigu-
racija je imala po 24 satelita u 12 grupa (slika 2.22), gde svaka grupa krui oko planete u polarnoj
orbiti (slika 2.23), na visini aproksimativno od 1.400 kilometara (oko 875 milja i 1/25 visine na
kojoj se postavljaju geostacionarni sateliti). Dok se sateliti kreu od severa ka jugu (a zatim od
juga ka severu), Zemlja se rotira ispod polarnih orbita. Kolekcija satelita je dizajnirana tako da
"pokriva" 95 odsto Zemljine kugle i moe da podri zahteve nekoliko miliona korisnika istovre-
raeno. U novijim konfiguracijama je redukovan broj satelita na 30; detaljnije informacije nisu
bile dostupne u vreme kada je ova knjiga pripremana.
Signali silaznog linka se nalaze u Ka opsegu i funkcioniu izmedu 18,8 i 19,3 GHz; signali
silaznog linka se kreu izmedu 28,6 i 29,1 GHz. Bitske brzine se kreu od 100 Mbps za uzlazni,
do 720 Mbps za silazni link. Susedni sateliti mogu medusobno da komuniciraju, a zajedno
formiraju istinsku globalnu komunikacionu mreu (slika 2.24).
Prvi probni satelit je lansiran 27. februara 1998. godine, a planirano je da Teledesic postane
svetski Internet provajder poetkom 2005. godine.
SLIKA 2.22 Teledesic satelit
U stvari, Teledesic je dobio licencu od FCC-a jo 1997. godine, a ugovor o lansiranju je sklopljen
sa Lockheed Martinom dve godine kasnije.
SLIKA 2.23 Konstelacija Teledesic satelita
SLIKA 2.24 Povezivanje taaka na zemlji
Pre dve godine je potpisan ugovor sa italijanskim proizvodaem satelitske opreme Alenia Spazio
Spa za proizvodnju dva satelita. Globalna mrea treba da obezbedi servise onima koji ih pruaju
korisnicima, umesto da se obezbeduju direktno za korisnika. Ovo bi ukljuilo umreavanje
kompjutera, visokokvalitetni prenos glasa, interaktivnu multimediju, irokopojasne (broadband)
Internet servise i mnoge druge aplikacije. Ostaje jo mnogo tota da se uradi u ovoj oblasti,
posebno u oblasti integracije Interneta sa LEO satelitima i definisanja odgovarajuih algoritama
za rutiranje (ref. [Ek02 ]).
Beini LAN
Jedna od najinteresantnijih aplikacija beinih komunikacija je beini LAN - sistem koji
omoguava komunikaciju personalnih kompjutera i ostalih tipinih mrenih uredaja bez fizike
konekcije. "Obeava" potpuno novi svet aplikacija kod kojih kabliranje nije praktino. Ako su
ljudi esto u pokretu, potrebni su im i mobilni sistemi komunikacija, a ne sistemi koji su
ogranieni svojom infrastrukturom. Na primer, medicinsko osoblje moe da koristi notebook
kompjutere, ili personalne digitalne asistente povezane na beini LAN radi pristupa medici-
nskim kartonima pacijenata koje poseuju kod njihovih kua. Direktori mogu da koriste beini
LAN radi pristupa informacijama za vreme znaajnih sastanaka. Zaposleni mogu na putu do
posla, ili od posla do svojih kua da pristupaju Internetu radi preuzimanja znaajnog fajla koje
su zaboravili pre polaska kui, ili da bi se pripremili za znaajan sastanak. Beini kompjuteri
mogu da se koriste i u laboratorijama gde bi kablovi ometali kretanje kroz prostoriju. Kompjuteri
pomou beinih konekcija mogu da pristupaju podacima koji su smeteni na serveru, ili mogu
da tampaju na "povezanom" tampau. Beine konekcije omoguavaju lake pomeranje
opreme, bez potrebe da se vodi rauna o iskljuivanju, ili prekidanju kablova.
Za beine LAN mree koriste se dve tehnologije: infracrveni i radio talasi. Infracrveni talasi su
elektromagnetni talasi ije su frekvencije odmah ispod frekvencija vidljive svetlosti. llreaji su
opremljeni LED, ili laserskim diodama, koje emituju infracrvenu svetlost. Ovi talasi mogu da se
usmere ili direktno ka prijemniku, ili da se odbijaju od zidova i plafona. Princip je slian onome
na kome funkcionie daljinski upravljaza promenu televizijskih kanala. Sistemi sa infracrvenim
talasima imaju neke prednosti. Na primer, za njih nisu neophodne regulative koje donosi FCC,
kao to je sluaj kod radio talasa. Zbog toga, nema licenciranja za korienje opreme koja se
zasniva na infracrvenim talasima. Sledea prednost je to infracrveni talasi ne prodiru kroz vrste
objekte, kao to su zidovi. Tako su zatieniji od prislukivanja. Osim toga, omogueno je
postavljanje uredaja u bezbednim prostorima zgrade kada moe da se koristi isti infracrveni
signal bez interferenci. Inae, infracrvene talase ne mogu da ometaju radio talasi. Ipak,
nemogunost prodiranja kroz vrste objekte predstavlja i nedoslatak ako je neophodno
uspostaviti komunikaciju izmedu zgrada. Sledei nedostatak je to to infracrveni signali u
principu omoguavaju nie bitske brzine u poredenju sa ostalim tehnologijama. Vie informaci-
ja o infracrvenim talasima moete da proitate u referenci [We98 ].
Beini LAN-ovi mogu da koriste i radio prenose do 2,4 GHz. Na slici 2.25 data je tipina
konfiguracija. Uobiajena mrea sa kabliranjem, kao to je Ethernet mrea, formira osnovnu
infrastrukturu za povezivanje razliitih mrenih uredaja, kao to su kompjuteri, tampai i
skeneri. Medutim, na mreu je povezana druga komponenta koja se naziva pristupna taka
(AP - access point); ona se ponaa kao "most" izmeu beine mree i mree sa kabliranjem.
SLIKA 2.25 Konfiguracija beinog LAN-a
Pristupna taka prima informacije iz mree sa kabliranjem i emituje ih ka ostalim ureajima koji
se nalaze u njenom dometu.
Postoje razliiti tipovi AP-a, a najvaniji proizvodai su 3Com, Cisco, Nokia, Lucent i drugi (ref.
AnOO ); razlikuju se po razliitim faktorima, kao to su opseg prenosa signala, broj korisnika koji
moe istovremeno da se podri, brzina interfejsa i mogunost kontrole. Razlikuju se i po tipu
radio signala koje prenose. IEEE je uspostavio standard za beine mree, pod oznakom 802.11
(http://grouper.ieee.org/groups/802/11/index.html) i, u nekim sluajevima, koristi se naziv
Wi-Fi (od wireless fidelity). Koriste se razliiti protokoli za obezbeivanje dolaska signala na
odgovarajue uredaje; predstaviemo ih, zajedno sa ostalim aspektima beinih LAN mrea, u
okviru Poglavlja 9.
Bluetooth
U veem delu prethodnog razmatranja pretpostavka je bila da se koriste tipini mreni uredaji,
kao to su personalni kompjuteri, tampai i skeneri. Medutim, razvija se tehnologija koja bi
zauvek mogla da promeni nae videnje mrenih ureaja. MaIo ko bi pomislio da bi runi sat,
tajmer za rernu, ili video rekorder mogli biti mreni ureaji, mada se kreatori Bluetooth
tehnologije nadaju da e to biti mogue. Tehnologija Bluetooth je dobila naziv po Haroldu
Blatandu (Bluetooth), Vikingu koji je iveo u 10. veku i ujedinio Dansku i Norveku.
nepovezani
ureaji
komunikacija pomou
infracrvenih, ili
radio talasa
pristupna taka (AP)
LAN
Prikaz vikinke istorije i njene veze sa tekuom tehnologijom prelazi previeni obim ove knjige,
ali ako elite da saznate zanimljivu perspektivu ove relacije, posetite www.bluetooth.com.
Bluetooth je koncept kod koga se mikroip sa radio predajnikom ugraduje u elektronski uredaj.
Naravno, namera je da se omogui komunikacija tih ureaja bez kablova. Osim toga, na taj nain
je omoguena komunikacija i uredaja izmedu kojih ne postoji direktna linija videnja, koja je bila
neophodna u starijim konfiguracijama beinih mrea. Ericsson Mobile Communication
zapoinje rad na konceptu Bluetooth 1994. godine, kada su istraivanja omoguila stvaranje
jeftinih interfejsa male snage izmeu mobilnih telefona i njihovih prateih uredaja. IBM, Nokia,
Intel i Toshiba 1998. godine formiraju specijalnu interesnu grupu; danas je ona narasla do
alijanse od skoro 2.000 kompanija. Iako predstavlja izazov, postoje i sumnjiavi stavovi u vezi
Bluetootha. Neki smatraju da je povezivanje na razliite korisnike uredaje razliitih proizvoaa
osueno na propast. Drugi tvrde da brzine prenosa podataka od 1 Mbps na rastojanjima do IO
metara nee omogudti praktinu realizaciju ove tehnologije u 21. veku.
Koje su mogue primene ove tehnologije? U referenci [DoOO] Dorman kae: "Zamislite
budunost u kojoj konzerva piva komunicira sa friiderom, koji moe da uspostavi vezu sa Vaim
ainim satom i da Vam saopti kada je pivo dovoljno hladno da moe da se pije. Kada bacite
dubre u kantu, kanta opremljena Bluetooth tehnologijom moe da kae slubi za odvoz smea
kako da reciklira otpatke. U meduvremenu, friider moe da narui jo piva iz online prodavnice
i da naloi Vaem automobilu da se ne pali dok se ne otreznite." Iako u ali, autor ipak istie da
emo u budunosti verovatno vidati ureaje, koji se, inae, ne smatraju tipinim mrenim
uredajima, kako medusobno komuniciraju. Zbog pojave sve veeg broja novih tehnologija,
poinje da se koristi novi termin PAN mree (personal area networks). Ideja je da se obezbedi
komunikacija izmedu uredaja koji se smatraju normalnim potroakim uredajima. Dan kada ete
paliti svetla u kui pomou runog sata, ili ukljuivati automat za kafu kada krenete ka kui vie
nije previe daleka budunost.
Tehnologija Free Space Optics s
Poslednja tehnologija za beino umreavanje koju ovde obradujemo je firee space optics (FSO).
U osnovi, podaci se prenose korienjem optike tehnologije, ali bez fibera. Namenjena je onima
koji ele da koriste bitske brzine koje omoguava optika tehnologija, a da, pri tom, izbegnu
trokove koji prate instaliranje optikih fibera. Na primer, prema izvetaju USA Today iz Sijetla,
Vaington, u aprilu 2002. godine, "kada je kompanija LifeSpan BioSciences* premestila svoj
centar podataka u novu zgradu udaljenu samo tri bloka od stare, njeni elnici su shvatili da e
morati da zatvore svoje istraivake laboratorije na nekoliko meseci", jer je za povezivanje
laboratorija sa kompjuterima u novoj zgradi bilo neophodno postaviti optike fibere ispod
uliruh kolovoza. Umesto da troe vreme i novac, izabrali su drugu opciju - instalirali su laserski
predajnik na krovu jedne zgrade i poslali laserski mlaz do prijemnika na krovu druge zgrade.
* Kompanija koja vri istraivanja u oblasti molekularne biologije
Laser je prenosio signale u opsegu teraherca (10" Hz), to, za razliku od satelitskog i
mikrotalasnog prenosa, nije regulisano federalnim zakonom koji propisuje emitovanje signala u
opsegu ispod 600 GHz. Naravno, to bi se moglo promeniti u budunosti ako FSO preuzme
primat i iskoristi vei deo spektra.
LifeSpan BioSciences nije jedina kompanija koja koristi FSO tehnologiju. Nakon 11. septembra
2001. godine, kada je izvren napad na Svetski trgovinski centar u Njujorku, USA Today izvetava
da je "Merrill Lynch koristio FSO opremu Terabeama iz Sijetla za ponovno uspostavljanje veze iz
svoje kancelarije na donjem Menhetnu sa centrima u Njuderziju i srednjem Menhetnu.
Advokatska firma Mayer Brown & Pratt koristila je opremu Light-Point Communications iz San
Dijega za otvaranje 400 novih telefonskih linija za klijente koji su izmeteni zbog napada."
Pristalice FSO tehnologije tvrde da Je mogua mnoga nia cena za povezivanje na Internet u odnosu
na situaciju u kojoj se koristi optiki fiber - postavljanje preko postojeeg optikog fibera, ili
postavljanje novih fibera ne bi bilo neophodno. Osim toga, tvrde da se sistemi mogu inslalirati za
nekoliko dana, ili nedelja. Sledea prednost je bezbednost. Iako beine tehnologije odlikuje loija
bezbednost, FSO ne potvrduje to pravilo. Za razliku od satelitskih i mikrotalasnih prenosa, koje je
lako presresti, FSO mlazevi su uskofokusirani i teko se detektuju. Osim toga, ako se signal presretne,
autorizovani primalac e to registrovati, jer dolazi do prekida u prijemu signala. Bitske brzine se
porede sa onima koje se postiu kod optikog fibera.
Ovo ne znai da FSO nema ogranienja. To je tehnologija koja zavisi od direktne linije videnja i
zato se moraju izbegavati sve prepreke na putu. To moe da bude problem, jer zgrade, posebno
one visoke, utiu na prenos i ometaju uskofokusirani laser, tako da on promai svoju metu ako
se ne koriste sofisticirani ureaji za automatsko praenje, radi usmeravanja smera prenosa. Osim
toga, kada laserski zrak prede nekoliko kilometara, mlaz poinje da se iri i na prijemnoj strani
ne moe ispravno da se interpretira. Neki tvrde da je prenos signala pouzdan na udaljenostima
do 2,5 kilometara, mada brojna testiranja pokazuju da je optimalno rastojanje manje od jednog
kilometra. Drugi problemi nastaju zbog klimatskih uslova. Ako je grad smeten u oblasti koja je
podlona magli, optimalno rastojanje iznosi svega par stotina metara, jer kapljice vazduha rasi-
paju svetlost iz lasera. Konano, tu su i socijalni problemi. Veina je gledala brojne filmove u koji-
ma se laseri koriste kao oruje. Mogunost da ptica naleti na mlaz i padne "peena" na zemlju
nije nimalo prijatna. Proizvodai tvrde da tako neto nije mogue, jer laseri koriste jainu koju je
odobrio FDA. Mnogi smatraju da je FSO glavna tehnologija budunosti. Vie informacija o ovoj
temi moete da proitate u referenci [AlOl ].
Zakljuak
U ovom odeljku smo opisali razliite medijume za prenos signala. Moda ste se zapitali koji je
najbolji. Odgovor nije jednostavan. Kada je re o razmeni podataka, zanimljivo je da nove
tehnologije ne istiskuju stare. Na primer, sa razvojem fiber optike tehnologije i satelitskih komu-
nikacija nisu naputene mree koje koriste kablove sa upredenim paricama, ili koaksijalne
kablove. Svaki medijum ima svoje mesto u svetu komunikacija. U tabeli 2.4 moete da vidite
poredenje ovde predstavljenih medijuma.
P
o
s
t
i

e

s
e

b
r
z
i
n
a

o
d

g
i
g
a
b
i
t
a

u

s
e
k
u
n
d
i

s
a

r
a
s
t
o
j
a
n
j
i
m
a

d
o

1

k
i
l
o
m
e
t
r
a
.

P
o
t
r
e
b
n
a

j
e

d
i
r
e
k
t
n
a

l
i
n
i
j
a

v
i

e
n
j
a
,

a

v
r
e
m
e
n
s
k
e

p
r
i
l
i
k
e

k
a
o

t
o

j
e

m
a
g
l
a

m
o
g
u

d
a

o
m
e
t
u

p
r
e
n
o
s
.

A
p
r
o
k
s
i
m
a
t
i
v
n
o

1

k
i
l
o
m
e
t
a
r
,

m
a
d
a

s
e

u

u
s
l
o
v
i
m
a

m
a
g
l
e

r
a
s
t
o
j
a
n
j
e

s
v
o
d
i

n
a

s
v
e
g
a

p
a
r

s
t
o
t
i
n
a

m
e
t
a
r
a
.

D
o

1
0

M
b
p
s
,

a
l
i

n
e

m
o
g
u

d
a

p
r
o
l
a
z
e

k
r
o
z

v
r
s
t
e

o
b
j
e
k
t
e

k
a
o

t
o

s
u

z
i
d
o
v
i
.

Z
b
o
g

n
e
m
o
g
u

n
o
s
t
i

p
r
o
l
a
s
k
a

k
r
o
z

v
r
s
t
e

o
b
j
e
k
t
e
,

i
n
f
r
a
c
r
v
e
n
e

k
o
m
u
n
i
k
a
c
i
j
e

s
u

o
g
r
a
n
i

e
n
e

n
a

z
a
t
v
o
r
e
n
e

p
r
o
s
t
o
r
e
.

P
r
i
l
i

n
o

k
r
a
t
k
a

r
a
s
t
o
j
a
n
j
a
,

o
d

n
e
k
o
l
i
k
o

d
e
s
e
t
i
n
a

m
e
t
a
r
a
.

K
a
o

i

k
o
d

m
i
k
r
o
t
a
l
a
s
a
,

b
r
z
i
n
a

z
a
v
i
s
i

o
d

f
r
e
k
v
e
n
c
i
j
e

(
1
0
-
3
0
0

M
b
p
s
)
.

*

Z
b
o
g

s
v
e

v
e

e
g

k
o
r
i

e
n
j
a

K
a

o
p
s
e
g
a
,

o

e
k
u
j
e

s
e

p
o
v
e

a
n
j
e

b
r
z
i
n
e
.

S
m
e
t
n
j
e

n
a
s
t
a
j
u

z
b
o
g

a
t
m
o
s
f
e
r
s
k
i
h

u
s
l
o
v
a
.

"
S
t
v
a
r
i
"

s
e

p
o
g
o
r

a
v
a
j
u

n
a

v
i

i
m

f
r
e
k
v
e
n
c
i
j
a
m
a
.

S
v
e
t
s
k
e

r
a
z
m
e
r
e
.

Z
a
v
i
s
i

o
d

f
r
e
k
v
e
n
c
i
j
e

s
i
g
n
a
l
a
.

B
r
z
i
n
e

s
e

o
t
p
r
i
l
i
k
e

k
r
e

u

i
z
m
e
d
u

1
0

i

3
0
0

M
b
p
s
.

v
r
s
t
i

o
b
j
e
k
t
i

i
z
a
z
i
v
a
j
u

s
m
e
t
n
j
e
.

P
o
t
r
e
b
n
a

j
e

d
i
r
e
k
t
n
a

l
i
n
i
j
a

v
i
d
e
n
j
a

i
z
m
e
d
u

k
r
a
j
n
j
i
h

t
a

a
k
a
.

2
0
-
3
0

m
i
l
j
a
,

m
a
d
a

z
a
v
i
s
i

o
d

v
i
s
i
n
e

a
n
t
e
n
e

i

t
e
r
e
n
a

i
z
m
e
d
u

k
r
a
j
n
j
i
h

t
a

a
k
a
.

B
i
t
s
k
e

b
r
z
i
n
e

o
d

n
e
k
o
l
i
k
o

s
t
o
t
i
n
a

g
i
g
a
b
i
t
a

u

s
e
k
u
n
d
i

n
a

r
a
s
t
o
j
a
n
j
i
m
a

o
d

v
i

e

k
i
l
o
m
e
t
a
r
a
.

I
m
u
n
i

s
u

n
a

e
l
e
l
e
k
t
r
i

n
e

s
m
e
t
n
j
e
.

S
t
o
t
i
n
e

k
i
l
o
m
e
t
a
r
a
.

M
o

e

d
a

s
e

u
p
o
r
e
d
i

s
a

C
a
t

5

U
T
P

k
a
b
l
o
v
i
m
a

z
a

L
A
N

o
k
r
u

e
n
j
a
.

O
m
o
t
a
v
a
n
j
e

u

v
e

o
j

m
e
r
i

e
l
i
m
i
n
i

e

e
l
e
k
t
r
i

n
e

s
m
e
t
n
j
e
.

O
s
i
m

t
o
g
a
,

z
a
v
i
s
i

o
d

b
i
t
s
k
e

b
r
z
i
n
e
.

M
o
g
u


j
e

p
r
e
n
o
s

5
-
6

k
i
l
o
m
e
t
a
r
a
,

b
e
z

r
e
p
e
t
i
t
o
r
a
.

Z
a
v
i
s
i

o
d

k
a
t
e
g
o
r
i
j
e

v
o
d
o
v
a
.

S
t
a
r
i
j
i

C
a
t

3

k
a
b
l
o
v
i

d
u
g
o

s
u

p
o
d
r

a
v
a
l
i

1
0

M
b
p
s

E
t
h
e
r
n
e
t

b
r
z
i
n
e
,

a
l
i

n
o
v
i
j
i

C
a
t

5

k
a
b
l
o
v
i

p
o
d
r

a
v
a
j
u

g
i
g
a
b
i
t
s
k
i

E
t
h
e
m
e
t

E
l
e
k
t
r
i

n
e

s
m
e
t
n
j
e

o
d

s
u
s
e
d
n
i
h

k
a
b
l
o
v
a
,

i
l
i

m
o
t
o
r
a
.

U
p
r
e
d
a
n
j
e
m

i
c
a

r
e
d
u
k
u
j
u

s
e

n
e
k
i

u
m
o
v
i

k
o
j
i

z
a
v
i
s
e

o
d

f
r
e
k
v
e
n
c
i
j
e

s
i
g
n
a
l
a

k
o
j
i

s
e

p
r
e
n
o
s
i

k
r
o
z

k
a
b
l
.

Z
a
v
i
s
i

o
d

d
e
b
l
j
i
n
e

k
a
b
l
a

i

b
i
t
s
k
e

b
r
z
i
n
e
.

M
o
g
u


j
e

p
r
e
n
o
s

s
i
g
n
a
l
a

n
a

u
d
a
l
j
e
n
o
s
t
i
m
a

o
d

5
-
6

k
i
l
o
m
e
t
a
r
a
,

b
e
z

r
e
p
e
t
i
t
o
r
a
,

m
a
d
a

s
u

k
a
b
l
o
v
i

s
a

u
p
r
e
d
e
n
i
m

p
a
r
i
c
a
m
a

o
g
r
a
n
i

e
n
i

n
a

n
e
k
o
l
i
k
o

s
t
o
t
i
n
a

B
i
t
s
k
a

b
r
z
i
n
a

O
s
e
t
l
j
i
v
o
s
t

n
a

s
m
e
t
n
j
e

R
a
s
t
o
j
a
n
j
e

F
S
O

I
n
f
r
a
c
r
v
e
n
i

t
a
l
a
s
i

S
a
t
e
l
i
t
i

M
i
k
r
o
t
a
l
a
s
i

O
p
t
i

k
i

F
i
b
e
r

K
o
a
k
s
i
j
a
l
n
i

k
a
b
l

U
p
r
e
d
e
n
e

p
a
r
i
c
e

K
o
r
i
s
t
i

s
e

z
a

p
r
e
n
o
s

n
a

v
e
l
i
k
i
m

b
r
z
i
n
a
m
a

p
o
d
a
t
a
k
a

n
a

k
r
a
t
k
o
m

r
a
s
t
o
j
a
n
j
u
,

g
d
e

j
e

c
e
n
a

p
r
i
s
t
u
p
a
,

i
l
i

p
o
s
t
a
v
l
j
a
n
j
a

o
p
t
i

k
i
h

f
i
b
e
r

k
a
b
l
o
v
a

i
s
u
v
i

e

v
i
s
o
k
a
.

O
v
o

j
e

r
e
l
a
t
i
v
n
o

n
o
v
a

t
e
h
n
o
l
o
g
i
j
a
,

i

n
e
k
i

m
o
g
u

d
a

b
u
d
u

u
z
n
e
m
i
r
e
n
i

z
b
o
g

p
r
i
s
u
s
t
v
a

l
a
s
e
r
a

(
i

p
o
r
e
d

u
v
e
r
a
v
a
n
j
a

d
a

j
e

p
r
e
n
o
s

a
p
s
o
-
l
u
t
n
o

b
e
z
b
e
d
a
n
)
.

K
a
k
o

t
e
h
n
o
l
o
g
i
j
a

n
a
p
r
e
d
u
j
e
,

m
o

d
a

e

s
e

p
r
i
j
e
m

k
o
d

k
o
r
i
s
n
i
k
a

p
o
b
o
l
j

a
t
i
.

P
r
i
m
e
n
j
u
j
e

s
e

k
o
d

b
e

n
o
g

L
A
I
M
-
a
,

p
o
s
e
b
n
o

k
a
d
a

j
e

n
e
o
p
h
o
d
n
o

o
g
r
a
n
i

i
t
i

o
b
l
a
s
t

p
r
i
j
e
m
a

z
b
o
g

b
e
z
b
e
d
n
o
s
n
i
h

r
a
z
l
o
g
a
.

B
e

n
i

L
A
N
-
o
v
i

k
o
j
i

k
o
r
i
s
t
e

i
s
t
e

f
r
e
k
v
e
n
c
i
j
e

m
o
g
u

d
a

s
e

p
o
s
t
a
v
e

u

r
a
z
l
i

i
t
i
m

p
r
o
s
t
o
r
i
j
a
m
a
.

K
o
m
u
n
i
k
a
c
i
j
e

s
v
e
t
s
k
i
h

r
a
z
m
e
r
a
.

T
i

j
e

u
k
l
j
u

e
n
a

t
e
l
e
f
o
n
i
j
a
,

v
o
j
n
e

s
v
r
h
e
,

v
r
e
m
e
n
s
k
e

p
r
o
g
n
o
z
e

i

t
e
l
e
v
i
z
i
j
a
.

T
e

k
o

s
e

s
p
r
e

a
v
a

n
e
a
u
t
o
r
i
z
o
v
a
n
i

p
r
i
j
e
m
.

O
s
i
m

t
o
g
a
,

n
a
s
t
a
j
u

k
a

n
j
e
n
j
a

u
z
r
o
k
o
v
a
n
a

p
r
e
l
a
s
k
o
m

s
i
g
n
a
l
a

p
r
e
k
o

v
e
l
i
k
i
h

u
d
a
l
j
e
n
o
s
t
i
.

O
b
i

n
o

s
e

k
o
r
i
s
t
e

k
a
d
a

k
a
b
l
o
v
i

n
i
s
u

p
r
a
k
t
i

n
i

s
u
,

n
a

p
r
i
m
e
r
,

z
a

p
o
v
e
z
i
v
a
n
j
e

t
e
l
e
f
o
n
s
k
i
h

m
r
e

a

u

r
e
t
k
o

n
a
s
e
l
j
e
n
i
m

o
b
l
a
s
t
i
m
a
,

i
l
i

z
a

r
a
z
m
e
n
u

p
o
d
a
t
a
k
a

i
z
m
e

u

d
v
a

m
e
s
t
a

u

m
e
t
r
o
p
o
l
a
m
a
.

P
o
n
e
k
a
d

s
e

k
o
r
i
s
t
i

i

z
a

L
A
N

k
o
n
e
k
c
i
j
e
.

N
o
v
e

g
r
a
d
e
v
i
n
e

i
z
m
e

u

k
r
a
j
n
j
i
h

t
a

a
k
a

m
o
g
u

d
a

s
t
v
o
r
e

p
r
o
b
l
e
m
e
.

O
b
i

n
o

s
e

k
o
r
i
s
t
i

z
a

t
e
l
e
f
o
n
s
k
e

d
a
l
e
k
o
v
o
d
e
.

e
s
t
o

s
e

k
o
r
i
s
t
i

i

k
a
o

p
r
i
m
a
m
i

k
o
m
u
n
i
k
a
c
i
o
n
i

m
e
d
i
j
u
m

(
"
k
i

m
a
"
)

u

k
o
m
p
j
u
t
e
r
s
k
i
m

m
r
e

a
m
a
.

T
e

k
o

s
e

v
e
z
u
j
u
.

O
s
i
m

t
o
g
a
,

o
t
e

a
n
o

j
e

d
o
d
a
v
a
n
j
e

n
o
v
i
h

u
r
e
d
a
j
a
.

I
p
a
k
,

o
p
t
i

k
i

f
i
b
e
r

j
e

i
z
u
z
e
t
n
o

k
o
r
i
s
t
a
n

k
a
d
a

s
e

v
e
l
i
k
a

k
o
l
i

i
n
a

p
o
d
a
t
a
k
a

m
o
r
a

p
r
e
n
e
t
i

n
a

v
e
l
i
k
i
m

r
a
s
t
o
j
a
n
j
i
m
a
.

N
e
k
a
d
a

j
e

b
i
o

p
r
i
m
a
m
i

m
e
d
i
j
u
m

z
a

L
A
N
,

a

s
a
d
a

j
e

z
a
m
e
n
j
e
n

o
p
t
i

k
i
m

f
i
b
e
r

i

U
T
P

k
a
b
l
o
v
i
m
a
.

1

d
a
l
j
e

s
e

k
o
r
i
s
t
i

z
a

s
e
r
v
i
s
e

k
a
b
l
o
v
s
k
e

t
e
l
e
v
i
z
i
j
e
.

M
o
g
u

i

d
a
l
j
e

d
a

s
e

k
o
r
i
s
t
e

u

L
A
N

o
k
r
u

e
n
j
i
m
a

z
a

p
o
v
e
z
i
v
a
n
j
e

u
r
e
d
a
j
a

k
o
j
i

s
e

n
a
l
a
z
e

v
e
o
m
a

b
l
i
z
u
,

t
a
k
o

d
a

s
e

o
m
o
g
u
d

z
a

t
i
t
a

o
d

e
l
e
k
t
r
i

n
i
h

s
m
e
t
n
j
i
.

P
o
s
e
b
n
o

s
u

k
o
r
i
s
n
i

u

L
A
N

o
k
r
u

e
n
j
i
m
a
,

g
d
e

s
e

k
o
n
e
k
c
i
j
e

m
o
r
a
j
u

i
z
v
e
s
t
i

n
a

m
a
l
o
m

p
r
o
s
t
o
r
u

i
z
a

z
i
d
o
v
a
,

i
s
p
o
d

p
o
d
a
,

i
l
i

u

k
a
n
c
e
l
a
r
i
j
a
m
a

g
d
e

p
o
v
e
z
u
j
u

r
a
d
n
e

s
t
a
n
i
c
e

s
a

u
t
i

n
i
c
a
m
a

n
a

z
i
d
u
.

M
o
g
u

d
a

s
e

o
m
o
t
a
j
u

d
a

b
i

b
i
l
e

o
m
o
g
u

e
n
e

v
e

e

b
r
z
i
n
e

p
r
e
n
o
s
a

p
o
d
a
t
a
k
a

n
a

v
e

i
m

r
a
s
t
o
j
a
n
j
i
m
a
,

m
a
d
a

j
e

o
b
l
a
g
a
n
j
e

e
s
t
o

s
k
u
p
l
j
e

i

t
e

e

z
a

r
u
k
o
v
a
n
j
e
.

T
i
p
i

n
e

p
r
i
m
e
n
e

K
o
m
e
n
t
a
r
i

F
S
O

I
n
f
r
a
c
r
v
e
n
i

t
a
l
a
s
i

S
a
t
e
l
i
t
i

M
i
k
r
o
t
a
l
a
s
i

O
p
t
i

k
i

f
i
b
e
r

K
o
a
k
s
i
j
a
l
n
i

k
a
b
l

U
p
r
e
d
e
n
e

p
a
r
i
c
e

N
a
p
o
m
e
n
a
:

1

K
b
p
s

=

2
1
0

b
i
t
o
v
a

u

s
e
k
u
n
d
i
;

1

M
b
p
s

=

2
2
0

b
i
t
o
v
a

u

s
e
k
u
n
d
i

=

1

m
i
l
i
o
n

b
i
t
o
v
a

u

s
e
k
u
n
d
i
;

1

G
b
p
s

=

2
3
0

b
i
t
o
v
a

u

s
e
k
u
n
d
i

=

1

b
i
l
i
o
n

b
i
t
o
v
a

u

s
e
k
u
n
d
i
.

*
O
v
a

c
i
f
r
a

s
e

o
d
n
o
s
i

n
a

t
r
a
n
s
p
o
n
d
e
r
e
.

P
o

t
o

s
a
t
e
l
i
t

m
o

e

d
a

s
a
d
r

i

i

d
v
e

d
e
s
e
t
i
n
e

t
r
a
n
s
p
o
n
d
e
r
a
,

u
k
u
p
n
a

b
r
z
i
n
a

p
r
e
n
o
s
a

p
o
d
a
t
a
k
a

p
r
e
d
s
t
a
v
l
j
a

s
u
m
u

b
r
z
i
n
a

p
r
e
n
o
s
a

z
a

s
v
e

n
j
i
h
.

2.5 Kodovi
U prethodnom odeljku smo predstavili razliite medijume za prenos podataka i naveli njihove
karakteristike. Bez obzira da li se kao medijum koriste svetlost, elektricitet, ili mikrotalasi, namee
se pitanje kako se informacije kodiraju u format koji je prikladan za prenos. U ovom odeljku
daemo odgovor na to pitanje.
Poto se razmena podataka najveim delom odvija izmedu kompjutera i perifernih uredaja,
polazimo od osnovnih tehnika za skladitenje podataka na kompjuteru. Kompjuteri su digitalni
uredaji; funkcioniu zahvaljujui otvaranju i zatvaranju malih elektrinih prekidaa koji su
programirani unutar ipa. Ovo je pojednostavljeno objanjenje, ali ne nameravamo da zalazimo
dublje u raspravu o kompjuterima i CPU jedinici. Umesto toga, smatraemo da svi prekidai, bez
obzira na nain na koji su implementirani, mogu da imaju jedno od dva stanja: otvoreno, ili
zatvoreno. Simboliki, ta stanja moemo da tretiramo kao O i 1; mogu se izraziti bitovima,
najmanjim jedinicama informacija koje je mogue smestiti u kompjuteru.
Sami po sebi, bitovi nisu preterano korisni, jer mogu da zabelee samo po dva mogua dela
informacija. Medutim, njihovim grupisanjem mogue je dobiti razliite kombinacije nula i
jedinica. Na primer, grupisanjem dva bita mogue je dobiti 2' = 4 jedinstvene kombinacije. Grupa
od tri bita omoguava T = 8 kombinacija. Formiraju se uzimajui prethodne grupe bitova i doda-
vanjem 0, ili 1 na kraj. U optem sluaju, grupa od n bitova doputa 2 kombinacija (moe li to
da se dokae?). Ovakvo grupisanje bitova omoguava pridruivanje odredenih kombinacija
specifinim elementima, kao to su karakteri, ili brojke. Ovo pridruivanje nazivamo kod. Nema
nieg komplikovanog u vezi kodova. Svako moe da ih defmie. Trik je u tome da se napravi kod
koji i drugi mogu da koriste. Ako pridobijete dovoljan broj ljudi za korienje Vaeg koda, moete
da zahtevate od IEEE, ili ITU da ga proglasi standardom.
Postoje razni kodovi. Problem kod razmene podataka je injenica da je neophodno uspostaviti
komunikaciju izmeu ureaja koji prepoznaju razliite kodove. To je podjednako frustrirajue
kao kada pokuavate da razgovarate sa nekim ko ne govori Vaim jezikom. Da bi se komunikacija
pojednostavila, razvijeni su neki standardni kodovi. Ali, da se ne biste oseali isuvie rastereeno,
recimo da postoje brojni nekompatibilni standardi! Jedna od najmudrijih izjava koja vai u
oblasti komunikacija glasi: "Jedini problem sa standardima je to to ih ima toliko mnogo".
U zavisnosti od tipa podataka koji se skladite, vri se i izbor koda koji e biti korien. Kodovi
koji se koriste za predstavljanje celobrojnih vrednosti i realnih brojeva imaju znaajne razlike i
zavise od arhitekture kompjutera. Oni mogu da se sretnu u veini kompjuterskih knjiga, kao to
je ona iz reference [St03 ]. Ovde emo se fokusirati iskljuivo na kodove karaktera.
Rani kodovi
Jedan od najstarijih kodova je Morzeov kod. Razvio ga je Semjuel Morze jo 1838. godine, a
korien je za telegraf. U tabeli 2.5 kod je prikazan kao sekvenca taaka i crtica. Jedinstveni aspekt
ovog sistema je to to su duine kodova za slova razliite duine; na primer, slovu E odgovara
samo jedna taka, dok se za slovo H koriste etiri take. Promenljiva duina koda omoguava
brzo slanje poruka. Kod originalnog telegrafa poruka se alje lupkanjem prekidaa koji otvara i
zatvara kolo.
Na primer, pretpostavimo da je duina koda za svako slovo 5 (korienjem koda duine 4
mogue je postii samo 2
4
= 16 kombinacija). Vreme potrebno za prenos poruke proporciona-
lno je umnoku broja 5 i broja slova u okviru poruke. Ako neka slova zahtevaju manje udaraca
po prekidau, radnik na telegrafu bre moe da poalje pomku. Da bi se iskoristila prednost koda
promenljive duine, najee korienim slovima su dodeljene krae kombinacije. Ovaj metod
olakava redukovanje prosene duine koda.* Da bismo to ilustrovali, uzeemo primer alfabeta.
Sa kodnom duinom 5, da bi bila poslata poruka sa svih 26 karaktera, potrebno Je 130 udaraca.
Korienjem Morzeovog koda ista poruka moe da se prenese sa samo 82 udarca.
Sledei kod, koji je razvio an-Mari-Emil Bod, dobio je naziv Bodov kod, a bio je dizajniran za
francuski telegraf. Koristi se pet bitova za svaki karakter i slovo (videti tabelu 2.5). Paljivi italac
moe da zakljui da je sa pet bitova mogue konstruisati 2' = 32 kombinacije, ali postoji 36 slova
i cifara (da ne pominjemo ostale simbole koji nisu navedeni u tabeli 2.5). Ako paljivije prouite
tabelu, videete da postoje duplirani kodovi. Na primer, cifra 1 i slovo Q imaju isti kod. U stvari,
svi kodovi za cifre su ve iskorieni za slova (moete li da ih pronadete?).
Namee se logino pitanje kako da razlikujemo cifre od slova. Odgovor lei u istom principu koji
omoguava jednom tasteru sa tastature da prikae dva razliita karaktera.
* I neki modemi kodovi imaju promcnljivu duinu, to znaajno utie na cenu prenosa. Poglavlje 5 sadri detaljnije
informacije.
A 00011 .- 110001 S 00101 ... 010010
B 11001 -... 110010 T 10000 - 010011
C 01110 -.-. 110011 U 00111 ..- 010100
D 01001 -.. 110100 V 11110 ...- 010101
E 00001 . 110101 W 10011 .-- 010110
F 01101 ..-. 110110 X 11101 -..- 010111
G 11010 -. 110111 Y 10101 -.-- 011000
H 10100 .... 111000 Z 10001 --.. 011001
I 10110 .. 111001 0 10110 ----- 001010
J 01011 .--- 100001 1 10111 .---- 000001
K 01111 -.- 100010 2 10011 ..--- 000010
L 10010 .-.. 100011 3 00001 ...-- 000011
M 11100 -- 100100 4 01010 ....- 000100
N 01100 -. 100101 5 10000 ..... 000101
O 11000 --- 100110 6 10101 -.... 000110
P 10110 .--. 100111 7 00111 --... 000111
Q 10111 --.- 101000 8 00110 ---.. 001000
R 01010 .-. 101001 9 11000 ----. 001001
Karakter
Bodov kod Morzeov
kod
BCD kod Karakter Bodov kod Morzeov
kod
BCD
kod
Na tastaturi taster Shift omoguava generisanje koda za jedan od dva mogua karaktera preko
istog tastera. Bodov kod dodeljuje 5-bitne kodove 11111 (Shift je pritisnut) i 11011 (Shift je
podignut) za utvrivanje kako treba interpretirati naredne 5-bitne kodove. Nakon detektovanja
sputanja Shifta, prijemni ureaj interpretira sve naredne kodove kao slova. Interpretacija se nas-
tavlja sve dok se ne detektuje podizanje Shifta. Potom se svi naredni kodovi interpretiraju kao
cifre i drugi specijalni simboli. Tako bi poaika "ABC123" prevedena na Bodov kod izgledala
ovako (itano sleva udesno):
11111 00011 11001 01110 11011 10111 10011 00001
Shift pritisnut A B C Shift podignut I 2 3
Sledei je binarno-kodirani decimalni (BCD) kod, koji se, obino, koristi u ranim IBM-ovim
mainframe kompjuterima. Jedan od razloga njegovog razvoja bilo je olakavanje unosa i potreb-
nih izraunavanja numerikih podataka. Na primer, ako je programer hteo da unese broj 4385,
morao je na buenoj kartici da izbui cifre 4, 3, 8 i 5 (zapamtite: ovde govorimo o kompjuterskim
"dinosaurusima"). Nakon toga je ita kartica ltao svaku cifru. Umesto da se kombinuju kodovi
za svaku cifru i da se kreira jedna reprezentacija za precizni numeriki ekvivalent, svaka cifra je
zapamena pomou BCD koda, koji je prikazan u tabeli 2.5. Ovaj metod se smatrao lakim i
efikasnim, posebno ako je bilo potrebno uneti veu koliinu podataka. Procesorska jedinica je
onda mogla da izvri aritmetike operacije nad brojevima smetenim u tom formatu. Zbog kom-
patibilnosti, neke arhitekture i dalje podravaju izraunavanja izmedu brojeva u BCD formatu.
Kako se tehnologija razvijala i javljale nove primene, postojala je sve vea potreba za smetanjem
nenumerikih podataka. Zato je BCD kod proiren da ukljuuje i ostale karaktere. Tehniki,
proireni kod se zvao BCDIC kod (binaiy-coded decimal interchange code).
ASCII kod
Najire korieni kod je ASCII kod (American Standard Code for Information Interchange). To
je 7-bitni kod koji dodeljuje jedinstvenu kombinaciju svakom karakteru sa tastature i nekim
specijalnim funkcijama. Najee se koristi, ako ne i u potpunosti, na personalnim i nekim
drugim kompjuterima. Medu karaktere koje je mogue tampati ubrajaju se slova, cifre i
specijalni interpunkcijski znaci, kao to su zarezi, zagrade i upitnici. Pod karakterima koji ne
mogu da se tampaju ne podrazumevaju se karakteri koji su istaknuti u novinama, na televiziji,
ili na registarskim tablicama, Misli se na kodove koji ukazuju na specijalne funkcije, kao to su
poetak nove linije (line feed), tabulator, ili prelazak na poetak linije (carriage return).
U tabeli 2.6 dati su karakteri i njihovi ASCII kodovi, i u binarnom i u heksadecimalnom formatu.
Na primer, slovo M ima ASCII kod 1001101. Korienje heksadecimalne notacije omoguava
grupisanje bitova u grupe od po etiri bita, 100-1101, to se interpretira kao 4D. Imajte na umu
da ovde D nema isto znaenje kao i slovo D. To je jednostavno heksadecimalna notacija za 1101.
Da bismo ilustrovali kako prenos moe da izgleda, pretpostavimo da kompjuter alje podatke na
slici 2.26 do tampaa koji prepoznaje ASCII kodove. Pretpostavimo da se kodovi alju sleva
udesno. Kako tampa bude primao svaki kod, on e ih analizirati i preduzimati neku akciju.
0000000 00 NUL 0010000 10 DLE 0100000 20 SP 0110000 30 0
0000001 01 SOH 0010001 11 DCl 0100001 21 ! 0110001 31 1
0000010 02 STX 0010010 12 DC2 0100010 22 " 0110010 32 2
0000011 03 ETX 0010011 13 DC3 0100011 23 # 0110011 33 3
0000100 04 EOT 0010100 14 DC4 0100100 24 $ 0110100 34 4
0000101 05 ENQ 0010101 15 NAK 0100101 25 % 0110101 35 5
0000110 06 ACK 0010110 16 SYN 0100110 26 & 0110110 36 6
0000111 07 BEL 0010111 17 ETB 0100111 27 ' 0110111 37 7
0001000 08 BS 0011000 18 CAN 0101000 28 ( 0111000 38 8
0001001 09 HT 0011001 19 EM 0101001 29 ) 0111001 39 9
0001010 OA LF 0011010 1A SUB 0101010 2A * 0111010 3A :
0001011 OB VT 0011011 1B ESC 0101011 2B + 0111011 3B ;
0001100 OC FF 0011100 1C FS 0101100 2C , 0111100 3C <
0001101 OD CR 0011101 1D GS 0101101 2D - 0111101 3D =
0001110 OE SO 0011110 1E RS 0101110 2E . 0111110 3E >
0001111 OF Sl 0011111 1F US 0101111 2F / 0111111 3F ?
1000000 40 1010000 50 P 1100000 60 ' 1110000 70 p
1000001 41 A 1010001 51 Q 1100001 61 a 1110001 71 q
1000010 42 B 1010010 52 R 1100010 62 b 1110010 72 r
1000011 43 C 1010011 53 S 1100011 63 C 1110011 73 S
1000100 44 D 1010100 54 T 1100100 64 d 1110100 74 t
1000101 45 E 1010101 55 U 1100101 65 e 1110101 75 U
1000110 46 F 1010110 56 V 1100110 66 f 1110110 76 v
1000111 47 G 1010111 57 W 1100111 67 g 1110111 77 W
1001000 48 H 1011000 58 X 1101000 68 h 1111000 78 x
1001001 49 I 1011001 59 Y 1101001 69 i 1111001 79 y
1001010 4A J 1011010 5A Z 1101010 6A j 1U1010 7A Z
1001011 4B K 1011011 5B 1101011 6B k 1111011 7B
1001100 4C L 1011100 5C \ UOUOO 6C I 1111100 7C d
1001101 4D M 1011101 5D 1101101 6D m 1111101 7D
1001110 4E N 1011110 5E ^ 1101110 6E n 1111H0 7E
1001111 4F O 1011111 5F _ 1101111 6F o 1111111 7F DEL
Dakle, prijem kodova 4F, 6C i 64 izaziva tampanje karaktera 0,1 i d. Sledea dva koda OA i OD odgo-
varaju karakterima koji se ne tampaju. U tabeli 2.6 prikazani su kao LF (line feed) i CR (carriage
return), respektivno. Kada tampa primi kod OA, ne tampa nita, ve aktivira mehanizam za
prelazak u sledeu liniju. Kod OD izaziva postavljanje mehanizma za tampanje na krajnju levu pozi-
ciju. U ovoj taki naredni karakteri koji se mogu odtampati javljaju se u novoj liniji, poevi od kra-
jnje leve kolone (videti sliku 2.26). U tabeli 2.7 predstavljeno je jo nekoliko kontrolnih karaktera.
Binarni Heks- Karakter Binarni
adec
Heks- Karakter Binarni
adec
Heks- Karakter Binarni Heks- Karakter
adec adec
SLIKA 2.26 Prenos ASCII-kodirane poruke
tampa
odtampani podaci
Old
Man
River
PC
0 1 d LF CR M a n LF CR R i v e r
4F 6C 64 OA OD 4D 61 6E OA OD 52 69 76 65 72
binarni kod koji e biti prenet
BEL Ovaj kontrol ni karakter inicira isputanje zvuka na pr i j emnom ureaj u (na pri mer,
radnoj stanici), koji se obi no uje kao "bi p". Ovaj signal se najee koristi za
privlaenje korisnikove panje kada se poalje specijalna poruka, ili kada se desi
neto znaajno (slika 2.27).
BS Back Space izaziva pomeranj e mehani zma za t ampanj e, ili kursora za j ednu pozi ci j u
unazad. Ovaj kontrol ni karakter moe da se koristi za tampanj e dva karaktera na i stoj
poziciji (kori sno kod podvl aenj a), ili za tampanj e bol di ranog karaktera (isti karakter se
tampa dva puta na istoj poziciji). Ako je re o ekranu, pret hodno otkucani karakter se
menj a novi m.
CR Carriage Return izaziva pomeranj e mehani zma za t ampanj e, ili kursora na kraj nj u levu
poziciju za tampanj e. Napomena: Ovaj karakter j e nezavisan od uvodenj a nove l i ni j e.
DCl , DC2, Device Controls tasteri odgovaraj u speci j al ni m funkci j ama, ili karakteristikama koj e
DC3, DC4 zavise od uredaja. Na pri mer, DCl i DC3 ponekad odgovaraj u karakteri ma X-ON i X-
Office, koje generiu sekvence control -Q i control-S sa tastature. Ako se baferi uredaja
napune, poi l j aocu moe da se uput i karakter X-Office, t ako da se zaustavi slanje. Slanje
karaktera X-ON inicira nastavak prenosa.*
DLE Data Link Escape se ponaa kao prekida za pr omenu naina i nterpretaci j e pri ml j eni h
karaktera.
FF Form Feed se koristi na speci j al ni m obrascima, ili ekrani ma. Ovaj karakter postavlja
mehani zam za tampanj e, ili kursor i spred sledeeg obrasca, ili ekrana.
HT Horizontal Tab postavlja kursor, ili mehani zam za tampanj e ispred sledee selektovane
pozicije tabul atora.
LF Line Feed uvodi novu l i ni j u.
NUL Nul l se koristi kao filter (za zauzi manj e praznog prostora kada nema podataka) u
parcijalno popunj enom zapisu.
VT Vertical Tab postavlja kursor, ili mehani zam za tampanj e i spred sledee unapred
definisane l i ni j e za tampanj e.
* Studenti se esto prvi put sasvim sluajno sreu sa karakterima X-ON i X-OFF. Na primer, pretpostavimo da unosite koma-
ndu sa radne stanice za tampanje fajla (poput one u mainskom jeziku) koji sadri karaktere koji se ne mogu
tampali. Sadraj fajla se pogreno interpretira kao karakteri ASCII koda. Ako neki od tih kodova odgovara karaktem X-OFF,
radna stanica interpretira taj karakter kao znak za zaustavljanje slanja karaktera. Zbog toga se ne prenosi ono to korisnik
unosi i radna stanica se "zamrzava".
SLIKA 2.27 Specifini dogadaj zahteva korienje BEL karaktera
EBCDIC kod
Sledei je EBCDIC (Extended Binary Coded Decimal Interchange Code) kod; koristi se
prvenstveno na IBM-ovim mainframe kornpjuterima i periferijama. To je 8-bitni kod koji
ornoguava kodiranje najvie 256 karaktera. Poput ASCIl koda, postoje karakteri koji mogu i koji
ne mogu da se tampaju; ovde neemo navoditi celu tabelu. Zainteresovani itaoci verovatno
mogu da pronau tabelu na Internetu.
Unicode
ASCII i EBCDIC su odavno u upotrebi, ali oni koji ih esto koriste termine bajt i karakter
smatraju sinonimima. Oba koda su prvenstveno koriena za predstavljanje uobiajenih
upravljakih funkcija, slova i karaktera iz engleskog alfabeta. Medutim, sa internacionalizacijom
mrenih aplikacija, 7-bitni i 8-bitni kodovi su postali nefleksibilni, a razvijen je novi standard
Unicode. Unicode podravaju razni skriptovi, ili kolekcije matematikih simbola i specijalnih
karaktera koji postoje u odredenom jeziku. Primeri su skriptovi Arabic, Latin, Greek, Gothic i
Cyrillic. I Java koristi Unicode za podrku tipa char u Javi.
Unicode definie jedinstveni 16-bitni broj za svaki karakter, nezavisno od jezika i platforme.
Unicode Consortium, neprofitabilna organizacija koja saraduje sa ISO, zaduena je za
specifikacije. lanovi su kompanije kao to su Apple, Microsoft, Oracle, IBM, Novell i Netscape.
Unicode i dalje ukljuuje nove skriptove i dodaje ih u svoju definiciju. U vreme kada je ova
knjiga nastajala, Unicode 3.2 je imao definisane kodove za vie od 90.000 karaktera. Zato nismo
naveli tabelu i za Unicode karaktere. Zainteresovani mogu da pronadu vie informacija na adresi
www.unicode.org.
2.6 Zakljuak
Ovo poglavlje je najveim delom bilo posveeno komunikacionim medijumima i opremi,
aplikacijama i komunikacionim kodovima. U njemu su predstavljeni sledei znaajni koncepti:
Informacije se kodiraju kao sekvence bitova (predstavljene nulama i jedinicama) i
prenose se pomou elektrinih signala, ili elektromagnetnih talasa.
Medu primame komunikacione medijume ubrajaju se kablovi sa upredenim parica-
ma, koaksijalni kablovi, fiber optiki, mikrotalasni i satelitski prenosi, infracrveni i
radio talasi i tehnologija free space optics.
Provodni metali koji se koriste u kablovima sa upredenim paricama i koaksijalnim
kablovima jeftiniji su od fibera i lake se slau. Medutim, imaju manje opsege signala i
podloni su elektrinoj interferenci.
LAN okruenja esto u najveoj meri koriste kablove sa upredenim paricama za
povezivanje opreme u susednim prostorijama, a optiki fiber se obino koristi za
povezivanje zgrada. Optiki fiber se esto koristi za dalekovode. Koaksijalni kabl se
danas rede koristi nego ranije, mada se obino koristi za kablovske televizijske servise i
moe da se koristi za povezivanje uredaja na LAN-u na mestima na kojima je
neophodno obezbediti zatitu od elektrine interference. Ipak, nia cena i vee brzine
prenosa ine UTP kablove primarnim izborom u mnogim mreama.
Mikrotalasne i satelitske komunikacije se obavljaju kroz slobodan prostor - ne oslanja-
ju se na fizike konekcije. Sateliti obino nude komunikaciju irom sveta, a mikrota
lasni tornjevi omoguavaju komunikacije na udaljenostima koje bi bilo nepraktino,
ili nemogue "pokriti" klasinim fizikim konekcijama.
Geostacionarni sateliti zadravaju fiksnu poziciju u odnosu na poziciju posmatraa na
Zemljinoj povrini i korisni su za emitovanje programa i komunikacione aplikacije.
Bitske brzine zavise od frekvencija prenosa. Vee frekvencije obezbeduju vee brzine
prenosa podataka, ali su podlonije atmosferskim uticajima.
LEO (low earth orbit) sateliti neprestano putuju preko neba. Teledesic treba da
obezbedi globalnu komunikacionu mreu.
Danas se sve vie koriste beine LAN tehnologije. Prenosivi uredaji, kao to su note-
book kompjuteri, mogu da prenose infracrvene, ili radio talase do pristupne take koja
je povezana na LAN. Tako je omoguena komunikacija uredaja sa ostalim uredajima
na LAN-u, i pored toga to ne postoji fizika konekcija.
Free space optics je nova beina tehnologija koja nudi vee brzine prenosa podataka,
U poredenju sa onima koje nudi optiki fiber. Za prenos informacija na udaljenosti od
kilometra, ili manje koristi se laser (visokofokusirani svetlosni mlaz).
Za prenos podataka, bez obzira na medijum koji se koristi, moramo da koristimo
kodove, mehanizme koji nizovima bitova pridruuju odreene informacije. Najee
se koriste ASCII (American Standard Code for Information Interchange) i EBCDCI
(Extended Binary Coded Decimal Interchange Code). Svakom nizu bitova je dodeljen
taster sa tastature, ukljuujui i razne upravljake funkcije. Medu ee koriene
kodove ubrajaju se Bodov, Morzeov i BCD (binarno kodirani decimalni kod).
Unicode je noviji kod koji se koristi u raznim aplikacijama za podrku veoj paleti
karaktera i skriptova od one koju mogu da podre ASCII i EBCDIC kodovi.
Razmena podataka je polje koje se jo uvek menja. Novija istraivanja dovode do
poveavanja brzine prenosa podataka na razliitim medijumima i redukuje se cena
medijuma tako da budu tehnoloki i ekonomski pristupaniji nego ikada ranije.
Pitanja i zadaci za proveru
1. ta je periodini signal?
2. Navedite pet medijuma za prenos i poreajte ih po brzini prenosa podataka.
3. U emu je razlika izmeu digitalnog i analognog signala?
4. U emu je razlika izmedu bitske brzine i opseg signala?
5. U kakvoj su vezi perioda i frekvencija signala?
6. U emu je razlika izmedu prenosa u osnovnom opsegu i irokopojasnog prenosa?
7. U emu je razlika izmedu kablova sa upredenim paricama Cat 4 i Cat 5?
8. Definiite indeks refrakcije.
9. U emu je razlika izmedu ThickNeta i ThinNeta?
10. U emu je razlika izmeu lasera i LED dioda kod optikih fiber komunikacija?
11. Navedite tri moda za optike fiber komunikacije i uporedite ih.
12. Da li su sledee tvrdnje tane, ili netane i zato?
a. Direktni mikrotalasni prenosi mogu da se dese izmedu bilo koje dve take na
povrini Zemlje.
b. Satelitski prenos zahteva komunikaciju sa stacionamim satelitom.
c. Deblji optiki fiber doputa vee brzine prenosa podataka.
d. Brzine prenosa podataka preko satelita ograniene su samo mogunostima
opreme za slanje i prijem visokofrekventnih signala.
e. Poto se LEO sateliti kreu po nebu i silaze ispod horizonta, nisu praktini za
komunikacione aplikacije.
f. Lokalne mree ne zahtevaju fizike konekcije izmedu komponenata.
g. Svetlost moe da putuje kroz optiki fiber razliitim brzinama.
h. Vidljiva svetlost i elektromagnetni talasi predstavljaju istu "stvar".
i. Optiki fiber ima izdubljeni centar kroz koji svetlost putuje i reflektuje se od
reflektujue povrine oko njega.
j. Free space optics zahteva direktnu liniju vienja.
13. U emu je razlika izmeu antena u obliku roga i parabolinog tanjira?
14. Navedite tri naina za komunikaciju beinih ureaja.
15. Gde je koriena prva beina mrea?
16. ta je Bluetooth tehnologija?
17. Koji su prenosi osetljivi na interferencu?
18. Zato se ice kod kablova sa upredenim paricama upredaju (umesto da se postave
paralelno)?
19. Koja je svrha oblaganja optikih fiber kablova?
20. taje"Sputnik"?
21. Navedite neke prednosti i nedostatke LEO satelita u odnosu na geostacionarne satelite.
22. Po emu se free space optics razlikuje od fiber optikih komunikacija?
23. Navedite neke prednosti i nedostatke tehnologije free space optics.
24. U emu je razlika izmedu karaktera koji se mogu tampati i onih koji se ne mogu
tampati?
25. U emu je razlika izmedu ASCII i EBCDIC kodova?
26. Po emu se Unicode razlikuje od tradicionalnih ASCII i EBCDIC kodova?
27. ta je bio razlog za defmisanje Unicodea?
28. Bodov kod za karakter 0 (nula) je isti kao i za karakter P. Kako je to mogue?
Vebe
1. Ako je perioda signala 10 nanosekundi, kolika je frekvencija?
2. Ako je frekvencija signala 500 megaherca, kolika je perioda?
3. Ako je orbitalna visina satelita fiksna, zato nije mogue menjati vreme potrebno za
obilazak oko Zemlje promenom brzine satelita?
4. LAN mree se esto povezuju korienjem koaksijalnih kablova, umesto kablova sa
upredenim paricama, zbog boljih bitskih brzina i otpornosti na spoljanji um. Zato
se koaksijalni kabl ree koristi u tekuim LAN tehnologijama?
5. Pretpostavimo da kompanija pokuava da uspostavi komunikaciju izmedu nekoliko
mesta u razliitim delovima grada. Da li su mikrotalasi dobra ideja? Zato jesu, ili
zato nisu?
6. Kako satelit moe da zadri fiksnu poziciju na nebu? Kako ga gravitacija ne povue na
zemlju?
7. Uz pretpostavku da signali putuju brzinom svetlosti (186.000 milja u sekundi), koliko
vremena signal putuje od zemaljske stanice do geostacionarnog satelita? Koliko je
vremena potrebno ako se satelit nalazi u niskoj orbiti od 875 milja?
8. Projekat Teledesic je promenio inicijalnu konfiguraciju u odnosu na prvo javno
objavljivanje. Prouite ovu temu i napiite nekoliko pasusa o trenutnom stanju
projekta Teledesic.
9. Napiite program koji od korisnika trai da unese poruku, isputa sistemski zvuk za
unos broja i tampa unete podatke.
10. Ako imate pristup univerzitetskoj mrei, ili mrei kompanije, pogledajte koji su
kablovi korieni za povezivanje (UTP, sa upredenim paricama, ili koaksijalni, optiki
fiber).
11. Kako glasi Bodov kod za niz karaktera SDG564FSDH65?
12. U tabeli 2.6 prikazani su ASCII kodovi za cifre 0 do 9. Zato nema koda za broj 10?
Reference
[AlOl] Allen, D. "ThesecondComingofFreeSpaceOptics". Netivork,vol. 16,no. 3
(March2001.).55-63.
[AnOO] Angel,J. "LookMa, NoCables". Netivork,vol. 15, no. Il (November2000.),
42-52.
[C145] Clarke,A. C. "Extra-TerrestrialRelays: CanRocketStations GiveWorld-WideRadic
Coverage?" Wireless World(October1945.).
[DoOO] Dornan, A. "CanBluetoothSinkItsTeethintoNetworking?" Nettuork,vol. 15, no
11 (November2000.), 54-60.
[Ek02] Ekici, E. I.Akyildiz,andM.Bender. "AMulticastRoutingAlgorithmforLEO
SatelliteIPNetvvorks". IEEE/ACM Transactions on Netivorking,vol.10,no.2(April
2002.), 183-192.
[Hu90] Hudson,H. Communication Satellites.NewYork:FreePress,1990.
[MeOO] Metz, C. "IP-Over-Satellite: InternetConnectivityBlasts Off'. IEEE Intemel
Computing,vol.4,no.4(July/August2000.),84-89.
[RoOl]Rogers, A. Understanding Optical Fiber Communications.Boston:ArtechHouse,
2001.
[Sh90] Sherman,K. Data Communication:AUser'sGuide,3rded.EnglewoodCliffs,NJ:
Prentice-Hall, 1990.
[StOO]Stallings,W. "GigabitEthernet". Dr. Dobbs Journal,vol.25,no.5(May2000.).
[St03]Stallings,W. Computer Organization and Architecture: Designing for Performance,6th
ed. EnglewoodCliffs, NJ: Prentice-Hall, 2003.
[We98]Wesel,E. Wireless Kiultimedia Communications.Reading,MA:Addison-Wesley,
1998.
Informacione mree su se probile u sve aspekte ivota. Nita nije izostavljeno. Ali, sa ovolikom
koliinom informacija, njihovo znaenje poinje Aa se rasplinjuje. Nemogue ih je u
potpunosti obuhvatiti!
Ginter Gras, nemaki knjievnik
Najnia forma popularne kulture - nedostatak informaja, netane informacije,
dezinformisanost i prezir ka istini, ili realnosti ivota veine Ijudi - sve je pristunija u novinarstvu.
Danas novine prosenog Amerikanca svakodnevno "zatipavaju" gomilom "ubreta".
Karl Berntajn, ameriki novinar
3.1 Uvod
"Pokrili" smo dve primarne oblasti prenosa podataka: medijum i simboliko predstavljanje
podataka. Sada je vreme da ih kombinujemo. Drugim reima, poto znamo kako se podaci mogu
simboliki smetati, pitanje je kako se uspostavlja reladja sa elektrinim signalima, mikrotalasi-
ma, ili svetlosnim talasima. Kako obini i kablovski modemi prenose podatke? ta je DSL
tehnologija? Sledei logian korak je povezivanje fizikih signala sa simbolikom reprezentaci-
jom podataka. Prostije reeno, kako O i 1 izgledaju dok "putuju" kroz kabl, optiki fiber, ili
proslor? Koliko bitova signal moe da prenese u jedinici vremena i da li postoje neka
ogranienja? Da li na podatke utie i elektrina interferenca (um)? Ako je odgovor potvrdan,
kako utie?
Svi ovi odgovori zavise od toga da li koristimo digitalne, ili analogne signale. Setite se da smo u
Poglavlju 2 rekli da se digitalni signal moe predstaviti naizmeninom sekvencom visokih i
niskih vrednosti (0 i 1); pogledajte sliku 3.1a. Analogni signal se kontinuelno menja u intervalu
izmedu dve vrednosti. Digitalni signal ima konstantnu vrednost za kratko vreme, a zatim se
maenja na drugu vrednost. Poto se analogni signal menja kroz vreme, esto se predstavlja
karakteristinim sinusoidalnim talasnim oblikom (slika 3.1b).
Analogni i digitalni
signali
SLIKA 3.1 Analogni i digitalni signali
U Poglavlju 2 smo rekli da se digitalni signal moe koristiti za predstavljanje podataka
pridruivanjem 0 i 1 ili visokom, ili niskom signalu. Medutim, ovaj pristup ima brojne probleme.
Zato je neophodna alternativa. U odeljku 3.2 opisani su razliiti pristupi. Analogni signali stvara-
ju nove probleme. Poto se vrednost signala neprestano menja, kako je mogue defmisati O i 1?
Moramo bolje da razumemo karakteristike analognih signala. U odeljcima 3.3 i 3.4 data su
detaljnija objanjenja i povezan je koncept bitske brzine sa karakteristikama signala. Osim toga,
predstavljena su dva uvena rezultata koja definiu granice u koliini podataka koju je mogue
preneti u jedinici vremena, u skladu sa karakteristikama signala.
Ovo stvara sledei problem: digitalni i analogni signali prenose podatke na razliite naine. Zbog
toga, za kompjuter koji uspostavlja komunikaciju preko telefonske linije moramo da pronademo
nain za konvertovanje signala iz jednog tipa signala u drugi na odlasku i dolasku. U odeljcima
3.5 i 3.6 opisane su neke tehnike. Odeljak 3.7 "pokriva" modeme (uobiajene uredaje za
konvertovanje signala) i standarde za konvertovanje. Konano, u odeljku 3.8 predstavljamo DSL
(Digital Subscribe Line digitalnu pretplatniku liniju), alternativu za konvencionalne i kablovske
modeme.
3.2 eme za digitalno kodiranje
Izmedu digitalnog signala i digitalno kodiranih podataka postoji prirodna veza. Podaci koji su
digitalno zabeleeni predstavljeni su kao nizovi Oi 1 . Poto digitalni signali imaju dve mogue
konstantne vrednosti, jednostavno se jednoj vrednosti dodeli 0, a drugoj 1. Konkretne vrednosti
nisu bitne. Kada se koriste elektrini signali, esto se koriste iste vrednosti, ali sa razliitim
predznakom. Da bismo raspravu zadrali na optem nivou, koristiemo termine "visoki napon"
i "niski napon".
NRZ kodiranje
NRZ (nonreturn to zero) ema predstavlja verovatno najprostiju emu kodiranja. 0 se prenosi
prelaskom signala sa nieg na vii nivo, a 1 niskim naponom. Tako se odgovorajuim promena-
ma naponskog nivoa moe preneti bilo koja sekvenca nula i jedinica.
(a) Digitalni signal (b) Analogni signal
SLIKA 3.2 NRZ i NRZI kodiranje
Naziv eme potie od injenice da nivo napona ostaje konstantan (ne vraa se na nulu) dok se
bit prenosi. Na slici 3.2 prikazan je NRZ prenos binarnog stringa 10100110.
Alternativa NRZ kodiranju je NRZI (NRZ invertovano). Razlika izmedu NRZ i NRZI sastoji u
tome to se kod NRZI 1 prenosi promenom vrednosti napona. Ako je signal bio nizak, postaje
visok. Ako je bio visok, postaje nizak. Na slici 3.2b prikazan je NRZI signal za isti binarni string
sa slike 3.2a.
NRZ i NRZI kodiranja su jednostavna, ali imaju jedan problem. Pogledajte prenos na slici 3.3. ta
se prenosi?
1 0 1 0 0 1 1 0
bitovi
visoka
vrednost
(high value)
niska
vrednost
(lowvalue)
(fa) MRZS kodiranje
(a) NRZ kodiranje
niska
vrednost
(low value)
visoka
vrednost
(high value)
SLIKA 3.3 NRZ kodiranje sekvence 0
vreme
niska
vrednost
visoka
vrednost
konstantan naponski nivo
Va odgovor bi trebalo da glasi "sekvenca 0". Dobro, to je moda tano, ali koliko ima 0?
Odgovor na ovo pitanje utvrujete na osnovu trajanja jednog bita. Pretpostavite sada da smo kod
grafike reprezentacije rekli da jedan bit odgovara liniji duine 1 milimetar. Sve to treba da
uradite je da izmerite liniju i da duinu pretvorite u milimetre. Tako ete utvrditi koliko 0 ima u
sekvenci. U teoriji ovaj metod funkcionie, ali ne i u praksi. Pretpostavimo da jedna osoba
konstruie 1.000 jednomilimetarskih segmenata od poetka do kraja. Koliko je dugaka rezultu-
jua linija? Odgovor treba da bude: jedan metar. Medutim, odstupanja u merenju i iscrtavanju
razlog SU da linija bude dugaka skoro, ali ne i tano jedan metar. Nakon toga, druga osoba koja
meri liniju zakljuuje da je ona dugaka malo vie, ili manje od 1.000 segmenata. ak i ukoliko
je prva osoba imala sree i izmerila tano, nepreciznost u radu druge osobe izaziva neslaganje.
Kakve ovo ima veze sa prenosom podataka? Kada ureaj prenosi digitalni signal za jedan bit, on
generie konstantan signal odreenog trajanja, recimo T. Intemi takt definie tajming. Prijemni
uredaj mora da zna trajanje signala, tako da sempluje signa] na svakih T jedinica. Osim toga, i on
ima interni takt koji definie tajming. Dakle, dovoljno je osigurati da oba takta koriste isti T.
Sledee pitanje je da li svi uredaji u Vaoj ku imaju isto vreme odbrojavanja do u sekundu (kod
mene to nije sluaj). Naalost, svaki fiziki uredaj je "sklon" ogranienjima dizajna i nesavrenosti-
ma, Skoro je sigumo da u taktovima uredaja postoje male razlike koje izazivaju pomeranje semplo-
vanja signala prilikom prenosa sa jednog uredaja na drugi. To je slino sinhronizovanju asovnika u
novogodinjoj noi, kada vidimo da se kod veine javljaju razlike od par sekundi. Slino tome,
muziari u orkestru moraju da ponu sviranje u istom trenutku i istim tempom, ali, ako ne prate
dirigenta i ne sluaju jedni druge, doi e do neznatnog razilaenja u tempu (nee nastati veliko
kanjenje koje bi naruilo muziciranje, tako da deluje kao da svi sviraju u istom trenutku).
Komunikacionim ureajima je neophodan neki mehanizam da bi se onemoguila odstupanja u
tajmingu, slino dirigentu koji nastoji da odri uskladenost muziara u orkestru. Kod
konstantnog signala ne postoji mehanizam za sinhronizaciju. Meutim, ako se signal menja,
promene mogu da se koriste za odravanje sinhronizovanosti uredaja. Zbog toga se u nekim
emama uvodi promena signala.
Manester kodiranje
Manester (Manchester) kod koristi promene za ouvanje sinhronizacije izmedu ureaja koji
alju i koji primaju podatke. Neki ga nazivaju i samosinhronizujui kod. Da bi se izbegla situaci-
ja sa slike 3.3, razlika izmedu 0 i 1 oznaena je promenom naponskog nivoa. 0 se predstavlja
promenom napona sa visoke na nisku vrednost, a 1 promenom napona sa niske na visoku
vrednost. Na slici 3.4 prikazan je Manester-kodirani prenos stringa 01011001. Kao to slika
prikazuje, signal nikada nee imati konstantnu vrednost due od jednog bitskog intervala. Cak i
kada je re o sekvenci 0, ili 1, signal se menja na sredini svakog intervala. Ova promena
omoguava taktu prijernnog uredaja da ostane konzistentan sa taktom ureaja koji alje signale.
Nedostatak Manester kodiranja je to to je neophodan dvostruki opseg signala - signal mora da
se menja dva puta ee nego kod NRZ kodiranja.
SLIKA 3.4 Manester kodiranje
Varijacija ovog metoda se naziva difereacijalno Manester kodiranje. Slino Manester kodiranju,
uvek dolazi do promene signala na polovini svakog bitskog intervala. Razlika je u onome to se
deava na poetku svakog intervala. 1 izaziva zadravanje signala na istom nivou na kome je bio na
kraju prethodnog intervala. Prema tome, 0 moe da ide ili sa niskog na visoki, ili sa visokog na niski
nivo, u zavisnosti od inicijalne vrednosti signala. Na slici 3.5 prikazano je diferencijalno Manester
kodiranje za string 10100110. U ovom sluaju se 0 i 1 razlikuju po tome da li se promena signala
deava na poetku intervala. Detektovanje promena Je esto pouzdanije, posebno ako u kanalu
postoji vei um.
3.3 Analogni signali
Rad sa analognim signalima uvodi jo vie sloenosti u razmenu podataka. Problem je to to su
digitalni kompjuteri nekompatibilni sa analognim medijumima za prenos. Iako je veina
telefonskih sistema digitalna, kablovi koji se povezuju direktno sa Vaim telefonom prenose
analogne signale.
T, trajanje 1 bita
visoka
vrednost
vreme
niska
vrednost
0 1 0 1 1 0 0 1
T, trajanje 1 bita
nivo signala na
poetku prenosa
visoka
vrednost
niska
vrednost
SLIKA 3.5 Diferencijalno Manester kodiranje
1 0 1 0 0 1 1 0
Zbog toga, uredaji u lokalnoj centrali oekuju analogne signale. Ako poveete kompjuter na
telefonsku liniju, potreban Vam je ureaj koji konvertuje digitalni signal iz kompjutera u
analogni signal (modulacija) radi prenosa preko linije. Taj uredaj mora da konvertuje i analogne
signale koji se primaju preko telefonske linije u digitalne signale (demodulacija) radi prenosa
nazad u kompjuter. Modem (skraeno od modulacija/demodulacija) je uredaj koji vri obe
konverzije. Funkcije i standarde za modeme predstaviemo neto kasnije u ovom poglavlju, ali
najpre moramo da izloimo teorijsku osnovu za rad sa analognim signalima.
Za poetak, definisaemo analogni signal. Ranije smo rekli da se analogni signal kontinuelno
menja izmedu dve vrednosti i za njegovu ilustraciju smo koristili dijagram slian onome na slici
3.6. Ova definicija je sigurno tana, ali je daleko od kompletnog opisa. Signal sa slike 3.6a moe
matematiki da se predstavi trigonometrijskom funkcijom y = sin (t). Drugim reima, slika 3.6a
je grafik funkcije y = sin (t). Poto se sinusna funkcija moe menjati na razne naine, to znai da
moemo da menjamo rezultujui signal. U optem sluaju, analogni signal karakteriu njegova
frekvencija, amplituda i fazni pomak.
y = sin (t) y = sin (Nt)
(b) Perioda
(a) Perioda
y = A x sin (t)
(c) Amplituda A
SLIKA 3.6 Analogni signali
(d) Fazni pornak k
y = sin (t + k)
sesignal menja uvremenu i ako se uzorakkontinuelno ponavlja, perioda jevreme koje je
potrebnodasekompletirajedan uzorak.Takvafunkcijaje periodina. Na slici . periodaje2 .
Medutim, promenom funkcije = sin (Nt) promenili smo periodu u2 /N (slika 3.6b). Dakle,
kadasetmenjaod0do2 /N, argumentsinusnefunkcije (Nt) ide od 0 do2 . Uoptem sluaju,
ako je N>l, perioda je manja od 2 . Ako je N<1, perioda je vea od 2 .
Perioda je povezana sa frekvencijom, brojem oscilacija signala u jedinici vremena. Mera za
frekvenciju je broj ciklusa u sekundi, tj. herc (Hz). Ako je f frekvencija, a p perioda, onda vai
Znani, signa] sa slike 3.6b ima frekvenciju N/27t Hz.
Amplituda definie vrednosti izmedu kojih signal oscilira. Poto y = sin (t) oscilira izmedu 1 i -1, y
= A * sin (t) oscilira izmedu A i -A (slika 3.6c).
Poslednji nain za promenu signala obezbeden je faznim pomakom. Grafiki, to je horizontalni
pomak na grafikonu sinusoidalne funkcije. U optem sluaju, horizontalni pomak moe da se
postigne dodavanjem, ili oduzimanjem od argumenta. Na primer, ako je k>O, grafik y = sin (t+k),
predstavljen na slici 3.6d, pomeren je za k jedinica ulevo u odnosu na grafikon sa slike 3.6a. Ova
promena se lako potvruje izraunavanjem obe funkcije sa razliitim vrednostima za t.
Furijeovi rezultati
Videli smo da je analogni signal mnogo sloeniji od obinog sinusiodalnog talasnog oblika (grafikon
sinusne funkcije). U optem sluaju, amplituda, frekvencija i fazni pomak mogu da se menjaju u
vremenu i na taj nain je mogue kreirati sloene funkcije. Verovatno je najpoznatiji primer
analognog signala onaj koji se stvara kada razgovarate preko telefona (slika 3.7). Dok govorite,
menjate zvune talase da bi se proizvodile razliite rei. Va glas postaje glasniji, ili tii, u zavisnosti
od toga da li se raspravljate sa svojim efom, ili razgovarate sa verenicom. Izgovaranje glasnijih, ili
tiih rei, ili veom, ili manjom snagom, kreira zvuk koji se prevodi u elektrine analogne signale.
Amplituda odslikava jainu glasa, a frekvencija snagu (za sada, ne postoji jednostavan ekvivalent za
fazni pomak). Rezultat je sloena kombinacija signala koja predstavlja glas.
analogni signal
telefon
bla!
bla!
bla!
zvuk
SLIKA 3.7 Zvuk kreira analogni signal
Sada je problem kako preneti sloene signale. Postoji beskonaan broj naina za promenu
amplitude, frekvencije i faznog pomaka. Osim toga, praksa pokazuje da su razliiti signali podloni
razliitim stepenima izoblienja. Kako inenjeri dizajniraju hardver kojim se postie veran prenos
signala? Da li dizajniraju razliite hardverske ureaje i medijume za prenos razliitih tipova signala?
Da li su za funkcije koje predstavljaju razliite analogne signale neophodne posebne analize?
Odgovor na poslednja dva pitanja je negativan. uveni matematiar an Batist Furije razvio je
teoriju koja pokazuje da svaka periodina funkcija moe da se izrazi kao beskonana suma
sinusnih funkcija sa razliitim amplitudama, frekvencijom i faznim pomakom. Ta suma se
naziva Furijeov red. Ona je znaajna zbog toga to pokazuje da se sve funkcije, bez obzira na
sloenost, sastoje od istih komponenata.
Koristei matematiki zapis, pretpostaviemo da je s(t) periodina funkcija sa periodom P. Jedan
oblik Furijeovih rezultata ukazuje da je
(Postoje i drugi oblici, ali ovaj odgovara naim trenutnim potrebama.)
Koeficijenti a, (i=0, 1, 2, ...) i fc, (i=0, 1, 2, ...) odredeni su na osnovu izraza
i
Ovde neemo pokazivati kako su ove formule izvedene. Jednostavno ih navodimo radi objanja-
vanja ogranienja razliitih komunikacionih medijuma. Ako ste zainteresovani, detaljniji opis
Furijevih redova moete da pronadete u referencama [StOO], [Ge99] i [Ch02]. Ono to je za
nas ovde bitno je injenica da Furijeova analiza pokazuje da je svaki periodini signal suma
analognih signala sa razliitim frekvencijama i amplitudama. Na osnovu ovog tvrenja,
zakljuujemo da mogunost slanja i analize analognog signala zavisi od opsega frekvencija
(opsega signala) koji medijum moe da podri.
Razmotrimo sledei primer. Neka se s(t) definie kao
Na slici 3.8a dat je grafik ove funkcije. Poto je re o periodinoj funkciji (sa periodom 2 ),
moemo je napisati pomou Furijeovog reda. U ovom sluaju, sve konstante a
i
za i>0, jednake
su 0. Konstante bi su definisane sa
Koristili smo raunicu za utvrivanje ovih vrednosli i ovde neemo navoditi postupak za izrauna-
vanje. Ako znate kako funkcionie integralni raun, moete da proverite nae rezultate. Ako ne znate,
obratite panju na dole navedenu liniju, u kojoj smo periodinu funkciju iskazali kao
SLIKA 3.8 Furijeove aproksimaje
(e) Furijeova aproksimacija funkcije s(t) sa 11 lanova (f) Furijeova aproksimacija funkcije s(t) sa 21 lanom
(d) Furijeova aproksimacija funkcije s(t) sa pet lanova (c) Furijeova aproksimacija funkcije s(t) sa tri lana
(a) Grafik za s(t) (b) Furijeova aproksimacija funkcije s(t) sa jednim lanom
Izraunavanje beskonane sume traje malo due (verovatno vie nego to ste spremni da izdvo-
jite vremena). Najvie emu moete da se nadate je da e se aproksimacija funkcije izvesti sa
dovoljnim brojem lanova, ali jasno je da se moraju usvojiti kompromisi. Aproksimacija moe
brzo da se postigne sa nekoliko lanova. Naalost, ona nije preterano tana. Naravno, tanost
rezultata se poveava korienjem veeg broja lanova, mada to zahteva vie truda. Na slikama
3,8b do 3.8f prikazani su grafici aproksimacija kod kojih su korieni 1, 3, 5, 11 i 21 lan. Kao
to grafici pokazuju, sa par lanova jedva da se dobija slinost sa originalnom funkcijom. Ipak,
kako se broj lanova poveava, grafik postaje ravniji u svakom intervalu i "skokovi" izmedu 1 i
1 se deavaju bre.
Napominjemo da nije uvek neophodno koristiti prethodne jednaine za izraunavanje koeficije-
nata ai i bi. Ponekad je funkcija za koju pokuavamo da utvrdimo Furijeov red predstavljena, u
stvari, nizom taaka koje se menjaju u skladu sa vremenom, umesto da postoji konkretna
formula. Kada se poloaj taaka menja u skladu sa vremenom, kaemo da je funkcija defmisana
u vremenskom domenu. U takvim sluajevima, koeficijenti Furijeovog reda mogu da se
aproksimiraju (mada esto sa manjom grekom) korienjem numerikog integralnog rauna. To
ukljuuje izraunavanje diskretne Furijeove transformacije (ponekad se naziva konana Furijeova
transformacija). Rezultujua funkcija moe da se interpretira kao funkcija frekvencija koje se
javljaju u Furijeovim redovima. Tada kaemo da je funkcija definisana u frekventnom domenu.
Ako funkcija ima veliki broj taaka, izraunavanje diskretne Furijeove transformacije esto ukljuuje
ponavljanje nekih izraunavanja. Druga tehnika, nazvana brza Furijeova transformacija, izvodi
prethodni oblik Furijeovih redova u sumu eksponencijalnih anova sa sloenim brojevima i koristi
neke dobro poznate matematike rezultate za efikasnije izraunavanje. Da bi sve bilo jo kompliko
vanije, analitiari signala zavise i od inverzne brze Furijeove transformacije. Ideja je da se koriste brze
Furijeove transformadje i njihovi inverzni duplikati za transformacije izmeu vremenskog i
frekventnog domena za odredene klase funkcija. Ovo je znaajno jer su analitiarima signala
najbitniji poznavanje frekvencije i razumevanje naina na koji um utie na signale.
Detalji su oigledno isuvie sloeni i prelaze predvieni obim ove knjige. Meutim, hteli smo da
se ovde osvrnemo i na ovaj aspekat radi kasnije rasprave o DSL-u, kada se ponovo pozivamo na
inverzne brze Furijeove transformacije. Detaljna objanjenja moete da proitate u referencama
[Ge99] i [Ch02].
Primene Furijeovih rezultata
Furijeovi rezultati imaju sutinski znaaj za prouavanje komunikacija. Prenos sloenog
analognog signala preko medijuma sa ogranienim opsegom signala moe da se posmatra kao
aproksimiranje funkcije korienjem nekih lanova razvoja Furijeovog reda. Ovaj princip
moemo da iskoristimo za objanjenje zato se, na primer, kada sluamo neiji CD preko
telefona, drugaije uje nego kada se direktno slua.
Kvalitetna oprema moe da reprodukuje zvukove u okviru opsega od nekoliko desetina hiljada
Hz; naravno, konkretni opseg zavisi od same opreme. Moe da proizvodi zvukove od oko 30 Hz
(ciklusa u sekundi) do 20.000, ili 30.000 Hz. Sa druge strane, telefon moe da prenosi signale
samo izmedu 300 i 3.300 Hz. Zbog toga, originalni signal gubi veoma niske i veoma visoke
frekventne komponente. Sa aspekta ujnosti, gube se duboki basovi i visoki zvukovi, tako da zvuk
gubi na istoi. Furijeovi rezultati objanjavaju i zato glas neke osobe ne zvui identino preko
telefona i uivo. Sa druge strane, normalni glas nema opseg tonova koje ima muziki instrument
- veina frekvencija glasa pripada opsegu signala koji se prenose preko telefona. Iako postoji neki
gubitak u kvalitetu tona, prenosi se dovoljno frekvencija koje omoguavaju prepoznavanje glasa
i onoga to se govori.
Furijeovi rezultati se koriste i za definisanje hardvera. Na primer, filter blokira odredene frekve-
ncije, a ostale proputa. Filteri imaju iroki opseg primene. Na primer, ekvilajzer, koji se nalazi u
stereo uredajima, moe da se podesi da izbacuje odredene muzike tonove. Ako elimo da
istaknemo basove, ili visoke zvukove, kao to su sopran, ili zvuci flaute, pri vrhu muzike lestvice,
moemo da postavimo ekvilajzer da menja frekvencije koje filter blokira.
Drugi primer je kablovska televizija. Neupueni kupac moe da se pita kako je mogue da televi-
zor primi vie od 100 razliitih kanala. Odgovor lei u mogunosti da se sloeni signal posmatra
kao vie jednostavnijih. Svakom kanalu je dodeljen odredeni frekventni opseg i signal definie
zvuk i sliku, koristei frekvencije iz tog opsega. Fiziki kabl prenosi jedan signal koji predstavlja
sumu signala za sve kanale. Ovaj proces, nazvan multipleksiranje, detaljnije emo predstaviti u
Poglavlju 4. Selektovanjem kanala na televiziji jednostavno omoguavate prolazak frekvencija iz
odredenog opsega. KoIa u televizoru ih analiziraju i stvaraju zvuk i sliku.
Slede primer je DSL tehnologija, koju emo opisati neto kasnije u ovom poglavlju. Videete da
uobiajeni metod povezivanja kompjutera na Internet ukljuuje generisanje vie signala unutar
definisanih frekventnih opsega, njihovo kombinovanje i korienje brze Furijeove transformacije za
generisanje rezultata.
3.4 Bitska brzina
Nikvistova teorema i beumni kanali
Sledei korak u raspravi o signalima odnosi se na povezivanje sa transferom bitova. Kompjuterske
mree danas za tu svrhu koriste sve oblike prenosa. Kako se potrebe i kapaciteti mrea neprestano
razvijaju, moraju se dati odgovori na osnovna pitanja. Na primer: sa konkretnim medijumom,
koliko bitova je mogue preneti u jedinici vremena? Za opisivanje kapaciteta medijuma koristi se
bitska brzina (bit rate), koja se izraava brojem bitova u sekundi (bps). Znaajan rezultat u
teoriji komunikacija tie se veze izmedu bitske brzine i opsega signala. Prosto reeno, visokopro-
pusni medijum moe da podri vee bitske brzine. Relaja izmeu njih je toliko tesna da mnogi
ljudi ove termine smatraju sinonimima.
Pre opisivanja relacije, morate da razumete mehanizam koji omoguava transfer bitova. Na slici
3.9 ilustrovane su glavne komponente. U osnovi, predajnik alje signal koji predstavlja niz
bitova. Prijemnik "oslukuje" medijum i kreira niz bitova na osnovu signala koji prima.
SLIKA 3.9 Slanje podataka preko signala
Pogledajmo signal malo paljivije, Najpre predstavljamo niz bitova sa b1 b2 ... bn. Predajnik
naizmenino analizira svaki niz, pa prenosi komponentu signala koja je na jedinstven nain
odreena vrednostima bitova. Kada se komponenta poalje, predajnik uzima sledei niz bitova i
ponavlja proces. Razliite komponente signala ine stvarni preneti signal. Frekvencja kojom se
komponente menjaju naziva se brzina bauda (baud rate); ona oznaava broj radnih rei koje se
prenesu u jednoj sekundi.
Precizan nain na koji predajnik utvrduje svaku komponentu predstavlja temu u narednom odeljku
(ovde nije bitan). Ako elite neke konkretnije informacije, samo zamislite da postoji jedinstvena
amplituda signala za svaku kombinaciju bitova. Na primer, komponente signala mogu da imaju
najvie 2" razliitih amplituda, po jednu za svaku kombinaciju vrednosti bl b2 ... bn.
Na prijemnom kraju proces je invertovan. Prijemnik naizmenino sempluje dolazei signal i
generie niz bitova. Niz bitova zavisi od uzorka. Da bi ovaj proces ispravno funkcionisao,
prijemnik mora da ima mogunost semplovanja na frekvenciji koja odgovara brzini bauda (ako
se semplovanje vri ree nego to se komponenta menja, neke komponente nee biti semplovane
i doi e do gubljenja podataka).
Dakle, bitska brzina zavisi od frekvencije sa kojom se komponenta moe menjati (brzina bauda)
i n, broja bitova u stringu. Mnogi ljudi esto naizmenino koriste termine brzina bauda i bitska
brzina. Na osnovu nae rasprave sada vidite da ova ideja nije tana. U stvari,
bitska brzina = brzina bauda x n
Ovo moe da znai da je uvek mogue poveati bitsku brzinu poveanjem brzine bauda, ili broja
bitova u stringu (n). Ovo je tano, ali samo do odredene take. Neki klasini rezultati
postavljaju gornju granicu za brzinu prenosa podataka.
Prvi rezultat je zaudujue star - potie jo iz dalekih 20-ih godina prolog veka, kada je Heri
Nikvist (Harry Nyquist) razvio svoju klasinu teoriju (u referencama [Wa98] i [B199] moeteda
proitate formalniji opis). Ovde se neemo baviti njegovom teorijom, ali emo je navesti i
objasniti njen znaaj za razmenu podataka. Prvo, Nikvist je pokazao da prijemnik, ako je f
maksimalna frekvencija koju medijum moe da podri, moe u potpunosti da rekonstruie
signal, semplujui ga 2f puta u sekundi (moramo da napomenemo da je Nikvist pretpostavio da
nema uma i da nikava izoblienja ne menjaju signal, tj. pretpostavio je da se koristi kanal bez
ikakvih umova; ukratko emo predstaviti i kanale sa umovima). Drugim reima, prijemnik
moe da rekonstruie signal semplovanjem u intervalima od 1/(2f) sekundi, ili sa dva puta
veom periodom (zapamtite, jedna perioda = 1/f).
predajnik
(transmitter)
medi j um za prenos
prijemnik
(receiver)
pri ml j eni niz bitova
b
11>2 t>n
komponenta signala
koja odgovara
nizu bitova
poslati niz bitova
b, b
2
. . . b
n
Na primer, ako je maksimalna frekvencija 4.000 Hz, prijemnik mora da sempluje signal 8.000
puta u sekundi. Drugim reima, signal moe u potpunosti da se rekonstruie semplovanjem
svakih 1/8000-tih delova sekunde.
Pretpostavimo sada da predajnik menja signale u intervalima 1/(2f ). Drugim reima, brzina
bauda je 2f. Zatim, imamo rezultate Nikvistove teoreme koja kae da je
bitska brzina = brzina bauda xn = 2 x f x n
U nekim knjigama u Nikvistovoj teoremi koristi se broj razliitih komponenata signala, umesto
broja n. Drugim reima, ako je B broj razliitih komponenata, onda je
B = 2
n
ili, ekvivalentno
n = log
2
(B)
bitska brzina = 2 x / x log
2
(B)
U takvim shiajevima moemo da zapiemo
U tabeli 3.1 dati su neki rezultati postignuti uz pretpostavku da je maksimalna frekvencija 3.300
Hz aproksimirana gornja granica za telefonski sistem.
Kanali sa umovima
Prema do sada predstavljenim informacijama, izgleda kao da ne postoji gornja granica za bitsku
brzinu na odredenoj maksimalnoj frekvenciji. Naalost, to nije tano. Prvo, vei broj komponenata
signalaznai i suptilnije promene izmedu njih. Na primer, pretpostavimo da amplituda signala mora
da bude manja, ili jednaka 5 volti i da je svaka komponenta odredena samo amplitudom. Ako
koristimo dve komponente defmisane sa 2,5 i 5 volti, signali se razlikuju za 2,5 volti. Medutim, ako
se korisli 16 komponenata signala, neophodna je razlika od oko jedne treine volte izmedu
susednih amplituda. Prijemnik mora da bude sofisticiraniji (i skuplji) da bi mogao da detektuje
manje razlike.
N, broj bitova u okviru B, broj komponenata Maksimalna bitska
komponente signala signala brzina (bps)
1
2
3
4
2
4
8
16
6.600
13.200
19.800
26.400
medijum za
prenos na kome
postoie umovi
predajnik
(transmitter)
prijemnik
(receiver)
prijemnik
(receiver)
medijum za
prenos na kome
postoje umovi
predajnik
(transmitter)
SLIKA 3.10 Efekat uma na digitalne signale
(b) MaIa razlika u vrednostima napona
(a) Velika razlika u vrednostima napona
Ako su razlike isuvie male, uredaj moda nee moi da detektuje sve promene.
Drugi razlog nastaje zbog toga to su mnogi kanali podloni uticaju uma, to znai da se preneti
signal moe izobliiti. Ako je izoblienje veliko, prijemnik ne moe da rekonstruie signal.
Na primer, razmotrite digitalni signal sa slike 3.10a (uzimamo primer digitalnog signala, jer je
jednostavniji za ilustrovanje; slina diskusija moe da se povede i o analognim signalima).
Predajnik alje dva signala - oba osciluju izmedu dva naponska nivoa. Medutim, preneti signal je
podloan uticaju uma i primljeni signal se razlikuje od njega. Izoblienje nije mnogo veliko,
tako da primljeni signal i dalje jasno defmie dva naponska nivoa. Zbog toga, nije teko
rekonstruisati primljeni signal.
Na slici 3.10b prikazana je slina situacija, osim to se u ovom sluaju originalni naponski nivoi
razlikuju. Kada se um pojavi, izoblieni signali imaju preklopljene naponske nivoe i zato je
teko, ako ne i nemogue, rekonstruisati originalni signal na osnovu primljenog.
enonov rezultat
Nauili smo da um moe da promeni i eventualno izoblii poslate informacije. Mogunost
rekonstruisanja informacija zavisi od jaine uma. Na primer, mali statiki elektricitet nee imati
mnogo uticaja na prenos signala sa radio tornja ija snaga iznosi 50.000 vati. Medutim, uticaj
munje je daleko ozbiljniji. Naravno, razliku odreduje jaina uma u odnosu na preneti signal.
Inenjeri koji se bave elektronikom koriste parametar pod nazivom koeficijent signal-um, na
osnovu koga se odreuje stepen uticaja uma na signal. Defmie se kao S/N, gde je S jaina
signala, a N jaina uma. Ovaj parametar moete da vidite i u specifikacijama audio opreme, gde
se koristi kao mera "istoe" zvuka. Velika vrednost koeficijenta ukazuje na "isti" signal; mala
vrednost ukazuje na izoblieni signal.
Kod visokokvalitetne opreme visoka vrednost koeficijenta signal-um ukazuje na visokokvalitetni
zvuk (iako u nekim sluajevima evidentno poveanje kvaliteta ne moe ujno da se registaije). Poto
je S obino vee od N, koeficijent se esto skalira logaritamski i izraava se kao
B = log
10
(S/N) belova
Bel je jedinica mere. Na primer, ako je S 10 puta vee od N (S = 10 x N), onda je
B = log
10
[(10 x N)/N]. = log
10
(10) = 1 bel. Slino tome, S = 100N daje 2 bela, S = 1000 x N daje
tri bela i tako dalje.
Veini je verovatno blii termin decibel (dB). Defmie se kao 1 dB = 0.1 bel. Da biste bolje
razumeli ta ovo znai sa stanovita S i N, pogledajmo sledei primer. Uzmite zvuk jaine 25 dB.
To je isto to i 2,5 bela i znai B = log
10
(S/N) = 2.5. Na osnovu ove jednaine, S/N treba da bude
jednako 10
25
, ili ekvivalentno
S = 10
25
x N =100 x N 316N
Klod enon (Claude Shannon) se 40-ih godina prolog veka nadovezao na Nikvistovu teoremu i
prouavao kanale sa umovima. Pokazao je da maksimalna bitska brzina ne zavisi samo od
maksimalne frekvencije, ve i od koeficijenta signal-um. Pokazao je da vai sledea formula
bitska brzina = opseg signala x log
2
(l + S/N) belova
Formula pokazuje da vei opseg signala i koeficijent signal-um omoguavaju vee bitske brzine.
Ako se jaina uma povea, maksimalna bitska brzina se smanjuje. Ideja ove relacije je da um,
ako je koeficijent signal-um isuvie mali, moe da dovede do identine reprezentacije razliitih
signala.
Za ilustraciju koristimo primer praktine gornje granice za prenos podataka preko telefonske
linije. Telefonski sistem ima opseg signala otprilike od 3.000 Hz, a koeficijent signal-um od oko
35 dB, ili 3,5 bela. Na osnovu ove relacije, sledi da je 3.5 = log
10
(S/N), ili S = 10
35
x N 3162N.
Na osnovu ovih vrednosti, prema Senonovim rezultatima, vai sledee:
bitska brzina = opseg signala x log
2
(l + S/N)
= 3000 x log
2
(l + 3162) bps
3000 x 11.63 bps
34,880 bps
Kao fmalnu napomenu, istieno da ovo nije "isto" teorijski rezultat, kojim ne bi trebalo preterano
da se bave korisnici mrea i kompjutera. Ovaj rezultat ima stvarne implikacije na korisnike modema.
Tokom 80-ih godina prolog veka 2400 i 9600 bps modemi su postali uobiajeni uredaji. Postojali
su i modemi sa vem bitskim brzinama, ali su bili prilino skupi. Poetkom i sredinom sledee
decenije videli smo modeme koji su mogli da prenose podatke sa 28,8 i 33,6 Kbps, a ubrzo su se na
sceni pojavili i 56 Kbps modemi. Prema enonovim rezultatima, bitska brzina od oko 35.000 bps
predstavlja gomju granicu za konvencionalne modeme; proizilazi zakljuak da brzina od 56 Kbps
namava verodostojnost enonovih rezultata. Ipak, to nije sluaj, jer su Senonovi rezultati i brojke
koje smo ovde koristili zasnovani na pretpostavkama koje nisu u skladu sa dananjim prilikama. Pre
nego to su Internet provajderi (ISP) postali uobiajeni, ljudi su esto koristili modeme za biranje
broja i povezivanje na drugi modem u mrei kompanije, ili u univerzitetskoj mrei.
Zbog dodatne konverzije analognih u digitalne signale na udaljenom kraju, nivoi uma su vii, a
granica bitske brzine je blizu 35 Kbps. 56 Kbps modemi mogu da postignu vee bitske brzine kada
se "vezujete" direktno na ISP. Oprema provajdera je dizajnirana uz pretpostavku da je vena
telefonskih sistema digitalna i da Je, zato, mogua direktna komunikacija; nema konverzije izmedu
analognih i digitalnih signala na tom kraju i zato su nivoi uma nii. U odeljku 3.7 bie detaljnije
obraen ovaj problem.
3.5 Konvertovanje digitalnih u analogne signale
U prethodnim odeljcima je opisan prenos podataka pomou analognih i digitalnih signala. Ako
se koriste iskljuivo analogni, ili iskljuivo digitalni signali, komunikacija e biti pojednostavlje-
na i sadraj ovog odeljka Vam nee biti potreban. Naravno, ovo pojednostavljenje je glavni razlog
zato se televizijski prenosi i kablovski signali orijentiu na digitalne signale. Medutim, u praksi
postoji veliki stepen meanja komunikacije analognih i digitalnih uredaja. Osim toga, postoje i
dobri razlozi zbog kojih se ne ide na primenu samo analognih, ili samo digitalnih signala.
Do sada ste nauili da su kompjuteri digitalni ureaji. U stvari, veina kompjuterskih
komunikacija, kao to je sluaj komunikacije izmedu radne stanice i servera, ili kompjutera sa
diskom, koristi digitalne signale. Osim toga, lokalne mree se obino u potpunosti oslanjaju na
digitalne signale. Gde se u celu "priu" uklapaju analogni signali? Odgovor je u komunikacijama
na daljinu. Mnogi Ijudi koriste personalne kompjutere u svojim domovima i komunikaciju sa
ISP-om uspostavljaju preko telefonskih linija, servisa kablovske televizije, ili, rak, satelitske
antene. Kao to smo ve istakli, modem (skraeno od modulacija/demodulacija) potreban je za
konverziju razliitih tipova signala. Standardni modem je uredaj koji se instalira u unutranjosti
kompjutera i povezuje se na internu magistralu (slika 3.11). Digitalni signali iz memorije, ili fajla
na disku "putuju" ka modemu preko inteme magistrale. Modem prihvata te signale, konvertuje
ih u analogne i alje ih telefonskom sistemu preko telefonske linije koja je prikljuena na
modem. Kada se signal nade u telefonskom sistemu, tretira se kao i svi ostali govorni signali.
Na odredinom kompjuteru informacije se podvrgavaju obmutom procesu (recimo prilikom
preuzimanja fajla). Analogni signali dolaze preko telefonske linije, stiu do modema i modem ih
konvertuje u digitalne signale i preko interne magistrale alje u memoriju, ili fajl na disku.
SLIKA 3.11 Podaci iz kompjutera preneti preko telefonskih linija
Interna
magistrala PC-ja
digitalni signal
modem
analogni signal
telefonski
sistem
SLIKA 3.12 Govorne informacije prenete u digitalnom obliku
SJede primer analognih uredaja koji komuniciraju koristei digitalne signale nalazi se u samom
(elefonskom sistemu. Znamo da je telefon ureaj koji konvertuje govorne zvuke u analogne
signale. U starom telefonskom sistemu analogni signali su prenoeni preko ica, Oi kablova do
prijemnog telefona, gde su konvertovani nazad u zvuk. Dananja fiber tehnologija je u
potpunosti promenila nain na koji se glas prenosi. Poto optiki fiber prenosi digitalne signale,
uredaj se naziva codec (skraeno od coder/decoder) i prevodi analogni govorni signal u digitalni
ekvivalent (slika 3.12). Nakon toga se prenosi digitalni signal. U odredenoj taki se konvertuje
nazad u analogni signal, tako da moe da se konvertuje u zvuk na prijemnom telefonu.
If ovom i narednom odeljku emo objasniti kako se digitalni signali konvertuju u analogne i
obratno. U odeljku 3.7 predstaviemo operacije i standarde modema.
Frekventna modulacija
Konvertovanje digitalnih signala u analogne nije teko. U osnovi, sve to treba da uradimo je da
pridruimo grupu vrednosti jednog, ili vie bitova odreenom analognom signalu. U odeljku 3.3
opisana su tri naina za promenu analognog signala: na osnovu frekvencije, amplitude, ili faznog
pomaka.
Jednostavni metod konvertovanja frequency shift keying (FSK), koji se naziva i frekventna
modulacija (FM), pridruuje 0 jednoj, a 1 drtigoj analognoj frekvenciji. Na primer, ako 0
odgovara vioj frekvenciji, a 1 nioj, na slici 3.13 prikazan je analogni signal koji se dobija za
string 01001.
SLIKA 3.13 Pomeranje izmeu frekvencija (dve frekvencije), jedan bit po baudu
0 1 0 0 1
bla!
bla!
bla!
zvuk
telefon analogni signal
codec
digitalni signal
Za svaki bit modem moe da prenosi signal odgovarajue frekvencije u odredenom vremenskom
periodu. Period, a samim tim i broj ciklusa, promenljiv je (u odeljku 3.7 date su neke specifine
vrednosti za odreene modeme).
Korienje dve frekvencije podrazumeva da se sa svakom promenom signala alje jedan bit
podataka. To je situacija u kojoj su brzina bauda (koliko se esto menjaju karakteristike signala)
i bitska brzina sline. Alternativni oblici frekventne modulacije rnogu da koriste vie frekvencija.
Na primer, poto dva bita mogu da formiraju jednu od dve mogue kombinacije, svakom paru
bitova moemo da pridruimo jednu od etiri frekvencije. Dakle, svaka promena frekvencije
predstavlja dva bita podataka - bitska brzina je dva puta vea od brzine bauda.
U optem sluaju, n bitova moe da formira 2n kombinacija i svakoj se moe pridruiti jedna od
2n frekvencija. U ovom sluaju je bitska brzina n puta vea od brzine bauda.
Amplitudska modulacija
Metod amplitude shift keying (ASK), poznat i kao amplitudska modulacija (AM), lii na FSK
metod. Razlika je, kao to ste mogli oekivati, u tome to se svakoj grupi bitova pridruuje
analogni signal sa odreenom amplitudom. Osim toga, kao i kod FSK metoda, u grupi bitova
moe da se nadu jedan, dva, ili vie bitova, ijim se pridruivanjem definie relacija izmedu bitske
brzine i brzine bauda.
Da bismo ovo ilustrovali, pretpostaviemo da imamo etiri amplitude: A
1
, A
2
, A
3
i A
4
. Koristei
ove oznake, u tabeli 3.2 smo prikazali nain pridruivanja bitova svakoj amplitudi. Na slici 3.14
prikazan je analogni signal za string 00110110. U ovom sluaju je bitska brzina dva puta vea od
brzine bauda. Oba bita (poevi od levog) definiu signal sa odgovarajuom amplitudom. Kao i
kod promene frekvencije, signal se prenosi u okviru fiksnog vremenskog perioda.
Fazna modulacija
Metod phase shift keying (PSK), poznat i kao fazna modulacija (PM), podsea na prethodne
tehnike. Signal se razlikuje po faznom pomaku, umesto po frekevenciji, ili amplitudi. Tipino,
fazni pomak signala se meri u odnosi na prethodni signal. U takvim sluajevima se esto koristi
termin differential phase shift keying (DPSK). Kao i ranije, sa n bitova mogue je formirati 2
n
faznih pomaka, tako da je kod ove tehnike bitska brzina n puta vea od brzine bauda.
00
01
10
11
A1
A2
A3
A4
Vrednosti bitova Amplituda generisanog signala
OO 1 1 0 1 10
SLIKA 3. 14 Amplitudska modulacija (etiri amplitude), dva bita po baudu
Kvadraturna amplitudska modulacija
Sve prethodno predstavljene tehnike mogu da se koriste za razliite signale. Velika raznolikost u
karakteristikama signala znai veu bitsku brzinu na odreenoj brzini bauda. Problem je to vee
bitske brzine zahtevaju legitimnije signale, ime se redukuju razlike izmeu njih. Kao to je
prikazano u prethodnom odeljku, ovo stvara potekoe, jer je neophodna oprema koja moe da
registruje razlike izmedu signala ije se frekvencije, amplitude, ili fazni pomaci razlikuju samo
malo. Osim toga, um moe da izoblii signale, tako da se jedan legitimni signal transformie u
drugaiji, takode legitimni signal, to dovodi do prenosa pogrenog stringa.
Cesto se koristi kombinacija promene frekvencije, amplitude, ili faznog pomaka, tako da je
mogue koristiti veu grupu legitimnih signala dok se izmedu njih stvaraju vee razlike. Najee
se koristi tehnika kvadraturne amplitudske modulacije (QAM), kod koje se grupe bitova
dodeljuju signalu definisanim svojom amplitudom i faznim pomakom.*
Na primer, pretpostavimo da koristimo dve razliite amplitude i etiri razliita fazna pomaka.
Njihovom kombinacijom moe da se definie osam razliitih signala. U tabeli 3.3 prikazana je
relacija izmedu vrednosti stringova sa tri bita i signala.
* Inenjeri moda nee prihvatiti ovu definiciju. Kvadraturno amplitudski modulisani signali kreirani su dodavanjem dva
analogna signaia iste frekvencije. Jedan signal odgovara sinusnoj funkciji, a drugi kosinusnoj (ove dve funkcije se razlikuju
za ugao od 90 i odatle termin kvadraturna). To znai da je signal oblika C sin(x) +D cos(x). Promenljiva semenjau
vremenu uzavisnostiod frekvencijesignala, dokC i Dzaviseod inicijalnogsignala. Medutim, trigonometrija pokazuje da C
sin(x)+D cos(x)moedasezapieikaoA sin(x+P,gdejeA= P = arcsin( ). Zato c'emo, za nae
potrebe, smatrati da signal ima promenljivu amplitudu i fazni pomak.
Amplitudu definiemo kao Al i A2, a fazne pomake kao 0, 1/(4/), 2/(4/) i 3/(4/), gde je /
frekvencija. Pomaci odgovaraju jednoj etvrtini, dve etvrtine i tri etvrtine periode, respektivno.
Na slici 3.15 prikazana je promena signala do koje dolazi prilikom prenosa niza bitova 001-010-
100-011-101-000-011-110 (crtice smo naveli radi bolje preglednosti; one nisu deo prenosa). Da
biste razumdi zato signal izgleda ovako, paljivo proitajte ovo to sledi. Prva tri bita, 001,
definiu signal sa amplitudom A
2
i faznim pomakom 0. Zbog toga, na osnovu rasprave iz
prethodnog odeljka, signal startuje na 0 volti i oscilira izmedu vrednosti A
2
i -A
2
.
SLIKA 3.15 Kvadraturna amplitudska modulacija (dve amplitude i etiri faze), tri bita po baudu
000
001
010
OU
100
101
110
111
Vrednosti bitova
Amplituda generisanog
signala
Fazni pomaci
generisanog signala
interval 1 interval2 interval 3 interval 4 interval 5 interval 6 interval 7 interval 8
001 010 100 011 101 000 011 110
SLIKA 3.16 Efekat faznog pomaka na signal
(a) Mema faznog pomaka fb) Fazni pomak od 1/(40
1 ciklus 1 ciklus
Kao i ranije, broj ciklusa zavisi od frekvencije i duine ukupnog intervala u kome se signal
prenosi. Mi smo, radi bolje preglednosti, nacrtali samo jedan ciklus.
Sledea tri bita, 010, definiu signal sa amplitudom Al i faznim pomakom 1/(4f). Dakle, kao to
moe da se vidi na slici 3.15, signal oscilira izmedu A
1
i -A
1
. Da nema faznog pomaka, signal bi
startovao od 0 i rastao bi do A
1
. Medutim, kao to je opisano u prethodnom odeljku, pozitivni
fazni pomak odgovara levom horizontalnom pomaku na grafiku. Da biste to lake razumeli, na
slici 3.16 smo ilustrovali grafik bez faznog pomaka i (b) sa faznim pomakom od 1/(4f).
Moda e Vam razumevanje grafika sa slike 3.16 biti lake ako se setite da je p = 1/f, gde je p
perioda signala. Drugim reima, 1/(4f) odgovara jednoj etvrtini periode, tako da Je grafik sa
slike 3.16b pomeren ulevo u odnosu na sliku 3.16a za jednu etvrtinu periode. Zato signal
poinje od maksimuma, opada do minimuma i ponovo raste do maksimuma. Zbog toga izgleda
da je prva etvrtina periode, u kojoj signal raste od 0 do maksimuma, odseena. Ovaj fenomen je
upravo ono to moete da vidite na drugom intervalu na slici 3.15.
Trei skup bitova, 100, defmie signal sa amplitudom A
3
i faznim pomakom 2/(4/). Pre nego to
objasnimo ta ovo znai, prouite signal na kraju drugog intervala. Trenutno se nalazi u maksi-
mumu A
1
. Da nije bilo faznog pomaka, signal bi jednostavno startovao u A1 i nastavio da opada
sve do -A
1
. Ali, fazni pomak od 2/(4f) znai da je eleminisana polovina periode. Poto je
prethodni signal zavren u maksimumu, polovina periode odgovara delu u kome signal opada
od A
1
do -A
1
. Zato signal na poetku treeg intervala startuje od svoje minimalne vrednosti.
Sada emo dati optije objanjenje naina na koji se signal generie na osnovu grupe od tri bita.
Signal zavisi od toga gde je zavren signal prethodne grupe od tri bita. Fazni pomak se defmie
relativno u odnosu na tu taku. U tabeli 3.4 novi signal se definie kao funkcija faznog pomaka
i pozicije prethodnog signala. Imajte na umu da se maksimum i minimum u prvoj koloni odnose
na prethodni signal, doksu maksimum i minimum za tekui signal dati u drugoj koloni.
Pokazaemo kako se ova tabela primenjuje kod definisanja signala u etvrtom intervalu sa slike
3.15. Pozicija prethodnog signala (u intervalu 3) odgovara minimumu. Osim toga, bitovi 011
defmiu signal amplitude A
2
i faznog pomaka 1/(4f). Signal je definisan donjim redom tree
kolone: startuje u 0 i raste do svog maksimuma A
2
, kao to se vidi i na slici.
Napomenimo da trobitna vrednost ne definie uvek isti signal. Na primer, intervali 4 i 7 odgo-
varaju kombinaciji 011, ali se signali razlikuju. Naravno, oba signala imaju istu amplitudu.
Medutim, fazni pomak je relativan u odnosu na kraj prethodnog signala. Zbog toga, i pored
injenice da oba signala imaju isti fazni pomak 1/(4f), startuju u razliitim vrednostima. Sledee
to vredi istai je da isti signal u dva razliita intervala moe da odgovara razliitim kombinaci-
jama bitova. Na primer, signali u intervalima 6 i 8 su identini, ali se kombinacije njihovih
bitova razlikuju. Zato?
Ostali naini modulacije signala pomou razliitih kombinacija amplitude, frekvencije i faznog
pomaka predstavljeni su u odeljku 3.7, u okviru predstavljanja standarda za rnodeme.
Kao to je istaknuto u prethodnona odeljku, vee bitske brzine mogu da se postignu pridruivanjem
veeg broja bitova po jednom baudu i korienjem vie defmicija signala. Medutim, imajte na umu
da poveanje broja korienih signala umanjuje mogunost detektovanja razlika izmedu njih. Ako se
koristi isuvie veliki broj signala, i manji umovi mogu da uine jedan signal identinim sa nekim
drugim. Ukoliko se to desi, prijemni modem pogreno interpretira signal i alje pogrene bitove ka
svom uredaju. Postoji vie riaina za otklanjanje greaka; neki mehanizmi za detektovanje i korekci-
ju greaka predstavljaju temu Poglavlja 6.
3.6 Konvertovanje analognih u digitalne signale
Neke konverzije analognih u digitalne signale ne predstavljaju nita drugo nego prethodno
objanjeni proces, ali samo u obrnutom smeru. Modem proverava amplitude, frekvencije i fazne
pomake dolazeih signala i u skladu sa detektovanim vrednostima generie digitalne signale. Ovi
analogni signali imaju konstantne karakteristike, bar posmatrano u kratkim intervalima.
Medutim, nisu svi analogni signali takvi. ta je sa analognim signalima koji se menjaju
kontinuelno? Najoigledniji primer mogu da budu analogni signali koje stvaraju zvukovi, kao to
su glas, ili muzika. Ovi signali su sloeniji od onih koje generiu digitalni podaci i zahtevaju
alternativne tehnike za konvertovanje.
U 0, rast Start u 0, rast Start u Start u 0, Start u minimumu
maksimumu opadanje
U Start u opadanje Start u Start u 0, rast
maksimumu maksimumu Start u 0, minimumu
U 0, opadanje Start u 0, Start u Start u 0,
opadanje minimumu rast
U minimumu Start u Start u 0, Start u Start u 0,
minimumu rast maksimumu opadanje
Pozicija
prethodnog Bez faznog Fazni pomak Fazni pomak Fazni pomak
signala pomaka od 1/4 periode od 2/4 periode od 3/4 periode
SLIKA 3.17 lmpulsna amplitudska modulacija
lmpulsna amplitudska modulacija
Jedan od metoda za digitalizaciju analognog signala je impulsna amplitudska modulacija
(PAM - pulse amplitude modulation). U okvim ovog jednostavnog procesa, analogni signal se
sempluje u pravilnim intervalima, a zatim se generie impuls sa amplitudom semplovanog
signala. Na slici 3.17 prikazan je rezultat semplovanja u pravilnim intervalima.
lmpulsna kodna modulacija
Signali generisani PAM modulacijom izgledaju digitalno, ali poto impulsi mogu da imaju
proizvoljne amplitude, signal i dalje ima karakteristike analognog. Jedan od naina da se ovi
impulsi uine stvarno digitalnim je da se svakom semplovanom signalu dodeli amplituda iz
preddefinisanog skupa. Ovaj proces se naziva impulsna kodna modulacija (PCM - pulse code
modulation). Na primer, pretpostavimo da smo podelili amplitudski opseg u skup od 2
n
amplituda i da je svakoj amplitudi pridruen n-bitni binarni broj. Na slici 3.18 prikazana je
podela na osam vrednosti (n=3).
Kao i ranije, periodino semplujemo analogni signal. Ali, ovoga puta biramo jednu od 2
n
ampli
tuda koje najblie odgovaraju semplovanoj amplitudi. Nakon toga se sekvenca bitova prenosi
pomou digitalnog prenosa koji se koristi u konkretnom uredaju.
digitalno kodiran kao
001-010-101-:
111-110-101-(
010-010-011-:
SLlKA 3.18 lmpulsna kodna modulacija
signal nakon impulsne
amplitudske modulacije
analogni signal
analogni signal
Semplovanjem u pravilnim intervalima, sa uestalou s u sekundi, postiemo bitsku brzinu od
n x s bitova u sekuni. Taj proces je prikazan na slici 3.18. Prvi sempl odgovara kombinaciji 001,
drugi 010 i tako redom.
Na prijemnoj strani niz bitova se deli u grupe od po n bitova i pristupa se rekonstrukciji
analognog signala. Tanost rekonstruisanog signala zavisi od dva faktora. Prvi je frekvencija sem-
plovanja s. Semplovanje sa frekvencijom manjom od frekvencije signala moe da uzrokuje
proputanje nekih oscilacija (slika 3.19). Zbog toga, rekonstmisani signal moe da predstavlja
slabu aproksimaciju originalnog signala. Zato je semplovanje neophodno izvesti sa frekvencijom
koja obezbeuje zadravanje svih karakteristika originalnog signala. Ovo moda navodi na
zakljuak da je bolje imati vei broj semplova. Taj zakljuak je taan, ali samo u odreenoj meri.
Seate se Nikvistove teoreme iz odeljka 3.4. Tamo je reeno da je semplovanje signala sa uesta-
lou koja je dva puta vea od njegove frekvencije sasvim dovoljno da se sauvaju informacije iz
prenetog signala. Ovde sada imamo lepu primenu Nikvistove teoreme. Ako je maksimalna
frekvencija signala f, sve to je vee od s = 2f ne obezbeduje bolju aproksimaciju nego kada se
koristi s = 2f.
Drugi faktor koji utie na tanost jeste broj razliitih amplituda koje se dodeljuju impulsima. Na
slici 3.18 prikazana je podela na osam vrednosti, radi pojenostavljenja ilustracije. Ako postoje
velike razlike izmedu semplovanog signala i impulsa, rekonstruisani signal moe da bude
izoblien. To se naziva um kvantizacije. Redukovanjem razlika izmeu amplituda susednih
impulsa olakava se redukovanje uma kvantizacije; meutim, bez obzira na broj korienih
amplituda, odreeni stepen uma je neizbean.
Jo jedna napomena: vie frekvencije semplovanja i vei broj amplituda daju visokokvalitetni
prenos, ali uz odreenu cenu. Da bi bio prenet vei broj bitova u sekundi, potrebna je vea
bitska brzina, a to kota vie.
PCM ima nekoliko praktinih primena. Jedna je digitalizacija govornih signala preko medugra-
dskih telefonskih linija. Standard koji je prihvaen irom sveta izvodi 8.000 semplova u sekundi
i koristi osam bitova po semplu. U skladu sa Nikvistovom teoremom, ova frekvencija
predstavlja neto vie od dvostruke maksimalne frekvencije glasa koju telefon moe da podri.
SLlKA 3.19 Semplovanje sa isuvie niskom frekvencijom
originalni signal
rekonstruisani
signal
interval semplovanja
Osim toga, potrebna je bitska brzina od 8 x 8000, ili oko 64 Kbps.*
Sledea primena je kod tehnologije za snimanje na kompakt diskovima (CD-ovima). Muzika se
na CD-u kodira optiki u digitalnom formatu korienjem PCM modulacije. Ipak, da bi se
sauvao visoki kvalitet zvuka, PCM kodiranje zahteva viu frekvenciju i vei broj bitova po
impulsu. Stvarne vrednosti zavise od specifine opreme. Na primer, proverili smo uputstvo
proizvodaa CD plejera i videli sledee tehnike specifikacije:
Frekvencija semplovanja: 44.1 kHz
D-A konverzija: 16-bitna linearna
D-A se, kao to ste mogli da pretpostavite, odnosi na konverziju digitalnih u analogne signale.
Sesnaest bitova omoguava aproksimativno 64.000 semplovanih amplituda. Frekvencija
semplovanja od aproksimativno 44.000 semplova u sekundi neto malo je vea od dvostruke
navedene frekvencije iz opsega od 20 do 20.000 Hz. Termin linearna oznaava da se amplitude
impulsa ravnomerno rasporeduju.t
Postoje i druge tehnike modulacije, ali ovde se neemo baviti prouavanjem tih metoda. Na
primer, kod modulacije za promenljivim trajanjem impulsa informacije se kodiraju definisanjem
impulsa sa razliitim trajanjem. Diferendjalna impulsna modulacija meri razlike u sukcesivnim
semplovima. Delta modulacija predstavlja varijaciju diferencijalne impulsne kodne modulacije
koja koristi samo jedan bit po semplu. Za vie informacija o ovim i drugim metodima modulacije
pogledajte referencu [B199].
3.7 Modemi
Poto smo razmotrili kako se vri konverzija izmeu analognih i digitalnih signala, moda ste
pomislili da smo zavrili "priu" i da je sada dovoljno samo prikljuiti modem u kompjuter i poveza-
ti se sa Internet provajderom. To i jeste i nije tano. Poetkom 80-ih godina prolog veka, kada su se
pojavili personalni kompjuteri, mnogi ljudi su pourili da budu medu prvima koji e uivati u
mogunostima tih novih i monih alatki. Morali su, pri tom, da naue da koriste softver, to nije bilo
jednostavno za poetnike (ponekad nije bilo jednostavno ni profesionalcima).
Osim toga, mnogi ljudi koji su uspeli da se "snau" sa softverom otkrili su da su njihovi prijatelji
i kolege kupili drugaije kompjutere i da su nauili da koriste drugaiji softver. Ove razlike su
deljenje podataka i komunikaciju uinile skoro nemoguim. Kljune rei koje se primenjuju na
modeme su softver i kompatibilnost. Tehnike modulacije koje smo ranije opisali objanjavaju kako
se digitalni signali menjaju u analogne. Medutim, da bi signali uopte stigli do modema i da bi
se dobili digitalni na osnovu telefonskih signala, potreban je softver.
* U praksi, optiki fiber se koristi za povezivanje udaljenih lokacija sa mnogo veim bitskim brzinama, jer moe da prenese
vie telefonskih razgovora istovremeno, zahvaljujui multipleksiranju. U odeljku 4.5 moete da prodtate detaljnija
objanjenja.
t U nekim sluajevima, kao kod telefonskog sistema, amplitude se ne rasporeduju ravnomerno: pre su to amplitude
impulsa iz opsega iz koga se vrednosti najverovatnije javljaju. Ovakva neravnomema distribucija naziva se Uompandovanje, a
moe da pobolja kvalitet zvuka bez neophodnog poveavanja broja bitova u okviru sempla.
Sreom, kompjuteri se danas kupuju sa instaliranim modemom, tako da je uz njih ukljuen i
softver za modem.
Pretpostavimo da u svom kompjuteru imate modem i odgovarajui softver za njega. Kada modem
primi analogne signale, mora da zna kako su modulisani. Slino tome, kada modulira signale, mora
da koristi emu koju udaljeni sajt moe da razume. Ako udaljeni sajt ne prepoznaje metode koje je
modem koristio za moduladju digitalnog signala, sajtovi nee mo da komuniciraju. Za to je
neophodna kompatibilnost.
Sreom, standardi kojih se pridravaju proizvodai modema definiu bitsku brzinu, brzinu bauda
i emu modulacije. Najpoznatiji standardi, koje defmie ITU-T, obino se identifikuju sa V.xx, gde
je identifikacioni broj. Postoje iAT&T, ili Bellovi modemi koji koriste metode sline onima
koje defmiu ITU-T standardi.
Poeemo opisivanjem nekoliko starijih, mada jednostavnijih standarda i nastaviti sa standardima
koji se danas najee koriste. ITU-TV.21 modem modulira signale koristei frekventou modulaciju.
Jedan bit defmie frekvenciju; zato su bitska brzina i brzina bauda jednake (300, to je prilino sporo
za dananje standarde).
Dodela frekvencije zavisi od toga da li modem inicira (mod iniciranja), ili prima (mod odgovora)
poziv. Ako je modem u modu iniciranja poziva, alje 0 pomou frekvencije 980 Hz, a 1 sa 1180
Hz. Ako je u modu odgovora na poziv, 0 odgovara frekvencija od 1.650 Hz, a 1 frekvencija od
1.850 Hz. Korienjem dva seta frekvencija omoguena je full-duplex komunikacija, tj.
dvosmerna komunikacija.
Ako je brzina bauda 300, trajanje signala je 1/300 0.0033 sekunde. U ranim danima
kompjuterskih komunikacija relativno dugako trajanje je umanjivalo uticaj uma na signal. Ako
je i postojalo neko izoblienje, preostajali su dovoljan deo signala koji moe da se prepozna i
(prema dananjim standardima) nesofisticirani modem. Dananji sofisticirani uredaji koriste
krae signale, na osnovu ega je omogueno poveanje bitske brzine i brzine bauda.
AT&T modem slino funkcionie. Koristi 1.070 Hz za 0 i 1.270 Hz za 1 u modu iniciranja
poziva, a 2.025 Hz za 0 i 2.225 Hz za 1 u modu odgovora na poziv. Sledei standard je V.22
modem. Koristi faznu modulaciju, pridruujui dva bita svakom faznom pomaku. Ima brzinu
bauda 600 i bitsku brzinu 1.200. Frekvencija i amplituda su konstantne.
Konstelacija signala
Mnogi modemi funkcioniu tako to se menja vie komponenata signala, i to obino promenom
faznog pomaka i amplitude (QAM modulacija). Ovakva promena omoguava vee razlike
izmedu komponenata signala, pa, samim tim, i prenos veeg broja bitova u sekundi. QAM meto-
di mogu da se opiu vizuelno pomou konstelacije signala, dijagrama koji za definisanje svih
legitimnih promena signala koristi take iscrtane u koordinatnom sistemu. Na slici 3.20
prikazano je kako se interpretira jedna taka. Kvantifikovana je svojom duinom (udaljenou od
koordinatnog poetka) i uglom koji formira u odnosu na horizontalnu osu. Seate se iz
prethodnog odeljka da se duina i ugao (fazni pomak) definiu pomou promenljivih C i D,
amplitude sinusne funkcije i kosinusne funkcije, koje kreira QAM signal. Svaka taka definie
legitimnu promenu signala. Amplituda signala odgovara udaljenosti take od koordinatnog
poetka, a fazni pomak odgovara uglu prema horizontalnoj osi.
SLIKA 3.20 Kvantifikovanje take na konstelaciji signala
U optem sluaju, uglovi kod konstelacije signala nalaze se izmeu 0 i 360. Ipak, prethodno
smo defmisali fazni pomak kao deo periode ija se vrednost nalazi izmedu 0 i jedne periode. Da
bi konstelacija signala bila ispravno interpretirana, defmiemo relaciju izmedu uglova u
konstelaciji i dela periode. Specijalno, ugao x odgovara razlomku x/360 periode. Na primer,
ugao od 90 odgovara 90/360 = 1/4 periode.
Korienjem ovakve interpretacije na slici 3.21 je prikazana konstelacija signala za V.22 modem.
Prikazane su etiri take sa istom udaljenou od koordinatnog poetka, to znai da se amplitu-
da ne menja sa signalom. Osim toga, ove etiri take formiraju uglove od 0, 90, 180 i 270
sa horizontalnom osom. Na osnovu toga, legitimni fazni pomaci iznose nula, jednu etvrtinu,
jednu polovinu i tri etvrtine periode.
Neto sloeniji je V.22 bis standard. Na slici 3.21 moete da vidite i konstelaciju signala sa 16
taaka. Standard koristi brzinu bauda od 600 i etiri bita po jednom baudu, tako da je brzina
prenosa podataka 2.400 bps.
V.22 V.22 bis V.32
600 baud 600 baud 2400 baud
1200 bps 2400 bps 9600 bps
SLIKA 3.21 Konstelacije signala
ugao = arcsin
taka konstelacije signala
udaljenost od koordinatnog poetka
Ako paljivije pogledate konstelaciju signala, videete da postoje tri razliite amplitude i 12
moguih faznih pomaka. Ove slike obezbeduju 36 kombinacija, ali se koristi samo 16.
Ogranienje postoji zbog mehanizma za detekciju greaka.
Poslednja konstelacija signala sa slike 3.21 odgovara standardu V.32. To je konstelacija sa 32
take, kod koje se koristi brzina bauda od 2.400 i pet bitova po jednom baudu. Medutim, brzina
prenosa podataka je 4x9.600 bps. Koristi se dodatni bit po baudu, jer standard koristi reetkasto
kodiranje (trellis coding), mehanizam za detekciju greaka koji kreira bit pamosti definisanjem
dodatnih komponenata signala.
Posmatranjem ovih konstelacija signala (i drugih) moete da primetite da imaju jednu
zajedniku osobinu. Izgleda da su sve take ravnomemo rasporedene. Ovo nije obezbeeno radi
preglednosti grafikog prikaza. Modemi, poput nezgrapnih ljudi koji ne cene umetnost, ne vode
rauna o lepoti slika. Cinjenica je da se prenos signala odvija preko linija na kojima postoje
umovi. Rei da se dva signala razlikuju za 45, ili da je amplituda jednog signala dva puta vea
od amplitude drugog ispravno je samo u sluaju da ne postoje nikakvi umovi. U stvari, faze
mogu da se razlikuju za 45 x, gde x odgovara umu. Slino tome, amplituda signala se, u
stvari, meri kao A y, gde y odgovara umu.
Na slici 3.22 prikazan je efekat uma na konstelaciju signala. Promena u amplitudi pomera
konstelaciju take dalje, ili blie koordinatnom poetku. Zbog toga, taka signala moe da se
nade bilo gde u zasenenom regionu. Slino tome, izoblieni fazni pomak moe da izazove
pomeranje take u okviru malih krunih lukova. Da "stvar" bude jo nepovoljnija, um se ne
razaznaje. Razliiti tipovi izoblienja mogu da se jave nezavisno jedni od drugih. Rezultat je to
da se taka konstelacije izoblienog signala moe nai bilo gde u krunoj oblasti oko pozicije u
kojoj bi trebalo da se nalazi.
Ako su inicijalne take dovoljno udaljene i ako je um dovoljno slab, nee doi do preklapanja
oblasti uma. U tom sluaju modem moe da prepozna izoblieni signal. Meutim, ako je um
dovoljno jak da dode do preklapanja regiona, komunikacija e biti oslabljena. Ako se taka
izoblienog signala nalazi na preseku dve zasenene oblasti, modem ne moe da utvrdi kojoj
oblasti taka pripada (slika 3.23).
izobliena amplituda
SLIKA 3.22 Izoblienje taaka konstelacije signala
izoblieni fazni pomak
Zasenene oblasti definiu
regione u kojima mogu da
se nadu take konstelacije.
SLIKA 3.23 Interpretiranje taaka konstelacije kod izoblienog signala
Standardi za modeme
Kao to ste mogli i da oekujete, postoje razliiti standardi za modeme. Razlikuju se po brzini
bauda, broju bitova po baudu i tehnikama modulacije. Osim toga, noviji standardi definiu i
detekciju greaka, metode za njihovo korigovanje i tehnike kompresije. U tabeli 3.5 rezimirani su
neki ITU-T standardi.
prave take konstelacije,
bez preklapanja opsega uma
prave take konstelacije, sa
preklopljenim opsezima uma
V.21/Bell 103
V.22/Bell 212
V.22 bis
V.27
V.29
V.33
V.32 bis
V.34
V.42
V. 42 bis
V.90
V.92
Bitska brzina od 300 bps, sa FSK modulacijom
Bitska brzina od 1.200 bps, sa PSK modulacijom
Bitska brzina od 2.400 bps, sa QAM modulacijom
Bitska brzina od 4.800 bps, sa PSK modulacijom
Bitska brzina od 9.600 bps, sa QAM modulacijom
(ranije uobiajeni standard za faksimil)
Bitska brzina od 9.600 bps, sa QAM modulacijom i reetkastim kodiranjem
Bitska brzina od 14.400 bps, sa QAM modulacijom i reetkastim kodiranjem
Bitska brzina od 33.600 bps, sa QAM modulacijom i reetkastim kodiranjem
(obino se koristi za faks modeme)
Standard za tehnike za korekciju greaka
Standard koji koristi Lempel-Zivove metode
(prikazani su u Poglavlju 5) za kompresiju
Brzina od 56 Kbps (samo kod preuzimanja) uz korienje PCM tehnika
(ovo je izvodljivo uz pretpostavku da na udaljenom sajtu nema konverzije
analognih u digitalne signale)
Standard V.90 poboljan redukovanjem vremena koje je neophodno za
povezivanje, tako da je poveana brzina slanja i obezbedena je bolja zatita
od sluajnih prekida veze za one koji koriste poziv na ekanju (u vreme
dok je ova knjiga nastajala, veina novih kompjutera je imala
V.92 modeme)
take za izobliene signale taka izoblienog signala
Mnogi modemi potuju nekoliko standarda, to je korisno kada se komunicira sa sajtom na kome
je implementirano nekoliko standarda. Obino, modem moe da poziva, razmenjuje protokole,
pa automatski bira odgovarajui standard. Ovi autobaud modemi su pogodni zato to korisnici ne
moraju da pamte kojem broju telefona odgovara koji standard. Na ovaj nain je korisnicima
omoguena i komunikacija pomou nekoliko standarda preko istog modema i kompjutera.
Korisnici mogu da utvrde standarde prouavanjem tehnikih specifikacija u uputstvu za ureaj.
Obino postoji sekcija u kojoj je naznaen mehanizam za kodiranje podataka na nekoliko
brzina prenosa podataka.
Razvoj modema je nastavljen tokom 90-ih godina prolog veka, tako da je uspostavljen standard
V.90, koji obezbeduje brzinu preuzimanja od 56 Kbps. Na kraju odeljka 3.4 istakli smo da se ini
kao da su teorijske granice u brzini prenosa podataka koje defmie enonov rezultat premaene.
Ipak, ti modemi su zasnovani na pretpostavkama koje se znaajno razlikuju od onih koje su
koriene kod starijih modema.
Na slici 3.14 dato je objanjenje. Starije konekcije su sline onima koje su opisane na slici 3/24a.
Personalni kompjuter alje signal ka portu modema, koji konvertuje signal u odgovarajui
analogni format. Analogni signal "putuje" kroz lokalnu petlju telefonskog sistema do najblie
telefonske centrale, gde se konvertuje nazad u digitalni format, radi kompatibilnosti sa opremom
za komutaciju telefonske kompanije. Odatle se digitalni signal rutira preko noseeg sistema do
centrale koja je najblia udaljenom sajtu. Signal se ponovo konvertuje u analogni oblik i
"putuje" kroz drugu lokalnu petlju do udaljenog sajta, gde prijemni modem vri konvertovanje
u digitalni oblik.
Na slici 3.24b ne vide se poslednje dve konverzije. ISP ima digitalnu opremu koja komunicira
direktno sa nosaem digitalnih signala koji "putuju" kroz telefonsku mreu i moe da ih rutira
preko Interneta, bez ikakve konverzije izmedu analognih i digitalnih signala. Ovo je znaajno
zbog sledeeg razloga. Pretpostavimo da korisnik preuzima informacije sa udaljenog kompjutera
na slici 3.24a.
SLIKA 3.24 Uspostavljanje konekcija pomou modema
PC
modem
centrala
digitalna oprema
Internet provajdera
digitalni nosei sistem
kompjuter
telefonske
kompanije
modem
centrala
centrala
modem
spoj izmedu PC-ja i modema lokalna petlja
spoj izmedu PC-ja i modema lokalna petlja digitalni nosei sistem lokalna petlia spoj izmedu PC-ja i modema
Preuzeti signal prolazi kroz konverziju analognog u digitalni oblik na udaljenoj lokaciji i
konvertuje se nazad u analogni signal na lokalnom sajtu. Medutim, um kvantizacije koji se
uvodi na udaljenoj lokaciji na lokalnom modemu moe da prouzrokuje prijem analognog
signala koji se razlikuje od poslatog. Prema Senonovim rezultatima, ako je bitska brzina dovoljno
niska, signali se manje izobliavaju i lokalni analogni signal je dovoljno blizak onom na
udaljenoj lokaciji, tako da ne dolazi do gubljenja informacija.
Na slici 3.24b nema konverzije analognih u digitalne signale na udaljenoj lokaciji; zato se ne
javlja um kvantizacije i mogue je ostvariti vee bitske brzine. 56 Kbps modemi su dizajnirani
tako da se iskoristi ova injenica. Osim toga, telefonska oprema koristi PCM modulaciju za
konverziju izmedu analognih i digitalnih signala; V.90 modemi digitalizuju analogne signale,
koristei PCM tehnike, umesto da se koriste QAM tehnike, kao kod starijih modema.
Slanje informacija je malo drugaije. Poto postoji konverzija analognih signala u digitalne u
izvom na koji se informacije postavljaju, mogua je pojava uma kvantizacije. Zato se standard
V.90 primenjuje samo kod preuzimanja informacija, a tipini 56 Kbps modemi prilikom slanja
informacija koriste standard V.34. Zbog toga, mogu bre da preuzimaju informacije nego to ih
alju.
Naravno, sve vreme je koriena pretpostavka da je linija lokalne petlje na strani modema relativno
bez umova, mada esto nema nikavih garancija da e biti tako. Telefonska oprema je dizajnirana da
funkcionie pod odredenim ogranienjima i esto ih premauje. Ipak, nema nikakvih garancija da e
sve telefonske linije moi da podre granicu od 56 Kbps. U stvari, prema nekim procenama, samo 50
odsto konekcija u SAD je dovoljno "isto" da se podri prenos od 56 Kbps.
Kako se svet sve vie orijentie ka digitalnim standardima za komunikacije, namee se logino
pitanje kakva je budunost modema. Zbog faktora uma i specifikacija telefonske opreme, 56
Kbps modemi se smatraju poslednjim korakom u razvoju modema. Medutim, i pored trenda za
uspostavljanje potpuno "digitalnog sveta", konvencionalni telefoni i analogne konekcije do
najblie telefonske centrale verovatno nee biti naputeni u blioj budunosti. Tehnologija koja
bi sve telefone zamenila onima koji digitalizuju zvuk preko ugradenog ipa definitivno postoji,
ali kolika je cena takve zamene na nacionalnoj, ili, ak, globalnoj skali? Za one koji koriste
telefon u njegovoj originalnoj nameni (za razgovor) trenutni sistem funkcionie sasvim zadovo-
ljavajue i prelazak na digitalni sistem ne bi obezbedio neki vidljiviji napredak za njih. Drugim
reima, nije vredno neophodnih ulaganja. Zato e konvencionalni modemi verovatno biti
neophodni i u blioj budunosti. Ipak, postoji sve vee "nadmetanje" izmedu kablovskih
modema i DSL tehnologije.
Kablovski modemi
Naa sledea tema je kablovski modem, uredaj koji se poslednjih godina sve vie sree u domovi-
raa korisnika. Korisnici usluga kablovske televizije zahtevali su bre Internet konekcije, koje nisu
mogli da im obezbede konvencionalne telefonske linije i modemi sa granicom od 56 Kbps. Za
razliku od konvencionalnog modema, koji je dizajniran za povezivanje sa analognim kompo-
nentama telefonskog sistema, kablovski modem je dizajniran za povezivanje sa analognim kom-
ponentama provajdera kablovske televizije (CATV).* Mnogi pretplatnici kablovske televizije ve
poznaju kablovsku kutiju koja se nalazi na vrhu televizora.
Ona se prikljuuje na zidnu utinicu preko koje se primaju signali provajdera kablovske televizije.
Kutija dekodira dolazee skremblovane signale i alje ih do televizijskog uredaja. esto ove kutije
mogu da primaju komande od daljinskog upravljaa i da alju podatke nazad do kompanije za
kablovsku televiziju. Zahvaljuju tome, pretplatnik moe da naruuje i plaa filmove koje odgleda.
Do odreene mere, svi kablovski modemi su slini. Na slici 3.25 prikazana je tipina instalacija.
Potroa se pretplauje na CATV servis, a tehniko osoblje sprovodi kabl od spoljanjeg voda do
kue.
*U budunosti e svi televizijski signali biti digitalni i tekui tekvizijski sistem vie nee biti u upotrebi za prijem takvih
signala bez pomoi konvertora. Medutim, nismo stigli do te take i jo neko vreme emo morati da koristimo
analogne signale.
SLIKA 3.25 Postavka kablovskog modema
vod ka kui
nosilac
kablovske
televizije
kablovski
modem
PC
delitelj
televizor
zidna utinica
Unutar kue kabl se prikljuuje na ulazni kraj delitelja (ureaj koji prihvata izvorni signal i
aitira ga preko dve, ili vie izlaznih konekcija). Sledei kabl povezuje jedan izlaz delitelja na
televizor, ili kablovskn kutiju. Signal iz drugog izlaza se vodi na kablovski modem. Nakon toga,
korisnik moe da koristi Cat 5 kabl za povezivanje kablovskog modema preko mrene kartice
kompjutera. * Mrene kartice su jeftine i mogu se kupiti u radnjama sa kompjuterskom opremom.
U stvari, one su sastavni deo veine konfiguracija koje danas moete da kupite.
Pomou mrene kartice, kao to je Ethernet kartica (opisana u Poglavlju 9), omoguava se
kablovskom modemu da konvertuje analogne signale u digitalne i da ih alje do kompjutera
preko postojeih Ethenet protokola. Korienje Ethernet konekcije omoguava kablovskom
modemu da koristi vepostojee standarde za povezivanje na kompjuter. Osim toga, omogueno
je povezivanje nekoliko kompjutera preko Ethernet LAN-a deljenjem kablovskog modema preko
komutatorat (objanjen je u Poglavlju 10). U ovom sluaju svaki kompjuter se povezuje na
komutator, a izmeu komutatora i kablovskog modema postoji samo jedan kabl.
Kablovski modem je dizajniran da bi omoguio pristup Internetu preko CATV signala, umesto da
se poziva Internet provajder preko telefona. Postoji nekoliko prednosti ove postavke. Jedna je da
se informacije mogu poslati pomou visokofrekventnih signala CATV-a, umesto da se koriste
mnogo nie frekvencije lokalne petlje telefonskog sistema, tako da su mogue mnogo vee bitske
brzine (mere se u Mbps, umesto u Kbps). Sledea prednost je to ne morate da birate broj da bi
konekcija bila uspostavljena; ona je neprestano uspostavljena. Nedostatak je to CATV koristi
zajedniki kabl (obino optiki fiber) za obezbedivanje servisa za vie kua u susedstvu, tj. opseg
signala se deli na vie korisnika. Zato je mogue da korisnik dobija ove bitske brzine samo ako
jedini u svom okruenju preuzima informacije na ovaj nain. Medutim, ako i susedi ponu da
preuzimaju informacije, to utie na bitsku brzinu svakog individualnog korisnika.
Na slici 3.26 prikazane su osnovne operacije samog kablovskog modema. Tipino, kablovski
signal na ulazu u kunu instalaciju pripada opsegu od oko 750 MHz. On se deli na vie opsega
od po 6 MHz, a svaki od tih opsega prenosi signal iz odredene stanice, kao to su Discovery,
ESPN, ili CNN. Podeavanje kanala efektivno blokira neeljene frekvencije i omoguava prolazak
samo jednog 6-MHz signala, tako da je mogue prikazivanje eljene stanice. Radi pristupa
Internetu, kompanija za kablovski servis uspostavlja konekciju sa Internetom posredstvom nekog
provajdera. Informacije sa Interneta mogu da se preuzimaju u 6-MHz opsegu, negde izmedu 42
i 750 MHz. t
Na strani korisnika kablovski modem moe da pristupi preuzetim informacijama podeavanjem
u odgovarajuem 6-MHz opsegu i konvertovanjem tih analognih signala u digitalni format.
Zatim se ti signali alju kroz odgovarajui port do povezanog kompjutera.
Za modulaciju i demodulaciju mogu da se koriste razne tehnike; dve najpopularnije su QPSK
(quaternary phase shift keying) i varijacija QAM-a poznata kao QAM64.
* Kablovski modem moe da se povee i na USB port kompjulera.
t Moe da se koristi i hub, mada se komutatori ee koriste, jer su fleksibilniji i relativno jeftini.
t Preuzeli signali se obino nalaze u opsezima iznad 42 MHz, jer su signali na niim frekvencijama podloni uticaju inter-
ference od kunih aparata.
SLIKA 3.26 Kablovski modem i nosei signali
Oba metoda predstavljaju sloenije verzije tehnika sa slinim nazivima, koje smo opisali ranije u
ovom poglavlju. QAM64 je obino namenjen za situacije u kojima se zahteva irokopojasni
opsegza preuzimanje informacija. Prema nekim procenama, mogue je preuzimanje podataka sa
brzinom od 36 Mbps. Ipak, mnogi personalni kompjuteri ne mogu da prihvate podatke tom
brzinom, tako da se realne brzine kreu izmedu 1 i 10 Mbps.
Kablovski modem moe da prenosi informacije u drugom smeru (postavljanje podataka). Moe
da prihvati podatke poslate iz kompjutera i da ih modulira u frekventnom opsegu, obino
izmeu 5 i 40 MHz. Ovaj opseg se obino koristi na dvosmernoj kablovskoj mrei prilikom
postavljanja podataka (uploading). Problem je to su signali iz ovog opsega vie osetljivi na
elektrinu interferencu koja potie od kuhih aparata. Zato su QPSK tehnike ee koriene
prilikom slanja podataka, jer su robustnije. Nedostatak je to imaju manje bitske brzine. Sa druge
strane, prilikom postavljanja podataka esto i ne postoje zahtevi za velikim brzinama prenosa.
Na primer, slanje emaila, ili komandi obino zahteva manje podataka nego kada se preuzimaju
neka slika, ili video zapis.
Kao to smo istakli, ostaje jo mnogo tota da se uradi radi uspostavljanja standarda za korienje
kablovskih TV mrea za prenos podataka. IEEE 802.14 Working Group radi na kreiranju takvih
standarda, a malo je toga do sada postignuto. U referenci [He97 ] dat je pregled nekih arhitektura-
lnih opcija koje su razmatrane za obezbedivanje traenih servisa na efikasan, ali fleksibilan nain.
signal
frekvencije
750 MHz
Neki opsezi signala se
uvode preko glavnog kabla
Opseg od
6 MHz
Discovery
MTV
ESPN
Pristup Intemetu
CNN
Opseg za pristup
Internetu
PC
kutija
kablovskog
modema
Opsezi na normalno
prikazivanje
Televizija
Do sada smo opisali dve primarne opcije za povezivanje korisnika na Internet: modeme i kablovske
modeme. Modemi obezbeduju interfejs izmeu kompjutera i telefonskog sistema obezbedivanjem
konverzije izmedu digitalnih signala iz kompjutera i analognih signala telefonskog sistema.
Kablovski modemi izvravaju slian zadatak, osim to koriste liniju kablovskog TV servisa.
Konvencionalni modemi imaju nekoliko znaajnih nedostataka:
Spori su (u poredenju sa drugim opcijama) i ve su dostigli svoj maksimum.
Koriste propusni opseg telefonskog sistema, tako da telefon ne moe da se koristi
istovremeno dok ste povezani na Internet.
Morate da pozivate Internet provajdera svaki put kada elite da se poveete.
Sa druge strane, konvencionalni modem je dostupan svuda gde postoje telefonske linije i ISP, to
je najvea prednost. Za razliku od njih, kablovski modemi su brzi i veza je uvek uspostavljena.
Medutim, kablovska televizija nije svuda dostupna.
U ovom odeljku predstaviemo jo jednu moguu opciju za korisnike: digitalnu pretplatniku
liniju (DSL - Digital Subscriber Line). Kao i kablovski modem, DSL postie velike brzine i
omoguava neprekidnu konekciju, ali ne zahteva kablovsku televiziju, ve koristi specijalno
kabliranje. Koristi postojee telefonske linije! Na prvi pogled, ovo to smo istakli deluje
kontradiktorno sa prethodnim tvrdnjama. Konekcije sa Intemetom koje se uspostavljaju preko
telefonskih linija su spore. Kako, onda, DSL postie vee brzine?
Ponimo sa objanjenjima prouavajui sliku 3.27. Vena korisnika telefone povezuje na telefonsku
mreu preko bakarnih ica koje se proteu do lokalne telefonske centrale. Ova postavka bakarnih
kablova najee se naziva lokalna petlja, ili poslednja milja (odnosi se na injenicu da je ovo
poslednji deo telefonskog sistema i da se i dalje koristi stara tehnologija). Lokalna petlja i oprema u
lokalnoj centrali obraduju niskopropusne signale, jer nije bilo ekonomino rutirati fiber, ili druge
kablove koji podravaju velike brzine do svih korisnika - cena bi bila ogromna. Prikazana konfigu-
racija je poznata pod nazivom POST (plain old telephone service - tradicionalni telefonski sistem).
SLIKA 3.27 Lokalna petlja
telefonska
mrea
korisnikov
telefon
lokalna petlja
(poslednja milja)
lokalna centrala
Meutim, mnoge telefonske kompanije su uvidele da je high-speed Internet oblast koju nisu
"pokrili", a koja moe itekako da se isplati. Sutina je bio u tome da se osmisli nain na koji e
se korisnicima, po razumnoj ceni, obezbediti pristup Internetu sa velikim brzinama prenosa, bez
dodatnih trokova zbog zamene postojeih telefonskih kablova. Reenje lei u injenici da je
ogranienje propusnog opsega postojalo zbog opreme u lokalnoj centrali, a ne zbog bakarnih
vodova u lokalnoj petlji. Iako kablovi lokalne petlje nisu izradeni po specifikacijama dananjih
veoma brzih kablova sa upredenim paricama i imaju ozbiljna ogranienja, ipak mogu da prenose
visokofrekventne signale (do 1 MHz) u odnosu na one koji se koriste za telefoniju. Za sve to je
neophodna specijalna oprema u lokalnoj centrali koja moe da interpretira visokofrekventne
signale. To je osnova DSL-a.
DSL nije jedinstvena tehnologija. U stvari, postoji vie njegovih verzija. Mi emo ovde opisati
ADSL (asimetrini DSL), a zatim emo navesti i ostale DSL tehnologije, sa kraim opisom
njihovih razlika. Kompletnu raspravu o DSL-u moete da proitate u referenci [GoOl ].
Kako DSL funkcionie?
Asimetrini DSL se zasniva na par standarda: ITU-T preporuuje G.992.1 i ANSI standard Tl.413
(standard za modulaciju signala). Re asimetrino se odnosi na injenicu da je bitska brzina pri-
likom preuzimanja informacija vea od brzine slanja informacija i ova logika konfiguracija se
koristi zato to veina korisnika vie vremena provodi u preuzimanju velikih fajlova nego u nji-
hovom slanju. Na slici 3.28 prikazana je osnovna ADSL konfiguracija.
Na strani korisnika je neophodna specijalna oprema: delitelj/filter i ADSL modem. Delitelj
funkcionie korienjem dva filtera. Jedan je niskopropusni filter, koji blokira signale iznad 4 kHz
i alje niskofrekventne signale do telefona.
telefonska
mrea
Internet
lokalna centrala
SLIKA 3.28 ADSL konekcija
korisnikova strana
PC, Mi drugi uredaj,
kao to su ruter,
ili hub
ADSL modem
delitelj/filter
lokalna petlja
delitelj
(splitter)
DSLAM
Drugi filter proputa samo visoke frekvencije, i to samo ADSL signale (iznad 4 KHz) do ADSL
modema (ponekad se naziva ADSL Transmission Unit-Remote, ili ATU-R). Interesantan rezultat ove
konfiguracije je to telefon i kompjuter zavise od signala iz razliitih opsega. Na osnovu
Furijeovih rezultata, koje smo ranije prikazali, ovi signali mogu da se kombinuju u jedan i da se
prenesu preko lokalne petlje. Prednost za korisnika je to istovremeno, dok se podaci preuzima-
ju sa Interneta, moe da razgovara sa nekim preko telefona. Time je prevazien jedan od glavnih
nedostataka konvencionalnih modema.
U lokalnoj centrali mora da postoji odgovarajua oprema koja moe da radi sa razliitim tipovima
signala koji dolaze od korisnika. Da bi ti signali bili obradeni, u lokalnoj centrali mora da se instali-
ra DSL pristupni multiplekser (DSLAM - DSL access multiplexer). Delitelj u lokalnoj centrali prima
dolazei signal i alje niskofrekventne signale (kojima se prenosi glas) do telefonske mree, radi
kompletiranja telefonskog poziva. Salju se visokofrekventni signali (na primer, iz kompjutera) do
DSLAM-a - on interpretira signale koje korisnik DSLAM kreira i rutira podatke ka Internetu, radi
kompletiranja Intemet konekcije.
Dakle, po emu se ovo razlikuje od tehnologije konvencionalnih modema? Umesto da se
primenjuje direktna modulacija, tehnologija SDLAM modema je zasnovana na tehnici koja se
naziva definisanje diskretnih tonova (discrete multitone) - ANSI standard Tl.413. Osnovna ideja
se sastoji u sledeem;
Frekventni opseg izmedu 0 Hz i 1.104 MHz se deli na 256 zasebnih kanala, sa
opsezima od 4,3125 kHz. Ponekad se kanali nazivaju tonovi.
Za POTS se koristi pet najniih kanala. Tako POTS dobija opseg od oko 21,5 kHz
(vie nego to je potrebno), a dodatni propusni opseg obezbeduje dodatno razdvaja-
nje POTS signala od ADSL signala i, samim tim, veu imunost na umove, kao to je
presluavanje.* Neiskoriene frekvencije izmedu kanala nazivaju se zatitni opsezi
(guard bands).
Preostali kanali se koriste za prenos informacija u oba smera; vei deo se rezervie za
preuzimanje signala. Na taj nain su omoguene vee brzine prenosa prilikom preuzi-
manja informacija. Sa stanovita korisnika, ovo je prednost. Jednostavnije je razdvojiti
signale koji se koriste za preuzimanje informacija od onih koje se koriste za slanje.
Ipak, postoji tehnologija koja omoguava korienje nekih kanala za prenos u oba
smera. To je malo nezgodno u praksi, jer, ako signali iste frekvencije "putuju" u
suprotnim smerovima, dolazi do pojave eha. To znai da uredaj ne prima samo
poslati signal, ve i eho koje stvaraju sopstveni signali. Medutim, u prijemnim
ureajima je mogue ugraditi supresore eha, koji e filtrirati taj eho i obezbediti jasan
prijem podataka koji su poslati sa udaljene lokacije. Prednost ove tehnike je proirenje
propusnog opsega u oba smera, ak i ako se kanali preklapaju.
* Presluavanje moe da se pojavi kada signal generie elektromagnelnu interferencu, koja, sa druge strane, utie na signal u
susednim upredenim paricama. Presluavanje esto moe da se redukuje dobro uzemljenim sistemima, ili opremom proizvo-
denom u skladu sa odredenim specifikacijama. Po(o, u tom sluaju, signali "putuju" preko postojeih ica, presluavanje je
minimizirano izbegavanjem signala odredene frekvencije.
Da bi podaci bili preneti, dolazed niz bitova se deli na manje grupe bitova - po jedna
grupa za svaki kanal (slika 3.29). Ove grupe bitova se tretiraju konkretno i nezavisno.
Na bitove u svakom kanalu primenjuje se QAM tehnika (prisetite se odeljka 3.5). Tako
se kreiraju nosei signali razliitih frekvencija za svaki kanal. Svaki kanal moe da
koristi sopstvenu QAM tehniku, koju odreduje broj bitova za taj kanal. Uskoro ete
videti da broj bitova moe da varira od kanala do kanala.
Kombinuju se signali generisani QAM tehnikom i podvrgavaju se inverznoj brzoj
Furijeovoj transformaciji za modulaciju signala (podsetite se prethodne rasprave o
Furijeovim redovima i brzoj Furijeovoj tranformaciji).
Naravno, ovde je dat pojednostavljen pregled, pa je neophodno nekoliko dodatnih komentara.
Na primer, jedinstveni aspekt ovog metoda je da se, za razliku od prethodno opisanih metoda,
koriste razliiti nosei signali za istovremenu obradu grupa bitova. Teorijski, mogue je preneti
60 Kbps za svaki kanal, a!i su ovakvi rezultati retki u praksi zbog prisustva uma. U stvari, kao
deo DMT prenosa, ADSL modem alje test signale preko svakog kanala, radi utvrdivanja nivoa
uma u svakom kanalu. Kanali sa boljim koeficijentom signal-um prenose vie podataka, nego
oni sa loijim koeficijentom. Obino su kanali sa viim frekvencijama osetljiviji na umove, tako
da niskofrekventni kanali bolje prenose vee koliine podataka. Ovde treba istai da pri-
Iagodljivost DTM-a u utvrdivanju bitske brzine zavisi od uslova na postojeoj liniji.
U optem sluaju, svaki kana] ima sopstvenu konstelaciju signala koja definie broj bitova za njega.
Bitske brzine kod preuzimanja informacija za ADSL obino se kreu izmedu 1,5 i 6 Mbps, a umno-
gome zavise od kvaliteta lokalne pedje. Na primer, ice koje su bile upletene, ili popravljane na neki
drugi nain mogu da dovedu do stvaranja eha i izoblienja, zbog ega dolazi do redukovanja bitske
brzine. ak i veliina (debljina) ice moe da ima uticaja.
Problem stvara i duina petlje, jer se signal degradira prilikom prenosa na veim udaljenostima.
Bitske brzine mogu da budu nie kod korisnika koji se nalaze dalje od lokalne centrale. U stvari,
veina raspoloivih informacija ukazuje da DSL konekcije nisu dostupne korisnicima koji ive
dalje od 3,5 milje od lokalne centrale.
bitovi
bitovi za kanal 2 QAM
bitovi za kanal n QAM
SLIKA 3.29 Definisanje diskretnih tonova
bitovi za kanal I QAM
kombinovanje rezultata
generisanih QAM
tehnikom i primena
inverzne brze Furijeove
transformacije za
generisanje niza
vrednosti u
remenskom domenu
lokalna
petlja
Sledei jedinstveni aspekt je korienje inverzne brze Furijeove transformacije. U odeljku 3.3 smo
istakli da se neemo baviti njenim detaljima, jer bi to premailo predvideni obim ove knjige.
Dovoljno je rei da kolekcija QAM signala definie flinkcije u frekventnom domenu. Proputanjem
tih funkcija kroz inverznu brzu Furijeovu transformaciju dobija se kolekcija vrednosti u vremenskom
domenu (tj. diskretna reprezentacija). Eventualno, diskretne vrednosti se konvertuju u analogni oblik
i prenose preko lokalne petlje. Proces je suprotan u lokalnoj centrali.
Poput kablovskih modema, ADSL modemi obezbeuju neprekidnu konekciju. Nema potrebe da
pozivate Internet provajdera; ADSL komunikacije mogu da se koriste paralelno sa POTS kon-
verzacijama. Osim toga, ADSL servisi su ponekad dostupni u oblastima u kojima nema kablovske
televizije. Sa druge strane, kablovski modemi koriste vei opseg signala nego ADSL rnodemi i
obino prosenom korisniku omoguavaju vee bitske brzine.
Poto ADSL tehnologija koristi postojee kabliranje, svaki korisnik ima point-to-point link ka
lokalnoj centrali. Ovo je suprotno pristupu kablovskih servisa, gde ljudi iz susedstva dele isti
opseg signala. Ako ste jedini korisnik sa kablovskim modemom, brzina Vaih konekcija e
verovatno biti maksimalna. Medutim, kako se bude poveavao broj korisnika u Vaem susedstvu,
moraete da delite opseg sa njima i to e imati uticaja na sve pojedinane konekcije. Naravno,
ovo utie i na brzine prenosa podataka.
Razliite DSL tehnologije
Postoje brojne varijacije DSL tehnologije. Zainteresovani itaoci mogu da pronadu vie informacija
na Web sajtovima www.dslforum.org i www.dsllite.com. Za ove tehnologije koristi se opta notacija
xDSL, gde je x oznaka varijacije. Slede krad opisi za neke od dostupnih DSL tehnologija.
ADSL LITE (G.LITE, ITU STANDARD ITU G.992.2) Kao to ste videli u prethodnoj raspravi,
ADSL zahteva korienje delitelja/filtera na strani korisnika. To je obino znailo da ete morati
da angaujete tehniku slubu telefonske kompanije da ga instalira. ADSL Lite (ponekad se
naziva ADSL bez delitelja) ne postavlja takav zahtev. Njegova prednost je jednostavnost za
korisnika; u stvari, ADSL Lite je dizajniran za korisnike u stambenim zgradama. Korisnici obinih
i kablovskih modema znaju da je to sve to im je potrebno za povezivanje na telefonsku mreu,
ili liniju kablovske televizije. Ako DSL tehnologija treba da bude konkurentna, mora da se
obezbedi laka instalacija.
Deljenje signala se izvodi u lokalnoj centrali, umesto kod korisnika (slika 3.30). Konvencionalni
telefoni ne reaguju na signale ije su frekvencije vie od 4 kHz i zato ignoriu ADSL signale. ADSL
modem ukljuuje visokopropusni filter, koji blokira signale niske frekvencije i obraduje samo
ADSL generisane signale. Korisnik vidi prednost mogunosti povezivanja postojeeg kabliranja sa
bilo koje lokacije u kui. Sa stanovita korisnika, u odnosu na ADSL, ovo se pre moe nazvati
plug-and-plav tehnologija.
Sledea razlika je to se dolazni signali kod ADSL Lite tehnologije nalaze u intervalu od 25 do
500 kHz. Time je bitska brzina kod preuzimanja informacija ograniena na oko 1,5 Mbps. Razlog
za ovo ogranienje je injenica da, bez lokalnog delitelja, ADSL Lite signali "putuju" kroz vodove
u kui i visokofrekventni signali mogu da izazovu smetnje na osnovnom telefonskom servisu,
posebno na mestima gde je kvalitet izvedenog kabliranja loiji.
SLlKA 3.30 ADSL-Lite konekcija
Ovaj problem se redukuje eliminisanjem signala sa viom frekvencijom. Iako je sporiji od
ADSL-a, i dalje omoguava oko 30 puta vee brzine od konvencionalnih modema.
SDSL Za razliku od asimetrinog DSL-a, simetrini DSL (SDSL) obezbeuje istu bitsku brzinu
u oba smera pomocfu jednog para ica u lokalnoj petlji. Osim toga, on se koristi kao zajednid
termin za druge DSL tehnologije, koje e biti opisane u narednim pododeljcima. Ponekad se
SDSL onosi na DSL sa jednim kablom, varijantu HDSL-a (videti sledei pododeljak). SDSL
koristi i drugaiji mehanizam za signaliziranje, pod nazivom dvobinarni, jednokvaternarni
(2BlQ-tiw binary, one quaternary). Ova ema je pomalo nalik NRZ emi, koju smo opisali u
odeljku 3.2, osim to se definiu etiri nivoa signala za svaki par bitova, umesto da se deflniu
dva nivoa signala za jedan bit. Drugim reima, svaki od parova 00, 01, 10 i 11 ima definisan
fiksni signal. Glavna prednost je to je bitska brzina dva puta vea od brzine bauda (svaka
promena signala sadri dva bita).
HDSL I HDSL2 High-bit-rate DSL (HDSL) je simetrini DSL servis koji je razvijen krajem
80-ih godina prolog veka. Obezbeuje bitske brzine od oko 1,5, ili 2,3 Mbps (u oba smera), a
koriste se dva, ili tri para upredenih bakamih vodova. Kao to smo ranije istakli, postoji
varijanta sa jednim parom vodova (SDSL) kod koje se koristi jedan par. HDSL ne obezbeuje
tradicionalni telefonski servis (POTS servis) i bio je razvijen kao ekonomina altemativa za Tl, ili
El service.* HDSL2 se razlikuje od HDSL-a na dva naina. Prvo, ANSI standard za HDSL2
definie brzinu od 1,5 Mbps u oba smera. Druga razlika je u injenici da se ta bitska brzina
obezbeuje preko jednog para ica (HDSL zahteva dva para za tu brzinu). Slino HDSL-u, ne
obezbeuje standardni telefonski servis preko tog para ica.
lokalna centrala korisnikova strana
PC, ili drugi uredaj
kao to su ruter,
ili hub
ADSL-Lite modem
sa visokopropusnim
filterom
Internet
DSLAM
delitelj
(splitter)
lokalna petlja
telefonska
mrea
Telefon reaguje
samo na govorne
signale niske frekvencije
SHDSL Single-pair high-speed DSL (SHDSL) je nova tehnologija koja je saglasna sa ITlI
standardom G.991.2. Kod HDSL i HDSL2 tehnologija postojalo je ogranienje za maksimalnu
udaljenost petlje aproksimativno od 12.000 stopa. Kod SHDSL-a je poveana udaljenost petlje i
obezbedene su brzine od 2,3 Mbps preko jednog para ica. Standard specificira jedan par ica;
medatim, dva para (mod sa etiri ice) mogu da se koriste za poveavanje udaljenosti petlje, ili
bitske brzine (mada ne istovremeno). Na primer, mod sa etiri ice moe da se koristi za
obezbedivanje bitske brzine od 2,3 Mbps na aproksimativno 16.000 stopa, ili 4,6 Mbps na
kraim rastojanjima. Kod moda sa etiri ice bitovi se podjednako rasporeuju preko dva para;
sa stanovita aplikacije, on obezbeduje vee bitske brzine. Uglavnom je namenjen velikim
poslovnim organizacijama i korisnicima koji zahtevaju vee brzine prenosa i slanja podataka.
RADSL Asimetrini DSL sa aaptacijom brzine (RADSL Rate-adaptive asymmetric DSL) ne
odgovara specifinom standardu. Omoguava ADSL modemu da adaptira bitske brzine u
zavisnosti od kapaciteta lokalne petlje. Nema mnogo referenci na RADSL, jer standardni ADSL
takode omoguava adaptiranje bitske brzine modema.
IDSL Internet DSL (IDSL) je simetrina tehnologija i zasnovana je na ISDN-u.* Obezbeduje
brzine prenosa podataka od 128 Kbps na rastojanjima petljedo 18.000 stopa. Obezbeduje servise
sline ISDN-u, ali, za razliku od njega, nema govorni kanal.
VDSL Very high data rate DSL (VDSL) je asimetrini servis (sa razliitim brzinama prenosa
prilikom preuzimanja i slanja podataka), iji je razvoj jo uvek u toku. Trenutno se projektuju
brzine preuzimanja podataka od 50 do 55 Mbps na kraim rastojanjima od 1.000 stopa. Sa
poveanjem rastojanja, dolazi do smanjenja bitskih brzina. VDSL se razvija kao odgovor na sve
masovnije korienje optikog fibera u komunikadjama. Najvei broj dornova je opremljen
bakarnim kablovima i mala je verovatnoa da e u skorijoj budunosti doi do zamene posto-
jeih instalacija fiberom. Ipak, to ne znai da e cela lokalna petlja koristiti bakame kablove.
Pod uticajem konkurencije, postalo je ekonomino i tehnoloki praktino ukljuiti i fiber i
bakarne kablove u lokalnim petljama. Fiber moe da se postavi od lokalne centrale do optike
mrene jedinice (ONU - optical netivork unit) u susedstvu (slika 3.31); odade se ka individualnim
kuama postavljaju bakarni kablovi. Tako se smanjuje duina lokalne petlje, koja zavisi od
bakarnih kablova, i omoguene su vee bitske brzine. Sledea karakteristika VDSL-a je da se
razvija bez korienja nieg spektra signala. Time je obezbedena kompatibilnost sa obinim tele-
fonskim servisom, to predstavlja prednost za mnoge korisnike. Kombinovane bakarne/fiber
konekcije obezbeuju brojne prednosti za okruenja kao to su univerzitetske mree, poslovni
centri, ili industrijski parkovi, gde postoji velika koncentracija korisnika sa potrebama za preno-
som podataka na velikim brzinama.
* ISDN (predstaviemo ga u Poglavlju 13) prvobitno je bio razvijen kao standard CCITT-a (sada ITU) jo 1984. godine.
Dizajniran je tako da obezbedi potpuno digitalizovanu komunikarionu mreu (u vreme kada je ova ideja jo bila u povoju)
i mnogi su predvidali da e biti eventualni naskdnik telefonske mree.
SLIKA 3.31 Lokalna petlja: Fiber/bakarni hibrid
3.9 Zakljuak
U ovom poglavlju su predstavljeni analogni i digitalni signali, teorijski rezultati o bitskim
brzinama, opseg signala, koeficijent signal-um, tehnike modulacije i naini za povezivanje na
Internet. Predstavljeni su sledei vani koncepti:
eme za digitalno kodiranje ukljuuju NRZ (nonreturn to zero), Manester i diferenci-
jalnu Manester emu. NRZ dodeljuje jedan fiksni naponski nivo za 0 i drugi za 1.
Obe Manester eme (nazivaju se i autotaktni kodovi) prepoznaju 0 i 1 na osnovu
prelaska signala sa visokog na niski, ili sa niskog na visoki naponski nivo. Manester
eme spreavaju dugake signale, koji mogu da stvore probleme u tajmingu.
Analogni signali prenose informacije promenom amplituda (amplitudska modulacija),
frekvencije (frekventna modulacija), ili faznih pomaka (fazna modulacija). U optem
sluaju, broj bitova po promeni zavisi od broja raspoloivih promena.
Furijeova teorija pokazuje da su sloeni periodini signali sastavljeni od veeg broja
signala sa fiksnim frekvencijama. Ovo se primenjuje prilikom dizajniranja filtera za
uklanjanje neeljenih frekvencija i prilikom dizajniranja DSL tehnologija.
Bitska brzina zavisi od brzine bauda, frekvencije i uma. Nikvistova teorema i teorema o
semplovanju pokazuju da se bitska brzina preko beumnog kanala moe izraunati na
osnovu izraza 2/ x log
2
(B), gde je / maksimalna frekvencija, a B je broj razliitih signala.
Klod enon je proirio Nikvistovu teoremu, ukljuujui kanale sa umovima. Njegov
uveni rezultat pokazuje da je bitska brzina = opseg signala x log
2
(1+S/N), gde su S i
N jaine signala i uma, respektivno. Ovaj rezultat postavlja praktino ogranienje
bitske brzine na kanalu sa umovima.
Znaajna koliina komunikacija ukljuuje prenos digitalnih podataka pomou
analognih signala i analognih podataka pomou digitalnih signala. Zato je
neophodno proudti tehnike modulacije i demodulacije.
telefonska
mrea
lokalna centrala
optika mrena
jedinica, jedna po
susedstvu
optiki fiber
korisnici
bakarni
kablovi
Konverzija digitalnih u analogne signale esto zahteva promenu analognog signala u
skladu sa grupama bitova. Tipine promene utiu na amplitudu (amplitudska
modulacija), frekvenciju (frekventna modulacija), ili fazni pomak (fazna modulacija).
Sledea tehnika, poznata kao kvadraturna amplitudska modulacija, koristi kombinaci-
ju ovih promena, a koristi se kod nekih konvencionalnih modema.
Jedan od naina za konvertovanje analognih signala nazad u digitalne je jednostavno
obrtanje ovih procesa. Meutim, ako je originalni signal bio sloeni analogni signal,
kao to je glas, potreban je drugaiji mehanizam. Jedan pristup se naziva PCM modu-
lacija (impulsna kodna modulacija), a vri semplovanje analognih signala u pravilnim
intervalima. Zatim, svakom semplu dodeljuje niz bitova i prenosi ih. Na prijemnoj
strani bitovi se prihvataju i vri se rekonstrukcija signala.
Modemi su najrasprostranjeniji uredaji za modulaciju/demodulaciju. Koriste se za
povezivanje digitalnih uredaja, kao to su kompjuteri, preko telefonskog sistema.
Modemi koriste razliite tehnike modulacije, koje su defmisane standardima. Dva
uredaja mogu da komuniciraju samo ako njihove opreme prepoznaju isti standard.
Osim toga, veina modema predstavlja svojevrsne male specijalizovane kompjutere -
mogu pomou odgovarajueg softvera da reaguju na komande korisnika, koje se unose
preko personalnog kompjutera.
Kablovski modemi su dizajnirani da bi se obezbedio interfejs izmedu kompjutera i
kablovske televizije, koja je sve rasprostranjenija. Teorijski, obezbeden je pristup
signalima sa mnogo viim frekvencijama CATV servisa, to omoguava mnogo vee
brzine prenosa podataka u odnosu na klasine telefonske modeme.
DSL tehnologija je sledea opcija za korisnike koji ele bolje konekcije sa Internetom.
Poput kablovskih modema, DSL obezbeduje neprekidnu konekciju. Za razliku od
kablovskih modema, DSL se povezuje preko obinih telefonskih linija. Ova tehnologi-
ja je zasnovana na prenosu visokofrekventnih signala, koji ne ometaju prenos signala
za obine govorne konverzacije. Specijalni DSL modemi implementiraju sloenu
tehniku koja koristi vie kanala (tonova) za prenos grupa bitova i sloene matematike
funkcije (inverznu brzu Furijeovu transformaciju) za njihovo kombinovanje.
Pitanja i zadaci za proveru
1. Koje tri komponente u potpunosti opisuju analogni signal?
2. Da li su sledee konstatacije tane, ili netane (zato)?
a. Proizvoljan broj bitova moe da se pridrui analognom signalu, jer je broj
karakteristika signala beskonaan.
b. Kod digitalnih signala uobiajeno je korienje visokog signala za predstavljanje
0 i niskog signala za predstavljanje 1, zbog jednostavnosti.
c. I pored injenice da je najvei deo opreme, ukljuujui telefonsku, digitalan,
modemi su najznaajniji uredaji u poslednjih nekoliko godina.
d. DSL modemi izvravaju iste funkcije kao i konvencionalni; samo koriste vie
frekvencije.
e. NRZ kodiranje zahteva dva puta veu brzinu bauda od bitske brzine.
f. Zbog zahteva korisnika za veim bitskim brzinama, telefonske kompanije e
verovatno u skorijoj budunosti zameniti sve bakarne kablove optikim fiberima.
g. PCM tehnike, iako su dizajnirane za analogne podatke, mogu da se koriste za
digitalne podatke.
h. Bitska brzina Internet konekcije preko kablovskog modema zavisi od toga da li i
Vai susedi koriste kablovske modeme.
i. Korisnici mogu da koriste telefonske linije za povezivanje na Intemet, ali, ako ele
da razgovaraju sa nekim preko telefona dok neko koristi njihovu konekciju,
moraju da imaju drugu telefonsku liniju.
j. Korisnici mogu da koriste servis kablovske televizije za povezivanje na Internet i
da istovremeno gledaju kablovsku televiziju dok neko od ukuana koristi konekciju.
3. Navedite razlike izmedu NRZ, Manester i diferencijalnog Manester digitalnog kodiranja.
4. Uz svu raspoloivu preciznu opremu, zato dugaki nizovi nula, ili jedinica predstavl-
jaju problem kada se koriste eme kodiranja, kao to je NRZ?
5. Kolika je brzina bauda neophodna za realizovanje prenosa podataka na brzini od IO
Mbps korienjem NRZ kodiranja, a kolika u sluaju da se koristi Manester kodiranje?
6. Navedite razliku izmedu Nikvistovih i Senonovih rezultata.
7. Defmiite koeficijent signal-um.
8. Pretpostavimo da je prenos mogubez ikakvih umova. Da li to znai da nema
granice za maksimalnu brzinu prenosa podataka koju je mogue postii pomou
tekue opreme?
9. Uzimajui u obzir sve vee interesovanje za kompjutersku opremu koja koristi tele
fonske linije, zato je opseg signala telefonskog servisa ogranien aproksimativno
samo na 3.000 Hz?
10. enonovi rezultati povezuju brzine prenosa podataka sa opsegom signala u prisustvu
uma. Meutim, koliina uma zavisi od medijuma i izvora. Kako je to uzeto u obzir u
Senonovim rezultatima?
11. ta modem omoguava da uradite pomou personalnog kompjutera?
12. U emu je razlika izmeu modulacije i demodulacije?
13. Navedite razlike izmedu frekventne, amplitudske i fazne modulacije.
14. Sta je kvadratuma amplitudska modulacija?
15. Navedite razlike izmedu impulsne kodne i impulsne amplitudske modulacije.
16. Zato postoji mnogo razliitih standarda za modeme?
17. ta je konstelacija signala?
18. ta je "inteligentni" modem?
19. Sta je um kvantizacije?
20. Ako modem podrava nekoliko razliitih standarda, kako zna koji treba da koristi
kada se povezuje na drugi kompjuter preko telefonske linije?
21. Po emu se DSL razlikuje od konvencionalnih i kablovskih modema sa stanovita
mogunosti za povezivanje sa Internet provajderom od kue?
22. Navedite razlike izmeu konvencionalnog, kablovskog i DSL modema.
23. ta je defmisanje diskretnih tonova?
24. U emu je razlika izmeu asimetrinog i simetrinog DSL servisa? Zato ona posloji?
Vebe
1. Digitalni signali mogu da se prevedu u analogne signale korienjem relativno jedno-
stavnih tehnika, kao to je promena amplitude, ili frekvencije izmedu dve specifine
vrednosti. U emu je prednost korienja sloenijih ema kao to je QAM?
2. Nacrtajte digitalne signale za niz bitova 0010100010, koristei NRZ, Manester i
diferencijalno Manester kodiranje. Pretpostavite da je pre prijema prvog bita signal
bio na visokom nivou.
3. Koji je niz bitova pridruen sledeem signalu koji je kodiran Manester emom? Kako
bi niz bitova izgledao da je korieno diferencijalno Manester kodiranje?
4. Nacrtajte analogne signale koji odgovaraju sledeim funkcijama:
a.
b.
c.
d.
e.
f.
g-
5. Pretpostavimo da maksimalna frekvencija analognog signala na medijumu iznosi
6.000 Hz. Prema Nikvistovoj teoremi, kolike su bitske brzine mogue kod ema koje
koriste jedan, dva, tri, ili etiri bita po komponenti signala?
6. Prema Nikvistovoj teoremi, kolika je frekvencija neophodna za podrku prenosa sa
brzinom od 30.000 bps kada se koristi samo jedan bit po komponenti signala i kada
se koriste tri bita po komponenti signala?
7. Sopstvenim reima opiite znaaj Senonovih rezultata.
8. Kolika je stvarna jaina signala (u odnosu na jainu uma) ako koeficijent signal-um
iznosi 60 decibela?
9. Koliko decibela iznosi koeficijent ako Je jaina signala dva puta vea od jaine uma?
vreme
niska
vrednost
visoka
vrednost
10. Pretpostavite da je maksimalni opseg signala na analognom medijumu 6.000 Hz.
Prema enonovim rezultatima, kolika je maksimalna bitska brzina ako koeficijent
signal-um iznosi 40 decibela, a kolika u sluaju 60 decibela?
11. Prema enonu, koliki je opseg signala neophodan za podrku bitske brzine od 30.000
bps uz pretpostavku da koeficijent signal-um iznosi 40 decibela? Koliki je opseg
signala neophodan ako je broj decibela udvostruen?
12. Pretpostavimo da elimo da postavimo bitsku brzinu od 64.000 bps korienjem
opsega signala od 10.000 Hz. Koliki je maksimalno doputeni koeficijent signal-um?
13. Da li se za razlikovanje signala moe koristiti fazni pomak od jedne periode?
14. Da li je u sluaju kada se koristi QAM tehnika mogue imati isti signal sa dva razliita
intervala koji odgovara razliitim vrednostima bitova?
15. Da li, u sluaju kada se koristi QAM tehnika, isti bitovi uvek odgovaraju istim
analognim signalima?
16. Nacrtajte QAM analogni signal (paljivo) koji prenosi sledei niz bitova:
001011010101101010110
Pretpostavite da je tekui analogni signal uspostavljen kao ovde prikazani signal.
Morate da nacrtate samo jedan kompletan ciklus za svaku modulacionu promenu.
17. Pretpostavimo da modem koristi kvadraturnu amplitudsku modulaciju, kao to je
opisano u tabeli 3.3. Koja sekvenca bitova odgovara sledeem signalu (poevi od
drugog vremenskog intervala)?
18. Dizajnirajte QAM tehniku koja koristi najvie osam faznih pomaka i dve amplitude.
Koliko bitova postoji u okviru jednog bauda?
19. Pretpostavite da QAM tehnika ima najvie m faznih pomaka i n amplituda. Koliki je
broj bitova po jednom baudu?
20. Ako imate CD plejer, prouite njegovu tehniku specifikaciju i poveite ono to
proitate sa raspravom o PCM-u.
21. Zato nije mogue dizajnirati modeme sa proizvoljno velikim brzinama bauda tako da
se realizuju neograniene bitske brzine?
22. Ako imate modem, napiite krai pregled standarda koje on podrava.
23. Nacrtajte konstelaciju signala za modem koji koristi QAM definisan tabelom 3.3.
Nacrtajte jo jednu konstelaciju za QAM tehniku opisanu u vebi 18.
24. Opiite promene signala (tj. defmiite promene amplitude i faze) pridruene kon-
stelaciji signala sa slike 3.21.
25. Koliko bitova odgovara jednoj komponenti signala kada se koristi standard V.21?
Koliko je trajanje jedne komponente signala?
26. Ponovite vebu 25 za standard V.32.
27. Kao korisnik, objasnite zato biste se odluili za DSL konekcije ka Internetu, umesto
za konekcije sa kablovskim modemom.
28. Kao korisnik, objasnite zato biste se odluili za konekciju ka Internetu sa kablovskim
modemom, umesto za DSL konekciju.
Reference
[B199 ] Black, U. ATM: Foundation for Broadband Netivorks, 2nd ed. Englevvood Cliffs, NJ:
Prentice HaIL 1990.
f Ch02 ] Chapra, S. i R. Canale. Numerical Methods for Engineers. New York: McGraw-Hill,
2002.
[Ge99] Gerald, C. i P. Wheatly. Applied Numerical Analysis, 6th ed. Reading, MA:
Addison-Wesley, 1999.
[GoOl ] Goralski, W. ADSL and DSL Technologies. New York: McGraw-Hill, 2001.
[He97] Hernandez-Valencia, E. J. "Architectures for Broadband Residential IP Services over
CATV Netvvorks". IEEE Network, vol. 11, no. 1 (January 1997).
[StOO] Stallings, W. DaIa and Computer Communications. Englewood Cliffs, NJ: Prentice
HaIl, 2000.
[Wa98 ] Walrand, J. Communications Nettvorks: A First Course, 2nd ed. New York: McGraw-
Hlll, 1998.
Ideja da se informacije mogu sauvati u svetu koji se neprestano menja bez gubljenja njihove
vrednosti je pogrena. To je skoro podjednako netano kao da kaemo da posle rata moemo
da uzmemo svo raspoloivo oruje, namaiemo ga uljem, obloimo gumenim omotaima i
ostavimo da eka sledeu ratnu uzbunu.
Norbert Wiener (1894-1964), ameriki matematiar
4.1 Uvod
U poglavljima 2 i 3 predstavljeni su osnove prenosa podataka i specifini mehanizmi koji su
neophodni za prenos informacija. U ovom poglavlju idemo korak dalje i predstaviemo
komunikaciju. Moda ete se zapitati u emu je razlika izmeu prenosa i komunikacije.
Da biste dobili odgovor, napravite analogiju sa ljudskim govorom. Moemo da analiziramo
"mehanizme" govora - kako se glasne ice savijaju i proiruju da bi propustile vazduh koji dolazi
iz plua i formirale zvuk i kako se ti zvuci artikuliu u ustima u oblik koji smatramo govorom.
Osim toga, mogli bismo da raspravljamo o jeziku i poreklu raznih rei koje danas koristimo.
Ipak, sve to je daleko od komuniciranja. Rei koje izlaze iz usta moraju da budu organizovane,
tako da imaju smisla. Ako se izgovaraju suvie brzo, ili presporo, neemo razumeti onog ko
govori. Ako vie ljudi govori istovremeno, velika je verovatnoa da nikoga neemo razumeti. Ako
Vas niko ne slua, ili ako neko govori jezikom koji ne razumete, komunikacija je izgubljena. Ako
u reenici nedostaju rei, ili fraze (to moe da se desi kada neko ne govori maternjim jezikom),
moe doi do gubitka znaenja.
Slini problemi postoje i kod elektronskih komunikacija. Prijemnik mora da zna kako su orga-
nizovani bitovi u poruci da bi mogao da je razume. Osim toga, on mora da zna i kojom brzinom
bitovi stiu da bi mogao da interpretira poruku. ta se deava ako vie ljudi pokuava istovre-
meno da koristi zajedniki medijum, to je est sluaj u lokalnim mreama (LAN)?
Uspostavljanje
konekcija
Ako svi ureaji istovremeno na isti nain pokuavaju da poalju podatke, moe doi do kolizije
signala i komunikacija nee biti uspena. Mora se implementirati neki redosled, tako da se
omogui neometana komunikacija izmeu uredaja.
U ovom poglavlju se bavimo tim temama. Odeljak 4.2 poinje predstavljanjem nekih nosaa 1
popularnih uredaja koje ljudi esto koriste. U odeljku 4,3 obradiemo nadne za komuniciranje
korienjem serijskog, paraielnog, sinhronog i asinhronog prenosa. Osim toga, predstavljene su
razlike izmedu jednosmernih i dvosmernih komunikacija. Najbolji nain da se osiguraju kompati-
bilno slanje i prijem podataka izmeu ureaja je potovanje standarda. LJ odeljku 4.4 obradiemo
dobro uspostavljene standarde koji se najee koriste za povezivanje uredaja, kao to su EIA-232 i
EIA-449, i neke novije standarde, kao to su USB (universal serial bus univerzalna serijska
magistrala) i FireWire, koji se sve ece sreu na novijim personalnim kompjuterima. LI odeljku 4.5
predstaviemo kako vie uredaja moe istovremeno da koristi zajedniki medijum pomou tehnika
multipleksiranja, a u odeljku 4.6 upoznaete dva uobiajena digitalna nosea sisteraa: Tl i SONET.
Meutim, postoji veliki broj sluajeva u kojima multipleksiranje nije opcija (nesumnjivo u LAN
mreama); tada je uredaju neophodna ekskluzivna kontrola nad medijumom da bi komunikacija
bila mogua. Dakle, uredaji se "nadmeu" za dobijanje ekskluzivne kontrole nad medijumom; u
odeljku 4.7 predstaviemo nekoliko pristupa koji se koriste u LAN standardima.
Glavna injenica koju treba imati na umu dok se ita ovo poglavlje je da obino postoji vei broj
ureaja koji ele medusobno da komuniciraju i da esto moraju da dele zajedniki medijum.
Nain na koji se deljenje medijuma organizuje umnogome odreduje uspostavljanje smisaonih
komunikacija.
4.2 Nosioci i ureaji za uspostavljanje komunikacije
Telefonski sistem
Od svih izuma u prolom veku telefon je sigurno imao najveeg uticaja na nae ivote.
Mogunost pozivanja nekoga ko se nalazi na bilo kom kraju sveta biranjem nekoliko brojeva bila
je apsolutno neverovatna. Ali, telefon je omoguio i vie od obine glasovne konverzacije izmeu
prijatelja i rodaka; postao je neprocenjiv u obavljanju poslova kada je poeo da se koristi za
kompjuterske komunikacije. Mogunost prenosa informacija u okviru kompjuterske mree, ili
faksom sada predstavlja neto sasvim normalno.
Telefon funkcionie tako to konvertuje zvuk u elektrinu energiju. Ono to mi registrujemo kao
zvuk izazvano je malim fluktuacijama u vazdunom pritisku (zvuni talasi). Talasi "putuju" kroz
vazduh, izazivaju vibnranje nekih objekata. Isti princip izaziva podrhtavanje starih prozora, ili
lustera za vreme oluje. Osim toga, omoguava nam da ujemo - talasi izazivaju vibriranje bubne
opne U naim uima, tako da se signali alju do mozga.
Telefon upotrebljava nekoliko metoda za konvertovanje zvuka u elektrinu energiju. Prvi metod
koristi mikrofon u telefonskoj slualici, koji se sastoji od komore ispunjene karbonskim granula-
ma (slika 4.1). Sa komorom su povezana dva elektrina kontakta, Dok govorite u slualicu,
zvuni talasi izazivaju vibriranje dijafragme koja prekriva komoru. Zbog vibracija, dolazi do
promena pritiska na karbonskim granulama. Vei pritisak izaziva vee zbijanje granula, tako da
postaju bolji provodnici elektriciteta.
Manji pntisak ima suprotan efekat. Krajnji rezultat je promenljiva kohcina elektnciteta koju rzazi-
va zvuk koji se vodi u slualicu. Na prijemnoj strani elektricitet aktivira zvuni namotaj, tako da
pridrueni zvunik vibrira. Vibrirajui zvunik izaziva promene u vazdunom pritisku, koje se
interpretiraju kao zvuk.
Drugi metod koristi mikrofon sa provodnom metalnom folijom (foil-electret condenser microphone).
Takoe sadri dijafragmu, koja vibrira kada je "pogode" zvuni talasi. Razlika je u tome to dijafra-
gma prekriva uplji disk i razdvojena je od perzistentne elektrode. Dijafragma je naelektrisana i ima
metalni omota (elektret) na jednoj strani, iako se u nekim sluajevima takav omota moe sresti i
na elektrodi. Kada dijafragma vibrira, menja se elektrino polje izmedu nje i elektrode i dolazi do
promene kapacitivnosti izmedu njih. Tako se indukuje struja koja se generie iz elektrode. Ova
tehnologija se koristi i kod slunih aparata i mikrofona-bubica.
Da bi se postavio poziv, unosi se sekvenca brojeva okretanjem brojanika, ili pritiskanjem tastera.
Svaka cifra alje kod do telefonske centrale koja interpretira kodnu sekvencu i utvrduje odredite.
Ako postoji raspoloiva ruta do odredita i ako linija nije zauzeta, alju se dva signala. Prvi ide
do odredita i izaziva zvonjenje telefona. Drugi ide do izvora i obavetava osobu koja inicira
poziv da telefon na drugom kraju zvoni.
Poto su signali razdvojeni, osoba koja poziva ne uje da telefon zvoni. U stvari, zbog kanjenja
u kolima, moda neete ni stii da ujete zvono. Moda se deavalo da Vam se neko javi pre nego
to ujete da je telefon zvonio. esto se misli da su za to odgovorni gremlini u liniji, ili neke
mistine moi telefonskog sistema. Sada znate da je to samo zato to je neko odgovorio pre nego
to se signal vratio do Vas.
SLIKA 4.1 Konvertovanje zvunih talasa u elektrine signale
Vibriranje dijafragme menja gustinu
karbonskih granula, tako da se
menja i provodljivost
Zvuni talasi izazivaju
vibriranje dijafragme
bla!
bla!
bla!
elektrini
kontakti
mikrofon telefonske slualice
Kod svake cifre zavisi od toga da li imate tonsko, ili pulsno biranje. Kod tonskog biranja svaka
cifra alje jedan ton, koji se sastoji od jedinstvenog para frekvencija. Kod pulsnog biranja svaka
cifra generie 1 do 10 impulsa. Svaki impuls odgovara otvaranju, ili zatvaranju kola, slino pri-
tiskanju tastera za prekid veze. U stvari, ako imate dovoljno brze prste, moete da birate broj
brzim pritiskanjem tastera odgovarajui broj puta.
RUTlRANJE POZIVA Nain na koji se telefonski pozivi rutiraju predstavlja neverovatni podvig
inenjeringa. Ovde govorimo o mrei koja povezuje milione korisnika. Prvi njen deo je lokalna
petlja. ine je telefoni prikljueni na bakarne vodove koji su postavljeni od telefonskog stuba, ili
na podzemne kablove koji vode do lokalne telefonske centrale.* Lokalna telefonska centrala
sadri prekidaku logiku i utvrduje gde treba rutirati poziv. Ako se poziva broj koji pripada istoj
centrali (prve tri cifre u broju telefona), konekcija moe da se uspostavi direktno do destinacije. O
suprotnom, strategija rutiranja zavisi od toga gde treba rutirati poziv.
Na slici 4.2 prikazane su glavne komponente (centri) telefonske mree. Regionalni centri klase 1 su
malobrojniji, a "pokrivaju" vee oblasti (obino vie drava).
ost a li
sekcioni centri
ostali primarni
centri
ostali centri za
medugradske
razgovore
ostale l okal ne
centrale
SLlKA 4.2 Telefonska mrea
telefon koji inicira poziv pozvani telefon
regionalni centar klase I
sekcioni centar klase 2
primarni centar klase 3
centar za meugradske
pozive klase 4
iokalna centrala klase 5
putanja 2
putanja 1
medugradske linije sa
velikim optereenjem
(heavy-use trunk lines)
regionalni centar klase I
sekcioni centar klase 2
primarni centar klase 3
centar za medugradske
pozive klase 4
lokalna centrala klase 5
ostali sekcioni
centri
ostali primarni
centri
ostali centri za
medugradske
razgovore
ostale lokalne
centrale
* Kao sinonimi za lokalnu centralu ovde su esto koriceni termini krajnja centrala, telefonska centrala, ili centrala klase 5.
Klase 2, 3, 4 i 5 su sve brojnije i "pokrivaju" manje oblasti. Nosei sistemi na velikim rastojanjima
poseduju centre koji "pokrivaju" velike oblasti, dok lokalne kompanije poseduju ostale centre.
U tabeli 4.1 dat je pregled ovih informacija. Ukratko emo predstaviti ulogikovih centara u sloenom
sistemuza rutiranje telefonskih poziva. Ako elite detaljnije informacije, pogledajte reference [LeOO]
i [Sh90],
Centri klase 1 povezuju vie centara klase 2. Slino tome, centri klase 2 povezuju vie centara
klase 3 i tako redom. Na vrhu hijerarhije centri klase 1 su povezani dalekovodima visokog
kapaciteta, koji mogu da prenesu vie telefonskih konverzacija istovremeno. U optem sluaju,
dva telefona mogu da se poveu praenjem hijerarhije od lokalne centrale do regionalnog centra,
preko meugradskih linija do drugog regionalnog centra i nazad do odgovarajue lokalne
centrale (putanja 1 na slici 4.2). Ipak, ovo nije uvek najbolja ruta. Idelano bi bilo da poziv
prolazi kroz minimalan broj centara. Ekstremna situacija podrazumeva direktno povezivanje svih
parova telefona u mrei, ali, naravno, to nije realno. U nekim sluajevima, mnogi telefonski
pozivi mogu da se dese izmedu odredenog sekcionog centra i primarnog centra. Tada je korisno
postaviti jo jednu medugradsku liniju visokog kapaciteta, koja e omoguiti spajanje tih centara
i tako obezbediti alternativne rute (putanja 2 na slici 4.2).
Postoji vie meugradskih linija koje povezuju razliite klase centara. Ove konekcije, koje,
uglavnom, odreduje saobraaj izmeu dve oblasti, obezbeduju vei broj alternativnih ruta.
U manje verovatnom sluaju da sve linije funkcioniu na maksimalnom kapacitetu nee biti
mogue proslediti poziv i tada se inicijatoru poziva alje signal zauzea. Ipak, sa dananjim
hardverskim i softverskim resursima, ovakve situacije su malo verovatne.
Privatne centrale
Osim javnog telefonskog sistema, postoje i privatni telefonski sistemi, poznati kao privatne
telefonske centrale (PBX - private branch exchange). Cesto se koriste i nazivi privatne automatske
centrale (PABX - private automatic branch exchange) i kompjuterske centrale (CBX - computer
branch exchange). PBX je kompjuter dizajniran za rutiranje telefonskih poziva unutar kompani-
je, ili organizacije. Ovaj sistem je veoma koristan veim organizacijama, kod kojih je neophodno
obezbediti kontakte izmeu brojnog osoblja.
regionalni centar klase 1
sekcioni centar klase 2
primarni centar klase 3
centar za medugradske
pozive klase 4
lokalna centrala klase 5
nosei sistemi na velikim rastojanjima
nosei sistemi na velikim rastojanjima
lokalna kompanija, ili nosei sistemi na
velikim rastojanjima
lokalna kompanija
lokalna kompanija
vie drava
jedna drava
metropola
Jedan, ili vie gradova
susedstvo
Centar Vlasnik Pokrivena oblast
PBX obezbeduje kompletnu kontrolu nad govornim komunikacijama i razrnenom podataka,
umesto da se oslanja na podrku telefonske kompanije. Ovaj sistem ima svoje prednosti i
nedostatke. Organizacija mora da plati specijalizovani hardver, softver i osoblje koje e odravati
sistem. Sa druge strane, ako je kompanija velika i ima velike zahteve, ovo moe da bude
isplativa varijanta za uspostavljanje komunikacija.
Medutim, PBX je neto vie od telefonskog sistema. Kada se on instalira, kablovi povezuju sve
kancelarije, konferencijsku salu, ili lokacije na kojima se mora koristiti telefon. Zato se dizajneri
esto odluuju na postavljanje dodatnih vodova sa upredenim paricama, koaksijalnih kablova, ili
optikih fibera. Oni treba da budu na raspolaganju za prenos podataka izmedu kompjutera, ili
periferija. U mnogim sluajevima se dodatni vodovi instaliraju ak i kada nema trenutne potrebe
za prenos podataka. Dodatna cena instalacije redundantnih vodova je daleko manja od novih
instalacija u budunosti.
Brojne funkcije PBX-a odgovargju funkcijama lokalne mree, ali izmeu njih postoje znaajne
razlike. Na primer, kod lokalnih mrea obino postoji mogunost radio difuzije. To znai da
jedan uredaj moe da alje poruku svim ostalim uredajima, ili odredenoj grupi uredaja na mrei.
PBX se obino koristi za point-to-point komunikacije. Sa druge strane, PBX moe da definie kolo
izmedu komunikacionih ureaja, neto to nije tipino za LAN. Ova karakteristika je prednost
ako je neophodno brzo preneti veu koliinu podataka izmeu dva ureaja. Detaljnije
predstavljanje PBX-a i poredenje sa LAN mreom nisu tema ove knjige. Ako ste zainteresovani,
proitajte vie detalja u referenci [Sh90 ].
Mobilni telefoni
Sigurno ve poznajete tehnologiju koja je uveliko sastavni deo ivota mnogih ljudi - mobilne
(celularne) telefone. Pre svega, ova tehnologija korisniku omoguava komuniciranje preko
telefonskog sistema i kada je daleko od tradicionalnih telefonskih uredaja. Za razliku od nekih
miljenja da se termin celularni (elijski) tie biolokog fenomena kod koga bi na neijoj glavi
narastao neki komunikacioni ureaj, re je o deljenju geografske oblasti na elije. Oblast je
podeljena na vie regiona, ili elija (slika 4.1), gde svaka elija ima prijemni i predajni toranj.
Centrala mobilne telefonske mree (MTSO - mobile telephone switching office) ima kompjuter
koji kontrolie sve elije i povezuje ih sa telefonskim sistemom.
Mobilni telefon je, u stvari, dvosmerni radio koji moe da komunicira sa tornjern. Na granicama
izmedu elija mobilni telefon moe eventualno da bude izvan dometa nekoliko tornjeva. Svaki
toranj neprestano emituje signale, tako da telefon moe na osnovu jaine signala da utvrdi koji
je toranj najblii. Kada se inicira poziv sa mobilnog telefona, uspostavlja se komunikacija sa
najbliim tornjem (slika 4.4). Sa druge strane, toranj komunicira sa MTSO, preko koje moe da
se povee na tradicionalni telefonski sistem.
Primanje poziva je neto sloenije, jer ne postoji nain da se zna u kojoj se eliji konkretni
telefon trenutno nalazi. Ipak, svaki mobilni telefon ima svoj jedinstveni identifikacioni broj.
Kada se taj broj pozove, MTSO ga prenosi do svih tornjeva pod svojom kontrolom. Nakon toga,
svi tornjevi emituju primljeni broj. Poto mobilni telefon neprestano nadgleda emitovanje, on
registruje svoj ID i odgovara. Kada toranj detektuje odgovor, prenosi ga ka MTSO, koja
kompletira konekciju.
SLIKA 4.4 Komunikacija mobilnim telefonom
Potencijalni problem se javlja kada se korisnik premeta u susednu eliju. U tom sluaju, toranj
sa kojim korisnik komunicira moe da bude izvan dometa. MTSO nadgleda signale koje prima
od tornjeva iz elija; ako detektuje da signal postaje sve slabiji, moe da prebaci komunikaciju na
drugu eliju. Ovo se naziva prenoenje [handoff), koje se vri veoma brzo, tako da nema
primetnog prekida u razgovoru. Medutim, ako se telefon koristi za prenos podataka, moe doi
do gubljenja odreenih podataka.
SLIKA 4.3 Mobilna mrea
centrala mobilne
telefonske mree
telefonski
sistem
Naravno, namee se logino pitanje ta se deava ako mobilni korisnik prelazi u eliju koja je pod
kontrolom druge MTSO centrale, odnosno, ako prede u oblast koja je "pokrivena" drugom
mobilnom mreom. U tom sluaju se koristi roaming. Pretpostavimo da putnik prelazi u oblast
drugog operatera mobilne telefonije. Ako je ta nova oblast kompatibilna sa matinom mreom
putnika, pozivi koje su mu upueni bie rutirani u oblast u kojoj se trenutno nalazi. Naravno,
takva usluga se prua po specijalnoj ceni. To je pomalo slino lutanju kroz umu kada se
neprestano bacaju kamenii. Praenjem baenih kamenia svako moe da sledi Va trag i tako
da Vas nade. Glavna razlika izmedu roarninga i preputanja je to to roaming ukljuuje usluge
drugog operatera; to nije sluaj kod preputanja.
Korienje mobilnog telefona za razmenu podataka namee sliku nekoga ko se utrkuje na autop-
utu sa kompjuterom, ili faks mainom u krilu. Ako to i sami radite, ili znate nekoga ko to radi,
kaite mi da ne idem nikada tim putevima. Medutim, poneki transferi podataka nisu toliko
bizarni kao to moda u poetku izgledaju. Na primer, ambulantna kola imaju legitimnu potre-
bu za prenosom podataka kada se bolnica obavetava da stiu sa osobama povredenim u nekoj
nesrei. Medutim, da bi se obeshrabrilo korienje mobilnih telefona u toku vonje, u nekim
dravama postoje zakonske regulative kojima je ono zabranjeno, osim u hitnim sluajevima.
Faks maine
Sledei uredaj koji je postao popularan krajem 80-ih godina prolog veka je faksimil (faks)
maina (slika 4.5). Moe da prenosi crtee, pisma, ili dijagrame preko telefona za samo nekoliko
sekundi i zato je za mnoge postao uredaj od neprocenjivog znaaja.
Faks maine su zasnovane na principu slinom onome koji se koristi za prikazivanje slike na
video ekranu PC-ja, na televizoru, ili na fotografiji. Slika koja izgleda kao da je sastavljena od lin-
ija i boja u stvari je kolekcija taaka, ali su one toliko male da ne mogu da se razaznaju, ako ne
primaknete nos sasvim uz ekran.
Faks maina funkcionie tako to uzima sliku koja se alje i konvertuje je u binarni format.
Ubacujete list papira u faks mainu kao da je re o kopir aparatu. Strana se deli na veliki broj
taaka (jo se nazivaju i elementi slike, ili pikseli), koje predstavljaju delove papira. Ovo nazi-
vamo bitmapirana reprezentacija, jer se svaka taka pamti kao jedan bit podataka. Svaka taka je
cma, ili bela (binarno 0, ili 1), u zavisnosti od toga ta se nalazi na papiru. Nakon toga, take se
prenose kao binarni podaci i ponovo se spajaju na prijemnoj strani. Na primer, na slici 4.6
prikazana su slova rei "Hello" u bitmapiranoj reprezentaciji. Radi jednostavnosti, prikazali smo
sarao par velikih taaka; tipina bit mapa moe da koristi 200 taaka po inu. Vei broj taaka
obezbeduje bolji kvalitet prenosa. Manje taaka daje granularniju primljenu sliku.
Veina faks maina ne uzima jednostavno sliku i prenosi rezultujue take. Ako bi se nastavilo na
ovakav nain, bilo bi neophodno ogromno vreme prenosa za jednostavnije dokumente. Na
primer, pretpostavimo da faks prepoznaje 200 taaka po inu. Malo raunice pokazuje da posto-
ji 200 200, ili 40.000 taaka po jednom kvadratnom inu. Medutim, tipina strana papira iznosi
8,5x11 ina, ili 93,5 kvadratnih ina. Sa 40.000 taaka po kvadratnom inu, tipina stranica papi
ra zahteva oko 40.000x93,5, ili 3.740.000 taaka.* Sa uobiajenom brzinom prenosa kod slanja
od 33,6 Kbps, potrebno je 3.740.000/33,6, ili skoro dva minuta, da bi slika bila poslata sa jednog
lista papira. Vaa prva reakcija moe da bude: "Koristio sam faks mainu i nisam primetio da traje
toliko dugo." U pravu ste.
SLIKA 4.6 Bitmapirana reprezentacija rei "Hello"
SLIKA 4.5 Faks maina
* Ovo su samo aproksimativne brojke. Vie specifinih informacija moete da proitale u odeljku 5.3.
Veini faks maina ne treba toliko vremena, jer koriste kompresiju podataka. Umesto da se alje
svaka taka individualno, faks grupie take i definie ekvivalentnu binarnu reprezentaciju za
grupu, koristei manje bitova. Na primer, pretpostavimo da deo slike ima 800 crnih taaka u
nizu. Umesto da se alje 800 crnih taaka, moete da poaljete 1 crnu taku ispred koje se navo-
di broj 800. Poto je za 800 binarna reprezentacija 1100100000 (10 bitova), za prenos je
neophodno 11 bitova (ne zaboravite jedan bit za taku). Jasno, ovo je znaajna redukcija. Postoje
i drugi naini za kompresovanje podataka; u Poglavlju 5 detaljnije emo predstaviti kompresiju
podataka.
4.3 Modovi prenosa
Modovi prenosa definiu nain na koji se grupa bitova prenosi od jednog uredaja do drugog. Osirn
toga, definiu da li bitovi mogu da "putuju" u oba smera istovremeno, ili uredaj mora
naizmenino da alje i prima podatke.
Serijski i paralelni prenos
Najpre emo istai razliku izmedu serijskog i paralelnog prenosa. Paralelni prenos znai da se
grupa bitova prenosi istovremeno korienjem zasebnih linija (ica) za svaki bit (slika 4.7a).
Linije su, obino, upletene u kabl. Paralelni prenosi su esti, posebno ako je rastojanje izmedu
uredaja kratko. Na primer, konekcija izmedu PC-ja i tampaa koji se ne nalaze na rastojanju
veem od 25 stopa smatra se bezbednim rastojanjem. Najei primer je komunikacija izmedu
kompjutera i perifernih uredaja. Medu druge primere ubrajaju se komunikacije izmedu CPU-a,
memorijskih modula i kontrolera uredaja.
Slanje 01101100,
poevi od krajnjeg desnog bita
0 1 1 0 1 1 0 0
Uredaj
2
Uredaj
1
O
O
1
1
O
1
1
O
Uredaj
2
Ureaj
1
(a) Paralelni prenos
SLIKA 4.7 Paralelni i serijski prenos
(b) Serijski prenos
Paralelni prenos gubi prednosti na veim rastojanjima. Prvo, konenje veceg broja hmja na
veim rastojanjima je skuplje od korienja samo jedne linije. Drugo, prenos na veim
udaljenostima zahteva deblje ice da bi bilo redukovano degradiranje signala. Uplitanje takvih
ica daje "nezgrapan" kabl. Trecl problem je vreme potrebno za prenos bitova. Na kraim
rastojanjima bitovi koji se alju istovremeno mogu da se primaju takode skoro istovremeno.
Medutim, na veim rastojanjima otpornost ica moe da izazove manja pomeranja bitova, tako
da stiu u razliito vreme, to moe da prouzrokuje probleme na prijemnoj strani.
Serijski prenos obezbeduje alternativu za paralelni prenos (slika 4.7b). Koristi se samo jedna
linija, preko koje se bitovi prenose jedan za drugim. To je jeftinije i pouzdanije od paralelnog
prenosa na veim rastojanjima. Osim toga, prenos je sporiji, jer se prenosi samo po jedan bit u
jednom trenutku.
Uredaje za slanje i prijem odlikuje dodatna sloenost. Poiljalac mora da utvrdi redosled kojim
se bitovi alju. Na primer, kada se alje osam bitova iz jednog bajta, poiljalac mora da utvrdi da
li se najpre alje bit najvee, ili najmanje teine. Slino tome, prijemnik mora da zna gde da
postavi bit koji prvi primi u okviru odredinog bajta. Ovo moda izgleda kao trivijalan problem,
ali razliite arhitekture mogu drugaije da numeriu bitove u bajtu; ako ne postoji saglasnost
protokola o redosledu bitova, informacije nee biti ispravno prihvaene.
Asinhroni, sinhroni i izohroni prenos
Postoje tri naina za obezbedivanje serijskih komunikacija: asinhroni, sinhroni i izohroni prenos.
Pod asinhronim prenosom se podrazumeva nezavisni prenos bitova podeljenih u manje grupe
(obino bajtove). Poiljalac moe da poalje grupe u bilo koje vreme i prijemnik nikada ne zna
kada stiu (pomalo slino poseti davno zaboravljenog rodaka).
Jedan primer (nekada uobiajen) koristi terminal za komunikaciju sa kompjuterom. Pritiskom na
taster koji predstavlja slovo, broj, ili specijalni karakter alje se 8-bitni ASCII kod.* Terminal alje
kodove u bilo koje vreme, u zavisnosti od toga koliko dobro, ili brzo kucate. Interno, hardver
mora da ima mogunost prihvatanja unetih karaktera u bilo kom trenutku. Treba da istaknemo
da se za sve tastere sa tastature koristi asinhroni prenos. Mnogi PC-ji koriste softver za emulaciju
terminala prilikom povezivanja na udaljene kompjutere i mogu da baferuju unete vrednosti i pre-
nesu celu liniju, ili ekran do kompjutera. Ovo je sinhroni prenos, koji emo ukratko predstaviti.
Ulaz preko terminala nije jedini primer asinhronog prenosa. U nekim sluajevima se podaci alju
na linijski tampa po bajtovima. Asinhroni prenos je tipini bajtu-orijentisani ulaz-izlaz
(I/O), termin koji ukazuje da se podaci prenose po jedan bajt u jednom trenutku.
Kod asinhronih prenosa postoji jedan potencijalni problem. Zapamtite da prijemnik ne zna kada
e podaci stii do njega. Kada on detektuje primljene podatke i bude spreman da reaguje, prvi bit
je ve doao i otiao.
*Nismo zaboravili da smo defmisali ASCII kod kao 7-bitni kod. Meutim, 7-bitni kod moe da se posmatra kao 8-bitni kod,
gde Je vodei bit uvek O. To je slino nekome ko iznenada staje iza Vas i poinje da govori. Kada reagujete i ponete da sluate,
verovatno ste ve.
Uredaj
1
y b
7
b
6
b
5
b
4
b
3
b
2
b, b
0
x
stop bit start bit
Uredaj
2
SLIKA 4.8 Asinhrona komunikacija
propustih nekoliko rei. Zato svaki asinhroni prenos zapoinje start bitom (slika 4.8), koji
upozorava prijemnika da podaci stiu. Tako prijemnik ima vremena da reaguje, da prihvati i da
baferuje bitove podataka. Na prijemnoj strani stop bit ukazuje na kraj prenosa. Po konvenciji,
neaktivna linija (preko koje nema prenosa) prenosi, u stvari, signal koji definie binarnu jedinicu.
Nakon toga, start bit dovodi do promene signala, to odgovara O. Preostali bitovi mogu da
izazovu promenu signala u zavisnosti od vrednosti bitova. Konano, stop bit vraa signal nazad
na ekvivalent jedinice i zadrava to stanje sve dok ne stignu naredni bitovi.
Na primer, pretpostavimo da ste uneli cifre 321 preko terminala. Korienjem 8-bitnog
proirenog ASCII koda (sa vodeom 0) definiu se sledei bitovi za slanje:
00110001 zacifru 1
00110010 zacifru 2
00110011 zacifru3
Pretpostavimo da aljemo svaku cifru (prvo krajnji levi bit), nezavisno koristei NRZ kodiranje
Na slici 4.9 prikazan je preneti signal. U svakom sluaju start bit podie signal, upozoravajui na
dolazak bitova.
SLIKA 4.9 Asinhroni prenos cifara 1,2x3 pomou NRZ kodiranja
neaktivna linija (i dl e l i ne)
1 1 0 0 0 1 1 0 0 0
kodza ' l '
stop
bit
start
bit
stop
bit
start
bit
stop
bit
start
bit
vreme izmedu
prenosa
smer prenosa
neaktivn
Jlnija
1 1 1 0 0 1 1 0 0 0
kod za '3'
1 0 1 0 0 1 1 0 0 0
kod za '2'
SLIKA 4.10 Sinhroni prenos
syn = bltovi sinhronizacije
control ~ kontrolni bitovi
data = bltovi podataka
error = bitovi za proveru greaka
end = bitovi za oznaavanje kraja okvira
okvir podataka
Uredaj 1
poiljalac
end error data control syn syn
Uredaj 2
prijemnik
Izvorna adresa: Definie odakle okvir potie.
Odredina adresa: Definie gde okvir treba da ide. Ovo je znaajno u mreama u
kojima okvir moe da proe kroz vie vorova na putu do svog odredita. Svaki
posredniki vor koristi odredinu adresu da bi utvrdio kuda treba da rutira okvir.
Rutiranje je detaljnije obraeno u Poglavlju 10.
Stvarni broj bajtova
Zatim, slede kontrolni bitovi, koji mogu da ukljue sledee elemente:
Kada stignu svi bitovi za konkretnu cifru, stop bit sputa signal. Ostaje na niskom nivou sve do
pojave sledeeg start bita, koji ponovo podie signal.
Asinhroni prenos je dizajniran za korienje na sporijim ureajima, kao to su tastature, ili neki
tampai. Ispoljava velika prekoraenja. U primeru koji smo prethodno dali za svakih osam
bitova prenose se dva dodatna bita. Ovo predstavlja poveanje od 25 odsto u ukupnom prenosu
(kod sporijih uredaja koji prenose dosta podataka to predstavlja znaajno poveanje).
Kod sinhronog prenosa alju se mnogo vee grupe bitova. Umesto da se alje vie karaktera
nezavisno, svaki sa svojim start i stop bitom, karakteri se grupiu i prenose u celini. Ovu grupu
moemo da nazovemo okvir podataka (data frame), ili, jednostavno, okvir. Precizna organizaci-
ja okvira zavisi od protokola koji se koristi. Meutim, okviri nemaju mnogo zajednikih
karakteristika. Na slici 4.10 prikazana je organizarija generikog okvira podataka. Orijentacija je
postavljena u odnosu na krajnji desni bit.
Prvi deo okvira sadri SYN karaktere, jedinstveni uzorak bitova koji upozorava prijemnik da
okvir dolazi. SYN karakter je slian prethodno predstavljenom start bitu, osim to definisani
uzorak obezbeduje da uestalost semplovanja bude konzistentna sa brzinom kojom bitovi
dolaze.
Broj sekvence: Ovo je korisno kada se alje vei broj bitova i ako oni zbog neega ne
stiu na odredite u ispravnom redosledu. Prijemnik tada koristi brojeve sekvenci za
ponovno sastavljanje podataka. O ovome e biti vie rei u Poglavlju 8.
Tip okvira: Razlikuje se od protokola do protokola. U Poglavlju 8 predstaviemo neke
tipove.
Bitovi podataka defmiu informacije koje se alju. Nema start i stop bitova izmedu karaktera.
Bitovi za proveru greaka se koriste za detektovanje i korekciju greaka koje nastaju u toku
prenosa. Kao to ste saznali u poglavljima 2 i 3, elektrina interferenca moe da izoblii signale.
Kako prijemnik zna kada se to desilo? Tipino, poiljalac prenosi ekstra bitove koji zavise od
podataka. Ako su podaci promenjem, ekstra bitovi nisu konzistentni sa podacima. U Poglavlju 6
predstaviemo detekciju greaka i tehnike za njihovo korigovanje.
Poslednji deo okvira je marker kraja okvira. Poput SYN karaktera, to je jedinstveni niz bitova koji
ukazuje da nee stii novi bitovi (bar ne do poetka nekog novog okvira).
Sinhroni prenos je u optem sluaju mnogo bri od asinhronog. Prijemnik ne prima start i stop
bitove za svaki karakter. Kada detektuje SYN karaktere, sve ostale bitove prima odmah im stignu.
Osirn toga, manje je optereenje. Na primer, tipini okvir moe da ima 500 bajtova (4.000 bito-
va), sa jo 100 dodatnih bitova (ovaj broj varira). U ovom sluaju dodatni bitovi znae poveanje
od 2,5 odsto u ukupnom broju prenetih bitova. Uporedite to sa poveanjem od 25 odsto kod
asinhronog prenosa.
Kako se broj bitova poveava, tako se procenat prekoraenja smanjuje. Sa druge strane, vie polja
podataka zahteva vee bafere za njihovo smetanje, to stvara ogranienje za veliinu okvira.
Osim toga, vei okviri zauzimaju medijum u duem neprekidnom intervalu. U ekstremnim
sluajevima ovo moe da prouzrokuje preterano kanjenje za druge korisnike. I pored sinhrone
prirode bitova unutar okvira, postoji i asinhrona karakteristika prilikom slanja okvira.
Trei mod prenosa koji se sve ee koristi je izohroni prenos. I asinhroni i sinhroni prenos
imaju jednu zajedniku karakteristiku: posmatrano u duim vremenskim periodima, podaci ne
moraju da stiu fiksnom brzinom. ak i ako podaci iz jednog okvira stiu fiksnom brzinom,
moe da postoji proizvoljan razmak izmeu okvira, to daje asinhronu crtu prenosu okvira. Zato
se moe desiti da u odredenim trenucima dolazi do iniciranja slanja velikog broja okvira. Osim
toga, ako metodi za detektovanje greaka otkriju greku, obino se trai ponovno slanje okvira,
to utie na ukupnu brzinu transfera. U mnogim sluajevima, kao to je transfer fajlova i Web
aplikacije, to je u redu. Mnogo je znaajnije ispravno preneti informacije, nego voditi rauna o
manjim kanjenjima.
Medutim, real-time aplikacije zahtevaju razliit kvalitet servisa (QoS). Primeri ukljuuju zavisnost
prikazivanja video slika u realnom vremenu, ili sluanja radio stanice (tj. Internet radija) od
brzine preuzimanja bitova. Na primer, standardi za prikazivanje televizije zahtevaju da se TV slika
javlja brzinom od 30 slika u sekundi - ni manje, ni vie. Signali moraju da stiu fiksnom
brzinom; nema drugih opcija. Sledei primer je Web kamera. Video kamera je postavljena na
odreenoj lokaciji, digitalizuje slike u zapise i podaci se prenose preko Interneta; korisnik vidi
slike odmah im se slika pojavi. Slike moraju da stiu brzinom koja je prikladna za prikazivanje;
kanjenje nije doputeno.
Izohroni prenos garantuje da e podaci stii na odredite fiksnom brzinom, tako da korisnik vidi
kvalitetnu sliku, ili uje kvalitetan zvuk bez praznina koje odvlae panju. Obino ne postoji
nikakva detekcija greaka. Ako dode do greke u toku prenosa, ona se ignorie i korisnik moe da
primeti manje podrhtavanje slike, ili zvuka. Ovakve smetnje obino nisu problem i, u stvari, nisu
gore od efekta koji stvaraju udar munje, elektrini motor koji radi u blizini, ili, ak, paljenje
svetla. Smetnje se javljaju i nestaju.
U literaturi esto moete da naidete na termin bysinc, akronim za binarne sinhrone komu-
nikacije (binary synchronous communications), mada se ponekad koristi i skraenica BSC.
To nije mod prenosa u istom smislu kao to su asinhroni i sinhroni modovi. Re je o protokolu
koji je IBM uveo 60-ih godina prolog veka za sinhrone komunikacije izmedu kompjutera i ter-
minala. Predstaviemo ga u Poglavlju 9.
Simplex, half-duplex i full-duplex komunikacije
Do sada smo se u ovom poglavlju bavili nainima za prenos informacija sa jednog uredaja na
drugi, sa jasno definisanom razlikom izmedu poiljaoca i primaoca. To je bio primer simplex
komunikacija (slika4.11) - komunikacija se obavlja samo u jednom smeru. Medu brojne primere
ovakve vrste komunikacije ubrajaju se monitori na aerodromima, tampai, televizijski uredaji,
ili razgovor sa nesimpatinim profesorom u vezi rasporeda ispita.
Drugi oblici komunikacija zahtevaju veu fleksibilnost, tako da ureaj moe i da alje i da prima
podatke. Metodi kojima se to postie su razliiti. Neki koriste half-duplex komunikacije, kod
kojih oba uredaja mogu da alju i primaju podatke, ali to mora da se izvrava naizmenino. Ovaj
metod se koristi kod nekih modema, LAN standarda i perifernih uredaja. Na primer, prethodno
pomenuti bisync protokol koristi half-duplex komunikacije.
Uredaj
1
Uredaj
2
Uredaj
1
Uredaj
2
Uredaj
2
Uredaj
1
Simplex komunikacije
se odvijaju samo u
jednom smeru.
Half-duplex komunikacije
mogu da se odvijaju u
oba smera, ali uredaji
moraju naizmenino
da alju podatke.
Full-duplex komunikacije
mogu da se odvijaju u
oba smera istovremeno.
SLIKA 4.11 Simplex, half-duplex i full duplex komunikacije
Najfleksibilniji metod su full-duplex komunikacije, kod kojih uredaj istovremeno moe da alje
i da prima podatke. Kada uredaj alje podatke preko jedne linije, moe da prima podatke preko
druge. Mnoge konekcije PC-ja sa udaljenim kompjuterima koriste full-duplex komunikacije. To
moe da se vidi na primeru kontinuelnog kucanja na tastaturi, istovremeno sa prikazivanjem
informacija na ekranu. Mnogi modemi su full-duplex uredaji.
Dvosmema komunikacija postaje sloena, posebno u mrei. Moraju da se koriste razni protokoli
da bi se obezbedio ispravan prijem informacija na ureden nain, tako da komunikacija izmedu
uredaja bude efikasna. O ovome e biti rei u haredna etiri poglavlja.
4.4 Standardi za interfejse
U Poglavlju 3 i prethodnom odeljku opisano je nekoliko naina za prenos informacija. Moda
ste pomislili da je za komunikaciju dva ureaja dovoljno da koriste isti mehanizam sa slanje i
prijem podataka. To ipak ne mora da znai da e doi do komunikacije. Ako dve osobe govore
istovremeno, one ne komuniciraju. Zdrav razum nalae da se u okviru komunikacije
naizmenino slua i govori. Ureene diskusije zahtevaju potovanje odredenih pravila (protoko-
Ia). Slino vai i u sluaju komunikacija izmedu uredaja. Nema nikakvog smisla slati modulisane
signale do uredaja koji nije spreman za oslukivanje i interpretiranje signala.
Na slici 4.12 prikazano je tipino uredenje povezanih uredaja. Akronim DCE podrazumeva
opremu za razmenu podataka (data circuit-terminating equipment), dok DTE podrazumeva
opremu terminala (data terminal equipment). DTE (na primer, personalni kompjuter) ne
povezuje se direktno na mreu. On komunicira preko DCE (na primer, modem) opreme.
Konekdju izmedu DTE i DCE nazivamo DTE-DCE interfejs. U ovom odeljku predstavljamo neke
standarde za DTE-DCE interfejse, a zatim nekoliko novijih protokola za uspostavljanje veze, koji
se esto sreu kod personalnih kompjutera.
DTE
(oprema terminala)
DTE-DCE interfejs
DCE
(oprema za
razmenu podataka)
Komunikaciona
mrea
DCE
(oprema za
razmenu podataka)
DTE-DCE interfejs
DTE
(oprema terminala)
SLIKA 4.12 DTE-DCE interfejs
EIA-232 interfejs
Optepoznati standard je EIA-232.* Razvila ga je EIA (Electronic Industries Association)
poetkom 60-ih prolog veka, a doiveo je nekoliko revizija, koje su oznaene dodavanjem slova
na kraj oznake standarda. Verzija koja se verovatno najdue zadrala je EIA-232-C. ITU ekviva-
lent V.24 definie funkcionalne aspekte operacija i referencira se na naredni standard (V.28), koji
definie elektrine specifikacije. Osim toga, EIA je kreirala nekoliko novih varijacija, a 1997.
godine je uspostavljen standard EIA-232-F. Nemamo nameru da sada navodimo sve razlike
izmedu varijacija; smatrali smo da je dovoljno da predstavimo originalnu EIA-232 specifikaciju.
Gde bude potrebno ukazaemo na promene koje su izvrene u narednim verzijama.
Najoigledniji (i najvidljiviji) aspekt standarda je broj linija (25) izmeu DTE i DCE. Ako se
standard u potpunosti implementira, DTE i DCE su povezani 25-ilnim kablom (ponekad se naziva
DB-25 kabl) koji spaja svaki ureaj preko 25-pinskog konektora (slika 4.13). Svaka linija ima speci-
finu funkciju u uspostavljanju komunikacije izmedu ureaja. U tabeli 4.2 dat je
pregled nekoliko linija sa naznaenim smerom signala (da li se linija koristi za prenos podataka od
DCE-a ka DTE-u, ili obratno). Osim toga, u tabeli je data i EIA oznaka (kod kola) za svaku
liniju. Ovde neemo detaljnije predstaviti sve konekcije, ali emo opisati ulogu koju neka kola imaju
u okviru tipine DTTi-DCE konekcije. Ako elite detaljniji opis, pronai ete ga u referenci [StOO].
Pretpostavimo da je DTE personalni kompjuter, a da je DCE modem. Ovo je uobiajena konflg-
uracija kada se koristi eksterni modem. U Poglavlju 3 smo predstavili kako modem komunicira
sa analognim svetom, a sada emo se fokusirati na razmenu podataka sa kompjuterom. Prvih est
kola se prvenstveno koristi za uspostavljanje razmene koja osigurava da ni jedan uredaj nee slati
podatke ako ih drugi uredaj ne oekuje. Na slici 4.14 pokazano je da se razmena odvija u
odredenom vremenskom intervalu.
SLIKA 4.13 EIA-232 konektor
* Godinama je ovaj standard bio poznat i kao RS-232 serijski port na PC-jima. Ponegde se oznaava i kao EIA/TIA-232. Ovo
ukazuje da je EIA radila zajedno sa TIA (Telecommunications Industry Association); 1991. godine su objavili EIA/TIA-232-E.
1 2 3 4 5 6 7 8 9 10 11 12 13
14 15 16 17 18 19 20 21 22 23 24 25
DTE ukazuje na svoju spremnost umetanjem (slanjem signala) DTR kola broj 20 (na slici 4.14
trenutak t,). DCE registruje signal i reaguje, povezuju se na mreu (ako venije povezan). Kada
se DCE povee i kada je spreman, on umee DSR kolo broj 6 (trenutak t
2
). U sutini, DCE
potvrduje spremnost DTE-a; i on se deklarie kao spreman.
Kada su oba uredaja spremna, DTE trai dozvolu za prenos podataka do DCE-a umetanjem RTS
kola broj 4 (trenutak t
3
). Ovo kolo kontrolie i smer prenosa u half-duplex komunikacijama.
Nakon detektovanja RTS signala, DCE ulazi u mod za prenos, to znai da je spreman za slanje
podataka preko mree. Zatirn, reaguje umetanjem CTS kola broj 5 (trenutak t
4
). Konano, DTE
alje podatke preko TD kola broj 2 (izmeu trenutaka C
5
i t
s
).
Kod kola Broi linije Smer sienala Funkcija
AA
AB
BA
BB
CA
CB
CC
CD
CE
CF
1
7
2
3
4
5
6
20
22
8
DTE ka DCE-u
DCE ka DTE-u
DTE ka DCE-u
DCE ka DTE-u
DCE ka DTE-u
DTE ka DCE-u
DCE ka DTE-u
DCE ka DTE-u
Zatitno uzemljenje - Povezuje se na okvir opreme, a
ponekad na eksterno uzemljenje.
Elektrino uzmeljenje - Svi naponski signali se mere u
odnosu na ovo uzemljenje.
Prenos podataka (TD - transmit data) - Preko ovog kola
DTE prenosi podatke ka DCE-u.
Prijem podataka (RD - receive data) - Preko ovog kola DTE
prima podatke od DCE-a.
Zahtev za slanje (RTS - request to send) - DTE koristi
ovo kolo za traenje dozvole od DCE-a pre nego to pone
prenos podataka.
Dozvola za slanje (CTS - clear to send) - Ovo kolo DCE
koristi da bi dao dozvolu DTE-u za slanje podataka.
Podaci spremni za slanje (DSR - data set ready) - Signal na
ovoj liniji ukazuje da je DCE povezan na komunikacioni
medijum i da je spreman za izvravanje operacija. Na
primer, ako je DCE modem, ovo kolo ukazuje da je veza
uspostavljena.
Terminal spreman za prenos (DTR - data terminal ready) -
Signal na ovoj liniji ukazuje da je DTE spreman za slanje, ili
prijem podataka. Moe da se koristi kao signal modema
kada se povee na komunikacioni kanal.
Indikator zvona - Ukazuje da DCE prima signal zvona (tj.
kada modem primi poziv) od komunikacionog kanala.
Detekcija noseeg signala (DCD - data carrier detected) -
Ukazuje da DCE prima nosei signal koji zadovoljava
uspostavljene kriterijume komunikacione mree. U sutini,
ovo znai da DCE "razume" dolazei signal.
SLIKA 4.14 Slanje i prijem signala preko ElS-232 konekcije
Kada DCE detektuje dolazei signal sa mree koju prepoznaje, on potvruje DCD kolo broj 8
(trenutak t2). Kada signal stigne, DCE alje podatke ka DTE-u preko RD kola broj 3. Neki stariji
modemi su imali lampice na prednjoj strani - one su ukazivale koje su linije potvrene. Ovaj
signal je korisniku davao ansu da vidi ta se, u stvari, deava. Ipak, u veini sluajeva, lampice su
treperele toliko brzo da se nije znalo da li su ukljuene, ili iskljuene.
EIA-232 PODSKUPOVI Interesantno je da mnogi konektori EIA-232 portova na kompjuterima
nisu imali 25 pinova. Seate se da smo predstavili EIA-232 standard. Da li je proizvoa u
potpunosti implementirao standard to je ve bilo drugo pitanje. injenica je da su mnogi ukljuili
samo podskup EIA-232 defmicija.
Ilustracije radi, pre nego to su modemi poeli da se instaliraju u kompjuterima, korisnik je
morao da kupi eksterni modem i da ga povee sa kompjuterom pomou kabla. Tipini kabl je
imao 25-pinski konektor na jednom kraju, koji se prikljuivao u modem, a na drugom kraju je
bio 9-pinski konektor, koji se prikljuivao u kompjuter. Ovo je pomalo nalik prikljuivanju
utikaa sa tri zupca u utinicu sa dva otvora, ali postoji razlog za ove razlike. Mnogi modemi su
bili saglasni sa kompletnim standardom. Medutim, mnogi korisnici nisu koristili puni opseg
EIA-232 mogunosti. Prvenstveno, bila im je potrebna mogunost komunikacije na nain koji
smo opisali na slici 4.14. Zato su serijski portovi u optem sluaju zahtevali 9-pinski konektor
koji je koristio sedam kola opisanih u primeru i jedno, ili dva za uzemljenje. Odluka o nainu
implementacije standarda uglavnom je zavisila od ekonomske raunice: zato implementirati
(i plaati) puni opseg karakteristika kada je mala verovatnoa da ete ih ikada koristiti! Kablovi
sa razliitim konektorima na krajevima povezuju samo potrebna kola. Ekstra linije na strani
modema nisu povezane na personalni kompjuter.
Postavljanje DTR
(data t ermi nal
ready) signala
Postavljanje RTS
(request to send)
signala
Prenos podataka
do DCE-a preko
TD signala
DCE
DTE
Postavljanje DSR Postavljanje CTS
(data set ready) (clear to send)
signala signala
Postavljanje DCD
(dolazei signal)
signala
Prijem podataka iz kanala
slanje podataka do
DTE -a preko RD signala
vreme
DTE pri ma podatke
(DTE receiving)
DTE prenosi podatke
(DTE transmi tti ng)
Jedan nedostatak EIA-232 standarda je to ima ogranien opseg signala i ogranino rastojanje na
kome moe da funkcionie. Obino se koristi za prenos do 20.000 bitova u sekundi (bps) na
rastojanjima do 50 stopa. U nekim sluajevima, kao to su situacije sa manjom interferencom,
mogua su i vea rastojanaja, ali tada se koriste drugi standardi, koje emo uskoro ukratko
predstaviti.
Kao finalnu napomenu, ponoviemo da je bilo nekoliko revizija EIA-232 standarda. Iako ovde
nismo detaljnije obuhvatili razlike izmeu verzija, ista emo jednu promenu. Verzija EIA-232-E,
izdata 1991. godine, promenila je nain interpretacije signala RTS i CTS. Prethodni primer razmene
podataka demonstriran je u half-duplex modu; medutim, vedna dananjih modema je full-duplex i
esto ima neki oblik hardverske kontrole toka.* DTE moe da koristi RTS da bi ukazao da moe da
primi podatke od DCE-a, a DCE moe da koristi CTS u analogne svrhe. Za veinu operacija ova kola
su stalno potvrdena.
-I)ULL MODEMI Ponekad ete moda hteti da dopustite da dva ureaja (kao to su personalni
kompjuteri) komuniciraju direktno, tj. bez mree, ili DCE ureaja izmeu njih. U takvim
sluajevima Vaa prva reakcija moe da bude povezivanje EIA-232 portova preko kabla, a pre-
ostali deo posla bi se prepustio protokolima. Na kraju krajeva, oba kompjutera alju i primaju
podatke preko svojih EIA-232 portova. Medutim, povezivanjem pomou prostog kabla
uspostavljate kontakt izmeu istih pinova na oba kraja. Na primer, kabl bi povezao pin 2 oba
DTE uredaja. Problem je to bi oba pina pokuala da alju podatke preko iste linije. Prvi DTE alje
podatke, a drugi ih prima preko linije 2. Poto drugi DTE oekuje da primi podatke preko linije
3, direktna veza nee funkcionisati. Slino tome, poto kabl povezuje pin 3 na oba kraja, oba
uredaja oekuju prijem podataka preko istog kola, a ni jedan ih ne alje preko te linije.
Jedno reenje ovog problema je povezivanje DTE uredaja ukrtanjem nekih kola. Na slici 4.15
prikazan je jedan mogui nain povezivanja preko null modema. Nill modem moe da bude ili
kabl koji povezuje razliite pinove na svakom konektoru, ili uredaj koji jednostavno
Pin # Funkcija
2 TD (prenos podataka)
3 RD (prijem podataka)
5 CTS (dozvola za slanje)
4 RTS (zahtev za slanje)
6 DSR (podaci spremni za slanje)
8 DCD (detektovan nosei signal)
20 DTR (terminal spreman za slanje)
7 Uzemljenje
SLIKA 4.15 Nill modem
DTE DTE
2 TD (prenos podataka)
3 RD (prijem podataka)
5 CTS (dozvola za slanje)
4 RTS (zahtev za slanje)
6 DSR (podaci spremni za slanje)
8 DCD (detektovan nosei signal)
20 DTR (terminal spreman za slanje)
7 Uzemljenje
Pin # Funkcija
* Kontrolu toka detaljnije emo predstaviti u Poglavlju 8. Za sada moete da je smatrate mehanizmom za kontrolu brzine
kojom podaci stiu, uz odravanje mogucnosti za stopiranje i nastavak dolazeeg toka podataka. Moe da se uporedi sa
baterijom na slavini. Okrenete je u jednom smeru i tee vea koliina vode; okrenete je u drugom smeru i voda tece slabije.
ukrta konekcije, koristei postojee kablove. U svakom sluaju, rezultat je isti. Null modem sa
slike 4.15 povezuje pin 2 na jednom kraju sa pinom 3 na drugom kraju. Zbog toga, kada DTE
alje podatke preko pina 2, oni se rutiraju na pin 3 na drugom kraju, gde je omoguen ispravan
prijem podataka.
Nill modem sa slike 4.15 povezuje pinove 4 i 5 istog DTE uredaja. Razlog za to je prethodno
opisani primer. Kada DTE eli da prenese podatke, on mora da zatrai dozvolu i da eka CTS
signal (signal dozvole) od DCE ureaja. Poto ovde nema DCE uredaja, null modem rutira RTS
signal (pin 4) nazad do pina 5. DTE alje sopstveni signal sa pina 5 i tako "misli" da je DCE
odgovorio CTS porukom na njegov zahtev.
Ostale ukrtene konekcije osiguravaju da svaki DTE bude spreman pre nego to se podaci poalju.
Kao to smo prethodno opisali, DTE potvrduje DTR liniju broj 20 kada bude spreman i oekuje
da DCE reaguje potvrdom DSR linije broj 6. Ovde se linija 20 jednog DTE-a rutira na liniju 6
drugog DTE-a; kada jedan signalizira da je spreman, drugi odmah prima signal. Ovim se DTE
navodi da "pomisli" da je DCE povezan na mreu i da je takode spreman za prenos.
Na slici 4.15 prikazan je jo jedan primer brojnih varijacija null modema. Razlike se javljaju u
zavisnosti od zahteva ureaja i u kojoj se meri koristi EIA-232 protokol. Informacije o drugim
varijacijama moete da pronadete u referencama [StOO] i [Ru89].
Standard X.21 interfejsa je defmisao ITLI-T. Koristi 15-pinski konektor i omoguava balansirana
(elektrini standard X.27) i nebalansirana (X.26 standard) kola. Postoji nekoliko znaajnih
razlika izmedu X.21 i EIA standarda. Prva je da je X.21 definisan kao interfejs za digitalno
signaliziranje. Druga razlika ukljuuje nain na koji se razmenjuju kontrolne informacije. EIA
standard definie specifina kola za kontrolne funkcije. Za veu kontrolu je neophodan vei broj
kola, to oteava uspostavljanje konekcija. Princip na kome je zasnovan X.21 podrazumeva vie
logikih kola (inteligencije) u DTE-u i DCE-u koja mogu da interpretiraju kontrolne sekvence,
tako da se redukuje broj kola koja se moraju povezati.
X.21 interfejs
Kod kola Broj pina Smer signala Funkcija
G
T
R
C
I
S
B
1
8
2, 9
4, 11
3, 10
5, 12
6, 13
7, 14
DTE ka DCE
DCE ka DTE
DTE ka DCE
DCE ka DTE
DCE ka DTE
DCE ka DTE
Omota
Uzemljenje signala
Prenos podataka, ili kontrolnih informacija
Prijem podataka, ili kontrolnih informacija
Kontrola
Indikacija
Tajming elementa signala
Tajming bajta
SLIKA 4,16 Slanje i prijetn podataka preko X.21 konekcije
U tabeli 4.3 prikazane su X.21 definicije kola za balansirano kolo. DTE koristi samo dva kola
(T i C) za prenos do DCE. Slino tome, DCE koristi dva kola (R i I). Druga dva kola su koriena
za tajming signala kod sinhronih komunikacija. Sa manjim brojem kola koja slue za prenos,
potrebna je bolja logika za interpretiranje signala koji se prenose. Tipino, T i R se koriste za
prenos niza bitova, a C i I su postavljeni na ON (binarno O), ili OFF (binarno 1) stanje. Dakle, T
i R se koriste za signaliziranje i slanje podataka i kontrolnih informacija.
Signali na T, G, R i I linijama definiu stanja (status) DTE i DCE uredaja. ITU-T definie razliita
stanja za X.21, ali ovde ih neemo detaljnije prouavati. Ipak, ilustrovaemo kako protokol
funkcionie na primeru proste konekcije.
Na slici 4.16 ilustrovana je sekvenca razmene signala dok DTE i DCE razmenjuju informacije. U
poetku, kada su oba uredaja neaktivna, kola C i I su postavljena na OFF, a kola T i R prenose
binarne jedinice. Kada DlE eli da se povee na udaljeni DTE, poinje da alje nule preko T kola
i postavlja C na ON (trenutak t, na slici 4.16). DCE registruje promenu stanja i reaguje slanjem
sekvence + karaktera preko R (trenutak I
2
). Ovo je analogno podizanju slualice na telefonu i
reakciji lokalne centrale koja alje ton za dozvolu iniciranja poziva.
Ako ste inicirali telefonski poziv, Va sledei korak treba da bude pozivanje broja. DTE reaguje
slino prenoenjem kontrole i inforrnacija o podacima preko T (trenutak t
3
).
DTE
Zahtev za poziv: T = O
C = ON *l
Postavljanje poziva: T = kontrola/podaci *3
Razmena podataka: T - podaci t
5
DTE zelt da prekine vezu: C = OFF
T=O
DTE se i'skljuuje: T= 1
vreme vreme
incijalno: C = I = OFF
T = R = 1
DCE
Odgovor na zahtev za poziv: R = ' +'
Veza uspostavljena: R = 1
I = ON
Razmena podataka: R = podaci
DCE potvrduje zabtev za prekid veze: I = OFF
R=O
DCE se iskljuuje: R = 1
Na ovaj nain, DCE dobija neophodne informacije, kao to je adresa, tako da moe da uspostavi
komunikaciju sa udaljenim DTE ureajem preko mree. Dok DCE pokuava da uspostavi
konekciju, alje niz SYN karaktera preko R linije. Kada se konekcija uspostavi, on obavetava DTE
slanjem jedinice preko R linije i postavljanjem I na ON (trenutak t
4
).
U ovoj taki (trenutak t
5
) DTE i DCE mogu da razmenjuju podatke, pri emu DTE koristi T kolo,
a DCE R kolo. Eventualno, DTE moe da odlui da okona svoje aktivnosti. On ukazuje na svoju
nameru slanjem O preko T kola do DCE-a i postavljanjem C na OFF (trenutak C
6
). DCE potvruje
nameru prenoenjem O preko R i postavljanjem I na OFF (trenutak t
7
). Konano, DCE prekida
vezu prenoenjem jedinica preko R (trenutak C
8
) i DTE se iskljuuje prenoenjem jedinica preko
T (trenutak t
9
). Tako se oba uredaja vraaju u neaktivno stanje, kojim smo i zapoeli primer.
USB
Jedna od najeih albi korisnika personalnih kompjutera do nedavno se ticala sloenosti
povezivanja perifernih uredaja. Korisnici su morali da se "bore" sa serijskim i paralelnim
portovima i specijalnim konekcijama namenjenim za kontrolere igara, tastaturu, mia i tako
dalje. Naravno, nakon toga su morali da instaliraju odgovarajue drajvere da bi konekcija pro-
funkcionisala. Sve to je bilo prilino konfuzno. Tu se namee logino pitanje zato proizvodai
ne bi standardizovali konekcije i ak se i sloili za standard izmedu ureaja. Na kraju krajeva,
transfer podataka se uvek svodi na slanje i prijem bitova. Sreom, ovo pitanje su postavili pravi
ljudi. I, da "stvar" bude jo bolja, dali su i odgovor, koji se zove univerzalna serijska magistrala
(USB - universal serial bus).
U poetku je na definisanju USB-a zajedno radilo sedam kompanija (Compaq, DEC, IBM, Intel,
Microsoft, NEC i Northern Telecom). Primarni motiv je bilo pojednostavljenje povezivanja, a da
se istovremeno obezbede i vee brzine prenosa za novije ureaje koji su se pojavili na tritu.
Rezultat je bio USB verzija 1.0, a ubrzo je izala i verzija 1.1, dok je verzija 2.0 izala u skorije
vreme. Neemo se baviti detaljima razlika izmedu ovih verzija, ali emo dati opti pregled kako
USB funkcionie - videemo da on obezbeduje veoma fleksibilno uredenje za povezivanje vie
uredaja, tako da korisnik ima na raspolaganju vie opcija.
USB KONEKCIJE Veina kunih kompjutera verovatno koristi uredenje sa slike 4.17a.
Kompjuter (host na slici 4.17a) ima par USB soketa, a korisnik jednostavno povezuje jedan, ili
dva USB-kompatibilna uredaja na njih, kao to su skener, ili digitalna kamera. U stvari, USB
korisniku omoguava da povee do 127 razliitih uredaja, mnogo vie nego to e korisniku
PC-ja ikada biti potrebno. Naravno, ne postoji 127 zasebnih soketa na zadnjoj strani kuita
hosta. Umesto toga, ako korisnik eli da povee vie uredaja, mora da definie uredenje slino
onom na slici 4.17b.
Jedan USB uredaj moe da se povee direktno na host. Medutim, da bi se povezao vei broj
uredaja, potreban je hub, jednostavni uredaj sloja 1, koji regenerie i ponavlja signale primljene
preko jedne konekcije do svih ostalih konekcija. Korisnik moe da povee hub na host, pa da
povee nekoliko drugih USB uredaja na hub. U stvari, korisnik moe da povee i druge hubove
na prvi, a uredaje na drugi hub.
SLIKA 4.18 USB ice
bela
crvena
cma
zelena
podaci: jednaki i suprotni signali
izvor napajanja
uzemljenje
SLIKA 4.17 Konektovanje USB ureaja
Korisnik, dakle, kreira hijerarhijsku topologiju kod koje je host (personalni kompjuter) koren, USB
uredaji su vorovi listovi (vorovi na kraju hijerarhijske putanje), a hubovi su meduvorovi (vorovi
koji povezuju neto iznad njih sa neim ispod njih). U sutini, sve to host poalje preko USB kone-
kcije "putuje" do svih vorova u hijerarhiji. Teorijski, ne postoji ogranienje za broj uredaja koje je
mogue povezati na ovakav nain. Medutim, USB koristi 7-bitnu emu adresiranja za referenciranje
ureaja, tako da je ukupan broj USB ureaja ogranien na 127 i sam host.
USB kabl povezuje ureaje. Kabl sadri etiri ice (slika 4.18). Dve ice (obino zelene i bele)
slueza prenos podataka korienjern elektrinih signala koji su isti po jaini, ali imaju suprotan
polaritet (tj. balansirani signali). ice su upredene jedna oko druge i zatiene omotaem da bi
se redukovao efekat uma. Mehanizam signalizacije predstavlja jednostavnu varijaciju NRZ eme
kodiranja.
(a) Jednostavna konekcija koja je dovoljna
kod veine kunih PC-ja
(b) Sloenija hijerarhijska konekcija
drugi uredaji
i/ili hubovi
USB uredaj
host host
USB uredaj USB uredaj
hub
USB uredai
USB definie 0 promenom signala na poetku intervala, a 1 zadravanjem konstantnog nivoa signala.
U svakom sluaju, signal ostaje fiksan za vreme intervala bita (za razliku od Manester kodiranja, gde
se prelaz izvravao na sredini intervala). Ovde se niz jedinica predstavlja konstantnim signalom. USB
1.1 definie maksimalnu bitsku brzinu od 12 Mbps; novija verzija USB 2.0 obeava brzine do 480
Mbps. Osim toga, u kablu se nalazi i crna ica, koja se koristi za uzemljenje, a crvena prenosi napa-
janje niske amplitude do USB ureaja. Ovim je poboljana fleksibilnost, jer neki USB uredaji (na
primer, mi i tastatura) zahtevaju veoma slabo napajanje. Ova linija obezbeduje napajanje koje im
je potrebno, a proizvoai ne prave izvor napajanja na uredaju.
Sam USB kabl ima dva tipa prikljuaka, tako da korisnici ne mogu da prikljue pogrean kabl na
ureaj. Mnogi korisnici personalnih kompjutera prepoznaju mali ravni prikljuak (slika 4.19)
koji se povezuje sa kompjuterom, a naziva se standardni A prikljuak. Standardni B prikljuak
(slika 4.19) povezuje se na USB ureaj i moe da se prepozna po neto vie kvadratnom obliku.
Zbog razliite geometrije, skoro je nemogue grekom prikljuiti B prikljuak u A soket, ili
obratno. Svako ko je nekada sluajno povezao pogrene krajeve kabla u sokete i pitao se zato
nita ne funkcionie zna prednosti ove eme. Autor ove knjige moe to da potvrdi iz sopstvenog
iskustva (to je stvarno neto ega se stidim). Duina kabla je ograniena na 4,5 metara. Vea
duina ne daje nikakve garancije za integritet elektrinih signala.
Transfer podataka USB komunikacija se odvija u master/slave modu. Prosto reeno, host
kontrolie sav transfer, a ureaj preuzima akciju samo kada dobije nalog od hosta. Nain na koji
ovo sve funkcionie je prilino interesantan. Osnovni koncept za transfer podataka pomou USB
konekcije je koncept okvira (frame). Imajte na umu da se re okvir koristi na specifian nain
kada se govori o USB-u. Ranije smo u ovom poglavlju definisali okvir kao organizovanu grupu
bitova. U kontekstu USB-a, on predstavlja vremenski interval od 1 milisekunde. Za vreme te
milisekunde informacije mogu da se prenose organizovane po paketima (USB termin za organi-
zovanu grupu bitova). teta je to se neki termini koriste za razliite "stvari", u zavisnosti od
konteksta. Medutim, na polju koje se menja veoma brzo uspostavljanje univerzalnih termina za
sve oblasti nije nimalo jednostavno.
Interesantna karakteristika USB-a je da su svi uredaji sinhronizovani u odnosu na okvir. Ovo se
ne postie zajednikim taktom za sve uredaje, ve preko hosta. Na poetku svakog okvira host
alje specijalni paket koji "putuje" do svakog USB uredaja i obavetava da zapoinje novi okvir.
ta se deava nakon toga zavisi od hosta koji kontrolie transfer informacija, od tipova uredaja i
od podataka raspoloivih za transfer. Pogledajmo kako to funkcionie.
SLIKA 4.19 USB kabl i prikljuci
standardni A
prikljuak
standardni B
prikljuak
Za poetak, LISB definie etiri razliita tipa prenosa (ponekad se nazivaju tipovi okvira): kontrolni,
teretni (bulk), izohroni i prekidni. Svaki odgovara razliitom tipu razmene i implementira se
razmenom paketa. Ukratko emo opisati kako se sve to deava u kontekstu okvira, ali najpre emc
defmisati razliite tipove transfera:
Kont rol ni transfer: USB uredaji se mogu prikljuivati (ili iskljuivati) bez iskljuivanja
sistema sa napajanja, ili uitavanja novog softvera da bi funkcionisali. Zbog toga,
operativni sistem na hostu mora da detektuje kada se uredaj doda, ili ukloni. U toj
taki ulazi u fazu inicijalizacije, u kojoj host trai od novog ureaja da potvrdi svoj tip
i odredi kojim brzinama moe da prenosi podatke. Ureaj odgovara na ove upite i
host eventualno pridruuje adresu preko koje moe da komunicira sa uredajem. Tako
host moe da razlikuje uredaje koji su povezani na njega. Nakon to se ureaji
poveu, host moe da poalje komande do njih, da zahteva izvetavanje o njihovom
statusu, ili da inicira razmenu podataka.
Teretni (bulk) transfer: Neki USB uredaji su dizajnirani za prenos velikih koliina
informacija. To su, na primer, skeneri, ili digitalne kamere. Podaci se obino smetaju
i prenose u vidu paketa, a na prijemnoj strani se koristi mehanizam za detekciju
greaka. U Poglavlju 6 emo predstaviti detekciju greaka i njene detalje; ideja je
jednostavna: proverava se da li u dolazeem paketu ima greaka koje su eventualno
mogle da se jave u toku prenosa. Ako se greka detektuje, inicira se ponovno slanje
paketa. Pomou tehnika za detekciju greaka osiguran je pouzdan prenos podataka.
Zapamtite da u teretnom transferu moe da uestvuje nekoliko uredaja i da nema
garancija za vreme pristizanja podataka. Ovde se garantuje pouzdan, ali ne i pravovre-
meni transfer. Host koordinie transfer.
Prekidni transver: Neki periferni uredaji kompjutera (na primer, kontroler diska)
funkcioniu u sistemu prekida. Kada su podaci spremni za transfer, uredaj alje signal
do centralne procesorske jedinice. Time se generie prekid u operaciji koju procesor
trenutno obavlja. U toj taki operativni sistem preuzima kontrolu, utvrduje razlog
prekida i eventualno poziva upravljaku rutinu (handler routine) da reaguje. Sve ovo
zahteva sloene protokole koji omoguavaju razmenu signala prekida i odziva.
USB ne funkcionie na ovaj nain. Kada ureaj ima podatke spremne za transfer,
jednostavno ih zadrava i eka da dobije upit od hosta. Ovo pomalo lii na pokuaj
saznavanja pravih informacija od dva mala deteta koja su poela da se prepiru. Znate
ko je prvi poeo, ali niko nee nita da prizna - morate da budete dovoljno lukavi da
to izvuete od njih. Prekidni transferi obino prate uredaje koji prenose manje
informacija. Na primer, kada kucate na tastaturi, kodovi se pamte sve dok ih host ne
zatrai. Po prijemu zahteva od hosta, tastatura prenosi karaktere koje je korisnik uneo.
Proces u kome host pita uredaj da li ima podatke za slanje naziva se prozivka
(polling). Poto host "proziva" ureaje sa fiksnom frekvencijom, moe se garantovati
"glatka" isporuka informacija. Na primer, ako host proziva tastaturu svakih 50 okvira
(50 milisekundi), moe da uzme do 20 karaktera u svakoj sekundi. To je mnogo bre
nego to veina nas moe da se nada da moe da otkuca. Jedino bi Supermen mogao
bre da kuca.
1. Nakon slanja SOF paketa, host alje OUT paket. OUT paket (slika 4.20c) sadri
7-bitnu adresu - ona identifikuje USB uredaj koji treba da primi podatke.
Odgovarajui uredaj "vidi" OUT paket, prepoznaje svoju adresu u njemu i priprema se
za prijem podataka. Osim SYN i PID polja, OUT paket sadri CRC (Cyclic Redundance
Check) polje, koje se koristi za detekciju greaka koje se eventualno javljaju u toku
prenosa.
Izohroni transfer: Neki USB ureaji (na primer, mikrofoni i slualice) su real-time
uredaji koji moraju da alju podatke zagarantovanom brzinom. Host moe da
rezervie deo svakog okvira za taj ureaj i tako moe da garantuje da e se deo okvira
potroiti na prenos podataka ka tom ureaju, ili od tog uredaja. Prenoenjem odreenog
broja bitova u svakom okviru host moe da garantuje odreenu bitsku brzinu.
Za razliku od teretnog transfera, nema detekcije greaka. Ovde se nastoji obezbediti
pravovremena isporuka podataka. Greke koje nastaju u prenosu se toleriu. Ako se
prenose audio zapisi, takve greke (ak i ako su primetne) dovode do manjih devijaci-
ja (kriputanje, klik, statian zvuk, periodi tiine, itd) od originalnog zapisa, ali se
isporuka zapisa nastavlja. Uredaj nee zahtevati ponovno slanje podataka dok se ne
postigne savren zvuk. Vlasnici starih gramofonskih ploa (posebno onih sa
ogrebotinama) dobro znaju kako izgleda kada se javljaju devijacije u poreenju sa
originalnim zapisom. ak i izgrebani CD-ovi mogu slino da se ponaaju.
USB PAKETI Sledei logian korak je opisivanje relacije izmedu okvira i paketa podataka.
U optem sluaju, moe da postoji nekoliko razmena paketa u toku jednog okvira. Ono to se
pomou njih postie zavisi od tipa paketa koji se razmenjuju. Ovde emo predstaviti tri tipa
paketa: tokene, podatke i pakete za usaglaavanje. Iako se sadraj ovih paketa razlikuje, postoje
dve zajednike "stvari" za sve vrste paketa: polja SYN i ID paketa (PID). Polje SYN sadri speci-
jalni uzorak bitova koji izaziva promenu elektrinih signala u skladu sa taktom poiljaoca. Tako
je omoguena sinhronizacija internog takta prijemnog ureaja sa brzinom kojom bitovi stiu,
ime je obezbeden ispravan prijem bitova. Polje PID sadri bitove koji identifikuju tip paketa.
Zapamtite da ureaj moe da primi paket takorei u bilo kom trenutku i mora da postoji neki
nain na koji e se identifikovati tip primljenog paketa.
Poeemo sa tokenom. Host koristi token pakete za slanje informacija, ili zahteva do USB ureaja.
Postoji nekoliko vrsta tokena. Jedan je SOF (Start of Frame) paket (slika 4.20a). Prethodno smo
istakli da su svi uredaji sinhronizovani za poetak sledeeg okvira. Drugim reima, svaki uredaj
"zna" kada poinje okvir: Medutim, umesto da se svi uredaji vezuju na zajedniki takt (ovo je
teko izvodljivo kada se nasumice ukljuuju i iskljuuju), taj posao obavlja host. Na poetku
svakog okvira (jednom svake milisekunde) host alje SOF paket do svih USB ureaja. SOF paket
je posebno vaan za real-time uredaje koji moraju da prenesu minimalni broj bitova u svakom
okviru.
Dva primera tokena su IN i OUT paketi. Oni predstavljaju zahteve hosta za iniciranje prenosa
podataka. Razlika je u smeru transfera. Da bismo to ilustrovali, pretpostaviemo da host eli da
poalje podatke do USB uredaja (slika 4.20b). Deava se sledee:
Ovo polje emo sretati i kod drugih paketa, ali poto jo uvek ne govorimo o detaljima detekci-
je greaka, odloiemo predstavljanje CRC polja za Poglavlje 6. OUT paket ima i polje Endpoint,
koje emo uskoro predstaviti.
2. Zatim, host alje DATA paket (slika 4.2Oe), koji sadri podatke koji se prenose.
3. Konano, ako nema greaka u toku prenosa, USB ureaj alje ACK paket (u stvari,
paket usaglaavanja) nazad do hosta. Ako je detektovana greka, uredaj e do hosta
poslati drugu vrstu paketa usaglaavanja (NACK paket). U toj taki host ponavlja
proceduru i pokuava ponovo da poalje podatke.
SLlKA 4.20 USB okviri i paketi
okvir od 1 ms okvir od 1 ms okvir od I ms okvir od I ms
(a) Slanje SOF paketa u sukcesivnim okvirima
od hosta do hosta
jedan okvir
(b) Slanje podataka od hosta ka USB uredaju
od hosta do hosta od hosta
SOF
paket
IN
paket
DATA
paket
ACK
paket
jedan okvir
(d) Slanje podataka od USB uredaja do hosta
SYN PID data CRC
(e) Paket podataka kod USB uredaja
Host moe da inicira i druge transfere u konkretnom okviru (isprekidana linija na slici 4.20b), ali
tekui transfer mora da se kompletira.
Ako host eli da primi podatke od ureaja, razmena bi se odvijala kao na slici 4.2Od:
1. Host alje IN paket.
2. Nakon prijema IN paketa, uredaj alje DATA paket.
3. Ako ne dode do greaka u toku prenosa, host vraa ACK paket.
Ako uredaj nema podatke za slanje, on e odgovoriti NACK paketom. Host e to prepoznati kao
indikator da uredaj nema nita za slanje.
Paljiviji itaoci su moda primetili neto u prethodnom opisu: DATA paketi ne sadre adresu.
Medutim, DATA paketu prethodi IN, ili OUT paket, koji identifikuje ureaj koji uestvuje u
transferu. Tako uredaj moe da se pripremi za transfer. Osim toga, paljiviji itaoci su mogli da
primete da smo "preli" preko Endpoint polja u IN i OUT paketima. Razlog je injenica da se to
ne tie prethodne rasprave. Meutim, detaljnija analiza transfera podataka bi pokazala da
naznaavanje adrese uredaja nije dovoljno, jer adresa moda ne definie u potpunosti odredite
podataka. Neki uredaji imaju vie pridruenih izvora, ili odredita. Primer je kontroler igara sa
viestrukom dugmadi, gde svako od njih moe da ukljuuje transfer razliitih informacija.
U takvim sluajevima identifikator Endpoint se koristi radi daljeg defmisanja tanog izvora, ili
odredita podataka.
O USB-u moe da se kae jo mnogo tota, ali moramo da predemo i na daige teme. itaoci koji
su zainteresovani za vie detalja mogu da pogledaju referencu [AxOl ], ili mogu da posete Web
sajt www.usb.org.
FireWire
Krajem 80-ih godina prolog veka Apple je razvio FireWire, tehnologiju dizajniranu za povezi-
vanje elektronskih uredaja. Na osnovu tog dizajna, IEEE usvaja 1995. godine standard IEEE 1394.
Zatieni naziv (trademark) je Apple FireWire. I Sony proizvodi verziju IEEE 1394 standarda i
plasira je pod oznakom i.Link. Kada kupite novi kompjuter, moete da vidite specifikaciju "IEEE
1394" u listi "External Ports", zajedno sa specifikacijama za jedan, ili dva USB porta.
FireWire ima dosta zajednikog sa USB-om. Za oba standarda vai sledee:
Mogu se prikljuivati na sistem bez potrebe za iskljurvanjem sistema sa izvora napajanja
Re je o plug-and-play uredajima.
Koriste serijske konekcije.
Obezbeduju standardizovani nain za prikljuivanje velikog broja razliitih uredaja.
Relativno su jeftini za implementiranje.
Ipak, postoje i neke velike razlike. U vreme kada je ova knjiga nastajala najvanija razlika je bila
u brzini. FireWire specifikacije definiu bitsku brzinu od 400 Mbps, dok USB ima samo 12 Mbps
(ovo poredenje verovatno nee biti validno u vreme kada ova knjiga izade iz tampe).
USB 2.0 specifikacija nagovetava prenos od 480 Mbps, to moe da se uporedi sa FireWire. Osim
toga, priprema se poveanje brzine za FireWire do 800 Mbps. Postoje i dugoroni planovi za
implementiranje FireWire standarda kod konekcija sa optikim fiberom, tako da se dostignu
brzine izraene u Gbps. Neemo se zadravati na konkrelnim bitskim brzinama, jer e se one
najverovatnije menjati u skorijoj budunosti.
KONEKCIJE Kao i USB, FireWire je dizajniran za povezivanje razliitih ureaja, ali ovde su se
dizajneri fokusirali na podrku multimedijalnim uredajima (posebno onima koji podravaju
digitalne video aplikacije), kao to su digitalni kamkorderi, ili digitalne kamere. Mnogi FireWire
vide kao bolju alternativu za SCSI (Small Computer Systems Interface), standardni high-speed
interfejs za povezivanje uredaja. Meutim, SCSI koristi paralelne komunikacije, to podrazume-
va uplitanje kablova i veu cenu.
FireWire povezuje vie uredaja koristei daisy chain pristup (slika 4.21). To znai da moete da
poveete nekoliko uredaja u nizu pomou FireWire kabla (ija je maksimalna duina oko 4,5
metara) izmeu susednih parova. Osim toga, mogue je da jedan uredaj oznaava poetak dva
daisy chaina (primeujete dva daisy chaina levo i ispod disk drajva na slici 4.21). U stvari,
mogue je vizuelizovati uredaje u okviru hijerarhijskog ureenja. Jedino nije doputeno povezi-
vati ih tako da formiraju petlju. Na primer, na slici 4.21 ne bi bilo doputeno povezivanje
televizora sa kompjuterom.
Kada se koristi daisy chain, nema potrebe za hubom. Svaki uredaj ima jedan, ili vie FireWire
portova, koji se, takode, ponaaju kao ponavljai. Svaki signal koji stigne na takav port biva
regenerisan, a zatim se alje do drugih portova. U stvari, kao to emo ukratko opisati, FireWire
tehnologija ne zahteva host kompjuter.
Ono to e korisnik sigurno primetiti je da je FireWire kabl estoilni (za razliku od etvoroilnog
USB kabla). Postoje dva para upredenih parica, koje su poznate i kao TPA i TPB, i dve linije za
napajanje. Kao i kod USB-a, linije napajanja mogu da obezbede napajanje za FireWire uredaje,
tako da nije neophodan poseban izvor napajanja.
digitalna kamera
kamkorder
televizor
disk drajv
kompjuter
SLIKA 4.21 Povezivanje FireWire ureaja
SLIKA 4.22 Kodiranje strob signalom
Rekonstruisani signal takta belei promene bilo u
signalu podataka, ili strob signalu - na prijemniku
Strob signal - primljen na TPB
Signal podataka - primljen na TPA
1 0 0 1 1 1 0 1
Korienje dva para upredenih parica pomalo se razlikuje od onoga to smo prethodno videli.
FireWire koristi metod kodiranja poznat kao kodiranje podataka sa strob signalom (data strob
encoding). Na slici 4.22 prikazano je kako to funkcionie. Podaci koji e biti preneti najpre se
kodiraju jednim oblikom NRZ kodiranja. U ovom sluaju 1 je visoki signal, a O niski. Prijemnik
dobija podatke preko TPA. Medutim, kao to smo ranije istakli, dugaki konstantni signali
(dugaki nizovi jedinica, ili nula) mogu da izazovu odstupanja izmedu poiljaoca i primaoca.
Kod FireWire standarda drugi par upredenih parica TPB koristi se za prenos strob signala.
Poiljalac generie strob signal, koji ostaje konstantan svaki put kada dolazi do promene u
podacima sa 1 na 0, ili obratno. Ako nema promene u signalu podataka, dolazi do promene u
strob signalu. Ovde je vano istai da sa svakim ciklusom takta u poiljaocu postoji promena ili
u signalu podataka, ili u strob signalu. Prijemnik moe da detektuje te promene korienjem
logike iskljuivog ILI (exclusive OR), tako da se ponovo uspostavlja signal takta poiljaoca.
Prijernnik moe da sinhronizuje svoj takt sa dolazeim bitovima; tako je osiguran ispravan
prijem podataka. Ovo pomalo podsea na Manester kodiranje, jer postoji mehanizam za
samostalno podeavanje takta. Najvea razlika je u tome to Manester kodiranje zahteva brzinu
bauda dva puta veu od bitske brzine. Ovde su brzina bauda i bitska brzina jednake. Medutim,
ova tehnika zahteva dodatni par upredenih parica.
Sutinska razlika izmedu FireWire i USB-a je verovatno tip protokola. Kao to smo videli, USB
funkcionie u master/slave modu, a FireWire je peer-to-peer protokol. U naem sluaju to znai
da komunikacija ne zavisi od jednog hosta, kao to je personalni kompjuter. Ako postoji FireWire
konekcija izmedu kamere i eksternog disk drajva, podaci se mogu preneti direktno sa kamere do
skladita. Host kompjuter nije neophodan. Kompletni detalji su sloeni i mi emo ovde dati
samo opti pregled protokola. itaoci koji su zainteresovani za detaljnija objanjenja mogu da
pogledaju reference [An99] i [St03], ili mogu da posete sajt www.apple.com/firewire.
Peer-to-peer dizajn omoguava iri opseg topologija za povezivanje. Na slici 4.22 ve je prikazano
nekoliko ureaja koje je mogue povezati pomou daisy chaina. Na slici 4.23 data je optija
konfiguracija koja koristi 1394 bus mostove. Uredaji povezani metodom daisy chain mogu da
formiraju bus grupu. Te grupe mogu da se poveu pomou bus "mostova" - oni izoluju grupe
jedne od drugih, tako da ureaji u jednoj grupi mogu da komunidraju nezavisno od uredaja
druge grupe (paketi u optem sluaju ostaju unutar grupe). "Mostovi" formiraju konekcije sloja
2 izmedu uredaja. U Poglavlju 10 detaljnije emo predstaviti tipove "mostova" i njihove funkci-
je. Za sada, "most" moete da smatrate uredajem koji omoguava nezavisno funkcionisanje
ureaja u grupi, a zaduen je za prenos paketa adresiranih na uredaje iz druge grupe. Mogue je
postaviti do 63 uredaja (koristi se 16-bitni ID) u okviru jedne grupe i do 123 razliite bus grupe
(sa 10-bitnim ID-om).
KOMUNIKACIJE FireWire podrava komuniciranje u dva razlidta moda: asinhronom i
izohronom. FireWire definie asinhrone komunikacije kao komunikacije koje ukljuuju razmenu
paketa i potvrda. Opti princip se sastoji u sledeem:
1. Slanje paketa
2. ekanje na odgovor
1394 most
FireWire uredaji
povezani u
daisy chain
1394 most
FireWire uredaji
povezani u
daisy chai
1394 most
SLIKA 4.23 Vie FireWire magistrala
3. Ako se dobije potvrdan odgovor, smatra se da je paket primljen.
4. Ako je odgovor negativan (drugi tip paketa), pretpostavlja se da se neto desilo sa
paketom i inicira se njegovo ponovno slanje.
Detalji implementiranja ovakvih protokola mogu da budu sloeni; o njima e biti vie rei u
Poglavlju 8. Ovde treba istai da paketi stiu u proizvoljnim trenucima; ako neki moraju pono-
vo da se alju, mogue je da e doi do fluktuacije u brzini prenosa.
Izohroni transfer smo ve opisali. FireWire garantuje da se paketi alju u pravilnim intervalima,
tako da je zagarantovana odreena bitska brzina. Nema ekanja na potvrdu, niti se inicira
ponovno slanje paketa.
Asinhroni paket ima zaglavlje koje sadri 64-bitnu adresu. esnaest bitova identifikuje odredeni
uredaj preko 10-bitnog ID-a magistrale, a est bitova predstavlja ID vora. Preostalih 48 bitova se
koristi za referenciranje memorije, tako da je obezbeen 256-terabajtni (2
18
) kapacitet memorije.
Izohroni paketi nemaju adresu. Umesto toga, svaki ima polje sa brojem kanala koji identifikuje
ranije uspostavljeni tok izmeu dva ureaja.
Jedan od razloga za definisanje brojeva kanala je osiguravanje traenog kvaliteta servisa za
izohroni kanal. Kada dva uredaja zahtevaju izohronu komunikaciju, menader resursa dodeljuje
broj kanala. Ako neka druga dva ureaja zahtevaju izohronu komunikaciju, dodeljuje im se drugi
broj kanala. Medutim, ta se deava ako menader resursa dodeli isuvie kanala za izohrone
komunikacije? U tom sluaju, fizika bitska brzina nee biti dovoljna za podrku svih zahteva za
prenos. Sve konekcije imaju konaan kapacitet za prenos bitova i zato se mora obezbediti da se
ne nude obeanja koja se ne mogu ispuniti. Zbog toga, postoji ogranienje za broj dodeljenih
izohronih kanala.
Kao to smo ranije istakli, FireWire je peer-to-peer protokol, koji eliminie
zavisnost od hosta prilikom svih transfera podataka. Tako uredaji mogu sami da iniciraju prenos
svojih podataka. Zvui dovoljno jednostavno sve dok ne shvatite da se javljaju problemi ako vie
uredaja pokuava da inicira transfer u isto vreme. Kada se to desi, neophodna je arbitraa koja e
utvrditi koji ureaj "pobeduje". Kako arbitraa funkcionie?
Da bismo dali odgovor na to pitanje, vratiemo se malo unazad. Kada se novi uredaj povee na
postojei daisy chain, svi uredaji sarauju tako da se formira hijerarhijsko uredenje vorova.
Napomenimo da se te hijerarhije nalaze u grupama koje su medusobno razdvojene mostovima
(ureaji svake grupe su nezavisni od uredaja iz drugih grupa).
Taan nain saradnje izmedu uredaja koji formiraju ovu konfiguraciju je prilino sloen; u
Poglavlju 10 detaljnije prouavamo tu temu. Za sada je dovoljno da znate da uredaji mogu da
komuniciraju i da se ureduju u strukturi stabla, kod koje se jedan vor ponaa kao koren.
Napominjemo da ureenje mora da bude u vidu stabla i da nisu dozvoljene petlje. Nakon to se
ureenje definie, svaki vor selektuje svoj ID broj na osnovu pozicije u hijerarhiji. Ovde neemo
detaljno objanjavati kako se to izvodi.
Ureaj koji je postavljen kao koren stabla igra ulogu arbitra. Kada se trai pristup magistrali, alje
se zahtev arbitru radi izdavanja potvrde za pristup. Ako dva ureaja istovremeno trae pristup,
arbitar donosi odluku na osnovu njihovog prioriteta. Prioritet se dodeljuje na osnovu udaljeno-
sti ureaja od korena stabla (oni koji se nalaze blie korenu stabla imaju vei prioritet od onih
ARBITRAA
koji se nalaze dalje). Ovde treba ista da arbitar uvek moe da donese odluku koji uredaj
dobija pristup magistrali.
Paljiviji italac e moda postaviti najznaajnije pitanje - kako je pomou ovog metoda mogue
podrati izohrone komunikacije ako uredaj koji eli da poalje podatke ima nizak prioritet.
Na kraju krajeva, i sama re izohrono ukazuje na zagarantovani broj bitova po jedinici vremena.
Uredaj sa visokim prioritetom (blii korenu stabla) moe da preuzme monopol nad magistralom,
spreavaju ureaje nieg prioriteta da ikada dobiju pristup. Odgovorlei u injenici da je arbitraa
koju smo ovde predstavili samo deo procesa i da funkcionie zajedno sa jo dva metoda arbitrae:
nepristrasnom i urgentnom arbitraom.
Nepristrasna arbitraa koristi koncept fer intervala (koliine vremena). Sledi tipina sekvenca
dogadaja:
1. U poetku fer intervala svi uredaji koji imaju pakete za slanje postavljaju flegove.
2. Svi uredaji koji se "nadmeu" za pristup magistrali alju zahteve do arbitra.
3. Ureaj koji dobija magistralu alje svoje pakete i dobija potvrdu o prijemu od primao-
ca (uredaj koji alje potvrdu ne mora da se "nadmee" za magistralu, jer je ona i dalje
pod kontrolom ureaja koji je poslao pakete). Zatim, uredaj uklanja svoj fleg.
Izbrisani fleg vie nema pravo da postavlja zahteve za magistralom dok ne istekne
zadati interval.
4. Eventualno, mogue je da svi uredaji dobiju po jednom pristup magistrali u toku
zadatog intervala.
5. Ako nema uredaja koji i dalje ekaju na magistralu, ona je neaktivna za odredeno
vreme. Na taj nain se definie kraj fer intervala.
6. Poinje novi interval i ceo proces se ponavlja.
Ova procedura garantuje da ni jedan ureaj nee imati monopol nad magistralom, niti da e u
arbitrai neprestano "pobedivati" isti uredaj.
Da bi se, ipak, zadrali prioriteti uredaja, metod urgentne avbitrae omoguava odredenim
uredajima da se konfiguriu kao urgentni. Svaki urgentni uredaj takode mora da postavi svoj fleg
na poetku fer intervala, ali se postavlja i vrednost brojaa. Uredaj poinje "nadmetanje" za
pristup magistrali. Razlika je u tome to kada dobije pristup magistrali, njegov se broja
umanjuje za 1. Ako je broja i dalje pozitivan nakon to se paket poalje i stigne potvrda o
prijemu, uredaj moe ponovo da se "nadmee" za magistralu u okviru istog fer intervala.
Napomenimo da urgentno oznaavanje nije isto to i izohroni prenos. Ovim metodom je
jednostavno omogueno definisanje prioriteta za asinhrone pakete; i dalje nema garancija za
specifinu bitsku brzinu. Kod izohronih prenosa uredaj u korenu stabla ima ulogu i mastera
ciklusa. Kao master ciklusa, on redovno alje paket cycle_start (slika 4.24). Zapamtite da je uredaj
u korenu stabla ujedno i arbitar i ima najvii prioritet, jer se svi ostali nalaze dalje od korena. Zato
moe sebi da potvrdi pristup magistrali svaki put kada mu je potrebna za slanje cycle_start pake-
ta. Cycle_start paket oznaava start izohronog ciklusa. U vreme tog ciklusa uredaji sa izohronim
paketom dobijaju ansu da poalju po jedan paket. Poto master ciklusa redovno stratuje izo-
horni ciklus, time se ispunjava zahtev za obezbedivanje izohronog prenosa.
Kada je rec o prenosu podataka, sigurno nece biti mkakvih problema da Vas ubedimo da je bolje
imati to vee bitske brzine. Ako ste nedavno poboljavali svoju konfiguraciju tako da imate bri
procesor, vei disk, ili bolji modem, nema sumnje da Vam je krae vreme pomoglo da budete
efikasniji u radu. Neki od nas koji smo zaista dugo u svetu kompjutera seaju se dana kada su se
pojavili 3.5-inni drajvovi. Mogunost prebacivanja fajla za svega par sekundi bilo je neverova-
tno poboljanje u odnosu na dotadanje 5.25-inne drajvove. Sa dananjim hard diskovima, ne
postoji nain da se zabavimo dok ekamo na snimanje bilo ega na 3.5-inni disk.
Isto vai i za mree i komunikacije. U optem sluaju, vai izreka "to bre, to bolje". Ipak, brzi-
na ima i svojih nedostataka. Prvo, izaziva vee finansijske izdatke i, daigo, postoji odreena taka
slabljenja (nakon te take, korisnici ne mogu da koriste poveanu brzinu). Na primer, LAN mree
danas podravaju gigabitske brzine, ali veina PC aplikacija nema kolidnu podataka koja bi
imala koristi od tih brzina - ak i kada bi postojala, veina mrenih kartica na PC-jima ne
podrava tolike brzine.
Postoji miljenje da ne treba mnogo brinuti zbog razvoja high-speed mrea, jer veina korisnika
ne moe da iskoristi njihov potencijal. Ovo reenje ima ozbiljnu manu. Pretpostavimo da mrea
sa slike 4.25 podrava bitsku brzinu od IO Mbps. Ako jedina aktivnost ukljuuje dva PC-ja koja
komuniciraju na toj brzini, mrea je opravdala svoju svrhu.
4.5 Multipleksiranje
Sigurno smo ovde izostavili brojne detalje; zainteresovani itaoci mogu da saznaju neto vie o
svemu ovome u referencama [An99] i [St03] i na Web sajtu www.apple.com/firewire.
Postoji jo veliki broj standarda, ali njihovim opisivanjem bismo premaili predvideni obim ove
knjige; u referenci [St03 ] moete da pronaete listu od oko 100 ovakvih standarda. Opisali smo
neke od najee korienih i najpoznatijih standarda, a opisaemo jo nekoliko neto kasnije (na
primer, u Poglavlju 13 X.25 mreni interfejs i ISDN).
SLIKA 4.24 FireWire arbitraa
Kada se izohroni paketi poalju preko svih kanala, javlja se praznina, nakon koje poinje fer
interval. U toj taki ureaji mogu da alju asinhrone pakete, kao to smo ve opisali, sve dok svi ne
budu poslati, ili dok master ciklusa ponovo ne poalje cycle-start paket.
vreme
Slanje
cycle_start
paketa
Arbitraa i slanje
izohronih paketa
Arbitraa i slanje
asinhronih paketa
izohroni interval fer interval
fiksni period vremena
Meutim, ako nekoliko stotina PC-ja treba meusobno da komunicira, granica od 10 Mbps ce
stvoriti "uska grla", koja se redukuju poveanjem bitske brzine. Ovde moe da se povue analogija sa
velikim saobraajnicama u velikim gradovima u vreme saobraajnih piceva. Ako se saobraaj
odvija brzinom od 4 km/h, red ispred naplatne rampe e biti veoma dugaak. Ako se odvija
norrnalnom brzinom od 15 km/h, automobili nee morati dugo da ekaju na ulazak na autoput.
Drugi problem kod razvoja velikih bitskih brzina je to je neophodno razviti high-speed mree,
ali, pri tom, na neki nain redukovati cenu njihovog povezivanja. Na slici 4.25 data je cena
povezivanja svaka dva PC-ja. Na slici 4.26 prikazana je uobiajena alternativa kod koje je korien
multiplekser (ponekad se, radi lakeg izgovora, oznaava kao mux). To je uredaj koji rutira
prenose od vie izvora ka jednom odreditu. Na slici 4.26 izvori su PC-ji, a odredite je mrea.
Osim toga, multiplekser rutira i prenose u suprotnom smem, od mree do bilo kog PC-ja.
U optem sluaju, izlazna linija multipleksera ka mrei obino moe da podri mnogo vee
bitske brzine nego ulazne linije od PC-ja. Na taj nain je mogue iskoristiti visoki kapacitet mree
obezbedivanjem jedne konekcije za vie korisnika, sa manjom cenom po konekciji.
Ovaj opis multipleksiranja je samo jedan od nekoliko moguih koji zavise od tipa signala i aktivno-
sti jedinica koje se vezuju za multiplekser. Opisaemo specifine metode multipleksiranja i navesti
primer telefonskih komunikacija na veim udaljenostima.
SLIKA 4.25 Vie korisnika komunicira preko mree
kompjuterska
mrea
PC
multiplekser
kompjuterska
mrea
SLIKA 4.26 Multipleksiranje ureaja sa manjom brzinom
Multipleksiranje sa podelom frekvencije
Multipleksiranje sa podelom frekvencije (FDM - frequency-division multiplexing) koristi se sa
analognim signalima. Verovatno se najee koristi kod televizijskih i radio prenosa. Multiplekser
pnbvata analogne signale iz vie izvora, gde svaki signal pripada odgovarajuem ospegu. Nakon
toga se signali kombinuju u jedan sloeniji signal sa mnogo veim opsegom. Rezultujui signal
se prenosi preko nekog medijuma do svog odredita, gde ga drugi multiplekser izvlai i rastavlja
na individualne komponente.
Metod multipleksiranja ukljuuje nekoliko koraka. Prvo, raspoloivi opseg signala medijuma deli
se na zasebne opsege, ili kanale. Na primer, opseg signala za televizijski prenos (54 do 806 MHz)
deli se na 68 kanala od po 6 MHz. VHF kanali 2 do 13 odgovaraju opsezima od po 6 MHz
izmedu 54 i 215 MHz. UHF kanali 14 do 69 odgovaraju opsezima od po 6 MHz izmedu 470 i
806 MHz. Svaki kanal odgovara jednom ulaznom signalu multipleksera.
Zatim, za svaki kanal se definie nosei signal. Menja ga (modulie) odgovarajui ulazni signal
da bi bio kreiran drugi signal (modulisani signal). Postoji nekoliko naina da ovo izvedete. Na
primer, na slici 4.27 ilustrovana je amplitudska modulacija. Nosei signal ima defmisanu
frekvenciju, obino centriranu u opsegu kanala. Amplituda signala se menja naizmenino
izmeu vrednosti koje zavise od maksimalnih i minimalnih vrednosti originalnog signala.
Potpuno razumevanje amplitudske modulacije zahteva bolje poznavanje matematike
reprezentacije talasnih oblika i Furijeovih redova. Poto detaljnije objanjenje prelazi predvieni
obim ove knjige, ako elite da studioznije prouite ovu temu, pogledajte reference [StOO],
[Wa98] i [St96]. Mi ovde moemo da ilustrujemo proces jednim jednostavnim primerom.
SLIKA 4.28 Grafik modulisanog signala
Razmotrimo signal koji se predstavlja formulom /(() = [sin(2Ttt)/4 ] + 0.5. Na slici 4.28 prikazan
je grafik u intervalu od t = 0 do t = 2. Pretpostavimo da se nosei signal moe predstaviti
formulom g(t) = sin(]0 x 2-Kt). Na istoj slici nije dat i grafik za g(t), ali, kada bi se iscrtao,
oscilovao bi 20 pula izmedu l i l , dok se t kree izmedu 0 i 2. Mnoenjem f(t) i g(t) generie se
modulisani signal prikazan na slici 4.28.
U optem sluaju, signali imaju mnogo vie frekvencije i odgovaraju sloenijim sumama sinusnih
funkcija. I pored toga, proces amplitudske modulacije ostaje, u sutini, isti kao i u ovom naem jed-
nostavnom primeru. Medu ostalim tehnikama modulacije su frekventna i fazna modulacija. Kao lo
moete i da pretpostavite, frekventna menja frekvenciju noseeg signala, a fazna fazni pomak noseeg
signala. Vie detalja o ovoj temi moete na u referencama [StOO] i [Wa98 ].
SLIKA 4.27 Amplitudska modulacija
modulisani signal
modulator
nosei signal
modulisani signal
Multipleksiranje sa podelom vremena (TDM - time-division multiplexing) kombinuje i
zajedniki prenosi vie ulaznih signala, kao kod FDM-a. Meutim, TDM se koristi sa digitalnim
signalima. TDM odrava fiziki razliite signale, ali ih logiki pakuje zajedno, za razliku od
FDM-a, koji ih kombinuje u jedan, sloeniji signal.
Na slici 4.30 ilustrovan je TDM. Pretpostavimo da Aj, B
1
Q i D
1
[i = 1, 2, 3, ...) predstavljaju
nizove bitova iz razliitih izvora. U multiplekseru se privremeno baferuje nekoliko bitova iz
svakog izvora. Multiplekser skenira svaki bafer, smeta bitove iz svakog bafera u okvir, a, zatim,
alje okvir. Kada to zavri, zapoinje formiranje novog okvira ponovnim skeniranjem ulaznih
bafera da bi se proverilo da li su stigli novi podaci. Ako je tajming dobar, bie konstruisan novi
okvir tano na vreme da se prenese odmah nakon prethodnog okvira. Ovaj proces odrava
izlaznu liniju aktivnu i omoguava potpuno korienje njenog kapaciteta.
Na slici 4.30 nizovi bitova A
1
, B
1
, C
1
i Dj se baferuju zasebno. Multiplekser ih pakuje u jedan
okvir i prenosi ga. Nakon toga, sledi prikupljanje novih nizova A
2
, B
2
, C
2
i D
2
i slanje novog
okvira. Proces se nastavlja sve dok stiu novi nizovi bitova.
Multipleksiranje sa podelom vremena
U poslednjem koraku multipleksiranja sa podelom frekvencije modulisani signal iz svih ulaza se
kombinuje u jedan, sloeniji analogni signal (slika 4.29). Njegove frekvencije lee u opsezima
svih kanala. Sami kanali su razdvojeni zatitnim opsezima (guard bands), neiskorienim delovi-
ma frekventnih opsega, da bi bila spreena interferenca izmedu susednih kanala. Nakon toga se
rezultujui signal prenosi tamo gde ga prima drugi multiplekser. Zatim se koriste propusni filteri
koji izvlae modulisane signale. Konano, signali se demoduliu i obnavlja se originalni signal.
U sluaju televizije i radija kanali, ili selektori frekvencija odreuju koji se originalni signali
konvertuju u zvuk i sliku.
SLIKA 4.29 Multipleksiranje sa podelom frekvencije
M
U
X
zatftm opseg
zatitni opseg
kanal 3
kanal 2
kanal I
ulazni sfgnalf fz
razliotlh opsega
kombmovarn sfgnal kojl se
sastoji od frekvenja
iz sva trt kanala
M
U
X
ongmalni sfgnalf
filtrirani iz prenetog
signala
Na primer, ako podaci iz 10 izvora stiu brzinom od 10 Mbps, trebalo bi da ih multiplekser alje
brzinom od 100 Mbps (ukratko emo opisati alternativu).
Drugi faktor koji utie na dizajn multipleksera je veliina komponenata okvira. U jednoj
varijanti se A,, B
1
, Q i D, definiu sa osam bitova, odnosno jednim bajtom. U tom sluaju se
multiplekser naziva bajtni multiplekser (byte multiplexer). U drugim sluajevima su kompo-
nente A;, Bj, C
1
i D
1
vee, raspolaui veim brojem bajtova (blok). Zato se tada koristi naziv
blokovski multiplekser [block multipleier).
Statistiki multiplekseri
Prethodno smo istakli da optimalni dizajn zahteva da suma ulaznih brzina bude jednaka izlaznoj
brzini. Medutim, to ponekad nije praktino. U prethodnom primeru ste primetili da bitovi stiu
iz svakog izvora kontinuelno, ali u mnogim sluajevima deava se da naglo pristiu u odredenim
trenucima, uz povremene periode neaktivnosti.
U takvim sluajevima postoje dva pristupa za multipleksiranje podataka. Prvi pristup nalae diza-
jniranje multipleksera tako da se izbegnu prazni baferi i da se deo okvira ostavi prazan.
SLIKA 4.30 Multipleksiranje sa podelom vremena
Dizajn multipleksera zavisi delom od brzine prenosa ulaznih i izlaznih signala. Na primer, ako
izvorni bitovi iz kombinovanih ulaza pristiu bre nego to prethodni okvir moe da bude poslat,
okviri se generiu mnogo bre nego to se mogu proslediti. Ako multiplekser nema dovoljan
kapadtet za smetanje dodatnih okvira, oni e biti izgubljeni. Multiplekser se ne sme "obasipati'
informacijama bre nego to on moe da ih otpusti. Sa druge strane, ako izvorni bitovi dolaze
isuvie sporo, prethodni okviri e biti poslati i multiplekser e ili ekati da stigne dovoljan broj
bitova, ili e biti poslat parcijalno kompletan okvir. U svakom sluaju, izlazna linija se ne koristi
sa kompletnim kapacitetom.
U optimalnoj situaciji kombinovana ulazna brzina (suma brzina od svih izvora) jednaka je
izlaznoj brzini. Pretpostavimo da je T
1
rulazna brzina iz i-tog izvora, a da je brzina kojom
multiplekser prenosi okvire. Matematiki, to se izraava formulom
okviri
Preneti signal: Podnizovi iz svakog izvora
se grupiu u okvire i prenose nezavisno.
Izvori signala: A, B , C i D predstavljaju nizove bitova primljeni
signali
* Strogo govorei, ta dva termina se razlikuju. Koncentrator je "inteligentniji" slatistiki multiplekser, koji moe da obavlja i
druge "poslove", kao to su verifikacija, potvrda i kompresovanje podataka. Ove teme emo obraditi u poglavljima 5, 6, 7 i
8. Konkretna definicija esto zavisi od toga sa kim se razgovara. Mi ovde neemo isticati razliku. U stvari, ponekad se koristi
termin asinhroni multiplekser sa podelom vremena.
SLlKA 4.31 Statistilio multipleksiranje sa podelom vremena
okviri
preneti signal
primljeni signali izvon signala
Na primer, na slici 4.30 moemo da pretpostavimo da je trei izvor bio neaktivan, tj. da nema
podataka sa linija C
1
, C
2
, C
3
, i C
4
. U svakom okviru postoji prostor rezervisan za te bitove, ali ne
sadri nikakve korisne informacije. Ovo omoguava ouvanje fiksne veliine okvira i uproava-
nje protokola. Oigledni nedostatak je to beskorisne informacije zauzimaju prenosni medijum
i tako se "trai" propusni opseg.
U sklopu drugog pristupa multiplekser skenira bafere i kreira okvire promenljive veliine, u
zavisnosti od toga koliko bafera sadri podatke. On se naziva statistiki multiplekser (koristi se
i termin koncentrator).*
Na slici 4.31 ilustrovano je kako ovo funkcionie. Ovde su svi izvori aktivni, ali ne istovremeno.
Simbol ukazuje da iz izvora ne stiu nikakve informacije. Inicijalno, nizovi bitova Aj i C
1
se
baferuju, ali su drugi prazni zbog neaktivnosti izvora. Zato multiplekser postavlja A
1
i C
1
u okvir
i alje ga. U meduvremenu, stiu A
2
i C
2
, zajedno sa B
1
. Multiplekser ih sastavlja u jedan vei okvir
i alje ga. U ovom trenutku izvor C je neaktivan, ali izvor D postaje aktivan. Sada stiu A
3
, B
2
i
D
1
. Kao i ranije, multiplekser ih postavlja u okvir i alje ga. Proces se nastavlja sve dok postoje
aktivni izvori.
Komplikacija u ovom pristupu nastupa zbog toga to izvori nemaju fiksnu poziciju u okviru. Na
primer, na slici 4.30 bitovi iz svakog izvora uvek zauzimaju istu poziciju u okviru. Na slici 4.31
to nije tako. Na primer, bitovi iz izvora B ponekad zauzimaju drugu, ili treu poziciju (gledano
sa desne strane). U takvim sluajevima, format okvira je sloeniji i zahteva dodatne informacije,
kao to je odredina adresa. Prijemni multiplekser mora da ima dodatnu logiku za traenje adrese
i rutiranje informacija u odgovarajuem smeru.
Po defmiciji, statistiki multiplekser ne mora u potpunosti da iskoristi svoj izlazni kapacitet. U
ekstremnom sluaju, ako ni jedan izvor nije aktivan, nema prenosa. Verovatnoa da ni jedan
izvornije aktivan zavisi od ukupnog broja izvora. Proniciljiviji dtalac moe da primeti da bismo
mogli povezati dodatne izvore da bi ova verovatnoa bila umanjena i da bi izlaz bio zaposleniji.
Ako se to desi, onda je
Ulazni kapacitet multipleksera je sada vei od izlaznog.
Vea brzina na ulazu ne mora da predstavlja problem. Zapamtite da r
;
predstavlja kapacitet i-tog
izvora, a ne stvarnu brzinu. Ako Je izvor neaktivan, stvarna bitska brzina je 0. Prilikom dizajni-
ranja je pretpostavljeno da nisu svi izvori aktivni istovremeno ako je suma ulaznih brzina vea
od Idealno bi bilo da je kombinovana ulazna brzina od aktivnih izvora jednaka
Poto aktivnost zavisi od korisnika, teko je predvidljiva (idealna aktivnost se teko postie).
U nekim sluajevima e kombinovana ulazna brzina od aktivnih izvora biti manja, ili, ak, vea
od U drugom sluaju se moraju dizajnirati dodatna logika i baferi u kojima e se podaci
privremeno baferovati. Zbog ovoga se statistiki multiplekseri ponekad nazivaju koncentratori: u
njima se koncentrie dodatna koliina podataka u odredenim kratkim periodima.
Analizu statistikih multipleksera oteava injenica da izvori podatke alju nasumice. Mogue je
postaviti brojna pitanja. Koliko esto kombinovane ulazne brzine premauju izlaznu brzinu?
Koliko esto se deava da su svi izvori zauzeti? Koliko baferi moraju da se koriste za privremeno
smetanje podataka? Kolika su kanjenja kada dode do naglog pristizanja vee koliine podata
ka? Jedan pristup analizama podrazumeva korienje teorije ekanja (queueing iheory); to je
matematika grana koja definie modele za prouavanje dogaaja, kao to je ekanje na linijama
(redovi ekanja) dok se ne desi odredeni dogadaj. Moe da se primeni u raznim oblastima,
ukljuujui komunikacione sisteme kod kojih ulazni nizovi podataka mogu da pristiu u nasu-
minim uzorcima. U takvim sluajevima se dogaaji na koje se eka prenose preko izlaznih lini-
ja. U referencama [StOO], [WaOO] i [Ma72] moete da pronadete uvodnu raspravu o teoriji
ekanja.
Multipleksiranje sa podelom talasnih duina
Sledei tip multipleksiranja je zasnovan na zakonima optike, ali ima slinosti sa multipleksiranjem
sa podelom frekvencije. Naziva se multipleksiranje sa podelom talasnih duina i zasniva se na neko-
liko svojstava vidljive svetlosti. U Poglavlju 2 predstavili smo prelamanje svetlosti - promenu smera
do koje dolazi kada svetlost prelazi iz jednog medijuma u drugi. Ugao prelamanja zavisi ne samo od
optike gustine dva medijuma, ve i od talasne duine svetlosti. Veina svetlosnih zraka ima vie
razliitih talasnih duina. Ova dva svojstva opisuju ta se deava kada svetlost prolazi kroz prizmu
(slika 4.32), nakon ega se deli na razliite boje. Razlilte talasne dtrine se prelamaju pod razliitim
uglovima, tako da pod razliitim uglovima i naputaju prizmu. Na istom principu se formira i duga
kada sunce sija za vreme kie.
Na slici 4.33 ilustrovano je kako funkcionie multipleksiranje sa podelom talasnih duina.
Postoji nekoliko izvora elektrinih signala, koji se vode na ulaz lasera (ili LED diode). Kao to je
reeno u Poglavlju 2, laser reaguje na elektrine signale i proizvodi svetlosne impulse.
4.6 Digitalni nosioci
Tl
U ovom odeljku opisaemo nekoliko standarda koji se koriste u komunikacijama na velikim
udaljenostima. Mnogi od nas misle da je telefonski sistem dizajniran za prenos digitalizovanih
govornih signala preko high-speed medijuma, kao to su optiki fiber, ili mikrotalasni prenosi.
Ovde je razlika u tome to laser stvara svetlosne impulse razliitih talasnih duina W
1
, w
2
, , W
n
,
Svetlost razliitih talasnih duina dovodi se na ulaze multipleksera sa podelom talasnih duina
(WDM-wave-division multiplexer), koji kombinuje razliite svetlosne izvore u jedan. Ta svetlost
(koja se sastoji od nekoliko talasnih duina) prenosi se preko optikog fibera, kao to je opisano
u Poglavlju 2.
Proces je obmut na drugoj strani. Svetlost iz optikog fibera ulazi u demultiplekser sa podelom
talasnih duina (WDDM - wave-division demultiplexer), koji razdvaja talasne duine slino kao
u sluaju prizme (iako je WDDM mnogo sloeniji). Nakon toga, svetlost svih talasnih duina
nastavlja da se prenosi ka eljenom odreditu.
Bitske brzine koje se postiu kod ove tehnologije imaju potencijala da postanu enormne.
Standardni optiki fiber ve ima kapacitet za prenos desetina gigabita u sekundi. Dok je ova
tehnologija jo u razvoju, postoji potencijal za stotine gigabita u sekundi, a moda emo jednog
dana govoriti o terabitima (1000 Gbps) u sekundi.
SLIKA 4.33 Multipleksiranje sa podelom talasnih duina
laser
laser
WDM
optiki fiber
WDDM
senzor
senzo
elektrini
signali
elektnni
signali
SLIKA 4.32 Prelamanje svetlosti kroz prizmu
svetlost sa vise
razliitih talasnih
duina
prizma
svetlost podeljena
na razliite talasne
duine
bit sinhronizacije
Svaki kanal tma osam
bitova generisanih
PCIW semplom
Okvir ima
193 bita
Kanal
1
Kanal
2
Kana
3
Kanal
24
SLIKA 4.34 DSl okvir
U stvari, AT&T je razvio sloene hijerarhijske komunikacione sisteme koji se koriste za
multipleksiranje govornih signala i njihov prenos preko cele teritorije SAD. Sistem se koristi i u
drugim zemljama, kao to su Kanada, ili Japan. Ipak, druge zemlje i dalje koriste slian, ali
drugaiji sistem definisan ITU-T standardima.
Sistem koristi multipleksiranje sa podelom vremena za kombinovanje veeg broja govornih kanala
u jedan okvir. Medu brojnim nainima da se to uradi jedan pristup koristi Tl prenos i DSl
signaliziranje. Oznake Tl i DSl tiu se kola i signala, respektivno. Na primer, na slici 4.34 dat je DSl
okvir u kome se govorni podaci digitalizuju impulsnom kodnom modulacijom (predstavljena je u
Poglavlju 3). Sadri 193 bita podeljena u 24 slota (po jedan za svaki kanal) od po osam bitova. Tako
ostaje jedan dodatni bit koji se koristi za sinhronizaciju.
Na slici 4.35 prikazano je kako funkcionie Tl nosei sistem. Osmobitni govorni semplovi su
uzeti iz sva 24 kanala brzinom od 8.000 u sekundi. Svaki sempl zauzima jedan slot u DSl okviru.
Prema Nikvistovoj teoremi, predstavljenoj u Poglavlju 3, ovo je dovoljno za odravanje svih
informacija u originalnom govornom analognom signalu.
Impulsni
kodni
modulator
Impulsni
kodni
modulator
Impulsni
kodni
modulator
DS-I
okvir
DS-I
okvir
Impulsni
kodni
modulator
Impulsni
kodni
modulator
Impulsni
kodni
modulator
SLIKA 4.35 Tl nosei sistem
SONET
Verovatno jedan od najznaajnijih i najpoznatijih digitalnih noseih sistema je SONET
(Synchronous Optical Netvvork - sinhrona optika mrea). Razvio ga je Bellcore (BeIl
Communications Research) i predstavlja ANSI standard tehnologije sa komutacijom kola koja se
koristi u komunikacionim sistemima za prenos podataka na velikim udaljenostima.
Sukcesivni semplovi su smetani u razliitim DSl okvirima. Tako se govorne poruke prenose
pomou vie DSl okvira do drugog multipleksera. Ovaj multiplekser izvlai bitove iz svakog slota
i rutira ih do odgovarajueg odredita, gde se eventualno konvertuju nazad u analogne signale.
Rezultat se konvertuje u originalni zvuk koji odgovara glasu osobe.
Kolika je bitska brzina Tl noseeg sistema? Svaki osmobitni slot je generisan brzinom od 8.000
u sekundi, za brzinu od 64 Kbps. Da bi se podrala ta brzina, Tl mora da prenosi DSl okvir
svakih 1/8.000 delova sekunde, ili 8.000 okvira u sekundi. Drugim reima, mora da prenese
8.000 x 193 bita svake sekunde za brzinu prenosa podataka od 1,544 ivlbps. Sa veim brojem
kanala i veim brzinama prenosa postoje i drugi nosioci i oznake signala. U tabeli 4.4 dat je
pregled nekih od njih. Obino se multipleksiraju signali od sporijih nosilaca u one na veim
brzinama. Na primer, T3 nosilac moe da multipleksira 7 DS2 okvira, 14 DSlC okvira, ili 28 DSl
okvira, to daje mogunost za prenos 672 kanala u svakom okviru.
Govomi podaci nisu jedina vrsta podataka koju je mogue preneti. Mnoge kompanije iznajmlju-
ju telefonske linije za prenos digitalnih informacija izmeu kompjutera. U stvari, princip na
kome se zasniva faks maina konvertuje slike sa papira u digitalne signale i prenosi ih preko
telefonske linije.
Finalna napomena je da broj kanala u svakom sistemu moe da se povea korienjem razliitih
tehnika modulacije. Impulsna kodna modulacija digitalizuje govorne informacije na brzinama
od 64 Kbps. Adaptivna diferencijalna impulsna kodna modulacija digitalizuje govorne informa-
cije na 32 Kbps, tako da svaki nosei sistem moe da podri dva puta vie kanala nego to je
navedeno u tabeli 4.4.
Tl
TIc
T2
T3
T4
DSl
DSlC
DS2
DS3
DS4
24
48
96
672
4032
1.544
3.152
6.312
44.376
274.176
Nosilac Format okvira Broj kanala Brzina prenosa podataka (Mbps)
* U Poglavlju 13 predslaviemo ATM.
TIPOVI UREDA)A Pre nego to damo opti pregled SONET tehnologije, najpre emo opisati tri
primarna tipa uredaja u SONET mrei i kako oni zajedno funkcioniu (slika 4.36). Ovi uredaji
definiu i slojeve na kojima SONET funkcionie. Koriste se sledea tri tipa uredaja.
Regenerator Regenerator je uredaj koji regenerie optike signale. On je potreban
zato to se optiki signali, poput elektrinih signala, degradiraju dok "putuju" kroz
optiki fiber. Ako je fiber isuvie dugaak, signal se degradira do take u kojoj postaje
neprepoznatljiv.
Moe da povee high-speed radne stanice, Internet rutere i telefonske i ATM (Asynchronous
Transfer Mode) komutatore.* U stvari, mnogi Internet upiti i telefonski pozivi putuju preko
SONET konekcije.
Slian sistem SDH (Synchronous Digital Hierarchy) je razvijen ubrzo nakon SONET-a, a
predstavlja ITU-T standard. Verovatno je najpoznatiji u evropskim zemljama. Postoje razlike
izmedu ovih sistema, ali na ovom nivou rasprave nisu mnogo bitne. U stvari, esto se koristi
oznaka SONET/SDH. Mi emo se fokusirati na opti pregled SONET-a, ali zainteresovani itaoci
mogu da pronau vie detalja u referenci [Go02 ].
Kao to moe da se nasluti iz samog naziva, SONET je dizajniran kao nosilac koji koristi optike
fiber komunikacije. Osim toga, svi linkovi u SONET mrei funkcioniu sa istim taktom, ime je
obezbedena sinhronizacija, tj. svi SONET predajnici alju i primaju podatke u skladu sa
zajednikom frekvencijom takta. SONET ima neke karakteristike koje jo uvek nisu prouavane u
ovoj knjizi. Medutim, pre nego to predemo na detaljniju raspravu o komunikacijama i strukturi
paketa i okvira, moramo da damo opti pregled.
Postoji vie nivoa SONET signalizacije: primarni mod za signalizaciju je STS-I (sinhroni
transportni signal 1 nivoa). SONET definie STS-I okvirkao okvir sa 810 bajtova (ukratko emo
predstaviti i format). Zbog sinhrone prirode tehnologije, SONET predajnik alje jedan okvir
svakih 125 Lisec (10 * sekundi). To znai da SONETalje jedan okvir sa 8 x 810 bitova 8.000 puta
u sekundi. Mnoenjem ovih brojki dobija se bitska brzina od 51,84 Mbps, to je bazna brzina za
STS-I. Ostale oznake signala su STS-3, STS-9, STS-12, STS-18, STS-24, STS-36, STS-48, STS-92 i
STS-192. U optem sluaju, STS-n signal ima bitsku brzinu n puta veu od bazne brzine STS-I
signala, ili n x 51,84 Mbps. Na primer, STS-3 signal ima bitsku brzinu od 155,52 Mbps. Najvii
nivo, STS-192 obezbeuje bitsku brzinu od oko 9,953 Gbps. Nivoi signalizacije e se sigurno
poveavati kako tehnologija bude napredovala. Za signale viih nivoa je tipino da enkapsulira-
ju nekoliko niih signala. Na primer, STS-3 okvir esto sadri tri STS-I okvira.
U zavisnosti od konteksta rasprave, moe da se koristi oznaka OC-n (optiki nosilac n). Obino
STS oznake ukazuju na elektrine signale ureaja koji imaju optiku konekciju, a OC oznake
predstavljaju stvarni optiki signal. Zato nije neuobiajeno da se termini STS-n i OC-n koriste
nazimenino, tj. STS-3 elektrini signal odgovara OC-3 optikom signalu; u svakom sluaju,
bitska brzina je 155,52 Mbps.
Add/drop multiplekser (ADM) SONET ADM-i mogu da formiraju prsten, esto
povezujui take u oblastima velikih metropola, u dravama, ili, ak, na podrujima
vie drava. SONET koristi ADM za izvlaenje saobraaja izvan prstena i meanje sa
postojeim saobraajem u prstenu. ADM funkcionie i u suprotnom smeru,
obezbedujui izlaz za saobraaj u prstenu. Iako se koristi termin multiplekser, uredaj
se malo razlikuje od multipleksera sa podelom vremena koji smo ranije opisali.
U prethodnom sluaju multiplekser kombinuje signale iz razliitih izvora u jedan
zajedniki okvir, a demultipleksiranjem se izvlae sve komponente signala i rutiraju se
ka zasebnim odreditima. U ovom sluaju ADM ne mora da multipleksira i demulti-
pleksira sve signale u zajedniki okvir. Okvir koji vesadri multipleksirane podatke
moe da "putuje" preko prstena i da stigne do ADM-a. ADM moe da doda neke
podatke u taj okvir. Drugim reima, ne multipleksira se ceo okvir, vesamo njegov
deo. Demultipleksiranje funkcionie analogno. Mogue je da se iz okvira izvlae samo
odreeni podaci; nije neophodno demultipleksirati sadraj celog okvira.
U jednoj sekvenci moe da se koristi vie regeneratora (na slici 4.36 prikazan je samo jedan
regenerator izmedu dva uredaja). Prema SONET terminologiji, sekcija je deo mree izmedu bilo
koja dva susedna uredaja koja mogu da regeneriu signal. Moramo da napomenemo da regene
rator nije u potpunosti ureaj sloja 1, jer modifikuje nekoliko bitova u svakom okviru koji
regenerie. Ukratko emo opisati detalje.
SLIKA 4.36 SONET konekcije i slojevi
Kod dugakih fibera (duih od nekoliko desetina milja) regenerator mora da se koristi za
regenerisanje bitova u SONET okviru.
ne-SONET
signali
STS
multiplekser
STS
signal
regenerator
STS
signal
ADM SONET prsten
ADM
ADM
STS
multiplekser
regeneratoi
add/drop
multiplekser
(ADM)
STS
signal
sekcija
linija
sekcija
putanja
sekcija sekcija
linija
Ovo je analogno javnom gradskom saobraaju. Na poetku svi putnici ulaze u autobus
i pronalaze mesta za sedenje (potpuno multipleksiranje), a na zadnjoj stanici svi
izlaze (potpuno demultipleksiranje). Medutim, du linije putnici ulaze, ili izlaze na
usputnim stanicama (add/drop multipleksiranje). Voza autobusa ne zahteva od svih
putnika da izadu i da se ponovo vrate u autobus.
STS multiplekser STS multiplekser uzima signal iz vie razliitih izvora i generie
STS okvir kao izlaz. Deo mree koji povezuje dva STS multipleksera naziva se putanja,
a takvi ureaji se ponekad nazivaju oprema za prikljuivanje na putanju (path
terminating equipment), ili SONET terminali. Signal iz svakog eksternog izvora se
multipleksira u STS okvir pod nazivom tributary. Tributary moe da predstavlja
eksterne izvore, kao to su ATM niz, DSl servis, ili bilo koja vrsta razliitih protokola.
Ovi tipovi uredaja definiu tri sloja SONET operacija, koji mogu da se uporede sa funkcijama
protokola na drugom sloju veze podataka. Sloj sekcije je implementiran na svim ureajima i
najnii je od ova tri sloja, a zaduen je za upravljanje saobraajem du fizike sekcije mree
(direktni optiki link). Obezbeduje definisanje okvira (generisanje specijalnih uzoraka bitova koji
oznaavaju poetak okvira) i neke provere parnosti da bi bile otkrivene eventualne greke koje
nastaju u toku prenosa. U Poglavlju 6 detaljnije analiziramo proveru parnosti. Sloj linije je imple
mentiran u ADM, ili STS multiplekseru, a zaduen je za STS prenos. On locira korisne
informacije u okviru i bavi se prenosom izmeu krajnjih taaka; odgovoran je za multipleksira-
nje, definisanje tipova i strukture korisnih informacija i njihovo smetanje u okviru. Osim toga,
obezbeduje neke funkcije odravanja i praenja performansi.
Korisne inforrnacije (payloads) i okviri Sledei korak je analiza SONET okvira i korisnih
informacija u njima. Kao to smo ranije istakli, SONET STS-I okvir sadri 810 bajtova, a okviri
se prenose u intervalima od 125 irsec. Drugim reima, SONET predajnik stvara konstantni niz
STS-I okvira brzinom od 8.000 u sekundi. Ovo izaziva malu dilemu, zato to informacije ne stiu
uvek iz eksternih izvora na sinhroni nain. Zato se namee logino pitanje kako da se podaci koji
stiu asinhrono enkapsuliraju u okvirima koji se prenose sinhrono.
Jedna opcija moe da bude pokuaj sinhronizacije svih ureaja, ali opseg i domet takvih uredaja
taj zahvat ini nepraktinim. Druga opcija je da se koristi prijemni bafer koji e isputati podatke
u okvire dok se budu prenosili. Medutim, ako podaci stignu ubrzo nakon to predajnik pone da
alje okvir, podaci moraju da ekaju na slanje sledeeg okvira, a odlazei okvir moe da bude
prazan. Tako nastaju kanjenja u prenosu podataka.
Na slici 4.37 prikazan je pristup koji SONET koristi. Podaci koji se smetaju u okvir oznaavaju
se kao SPE (synchronous payload envelope) i definiu se na sloju putanje. Poto SPE i odlazei
okvir moda nisu sinhronizovani, SPE moe da bude smeten u dva sukcesivna okvira. Nain na
koji se ovo izvodi zavisi od SPE i formata okvira. Na slici 4.38a prikazana je struktura STS-I
okvira: 810 bajtova se organizuje u 90 kolona i devet redova. Prva tri bajta u prva tri reda
predstavljaju dodatak sekcije i koriste se za aktivnosti sloja sekcije. Prva tri bajta u svakom od
poslednjih est redova predstavljaju dodatak linije i koriste se za funkcije sloja Hnije.
Na slici 4.38b prikazana je relacija izmedu SPE i dva sukcesivna STS-I okvira. U optem sluaju,
SPE bajtovi (zasenena oblast) su organizovani u devet redova sa po 87 kolona i mogu u
potpunosti da se uklope u okvir. Medutim, SPE moe da se podeli izmedu dva sukcesivna
okvira, gde se SPE red deli preko dva reda u okviru (ili prvog i poslednjeg reda u sukcesivnim
okvirima). Poto se okviri alju u pravilnim intervalima, SPE bajtovi se i dalje prenose u konzi-
stentnom nizu. Bitno je to da ih SONET slojevi prepoznaju kao bajtove koji su eventualno
distribuirani preko dva sukcesivna okvira. Napomenimo i da svaki SPE ima dodatke za operacije
sloja putanje. Ovaj proces pomalo podsea na ekanje autobusa na naznaenoj lokaciji.
Medutim, umesto da autobus stane da prihvati putnike, kolona autobusa putuje konstantnom
brzinom, a ljudi koji ekaju na liniji moraju da uskau u autobuse u vonji. Ako grupa putnika
koja eka na autobus treba da ide na rekreativnu utakmicu, neki od njih e uspeti prvi da dotre
do autobusa, a ostali nee uspeti da se popnu i morae da saekaju sledei autobus. Kada svi
stignu do igralita, ekipa e ponovo biti na okupu.
Nai fmalni komentari se tiu dodatnih bajtova u SONET okvirima u SPE-ima. Svaki dodatni bajt
je zaduen za neku akciju na jednom od tri sloja. Na primer, u dodatku odeljka nalaze se:
ID kanala Ovo je posebno vana informacija ako se nekoliko STS-I okvira kombinuje
u STS-n okvir. Bajtovi se razlikuju po ID-u kanala.
Uzorak sinhronizacije Dva bajta iz dodatka sadre uzorak za sinhronizaciju. Ovaj
uzorak ukazuje na start okvira i omoguava prijemniku da se sinhronizuje sa
dolazeim bitovima.
SLIKA 4.37 Relacija izmeu okvira i SPE bajtova
okvir (i + 1) okvir i okvir (i - 1)
SPE
SLIKA 4.38 STS-I okviri i SPE
Poto se svaki okvir prenosi u pravilnim intervalima, prijemnik zna da bitovi sinhronizacije stiu
u reovnim intervalima. Osim toga, ovo moe da se koristi za detektovanje problema u sekciji.
Ako nekoliko intervala proe bez dolaska bitova sinhronizacije, onda sloj sekcije "izjavljuje" da
je dolo do problema.
Bajt parnosti U Poglavlju 6 detaljnije emo predstaviti proveru parnosti. U sutini,
bajt pamosti utvrduje da li su neki bitovi oteeni u toku prenosa du sekcije. U stvari,
on proverava da li je bilo greaka u prethodnom okviru.
Orderwire bajt Jedan bajt u svakom okviru (ili jedan bajt na svakih 125 \xsec)
koristi se da bi 64 Kbps govorni komunikacioni kanal bio korien za odravanje
aktivnosti. Naziva se i servisni kanal; tehniari i inenjeri mogu da ga koriste za
okvir
okvir
(b) SPE koji se prostire preko granica okvira
dodatak
putanje
SPE
3 kolone 87 kolona
(a) Okvir
dodatak
sekcije
dodatak
linije
3 kolone
dodatka
87 kolona
9 redova
90 kolona
otklanjanje greaka, ili za odravanje izmedu susednih uredaja na mrei, bez prekida-
nja ostalog saobraaja.
Korisniki kanal Obezbeuje 64 Kbps kanal koji mogu da koriste lokalne aplikacije.
OAM komunikacija OAM je skraenica za operaciju, administraciju i odravanje
(operation, administration, maintenance). Tri bajta po okviru obezbeduju 192 Kbps
kanal koji se koristi za odravanje, praenje i otklanjanje greaka u komunikacijama
na nivou sekcije, ponovo bez prekidanja ostalog saobraaja. Pojednostavljeno
gledano, ova tri bajta mogu da obezbede "glatko" funkcionisanje.
Dodatak linije sadri sledee:
Lokator SPE-a Poto se SPE moe nalaziti bilo gde u okviru, postoje tri dodatna
bajta koja lociraju bajt okvira u kome SPE poinje.
Bajt parnosti Ova provera parnosti slui za za otkrivanje greaka koje se mogu javi-
ti na liniji.
Automatsko zatitno komutiranje Dva bajta se koriste za detektovanje eventualnih
problema koji se mogu javiti u multiplekseru, a dizajnirani su za zatitu svih konekcija
unutar linije. Detalji su sloeni, ali automatsko zatitno komutiranje je dizajnirano da
bi bila obezbedena tolerancija na otkaze; u sluaju otkaza linije, postoji rezervna linija
koja moe da preuzme njeno mesto.
OAM komunikacija Ovo je u sutini isto kao i prethodno pomenuti OAM, ali na
drugom sloju.
Ordervvire bajt Ovo je, takoe, kao i prethodno pomenuti OAM, mada na drugom
sloju.
Dodatak putanje sadri sledee:
Trag STS putanje Poiljalac koristi jedan bajt u svakom okviru za neprestano slanje
unapred definisane sekvence bajtova. Prijemnik poredi dolazee bajtove sa poznatim
uzorkom; ako dode do bilo kakve devijacije, zna da postoji problem sa konekcijom.
Bajt parnosti Ponovo provera parnosti, ali za greke koje mogu da se jave du
putanje
Labela STS putanje signala Seate se da SONET moe da poslui kao nosilac za
mnoge druge tehnologije. Ovaj bajt identifikuje protokol na viem nivou i ukazuje na
sadraj SPE-a.
Status putanje Omoguava enititetu na prijemnoj strani da oznai status okonanja
putanje za poiljaoca (inicijator putanje).
Korisniki kanal Ima istu funkciju kao i prethodni korisniki kanal, mada
funkcionie izmeu elemenata putanje.
Indikator virtuelnog tributaryja Tributary predstavlja signal iz vie eksternih izvora
(obino imaju brzinu manju od STS-I), a SONET omoguava ukljuivanje podataka iz
vie izvora u jedan SPE. Dakle, SPE sadri informacije iz vie izvora; svaki od njih je
virtuelni tributary. Postoje razliiti naini za struktuiranje SPE-a, koji zavise od izvora
podataka. Ovaj indikator ukazuje na nain koji je bio korien.
4.7 Protokoli nadmetanja za pristup
zajednikom medijumu
Multipleksiranje (posebno TDM) umnogome je omogudlo da se medijum stavi na raspolaganje
veem broju korisnika, mada ne dovoljno. Rutiranje svih korisnika preko multipleksera na jedan
medijum nije realno zbog dva razloga. Prvo, moe da postoji isuvie veliki broj korisnika za jedan
multiplekser. Drugo, logistika moe da zabrani korisniku da koristi odreeni multiplekser.
Lepa paralela moe da se povue sa primerom autoputa. Multiplekser obezbeduje pristup za vie
korisnika jednoj pristupnoj taki, ali u velikim mreama je neophodno imati vie pristupnih
laaka, kao to postoji vie ukljuenja na autoput. Pristup medijumu iz vie ulaznih taaka
naziva se nadmetanje (contention). Kontrolie se protokolom nadmetanja. Na slici 4.39
prikazano je ta se deava kada nema protokola nadmetanja na autoputu. Vozila nasumice ulaze
i povremeno dolazi do sudara. U najboljem sluaju dolazi do neprijatnih situacija; u najgorem
su posledice fatalne. Sreom, autoputevi se ne postavljaju na ovakav nain (mada sa nekim
vozaima nikada ne moete da budete sigurni). Na slici 4.40 prikazana je uobiajena i
jednostavna strategija nadmetanja u saobraaju. Ovaj stop-and-go protokol koristi semafore za
kontrolu saobraaja. Ukoliko se vozai pridravaju protokola, nee dolaziti do situacija poput
one na slici 4.39. Pretpostavljamo da su Vam ve poznati detalji ovog protokola, osim ako
dolazite sa Himalaja.
SLIKA 4.39 Nema protokola nadmetanja
SLIKA 4.40 Stop-and-Go protokol pristupa
* U zavisnosti od korienog protokola, za sadraj jednog prenosa koriste se termini paket, ili okvir. Za sada emo nastaviti
da koristimo lermin okvir.
Naravno, krajnji rezultat je da ni jedan prenos nee biti uspean.
SLIKA 4.41 Aloha sistem
/', =frekvencija emitovanja sa individualnih stanica
f*2 ~ frekvencija emitovanja iz Menehune
centralna stanica
(Menehune)
1 u komunikacijama su neophodni neki protokoli koji e obezbediti da poslati podaci stignu do
svojih odredita. U ovom odeljku izuavamo neke protokole koji se danas koriste. Verovatno
Vas nee iznenaditi injenica da postoji veliki broj razliitih opcija, koje zavise od konkretnog
medijuma, koliine saobraaja i sofisticiranosti korisnikih potreba (koji su u direktnoj
vezi sa cenom).
Aloha protokol
Jedan od najstarijih protokola nadmetanja bio je razvijen u oblasti koja se veoma razlikuje od
udaljenih podruja Himalaja. Aloha protokol je razvijen poetkom 70-ih prolog veka na
Universjty of Hawaji. Naziva se jo i "ista" Aloha (pure Aloha), za razliku od drugog protokola
koji emo uskoro predstaviti. Aloha sistem je bio dizajniran radi uspostavljanja komunikacije
izmeu ostrva korienjem paketnog radio sistema. Rei paket, ili okvir* tiu se informacija koje
se prenose u toku jednog prenosa. Terminali (slika 4.41) su bili povezani na radio kanal, koji je
emitovao informacije od lerminala do centralne stanice pod nazivom Menehune. Uredaji ernitu-
ju okvire na istoj frekvenciji. Tako je medijum (vazduni prostor) stvarno deljiv. Svaki pokuaj
emitovanja dva razliita okvira istovremeno korienjem iste frekvencije ometa oba signala.
Aloha protokol je zasnovan na veoma jednostavnom principu. U sutini, svaki uredaj je mogao
da inicira prenos u bilo kom trenutku. Ako bi dolo do kolizije dva signala, tu nita nije moglo
da se uradi. Uredaji su, jednostavno, ekali da istekne nasumice izabrani period i nakon toga su
ponovo pokuavali da poalju informacije. Ako se vratimo na na primer autoputa, to bi bilo isto
kao kada bi se vozai ukljuivali u saobraaj zatvorenih oiju. Ako dode do sudara, to bi bilo isto
kao da odete da kupite nova kola i nastavite putovanje kao da se nita nije desilo. Iako bi ovo bio
skup protokol za kontrolu saobraaja, ipak je dobro funkcionisao kod Aloha sistema.
Kolizija se lako detektuje. Kada Menehune primi okvir, alje potvrdu o prijemu. Polvrda se alje
na drugoj frekvenciji, tako da ne ometa dolazee signale. Ako ureaj primi potvrdu, "zakljuuje"
da je okvir uspeno prenet. Ako ne primi potvrdu, "pretpostavlja" da se neto desilo sa okvirom
i eka da ponovo poalje okvir. Poto svaki uredaj eka nasumice izabrani period, anse da dva,
ili vie uredaja ekaju da protekne isto vreme znaajno su smanjene. Na taj nain je umanjena i
ansa da dode do druge kolizije. Ukoliko, ipak, dode do kolizije (moda sa nekim drugim
ureajem), primenjuju se ista pravila: eka se nasumice izabrani period i ponovo se pokuava
slanje okvira.
U ovakvim situacijama do kolizije dolazi ne samo kada dva uredaja simultano alju okvire, vei
kada se dva prenosa preklapaju makar i za minimalnu koliinu vremena. Uopte nije bitno da li
je uniten ceo okvir, ili samo jedan njegov deo. To bi moglo da se uporedi sa telefonskim
razgovorom u kome ujete; "Dobio sam vesti za tebe. Ima samo $%"#$%". Ako $%
A
#$%
predstavlja statike smetnje, ne moete da znate da li ste dobili na lotou, ili ste dobili nasledstvo,
ili ste kandidovani na izborima u stranci (dobra vest?). Ono to je izgubljeno ne moe da se
povrati, pa zdrav razum nalae da se ceo okvir ponovo poalje.
Prednost Aloha protokola je njegova jednostavnost. Funkcionie veoma dobro ako ne postoji
veliki broj prenosa, ali ako uredaj esto emituje informacije, ili ako postoji vei broj uredaja, on
je manje efikasan. U svakom sluaju, javie se vie kolizija, ba kao to bi se desilo na
optereenim putevima.
Kada se suoimo sa veim brojem prenosa, ta moemo da uradimo da se smanji broj kolizija?
Najpre emo paljivije analizirati zato one naslaju. Kao to smo ranije istakli, do njih dolazi
kada se delovi dva prenosa preklapaju. Pretpostavimo da je T vreme neophodno za jedan prenos
i da dva ureaja moraju da prenose informacije. Ukupno vreme potrebno da oba uredaja uspeno
obave prenos je TT.
Zatim, razmotrimo proizvoljni interval duine 27. Ukoliko jedan uredaj ne pone svoj prenos na
samom poetku ovog intervala, nemogue je obaviti oba prenosa do isteka intervala. Zato se u
sluaju da se ureajima omogui startovanje prenosa u proizvoljnom trenutku najvie moe
"protraiti" TT vremena.
Eventualno, moemo da pretpostavimo da se vreme deli na intervale (slotove) od po T jedinica
za svaki uredaj i da je neophodno da ureaji zaponu prenos na poetku slota. Drugim reima,
ako je uredaj spreman za slanje na sredini slota, mora da eka dok ne pone sledei slot (slika
4.42b). Na ovaj nain je mogue da do kolizije dode samo ako su dva uredaja spremna za
slanje na poetku slota. Ovo se razlikuje od prethodnog scenarija (slika 4.42a), kod koga se
kolizija javlja ako drugi uredaj inicira prenos kada je okvir spreman.
Vae sledee logino pitanje je verovatno ta to, u stvari, znai. Da biste dobili odgovor,
pogledajte grafike na slici 4.43. Vertikalna osa predstavlja S
1
a horizontalna G. Vrednosti za S se
nalaze u opsegu izmedu O i 1. Poto smo izabrali da je vremenski slot jednak vremenu
potrebnom za slanje jednog okvira, S ne moe da bude vee od toga.
Najpre napomenimo da oba grafika imaju isti osnovni oblik. Ako je G malo, malo je i S. Ovo ima
smisla, zato to e uspeno biti poslat manji broj okvira ako se generie samo nekoliko okvira.
Kako se G poveava, tako se poveava i S, ali do odreene take. Vei broj prenosa znai vei broj
uspenih okvira, sve do trenutka kada ponu kolizije. U toj taki, koja odgovara najvioj taki na
oba grafika, uestalost uspenosti poinje da opada. Dok G nastavi da raste, S tei 0. Ovo odgo-
vara situaciji u kojoj postoji toliko okvira da su kolizije skoro neizbene. Okvir retko uspeva da
stigne do svog odredita bez kolizija.
Model pokazuje poredenje izmedu "istog" i slotovanog Aloha protokola. Diferencijalni raun
pokazuje kako se izraunava maksimalna vrednost za svaki sluaj. Ako su Vam poznati detalji,
jednostavno nadite izvod svake funkcije po G i izjednaite ga sa nulom. U svakom sluaju,
maksimum za slotovani Aloha protokol deava se u G = 1, za koje je S = 1/e = 0.368.
SLIKA 4.42 Prenos okvira kada se koriste "isti" Aloha protokol i slotovani Aloha protokol
Ovde neemo navoditi detalje analize, ali emo dati pregled rezultata i interpretirati ih. Detaljniju
diskusiju moete da proitate u referencama [Wa98], [StOO], [Ro75], [Ru89] i [Mi87],
Intuitivno, znamo da postoji relacija izmedu broja poslatih okvira i broja uspeno poslatih
okvira. Mogue je kreirati matematiki modem, koji, uz odreene pretpostavke, definie relacije
izmedu njih.
Neka G predstavlja saobraaj izraen kao proseni broj okvira koji se generiu po slotu, a neka S bude
uestalost uspenosti, predstavljena prosenim brojem uspeno poslatih okvira po slotu (e je
matematika konstanta 2.718...). Relacija izmedu G i S i za "isti" i za slotovani Aloha protokol je
S = Ge'
2C
("isti" Aloha protokol)
S = Ce'
c
(slotovani Aloha protokol)
Varijanta kod koje se ureaju doputa iniciranje prenosa samo na poetku vremenskog slota nazi-
va se slotovani Aloha protokol. Ovo deluje kao bolja varijanta od "istog" Aloha protokola.
U stvari, rigorozna analiza oba protokola pokazuje da se slotovani Aloha protokol bolje izvrava.
(a) Prenos korienjem "istog" Aloha protokola (b) Prenos korienjem slotovanog Aloha protokola
prvi okvir
je poslat
drugi okvir
spreman
drugi okvir
je poslat
vreme
kolizije
poslat
drugi okvir
poslat prvi
okvir
* Iako je Aloha sistem bio razvijen za paketni radio, mi koristimo termin medijum u optijem smislu. Ukoliko nije drugaije
naglaeno, to mogu da budu vazduni prostor, fiber, kabl, ili upredene parice.
Protokol Carrier Sense Multiple Access (CSMA)
Pronicljiviji italac moe da postavi pitanje zar ne bi mogla da se pobolja uestalost uspenosti
ako bi ureaji "oslukivali" da li je na medijumu* u toku prenos pre nego to iniciraju slanje svog
okvira. Ureaji sigurno imaju mogunost utvrdivanja da li je u toku prenos okvira.
Drugim reima, najbolja vrednost uspenog slanja je aproksimativno 0,368 okvira po slotu.
Drugi nain da se ovo kae je da se u 37 odsto vremena okviri uspeno prenose. U ostalo vreme
dolazi do kolizija, ili uopte nema prenosa.
Kod "istog" Aloha protokola maksimum se javlja u G = 0.5, za koje je S = l/2e s 0.184. Ovo
znai da se oko 18 odsto vremena utroi na uspean prenos okvira.
Na prvi pogled moda deluje udno to slotovani Aloha protokol daje bolje rezultate. Doputanje
prenosa okvira na svaka tri slota deluje kao nedovoljno iskorienje medijuma. Medutim, kritine
pretpostavke modela omoguavaju spremnost okvira u nasumino definisanim trenucima. Nema
nikakve namere da se koordinira prenos pored toga to se mora saekati poetak narednog slota.
Kao to model pokazuje, ova znaajna pretpostavka degradira performanse protokola.
Sledee pitanje moe da bude da li treba pokuati koordinaciju prenosa da bi se postigla bolja
efikasnost. U optem sluaju, odgovor je negativan. Ako se nalazite za personalnim kompjuterom
koji je povezan na mreu, verovatno ete otkriti da je nezgodno koordinisati pristup mrei sa
ostalim korisnicima. Veina korisnika eli pristup mrei odmah po izdavanju zahteva i oekuje
dobar odziv od protokola i hardvera.
SLIKA 4.43 Uestalost uspenosti za slotovani i "isti" Aloha protokol
slotovani Aloha protokol: S = Ge"
c
"isti" Aloha protokol: S = Ge"
c
S je prosean broj uspeno
poslatih okvira po slotu.
G je uestalost saobraaja predstavljena prosenim
brojem okvira koji se generiu po slotu.
Zato se okvir ne bi zadravao sve dok se ne zavri postojei prenos? Tako uredaji ne bi unitavali
okvir koji se trenutno prenosi i bila bi poboljana uestalost uspenog prenosa.
Ideja "oslukivanja" ima smisla i danas se koristi u mnogim mreama, kao to je Ethernet (on
koristi varijaciju koju emo opisati neto kasnije). Ovaj pristup je oznaen kao Carrier Sense
Multiple Access (CSMA). U optem sluaju, protokol se jednostavno opisuje. Ako ureaj ima
okvir za slanje, sledi naredne korake:
1. "Oslukuje" da li na medijumu postoji neka aktivnost.
2. Alra nema aktivnosti, inicira prenos; u suprotnom, eka.
Da li ovakav sistem eliminie kolizije? Eliminisae ih u odredenoj meri, ali ne u potpunosti.
Kolizije i dalje mogu da se jave ako dva (ili vie) uredaja "ele" da iniciraju prenos skoro istovre-
meno. Ako trenutno nema aktivnosti, oba "zakljuuju" da je bezbedno inicirati prenos i to i rade.
Naravno, tada dolazi do kolizije. Meutim, takve kolizije su u optem sluaju mnogo ree, jer
uvek postoji manje kanjenje izmeu trenutka kada uredaj detektuje da nema aktivnosti i trenut-
ka kada okvir koji on prenosi stigne do drugih ureaja. Da bi dolo do kolizije, drugi ureaj mora
da odlui da inicira prenos u tom periodu. Poto je taj interval izuzetno kratak, mala je verovat-
noa da e drugi uredaj inicirati prenos okvira u tom intervalu.
Medutim, kolizije su i dalje mogue i postoje varijacije CSMA koje pokuavaju da ostvare bolju
efikasnost redukovanjem broja kolizija. Sa jednim tipom, p-perzistentnim CSMA, uredaj
nastavlja da "motri" aktivni medijum. Kada se utia, uredaj inicira prenos sa verovatnoom
p(0 <p < 1). U suprotnom, eka da protekne jedan vremenski slot (verovatnoa od 1 - p). Ako je
p = l , uredaj uvek inicira prenos kada na medijumu prestane aktivnost. Ako je p = 0, uvek eka.
Kod neperzistentnog CSMA uredaj ne nastavlja da prati medijum. Jednostavno, eka jedan
vremenski slot i ponovo proverava postojanje aktivnosti. U ovoj taki inicira prenos ako na
medijumu nema aktivnosti; ako ih ima, eka na jo jedan vremenski slot.
Kolizije i dalje mogu da predstavljaju problem, posebno kod p-perzistentnog CSMA. Ako dva
uredaja "ele" da iniciraju prenos skoro istovremeno, a medijum je neaktivan, dolazi do kolizije.
Ovako izazvane kolizije moda nisu este, a mogue su kolizije i zbog drugih razloga. Na primer,
razmotrimo sluaj u kome je p = 1. Ako dva (ili vie) uredaja postaju spremna dok neki trei
ureaj prenosi okvir, oni ekaju. Ali, poto je p = I
1
oba ureaja iniciraju prenos im se medijum
oslobodi, tako da dolazi do kolizije njihovih okvira. Cim postoji vei broj ureaja, ovaj scenario
se ee ponavlja i kolizije postaju ozbiljniji problem.
Jedan od naina za smanjivanje uestalosti kolizija je smanjivanje verovatnoe za iniciranje prenosa
odmah nakon to prethodni ureaj zavri prenos. Na primer, pretpostavimo da na prenos ekaju dva
uredaja koja koriste 0.5-perzistentni protokol. Kada je medijum neaktivan, svaki inicira prenos sa
verovatnoom 0.5. Tako se etiri dogaaja deavaju sa jednakom verovatnoom:
Oba uredaja odmah iniciraju prenos.
Oba uredaja ekaju.
Prvi uredaj alje okvir, a drugi eka.
Drugi uredaj alje okvir, a prvi eka.
Umesto izvesne kolizije, postoji verovatnoa 0.5 da ni jedan uredaj nee inicirati prenos na
poetku sledeeg slota. Ipak, napomenimo da postoji i verovatnoa 0.25 da ni jedan uredaj nee
inicirati prenos. Ovo je sledei tip neefikasnosti, koji emo uskoro predstaviti.
Na slici 4.44 prikazana je uestalost uspenosti razliitih p-perzistentnih protokola. Ovde neemo
analizirati jednaine pomou kojih su ove krive generisane, jer su prilino sloene. Ipak,
razmotriemo rezultate i objasniti njihovo znaenje. Ako Vas interesuju konkretne jednaine, ili
njihovi izvodi, pogledajte referencu [K175 ].
U optem sluaju, manje vrednosti za p daju manje kolizija. Medutim, tako se poveava vreme
ekanja ureaja, pa, samim tim, dolazi do proporcionalnog poveanja verovatnoe da niko nee
inicirati prenos. I pored toga, kako se broj uredaja poveava, saobraaj raste. Poveava se verovatnoa
da e bar dva ureaja istovremeno pokuati da iniciraju prenos i kolizije mogu ponovo da
predstavljaju problem.
Kod neperzistentnog CSMA ni jedan uredaj ne eka da medijum bude neaktivan. Umesto toga,
periodino proverava stanje medijuma i eka jedan vremenski slot ako je medijum zauzet. Tako e
doi do kolizija samo ako dva ureaja detektuju prestanak aktivnosti i skoro istovremeno iniciraju
prenos. Kao to je prikazano na slici 4.44, uestalost uspenosti se poveava sa G; kod veih vrednosti
za G dobijaju se mnogo bolji rezultati, nego kod perzistentnog, ili Aloha protokola.
Uestalost uspenosti je samo statistiki pokazatelj i esto moe pogreno da se protumai.
Onako kako smo je definisali ona je impresivna, ali ne moe da se postigne sve dok ne postoji
ogroman broj okvira koje ureaji treba da poalju. Na primer, jednaine modela pokazuju da se
uestalost uspenosti od 0.9 postie kada je G = 9. Drugim reima, 90 odsto vremena se troi na
slanje okvira samo ako se generiu brzinom od devet okvira po slotu. Ovo je brzina koja
premauje kapacitet medijuma sa faktorom 9.
0.1-perzistentni
CSMA
neperzistentni CSMA
0.5-perzistentni
CSMA
1-perzistentni
CSMA
"isti" Aloha protokol
slotovani
Aloha protokol
SLIKA 4.44 Uestalost uspenosti za CSMA i Aloha protokole
U ovom sluaju imamo druge probleme koji premauju one koji nastaju zbog protokola. Ureaji
su zatrpali medijum i tako izazvali kanjenja.
Ovde moe da se povue dobra paralela sa primerom banke koja angauje samo jednu osobu na
alteru u danima sa najveim brojem stranaka. Stranke ekaju i po 45 minuta da bi poloile
depozit i ale se menaderu, koji odgovara da je alterski slubenik sve vreme zauzet i da zato
nema nikavih problema. Tada shvatate da je najbolje da pokupite svoj novac i sakrijete ga u
duek.
Kod manjih vrednosti za G perzistentni protokol ima veu uestalost uspenosti, jer je period
neaktivnosti vei problem nego kod neperzistentnih protokola. Ako uredaj detektuje da je prenos
u toku, eka da istekne kompletan slot. Ako se prenos dobro zavri pre tog vremena, medijum je
suvie neaktivan. U sluajevima slabijeg saobraaja, neperzistentni protokol nije dovoljno
agresivan.
Detekcija kolizije
Sledei nain da se pobolja uestalost uspenosti prenosa je da se redukuje vreme u kome moe
da dode do kolizije. Ranije, kada je ureaj imao okvir, slao ga je u celini i dolazio do "zakljuka"
da se desila kolizija ako nije dobio potvrdu o prijemu. Problem je to to drugi uredaji nisu mogli
da koriste medijum u vreme kada je dolo do kolizije okvira. Da li postoji neki nain da uredaj
nadgleda medijum da bi oslukivao kolizije? Ako postoji, da li moe odmah da prekine prenos i
tako smanji vreme u kome traje kolizija?
Na slici 4.45 je data ilustracija. Na slici 4.45a vreme kolizije se protee od prenosa prvog do kraja
prenosa drugog okvira. "Protraeno" vreme moe da se produi najvie na dva vremenska slota.
Na slici 4.45b oba uredaja prekidaju prenos im doe do kolizije. Tipino, svaki uredaj alje
signal blokiranja (jamming signal - vrsta elektrinog upozorenja) da bi se osiguralo da svi ureaji
budu obaveteni da je dolo do kolizije. U ovorn sluaju "protraeno" vreme iznosi samo jedan
deo slota i plus vreme koje je bilo potrebno za slanje signala blokiranja.
SLIKA 4.45 Kolizija sa i bez detekcije
(a) Kolizija bez detekcije
"protraeno" vreme zbog kolizije "protraeno" vreme zbog kolizije
(b) Detekcija kolizije
poslat
prvi okvir
poslat
drugi okvir
vreme
kolizije
poslat
drugi okvir
poslat
prvi okvir
vreme
Kolizija detektovana:
prenos paketa Je zaustavljen
i poslat Je signal blokiranja.
Poslednji korak je bitan radi redukovanja ansi da i drugi put doe do kolizije dva okvira.
Ne postoji nikakva izvesnost da e dva uredaja ekati da protekne identian vremenski interval
dok ne iniciraju ponovni prenos.
Dva problema koja izbijaju na povrinu kod rasprave o detekciji kolizije su veliina okvira i
udaljenost koju okviri prelaze. Ako je okvir isuvie veliki, jedan uredaj moe da uzme monopol
nad medijumom. Sa druge strane, detekcija kolizije zahteva da okviri imaju minimalnu veliinu
da bi kolizija bila detektovana pre nego to se zavri slanje okvira. Ako se kolizija detektuje nakon
to se okvir poalje, ne zna se da li je okvir bio ukljuen u koliziju - on je mogao da stigne do
svog odredita, a da kolizija nastupi izmedu neka druga dva okvira. Moda ste pomislili da bismo
mogli iskoristiti prethodno opisani metod koji trai potvrdu o prijemu. Mogli bismo, ali u tom
sluaju bi bio eliminisan razlog zbog koga se detekcija kolizije koristi - da bi se izbeglo slanje
celog okvira pre nego to dode do kolizije.
Do koje mere treba smanjiti okvir? Odgovor zavisi od maksimalnog vremena koje je potrebno za
detektovanje kolizije. Ponekad se kolizija detektuje skoro trenutno. U drugim sluajevima signal
moe da "putuje" preko velikih udaljenosti samo da bi se sreo sa nekim drugim signalom. ak i
tada um koji nastaje zbog kolizije moe da se vrati do uredaja koji je poslao okvir. U najgorem
sluaju, vreme potrebno za detekciju je dva puta due od vremena koje je signalu potrebno da
prede veliku udaljenost na kojoj se medijum prostire.
Primera radi, pretpostavimo sledee:
Uredaj alje okvire preko koaksijalnog kabla brzinom od IO Mbps.
Najvee rastojanje izmedu dva uredaja na kablu iznosi 2 km.
Signal se prostire du kabla brzinom od 200 m/usec (metara u mikrosekundi).
U najgorem sluaju, okvir "putuje" 2 km (to traje 10 usec) pre nego to dode do kolizije sa
nekim drugim okvirom. Nakon toga, oteeni signal "putuje" 2 km nazad do poiljaoca. Ukupan
put traje 20 usec. Tako bi okviru trebalo najvie 20 usec za slanje. Brzina prenosa podataka od 10
Mbps je ista kao da se alje 10 bitova po usec; zbog toga, uredaj moe da postavi 200 bitova za
20 trsec. Ovo bi znailo da okvir treba da ima najmanje 200 bitova, ili 200/8 = 25 bajtova. U
Poglavlju 9 predstaviemo specifine mree i protokole i tada ete videti da oni zaista odreduju
minimalnu veliinu okvira.
Drugi problem kod detekcije kolizije je rastojanje. Na primer, "oslukivanje" i detekcija kolizije
ne funkcioniu dobro kod satelitskih mrea, kod kojih vreme potrebno za prenos okvira od
Ako je medijum zauzet, uredaj eka u skladu sa perzistentnim algoritmom.
Ako nema aktivnosti na medijurnu, uredaj prenosi okvir i nastavlja "oslukivanje".
Ako uredaj detektuje koliziju, odmah prekida slanje i alje kratki signal blokiranja.
- Nakon kolizije, uredaj eka da istekne nasumino izabrani period pre nego to
ponovo pokua da poalje okvir.
Postoji ovakav protokol i obino se koristi zajedno sa CSMA. Nosi naziv Carrier Sense Multiple
Access with Collision Detection (CSMA/CD). On se, obino, koristi sa nekim perzistentnim
algoritmima. Opti pregled bi izgledao ovako:
zemaljske stanice do satelita i vraanje nazad iznosi, aproksimativno, jednu etvrtinu sekunde.
U poreenju sa svetom u kome se sve meri mikrosekundama, re je o dugakom periodu. Ako
zemaljska stanica oslukuje satelitski prenos, moe da detektuje samo ono to je poslato pre
jedne etvrtine sekunde. Tako Je mogue da ne uje nita kada neiji okvir ide ka satelitu na
kolizionom kursu sa neim to je veposlato.
Velika prednost do sada predstavljenih protokola je to protokol ne mora da se menja kada se
doda novi uredaj. Uredaji ne moraju da imaju posebna znanja o ostalim ureajima na mrei. Ova
mogunost dodavanja novih uredaja bez promene protokola olakava proirenje mree.
Medutim, znaajan nedostatak je to dolazi do kolizija. Raspravljali smo o tome da li protokol
moe sasvim dobro da funkcionie, iako ne postoji teorijsko ogranienje u broju kolizija do kojih
moe doi. Uvek postoji mala ansa da e doi do neuobiajenih kanjenja. Kod veine aplikaci-
ja periodina kanjenja nisu mnogo ozbiljna, ali mogu da budu katastrofalna u real-time aplikaci-
jama, kao to su hemijske i nuklearne elektrane, sistemi za kontrolu vazdunog saobraaja, ili
procesi za automatizaciju proizvodnje.
U nekim sluajevima vreme ekanja nakon kolizije nije u potpunosti nasumino izabrano. Jedna
uobiajena tehnika defmie vreme ekanja kao integral umnoka vremenskog slota. Broj
vremenskih slotova mora da bude ogranien, tako da uredaj ne eka preterano dugo.
Definisanje granice nije jednostavno. Na primer, ako je velika, nasumino izabrani periodi
ekanja mogu da budu dugaki i da, zbog toga, postoje preterano dugaki periodi neaktivnosti
medijuma. Sa druge strane, vei broj vremenskih slotova iz kojih se bira smanjuje ansu da dva,
ili vie uredaja izaberu isti slot i da ponovo dode do kolizije. Ako je granica relativno mala,
uredaji izmeu ijih okvira dolazi do kolizije ne ekaju isuvie dugo; ipak, sa raanjim brojem
raspoloivih slotova, poveava se ansa da e ponovo doi do kolizije.
Tehnika poznata pod nazivom binarni eksponencijalni backoff algoritam utvrduje razliite
granice. Funkcionie na sledei nain:
Ako dode do kolizije okvira nekog uredaja prvi put, on eka 0, ili I vremenski slot
(izabrano nasumino) pre nego to ponovo pokua slanje.
Ako dode do kolizije drugi put, eka 0, 1,2, ili 3 slota (ponovo izabrano nasumino).
Nakon tree kolizije, eka izmeu 0 i 7 Vremenskih slotova.
U optem sluaju, nakon n kolizija, eka da protekne izmeu 0 i 2" - 1 slot ako je
n < 10. Ako Je n > 10, eka izmeu 0 i 1024 (2
10
) slotova.
Nakon 16 kolizija, odustaje. Verovatno negde postoji neka greka i do administratora
mree se alje obavetenje o nemogunosti prenosa. U ovom sluaju drugi softver, ili
menader mree moraju da ispitaju u emu je problem.
Ovaj pristup jasno pokuava da minimizuje preterana ekanja odravanjem broja moguih
vremenskih slotova na nioj vrednosti. Na kraju krajeva, ako dolazi do kolizije izmedu okvira dva
uredaja, postoji verovatnoa od 50 odsto da e oni uspeti da poalju okvire u narednom pokuaju
(uz pretpostavku da drugi uredaji ne pokuavaju da poalju svoje okvire).
Ipak, u mnogim sluajevima kolizije veoma su male anse da e bilo koji uredaj uspeti da poalje
okvir u sledeem pokuaju. Da bi uredaj bio uspean, on treba da izabere ili 0, ili I vremenski
slot, a svi ostali uredaji moraju da izvre drugaiji izbor. Poveavanjem broja vremenskih slotova
SLIKA 4.46 Token ring mrea
Token koji sadri sekvencu
bitova cirkulie po prstenu
nakon svake kolizije anse za ponovnu koliziju se ponovo smanjuju eksponencijalno. Mogue je
imati veliki broj vremenskih slotova samo ako su svi prethodni pokuaji bili neuspeni. U takvim
situacijama dugo ekanje moe da bude jedino reenje.
Izbegavanje kolizije
U beinim LAN okruenjima detektovanje kolizije nije uvek raspoloiva opcija. Na primer,
pretpostavimo da uredaji A i B istovremeno alju okvir do uredaja C. Mogue je da ni A, ni B ne
vide signal onog drugog. Ako se prenos vri preko infracrvenih talasa, vrsta prepreka moe da
omete medusobno registrovanje signala. Ako se prenos vri preko radio talasa male snage, oni
mogu da budu veoma udaljeni (iako je C u dometu oba uredaja). U takvim situacijama
CSMA/CD nije opcija.
Protokol 802.11 za beine LAN mree usvaja emu izbegavanja kolizije. Bez obzira na naziv,
protokol ne izbegava sve kolizije; ipak, znaajno se redukuje njihov broj. Re je komplikovanom
protokolu, tako da emo njegovo detaljnije predstavljanje odloiti do Poglavlja 9.
Prosledivanje tokena
Prethodno opisani protokoli su imali pomalo "anarhistiki" pristup slanju signala, jer su
doputali Liredajima da poalju ono to su hteli. Logino pitanje koje se ovde namee je da li je
mogue da se neki uredaji unapred "dogovore" koji kada alje svoje podalke. Drugim reima, da
li postoji mogunost za kruenja?
Polekoa koja se javlja kod mnogih mrea je to nema centralne kontrole, niti autoriteta koji bi
donosio takve odluke. Ipak, postoji nain da svi ureaji uestvuju u donoenju odluka na nivou
protokola za kruenje: prosledivanje tokena je uobiajeni protokol koji se koristi u token ring
mreama. U token ring mrei (slika 4.46) uredaji su obino personalni kompjuteri, povezani
kruno pomou obinog kabla, ili fibera. Mrena interfejs kartica (NIC - netvvork interface card)
povezuje svaki uredaj na mreu i sadri hardver i logiku koja personalnom kompjuteru
omoguava komuniciranje sa mreom.
Ovde korieni protokol nadmetanja za pristup medijumu moe da se uporedi sa prethodno
predstavljenim protokolom "alji kad moe". Ureaji u token ringu izvravaju protokol,
omoguavajud nazimenino slanje okvira. Proces ukljuuje spedjalno formatirani okvir, nazvan
token. On sadri kodove koje NIC prepoznaje i krui kroz prsten, posedijui svaku NIC karticu. U
skladu sa protokolom, svaki PC moe da alje svoje podatke kada njegova NIC kartica ima token.*
U Poglavlju 9 emo objasniti kako tano uredaji razmenjuju okvire. U optem sluaju koncept je
sledei. Kada uredaj primi token, mogue su dve solucije. Ako nema nita za slanje, jednostavno
prosleduje token do svog suseda. Ako ima neto za slanje, umee svoje podatke i adresu odredita
u token. Osim toga, menja neke kontrolne bitove da bi token bio identifikovan kao okvir sa
podacima (okvir u kome se prenose informacije). Nastavljajui na ovakav nain, token moe da
poseti svaki uredaj i da pokupi podatke kada budu raspoloivi. Ovo je slino elektronskom
Federal Expressu koji putuje unaokolo, sakupljajud i isputajui okvire.
Kada uredaj primi token, on najpre ispituje kontrolne bitove. Ako oni ukazuju da nema podata-
ka u okviru, uredaj postupa u skladu sa tim da li ima neto za slanje. Ako u okviru ve postoje
podaci, uredaj ispituje odredinu adresu. Ako odredina adresa ukazuje na neki drugi uredaj,
okvir se, jednostavno, rutira do susednog ureaja. U suprotnom, uredaj kopira informadje iz
okvira. Nakon toga, ponovo postavlja okvir u prsten. Eventualno, okvir se vraa do poiljaoca,
koji uklanja podatke i postavlja token, ili drugi okvir nazad na prsten. Nastavljaju na ovaj nain,
podaci eventualno stiu do svog odredita.
Token ring operadje mogu da se proire da ukljuuju prioritete i sistem rezervadja koji e uredaju
omoguti rezervisanje tokena koji ve ima neaje podatke radi budueg korienja. Ove operadje
predstaviemo u odeljku 9.6.
Prsteni imaju jo jednu prednost slino protokolima koje smo ranije predstavili: novi uredaji se lako
dodaju. Kada uredaj alje okvir do svog suseda, on ne zna da li je taj sused dodat u skorije vreme, ili
je tu oduvek. Zbog toga, uredaji ne moraju da budu obaveteni o promenama kod suseda.
Nedostatak je to uredaj moe da "zarobi" token. Osim toga, prekid linka izmeu dva sukcesivna
uredaja moe da obori mreu, jer token ne moe da krui. Drugi problem se javlja ukoliko uredaj
otkae dok alje token na prsten. Rezultat je nekompletan i neispravan token koji nastavlja da krui
po prstenu. Uredaji koji ekaju na prijem ispravnog tokena nastavljaju da ekaju na neto ega nema
u prstenu. Slede problem se javlja ako, zbog nekog razloga, otkae uredaj koji je odgovoran za
oslobadanje tokena. Svaki uredaj prosleduje token do svog suseda i okvir beskonano krui. I ovi
problemi imaju reenja; neka od njih predstaviemo u Poglavlju 9.
* U nekim situacijama ovo nije tano. U Poglavlju 9 moete da proitate detaljniju analizu o token ring protokolu.
Protokol Znaai Prednosti Nedostaci
Aloha vanjacija je konsna Jednostavan pnstup
u satelitskim
komunikacijama, gde
"oslukivanje" nije
praktino zbog
velikog kanjenja.
p-perzistentni U kombinaciji sa CSMA/CD Nastoji da smanji anse
predstavlja popularan za neaktivnost medijuma.
izbor kod Ethemeta.
Neperzistentni Prema modelu, uestalost Redukuje se broj kolizija,
uspenosti se ne smanjuje posebno pod veim
sa veim optereenjima. optereenjem.
CSMA/CD U kombinaciji sa
p-perzistentnim
protokolom,
predstavlja estu
varijantu za Ethernet.
Token ring Nekada populami
protokol u kancelarijskim
i poslovnim okruenjima
Redukuje vreme kolizije.
Potencijalna kasnjenja,
jer uredaj moda ne zna da
je dolo do kolizije okvira
sve dok ga ne poalje celog.
Mogu je preveliki broj
kolizija u sluaju veeg
saobraaja, tako da se
"trai" opseg medijuma.
Prenosni medijum moe da
bude neaktivan kada postoje
uredaji koji ele da poalju
neke podatke.
Nema teorijske gornje
granice za vreme koje je
potrebno za uspeno.
Gornja vremenska granica
za uredaj odredena je
ekanjem na dobijanje
tokena.
Ukoliko u protokol nisu
ugradeni mehanizmi
oporavka, otkazi na jednom
ureaju mogu da unite
token, ili da raskinu prsten,
tako da se uticaj prenosi
na celu mreu.
Rezime protokola
U ovom odeljku smo predstavili najee koriene protokole nadmetanja za pristup
zajednikom medijumu. Njihov pregled je dat u tabeli 4.5. Postoje i mnogi drugi protokoli. Ako
ste zainteresovani, pogledajte reference [StOO] i [Ta03].
4.8 Zakljuak
U ovom poglavlju smo se najvie bavili uredajima, sistemima, protokolima i tehnologijama koje
imaju kritini znaaj za uspostavljanje konekcija. Prosta mogunost prenosa informacija u obliku
niza bitova nije dovoljna ako ne postoji nain da vie uredaja medusobno saraduje, pristupa i
deli medijum za prenos. U suprotnom, uredaj prenosi bitove koji zavravaju u nedogled. Drugim
reima, prenos je ostvaren, ali ne i komunikacija. Moramo da obezbedimo da preneti bitovi stiu
do svojih odredita i da sistemi koji prenose te signale funkcioniu u skladu sa specifinim
protokolima. U ovom poglavlju su predstavljeni sledei vani koncepti:
Meu komunikacione nosioce i uredaje ukljuuju se telefonski sistem, PBX (privatne
telefonske centrale), mobilni telefoni i faks maine. Telefonski sistem povezuje najvei
broj ljudi. Godinama je bio korien prvenstveno za govorne komunikacije, ali iz
godine u godinu poveavao se broj ljudi koji su ga koristili za razmenu podataka.
U stvari, neke organizacije su instalirale svoj privatni sistem pod nazivom PBX
(privatne centrale) za prenos i glasa i podataka. Za interne komunikacije u okvim
jedne kompanije pomou vie privatnih centrala zaobilazi se korienje usluga javnih
telefonskih centrala, ali su, i pored toga, neophodne meugradske linije.
Mobilni telefoni su korisnicima omoguili slobodu fizikog kretanja prilikom
uspostavljanja konekcija. Oblast se deli na regione, ili elije, koje imaju sopstvene
predajnike, koji mogu da komuniciraju sa telefonskim sistemom. Nakon toga, mobilni
telefon komunicira sa predajnikom elije u kojoj se trenutno nalazi.
Faks maina kombinuje tehnologije kopiranja i prenosa informacija. Poput kopir
maine, reprodukuje sliku na papiru. Medutim, slika se reprodukuje u elektronskom
obliku i prenosi preko telefonskog sistema. Faks na drugom kraju prima signal i
ponovo kreira originalnu sliku.
Postoje razliiti modovi komunikacije. Kod paralelnog prenosa bitovi se alju
istovremeno korienjem nekoliko linija, a kod serijskog prenosa alju se u sekvenci
preko samo jedne linije. Simplex komunikacije su iskljuivo jednosmerne. Half-duplex
komunikacije omoguavaju dvosmerne komunikacije, ali se slanje i prijem podataka
vte naiz,meniao. Full-duplex komunikacije omoguavaju istovremeno slanje
informacija iz oba uredaja.
Siedei bitan faktor u koimmikatijama 'je te'jm'vng. Ks'vrvViram pienos %a\\e svak\ Y>a\t
zasebno, sa start i stop bitom pre i nakon bajta. Tako bajtovi stiu sa nasuminim
razmacima izmeu njih. Kod sinhronog prenosa bajtovi se grupiu u format okvira, a
zatim se alje ceo okvir. I pored toga, podaci u sukcesivnim okvirima mogu da stiu naglo
jedni za drugim, sa velikom koliinom podataka, a zatim da slede dugaki periodi ekanja
do sledeeg niza podataka. Izohroni prenos garantuje da e podaci stizati konzistentnom
brzinom sve vreme. Ovo je najprikladniji prenos za real-time aplikacije, kao to je prikazi-
vanje slika odmah im se generiu, ili sluanje muzike dok se izvodi.
EIA-232 protokol povezuje DTE i DCE; verovatno je najpoznatiji protokol interfejsa.
Odreuje defmicije kola i pravila koja oba uredaja moraju da potuju da bi uspeno
komunicirali. X.21 interfejs je dizajniran za digitalne interfejse. U poredenju sa EIA-
232 standardima, koristi manje linija izmeu DTE-a i DCE-a, ali zahteva bolju logiku
za interpretiranje razmenjenih signala.
Univerzalna serijska magistrala je dizajnirana da bi se pojednostavilo povezivanje
perifernih ureaja na personalni kompjuter. Ureaji mogu da se prikljuuju bez
prethodnog iskljuivanja sistema sa izvora napajanja. Korienjem hubova korisnik
moe da povee do 127 ureaja na personalni kompjuter. USB uredaji komuniciraju
korienjem serijskih komunikacija i funkcioniu u master/slave modu, koji diktira da
komunikaciju koordinira host (obino PC). Kod tipinog pristupa host "proziva"
ureaje, nalaui im da iniciraju prenos ako imaju podatke za slanje, ili upozorava
ureaj da alje podatke. USB podrava teretni (bulk), kontrolni, prekidni i izohroni
transfer radi povezivanja razliitih tipova uredaja.
Kao i USB, FireWire je dizajniran radi uproavanja povezivanja perifernih uredaja.
Za razliku od USB-a, dizajniran je pre za uredaje koji podravaju multimedijalne
aplikacije i zahtevaju vee bitske brzine. Postoji nekoliko znaajnih razlika izmedu
USB-a i FireWirea. FireWire koristi estoilni kabl i strob signal koji prijemnik koristi
za sinhronizaciju sa dolazeim bitovima. Osim toga, FireWire je peer-to-peer protokol.
Uredaji mogu da komuniciraju nezavisno od hosta pomou mehanizma arbitrae koji
je ugraden u FireWire protokol.
Mnogim aplikacijama nije neophodna puna snaga high-speed rnree, ili velika cena
predstavlja ogranienje za kreiranje zasebnih konekcija. Multiplekser moe da poslui
kao interfejs izmedu nekoliko uredaja i jedne mrene konekcije. Multiplekseri sa
podelom frekvencije kombinuju analogne signale iz razliitih kanala u jedan analogni
signal. Multiplekseri sa podelom vremena postavljaju nizove bitova iz razliitih izvora
u jedan okvir fiksne duine. Statistiki multiplekseri mogu da kombinuju nizove bito-
va Li jedan okvir, ali mogu da koriste okvire promenljive veliine, u zavisnosti od izvo-
ra koji alje podatke. Multipleksiranje sa podelom talasnih duina kombinuje optike
signale razliitib frekvencija u jednom zajednikom fiberu, a zatim se na drugom kraju
signal rastavlja na komponente, slino nainu na koji prizma prelama zrak na svetlost
razliitih boja.
Dva uobiajena digitalna nosioca su Tl i SONET. Tl koristi multipleksiranje sa pode
lom vremena za kombinovanje 8-bitnih grupa iz razlidtih izvora u jedan zajedniki
DS-I okvir. Obino impulsni kodni modulator u svakom izvoru generie 8.000
8-bitnih grupa u sekundi da bi bila postignuta bitska brzina koja odgovara
telefonskim konverzacijama. SONET je sloeniji nosei servis koji se koristi u komu-
nikacijama na velikim razdaljinama. SONET prenosi 810-bajtne STS-I okvire na
svakih 125 Lisec, ili 8.000 okvira u sekundi. Ovim se definie bazna signalna brzina od
54,84 Mbps. Vee brzine postie STS-192m, to odgovara brzini od 9,953 Gbps. Tada
je u jednom, ili vie okvira mogue prenositi SPE (synchronous payload envelope)
format podataka. SONET koristi regeneratore za regeneraciju veine bitova u okviru,
add/drop multipleksere za spajanje eksternih podataka sa SONET okvirima, bez multi-
pleksiranja celog sadraja okvira, i STS multipleksere za izvravanje kompletnog
multipleksiranja eksternih signala u STS okvire.
Poto mrea treba da opsluuje vei broj korisnika, mora da im omogui meusobnu
komunikaciju. To znai da je neophodno donoenje odluke o tome kada dva, ili vie
uredaja "nameravaju" da istovremeno poalju svoje podatke. Jedan pristup (Aloha
protokol) dizajniran je za paketne radio komunikacije na Havajskim ostrvima. Ako se
dva okvira preklapaju, dolazi do kolizije. Kada poiljalac ne dobije potvrdu o prijemu
okvira, ponovo inicira slanje istog okvira. Slotovani Aloha protokol je slian, ali zahte-
va slanje podataka samo na poetku unapred definisanih vremenskih slotova.
CSMA ide korak dalje od Aloha protokola, tako to uredaji "oslukuju" medijum pre
nego to iniciraju slanje okvira.
Okviri se alju samo ako nema saobraaja na medijumu. Ako saobraaj postoji, slede
korak zavisi od varijadje protokola koja se koristi. Kod p-perzistentnog CSMA
protokola uredaj nastavlja da nadgleda medijum - kada na medijumu prestanu aktivnosti,
on inicira slanje okvira sa verovatnoom p. Kod neperzistentnog CSMA protokola ureaj
ne prati stanje medijuma. Jednostavno, eka nasumino izabrani broj vremenskih slotova
i ponovo pokuava da poalje okvir. Poslednja varijacija CSMA/CD koristi tehnike na
osnovu kojih se prekida slanje ako uredaj detektuje koliziju. Namera je da se smanji
koliina vremena u kome moe doi do kolizije okvira.
Sledei protokol je prosledivanje tokena, koji se koristi u token ring mreama.
Specijalni okvir, nazvan token, krui kroz mreu izmeu ureaja. Ureaj moe da alje
podatke sarno ako ima token. Token ring uredaji su organizovani u fiziki prsten.
Pitanja i zadaci za proveru
1. Navedite pet glavnih komponenata telefonskog sistema.
2. Opiite nain funkcionisanja mobilne telefonije.
3. Sta su privatne centrale?
4. U emu je razlika izmedu roaminga i prenoenja (handoff) u kontekstu mobilne tele-
fonije?
5. Navedite razlike izmeu serijskih i paralelnih komunikacija.
6. Navedite razlike izmedu sinhronih, asinhronih i izohronih komunikacija.
7. Navedite tipina polja u okviru podataka i ta ona sadre.
8. Navedite razlike izmedu simplex, half-duplex i full-duplex komunikacija.
9. Da li su sledea tvrdenja tana, ili netana (i zato)?
a. Paralelne i serijske komunikacije zahtevaju razliite vrste kablova.
b. EIA-232 interfejs zahteva 25-pinski konektor.
c. Dva kompatibilna PC-ja mogu da komuniciraju ako se instalira kabl izmeu
njihovih EIA-232 portova.
d. Ureaji koji koriste EIA-232 interfejs mogu automatski da komuniciraju.
e. USB uredaji ne mogu da komuniciraju nezavisno jedni od drugih.
f. Iako veina personalnih kompjutera ima svega par USB portova, mogue je
povezati vie od 100 USB-kompatibilnih ureaja.
g. Pojedine aplikacije mogu da toleriu gubitak nekih podataka zbog greaka
koje nastaju u toku prenosa.
h. FireWire kabl ima dva para upredenih parica za paralelni prenos dva niza bitova.
i. FireWire-kompatibilni ureaji ne zahtevaju host PC za koordinaciju komunikacije.
j. Multipleksiranje sa podelom frekvencije predstavlja oblik paralelnih komunikacija.
k. Multipleksiranje sa podelom vremena je rezervisano samo za digitalne komunikacije.
I. SONET okviri se prenose samo kada ima podataka.
m. Multiplekser sa podelom vremena omoguava kombinovanje ulaznih kapaciteta
tako da se premai izlazni kapacitet.
n. Neperzistentni protokoli nadmetanja za pristup zajednikom medijumu bolji su
od perzistentnih protokola u svim sluajevima.
o. 1-perzistentni protoko] je optimalan u grupi p-perzistentnih protokola, jer uredaj
nikada ne eka dobrovoljno, tako da se ne "trai" vreme.
10. Navedite razliku izmeu DTE-a i DCE-a.
11. Sta je null modem?
12. Zato je na slici 4.15 pin 20 svakog DTE-a prikljuen na pin 8 drugog DTE-a?
13. Zato je na slici 4.15 pin 4 povezan na pin 5 istog DTE-a?
14. Navedite razliku izmedu peer-to-peer i master/slave protokola.
15. Navedite razliite tipove transfera koje podrava USB i opiite svaki od njih.
16. Navedite razliku izmeu USB okvira i paketa.
17. Zato USB paketi sa podacima ne sadre adresu?
18. Sta je prozivka i zato je neophodna?
19. Sta je daisy chain? U emu se razlikuje od povezivanja uredaja na zajedniku magis-
tralu?
20. Sta je strob signal? Koje su njegove prednosti, a koji su njegovi nedostaci?
21. Koja dva tipa komunikacija podrava FireWire?
22. Navedite razliku izmedu multipleksiranja sa podelom frekvencije i podelom vremena.
23. ta je multiplekser?
24. ta su zatitni opsezi?
25. ta je kanal u kontekstu multipleksiranja sa podelom vremena?
26. Navedite razliku izmeu noseeg, moduliueg i modulisanog signala.
27. Sta je primarna motivacija za korienje multipleksera?
28. Zato polje DS-I okvira ima osam bitova za svaki kanal?
29. Navedite razliku izmeu add/drop multipleksera i STS multipleksera.
30. Zato SONET ne garantuje da e se sve korisne informacije nai u okviru?
31. Navedite razliku izmeu sekcije, linije i putanje u SONET noseem sistemu.
32. Sta Je protokol nadmetanja za pristup zajednikom medijumu?
33. Opiite Aloha protokol, zajedno sa listom njegovih prednosti i nedostataka.
34. Navedite razliku izmeu slotovanog i "istog" Aloha protokola.
35. U emu je razlika izmeu O-perzistentnog CSMA i neperzistentnog CSMA protokola?
36. Zato detekcija kolizije poboljava performanse CSMA?
37. Zato se performanse perzistentnog protokola nadmetanja degradiraju kako se G
poveava, dok kod neperzistentnog protokola vai suprotno pravilo?
38. ta je binarni eksponencijalni backoff algoritam?
39. ta je token?
Vebe
1. Zato asinhrone komunikacije zahtevaju dodatne start i stop bilove? U emu bi bila
pogreka kada bi se uzelo da je prvi bit podataka, ujedno, i start bit, a poslednji stop bit?
2. Poto se kod paralelnih komunikacija bitovi prenose istovremeno, zato se paralelne
komunikacije ne dizajniraju sa proizvoljno velikim brojem paralelnih linija radi
skraivanja vremena prenosa?
3. Vode se rasprave da li ak i si nhrone komunikacije imaju asi nhronu komponent u.
Kako je to mogue?
4. Koliki je mi ni mal ni broj kola neophodan za uspostavljanje full-duplex komunikacija
preko EIA-232 interfejsa?
5. Zato DTE mora da potvrdi RTS (Recjuest to Send) kolo pre slanja do DCE, a DCE ne
mora da potvruje ni jednu RTS liniju pre slanja do DTE-a?
6. Neki null modemi povezuju pin 20 sa pi nom 5, ili 6 na DTE-u. Koja je svrha takvog
povezivanja?
7. Neki null moderni povezuju pin 4 DTE-a sa sopstvenim pi nom 5 i pi nom 8 drugog
DTE-a. emu to slui?
8. Ako imate personalni kompjuter, ili pristup ureaju koji ima EIA-232 interfejs,
proverite u uputstvu koja su kola koriena.
9. Napiite program za generisanje grafika moduliueg i modul i sanog signala, slinih
oni ma sa slike 4.28.
10. Pretpostavimo da moet e da kucate 100 rei u mi nut u i da je prosena duina rei est
karaktera (ukljuujui bl anko znake). Koji je mi ni mal ni broj USB okvira u sekundi za
koje moet e da oekujete da e ih USB-kompatibilna tastatura "pozvati"?
11. Pretpostavimo da FireWire alje bitove 01100011000 preko FireWire kabla. Skicirajte
oba signala koja odgovaraju i bitovima podataka i strob signalu.
12. Pretpostavimo da je pet ureaja povezano na statistiki multiplekser sa podel om Vre
mena (slino situaciji predslavljenoj na slici 4.31) i da svaki od njih stvara izlaz koji je
ovde prikazan. Konstruiite okvir koji multiplekser alje.
Device 1 : . . . . 0 A3 0 A2 A1
Device 2: . . . .B4 B3 0 B2 B1
Device 3: . . . .0 C2 0 0 C1
Device 4: . . . .D5 D4 D3 D2 D1
Device 5: . . . .0 0 E2 0 E1
13. Koja je svrha dodavanja 0.5 na si nusnu funkciju za formiranje f(t) sa slike 4.28?
Odnosno, ta se deava ako se taj lan eliminie?
14. Analizirajte znaenje grafika sa slike 4. 43.
15. Komentariite sledeu konstataciju:
Sa 1-perzistentnim CSMA protokolom uredaj koji eka uvek prenosi okvir ako nema aktivnosti na medijumu. Zato nc
promeniti protokol tako da, kada je medijtim slobodan, uredaj eka odredeni period u toku koga moe da se kompletira
prenos nekog drugog uredaja? Ako Je medijum i dalje slobodan, inicira prenos. Ovo bi trebalo da umanji verovatnou da
dode do kolizije dva uredaja koji ekaju na prenos.
16. Komentariite korisnost O-perzistentnog CSMA protokola.
17. Pretpostavimo da tri uredaja koja koriste 0.5-perzistentni protokol ekaju na neaktivan
medijum.
a. Kolika je verovatnoa da e doi do kolizije kada se medijum oslobodi?
b. Kolika Je verovatnoa uspenog prenosa kada se medijum oslobodi?
c. Kolika je verovatnoa da ni jedan ureaj nee slati nita kada se medijum oslobodi?
18. Ponovite vebu 17, ali pretpostavite da uredaji koriste 0.25-perzistentni protokol.
19. Pretpostavite da su dva ureaja koja koriste CSMA/CD i binarni eksponencijalni
algoritam poslali okvire izmedu kojih je dolo do kolizije.
a. Kolika je verovatnoa da e ponovo doi do kolizije za vreme sledeeg slota?
b. Kolika Je verovatnoa da e oba ureaja uspeno preneti okvire za vreme sledea
dva slota?
c. Kolika Je verovatnoa da e doi do kolizije: jo dva, ili jo tri puta?
20. Pretpostavite da su tri uredaja koja koriste CSMA/CD i binarni eksponencijalni algori
tam poslala okvire izmedu kojih je dolo do kolizije.
a. Kolika je verovatnoa da e ponovo doi do kolizije za vreme sledeeg slota?
b. Kolika je verovatnoa da e sva tri uredaja uspeno preneti okvire za vreme
sledea tri slota?
c. Kolika je verovatnoa da e doi do kolizije izmedu bilo koja dva uredaja za
vreme sledeeg slota?
21. Pretpostavite da je binarni eksponencijalni backoff algoritam promenjen tako da
ureaj uvek eka 0, ili 1 vremenski slot, bez obzira na broj nastalih kolizija. Kako ovo
menja efikasnost?
22. Pretpostavite da Je n neki pozitivan ceo broj, a da je binarni eksponencijalni backoff
algoritam promenjen tako da uredaj uvek eka izmedu 0 i 2n - 1 vremenski slot, bez
obzira na broj nastalih kolizija, Kako to utie na efikasnost?
23. Za svaku od narednih primena navedite najprikladniji mod prenosa (asinhroni,
sinhroni, ili izohroni).
a. Preuzimanje fajla
b. Povezivanje tampaa
c. Prikazivanje slika sa Web kamere
d. Video konferencija
e. Preuzimanje multimedijalnog fajla
f. Sluanje Web radija
g. Povezivanje tastature
h. Korienje softvera za iniciranje telefonskog poziva
i. Praenje predsednikih debata uivo
Reference
[An99]Anderson,D. FireWire System Architecture:IEEE1394A,2nded.Reading,MA:
Addison-Wesley, 1999.
[AxOl]Axelson,J. USB Complete,2nded.Madison,WI:LakeviewResearch,2001.
[Ga02] Goralski,W. SONET/SDH, 3rded. NewYork: McGraw-Hill, 2002.
[K175] Kleinrock,L.,andF.Tobagi. "RandomAccessTechniquesforDataTransmissionover
Packet-SwitchedRadioChannels". AFIPS Conference Proceedings,vol.44(1975),187.
[LeOO] Leon-Garcia,A.andI.Widjaja. Communication Networks.NewYork:McGraw-Hill,
2000.
[Ma72]Martin,J. Systems Analysis for Data Transmission.EnglewoodCliffs,NJ:Prentice-
HaIl, 1972.
[Mi87]Mitrani,I. Modeling of Computer and Communications Systems.London:Cambridge
UniversityPress, 1987.
[Ro75] Roberts, L. "ALOHAPacketSystemwithandWithoutSlotsandCapture". Computer
Communications Review,vol.5(April1975),28-42.
[Ru89]Russel,D. The Principles of Computer Networking.NewYork:CambridgeUniversity
Press, 1989.
[Sh90] Sherman,K. Data Communications:AUserGuide. 3rded.EnglewoodCliffs,NJ:
Prentice-Hall, 1990.
[StOO] Stallings,W. DataandComputerCommunications. 6thed. EnglewoodCliffs, NJ:
Prentice-Hall, 2000.
[St03] Stallings,W. Computer Organization and Architecture.6thed.EnglewoodCliffs,NJ:
Prentice-Hall, 2003.
[St96] Stanley,W. Network Analysis ivith Applications.2nded.EnglewoodCliffs,NJ:
Prentice-Hall, 1996.
[Ta03] Tanenbaum,A. S. ComputerNetworks. 4thed. EnglewoodCliffs, NJ: Prentice-Hall,
2003.
[Wa98] Walrand,J. Communications Networks: AFirstCourse,2nded.Boston:RichardD.
Irwin, 1991.
[WaOO]Walrand,J.andP.Varaiya. High-Performance Communication Networks,2nded.San
Francisco: Morgan Kaufmann, 1996.
Da li ste nekada sluali MP3 audio fajl? Da li ste nekada preuzeli filmski triler snimljen u formi
MPG, ili MPEG fajla? Da li ste nekada koristili faks (faksimil) mainu? Sasvim sigurno, ako itate
ovu knjigu, imate neka tehnika predznanja i izveli ste neke od ovih akcija. Medutim, nita od
ovoga ne bi bilo praktino bez sofisticirane matematike i rutina za kompresovanje. Sa tolikim
brojem novih aplikacija koje zahtevaju elektronske komunikacije oigledan trend je kreiranje
brih i jeftinijih naina za slanje podataka. U Poglavlju 2 smo pomenuli neke od tekuih
razvojnih oblasti, kao to su optiki fiber, visokofrekventni mikrotalasi i UTP vieg stepena.
Neke aplikacije ipak ne mogu da ekaju na nov razvoj. Njihovi zahtevi su primorali ljude da
potrae nove naine za postizanje brzih i jeftinih komunikacija. Na primer, razmotrite faks
mainu, jedan od najznaajnijih izuma iz 80-ih prolog veka. U Poglavlju 4 opisano je kako ona
deli sadraj pareta papira u take, u zavisnosti od slike na papiru. Tipina faks maina koristi
40.000 taaka po kvadratnom inu, to daje skoro etiri miliona taaka po stranici. Ako se koristi
56 Kbps modem, potrebno je vie od jednog minuta da se prenesu ove informacije. Ako ste ikada
koristili faks mainu, znate da to, ipak, ne traje toliko dugo.
Sledei primer je video. Ono to mi vidimo kao kretanje je standardni TV ekran, koji, u stvari,
prikazuje 30 slika (kadrova) u sekundi (isti princip na kome se zasnivaju pokretne slike).
5.1 Uvod
Kompjuter ne misli, ne osea nita. Nema ni memoriju, samo prostor za skladitenje. Kad god
mu se obratite, ili dobijate kompletan odgovor, ili nita. Neodreenost, inteligentna
konfuzija, originalno baratanje reima, ili idejama se nikada ne deava, a inteme veze su uvek
nepromenljive; uspostavljene su jednom od istinskih umova koji su kreirali mainu i program.
Kada se ukljui, i najjednostamiji kompjuter sigumo moe da obavi posao u skladu sa svojim
maksimalnim mogunostima; najveam umovima ne mogu da se povere takvi poslovi zbog jednog
jednostavnog razloga - zbog njihove promenljivosti, koja ih ini toliko superiarnim.
-Jacques Barzun (1907- ), ameriki predava i autor
Kompresija podataka
Osim toga, svaka slika sadri aproksimativno 20.000 taaka, ili piksela - svaki piksel ima razliitu
jainu osnovnih boja plave, zelene i crvene. Razliite kombinacije omoguavaju generisanje
razliitih boja spektra. Ako se svaka osnovna boja jednog piksela predstavlja sa osam bitova, onda
je za svaku sliku potrebno 20.000 24 = 4.800.000 bitova. Dvoasovni film bi zahtevao oko
216.000 zasebnih slika, ili 216.000 4.800.000 = 1.0368 1012 bitova, mnogo vie od kapaciteta
jednog DVD-a. Ipak, na DVD staje dvoasovni film.
Oba primera pokazuju da mogu da se zaobidu fizika ogranienja medijuma. Kako? Odgovor je
pomou kompresije podataka, naina da se obavi redukovanje broja bitova u okviru, a da se, pri
tom, zadri znaenje. Na taj nain se smanjuje cena i skrauje vreme prenosa. Kompresija
podataka se koristi u razliitim oblastima, kao to su faks maine, DVD tehnologija i V.42
modemi. Koristi se i prilikom smetanja na disk, a mnogi proizvoai softvera kompresuju svoje
programe na diskovima i CD-ima radi utede prostora.
Sledee logino pitanje je kako eliminisati bitove, a, pri tom, zadrati neophodne informacije. Na
primer, pretpostavite da imate podatke u fajlu koji se u potpunosti sastoji od niza velikih slova.
Ako poaljete fajl e-mailom, koliko e bitova biti preneto? Ako se karakteri smetaju kao 8-bitni
ASCII kodovi, broj prenetih bitova je 8n, gde je n ukupan broj karaktera. Medutim, informacije
koje se alju sadre samo velika slova, tako da nije potreban kompletan 8-bitni ASCII kod.
Moete li da izvedete kod koji predstavlja samo velika slova? Da! U tabeli 5.1 prikazan je 5-bitni
kod nastao pomou brojeva izmedu 0 i 25 (u binarnom obliku). Koriste ovu tabelu, aplikacija
moe da zameni svaki 5-bitni kod originalnim 8-bitnim kodom. Prijemna aplikacija moe da ih
konvertuje nazad. Rezultat je to da se informacije alju i da je broj prenetih bitova 5n - redukcija
od 37,5 odsto.
Nameu se brojna pitanja. ta uiniti ako postoje kontrolni karakteri? ta je sa malim slovima?
ta uiniti ako se u podacima ne nalaze samo slova? Ovo su validna pitanja i na njih moramo da
nademo odgovore. U tabeli 5.1 predstavljen je veoma jednostavan metod kompresije, koji nije
prikladan za mnoge aplikacije. Njegova glavna svrha je da pokae ta je kompresija i ta moe da
se postigne pomou nje.
Slovo Kod
A 00000
B 00001
C 00010
D 00011
.
.
.
X 10111
Y 11000
Z 11001
.
.
.
Postoje brojni naini za kompresovanje podataka. Medutim, bez obzira na korieni metod,
bitno je da se utvrdi da li postoji redundansa u originalnim podacima; ako postoji, treba je
eliminisati. Na primer, u primeru ASCII koda za slova od A do Z redundantnost postoji, jer su
prva tri bita svake kodne kombinacije ista. Redundansa nalae eliminisanje tih bitova i korienje
kodova iz tabele 5.1. Medutim, kao to ete videti, postoji vie tipova redundanse.
5.2 Frekventno zavisni kodovi
ASCII kod i kod iz tabele 5.1 imaju neto zajedniko. Svi karakteri koriste isti broj bitova.
Medutirn, ta ako analiza teksta pokae da se odredeni karakteri ee javljaju? Ovo nije nita
neuobiajeno, jer se neka slova stvarno koriste ee od drugih (faktor uestalosti je razlog zato
ona manje vrede u igrama kao to je Skrebl). Pregledajte nekoliko prethodnih pasusa i
primetiete da se slova e, s, ili t javljaju ee nego z, x, i\[j. Da li bi imalo smisla menjati duinu
koda tako da ee korieni karakteri odgovaraju kraim kodovima - da imaju manje bitova?
Ovakav kod se naziva i frekventno zavisni kod; za njegov prenos je potreban manji broj bitova.
Hafmanov kod
Primer frekventno zavisnog koda je Hafmanov (Huffman) kod (ref. [hu52]). Na primer,
pretpostavimo da Je u tabeli 5.2 prikazana uestalost karaktera (procenat vremena koliko se
javljaju) u fajlu. Da biste lake kontrolisali primer, pretpostavite da imate samo pet karaktera.
Ako elite, moete da izvedete slian primer sa svih 26 slova.
U tabeli 5.3 prikazan je Hafmanov kod za te karaktere. Primeujete da kaemo Hafmanov kod,
jer, kao to ete pokazati, nije jedinstven. Uskoro emo pokazati kako se razvija.
Zatim, pretpostavimo da je niz bitova 01110001110110110111 bio kodiran Hafmanovim
kodom. Ako Je najpre prenet krajnji levi bit, kako se interpretira? Kodovi fiksne duine imaju
prednost. U okviru prenosa uvek znamo gde se jedan karakter zavrava i gde sledei poinje.
Slovo
Uestalost (%)
A
B
C
D
E
25
15
10
20
30
Sovo Uestalost (%)
A
B
C
D
E
01
110
111
10
00
Na primer, kod prenosa ASCII-kodiranih karaktera svaki skup od po osam bitova definie novi
karakter. Ovo nije sluaj kod Hafmanovog koda, pa kako onda da se interpretira niz bitova kodi-
ran Hafmanovim kodom? Kako znamo gde se jedno slovo zavrava, a gde sledee poinje?
Odgovor lei u svojstvu Hafmanovih kodova koje je poznato kao no-prefix svojstvo - kod jednog
karaktera nikada ne moe da se koristi kao prefiks drugog koda. Na primer, Hafmanov kod za A
je 01, tako da ni jedan kod ne poinje sa 01.
Na slici 5.1 prikazano je kako se interpretira string kodiran Hafmanovim kodom. Dok se bitovi pri-
maju, uredaj kreira podstring nadovezivanjem. Zaustavlja se kada podstring odgovara podstringu 01,
to znai da je A prvi karakter koji je poslat. Da bi bio naden sledei karakter, odbacuje se tekui string
i poinje kreiranje novog sa prijemom svakog se kada podstring odgovara kodiranom karakteru.
sledeeg bita. U ovom sluaju sledea tri bita (110) odgovaraju karakteru B. Napomenimo da string
ne odgovara ni jednom Hafmanovom kodu sve dok se ne prime tri bita. Ovo je posledica no-prefix
svojstva. Ureaj nastavlja u ovom "maniru" sve dok se ne prime svi bitovi. Podaci sa slike 5.1 sadre
string ABECADBC.
" Sledei koraci pokazuju kako se kreira Hafmanov kod.
1. Svakom karakteru se dodeljuje binarno stablo koje se sastoji samo iz jednog vora.
Svakom stablu je dodeljena uestalost pojavljivanja karaktera, koju nazivamo teina
stabla (tree's weight).
2. Potraite dva najlaka stabla. Ako ih ima vie od dva, izaberite bilo koja dva. Spojite ih
u jedno sa novim korenom, ije levo i desno podstablo odgovara ranijim stablima.
Dodelite sumu teina spojenih stabala kao sumu novog stabla.
3. Ponovite sledei korak sve dok ne budete imali samo jedno stablo.
SLIKA 5.1 Prijem i interpretiranje poruke kodirane Hafmanovim kodom
Prvi poslati
karakter
Poslednji poslati
karakter
Prenos niza bitova
SLIKA 5.2 Spajanje Hafmanovih stabala
Kada se stablo kompletira, svi originalni vorovi predstavljaju listove u fmalnom binarnom sta-
blu. Kao i kod bilo kog binarnog stabla, postoji jedinstvena putanja od korena do lista. Za svaki
list putanja do njega definie Hafmanov kod. Putanja se odreuje tako to se dodeljuje 0 svaki
put kada se sledi levi pokaziva i 1 za svaki desni pokaziva.
Na slici 5.2 (delovi od a do e) prikazana je konstrukcija Hafmanovog koda u tabeli 5.3, a na slici
5.2a prikazano je jedno stablo sa pet samostalnih vorova sa njihovim teinama. Stabla za slova
B i C imaju manje teine, tako da se njihovim spajanjem dobija rezultat sa slike 5.2b. Kod
dmgog spajanja postoje dve mogudhosti: spajanje novog stabla sa D, ili spajanje A sa D. U ovom
sluaju proizvoljno biramo prvo spajanje; rezultat je prikazan na slici 5.2c. Nastavljajui na ovaj
nain, eventualno dobijate stablo kao na slici 5.2e. Kod njega moete da vidite da su svakom
levom i desnom pokazivau dodeljene O i 1 . Praenjem pokazivaa do vora lista dobija se
Hafmanov kod za pridrueni karakter. Na primer, praenjem levog (0) pokazivaa, pa desnog
(1), dolazimo do lista vora A. Ovo je konzistentno sa Hafmanovim kodom 01 za slovo A.
Teine:
A B C D E
.25 .15 .10 .20 .30
(a) Inicijaino stablo
Teine:
A B C D E
.25 .25 .20 .30
(b) Nakon jednog spajanja
A B C E
Teine:
.25 .45 .30
(c) Nakon dva spajanja
D
E A B c
Teine:
.55 .45
(d) Nakon tri spajanja
D
(e) Nakon etiri spajanja
B C
E A D
Aritmetika kompresija
Sledei primer metoda za kompresovanje podataka koji generie frekventno zavisni kod je
aritmetika kompresija, koja je zasnovana na interpretiranju stringa kao jednog realnog broja.
Ovo nije neuobiajen koncept; na primer, mogli bismo da interpretiramo Hafmanovim kodom
kodirane nule i jedinice u stringu kao bitsku reprezentaciju za veoma veliki ceo broj. Vie
karaktera u stringu znai vie bitova i, samim, tim vei broj.
Aritmetika kompresija funkcionie tako to se defmie asocijacija izmeu stringa karaktera i
realnog broja izmeu 0 i 1. Poto postoji beskonano mnogo brojeva izmedu 0 i 1 i beskonano
mnogo stringova,* moemo da definiemo algoritam koji pridruuje realni broj bilo kom
stringu.
Ilustracije radi, koristiemo ista slova i uestalost koji su bili korieni u prethodnom primeru za
Hafmanov kod. Razlika je u tome to dodeljujemo opseg brojeva (podinterval intervala [0, 1 ]) na
osnovu uestalosti pojavljivanja svakog karaktera. Duina podintervala odgovara uestalosti simbo-
la. U tabeli 5.4 prikazano je kako ovo funkcionie. Slovo A ima uestalost pojavljivanja 25 odsto i
dodeljujemo mu interval [0, 0.25 ]. Ovo predstavlja 25 odsto intervala i duine je 0.25. Zatim, poto
B ima uestalost 15 odsto, dodeljujemo mu sledeih 15 odsto intervala (nakon
podintervala [0, 0.25]). Dakle, podinterval [0.25, 0.40], duine0.15, odgovara slovu B. Poto C ima
uestalost pojavljivanja 10 odsto, dodeljuje mu se sledeih 10 odsto, to odgovara
podintervalu [0.40, 0.50], duine 0.10. Pratei ovaj ablon, dodeljujemo sledeih 20 odsto
intervala slovu D i preostalih 30 odsto slovu E. Poto je suma uestalosti 100 odsto, ukupna suma
podintervala je 1. Osim toga, kolekcija podintervala kompletao "pokriva" originalni interval [0, 1 ].
Kako ovo moe da pomogne u naem sluaju? Pretpostavite da imate string karaktera. Osnovna
ideja je u sledeem.
1. Startujte od intervala [x, y] = [0, 1 ].
2. Pogledajte prvi karakter i utvrdite odgovarajui podinterval od [x, y ], koji se zasniva
na uestalosti karaktera.
* Oni koji bolje poznaju matematiku moda znaju da postoje razliiti nivoi beskonanosti. U stvari, prema nekim
merenjima, postoji mnogo vie vrednosti izmedu 0 i 1 nego to ima stringova karaktera.
Slovo Uestalost (%) Podinterval [p, q]
A
B
C
D
E
25
15
10
20
30
[0, 0.25]
[0.25,0.40]
[0.4, 0.5 ]
[0.5, 0.7]
[0.7, 1.0]
3. Redefiniite interval [x, y] koji e predstavljati taj podinterval, tj. smanjite [x, y],
4. Ispitajte sledei karakter i ponovo utvrdite odgovarajui podinterval [x, y], u zavisnos-
ti od uestalosti karaktera. Ovo je identino onome to ste uradili u koraku 2, osim to
sada radite sa manjim intervalom [x, y], umesto sa [0, I ] .
5. Ponovljamo korake 3 i 4 za svaki karakter u stringu.
Verovatno je najbitniji korak izraunavanje novog intervala na osnovu starog, uzimajui
vrednosti za p i q (videti tabelu 5.4). Osnovna ideja je predstavljena na slici 5.3. Poinjemo od
intervala [x, y] irine w = y - x. Zatim, postoje podintervali zasnovani na p i q za svaki karakter.
Vrednosti p i q predstavljaju procenat rastojanja od x do y. Nakon toga se za novu vrednost za x
postavjja vrednost p, a za y vrednost cj. Dalde, pretpostavimo da je [x, y ] = [0.3, 0.9 ], w = 0.9 - 0.3
= 0.6 i da je [p, q] = [0.25, 0.50 ]. Nova vrednost za x je 25 odsto rastojanja od tekue vrednosti x
ka y. Drugim reima, sledea vrednost x = tekua vrednost za x + w p = 0.3 + 0.6 0.25 = 0.45. Nova
vrednost za y = tekuca vrednost za x + w q = 0.3 + 0.6 0.5 = 0.6. Sledei nain na koji ovo moe
da se zamisli je da se pretpostavi da 0.45 iznosi 25 odsto rastojanja od 0.3 do 0.9, a da 0.6 predstavlja
50 odsto rastojanja od 0.3 do 0.9.
U osnovi, ovaj proces opisuje generisanje podintervala sa manjom duinom. Osim toga, podinte-
rvali na jedinstven nain zavise od karaktera u stringu i uestalosti njihovog pojavljivanja. to je vei
broj karaktera u stringu, to su podintervali manji (oni se smanjuju sa svakim novim karakterom u
stringu). Kada se obradi poslednji karakter u stringu, birajte realni broj u finalnom intervalu (na
primer, sredinju taku). Birajte bitsku reprezentaciju tog broja, a to je kompresovani kod.
Vreme je za primer. Pretpostavimo da vae uestalosti iz tabele 5.4 i da se koristi string CABA-
CADA. Na slici 5.4 i u tabeli 5.5 prikazano je prvih nekoliko koraka procesa. Koristei izrauna-
vanja koja smo prethodno naveli, generiete sledeu sekvencu intervala: [0, 1 ], [0.4, 0.5], [0.4,
0.425], [0.40625, 0.41], [0.40625, 0.4071875] i [0.406625, 04067187], Trebalo bi da
uklopite vrednosti iz svakog koraka na slici sa odgovarajuim koracima u tabeli i da potvrdite da
su tane. Jo uvek nismo proli kroz ceo string, tako da moete sami da izvebate ostatak.
Pretpostavite da ste se zaustavili nakon petog koraka. Onda moete da izaberete bilo koji broj iz
intervala [0.406625, 04067187], kao, na primer, 0.4067, za predstavljanje stringa CABAC.
Kako sada obrnuti proces? Osnovna ideja je da se najpre utvrdi u kom delu intervala [0, 1 ] se
nalazi broj. Tako se utvrduje prvi karakter u stringu. Na primer, pretpostavite da ste predstavili
broj N = 0.4067 i da znate samo sadraj tabele 5.4.
SLIKA 5.3 Utvrivdnje novog intervala na omovu starog
x + w p = 0.3 + 0.6 0.25 = 0.45
zavisi od p (0.25) i
q (0.50) x + w q = 0.3 + 0.6 0.5 = 0.6
Uoavamo da se nalazi u intervalu [0.4, 0.5]. To znai da je prvi korak u procesu kompresije
morao da pone intervalom [0.4, 0.5]. Dakle, prvi karakter je bio C, a svi ostali su morali da
imaju broj iz nekog drugog podintervala. Kuda idemo dalje?
U tabeli 5.6 dati su koraci procesa dekompresije. Sada treba da utvrdite u kom delu intervala [0.4,
0.5] se nalazi vrednost N. Tako ete utvrditi sleded karakter. Primeujete da je N mnogo blie 0.4
nego 0.5. Koliko blie? Da biste to izraunali, oduzmite p od N, ime se dobija 0.0067 (korak 1 u
tabeli 5.6), i podelite to irinom intervala, tako da se dobija 0.067. To ukazuje da N iznosi samo 6,7
odsto rastojanja od p do cj. Ako ovo uporedite sa moguim [p, cj ] intervalima, videete da se vrednost
nalazi u prvoj etvrtini intervala [0.4, 0.5 ]. Drugim reima, drugi korak procesa kompresije je morao
da koristi [p, q] = [0, 0.25 ], to znai da Je drugi karakter morao da bude A.
U kom delu intervala [0, 0.25 ] se nalazi 0.067? Izgleda da je na etvrtini puta od 0 do 0.25, ali
treba da budete malo precizniji. Izvodei ista izraunavanja kao i malopre, oduzimajui p = 0 od
N = 0.067 da bi se dobilo 0.067 i delei sa irinom intervala 0.25, dobija se 0.268, to znai da
se N = 0.067 nalazi na oko 26,8 odsto rastojanja od p = 0 do q = 0.25. Na taj nain, trei korak
procesa kompresije pokazuje da se mora koristiti interval [0.25, 0.40], odnosno da je trei
karakter bio B.
SLIKA 5.4 Intervali kod aritmetikog kodiranja
korak I: C
korak 2: A
korak3: B
korak 4: A
zavisi od p = O
i q = 0.25
zavisi od p = 0.25
i q = 0.40
zavisi od p = 0.4
i q = 0.5
zavisi od p = 0
i q = 0.25
0

+

1


0
.
5

=

0
.
5

0
.
4

+

0
.
1


0
.
2
5

=
0
.
4
2
5

0
.
4

+

0
.
0
2
5


0
.
4

=

0
.
4
1

0
.
4
0
6
2
5

+

0
.
0
0
3
7
5


0
.
2
5

=

0
.
4
0
7
1
8
7
5

0
.
4
0
6
2
5

+

0
.
0
0
0
9
3
7
5


0
.
5

=

0
.
4
0
6
7
1
8
7

0

+

1

x

0
.
4

=

0
.
4

0
.
4

+

0
.
1


0

=

0
.
4

0
.
4

+
0
.
0
2
5


0
.
2
5

=

0
.
4
0
6
2
5

0
.
4
0
6
2
5

+

0
.
0
0
3
7
5


0

=

0
.
4
0
6
2
5

0
.
4
0
6
2
5

+

0
.
0
0
0
9
3
7
5


0
.
4
0

=

0
.
4
0
6
6
2
5

1
.
0

0
.
1

0
.
0
2
5

0
.
0
0
3
7
5

0
.
0
0
0
9
3
7
5

[
0
.
4
,

0
.
5
]

[
0
,

0
.
2
5

]

[
0
.
2
5
,
0
.
4
0
]

[
0
,
0
.
2
5
]

[
0
.
4
,
0
.
5
]

[
0
,

1
]

[
0
.
4
,

0
.
5

]

[
0
.
4
,
0
.
4
2
5
]

`

[
0
.
4
0
6
2
5
,
0
.
4
1

]

[
0
.
4
0
6
2
5
,
0
.
4
0
7
1
8
7
5
]

C

A

B

A

C

`
C

C
A

C
A
B

C
A
B
A

1

2

3

4

5

I
z
r
a

u
n
a
v
a
n
j
e

z
a

n
o
v
o

y

(
y

=

x

+

w


q
)

I
z
r
a

u
n
a
v
a
n
j
e

z
a

n
o
v
o

x

(
x

=

x

+

w


p
)

i
r
i
n
a

i
n
t
e
r
v
a
l
a

(
w

=

y

-

x
)

[
p
,
q
]

T
e
k
u

i

i
n
t
e
r
v
a
l

[
x
,

y
]

S
l
e
d
e

i

k
a
r
a
k
t
e
r

S
t
r
i
n
g

K
o
r
a
k

Ako nastavite na ovaj nain, dobijate da je etvrti karakter bio A, a peti C (videti tabelu 5.6).
Zajednikim postavljanjem karaktera koje ste generisali dobijate string CABAC, tano ono to je
generisala i tabela 5.5.
Postoji jedan manji problem kod ovog metoda - kada treba da se zaustavite. Kada se vri dekompre-
sija, sve to predstavljate je broj i slino onome to se nalazi u tabeli 5.4. Da ste izveli algoritam
kompresije jo nekoliko koraka dalje, generisali biste manji interval u kome bi se naao broj 0.4067.
Ne postoji nita to bi ukazalo da se treba zaustaviti u odredenoj taki.
Algoritmi aritmetike kompresije obino reavaju ovaj problem dodavanjem jednog karaktera,
terminalnog karaktera, na kraj originalnog stringa. Tretira se kao i ostali karakteri. Meutim, kada
se generie za vreme kompresije, proces se zaustavlja. Ovo je slino kompresovanju reenica
promenljive duine, jedne po jedne, kada se zaustavljamo u sluaju da se generie taka.
Postoji jo neto to treba da istaknemo. Jednostavno smo opisali kako da pridruimo realan broj
stringu. Poto smo pretpostavili da e string biti kompresovan, moramo da se zapitamo kako je
ovo povezano sa uzorcima bitova. Odgovor lei u metodima koji se koriste za smetanje realnih
brojeva. Ovde neemo navoditi raspravu o uzorcima bitova za brojeve u pokretnom zarezu; ako
Vas interesuju detalji, pogledajte referencu [St03], Glavna ideja je da se bilo koji realni broj
izmedu 0 i 1 moe predstaviti sa preciznou od sedam cifara pomou 32-bitne reprezentacije.
Na osnovu tabele 5.5, svaki broj iz intervala [0.406625, 0.4067187 ] lako moe da se predstavi
sa eljenom tanou pomou 32 bita. U stvari, mogli bismo da obradimo jo nekoliko
karaktera, a da se i dalje koristi 32-bitna reprezentacija.
Medutim, da je string bio dui, subintervali bi bili manji nego to je potrebno za tanost od sedam
cifara. U ovom sluaju je potrebna proirena preciznost. Detalji bi bili prildadniji za knjigu o organi-
zaciji kompjutera, ali mogue je pokazati da bilo koji broj izmeu 0 i 1 moe da se predstavi uz
preciznost od 16 decimalnih mesta pomou 64 bita. Ako 16 cifara nije dovoljno, onda bismo mogli
da predemo na sledei nivo.
U optem sluaju, interval [x, y] postaje manji dok se broj karaktera poveava. Osim toga,
postoje procedure koje mogu da aproksirniraju bilo koji realni broj do odredene tanosti ako se
koristi dovoljan broj bitova.
Korak N Interval [p, q] irina Karakter N- p Podeljeno
sa irinom
1 0.4067 [0.4, 0.5 ] 0.10 C 0.0067 0.067
2 0.067 [0,0.25] 0.25 A 0.067 0.268
3 0.268 [0.25, 0.40] 0.15 B 0.018 0.12
4 0.12 [0,0.25] 0.25 A 0.12 0.48
5 0.48 [0.4, 0.5] 0.10 C 0.08 0.8
Nizovi istog bita
Postoji nekoliko naina za implementaciju run-length kodiranja. Prvi je posebno koristan kod
binamih stringova, kod kojih se u veini nizova javlja isti bit. U primeru stringa koji se prenosi
preko faksa imamo string koji je sastavljen prvenstveno od karaktera i zato e postojati dugaki
nizovi 0 (uz pretpostavku da 0 odgovara svetlim mestima). Ovaj pristup podrazumeva slanje
duine svakog niza u vidu binarno izraenog celog broja fiksne duine. Prijemni uredaj prihvata
duinu svakog niza i generie ogovarajui broj bitova u nizu, umeui drugi bil izmedu tih
nizova.
Na primer, pretpostavimo da se za predstavljanje duine niza koriste grupe od po etiri bita.
Razmotrimo niz sa slike 5.5a. Na slici 5.5b prikazan je poslati kompresovani string.
binami nizovi fiksne duine 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 1 1
decimalniniz 14 9 0 15 5 15 15 0 0 11
(b) Run-length kodirani string
SLIKA 5.5 String pre kompresije i nakon run-length kodiranja
(a) String pre kompresovanja
nema 0
nema 0
90 bitova
binarni string
broj 0 U nizu
Hafmanovi kodovi redukuju broj bitova koji se alju, ali je kod njih neophodno znati vrednost
uestalosti pojavljivanja. Kao to smo opisali, kod njih je pretpostavljeno da su bitovi grupisani
u karaktere, ili neke druge jedinice koje se ponavljaju. Mnogi elementi koji putuju preko
komunikacionog medijuma, ukljuujud'binarne (mainski kodirane) fajlove, podatke koji se
alju faksom i video signale, ne ubrajaju se u tu kategoriju.
Na primer, bitovi koji se prenose preko faksa odgovaraju rasporedu svetlih i tamnih oblasti na
paretu papira. Nema direktnog prenosa karaktera. Zbog toga, postoji potreba za optijom
tehnikom koja moe da kompresuje proizvoljne nizove bitova. Jedan pristup, poznat pod
nazivom run-length kodiranje, koristi jednostavan i oigledan koncept: niz bitova se analizira da
bi se pronali dugaki nizovi nula ili, jedinica. Umesto svi bitovi, alje se samo njihov broj u nizu.
Ova tehnika je posebno korisna prilikom prenosa podataka pornou faksa. Ako paljivije
prouite prostor na kome je otkucan jedan karakter, videete da je 70 do 80 odsto prostora bele
boje. Naravno, tana koliina zavisi od fonta i samog karaktera. Konkretna tamna mesta
otkucanog karaktera uestvuju sa veoma malim procentom u prenosu pomou faksa. Na primer,
primetiete koliinu belog prostora kod uveane reprezentacije malog slova / na jednoj
tampanoj poziciji.
5.3 Run-Length kodiranje
Originalni string poinje sa 14 nula, tako da su prva etiri bita kompresovanog stringa 1110
(binarno 14). Sledea etiri bita u kompresovanom stringu su 1001 (binarno 9 za sledei niz od
devet 0). Nakon drugog niza postoje dve uzastopne jedinice. Meutim, kod ovog pristupa
smatra se da izmedu uzastopnih jedinica postoji niz bez nula. Zato se u treoj grupi od etiri bita
koristi kombinacija 0000.
U etvrtom nizu postoji 20 nula. Medutim, broj 20 ne moe binarno da se predstavi sa etiri bita.
Il tom sluaju, koristi se jo jedna grupa od etiri bita. Dva 4-bitna broja se nakon toga sabiraju
i dobija se ukupna duina niza. Na slici 5.5b 1111 (binarno 15) i 0101 (binarno 5) odreuju niz
duine 20.
Ako je duina niza suvie velika da bi se izrazila kao suma dve 4-bitne grupe, koristi se onoliko
grupa koliko je potrebno za definisanje te sume. Prijemni uredaj mora da zna da grupa sa svim
jedinicama ukazuje da iza nje sledi jo jedna grupa koja defmie duinu niza. Tako se nastavlja
sumiranje sve dok se ne doe do grupe u kojoj se ne nalaze sve jedinice. Na primer, niz duine
30 je predstavljen sa 1111, 1111 i 0000. U ovom sluaju je neophodna grupa sa svim nulama da
bi se ureaju "saoptilo" da se niz zavrava nakon 30 nula.
Kako bi izgledao kompresovani string da je originalni string sa slike 5.5a poeo jedinicom? Slino
sluaju sa dve uzastopne jedinice, metod "smatra" da string poinje nizom nula duine 0. Dakle,
prva etiri bita su 0000.
Ova tehnika je najefikasnija kada postoji veliki broj dugakih nizova 0. Kako se poveava
uestalost pojavljivanja jedinica, tako se smanjuje efikasnost ovog metoda. U stvari, mogue je
iskoristiti ovaj princip za kodiranje dugakih nizova nekog drugog karaktera.
Nizovi sa razliitim karakterima
Ako znate da se u stringu esto javlja isti bit, okolnosti se pojednostavljuju, jer je potrebno slati
samo duinu niza. Sta je sa sluajevima kada postoje nizovi razliitih bitova, ili, ak, karaktera?
Verovatno pretpostavljate reenje za te sluajeve: alje se konkretni karakter, zajedno sa duinom
njegovog niza. Na primer, string
HHHHHHHUFFFFFFFFFFFFFFYYYYYYYYYYYYYYYYYYYYDGGGGGGGGGGG
moe da se prenese naizmeninim slanjem broja pojavljivanja u nizu i karaktera 7, H, 1, U, 14,
F, 20, Y, 1,Di 11, G.
Dui niz godina (pre pojave WinZipa i Interneta) jedan od najee korienih primera korienja
kompresije bio je prenos podataka pomou faksa. U odeljku 4.2 opisan je osnovni princip rada
faks maine koja skenira stranicu i kreira bit mapiranu reprezentaciju slike sa papira. U optem
sluaju, crno-bela slika je sastavljena od velikog broja piksela, koji predstavljaju bele i crne take
na stranici. U stvari, ITU je defmisao operacione standarde za razliite grupe maina. Ovde se
neemo baviti razlikama izmedu tih grupa, ve emo se fokusirati na eme kompresije da bismo
se nadovezali na prethodnu raspravu. Oni koji su zainteresovani za detaljniju diskusiju mogu da
pogledaju reference [SaOO], [HaOl], [Ho97] i [He96].
Faksimil kompresija
Za nau diskusiju relevantna su dva ITU standarda - T.4 i T.6, koji defmiu kompresiju za ono to
nazivamo mainama Grupe 3 i Grupe 4. U osnovi, to su maine koje koriste digitalne metode za
prenos slika preko telefonske mree. Iako su mogue razliite veliine stranica, mi emo se
fokusirati samo na A4 dokumente, tj. stranice veliine 210x297 mm.
A4 dokument sadri 1.728 piksela u svakoj liniji. Ako bismo poslali po jedan bit za svaki piksel,
morali bismo da prenesemo vie od tri miliona bitova za svaku stranicu - to je ogromna koliina
informacija za veoma jednostavne slike. Standardi T.4 i T.6 koriste injenicu da tipina slika sadri
mnogo uzastopnih belih, ili crnih piksela, tako da postoji veliki broj nizova sa uzastopnim nulama,
ili jedinicama. Ovo je defmitivno dobra osnova za korienje run-length kompresije. Ipak, postoje
dve "stvari" koje treba ista. Prvo, duina niza moe da varira izmedu 0 i 1.728, kreirajui razne
mogue kombinacije. Meutim, ovaj metod ispoljava odredenu dozu neefikasnosti prilikom
postavljanja formata za predstavljanje bilo kog broja iz ovog opsega. Drugo, neki nizovi mogu da se
jave sa veoma visokom uestalou pojavljivanja. Na primer, veclna otkucanih stranica sadri
uglavnom bele piksele, rnoda ak 80 odsto, ako ne i vie. Razmak izmedu susednih slova, ili pre
prvogslova u liniji obino je konstantan. I izmeu linija moete da oekujete da nema crnih piksela
- drugim reima, postoje samo dugaki nizovi belih piksela. Posle svake linije teksta moete da oeku-
jete nekoliko linija (u zavisnosti od proreda) od po 1.728 belih piksela.
Krajnji zakljuak je da se kod mnogih faks slika moe predvideti, prilino pouzdano, verovatnoa da
ce se odredeni nizovi pojaviti. Ovo nalae korienje nekog tipa frekventno zavisnog kodiranja koje
se zasniva na duini niza. Standardi T.4 i T.6 za faksimil kompresiju koriste, u stvari, kombinaciju
nizova sa belim i cmim pikselima, potujui frekventno zavisni kod koji je definisan uestalodi
pojavljivanja tih nizova - naziva se modifikovani Hafmanov kod. Pretpostavke i proces se sastoje u
sledeem:
1. Svaka linija sadri naizmenine nizove belih i crnih piksela.
2. Svaka linija poinje nizom belih piksela. Cak i kada se prenosi slika koja ima crne
ivice, proces poznat pod nazivom overscanning dodaje po jedan beli piksel na poetak i
na kraj svake linije.
3. Izraunavaju se kodovi za naizmenine nizove belih i crnih piksela, a zatim se prenose
kodirani bitovi.
U tabeli 5.7 prikazan je podskup kodova koji definiu duine nizova belih i crnih piksela.
Kompletna tabela defmie kod za nizove duine izmedu 0 i 63, zakljuno, i za duine 64, 128,
192, 256 i tako redom. Nakon 64, ITU definie samo kodove za duine koje predstavljaju
umnoak broja 64. Tako se smanjuje ukupan broj potrebnih kodova. Kodovi za nizove ija je
duina manja od 64 nazivaju se konani kodovi [terminating codes), a oni ija je duina umnoak
broja 64 nazivaju se kodovi "doterivanja" (makeup codes). Svaki niz ija je duina manja od 64
piksela kodira se pomou konanog koda. Ako je duina vea od 64 piskela, metod koristi kod
"doterivanja" za najdui niz koji se u potpunosti moe smestiti u originalni niz i konani kod za
preostale bitove.
Na primer, niz koji se sastoji od 50 belih piksela moe da se kodira kao 01010011. Zatim, uzmi-
mo primer niza koji ima 572 bela piksela. On se interpretira kao niz duine 512 piksela, iza koga
slediniz od jo 60 piksela. Pridrueni kod je 01100101-01001011. U ovoj instanci 512 bitova je
kompresovano na 16 bitova, to predstavlja redukciju od skoro 97 odsto.
Naravno, vei broj manjih nizova nee imati toliko veliki procenat kompresije, ali nije
neuobiajeno postii kompresiju od 90 odsto.
Sledi nekoliko opaanja na osnovn tabele 5.7.
Kodovi za nizove belih piksela su krai od nizova crnih piksela, jer su beli nizovi ei.
I za bele i za crne nizove koriste se run-length kodovi sa no-prefix svojstvom.
Kompresija je bolja kod slika sa duim nizovima.
Iako ovo vai i za T.4 i za T.6 standard, postoje razlike izmedu njih. Na primer, ema koju smo
opisali dobro funkcionie za tipine kucane stranice. Obino postoji dovoljno nizova u svakoj
liniji da bi se efikasno iskoristili kodovi za kompresiju. Meutim, ako slika sadri sloene uzorke,
ili je, moda, re o fotografiji, nekoliko dugakih nizova moe da se nae bilo gde na slici, a
ostatak obino ine veoma kratki nizovi. Poto se kratki nizovi kompresuju sa manjim proce-
ntom redukcije, ovaj pristup (bar ovaj koji smo ovde opisali) ne funkcionie ba najbolje.
Alternativa koju je usvojio standard T.6 koristi injenicu da se dve uzastopne linije verovatno ne
razlikuju isuvie. Zbog toga, umesto da se kompresuje svaka linija nezavisno, standard T.6
uspostavlja osnovnu liniju, pa utvrduje razliku izmedu nje i sledee linije. Ako je razlika veoma
mala, sledea linija moe da se kodira sa manjom koliinom dodatnih informacija; tako moe da
se postigne zadovoljavajua kompresija. Poto u sledeem odeljku objanjavamo kompresiju
Konani kodovi
Kodovi "doterivanja"
0
1
2
3
10
20
30
40
50
60
64
128
256
512
768
1024
1280
1536
00110101
000111
0111
1000
00111
0001000
00000011
00101001
01010011
01001011
11011
10010
0110111
01100101
011001101
011010101
011011001
010011001
0000110111
010
11
10
0000100
00001101000
000001101000
000001101100
000001010010
000000101100
0000001111
000011001000
000001011011
0000001101100
000000101100
0000001110100
0000001010010
0000001011010
Broi piksela u nizu Kod: Niz belih piksela Kod: Niz crnih piksela
5.5 Lempel-Ziv kompresija
Kod run-length kodiranja kompresija se postie traenjem dugakih nizova istog karaktera, ili
bita. Ideja je da se redukuje broj ponavljanja, ili redundantnih prenosa. Ali, sve redundantnosti
se ne javljaju u formi ponavljanja jednog bita, ili jednog karaktera. Ovo je est sluaj kod velikih
tekstualnih fajlova, kao to su rukopisi.
Do sada predstavljene tehnike kompresovanja imaju svoju primenu, ali u odredenim sluajevi-
ma nisu mnogo korisne. Uobiajeni primer je prenos video signala, kod kojih slike rnogu da
budu veoma sloene, za razliku od crno-belih slika koje se prenose faksom, ili kada se prenosi
tekstualni fajl. Osim moda manjeg broja probnih uzoraka koji se alju pre nego to se stanica
zvanino pusti u rad, video slike se retko ponavljaju. Zbog toga, ni jedan prethodno opisani
metod "ne obeava" mnogo.
Tipini televizijski signal alje 30 slika u sekundi. Osim toga, svaka slika u optem sluaju ima
samo manje varijacije u poreenju sa prethodnom. U toku jednog delia sekunde ne moe da se
desi mnogo toga. Llmesto da se svaki kadar tretira kao zaseban entitet koji se zasebno kompre-
suje, moemo da razmiljamo u pravcu utvrdivanja razlika u svakom sledeem kadru u odnosu
na prethodni. Kodiranje tih informacija i njihovo slanje ima potencijala kada su razlike male.
Ovaj metod se naziva relativno, ili diferencijalno kodiranje.
Prindp je prilino jednostavan. alje se prvi kadar i smeta se u bafer prijemnika. Nakon toga,
poiljalac poredi drugi kadar sa prvim, kodira razlike i alje ih u formatu okvira. Prijemnik
dobija okvir i primenjuje razlike na kadar koji ima i tako se kreira sledei kadar. Drugi kadar se
smeta u bafer, pa se proces nastavlja za svaki sledei kadar.
Na slici 5.6 pokazano je kako ovo funkcionie. Ovde smo okvir predstavili kao dvodimenzionalni
niz celih brojeva. Ne interpretiramo njihovo znaenje; ovo je jednostavnija reprezentacija Li
poredenju sa crtanjem video signala. Prvi okvir sadri skup celih brojeva, a drugi se malo razlikuje od
prethodnog (obojeni brojevi ukazuju na razlike).
Na slici je prikazan sledei dvodimenzionalni niz ispod drugog okvira, sa nulama (O), jedinicama (1)
i -jedinicama (-1). 0 na bilo kojoj poziciji znai da nema promene u odnosu na prethodni kadar.
Nenulta vrednost ukazuje na promenu. 1 znai da je element na toj poziciji za 1 vei od elementa na
istoj poziciji u prethodnom kadru, a -1 znai da je element manji za 1. Naravno, mogu se koristiti i
druge vrednosti osim I i -1. Poenta je u tome da poslati okvir sadri dugake nizove 0, tako da
predstavlja dobrog "kandidata" za primenu run-length kodiranja.
5.4 Relativno kodiranje
koja se zasniva na utvrdivanju razliitosti, ovde se neemo baviti detaljima. Detaljnije
predstavljanje standarda T.6 moete da pronadete u referenci [SaOO].
5 7 6 2 8 6 6 3 5 6
6 5 7
5
5 6 3 2 4 7
8 4 6 8 5 6 4 8 8 5
5 1
2
9 8 6 5 5
6
6
5 5 2 9 9 6 8 9 5 1
5 7 6 2 8 6 6 3 5 6
6 5 7 6 5 6 3 2 3 7
8 4 6 8 5 6 4 8 8 5
5 1
3
9 8 6 5 5
7
6
5 5 2 9 9 6 8 9 5 1
0 0 0 0 0 0 0 0 0 0
0 0 0
1
0 0 0 0
-1
0
0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
1
0
0 0 0 0 0 0 0 0 0 0
Prvi okvir
Preneti okvir sadri kodirane
razlike izmeu prvog i
drugog okvira.
Drugi okvir
5 7 6 2 8 6 6 3 5 6
6 5
8 6 5 6 3
3
3 7
8 4 6 8 5 6 4 8 8 5
5 1 3 9
7
6 5 5 8 6
5 5 2 9 9 6 8 9 5 1
Trei okvir
0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0
1
0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0
-1
0 0 0
1
0
0 0 0 0 0 0 0 0 0 0
Preneti okvir sadri kodirane
razlike izmedu drugog i
treeg okvira.
SLIKA 5.6 Relativno kodiranje
Autorov stil pisanja esto odreuju rei, ili fraze koje najee upotrebljava. Izvorni kod progra
ma obino ima naziv jedne promenljive (string) koji se esto ponavlja.
Metod Lempel-Ziv kompresije trai stringove koji se esto ponavljaju i smeta ih samo jednom.*
Zatim se sve pojave tog stringa menjaju kodom koji odgovara originalnom stringu. Ovo je jedan
od osnovnih principa za upravljanje bazama podataka: jedan deo informacija se smeta samo na
jednom mestu i referencira se kroz specijalne kodove. Ova tehnika se koristi u UNIX-ovim
komandama za kompresovanje i u V.24bis standardu za kompresovanje za modeme. Osim toga,
GIF (Graphics Interchange Format) fajlovi koriste varijantu Lempel-Ziv kodiranja.
Na primer, razmotrite sledei pisani primer (ref. [Cr90]):
The tropical rain fell in drenching sheets, hammering the corrugated roof of the clinic building,
raoring down the metal gutters, splashing on the ground in a torrent.
Nekoliko slovnih sekvenci se ponavlja. Ignoriui veliinu slova, neka od njih su the, ro i ing.
Zamenimo svaki od ovih stringova specijalnim karakterima i , respektivno. Kompresovani
string u tom sluaju postaje
pical rain fell in drench sheets, hammer corrugated clinic build,
ar down aetal gutters, splash0 on und in a torrent.
Ovaj tekst se ne kompresuje u velikoj meri u poredenju sa originalnim, ali ne moete da oeku
jete mnogo ponavljanja u jednoj reenici. Kompresija u optem sluaju nije veoma efikasna (ili
korisna, u tu svrhu) kada se radi sa kraim primercima.
*U stvari, postoji nekoliko drugaijih Lempel-Ziv ema kompresija. Ove varijacije mogu da se oznae kao Lempel-Ziv,
Lempel-Ziv-Welch, LZW, IZ77, LZ78, ili, ak, Ziv-Lempel. Neemo navoditi razlike izmedu varijacija; ako elite da saznate
vie detalja, moete da konsultujete referencu [Ho97 ].
Kod dueg teksta i veeg broja ponavljanja kompresija se poboljava, jer tipini tekst na
engleskom jeziku ima brojna ponavljanja rei, kao to su the, then, them, their, there i these. Svaki
fajl moe da se smatra sekvencom ASCII definisanih karaktera. Ako fajl sadri brojne sekvence
karaktera koje se esto ponavljaju, onda je "kandidat" za Lempel-Ziv kompresiju.
Znaajna karakteristika ovog metoda je da ne postoje nikakve pretpostavke kako izgleda string koji
se ponavlja, to algoritam ini robustnim i dinaminim. Medutim, na prvi pogled moe da izgleda
kao da ne postoji efikasan nain za implementiranje algoritma, jer traenje sekvenci koje se pona-
vljaju izgleda prilino naporno. Zatim, tu je problem dekompresije. Algoritam kompresije nema
velike koristi ako proces ne moe da se izvede u suprotnom smeru. Kako se vri dekompresija? Ako
smo primili prethodno prikazani string, kako moemo da znamo koje su sekvence slova zamenjene
specijalnim simbolima? Jedna opcija moe da bude slanje tabele simbola u kojoj su prikazani
stringovi koji se ponavljaju zajedno sa kompresovanim tekstom. Naravno, i tim se postupkom deli-
mino umanjuje prvobitna vrednost kompresije.
Ispostavlja se da postoji efikasan nain za identifikovanje stringova koji se esto ponavljaju. Osim
toga, iako moda deluje udno, mogue je utvrditi stringove pridruene specijalnim simbolima
bez njihovog prenosa zajedno sa kompresovanim tekstom. Pokazaemo kako ovo funkcionie
opisivanjem algoritma i kompresije i dekompresije. Ipak, skratiemo primer kompresovanjem
teksta koji se sastoji samo od tri karaktera A, B i C. Da smo radili sa celim alfabetom, bile bi
neophodne stotine koraka da se potpuno razume vrednost kompresije. Ovaj ogranieni primer
zadrava osnovnu logiku na kojoj se algoritam zasniva i izvrava taj zadatak u svega nekoliko
koraka.
Na slici 5.7 prikazani su algoritmi kompresije i dekompresije - reference IWe84] i [DrOl ]. Oni
zadravaju osnovnu logiku, ali ne obezbeuju sve detalje i deklaracije koje su specifine za pro-
gramski jezik C. Algoritam kompresije je zasnovan na sledeim centralnim idejama:
1. Dodeljujete kod za svako slovo, ili karakter koji je deo inicijalnog tekstualnog fajla
(Iinija 3 algoritma kompresije) i smetate ih u kodnu tabelu.
2. Postavlja se petlja i uzima jedan po jedan karakter iz fajla. Koristiemo baferovani
string (inicijalno prvi karakter, linija 4) koji se formira nadovezivanjem karaktera iz
fajla.
3. U svakom prolasku kroz petlju ita se jedan karakter i dodaje se na baferovani string,
tako da se formira novi privremeni string (tempstring, linija 7). Ako je taj privremeni
string ve ranije pronaden (ako se ve nalazi u kodnoj tabeli), privremeni string se
premeta u bafer (linija 10).
4. Ako privremeni string nije pronaden u kodnoj tabeli, njemu se dodeljuje kod, oba se
smetaju u kodnu tabelu (linija 14) i alje se kod pridruen baferovanom stringu
(linija 13). Ovaj kod predstavlja kompresovani ekvivalent stringa. Na kraju, reinicijal-
izuje se baferovani string za jedan karakter koji je upravo proitan (linija 15).
1 void decompress
2 {
3 initialize(code table);
4 receive first code, call it prior;
5 print the string associated with pri
6 while (true)
7 {
8 receive code, call it current; if
code then break;
9 search for current in the code tah
10 if not found
11 {
12 c=1st character of string
associated with prior;
13 tempstring=concat(string
associated vvith prior, c);
14 assign a code to tempstring;
store both in the code table;
15 print tempstring;
16 }
17 else
18 {
19 c=1st character of string
associated with current;
20 tempstring=concat(string
associated With prior, c);
21 assign a code to tempstring;
store both in the code table
22 print string associated with
current
23 }
24 prior=current
25 } //while loop
} //decompress
SLIKA 5.7 Lempel-Ziv algoritmi kompresije i dekompresije
1 void compress (FILE * fileid)
2 {
3 i ni t i al i ze(code t abl e);
4 buffer=string oonsisting
of first character from the file
5 while ( (c=getc(fileid)) != EOF)
6 {
7 tempstring=concat(buffer, c);
8 search for tempstring in the
code table;
9 if found
10 buffer = tempstring;
11 else
12 {
13 send the code associated
with buffer;
14 assign a code to tempstring;
store both in the code table;
15 buffer=string consisting of
one character c;
16 }
17 } //while loop
18 send the code associated
with buffer;
19 } //compress
20
21
22
23
24
25
Kompresija Dekotnpresija
Pogledajmo kako ovaj algoritam funkcionie na konkretnom primeru. Pretpostavimo da su
karakteri iz fajla itani sledeim redosledom
ABABABCBABABABCBABABABCBA
U tabeli 5.8 prikazane su vrednosti relevantnih promenljivih i koje su akcije preduzete u svakom
koraku, a u tabeli 5.9 rezultati kodne tabele nakon kompletiranja algoritma kompresije.
Inicijalno, kodna tabela sadri samo tri ulaza A, B i C, kojima su pridrueni kodovi 0, 1 i 2,
respektivno. Dok algoritam dodaje nove stringove u kodnu tabelu, pretpostavljamo da kreira
sukcesivne kodove, poevi od 3, za svaki novi dodati string. Dok budete izvodili svaki sledei
korak, imajte na umu da je tempstring baferovani string kome je dodato slovo c.
Kada korak I algoritma bude traio AB u kodnoj tabli, nee uspeti da nade traenu kombinaciju. Salje
kod za baferovani string A (0) i smeta AB (kod = 3) u kodnu tabelu; definie se novi baferovani string
kao B. Korak 2 trai BA u kodnoj tabeli i ne uspeva da ga pronade. Salje kod za B (1), smeta BA (kod
= 4} u kodnu tabelu i definie baferovani string kao A.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
A
B
A
AB
A
AB
C
B
BA
B
BA
BAB
A
AB
ABC
B
BA
BAB
BABA
B
A
B
A
B
C
B
A
B
A
B
A
B
C
B
A
B
A
B
0 (kod za A)
1 (kod za B)
3 (kod za AB)
3 (kod za AB)
2 (kod za C)
4 (kod za BA)
8 (kod za BAB)
6 (kod za ABC)
9 (kod za BABA)
AB (kod = 3)
BA (kod = 4)
ABA (kod = 5)
ABC (kod = 6)
CB (kod = 7)
BAB (kod = 8)
BABA (kod = 9)
ABCB (kod= 10)
BABAB (kod= 11)
B
A
AB
A
AB
C
B
BA
B
BA
BAB
A
AB
ABC
B
BA
BAB
BABA
B
Prolazak ta je ta je smeteno Nova vrednost
kroz petlju Bafer C poslato u tabelu u baferu
Strine AB C AB BA ABA ABC CB BAB BABA ABCB BABAB BABC CBA
Kod 0 1 2 3 4 5 6 7 8 9 10 11 12 13
Ulazni string: ABABABCBABABABCBABABABCBA
Preneti kod: 0 1 3 3 2 4 8 6 9 8 7 0
Korak 3 trai AB u kodnoj tabeli i pronalazi. Nita se ne alje, a novi baferovani string je AB. Korak
4 algoritma trai ABA u kodnoj tabeli i ne uspeva da pronae. Salje kod za baferovani string AB
(3), smeta ABA (kod = 5) u kodnu tabelu, pa definie novi baferovani string kao A.
Ovaj proces se nastavlja i u kodnu tabelu se smeta novi string. Osim toga, privremeni stringovi
se sve ee pronalaze u kodnoj tabeli i sve rede se inicira prenos. Zbog ovoga, baferovani string
postaje dui, a kada ne uspe da pronae traenu kombinaciju u tabeli, preneti kod odgovara
duem stringu. Rezultat je bolja kompresija. U tabeli 5.8 nije prikazano nekoliko zadnjih koraka
algoritma; ostavljamo ih Vama da ih provebate.
Sledei korak je opisivanje algoritma dekompresije. Zapamtite da algoritam dekompresije mora
da radi sa inicijalnom kodnom tabelom karaktera (u naem sluaju, kodna tabela se sastoji od A,
B i C, sa kodovima 0, 1 i 2) i dolazeim kodnim vrednostima. U naem primeru ulaz algoritma
dekompresije je sekvenca 0 1 3 3 2 4 8 6 9 8 7 0. Pokazaemo da e njegov izlaz biti isti kao i
originalni string, koji je korien kao ulaz algoritma kompresije. Poseban kvalitet algoritma
dekompresije je u tome to moe da rekonstruie istu kodnu tabelu na osnovu ovih ogranienih
informacija. Pogledajmo kako ovo funkcionie u prvih nekoliko koraka. Sledei pasus proitajte
polako i paljivo, detaljno prouavajui reference na algoritme koji su naznaeni u tabeli.
Inicijalno, algoritam dekompresije prima kod i naziva ga pr i or (linija 4 na slici 5.7). tampa
string koji je pridruen uz prior, koji pronalazi u kodnoj tabeli (linija 5). U ovom sluaju prior
je 0 i tampa se slovo A. Nakon toga, algoritam ulazi u petlju. U tabeli 5.10 prikazane su
relevantne vrednosti u svakom prolasku kroz petlju i ta se tampa. U prvom prolasku algoritam
prima tekui kod 1 (linija 8 na slici 5.7). Tekui kod je u kodnoj tabeli, tako da algoritam izvrava
linije 19 do 22, smetajui AB/3 kao par tempstring/kod u kodnu tabelu i tampa string
pridruen tekuem kodu (B). Primeujete da su, kao i kod kompresije, kodne vrednosti dodelji-
vane sukcesivno, poevi od 3. U drugom prolasku kod za pri or je 1, a novi tekui kod je 3.
Tekui kod je u kodnoj tabeli (nakon prvog prolaska), tako da algoritam ponovo izvrava linije
19 do 22. U kodnu tabelu smeta BA/4 kao par tempstring/kod i tampa string pridruen
tekuem kodu (AB). U treem prolasku kod za prior je 3 i novi tekui kod je ponovo 3. Tekui
kod se ve nalazi u kodnoj tabeli, tako da algoritam ponovo izvrava linije 19 do 22. U kodnu
tabelu smeta ABA/5 kao par tempstring/kod i tampa string pridruen tekuem kodu (AB).
Prolazak Da li je kod Par ta se tampa
kroz Prior Current trenutno u tempstring/ (current, ili
petlju (string) (string) tabeli? C kod tempstring)
1
2
3
4
5
6
7
8
9
10
11
0(A)
1 (B)
3(AB)
3(AB)
2(C)
4(BA)
8 (BAB)
6 (ABC)
9 (BABA)
8 (BAB)
7(CB)
l(B)
3 (AB)
3(AB)
2(C)
4(BA)
8
6 (ABC)
9 (BABA)
8 (BAB)
7(CB)
0(A)
Da
Da
Da
Da
Da
Ne
Da
Da
Da
Da
Da
B
A
A
C
B
B
A
B
B
C
A
AB/3
BA/4
ABA/5
ABC/6
CB/7
BAB/8
BABA/9
ABCB/10
BABAB/11
BABC/12
CBA/13
B (current)
AB (current)
AB (current)
C (current)
BA (current)
BAB (tempstring)
ABC (current)
BABA (current)
BAB (current)
CB (current)
A (current)
Preostali koraci se izvode na slian nain. Ovde je znaajno istai nain na koji se kodna tabela
konstruie. Poreenje onoga to je smeteno u kodnu tabelu sa onim to je tu smestio algoritam
kompresije (tabela 5.8) pokazuje da je kodna tabela formirana na isti nain. Zato se kodnom
tabelom stvaraju isti stringovi i kod se dekompresuje. Kao to moete da vidite, iza prvog
odtampanog slova (A) slede odtampana slova iz poslednje kolone tabele 5.10, koja odgovara-
ju inicijalnom stringu.
Kao finalnu napomenu, pokazali smo kodnu tabelu kao dvodimenzionalnu tabelu, sugeriui
korienje linearnih pretraivanja kada se trae kodovi i stringovi. Ovo e u optem sluaju
smanjiti efikasnost oba algoritma u znaajnoj meri. Umesto tabele, bolje je koristiti strukturu
podataka, zasnovanu na principu renika, kod koje se pretraivanja mogu izvesti mnogo
efikasnije. U stvari, Lempel-Ziv algoritmi predstavljaju primere opte klase algoritama koji se
nazivaju algoritmi kompresije zasnovani na renicima. Mi ovde nismo koristili strukturu podata
ka iz renika, jer to pripada kursu o strukturama podataka; detalji bi premaili planirani obim
predstavljanja Lempel-Ziv algoritma. Ako elite da saznate vie detalja o strukturama podataka
zasnovanim na principima renika, pogledajte referencu [DrOl ].
5.6 Kompresija slika
Reprezentacija slika
Izuzetan napredak u poslednjih nekoliko godina ostvaren je u integraciji multimedijalnih
aplikadja i kompjuterskih programa i mrea. Pomou jednog klika miem moemo da pristupi-
mo fotografijama, uvenim umetnikim slikama koje su izloene u Luvru, pa, ak, i filmskim
insertima sa Interneta, ili CD-ROM-a. Iako prenos slika na prvi pogled moe da deluje kao samo
mali korak napred u odnosu na prenos rei i reenica, multimedijalne aplikacije jednostavno ne
bi bile izvodljive bez nekih veoma sofisticiranih algoritama kompresije.
U ovom i narednom odeljku obradili smo dva popularna metoda kompresije koji se koriste
prilikom prenosa i skladitenja vizuelnih slika. Prikazaemo kako se jedna vizuelna slika poput
fotografije moe kompresovati, a zatim prelazimo na video, koji, u sutini, predstavlja niz
nepokretnih slika prikazanih velikom brzinom tako da se stvori oseaj kretanja, Medutim, pre
nego to preemo na metode kompresije, najpre moramo da predstavimo nain na koji se
vizuelne slike mogu smetati i zato je kompresija neophodna.
Slike, bilo da je re o fotografijama, ili slikama generisanim na kompjuterskom ekranu, sainjene
su od velikog broja veoma malih taaka. Ove take se nazivaju jo i elementi slike, ili pikseli. Ako
je slika izradena u visokom kvalitetu, verovatno neete moi da vidite ove take ako ne
primaknete nos sasviro uz ekran, ili ako ne koristite lupu. One su veoma gusto pakovane, tako da
nervni senzori u naim oima ne mogu da ih razaznaju. Kod slika izraenih sa loijim kvalitetom
take mogu da se uoe. Na primer, pogledajte paljivo fotografiju u novinama i moi ete da raza-
znate individualne take. Ako udaljite sliku, take e poeti da se spajaju i slika e izgledati kao
kompaktna celina. Ovo bi moglo da se pokua i sa televizijskim ekranom, ali svi se verovatno jo
iz detinjstva seamo upozorenja: "Nemoj da sedi blizu televizora, jer e tako oslepeti."
Raspravu poinjemo objanjenjem naina na koji se pikseli mogu predstaviti u memoriji
kompjutera. Kada smo predstavili prenos pomou faksa, rekli smo da je slika sainjena od belih
i cmih piksela - mogli smo da koristimo ili O, ili 1 za predstavljanje svakog piksela. Medutim,
filmovi, ili slike u crno-beloj tehnici ne zadovoljavaju dananje standarde. U stvari, fraza
crno-belo se pogreno koristi kada je re o starim filmovima, ili fotografijama. Te slike se, u stvari,
sastoje od nekoliko nijansi sive boje i svaki piksel mora da ima mogunost prikazivanja drugaije
nijanse. Obino se koristi 8-bitna ema za predstavljanje 256 nijansi sive boje (koje se nalaze
izmedu bele i crne boje).
Predstavljanje slika postaje veoma sloeno kada se doda boja. Visokokvalitetne slike doputaju
korienje irokog opsega boja i suptilnih prelaza izmedu boja i zasienosti boje. Slike laserskog
kvaliteta moda ne uspevaju da postignu razliite nijanse crvene, ili narandaste boje. Na primer,
personalni kompjuteri doputaju podeavanje rezolucije ekrana tako da se obezbede sve boje
(true color), ili da se utvrdi boja desktopa, ekrana, ikonica i naslovnih linija. U nekim sluajevi-
ma moete da definiete i sopstvene boje.
Video tehnologija se zasniva na injenici da se svaka boja ljudskom oku moe predstaviti
pomou prikladne kombinacije osnovnih boja, crvene, zelene i plave (RGB). Ekran monitora
sadri tri fosfora,* po jedan za svaku osnovnu boju. Elektronika unutar monitora koristi tri elek-
tronska mlaza, po jedan za svaki fosfor.
* Fosfor je supstanca koja emituje energiju u obliku svetlosti kada se njeni atomi pobude elektronskim mlazom.
Promenom intenziteta svakog mlaza mogue je podeavati emitovanu koliinu osnovne boje na
svakom fosforu. Mogue je postii doslovno sve boje iz vklljivog spektra. Sutina problema je u
kreiranju strukture podataka koja predstavlja odgovarajuu meavinu za svaki piksel.
Isto kao to se koristi osam bitova za predstavljanje 256 nijansi sive boje, moemo da koristimo
8-bitnu grupu za predstavljanje svake osnovne boje. Intenzitet svakog elektronskog mlaza se
podeava u skladu sa 8-bitnom vrednou koja daje eljenu boju. LJ stvari, korienje osam
bitova za svaku osnovnu boju znai da svaki piksel moe da se predstavi pomou 24 bita, to
otvara mogunost za 2
24
razliitih boja. Poto Ijudsko oko ne moe da razlikuje toliko boja,
mislimo da je tru color dovoljan.
Napominjemo da postoji alternativna reprezentacija video slika koja se takode sastoji od tri
8-bitne grupe. Razlika je u tome to jedna grupa predstavlja osvetljenost (jarkost), a druge dve
obojenost (bojuj. Osvetljenost i obe vrednosti boje izraunavaju se na osnovu RGB vrednosti. Na
primer, u referenci [Ta03 ] mogua relacija ie navedena kao
Y = 0.30K + 0.59G + 0.11B
/ = 0.60R-0.28G-0.325
Q = 0.211?-0.52C +0.315
Slova R, C i B predstavljaju vrednosti osnovnih boja. Slova Y, I i Q koristi NTSC* (National
Television Standards Committee) za predstavljanje osvetljenosti i vrednosti boje. Postoje i drugi
standardi i razliite formule koje se tiu ovih veliina, ali one nisu relevantne za nau raspravu.
Znaajno je to da za svaku RGB vrednost postoji YIQ vrednost i obratno. Ako elite dodatne
informacije o vrednostima obojenosti i osvetljenosti, pogledajte referencu [Pe93].
Prednost korienja osvetljenosti i obojenosti zasniva se na mogunostima registrovanja Ijudskim
okom, koje nije podjednako osetljivo na sve boje. Na senzorni sistem je osetljiviji na osvetljenost,
nego na obojenost. To znad da manji gubitak u vrednostima obojenosti, do koga dolazi u toku
prenosa, moda nee biti mnogo primetan. Ovo je korisna informacija kada jer re o kompresova-
nju slika.
(J narednoj raspravi neemo voditi rauna da li su pikseli predstavljeni pomou RGB, ili YIQ
vrednosti. Vodiemo ranna samo da li se svaki piksel moe predstaviti sa tri 8-bitne grupe; na
glavni cilj je da redukujemo broj bitova za prenos, ili skladitenje.
U sledeem koraku razmatramo broj piksela na tipinoj slici. Naravno, ovaj broj varira u
zavisnosti od veliine slike. Medutim, da bismo imali neke brojke sa kojima moemo da radimo,
pretpostaviemo da slika izlazi sa VGA ekrana veliine 640x480 piksela.t MaIo raunice pokazu-
je da ova slika zahteva 24 640 480 = 7.372.800 bitova. Kako ovo utie na saobraaj preko
Interneta? Uzimaju u obzir da se video esto sastoji od 30 slika u sekundi i da postoji vei broj
razliitih slika koje se istovremeno prenose do razliitih korisnika, broj bitova se povecava ak i
do gigabitskih razmera.
* Grupa koja definie standarde za lelevizijske prenose u SAD
t Dananji monitori mogu da prikazuju slike sa veim kvalitetom od 640x480. Osim toga, danas su uobiajene rezolucije
80OxSOO, 1.024x768, 1.152x864 i 1.280x1024.
Bez naina za kompresovanje i znaajno redukovanje broja bitova, tekua tehnologija
jednostavno ne bi mogla da podri takav saobraaj.
JPEG kompresija
JPEG je akronim za Joint Photographic Experts Group, grupu koja je formirana zajednikim
naporima ISO, ITU i IEC - njen standard za kompresiju, opte poznat kao JPEG kompresija,
korien je i za crno-bele slike i za slike u koloru. JPEG se znaajno razlikuje od prethodno
predstavljenih tehnika kompresije. Prethodni metodi predstavljaju primere kompresije bez
gubitaka. Odnosno, algoritam za dekompresiju moe u potpunosti da "oporavi" informacije koje
su ugradene u kompresovani kod. Kod JPEG kompresije postoje gubici: slika koja se dobija nakon
dekompresije ne mora da bude identina originalnoj. Gubitak informacija nije prihvatljiv u
sluajevima kao to je transfer izvrnih fajlova, ali moe da se tolerie ako fajl sadri sliku. Razlog
je ogranienost ljudskog ula vida. injenica je da ljudsko oko ne moe uvek da registruje
suptilne razlike u bojama. Ovde moe da se napravi poreenje sa uzorcima boja u farbari. Neko
moe da se dvoumi satima izmedu nekoliko uzoraka boja, a za njegovog partnera sve te boje
mogu da izgledaju identino.
JPEG kompresija se sastoji iz tri faze (slika 5.8): diskretne kosinusne transformacije (DTC - discrete
cosine transform), kvantizacije i faze kodiranja. Druga i trea faza su sasvim jednostavne, a prva je
prilino sloena. Najvei deo teorije je zasnovan na matematikim zakonima i zahteva dobro
predznanje iz matematike i poznavanje Furijeovih redova i diskretne kosinusne transformacije.
Neemo se baviti teorijskom razradom ovih tema; ako imate dobro predznanje \z matematike,
moete da pogledate reference [Fe92] i [Ra90]. Ipak, pretpostaviemo neke jednaine, predstaviti
nekoliko primera i objasniti kako i zato se te jednaine mogu primeniti na slike.
DCT faza JPEG kompresija zapoinje deljenjem slike u nizove blokova veliine 8 8 piksela.
Ako je veliina originalne slike 800x800 piksela, slika bi se sastojala od niza od po 100 blokova,
i uzdu i popreko (slika 5.9). Ako je slika crno-bela, svaki piksel moe da se predstavi kao 8-bitni
broj.
SLIKA 5.8 Tri faze JPEG kompresije
kompresovana
slika
faza kodiranja
faza kvantizacije
DCT
faza
slika
Svaki blok moe da se predstavi kao dvodimenzionalni niz koji sadri osam redova i osam
kolona. Elementi niza su 8-bitni celi brojevi, od 0 do 255, zakljuno. Faza diskretne kosinusne
transformacije je primenjena na ovaj niz.
Ako je slika u boji, onda se svaki piksel predstavlja sa 24 bita, ili tri 8-bitne grupe (koje predstavljaju
ili RGB, ili YIQ vrednosti; ovde nije bitno koje se od te dve vrednosti koriste). Ovaj blok od 8x8
piksela moemo da predstavimo koristei tri dvodimenzionalna niza, sa po osam redova i osam
kolona. Svaki niz predstavlja vrednosti piksela iz jedne od tri 8-bitne grupe. Diskretna kosinusna
transformadja je primenjena na svaki niz.
Sada dolazimo do onoga to diskretna kosinusna transformacija, u stvari, radi. U osnovi, to je
funkcija koja uzima dvodimenzionalni niz sa osam redova i kolona i kreira drugi dvodime-
nzionalni niz, takode sa osam redova i kolona. Na primer, ako P predstavlja niz vrednosti
piksela, gde P[x] [y] predstavlja vrednost u redu x i koloni y, diskretna kosinusna transformaci-
jadefinie novi nizT, gde[T]i [j] predstavlja vrednost u i-tom redu, u; koloni na sledei nain:*
SLIKA 5.9 Slika sa 800 800 VCA ekrana podeljena na blokove veliine 8 8 piksela
100 blokova
100 blokova
Slika
blok veliine
8 x 8 piksela
+
Diskrctna kosinusna transformacija ima optiju definiciju, u zavisnosti od veliine niza na koji se primenjuje. Poto smo
mi uzeli nizove dimenzija 8 8, ova formula odgovara naim potrebama.
Ovde neemo izvoditi ovu formulu. llmesto toga, pokuajte da shvatite ta ova formula radi nad
matricom P i pod kojim okolnostima daje dobru kompresiju. Rezultujua matrica T sadri
kolekciju vrednosti koje se nazivaju prostorne uestalosti (spatial frequency). Il sutini, ove
uestalosti se tiu broja promena vrednosti piksela u funkciji pozicije piksela u bloku. Vrednost
T[O] [0] se oznaava kao DC koeficijent i predstavlja prosenu vrednost niza P (kada su i i j
jednaki 0, kosinusi su 1). Ostale vrednosti u T nazivaju se AC koeficijenti. Kada i ij imaju vee
vrednosti, vrednosti piksela mogu da predstavljaju umnoke kosinusnih funkcija sa veim
uestalostima.
Zato je ovo znaajno? Pretpostavimo da su sve vrednosti u P iste. To bi odgovaralo slici koja sadri
samo jednu boju, bez ikakvih varijacija. U tom sluaju, svi AC koeficijenti odgovaraju sumi
kosinusnih funkcija, koje se medusobno ponitavaju (jer se vrednosti niza P mogu
faktorisati sumiranjima). RezuUat je to da su svi AC koeficijenti jednaki 0. Ako postoje male
varijacije u vrednostima u nizu P
1
onda e mnogi AC koeficijenti, mada ne svi, biti jednaki 0.
Ako postoji veliki broj varijacija u vrednostima niza P, samo nekoliko AC koeflcijenata e imati
vrednost 0.
Na slici 5.10 prikazani su rezultati primene diskretne kosinusne transformacije na dva razliita
niza. Prvi niz (slika 5.10a) sadri P vrednosti koje se menjaju uniformno. Ovo bi odgovaralo slici
sa uniformnim promenama boje i manjim koliinom finih detalja. U ovom sluaju u nizu T
mnogi AC koeficijenti su jednaki 0. Primeujete kako AC koeficijenti u optem sluaju postaju
manji dok se udaljavaju od gornje leve pozicije u nizu. Vrednosti koje su dalje od te pozicije
odgovaraju veim prostornim uestalostima, ili finijim detaljima na slici. Poto ova odreena
slika ima malo finih detalja, ove vrednosti su male i bliske 0.
U drugom sluaju (slika 5.10b) P vrednosti se esto menjaju. Ovo odgovara slici sa veim
brojem razliitih boja u manjoj oblasti. Samim tim, na slici postoji vie finih detalja. U tom
sluaju su AC koeficijenti razliiti od nule.
za i = 0, 1, 2, ..., 7 ij = 0, 1, 2, ..., 7 i gde vai
20 30 40 50 60 70 80 90
30 40 50 60 70 80 90 100
40 50 60 70 80 90 100 110
50 60 70 80 90 100 110 120
60 70 80 90 100 110 120 130
70 80 90 100 110 120 130 140
80 90 100 110 120 130 140 150
90 100 110 120 130 140 150 160
720 -182 0 -19 0 - 6 0 -1
-182 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-19 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
- 6 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-1 0 0 0 0 0 0 0
100 150 50 100 100 150 200 120
200 10 110 20 200 120 30 120
10 200 130 30 200 20 150 50
100 10 90 190 120 200 10 100
10 200 200 120 90 190 20 200
150 120 20 200 150 70 10 100
200 30 150 10 10 120 190 10
120 120 50 100 10 190 10 120
835 15 -17 59 5 -56 69 -38
46 -60 -36 11 14 -60 -71 110
-32 - 9 130 105 -37 81 -17 24
59 - 3 27 -12 30 28 -27 -48
50 -71 -24 -56 -40 -36 67 -189
-23 -18 4 54 -66 152 -61 35
2 13 -37 -53 15 - 8 0 -185 -62
32 -14 52 -93 -210 - 4 8 -76 80
P niz
T niz (vrednosti su zaokruene na najblii celi broj)
(a) P niz predstavlja male promene na slici.
P niz
T niz (vrednosti su zaokruene na najblii celi broj)
(b) P niz predstavlja velike promene na slici.
SLIKA 5.10 Rezultati diskretne kosinusne Iransformacije primenjene na dva razliita niza
U optem sluaju, ako ee dolazi do promena vrednosti na slici i manje uniformno u funkciji
njihove pozicije, AC koeficijenti odgovaraju vrednostima sa veim amplitudama. Osim toga, vei
broj viih prostornih uestalosti dobija nenulte vrednosti. LI sutini, AC vrednosti predstavljaju
manje varijacije piksela. Zato se slike sa mnotvom finih detalja tee kompresuju od slika sa
neznatnim varijacijama boje.
Nema velike koristi od prostornih uestalosti ako ne postoji nain da se upotrebe za obnavlja-
nje originalnih vrednosti piksela. U stvari, postoji inverzna formula koja konvertuje prostorne
uestalosti nazad u vrednosti piksela.
Ovde neemo proveravati, niti dokazivati ovu tvrdnju. Ostavljamo Vama da vebate pisanje
programa koji primenjuje jednadnu 5.2 na prostorne uestalosti sa slike 5.10. Ako to tano
uradite, izraunaete vrednosti originalnih piksela.
Ne postoji nain da znamo da dve vrednosti -1Ou koloni 1, u stvari, odgovaraju vrednostima -8
i-7 iz niza Tu jednaini 5.5 Da smo primenili jednainu 5.2 na niziz jednaine 5.5, dobili bismo
vrednosti piksela koje predstavljaju aproksimacije originalnih vrednosti. Drugim reima, izgubili
bismo neto boje. Ipak, ako su gubici mali, ne moraju da budu primetni.
Ovo smo uradili da bismo dobili sledei niz sa manje razliitih brojeva i da bi se dobili konzis-
tentniji uzorci. Na primer, niz Q ima vie nula i zato e se kompresovati bolje nego T. Naravno,
ovo namee logino pitanje kako da se vratimo sa Q na T radi dekompresije. Odgovor je jednos-
tavan: ne moemo da se vratimo. Deljenjem vrednosti niza T i zaokruivanjem gubimo origi-
nalne informacije. Ako pokuamo da izvedemo operacije u suprotnom smeru i ako pomnoimo
Q sa 10, dobiemo
Ako se svaka vrednost podeli sa IO i zaokrui na najblii celi broj, imaemo
Faza kvantizacije Faza kvantizacije obezbeduje nain za ignorisanje malih promena na slici,
koje moda nee biti primetne. Ona defmie jo jedan dvodimenzionalni niz (neka se zove Q)
koji se dobija deljenjem vrednosti niza Tnekim brojem, pa zaokruivanjem na najblii celi broj.
Na orimer. nretnostavimo da ie
T =
152 0 - 4 8 0 - 8 0 - 7 0
0 0 0 0 0 0 0 0
- 4 8 - 0 38 0 - 3 0
2
0
0 0 0 0 0 0 0 0
-8 0
-3
0 13 0 - 1 0
0 0 0 0 0 0 0 0
- 7 0
2
0 - 1 0
7
0
0 0 0 0 0 0 0 0
(5-3)
Q =
15 0 - 5 0 - 1 0 - 1 0
0 0 0 0 0 0 0 0
- 5 0 4 0 0 0 0 0
0 0 0 0 0 0 0 0
- 1 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0
- 1 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0
(5-4)
T =
150 0 - 5 0 0 - 1 0 0 - 1 0 0
0 0 0 0 0 0 0 0
- 5 0 0 40 0 0 0 0 0
0 0 0 0 0 0 0 0
- 1 0 0 0 0 10 0 0 0
0 0 0 0 0 0 0 0
- 1 0 0 0 0 0 0 10 0
0 0 0 0 0 0 0 0
(5-5)
U praksi, deljenje vrednosti niza T nekom konstantnom vrednou nije praktino i esto izaziva
velike gubitke. U stvari, mi pokuavamo da sauvamo to vie informacija iz gornjeg levog dela niza,
jer one predstavljaju nie prostorne uestalosti - odgovaraju manje suptilnim karakteristikama slike
koje bi se odmah uoile ako bi se promenile. Vrednosti u donjem desnom uglu predstavljaju finije
detalje, ije promene moda nee biti mnogo uoljive. Zato se obino defmie niz kvantizacije
(nazovimo ga U) sa manjim vrednostima u gornjem levom delu i veim vrednostima u donjem
desnom delu. Zatim se Q definie pomou formule
gde je Round funkcija koja vrsi zaokruivanje na najbhi celi broj.
Na primer, ako koristimo niz T iz jednaine 5.3 i
kvantizacija se dobija kao
Obrtanjem procesa i mnoenjem svakog elementa u Q sa odgovarajuim elementom u U dobija se
T =
152 0 - 5 0 0 - 9 0 - 1 3 0
0 0 0 0 0 0 0 0
- 5 0 0 36 0 0 0 0 0
0 0 0 0 0 0 0 0
- 9 0 0 0 17 0 0 0
0 0 0 0 0 0 0 0
- 1 3 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
(5-8)
Q =
1.52 0 - 1 0 0 -1 0 -1 0
0 0 0 0 0 0 0 0
- 1 0 0 4 0 0 0 0 0
0 0 0 0 0 0 0 0
-1 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0
-1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
(5-7)
U =
1 3 5 7 9 n 13 15
3 5
7
9 11 13 15 17
5
? 9 11 13 15 17 19
7 9 11 1.3 15 17 19 21
9 11 13 13 17 19 21 23
11 13 15 17 19 21 23 25
13 15 17 19 21 23 25 27
15 17
19 21 .23 25 27 29
(5-6)
SLIKA 5.11 Redosled po kome su preneti elementi niza
Ovo je i dalje aproksimacija originalnog niza T iz jednaine 5.3, ali u optem sluaju dovodi do
manjih gubitaka u oblasti niza sa niim prostornim uestalostima, tako da e se sauvati uoljivi-
ji aspekti originalne slike. Moda postoje vei gubici u oblastima sa finijim detaljima, ali oni e
biti manje primetni. Osim toga, niz kvantizacije Q ima znaajan stepen redundanse, tako da je
mogua bolja kompresija.
Napominjemo da JPEG ne propisuje sadraj niza U. Sadraj obino umnogome zavisi od
konkretne primene; uloeni su veliki napori da se pronae U koje omoguava kompresiju sa
minimalnim gubicima.
Faza kodiranja Vei deo dosadanje rasprave o JPEG kompresiji ukljuivao je sloene
transformacije i rezultate kvantizacije. Jo uvek se nismo bavili kompresijom. Ona se konano
izvodi u fazi kodiranja. Glavnu funkciju faze kodiranja predstavljaju linearizacija dvodime-
nzionalnih podataka iz Q niza i kompresovanje tih podataka radi prenosa. Logian pristup moe
da podrazumeva linearizaciju koja se postie prenosom jednog reda u jednom trenutku. Sa svim
nulama koje se javljaju, moemo da koristimo run-length ]<odiranje. Iako e ovo sigurno
funkcionisati, postoji bolji nain.
Na slici 5,11 ilustrovano je kako se mogu urediti elementi niza Q iz jednaine 5.7. Ako su
elementi niza uredeni tako da se alje po jedan red u jednom trenutku, poevi od prvog reda,
imamo sledee nizove 0 (sa duinom veom od 8):
Niz duine 9 iz redova 1 i 2
Niz duine 13 iz redova 3 i 4
Niz duine 15 iz redova 7 i 8
Medutim, ako uredimo elemente kao to je naznaeno strelicama na slici, imaemo sledee
nizove (sa duinom veom od 8):
Niz duine 11
Niz duine 24
Kao to moete da vidite, postoji mnogo dui niz kod drugog redosleda. Ne nameravamo da to
iskoristimo kao formalni dokaz da je ovaj metod linearizacije elemenata optimalan. Sa druge
strane, videli smo praenjem strelica sa slike 5.11 da elementi koji predstavljaju vie prostorne
uestalosti tee mogu da se grupiu. To nije sluaj kada se prenose po jedan red, ili po jedna
kolona u jednom trenut]<u. Poto niz kvantizacije U esto ima vee vrednosti u oblastima sa
veom prostornom uestalou, vea je verovatnoa da e vrednosti kvantizacije biti jednake O.
Grupisanjem vrednosti sa veom prostornom uestalou dobijamo veu verovatnou za
formiranje dugakih nizova sa nulama, to omoguava bolju kompresiju.
JPEG moe da koristi neki tip Hafmanovog koda, ili aritmetikog koda za nenulte vrednosti u
sluajevima kada DTC faza i faza kvantizacije daju odredene nenulte vrednosti sa veom uesta-
lou. Konano, poto nizovi dimenzija 8 8 predstavljaju samo mali deo slike, mora da se pre-
nese veliki broj nizova. Na mnogim slikama sukcesivni nizovi predstavljaju susedne blokove koji
se malo razlikuju. Postoji ak i mogunost da se prenose razlike izmedu nenultih elemenata,
umesto da se prenose sami elementi, to uvodi dodatnu dimenziju u kompresiju.
U sutini, JPEG kompresija je sloena; stepen Irampresije umnogome zavisi od same slike i niza
kvantizacije. Niz kvantizacije nije propisan, ve zavisi od aplikacije. Pod odreenim uslovima,
JPEG moe da stvori koeficijent kompresije 20:1, ili, ak, i bolji (to znai da velidna prenetog
fajla iznosi pet odsto od veliine originala). Mogui su i vei koeficijenti, ali su tada gubici
uoljiviji.
Trenutno se radi na jo jednom standardu (JPEG 2000), koji je zasnovan na tehnologiji elemen-
tarnih talasa. Kao i obino, detalji standarda su sloeni, ali tehnologija elementarnih talasa je
slina Furijeovim redovima po tome to se funkcija rastavlja na sastavne komponente. Za vie
informacija o tehnologiji elementarnih talasa pogledajte referencu SaOO . Naravno, rasprava o
JPEG ltompresiji moe da se vodi sa mnogo vie detalja; ako ste zainteresovani za takve detalje,
moete da pogledate reference [SaOO], [HaOl], [Ho97] i [He96], ili moete da posetite sajt
www.jpeg.org/.
GIF failovi
Odeljak zavravamo kratkim predstavljanjem jo jednog formata za slike koji se zove GIF
(Graphics Interchange Format). Dok je JPEG dizajniran za rad sa slikama u punom koloru (224
razliitih boja), GIF redukuje broj boja na 256. U osnovi, 256 boja se smeta u tabelu, uz pokuaj
da se to vernije pokrije opseg boja sa slike. Zatim, 24-bitna vrednost piksela se menja 8-bitnim
indeksom za zapise tabele sa bojama koje najvie odgovaraju originalnoj boji. Rezultujue
vrednosti bita se, nakon toga, izlau varijaciji Lempel-Ziv kodiranja radi kompresije.
GIF fajlovi imaju velike gubitke ako se premai granica od 256 boja, a ispod te granice nema
gubitaka. Ovaj format je obino najprikladniji za grafike sadraje sa relativno malim brojem
boja i sa relativno otrim granicama izmedu boja. Tu se ubrajaju stripovi, grafikoni i crtei
olovkom. GIF format nije prildadan za slike sa mnotvom varijacija i senenja, tj. za slike sa
fotografskim kvalitetom.
5.7 Kompresovanje multimedijalnih informacija
MPEG
Poto smo opisali kompresovanje nepokretnih slika, logino je da predemo na video, ili pokretne
slike. Medutim, pre toga moramo da razumemo kako se postie kretanje u video klipu. Kretanje,
bilo da je re o velikom ekranu, televiziji, ili video klipu sa CD-ROM-a, ili Interneta na kom-
pjuterskom monitoru, u sutini nije nita drugo nego brzo prikazivanje nepokretnih slika. irom
sveta koriste se razliiti standardi za video, ali najee korieni standard defmie NTSC, sa
prikazivanjem 30 nepokretnih slika u sekundi. Ovo je dovoljno da se oko zavara, tako da se
stvara "predstava" o pravom kretanju. Slike koje se stvaraju sa manjom brzinom prikazivanja daju
"iseckano" kretanje, koje je karakteristino za neke stare filmove.
Grupa koja definie standarde za video kompresiju je Moving Pictures Expert Group (MPEG).
Kao i JPEG, predstavlja rezultat saradnje izmedu ISO, IEC i ITU. Ljudi esto koriste frazu MPEG
kompresija kada misle na video kompresiju. Ipak, MPEG nije jedan standard, ve je re o
nekoliko standarda.
MPEG-I, ranije poznat kao ISO/IEC-11172, bio je dizajniran za video i CD-ROM i
rane direktne satelitske sisteme za emitovanje.
MPEG-2, ranije poznat kao ISO/IEC-13818, korien je za sloenije aplikacije, kao to
su multimedijalna okruenja i high-definition televezija (HDTV), a usvojen je u i
satelitskim prenosima.
MPEG-4, ranije poznat kao ISO/IEC-14496, namenjen je za video konferencije preko
kanala sa niskim opsegom (postojao je i MPEG-3, koji je originalno bio namenjen za
HDTV, ali je HDTV dodat MPEG-2 standardu).
U vreme dok piem ovu knjigu priprema se standard MPEG-7, koji treba da podri
iroki spektar aplikacija, a zasniva se na pretpostavci da bi multimedijalni podaci
mogli da zauzmu sve vei deo propusnog opsega signala u toku ovog veka. MPEG-7 e
obezbediti multimedijalne alatke za definisanje i pristup sadraju i trebalo bi da
omogui, na primer, pretraivanje pesama na osnovu "mrmljanja" u mikrofon
kompjutera, pretraivanje slika skiciranjem grafike koja podsea na traenu sliku, ili
skeniranje logo znaka kompanije i pretraivanje multimedijalne baze podataka
reklama da bi se proverilo iji je logo.
Takode se priprema i standard MPEG-21. Postoji veliki broj uesnika na polju multi-
medije i svako od njih moe da koristi svoje modele, pravila i procedure, a MPEG-21
bi defmisao zajedniki radni okvir koji bi olakao interakciju i saradnju izmeu
razliitih grupa.
Na ovom nivou rasprave neemo se baviti razliitim varijacijama MPEG standarda, ve emo se
posvetiti standardu MPEG-I (ubudue, kada kaemo MPEG, znajte da je re o ovoj varijaciji
standarda). Kao i ranije, ako elite detaljnije informacije od onih koje ovde predstavljamo,
moete da pogledate reference [SaOO], [Ho97] i [HaOl ]. U stvari, MPEG kompresuje audio i
video zapise zasebno, a mi emo se ovde baviti samo video kompresijom. Opis MPEG audio
kodiranja moete da pronadete u referenci [Ho97].
* Ustvari, postoji i etvrti tip kadra, nazvan DC kadar, koji moe da se koristi za brzo pretraivanje na uredajima kao to su
video rekorderi. Nema nikakvu ulogu u trenutnoj raspravi, tako da ga neemo objanjavati.
I kadar (unutranji kadar) Ovo je samosadrinski kadar koji za sve namene i svrhe
predstavlja JPEG-kodiranu sliku.
P kadar (predvieni kadar) Ovaj kadar je slian onome koji smo upravo
predstavili, po tome to se kodira izraunavanjem razlika izmedu tekueg i
prethodnog kadra.
B kadar (bidirekcioni kadar) Slian je P kadru, osim to je intrepoliran izmedu
prethodnog i budueg kadra (da, ovo zvui malo udno, ali doi emo i do toga).



Poto video predstavlja, u stvari, niz nepokretnih slika, deluje logino da MPEG koristi JPEG
kornpresiju, ili njenu varijaciju za kompresovanje svake slike. lako je ovo, u sutini, tano,
korienje samo JPEG kompresije za svaku nepokretnu sliku ne obezbeduje dovoljan stepen
kompresije za veinu aplikacija. U prethodnom odeljku istakli smo da nepokretna slika moe da
sadri 7.372.800 bitova. Sa koeficijentom kompresije 20:1, moemo da redukujerno sliku na
368.640 bitova. Medutim, zapamtite da NTSC video standardi definiu prikazivanje 30 slika u
sekundi, tako da bi se u svakoj sekundi moralo preneti 30x368.640 = 11.059.200 bitova. To je
mnogo, posebno ako se prenos obavlja preko deljenih kanala koje koriste i drugi korisnici takoe
radi pristupa video sadrajima.
Ono to MPEG ini izvodljivim jeste dodatna redundansa (privremena redundantnost), koja se
nalazi u sukcesivnim kadrovima. U osnovi, to znai da bez obzira koliko akcije vidite u videu,
razlika izmedu dva susedna kadra je obino veoma mala. ak i popularni akcioni heroji zahte-
vaju nekoliko sekundi za izvodenje potpune akcije u prostoriji. To je 60 kadrova, a na junak
moe da prede samo nekoliko stopa od jednog kadra do drugog. Ako posmatrate scenu bez
mnogo akcije, susedni kadrovi mogu da budu skoro identini. Poto se informacije JPEG
kompresije nalaze u jednoj slici, MPEG mora da radi sa privremenom redundansom. Ovim
problemom smo se bavili i ranije kada smo predstavili relativno kodiranje. U sutini, ova tehni-
ka alje osnovni kadar, pa kodira sukcesivne kadrove izraunavanjem razlike (sa malom
koliinom informacija), a zatim ih kompresuje i prenosi. Prijemna strana moe da rekonstruie
kadar na osnovu prvog osnovnog kadra i primljenih razlika.
MPEG ovo izvodi do odreene mere, ali, kao to ste mogli da pretpostavite, "stvari" su mnogo
sloenije. Izraunavanje razlika u odnosu na prethodni kadar funkcionie dobro za postavljanje
likova koji se kreu u Vaem vidokrugu, jer se oni nalaze i u prethodnom kadru. Na primer,
potpuno nova scena ne moe da se izrazi na ovakav nain. Razlika izmeu nove i stare scene je
velika, tako da e biti neophodno slanje nove scene. Sledei primer ukljuuje objekte koji su bili
skriveni u prethodnoj sceni iza osobe koja se kree. Kako se osoba kree na sceni, tako se prikazu-
ju objekti koji su ranije bili zaklonjeni.
MPEG identifikuje tri razliita tipa kadrova:*
Potrebno je razmotriti kako i zato se u jednoj sekvenci javljaju razliiti tipovi kadrova i kako se
P i B kadrovi konstruiu na osnovu drugih kadrova. Poeemo isticanjem da se I kadar mora
javljati periodino u sklopu sekvence kadrova. Postoji nekoliko razloga za to. Kao to smo
istakli, izraunavanje razlika vredi ako postoje male razlike izmedu kadrova. Medutim, male
razlike iz fiksnog kadra su, obino, "vezane" za krai vremenski period. Eventualno, scena moe
da se promeni, ili da u prikaz udu novi objekti. Ako bismo pokuali da sve merimo relativno u
odnosu na prvi kadar, imali bismo malo uspeha. Ako se koristi relativno diferenciranje i mere
razlike samo izmeu susednih kadrova, onda bi eventualna greka mogla da bude preneta i na
sve naredne kadrove. Drugi razlog se tie emitovanja sadraja, kada neko moe da se ukljui u
prenos u bilo kom trenutku. Da je korieno relativno kodiranje u odnosu na prvi kadar, a Vi se
ukljuite kasnije, ne biste imali sa im da poredite naredne kadrove. Periodino postavljanje I
kadrova osigurava da se razlike mere relativno u odnosu na tekue scene. Osim toga, ovim je
mogue eliminisati propagaciju greaka.
Na slici 5.12 data je tipina MPEG sekvenca kadrova. Izmedu dva I kadra "uglavljeni" su etiri B
kadra i jedan P kadar. U optem sluaju, broj B kadrova moe da bude promenljiv, mada obino
postoji jedan P kadar izmedu dve grupe B kadrova. P kadar predstavlja, u sutini, razliku izmedu
prethodnog I kadra i B kadrova koji su interpolirani izmedu najbliih I i P kadrova. Na primer,
prva dva B kadra su interpolirana od prvog I kadra i P kadra. Poslednja dva B kadra su interpoli-
rana od poslednjeg I kadra i P kadra.
Namee se logino pitanje kako moemo da interpoliramo B kadrove iz kadrova koje jo nismo
primili. Na slici 5.12 kadrovi su dati onim redosledom kojim se prikazuju, a ne onim kojim se
prenose. P kadar e biti poslat pre prva dva B kadra, a drugi I kadar se alje pre poslednja dva B
kadra. P kadar i I kadrovi mogu da se baferuju, a B kadrovi koji e biti primljeni mogu da se
dekodiraju na strani na kojoj e se prikazivati.
P kadrovi su kodirani pomou metoda poznatog pod nazivom motion-compensated prediction, koji se
zasniva na konceptima specificiranim u ITU preporuci H.261. Funkcionie deljenjem slike na kolek-
ciju makroblokova, koji sadre po 256 piksela (16 po horizontali i 16 po vertikali). Uz
pretpostavku da svaki piksel ima jednu vrednost za osvetijenje i dve za obojenost, makroblok moe
da se predstavi sa tri niza dimenzija 16x16. Da bi se "stvari" ubrzale, dva niza za obojenost se, u
stvari, redukuju na nizove dimenzija 8x8. Na slici 5.13 prikazano je kako je to izvedeno. Niz
dimenzija 16x16 je prikazan kao kolekdja nizova 2x2 sa vrednostima obojenosti. Prosena
vrednost svakog skupa od etiri vrednosti za obojenost menja etiri vrednosti i rezultat je niz 8x8.
Naglaavamo jo jednom da postoje odredeni gubici u ovom procesu, ali oni esto nisu primetni.
SLlKA 5.12 Tipina MPEG sekvenca
Prvi Poslednji
I
kadar
B
kadar
B
kadar
P
kadar
B
kadar
B
kadar
I
kadar
SLIKA 5.13 Redukcija niza obojenosli dimenzija 16 16 na niz dimenzija 8 8
Pre slanja P kadra, algoritam prouava svaki makroblok i locira najpodudarniji makroblok u
prethodnom I kadru. On ne mora obavezno da bude na istoj relativnoj poziciji,* jer pretpostavljamo
da se slike pomeraju od jednog kadra do drugog. MPEG ne defmie ta se smatra najboljim
poklapanjem; ono zavisi od konkretne aplikacije. Kada se pronade najpodudamiji makroblok,
algoritam izraunava razlike izmedu makroblokova i izraunava vektor kretanja {motion vector) - u
sutini, horizontalni i vertikalni pomeraj, koji se pamti zajedno sa razlikama. Ovo se izvodi za sve
makroblokove u kadru, a rezultati su kodirani i preneti na slian nain kao u sluaju JPEG kompre-
sije. Na prijemnoj strani prilikom dekodiranja prenete razlike se koriste za rekonstruisanje
makioblokova, a vektor kretanja se koristi za utvrivanje njihove pozicije u kadru.
Dekodiranje B kadra je slino, samo to se makroblokovi interpoliraju iz podudamih makroblokova
u premodnom i buduem kadru. Interpolaja je nain predvianja vrednosti na osnovu dve
postojee vrednosti i obino je tema kojom se bavi numerika analiza. Na slici 5.14 ilustrovano je
ono to pod tim podrazurnevamo. Ako horizontalna linija predstavlja vreme, a znamo vrednosti
nekih veliina (Y,, i Y
1
:, respektivno) u nekim proteklim i buduim trenucima, moemo da
procenimo vrednost (Y
c
) u tekuem trenuuku. Jedan nain podrazumeva crtanje linije koja povezuje
take Yp i Y
F
, i izraunavanje y koordinate te linije u tekucfem trenuuku. Ovo je primer lineame inter-
poladje. Postoje razni naini za izvoenje interpolacije, ali to je posebna tema.
* Ovo ne znai da algoritam pretrauje celi kadar traed najbolje poklapanje. Obino se trai makroblok na istoj relativnoj
poziciji i u susednim pozicijama. Tako se ubrzava algoritam kodiranja.
SLIKA 5.14 Korienje interpolacije za procenu vrednosti
Ovde je znaajno to se i proli i budu kadrovi mogu pretraivati radi pronalaenja poklapanja
makroblokova, pri emu se izraunavaju razlike i vektori kretanja za svaki pronadeni makioblok.
Vrednost makrobloka i njegova tana postavka u buduem kadru mogu da se interpoliraju iz podu-
darnih makroblokova i vektora kretanja. Kao to smo prethodno istakli, ovo je posebno korisno kada
ne postoji dobro poklapanje za makroblok iz prethodnog kadra, a moe da se desi kada se u prikazu
pojave novi objekti. Meutim, taj objekat e se verovatno nalaziti i u buduem kadru i ta informaci-
ja moe da se iskoristi za izraunavanje i postavljanje makrobloka u tekuem kadru.
Potrebno je napomenuti da, i pored standarda, MPEG kodiranje i dekodiranje zahtevaju znaajnu
procesorsku snagu. Pronalaenje poklapanja i izraunavanje vektora poklapanja za vei broj bito-
va nije zanemarljivo. Ipak, kod mnogih multimedijalnih aplikacija video zapis se snima samo
jednom i smeta na neki medijum. Poto se ovo izvodi pre prikazivanja, vreme potrebno za
kodiranje nije mnogo bitno. Meutim, video se esto prikazuje u realnom vremenu. Dekodiranje
mora da se izvede brzo, ili e kretanje delovati "iseckano". Pogledajte neke multimedijalne
aplikacije na nekom starijem kompjuteru i verovatno ete primetiti da slike "ne teku glatko" kao
kod pravog videa.
Bri procesor definitivno moe da pomogne, ali CPU obavlja jo mnogo drugih "stvari", pa to
nije dugoronije reenje za multimedijalne aplikacije, koje belee veoma brz razvoj. Jedan od
najznaajnijih uspeha u poslednjih nekoliko godina bila je MMX tehnologija, koja je ugraena u
Pentium ipove za multimedijalne aplikacije. Ona omoguava dekodiranje aplikacija kao to je
MPEG (u stvari, MPEG-2), tako da se postie znaajno poboljanje performansi. Opisivanje MMX
tehnologije je predmet kursa o raunarskoj arhitekturi, ali, zbog njenog uticaja na MPEG-2
aplikacije, vredi je ovde pomenuti. Vie detalja o MMX tehnologiji i njenom uticaju na izvodenje
multimedijalnih sadraja moete da pronadete u referenci [Pe97 ].
linija interpolacije
vreme
budue
tekue proslo
MP3
Poglavlje o kompresiji zavravamo pregledom tehnologije koja je ukljuena u neke high-profile
novinske "prie". Tehnologija je MP3, protokol za kompresovanje audio zapisa. Napominjemo
da MP3 sam za sebe nije kontraverzan. Jednostavno, definie nain za kompresovanje audio
fajlova. Kontroverznu crtu unose nelicendrano korienje i slobodna razmena MP3 kodirane
muzike. Raspravu o kontroverznom aspekatu ostavljamo drugima, a mi emo dati opti pregled
MP3 tehnologije.
Pre nego to zaemo u dublje razmatranje, naveemo neke osnovne informacije o audio zapisima.
U odeljku 3.6 opisana je tehnika za konvertovanje analognih signala u digitalne pod nazivom PCM
(impulsna kodna modulacija). Predstavili smo frekvencije semplovanja i nain kako su povezane sa
frekventnim opsegom originalnog audio signala. Ono to tada nismo pomenuli jesu ogranienja
Ijudskog ula sluha. U optem sluaju, veina ljudi moe da uje samo zvukove ije se frekvencije
nalaze izmedu 20 Hz i 20 kHz. Nae ulo sluha jednostavno ne moe da "uhvati" frekvencije izvan
tog opsega. Zbog toga, uobiajena PCM tehnika za kreiranje CD-kvalitetnih zvukova koristi 16-bitne
semplove i frekvenciju semplovanja od 44,1 kHz. Prema Nikvistovoj teoremi, ovo je dovoljno da se
signal iz naeg ujnog opsega kompletno rekonstruie.
MaIo raunice pokazuje da jedna sekunda PCM-kodirane muzike zahteva
16x44.1x1000 700.000 bitova, i to samo za jedan kanal. Za dvokanalni stereo vrednost se
udvostruava na 1,4 megabita. Tako bi 2-minutni zapis zahtevao otprilike 1,4 megabita x 120
sekundi 168 megabita. Ne samo da bi ovo bio ogrornan fajl, ve bi morao i da se prenese
bitskom brzinom od 1,4 Mbps da bi mogao da se reprodukuje kao zvuk. Mogua su dva naina
za redukovanje ukupnog broja bitova: redukovanje broja bitova po semplu i redukovanje
frekvencije semplovanja. Naalost, oba pristupa odgovaraju manje preciznoj digitalizaciji origi
nalnog analognog signala, tako da bi se izgubilo na kvalitetu zvuka. Tu nastupa kompresija.
MP3 se, u stvari, odnosi na MPEG sloja 3 za audio kompresiju, a usvojen je kao ISO/IEC
standard 1992. godine. Kako ova postavka predlae, MPEG doputa tri razlidta sloja audio kom-
presije, Slojevi se razlikuju po sloenosti kodiranja, koeficijentima kompresije i rezultujuem
kvalitetu zvuka, i to na sledei nain:
Sloj 1 daje koefidjent kompresije od oko 4:1, a zvuk moe da se reprodukuje na
bitskoj brzini od 192 Kbps za svaki kanal.
SIoj 2 daje koeficijent kompresije od oko 8:1 i dizajniran je za bitske brzine od 128
Kbps po kanalu.
Sloj 3 (MP3) daje koeficijent kompresije od oko 12:1 i prikladan je za bitske brzine od
oko 64 Kbps po kanalu.



Kako MP3, u stvari, funkcionie? Naalost, ne moemo da damo kompletan odgovor na to pitan-
je, jer su u celu "priu" ukljuene neke veoma sofisticirane tehnike. Ipak, daemo opti pregled
glavnih koncepata. Najvei deo onoga to je dizajnirano u MP3 zasniva se na psihoakustinom
modelu. Psihoakustika je, u osnovi, studija o ljudskom ulu sluha i moe da identifikuje ta
moemo da ujemo i koje zvuke moemo da razlikujemo.
Kao to smo ranije istakli, u optem sluaju ujemo zvuke iz opsega od 20 Hz do 20 kHz. Sledei
problem je koliko dobro moemo da razlikujemo razlidte zvukove iz tog opsega.
SLIKA 5.15 MP3 kodiranje
psihoakustini
model
Utvrdivanje broja bitova
za izlaz svakog podopsega
audio niz banka
filtera
IzI azi
podopsega
podeljeni na
; blokove faza
kvantizacije
Kvantovane
vrednosti
Hafmanovo
kodiranje
MP3 niz
Veina nas moe da registruje razliku, na primer, izmeu kontrabasa i flaute, jer postoji velika
razlika u frekvencijama zvukova koje proizvode. Medutim, model ukazuje da kada frekvencije
dva signala postanu veoma bliske 1 judsko ulo sluha nee mo da ih razlikuje. Na primer, veina
ljudi ne moe da razlikuje zvuk od 2.000 Hz od zvuka od 2.001 Hz.
Sledei problem je ujno maskiranje (auditory masking). Ako je jedan zvuk na odredenoj frekve-
nciji bio izuzetno jak, a drugi sline frekvencije je bio slab, moda neemo moi da ujemo slabiji
zvuk. Ako ovo uporedimo sa ulom vida, to je kao kada ne uspevate da vidite mali tamni objekat koji
se nalazi ispred jakog svetla. Iskljuite svetlo i taj objekat se prikazuje. Razlog za to je injenica da je
signal jarkog svetla toliko jak da nadjaava reflektovano svetlo od manjeg objekta.
U audio svetu kao primer moe da poslui sviranje klavira, kada se jako pritisne jedna dirka i zbog
glasnog zvuka ne uspevamo da registrujemo lagani pritisak na susednu dirku. Glasniji tonovi
nadjaavaju tie. Moda ovo objanjava zato retko moete da sretne radnika za pneumatskim
ekiom koji slua klasinu muziku. Osnovna ideja na kojoj se MP3 zasniva je da se "hvata" audio
signal, utvrduje se ta ne moe da se uje, uklanjaju se te komponente iz audio zapisa i vri se digi-
talizacija preostalog dela signala. Ukratko, uldanja se sve to ne moe da se uje.
Prvi korak u MP3 kompresiji je kodiranje po podopsezima (subband coding), koje je prikazano na
slici 5.15. To znai da se audio zapis uvodi u psihoakustini model i banku filtera. Banka fdtera
je kolekcija fdtera koji kreiraju nizove koji predstavljaju komponente signala u okviru specifinog
frekventnog opsega. Postoji po jedan filter za razne frekventne opsege; zajedno, oni rastavljaju
originalni signal na podopsege, sa razliitim, nepreklapajuim frekventnim opsezima. Teorija
banki filtera i kodiranja po podopsezima pnpada veoma visokom nivou i zahteva sloena
izraunavanja slina onima kod diskretne kosinusne transformacije, predstavljene u odeljku 5.6.
Neemo se baviti time, ali ako ste zainteresovani, pogledajte referencu [SaOO ] u kojoj moete da
pronaete detaljan opis kodiranja po podopsezima. Glavna ideja je da se formira niz bitova za
svaki opseg signala.
Meutim, zbog ujnog maskiranja, podopsezi nee biti kodirani na potpuno isti nain. Ako su
signali u jednom podopsegu veoma glasni, potrebna je dobra rezolucija njihovih amplituda.
Drugim reima, potrebno je vie bitova. Ako su signali u susednim podopsezima slabi i ako ih
maskiraju glasniji signali, potrebna je manja rezolucija za te slabije signale - mogu se kodirati sa
manje bitova. Ovde se uklapa psihoakustini model. On analizira audio zapis i utvrduje pragove
maskiranja. Proces je sloen, jer zavisi od mapiranja signala u reprezentaciju frekventnog
domena, pri emu se koriste Furijeove transformacije. Ipak, svrha je da se utvrdi koje frekvencije
dominiraju, a koje nee biti ujne. Ako odredene frekvencije nisu u ujnom opsegu, nema
potrebe da se taj deo signala rekonstruie, tako da je mogue koristiti manje bitova. Ovim je
postignuta kompresija bez uoljivog gubitka u kvalitetu zvuka. Na kraju se svaki podopseg
kodira korienjem razliitog broja bitova.
Tehnika kompresije Tip koriene redundanse Kako se vri kompresija
Hafmanov kod
Run-length kodiranje
Faksimil kompresija
Relativno kodiranje
Lempel-Ziv kodiranje
JPEG
MPEG
MP3 (MPEG audio
kompresija sloja 3)
Odredeni karakten se ee javljaju
od ostalih.
Podaci sadre dugake stringove
istog karaktera, ili bita.
Trae se i dugaki stringovi istog
bita i uestalost sa kojom se
specifini stringovi javljaju.
Izmedu dva susedna dela podataka
mogu da postoje veoma male
razlike.
Stringovi odredenih karaktera se
javljaju ee od ostalih.
Manji delovi slike esto sadre
manju koliinu detalja.
Susedni kadrovi esto sadre skoro
identine scene.
Komponente signala se maskiraju
drugim, monijim signalima, ili se
odredene komponente nalaze van
ujnog opsega.
Koriste se krai uzorci bitova za
ee koriena slova i dui za
ona koja se ne koriste esto.
Dugaki niz odredenog bita, ili
karaktera se menja sa duinom
tog niza.
Linija se deli na nizove belih i
crnih piksela. Svaki niz se kodira
korienjem modifikovanog
Hafmanovog algoritma.
Kodiraju se manje razlike
izmedu uzastopnih okvira,
umesto da se kodiraju konkretni
okviri.
Pojave stringa koji se ponavlja
menjaju se generisanim
kodovima.
Kompresovanje nepokretnih
slika se izvodi primenom
diskretne kosinusne
transformacije na blokove
veliine 8x8 piksela, rezultati se
kvantifikuju i kvatifikovani
koeficijenti uestalosti se
kodiraju.
Koriste se metodi slini JPEG
kompresiji, ali se koristi
prednost redundantnosti izmeu
susednih kadrova za kompresiju
medukadrova izraunavanjem
razlika u susednim kadrovima i
korienjem tehnika za
predvidanje kretanja.
Koriste se sloeni psihoakustini
model i banke filtera za
utvrdivanje delova audio signala
koji nee biti ujni i koji se
uklanjaju.
Konano, signali iz podopsega ulaze u fazu kvantizacije. Kao to je opisano u odeljku za JPEG
kompresiju, faza kvantizacije redukuje ukupan broj vrednosti u svakom podopsegu i nastoji da
eliminie male razlike koje ne bi trebalo da budu opaene. Na kvantifikovane vrednosti moe da
se primeni Hafmanov kod i kreirae se MP3 zapis.
Ovo razmatranje nije bilo preterano detaljno, jer je za to neophodno dosta matematike, zajedno
sa teorijom o kodiranju po podopsezima i psihoakustinom modelu. Ako Vas interesuje teorija,
obavezno pogledajte referencu [SaOO ].
5.8 Zakljuak
Ovde predstavljene tehnike kompresije predstavljaju eme koje se koriste u praksi. U referencama
[SaOO], [Ho97], [Fe97] i [He96] pominju se i druge tehnike, a reference [Ho97], [SaOO] i
[He96] u potpunosti su posveene tehnikama kompresije (i predstavljaju dobro tivo za one koji su
ozbiljno zainteresovani za ovu temu). Zapamtite da su tehnike kompresije dizajnirane za razliite
tipove prenosa. U tabeli 5.11 dat je kratak pregled onih kojima smo se bavili u ovom poglavlju.
Pitanja i zadaci za proveru
1. ta je Hafmanov kod?
2. ta je no-prefix svojstvo Hafmanovog koda?
3. ta je frekventno-zavisni kod?
4. ta se podrazumeva pod run-length kodiranjem?
5. Da li su sledee tvrdnje tane, ili netane (zato)?
a. Hafmanov algoritam moe efikasno da kompresuje tekstualni fajl sa nasumino
rasporedenim karakterima.
b. Algoritam Lempel-Ziv kompresije moe efikasno da kompresuje veliki fajl u kome
se nalazi izvorni kod programa.
c. Metod kompresije koji funkcionie dobro za jedan tip fajla esto dobro
funkcionie i kod ostalih tipova fajlova.
d. Metodi kompresije bi uvek trebalo da kompresuju fajl bez gubljenja informacija
iz fajla.
e. Kada se primeni na fajl, metod kompresije moe da kreira vei fajl od originalnog.
f. Koeficijenti kompresije za faksimil kompresiju su razliiti u zavisnosti od slike
koja se kompresuje.
g. MP3 i JPEG kompresije su sline po tome to ne mogu da rekonstruiu originalni
fajl.
6. ta je aritmetika kompresija?
7. Koja je svrha zakljunog karaktera u aritmetikoj kompresiji?
8. ta je relativno kodiranje?
Bez konstruisanja, koliko razliitih Hafmanovih kodova moe da se kreira?
3. Kompletirajte tabelu 5.5 i pronaite konani interval za string iz tog primera.
4. Opiite probleme koji se javljaju ako frekventno-zavisni kod promenljive duine, kao
to je Hafmanov, nema no-prefix svojstvo.
5. Kompresujte sledei niz bitova korienjem run-length kodiranja. Koristite pet bitova
za kodiranje svakog dugakog niza. Izrazi u zagradama oznaavaju nizove.
1 (33 nule) 1 (25 nula) 1 1 1 (44 nule) 1 (2 nule) 1 (45 nula)
Izrazite duinu kompresovanog niza kao procenat duine originalnog niza.
6. Pomou run-length kodiranja, koliko nula mora da se javi u nizu da bi kod izvrio
kompresiju?
7. Navedite primer situacije u kojoj bi run-length kodiranje bilo bolje (ili gore) od
Hafmanovog koda.
A
B
C
D
E
F
15
25
20
10
10
20
Slovo Uestalost (
0
M)
2. Izvedite Hafmanov kod za slova ija je uestalost pojavljivanja data u sledeoj tabeli.
1. Moete li da izmislite 4-bitni kod slian onome iz tabele 5.1?
Vezbe
9. ta je Lempel-Ziv kodiranje?
10. ta je faksimil kompresija?
11. I Lempel-Ziv i Hafmanov algoritam su slini po tome to koriste ponavljanja. Po emu
se razlikuju?
12. Koje su glavne razlike izmedu JPEG i MPEG metoda kompresije?
13. Navedite razlike izmedu 1,PiB kadrova u kontekstu MPEG kodiranja.
14. ta je MP3 fajl?
15. ta je psihoakustini model?
16. Sta se podrazumeva pod ujnim maskiranjem? Kako ono moe da pomogne
kompresovanje zvunih fajlova?
17. Koje tehnike kompresije u ovom poglavlju nemaju gubitke informacija? Koje gube
podatke?
1100111001000100011110110
8, Komentariite sledeu konstataciju:
U oblasti megabitskih, ili gigabitskih prenosa eme kompresije tede samo najmanje
delove sekunde. Zbog toga, vreme koje se tedi nije vredno dodatnog kompresovanja
bitova,
9. lskoristite Hafmanov kod iz tabele 5.3 i interpretirajte sledei niz bitova (poevi od
krajnjeglevogbita).
10. Koji su od sledeih kodova Hafmanovi? Zato?
Karakter Kod Karakter Kod Karakter Kod
A
B
C
D
E
01
001
10
110
010
A
B
C
D
E
10
001
11
101
000
A
B
C
D
E
1
01
000
001
0001
11. Kompletirajte korake aritmetikog kodiranja zapoetog u tabeli 5.5.
12. Primenite aritmetiku kompresiju na string DCBED, koristei verovatnoe definisane u
tabeli 5.4. Koji se realni broj moe koristiti za kompresovanje stringa?
13. Ponovite prethodnu vebu, ali pretpostavite da su verovatnoe 0.15 (A), 0.25 (B), 0.2
(C), 0.1 (D) i 0.3 (E).
14. Pretpostavite da imate 10 karaktera sa podjednakom verovatnoom pojavljivanja. Moete
li da predloite jednostavniji nain za implementiranje aritmetikog kodiranja?
15. Na osnovu verovatnoa iz tabek 5.4, procenite kom stringu odgovara realna vrednost
0.45734? Pretpostavite da string ima pet karaktera.
16. Postoje oprena miljenja da li se aritmetika kompresija koristi za utvrivanje jednog
realnog broja izmeu O i 1. Zato mogu da se koriste standardni formati za skladitenje
brojeva u pokretnom zarezu i kompresovani kod uvek ima isti broj bitova. Sta mislite
o tome?
17. Ako se koristi faks kompresija, kako izgleda kompresovani kod za niz od 1.300 belih
piksela, a kako za 1.300 crnih piksela?
18. Popunite detalje specifine za programski jezik i implementirajte Lempel-Ziv algoritme
na slici 5.7.
19. Kako bi se izveo algoritam sa slike 5.7 da smo koristili kompletan alfabet?
20. Kompletirajte tabelu 5.8.
21. Izvrite algoritme Lempel-Ziv kompresije i dekompresije, poevi sa sledeim
stringom. Kreirajte tabele sline tabelama 5.8, 5.9 i 5.10.
BBABAABBAABACBACBACBABAAABAA
22. Napiite program koji primenjuje jednainu 5.2 na prostorne uestalosti za slike 5.10a
i 5.10b.
23. Izvrite diskretnu kosinusnu transformaciju (jednaina 5.1) na sledei niz piksela.
Trebalo bi da napiete program koji izvodi potrebna izraunavanja.
Reference
[Cr90] Crichton, M. Jurassic Park. New York: Ballantine Books, 1990.
[DrOl ] Drozdeck, A. Data Structures and Algorithms in C++. Pacific Grove, CA: Brooks/Cole,
2001.
[Fe92] Feig, E., and S. Winograd. "Fast Algorithms for Discrete CosineTransformations".
IEEE Transactions on Signal Processing, vol. 40 (September 1992), 2174-2193.
[Fe97] Fernandez, J. MIME, UUENCODE and ZIP: Decompressing and Decoding Internet
Files. New York: MIS Press, 1997.
[HaOl] Halsall, F. Multimedia Communications. Reading, MA: Addison-Wesley, 2001.
[He96] HeId, G. Data and Image Compression, 4th ed. New York: Wiley, 1996.
[Ho97] Hoffman, R. Data Compression in Digital Systems. New York: Chapman and HaIl,
1997.
[Hu52] Huffman, D. "A Method for the Construction of Minimum Redundancy Codes".
IRE Proceedings, vol. 40 (September 1952), 1098-1101.
[Pe93] Pennebaker, W. B and J.L. Mitchell, JPEG Still Image Data Compression Standard.
New York: Van Nostrand Reinhold, 1993.
[Pe97] Peleg, A, S. Wilkie, and U. Weiser. "Intel MMX for Multimedia PCs".
Communications of the ACM, vol. 40, no. 1 (January 1997), 25-38.
[Ra90] Rao, K.R. and P. Yip. Discrete Cosine Transform: Algorithms, Advantages, Applications.
Boston: Academic Press, 1990.
[SaOO] Sayood, K. Introduction to Data Compression, 2nd ed. San Francisco: Morgan
Kaufman, 2000.
[St03 ] Stallings, W. Computer Organization and Architecture. 6th ed. Englewood Cliffs, NJ:
Prentice-Hall, 2003.
[Ta03] Tanenbaum, A. S. Computer N'etutorks. 4th ed. Englevrood Cliffs, NJ: Prentice-Hall,
2003.
[We84] Welch, T. "ATechnique for High-Performance Data Compression". Computer, vol.
17, no. 6 (May 1984), 8-19.
Integritet podataka
lako je tano da su dananja deca izloena veoj koliini informacija i raznovrsnijim
iskustvima nego njihovi vrnjaci u prolosti, to ne znai automatski da su sofisticiranija.
Uvek znamo vie nego to razumemo i sa gomilom informacija koje su predstavljene mladitn
Ijudima praznina izmedu znanja i razumevanja i izmeu iskustva i uenja postaje vea nego
to je bila u prolosti.
David Elkind (1709-1784), ameriki psiholog
6.1 Uvod
U prethodnim poglavljima su opisani mehanizmi koji su neophodni za smetanje i prenos
informacija. Svi ti metodi, bez obzira koliko su sofisticirani, ne mogu da garantuju efikasne i
sigume komunikacije. Uzmimo za primer sledeu poruku koja je preneta elektronskom potom:
Your brothel in New Orleans needs money. (Vaem bordelu u Nju Orleansu je neophodan novac.)
Vaa reakcija moe da bude raznolika, od zbunjenosti do krajnjeg uasa. ta ako Vaa supruga
prva vidi ovu poruku? Ona ne zna da je originalna poruka glasila:
Your brother in New Orleans needs money. (Vaem bratu iz Nju Orleansa je neophodan novac.)
ta se desilo? Poslata poruka je bila krajnje bezazlena, a problem je nastao u toku prenosa. Slovo
r iz rei brother je bilo ASCII kodirano kao 1110010. Naalost, zbog nekih elektrinih smetnji,
dolo je do promene etiri srednja bita 1001 u 0110, tako da je primljena kombinacija 1101100,
to predstavlja kod za slovo l.
Mislim da je nesporno da sistem koji doputa isporuivanje ovakvo izmenjenih poruka nije
poeljan. Meutim, injenica je da se greke javljaju. Svaka poruka koja se prenosi elektronskim
putem je podlona smetnjama. Jaka suneva svetlost, elektrini udari, fluktuacije u napajanju, ili
udarac aovom u kabl mogu da izazovu neverovatne i nepredvidljive "stvari" u toku prenosa.
Meutim, ne moemo da dopustimo da, na primer, astronauti prime netane instrukcije za
navigadju, ili da neka vajcarska banka na neki raun deponuje milion dolara vie nego to je
potrebno (ako nije re o mom raunu!).
Mogunost detektovanja promena u toku prenosa naziva se detekcija greaka. U veini sluajeva,
kada se greke detektuju, poruka se odbacuje, obavetava se poiljalac i poruka se ponovo
alje. Naravno, nema nikakvih garancija da ponovo nee doi do oteenja poruke i zato je
neophodno razviti protokole koji omoguavaju razmenu poruka (bez obzira na njihov status)
izmeu poiljaoca i primaoca. U stvari, nema nikakvih garancija da nee biti, oteene i same
informacije o statusu poruke. Ovo zahteva razradu detaljnih protokola, ali o njima e biti vie rei
u Poglavlju 8.
Ponovno slanje poruke ponekad nije praktino. Moda nema dovoljno vremena, kao u sluaju
real-time aplikacija. Jedan primer su sonde za svemirska istraivanja. Mogu da proteknu sati dok
se ne prenesu znaajni telemetrijski podaci iz udaljene take u svemiru. Osim toga, ako je sonda
veoma daleko, signali mogu da budu veoma slabi i, samim tim, podloni smetnjama. Dok sonda
primi zahtev za ponovno slanje, moe da se pomeri na neku drugu taku sa koje originalni
podaci vie ne mogu da se pribave. Osim toga, verovatnoa da e doi do oteenja signala je
veoma visoka kod prenosa na velikim udaljenostima i velika je verovatnoa da poruka nikada
nee biti primljena bez neke greke. Sledei primer je gledanje, ili sluanje multimedijalnih zapisa
u realnom vremenu. Ako gledate video i neto se desi u nekoliko kadrova, nije praktino da se
vraate nazad i ponovo gledate te kadrove. To bi bilo kao da gledate film na DVD-ju i neko
neprestano premotava film unazad. U nekim sluajevima, kada se greka detektuje, mogue ju je
ispraviti bez ponovnog prenosa. Ovo se naziva korekcija greaka. Poiljalac nikada nee
saznati da je dolo do oteenja poruke i da je ona ispravljena. Krajnji zakljuak je da se poruke
eventualno mogu tano isporuiti.
U ovom poglavlju se bavimo integritetom podataka, mogunou da se utvrdi kada je dolo do
njihovog oteenja. U odeljku 6.2 predstaviemo proveru parnosti, metod za detektovanje
greaka u odreenim bitovima. To je jednostavan i prilino naivan pristup i, mada se obino
ne implementira samostalno, ipak igra vanu ulogu u nekim sloenijim emama. U odeljku
6.3 upoznaete ciklinu proveru redundantnosti, komplikovani metod koji se zasniva na
interpretiranju nizova bitova kao polinoma, koji se nakon prijema dele da bi se utvrdilo da li
postoje greke. Videete da je ovaj metod izuzetno taan i da, i pored sloenih izraunavanja,
moe efikasno da se implementira. Osim toga, ovo je esto korieni metod za detektovanje
greaka.
Konano, u odeljku 6.4 predstaviemo metod za korekciju greaka pod nazivom Hamingov kod.
To je metod koji koristi viestruke provere parnosti na takav nain da se greka, ako je dolo do
promene jednog bita, detektuje u jedinstvenoj kombinaciji provere parnosti. Kada se utvrdi
lokacija na kojoj je dolo do greke, bit moe da se promeni i na taj nadn je poruka ispravljena.
6.2 Jednostavne tehnike za detekciju greaka
Provera parnosti
Tehnike za detektovanje greaka zahtevaju slanje dodatnih bitova ije vrednosti zavise od podataka
koji su poslati. Ako se podaci promene, vrednosti dodatnih bitova nee odgovarati novim
podacima (barne teorijski). Verovatno najee korieni pristup je provera parnosti, koja ukljuuje
brojanje bitova sa vrednou 1, a zatim se postavlja jedan dodatni bit, tako da ukupan broj bitova
sa vrednou 1 bude paran (parna parnost), ili neparan (neparna parnost).
Dodatni bit se naziva bit pamosti. Nau raspravu zasnivamo na parnoj parnosti, a itaoci mogu da
konstruiu analognu diskusiju za neparnu parnost.
Ilustracije radi, pretpostavimo da je ukupan broj bitova sa vrednou 1 neparan. Ako se bit
pamosti defrnie kao 1, ukupan broj 1 bitova je sada paran. Slino tome, ako je ukupan broj 1
bio paran, bit parnosti je 0. Razmotrite nizove bitova sa slike 6.1. Prvi niz ima etiri 1 bita. Zato
je bit parnosti O. Drugi niz ima pet 1 bitova, pa je njegov bit parnosti 1.
ANALIZA PROVERE PARNOSTI Provera parnosti detektuje samo greke u jednom bitu. Bit
parnosti je prenet zajedno sa bitovima podataka, a prijemnik proverava parnost. Ako prijemnik
pronade neparan broj bitova, dolo je do greke. Ipak, greke u samo jednom bitu su veoma retke
kod elektrinih prenosa. Na primer, pretpostavimo da je dolo do greke zbog kratkog strujnog
udara, ili statikog elektriciteta, ije je trajanje izraeno u hiljaditim delovima sekunde. Sa ljudskog
stanovita, to je skoro neprimetno. Ali, ako su podaci prenoeni brzinom od 1 Mbps, u tom
hiljaditom delu sekunde 10.000 bitova je izloeno nastalim smetnjama. Kada je oteeno vie
bitova, kaemo da je dolo do navalne greke (burst error).
Kako provera parnosti funkcionie u sluaju proizvoljnih navalnih greaka? Pretpostavimo da se
u toku prenosa menjaju vrednosti dva bita. Ako su oba bila 0, menjaju se u 1. Dve dodatne
jedinice i dalje u zbiru daju paran broj jedinica. Slino tome, da su oba bila 1, promenili bi se u
0, tako da bi postojale dve jedinice manje, ali bi ukupan broj i dalje bio paran. Da su bitovi imali
suprotne vrednosti i promenili ih, i dalje bi imali suprotne vrednosti. I ovoga puta ukupan broj
jedinica ostaje isti. Krajnji zakljuak je da provera parnosti ne moe da detektuje dvostruke greke.
U optem sluaju, provera parnosti moe da detektuje greke koje se javljaju na nepamom broju
bitova. Ako se promeni vrednost parnog broja bitova, provera parnosti nee moi da detektuje
greku. Zakljuak je da provera parnosti detektuje greke sa verovatnocom od 50 odsto za navalne
greke, ali to nije dovoljan procenat za komunikacione mree.
Da li je zbog ovoga provera parnosti beskorisna? Odgovor je negativan, i to zbog dva razloga.
Prvo, neke organizacije kompjuterske memorije srnetaju bitove iz bajta, ili rei na razliitim
ipovima. Tako se prilikom pristupa rei koriste razliite putanje. U takvim sluajevima smetnje
na jednoj putanji mogu da izazovu greku u jednom bitu. Takve arhitekture esto koriste dodatne
memorijske ipove za proveru parnosti (detaljnija rasprava o njima ne moe da se uklopi u
previeni obim ovog teksta). Drugi razlog je to to provera parnosti predstavlja osnovu za
tehniku korekcije greaka, koju emo predstaviti u odeljku 6.4.
SLIKA 6.1 Detektovanje greaka u jednom bitu pomou provere parnosti
Bit parnosti je 0, tako da je
ukupan broj jedinica paran.
bitovi podataka
11010100 0
bitovi podataka
01101101 1
it parnosti Je 1, tako da Je
ukupan broj jedinica paran
eksume
Sledei pristup deli sve bitove podataka u 32-bitne* grupe i svaku tretira kao celobrojnu vrednost.
Te vrednosti se, zatim, sabiraju, tako da daju eksumu (checksum). Svaki prenos u sabiranju koji
bi zahtevao vie od 32 bita se ignorie. Zatim, proces koristi mod 232 vrednosti sume. Dodatna
32 bita predstavljaju eksumu, koja se dodaje podacima pre nego to se poalju. Prijemni ureaj
deli rezultat sa onim to je smeteno u dodatna 32 bita. Ako se rezultati ne poklapaju, dolo je
do greke.
Ovaj pristup je efikasniji od jednostavne provere parnosti i detektuje sve vrste navalnih greaka, jer
nasumina promena brojeva obino menja vrednost njihove sume. Ipak, ovaj pristup ne detektuje
sve greke. Jednostavan primer je greka koja izaziva da se jedna od 32-bitnih vrednosti povea za
odreeni iznos, a neka dmga 32-bitna vrednost se smanji za isti iznos. Suma tih vrednosti ostaje
nepromenjena, i pored toga to je dolo do greke.
6.3 Detekcija greaka pomou cikline provere
redundantnosti
U ovom odeljku upoznaete metod poznat pod nazivom ciklina provera redundantnosti
(CRC-cyclic redundancy check), koji je mnogo taniji i od provere parnosti i od metoda koji
koristi eksume. Osim toga, pokazaemo kako se moe efikasno implementirati.
CRC je neuobiajen, ali "parnetan" metod koji proveru greaka izvodi deljenjem polinoma. Vaa
prva reakcija je verovatno: "U kakvoj je vezi deljenje polinoma sa prenosom niza bitova?".
U stvari, metod interpretira svaki niz bitova kao polinom. U optem sluaju, niz bitova
interpretira se kao polinom
Na primer, niz bitova 10010101110 interpretira se kao
x
10
+ x
7
+ x
5
+ x
3
+ x
2
+ X
1
Poto je svaki koeficijent b, ili 0, ili 1, piemo x' kada je b, jednako 1, a ne zapisujemo ih kada je
b' jednako 0.
U sledeim koracima opisan je CRC metod. Pretpostavljamo da je kod svih izraunavanja
korien mod 2.
1. Na dati niz bitova dodajte nekoliko nula na kraj niza (kasnije emo rei koliko i
zato) i nazovite ga B. Neka B(x) bude polinom koji odgovara nizu B.
2. B(x) se deli sa nekim ugovorenim polinomom C(x) (generator polinoma) i utvruje
se ostatak R(x).
* Moe da se korisle i grupe od osam, ili 16 bitova.
SLIKA 6.2 Izmunavanje (xlO + x9 + x7 + x5 + x4)/( x4 + x3 + 1)
3. Defmie se T(x) = B(x) - RfxJ. Kasnije emo pokazati da T(x)/G(x) generie ostatak 0 i
da se oduzimanje moe izvesti zamenom prethodno dodatih 0 bitova nizom bitova
koji odgovara polinomu R(x).
4. Prenosi se T, niz stringova koji odgovara polinomu T(x).
5. Neka T predstavlja niz bitova koje primalac dobija i neka je T(x) pridrueni polinom.
Primalac deli T(x) sa C(x). Ako je ostatak O, primalaczakljuuje da je T = T i da nije bilo
greaka. U suprotnom, on zakljuuje da je dolo do greke i zahteva ponovni prenos.
Pre nego to ponete da oajavate, moramo da damo odgovore na neka pitanja. Zato izvravamo
sve ove korake? Da li postoji ikakva validacija donoenja zakljuaka u prijemniku nako
deljenja T'(x) sa G(x)l Koliko je ovaj metod taan? Da li i poiljalac i primalac moraju da produ
kroz sve ove korake prilikom slanja svakog okvira? Medutim, ne moemo da damo odgovore na
ova pitanja bez nekoliko preliminarnih objanjenja. Pretpostavljamo da posedujete predznanja
o polinomima i njihovim operacijama korienjem realnih brojeva, ali emo, ipak, dati kratko
objanjenje o deljenju polinoma po modulu 2.
Deljenje polinoma
Na slici 6.2 prikazan je primer deljenja polinoma T(x)/G(x), gde je
T(x) = x
10
+ x
9
+ x
7
+ x
5
+ x
4
i
G(x) = X
4
+ x
3
+ 1
Ovo je slino obinom deljenju polinoma koje poznajete iz algebre, osim to se koristi aritmeti-
ka modula 2. Sabiranje i oduzimanje po modulu 2 definie se na sledei nain:
0 + 0 = 0 1 + 0 = 1 0 + 1 = 1 1 + 1 = 0
0 - 0 = 0 1 - 0 =1 0 - 1 = 1 1 - 1 =0
i
SLIKA 6.3 Sintetiko deljenje (xlO + x9 + x7 + x5 + x4)/( x4 + x3 + 1)
Primeujete da su sabiranje i oduzimanje po modulu 2 identini operaciji iskljuivo ILI (exdusive
OR). Ovo je znaajna injenica koju emo koristiti kasnije u raspravi o implementaciji CRC-a.
Na slici 6.3 prikazano je sintetiko deljenje istih polinoma. Moda se seate iz algebre da
postoji jedna preica koja koristi samo koefkijente polinoma (u ovom sluaju nizove bitova).
Zapamtite da treba da koristite nule na mestima gde nedostaju lanovi polinoma, tako
da je 11010110000 lista koeficijenata za polinom x
10
+ x
9
+ x
7
+ x
5
+ X
4
, a 11001 za polinom
X
4
+ x
3
+ 1.
Nain kako CRC funkcionie
Pogledajte sada kako CRC funkcionie. Pretpostavimo da elite da poaljete niz bitova 1101011,
a da je generator polinoma G(x) - X
4
+ r
3
+ 1; kasnije emo predstaviti neke kriterijume za
izbor G(x).
1. Dodajte nule na kraj niza. Broj 0 je isti kao i stepen generatora polinoma
(u ovom sluaju 4). Tako dobijamo niz 11010110000.
2. Podelite B(x) sa G(x). Na slikama 6.2 i 6.3 pokazan ju rezultat za ovaj primer, sa
ostatkom R(x) = X
3
+ x, ili bitskim ekvivalentom 1010. Napomenimo da ovo moe
da se predstavi jednainom
SLIKA 6.4 Deljenje T(x) sa G(Y)
* Postoji analogija sa korienjem celih brojeva - ako su p\ q celi brojevi i ako je r cclobrojni ostatak dobijen deljenjem p sa
q, onda je p - r deljivo sa q. Na primer, 8/3 generie oslalak 2, a S - 2 je deljivo sa 3.
Primeujete da je niz T, u stvari, isti kao i string B sa dodatim nulama zamenjenim sa
R. Sledea vana mjenica, koja je pokazana na slici 6.4, je da dobijamo ostatak O
ako podelimo T(x) sa GCxJ,.* Nakon toga, poiljalac prenosi niz T.
4. Ako niz T stigne bez greaka, deljenje sa C(x) e dati ostatak O. Ali, pretpostavimo da
je niz T oteen u toku prenosa. Na primer, neka su neki bitovi na sredini promenjeni
u 0, tako da je primljen niz 11000001010. Primalac vri sintetiko deljenje sa G(x) i
ostatak je razliit od 0 (slika 6.5). Poto je ostatak razliit od 0, primalac zakljuuje
da je dolo do greke.
3. Definiite T(x) = B(x) - R(x). Poto oduzimanje uzima razlike izmedu koeficijenata
odgovarajuih lanova, razliku izraunavamo oduzimanjem bitova koji su pridrueni
svakom polinomu. U ovom sluaju imamo
gde Q(x) predstavlja koliinik. Ekvivalentno, moemo da zapiemo
B(x) = G(x) x Q(x) + R(x)
niz T= 11010111010 odgovara polinomuT(x) = x
10
+ x
9
+ x
7
+ x
5
+ x
4
+ x
3
+ x
niz E = 00010110000 odgovara polinomu E(x) = x
7
+ x
5
+ x
4
niz T = 11000001010 odgovara polinomu T(x) = x' + x'
J
+ x
3
+ x
Analiza CRC-a
Mehanizam CRC-a je sasvim jednostavan. Jo uvek nismo odgovorili na pitanje ima li ikakve koristi
od ovog metoda. Da li e primalac raoi da detektuje oteeni okvir? Oslanjamo se na pretpostavku
da e deljenje oteenog okvira sa G(x) dati ostatak razliit od nule. Ali, da li je to uvek tano? Da li
je mogue da se bitovi u nizu T promene tako da posle deljenja sa G(x) ostatak bude nula?
Kompletan i detaljan dokaz zahteva poznavanje svojstava faktorizacije prstena polinoma (oblast
apstraktne matematike) i ovde se neemo baviti time. Umesto toga, sledi kraa rasprava koja e
Vam pomoi da steknete oseaj za nain na koji funkcionie. Za poetak, definiimo preciznije
ta traimo. Promena bitova u nizu T je analogna sabiranju nekog nepoznatog polinoma sa
T(x). Dakle, ako T predstavlja primljeni niz i ako je T(x) pridrueni polinom, onda je
T(x) = T(x) + E(x), gde je E(x) nepoznat primaocu niza T. U prethodnom primeru
(Napomena: Ovo nije isto kao da kaemo da deljenje oteenog niza sa G(x) uvek daje ostatak
razliit od O. To moe da se desi, ali, ako je G(x) paljivo odabran, to e se desiti veoma retko.
Ovo je sledea tema koju emo obraditi.)
SLIKA 6.5 Deljenje primljenog polinoma sa G(x)
Ne zaboravite da se sabiranje izvodi pomou operacije iskljuivo ILI. Na primer, sabiranje
lanova x
7
iz E(x) i T(x) daje x
7
+ x
7
= (1 + 1) x x
7
= 0.
Moramo da damo odgovor na pitanje kada T(x) + E(x)/G(x) daje ostatak nula. Poto je
(T(X) + E(x))/G(x) = T(x)/G(x) + E(x)/G(x) i poto prvi lan daje ostatak nula, drugi lan odreuje
ostatak. Zbog toga, postavljeno pitanje moe da se preformulie tako da glasi za koje polinome
E(x) deljenje E(x)/G(x) daje ostatak nula.
Sada moemo da tvrdimo sledee:
Nedetektovane greke u toku prenosa odgovaraju grekama za koje je G(x) faktor polinoma E(x).
Sledee pitanje je pod kojim je uslovima G(x) faktor polinoma E(x). Prouiemo najpre
najjednostavniji primer, gde se rnenja samo jedan bit u nizu T. U ovom sluaju E(x) ima samo
jedan lan - X
k
za neki celi broj k. Jedini nain da G(x) bude faktor X
k
je da je G(x) jednako
x podignut na neki stepen. Sve dok biramo G(x) sa najmanje dva lana, to nee biti mogue. Tako
e CRC moi da detektuje sve jednostruke greke.
Zatim, razmotrimo navalnu greku duine kr = stepen G(x).* Pretpostavimo da je polinom
T(x) predstavljen kao
t
n
tn-1 . . . tf+fc.jtj+fc.2 . t, tj.] . . . t^tg
k bitovi na koje smetnje utiu (k affected bits)
a su prvi i poslednji bit koji e biti oteeni. Bitovi izmedu ova dva bita se proizvoljno
menjaju. To znai da je
Zato je
Pretpostavimo sada da je G(x) izabrano tako da x nije faktor G(x). Zbog toga, G(x) i iz
prethodnog razlomka nemaju zajednike faktore. Ako je G(x) faktor brojioca, onda mora da bude
faktor , Poto smo izabrali k < r, onda je k - 1 < r i G(x) ne moe da bude faktor
polinoma sa manjim stepenom.
Zato donosimo sledei zakljuak:
Ako x nije faktor G(x), onda se detektuju sve navalne greke koje imaju duinu manju, ili jednaku
stepenu G(x).
Razmotrite sledeu navalnu greku bilo koje duine u kojoj je oteen neparan broj bitova. Poto
(x) ima lan za svaki oteeni bit, sadri neparan broj lanova. Zbog toga, E(I) (iskljuivo ILI
neparnog broja jedinica) daje 1. Sa druge strane, pretpostavimo da je x + 1 faktor polinoma G(x).
U tom sluaju, moemo da zapiemo G(x) = (x + 1) x H(x), gde je H(x) neki izraz.
* Stepen polinoma je najvei eksponent za x.
Pogledajte sada ta se deava ako se pretpostavi da su se javile neke nedetektovane greke.
Seate se da nedetektovana greka znai da je G(x) faktor polinoma E(x). Zamenom G(x) sa
(x + 1) x H(x) dobija se da je E(x) = (x + 1) x H(x) x K(x). Sada, ako se ova jednadna izrauna
za Jc = 1, faktor x + 1 izjednaava E(IJ sa 1.
Jasno je da oboje ne moe da se javi istovremeno. Ako i dalje pretpostavljamo da je x + 1 faktor
polinoma C(x), onda pretpostavka o nedetektovanoj greci koja oteuje neparan broj bitova nije
opravdana. Drugim reima:
Ako je x + 1 faktor G(x), onda su sve navalne greke koje oteuju neparan broj
bitova detektovane.
Poslednji sluaj koji razmatramo je navalna greka sa duinom veom od stepena polinoma G(x).
Na osnovu prethodne rasprave zakljuujemo da je
Meutim, poto ovoga puta pretpostavljamo da je k > 1 = r = stepen G(x), mogue je da je G(x)
faktor ... + 1). Kolike su anse da e se ovo desiti? Razmotrimo najpre sluaj k - 1 = r.
Poto je stepen polinoma G(xJ takode r, onda injenica da je G(x) faktor znai da je
#(xj + ... + 1). Sada anovi izmedu i 1 defmiu bitove na kojima je dolo do greaka. Poto
postoji r - 1 takvih anova, postoji 1 moguih kombinacija oteenih bitova. Ako pretpostavi-
mo da se sve kombinacije javljaju sa podjednakom verovatnoom, postoji verovatnoa od da
kombinacije tano odgovaraju lanovima polinoma G(x). Drugim reima, verovatnoa da neke
greke nee biti detektovane iznosi
Sluaj za k - 1 > r je sloeniji i ovde ga neemo analizirati. Medutim, mogue je pokazati da
verovatnoa da neke greke nee biti detektovane iznosi U referencama [Pe72] i [Mo89]
moete da pronadete detaljniju analizu kodova za detekciju greaka.
CRC se iroko koristi u lokalnim mreama (LAN mreama), gde postoje standardni polinomi za
GIx), poput sledeih:
CRC-12: x
12
+ x" +X
3
+ x
2
+ x+ 1
CRC-16: x'
s
+ x
, 5
+ x
2
+ ]
CRC-ITU: x
16
+ x
n
+ X
5
+1
CRC-32: X
32
+ x
26
+ x
2 i
+ x
22
+ x>
6
+ x
n
+ x"
+ x"
>
+ x
8
+ x
7
+ x
5
+ x
4
+ x
2
+ x+ 1
U optem sluaju, CRC je veoma efikasan ako se G(x) ispravno izabere. Specifino, G(x) moe da
se izabere tako da x nije faktor, ali x+l jeste. U ovom sluaju CRC detektuje sledee greke:
$ Sve navalne greke duine r manje od stepena polinoma G(x)
$ Sve navalne greke koje utiu na neparan broj bitova
$ Sve navalne greke ija je duina jednaka r + 1, sa verovatnoom
$ Sve navalne greke ija je duina vea od r + 1, sa verovatnoom
Na primer, CRC-32 polinom detektuje sve navalne greke ija je duina vea od 33, sa
verovatnoom Ovo je ekvivalentno 99,99999998 odsto tanosti. Nije loe.
Implementacija CRC-a pomou ciklinih pomeranja
Pronalaenje metoda za detekciju greaka sa zadovoljavajuom tanou predstavlja samo jednu
polovinu "bitke". Drugu predstavlja pronalaenje naina za efikasnu implementaciju. Ako
uzmete u obzir bezbroj okvira koji se prenose preko mree, shvatiete da je efikasna imple-
mentacija od sutinskog znaaja.
Nakon to savladate osnovne principe CRC-a, Vaa prva reakcija moe da bude pisanje programa
koji vri deljenje polinoma. Medutim, dok se takav program izvri, verovatno e pristii jo neko-
liko okvira. Dok se provere svi ti okviri, verovatno e pristii jo vei broj okvira i nastae pravo
"usko grlo". To bi bilo isto kao da kasirka trai proveru cene za svaki otkucani artikl; u meuvre-
menu, iza Vas bi se stvorio dugaak red ljudi sa zajedljivim komentarima, a istopili bi se i svi
sladoledi koje ste kupili!
Postoji li nain da podelimo dva polinoma i brzo dobijemo ostatak? Da li uopte moramo da
prolazimo kroz kompletan proces deljenja ako nam je potreban samo ostatak? Kolinik se nigde
ne koristi. Pogledajmo paljivije sliku 6.5, na kojoj je prikazano sintetiko deljenje. Ceo proces
moe da se zamisli kao sekvenca pomeranja i iskljuivih ILI operacija izmedu delitelja i delova
deljenika.
Cesta implementacija CRC-a koristi kolo koje se konstruie u zavisnosti od generatora polinoma
G(x}. Poto postoje standardni polinomi, ova kola mogu masovno da se proizvode. KoIo sadri
pomeraki registar i izvodi operaciju iskljuivo ILI u skladu sa sledeim pravilima:
$ G(x) = ! gde je b, ili O ili 1, a i = O, ... r. Broj bitskih
pozicija Li registru je r. Krajnja desna pozicija odgovara lanu bO, a krajnja leva b^X''
1
.
$ Iskljuivo ILI kolo se nalazi desno od bilo koje pozicije kojoj je pridruena vrednost
b| jednaka 1.
$ Niz bitova se uvodi u registar jedan po jedan, poevi od krajnje desne pozicije.
$ Kada se uvede novi bit, svi koji se ve nalaze u registru pomeraju se ulevo za jednu
poziciju. Svaki bit se proputa kroz iskljuivo ILI kolo gde postoji, formirajui jedan
operand za operaciju iskljuivo ILI.
$ Bit sa krajnje leve pozicije se proputa kroz svako iskljuivo ILI kolo, formiraju
drugi operand svake operacije iskljuivo ILI.





Na slici 6.6 prikazani su registar i kola iskljuivo ILI za polinom Primeujete
simbol operacije iskljuivo ILI desno od pozicija koje odgovaraju lanovima i 1, a nema ih
desno od pozicija koje odgovaraju lanovima i x. Inicijalno, u registru se nalaze sve nule.
Na ovoj slici prikazana su ista izraunavanja kao i na slici 6.5. LI koraku O prvi bit dolazeeg niza
(deljenik sa slike 6.5) pomeren je na krajnju levu poziciju u registru. LI koraku I krajnji levi bit
se proputa kroz svako iskljuivo ILI kolo i sve se pomera ulevo.
SLIKA 6.6 Deljenje korienjem ciklinih pomeraja
znai iskljuivo ILI
Primeujete da su sadraji registra identini rezultatu prve operacije iskljuivo ILI iz koraka 1 sa
slike 6.5.
Svaki korak definie isti proces pomeranja ulevo i izvodenja operacije isldjuivo ILI. Sadraji
registra u svim koracima odgovaraju rezultatima slino oznaenih koraka sa slike 6.5. Kada
bitovi iz dolazeeg niza budu proputeni kroz registar, u registru e se nai ostatak (korak 7 na
slikama 6.5 i 6.6).
stepenl x
Inicijalno stanie
korak 0
korak 1
korak 2
korak 3
korak 4
korak 5
korak 6
korak 7
11000001010
0001010
001010
QlOlO
1010
010
10
0
dolazel niz bitova
Detektovanje greaka pomou CRC-ja je taan i iroko korien metod. Moe efikasno da se
implementira, a potrebno vreme je proporcionalno duini niza. Standardni generator polinomi
omoguavaju hardversku implementaciju celokupnog metoda (u ipovima), ime je dalje
poboljana njegova efikasnost.
6.4 Hamingovi kodovi: Korekcija greaka
Kao to smo ranije istakli, kada se greke detektuju, obino postoje dve opcije: ponovno slanje
originalnog okvira i ispravljanje oteenog okvira. Druga opcija pored metoda za detektovanje
greaka zahteva i precizno utvrdivanje bitova na kojima su se greke desile. Ovo nije mogue
izvesti jednostavnom proverom parnosti.
Korigovanje jednostruke greke
Metod koji je razvio R. W. Hamming ukljuuje kreiranje specijalnih kodnih rei na osnovu
podataka koji se alju. Hamingov kod zahteva umetanje viestrukih bitova parnosti u niz bitova
pre nego to se poalje. Bitovi parnosti proveravaju parnost na stratekim lokacijama. Ideja je
sledea: ako se bitovi promene, njihove pozicije odreuju jedinstvene kombinacije greaka
prilikom provere parnosti. Kada se okvir poalje, primalac ponovo izraunava bitove parnosti.
Ako dode do bilo koje greke, kombinacija greaka moe da pokae koji je bit promenjen. Nakon
toga, primalac moe da postavi bitove na tane vrednosti. Ova tehnologija je prilino esta
prilikom adresiranja memorije i prenosa bitova iz registara u RAM i nazad.
Ilustrovaemo primenu Hamingovog koda na najjednostavnijem sluaju detektovanjem i korigo-
vanjem greke na jednom bitu. Pretpostavimo da okviri sadre osam bitova. Oznaimo ih kao m
1
m
1
vr? m
i
m
5
rrfi m
7
m
8
- Sledei korak je definisanje bitova parnosti za proveru parnosti na
selektovanim pozicijama. Nameu se logina pitanja koliko emo provera parnosti koristiti i koje
su pozicije obuhvaene jednom proverom.
Ako koristimo jednu proveru parnosti, ona e ili uspeti, ili nee uspeti. Na osnovu toga, moemo
da zakljudmo da se greka javlja, ili ne javlja. Ako koristimo dve provere tanosti, mogua su
etiri ishoda: obe e biti neuspene, obe e biti uspene, prva nee biti uspena, a druga hoe, ili
druga nee biti uspena, a prva hoe. Ova etiri ishoda mogu da se koriste za predstavljanje etiri
dogadaja: nema greke, ili postoji greka u jednom bitu na tri mogue pozicije. Poto postoje vie
od tri bitske pozicije, dve provere parnosti nisu dovoljne.
U optem sluaju, ako se koristi n provera parnosti, postoji 2" moguih kombinacija neuspeha i
uspeha. Svakoj bitskoj poziciji moramo da pridruimo jedinstvenu kombinaciju koja e pri-
maocu omoguiti analiziranje provera parnosti i donoenje zakljuka o poziciji na kojoj je dolo
do greke (ako je dolo do greke). Medutim, da bi se uzele u obzir sve bitske pozicije, potrebno
nam je n tako da je 2" vee od broja poslatih bitova. Osim toga, moramo da zapamtimo da svaka
dodatna provera parnosti zahteva slanje jo jednog bita.
U tabeli 6.1 prikazana je relacija izmeu n i broja poslatih bitova, uz pretpostavku da se alje
8-bitni okvir. Kao to je pokazano, ako se koriste etiri provere parnosti, postoji 16 moguih
kombinacija za uspene i neuspene provere parnosti.
etiri dodatna bita parnosti sa osam originalnih bitova podrazumevaju stvarno slanje 12 bitova.
Dakle, mogue je da e se desiti 13 razliitih dogadaja: nema greke, ili greka postoji u jednom
bitu na nekoj od 12 pozicija.
Sledei korak je pridruivanje kombinacije jedinstvenom dogadaju. Da bi se to izvelo, konstruiu
se etiri bita parnosti p\ p
1
, p
3
, i p
4
i umeu se u kadar na nain koji je prikazan na slici 6.7. Svaki
bit parnosti uspostavlja parnu parnost za selektovane pozicije naznaene na slici. Zato se bitovi
parnosti postavljaju na tim pozicijama? Kako da utvrdimo pozicije za sve provere parnosti?
Da bismo dali odgovore na ova pitanja, prouiemo pozicije ukljuene u svaku proveru
parnosti. Prva provera ukljuuje sve bitove na neparnim pozicijama. Te pozicije, ako se zapiu u
binarnom obliku, imaju 1 kao bit najmanje teine. Ako u binarnom obliku zapiete pozicije
obuhvaene drugom proverom, one e imati 1 na pozicijama bita druge najmanje teine. Slino
tome, trea i etvrta provera imaju 1 na pozicijama koje odgovaraju bitovima tree i etvrte
najnie teine, respektivno.
Kako nam ovo moe pomoi? Kreirajte 4-bitni binarni broj koji se sastoji od fc
4
, b
3
, b
2
, i b
]
gde je
fy = O ako je provera parnosti za p, uspena, a u suprotnom je fy = 1 [i = 1, 2, 3, ili 4). U tabeli 6.2
prikazana je relacija izmedu pozicija sa pogrenim bitovima, nevalidnim proverama parnosti i
4-bitnim brojem.
Bit na poziciji 1 Bit na poziciji 12
parna parnost za pozicije 1, 3, 5,7, 9, 11
parna parnost za pozicije 2, 3, 6, 7, 10, 11
parna parnost za pozicije 4, 5, 6, 7, 12
parna parnost za pozicije 8, 9, 10, 11, 12
SUKA 6.7 Hamingov kod za jednostruke greske
1
2
3
4
9
10
11
12
l
4
8
16
n (Broi provera parnosti) Broj poslatih bitova
2" (broj moguih kombinacija
uspenih i neuspenih parnosti)
SLIKA 6.8 Mz bitova pre prenosa
0 1 1 0 0 1 1 1
0 1 0 1 1 1 0 1 0 1 1 1
Hamingov kod:
Podaci:
Kao to je pokazano u tabeli, postoji poklapanje izmedu 4-bitnog binarnog broja i pozicija sa
pogrenim bitom.
Kada primalac dobije preneti okvir, izvrava provere parnosti. Kombinacija neuspeha i uspeha
odreduje da li je dolo do greke i, eventualno, na kojoj se poziciji greka pojavila. Kada primalac
zna gde se greka javila, on je ispravlja tako to menja vrednost bita na toj poziciji.
Ilustracije radi, razmotrite primer sa slike 6.8. Ovde vidimo da Je inicijalni okvir bio 0110-0111,
a da je preneti Hamingovkod 0101-1101-0111. Ako elite da se uverite da li bitovi parnosti daju
parnu parnost na odgovarajuim pozicijama, morate sami da izvrite potrebna izraunavanja.
Na slici 6.9 pokazano je da je primljeni okvir 0101-0101-0111, Sada, ako izvrite proveru
parnosti, videete da su provere za pl i p3 netane, tj. postoji neparan broj jedinica na
pozicijama 1, 3, 5, 7, 9 i 11 i na pozicijama 4, 5, 6, 7 i 12. Znai, prema tabeli 6.2, greka je u
bitu 5. Poto bit 5 ima vrednost 0, primalac ie menia u 1 i okvir je ispravlien.
Nema greke
1
2
3
4
5
6
7
8
9
10
11
12
Ni j edna
P
1
P
2
P
1
i P
2
P
3
P
1
i P
3
P
2
i P
3
P
1
, P
2
i P
3
P
4
P
1
i P
4
P
2
i P
4
P
1
, P
2
, i P
4
P
3
, i P
4
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
Pozicija bita sa grekom Netana provera parnosti b4, b3, b2 i bl
Korigovanje viestrukih greaka
O kodovima za korekciju jednostrukih greaka moemo da damo slian komentar kao i o
kodovima za detekciju jednostrukih greaka. Greke u samo jednom bitu su retke prilikom
razmene podataka. Takvi kodovi postoje, ali ih neemo ovde predstaviti. Broj dodatnih bitova
moe da postane toliko veliki da se koriste samo u specijalizovanim sluajevima. Ako ste
zainteresovani, raspravu o tim kodovima moete da pronadete u referencama [Ko78 ] i [Ha80 ].
Postoji jo jedna klasa metoda za korekciju greaka koju vredi pomenuti: Bose-Chaundhuri-
Hocquenghem (BCH-iz oiglednih razloga) kodovi i Reed-Solomonovi kodovi, koji predstavlja-
ju potklasu BCH kodova. Oba metoda koriste koncept kodnih rei, kolekcije od N bitova, iza koje
sledi M kontrolnih bitova greke, koji se izraunavaju na osnovu bitova podataka. Kodna re ima
N + M bitova i postoji 2
N
moguih kodnih rei. Samo su N bitovi proizvoljni, a preostalih M
bitova je strogo odreeno. To znai da, iako postoji 2
N+M
moguih bitskih sekvenci, samo 2
N
tih
kombinacija (manji broj u poredenju sa ukupnim brojem) predstavlja legitimne kodne rei.
Na primer, ako je N = 8 i M = 4, postoji 28 = 256 legitimnih kodnih rei od moguih 212 = 4096
bitskih sekvenci.
Kljuni koncept ovih kodova podrazumeva da postoji odredeno rastojanje izmeu dve kodne rei,
tj. da postoje razliiti bitovi u tim kljunim reima. Na primer, dva Hamingova koda 0101-1101-
0111 i 1001-1001-0111 imaju rastojanje 3, jer se razlikuju u tri bita (prvi, drugi i esti bit). Svaki
skup kodnih rei ima minimalno rastojanje. Da bi se ono utvrdilo, izraunavaju se rastojanja
izmedu svih parova kodnih rei. Najmanja izraunata vrednost predstavlja minimalno
rastojanje tog skupa kodnih rei.
SLIKA 6.9 Provera parnosti u okviru nakon prenosa
Greka je na poziciji 0101 =5
Oznaava bitove proverene pomou p4; provera parnosti Je uspena.
Oznaava bitove proverene pomou p3; provera parnosti nije uspena.
Oznaava bitove proverene pomou p2; provera parnosti Je uspena.
Oznaava bitove proverene pomou p l ; provera parnosti nije uspena.
1
0
1
0
Broj pozicije
Primljeni niz bitova:
0 1 0 1 0 1 0 1 0 1 1 1
Minimalno rastojanje je znaajno, zato to je direktno povezano sa brojem oteenih bitova koje
je mogue detektovati i ispraviti. U optem sluaju, ako je d minimalno rastojanje, ovaj metod
moe da detektuje sve greke koje utiu na manje od d bitova (takva promena daje neispravnu
kodnu re) i moe da ispravi sve greke koje utiu na manje od d/2 bitova.
Na primer, pretpostavimo da je minimalno rastojanje skupa kodnih rei d = 10. Znai, bilo koje
dve legitimne kodne rei moraju da se razlikuju najmanje u 10 bitova. Greke koje utiu na manje
od d/2 = 5 bitova mogu da se isprave. Da biste ovo videli na konkretnom primeru,
pretpostaviemo da je kodna re poslata i da je dolo do greke u etiri bita. U tom sluaju,
rezultat nee predstavljati validnu kodnu re (da bi se kreirala validna kodna re, mora da se
promeni najmanje 10 bitova). Osim toga, smatraemo da primalac pretpostavlja da e sve greke
uticati na manje od pet bitova. Primalac neispravne kodne rei mora da pronae najbliu
legitimnu kodnu re; kada je pronae, zakljuuje da je to ispravna poslata kodna re. Sve druge
kodne rei bi morale da imaju namanje est pogrenih bitova da bi podseale na primljenu re.
Naravno, trik je u tome da se kodne rei izaberu tako da minimalno rastojanje bude to vee.
Na taj nain se maksimizira broj bitova koje je mogue detektovati i ispraviti. BCH kodovi, a
posebno Reed-Solomonovi kodovi, upravo to i rade. Ipak, za detaljnije opise ovih metoda
neophodno je poznavanje poljaa Galoa (Galois), teorije o matricama i generator polinoma, tako
da emo zainteresovane itaoce uputiti na reference [GrOl], [Wi95], i [Sw02]. Medutim, ne
dopustite da Vas sloenost ovih metoda navede na pomisao da je re o nekim apstraktnim
teorijama visokog nivoa, koje imaju samo nekoliko primena. Kada sledei put budete sluali
muziku sa CD-a, ili gledali film sa DVD-ja, setite se da oni koriste prednosti Reed-Solomonove
tehnologije.
6.5 Zakljuak
U ovom poglavlju su prvenstveno obradene dve teme: detektovanje i korigovanje greaka
nastalih prilikom prenosa informacija. Detekcija jednostavno podrazumeva utvrivanje da li je
dolo do greke; ako je dolo, onda se oslanja na druge protokole za ugovaranje dodatnih
razmena da bi bile dobijene tane informacije. Korekcija podrazumeva izvravanje promena
nakon to se podaci prime bez dodatnih prenosa.
Predstavljena su tri metoda.
Bitovi parnosti Ovaj metod detekcije greaka namenjen je prvenstveno detekciji
jednostrukih greaka, a navalne greke detektuje sa verovatnoom 50 odsto. Medutim,
moe da bude koristan kada se bitovi prenose zasebno, kao kod nekih memorijskih
arhitektura. Osim toga, predstavlja osnovu za tehnike korekcije greaka.
Ciklina provera redundantnosti Ovaj metod detekcije greaka zasnovan je na
teoriji deljenja polinoma. Nizovi bitova se interpretiraju kao polinomi. CRC bitovi su
kreirani tako da, kada se poruka podeli sa generator polinomom, dobijate ostatak
deljenja jednak nuli. Deljenjem primljene poruke sa generator polinomom i proverom
ostatka deljenja sa velikom tanou moe da se utvrdi da li je dolo do greaka u
toku prenosa. Ovaj metod se esto koristi i lako se implementira korienjem ciklinih
pomerakih kola i registra. Odredeni polinomi su proglaeni standardima.
Hamingov kod Ovaj kod za korekciju greaka uspostavlja kolekciju bitova parnosti
na stratekim pozicijama. Ako dode do jednostruke greke, njegova pozicija utie na
jednistvenu kombinaciju provera parnosti. Ovo ne samo da omoguava
detektovanje greke, ve i utvrivanje pozicije bita na kome je dolo do greke.
Ako se zna pozicija greke, onda se lako moe i otkloniti.
Dakle, ta je bolje: detektovanje, ili korekcija greaka? Kao to ste mogli i da oekujete, odgovor
je da ni jedno nije bolje, bar u optem smislu. Tehnike za korekciju u optem sluaju zahtevaju
vee trokove i ne mogu u svim primenama da opravdaju svoje postojanje, ukoliko se greke
retko javljaju. Obino je mnogo jeftinije jednostavno zatraiti ponovni prenos oteenih infor-
macija. Tipino, veina kompjuterskih mrea se ubraja u ovu kategoriju.
Ako se greke ee javljaju, dodatni trokovi zbog ponovljenih prenosa poinju da predstavljaju
problem. U takvim sluajevima je moda jeftinije ukljuiti dodatne bitove korekcije, umesto da
se medijum optereuje preteranim redundantnim prenosima.
Uestalost pojave greaka nije jedini faktor koji treba uzeti u obzir. I ponovno slanje okvira
zahteva odreeno vreme. Trajanje zavisi od brojnih faktora, kao to su koliina saobraaja,
brzina prenosa podataka i rastojanje. U veini sluajeva, kratko kanjenje kod prijema email poru-
ka, ili fajla sa IAN servera nije "strano", a ponekad nije ni primetno. Medutim, u real-time
okruenjima kod kojih se poruke moraju isporuiti pravovremeno da bi se izbegle katastrofe, ak ni
ovako mala kanjenja nisu doputena. Real-time aplikacije, kao to su gledanje, ili sluanje multi-
medijalnih zapisa, ne mogu sebi da "priute luksuz" ponovnog slanja oteenih podataka. Podaci
moraju da se vide, ili uju im se poalju. Sonde za svemirska ispitivanja, kod kojih
signali putuju po nekoliko sati do svojih odredita, ozbiljno su hendikepirane ako se poruka mora
ponovo preneti, posebno ako postoji velika verovatnoa da e se smetnje ponovo pojaviti. Zamislite
astronauta koji kae: "Halo, NASA, ne ujemo vas. Sta ste rekli u vezi preteeg sudara sa vanze-
maljskim brodom?".
Pitanja i zadaci za proveru
1. ta je bit parnosti?
2. Koja je razlika izmedu parne i neparne parnosti.
3. Koja je razlika izmedu korekcije greaka i detekcije greaka.
4. Sta je navalna greka?
5. Da li su sledee tvrdnje tane, ili netane (zato)?
a. Nije neuobiajeno da se izgube jedan, ili dva bita u toku prenosa.
b. Iako je tana tehnika, CRC je vremenski sloena tehnika, jer zahteva dodatne
trokove.
c. Generator polinom moe da se izabere proizvoljno sve dok i poiljalac i primalac
znaju o kom polinomu je re.
d. CRC e detektovati navalnu greku proizvoljne duine sve dok je broj bitova koji
se menjaju neparan.
e. Kodovi za korekciju greaka su efikasniji od kodova za detekciju greaka, jer ne
zahtevaju rentransmisiju podataka.
6. ta je ciklina provera redundantnosti?
7. Pod kojim uslovima CRC detektuje sledee greke?
a. jednostruke greke
b. dvostruke greke
c. navalne greke ija je duina manja, ili jednaka stepenu generator polinoma
d. navalne greke ija je duina vea od stepena generator polinoma
8. Koje uslove mora da ispuni generator polinom? Zato?
9. Klasifikujte greke koje e CRC metod uvek detektovati.
10. Klasifikujte greke koje CRC metod nee detektovati.
11. Sta je pomeraki registar?
12. Sta je Hamingov kod?
13. Definiite rastojanje izmedu dve kodne rei.
Vebe
1. Navedite argument koji pokazuje da jednostavna provera parnosti detektuje greke
samo u sluajevima kada se promeni vrednost neparnog broja bitova.
2. Pretpostavite da neki statiki elektricitet koji traje 0,01 sekundu utie na komunika-
cionu liniju za 56 Kbps modem. Na koliko bitova ova smetnja moe da utie?
3. Pretpostavite da se 128 bitova podataka proverava pomou metoda za detekciju greaka
koji koristi eksumu. Navedite primer koji pokazuje da je mogue da se promene vred-
nosti dva bita i da greke ne budu detektovane. Navedite jo jedan primer koji pokazuje
da je mogue promeniti tri bita podataka, a da greke ostanu nedetektovane. Da li je
mogue da se promene svi bitovi, a da greke i dalje ne budu detektovane?
4. Zato se za 0 - 1 = 1 koristi oduzimanje po modulu 2?
5. Koji polinom odgovara sledeem nizu bitova?
0110010011010110
6. Koristei metode opisane na slikama 6.2 i 6.3, izraunajte ostatak deljenja sledeib
polinoma:
7. Pretpostavite da elite da poaljete podatke 100111001 i da je generator polinom
X
6
+ x
3
+ 1. Koji je niz bitova stvarno poslat?
8. Nacrtajte ciklini pomeraki registar i iskljuiva ILI kola za CRC-12 i CRC-16 standardne
polinome.
9. Koristei ciklina pomeranja, izraunajte ostatak deljenja sledecih polinoma:
Reference
[GrOl ] Gravano, S. Introduction to Error Control Codes. Oxford and New York: Oxford
University Press, 2001.
Pretpostavite da poiljalac konstruie Hamingov kod za svaki okvir, formirajui
dvodimenzionalni niz (svaki red sadri jedan Hamingov kod), i da alje jednu po
jednu kolonu. Sta primalac dobija ako se zbog greke u etvrtoj koloni prime sve
nule? Primenite metod za korekciju greaka na primljene podatke i ispravite ih.
16. Razvijte Harningov kod koji moe da ispravi sve jednostruke greke i da detektuje sve
dvostruke greke u 8-bitnom nizu podataka.
17. Pretpostavite da 4-bitni broj b
4
b
3
b
2
b
v
koji je opisan u tabeli 6.2, formira broj vei od
12. Sta to znai?
18. Napiite program koji uzima osam bitova podataka i kreira 12-bitni Hamingov kod.
19. Koliko iznosi minimalno rastojanje izmedu dve kodne rei koje su definisane
dodavanjem bita pame parnosti?
20. Koliko iznosi minimalno rastojanje Hamingovog koda definisanog u odeljku 6.4?
21. Pretpostavite da se osam bitova dodaje na 32 bita radi kreiranja 40-bitne kodne rei.
Koji procenat ukupnog broja 40-bitnih kombinacija predstavlja legitimne kodne rei?
22. Koliko bitova u okviru greke moe da detektuje Hamingov kod?
0 1 1 0 1 0 0 1
1 0 1 0 1 0 1 1
1 0 0 1 1 1 0 0
0 1 0 1 1 1 0 0
Broj okvira Podatak
14. Konstruiite Hamingove kodove za svako sledee slovo: A, 0 i {
15. Pretpostavite da poiljalac ima sledee okvire podataka:
10. Prouite dokumentaciju za LAN na Vaem univerzitetu, ili u Vaoj kompaniji i utvrdite
koji se metod za detekciju greaka (ako postoji) koristi.
11. Pretpostavite da generator polinom ima lan x kao faktor. Navedite primer greke koja
nee biti detektovana.
12. Pretpostavite da elite da generiete Hamingov kod za korekciju jednostruke greke za
16-bitni niz podataka. Koliko Je bitova parnosti neophodno? Sta se dogada ako se
koristi 32-bitni niz podataka?
13. Primljeni su sledei 12-bitni Hamingovi kodovi (za korekciju jednostrukih greaka).
Koje ASCIl kodirano slovo predstavlja ovaj niz?
110111110010
I
2
3
4
[Ha80] Hamming,R.W. Coding and Information Theory.EnglewoodCliffs,NJ:Prentice
HaIl, 1980.
[Ko78] Kohavi,Z. Sivitching and Finite Automata Theory,2nded.NewYork:McGraw-Hill,
1978.
[Mo89]Moshos,G. Data Communications: Principles and Problems.St.Paul,MN:West,
1989.
[Pe72] Peterson,W.W.,andEJ.Weldon. Enor Correcting Codes,2nded.Cambridge,MA:
MITPress, 1972.
[Sw02]Sweeney,P. Error Control Coding: From Theory to Practice.NewYork:Wiley,2002.
[Wi95]Wicker,S. Error Control Systems for Digital Communications and Storage.
EnglewoodCliffs, NJ: Prentice HaIl, 1995.
Zatita podataka
Ko moe da ospori da je privatnost dragocena? Uvek je bila oznaka privilegije i karakteristika
istinske urbane kulture. Jo od peinskog doba, preko koliba, puebla i tvrava, ovek je nastojao
da sebi izgradi dom u kome e biti zatien i imati sopstveni kutak. Tako je bilo u svim dobima.
Sirotinja je morala da se "tiska" po gradovima samo iz nude. AH, sa napretkom civilizatije, bilo
je Ijudi koji su sebi mogli da priute luksuz povlaenja na mirna mesta.
Phyllis McGinley (1905-1978), ameriki pesnik, autor
7.1 Uvod
Da li ste ikada naruili neto preko Interneta, ili ste traili da saznate stanje na svojoj kreditnoj
kartici, ili bankovnom raunu preko mree? Moda ste traili kolegine radove na Internetu?
Koliko puta ste zastali i pomislili da je ono to vidite, u stvari, preneto iz neke baze podataka na
Vau lokalnu poziciju i da, teorijski, svako moe da vidi ono to Vam se prikazuje? To ukljuuje
Vae ocene, brojeve kreditnih kartica, bankovnih rauna i stanja i sve ostalo to moe da se
smatra privatnim podacima.
Kada odete u banku, obino neete pokazivati svoje uplate i stanje rauna osobi koja eka u redu
sa Vama. Zbog istih razloga, elektronski transfer novca izmeu banaka mora da bude bezbedan,
tako da neautorizovani ljudi ne mogu da dobiju pristup Vaim finansijskim podacima. Ne samo
banke, vei mnogi drugi komunikacioni sistemi moraju da budu bezbedni. Idealno bi bilo da se
pristup obezbedi samo autorizovanim, a da se zabrani neautorizovanim osobama. Ali, kako da
informacije budu bezbedne ako se alju preko satelita, ili pomou mikrotalasa? Informacije
slobodno "putuju" kroz vazduh i skoro je nemogue spreiti neuatorizovani prijem. ak i kod
kablovskog prenosa moe da bude teko spreiti nekoga da pronade izolovanu taku u ormaru,
ili podrumu i da se ne prikljui na kabl.
Uobiajeni pristup za osiguravanje prenosa, koji je dovoljno jak, ne vodi rauna o neautorizovanom
prijemu. Zato brinuti o neemu to ne moe da se sprei? Umesto toga, ovaj pristup menja (ifruje)
pomke, tako da nisu razumljive za neautorizovane ljude koji ih presretnu. ifrovanje je uobiajeno
kod kablovske televizije (CATV). Svako ko ima CATV moe da prima signal filmskih stanica, ali je on
skremblovan, tako da je gledanje nemogue.
Ako platite odgovarajuu sumu lokalnoj kablovskoj kompaniji, ona e deskremblovati signal, ili Vam
obezbediti uredaj koji e to uraditi. Tek tada moete da gledate raspoloive filmove.
U ovom poglavlju se uglavnom bavimo problemima bezbednosti, ukljuujni protokole da bi se
osiguralo bezbedno rukovanje informacijama i metode koji ifruju i deifruju osetljive podatke.
Odeljak 7.2 poinje opisima nekih uobiajenih algoritama za ifrovanje koji koriste javne
kljueve. Ako znate klju ifrovanja i korieni metod, moete da obrnete proces i da deifrujete
podatke. Neki koriste termin kriptosislemi sa simetrinim Mjuem, jer su esto kljuevi za ifrovanje
i deifrovanje isti. Kasnije ete videti da postoje i druge mogunosti. Naravno, ovaj pristup
podrazumeva da klju mora da bude zatien. Ne sme da padne u pogrene ruke. Kako moemo
na siguran nain da obezbedimo klju i za poiljaoca i za primaoca? Neki od mogudh pristupa
su predstavljeni u odeljku 7.3.
LI odeljku 7.4 obradiemo ifrovanje javnim kljuem. Neemo brinuti da klju ne dospe u
pogrene ruke, jer ga ionako svako zna. Ideja je da, ako neko zna klju i metod za ifrovanje, i
dalje ne bude sposoban za deifrovanje poruke. Osoba mora da zna metod za deifrovanje. Da,
to znai da moda neete moi da deifrujete ni poruke koje ste sami ifrovali. U odeljku 7.4
predstaviemo metod ifrovanja zajednikim javnim kljuem, RSA algoritam i probleme
verifikacije i autentifikacije kod tehnika koje koriste javne kljueve.
U odeljku 7.5 opisaemo Secure Socket Layer (SSL) i Transport Layer Security, najee implementi-
rane pristupe za osiguravanje transfera preko Intemeta. Oni koji se bave takvim aktivnostima
mogu da prepoznaju bezbednu konekciju po tome to URL poinje sa https, umesto uobiajenim
prefiksom http.
Sa stanovita korisnika, najvee probleme verovatno prave kompjuterski virusi i ostale pretnje za
sistem. Virusi napadaju kompjutere, esto unitavajui informacije na njima. Meu ostale pretnje
se ubrajaju ljudi koji pokuavaju da upadnu na odredeni sistem i da pronau privatne informa-
cije. LJ odeljku 7.6 emo predstaviti firevvalle, koji se iroko koriste za zatitu cele infrastrukture
od spoljanjeg sveta. Objasniemp kako firevvalli funkcioniu i neke dizajnerske pristupe za njih.
U odeljku 7.7 saznaete ta su virusi, kako funkcioniu i kako su napredovali u pokuajima da se
izbegnu procedure detekcije.
Konano, u odeljku 7.8 se bavimo ostalim bezbednosnim pretnjama: "crvima" i hakerima.
Naveemo razlike izmeu "crva" i virusa, predstaviti maliciozne hakere i opisati Internet "crv",
optepoznati dogadaj koji je izazvao ozbiljne probleme pre par godina na mnogim kompjuterima.
Bezbednost je izuzetno znaajna oblast, tako da postoje tomovi informacija o toj temi. Llkljueni
su tehniki, pravni i socioloki aspekti. Ovi problemi esto dovode do podela, koje su, recimo,
prouzrokovane razlidtim politikim filozofijama, u SAD udruile Vladu i Nacionalnu
bezbednosnu agenciju (NSA - National Security Agency) u pronalaenju bezbednih ema za
ifrovanje i naina za njihovo zaobilaenje. LI poslednje vreme postoje sporenja i o slobodi
pristupa u akademskim mreama, tako da istraivai pronalaze naine da "razbiju" bezbednosne
sisteme. Da li to rade zbog akademskih, ili zbog nezakonitih razloga? Da biste bili sigurni,
postoji mnogo toga to mora da se "pokrije" u ovoj oblasti, a mi samo moemo da obezbedimo
uvodne informacije o razliitim spornim detaljima.
7.2 Algoritmi za ifrovanje
Metodi za detekciju i korekciju greaka spreavaju da ljudi dobiju netane informacije. Sledei
potencijalni problem je nelegalni, ili neautorizovani prijem informacija. Takvi sluajevi ukljuuju
uobiajenog poiljaoca i primaoca i treu stranu koja presree prenete informacije koje joj nisu
namenjene (slika 7.1). Najgore je to to ni poiljalac, ni primalac moda nee znati da je neko
neautorizovano presreo njihove informacije sve dok trea strana ne zloupotrebi te informacije,
bilo za ucenjivanje, kriminalne prevare, ili naruavanje nacionalne bezbednosti. Ali, do tada teta
je ve udnjena. Jasno, ako nameravamo da aljemo osetljive informacije pomou nekog mediju-
ma, bie nam polreban neki nain za osiguravanje privatnosti.
Uloeni su veliki napori da se informacije koje eventualno mogu da presretnu neautorizovani
korisnici uine nerazumljivim. Prevodenje informacija u drugaiji, neprepoznatljivi oblik naziva
se ifrovanje (encryption). Autorizovani primalac mora da razume informacije, tako da mora da
ima mogunost menjanja ifrovanih podataka u njihov originalni oblik. Taj proces nazivamo
eifrovanje (decryption). Cesto se koriste i termini obini tekst (plaintext) za originalnu
poruku i ifrovani tekst (dpherteXt) za ifrovanu pomku.
Proces Je ilustrovan na slici 7.2. Poiljalac koristi klju ifrovanja (obino neki karakter, ili
numeriku konstantu) za promenu obinog teksta (P) u ifrovani tekst (C). Simboliki, to moe
da se zapie kao C = E]
1
[P), gde E i k predstavljalju algoritam i klju ifrovanja, respektivno. Ako
neka neautorizovana osoba dobije C, nema nikakve koristi od nerazumljivih informacija.
Eventualno, primalac dobija C i deifruje ga da bi dobio originalnu poruku. To se simboliki
zapisuje kao P = D,,.(C), gde su D i fe' algoritam i klju za deifrovanje. U optem sluaju,
P = D,,(E
k
(P)). LI mnogim sluajevima (mada ne uvek), k = k'.
Molim vas da poljete novac na
moj bankovni raun #123456789.
Poiljalac
(Sender)
Primalac
(Receiver)
Neautorizovano "njukalo"
SLIKA 7.1 Slanje nesigurnih poruka
Cezarovo (Caeser) ifrovanje
Jedan od najranijih i najjednostavnijih kodova menja svaki karakter obinog teksta drugim
karakterom. Izbor zamene zavisi samo od karaktera obinog teksta. Ovaj metod se naziva
monoalfabetsko ifrovanje, ili Cezarovo ifrovanje, jer, navodno, datira jo iz vremena Julija
Cezara. Na primer, moete da dodate 1 (klju ifrovanja) na ASCII kod svakog karaktera. Tako A
postaje B, B postaje C i tako redom. Ovaj pristup se iroko koristi, recimo u deijirn TV ouima,
u prstenovima za dekodiranje i na poledini kutija sa itaricama. Na slici 7.2 je korieno
Cezarovo ifrovanje. Moete da li da zamislite razumne motive za kasnije zamene?
Kao i obino, nameu se brojna pitanja. Kako funkcioniu algoritmi za ifrovanje i deifrovanje?
Da li je ifrovana poruka stvarno nerazumljiva za neautorizovanog primaoca? Da li neautorizo-
vani primalac koji zna kako je poruka ifrovana moe da deifruje poruku? Idealno bi bilo da
ifrovanu poruku nije mogue deifrovati bez poznavanja algoritma za deifrovanje i kljua.
Naalost, krajnje bezbedni kodovi su analogni nepotopivim brodovima kao to je Titanih im
budete sigurni da su bezbedni, pokazae se da greite.
SLIKA 7.2 Slanje ifrovanih poruka
P: Obi an tekst
Molim vas da dodate
novac na moj bankovni
raun #123456789.
C = E
k
( p) ifrovani tekst
{;RSDR\SFF\,PMRU\YP\,
U\NSML\SWPIMY\$234
557890
{;RSDR.-.SFF\,PMRU\YP\,
U\NSML\SWPIMY\$234
567890
C: Ciphertext
{;RSDR\SFF\,PMRU\YP\,
U \ NSML \ SWPIMY \S234
567890
P= Du(C): Obi ni t ekst
Molim vas da dodate
novac na moj bankovnl
raun #123456789.
Neautorizovano "njukalo"
Algoritam za deifrovanje normalno obre korake koji su korieni za ifrovanje. U prethodnom
primeru, oduzimanjem 1 od svakog ASCII koda u ifrovanom tekstu dobijaju se karakteri
originalnog obinog teksta. Ovo je sluaj kada su kljuevi za ifrovanje i deifrovanje identini.
Treba da istaknemo da smo u primeru mogli da menjamo ASCII kodove za bilo koju
konstantnu vrednost.
Iako se jednostavno opisuje i definitivno daje nerazumljive poruke, Cezarovo ifrovanje se retko
koristi u ozbiljnim aplikacijama. Relativno se lako dekodira bez poznavanja originalnog metoda
za ifrovanje, jer kod ne radi nita drugo nego prikriva esto koriena slova, ili kombinadje.
Na primer, najee koriena slova engleskog alfabeta su E, T, O
1
A i N. Ako se neko slovo esto
javlja u ifrovanom tekstu, postoji velika verovatnoa da je to neko od navedenih slova, a ne Q,
iliZ. To predstavlja dobru poiaznu osnovu za "razbijae" kodova.
Ilustracije radi, razmotrite sledei ifrovani tekst (sa slike 7.2). Zamislite da nikada niste videli
originalnu poruku.
{;RSDR\SFF\,PMRU\YP\,U\NSML\SVVPIMY\$234567890
Karakteri koji se najee javljaju u ovom primeru su \ - sedam puta, S - etiri puta i R, P i M - po
tri puta. Zato postoji velika verovatnoa da su to zamene za E
1
T, O, A i N, ili, ak, za blanko znak.
Sledei korak bi ukljuivao isprobavanje razliitih kombinacija karaktera obinog teksta na
mestima gde se nalaze ifrovani karakteri. Na primer, nakon nekoliko pokuaja, moete da
otkrijete da parcijalno ifrovani string izgleda ovako (deifrovani karakteri su svetliji):
{;EADE\AFF\,QNEU\YO\,U\NANL\AVVOINY\$234567890
U nastavku moete da primetite da veina poruka ima blanko znakove izmedu rei i da najee
korieni karakter (\) predstavlja blanko znak. Pokuajte da generiete sledei string
{;EADE AFF ,ONEU YO ,U NANL AVVOINY $234567890
Zatim, moete da traite YO i AFF i zapitajte se koliko se dvoslovnih rei zavrava slovom O i
koliko troslovnih rei poinje sa A, iza ega sledi duplo slovo. Nema ih mnogo, tako da moete
da pokuate da zamenite Y sa T i F sa D. Sada imate
{;EADE ADD ,ONEU TO ,U NANL AVVOINT $234567890
Nekim pronicljivim nagadanjima dobijamo napola deifrovanu poruku. Nee biti teko dovriti
poruku (ovo je slino popularnoj igri pogadanja sa veanjem, ili televizijskom ou programu
"Toak sree"). Ovde je vano istai da bezbedan kod ne sme da zadri odredene slovne sekvence,
ili uestalost sa kojom se odredena slova javljaju u originalnoj poruci.
FOLLOW THE YELLOW BRICK ROAD
Polialfabetsko ifrovanje
Jedan od naina da se promene uestalost pojavljivanja slova i uobiajene selcvence je da se
koristi polialfabetsko ifrovanje. Poput monoalfabetskog ifrovanja, svaki karakter se menja
drugim karakterom. Razlika je u tome to se oreeni karakter obinog teksta ne menja uvek
istim ifrovanim karakterom. Zamenu moemo da izaberemo ne samo na osnovu konkretnog
karaktera obinog karaktera, ve i na osnovu njegove pozicije u poruci.
Sledei kodni segment prikazuje jednostavan primer. Nizovi P i C predstavljaju obine i ifrovane
karaktere, respektivno, a K je celobrojni klju.
f or ( i nt i = 0; i <l engt h of P; i ++)
C[ i ] =P[ i ] +K+( i mod 3) ;
Pretpostavite da je K= 1. Zatim se dodaje 1 na ASCII kodove karaktera na pozicijama 0, 3, 6 i tako
dalje; 2 se dodaje na kodove karaktera na pozicijama 1, 4, 7, i tako dalje; 3 se dodaje na kodove
karaktera na pozicijama 2, 5, 8 i tako redom. U sluaju stringa THEMTHENTHEY ifrovani string
je UJHNVKFPWIG\. Izgleda kao da ovo ifrovanje reava problem ponavljanja, ali injenica je da
ga, u stvari, samo redukuje. I dalje se javljaju ponavljanja i odreeni abloni. Na primer, string
THE je ifrovan na tri naina: UJH, VKF i WIG. Ako postoji vie THE podstringova, ifrovane verz-
ije e se ee pojaviti. Moete da koristite vrednost veu od 3 u kodnom segmentu. Tako se
omoguava vei broj moguh naina za ifrovanje THE podstringova, ime je obezbeen manji
broj ponavljanja. Medutim, ako je string dugaak, i dalje e postojati ponavljanja.
Osim toga, postoje i drugi abloni u ifrovanom tekstu. Moete li da ih uoite? Prva slova u
svakom ekvivalentu ifrovanog teksta za podstring THE (U, V i W) su sukcesivna. Isto vai i za
druga po redu slova (/, Ki I) i trea po redu slova (H, F i G), iako su u poslednja dva sluaja slova
preuredena. Ipak, abloni i dalje postoje i, ako profesionalac pokua da "razbije" kod, to je
velika olakica za utvrdivanje korienog meloda ifrovanja. Naravno, postoje i daigi naini da se
abloni "razbiju"; predstaviemo ih neto lasnije.
ifrovanje premetanjem
Sifrovanje premetanjem preureduje slova obinog teksta poruke, umesto da menja karaktere
ifrovanim karakterima. Jedan od nadna da se ovo uradi je da se karakteri obinog teksta
smetaju u dvodimenzionalni niz sa m kolona. Prvih m karaktera obinog teksta se smeta u prvi
red niza, drugih m karaktera u drugi red i tako dalje. Zatim, utvrdujemo permutacije brojeva od
1 do m i piemo ih kao p,, p
2
, . . ., p,. Permutacije mogu da budu sluajne, ili ih odreduje neki
tajni metod. U svakom sluaju, finalni korak je prenoenje svih karaktera iz kolone p,, zatim iz
kolone p
2
i tako redom. Poslednji preneti sluip karaktera je skup iz kolone p,.
Ilustracije radi, pretpostavite da su karakteri sledee poruke smeteni u dvodimenzionalni niz sa
pet kolona (tabela 7.1).
Pretpostavimo da su brojevi kolona ureeni kao 2, 4, 3, 1, 5, tj. da se karakteri u koloni 2 prvi
prenose, zatim slede karakteri iz kolona 4, 3, 1 i 5, respektivno. U tom sluaju preneta poruka
izgleda ovako:
0 YWCALHLB LTE KDFW OIOOELRP
Preneta poruka uopte ne lii na originalnu, ali ako primalac zna brojeve kolona i ako zna
permulacije brojeva kolona, lako moe da rekonstruie originalnu poruku. To se izvodi smetanjem
dolazeih karaktera u kolone, uz pracenje redosleda permutacija. U ovom primeru dolazei
karakteri bi najpre bili smeteni u kolonu 2, zatirn 4, 3, 1 i 5. Ovo je sledei primer u kome se
algoritam deifrovanja definie obrtanjem koraka algoritma za ifrovanje.
Problem kod ifrovanja premetanjem je da nije dovoljno sigurno. Pre svega, zadrana su
originalna slova. Po prijemu, neautorizovani primalac moe da analizira ifrovani tekst i da
primeti visoku uestalost pojavljivanja najee korienib slova. To je ve naznaka da nije
koriena zamena slova i da je moda korieno ifrovanje premetanjem. Sledei korak u
"razbijanju" koda mogu da budu grupisanje karaktera i njihovo smetanje u razliite kolone.
Primalac nee pokuavati nasurnice da utvrdi uredenje kolona, ali e pokuati da otkrije najee
koriene sekvence, kao to su THE, ING, ili IS po redovima. Ovaj proces moe znaajno da
redukuje broj nagadanja i da obezbedi dosta informacija neautorizovanom, ali izuzetno
motivisanom primaocu.
ifrovanje na nivou bitova
Svi prenosi ne podrazumevaja sekvence karaktera. Zato se svi metodi ifrovanja ne bave samo
manipulisanjem, ili zamenom karaktera. Neki funkcioniu na nivou bitova. Jedan metod definie
klju ifrovanja kao string bitova. Izbor je odreden nasumice i tajno. String se prenosi podeljen u
podstringove - duina svakog od njih jednaka je duini kljua ifrovanja. Nakon toga se ifruje
svaki podstring izvodenjem operacije iskljuivo ILI izmedu podstringa i kljua za ifrovanje.
Brojevi kolona
F
W
O
I
O
O
Y
W
C
A
L
T
E
K
D
L
H
L
B
O
E
L
R
R
5 4 3
2 1
U ovom sluaju se deifrovanje ne izvodi obrtanjem koraka za ifrovanje, ve se koraci ponavljaju.
Drugim reima, da bi se deifrovalo neto to je ifrovano pomou operacije iskljuivo ILI, ona se
ponovo izvrava izmedu ifrovanih podstringova i kljua za ifrovanje.
Na slici 7.3 demonstrirano je da dvostruka primena operacije iskljuivo ILI daje originalni string.
Ali, da li to uvek funkcionie tako? Da! Da biste videli zato, neka p
t
bude neki proizvoljni obini
string i neka predstavlja operaciju iskljuivo ILI. Za vreme procesa ifrovanja/deifrovanja, na
pi je dva puta primenjena operacija iskljuivo ILI, ili sa 0, ili sa 1. Ako je bila 0, imamo
Ako je bila I, imamo
U svakom sluaju, dvostruka primena operacije iskljuivo ILI generie originalni bit p
t
.
Sigurnost ovog koda zavisi delimino od duine kljua za ifrovanje. Kra klju znai da je
originalni string podeljen na vie podstringova i da je svaki ifrovan nezavisno. Kada postoji ve broj
podstringova, postoji vea ansa da se jave neka ponavljanja. Poto se ifruju istim kljuem,
ponavljaju se i ifrovani podstringovi. Kao i ranije, ponavljanja mogu da pomognu neautorizovanim
primaocima da lake "razbiju" kod. Dui kljuevi za ifrovanje "razbijaju" ovaj ablon, ali i dalje
postoje neki drugi abloni. Na primer, pretpostavimo da se koristi n-bitni klju za ifrovanje n
bitova obinog teksta. Ako postoje dva n-bitna dela obinog teksta koji se razlikuju za samo jedan
bit, i dve generisane n-bitne ifrovane komponente takode e biti razliite samo za jedan bit. Ozbiljni
kriptolozi mogu da iskoriste ovu injenicu kao olakicu za "razbijanje" kodova.
U ekstremnom sluaju, duina kljua za ifrovanje je ista kao i duina poruke koja se alje. Tada
se svaki bit ifruje korienjem jedinstvenog bita u kljuu. Ako su bitovi kljua stvamo nasumino
izabrani, u ifrovanom stringu nee postojati nikakvi abloni. Osim toga, ako se klju nikada ne
koristi vie puta, nema anse da se pronadu abloni izmedu razliitih ifrovanih tekstova i tako
se dobija kod koji je stvarno nemogue "razbiti" bez isprobavanja svih moguih kljueva za
ifrovanje. Ovakvi kodovi se esto oznaavaju kao one-time pads. Nedostatak dugakih kljueva
je to je obavezna komunikacija sa primaocom, pa je zato metod donekle nezgrapan. Osim toga,
moe da se koristi samo jednom.
1101100101001 Obiantekst
1001011001010 KIJu za ifrovanje
0100111 10001 1 ifrovani tekst = obian tekst na kome je primenjena operacija iskljuivo ILI sa kljuem za ifrovan
100101 1001010 Klju za deifrovanje (isti kao i klju za ifrovanje)
1101100101001 Obini tekst = ifrovani tekst na kome je primenjena operacija iskljuivo ILI sa kljuem za ifrovanj
SLIKA 7.3 Korienje operacije iskljuivo ILI nad bitovima
Standardi za ifrovanje podataka
DES Do sada predstavljeni metodi ifrovanja nisu bili preterano sloeni. U stvari, krai
kljuevi nisu toliko dobri, jer ifrovani tekst sadri mnogo naznaka koje neautorizovanoj osobi
mogu da olakaju "razbijanje" koda. Medutim, kada se koriste dui kljuevi, ifrovani tekst je tei
za "razbijanje". U ekstremnom sluaju, kod je skoro nemogue "razbiti". Ipak, oteana
implementacija dugakih kljueva oteava korienje tog pristupa.
I dalje se koriste pristupi sa kratkim kljuevima (relativno kratkim u odnosu na ifrovanu
poruku); i oni koriste sloene procedure za ifrovanje podataka. Jedan takav metod, nazvan Data
Encryption Standard (DES), razvijen je u IBM-u poetkom 70-ih godina prolog veka na osnovu
eksperimentalnog kriptografskog sistema pod nazivom Lucifer. Usvojio ga je kao standard 1977.
godine National Bureau of Standards (sada NIST), a koristi ga Vlada Sjedinjenih Amerikih
Drava za komercijalne i informacije koje se ne smatraju poverljivim. ANSI ga je odobrio kao
standard privatnog sektora 1981. godine. Primenjuje se u bankarskim transakcijama i za
kodiranje PIN brojeva za maine za automatsko obavetavanje; medu poznatije korisnike
ubrajaju se Department of Justice, Department of Energy i Federal Reserve System. Logika ovog
iroko korienog metoda je ugraena hardverski (VLSI ipovi), tako da je jo bri.
DES je primer blokovskog ifrovanja. Poruka se deli na 64-bitne blokove - svaki od njih se
ifruje. Koristi 56-bitni klju* i sloene kombinacije premetaja (preuredenje bitova), zamena
(jedne grupe bitova drugom), operacija iskljuivo ILI i nekoliko drugih obrada bloka za
eventualno kreiranje 64 bita ifrovanih podataka. Sve u svemu, 64-bitni blok prolazi kroz 19
sukcesivnih koraka, gde izlaz svakog koraka predstavlja ulaz za sledei korak.
Na slici 7.4 prikazani su osnovni koraci. Prvi korak vri premetanje bitova izmedu 64 bita
podataka i 56-bitnog kljua. Sledeih 16 koraka (oznaenih kao ifrovanje na sliti) ukljuuje razne
operacije, koje emo ukratko opisati. Svaki korak je isti, osim to koristi drugaiji klju izveden iz
originala. Znaajno je napomenuti da izlaz iz jednog koraka predstavlja ulaz za sledei korak.
Pretposlednji korak (oznaen kao zamena na slici) vri zamenu prva 32 bita sa poslednja 32 bita.
Poslednji korak vri drugo premetanje. U stvari, re je o obrnutom premetanju u odnosu na prvi
korak. Rezultat su 64 bita ifrovanih podataka.
Na slici 7.5 prikazane su primarne operacije svakog od 16 sredinjih koraka. String bitova pred-
stavljamo na slici slovom i numerikim subskriptom. Subskript ukazuje na broj bitova u stringu.
Na primer, K
56
se odnosi na 56-bitni string koji se koristi kao klju, dok je X
48
48-bitni string koji
predstavlja rezultat neke meduoperacije. Iako na slici koristimo isti simbol X
1
on predstavlja
razliite podstringove u svakoj fazi. Ovaj pristup deluje razumnije nego da se koriste razliiti
nazivi za svaku operaciju.
Prvo, DES deli C
64
(64 bita koji e se ifrovati) na pola. Prva 32 bita su L
32
, a preostala 32 bita
su oznaena kao R
32
. Zatim, R
32
se proiruje u 48-bitni string premetanjem nekih bitova i
dupliranjem odredenih bitova. Rezultat je oznaen kao R
48
, ime se ukazuje da je u potpunosti
izveden iz stringa R
32
. Osim toga, algoritam menja 56-bitni klju deljenjem na pola i izvravanjem
ciklinih pomeranja u svakoj polovini.
* U stvari, koristi se 64-bitni klju ali se za detekciju greaka koristi osam bitova. Zato se u procesu ifrovanja koristi samo
56 bitova.
Broj ciklinih pomeranja zavisi od toga koji se od 16 moguih koraka trenutno izvrava. Poenta
je u tome da se u svim koracima koristi drugaiji klju. Nakon pomeranja, klju je ispremetan.
Rezultat je oznaen kao K
56
Zatim, algoritam vri operaciju iskljuivo ILI izmedu R
48
i prvih 48 bitova kljua K
56
. Rezultat je
oznaen kao X
48
. Nakon toga, X
48
se deli na osam 6-bitnih grupa (X
6
). Svaka 6-bitna grupa pro-
lazi kroz algoritam zamene i dobija se 4-bitna grupa oznaena sa X
4
. Rezultujuih osam 4-bitnih
grupa se kombinuje i vri se novo premetanje, tako da se dobije sledea 32-bitna grupa,
oznaena kao X
12
. Zatim, algoritam primenjuje operaciju iskljuivo ILI izmeu tog stringa i L
32
.
Ponovo rezultat oznaavamo kao X
32
. Konano, algoritam kreira 64-bitni string, koristei R
32
kao
prva 32 bita i X
32
kao poslednja 32 bita. Celokupni proces se izvodi 16 puta. Svaki put ulaz
predstavlja izlaz prethodnog koraka i koristi se drugaiji klju.
Zbunjujue? Dobro, i trebalo bi da bude. IBM-ova namera nije bila da dizajnira metod koji svako
moe lako da razume. Ideja je da se dizajnira metod koji se sastoji od veeg broja konvolutivnih
koraka i skoro da ga je nemogue reprodukovati bez prethodnog poznavanja kljua za ifrovanje.
Izostavili smo mnogo detalja, kao, na primer, kako se izvode premetanja i kako se 6-bitne grupe
menjaju 4-bitnim grupama. Detalji izvodenja zamena uglavnom zavise od uspostavljenih pravila za
zamenu i tabela nazvanih S-boxovi, koje definiu kako se odreeni string mapira u drugi string.
SLIKA 7.4 Opti pregled DES procesa
64-bitni ifrovani tekst
premetanje
zamena
ifrovanje
ifrovanje
premetanje
64-bitni obini tekst
16 koraka, od kojih svaki
koristi drugaiji 56-bitni
klju izveden iz
osnovnog kljua
SLIKA 7.5 Jedan od 16 koraka DES procesa
Formiranje 64-bitnog broja korienjem R32
za prva 32 bita i X32 kao posledn/'a 32 bita
Iskljuivo ILI
Kombinovanje 4-bitnih grupa u 32-bitni string i izvodenje premetanja
Za svaku 6-bitnu grupu vre se zamene, tako da se dobijaju 4-bitni rezultati.
Deljenje u osam
6-bitnih grupa
64 bita koja se ifruju
prva 32 bita u
poslednja 32 bita u
56-bitni klju
Izvodenje operacije iskljuivo
ILl nad 48 bitova
Proirivanje na 48
bitova premetanjem i
dupliranjem nekih bitova
Izvodenje ciklinih pomeranja
ulevo u svakoj polovini 56-bitnog
stringa i premetanje bitova
SLIKA 7.6 CBC mod za DES ifrovanje
* Za vie detalja o drugim modovima pogledajte referencu [MoOlD.
sekvenca blokova ifrovanog teksta
XOR
DES
XOR
DES
XOR
DES
XOR
DES
sekvenca blokova originalnog teksta: B
1
B
2
B
3
B
4
...
IV: vektor inicijalizacije
Ako ste zainteresovani, u referenci [St95 ] moete da pronadete detaljan opis DES algoritma.
DES moe da funkcionie u nekoliko modova, ukljuujui ECB (electronic codebook) mod i
CBC (chiper block chaining) mod.* U ECB modu algoritam jednostavno ifruje svaki od 64 bita
obinog teksta na opisani nain za kreiranje odgovarajueg 64-bitnog ifrovanog bloka. Ako se
isti 64-bitni blok javlja vie puta u originalnom tekstu, uvek generie isti 64-bitni blok ifrovanog
teksta. Naravno, na taj nain se kreira ablon ako je originalni tekst dovoljno dugaak, koji moe
da se koristi kao nagovetaj za nekoga ko pokuava da "razbije" kod.
CBC mod naruava ovaj ablon. Pre ifrovanja jednog bloka originalnog teksta algoritam najpre
vri operaciju iskljuivo ILI izmedu tog bloka i prethodno ifrovanog bloka (slika 7.6). Zatim se
rezultat ifruje. Za prvi blok originalnog teksta operacija iskljuivo ILI se vri sa vektorom
inicijalizacije, koji se definie u sklopu implementacije. Znaajno je to da svaki blok ifrovanog
teksta zavisi ne samo od odgovarajueg bloka originalnog bloka, ve i od svih prethodnih
blokova. Sledei nain razmiljanja podrazumeva da svaki blok ifrovanog teksta zavisi i od bloka
originalnog teksta i pozicije bloka u originalnom tekstu. Kao rezultat, ako se isti blok originalnog
teksta javlja na razliitim pozicijama, najverovatnije e generisati razliite blokove ifrovanog
teksta i tako se naruava prethodno opisani ablon.
Dakle, koliko je DES dobar? Postoje razni naini da se algoritam ifrovanja napadne, ali cilj je
stalno utvrivanje kljua i originalne pomke. Postoje razliite tehnike, koje esto zavise od
ablona u ifrovanom kodu, ili od slabosti algoritma koji doputa generisanje ablona. Na
primer, diferencijalna kriptoanaliza ukljuuje traenje parova blokova originalnog teksta koji se
razlikuju na odreene naine. Ako se te (ili sline) razlike jave u ifrovanim parovima, postoji
ablon koji je mogue iskoristiti.
Seate se da je polialfabetsko ifrovanje iz prethodnog odeljka pokazalo takve ablone. Drugi
metod napada je, jednostavno, brutalna sila, metod kod koji isprobavaju svi mogui kljuevi sve
dok se ne otkrije pravi klju. Oigledno, ovo je mnogo tee ako je broj moguih kljueva veliki.
U referenci [MoOlD predstavljeni su drugi naini za napade na ifrovane sisteme.
Vegodinama, mnogi istraivai koji prouavaju DES pokuavaju da pronadu slabosti, ili ablone
koji bi se mogli iskoristiti za "razbijanje" koda. Ipak, zabeleili su samo manji uspeh. Osim toga,
brutalni napadi se smatraju tekim, jer sa 56-bitnim kljuem postoji 2
56
7.2 x 10" moguih
vrednosti kljua. Naalost, sa procesorima koji rade na nekoliko gigaherca i dananjim
paralelnim sistemima ovaj broj je dostian. U stvari, 1998. godine Electronic Frontier Foundation
je kreirala DES Cracker, specijalno dizajnirani kompjuter, koji je kotao 250.000 dolara. Ovo je
moda viki novac za Vas, ili za mene, ali ne predstavlja nikakav problem za organizovani
kriminal, teroristike grupe, ili neprijateljske vlade koje mogu da ostvare koristi od "razbijanja"
zatite Vladinih i privatnih institucija visokog nivoa. U saradnji sa svetskom mreom personalnih
kompjutera, Fondacija je mogla da isproba milijarde kljueva u sekundi i da "razbije" DEC
kodove za nekoliko sati. Zbog toga je DES naputen.
Originalna standardizacija DES-a je uvek bila kontroverzna (videti referencu [Ko77]). Kada su
istraivai u IBM-u poeli da pripremaju reenje problema, koristili su 128-bitni klju Meutim,
na zahtev NSA, klju je redukovan na 56 bitova. Razlozi za tu redukciju nisu javno objavljeni.
128-bitni klju bi imao mnogo vei broj moguh kombinacija (2
128
~ 3 x 10
38
) i znaajno bi
oteao brutalne napade. *
Sledei faktor koji je doprineo kontroverznosti algoritma je to to su neki Ijudi smatrali da obra-
zloenja za zamene u DES algoritmu nikada nisu u potpunosti ubedljiva. Strahovalo se da u tim
zamenama moda postoji neto to moe da narui integritet ifre. Zato su postojale spekulacije
da za NSA nije bilo dobro da postoji kod koji se ne moe "razbiti" bez velikih problema.
Zapamtite, s obzirom na iroko korienje elektronske pote, raspoloivost DES ipova i sve vei
proboj digitalnih govornih prenosa, postoji velika koliina DES-ifrovanih informacija.
Pretpostavka o nemogunosti deifrovanja informacija kada je to potrebno navela je NSA da
malo odstupi od prvobitnog stanovita. Da bi "stvari' bile jo gore, postojali su neki izvetaji da
je Vlada pokuavala da sprei neka istraivanja, ili publikacije koje su bile posveene sigurnijim
iframa.
Trostruki DES "Razbijanje" DES koda nije predstavljalo nikakvo iznenaenje, jer su mnogi jo
ranije predvidali da e do toga doi. Zato se prelo na pronalaenje alternativnih naina ifrovanja.
Jedan od tih naina je trostruki DES, koji, kao to nasluujete iz naziva, podatke ifruje tri puta.
Zasnovan je na ANSI standardu X9.52, a funkcionie tako to se DES algoritam tri puta uzastopno
primenjuje na obine tekstualne poruke. Na primer, pretpostavite da j,(M) i D
k
(M) odgovaraju
DES algoritmima ifrovanja i deifrovanja, respektivno, i da koriste klju k koji se primenjuje na
poruku. Trostruki DES je izraunat korienjem /,
3
(D
ft2
(E
kl
(M))).
* Koliko iznosi 3 x 10
38
? Pretpostavimo da sistem moe da isproba milijardu kljueva u mikrosekundi (10
Ifi
kljueva u
sekundi). I dalje bi bilo potrebno oko 3 x 10
23
sekundi da se isprobaju svi kljuevi. To je oko 9,5 x 10
15
godina, a to je vie
vremena od poslednjeg Velikog praska (moda u vreme onog pre poslednjeg, ali to niko ne zna).
* Detalje pogledajte na htip://csrc.nist.gov/encryption/aes/overview.
t Detalje pogledajte na http://www.esat.kuleuven.ac.be/?rijmen/square/index.html.
ANSI standard X9.52 defmie tri opcije za vrednosti kljueva: (1) sve tri vrednosti su medusobno
nezavisne, (2) Je
1
i k
2
su nezavisni, ali je IJ
1
= /<: i (3) sva tri kljua su jednaka. Naravno, u
poslednjem sluaju trostruki DES se svodi na inicijalni DES, jer se prva dva koraka medusobno
ponitavaju. To znai da je trostruki DES kompatibilan sa obinim DES algoritmom, a to je razlog
zato se algoritam deifrovanja definie kao u drugom koraku.
Trostruki DES definie tehniku koja koristi 168-bitni klju. Kljuevi k
v
k
2
i fes jednostavno
predstavljaju prvi, srednji i poslednji deo 56-bitnog kljua. Prednost ovog metoda je to se on
oslanja na postojei algoritam koji se pokazao kao solidan i nije ispoljio neke ozbiljne
nedostatke. Osim toga, moe da se uvede u postojee DES sisteme zbog postojee kompati-
bilnosti. Iako mnogi ljudi predviaju da e 168-bitni kljuevi dugo biti imuni na napade, drugi
su trostruki DES kritikovali da Je isuvie spor, jer traje oko tri puta due od obinog DES
algoritma. Naravno, spor je relativan pojam, pa neki ljudi veruju da je dodatno vreme vredno
poboljanja sigurnosti.
AES i Rijndael algoritam Uvidevi da su dani DES algoritma "odbrojani", NIST je 1997.
godine poslao zahtev svetskoj kriptografskoj zajednici sa predlogom novog Advanced
Encryption standarda (AES).* Kasnije je NIST primio 15 takvih predloga i objavio ih kao prvi
AES kandidat konferencije u avguslu 1998. godine. Nakon analize algoritama kandidata, broj
kandidata je redukovan na pet. Razmatrani su algoritmi MARS, RC6, Rijndael, Serpent i Twofish
(referenca [Sc98]). Svaki od tih algoritma je #odvrgnut daljim analizama; u oktobru 2000.
godine NIST objavljuje da je kao novi AES izabran Rijndaelov algoritam. Krajem maja 2002.
godine potvrdeno je usvajanje algoritma kao zvaninog Vladinog standarda.
AES Rijndaelov algoritam su razvili dr Vincent Rijmen i dr Joan Daemen (to objanjava naziv
algoritma). Kao i za DES, koriste se ifrovanje blokova i kljuevi od po 128, 192 i 256 bitova.
Tako su alternativne oznake AES standarda AES-128, AES-192 i AES-256. U poslednjem sluaju
postoji aproksimativno 1,1 x 10
77
moguih kljueva. Broj je toliko veliki da ga je leko pojmiti.
Osim toga, algoritam moe da ifruje blokove veliine 128, 192 i 256 bitova. U stvari, moe da
se koristi kombinacija kljua i veliine bloka, tako da postoji devel moguih varijacija.
Predvideno je da Rijndael algoritam ima jainu najmanje trostrukog DES-a, ali je njegova
prednost to se potrebne operacije bre izvode. Poto je dizajniran da zameni DES, umesto
trostrukog DES-a, mnogi predviaju da e se AES i trostruki DES neko vreme paralelno koristiti.
Dizajn Rijndaelovog algoritma je zasnovan na drugoj blokovskoj ifri nazvanoj SQlIARE.* Detalji
su sloeni, a kompletno razumevanje Rijndael algoritma zahteva veoma dobro poznavanje
matematike, posebno teorije polja, polja Galoa, nesvodivih polinoma i klasa ekvivalencije. Iako
ovde ne bi bilo praktino obraivati te teme, daemo kratak pregled Rijndaelovog algoritma po
glavnim koracima.
inicijalni
blok
XOR
klju
stanje
1 ciklus
raspored
kljueva
klju 1
ciklusa
stanje
2 ciklus
klju 2
ciklusa
stanie
3 ciklus
klju 3
ciklusa
stanje stanje
N ciklus
kljuc N ciklusa
finalno
stanje
SLIKA 7.8 Opti pregled Rijndaelovog algoritma
Nekoliko dobrih referenci obezbeuje vie detalja, ali italac mora da ima predznanja koja se
stiu na jednom, ili dva kursa iz apstraktne algebre. Te reference su [MoOl], [Da02],
http://xsrc.nist.gov/ encryption/aes/rijndael/Rijndael.pdf i http://csrc.nist.gov/publications/fips/
fipsl97/fips-197.pdf.
Da bismo dali opti pregled Rijndaelovog algoritma, najpre emo navesti neke preliminarne
koncepte. Poto ovaj algoritam koristi blokovsko ifrovanje, ifruje se jedan po jedan blok
originalnog teksta. Kao to smo ranije istakli, veliina bloka i kljua moe da bude 128, 192 i 256
bitova. Medutim, da bismo pojednostavili nau raspravu, koristiemo 128-bitni klju i blokove
od po 128 bitova i komentarisaemo druge opcije na odgovarajuim mestima. Rijndaelov
algoritam "zamilja" 128-bitni blok originalnog teksta kao sekvencu od 128-bitnih bajtova (b
0
do
b
15
), koju organizuje u okviru matrice (slika 7.7) sa etiri reda i etiri kolone. Na slian nain se
interpretira 128-bitni klju. I kod veih kljueva i blokova koriste se etiri reda, ali sa poveanim
brojem kolona, tako da se smeste svi potrebni podaci.
Prvi korak Rijndaelovog algoritma izvrava operaciju iskljuivo ILI izmedu inicijalnog bloka i
kljua. Rezultat, nazvan slanje, uvodi se u prvi od IO ciklusa ifrovanja (slika 7.8).
SLIKA 7.7 Interpreliranje bloka i kljua pomou matrica
128-bitni blok (16 bajtova) 128-bitni klju (16 bajtova)
U svakom ciklusu se menja ulazno stanje definisano operacijama sa matricama i kreira se izlazno
stanje (u sutini druga matrica), koje se uvodi u sledei ciklus aktivnosti. Na kraju zahtevanog
broja ciklusa ifrovanje se zavrava. Ako su blokovi vei, koristi se vei broj ciklusa, ali osnovni
princip ostaje isti.
Svaki ciklus koristi zaseban klju ciklusa kojim se menja sadraj ulaznog stanja. Kljuevi ciklusa su
definisani kroz rutinu za proirivanje kljua, koja zapoinje interpretiranjem kljua kao sekvence
4-bajtnih rei (po jedna re u svakoj koloni). U ovoj diskusiji poinjemo sa etiri rei:
W
0
= It
0
Jt
1
Jt
2
Jt
3
, W
1
= fe
4
:fe
5
:fe
6
:fe
7
, W
2
= k
s
:k
9
:k
w
Jt
n
, W
3
= k
12
:k
13
:k
u
:k
15
. Peta i sve naredne rei su
kreirane na osnovu prethodno definisanih rei korienjem rekurzivne formule. Ovde neemo
zalaziti u detalje, ali sledeim koracima opteg pregleda utvruje se W
1
, za 4 < i < 44, jer postoji
10 ciklusa, a potreban nam je klju koji sadri etiri rei za svaki ciklus, to daje ukupno 44 rei,
ukljuujud etiri inicijalne rei. Za vei broj ciklusa potrebno je vie rei.
1. Ako i nije deljivo bez ostatka sa 4, onda se wi definie kao rezultat operacije iskljuivo
ILI izmedu w
u
i w
u
. Ako je i deljivo bez ostatka sa 4, izvodi se sledei korak.
2. Izvrava se ciklina permutacija bajtova u w
iA
. Ako su bajtovi bili [a, b, c, d),
permutacijom se dobija (b, c, d, d).
3. Izvodi se zamena svakog bajta u rei iz prethodnog koraka drugim bajtom. Svaka
zamena bajta je odredena bajtom koji se menja i tabelom vrednosti zamene
nazvanom S-box. S-box sadri redove i kolone (slika 7.9) vrednosti bajta i svaki red i
kolona su indeksirani 4-bitnom vrednou. Da bi se utvrdila odgovarajua zamena,
Rijndaelov algoritam koristi prva etiri bita za utvrdivanje reda u S-boxu i druga etiri
bita za utvrivanje kolone. Vrednost bajta u kojoj se taj red i ta kolona seku koristi se
kao zamena za originalni bajt.
SLIKA 7.9 S-box zamena
3. MC: Ovo je najtei korak za opisivanje, zato to se sva teorija zasniva na izraunavanjima.
Opta ideja je da se svaka kolona interpretira kao etvorolani polinom i da se pomnoi
sa drugim polinomom sa fiksnim brojem lanova, c(x) = 03*
3
+ 01x
2
+ 0Ix
1
+ 02
(unapred utvreni polinom u okviru Rijndaelovog algoritma). Medutim, mnoenje se
izvodi po modulu X
4
+ 1, to predstavlja jo jedan propisani polinom Rijndaelovog algo
ritma. To znai da, ako je p(x) polinom koji se mnoi, onda je rezultat koji emo koristiti
drugi polinom q(x), iji je stepen manji od 4, a razlika p(x) - q(x) je jednako deljiva sa
X
4
+ 1. Matematiari kau da je p(x) ekvivalentno cf(x) modulo X
4
+ 1. Slede faktor koji
komplikuje celu "priu" je injenica da se koeficijenti polinoma interpretiraju kao 8-bitne
binarne vrednosti i ti brojevi se ne mnoe onako kako ste moda pretpostavili. Detaljna
objanjenja su komplikovana, ali svaka 8-bitna vrednost predstavlja element matematike
strukture koja se naziva polje Galoa (poseban tip konanih polja)' i moe se interpretirati
kao polinom iji su koeficijenti ili 0, ili 1. Osim toga, pravila za mnoenje ovakvih
vrednosti su sloena i defmisana su karakteristikama teorije polja Galoa, sloenom
granom matematike.
* U stvari, u poslednjem ciklusu nema MC koraka.
t U optem sluaju, polje definie matematiku strukturu koja sadri kolekciju elemenata i operacija (sabiranje, oduzimanje,
mnoenje i deljenje) koje imaju odreena svojstva.
Rijndaelov algoritam definie celokupni sadraj S-boxa, ali je na slici 7.9 pokazano
samo da bi se vrednost bajta 3b zamenila bajtom 3d, koji je smeten u 8. redu i d
koloni.
4. Izvrava se operacija iskljuivo ILI sa konstantom ciklusa koju definie Rijndaelov
algoritam.
Kada se generiu sve rei, Rijndaelov algoritam koristi prve etiri u inicijalnoj operaciji iskljuivo
ILI i svaku sledeu grupu od etiri rei u svakom narednom ciklusu, tj. i-ti ciklus koristi re W
1
.
Dakle, ta Rijndaelov algoritam radi u okviai jednog ciklusa? U osnovi, postoje etiri koraka u
okviru svakog ciklusa, oznaena kao zamena bajta (byte substitution BSB), pomeranje reda
(shift row SR), meanje kolone (mix column MC) i poveavanje kljua ciklusa (round key
addition RKA).* Svaki ciklus se izvrava na sledei nain.
1. BSB: Svaki bajt u tekuoj matrici stanja menja se drugim bajtom koji je odreden
S-boxom. Ovo je slino zameni u okviru procedure proirenja kljua; u stvari, koristi
se isti S-box.
2. SR: Pomeraju se bajtovi u svakom redu matrice (osim u prvom) za naznaeni broj
pozicija ulevo. Elementi koji se pomeraju iza krajnje leve kolone ponovo ulaze u
krajnje desne kolone. Drugim reima, ovo je levo ciklino pomeranje. Broj pozicija za
koje se pomeranje izvodi zavisi od broja reda i kljua i veliine bloka, onako kako to
propisuje Rijndaelov algoritam. U naem primeru redovi 2, 3 i 4 su pomereni za 1, 2 i
3 pozicije bajtova, respektivno. Na primer, SR korak transformie matricu
u matricu
Poto su ove teme isuvie sloene za nau raspravu, ne moemo da navedemo detalje
izraunavanja. Glavna ideja je da se svaka kolona stanja (interpretirana kao polinom)
pomnoi sa fiksnim polinomom (korienjem napredne matematike logike) da bi se
generisao proizvod polinoma. Taj proizvod polinoma se interpretira kao 4-bajtna
sekvenca, koja se postavlja umesto originalne kolone.
4. RKA: Ovaj korak izvrava operaciju iskljuivo ILI izmeu tekueg stanja i kljua
ciklusa.
Kada se zavri svih 10 ciklusa, rezultujue stanje predstavlja ifrovanu verziju inicijalnog stanja.
Naravno, mi smo ovde izostavili dosta detalja. Na primer, kako se bira S-box? Koje su
konstante ciklusa koriene u metodu za proirivanje kljua? Kakav znaaj imaju polinomi
03x
3
+ 01x
2
+ 0Ix
1
+ 02 i X
4
+ 1 u MC koraku? Kako Rijndaelov algoritam definie mnoenje
polinoma? Odgovori na sva ova pitanja zahtevaju dobro poznavanje apstraktne algebre,
ukljuujui teme kao to su prstenovi, polja Galoa, nesvodivi polinomi, polinomi sa
koeficijentima u poljima Galoa i srodne transformacije. Krajnji zakljuak je da je Rijndaelov
algoritam formiran na veoma monoj i sloenoj matematikoj teoriji. itaoci sa odlinim
poznavanjem matematike mogu da pogledaju detaljnija objanjenja u referencama [MoOl],
[Da02], http://xsrc.nist.gov/encryption/aes/rijndael/Rijndael.pdf i http://csrc.nist.gov/publica-
tions/fips/fipsl97/fips-197.pdf.
Clipper Chip i Skipjack algoritam
U aprilu 1993. godine panju javnosti je privukla objava administracije predsednika SAD Bila
Klintona da se planira nova bezbednosna inicijativa. Inicijativa je podrazumevala planove za
novu tehnologiju pod nazivom Clipper Chip,* kompjuterski ip dizajniran po nacrtima Vlade,
sa ugraenom ifrom, koji je mogao da se koristi u bezbednosnim ureajima. Ti uredaji su mogli
da se koriste u obinoj komunikacionoj opremi, kao to su telefoni, ili faks maine.
Nain njihovog funkcionisanja je sasvim jednostavan (slika 7.10). Clipper Chip sadri algoritam
za ifrovanje koji je dizajniran u njegovim mikrokolima. Pretpostavimo da zovete nekoga tele-
fonom i da elite da zaponete bezbednu konverzaciju, tj. konverzaciju koja se ne moe presresti,
niti je moe razumeti neka trea strana. Sve to treba da uradite je da pritisnete dugme i Va
bezbednosni uredaj i onaj na prijemnoj strani razmenjuju kljueve za ifrovanje.
f
Nakon toga,
bezbednosni uredaj rutira sve to kaete, zajedno sa kljuem za ifrovanje do Clipper Chipa, koji
kodira govorne signale. Telefonski sistem zatim prenosi kodiranu poruku. Na prijemnoj strani
bezbednosni uredaj dekodira govorni prenos, koristei svoj Clipper Chip (to moe jer je
razmenjen klju za ifrovanje), i ponovo uspostavlja originalnu govornu poruku. Krajnji
rezultat je da osoba na prijemnoj strani uje Va glas kao i u sluaju svih ostalih telefonskih
konverzacija.
* Iako se obino koristi termin CUpPeV
1
zvanini naziv tehnologije je bio Capstone.
t Postoje razliiti protokoli za razmenu kljueva za ifrovanje koji onemoguavaju presretanje kljua u toku prenosa.
U sledeem odeljku emo predstaviti opciju pod nazivom Diffie-Hellman razmena kljua.
"Preskoicmo" detalje ovog algoritma, ali zainteresovani itaoci mogu da pronadu vie detalja na Web sajtu
htlp://csrc. nist.gov/encryption/skipjack/skipjack.pdf.
Medutim, trea strana koja eventualno moe da upadne u konverzaciju dobija samo kodirane
govorne signale.
Ova inicijativa je pokrenuta zbog dva glavna razloga. Prvi je bio potreba obezbedivanja privatnih
telefonskih razgovora i zatite svih osetljivih informacija koje se prenose preko telefona, faksa, ili
kompjutera. Drugi je bio odgovor na potrebu zakonskog gonjenja kada osetljive informacije
odgovaraju ilegalnim aktivnostima. Ovo deluju kao sasvim opravdani razlozi i zato se postavlja
pitanje emu kontroverze.
Prvo, Clipper Chip su dizajnirali inenjeri u NSA, bez ikakvog uea privatnih industrija
(ref. [Si96]). Uzimajui u obzir narastajuu tenziju izmedu civilnih "slobodnjaka" i Vladinih
slubenika, sama ova injenica je bila dovoljan razlog za kontroverze, ali postoji tu jo mnogo
toga. Metod koji je korien za ifrovanje je takozvani Skipjack algoritam,* koji je razvijen u NSA
i iji su detalji poverljivi. To je izazvalo sumnje u nekim kmgovima koji su smatrali da algoritam
ne moe da se testira na isti nain na koji su testirani neki drugi algoritmi iji su detal/i javno
dostupni. Neki su ovo smatrali naruavanjem zakona Computer Security Act, koji je usvojen
1987. godine u Kongresu, a ija je svrha bila da ogranii ulogu NSA u uspostavljanju standarda.
Pristalice poverljivih algoritama su smatrali da uvanje odredenih detalja u tajnosti nema nikakve
veze sa namerom da se algoritam na taj nain ini jo bezbednijim. Umesto toga, namera je bila
da se sprei neautorizovana konstrukcija uredaja koji bi bili kompatibilni sa autorizovanim, ali
koji ne bi implementirali odreene zakonske regulative.
Ovo nas dovodi do sledeeg kontroverznog aspekta, koji ukljuuje same kljueve za ifrovanje.
Pretpostavimo da neko koristi telefon, ili druge komunikacione uredaje dok se nalazi pod
sumnjom da obavlja neke nelegalne aktivnosti.
SLIKA 7.TO Clipper Chip ifrovanje
telefonski uredaj sa
clipper chi pom
govor
Kodiranje govorni h
signala korienjem
clipper chip algoritma
i kljua za ifrovanje
kodirani
prenos glasa
komuni kaci ona
mreJa
Dekodi ranj e
govorni h signala
tel efonski uredaj sa
clipper chi pom
sluanje ori gi nal ne
govorne poruke
Udaljena osoba
* Kao to je ve reeno u ovom odeljku, E se koristi za predstavljanje metoda za ifrovanje. Subkript zavisi od kljua kojim
se vri ifrovanje. + u izrazu E
S
(K) + N odnosi se na konkatenaciju N-ovih bitova na
S
(K).
SLIKA 7.11 Utvrivanje kljua za ifrovanje
Clippei
Chip
Deifrovanje
korienjem D
Izraunavanje
Primena Ds na
Es(K) da bi se
dobio klju K
' Slanje N do '
dva agenta koji
uvaju kljueve.
Zauzvrat se
dobijaju Si i S
2
.
agent 1
agent 2
Uobiajena sredstva koja se koriste u zakonske svrhe su prislukivanje telefonskih linija i praenje
komunikacije. Ako je osumnjieni ifrovao sve komunikacije, prisluni ureaj ne moe da
obezbedi korisne informacije. Osim toga, metod ifrovanja je dobar i ne moe da se "razbije" za
odgovarajue vreme. Sutina problema lei u tome da li obini gradani imaju prava na tehnike
ifrovanja koje se ne mogu "razbiti" i kada pripadnici slubi za ouvanje reda i zakona imaju
pravo da prislukuju privatne razgovore. Ovo je tema koja izaziva une debate. FBI i druge sline
agencije zauzimali su se za ukljuivanje Clipper Chipa, koji bi im omoguio utvrivanje kljua za
ifrovanje i, samim tim, dekodiranje ifrovanih informacija.
Svaki Clipper Chip ima sledee informacije:
K: 80-bitni klju sesije koji se koristi za ifrovanje prenete poruke. Ovo slube za ouvan-
je reda i zakona moraju da znaju da bi im se omoguilo efikasno prislukivanje.
F: 80-bitni klju "familije". Svi ipovi u grupi koriste ovaj jedinstveni klju.
N: 30-bitni serijski broj koji je jedinstven za svaki ip
S: 80-bitni tajni klju, koji je, takode, jedinstven za svaki ip, a koriste ga slube za
ouvanje reda i zakona
Poslednji klju S nalazi se u centru kontroverznosti. Kao to je istaknuto, svaki Clipper Chip
generie ifrovanu govornu poruku ,,(Poruku). Osim toga, generie zakonski odredeno polje
Ep(E
s
(K) + N).* Poslednji izraz je veoma vaan i zato emo ga paljivije prouiti. U sutini,
Clipper Chip kreira sopstveni klju sesije kao izlaz, ak i u ifrovanoj formi. Sve to je potrebno
je metod za njegovo dobijanje. Na slici 7.11 opisani su neophodni koraci.
Kada sud odobri upotrebu prislunog uredaja, D
F
se primenjuje na zakonski regulisano polje da
bi se dobilo E
S
(K) + N. Klju "familije" F nije tajni, tako da on ne predstavlja problem; teorijski,
svako moe da ga ima.
U ovom trenutku slubenici mogu da izvuku serijski broj ipa i ifrovani klju sesije E
5
(K). Ostaje
da se primeni D
5
da bi se dobio klju sesije. Poto je S tajni klju, to nije jednostavno, ali
postoji nain. Meutim, najpre emo prouiti kako se S kreira.
Tajni klju S je, u stvari, definisan sa druga dva kljua, u skladu sa formulom S = S
1
S
2
( je
operacija iskljuivo ILI na nivou bitova). Kljuevi S
1
i S
2
su, takode, tajni i odravaju ih dve
zasebne agencije za uvanje kljueva, koje su su ovlaene za uvanje i zatitu dragocenih
informacija. Kada se konstruie odredeni Clipper Chip, uvek je prisutan po jedan lan iz svake
agencije. Svaki predstavnik selektuje nasumice izabrani 80-bitni klju, koji se izlae nizu
izraunavanja. Jedan agent daje klju S
1
a drugi S
2
. Ni jedan agent ne zna ta je onaj drugi izabrao.
Nakon toga se nalazi rezultat operacije S = S
1
ffi S
2
i programira u ip. Jedan agent belei S
1
i N
(serijski broj ipa), a drugi S
2
i N. Svaki prenosi ove dragocene informacije do svojih agencija, gde
se uvaju na bezbednim lokacijama. Ovde je znaajno napomenuti da se tajni klju S ne smeta
na jednom mestu. Tako je obezbeden dodatni nivo sigurnosti, jer ni S
1
, ni S
2
ne mogu, sami
za sebe, da obezbede nikakve korisne informacije. U stvari, kompjuteri koji izraunavaju S i
programiraju ip mogu ak da budu i uniteni u lju daljih mera zatite.
Kada slubenici za ouvanje reda i zakona dobiju serijski broj ipa, mogu da poalju kopiju
svakoj agenciji koja uva klju, zajedno sa dokazom da je prisluni uredaj autorizovan. Svaka
agencija kao odgovar alje svoj deo kljua zajedno sa naznaenim serijskim brojem. Slubenici
mogu da dobiju oba kljua S
1
i S
2
, izraunaju S i primene D
5
na E
3
(K) da bi bio dobijen klju
sesije K. U toj taki mogu da deifruju sve poruke koje su ifrovane pomou E
K
i prisluni uredaj
je uspean.
Agenti koji su nadleni za komponente kljua zadueni su i za mehanizme za smetanje i zatitu
kljueva. Mnogi smatraju da bi ove agencije morale da budu odvojene od agencija za ouvanje
reda i zakona. Glavno pitanje je pravo ljudi na privatnost. Sporno je to to bi postojala
mogunost zloupotrebe ako agencija za ouvanje reda i zakona moe sama da uva komponente
kljua, ili ih dobija od druge srodne agencije. Sa nezavisnim agencijama koje nemaju nita sa
zvaninim slubama za ouvanje reda i zakona bolje su zatiena prava gradana na privatnost.
Ako Vas interesuje vie detalja o mehanizmima sistema za uvanje kljueva, pogledajte referencu
[De36J.
Uzakljuku ovog odeljka naglaavamo da NISTdefinie kriptografske standarde u svojim Federal
Information Processing Standards (FIPS) publikacijama. U tekstovima o kriptografskim
standardima moete da naidete na termin odobren od FlPS-a (FIPS approved), to znai da je
standard naveden ili u FIPS publikacijama, ili ga je usvojio FIPS i u dodatku, ili drugim doku-
mentima referencira se sa FlPS-om. U vreme kada je ova knjiga nastajala postojala su etiri algo-
ritma koja je odobrio FIPS; AES, DES, trostruki DES i Skipjack.
7.3 Distribuiranje i zatita kljua
Svi do sada predstavljeni metodi su pretpostavljali da je klju za deifrovanje izveden (ili jednak) iz
kljua za ifrovanje. Samim tim, najbolji metod za ifrovanje na svetu ne vredi nita ako se klju
ne moe uvati na tajnom mestu. Zato se suoavamo sa problemom kako poiljalac prenosi klju
do primaoca (distribuiranje kljua, ili razmena kljua). Na primer, Clipper Chip razmenjuje
kljueve pre nego to otpone bezbedna konverzacija. Moda e Va prvi predlog biti da poiljalac
jednostavno poalje klju. Meutim, ta ako ga presretne neautorizovani primalac? Onda ete
moda predloiti da se klju ifruje, ali koji metod ifrovanja primeniti? Kako poiljalac obavetava
primaoca koji je metod ifrovanja koristio? Ovo ne reava problem; jedva da ga redefinie.
uvanje kljua na bezbednoj lokaciji nije nimalo jednostavan zadatak, ali postoje opcije i za to.
Na primer, dve osobe koje treba da komuniciraju mogu da se sretnu na nekoj skrivenoj lokaciji i
da se dogovore o kljuu. Meutim, ponekad ovakvi sastanci nisu doputeni. Sledea opcija moe
da bude transport kljua pod oruanom pratnjom. Ovo definitivno namee sliku ljudi sa aktn
tanama vezanim lisicama za njihove rune zglobove, sa "opasnim" raomcirna u pratnji, koji
neprestano dre ruke u depovima sakoa.
Shamirov metod
Jedan od metoda za distribuciju kljua Shamirov metod koristi se u scenariju koji se razlikuje od
prethodno opisanog. Pretpostavimo da su ifrovane informacije toliko poverijive da se slanje, ili
prijem.kljua ne mogu poveriti samo jednoj osobi. elimo da se klju utvrdi tako da najmanje k
osoba bude obavezno prisutno. Dalje, pretpostavljamo da e bilo kojih k osoba sa odgovara-
juom dozvolom biti dovoljno, tj. ne postoje zahtevi za prisustvom bilo koje odreene osobe, ili
osoba.
Smetanje kljua na jednom mestu nije prikladno, jer se tako naruava uslov da mora da bude
prisutno k osoba. Klju bi se mogao podeliti na k delova, koji bi se mogli distribuirati do k osoba.
Ako bi svaka osoba dobila po jedan deo kljua, stvorilo bi se ogranienje u vezi toga ko mora da
bude prisutan (samo osobe sa razliitim delovima kljua). Ako se nekoliko delova kljua daa
istoj osobi, manje od k - 1 osoba ima preostale delove, to znai da za utvrdivanje kljua nije
neophodno k osoba, to je u suprotnosti sa polaznom pretpostavkom.
Shamirov metod (ref. [Sh79]) zasnovan je na interpolaciji polinoma. Pretpostavimo da Je
polinom stepena k - 1. Osim toga, pretpostavimo da su (X
1
, y,),
poznate take na grafiku p(x) i da je X
1
* X
1
svaki put kada je i j. Ovih k taaka
odreuje polinom p(x) na jedinstven nain i na osnovu njih moemo da utvrdimo vrednosti
koeficijenata
Kod Shamirovog metoda polinom p(x) je konstruisan tako da se jedan od njegovih koeficijenata
(na primer, a
a
) koristi kao klju za ifrovanje. Svako ko ima dozvolu za slanje, ili prijem infor-
macija dobija tano jednu taku sa grafika p(x), ime je obezbeena jedinstvenost x-koordinata
taaka krive. Svaka grupa od k osoba moe da obezbedi k jedinstvenih taaka. Sve take zajedno
omoguavaju utvrdivanje polinoma, a, samim tim, i kljua.
Ako je prisutno manje od k osoba, nema dovoljno podataka za utvrdivanje jedinstvenog polinoma.
I pored toga, manje subverzivne grupe mogu da iskoriste svoje podatke za utvrdivanje relacija
izmedu koeficijenata a
u
to moe da prui nagovetaj za vrednost kljua. Shamirov metod uklanja
takve mogunosti, tako to se sva izraunavanja izvode pomou modularne aritmetike.
Diffie-HeHman razmena kljua
Diffie-Hellman razmena kljua funkcionie tako to poiljalac i primalac razmenjuju izraunate
vrednosti na osnovu kojih moe da se utvrdi vrednost kljua za ifrovanje.
U izraunavanjima se koriste drugi brojevi koji ne moraju da budu tajni. Na primer, pretpostavi-
mo da se ljudi sloe da koriste dva cela broja g i n za izraunavanje kljua za ifrovanje. Na slici
7.12 prikazana je razmena izmeu osoba Ai Bi ilustrovano je ko ta zna.
Najpre A bira ceo broj x i izraunava i alje vrednost g* mod ndo B. Slino tome, B nezavisno bira
vrednost y i do A alje vrednost mod n. Ako trea strana prislukuje njihovu konverzaciju,
pretpostavimo da zna g i n, zajedno sa onim to se prenosi. LJ meduvremenu, A dobija mod n
i stepenuje tu vrednost na x, tako da se dobije mod n. B dobija mod n i stepenuje tu
vrednost na y, tako da se dobije mod n. Na osnovu svojstava modularne aritmetike, mod n
je isto to i mod n. Znai, A i B koriste isti klju za ifrovanje.
Sta je sa treom stranom? Kao to smo istakli, ta osoba zna g i n i moe da utvrdi vrednost mod
n i mod n, oslukujui komunikacionu liniju. Medutim, poto A i B kriju vrednosti x i y, trea
strana ne moe da kompletira izraunavanja neophodna za utvrivanje kljua za ifrovanje. Ovo,
samo po sebi, ne obezbeduje sigurnu liniju. Logino pitanje je da li trea strana moe na osnovu
informacija koje ima da zakljui koje su vrednosti za x i y. U stvari, ona mora da izrauna logari-
tam od mod n, ili mod n. Postoje uslovi koje g i n moraju da ispune da bi takva izvodenja
bila veoma teka. Na kraju krajeva, i g i n moraju da budu veoma veliki brojevi (moda sa po
hiljadu bitova). Ovde neemo objanjavati uslove koji moraju biti ispunjeni, jer bi nas to odvelo
duboko u teoriju brojeva. Ako ste zainteresovani za ovu temu, proitajte detaljnija objanjenja u
referenci [Sc94].
Diffie-Hellman razmena je osetljiva na problem koji je poznat kao man-in-the-middle napad.
Kod ovog napada "uljez" se postavlja izmeu osoba A i B. Kada A alje mod n, "uljez" presree
tu vrednost i menja je vrednou mod n, koju prosleduje do B. Toga nisu svesni ni A, ni B. Kada
B poalje mod n, "uljez" ponovo presree tu vrednost, menja je u mod n i alje do A. Ni A,
ni B nisu svesni toga.
SLIKA 7.12 Diffie-Hellman razmena kljua
Bira x i uva ga u tajnosti.
IzraunavaK= mod n.
Trea strana zna g, n,
mod n i mod n, ali,
i pored toga, ne moe
lako da utvrdi K.
Bira y i uva ga
u tajnosti.
Izraunava
K = mod n.
B
A
Salie mod n.
alie mod n.
Osoba A vri, zatim, ifrovanje kljuem mod n, koji koristi i "uljez". Slino tome, B koristi
klju mod n koji "uljez" takode koristi za komuniciranje sa B. I A i B misle da komuniciraju,
a, u stvari, "uljez" presree sve njihove poruke, deifruje ih i ponovo ih ifruje, pre nego to ih
prosledi do druge strane.
7.4 ifrovanje javnim kljuem
Svi prethodno predstavljeni metodi ifrovanja imaju jednu zajedniku karakteristiku: ako
neautorizovani primalac presretne ifrovani tekst i ako zna korieni algoritam za ifrovanje i
klju (,,), onda je lako utvrditi metod za deifrovanje (D,,). Na primer, ako je za ifrovanje
koriena Cezarova ifra, definisana dodavanjem vrednosti k na ASCII kodove originalnog
teksta, deifrovanje se vri oduzimanjem vrednosti k od ASCII kodova ifrovanog teksta. Slini
komentari mogu da se daju i za ruge metode koje smo do sada predstavili.
Defmitivno postoji opravdanje zbog koga poznavanje E,, ini trivijalnim deifrovanje. Ipak, kao i
kod mnogih drugih "stvari", to nije onako kako bi trebalo da bude. Diffie i Hallman (ref.
[Di67]) su 1976. godine predloili korienje metoda za ifrovanje kod koga se algoritam za
deifrovanje i klju ne mogu lako utvrditi, ak i ako su poznati algoritam i klju za ifrovanje. Cilj
je bio da se neautorizovana osoba koja poznaje algoritam i klju za ifrovanje onemogui da
deifruje ifrovani tekst.
Postoji jo jedna prednost ovakvih metoda. Pretpostavimo da neko treba da pribavi poverljive
podatke iz vie izvora (slika 7.13). Umesto da svi izvori koriste razliite metode za ifrovanje, svi
mogu da iskoriste isti metod E
k
. Jedino primalac zna metod za deifrovanje D
v
. U stvari, E
k
moe
da se uini javnim algoritmom. Poto D
1
,- ne moe da se izvede na osnovu javnog kljua, nema
opasnosti. Sve dok je D
v
privatan, ak i razliiti poiljaoci ne mogu da deifruju tude poruke, iako
su svi koristili isti metod za ifrovanje.
Takvi sistemi se nazivaju kriptosistemi sa javnim kljuem. Obino se koriste u bankama za
prijem poverljivih finansijskih zahteva od klijenata, ili u vojnim komandnim centrima za
pribavljanje izvetaja sa razliitih lokacija. esto se koriste i na Web sajtovima koji nude usluge
e-komerca.
RSA algoritam
RSA algoritam, nazvan po svojim kreatorima Rivestu, Shamiru i Adlemanu, a opisan u referenci
[Ri78], koristi modularnu aritmetiku i faktorizaciju veoma velikih brojeva. ifrovani tekst se
iznenaujue lako izraunava i veoma teko "razbija", ak i kada je ,, poznato. Jedan deo
teorijske osnove ovog algoritma zasnovan je na matematikoj teoriji brojeva, specifino u obliku
rezultata poznatih pod nazivima Fermatova teorema i Ojlerova (Euler) teorema. Ovde neemo
zalaziti u raspravu o teoriji brojeva, ali, ako ste zainteresovani, u referencama [St95 ] i [MoOl ]
moete da pronadete pregled znaajnijih teorijskih rezultata.
Da bismo opisali kako ovaj metod funkcionie, razmotriemo poruke koje se sastoje samo od
velikih slova. Medutim, metod moe da se generalizuje tako da ukljui ve skup karaktera. U
narednim koracima opisan je RSA algoritam za ifrovanje i ukljuen je primer radi ilustracije
funkcionisanja algoritma.
1. Pridruuje se prost kod slovima, kao to su 1 do 26 za A do Z, respektivno.
2. Bira se broj n koji e predstavljati proizvod dva velika prosta broja p i q (prosti brojevi
nemaju faktore, osim same sebe i broja 1). U praksi, veliki prosti broj sadri 200, ili vie
cifara. Medutim, mi emo, radi utede prostora, uzeti primer n = p x ^ = l l x 7 = 77.
3. Pronalazi se broj k koji je relativno prost u odnosu na (p - 1) x [q - 1). Dva broja su
relativno prosta ako nemaju zajednike faktore, osirn 1. U naem primeru biramo
k = 7, to je relativno prost broj u odnosu na [p - l) x (q - 1) = 10 x 6 = 60. Broj k je
klju za ifrovanje. Moda ete se zapitati moemo li uvek da pronaemo broj k koji
ima ovakvo svojstvo. Odgovor je potvrdan. Dobro poznati rezultati u teoriji brojeva to
dokazuju.
4. Poruka se deli na komponente. U optem sluaju, svaka komponenta sadri vie slova
da bi se izbeglo ponavljanje komponenata. Medutim, u naem primeru koristiemo
samo jedno slovo po komponenti. Ako je poruka glasila "HELLO", komponente su H,
E, L, L i O.
5. Za svaku komponentu nadovezuju se svi binarni kodovi za svako slovo u komponenti
i niz bitova se interpretira kao ceo broj. Ovde svaka komponenta sadri samo jedno
slovo. Zato e celi brojevi biti 8, 5, 12, 12 i 15 (brojevi koji su originalno dodeljeni
slovima).
SLIKA 7.13 Vie poiljalaca koristi isti metod za ifrovanje
A: Originalni tekst B: Originalni tekst
6. Poruka se ifruje stepenovanjem svakog broja na stepen k. Medutim, sva aritmetika se
izvodi po modulu n. U naem primeru to zahteva sledea izraunavanja:
Rezultat je ifrovana poruka. Ovde izraunavanja daju 57, 47, 12, 12 i 71, respektivno
(ubrzo emo objasniti kako se vre izraunavanja). Napomenimo da postoje dva broja
12 koja oznaavaju slovo koje se ponavlja. Ako komponenta sadri nekoliko slova,
ponavljanja poput ovog se izbegavaju.
Primalac dobija ifrovanu poruku 57, 47, 12, 12 i 71. Kako je deifruje? Slede koraci metoda za
deifrovanje i nastavljamo primer.
1. Pronalazi se vrednost k' za koju je k x fe' - 1 = 0 mod (p - 1) x [cj - 1). To znai da je
{k x k') - 1 jednako deljivo sa [p - 1) x [q - 1). Vrednost za k' je klju za deifrovanje.
U ovom primeru [p -1) x [cf - 1) = 60 i fe' = 43, to lepo funkcionie, tj. 7 x 43 - 1 = 300,
to je deljivo sa 60. Moda ete se zapitati moe li se uvek pronai vrednostJe'. Da! To je
potvreno Ojlerovom i Fermatovom teoremom.
2. Svaki ifrovani broj iz koraka 6 stepenuje se na fe' i izvodi se aritmetika po modulu n.
Rezultat su originalni brojevi iz koraka 5. U naem primeru ovo zahteva sledea
izraunavanja:
mod 77; ' mod 77; mod 77;
12
43
mod 77;
3
mod 77
Rezultat su originalni brojevi 8, 5, 12, 12 i 15.
Korienjem ranije notacije itod n nod n imamo mod n.
Sve dok su izabrani kao to smo o p i s a l i , m o d n daje x. Potvrda za to moe da se nade
u teoriji brojeva.
Algoritmi za ifrovanje i deifrovanje su iznenadujue jednostavni. Oba ukljuuju eksponencijalnu
i modularnu aritmetiku. Medutim, kako se izraunava tana vrednost broja kao to je To
iznosi otprilike i, u stvari, predstavlja veoma mali broj u poredenju sa onima koji se koriste u
praksi. Ovo defmitivno deluje kao zastraujue izraunavanje. Nas ipak interesuje samo modularna
aritmetika, tako da moemo da skratimo objanjenja izraunavanja samo na ona koja moete da
izvedete pomou bilo kog kalkulatora. Uustrovaemo izraunavanje mod 77.
Prvi korak je zapisivanje eksponenta kao sume stepena 2. Na taj nain, dobijamo
(7-1)
Sada, = 5041 = 36 mod 77. Ovo znai da 5041 i 36 imaju isti celobrojni ostatak kada se dele
sa 77. Poto jednaina 7.1 zahteva samo vrednost po modulu, moemo da zamenimo sa 36.
Osim toga, moemo da zapiemo
* Moda e Vas interesovati izazov na RSA sajtu (www.rsasecurity.com/rsalabs/challenges/factoring /numbers.html),
gde se nudi novana nagrada za faktorizaciju velikih brojeva. Na primer, u vreme kada smo pisali ovaj tekst u RSA
laboratorijama je nudena nagrada od 200.000 dolara za faktorizaciju 617-cifrenog (2048-bitnog) broja
251959084756578934940271832400483985714292821262040320277771378360436620207075955562640185258807
844069182906412495150821892985591491761845028084891200728449926873928072877767359714183472702618
963750149718246911650776133798590957000973304597488084284017974291006424586918171951187461215151
726546322822168699875491824224336372590851418654620435767984233871847744479207399342365848238242
811981638150106748104516603773060562016196762561338441436038339044149526344321901146575444541784
240209246165157233507787077498171257724679629263863563732899121548314381678998850404453640235273
81951378636564391212010397122822120720357. Da li je neko zainteresovan?
Poto nam je potrebna samo modularna vrednost, ovo je isto kao i 36
4
. Slino tome, modularni
ekvivalent za Tako se jednaina 7.1 redukuje na
mod 77. (7-2)
Kao to moete da vidite, znaajno smo redukovali potrebna izraunavanja. Medutim, moemo
da idemo i dalje. Nastavljajui na slian nain, imamo 36
2
= 1296 = 64 mod 77. Zato moemo
da zapiemo 36" = (36
2
)
2
= 64
2
mod 77 i 36
K
' = (36
2
)
8
= 64
8
mod 77. Sada se jednaina 7.2
redukuje na
nod 77 (7-2)
Naravno, mogli bismo da nastavimo ovaj proces tako da dobijemo
x 36 x 71 mod77
x 15 x 36 x 71 mod 77
x 15 x 36 x 71 mod 77
= 36 x 15 x 36 x 71 mod 77
= 15 mod 77
Nema izraunavanja koja se ne mogu proveriti bilo kojim kalkulatorom.
RSA algoritam se relativno lako implementira, ali da li je bezbedan? Algoritam za ifrovanje
zahteva n i k, a algoritam za deifrovanje zahteva n i k'. Pretpostavimo da presretnete ifrovanu
poruku i da znate n i k. Ne bi trebalo da bude teko da se utvrdi k'. Medutim, imajte na umu da
se k' bira tako da je (k x k') x 1 = 0 mod (p - 1) x (q - 1). Zato je potrebno samo da pronadete p
i Cj
1
faktore broja n. Ako je n veoma veliki broj, recimo od 200 cifara, ovo je veoma teko (ili bar
zahteva mnogo vremena) da se izvede.*
Digitalni potpisi
Sledea interesantna primena kriptosistema sa javnim kljuem je za verifikaciju. Na primer, kada
podiete novac iz banke, morate da popunite formular i da ga potpiete. Va potpis verifikuje Va
identitet. Ako kasnije tvrdite da nikada niste naloili podizanje novca, banka moe da Vam izda
forraular sa Vaim potpisom. Naravno, uvek moete da tvrdite da je to falsifikat i da tuite banku,
U sluaju da odete na sud, banka moe da dovede grafologa koji e da potvrdi da je potpis zaista
Va. Tako ete izgubiti parnicu i slubenici za zajmove u banci verovatno nee prihvatiti Va
zahtev za hipoteku za novu kuu.
Poiljalac
poruka
Primalac
Poiljalac
"Hvala za poruku."
Primalac
Poiljalac
"ta? Ja nikada
nisam poslao
poruku!"
Primalac
SLIKA 7.14 Poiljalac demantuje Aa je poslao poruku
Sada razmotrite neto drugaiji scenario. aljete elektronski zahtev za Va raun u vajcarskoj
banci za transfer vee svote novca na raun Vae bive supruge. Sta banka moe da preduzme ako
kasnije budete tvrdili da nikada niste poslali takav zahtev, posebno ako je Vaa biva supruga u
meuvremenu podigla sav novac i preselila se u Boliviju? Na fajlu ne postoji rukom napisani
potpis koji grafolog moe da analizira. Banka moe da potvrdi da je za autorizaciju zahteva
morala da bude uneta lozinka koju samo Vi znate. Naravno, lozinka je uvana i u nekim
kompjuterima u banci da bi se mogla utvrditi njena autentinost. Moete da tvrdite da je neko
uzeo Vau lozinku iz banke i da Vam nije obezbedena odgovarajua zatita.
Da li postoji nain da banka dokae da nije bilo nikakve greke i da ste Vi postavili zahtev? Na
slici 7.14 ilustrovan je opti problem. Neko alje poruku, pa dobija odgovor, ali, zatim, tvrdi da
je nikada nije poslao. Moe li primalac lano da svedoi? Verifikovanje identiteta poiljaoca
naziva se autentifikacija.
Jedan od moguih metoda autentifikacije podrazumeva korienje digitalnih potpisa. U sutini, to
ukljuuje ifrovanje poruke tako da nain ifrovanja zna samo poiljalac. To je slino ifrovanju
lozinkama, samo to se i one smetaju u fajlovima primaoca radi verifikacije. Klju za ifrovanje
poseduje samo poiljalac. Poiljalac moe da tvrdi da mu je neko ukrao klju, ali, poto primalac
nema nikakav zapis kljua, on ne moe da bude optuen za kradu. Ovo je kao da ste izgubili
kljueve od svoje kue. U krajnjem sluaju, sami ste odgovorni.
Na slici 7.15 pokazano je kako se alje ifrovana poruka koja sadri digitalni potpis. Metod koristi
dva para metoda ifrovanja javnim kljuem/deifrovanja. Oznaavamo ih kao
gde su j i k javni kljuevi, a fe' (koji zna samo poiljalac) i j' (koji zna samo primalac) privatni
kljuevi.
* Kasnije emo u ovom poglavlju predstaviti digitalne saetke poruke (message digest), brojeve koji su jedinstveni za svaku
poruku. esto proces izraunava vrednost digitalnog saetka poruke i primenjuje Dk' na tu vrednost. Ako je ta vrednost
pravilno izraunata, ovo je siguran nain da se dokument potpie i autentifikuje.
t Ako je samo ID poiljaoca bio promenjen samo prvi put, primalac sada ima obian tekst i ID koji je izmenio D
k
..
Osim toga, parovi treba da lmaju sledeca svojstva:
E
11
(DUP)) = D
11
(HP)) = P i HD
1
(P)) = D
1
(E
1
(P)) = P
Ve smo istakli da ifrovanje prati deifrovanje koje daje originalnu poruku, ali mora da vai i
obratno, tj. najpre deifrovanjem, pa ifrovanjem mora opet da se dobije original.
Pretpostavimo da poiljalac eli da poalje ifrovanu poruku i da se identifikuje. Ako je P obina
tekstualna poruka, poiljalac izraunava Ej(D
k
{P)) i alje rezultat. * Primalac primenjuje Df na
poruku. Poto su Df i Ej inverzne operacije, rezultat je D,,.
(
P).' Primalac pamti Di
1
(P) u sluaju da
poiljalac eventualno demantuje da je ikada poslao poruku. Zatim, primalac primenjuje E
k
, tako
da se dobije ,,(D,,(P)) = P i poruka je primljena.
Pretpostavimo sada da poiljalac demantuje da je poslao poruku. Da bi bio potvrden identitet
poiljaoca, primalac arbitru (nekome ko e da utvrdi ko lae) obezbeduje i D
k
[P) i P. Arbitar
primenjuje E
1
, (ifrovanje javnim kljuem) na D
11
(P) i dobija P. Tako se dokazuje da je poruka P
izvedena iz D
k
(P). Osim toga, poto je D
k
(P) utvrdeno pomou privatnog kljua koji se ne izwodi
iz ,, arbitar zakljuuje da je D
/;
{P) mogao da konstruie samo neko ko je imao privatni klju fe'.
Poto je poiljalac jedina osoba koja to zna, samo on moe da se okrivi.
SLIKA 7.15 Slanje poruke uz korienje digitalnog potpisa
Poiljalac
Prenos M
Pnmalac
Poiljalac
Primalac
lma P
P: Originalna poruka koja se alje
Poiljalac
Kao to ste mogli i da pretpostavite, ovo nije jedini nain za kreiranje digitalnog potpisa - u
referenci [KaOlQ moete da pronadete poreenja i razlike izmedu nekih drugih ema. Osim toga,
poto postoje stanadardi za skoro sve ostalo, postoji i jedan za digitalne potpise. NIST FIPS
publikacija 186-2 (http://csrc.nist.gov/publications/fips/fips816-2/fipsl86-2.pdf) daje pregled
standarda Digital Signature Standard (DSS). Tehnika proputa originalnu poruku kroz hash
algoritam (predstaviemo ga uskoro) pod nazivom SHA-I (Secure Hash Algorithm 1, definisan u
FIPS publikaciji 180-1, http://csrc.nist.gov/publications/fips/fipsl80-l/fipsl80-l.pdf), koji
utvrduje jednistveni broj za poruku. Taj broj se koristi kao ulaz za algoritam ifrovanja privatnim
kljuem radi formiranja digitalnog potpisa. Naravno, postoje razlozi za ovakav pristup i detalji
koje moramo da obradimo. Ovo je naa sledea tema.
Autentifikacija i digitalni saetak poruke
Mogunost autentifikacije poiljaoca poruke je sigurno znaajna u eri elektronskog transfera.
Medutim, pomou metoda koji smo prethodno opisali vri se autentifikacija ifrovanjem cele
poruke. Zato se gubi jasna granica izmedu obezbeivanja zatite i autentifikacije. U nekim
sluajevima ne brine nas toliko skrivanje sadraja poruke koliko autentinost. Ovo je korisno u
sluajevima kada se u poruci nalaze ugovor, pismo preporuke, ili bilo ta sa zakonskim
implikacijama. Da li postoji nain da se osigura da kada se dokument dobije u elektronskoj formi
ne moe da se promeni bez detekcije?
Jedan pristup koristi hash funkciju H (jo se naziva i message digest - digitalni saetak poruke) za
dodeljivanje jedinstvene vrednosti fiksne duine dokumentu. Ako je M dokument, onda H(M)
predstavlja hash vrednost, ili vrednost digitalnog saetka poruke (message digest). Zatim se
primenjuje algoritam deifrovanja sa privatnim kljuem, predstavljen sa D
v
na H(M), i smeta
se rezultat D,,{H(M)), zajedno sa dokumentom (slika 7.16). Ako je re o autentifikaciji
dokumenta, onda se radi sledee:
1. Izraunava se vrednost digitalnog saetka dokumenta sa kojim se radi.
2. Primenjuje se algoritam ifrovanja javnim kljuem na deifrovanu vrednost digitalnog
saetka D,,{H(M)), koja je smetena zajedno sa dokumentom - koristi se algoritam
ifrovanja javnim kljuem koji odgovara agoritmu za deifrovanje sa privatnim
kljuem primenjenim na H(M). Rezultat je ,,(D,,(H(M))) = H(M).
3. Ove dve vrednosti se porede. Ako se ne slau, neko je "petljao" neto sa dokumentom.
Ovo jednostavno objanjenje namee logino pitanje koliko Je teko neto promeniti u
dokumentu, a da se ne promeni vrednost digitalnog saetka poruke? Na primer, prosta hash
funkcija sumira vrednosti bajtova (interpretirane kao celi brojevi) u okviru dokumenta. Promena
dva bajta moe da izmeni sadraj dokumenta, a da vrednost digitalnog saetka ostane ista. Ovo
je od izuzetnog znaaja za razvoj metoda za autentifikaciju.
Primenjuje se Dic na H(M)
pomou privatnog kljua k'.
Kreira se dokument M.
Izraunava se H(M).
Neko menja M
(kreira se M') i
vraa dokument
nazad u fajl.
Za autentifikaciju:
1. Izraunava se H(M').
2. Primenjuje se Ek na Dk(H(M))
korienjem javnog kljua k.
Rezultat je H(M).
3. Porede se H(M) i H(M')
SLIKA 7.16 Autentifikacijd dokumenta
Odgovor lei u kreiranju jednosmernih hash funkcija. Jednosmerna hash funkcija H ispunjava
sledee uslove:
Neka M bude poruka, ili dokument proizvoljne duine. Onda je H funkcija koja
dodeljaje jedinstvenu vrednost fiksne duine za M. Matematiki, to se zapisuje kao
H(M) = V.
H(M) se lako izraunava. Ovo je vano za razvoj efikasnog algoritma.
I pored konkretne vrednosti V, teko je utvrditi M za koje je H(M) = V. Ovaj kriterijum
je razlog za jednosmernu kvalifikaciju. Direktna implikacija je to to je, ako je M
poruka i V = H(M), teko pronai drugu poruku M' za koju je H(M') = V.
Teko je pronai dve poruke M
1
i M
2
za koje je H(M
1
) = H(M
2
). Ovo moda deluje
isto kao i prethodni kriterijum, ali, kao to emo uskoro pokazati, postoji znaajna
razlika.
Mogue je postaviti pitanje neophodnosti ovako strogih uslova hash funkcije. Na kraju krajeva,
ak i ako poruka, ili dokument mogu da se promene bez izmene vrednosti digitalnog saetka
poruke, zar promena ne bi bila primetna? Odgovor je odrean. U dobro poznatom anku Yuval
[Yu79] je 1979. godine opisao tzv. napad rodendana (birthday attack), tehniku koja moe da se
koristi za generisanje dva dokurnenta sa istom vrednou digitalnog saetka, ako ta vrednost nije
dovoljno jaka.
Naziv tehnike ima veze sa dobro poznatim problemom iz teorije verovatnoe. Problem je
Ako se u prostoriji nalazi proizvoljan broj ljudi, koliko njih mora da bude pristuno da
bi verovatnoa da jo neko ima rodendan kad i Vi bila vea od 0.5?
Odgovor je polovina ukupnog broja dana u godini, ili 183.
Slian problem glasi ovako:
Ako se u prostoriji nalazi proizvoljan broj ljudi, koliko njih mora da bude prisutno da
bi dve osobe imale rodendan istog dana sa verovatnoom veom od 0.5?
Za mnoge je esto iznenaenje to odgovor glasi 23. Razlog za manju vrednost je to to se u ovom
sluaju rodendan "ne vezuje" za tano odredeni datum.
Ovo je specijalni sluaj optijeg problema, koji moe da se izrazi na sledei nain:
Neka su X = (X
1
, X
2
, X
3
, ..., x
k
} i Y = {y
lf
y
2
, y
3
, ..., yi,} dva skupa brojeva.
Svaki broj je nasumino izabran i nalazi se izmedu 1 i T", respektivno (m je neki
pozitivni ceo broj).
Neka je P(m, k) verovatnoa da X i Y imaju najmanje jedan zajedniki broj. Drugim
reima, X
1
= y, za neko i i j.
Koliko mora da bude k da bi P[m, k) > 0.5?
Ispostavlja se da je odgovor na ovo pitanje k 2
m/2
. Ovde neemo navoditi matematiki dokaz
za to, ali, ako imate dovoljno dobro predznanje iz matematike, detalje moete da proverite u
referenci [St95].
U kakvoj je ovo vezi sa autentifikacijom dokumenata? Pretpostavimo da beskrupulozna osoba X
radi u gradskom zavodu za graevinsku inspekciju i da pomae objavljivanje liste inspekcijskih
izvetaja - priprema svaki izvetaj na osnovu izvetaja svakog inspektora i prosleuje ga do
inspektora radi odobrenja. Nakon odobrenja, inspektor pokree program za izraunavanje
vrednosti digitalnog saetka poruke i vraa dokument do X radi eventualnog objavljivanja.
Pretpostavimo da neki projekat nije dobio prolaznu ocenu inspektora, ali je X potplaen da i,
pored toga, objavi pozitivan izvetaj. Kako X to moe da izvede?
Pretpostavimo da message digest algoritam generie vrednost izmeu 1 i 2''
4
. Napad roendana
se ogleda u tome to X priprema dva izvetaja. Jedan je validan, ali nepoeljan, a drugi nije
validan, ali je poeljan za izvodaa. X moe da kreira nekoliko varijadja svakog izvetaja, koji bi,
u sutini, imali isti sadraj. Na primer, X moe da pronade nekoliko sinonima za neke rei, ili na
nekim mestima zamenice moe da zameni odgovarajuim imenicama. Cak i zamena dva
uzastopna blanko znaka daje promenu originalnog izvetaja. Ako X moe da identifikuje 32
mesta u svakom izvetaju na kojima je mogue izvesti zamene, postoji 2
32
varijacija svakog
izvetaja. Toliko postoji moguih kombinacija zamena.
Ako se message digest algoritam primeni na svaki izvetaj, generie se 64-bitni broj, a postoji ansa
50:50 da X moe da pronade validan i nevalidan izvetaj, generiui istu vrednost digitalnog saetka.
Sa stanovita izraunavanja, to ne bi trebalo da bude preterano teko. Naravno, 2
32
je veliki broj
moguih varijacija za runo izraunavanje digitalnog saetka, ali za kompjuterski program to nije
nikakav problem.
* FIPS publikacija 180-1 definie i pravila za proirivanje poruke ako njena ukupna duina nije deljiva sa 512 bez ostatka.
Zato X moe da obezbedi validan izvetaj za inspektora, koji e generisati vrednost digitalnog
saetka. Kada X dobije nazad validni izvetaj, on moe da zameni nevalidni izvetaj istom
vrednou digitalnog saetka i da tako objavi lani izvetaj.
Nedostatak ovog procesa nije u samoj emi, ve u veliini broja digitalnog saetka. Na primer,
ako su vrednosti dva digitalna saetka bili 128-bitni brojevi, verovatnoa pronalaenja dva
podudarna broja iz 2
32
varijacija svakog izvetaja je izuzetno mala. U stvari, X treba da ima 2
M
verzija svakog dokumenta da bi postojala verovatnoa 50:50 da e pronai poklapanje. Ogromno
vreme koje je neophodno za ovoliko pokuaja ini prevare skoro neizvodljivim. Naravno, ova
poslednja ocena gubi na verodostojnosti kako se proizvode sve bri i moniji kompjuteri.
Sledee logino pitanje je koje su vrste ema za haingovanje na raspolaganju. Jedan takav algoritam
je MD5 algoritam, koji je razvio Ron Rivest u MIT (ref. [Ri92]). Algoritam generie 128-bitne
vrednosti digitalnog saetka poruke. Poruka se deli na 512-bitne blokove (neka poveanja mogu da
budu neophodna da bi se dobio kompletan 512-bitni blok) i vre se operacije na svakom bloku.
Svaki blok prolazi kroz etiri ciklusa razliitih operacija na nivou bitova i faktorizacije vrednosti kroz
sinusnu funkciju. Eventualno, generie se rezultat koji moe da se koristi kao ulaz za ifrovanje
sledeeg bloka. Kao i kod ranije predstavljenih ifrovanja blokova, re je o sloenom procesu i ovde
se neemo baviti detaljima; ako ste zainteresovani za detaljnija objanjenja, pogledajte reference
[St95] i [Sc94]. Sledei algoritam je Secure Hash Algorithm (SHA-I), koji su razvili NSA i NIST.
Bezbedniji je po tome to daje 160-bitnu vrednost digitalnog saetka. Kao i MD5, radi sa 512-bitnim
blokovima.* Proces ukljuuje najpre deljenje 512-bitnog bloka u 16 32-bitnih rei. Nakon toga se
grupe rei i unapred definisane konstante izlau brojnim ciklusima operacija logikog I, ILl,
iskljuivog ILI i operacijama pomeranja, tako da se na kraju dobija 160-bitna vrednost. Vie detalja
o ovoj temi moe da se pronade u referencama [St03] i [Sc94] i na Web sajtu ttp://csrc.nist.gov/
publications/fips/fipsl80-l/fipsl80-l.pdf.
Program Pretty Good Privacy
Jedna od najee korienih Internet aplikacija (ako ne i najee koriena) je email. Iako se
obino koristi za razmenu neformalnih informacija, da bi se odrao kontakt sa prijateljima, ima
izuzetno vanu ulogu u brojnim poslovnim operacijama. Zbog toga, postoji velika potreba da se
informacije iz emaila zatite i da se izvri autentifikacija izvora i sadraja email poruka. Osim
toga, poto se korisnici emaila oslanfaju na mnotvo razliitih email paketa i sistema, neophod
no je obezbediti opcije za ifrovanje i autentifikaciju koje nee zavisiti od platforme, ili paketa.
Jedan takav program koji prua traene opcije naziva se Pretty Good Privacy (PGP).
PGP je program za zatitu emaila koji je napisao Philip Zimmerman i moete da nabavite nje-
govu komercijalnu, ili freeware verziju (posetite www.pgpi.org/ i www.pgp.com/). PGP ukljuuje
ifrovanje javnim kljuem, autentifikaciju, digitalne potpise i kompresiju.
---BEGI N PGP SIGNED MESSAGE---
Hash: SHA1
t h i s i s a t e s t message
---BEGI N PGP SIGNATURE---
Pokree se na raznim platformama i koristi algoritme koji su detaljno provereni, kao to su RSA
za ifrovanje javnim kljuem, SHA-I i MD5 za digitalne potpise i IDEA algoritam za regularno
ifrovanje (jo jedan algoritam za ifrovanje blokova; videti referencu [Sc94]).
Kada je prvi put razvijen, PGP je bio pomalo ozloglaen. Poto ga je neko postavio na Internet,
bio je javno dostupan irokoj svetskoj zajednici. Problem je bio to to je poetkom 90-ih prolog
veka Vlada Sjedinjenih Amerikih Drava smatrala algoritme za ifrovanje iji su kljuevi imali
vie od 40 bitova vojnom opremom. Svrstavala ih je u istu kategoriju kao i sva vojna sredstva
(oruje i municija), stvari koje Vlada ne bi htela da vidi kao neto to se javno izvozi. Upotreba
tih algoritama izvan SAD smatrana je pretnjom za nacionalne interese i zato je podlegala strogim
zakonima za izvoz. Vlada je zakljuila da je dostupnost PGP-a preko Interneta omogudla njegov
"izvoz" u strane drave i da su time narueni zakoni o izvozu. Radi reavanja tih problema, neke
novije verzije ovog programa su izraene izvan Sjedinjenih Amerikih Drava. Od tada nema
zakonskih problema, ali i dalje postoje sluajevi u kojima proizvodi koji koriste kriptografske
tehnike podleu reimu izvoznih licenci. Bureau of Export Administration je izvrio nekoliko
promena polise da izvoznici iz SAD ne bi bili oteeni u zonama slobodne trgovine koje
omoguavaju izvoz u nevladine institucije Evropske unije. Ipak, i dalje postoje neka ogranienja
u vezi izvoza softvera za ifrovanje u zemlje koje su Sjedinjene Amerike Drave proglasile
zemljama koje podravaju teroriste. To je komplikovan problem i nema sumnje da e se politika
menjati u skladu sa tekuim svetskim dogadajima. Zainteresovani itaoci mogu da proitaju
neto vie o tim promenama na Web sajtu www.bxa.doc.gov/Encryption.
U svakom sluaju, naa namera je da ovde opiemo neke glavne karakteristike PGP-a i nain
njegovog funkcionisanja. Kao to smo prethodno istakli, PGP moe da se preuzme kao freeware
i moe da se instalira na brojnim platformama, kao to su LlNIX, Windows 2000/ME/XP i
Macintosh. Dizajniran je da se koristi kao plug-in za nekoliko paketa za email. Na primer, ako za
email koristite Microsoft Outlook, interfejs se modifikuje tako da moete da koristite mogunosti
PGP-a bez naputanja Outlooka.
Na slici 7.17 prikazan je primer zasnovan na PGP freeware verziji 6.5.8, koja je pokrenuta na
Windows sistemu; kod drugih verzija mogu da postoje neke manje varijacije. Pretpostavimo da
elite da poaljete poruku (tekst: This is a test message) i da ste je potpisali digitalnim potpisom.
Poruku konstruiete na uobiajeni nain. Medutim, ako Je PGP instaliran kao plug-in, postoji
novi ulaz, oznaen kao PGP, kome moete pristupiti pomou opcija padajueg menija. Ova
stavka nije postojala pre instaliranja PGP-a. Selektovanjem stavke PGP moete da vidite nekoliko
opcija, medu kojima je i Sign on Send (videti sliku 7.17). To znai da e PGP Vaoj poruci
pridruiti digitalni potpis nakon to kliknete Send, ali pre nego to Outlook stvarno poalje
poruku.
Pretpostavimo sada da ste tano to i uradili. Kada primalac otvori poruku, videe sledeu poruku,
koja ukazuje da Je poruka digitalno potpisana.
SLIKA 7.17 Pristupanje optijama PGP-a iz Microsoft Outlooka
Versi on: PGPfreeware 6. 5. 8 f or non-commercial use
<http://www.pgp.com>
iOVAwUBPVHAkz012x9/xPKqEQL7UQCg65yJ8I4c5o7s37iMvLcqq-
RtokhAAn3E2
EzQd3vhFE41QGj308zvDSawR
= knKs
---END PGP SIGNATURE---
Dok je poruka otvorena, primalac moe da selektuje padajud meni PGP i izabere opciju
Decrypt/Verify (koja nije prikazana na slici 7.17). Nakon biranja te opcije, prozor u kome se
poruka nalazi menja se u oblik koji podsea na naredni prikazani primer, ukazujui na validnost
potpisa.
*** PGP Si gnat ure St at us: good
* * * Si gner: Wi l l i am Shay <shayw@uwgb.edu>
* * * Si gned: 8/ 7/ 02 7:51:31 PM
*** Ver i . ed: 8/7/02 8:50:46 PM
*** BEGIN PGP VERIFIED MESSAGE ***
t hi s i s a t est message
*** END PGP VERIFIED MESSAGE ***
Sledei slinu proceduru, moete da ifrujete svoje email poruke. Sastavite email pomku i
selektujte padajui meni PGP, ali ovoga puta izaberite opciju Enciypt on Send (videti sliku 7.17).
Osoba koja prima poruku u tom sluaju vidi neto slino sledeim linijama.
- - - BEGI N PGP MESSAGE---
Version: PGPfreeware 6.5.8 for non-commercial use
<http://www.pgp.com>
qANQR1DBwU4D1bHGsRJGiAYQCACzq5cJFQTYx/CgqG6lK.blkBArlOYTIAE+M
xoVAuK1LsrNu1HHkUkRCrEH2eHwVwl9FngHvCOxo0cniiI5GRhOE02EjOeMqeO
PYasuAWvWDGLQykNF6xqAeGWAWIt0PUr3PANIUshqS5ss7TQ1mG5KgpoKMt-
SzBXqDk]2nS/Dm01m/tDf+OyqRnYnS/1nZ8xHCilyQ0seDuiNSPVYpVeah550
iZfZHF7gkstd7+dSZYISuy0SeRWNUii0VW8tDfFUwpb/X0UtPH/z22waG-
wiW8id1Vz07Zm1zSM6Kw1Ma8RUf82xKM90em7pv74u/zJu8zl97oGrsJBt9MQG
4/TKRgCACFAuSzyOmsUZrNWqvS1AuRYe9zY27ktXi5THt88PfB+qE855fzx0f
Axh8ovr564Cz4duK0cPcdIhIQre1guZdq71 SMBGzOdReDkOkXSfZ5r7snUP.AN
q4ks8K1BozB5I5irSTMs62Yj U08RRDXJ1URSRgS8t0yonXpiQj M6+eSz2QT0X
tWF29klFQLeA6rX3q1zp2nhNwIdt3cI2xb09OTRKTrdqtbVcske2gzsKfDL3JO
FJJuK/2KZ9kcTxaiWC7WV2auLwqZ9Jrts8FwRD0B15n2hE4V+Bi0nTMn/u+XZ
MGHGVblRqFlZcHP0MzDrIVTa8jxhzLHQ3KHZF7K75GyS29LD8EY2RRLKb-
VZyz6odIxokEfHbqZV22sP7sC8IsydvQ9wHbsIjavXi/NeqU=
=3+11
---END PGP MESSAGE---
Kada primalac selektuje opciju Decrypt/Verify iz PGP menija, dobija originalnu poruku:
t hi s is a t est message
Iako su ovde ifrovanje i dodavanje digitalnog potpisa prikazani kao zasebni primeri, mogue je
izvesti oboje u okviru iste poruke. Jednostavno, izaberete obe opcije iz PGP menija. Osim za
email aplikacije, ifrovanje i potpisivanje, PGP moe da se primeni direktno i na fajlove. Na
operativnom sistemu Windows moete da kliknete desnim tasterom mia naziv fajla i videete
opciju PGP. Nakon selektovanja PGP opcije, prikazae se mogue opcije za ifrovanje, potpisi-
vanje, ili oboje istovremeno. Moete i da uklonite (wipe) fajl. Ovo je slino njegovom brisanju.
Ipak, kod normalnog brisanja uklanjaju se samo reference na podatke iz fajla. Stvarni podaci i
dalje ostaju netaknuti i obino mogu da se povrate upotrebom nekih pomonih programa za
odravanje diska. Ovo je korisno ako sluajno izbriete fajl. Osim toga, ovim se pomae
pripadnicima slubi za ouvanje reda i zakona kada treba da oporave fajlove sa nelegalnim
materijalom (kao to je deija pornografija) sa kompjutera koji su koristili kriminalci. Kada
uklonite fajl, podaci se uklanjaju sa drajva. Ne postoji nain da se povrate.
PGP se sasvim sigurno lako koristi, ali kako on funkcionie? Pre svega, i poiljalac i primalac
moraju da instaliraju PGP. Sledi problem kljueva. Kada prvi put instalirate PGP, instalaciona
rutina nudi opciju za generisanje para privatnog/javnog kljua. Nakon instaliranja PGP-a, moete
da generiete i novi par privatni/javni klju pokretanjem pomonog modula PGPkeys. Kada se
modul pokrene, traie da izaberete tip kljua (na primer, RSA, ili Diffie-Hellman/DSS), veliinu
kljua i datum isteka. Tako moete da prilagodite PGP svojim potrebama. Osim toga, zahtevae
da izaberete frazu propusnicu (pass phraze), string koji obezbeduje pristup privatnom kljuu. Ovo
je bezbednosni mehanizam koji samo Vama omoguava pristup privatnom kljuu. Program
zahteva da unesete frazu propusnicu svaki put kada digitalno potpiete dokument sa privatnim
kljuem, ili deifrujete i ifrujete poruke.
Kada PGP generie par kljueva, snima ih u takozvani keyring (odreeni fajlovi na hard disku).
Privatni kljuevi su smeteni u fajl pod nazivom secring.skr, a javni kljuevi se smetaju u fajl pod
nazivom pubring.pkr. Javni klju moe da se postavi na server tako da i drugi korisnici mogu da
mu pristupe. Alternativno, javni klju moe da se eksportuje u fajl, a zatim da se poalje do bilo
koga sa kim elite da razmenjujete bezbedne email poruke, ili ak mogu da se "uskladite" na
Vaem Web saitu.
7.5 Zatita na transportnom sloju i autentifikacija
servera
Zbog ogromnog broja kompanija koje danas svoje poslove obavljaju preko Interneta, zatita je
postala jedan od najvanijih problema. Moda ste nekada neto kupovali preko Web sajta
unoenjem broja svoje kreditne kartice u pretraiva i klikom na odgovarajue dugme. Moda ste
uplaivali, ili podizali novac sa Vaeg bankovnog rauna. Naravno, tada ste morali da unesete
broj rauna i PIN.
Kada PGP potpie poruku, obavlja dve "stvari" (slika 7.18): izraunava vrednost digitalnog
saetka poruke H(M) za poruku M, koristei SHA-I algoritam, i ta vrednost se ifruje pomou
poiljaoevog privatnog kljua. Tako se generie D^(H(M)) sa slike 7.18. Kada se prime poruka i
ifrovana vrednost digitalnog saetka, izvode se dve komplernentarne akcije. Prvo se vrednost
digitalnog saetka deifruje pomou poiljaoevog privatnog kljua (koji primalac takode mora
da ima) i ponovo se dobija H(M). Zatim se H(M) poredi sa izraunatom vrednou na strani
primaoca. Ove dve vrednosti moraju da se poklope da bi bila potvrena autentinost poruke.
Naravno, postoji jo mnogo tota to moe da se kae o PGP programu. Kako se kontroliu
keyring fajlovi? Kako se preuzima javni klju koji je postavljen na serveru? Koje jo algoritme za
ifrovanje PGP podrava? Kako je mogue utvrditi da li je osoba koja obezbeduje javni klju ona
za koju se predstavlja? Ovde postoji prostor za eventualne prevare. Lista pitanja moe da se
nastavi. Mnoga od njih su specifina za PGP i upuujemo Vas na informacije iz izvora koji se vie
bave njima (reference [Ga94], [Zi95] i [OpOl] iWebsajtwww.pgpi.org/).
SLIKA 7.18 Korienje PGP-a za autentifikaciju poruke kreirane u Outlooku
Kreiranje
email
poruke
Outlook
Izraunavanje vrednosti
digitalnog saetka
poruke za M
PGP: faza
izvravanja
hash funkcije
ifrovanje H(M)
pomou poiljaoevog
privatnog kljua
PCP: faza
ifrovanja
Outlook
Prikazivanje
beleke o
autentifikaciji
Izraunavanje nove
Vrednosti digitalnog
saetka poruke za M:
poredenie sa H(M)
PGP: faza
izvravanja
hash funkcije
PGP: faza
deifrovanja
Deifrovanje Dk{H(M))
korienjem poiljaoevog
privatnog kljua
SLIKA 7.19 TLS (Transport Layer Security) protokol
Uzimanje poruke
M od korisnika
ifrovanje
poruke M
Slanje poruke,
Ek(M)
transportni
protokol
Transport Layer
Security (TLS)
sloj aplikacije
(na primer, HTTP)
sloj aplikacije
(na primer, HTTP)
Transport Layer
Security (TLS)
transportni
protokol
Prikazivanje poruke
M od korisnika
Deifrovanje
poruke Ek(M)
Prijem poruke
Ek(M)
Svaki put kada unosite privatne informacije iz sigurnosti svog doma, kako znate da neko ne
nadgleda Vau konekciju i ne kopira lnformadje? Sajtovi kojima pristupate moraju da garantuju
sigumost ovakvih privatnih informacija. Pitanje je kako mogu da osiguraju ono to im aljete iz
privatnosti svog doma.
S obzirom da je mnogo panje posveeno ifrovanju, logino je da se reenje trai upravo u
metodima za ifrovanje. Medutim, to namee druga pitanja. Na primer, kako dobiti pristup
odgovarajuem metodu za ifrovanje i kljuevima iz privatnosti svog doma? Morate ih imati
lokalno pre nego to poaljete privatne informacije posredstvom Internet provajdera. Ipak,
nemojte da mislite da jedini oblik prevare ukljuuje nekoga ko prati Vau konekciju. Kako da
znate da je sajt na koji se povezujete stvarno legitiman? Samo zato to sajt ima lepo odraden
grafiki dizajn i polja za unos broja kreditne kartice ne znai da je re o legitimnoj firmi. Kako da
budete sigurni da operatori Web sajta nee uzeti broj Vae kartice i nestati?
Odgovor na ova pitanja daju protokoli kao to su Secure Sockets Layer (SSL) i Transport Layer
Security (TLS) i X.509 sertifikati. X.509 sertifikat obezbeuje standardnizovani sadraj za
informacije koje se koriste za autentifikaciju servera; ubrzo emo i njih predstaviti.
Zatita na transportnom sloju
I SSL i TSL su protokoli koji se nalaze izmedu sloja aplikacija predstavljenog HTTP protokolom
(koriste ga pretraivai) i transportnog sloja TCP (Transport Control Protocol of the Internet). SSL
je originalno razvio Netscape. Dva najvanija cilja pri uvodenju tog protokola bila su
obezbeivanje pomonih rutina za ifrovanje radi bezbedne razmene privatnih informacija i
obezbeivanje autentifikacije servera tako da korisnici mogu da smatraju da server jeste ono za
ta se "izdaje". Na slici 7.19 prikazano je gde se uklapa TLS (ili SSL). Poto se TLS (ili SSL) umee
izmedu slojeva, on izvodi ifrovanje poruke M koja se generie na sloju aplikacije.
* Fortezza algorilme, zasnovane na Capstone, raz\'ila je NSA; detalji specifikacije su poverljivi.
Rezultat E
k
(M) se prosleuje do transportnog sloja, koji ga prosleduje do transportnog sloja na
strani servera. Transportni sloj prenosi E
k
(bA) do TLS-a, gde se deifruje nazad u M i prenosi do
aplikacije na serveru.
Razvijeno je nekoliko verzija SSL protokola; svaka je donela nova poboijanja i vei broj opcija u
odnosu na prethodnu. Osim toga, TLS je razvio IETF kao eventualnu zamenu za SSL. Prema IETF,
razlike izmeu ovog protokola i SSL 3.0 nisu dramatine, ali su dovoljno znaajne da TLS 1.0 i
SSL 3.0 ne mogu zajedno da funkcioniu. Ovde se neemo baviti tim razlikama, ili razlikama
izmeu razliitih SSL verzija, ali emo dati neke krae komentare. Osim tih komentara, neemo
navoditi nikakve druge razlike izmedu ovih protokola; zainteresovane itaoce upuujemo na
reference [ThOO] i [ReOl].
Netscape je razvio SSL, a IETF je razvio TLS, koji je zasnovan na SSL 3.0.
Iako TLS i SSL u optem sluaju ne mogu da komuniciraju, TLS ima mogunost da se
vrati na SSL 3.0.
Neke razlike niskog nivoa odreduju nain na koji se defmiu proirenja bajta kada je
neophodno kreirati blokove odgovarajue duine izmeu SSL-a i TLS-a.
TLS podrava dodatne kodove upozorenja (to su kodovi koji korisnika upozoravaju
kada neto nije u redu).
IETF je izbacio Fortezza* algoritme koje SSL podrava.
X.509 sertifikat
Poinjemo od toga kako se server autentifikuje. Pretpostavimo da ste se povezali na neki Web sajt
i da treba da unesete neke privatne informacije, kao to je broj kreditne kartice. Kako moete da
budete sigurni da je sajt to to tvrdi da jeste? Za mnoge ljude je i dalje sigurnije da odu u pro-
davnicu i da na kasi daju svoju kreditnu karticu, jer u tom sluaju znaju ko pristupa njihovom
raunu. Ipak, pretpostavimo da na Vaa vrata zakuca trgovaki putnik i da odluite da kupite
neto od onoga to on nudi. Da li ete imati dovoljno poverenja da mu date broj svoje kreditne
kartice? On moda tvrdi da predstavlja veliku uglednu kompaniju, ali kako da budete sigurni?
Moe Vam pokazati ak i svoju identifikacionu karticu iz kompanije, ali kako da budete sigurni
da nije falsifikovana? Ovde postoji ozbiljan problem poverenja.
Povezivanje na Internet je po mnogo emu slino. Kako da znate da li moete da vemjete sajtu?
Odgovor obezbeduje X.509 sertiflkat. Re je, u sutini, o dokumentu koji sajt obezbeduje kao
dokaz svog identiteta. To je neto slino elektronskom ID-u. Naravno, mora da postoji i neto
vie od toga, jer svako moe da kreira ID validnog izgleda.
Sledei deo "slagalice" je telo nadleno za izdavanje sertifikata (CA - certificate authority), entitet
koji je ovlaen za izdavanje sertifikata. Razmotrimo analogni primer. Kompanija intervjuie
kandidate za odreeno mesto. LJ listi kandidata su navedene kvalifikacije i steene diplome, ali
kompanija ne donosi konanu odluku o zapoljavanju (bar ne pozitivnu) samo na osnovu tih
informacija.
* Sve legitimne adrese koje poinju sa htlps mogu da poslue.
t Osim toga, moete da vidite da li su ove informacije dobijene korienjem Internet Explorera (IE). Kada se poveete na
siguran sajt, IE na dnu statusne linije prikazuje ikonicu sa katancom. Ako duplo kliknete tu ikonicu i selektujete razliite
kartice i opcije, mo ete da vidite informacije iz sertifikata.
SLIKA 7.20 Informacije tela nadlenog za izdavanje sertifikata
Kandidat mora da obezbedi preporuke i odgovarajue dokaze o steenoj diplomi sa fakulteta.
Nakon toga, kompanija proverava preporuke i univerzitet da bi se utvrdilo da li je sve to je
kandidat naveo tano. Naravno, mora da postoji poverenje i u ono to osobe navedene u pre-
porukama, ili sa univerziteta kau. Poslodavac pretpostavlja da su njihove informacije pouzdane.
Vremenom poslodavac naui da prepozna kome moe da veruje.
Tako je i sa CA. Kao potroa, uvate listu onih kojima moete da verujete. Ako CA izda sertifikat
za Web sajt, moete da verujete da je Web sajt ispitan i da je identifikovan kao legitiman. Drugim
reima, CA predstavlja nekoga ko daje verodostojne preporuke za taj Web sajt.
Vaa sledea pomisao moe da bude: "Naruio sam neto preko Interneta, ali ne seam se da sam
proveravao listu CA, niti sam pogledao da li postoji sertifikat". To je zato to to umesto Vas
obavlja pretraiva. Na primer, pretpostavimo da koristite Netscape i da ste se povezali na
https://certs.netscape.com.* Primeujete da se koristi https umesto uobiajenog prefiksa http u
URL-u. Dodatno slovo s ukazuje da ste se povezali na siguran sajt koji ima sertifikat i koji je
odobrio CA. Da biste videli ko je izdao sertifikat, selektujte opciju Page Info iz menija View.
Preite na karticu Security; na slici 7.20 prikazan je jedan mogui primer. Tu je kao CA naveden
Thawte Consulting. Ako elite da vidite konkretan sertifikat koji CA izdaje, kliknite View i
videete neto slino onome na slici 7.21.'
SLIKA 7.21 Digitalni sertifikat
Thawte je jedno od brojnih proverenih CA tela koje Va pretraiva priznaje. Da biste videli listu
i drugih CA u Internet Exploreru (verzija 6), selektujte Internet Options iz menija Tools. Zatim,
predite na karticu Content, kliknite Certificates i preite na neku od moguih kartica u rezultu-
juem prozoru. Ako koristite Netscape 7.0, selektujte Preferences iz menija Edit. Otvorite kate-
goriju Privacy and Security i selektujte opciju Certificates. Kliknite Manage Certificates i preite
na karticu Authorities. Verisign & Thawte su dva najvea CA, ali videete i mnoge druge.
Sertifikat sa slike 7.21 prikazuje CA telo koje je izdalo sertifikat, period u kome je sertifikat
validan (sertifikati imaju vreme isteka) i dva otiska (fingerprints). To su vrednosti digitalnog
saetka generisane SHA-I, ili MD5 algoritmom, a koriste se za autentifikaciju. Poto svako moe
da kreira sertifikat, moramo da utvrdimo koji su sertifikati autentini.
Kada se korisnik povee na Web sajt, pretraiva radi sledee (u stvari, radi jo mnogo ega - uskoro
emo dati detaljniji opis):
Preuzima sertifikat servera.
Proverava datum izdavanja i isteka sertifikata. Da li se tekui datum nalazi u tom peri-
odu?
Proverava otiske. Da li autentifikuju dokument?
Proverava CA. Da li je na listi proverenih tela?
Sva ova pitanja moraju da imaju potvrdne odgovore, ili se, u suprotnom, korisnik obavetava da
postoji neki problem. Na primer, ako pretraiva ne moe da pronade CA u listi, prikazae
poruku slinu onoj na slici 7.22. Tada se korisniku preputa odluka o narednoj akciji. Ako
korisnik odlui da, ipak, nastavi dalje, sve dalje akcije izvodi na sopstveni rizik.
SLIKA 7.22 Bezbednosno upozorenje
Usaglasavanje
Sledei korak je opisivanje onoga ta TLS (ili SSL) radi kada pokuava da se povee na siguran sajt
(oznaen prefiksom hltps). Inicijalni set razmena izmedu klijenta i servera naziva se usuglaavanje
(handshake), a definie rutine za deifrovanje i ukljuuje razmenu kljueva i procedure za provem
autentinosti. Usaglaavanje je defmisano sledeim koracima. Kompletan opis moete da pronadete
ureferencama [ThOO] i [ReOl].
1. Klijent alje informacije do servera. Informacije ukljuuju nanoviju raspoloivu verziju
SSL-a (ili TLS-a), liste algoritama za ifrovanje i za razmenu kljua i listu metoda za
ifrovanje koje klijent podrava. Algoritmi za ifrovanje su DES, trostruki DES, RC2,
RC4, IDEA i Fortezza. Algoritmi za razmenu kljua su RSA, Diffie-Hellman i Fortezza.
Ove informacije ne definiu ta e se uraditi, nego samo ta moe da se uradi. Klijent
takoe alje ID sesije i neke nasumino generisane podatke (iju emo namenu uskoro
opisati). ID sesije moe da bude nula, ili razliit od nule. Vrednost 0 znai da ldijent
zahteva novu sigurnu sesiju, a nenulta vrednost da klijent zahteva auriranje
parametara tekue sesije. To je dodatna mera zatite u sluaju da neautorizovana
osoba nadgleda prenos. Periodina promena rutina oteava praenje.
2. Server alje broj verzije, specifikaciju ifrovanja i razmene ldjua i algoritam kompresije
koji je izabran na osnovu klijentovog predloga. Selektuju se najnovije (i najsigurnije)
verzije koje obe strane mogu da podre. Server takoe alje neke nasumino generisane
podatke i svoj sertifikat.
SLIKA 7.23 Prikazivanje javnog kljua CA
3. Do sada se nije desilo nita posebno, jer su klijent i server, jednostavno, razmenili
informacije. To se menja u koraku 3. Poto je klijent primio serverov sertifikat, mora
da proveri validnost sertifikata i autentinost servera. Naravno, u okviru toga mora da
bude potvrdena i autentinost sertifikata. Klijent izvrava sledee korake. Problem u
bilo kom koraku izaziva upozorenje koje se prosleduje do korisnika. Svi koraci moraju
da budu kompletirani da bi se nastavilo dalje.
Dananji datum se poredi sa datumom izdavanja i isteka sertifikata. Ako se teku
datum ne nalazi u tom periodu, sertifikat nije validan.
Proverava se da li se CA telo koje je izdalo sertifikat nalazi u listi proverenih CA.
Poto sertifikat moe da bude falsifikovan, klijent mora da proveri njegovu
autentinost. CA koji izdaje sertifikat prilae i digitalni potpis za njega. U te svrhe
se koriste prethodno opisani metodi za utvrivanje vrednosti digitalnog saetka.
Nakon toga se vri ifrovanje te vrednosti pomou privatnog kljua. Koriste se
dva algoritma: SHA-I i MD5. Ako se otkrije sigurnosni propust kod jednog, drugi
obezbeduje dodatne mere zatite.
Pristupa se javnom kljuu izabranog CA tela i on se primenjuje na digitalni potpis
da bi se dobila originalna vrednost digitalnog saetka. Izvravaju se procedure za
proveru autentinosti sline onima koje smo prethodno opisali i utvrduje se da li
je dobijena tana vrednost digitalnog saetka. Moda se pitate odakle klijentu
klju od CA. Setite se da su ovi kljuevi javno poznati i da se uvaju zajedno sa
listom CA. Na primer, ako ste koristili prethodno opisane procedure za dobijanje
liste CA, moete da selektujete bilo koji od njih, pa kliknite View. Prelaskom na
karticu Details i selektovanjem polja Public Key Info moete da dobijete prikaz
slian onome na slici 7.23 - prikazan je deo javnog kljua koji je korien za RSA
(ostatak javnog kljua moe da se vidi skrolovanjem vrednosti u polju Field
Value).
Naziv domena u sertifikatu se poredi sa nazivom domena na serveru. Ovaj korak
omoguava detektovanje napada tipa man-in-the-middle, kod koga se "uljez"
ubacuje izmeu klijenta i servera. Da je umetanje izvedeno u ranoj fazi procedure
usaglaavanja, "uljez" bi mogao da uspostavi sopstveni sigurni kanal sa klijentom
i serverom i tako bi mogao da vidi sve informacije koje obe strane alju. Klijent bi
mislio da je "uljez" server, a server bi mislio da je "uljez" klijent.
4. Klijent kreira 48-bajtnu sekvencu (oznaenu kao pre-master secret), ifruje je, koristei
serverov javni klju,* i alje je do servera. Klijent e koristiti ovu sekvencu za
generisanje simetrinog kljua za ifrovanje za bezbednu sesiju. Server prima poslatu
sekvencu, deifruje je pomou svog privatnog kljua i izvodi slina izraunavanja za
generisanje kljua.
5. Ako je neophodno, server moe da zatrai autentifikaciju klijenta. Proces je slian aut-
entifikaciji servera i ovde neemo navoditi njegove detalje. Jednostavno, napominjemo
da neke komunikacije (na primer, transfer novca izmeu dve fmansijske institucije)
zahtevaju autentifikaciju obe strane. Veina korisnika koji su naruivali neto preko
Interneta nije morala da se autentifikuje na ovakav nain. Kada korisnik potvrdi unos
broja svoje kreditne kartice, server proverava broj, koristei iste metode kao bilo koji
drugi prodavac, bilo na Internetu, ili u tradicionalnim prodavnicama.
6. I klijent i server koriste pre-master secret sekvencu za generisanje master secret
sekvence. Da bi se izraunala ta sekvenca, klijent alje nasumino generisane podatke,
ti se podaci primaju na serveru (seate se koraka 1 i 2) i izvrava se hash procedura sa
pre-master secret sekvencom, koja daje 48-bajtnu sekvencu. Server izvrava analogni
postupak. I klijent i server uvode master secret sekvencu u hash algoritme za
eventualno generisanje kljueva sesije koji se koriste za ifrovanje podataka koje e
kasnije razmenjivati u toku sesije.
7. Klijent alje serveru drugu poruku, u kojoj potvruje kreiranje kljua sesije i saoptava
da e sve budue poruke biti ifrovane pomou kljua i algoritma naznaenih u
prethodnoj razmeni. Server alje analogne informacije do klijenta. Kada i klijent i
server prime ove poslednje poruke, uspostavlja se sigurna sesija i sigurna komunikacija
koja ukljuuje metode za ifrovanje i naznaeni klju moe da otpone.
Kao i u sluaju prethodnih tema, mogue je navesti mnogo vie detalja; upuujemo zainteresovane
itaoce na reference [ThOO] i [ReOl ], a mogu da posete i Web sajtove www.ietf.org./html.charters/
tls-charter.html i http://developer.netscape.com/docs/manuals/security.sslin/contents.htm.
* Korienje javnog kljua prcdstavlja samo jedan od moguih naina za slanje pre-master sekvence. U zavisnosti od
specifikacija za razmenu kljua iz prethodnih koraka, mogla je da se koristi i neka varijacija Diffie-Hellman, ili Fortezza
algoritma.
7.6 Firevvalli
Do sada predstavljene mere zatite dizajnirane su za zatitu informacija koje se koriste za
obavljanje poslova preko Interneta. Medutim, ljudi i maine su izloeni riziku i kada ne
pokuavaju da obave bilo kakve aktivnosti. Kompjuteri koje koristite i maine koje obezbeduju
mrene servise izloeni su riziku od napada malicioznih ljudi koji ele da ometu njihove
aktivnosti, ili da im nanesu tetu. To je realnost dananje svakodnevnice; vai i za cyberspace.
Kako spreiti napade na kompjuter? Hi, moda realnije, kako spreiti uspene napade?
Prvi korak u borbi sa napadima je upoznavanje mrene arhitekture i naina na koji se napadi
prenose kroz mreu. Skoro svaka organizacija odrava svoju mreu i omoguava pristup
Internetu preko sopstvenih maina. Osim toga, svaka maina na internoj mrei ima svoju Internet
Protocol (IP) adresu, tako da je vidljiva i za druge kompjutere van lokalne mree. Cim ste vidljivi,
automatski postajete meta potencijalnih napada.
Kako zatititi kompjuter koji ima IP adresu? Kao analogni primer moete da uzmete javne sisteme
- na primer, aerodrome, ili medijske dogadaje viskog nivoa. Postavljaju se kontrolne take i Ijudi
koji ele pristup moraju da produ kroz njih, gde se skeniraju i trae "stvari" koje mogu da
predstavljaju pretnju. Primoravajui svakoga da prode kroz jednu, ili vie kontrolnih taaka,
slubenici mogu bolje da kontroliu bezbednost objekta, ili dogadaja. Ako je broj kontrolnih
taaka mali, zatita se bolje defmie, jer slubenici mogu da fokusiraju svoje napore na manji broj
lokacija.
Mnoge mree koriste slian koncept. Iako svaki kompjuter u lokalnoj mrei ima pristup
Internetu, sav Internet saobraaj mora da prode kroz jednu, ili vie specijalizovanih maina koje
se nazivaju firewalli. Svrha firewalla je da proui saobraaj koji prolazi preko njega i da detektu-
je eventualne pretnje. Prolazak se zabranjuje za sve to moe da predstavlja potencijalnu pretnju.
Ostatak normalno prolazi. Zvui jednostavno, ali tei deo podrazumeva donoenje odluke ta
predstavlja pretnju, posebno zbog toga to su mnoge pretnje maskirane tako da izgledaju kao
legitimni saobraaj. Kasnije emo analizirati neke primere.
Iako su u Poglavlju 11 detaljnije predstavljeni Internet Protokol i njegov pratei protokol
Transport Control Protocol (TCP), postoji nekoliko detalja koje moramo istai pre nego to
preemo na predstavljanje naina funkcionisanja firewalla.
IP i TCP odgovaraju slojevima 3 i 4, respektivno.
Internet saobraaj je organizovan u vei broj paketa koji putuju izmedu rutera. IP
paketi sadre podatke i adresu koja definie odakle paket potie (izvor) i gde treba da
se isporui (odredite). U paketu se nalaze i polja koja defmiu da li TCP, ili neki
drugi protokol sloja 4, kao to je UDP, koristi IP.
Podaci aplikacije se obino dele na jedan, ili vie Internet paketa.
Jedan server na mrei moe da obezbedi razliite servise. Klijent koji eli odredeni
servis mora da naznai IP adresu servera i broj porta kojim se identifikuje traeni
servis. Brojevi portova za neke uobiajene servise su dobro poznati, kao to su port 23
za Telnet (za daljinsko logovanje), port 21 za FTP (za transfer fajlova), port 80 za
HTTP (za aktivnosti na Webu) i port 25 za SMTP (email).
lntemet
neispravan paket
ispravan paket
firevvall
odbacivanje
neispravan paket
ispravan paket
Univerzitetska mrea,
ili mrea u okviru ^
kompanije
SLIKA 7.24 Filtriranje paketa
Filtriranje paketa
Filtriranje paketa je verovatno najjednostavniji pristup za dizajniranje firewalla. Funkcionie na
osnovu jednostavne pretpostavke (slika 7.24): prouava sa sadraj zaglavlja svakog paketa i
donosi se odluka da li paket treba, ili ne treba da proe. Odluka se obino donosi na osnovu
sadraja adresnog polja paketa, broja porta, ili transportnog protokola koji je naveden. Evo nekih
raoguih primera odluka:
Doputeni su svi paketi koji imaju 23 kao oznaku TCP porta. Na taj nain je
omogueno logovanje na bilo koju mainu u lokalnoj mrei preko Telneta (pomona
rutina za daljinsko logovanje).
Doputeni su svi paketi koji imaju 23 kao oznaku TCP porta i ija se adresa nalazi u
listi adresa koju firewall odrava. Na taj nain je omogueno logovanje na bilo koju
naznaenu mainu iz liste preko Telneta. Sto je jo znaajnije, firewall blokira sve
pokuaje logovanja na neke druge lokalne maine. Administrator mree defmie koje
e se maine nai na listi.
Doputeni su svi dolazei paketi sa odredinom adresom naznaenom u Hsti koju
fuevrall odrava. Tako je omogueno proputanje zahteva za servisima koje
obezbeuju serveri iz liste.
Doputeni su svi odlazei paketi koji sadre odredinu adresu naznaenu u listi koju
firewall odrava. Ovo se razlikuje od prethodnog primera po tome to se odnosi na
odlazee pakete. Kompanija mora da definie stroga pravila koja doputaju zaposlenima
da pristupaju samo odreenim destinacijama radi obavljanja svojih radnih zadataka.
Ovakve polise mogu da zabrane zaposlenima neobavezno surfovanje Webom, ili pristup
sajtovima koji nisu povezani sa njihovim poslom.
Doputeni su svi odlazei paketi sa odredinom adresom koja odgovara nekoj od IP
adresa u okviru organizacije. Ovo moda deluje udno na prvi pogled. Na kraju
krajeva, odlazei paket potie sa nekog kompjutera u okviru organizacije i, samim tim,
izvor odgovara nekoj IP adresi te organizacije. Naalost, to nije tano.
Neki napadi na sajtove su zasnovani na lanim IP adresama (IP address spoofing), kada IP pake
sadri lanu IP adresu u polju izvora i pokuava da sakrije pravi izvor poruke. Kasnije emc
predstaviti neke vrste napada, ali ideja je da se blokiraju svi odlazei paketi koji sadre lani
izvorne adrese.
Napomenimo da ovi primeri definiu kriterijume koji e biti korieni za donoenje odluke c
proputanju paketa. Ovo povlai podrazumevanu akciju koja ukazuje da paket treba blokirati
ako nije rugaije naznaeno. Postoji i druga opcija: inicijalno se doputa proputanje svih pake
ta, ako nije drugaije naznaeno. U ovom sluaju mogue je doneti neke od sledeih odluka:
Blokiraju se svi dolaze paketi sa 23 kao oznakom TCP porta. Na ovaj nain su
zabranjeni svi pokuaji logovanja na maine kompanije preko Telneta.
Blokiraju se svi dolazei paketi koji sadre izvomu adresu naznaenu u listi koju
firewall odrava. Ako administrator mree utvrdi da su odreeni udaljeni sajtovi
problematini, ili da neko odatle alje ogromne koliine beskorisnih email poruka,
firevvall moe da bJokira sve to dolazi sa tog sajta. Covek se stvarno dobro osea kada
stavi takve sajtove na listu za blokiranje!
Blokiraju se svi dolazei paketi koji sadre odredinu adresu naznaenu u listi koju
firewall odrava. Na ovaj nain, administrator mree moe da obezbedi servere sa
dodatnim nivoom zatite, a da se, i pored toga, dopusti pristup nekim drugim serveri-
ma. Time se eflkasno blokira pristup svim serverima iz liste za sve one koji se nalaze
na drugoj strani firewalla (tj. optoj Internet zajednici).
Blokiraju se svi odlazei paketi koji sadre izvornu i odredinu adresu iz listi koje
firewall odrava. Moda je ef laboratorije otkrio da mnogi koriste laboratorijske
kompjutere za povezivanje na server koji omogucava igranje igara preko Interneta.
Ako takve aktivnosti nisu u skladu sa pravilima organizacije, mogu se spreiti
zabranom proputanja odlazeih paketa iz laboratorije do odgovarajuih servera.
Koji je pristup bolji? Ako se inicijalno doputa proputanje paketa, administrator mree mora
neprestano da proverava odakle mogu da poteknu novi napadi, ili u kom obliku mogu da se jave.
Osim toga, mora se voditi rauna o namavanju lokalnih polisa. Sa svakom novom mogunou,
firewall mora da se aurira. Naravno, administrator ne mora da bude svestan svih mogunosti za
napade i zato je ovaj pristup manje bezbedan.
Ako se inicijalno blokiraju svi paketi, administrator mora da utvrdi kako da konfigurie legitimne
zahteve. Nita nee proi ako nije eksplicitno definisano na firewallu. Ovaj pristup je bezbedniji,
ali administrator mora da poznaje sve legitimne potrebe korisnika. Ako neto izostavi, onda
firewall moe da blokira legitimne pakete i tako inicira neprestane albe korisnika. Naravno,
firewall moe da se aurira, ali korisnik u tom sluaju moe da kae: "Ne daju mi nita da uradim
dok se najpre ne poalim".
Firevvalli tipa Application-Level Gateway
Sledei tip firewalla funkcionie na viem nivou. Filtriranje paketa prvenstveno funkcionie na sloju
3, gde se odluke donose na osnovu sadraja paketa (slika 7.25), i ne obezbeduje fleksibilnost kada
se vri diskriminacija zasnovana na akcijama koje se izvode u okviru odredene aplikacije.
SLIKA 7.25 Mogui dizajni fireuialla
Na primer, moete da dopustite korisniku da se povee na mainu koristei protokol za transfer
fajlova radi preuzimanja fajlova. Meutim, elite da zabranite postavljanje fajlova. Ovo je tipino
za mnoge sajtove koji slue kao repozitorijumi fajlova za korisnike Interneta.
Filtriranje paketa ne moe da zadovolji ovakve zahteve. Eventualno, paketi namenjeni portu 21
(FTP) mogli bi da se blokiraju, ali to bi blokiralo sve FTP zahteve, a ne samo postavljanje fajlova
na server. Kao alternativa, moe da poslui ugradivanje dodatne logike u firewall koji moe da
razume aplikacije i njihove mogunosti (slika 7.25b). Ovakav tip firewalla se oznaava kao
application-level gateway (poznat je i pod nazivom proxy server). Ovaj firewall pokree
specijalni program dizajniran za svaki tip aplikacije ije je zahteve neophodno pratiti. Prouavaju
se zahtevi specifini za sloj aplikacije, a zatim se doputaju, ili odbijaju, u zavisnosti od
informacija koje obezbeduje firewall. Inicijalno ne obezbeduje zatitu za sve aplikacije; gateway
program mora da se instalira za svaku individualnu aplikaciju.
(a) Filtriranje paketa
sloj aplikacije
sloj mree
sloj veze podataka
fiziki sloj
sloj aplikacije
sloj mree
sloj veze podataka
fiziki sloj
Donoenje odluke
koji se paketi
proputaju
sloj aplikacije
s!oj mree
sloj veze podataka
fiziki sloj
Donoenje odluke koje se
aktivnosti aplikacije proputaju.
Ponaa se kao proxy za sve
naredne razmene.
sloj aptikacije
sloj mree
sloj veze podataka
fiziki sloj
sloj aplikacije
konekcija
sloj mree
sloj veze podataka
fiziki sloj
konekcija
sloj aplikacije
sloj mree
sloj veze podataka
fiziki sloj
(b) Application layer gateway
Na primer, pretpostavimo da klijent eli da uspostavi FTP konekciju sa serverom na kome je
postavljen firevvall. Zasebni program se izvrava na tom firewallu i presree sve zahteve od
klijenta. Ako klijent alje get zahtev (zahtev za uzimanje informacija), zahtev se postavlja u IP
paket i rutira se ka firewallu, gde se izvlai iz paketa i prouava na sloju aplikacije firewalla. Ako
firewall odobri takav zahtev, onda se zahtev prosleuje do niih slojeva, gde se postavlja u
drugi IP paket i alje do odredita. Ako je umesto get zahteva korien zahtev put (zahtev za
postavljanje informacija), firevvall blokira transfer ako takvi zahtevi nisu doputeni. Naravno, sve
ove informacije moraju da budu definisane u okviru pravila firewalla, koje odreduju polise
organizacije.
Glavna prednost firewalla tipa application-level gateway u odnosu na fdtriranje paketa je
poveana fleksibilnost donoenja odluka u skladu sa aplikacijom. Medutim, postoje i dodatni
trokovi. Firewall mora da pokree odgovarajue aplikacije. Osim toga, firewall rastavlja konek-
ciju izmedu klijenta i servera na dve zasebne konekcije: jednu izmedu klijenta i firewalla, a drugu
izmedu firewalla i servera. Firewall igra ulogu servera kada "razgovara" sa klijentom, a u komu-
nikaciji sa serverom ponaa se kao klijent. Ovo zahteva dosta dodatnih aktivnosti.
Ispitivanje sadraja paketa na osnovu prethodnog stanja
Pristup koji mnogi sve vie koriste ukljuuje ispitivanje sadraja paketa na osnovu prethodnog
stanja (stateful inspection). Slino kao pristup filtriranja paketa, funkcionie na sloju mree i
uvodi dodatne trokove za proxy. Filter paketa donosi odluku iskljuivo na osnovu sadraja
paketa. Naalost, lukaviji hakeri mogu da falsifikuju (lairaju) sadraj paketa i tako zaobidu
bezbednosne mere. Pristup ispitivanja sadraja na osnovu prethodnog stanja vri ispitivanje
sadraja u kontekstu onoga to se desilo ranije.
Moda se kao najjednostavniji primer moe uzeti komanda ping. Na primer, pretpostavimo da
ste izdali komandu ping w.x.y.z iz komandne linije. Ovde w.x.y .z predstavlja neku IP adresu.
Mogui odziv na komandu moe da izgleda ovako:
64 bytes from w.x.y.z: icmp_seq_0 ttl_109 time_106.0 ms
64 bytes from w.x.y.z: icmp_seq_l UL109 time__94.3 ms
64 bytes from w.x.y.z: icmp_seq_2 ttl_109 time_109.7 ms
64 bytes from w.x.y.z: icmp_seq_3 ttl_109 time109.6 ms
64 bytes from w.x.y.z: icmp_seq4 ttl_109 time_109.5 ms
U osnovi, ovaj odziv ukazuje da uredaj sa specifinom IP adresom moe da se kontaktira; taj
uredaj pokazuje koliko je vremena bilo potrebno da paket stigne do njega i vrati se nazad. Ping
je uobiajena alatka koju administratori koriste za proveravanje da li je server pokrenut i koriste
je neki Internet sajtovi za prikupljanje statistikih podataka o dostupnosti. Ovde je znaajno
napomenuti da komanda ping alje Echo Request paket do naznaenog sajta, a sajt reaguje
slanjem niza Echo Response paketa.
Naravno, svi ovi paketi moraju da prou kroz firewall. Kod ovog pristupa Echo Response paket
nije doputen ako prethodno nije postojao Echo Request paket. Osim toga, odredina i izvorna
adresa u odzivu moraju da odgovaraju izvoru i odreditu u zahtevu, respektivno. Ideja je da nema
smisla slati Echo Response paket ako prethodno nije zahtevan. Poto su takvi paketi korieni u
prolosti prilikom napada odbijanja servisa (videti odeljak 7.8), ovaj pristup omoguava dodatne
mere zatite.
U optem sluaju, na firewallu postoji baza pravila koja sadri informacije sline onima koje su
predstavljene u tabeli 7.2. Kolone Izvor i Odredite predstavljaju sajtove, a zvezdica (*) ukazuje
na doker znak. Kolona Servis definie protokole koji su ukljueni u pravilo, a kolona Akcija defi-
nie da li se paket koji je pridruen uz ove tri kolone prihvata, ili odbacuje. U optem sluaju,
pravila mogu da imaju i druge parametre. Na primer, polje Time of Day moe da se ukljui u bazu
pravila, tako da se naznai da su neki paketi doputeni samo u odredeno vreme. Osim toga,
administrator moe da instalira ogranienje brzine, tako da se dopusti pristup servisima, ali sa
redukovanim bitskim brzinama. Ovo moe da se koristi u kombinaciji sa odreenim korisnikim
grupama koje ne zahtevaju prenos velikih fajlova. Sporije bitske btzine nee imati mnogo efekta
za fajlove koji su im neophodni za obavljanje posla, ali e obeshrabriti korisnike da preuzimaju
svoje omiljene pesme, ili filmove. Naravno, kod pravih firevvalla obino postoji mnogo vei broj
zapisa nego to je predstavljeno u ovoj tabeli.
Pravilo
br. Izvor Odredite Servis Akcija Komentar
1 *Any
(Bilo koji)
ServerA.nekaOrg.com
ServerB.nekaOrg.com
ServerC.nekaOrg.com
HTTP,
Telnet,
FTP
Accept
(Prihvatanje)
2 GroupA,
GroupB
*Any Echo reply,
Echo
request
Accept
3 *Any PrintServerA *Any Drop
(Odbacivanje)
4 *Any GroupA Kazaa Drop
.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

N *Any *Any *Any Drop
Doputa HTTP, Telnet i
FTP pristup bilo kom od
servera A, B, ili C sa bilo
kog spoljanjeg izvora.
GroupA i GroupB su
grupe specifine za sajt
(moda laboratorijske,
ili nastavne). Doputaju
pakete Echo Request i
Echo Reply sa tih sajtova.
Ne doputa pristup na
PrintServerA iz bilo kog
spoljanjeg izvora.
Ne doputa pristup na
Kazaa sa bilo koje
maine iz GroupA. Tako
se zabranjuje postavljanje
fajlova na Internet
zajednicu sa bilo kog
kompjutera iz GroupA
Ako se ne primenjuje ni
jedno drugo pravilo, ovo
je podrazumevano.
U odsustvu bilo kojih drugih informadja, firewall donosi odluku da li e prihvatiti, ili odbaciti
paket, u zavisnosti od baze pravila. Medutim, kada paketi ponu da se prihvataju, definisan je
kontekst za prihvatanje, ili odbacivanje novih paketa. Razmotrimo sledei primer:
1. Udaljeni klijent zahteva FTP konekciju sa serverom A.
2. Server A potvrduje zahtev i uspostavlja se FTP kontrolna sesija. Klijent sada moe da
zahteva postavljanje, ili preuzimanje fajlova.
3. Firevvall kreira stanje defmisano IP adresom klijenta kao izvorom zahteva, IP adresom
servera kao odreditem i portom broj 21 (port za FIP konekcije). Stanje se odrava
kao ulaz u internoj tabeli stanja.
4. Naredni paketi koji pristiu na firewall prouavaju se u kontekstu prethodnih
aktivnosti. Na primer, ako server pokuava da inicira preuzimanje fajla za klijenta,
paket ne moe automatski da prode. Razlog je injenica da konkretni kontekst (stanje
konekcije) ukazuje da je klijent zahtevao uspostavljanje konekcije i jedino klijent
moe da inicira transfer podataka.
5. Pretpostavimo da klijent eli da provue drugi paket preko konekcije koja pristupa
portu sa drugim brojem. Taj klijent moda pokuava da napadne sistem, ili pokuava
da poalje paket sa potencijalno tetnim sadrajem. Izvor, odredite i broj porta u tom
paketu ne odgovaraju ni jednom postojeem stanju u tabeli. Zato firewall ne prihvata
automatski konkretni paket. Umesto toga, podvrgnue ga originalnim kriterijumima iz
baze pravila.
Glavna ideja za ispitivanje paketa na osnovu prethodnog sadraja je da se korisnik sprel da
postavi neki legitimni zahtev i da dobijeni odziv iskoristi za pokretanje napada. Ono to dobro
funkcionie na jednom sajtu moda nee odgovarati potrebama nekog drugog. Naravno, zato
nije mogue rei koji je pristup najbolji. Sve to moe da se uradi je da se neprestano prati razvoj
novih tehnologija. U referencama [Po02] i [St03] moete da pronadete detaljniji opis firewal-
Ia, dok je u referenci [CoOIa] dat pregled raznih firewalla.
7.7 Virusi
Do sada smo razmatrali integritet i zatitu podataka u toku njihovog prenosa preko nekog
medijuma. Dali smo odgovore na pitanja u vezi detektovanja oteenih podataka i maskiranja
podataka da ih neautorizovane osobe ne mogu razumeti. Sledea ozbiljna pretnja po bezbednost
i integritet informacija jesu kompjuterski virusi i "crvi".
Strogo govorei, virusi i "crvi" mogu biti manji problem za kompjutersku mreu, a vei za
operativni sistem. Iako mree zasigurno olakavaju irenje nekih virusa, ako je kompjuter
povezan na mreu, to ne znai da e virusi jednostavno "uskoiti" u kompjuter i "pojesti" hard
diskove. U stvari, dva glavna razloga zbog kojih virusi i "crvi" postoje jesu propusti u zatiti
operativnih sistema i nemamo ponaanje korisnika.
Sa druge strane, mrene konekcije nisu bezopasne, to mogu da posvedoe rtve Internet "crva".
Pristup elektronskim oglasnim biltenima i meusobna povezanost velikog broja kompjutera
irom sveta ine problem virusa i "crva" krajnje ozbiljnim. Zato se u poglavlju o zatiti moraju
predstaviti i, u krajnjem sluaju, makar pomenuti njihove mogunosti.
'lnficiranje" fajlova
Virus je kolekcija instrukcija pridruena izvrnom fajlu koja radi neto za ta originalni izvrni
fajl nije dizajniran. Na PC-jima on se obino pripaja fajlovima sa ekstenzijom .exe, Oi .com. Na
Macintoshu krak resursa (resource fork) fajla je obino meta virusa. Kada se virus pripoji uz fajl,
kaemo da je fajl "inficiran".
Crvi (worms) su po mnogo emu slini virusima, ali obino se javljaju kao zasebni programi. Kao
i virusi, upadaju na sistem i potencijalno naruavaju bezbednost sistema.
Na slici 7.26 prikazan je jedan od naina za razlikovanje "inficiranog" i "neinficiranog" fajla. Ako
ste zainteresovani za druge naine, pogledajte reference [Sp90] i [Ka94]. "Neinficirani" fajl
sadri izvrni kod koji se moe izvriti kada se pozove. Meutim, kod "inficiranog" fajla virus
umee naredbu grananja na sopstveni kod. Kada korisnik pokrene "inficirani" fajl radi izvrava-
nja nekog zadatka, komanda grananja prenosi kontrolu najpre na kod virusa.
SLIKA 7.26 Virus na izvrnom fajlu
"Neinficirani" softver "Inficirani" softver
Zahtev za izvravanje
nekog procesa
grananje
Kod procesa
Izvravanje
neega
neuobiajenog
grananje
virus
memonja
Kod procesa
Zahtev za izvravanje
nekog procesa
* Neki bezopasni virusi mogu, u stvari, da nanesu veliku tetu, ak i ako eksplicitno ne unitavaju, ili ne otediju postojee
informacije. Uskoro emo navesti nekoliko primera.
SLIKA 7.27 Samostalno dupliranje virusa
Izvrni faji kao to su .EXE, ili .COM fajl na PC kompjuterima
Traenje izvrnih fajlova.
Ako se pronadu, virus se
duplira i pripaja na njih.
fajl sistem
pokretanje
virusa
memorija
Virus izvrava svoj "posao", pa pomou sledee naredbe grananja kontrolu vraa na izvravanje
traenog zadatka. Sa stanovita korisnika, zahtevani zadatak je izvren. Osim ako virus nije
uradio neto krajnje oigledno, kao to je brisanje hard diska, korisnik moda nee ni znati da on
postoji.
ta sve virus moe da uradi? Naalost, skoro sve. Moe da izvede "bezopasne" akcije, kao to je
prikazivanje boine jelke na monitoru u vreme praznika.* Moe da bude izuzetno destruktivan
i da izbrie podatke sa hard diska, ili da uniti fajl sistem. U tim sluajevima njegov efekat obino
moe da se minimizira, ali samo ako ste redovno bekapovali svoje podatke! Ako niste, onda ste
u ozbiljnoj nevolji.
Najgori virusi ne izazivaju masovna razaranja odmah po "inficiranju". U stvari, oni su veoma
"suptilni" i izazivaju male promene (obino neprimetne) u fajlovima svaki put kada se pokrenu.
Tokom vremena, promene se uveavaju i na kraju bivaju primeene. Do tada, informacije su ve
oteene. Da "stvar" bude jo gora, ako ste marljivo bekapovali podafte, mogue je da su i oni
"inficirani". Oporavljanje "neinficiranih" verzija fajlova moe da bude veoma teak proces.
Kako se virus pripaja na izvrni fajl? Prvi korak je donoenje "inficiranog" fajla na kompjuter i
njegovo pokretanje. Kada se pokrene, pridrueni virus moe da "inficira" fajlove na razliite
naine. Na primer, moe da istrai fajl sistem, proveravajui gde postoje drugi izvrni fajlovi
(slika 7.27).
memorija
SLIKA 7.28 Virus rezidentan u memoriji
Svaki put kada pronade izvrni fajl, virus moe da izvri instrukcije za samostalno dupliranje i
smetanje kopije u fajl, kao to je prikazano na slici 7.27.
Takvi virusi mogu lake da se detektuju od ostalih. Proces traenja izvrnog fajla i njihova
promena zahteva dodatnu aktivnost diska. Zbog toga, ako primetite veu aktivnost diska dok
obavljate neke jednostavne zadatke, posumnjajte na virus. Hi, bilo bi jo bolje da kupite neki
antivirusni softver koji e pratiti aktivnosti koje se odvijaju na kompjuteru.
Virusi koji su rezidentni u memoriji
Umesto da skenira fajl sistem na disku, virus moe da se kopira u memoriju i tamo eka da se neki
izvrni fajl smesti u memoriju. Kada se fajl smesti u memoriju, on ga napada. Hvatanje fajlova,
jedan po jedan, dok se unose u memoriju predstavlja mnogo suptilniji oblik napada - slino
lukavom grabljivcu koji se skriva i eka svoj plen, koji dolazi neoekivano, ne slutei da e postati
neiji obrok.
Kako se virusi koji su rezidentni u memoriji aktiviraju? Re je o neaktivnom programu koji moe
da se aktivira samo po pozivu. Na PC-jima neki virusi koriste prednost mehanizama internih
prekida. Tipino, BIOS (basic input/output system) i rutine servisa operativnog sistema lociraju
se preko tabele prekida, ili vektora prekida. Tabela prekida je kolekdja adresa za servisne rutine.
Kada korisnik zahteva neki servis, ili kada se desi neki asinhroni dogadaj koji zahteva akciju,
operativni sistem locira traeni servis pronalaenjem njegove adrese u tabeli i zapoinje
izvravanje programa na toj lokaciji. Virusi koji su rezidentni u memoriji menjaju tabelu prekida
tako to kreiraju adrese za lociranje virusa umesto servisa (slika 7.28).
Kada dode do prekida, mtina koja se locira preko adrese iz tabele u stvari je virus, koji obavlja
svoje funkcije. Kao i ranije, moe da pokua da maskira ono to je uradio pozivanjem traene
servisne rutine, tako da korisnik misli da sve protie u najboljem redu.
Razvoj virusa
Istorija kompjuterskih vimsa datira jo od 1949. godine, iz vremena kada veina ]judi nije ni
znala da kompjuteri postoje. Don Fon Nojman (John Von Neumann) je napisao rad pod
nazivom "Teorija i organizacija sloenih automata", u kome je predstavio teoriju po kojoj se
kompjuterski programi mogu umnoavati. Tako je dao model kompjuterskog virusa. Poto su
jedini kompjuteri tog vremena bile velike mainframe maine, nije bilo mnogo interesovanja za
Fon Nojmanovu teoriju. Ipak, to se kasnije promenilo.
Pre sredine 80-ih prolog veka kompjuterski virusi bukvalno nisu ni postojali. Otada im se
poveava broj i postaju sve sloeniji, a razvijeni su i metodi za njihovo detektovanje i
eliminisanje. Prodavci softvera nude razne antivirusne pakete dizajnirane za lociranje poznatih
virusa na personalnim kompjuterima. Kako antivirusni paketi postaju sofisticiraniji, tako
napreduju i virusi. Namee se logino pitanje zato se virusi sve tee detektuju. U referencama
[Na97] i [Ka94] data je istorija razvoja virusa i antivirusnih programa. Ovde predstavljamo tu
temu u saetom obliku.
Podnjemo prouavanjem naina za detektovanje poznatih virusa. Rani virusi iz polovine 80-ih
godina prolog veka bili su sasvim jednostavni i malobrojni. Antivirusni programi su
funkcionisali tako to su traili potpis vimsa, sekvencu bajtova koja se nalazi u virusu (koja odgo-
vara instrukcijama na mainskom jeziku). Poto nije bilo mnogo viaisa, broj potpisa nije bio
veliki, tako da njihovo pronalaenje nije predstavljalo ozbiljan problem.
Kako Je vreme prolazilo, desile su se dve "stvari" koje su oteale detekciju. Prvo, kreiran je vei
broj virusa. Drugo, iroka upotreba softverskih proizvoda i sve vei kapacitet diskova obezbedili
su vie mesta za skrivanje virusa. Prosto pretraivanje potpisa virusa medu fajlovima na disku
postaje izuzetno dug proces. Autori antivirusnih paketa istiu da su virusi uglavnom kratki
programi i da se, obino, postavljaju na poetak, ili kraj izvrnog programa (setite se slike 7.26).
Zahvaljujui ovoj injenici, ti autori mogu da koncentriu svoja istraivanja na poetak i kraj
takvih fajlova, to znaajno poveava efikasnost njihovog rada.
Programeri virusa su poeli da shvataju da moraju nekako da sakriju potpis virusa, ili bar da ga
maskiraju da ne bude prepoznatljiv. Zato su poeli da koriste ifrovanje - proputanjem koda
vimsa kroz algoritam za ifrovanje (ak i jednostavno Cezarovo ifrovanje) potpis se menja i
antivirusni program ne uspeva da ga pronade. Jedini problem je to program ije su mainske
instrukcije ifrovane nije hteo da se izvrava.
Ovo je moglo da se zaobide umetanjem algoritma za deifrovanje u fajl sa virusom (slika 7.29).
Kada se proces pozove, komanda grananja u ulaznoj taki procesa prebacuje kontrolu na algori
tam za deifrovanje. Algoritam se izvrava i deifruje sadraj memorije u kojoj je smeten
ifrovani virus. Kada se deifruje, virus moe da se izvri, obavi svoj posao, a zatim vraa kontrolu
originalno pozvanom procesu.
Zahtev za izvrenje
nekog procesa
lokacija m
lokacija m + s
ifrovani
virus
Deifrovanje
sadraja na
lokacijama od
m do m + s
Kod procesa
grananje
SLIKA 7.29 ifrovani virus na izvrnom fajlu
Poto se ovo deava u memoriji, virus zadrava ifrovani oblik u okviru fajla i njegov potpis
ostaje maskiran. Da bi "stvari" bile jo tee za autore antivirusa, virus moe da se napie tako da
svaki put kada "inficira" novi fajl koristi drugi klju za ifrovanje. Zbog toga, on moe da izgleda
drugaije kod svakog novog "inficiranog" fajla.
Programeri antivirusnih paketa su reagovali dizajniranjem programa koji trae ablone bajtova
karakteristine za algoritme za deifrovanje. Problem je to je kod algoritma kratak i esto je
veoma slian kodu legitimnih programa. Na primer, da li sledei kod predstavlja algoritam za
deifrovanje Cezarove ifre, ili je re o jednostavnom auriranju informacija u okviru niza?
f or ( i =0; i <s; i ++)
m[ i ] +=k;
Moe da bude i jedno i drugo; teko je razaznati njegovu namenu bez poznavanja konteksta u
kome se koristi.
Da bi bila eliminisana lana upozorenja, antivirusni programi koriste tehniku poznatu pod
nazivom x-raying. U sutini, program uzima sumnjivi ifrovani virus i proputa ga kroz kolekciju
poznatih algoritama za deifrovanje, koji su poznati po tome da se koriste sa virusima. Nakon
toga, prelazi se na prouavanje ifrovanog rezultata i trae se potpisi virusa. Ovaj metod se
pokazao kao uspean.
Programeri virusa su uzvratili kreiranjem polimorfnih virusa, koji, u sutini, mutiraju nakon
"inficiranja" novog fajla. To je slino biolokim virusima (kao to je virus SIDE), koji esto
mutiraju, tako da su otporni na leenje obolelog. Svaki put kada "inficira" novi fajl, polimorfni
virus koristi mehanizam mutacije za promenu koda koji odreduje algoritam za deifrovanje.
Iskusniji programeri znaju da postoje brojni naini da se defmie kod koji obavlja specifini
zadatak.
Polimorfni virusi jednostavno koriste prednost te injenice. Zbog toga, svaka kopija polimorfnog
virusa ne samo da se ifruje drugim kljuem, ve i za deifrovanje koristi drugi algoritam.
Ovo predstavlja ozbiljan problem za antivirusni program koji trai specifinu sekvencu bajtova
karakteristinu za viruse, ili za algoritme za deifrovanje.
Kako se virus moe locirati ako uopte ne znate ta traite? Zabeleeni su odreeni uspesi u
analiziranju nizova bajtova koje kreiraju mehanizmi za mutaciju i detektovani su neki abloni.
Problem je to su neki sloeniji mehanizmi sposobni za generisanje vie od bilion razliitih
oblika algoritama za deifrovanje. Ogroman broj moguh potpisa ini metode za detekciju
traenjem potpisa praktino neprimenljivim.
Ipak, svaki virus mora eventualno da se deifruje i da se otkrije da bi bio izvren. To je kljuni ele-
ment koji omoguava uspenu reakciju na polimorfne viruse. Problem je to je isuvie kasno ako
antivirusni program mora da eka na aktiviranje virusa. Neke tekue tehnike za detektovanje
virusa koriste tehnologiju generikog deifrovanja (GD-generic deoyption). U stvari, re je o
tehnici koja nastoji da prevari virus da se prerano otkrije, pre nego to dobije ansu da nanese
neku stvarnu tetu. Preciznije reeno, CD antivirusni softver sadri CPU emulator. Kada ispituje
fajl, pokree softverski program koji simulira izvrenje fajla. Ako se u fajlu nalazi polimorfni
virus, on se deifruje i otkriva ablon svog potpisa. Periodinim pozivanjem rutina za traenje
potpisa virus moe da se detektuje - ak i ako uspe da se izvri pre nego to se detektuje, nee
naneti nikakvu tetu, jer je re o simulaciji.
Meutim, ta ako fajl ne sadri virus? U nekoj taki simulacija mora da se okona, ili pravi posao
fajla nikada nee biti zavren. Simulacija moe da izvri specifian broj instrukcija, a zatim se
okonava ukoliko virus nije pronaen. Ipak, ovaj metod nije u potpunosti otporan na greke.
Virus moe na svom poetku da sadri razne vrste beskorisnih instrukcija. Primer su NOP
instrukcije (koje bukvalno ne izvravaju nikakve funkcije), ili instrukcije koje vre sabiranje
sadraja registra sa O. Svrha tih instrukcija je da odloe stvarnu aktivnost virnsa i da stvore utisak
bezazlenog programa, bar za neko vreme. Ukoliko je simulacija isuvie kratka, neki virusi mogu
proi neopaeno. Sa druge strane, ako traje isuvie dugo, korisnik postaje nestrpljiv dok eka
kompletiranje programa za detekciju i obino odmah pie albe prodavcu o loem odzivu
programa.
"Rat" izmedu autora virusa i svih ostalih se nastavlja. Tekui antivirusni softver je efektan i
efikasan, ali neprestano se javljaju novi virusi, primoravajui korisnike da neprestano ulau
znaajnu koliinu novca i vreme u zatitu svojih resursa.
Izvori virusa
Odakle virusi potiu? U poetku, kreirali su ih individualci koji su pokuavali da zauzmu sistem.
Blio da je svrha bila podvala, ili neprincipijelni i maliciozni destruktivni in, obino nije bilo
nikakvih posledica. Za rtvu razlozi nisu bili bitni.
Poput bilo kog biolokog virusa, kompjuterski vinisi se ire deljenjem. Videli ste kako se fajl
"inficira". Razmotrite ta se deava ako se "inficirani" fajl iskopira na neki prenosivi medijum i
ako se taj medijum ubaci u neki daigi kompjuter.
Kada se "inficirani" fajl pokrene, drugi fajlovi u kompjuteru mogu takoe da se "inficiraju". Ako
se bilo koji od tih fajlova ponovo iskopira na neki prenosivi medijum i prenese na neki drugi
kompjuter, virus se dalje iri. Zbog toga, morate da budete veoma obazrivi kada nabavljate
softver.
Sve vea upotreba mrea i komunikacija samo je doprinela poveanju ozbiljnosti problema. ta
se deava ako "inficirani" fajl dospe na Web sajt, u komercijalni softver, ili na fajl server na mrei?
Virus sada moe da se proiri na hiljade kompjutera u veoma kratkom periodu. Brzina njegovog
mogueg irenja je skoro zastraujua.
Nemojte na osnovu ove rasprave da mislite da su Web sajtovi, mree i komercijalno distribuirani
softver "raj" za viruse. Respektabilni menaderi i prodavci ulau ogromne napore da obezbede
softver koji sigurno nije "inficiran" virusima. Medutim, ne postoje nikakve garancije za potpuni
uspeh. Dolo je 1988. godine do incidenta kada je jedan komercijalni softverski paket sadravao
virus koji je prikazivao mirovnu poruku, a zatim se sam brisao. Ovo je primer "bezazlenih" virusa
- oni su bezazleni zato to ne unitavaju fajlove i ne kradu dragocene informacije. Medutim,
prodavac mora da popravi narueni ugled i da povrati poverenje kupaca u svoje proizvode.
Kompanija iji su proizvodi bili "inficirani" moe da propadne, tako da njeno zatvaranje postane
neizbeno. Za proizvodaa i njegove zaposlene ovakvi incidenti uopte nisu bezazleni.
S obzirom da su virusi neizbeni, kako "izai na kraj" sa njima? Kao i u sluaju raznih bolesti,
prevencija je najvanija. Danas imate na raspolaganju brojne antivirusne pakete. Ponekad paketi
za detekciju virusa skeniraju medijum koji se umetne u drajv, traei vimse. Ako se virus
detektuje, generie se upozorenje i, u nekim sluajevima, kao, na primer, kod flopi diska,
medijum se izbacuje. Korisnik moe da zahteva od paketa da ukloni virus, ili da zameni "infici-
rane" fajlove "neinficiranim" bekapovanim fajlovima (uz proveru da li su validni).
7.8 Pretnje i napadi
Internet "crv"
Jedan od najuvenijih upada izveo je Internet "crv". U nekoliko interesantnih dostupnih
lanaka opisani su "crv" i nain njegovog funkcionisanja. Da, to je stara "pria", ali je vredi
proitati zbog potrebe da javnost upozna rizike kojima se izlau povezani kompjuteri. Mi emo
navesti samo opti pregled, a zainteresovani itaoci mogu da potrae reference [Sp89 ], [Ro89 ],
[Se89] i [De90].
U novembru 1988. godine jedan diplomac sa Cornell univerziteta je na Internet otpustio "crv",
koji je zauzeo hiljade Sun 3 i VAX kompjutera koji su koristili razliite varijante 4 BSD UNIX
operativnog sistema. Ovaj "crv" je pripadao takozvanoj bezazlenoj vrsti; nije unitavao nikakve
informacije, niti je odavao otkrivene lozinke.
Sa druge strane, dolo je do ozbiljnog proboja sistema zatite. "Crv" se brzo replicirao preko
Interneta, zaguujui komunikacije i primoravajui mnoge sisteme na "gaenje". Osim toga, zbog
njega su mnogi strunjaci provodili dane u pokuajima da otkriju izvor problema. Inicirana je FBI
istraga koja je trebalo da utvrdi da li je dolo do naruavanja zakona iz 1986. godine (Computer
Fraud and Abuse Act).
Sluaj je stigao do suda i federalna porota je proglasila optuenog krivim - osuden je na tri godine
uslovno, kanjen je novano sa 10.000 dolara i morao je da provede 400 sati na drutveno
korisnom radu [Mo90]. Sve to je "zaradio" zbog jednog bezazlenog "crva". Kreiranje
kompjuterskih "crva" i virusa je kriminalno delo, koje u veini sluajeva ispituje FBI. Podlee
federalnim zakonima, koji su mnogo stroiji od veine zakona koji se primenjuju na nivou
saveznih drava.
Sam "crv" je napisan u programskom jeziku C, a napada UNIX sisteme koristei propuste u
softveru. Koristi se nekoliko tehnika, ije opise moete da proitate u referenci [Sp89 ]. U jednom
pristupu koristi se usluni program pod nazivom fingerd koji jednom korisniku omoguava
pribavljanje informacija od drugog korisnika. Dizajniran je tako da prihvati jednu ulaznu liniju
sa udaljenog sajta (zahtev) i da poalje nazad izlaz koji odgovara zahtevu (slika 7.30). Propust
koji je ovde iskorien ogledao se u tome to ulazna komanda programa fingerd (C komanda
gets) nije proveravala prekoraenje bafera. Zato se "crv" koji se pokree na udaljenoj maini
mogao povezati na program fingerd i poslati spedjalno konstmisanu poruku koja izaziva
prekoraenje ulaznog bafera programa fingerd.
Na slici 7.31 pokazano je ta se desilo. Preneta poruka je prekoraila ulazni bafer i prepisala
delove sistemskog steka. Medutim, stek sadri povratnu adresu (pozivne procedure) koja e se
referencirati kada se fingerd zavri. Zbog prekoraenja, ova adresa se menja na neku taku u kojoj
su smetene neke instrukcije u baferu. Zato, kada se fingerd zavri, kontrola se vraa na "program"
koji je lociran na osnovu nove povratne adrese. Taj "program" se efektivno menja sa UNIX
shellom (interfejs, ili komanda interpretatora). Rezultat je bilo to to je "crv" bio povezan na
shell. Od te take "crv" komunicira sa shellom i eventualno alje svoju kopiju, tako da se
"inficira" sledea maina. Nakon toga, on nastavlja da ispituje sistemske fajlove, u potrazi za
konekcijama ka novim mainama koje bi mogao da "inficira".
Napada se i fajl sa lozinkom, radi pokuaja deifrovanja korisnikih lozinki. Deifrovanjem
lozinke crv dobija mogunost da napadne sve ostale kompjutere na kojima taj korisnik ima
naloge.
Sajt 1
Fingerd se povezuje i prihvata
liniju ulaza sa udaijenog sajta.
Fingerd proizvodi izlaz, koji se
alje do udaljenog sajta.
vreme
Saj t 2
Zahtevanje konekcije sa
fingerd programom na sajtu 1
Prijem informacija koje je
poslao program fingerd
SLIKA 7.30 Program fingerd
SLlKA 7.31 Upad na sistem
Ovde je interesantno napomenuti da su sve lozinke ifrovane pomou DES-a. Teorijski,
deifrovanje lozinki bez kljua trebalo bi da bude skoro nemogue. "Crv" ipak koristi
jednostavniji pristup. lednostavno nagaa lozinke, ifruje ih i poredi sa originalnim ifrovanim
lozinkama. Teorijski, broj moguih lozinki je ogroman, tako da je ovakav metod traenja
nepraktian. Meutim, "crv" koristi rei iz online renika i u mnogim sluajevima uspeva da
pronae poklapanje. U nekim sluajevima vie od 50 odsto lozinki ostaje neotkriveno
(ref. [Sp89]). Naravouenije: Ne koristite lozinke koje se mogu nai u reniku.
Kompjuterski hakeri
Povezanost ogromnog broja kompjutera otvorila je brojna vrata za sledeu bezbednosnu pretnju
- za kompjuterske hakere. U osnovi, haker je neko ko pie programe "isto" iz zadovoljstva.
Medutim, neki ljudi hakere vide kao neprincipijelne ljude koji pokuavaju da dobiju neautorizo-
vani pristup kompjuterskom sistemu, esto iskoriavanjem bezbednosnih propusta u
operativnim sistemima i otkrivanjem korisnikih lozinki. Zato neprincipijelni hakeri rade to to
rade? Teko je dati odgovor na to pitanje. Neki ljudi veruju da za veinu hakera upad na sistem
predstavlja izazov, ili obinu zabavu. Takvi hakeri ili ne shvataju, ili ih nije briga za posledice
njihovih akcija. Za neke otkrivanje privatnih informadja ne nosi istu teinu kao provala u neiji
dom. Ipak, to ne mora da znai da su takvi ljudi manje opasni. Postoje verovanja da kriminalac
koji je pustio Internet "crva" nije imao maliciozne namere, jer nije pokuao da uniti informaci-
je. Nesumnjivo, njegov efekat je bio dalekosean i znaajno je poremetio rad kompjutera. Ali,
postoje i ljudi koji hakuju kompjutere radi krae, ili promene informacija. Oni se esto izlau
riziku da budu uhvaeni, ili moda i ne brinu zbog toga. [La87] procenjuje motive nekih
hakera i pokazuje da postoje neki opasni ljudi koji se bave hakovanjem.
Sveprisutnost mrea je stvorila mogunosti za ozbiljnije i potencijalno opasnije probleme
(ref. [Na91]). Na primer, hakerski incident koji je opisan u referencama [St88] i [St89]
privukao je panju javnosti. Poelo je sa grekom u obraunu od 75 centi u Lawrence Berkeley
Laboratory u avgustu 1986. godine, a zavrilo se hapenjem hakera iz Zapadne Nemake.
stek
Povratna
adresa
Prekoraenje u steku
Pozivanje
UNIXshella
fingerd bafer
* To je Internet protokol koji emo predstaviti u Poglavlju 11
1. Klijent alje TCP SYN segment, zahtevajui uspostavljanje konekcije.
,2. Server alje potvrdu o prijemu zahteva.
3. Klijent alje nastavak za kompletiranje konekcije.
Haker je napadao mnoge kompjutere na MILNET-u (vojna mrea) i prenosio je informacije
KGB-u, tajnoj policiji Sovjetskog Saveza. Nadleni sud Zapadne Nemake je 1990. godine osudio
hakera zbog pijunae.
Iako su reference [St88] i [St89] dosta stare, ipak predstavljaju fascinantno tivo. Detaljno
opisuju aktivnosti mnogih ljudi koji su nadgledali akcije "uljeza" i eventualno ga pratili sve do
lokacije u Zapadnoj Nemakoj. "Uljeza" je opisan kao veoma spretan, ali i uporan, jer je koristio
primitivne napade sa pogadanjem lozinki. Kao i u sluaju Internet "crva", mnogi od tih napada
su bili uspeni, jer su kao lozinke koriene uobiajene rei koje se mogu nai u reniku.
Ostale pretnje
Napadi na kompjutere i mree ne samo da se nastavljaju, nego su i sve uestaliji. Hihg-profile
sajtovi mogu da budu meta vie od milion napada u toku jednog meseca, mada se veina tih
napada uspeno odbija. Ozloglaena vrsta napada je napad odbijanja servisa (DoS-denial of
service). Jedan oblik DoS napada, nazvan smurf napad, obasipa mreu sa toliko "dubreta" da
nije mogue normalno funkcionisanje. Tako mreni resursi postaju nedostupni legitimnim
korisnicima, izazivajui gubitke u obavljanju poslova, vremenu i novcu. Ovo se izvodi prilino
jednostavno i zasniva se na uobiajenoj mrenoj komandi ping. Korisnik unosi komandu ping
IP-adresa koja izaziva slanje ICPM* Echo Request paketa do hosta. Host reaguje slanjem
sekvence Echo Response paketa nazad do korisnika. Osnovna ideja je da se utvrdi da li je sajt
dostupan i koliko je vremena potrebno za slanje i povratak paketa.
Na slici 7.32 prikazano je kako to moe da se zloupotrebi. Neko koga smatramo kriminalcem
(nivo ove knjige nam onemoguava da ga nazovemo pravim imenom) alje Echo Request paket
na nezatienu mreu. Meutim, on menja dve "stvari". Kao odredinu adresu postavlja emisionu
adresu, tako da se paket alje do svih adresa u okviru date mree. Osim toga, u polje izvorne
adrese postavlja adresu rtve. Svaka maina koja dobije Echo Request paket reaguje onako kako
bi trebalo - alje niz Echo Reply paketa do izvora. Ako su Echo Request paketi poslati do velikog
broja maina, do rtve stie ogroman broj Echo Reply paketa, zatrpavajui server i efektivno
gasei normalne operacije servera.
Sledei tip DoS napada je takozvani napad_jwfeg_532^&gmgaafa, koji se zasniva na protokolu
koji TCP koristi za postavljanje konekcije. U Poglavlju 11 detaljnije analiziramo ovaj protokol; u
sutini, njegovi koraci se sastoje iz sledeeg:
Sva tri koraka su neophodna za uspostavljanje konekcije. Kod napada poplavom SYN segmena-
ta kriminalac alje TCP SYN zahtev, ali, kao i kod smurf napada, koristi lanu IP adresu. Server
alje potvrdu do prevarenog korisnika. Taj klijent nikada ne alje nastavak, jer nije ni inicirao
zahtev. Ovo izgleda kao kraj "prie", ali nakon to server poalje svoju potvrdu, on kreira neku
strukturu podataka kao pripremu za ono to misli da je eventualna konekcija. Ako nastavak nika
da ne stigne, istie vreme definisano za datu strukturu podataka i ona se eventualno otputa.
Medutim, ako kriminalac alje lane zahteve za uspostavljanje konekcije brzinom koja je vea od
brzine kojom istie vek strukture podataka, server rtve moe da ostane bez memorije, ili da
dostigne granicu kada vie ne moe da prihvata konekcije od legitimnih korisnika.
DoS napadi nisu jedini bezbednosni problem. Packet sniffer je program koji prati pakete dok
putuju preko mree. Moe da iskopira privatne informacije kao to su lozinke i kasnije ih moe
iskoristiti za pokretanje napada. CERT Coordination Center (uskoro e biti objanjen) izvetava
da su korisnici kablovskih modema izloeni visokom riziku, jer vie korisnika u istom susedstvu
koristi istu liniju. Pretnju mogu da predstavljaju i pretraivake maine. Prema referenci [HeOl ],
neki hakeri su pribegli korienju pretraivakih maina za pokretanje napada. Sledea pretnja za
privatnost informacija je spywere. Ti programi ulaze na neiji sistem slino virusima i mogu da
budu deo drugih programa koje su preuzeti i instalirani sa nekog manje poznatog sajta. Dok je
pokrenut, spywere program ne utie na postojee fajlove, niti ometa tekue aktivnosti na
kompjuteru. Meutim, on belei sve to radite (programe koje pokreete, fajlove kojima
pristupate, Internet sajtove koje poseujete) i podnosi izvetaje vlasniku spywere programa.
Re je o skrivenom programu koji moe da se izvrava bez Vaeg znanja.
SLlKA 7.32 Napad odbijanja servisa
brojni echo reply paketi
rtva
kriminalac
odredite = emitovanje
izvor = rtva
echo request paket
velika
mrea
Kao to ste do sada verovatno pretpostavili, napadi na sisteme ne prestaju, a ne smanjuje se ni
broj ljudi kojih ih iniciraju. Administratori mrea moraju da budu veoma oprezni prilikom
konfigurisanja firewalla i moraju nepreslano da prate pojave svih novih napada. To je ozbiljan
probkm. Neki hihg-profile sajtovi podnose izvetaje o vie od jednog miliona odbijenih napada
u toku samo jednog meseca. Sa sve veim prisustvom mrea u doslovno svim delovima sveta i sa
sve vem brojerrt Ijudi koji piu, ili nabavljaju programe za iniciranje takvih napada, ovo
problem koji sigurno nee nestati u dogledno vreme.
Jedan rnogui pristup u borbi sa ovakvim napadima jeste razvijanje protokola koji e obezbediti
potvrdu identiteta i klijenta i servera pre nego to se konekcija uspostavi. Jedan takav proizvod
(Kerberos), razvijen je u MIT, koristi kriptografske tehnike. Ima slinosti sa TLS/SSL, ali je razvi-
jen za klijent/server okruenja, za razliku od TLS/SSL, ija je primarna namena obezbedivanje
pristupa Webu. To je bezbednosni standard sa otvorenim kodom. Najnovija inkarnarija, verzija
5, nastala je u saradnji sa IETF; specificirana je u RFC 1510. Kerberos je detaljnije predstavljen u
referenci [CoOIb].
Sledei bezbednosni paket je IPSec. Dok su paketi kao to su Kerberos, TLS/SSL i PGP bili
razvijeni za rad na viim slojevima, IPSec je dizajniran za rad na IP sloju. Tako je omoguena
nezavisnost od aplikacije i krajnjih korisnika. IPSec omoguava autentifikaciju IP paketa i
ifrovanje i obezbeduje sredstva za upravljanje kljuem. Pitanjima IP zatite se bavimo u
Poglavlju 11. Vie detalja moete da pronadete i u referenci [PeOO].
Postoje organizacije koje su zaduene za praenje sumnjivih aktivnosti. Jedna od njih je CERT
Coordination Center, smetena na Carnegie Mellon University. Originalno je nosila naziv
Computer Emergency Response Team (datira iz 1988. godine) a stvorena je iz Defense Advanced
Projects Research Agency (DARPA). CERT finansiraju U.S. Department od Defense (ameriko
ministarstvo odbrane) i neke druge federalne civilne agencije. CERT belei i obezbeduje mnotvo
informacija o napadima, zajedno sa preporukama kako se izboriti sa njima. Vie detalja moete
da pronadete na Web sajtu www.cert.org.
Iako je ovo poglavlje due od veine ostalih u knjizi, samo smo "zagrebali" po povrini problema
zatite. Postoje brojna tehnika, socioloka i pravna pitanja. Neki tvrde da je siguran samo
kompjuter koji nije prikljuen na mreu i koji je iskljuen. Iako je ova izjava delimino izreena u
ali, u njoj ima i istine. Mnogi Ijudi uvaju svoje privatne informacije na kompjuterima koje koriste
kao servere. To bi bilo isto kao kada biste poverljive dokumente stavili na sto u dnevnoj sobi,
skinuli sva vrata i ispred kue postavili tablu "svi posetioci su dobrodoli".
7.9 Zakljuak
LI ovom poglavlju smo se se bavili problemima zatite, ukljuujui ifrovanje, distribuciju kljua,
autentifikaciju, bezbednosne pakete i protokole, firewalle, viruse i napade. Akcenat je stavljen na
tehnike ifrovanja, zato to je ifrovanje vitalno ne samo za prikrivanje podataka koje elimo da
sakrijemo od "uljeza", ve i za digitalno potpisivanje dokumenata i njihovu autentifikaciju.
Tehnike ifrovanja se dele na dve kategorije: sa privatnim i sa javnim kljuem. Klju LI
kriptosistemima sa privatnim kljuem mora da se uva na tajnorn mestu, zato to "uljez" koji
uspe da utvrdi klju ifrovanja moe da deifruje sve poruke.
Algoritam Komentari
AES (Rijndael)
ifrovanje na nivou
bitova
Cezarovo ifrovanje
Data Encryption
Standard (DES)
Poliafabetsko
ifrovanje
RSA algoritam
ifrovanje
premetanjem
Trostruki DES
U skorije vreme definisani standard koji koristi 128-, 192- i 256-bitne
blokove kao matrice i izvrava viestruke cikluse sloenih operacija. Svaki
ciklus ukljuuje S-box zamene, operacije pomeraja, iskljuivo ILI i druga
matematika izraunavanja koja se zasnivaju na mnoenju polinoma i teoriji
polja Galoa. Mnogi aspekti ovog algoritma mogu da budu izuzetno teki za
razbijanje.
Klju je niz bitova. Operacije iskljuivo ILI izmeu kljua i sukcesivnih delova
poruke daju ifrovanu poruku. Svaki blok ifrovanog teksta se deifruje
pomou jo jedne operacije iskljuivo ILl, sa istim stringom. Ovaj metod se
ne smatra tekim za "razbijanje", jer se zadravaju razlike izmedu delova
poruke u originalnom obliku. Na primer, ako su Pl i P2 dva razliita dela
obine tekstualne poruke koji se razlikuju na odredenim bitskim pozicijama,
onda se i ifrovane verzije razlikuju na identinim bitskim pozicijama.
Ovaj metod menja jedan karakter nekim drugim. Uobiajene slovne
sekvence su odrane i zato se ova ifra lako "razbija". Nije prikladna za
ozbiljnije aplikacije, ali se ponekad koristi kao deo sloenije eme.
Koristi sloenu kolekciju premetanja, zamena i operacija iskljuivo ILI.
Metod je ranije bio kontroverzan, jer su neki smatrali da ga je National
Security Agency namerno oslabila u odnosu na originalni predlog.
Spekulisalo se da NSA ne eli metod za ifrovanje koji se ne moe "razbiti"
bez veih problema. DES algoritam je razbijen 1988. godine pomou DES
Cracker maine kreirane u Electronic Frontier Foundation. Danas se ovaj
algoritam smatra zastarelim.
Poput Cezarovog ifrovanja, jedan karakter se menja nekim drugim
karakterom. Razlika je to to izbor zamene za uobiajene karaktere zavisi
od pozicije slova u poruci.
Ovaj metod predstavlja primer kriptografskog sistema sa javnim kljuem
koji vri ifrovanje tretirajui niz bitova kao broj i stepenujui ga na visoki
stepen korienjem modularne aritmetike. Klju za deifrovanje (privatni
klju) se veoma teko utvrduje, ak i kada je klju za ifrovanje (javni klju)
optepoznat.
Ovaj metod ne pokuava da prikrije karaktere, ve ih preureduje. Njegova
glavna namena je da poslui kao komponenta nekih sloenijih ema.
Primenjuje DES algoritam tri puta uzastopno. Ako tri instance algoritma
koriste razliite kljueve, veina ovaj metod smatra tekim za "razbijanje".
U javnim kriptografskim sistemima ne vodimo rauna o tome ko sve zna klju. Pretpostavlja se
da njegovo poznavanje ne moe da bude korisno za utvrdivanje rutina za deifrovanje. U tabeli
7.3 dat je pregled ema za ifrovanje koje su predstavljene u ovom poglavlju.
Osim algoritama za ifrovanje, u ovom poglavlju su predstavljeni sledei bitni koncepti:
Distribucija i deponovanje kljueva Da bi se kodovi deifrovali, privatni kljuevi
moraju da se distribuiraju do odgovarajuih primalaca. Shamirov metod ukljuuje
korienje kljua kao dela izraza sa polinomima. Tada se distribuiraju take sa grafika
polinoma. Da bi se utvrdio klju, minimalni broj ljudi mora da obezbedi dovoljan
broj taaka za utvrdivanje originalnog polinoma. Diffie-Hellman razmena kljua pozi-
va poiljaoca i primaoca da razmene izraunate vrednosti na osnovu kojih moe da se
izvede klju za ifrovanje. Deo postupka izraunavanja se dri u tajnosti; nedostatak
kompletnih instrukcija treoj strani znaajno oteava izvodenje kljua. Ipak,
Diffie-Hellman razmena je osetljiva na napade tipa man-in-the-middle. Kljuevi za
Clipper Chip su utvrdeni izvodenjem operacije iskljuivo ILI izmedu nasuminb
generisanih nizova bitova. Svaki od tih nizova se smeta u zasebnoj agenciji za
uvanje kljueva i obe agencije su neophodne za izvodenje kljua.
Digitalni potpisi Digitalni potpisi predstavljaju nain za autentifikaciju autora
ifrovane poruke. Ideja je da se ifrovanje vri privatnim, a deifrovanje javnim
kljuem. Ako autor poruke kasnije porie da je poslao tu poruku, primalac moe da
obezbedi i ifrovani i originalni tekst. Poto je privatni klju poznat samo autoru,
jedino je autor mogao poslati tu poruku.
Autentifikacija Ovo podrazumeva utvrdivanje da li je dokument autentian, ili je
falsifikat. Izraunava se vrednost digitalnog saetka (message digest), broj koji na
jedinstven nain odreduje sadraj dokurnenta. Taj broj se zatim potpisuje pomou
privatnog kljua kao kod kriptosistema sa javnim kljuem. Skoro svaki pokuaj falsi-
fikovanja dokumenta kreira dokument ija se vrednost digitalnog saetka razlikuje od
one koja je potpisana. Pomenuli smo dva algoritma koja generiu vrednosti digitalnog
saetka. MD5 algoritam daje 128-bitnu vrednost digitalnog saetka. Poruka se deli na
blokove od po 512 bitova (moda e biti neophodno proirivanje kako bi se dobio
kompletan blok od 512 bitova), a zatim se izvode operacije na svim blokovima. Svaki
blok prolazi etiri ciklusa operacija, u okviru kojih se izvode razliite operacije na
nivou bitova i vri se faktorizacija na osnovu sinusne funkcije. Eventualno, generie se
rezultat koji se koristi kao ulazna vrednost za ifrovanje sledeeg bloka. Secure Hash
Algoridim (SHA-I), slino MD5, radi sa blokovima od po 512 bitova. Svaki blok se
deli na 16 32-bitnih rei. Grupe rei i preddefinisane konstante se proputaju kroz
razliite cikluse logikih operacija I, ILI, iskljuivo ILI i operacija pomeraja, tako da se
na kraju generie 160-bitna celobrojna vrednost.
Clipper Chip Clipper Chip prate kontroverzni komentari, jer koristi algoritam koji
je definisan u NSA. Ukljuuje i protokol koji pod odreenim okolnostima omoguava
pristup korisnikovom privatnom kljuu (obino kada se sumnja na neke nelegalne
aktivnosti). Poto mnogi ljudi sumnjaju u Vladine aktivnosti, posebno kada je u
pitanju privatnost, ip je pokrenuo brojne diskusije izmedu grupa za zatitu
privatnosti i slubi za ouvanje reda i zakona, koji se spore da li treba voditi rauna o
privatnosti kada je re o nelegalnim aktivnostima.
Prety Good Privacy PGP je freeware prograin za zatitu emaila koji je razvio Philip
Zimmerman. Ukljuuje ifrovanje javnim kljuem, autentifikaciju, digitalne potpise i
kompresiju. Pokree se na razliitim platformama i koristi algoritme koji su detaljno
ispitani, kao to su RSA za ifrovanje javnim kljuem, MD5 za digitalne saetke i IDEA
za regularno ifrovanje. Pomalo je ozloglaen, zbog toga to je javno dostupan preko
Interneta, tako da ga mogu koristiti i u stranim zemljama (izvan Sjedinjenih
Amerikih Drava). Vlada Sjedinjenih Amerikih Drava je protestvovala zato to
smatra da je kriptografski softver deo vojne opreme i da se na ovaj nain kri federalni
zakon o izvozu. Skorije verzije su kreirane izvan Sjedinjenih Amerikih Drava da bi se
reio ovaj problem. Osim toga, pravila o izvozu ovakvog softvera su malo olakana.
Transport Layer Security TLS i Secure Socket Layer (SSL) su protokoli koji
autentifikuju servere (i klijente, po potrebi) i pregovaraju o kljuevima za ifrovanje i
algoritmima neophodnim za sigurne prenose. Protokol se oslanja na X.509 sertifikat
koji serveru izdaje telo nadleno za izdavanje sertifikata. Sertifikat potvruje
autentinost servera. Kada se server autentifikuje, informacije iz sertifikata, kao to je
javni klju, klijent moe da iskoristi za slanje nazad do servera. Nakon toga, ove
informacije se koriste i na strani klijenta i na strani servera za utvrdivanje kljua za
naredno ifrovanje.
Firewalli Firewall izdvaja kompjutere u okvim organizacije od Intemeta. Sva komu-
nikacija izmedu kompjutera u okviru organizacije i udaljene maine mora da prode
kroz firewall. Firevvall moe da blokira prenose na osnovu sadraja IP paketa, ili akcija
na sloju aplikacije. Takode, moe da prihvati, ili odbaci TCP konekcije izmedu njih.
Sve ee korieni pristup prouava pakete u kontekstu prethodnih aktivnosti
(ispitivanje sadraja na osnovu prethodnog stanja). Odredeni paketi se proputaju
ako su reakcije na prethodno legitimne zahteve.
Virusi, "crvi" i hakeri Virusi su programi koji se pripajaju drugim programima.
Njihove akcije mogu da budu razliite i mogue je da budu visoko destruktivne. Poput
virusa, "crvi" predstavljaju invazije na sistern, ali oni, u stvari, nisu deo nekog drugog
programa. Kompjuterski hakeri su osobe koje pokuavaju da razbiju bezbednosne
mere sistema. Mogu da pokuaju da ukradu privatne informacije, ili da postave viruse,
ili "crve" koji e naneti neku tetu sistemu. Dva uvena sluaja upada bili su Internet
"crv", koji je napao hiljade kompjutera na Internetu, i upad programera iz Zapadne
Nemake u kompjutere MILNET-a. Broj napada na kompjutere irom sveta je u
neprestanom porastu; meu te napade ubrajaju se napadi odbijanja servisa, lairanje
adrese, praenje sadraja paketa i spywere.
Pravna, socioloka, etika i politika pitanja Razvoj sigurnog koda je ozbiljan
posao. Istakli smo neke kontroverze koje prate NSA i razvoj tehnika za ifrovanje. U
stvari, komercijalni proizvodi za ifrovanje se tretiraju kao vojna oprema, tako da
podleu istim zakonima kao i borbeni avion F-16. Ako Vas uhvate da ih prodajete van
Sjedinjenih Amerikih Drava, moete biti obeleeni kao medunarodni trgovac
orujem. Predsednik Klinton je 1996. godine izdao izvrnu naredbu koja je trebalo da
prebaci nadlenost za izvoz komercijalnih proizvoda za ifrovanje sa State
Departmenta na Commerce Department, nakon to su U Commerc Departmentu
donete regulative za implementaciju te naredbe. Nije doputeno izvoenje svih algori-
tama za ifrovanje i neke informacije u vezi odredenih kriptografskih algoritama su i
dalje strogo poverljive. Osim toga, ministarstvo trgovine i dalje moe da se pozove na
State Department i druge agencije radi revizije nekih izvoznih poslova.
Ovo je kontroverzno i veoma sloeno pitanje. I dalje traju debate izmeu onih koji se
zalau za zatitu prava na privatnost i onih koji su protiv prava na privatnost u
sluajevima kada se sumnja na nelegalne aktivnosti.
Pitanja i zadaci za proveru
1. Navedite razliku izmedu ifrovanja i deifrovanja.
2. Navedite razliku izmeu ifrovanog i obinog teksta.
3. Sta je Cezarova ifra?
4. Navedite razliku izmedu monoalfabetskog i polialfabetskog ifrovanja.
5. Da li su sledee tvrdnje tane, ili netane (zato)?
a. Cezarova ifra nema nikakvu stvarnu vrednost kada je neophodna ozbiljna zatita.
b. ifrovanje javnim kljuem doputa razliitim ljudima da koriste isti klju za ifrova-
nje, ak i kada se pretpostavlja da niko ne treba da zna ta je druga osoba poslala.
c. Svaka blokovska ifra koja ifruje jedan po jedan blok u sutini predstavlja
ifrovanje zamenom, gde se jedan blok menja drugim.
d. Melod za ifrovanje koji koristi dui klju je sigurniji od metoda koji koriste
krai klju.
e. Najozbiljniji virusi veoma brzo unitavaju ogromne koliine podataka.
f. ifrovanje pomou operacija iskljuivo ILI na sekcijama originalne poruke je
siguran metod sve dok se bitovi kljua distribuiraju nasumino.
g. Pod odredenim okolnostima, trostruki DES metod ifrovanja je bolji od obinog
DES-a.
h. Firewalli se obino koriste za zatitu mrea od dolazeih virusa.
i. Virusi koji ne unitavaju informacije, ili na drugi nain ne ugroavaju
kompjuterski sistem su bezazleni.
j. Napad na mreu nije ozbiljan, ako nije dizajniran da zahvati privatne informacije,
ili da smeta nelicencirane programe na kompjuter.
6. ta jeifrovanje premetanjem?
7. Ako je klju za ifrovanje dovoljno dugaak, tehnike kao to je ifrovanje na nivou
bitova je zaista nemogue "razbiti". Zato se vie ne koriste?
8. Sta je Data Encryption Standard (DES)?
9. ta je DES Cracker?
10. Objasnite razliku izmedu ECB (electronic codebook) moda i CBC (chiper block
chaining) moda kada se primenjuje ifrovanje na nivou blokova.
11. Sta je vektor inicijalizacije?
12. Kakve kontroverze prate DES?
13. Zbog ega je Clipper Chip kontroverzan?
14. Koja je svrha korienja zasebnih agenata za uvanje kljueva koji se koriste u Skipjack
algoritmu?
15. ta podrazumeva Shamirov metod za distribuciju kljua?
16. ta podrazumeva ifrovanje na nivou blokova?
17. Koja je svrha S-boxa?
18. Kako izgleda napad tipa man-in-the-middle?
19. Po emu se ifrovanje javnim kljuem razlikuje od regularnog ifrovanja?
20. ta je digitalni potpis?
21. Koje su glavne karakteristike RSA algoritma?
22. Zbog ega je RSA veoma teak za "razbijanje"?
23. Po emu se autentifikacija razlikuje od digitalnih potpisa?
24. Kakav je znaaj napada rodendana?
25. ta je Prety Good Privacy?
26. Zato bi se kriptografski algoritmi klasifikovali kao vojna oprema i zbog ega za njih
vae stroga pravila za izvoz?
27. U emu je razlika izmeu uklanjanja i brisanja fajla?
28. ta je X.509 sertifikat?
29. Svako moe da kreira sertifikat autentinog izgleda i da tvrdi da potie od proverenog
CA tela. Kako klijent moe da utvrdi da li je sertifikat verodostojan?
.30. ta je firewall?
31. Navedite tri tipa firewalla, i opiite kako funkcioniu.
32. Firewalli filtriraju dolazee podatke traei mogue pretnje po bezbednost sistema.
Takode, ispituju se i odlazei podaci. Zato se to radi?
33. U emu se ogleda nedostatak filtriranja paketa kada se proveravaju dolazei paketi na
mogue pretnje po bezbednost sistema?
34. Sta se podrazumeva pod ispitivanjem sadraja na osnovu prethodnog stanja?
35. Navedite razlike izmedu virusa i crva.
36. Kako izgleda inficirani fajl?
37. Navedite neke mogue naine za spreavanje irenja kompjuterskih virusa.
38. ta je fingerd program na UNIX-U?
39. Sta su virusi rezidentni u memoriji?
40. Sta je bio Internet crv?
41. Sta Je napad odbijanja servisa?
42. ta je spywere?
43. ta radi packet sniffer?
Vebe
1. Kako su utvrene zamene za slova sa slike 7.2?
2. Razmotrite dve ifre zamene. Jedna dodaje vrednost i na ASCII kod karaktera obinog tek-
sta. Druga dodaje vrednost j na karakter obinog teksta. Sva sabiranja se vre po modulu
256. Razmotrite sada metod dvostrukog ifrovanja koji dodaje i na svaki karakter obinog
teksta, a zatim na rezultuju ifrovani karakter dodaje vrednost j kako bi se dobio novi
ifrovani karakter. I ta izraunavanja se izvode po modulu 256. Koliko je siguran metod
dvostrukog ifrovanja u poreenju sa prethodnim metodima jednostrukog ifrovanja?
3. Napiite program za ifrovanje i deifrovanje pomou Cezarove ifre. Program kao
ulaz zahteva unoenje kljua za ifrovanje.
4. Sledea poruka je ifrovana pomou Cezarove ifre. Kako glasi originalna poruka?
fcvceqoowpkecvkqpucpfeqorwvgtpgvyqtmu
5. Napiite algoritam za deifrovanje ifrovanog teksta koji je kreiran pomou
polialfabetskog ifrovanja iz sekcije 7.2.
6. Razmotrite ifrovanje premetanjem primenjeno na tabelu 7.1. Kako glasi preneta
poruka ako se kolone preurede u redosled 5, 1, 4, 2, i 3?
7. Napiite program za prihvatanje binarnog stringa i binarnog kljua. Nakon toga pro
gram treba da koristi klju za ifrovanje stringa koristei ifrovanje na nivou bitova.
8. Uzmite string 001011010101000011111101001101 i klju 10110. Pomodi kljua
ifrujte a zatim deifrujte string koriste ifrovanje na nivou bitova (koristei operaciju
iskljuivo ILI).
9. Prilagodite algoritam za ifrovanje na nivou bitova tako da radi u CBC (chiper block
chaining) modu. Primenite ga koristei string i klju i vebe 8.
10. Definiite algoritam za deifrovanje za algoritam ifrovanja iz vebe 9.
11. Pretpostavite da originalna poruka glasi "ABCDEF" i uzmite bilo koji 8-bitni klju. Ako
ifrovanje izvedete primenom operacije iskljuivo ILI izmedu ASCII koda svakog karaktera
originalne poruke i kljua, kakvi se abloni javljaju u rezultujuem ifrovanom tekstu?
12. Pretpostavimo da pokuavate da razbijete metod ifrovanja koji je koristio 64-bitni
klju. Hz preptostavku da se primenjuje brutalni napad, koliko kljueva u sekundi
morate da isprobate da bi se metod razbio za jedan mesec?
13. Zato trostruki DES defmie algoritam deifrovanja kao drugi od tri algoritma?
14. Konstruiite sliku slinu slici 7.7 za blok od 256 bitova.
15. Ponovite proces ifrovanja poruke "HELLO" koji je diskutovan u sekciji 7.4 koristei
drugi klju za ifrovanje, ali sa istom vrednosti za n.
16. Pretpostavimo da ste presreli sledeu ifrovanu poruku:
20 5 21 3 49 4 49 3 4 15
Takode, znate da je klju ifrovanja k = 7, i da je utvrden korienjem n = 55.
Deifrujte ovu poruku. Pretpostavite da su slova A do Z inicijalno kodirana sa
1 do 26, a da je blanko znak inicijalno kodiran sa 27.
17. Koristei vrednosti n = 47, g = 5, x = 10, i y = 12, potvrdite da Diffie-Hellman razmena
kljua funkcionie. Sta je klju za ifrovanje?
18. Izraunajte 95
91
mod 121.
19. Napiite algoritam (na programskom jeziku po sopstvenom izboru) koji e
izraunavati a
b
mod n, gde su a, b i n vrednosti tipa int.
20. Dizajnirajte klasu largelnt koja moe da smeta cele brojeve od po n cifara (n je
pozitivan celi broj). Klada treba da ukljuuje metod koji mnoi dve largelnt klase i
stvara treu koja sadri proizvod. Zabeleite koliko traje algoritam mnoenja za
razliite vrednosti n.
21. Jednostavni metod koji izraunava vrednost digitalnog saetka razbija poruku na
128-bitne blokove, a zatim ih sumira. Da li je ovo efikasan algoritam saimanja?
Zato jeste ili nije?
22. Preuzmite PGP sa web sajta i instalirajte ga na svom kompjuteru. Zamolite prijatelja
da uradi isto. Koristite PGP za razmenu sigurnih i potpisanih poruka.
23. Pronadite web sajt koji nudi bezbednu konekciju. Sta se koristi kao javni klju?
Reference
[CoOIa] Conry-Murray, A. "Firewalls for AU." Netivork, vol. 16, no. 6 (June 2001), 42-47.
[CoOIb] Conry-Murray, A. "Kerberos: Computer Security's Hellhound." Network, vol. 16,
no. 7 (JuIy 2001), 40-45.
[Da02] Daemen, J., and V. Rijmen. The Design of Rijndael: AES, the Advanced Encryption
Standard, Heidelberg, Germany: Springer-Verlag, 2002.
[De90] Denning, P., ed. Computers Under Attack: lntruders, Worms, and Viruses, Reading,
MA: Addison-Wesley, 1990.
[De96] Denning, D.E., and D.K. Branstad. "ATaxonomy for Key Escrow Enayption
Systems." Communications of the ACM, vol. 39, no. 3 (March 1996), 34-40.
[Di67] Diffie, W., and M. E. Hellman. "New Directions in Cryptography."
IEEE Transactions on Information Theory, vol. 13 (November 1967), 644-654.
[Ga94] Garfinkel, S. PGP: Pretty Good Privacy. Sebastopol, CA: CReilly & Associates, 1994.
[HeOl ] Hernandez,}., et al. "Search Engines as a Security Threat." Computer, vol. 34, no.
10 (October 2001 ),25-30.
[Ka94 ] Kane, P. PC Security and Virus Protection Handbook. New York: M&T Books, 1994.
[KaOl ] Kaliski, B. "RSA Digital Signatures." Dr. Dobb's Journal, vol. 26, no. 5 (May 2001), 30-
36.
[Ko77] Kolata, G.B."Computer Encryption and the National Security Agency Connection"
Science, vol. 197(JuIy 1977), 438-440.
[La87 ] Landreth, B., and H.Rheingold. Out of the Inner Circle: A Hacker's Guide to Computer
Security, Bellevue, WA: Microsoft Press, 1987.
[ Mo90 ] Montz, L. "The Worm Case: From Indictment to Verdict." InComputers Under Attack:
lntruders, Worms, and Viruses, ed. Peter Denning. Reading MA: Addison-Wesley, 1990.
[MoOl ] Mollin, R. An lntroduction to Cryptography. Boca Raton, FL: Chapman & Hall/CRC
Press, 2001.
[Na91 ] National Research Council. Computers at Risk. Washington, DC: National Academy
Press, 1991.
[Na97] Nachenberg, C, "ComputerVirus-AntivirusCoevolution." Communications of'the
ACM,vol.40,no. 1 (January1997),46-51.
[OpOl]Oppliger,R. Secure Messaging with PGP and S/MIME.Norvvood,MA:ArtechHouse,
2001.
[PeOl]Perlman,E.,andC.Kaufman."KeyExchangeinIPSec:AnalysisofIDE."IEEE
Internet Computing,vol.4,no. 6(November/December2000),50-56.
[Po02]Pohlmann,N,,andT.Crothers. Firevjall Architecture for the Enterprise.NewYork:
Wiley, 2002.
[ReOl]Rescorla,E. SSL and TLS: Designing and Building Secure Systems.Reading,MA:
Addison-WesIey,2001.
[Ri78] Rivest, R.L.,A. Shamir, andL.Adleman. "On aMethod forObtainingDigital
SignaturesandPublicKeyCryptosystems." Communications of the ACM,vol.21,no.2
(Februarv 1978), 120-126.
[Ri92] Rivest, R.L. "TheMD5MessageDigestAlgorithm." RFC 1321,April 1992.
[Ro89] Rochlis, J., andM. Eichin. "WithMicroscopeandTweezers:TheWormfrom MIT's
Perspective." Communications ofthe ACM,vol. 32,no. 6 (June 1989), 689-698.
[Sc94]Schneier,B. Applied Cryptography.NewYork"Wiley,1994.
[Sc98] Schneier,B. "TheTwofishEncryptionAlgorithm." Dr. Dobb's Journal,vol.23,no.
12 (December1998), 30-38.
[Se89]Seeley,D."PasswordCracking:AGameofWits." Communications of the ACM,vol.
32,no. 6 (June1989), 700-703.
[Sh79] Shamir,A. "HowtoShareaSecret." Communications ofthe ACM,vol. 22, no. 11
(November 1979), 612-613.
[Si96]Simonds,F. Netuiork Security: Data and Voice Communications.NewYork:
McGraw-Hill, 1996.
[Sp89] Spafford, E. "TheInternetWorm: Crisis andAftermath." Communications ofthe
ACM,vol. 32, no. 6 (June 1989), 678-687.
[Sp90] Spafford,E.,K. Heaphy,andD. Ferbrache. "AComputerVirusPrimer." In
Computers Under Attack: lntruders, Worms, and Viruses,ed.PeterDenning.Reading,MA:
Addison-Wesley, 1990.
[St88] Stoll,C. "StalkingtheWilyHacker." Communications ofthe ACM,vol. 31,no. 5
(Mayl988),484-497.
[St89]Stoll,C. The Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage.
NewYork: Doubleday, 1989.
[St95]Stinson,D. Ciyptography: Theory and Practice.BocaRaton,FL:CRCPress,1995.
[St03]Stallings,W. Ciyptography and Netmork Security: Principles and Practice,3rded.Upper
SaddleRiver,NJ:Prentice-Hall,2003.
[ThOO]Thomas,S. SSL and TLS Essentials: Securing the Web.NewYork:Wiley,2000.
[Yu79]Yuval,G. "HowtoSwindleRabin." Ciyptologia,vol. 3,no. 3 (JuIy1979), 187-190.
[Zi95]Zimmerman, P. The Official PGP User's Guide.Cambridge,MA:MITPress,1995.
Znanje u obliku raspoloivosti informacija ve sada je neprocenljivo vano za produktivnost i
nastavie da bude glavna (moda i najznaajnija) "stavha" u svetskoj trci za mo. Mogue je
da e se nacije jednog dana boriti za kontrolu nad informacijama na isti nain hao to su se
u prolosti borile za teritorije, a kasnije za eksploataciju sirovina i jeftine radne snage.
Jean Fran^ois Lyotard (1924-1998), francuski filozof
Kontrola toka
8.1 Uvod
Skoro sve to smo do sada predstavili odnosilo se na prenos od poiljaoca do primaoca. Bilo da
smo razmatrali digitalne, ili analogne signale, kompresiju, nadmetanje, zatitu, ili integritet,
osnovna tema se u optem sluaju odnosila na jedan paket, ili okvir. Veina komunikacija je
sloenija i zato je neophodno razmotriti sledea pitanja.
Sta ako je preneta poruka veoma dugaka? Primeri su veliki fajlovi sa podacima, ili, na
primer, kopija govora sa nekog politikog skupa. Tretiranje cele poruke kao jednog
entiteta u toku jednog prenosa monopolizuje medijum. Ovo je dobro sa aspekta
poiljaoca, ali ne i sa aspekta svih ostalih koji ekaju da prenesu svoje podatke.
Kako reagujemo na oteene prenose? Prethodno smo istakli da primalac jednostavno
zahteva ponavljanje prenosa. Ali, kako to primalac, u stvari, inicira? Da li protokol
koji poiljalac koristi u potpunosti zavisi od primaoeve sposobnosti da ga obavesti o
oteenim okvirima? Da li poiljalac zakljuuje da je okvir ispravno primljen ako ne
primi nikakav zahtev od primaoca? ta se deava ako primaoev zahtev za ponavljanje
prenosa bude oteen, ili izgubljen?
ta ako kompjuteri poiljaoca i primaoca ne funkcioniu na istim brzinama? Na
primer, moete da preuzmete fajl sa nekog superkompjutera na personalni kompjuter
star 10 godina. Hi, moda je primalac uposleniji od poiljaoca. U optem sluaju,
postavlja se pitanje kako spreiti poiljaoca da zaspe primaoca sa vie podataka nego
to ovaj moe da ih kontrolie.
ta se deava ako se poslati okvir izgubi u toku prenosa? Na primer, okvir je oteen u
delu u kome se pamti adresa primaoca. U tom sluaju, okvir se nikada nee isporuiti.
Znamo da primalac moe da detektuje oteene okvire. Ali, ta se deava ako okvir
nikada ne stigne. Da li to znai da je okvir izgubljen, ili da nita nije poslato? Kako
primalac moe da napravi razliku izmedu ta dva sluaja?
U prethodnim primerima razlika izmeu poiljaoca i primaoca je bila jasno odredena,
ta se deava ako oba istovremeno ele i da poalju i da prime podatke? To je u neku
ruku slino situaciji u kojoj istovremeno i govorite i sluate nekoga. Moda se svako
povremeno nade u takvoj situaciji, ali injenica je da tada propustimo deo onoga to
nam neko govori. Kada je re o komunikacijama, ne smemo da dopustimo da
primalac izgubi njemu poslate informacije.
U ovom poglavlju predstaviemo dve znaajne funkcije koje su neophodne za uspostavljanje i
odravanje efektivne komunikacije: kontrolu greaka i kontrolu toka. Kontrola greaka defmie kako
uredajjroverava da li u okviru postoje greke i ta se radi ako se one detektuju. U odeljcima 6.2 i 6.3
pnkazani su nacini za detektovanje gresaka, ali nije receno sta se radi nakon detekcije. Uobicajeni
pristup podrazumeva da prijemni ureai ukazuje da ie dolo do greke. Ureai poiljaoca nakorLtoga
moe da obavi razlidte "stvari" i mi emo ovde razmotriti nekoliko protokola. U sutini, ponovo se
zahteva sIanfe"6k>ifa7TiKoda se ovakav tip kontrole ereaka esto naziva automatski zahtev za
retransmisijom (ARQ-automatic repeat reauest).
Kontrolom toka definie se nain na koji se vie okvira alje i prati i kako ureali izvode kontrolu
gresaka. U optem sluaju, protokoli kontrole toka obezbeduju da svi povezani okviri stiu na
svoje odredite odgovarajudm redosledom.
Protokoli mogu da budu predstavljeni ili na krajnje jednostavan, ili na sloen nain. U odeljcima 8.2
i 8.3 predstavljeni su relativno prosti protokoli kontrole toka. Postoji iroki opseg razliitih protoko-
Ia, od onih koji alju po jedan okvir u jednom trenutlcu.(stop-and-wait), do onih koji alju sve okvire
odjednom (neogranieni tok). U ovim odeljcima je razmotrena i upotreba specifalnih signala, ili
specifinih vrednosti bajtova koje ukazuju kada treba poslati podatke. To je analogno regulisanju
saobraaja na visokoprometnim putevima. Sve dok je upaljeno zeleno svetlo, saobraaj moe da se
odvija. Ali, kada saobraaj dostigne odredeni stepen zasienja, pali se crveno svetlo.
U odeljcima 8.4 i 8.5 prikazan je sloeniji pristup koji numerie okvire i alje ih samo po nekoliko
istovremeno. Nakon toga, poiljalac eka na potvrdu pre nego to poalje jo okvira. Protokol
g-back-n predstavljen u odeljku 8.4 pretpostavlja da okviri stiu istim redosledom kojim su poslati.
Protokol selektovanog ponavljanja, predstavljen u odeljku 8.5, doputa sluajeve u kojima se neki
okviri mogu odloiti i isporuiti mimo redosleda. U odeljku 8.6 analiziran je algoritam za te pristupe
i definisane su formule za utvrdivanje efektivnih brzina prenosa podataka.
Predstavljanje protokola i naina njihovog funkcionisanja je jedno, a potvrda da su tani je neto
sasvim drugo. Kod jednostavnih algoritama verifikacija je esto laka, ali sloeniji zahtevaju neke
specijalizovane alatke. U odeljku 8.7 (poto je prilino teorijski, moe se "preskoiti" bez
gubitka kontinuiteta) prikazani su neke alatke za verifikaciju, kao to je Petri net, i modeli
konanih stanja.
Ovo poglavlje je vie teorijsko nego veina ostalih i ne odnosi se na specifine mrene protokole.
Ipak, to ga ne ini manje znaajnim. Zapravo, zbog toga je moda i znaajnije, jer daje osnovu za
razmatranje protokola veze podataka i protokola transportnog sloja, koje je predstavljene u
narednim poglavljima. Ti protokoli e Vam biti jasniji ako ve razumete kontrolu toka, potvrde,
prozore, brojeve okvira, okvire koji stiu van redosleda, izgubljene okvire i tajmere. Pokuajte
sada da razumete koncepte, a njihovu implementaciju emo prikazati neto kasnije.
SLIKA 8.1 Kontrola toka kada se koristi signaliziranje
8.2 Signaliziranie
Ovaj odeljak uvodi relativno elementarne pristupe za kontrolu toka koji su korisni za
jednostavnije komunikacione sisteme. Prvi pristup, sasvim jednostavan, predstavlja signalizira-
nje (slika 8.1). Poiljalac prenosi podatke sve dok je primalac sposoban da ih prihvati. Ipak,
primalac moda nee biti sposoban da prihvata podatke neprestano. Na primer, baferi koji
prihvataju podatke mogu da se napune, ili primalac moda nee biti spreman zbog zauzetosti
nekim drugim poslovima. U takvim sluajevima primalac alje signal do poiljaoca. Po prijemu
tog signala, poiljalac prekida prenos. Osim toga, protokol doputa slanje originalnog signala
kada primalac ponovo bude spreman za prihvatanje novih podataka. Ovaj pristup je analogan
neproduktivnom argumentu kao kada jedna osoba kae: Stani! Ne elim vie da te sluam."
Primio sam tvoj signal i neu
ti slati nita dok ne primim
sledei signal.
Poiljalac
Posiljalac Primalac
Primalac
signal niz podataka
Poiljalac
Primalac
Moji baferi su puni, molim
da prekine slanje.
Ima mesta u mojim baferima
i zato u prihvatiti podatke
niz podelaka
si gnal
si gnal
* Ovi karakteri obino odgovaraju control-S i control-Q sekvencama sa tastature kada se koriste odredeni emulatori
terminala.
SLIKA 8.2 Kontrola toka pomou in-band signaliziranja
X-OFF karakter (ASCII kod DC3).
Kada B dobije ovaj karakter,
zaustavlja prenos.
stanice i servera. Na slici 8.2 pokazano je kako ovo funkcionie.
Na slici je pretpostavljeno da se koriste full-duplex komunikacije, tako da nema razlike izmeu
poiljaoca i primaoca. A i B alju i primaju podatke jedan od drugoga. Ako se baferi u A napune,
moe da reaguje umetanjem X-OFF karaktera u podatke koje alje do B. Kada X-OFF karakter
stigne, B ga vidi i prestaje da alje podatke do A (ipak, napomenimo da A i dalje alje podatke za
B). Ako A kasnije oslobodi mesto u baferu, moe da poalje X-ON karakter do B, ime se alje
signal za B da moe da nastavi prenos.
Kada jedan uredaj alje X-OFF karakter, nastavlja da prima podatke jo neko kratko vreme, zbog
toga to postoji manje kanjenje izmeu vremena kada se X-OFF karakter poalje i vremena kada
drugi uredaj moe da reaguje.
DTE-DCE kontrola toka
U odeljku 4.4 predstavljen je jedan nain za signaliziranje spremnosti i prihvatanja podataka
preko EIA-232 interfejsa. Ukljuuie slanje signala preko specifinih linija (DTO i DSR), ime se
ukazuje na spremnost uredaja za prihvatanje podataka. Kada DTE eli da poalje neto do DCE,
alie drugi slignal fRTS) kojim zahteva dozvolu za slanie. Nakon toga, eka na Clear to Send
signal (CrS) koji mu doputa slanje. Detalji su predstavljeni u odeljku 4.4, tako da ih neemo
ovde razmatrati.
X-0N/X-OFF
EIA-232 interfejs je sloen po tome to zahteva zasebne linije za zasebne signale. Sledei pristup
podrazumeva slanje signala kao dela prenetih podataka; to se naziva signalizirarije u opsegu
(in-band signaling). U ovom sluaju, primalac treba da analizira dolazee podatke, traei bilo
koje specijalne signale na koje mora da reaguje.
* Ponekad se koriste za kontrolu toka izmedu radne
ASCII set karakteia definie dva kontrolna karaktera za kontrolu toka (videti tabelu 2.6 u odeljku
2.5). Simboliki, .to su DC3 (heksadecirnalni kod 13) i DCl (heksadecimalni kod 11); jo se
nazivaju i X-OFF i X-QN. respektivno..
Zbog toga, ureaj obino alje podatke kada njegovi baferi premae neki prag.
Ovaj protokol ste prvi put verovatno sreli sasvim sluajno. Na primer, uobiajeno je da na ekranu,
kada se emulator terminala koristi za povezivanje na server, dobijate prikaz sadraja tekstualnog
fajla. Povremeno, bilo zbog greke, ili nenamemo, moete da naidete na komandu koja prikazu-
je sadraj binarnog fajla kao da je re o izvrnom fajlu. Rezultat su udni karakteri na ekranu, neki
beep zvukovi i nasumino kretanje kursora. U nekim sluajevima radna stanica prestaje da reagu-
je na naredne unose sa tastature - tastatura se koi. Poto veina bajtova u binarnom fajlu ne
odgovara karakterima koji se mogu odtampati, radna stanica esto reaguje na njihov sadraj na
neoekivani nain. Kodovi za prebacivanje na poetak reda i vertikalni i horizontalni tabulator
izazivaju nasumino pomeranje kursora. Karakteri mogu da sadre i BEL kod (heksadecimalno
07), koji izaziva beep zvuk (ovim se naruava uobiajeno verovanje da su beepovi upozorenja da
e se radna stanica unititi).
Problem "zamrzavanja" se javlja ako jedan od bajtova u fajlu sadri X-OFF karakter. Poto radna
stanica primi taj karakter, ona reaguje zaustavljanjem prenosa nazad ka serveru. Ako i dalje zadajete
ulaz preko tastature, kodovi nee biti poslati i ekran radne stanice se "zamrzava". Mogua reenja su
iskljuivanje radne stanice, ili prelazak u lokalni mod radne stanice i ienje komunikacije.
Sledea uobiajena upotreba ovog protokola deava se kada se na ekranu prikazuje neki veliki
fajl. Da bi se spreilo "isklizavanje" informacija sa ekrana, unesite control-S (zadrite taster Ctrl i
pritisnete S) sa tastature da bi se ekran "zamrznuo". Control-S alje X-OFF karakter, ime se
zaustavlja prenos fajla. Kasnije, kada prodtate ono to ste hteli, moete da unesete control-Q,
ime se alje X-ON karakter koji doputa nastavak prenosa fajla.
8.3 Kontrola orijentisana okvirima
Protokoli kao to je X-ON/X-OFF orijentisani su bajtovima i tipini su za asinhrone komunikaci-
je (videti odeljak 4.3). Tj., prenos moe da se startuje i pauzira u bilo kom bajtu. Sinhrone
komunikacije (videti odeljak 4.3) su orijentisane okvirima i zahtevaju vie organizacije.
Informacije se alju i "oporavljaju" u veim blokovima, a ne kao niz bajtova. Poto uredaj mora
da bude sposoban za baferovanje svih bajtova u okviru koji primi, razliiti protokoli se koriste za
ograniavanje broja okvira koje je mogue poslati. Naravno, postoje razliiti naini za primenu
ogranienja.
Zatim, treba uzeti u obzir injenicu da onaj ko alje i prima informacije obino ne vodi rauna o
okvirima i njihovoj strukturi. Ako se fajl prenosi preko Internet konekcije, sigurno neete hteti da
se bavite tim detaljima. Jednostavno, izdajte komandu, ili kliknite dugme za slanje fajla, a
softveru prepustite sve ostale detalje. Zbog toga, veina protokola deli informacije tako da se alju
u okvirima sa odgovarajuim formatom, a zatim ih alje. Na slici 8.3 ilustrovano je kako se ovo
izvodi u tipinom sluaju.
Neko, ili neto koga nazivamo korisnikom ima informacije koje mora nekome da poalje.
Napomenimo da u ovom kontekstu ne moramo da mislimo na stvarnu osobu.
Neogranienijjcotokol
Najlakinrotokol, neogranieni protokol, pretpostavlja da primalac ima neograniaai kapacitet
Za prihvatanie okvira, ili za prpcesiranie dovoliaom brzinom tako da uvek postoji slobodan
prostor u baferu.
SLIKA 8.3 Slanje i prijem podataka izmeu dva korisnika
Ovde termin korisnik predstavlja sledei vii sloj u protokolu koji obuhvata vie slojeva. Ovo ima
smisla, jer kod protokola koji obuhvata vie slojeva svaki sloj se smatra korisnikom sloja koji se
nalazi ispod njega. Na primer, kod OSI modela sloj sesije je korisnik transportnog sloja, a sloj
mreee je korisnik za sloj veze podataka. Oba ova primera su relevantna, jer su protokoli za
kontrolu toka znaajan deo sloja veze podataka i transportnog sloja. Poiljalac uzima dovoljno
informacija (paket) od korisnika i postavlja u okvir, a zatim prenosi taj okvir. Primalac prihvata
okvir, rastavlja paket i prenosi informacije do korisnika kome su potrebne. Proces se ponavlja za
naredne okvire, sve dok ima informacija koje treba preneti.
Tipino, poiljalac, primalac i korisnici sa slike 8.3 definiu sukcesivne slojeve u nekom
komunikacionom softveru. Ovo je tipina interakcija izmeu veze podataka (poiljalac i
primalac) i sloja mree (korisnika) u OSI modelu. Kontrola toka postoji i na protokolima viih
slojeva, kao to je TCP/IP (opisujemo ga kasnije u ovoj knjizi). U ovoj taki, gde poiljalac,
primalac i korisnik postoje, to nije znaajno. Kontrola toka postoji u razliitim modelima i na
razliitim slojevima. Medutim, vano je razumeti da je kontrola toka obino deo interakcije
izmedu dva susedna sloja istog protokola.
informacije
Korisnik pribavija
i nformaci j e.
Poiljaiac dobi j a paket
od korisnika i postavlja
ga U okvir.
Korisnik
Poiljalac
Slanje podataka u
okvi ri ma, j edan po j edan
Prihvatanje podataka j ednog
okvira u j ednom t r enut ku
Pri mal ac
Korisnik
Korisnik skl adi l t i
i nformaci j e.
Pri mai ac raspakiva paket iz
okvira i daj e podat ke kori sni ku.
* Nemamo nameru da ovde navodimo sintaksno ispravan kod. Kombinujemo sintaksu C-a sa neformalnim naredbama kako
bi se predstavilo znaenje programa, bez zalaenja u detalje konkretnog piogramskog jezika. Dobra veba moe da bude
modifikovanje svih protokola koje predstavljamo u sinlaksno i logiki tanc programe.
void senddata; Void receive_data;
{ {
while there are packets to send while there are frames to receive
{ {
get packet from the user; wait for frame to arrive;
put packet into a frame; receive(frame);
send(frame); Extract packet from the frame;
} Give packet to the user;
} }
}
Kod primaoca Kod posiljaoca
SLIKA 8.4 Neograniena kontrola toka
Slika 8.4 pokazuje da je logika poiljaoca i primaoca napisana delimino u C-u.* Poiljalac i pri-
malac koristi primitivne pozive send i receive. Ovo su obino pozivi na sloju ispod poiljaoca i
primaoca koji vode rauna o detaljima potrebnim za prenos, ili prihvatanje okvira.
Poiljalac neprestano izvrava petlju sve dok postoje informacije za slanje. Sa svakim prolaskom
kroz petlju od korisnika se uzima paket, postavlja se u okvir i okvir se alje. Okviri se neprestano
alju i ne pokuava se da se ogranii broj okvira koji se alje. I primalac neprestano izvrava petlju.
Pretpostavljamo da je primalac uvek sposoban za prihvatanje okvira. Sa svakim prolaskom kroz
petlju primalac eka (tj. ili se suspenduje, ili je u stanju ekanja) sve dok ne stigne sledei olcvir.
Po pristizanju okvira primalac se budi i prihvata okvir. Paket se izvlai iz okvira i prenosi do
korisnika, a zatim se vraa u stanje ekanja do dolaska sledeeg okvira.
Ovaj pristup ne razmatra probleme koje smo prethodno razmotrili. Nema nikakvih pokuaja da
se proveri da li su okviri oteeni, izgubljeni, ili kasne, niti se kontrolie broj poslatih okvira.
Pretpostavlja se da svi okviri stiu bez oteenja istim redosledom kojim su poslati. Ovo je slino
naoj zavisnosti od toga kada e pota isporuiti pristigla pisma.
Protokol stop-and-wait
Protokol stop-and-wait (stani i ekai) razlikuie se od prethodnoe protokola na dva naina. Prvo.
svaki put kada primalac dobije okvir alje potvrdu nazad do poiljaoca. Potvrda ie takoe okvir
koji se alje nazad do poiljaoca. Nakon to poalje okvir, poiljalac eka na potvrdu pre negojtp
poalje sledei okvir. Tako, umesto da se okviri alju brzo jedan iza drugog u nizu, protokol alje
jedan okvir, eka na potvrdu, alje sledei, eka potvrdu za njega i tako dalie. U nekim sluajevi-
ma, stop-and-wait protokol predstavlja suprotni ekstremni sluai prethodnoe metoda.
void send_data; void r ecei vej Jat a;
{ {
damaged0; vvfille t here are packets to receive
while t here are packets to send {
{ Wait for frame to ar r i ve;
if (/damaged) receive(f ranie) ;
/* !0 is the same as true in C */ Examine frame for transmission error;
{ if no transmission er r or
Get packet from the user; {
Put packet i nt o a frame; ack. er r or 0;
} Extract packet from the frame;
send(frame); Give packet to t he user;
Wait for acknowledgment to arrive; }
recei ve(ack); el se
i f ack. error ack. er r or l ;
damagedl; send(ack);
el se }
damagedO; }
}
}
Kod posiljaoca Kod primaoca
SLIKA 8.5 Stop-and-ivait kontrola toka
Za razliku od neogranienog protokola koji alje maksimalan broj okvira u jedinici vremena, ovaj
protokol alje minimalan broj okvira.
Na slici 8.5 predstavljeni su protokoli poiljaoca i primaoca. Protoko] primaoca je slian
neogranienom protokolu. Sadri beskonanu pedja u kojoj se eka na dolazak okvira. Kada
okvirstigne, primalac proverava da li je oteen. Za nau diskusiju nije bitno da li korisd CRC, ili
neki drugi oblik provere parnosti (o tome je bilo rei u Poglavlju 6). Vano je to to moe da
detektuje oteeni okvir.
Ako okvir nije oteen, primalac definie polje greke u strukturi zapisa pod nazivom ack kao 0.
Nastavlja da izvlai paket iz okvira, i predaje ga korisniku. Ako je okvir bio oteen, polje greke
ack je 1. Primalac ne izvlai paket iz okvira i korisnik ne dobija nikakve podatke. U svakom
sluaju, primalac alje potvrdu nazad do poiljaoca. Poto polje greke definie status primljenog
okvira, poiljalac moe da reaguje na odgovarajui nain.
Poiljalac neprestano izvrava pedju, aljuci okvire i ekajui na potvrde, Pre slanja okvira,
poiljalac mora da odlui da li e poslati novi okvir, ili e ponovo poslati stari. To radi preko
iokalne promenljive pod nazivom damaged, ija vrednost ukazuje na status postednjeg poslatog
okvira (1 znai da j'e okvir bio oteen; O znai da nije bio oteen). Inicijalna vrednost je O. Na
poetku pedje, poiljalac proverava damaged. Ako je 0, poiljaiac uzima novi paket od korisnika,
postavlja ga u okvir i alje ga. Ako je damaged bilo I
1
poiljalac alje tekui okvir (onaj koji je
prethodno poslat). U svakom slua/u, nakon slanja okvira eka na potvrdu. Kada potvrda stigne,
poiljalac proverava polje greke, iju je vrednost definisao primalac. Ako polje greke ukazuje na
otecenje u prediodnom okviru, poiljalac definie damaged = 1.
Kada se sledei put pellja izvri, poiljalac ne uzima nove podatke od korisnika, ve ponovo alje
okvir. Ako je damaged = 0, poiljalac uzima novi paket u sledeem prolasku i alje ga.
Kao to smo ranije opisali, stop-and-wait protokol deluje kao poeljniji izbor od neogranienog
orotokola. iDak, ima i neke nedostatke:
Ako je poslati okvir izgubljen, primalac nikada ne alje potvrdu i poiljalac eka
beskonano dugo.
Ako se izgubi potvrda primaoca, deava se isto,
Ako se potvrda oteti, poiljalac moe da donese pogrean zakljuak i tako dolazi do
greke u protokolu.
Poiljalac sigurno nee zasuti primaoca ogromnim brojem okvira, ali zato moe da
ode u drugu krajnost. I poiljalac i primalac provode dosta vremena ekajui. To je kao
kada predava diktira jedno po jedno pitanje za pismeni zadatak. Student nosi pitanje
kui, vraa se u kolu, predaje rad, eka da ga predava oceni, zatim uzima sledee
pitanje i neprestano ponavlja ceo postupak. U nekim sluajevima bi bilo efikasnije
poneti sve zadatke kui, zavriti ih i vratiti se sledeeg dana.
U sledee dve sekcije prouavamo ove primedbe. Pre nego to preemo na sloenije protokole,
upoznaemo efikasnost protokola.
R = bitska brzina (10 Mbps, ili 10 bitova/^sec)
S = brzina signala (200 metara/|j.sec)
D = rastojanje izmedu poiljaoca i primaoca (200 metara)
T = vreme potrebno za kreiranje jednog okvira (1 irsec)
F = broj bitova u okviru (200)
N = broj bitova podataka u okviru (160)
^A = broj bitova u potvrdi (40)
Ilustrujmo to jednim primerom. Uzimite u obzir naredne defmicije, sa konkretnim vrednostima
u zagradama koje e biti koriene u primeru:
Efikasaast protokola
Efikasnost moe da se meri na nekoliko naina. Na primer, koliko protokol zahteva prostora u
baferu? Za stop-and-wait protokol nikada nije potrebno mesta za vie od jednog okvira, tako da
je bafer kapaciteta iednog okvira sasvim dovoljan. Kod neogranienog protokola okviri mogu da
stiu,bre nego to ih primalac moe prihvatiti. Zato se oni moraju privremeno smetati u bafer.
Broi smetenih okvira ie odreen brzinom koiom stiu i koliko brzo primalac moe da ih podeli.
U svakom sluaju, stop-and-wait protokol zahteva manje prostora i zato je iz ove perspektive
efikasniji.
Sledea korisna mera je efektivna brzina prenosa podataka. To ie stvarni broi bitova podataka
(za razliku od izvorne bitske brzine) koji se poalje u iedinici vremena. Da bi se izraunala
erektivna brzina podataka, dehmo broj poslatih bitova (N) sa protekhm vremenom lzmedu
slanja dva okvira.
* Strogo govorei, koliina vremena koja jc neophodna primaocu da konstruie okvir potvrde ne iznosi T. Medutim, to vreme
zavisi od brzine CPU-a, efikasnosti kompajliranog koda i softverskog planiranja. Da bismo pojednostavili "stvari",
pretpostavljamo da i poiljalac i primalac mogu da konstruiu okvirza isto vreme.
t Ovde je pretpostavljeno da primalac alje potvrdu im primi okvir. Medutim, to nije uvek tako.
SLIKA 8.6 Vreme potrebno za slanje okvira do primaoca
Poinjemo utvrdivanjem vremena koje je neophodno za konstruisanje i slanje okvira (slika 8.6).
Pretpostavljamo da poiljalac startuje od trenutka O. Poiljalac je dobio informacije i postavlja ih
u okvir za vreme T. Sledei korak je prenos okvira. Poto je R bitska brzina, onda je IfR vreme
potrebno za prenos jednog bita. Zato je F/R vreme potrebno za prenos jednog okvira. Ukupno
potroeno vreme do sada iznosi T + F/R.
Kada je poiljalac poslao okvir, bitovima treba vremena da stignu do primaoca. Vreme putova-
nja iznosi D/S. Nakon to se prenese poslednji bit, potrebno mu Je DfS vremenskih jedinica da
stigne do primaoca. Zbog toga, primalac prima poslednji bit u vreme = T + F/R + D/S.
Napomenimo da okvir u putu provede P/R + D/S vremena.
Kod stop-and-wait protokola primalac mora da poalje i potvrdu. Slian argument pokazuje da
je vreme potrebno da poiljalac primi potvrdu jednako T + AfR + DfS. *
Sledee pitanje: Koliko vremena protekne izmeu slanja dva okvira podataka? Kod
neogranienog protokola poiljalac poinje da kreira sledei okvir im prenese poslednji bit
prethodnog okvira. Kod stop-and-wait protokola on mora da saeka potvrdu za svaki poslati
okvir. Tako vreme izmeu slanja dva uzastopna okvira iznosi
za neogranieni protokol i
za stop-and-wait protokol.t
vreme
Kreiranje
jednog
okvira
Postavljanje
bitova okvira
na medijum
Vreme potrebno da
poslednji bit stigne od
poiljaoca do primaoca
Prethodni protokoli su prikladni ako broj okvira i rastojanje izmedu ureaja nisu veliki. Ako se
broj okvira povea, neogranieni protokol moe da "poplavi" medijum i zatrpa primaoca.
Jednaina 8.4 pokazuje ta se deava sa stop-and-wait protokolom ako se rastojanje povea. Poto
je D u imeniocu, efektivna brzina prenosa podataka se smanjuje. Teorijski, biranjem dovoljno
velike vrednosti za D brzina postaje proizvoljno mala.
8.4 Go-Back-n: Protokol klizajuih prozora
Vano je napomenuti da kapacitet izvome bitske brzine ne garantuje da e se toliko podataka preneti.
U ovom primeru stop-and-wait protokol realizuje samo oko 57 odsto izvorne bitske brzine. Efektivna
brzina prenosa podataka umnogome zavisi od protokola, veliine okvira, rastojanja koje okviri
prelaze i tako dalje. Na primer, poveavanjem veliine okvira poveava se i efektivna brzina prenosa
podataka (uz pretpostavku da sa poveanjem okvira postoji propordonalno poveanje broja bitova
podataka). Ovo moda nije toliko oigledno na osnovu prethodne jednaine, ali isprobajte i vidite
ta e da se desi. Moete li da utvrdite kakav efekat ima poveanje drugih promenljivih na efektivnu
brzinu prenosa podataka?
Ove mere predstavljaju samo deo celokupne slike i ne moemo da tvrdimo da je neogranieni
protokol bolji samo zato to obezbeduje veu efektivnu brzinu prenosa podataka. Meu ostalim
faktorima koje treba uzeti u obzir nalaze se korisnid koje protokoli opsluuju, koliina podataka koja
se prenosi i injenica da i drugi dele isti medijum. injenica je da ova dva protokola predstavljaju dva
ekstremna sluaja (ili se alje sve odjednom, ili se alje jedan po jedan okvir) i svi ostali protokoli se
nalaze negde izmedu. Predstaviemo ih u naredna dva odeljka.
Dakle, deljenjem broja bitova podataka sa proteklim vremenom izmeu slanja dva okvira dobijamo
efektivna brzina prenosa podataka (neogranieni protokol)
i
efektivna brzina prenosa podataka (stop-and-wait protokol) (8-4)
[8-i J
Poto se komunikacije esto odvijaju preko velikih rastojanja i ukljuuju velike koliine podata-
ka, potrebni su altemativni protokoli. Jedan mogui pristup je kompromis izmeu
neogranienog i stop-and-wait protokola, poznatkao protokol klizajucih prozora. On numerie
okvire koji se alju i definie prozor kao podskup uzastopnih olcvira. Ako prozor sadri i okvira,
poevi od w (w i i su celi brojevi), vae sledee konstatacije (slika 8.7):
Svaki okvir koji ie numerisan broiem manjim od w ie ve poslat i potvrden.
Ni jedan okvir koji ie numerisan brojem veim od w + i jo uvek nije poslat.
Svi okviri iz prozora su poslali, ali moda nisu stigle potvrde.za njih. Oni za koie nisu
stigle potvrde predstavljaju nereene okvire (outstanding frames).
Inicijalno, prozor sadri okvire koji startuju sa okvirom O. Kako korisnik obezbeuje pakete,
prozor se proiruje tako da ukljui nove okvire, koji se zatim alju. Ipak, ogranienje veliine pro-
zora predstavlja granicu za broj nereenih okvira. Kada se ta granica dostigne, poiljalac ne uzima
nove pakete od korisnika. Kada stigne potvrda za nereene okvire, prozor se smanjuje kako bi se
iskljuili potvreni okviri. Nakon toga se prozor ponovo proiruje kako bi ukljuio nove okvire
za slanje.
Dok se prozor menja, prethodni uslovi moraju uvek da budu ispunjeni i prozor uvek mora da
sadri sukcesivne okvire. Na primer, ako je stigla potvrda za okvir w + 1, ali nije stigla za okvir w,
prozor ne moe da se promeni sve dok ne stigne potvrda za w. Cak i ukoliko su stigle potvrde za
sve okvire osim za ui, prozor se nee promeniti. Okviri se iskljuuju iz prozora istim redosledom
kojim su i ukljueni.
Ovaj pristup predstavlja kompromis, jer omoguava slanje vie (mada ne nuno svih) okvira pre
nego to stigne potvrda za sve poslate okvire. Maksimalna veliina prozora defmie broj okvira
koji mogu da budu nereeni.
Broj okvira
Okviri poiljaoca
Ni jedan okvir iza prozora
ne moe da bude poslat dok
prozor ne sklizne nadole.
Okviri u ovom prozoru
mogu da budu nereeni.
Svi okviri pre prozora moraju
da budu potvrdeni.
Prozor klizi nanie kako
stiu potvrde za okvire
i alju se novi okviri.
SLIKA 8.7 Protokol klizajuih prozora
* Razlozi zbog kojih okviri mogu da stignu van redosleda su razliiti. To je nalik potanskim ispostavama. Pismo koje ste
poslali u ponedeljak verovatno e stii pre onog koje ste poslali u utorak, ali nemojte previe da se oslanjate na to. Gust
saobraaj, hardverske, ili softverske greke i oteeni okviri mogu da doprinesu kanjenju, ili, ak, gubitku nekih okvira.
SLIKA 8.8 Dvosmema komunikacija izm.edu uredaja A i B
Ako je prozor veliine 1, u sutini imamo stop-and-wait protokol. Ako je veliina prozora vea od
ukupne koliine okvira, dobijamo neogranieni protokol. Podeavanje veliine prozora moe da
pomogne kontroli saobraaja na mrei i da odredi zahteve za baferovanje.
Postoje dve uobiajene implementacije protokola klizajuih prozora. Go-back-n protokol zahte-
va prijem okvira istim redosledom kojim su i poslati.* Protokol selektivne retransmisije to ne
zahteva. Go-back-n je jednostavniji, jer primalac izbacuje svaki okvir, osim onog iji prenos treba
ponoviti. Selektivna retransmisija zahteva od primaoca da bude sposoban da zadri okvire koji
su primljeni van redosleda pre nego to ih prosledi do vieg sloja odgovarajuim redosledom.
Format okvira
Kod ovih protokola smo ispustili prethodnu pretpostavku i eliminisali jasnu granicu izmedu
poiljaoca i primaoca. Naime, pretpostavili smo realniji model kod koga dva uredaja (A i B)
meusobno alju (i primaju) okvire (slika 8.8). To je konverzacija, ili full-duplex komunikacija.
Zato protokol mora da bude sposoban ne samo da alje, ve i da prima okvire.
Pogledajmo ukratko ta okvir stvarno sadri. Na slici 8.9 prikazana su tipina polja. U kasnijim
poglavljima emo videti neke specifine formate. U okviru postoje sledea polja:
slanie podataka i potvrda
slanje podataka i potvrda
stanica A stanica B
Izvorna adresa (Source) Ovo je adresa ureaja koji alje okvir. esto je neophodna
kako bi prijemni uredaj znao gde da poalje potvrdu.
Odredina adresa (Destination) Ovo je adresa na koju treba poslati okvir.
Neophodna je da bi uredaj mogao da utvrdi koji su okvin njemu namenjeni.
Broj okvira (Number) Svaki okvir ima sekvencu brojeva koja poinje od O. Ako
ovo polje ima K bitova, najvei broj je 2
K
- 1. Vie od 2
K
okvira izaziva komplikacije.
ACK Celobrojna vrednost ovog okvira je broj okvira koji je potvrden. Napomenimo da
poto uredaj moe i da alje i da prima okvire, moe da izbegne slanje zasebne potvrde
ukljuivanjem potvrde u okvir sa podacima. Ovo je poznato kao piggybadting.
Tip okvira (Type) Ovo polje definie tip okvira. Na primer, podaci koji se prenose
u okviru su odredenog tipa. Medutim, ponekad se potvrda prenosi u zasebnom
okviru. Piggybacking moe da se koristi samo kada postoje podaci za slanje; bez
podataka, protokol koristi zasebne potvrde, koristei okvir tipa "ACK". Koristi se okvir
i tipa "NAK" (negativna potvrda) za problematine situacije. Na primer, protokol alje
NAK okvir kada je primljeni okvir oteen, ili ako je stigao pogrean okvir. U svakom
sluaju, protokol omoguava obavetavanje drugog ureaja da neto nije proteklo
kako treba.
Podaci (Data) Ovim su predstavljeni podaci u okviru.
CRC Ovo odgovara bitovima koji se koriste za proveru greaka (videti odeljak 6.3).
Karakteristike
Protokol go-back-n ima nekoliko identifikujuih karakteristika:
Brojevi okvira moraju da se nalaze izmedu 0 i 2
K
- 1 (K = broi bitova u polju
Number), zakljuno. Ako postoji vie od_2
K
okvira, brojevi okvira sedupliraju. Na
primer, pretpostavite da Je K = 6 i da postoji vie od 64 okvira za slanje. Okviri od O
do 63 su numerisani kao O do 63. Medutim, brojevi od 64 do 127 takode su
numerisani kao O do 63. U optem sluaju, svi okviri su numerisani po modulu 2K.
Videemo da ta karakteristika postavlja ogranienja za veliinu prozora koja uredajima
omoeuava ispravno interpretiranje broieva okvira.
Ovo zahteva i neznatna podeavanja u nainu defmisanja prozora. I dalje je obavezno da prozor
sadri sukcesivno numerisane okvire. * Medutim, sada smatramo O sledeim okvirom nakon 2
K
1. Na primer, ako je K = 6, onda su okviri numerisani kao 62, 63, 0, 1, 2 i tako dalje, po
modulu 26 = 64.
Prijemni ureai uvek oekuie da primi okvire u skJadu sa redosledom (mod 2
K
)
bro/eva okvira. Ako se okviri prime van redosleda, okviri se ignoriu i alje se NAK za
okvir koji /e bio oekivan. Nakon toga se eka na dolazak odgovarajueg okvira.
SLIKA 8.9 Tipini format okvira
* Ubudue, kada kaemo broj okvira, mislimo na vrednost koja sc nalazi u polju Number datog okvira.
Source Destination Number ACK Type ...Data... CRC
pristigliokvir oteen, prijernni uredaj ga ignorie i alje NAK za niega.
Prijemni ureai ne alje eksplicitnu potvrdu za svaki primlieni okvir. Ako ureaj
poiljaoca primi potvrdu za okvir j, a kasnije primi potvrdu za okvir k (k >j), on
pretpostavlja da su okviri izmedu njih ispravno primljeni. Tako se redukuje broj
potvrda i proreduje saobraaj na mrei. Naravno, uredaj koji alje potvrde mora da
bude siguran da je ova pretpostavka validna.
Ureaj koristi piggyback pristup svaki put kada je mogue poslati potvrdu za najskorije
primlieni okvir. Meutim, ako se nikakvi okviri sa podacima ne alju u tom periodu,
uredaj mora da poalje zaseban okvir za potvrdu. ACK tajmer se postavlja svaki put
kada stigne okvir sa podacima. On odbrojava unazad i zaustavlja se kada uredaj ima
neke podatke za slanje. Razlog za to je injenica da, kada okvir stigne, za njega mora
da se poalje potvrda u periodu koji je definisan ACK tajmerom. Ako nema odlazeih
okvira, tajmer odbrojava do O. Kada se dostigne vrednost 0 (istek), uredaj alje zasebni
okvir potvrde, umesto piggyback potvrde. Ako uredaj alje okvir sa podacima u vreme
odbrojavanja tajmera, tajmer se zaustavlja, jer potvrda odlazi sa tim okvirima.
Uredaj poiljaoca baferuje pakete iz svih okvira u prozoru u sluaju da ih je neophodno
ponovo poslati. Paketi se uklanjaju iz bafera kada stigne potvrda za njih.
ureai ne primi potvrdu u odredenom periodu, pretpostavlja se da ie neto krenulo
naopako i da jedan, ili vie nereenih okvira nije stigao do svog odredita. Tada se koristi
tajmer okvira, po jedan za svaki okvir, koji se postavlja nakon slanja svakog okvira.
Tajmer okvira odbrojava unazad i zaustavlja se kada stigne potvrda za dati okvir. Ako
tajmer okvira istekne, protokol inicira ponovno slanje svakog okvira u prozoru.
Razlog za slanje svih nereenih okvira je to to prijemni ureaj odbacuje sve okvire sa
pogrenim brojem. Ako je prijemni uredaj dobio prvi okvir iz prozora, uredaj poiljaoca
je dobio potvrdu za njega. Ako nema potvrde, pretpostavlja se da se neto desilo u
meduvremenu. Takoe, smatra se da je prijemni uredaj, ako nije dobio prvi okvir, odba-
cio sve naredne okvire. Zato je neophodno ponovo poslati sve okvire. Ukoliko postoji n
okvira, vraa se na poetak prozora i alje ih ponovo. Odatle naziv go-back-n.
Koliko okvira protokol moe da ima sa nereenom statusom u jednom trenutku? Dmgim reima,
kolika je maksimalna veliina prozora? Ako su okviri numerisani od 0 do 2
K
- 1, veliina prozo-
ra ne moe da bude vea od 2
K
. Ako bi bila vea, postojalo bi vie od 2
K
nereenih_oJbdra. Zato
bi postojali nereeni okviri sa istim brojem. Kada uredaj poiljaoca primi potvrdu sa tim brojem,
ne postoji nain da se utvrdi koji je od dva mogua okvira potvrden. Na primer, pretpostavimo
da je K = 3 i da je prvih devet okvira nereeno. Prvih osam okvira je numerisano sa O do 7.
Poslednji je numerisan kao 0. Ako ureaj poiljaoca primi potvrdu za okvir 0, ne zna da li ta
potvrda odgovara prvom, ili poslednjem okviru.



Na osnovu ovoga, zakljuujemo da veliina prozora mora da bude manja, ili jednaka 2
K
.
Medutim, ako je veliina prozora jednaka 2
K
, nesrena sekvenca dogadaja i dalje moe da izazove
greke u protokolu. Pretpostavite da je K = 3 i razmotrite dogadaje prikazane na slici 8.10.
Pretpostavite da su oba ureaja razmenila okvire pre trenutka ^. U trenutku t, uredaj A alje
okvire 0 do 7 do uredaja B. Ureaj B ih prima ispravnim redosledom i u trenutku t
2
alje
potvrdu za najskorije primljeni okvir, pod brojem 7. Naalost, ova potvrda se gubi negde u toku
prenosa, zbog hardverske, ili softverske greke, ili nekog gremlina na linijama.
Ureaj B ne moe da zna da je potvrda izgubljena i eka na okvir koji sledi iza okvira 7 (okvir 0).
Uredaj A, sa druge strane, ne prima potvrdu i ne zna da li su okviri stigli, ili ne. Pratei protokol,
on inicira ponovno slanje okvira 0 do 7 u trenutku t
3
. U trenutku t
4
uredaj B prima okvir 0.
Problem je to to je ovaj okvir 0 duplikat prethodnog okvira 0. Ali, uredaj B oekuje novi okvir 0
i ne postoji nain da on utvrdi da je primio duplikat. Zato prihvata duplikat kao novi okvir i
dolazi do greke u protokolu.
Problem se javlja zato to dva sukcesivna prozora sadre iste brojeve okvira. Uredaj B ne moe da
zna u kom prozoru se okvir nalazi. Redukovanjem veliine prozora na I mogue je ispraviti ovaj
problem. Na slici 8.11 pokazano je ta se deava ako se slini dogadaji dese kod smanjene
veliine prozora. Ovde uredaj Aalje okvire 0 do 6 u trenutku tl i uredaj B ih sve prima.
SLIKA 8.10 Greka u protokolu kada je veliina prozora jednaka 2K
Slanje okvirz
0do7
Pretpostavlja se da su
okviri izgubljeni i ponovo
se alju okviri 0 i 7.
Uredaj A
lsporuka piggybacl
potvrde je negde
odloena.
Ureaj B
Prijem okvira 0 do 7
ispravnim redosledom
i slanje potvrde za okvir 7
Prijem okvira 0 do 7.
Poto primalac oekuje te
brojeve, prihvata ih kao
ove okvire i ne prepoznaje
ih kao duplikate.
vreme
vreme
U trenutku t
2
ureaj B alje potvrdu za okvir 6 i potvrda se izgubi negde u toku prenosa. Razlika
je u tome to ureaj B sada oekuje okvir 7. Kada A ponovo poalje okvire 0 do 6 (u trenutku t
3
),
oni u B stiu u trenutku t4. Poto ih ne oekuje, B ih ignorie. Eventualno, alje jo jednu
potvrdu, koju A prima (nadamo se).* Ureaj A pomera svoj prozor tako da ukljui okvir 7 i
protokol se nastavlja. Na osnovu ovoga, zakljuujemo da veliina prozora mora da bude manja
od 2
K
, ili e doi do greke u go-back-n protokolu.
Algoritam
Konano smo spremni da predstavimo detaljniji opis go-back-n protokola. Na slici 8.12 pokazan
je parcijalno kodirani C program koji sadri logiku i nazive promenljivih. Slika 8.7 treba da Vam
pomogne da razumete upotrebu promenljivih protokola w i i.
SLIKA 8.11 Uspeno izvreni protokol kada je veliina prozora 2K 1
Uredaj A
Slanje okvira
0 do 6
Pretpostavlja se da su okvir
izgubljeni i ponovo se
alju okviri 0 i 6.
Isporuka piggyback
potvrde je negde
odloena.
Uredaj B
Prijem okvira 0 do 6 ispravni
redosledom i slanje potvrde
za okvir 6
Prijem okvira 0 do 6.
Poto primalac oekuje
okvir 7, ignorie ih.
vreme vreme
#define MAX=2K; /* K = broj bitova u polju frame.number */
#define N=MAX 1; /* N je maksimalna velicina prozora i
najveci broj okvira */
#define increment(x) x=(x+1) % MAX; /* Inkrementiranje x po modulu MAX */
void go_back_N;
{
i nt w=8; /* Prva pozi ci j a u prozoru */
i nt i =0; / * Tekuca pozi ci j a prozora */
i nt IaSt=N; /* Broj okvira poslednjeg primljenog okvi ra */
packettype buf f er MAX ; /* Baf er i za pakete */
while (zemlja se r ot i r a oko svoje ose)
{
ceka se na dogadj aj ;
if (dogadjaj je "paket od korisnika") && (i<J)
{ /* Ako se okvi r uklapa u prozor, sal j e se */
uzimanje paketa od kor i sni ka i smestanje u buf f er [ ( w+i ) % MAX];
konstruisanje okvira sa frame.ack= l ast , frame.type=data i frame.number=(w+i) % MAX;
send(frame);
reset frameti mer(frame.number); /* Definisanje tajmera za ocekivani ACK ovog
okvira */
stop ackt i mer; /* Zaustavljanje ACK tajmera j er je ACK poslat
sa podacima */
i ++; /* Povecavanje vel i ci ne prozora za 1 */
continue; /* Prelazak na krai vvhile pet l j e */
}
if (dogadjaj je "istekao acktiraer")
{ /* Nikakvi okvi r i nisu posl at i u medjuvremenu.
Slanje specijalnog ACK okvi ra */
Konstrui sanj e i sl anj e okvi r a sa frame.type=ack i f r ame. ack=l ast ;
cont i nue;
>
if (dogadjaj je "istekao frametimer")
{ /* Nije primljen ACK u medjuvremenu;
ponovno slanje svi h okvi r a u prozoru */
f or (j=w; j is "izmedju" w and (w+i-1) % MAX; increment(j) )
{
Konstruisanje i slanje okvira podataka kao i rani j e sa paketom iz buffer [ J] ;
reset f rametimer( j ) ; /* Startovanje tajmera za ocekivani ACK ovog
} okvira */
stop ackt i mer; /* Zaustavljanje ACK tajmera; ACK je poslat
conti nue; sa podacima */
}
if (dogadjaj je "stigao osteceni okvir")
{
Konstruisanje i slanje okvira sa frame.type=nack i frame.ack=last i njegovo sl anj e;
stop ackt i mer; /* Zaustavljanje ACK tajmera; ACK je poslat */
cont i nue;
SLIKA 8.T 2 Go-back-n protokol
Kao i ranije, nismo ni pokuavali da navedemo sintaksno ispravan kod, niti smo brinuli o tome
da li se kod moe ispravno kompajlirati. Namera nam je bila da opiemo kako protokol
funkcionie, bez zalaenja u detalje specifine za programski jezik. Vano je zapamtiti da oba
uredaja pokreu kopiju algoritma dok razmenjuju okvire. Naime, svaki uredaj reaguje na
dogadaje koji mu odgovaraju slanjem i primanjem okvira. Paljivo i polako proitajte narednu
diskusiju i algoritam; algoritam je sloen.
Algoritam sadri petlju koja se kontrolie uslovom koji treba da vai u duem vremenskom peri-
odu. Ako uslov postane netaan, dolazi do greke u protokolu. Kako algoritam izvrava petlju, on
reaguje na dogadaje koji se deavaju. Ako se u toku jednog prolaska kroz petlju desi vie
dogaaja, algoritam nasumino bira neki od tih dogadaja i reaguje na njega. Mi ne vodimo
i f (dogadj aj j e " st i ze neost eceni okvi r " )
{ /* Uklanjanje svih okvira "izmedju" w i
frame.ack iz prozora */
recei ve(f rame);
f or (j =w; j is "i zmedj u" w and f r ame. ; i ncr ement ( j ) )
{
i --;
stop f r amet i mer ( j ) ; /* Zaustavljanje tajmera okvi ra; ACK je
} primljen */
w=(frame.ack+1) % MAX;
if (frame.type==data) && (frame.number==((l ast+1) % MAX )
{ /* Ako je okvi r podataka primljen u ni zu,
prenosi se do "gospodara" */
/ * I gnor i su se svi o k v i r i pr i ml j eni van
redosleda */
mcr ement ( l ast ) ;
i zvl acenj e paketa i z okvi r a i prenosenje do kor i sni ka;
i f ackti mer i s not act i ve then
reset ackt i mer; /* Startovanje ACK tajmera za okvi r koj i je
prihvacen */
cont i nue;
}
i f (frame.type==nak)
{ /* ponovno slanje svih baferovanih paketa */
f or (j=w; j is "i zmedj u" w and (w+i -1) % MAX; i ncr ement ( j ) )
{
konstruisanje i slanje okvira podataka kao i rani j e sa paketom iz buffer [ j ] ;
reset f r amet i mer ( j ) ; /* Startovanje tajmera za ocekivani ACK za o\
} okvi r */
stop ackt i mer; /* Zaust avl j anj e ACK t aj mer a; ACK je
cont i nue; posl at sa podacima */
}
if (frame.type==data) && (frame.number!=(l ast+1) % MAX)
{ /* Sl anj e NAK za oceki vani okvi r */
konst rui sanj e i sl anj e okvi r a sa frame.type=nak i f r ame. ack=l ast ;
stop ackt i mer;
} /* Zaustavljanje ACK tajmera; ACK je poslat i
okviru */
} /* kraj dogadjaja "stigao neosteceni okvi r"
J
} / * kr aj whi l e pet l j e */
} /* kr aj go_back_N */
SLIKA 8.12 Go-back-n protokol
' Nain implementacije tajmera nije bitan za nau diskusiju. Moe da postoji interni prekidni takl, ili protokol moe jed-
nostavno da kreira listu zapisa za svaki tajmer, sa vrcmenskim peatom za svaki zapis, a zatim se lista periodino pioverava.
Ove detalje ostavljarao onima koji ele da implementiraju protoko] radi vebanja programiranja.
t Mi smo definisali "izmedu" w i (w+i-1 )%MAX po modulu MAX. Ako je w < (if+i-I)%MAX, "izmedu" ima svoje konven-
cionalno znaenje. Ako Je w > (w+i-l)%MAX, "izmedu" ukljuuje brojeve od w do MAX - 1 i 0 do (ui+i-1 )%MAX. Na primer,
preipostavimo da je MAX =16. Ako Je w =3 i (w+i-l) % 6 = 12, "izmedu" znai vrednosti od 3 do 12, zakljuno. Ako je w -
12 i ( W- I ) % 6 = 3, "izmedu" znai vrednosti 12, 13, 14, 15, 0, 1, 2 i 3.
rauna o tome kako se taj lzbor vrl - to zavisi od sistema. Moguce je da ce reagovati na druge
dogadaje kroz naredne prolaske kroz petlju.
Sa svakim prolaskom kroz petlju, uredaj eka da se desi neki dogadaj. Sledi pet dogadaja i
reakcija protokola na njih:
1. Korisnik je isporuio paket. Ako je veliina prozora (i) sa maksimalnom veliinom
(AT), nita se ne deava i dogaaj eka dok se veliina prozora ne smanji. Ako Je
veliina prozora manja od N, protoko] kreira okvir sa podacima koji sadre paket.
Takode, definie piggyback potvrdu poslednjeg poslatog okvira (f rame.ack = l ast ) i
definie broj okvira kao (frame.number = (w + 1) % MAX, gde je MAX = 2
K
). Izraz
(w + 1) % MAX takode definie i bafer u kome je paket smelen. Nakon baferovanja
paketa i slanja okvira, veliina prozora se inkrementira za 1 (++) i resetuje se odgo-
varajui tajmer okvira. Takode, zaustavlja se ACK tajmer. ACK tajmer, kao to je
prethodno objanjeno, detektuje dugake periode vremena u kojima se ne alju
nikakvi okviri. im se poalje neki okvir, ACK tajmer se zaustavlja. Tajmer okvira treba
da detektuje dugaki period u kome naznaeni olcvir nije potvren. Resetovanjem
tajmera podnjemo odbrojavanje."
2. ACK tajmer je istekao. Kada nisu poslati nikakvi okviri sa podacima, drugi uredaj ne
prima nikakve piggyback potvrde. Da bi se drugi ureaj obavestio o tome ta je tekui
uredaj primio, protokol alje specifini okvir potvrde kada ACK tajmer istekne.
Njegova namena je da potvrdi najskorije primljeni okvir (f rame.ack=last).
3. Tajmer okvira je istekao. Ako protokol nije primio potvrdu ve due vremena, moda je
neto "krenulo naopako". Moda su potvrde izgubljene, ili su izgubljeni okviri u tekuem
prozoai. Poto protokol ne zna ta se desilo, on pretpostavlja najgori sluaj i ponovo alje
sve okvire izprozora ("izmedu"t bafer je izmedu wi (w + i 1) % MAX). Takode,
resetuje sve tajmere okvira kako bi se obezbedilo dovoljno vreme da poslati okviri stignu
do svojih odredita i da se vrate njihove potvrde, pre nego to se donese zakljuak da se
ponovo neto desilo sa njima u toku prenosa. Na kraju, zaustavlja se ACK tajmer, jer je
poslata i piggyback potvrda.
4. Stigao je oteeni okvir. Oteeni okvir se ignorie. Ako je oteeni okvir bio oekivani,
protokol eventualno ignorie sve naredne. Zato protokol mora da obavesti drugi
ureaj da je dolo do problema, tako da moe da poalje sve svoje baferovane okvire.
Formati okvira su slini i okviri se numeriu pomou K-bitnog polja (videti sliku 8.9).
Poiljalac ima prozor defmisan maksimalnim brojem nereenih okvira.
Protokol selektivne retransmisije uvek alje potvrdu zajedno sa novim podacima, ako
je to mogue, i ne izdaje eksplicitne potvrde za sve okvire. Ako je okvir potvren,
uredaj poiljaoca smatra da su primljeni i svi okviri pre njega.
Protokol koristi NAK okvire za sve oteene okvire, ili okvire koji su stigli van redosleda.
Koristi tajmere za slanje specijalnih potvrda za okvire u periodima slabog saobraaja i
za ponovno slanje okvira koji nisu potvrdeni due vremena.
Protokol selektivne retransmisije je slian go-back-n protokolu na sledee naine:
Karakteristike
Protokol ovo izvodi slanjem okvira tipa NAK. Uredaj je poslao ACK za poslednji
ispravno primljeni okvir i zaustavlja ACK tajmer.
5. Stigao je neoteeni okvir. Ovo je najsloeniji deo protokola. Prvo to protokol radi
jeste prijem okvira. Zatim proverava da li je uz njega poslata i piggvback potvrda i
uklanja sve okvire na koje se eventualna potvrda odnosi. To se postie smanjivanjem
veliine prozora za 1 za svaki okvir "izmedu" w i f rame. ack. Takode, zaustavlja tajrnere
okvira za potvrdene okvire. Nakon toga, redefmie poetak prozora (w) kako bi se loci-
rao prvi okvir koji nije potvren: (frame.ack + 1) % MAX.
Ako okvir sadri podatke, protokol utvrduje da li je to oekivani okvir ( ( l ast + 1) %
MAX). Zapamtite, promenljiva l ast predstavlja najskorije primljeni okvir. Dakle, broj
iza njega je oekivani okvir. Ako je primljeni okvir oekivani, protokol izvlai paket i
daje ga korisniku. Takoe, uveava vrednost promenljive last, tako da se pamti novi
okvir koji je najskorije primljen. Zatim se postavlja ACK tajmer, koji definie vreme u
okviru koga treba da stigne potvrda.
Ako je okvir tipa NAK, protokol ponovo alje sve okvire iz prozora, kao da je istekao
tajmer svih okvira. Ako se u okviru nalaze podaci, ali to nije oekivani okvir, protokol
ga ignorie, ali alje NAK okvir.
8.5 Selektivna retransmisija: Protokol klizajucih prozora
Protokol go-back-n dobro funkcionie, posebno preko pouzdanih medijuma. Ukoliko u retkim
situacijama dode do gubljenja, oteenja, ili kanjenja okvira, pretpostavka da su stigli ispravnim
redosledom kojim su i poslati obino je tana. U nekoliko sluajeva kada postoji problem,
ponovnim slanjem svih nereenih okvira gubi se malo vremena. Kako se pouzdanost smanjuje,
dodatni trokovi ponovnog slanja kompletnog prozora zbog jednog oteenog okvira, ili okvira
koji stie van redosleda postaju preterani. Ovde se namee logino pitanje zato se ne dopusti
prijemnom ureaju da prihvati okvire van redosleda i da ih sortira kada svi stignu. Odgovor je
omoeuen sledeim protokolom klizajuih prozora, nazvanim selektivna retransmisija.
Ovde prestaju slinosti. Verovatno najuoljivija razlika je to to protokol selektivne retransmisije
definie dva prozora, po jedan i za predajnu i za prijemnu stranu protokola (slika 8.13). Tako,
svaki uredaj koji koristi protokol selektivne retransmisije ima i predajni i prijemni prozor. Prozor
na strani poiljaoca je isti kao kod go-back-n protokola. On definie koji okviri mogu da budu
nereeni.
Prijemni prozor definie koji okviri mogu da se prime. Kao i kod prozora poiljaoca, okviri u
prijemnom prozoru su numerisani sukcesivno (mod 2
K
, gde je K = broj bitova koji se koriste za
brojeve okvira). Dakle, prijemni uredaj ne mora obavezno da prima okvire istim redosledom.
Okvir koji stie van redosleda moe da se primi sve dok pripada istom pozoru. Medutim, setiete
se da je deo odgovornosti protokola i isporuka paketa do korisnika sa ispravnim redosledom.
Zato protokol mora da baferuje svaki okvir u prozoru. Okviri koji stiu van redosleda se
baferuju sve dok ne stignu njihovi prethodnici. Nakon toga, protokol moe da ih isporui u
tanom redosledu.
Sledi lista daljih razlika izmedu selektivne retransmisije i go-back-n protokola, zajedno sa reago-
vanjern protokola sa selektivnom retransmisijom.
Ako se pristigli okvir rtalazi u prijemnom prozoru, on se baferuje. Medutim, ne daje se
korisniku sve dok ne stignu svi njegovi prethodnici (u granicama prozora). Tako, svaki
put kada se okvir baferuje, protokol proverava slotove prozora pre dolaska novog
okvira. Ako sadre pakete, protokol ih isporuuje korisniku i pomera prozor unapred.
Svaki put kada stigne okvir van redosleda, protokol alje NAK za okvir koji je oeki-
vao. Razlog za to je injenica da okvir van redosleda signalizira da se neto desilo sa
oekivanim okvirom. NAK obavetava poiljaoca o moguem gubitku. Zapamtite da,
sve dok se primljeni okvir nalazi u prozoru, on moe da bude prihvaen.
SLIKA 8.13 lanje i primanje prozora za protokol selektivne retransmisije
Brojevi okvira
Prozor koji se alje
Prozor napreduje kako
stiu potvrde za okvire.
Odlazei okviri
Dolazei okviri
Prozor napreduje
kako se okviri
primaju.
Primljeni prozor - svi okviri
iz ovog prozora mogu
biti prihvaeni
[ / Ako istekne vreme za potvrdu okvira, ponovo se alju samo okviri iji su tajmeri
istekli. Kod go-back-n protokola inicira se slanje svih nereenih okvira. Kod selektivne
retransmisije prijemni uredaj je moda primio druge okvire i, osim ako nije isteklo
njihovo vreme za potvrdu, nema potrebe za njihovim ponovnim slanjem.
"" Ako protokol primi NAK, ponovo alje naznaeni okvir. Go-back-n ponovo alje sve
nereene okvire. Razlog za slanje samo jednog okvira je isti kao i sluaju isteka tajmera
za okvir.
J
Piggyback potvrda ne mora da se odnosi na najskorije primljeni okvir. Umesto toga,
moe da potvrdi okvir koji je primljen pre onog koji se nalazi na poetku prijemnog
prozora (tj. poslednjeg isporuenog korisniku). Ako bi se potvrdio najskorije primljeni
okvir, uredaj poiljaoca ne bi mogao da zakljui da su primljeni i prethodni okviri.
Zapamtite, najskoriji okvir moe da stigne i van redosleda. Efektivno, to bi uvelo
potrebu izdavanja potvrda za sve okvire. Potvrivanjem okvira koji je poslednji
isporuen korisniku omoguava se ureaju poiljaoca da zakljui da su prethodni
okviri isporueni i, samim tim, primljeni. Ponovo, rezultat je manji broj potvrda.
Kod go-back-n algoritma smo videli da su postojala ogranienja u veliini prozora. Specifino,
veliina prozora je morala da bude strogo manja od 2
K
, ili je moglo da dode do greke u pro-
tokolu zbog odredenih dogadaja. Ogranienja mogu da postoje i kod protokola selektivne
retransmisije. Pretpostavimo da je maksimalna veliina prozora na predajnoj i prijemnoj strani
jednaka. U tom sluaju, za oba vai ogranienje da moraju da budu manji, ili jednaki polovini
od 2^ . 2*-
1
) .
Da bismo videli ta bi se desilo u suprotnom, razmotrimo par primera. U oba primera emo
koristiti JC = 3, tako da je 2
K
= 8. U prvom primeai pretpostavljamo da uredaj poiljaoca ispunja-
va ogranienje i da ima maksimalnu veliinu prozora 4. Ali, razmotrimo ta se deava ako je
prozor na prijemnoj strani vei, recimo 5 (slika 8.14).
U trenutku tl uredaj Aalje maksimalni broj okvira, od O do 3. Poto ureaj B ima prozorveliine
5, moe da prihvati sve okvire numerisane od O do 4, zakljuno. U trenutku t
2
B prima okvire 0
do 3. Poto se nalaze u prozoru, prihvataju se i prenose do korisnika. Nakon toga, B pomera
prozor, tako da ukljuuje okvire 4, 5, 6, 7 i 0.
U meuvremenu, potvrda koju B alje je izgubljena. Eventualno, A vie ne moe da eka i pret-
pOvStavlja da je neto "krenulo naopako". U skladu sa protokolom, A ponovo alje okvire 0 do 3
(trenutak t
3
). Poto se okvir 0 nalazi u prijemnom prozoru, B ga prihvata (trenutak t
4
), ne shvata-
jui da je to duplikat prethodnog okvira 0. Dolazi do greke u protokolu.
Slian problem moe da se desi ako veliina prijemnog prozora ispunjava ogranienje, ali ne i
veliina prozora na stani poiljaoca. Na primer, pretpostavimo da je ovoga puta prozor kod A
veliine 5, a da je veliina prozora kod B 4 (slika 8.15). U trenutku I
1
A alje okvire 0 do 4. Poto
je veliina prozora kod B 4, on moe da prihvati samo okvire 0 do 3.
SLIKA 8.15 Greska u protokolu: Veliina prozora na strani poiljaoca je vea od 2
K
''
Potvrda je izgubljena.
Uredaj A
Slanje okvira
0 d o 3
Pretpostavlja se da su
okviri izgubljeni i ponovo
se alju okviri 0 i 3.
vreme
vreme
Uredaj B
Prijem okvira 0 do 3;
pomeranje prozora tako
da se ukljue okviri
4, 5, 6, 710
Prijem okvira 0 i pogreno
se pretpostavlja da Je
to novi okvir
SLIKA 8.14 Greka u protokolu: Veliina prijemnog prozora je vea od 2
K
~'
Pretpostavlja se da su
okviri izgubl/eni i
ponovo se alju
okviri 0 i 4.
Slanje okvira
0do4
Uredaj A
Potvrda je izgubljena.
vreme
Uredaj B
Prijem okvira 0 do 3 i pomeranje
prozora tako da se ukljue okviri
4 do 7. Prima se okvir 4 i alje se
potvrda do A. Prozor se ponovo
pomera kako bi ukljuio okvire
5, 6, 7 i 0.
'rijem okvira 0 i pogreno se
^retpostavlja da Je to novi okvir.
vreme
Ali, pretpostavimo da okvir 4 kasni. U meduvremenu stiu okviri 0 do 3 i oni se prihvataju
(trenutak t
2
). B pomera svoj prozor kako bi ukljuio okvire 4 do 7.
Kada okvir 4 eventualno stigne, nalazi se unutar novog prozora i on se prihvata. Prozor se ponovo
pomera i sada ukljuuje okvire 5, 6, 7 i 0. U ovoj taki B alje neto do A sa ukljuenom potvrdom.
Ponovo se deava isto kao kod prethodne potvrde. A se ponovo "umara", ekajui i ponovo alje
okvire 0 do 4 (trenutak t
3
). Okviri se konano probijaju (nema gremlina) i, poto se okvir 0 nalazi
unutar prijemnog prozora, prihvata se (trenutak ti). B ponovo ne prepoznaje da je re o duplikatu
prethodnog okvira 0 i dolazi do greke protokola.
Svaki od ovih problema moe da se ispravi izjednaavanjem veliine oba prozora na 4. LI stvari, ovim
problemi mogu da se eliminiu i biranjem prozora veliine 5 i 3, umesto 5 i 4 (ili 3 i 5, umesto 4 i
5). Problem se javlja kada se prijemni prozor pomera do take u kojoj ukljuuje nove okvire sa bro-
jevima koji ve postoje u prozoru poiljaoca. Ovo moe da se desi kada je suma veliina prozora vea
od 2
K
(ukupan broj razliito numerisanih okvira). Redukovanjem veliina prozora to se nee desiti i
tako smo eliminisali problem. Obino se koriste prozori iste veliine (2
K1
).
Algoritam
Na slici 8.16 prikazan je delimino C-kodirani program za protokol selektivne retransmisije.
Dizajniran je slino go-back-n protokolu po tome to neprestano izvrava petlju, reagujui na
dogaaje koji se deavaju. Prozori na obe strane su iste veliine, N = 2
KA
.
Algoritam ima nekoliko dodamih promenljivih kojih nema u algoritmu za go-back-n. Osim bafera
kod poiljaoca (sbuf f er), postoji bafer i na prijemnoj strani (rbuf f er). Poto su oba prozora veliine
N
1
oba bafera su definisana tako da mogu da prihvate N elemenata. Tako se stvara jo jedna razlika
u odnosu na go-back-n algoritam. Kod go-back-n algoritma paketi se smetaju u slotove bafera sa bro-
jevima okvira kao subscriptima. Ovde postoji dva puta vie okvira nego to bafer ima slotova. Da bi
se izbegao preterani broj bafera, subscript bafera je jednak broju okvira mod N.
Sledea promenljiva koje nije bilo u ranije algoritmu jeste statusni niz. Poto se pristigli okviri
baferuju nasuminim redosledom, koristimo statusni niz za utvrivanje da li je slot bafera
prazan. Vrednost st at us [i] = 1 znai da bafer pod brojem i sadri paket. Vrednost 0 znai da
je prazan.
Kako algoritam prolazi kroz petlju, tako reaguje na dogaaje koji se deavaju. Ovde navodimo
listu dogadaja i reakcija na njih. Zbog slinosti sa go-back-n protokolom, ovde neemo detaljno
diskutovati sve korake. Koncentrisaemo se samo na one delove koji se razlikuju u odnosu na
go-back-n.
1. Korisnik ima isporueni paket. Protokol reaguje u veoj meri isto kao i go-back-n
protokol. Ako je veliina prozora na strani poiljaoca postavljena na maksimalnu Vred
nost, nita se ne deava. U suprotnom, paket se baferuje, kreira se okvir, a zatim se
okvir alje. Takode, uz paket korisnik ukljuuje i potvrdu za okvir koji je poslat pre
onog na poetku prijemnog prozora (frame.ack = prior(rw)). Makro pod nazivom
priorvri oduzimanje 1 po modulu 2
K
. Za razliku od makroa increment, ne menja
promenljivu koja mu je preneta.
#defi ne MAX=2
K
; /* K = br oj bi t ova u pol j u frame.number */
#define N=MAX/2; /* N je maksimalna vel i ci na prozora posi l j aoca,
stvama velicina prijemnog prozora i broj bafera */
#defi ne i ncrement (x) x=(x+1) % MAX; /* I nkr ement i r anj e x po modulu N */
#define pr i or (x) (x==0 ? MAX-I : x- 1) / * Vraca c e l i br oj pre x mod N */
voi d sel ect i ve_r epeat
{
i nt frame_no=0; /* Odrzava brojeve okvi ra za odlazece okvi re */
i nt sw=0; / * Prva pozi ci j a u prozoru posi l j aoca */
i nt rw=0; / * Prva pozi ci j a u prozoru primaoca */
i nt i =0; / * Tekuca pozi ci j a u prozoru posi l j aoca */
packettype sbuf f er [ N] ; / * Baf er i za pakete kod posi l j aoca */
packettype r buf f er [ N] ; /* Baf er i za pakete kod primaoca */
i nt st at us[ N] ; / * Status okvi r a u prijemnom pr ozor u. 1
znaci da je st i gao; 0 znaci da ni j e */
whi l e (Pakao ni j e zamrznut)
{
ceka se na dogadj aj ;
if (dogadjaj je "paket od korisnika") && (i<N)
{ /* Ako se okvi r uklapa u prozor, sal j e se *
;
uzimanje paketa od kor i sni ka i smestanje u sbuf f er [ ( sw+i ) % N] ;
konst r ui sanj e okvi r a sa frame.ack= pr i or ( r w) , frame.type=data i
frame.number=framej i o;
send(frame);
i ncrement (f rame_no); / * Def i ni sanj e br oj a sledeceg odlazeceg
okvi r a */
reset frametimer(frame.number); /* Definisanje tajmera za ocekivani ACK
ovog okvi ra */
stop ackt i mer; /* Zaust avl j anj e ACK t aj mera; ACK je posl at
sa podacima */
i ++; /* Povecavanje vel i ci ne prozora posiljaoca za
1 */
cont i nue; / * Prel azak na kr aj whi l e pet l j e */
}
if (dogadjaj je "istekao acktimer")
{ /* Nikakvi okvi r i nisu posl at i u medjuvremenu.
Slanje speci j al nog ACK okvi r a */
Konstruisanje i slanje okvira sa frame.type=ack i frame.ack=prior(rw);
cont i nue;
}
i f (dogadjaj j e "istekao frametimer")
{ /* Ni j e primljen ACK u medjuvremenu; ponovno
slanje okvi r a */
f n = br oj okvi r a k o j i odgovara t aj mer u;
Konstruisanje i slanje okvira podataka kao i ranije sa paketom iz sbuffer fn % N ;
reset f r amet i mer ( f n) ; /* St art ovanj e taj mera za oceki vani ACK ovog
stop ackt i mer; okvl r a */
cont i nue; /* Zaustavljanje ACK tajmera; ACK je poslat */
}
i f (dogadjaj j e "stigao osteceni okvi r")
{
Konstruisanje i slanje okvira sa frame.type=nack i frame.ack=prior(rw);
njegovo sl anj e;
stop ackt i mer; /* Zaustavljanje ACK tajmera; ACK je poslat */
cont i nue;
}
i f (dogadjaj j e "sti ze neosteceni okvi r")
{ /* Uklanjanje svih okvira "izmedju" sw i
frame.ack iz prozora posiljaoca */
r ecei ve( f r ame) ;
f or (j =w; j is "i zmedj u" sw and f rame. ack; i ncr ement ( j ) )
{
i - - ;
stop f r amet i mer ( j ) ; /* Zaustavljanje tajmera okvira; ACK je primljen */
}
Sw=(frame.ack+1) % MAX;
if (frame.type==data) && (frame.number I= rw)
{
konstruisanje okvira sa frame.type=nak i frame.ack=prior(rw) i njegovo sl anj e;
stop ackt i mer; /* Zaustavljanje ACK tajmera; ACK je poslat */
}
if (frame.type==data) && (frame.number is in pr i j emni prozor) &&
(status[frame.number % N]==0)
{ /* Ako je okvi r u prozoru i jos ni j e sti gao,
baferuje se */
i zvl acenj e paketa iz okvi r a i post avl j anj e u r buf f er frame.number % N ;
status[frame.number % N] =1;
f or (; st at us[ r w % N)==1; i ncrement(rw) )
{ /* Uzimanje pr i ml j eni h paketa smestenih u
sukcesivnim slotovima prozora za korisnika */
i zvl acenj e paketa i z r buf f er [ r w % N] i davanje kor i sni ku;
st at us[ r w % N]=0
}
reset ackt i mer; /* Startovanje ACK tajmera za okvire koj i su
} prihvaceni*/
if (frame.type==nak) && (framenum=(frame.ack+1) % MAX is in prozor
posi l j aoca)
{ /* Ponovno sl anj e okvi r a koga pri j emna
st ani ca ocekuje da pr i mi */
konst r ui sanj e i sl anj e okvi r a sa paketom iz sbuffer[framenum % N] ;
reset frametimer(framenum % N); /* St art ovanj e taj mera za oceki vani ACK
stop ackt i mer; za ovaj okvi r */
cont i nue;
} /* Zaust avl j anj e ACK t aj mer a; ACK je posl at
sa podacima */
}
}
}
SLIKA 8.16 Protokol selektivne retransmisije
2. ACK tajmer je istekao. Protokol alje ACK okvir potvrde za okvir pre onog koji se
nalazi na poetku prijemnog prozora.
3. Istekao je tajmer okvira. Umesto da se ponovo alju svi nereeni okviri, protokol alje
samo okvir koji odgovara tajmeru koji je istekao. Nain utvrivanja okvira zavisi od
toga kako su tajmeri implementirani. Kao i ranije, mogli su da postoje prekidni
mehanizam koji identifikuje brojeve okvira, ili neka lista sa vrednostima perioda i
brojevima okvira.
U odeljku 8.3 analizirani su neogranieni i stop-and-wait protokoli i pokazano je da na protokol
moe da utie stvarna koliina podataka koja se prenese u jedinici vremena (efektivna brzina
prenosa podataka). Videli smo da efektivna brzina prenosa podataka zavisi i od izvorne bitske
brzine, rastojanja izmeu uredaja, veliine okvira i dmgih faktora. Kompletna analiza protokola
klizajuih prozora je mnogo tea, jer i drugi faktori utiu na efektivnu brzinu prenosa podataka.
Medu te faktore ubrajaju se uestalost gubljenja, ili oteenja okvira, vrednosti tajmera koje se
koriste za utvrdivanje potrebe za slanjem specijalnih ACK okvira i broj okvira sa podacima koji
"putuje" u suprotnom smeru sa ukljuenom potvrdom.
Analizu protokola klizajuih prozora dajemo sa odreenim pretpostavkama. Pretpostaviemo da
nema izgubljenih, ili oteenih okvira. Takode, pretpostavljamo konzistentan saobraaj u oba
smera kako bi se maksimalno koristile piggyback potvrde. Zahvaljujui toj pretpostavci, moemo
da zanemarimo ACK tajmere, jer nee biti korieni. Ako ste zainteresovani za kompletnu
analizu protokola klizajuih prozora, pogledajte reference [Ta96] i [Wa91].
Ako su sve "stvari" iste, efektivna brzina prenosa podataka za klizajui prozor treba da se nae
negde izmedu brzine za neogranieni i stop-and-wait protokol. Ali, koju efektivnu brzinu
moemo da oekujemo od protokola klizajuih prozora? Kako na nju utie veliina prozora?
4. Stie oteeni okvir. Protokol alje NAK okvir sa potvrdom za okvir koji je prethodio
okviai smetenom na poetak prijemnog prozora.
5. Stie neoteeni okvir. Nakon prijema okvira, protokol iz prozora uklanja sve okvire
koji su potvrdeni. Ako okvir sadri podatke, protokol proverava da li stigli pravilnim
redosledom. Drugim reima, da li je broj okvira jednak broju koji odgovara poetku
prijemnog prozora? Ako nije, nazad se alje NAK okvir.
Zatim, protokol proverava jo dva uslova: da li je primljeni okvir u prozom i da li njegov paket
jo uvek nije baferovan. Paket je mogao da bude baferovan ako je okvir stigao ranije, ali je
njegova potvrda (ACK) kasnila do uredaja poiljaoca. U tom sluaju, za okvir je isteklo vreme i
protokol bi inicirao njegovo ponovno slanje. Proverom vrednosti status[frame.number % N]
izbegava se dodatni posao izvlaenja paketa koji je vebaferovan.
Ako su oba uslova ispunjena, paket se izvlai i smeta u bafer. Zatim, protokol utvrduje da li
moe da pomeri napred prijemni prozor i da isporui pakete do korisnika. U tu svrhu proverava
sukcesivne pozicije u nizu status. Zaustavlja se kada pronade prvi prazan slot u prozoru.
Konano, ako je okvir tipa NAK, protokol prouava vrednost u f rame.ack. Kada se poalje NAK
okvir, u polju frame.ack nalazi se broj okvira koji prethodi onome koji se nalazi na poetku
prijemnog prozora. Ovo znai da se neto desilo i da prijemni protokol nije dobio okvir koji je
oekivao ((f rame.ack+1) % MAX). Ako je ovaj okvir i dalje u prozoru poiljaoca, protokol mora
da ga poalje. Moete li da konstruiete scenario u kome se ovaj okvir ne nalazi u prozom
poiljaoca?
8.6 Efikasnost protokola klizajuih prozora
Seate se sledeih definicija iz odeljka 8.3 i vrednosti koje su koriene u primeru:
R = bitska brzina (10 Mbps, ili 10 bitova/nsec)
S = brzina signala (200 metara/|isec)
D = rastojanje izmedu poiljaoca i primaoca (200 metara)
T = vreme potrebno za kreiranje jednog okvira (1 nsec)
F = broj bitova u okviru (200)
N = broj bitova podataka u okviru (160)
A = broj bitova u potvrdi (40)
Dodajmo jo jednu promenljivu u ovu listu:
W = veliina prozora (4 okvira)
Za poetak, razmotriemo dva mogua sluaja kod protokola klizajuih prozora. Prvi je kada pro-
zor poiljaoca nikada ne dostie svoju maksimalnu veliinu. To se deava kada prva potvrda stie
pre nego to se poalju svi okviri iz prozora. Ako se to desi i uz pretpostavku da nema kanjenja
na drugom kraju, poiljalac nikada ne mora da eka na potvrdu. Drugim reima, stari okviri se
uklanjaju iz prozora istom brzinom kojom se u njega dodaju novi. Zato se protokol poiljaoca
ponaa kao neogranieni protokol,
U drugom sluaju, kada su svi W okviri poslati i prva potvrda jo uvek nije stigla (slika 8.17),
protokol mora da eka na njega. Kada potvrda stigne, protokol moe da poalje novi okvir. Ako
potvrde stiu istom brzinom kojom se okviri sa podacima alju, poslae se jo W okvira pre nego to
protokol bude morao ponovo da eka. Drugim reima, protokol alje W okvira, eka na prvu
potvrdu, alje jo W okvira, eka na potvrdu i tako redom. Sada protokol podsea na stop-and-wait
protokol. Meutim, umesto da alje i eka individualne okvire, on alje prozor ispunjen okvirima.
Matematiki, ova dva sluaja mogu da se razlikuju poredenjem vremena za slanje W okvira sa
vremenom potrebnim da se poalje jedan okvir i da se primi potvrda. Na osnovu jednaine 8.1,
vreme potrebno za kreiranje i slanje jednog okvira je T + F/R. Tako je vreme potrebno za slanje
W okvira W x (T + F/R). Na osnovu jednaine 8.2, vreme potrebno za slanje jednog okvira i
prijem potvrde (uz pretpostavku da se potvrda odmah vraa) je 2(T + D/S) + (F + A)/R = 2(T +
D/S) + 2F/R = 2(T + D/S + F/R). U ovoj jednaini smo zamenili F za A
1
jer se potvrde alju u
okvirima sa podacima (veliine F), umesto da se alju posebni ACK okviri (veliine A).
Tako imamo
1 sluaj (neogranieni protokol):
2 sluaj (prozoru orijentisani stop-and-wait):
efektivna brzina prenosa podataka
tokol)
(prozoru orijentisani stop-and-wait pro-
Efektivna brzina prenosa podataka za sluaj 2 je izvedena na osnovu formule 8.4. Ova jednaina
je izvedena pod pretpostavkom da je poslat samo jedan okvir. Poto mi sada aljemo W okvira
za isto vreme, menjamo N sa W x N. Uz zamenu A sa F, dobijamo
Poto nae proste vrednosti ispunjavaju uslov u sluaju 1, efektivna brzina prenosa podataka
iznosi
efektivna brzina prenosa podataka (neograniena verzija)
U prvom sluaju, na osnovu jednaine 8.3, imamo
SLIKA 8.17 Slanje svih okvira iz prozora i ekanje
S obzirom na to da nae vrednosti ne ispunjavaju uslov u sluaju 2, njihovom zamenom u ovoj
jednaini ne bismo dobili smisaoni rezultat. Ako povecamo rastojanje (D) sa 200 metara na
5.000 metara, vrednosti e ispuniti uslov sluaja 2. Sa tim vrednosima dobijamo
efektivna brzina prenosa podataka
8.7 Tanost protokola
U prethodnom odeljku smo predstavili neke protokole i uslove pod kojima mogu ispravno da
funkcioniu. Primeujete da kaemo "mogu da funkcioniu". Ovo je svakako neophodno, jer jo
uvek nismo dokazali da stvarno funkcioniu. Obezbeivanje formalnog dokaza, ili verifikacije
funkcionisanja protokola je veoma teko i zato takve dokaze ostavljamo nekim naprednijim
kursevima za dizajn protokola. U ovom odeljku uvodimo dve osnovne alatke za verifikaciju.
Konani automati
Vei deo onoga to smo smatrali kontinuelnim, ili analognim u stvari je kolekcija zasebnih, ili
diskretnih dogadaja. Kao najee primenjivani primer mogu da poslue pokretne slike. Dok jedemo
kokice, pijemo sokove, proteemo se i zevamo, akcija koju gledamo na ekranu deluje kao teno, ili
kontinuelno kretanje. U stvarnosti, re je o brzom prikazivanju slika koje se prikazuju kroz proje-
ktor. To omoguava da vidimo film na novi nain, kao kolekciju individualnih slika. Ovo nije
najpoeljniji nain za gledanje nekih klasika, ali to je upravo nain na koji ljudi koji rade na filmu,
kao to su tehniari za specijalne efekte, moraju da vide taj film. Oni vide sekvencu slika koje e biti
podeljene, iseene, ili izmenjene kako bi se postigao odgovarajui efekat.
I kompjuterski algoritmi mogu da se posmatraju kao sekvence "slika". Kompjuteri koji ih
izvravaju predstavljaju digitalne uredaje. Njihove akcije se kontroliu i sinhronizuju internim
taktom i voeni su programima koje pokreu. Svaki impuls takta defmie novi set internih
vrednosti i za krai period (duina impulsa takta) nita se ne menja. U sutini, cela arhitektura je
"zamrznuta" u vremenu i kolekcija internih vrednosti definie sliku stanja automata. Te
vrednosti se menjaju sa sledeim impulsom takta, defmiui novo stanje automata. Ovaj proces
se neprestano izvrava, definiui sekvencu stanja automata.
Slino tome, algoritam moe da se posmatra kao sekvenca stanja. Svako stanje je definisano
delimino vrednostima programskih prornenljivih u jednom trenutku. Teorijski, moemo da
kategorizujemo (izlistamo) sva mogua stanja i dogadaje koji mogu da izazovu promenu sa
jednog stanja u drugo. Termin konani automat (finite state machine), koji se ponekad naziva i
model konanog stanja, odgovara ovoj kategorizaciji. Dogadaj koji izaziva promenu stanja nazi-
va se prelazno stanje.
Posmatranje algoritma na diskretni nain omoguava predstavljanje algoritma preko grafa koji se
naziva dijagram prelaza stanja (STD - state transition diagram). Seate se da se usmereni graf
sastoji od niza temenih taaka (verteksa) i ivica. Svaki verteks predstavlja stanje i obino je
vizuelno predstavljen takom, ili kmgom.
SLIKA 8.18 OpUi dijagram prelaza stanja
1. Slanje okvira O
2. Prijem okvira 0; slanje ACK 0
Svaka ivica je uredeni par verteksa i obino se vizuelno predstavlja strelicom od prvog verteksa do
drugog. Preko teorije grafova moerao da analiziramo dijagram prelaza stanja i moemo da
izvedemo zakljuke o dostupnosti odredenih stanja, ili moguih sekvenci dogadaja (prelaza).
Na slici 8.18 prikazan je dijagram prelaza stanja. Ima est razliitih stanja, a strelice pokazuju
mogue prelaze. Na primer, ako je sistem trenutno u stanju Sl, mogua su tri dogadaja: jedan koji
izaziva prelazak u stanje S
2
, a druga dva izazivaju prelaske u stanje S
4
, ili S
5
.
Analiziranjem grafa moemo da donesemo zakljuke o sistemu koji je predstavljen grafom. Na
primer, primeujete da nema ivica koje ukazuju na stanje S
1
. To znai da nema prelaza u stanje
S
1
. Ako ovaj graf prestavlja algoritam dizajniran za reagovanje na dogadaje, ovo opaanje moe
da ukae na nedostatak u logici algoritma. Naime, algoritam ne reaguje ni na jedan dogadaj koji
bi ga odveo u stanje S
1
. Ako je ovo u suprotnosti sa onim to znamo o sistemu, detektujemo
nedostatak.
Ovaj graf pokazuje jo jedan potencijalni problem. Pretpostavimo da se desi dogadaj koji izaziva
prelazak u stanje S
5
. On moe da reaguje samo na dogadaje koji izazivaju prelazak u stanje S
6
.
Kada se nade tu, moe samo da se vrati u stanje S
5
. Drugim reima, kada ovaj model jednom
dospe u stanje S
5
ili S
6
, ostae u jednom od ta dva stanja zauvek. To moe da odgovara
beskonanoj petlji, ili samrtnom zagrljaju (deadlock), ekanju na dogadaj koji se nikada nee
desiti. Kao i u prethodnom sluaju, ovo najverovatnije predstavlja propust u algoritmu.
STD za pojednostavljeni go-back-n protokol
Kako se ovaj dijagram moe primeniti na konkretni protokol? Najpre emo razmotriti go-back-n
protokol kod koga je veliina prozora na strani poiljaoca 1 i polje Frame Number je 1-bitno.
Pretpostavljamo da nema pauza, niti greaka u toku prenosa, da svi podaci idu samo u jednom
smeru (od poiljaoca do primaoca) i da primalac alje potvrdu za svaki primljeni okvir. U sutini,
to je stop-and-wait protokol sa brojevima okvira. Deavaju se sleded dogadaji:
3. Prijem ACK O; slanje okvira 1
4. Prijem okvira 1; slanje ACK 1
5. Prijem ACK 1; slanje okvira 0
Kod ovog protokola moemo da razlikujemo etiri stanja. Oznaena su ureenim parovima
(x, y) na slici 8.19. Vrednost x je ili O, ili 1, u zavisnosti od ACK broja na koji poiljalac eka.
Slino tome, y je Oi 0, ili 1, u zavisnosti od broja okvira koga primalac oekuje. Stanje (0, 0) znai
da je poiljalac poslao okvir 0 i da oekuje potvrdu. Takode, znai da primalac oekuje okvir 0.
Dolazak okvira 0 je dogaaj koji izaziva prelazak iz stanja (0, 0) u (0, 1). Primalac je primio okvir
0, poslao je potvrdu i sada oekuje okvir 1. Medutim, poiljalac i dalje eka na potvrdu za okvir
0. Kada potvrda stigne, poiljalac je prihvata, alje okvir 1 i ponovo eka na sledeu potvrdu. To
je stanje (1, 1), jer primalac i dalje oekuje okvir 1. Slanje i primanje okvira i potvrdivanje se
nastavlja, tako da se stanja na slici 8.19 javljaju u smeru kretanja kazaljki na asovniku.
Pronicljiviji italac e moda postaviti pitanje zar ne postoji vie moguih stanja koja prate ovaj
protokol. Na primer, postoji odreeni period nakon to poiljalac primi potvrdu i pre nego to
poalje naredni okvir. Zar ne bi trebalo da postoji stanje u kome poiljalac eka na korisnika koji
mu obezbeduje pakete? Da! U stvari, mogli bismo da idemo u krajnost i da definiemo stanje
koje odgovara izvrenju svakog koraka u sklopu algoritma. Ali, da li se to isplati?
Definisanje stanja je znaajan dizajnerski problem. Idealno, mogli bismo da definiemo stanja
koja predstavljaju znaajne korake u evoluciji sistema i da ne vodimo rauna o beznaajnim, ili
trivijalnim razlikama. Ali, utvrdivanje ta je znaajno esto nije nimalo jednostavno i umnogome
zavisi od toga ta se modeluje. esto postoje razni nivoi dorade kojima STD moe da se izloi.
Daemo jedan primer koji pokazuje kako se vre dorade i kako STD moe da ukae na nedostatke
sistema. Naa namera je da ovde predstavimo samo uvodne koncepte, tako da se neemo baviti
detaljnim razradama STD-a. Ako ste zainteresovani za vie detalja ili diskusiju na viem nivou,
predlaemo reference [Ta96], [Wa91], [Li87] i [Ru89].
Stie ACK 1
SLIKA 8.19 STD za stop-and-wait protokol sa brojevima okvira
Stie okvir 1
Stie okvir 0
Stie ACK 0
Dijagram prelaza stanja za go-back-n protokol sa grekom
Razmotrimo prethodnu verziju go-back-n protokola. Ovoga puta pretpostavljamo da je veliina
prozora 2, to, prema odeljku 8.4, moe da dovede do greke. Da bi Vam bilo lake, na slici 8.20
prikazujemo algoritam sa odgovarajuim ogranienjima (na primer, poiljalac prima samo ACK,
ili NAK, primalac prima samo podatke i brojevi okvira su naizmenino O i 1).
void send_data; void receive_data;
{ {
#define increment(x) x=(x==0 ? 1 : 0); #define increment(x) x=(x==0 ? 1 : 0);
int w=0; int last=-1;
int i=0; while postoje paketi za prijem
packettype buffer[2]; {
while postoje paketi za slanje cekanje na dogadjaj;
{ if (dogadjaj is "stize osteceni okvir")
cekanje na dogadjaj; {
if (dogadjaj is "paket od korisnika") && konstruisanje okvira sa
(i<2) frame.type=nak
{ i frame.ack=last i slanje okvira;
uzimanje paketa od korisnika i stop acktimer;
smestanje u continue;
buffer[(w+i) % 2]; }
konstruisanje i slanje okvira sa if (dogadjaj is "stize neostecenl okvir")
frame.number=(w+i) % 2; {
reset frametimer(frame.nimiber); receive(frame);
i++; if (frame.number != last)
continue; {
} increment(last);
if (dogadjaj is "istekao frametimer") izvlacenje paketa iz okvira i
{ prosledjivanje do "gospodara";
ponovno slanje jednog ili oba okvira if acktimer not aktivan then
iz prozora; reset acktimer;
resetovanje jednog ili oba frametimera; continue;
continue; }
} if (frame.number==last)
if (dogadjaj Is "stize neosteceni okvir") {
{ konstruisanje i slanje okvira sa
receive(frame); frame.type=nak i frame.ack=last;
uklanjanje svih potvrdjenih okvira iz
prozora; stop acktimer;
decrement i za broj uklonjenih okvira;
stop frametimers za potvrdjene okvire; }
w=(frame.ack+1) % 2;
if (frame.type=nak) if (dogadjaj is "istekao acktimer")
{ {
ponovno slanje okvi ra iz prozora; konstruisanje i sl anj e okvi ra sa
reset frametimers; frame.type=ack i frame.ack=last;
} continue;
} }
} }
Kod posiljaoca Kod primaoca
SLIKA 8.20 Go-back-n protokol za jednosmerni transfer podataka (veliina prozora = 2)
Fl prihvaen
Slanje Al
SLIKA 8.21 Prva aproksimacija STD-a za go-back-n protdkol (ueliina prozora = 2)
Na slici 8.21 predstavljena je prva aproksimacija STD-a koji prikazuje neka stanja i prelaze
stanja. U ovom sluaju kategorizujemo sva stanja na koja poiljalac i primalac ekaju. Mi
predstavljamo svako stanje kao uredenu trojku (a, b, c), definisanu na sledei nain:
Ako poiljalac eka na ACK za okvir 0, onda je a = Y. U suprotnom, a = N.
Ako poiljalac eka na ACK za okvir 1, onda je b = Y. U suprotnom, b - N.
Ako primalac eka na okvir 0, onda Je c = 0. U suprotnom c = 1.
Na primer, pretpostavimo da se model nalazi u stanju (N, N, 0). Poiljalac ne oekuje ACK, a
primalac eka na okvir 0. Ako poiljalac alje okvir 0, model prelazi u stanje (Y, N, 0). Poiljalac
sada oekuje ACK za okvir 0. Dok se nalazi u ovom stanju, mogu se desiti dva druga dogadaja.
Prvi je da poiljalac alje okvir 1 kada model prelazi u stanje (Y, Y, 0). Drugi dogadaj je kada okvir
0 stie i biva prihvaen, a primalac alje ACK. U ovom sluaju primalac sada eka na sledei okvir
istanje je (Y, N, 1).
Trebalo bi da izdvojite vremena da ispratite neke strelice i da razumete zato se stanja menjaju
onako kao to je prikazano. Kako to budete radili, otkriete neke anomalijske dogadaje. Na
primer, razmotrite sledea dva naina za prelazak iz stanja (N, N, 0) u stanje (Y, Y, 0):
1. Slanje okvira FO i Fl
2. Slanje okvira FO; FO prihvaen i AO poslato; slanje Fl; Fl prihvaen, a Al poslato.
U prvom sluaju sledei moe da bude samo jedan dogadaj: FO stie i biva prihvaen. Drugi
prikazani dogadaji (AO i Al prihvaeni) ne mogu da se dese, jer jo nije poslata ni jedna potvrda.
FO ne moe da stigne jer je ve stigao (pretpostaviemo da okviri ne mogu da se kloniraju dok
putuju, to bi rezultovalo armijom okvira). Poenta je da se na slici 8.21 ne pravi razlika izmeu
sluajeva 1 i 2; prikazani su sluajevi koji mogu da budu nemogui u zavisnosti od toga kako se
dolo do stanja.
Problem je to to nismo redefinisali nae definicije stanja radi tanog prikazivanja sistema. Jedno
mogue reenje je da se dorade defmicije stanja, tako da ukljuuju okvire koji su, u stvari, u tranzitu,
tako da moemo da pravimo razliku izmedu dva sluaja (i drugih). Takode, kreirae se dodatna
stanja i prelazi stanja, tako da dijagram postane sloeniji.
Na slici 8.22 prikazana je parcijalna dorada uokvirenog dela STD-a sa slike 8.21. Takoe, ova dorada
pokazuje kako STD moe da locira nedostatke u naem dizajnu. Dalje definiemo svako stanje
naznaavanjem ne samo ta uredaji ekaju, vei ta je, u stvari, u tranzitu. Ovo predstavljamo doda-
vanjem uredenog para (x, y) za svako stanje. Promenljiva x definie okvire koji su, u stvari, u tranzi-
tu (0 za okvir 0, 1 za okvir 1, B za oba i N za ni jedan). Slino tome, y defmie koje se potvrde naalze
u tranzitu. Na primer, stanje (Y, Y, 0) : (B, N) znai da poiljalac eka na potvrdu za okvire 0 i 1 i da
su ti okviri i dalje u tranzitu. Primalac eka na okvir 0 i nema potvrda u tranzitu. Takode, ukljuili
smo dodatne dogadaje koji izazivaju promenu stanja (postoje i drugi dogaaji koje nismo prikazali,
ali i ovi su sasvim dovoljni za nae potrebe).
Zatim emo pokazati kako ovaj redefmisani model moe da ukae na problem. Seate se sa kursa
o strukturama podataka da putanja kroz graf predstavlja listu vorova gde su svaka dva susedna
vora u listi povezana ivicom. Na STD-u putanja defmie niz dogadaja. Graf na slici 8.22 prikazu-
je putanju (u stvari, ciklus) u kojoj se javljaju oba stanja (Y, Y, 0) i (Y, Y, 1).
Slanie Fl
FO prihvaen
Slanie AO
Fl prihvaen
Sl anj eAl
AO i 7ai l hl i pn
Pauza,
ponovno slanje Fl
Pauza,
ponovno slanje FO
Al izgubljen
SLlKA 8.22 Parcijalna dorada STD-a sa slike 8.21
Razmotrite ta se deava ako se neprestano prati ciklus. Ovim se defmie niz dogadaja koji izazi-
va primaoca da naizmenino oekuje i prima okvire Oi 1. Medutim, ni jedan od tih dogadaja ne
odgovara slanju novih okvira (samo ponovno slanje starih). Ovo znai da primalac neprestano
prihvata nove okvire, iako nikakvi novi okviri nisu poslati. Naime, primalac prihvata stare okvire
kao da su stari, kao to smo diskutovali u odeljku 8.4.
U optem sluaju, STD-i mogu da se koriste za praenje sekvenci dogadaja i medustanja. Ako
putanja predstavlja promene koje ne bi trebalo da se jave kod odredenih dogadaja, postoji
propust u modelu.
Model Petri net
Poput modela konanog stanja, Petri net koristi graf za predstavljanje stanja i prelaza, ali nain
na koji to radi je drugaiji. Petri net se sastoji iz etiri dela:
1. Mesta Vizuelno se predstavljaju krugovima, mestima koja odgovaraju delu stanja.
Ovo je jedna razlika u odnosu na model konanog stanja. Svaki verteks STD-a
predstavlja kompletno stanje; kod Petri neta moe da postoji nekoliko mesta koja
predstavljaju kompletno stanje. tlbrzo emo dati i primer.
2. Prelazi Vizuelno se predstavljaju kratkim horizontalnim, ili vertikalnim linijama i
pokazuju prelazak izmedu mesta.
3. Strelice Strelice pobezuju mesto sa prelazom, ili obrnuto. Mesto u izvoru strelice
naziva se ulazno mesto prelaza na koji strelica ukazuje. Svako mesto na koje strelica
ukazuje predstavlja izlazno mesto prelaza u izvoru strelice.
4. Tokeni Tokeni, predstavljeni podebljanim takama unutar mesta, kolektivno defi-
niu tekue stanje sistema.
Petri net moe da se predstavi grafom. Verteks grafa moe da bude ili mesto, ili prelaz, a ivica je
predstavljena strelicom. Kod STD-a prelazi stanja su definisani pomeranjem sa jednog verteksa na
drugi, du ivice. Zato je sledei korak definisanje pravila po kojima token moe da se kree:
Prelaz je osposobljen ako svako od njegovih ulaznih mesta sadri token.
Svaki osposobljeni prelaz moe da ispali token. Tokeni se uklanjaju iz ulaznih mesta i
smetaju se u svim izlaznim mestima. Nakon ispaljivanja, moe da postoji manje, ili
vie tokena, u zavisnosti od broja ulaznih i izlaznih mesta.
U jednom trenutku je mogue ispaljivanje iz jednog prelaza. Medutim, ako je
osposobljeno vie prelaza, izbor prelaza je neodreden. Za nae potrebe, ovo znai da
se izbor vri proizvoljno. Poto ispaljivanje prelaza odgovara stvarnim dogadajima, ne
elimo da postoje pravila koja bi diktirala redosled kojim se javljaju.
Na slici 8.23a prikazan je Petri net pre ispaljivanja. Postoje dva prelaza, Tl i T2, ali je samo Tl
osposobljen (sva ulazna mesta imaju tokeni). Na slici 8.23b prikazan je Petri net nakon ispalji-
vanja. Tokeni su uklonjeni iz svakog ulaznog mesta za Tl.
SLIKA 8.23 Petri net pre i posle ispaljivanja
Zatim, token se postavlja u svako izlazno mesto za Tl. Drugi tokeni u mestima pridruenim
razliitih prelaza ostaju gde jesu.
Pogledajmo kako moemo da koristimo Petri net za modelovanje protokola. Onaj koji emo
koristiti je go-back-n protokol sa slike 8.20, promenjen tako da se koristi prozor veliine 1. Na
slici 8.24 prikazan je deo Petri neta za njega. Kao i ranije, izostavili smo neke delove Petri neta za
uproavanje dijagrama i nae diskusije.
Umesto da se pokuava da se opie stanje sistema u jednom verteksu, delimo sistem na delove i
predstavljamo stanje svakog. U ovom sluaju, sistem se sastoji od poiljaoca, primaoca i mediju-
ma izmedu njih. Stanje sistema zavisi od toga ta poiljalac i primalac ekaju i ta se nalazi na
medijumu, kao i kod prethodno doraenog STD-a. Poiljalac ima dva stanja, svako predstavljeno
mestom. PoiljalacekanapotvrduzaokvirO ("ekanjena AO"), iliza okvir 1 ("ekanjena Al").
I primalac ima dva stanja: ekanje na okvir 0 (FO), ili okvir 1 (Fl). etiri mesta u sredini
predstavljaju ono to se nalazi na medijumu. FO i Fl su mesta koja odgovaraju okvirima 0, ili I
koji se prenose. AO i Al odgovaraju potvrdama za okvire 0, ili I koji se prenose.
Tokeni sa slike 8.24 prikazuju tekue stanje sistema. Poiljalac alje okvir 0, koji se trenutno
nalazi na medijumu. Primalac eka na njega, a poiljalac eka na potvrdu za njega.
Razmotrimo sada prelaze. Prelazi odgovaraju dogadajima koji mogu da se dese, a njihova
ulazna mesta odgovaraju stanjima koja moraju da postoje pre nego to se dogadaj desi. Na
primer, pogledajte prvi prelaz za poiljaoca oznaen kao "Prijem Al, Slanje FO". Ako ima dva
ulazna mesta, "Cekanje na Al" za poiljaoca i "Al" za medijum, ispaljivanje prelaza znai da je
poiljalac primio ACK za okvir 1 i da je poslao sledei okvir FO. Medutim, da bi se ovo desilo,
poiljalac mora da eka na Al i Al mora da se nade na putu.
(a) Pre ispaljivanja (b) Nakon ispaljivanja
Poiljalac Medijum Primalac
ekanje na Fo
Prijem FO
Slanje AO
ekanje na Fl
Prijem Fl
Slanje Al
Pauza, ponovno slanje Fl
ekanje na Al
Prijem AO
Slanje Fl
ekanie na AC
Prijem Al
Slanje FO
Pauza, ponovno slanje FO
SLIKA 8.24 Parcijalni Petri net za go-back-n sa veliinom prozora 1 na strani poiljaoca
Da bi se prelaz ispalio, tokeni moraju da se nadu u ova dva ulazna mesta. Sline argumente
moemo da damo i za druge prelaze za poiljaoca i primaoca.
Ovaj Petri net ima i dva prelaza pauze (time-out). Svaki ima jedno ulazno mesto koje odgovara
poiljaocu koji eka na ACK. Na primer, pretpostavimo da poiljalac eka na AO (token na tom
mestu). Odgovarajui time-out prelaz je osposobljen. Ipak, to ne znai da e ispaliti token. To
znai da moe da ispali. Ako tajmer okvira istekne, dolazi do ispaljivanja time-out prelaza. Kada
se to desi, token se uklanja iz ulaznog mesta i drugi se postavljaju na dva izlazna mesta. Jedno od
njih je FO mesto za medijum, koje ukazuje da je okvir 0 poslat. Drugo izlazno mesto je isto kao
i ulazno mesto, to znai da poiljalac ponovo eka na AO.
Zbunjeni ste? Ispratimo kretanje tokena u sekvenci tipinih dogadaja. Delovi (a) do (d) na slici
8.25 prikazuju Petri netove koji odgovaraju sukcesivnim ispaljivanjima prelaza. Mesta, prelazi i
strelice su kao na slici 8.24, ali smo eliminisali oznake da bi dijagram bio jednostavniji. Postavka
tokena na slici 8.25a je ista kao na slici 8.24. Poiljalac eka na AO, primalac eka na FO, a FO je
na medijumu. Zajedno definiu stanje sistema. U ovoj taki su osposobljena dva prelaza
(oznaena sa *): prvi time-out prelaz za poiljaoca i prelaz za primaoca oznaenog (na slici 8.24)
sa "Prijem FO, Slanje AO".
SLIKA 8.25 Sekvenca ispaljivanja za normalnu razmenu ohvira i potvrda
Pretpostavimo da drugi prelaz ispali token. Tokeni se uklanjaju iz dva ulazna mesta i postavljaju
se u nova mesta, kao to je prikazano na slici 8.25b. Sistem se nalazi u novom stanju. Poiljalac
i dalje eka na AO, koji se sada nalazi na medijumu. Primalac sada eka na Fl. Osposobljena su
dva prelaza sa slike 8.25b. To su time-out i prijem AO. Drugi prelaz ispaljuje tokene i oni se
pomeraju na svoje pozicije prikazane na slici 8.25c. Sistem se nalazi u novom stanju. Poiljalac
je poslao Fl, koji se nalazi na medijumu, i eka na Al. U meduvremenu, primalac i dalje eka na
Fl. Ako primalac dobije okvir, tokeni se pomeraju na pozicije prikazane na slici 8.25d. Poiljalac
i dalje eka na AO, koji je u putu, i primalac eka na FO. Ako potvrda stigne, Petri net se ponovo
menja i tokeni se postavljaju kao na slici 8.25a. Ako su okviri i potvrde razmenjeni bez greaka,
ova etiri Petri neta opisuju promene stanja sistema.
(a) Slanje FO
(b) Slanj'e AO
(c) Slanj'e Fl
(d) Sianje Al
* oznaava osposobljene prelaze
Ranije smo istakli da Petri net sa slike 8.24 ne ukljuuje prelaze za sve mogue dogadaje. Na
primer, uvek postoji token na jednom mestu za medijum, to znai da na medijumu uvek neto
postoji. Naravno, to nije tano. Token na medijumu moe da se izgubi, ili moe da bude uniten,
tako da rezultat bude stanje u kome i poiljalac i primalac ekaju, a na medijumu se ne nalazi
nita (neto to Petri net ne prikazuje). Ovo stanje se lako reava postavljanjem svih mesta na
medijumu kao ulaznih mesta za novi prelaz sa oznakom "izgubljen". Ni jedno od tih stanja nee
imati izlazna mesta. Svaki put kada se neto nade na medijumu, ovi prelazi su osposobljeni. Ako
se ispali, token se uklanja iz ulaznog mesta. Bez izlaznog mesta, taj token nestaje. Eventualno,
time-out prelaz moe da ispali token i postavi ga ponovo na jedno od ulaznih mesta.
Sledei nain na koji moemo da doradimo Petri net je da podelimo prelaze poiljaoca na dva
zasebna prelaza. U naem modelu poiljalac dobija ACK odmah nakon to poalje sledei okvir.
Pretpostavljamo da uvek postoje okviri za slanje, ali to ne mora da bude tako. Mogli bismo da
definiemo nova mesta poiljaoca koja odgovaraju situacijama u kojima poiljalac mora da eka
na pakete od svog korisnika. Razmotrite neke od tih sluajeva i ponovo nacrtajte Petri net
(videti vebe na kraju ovog poglavlja).
Kao i kod STD-a, Petri net moe da se analizira radi traenja greaka u protokolu. Na primer, ako
tokeni nikada ne mogu da dospeju na odreena mesta, odredena stanja ne mogu da se predstave
Petri netom. Ako se zna da su mogua, na model sadri greku. Sledea greka bi se pokazala
kada bi se token kretao kroz odredena mesta bez zaustavljanja u mestima izmedu. Na primer,
zamislite sekvencu ispaljivanja koja daje Petri nete kod kojih se token naizmenino pomera
izmedu mesta primaoca na slici 8.24. Ako, u ovim istim Petri netovima jedno mesto poiljaoca
nikada ne dobija token, postoji greka, jer Petri net ukazuje da primalac dobija okvire, ali ih
poiljalac ne alje.
Ako ste zainteresovani za dalje prouavanje, ili za neke druge primere Petri neta, pogledajte ref-
erence [Ta96], [Wa91] i [Pe81],
8.5 Zakljuak
U prethodnim poglavljima su analizirani detalji koji su neophodni za prenos jednog okvira, ali
u ovom poglavlju je razmatran prenos vie okvira. Prikazani su protokoli koji se bave sledeim
temama:
praenje vie okvira i njihovih potvrda
reagovanje na okvire koji stiu oteeni
reagovanje u situacijama kada okvir, ili potvrda nikada ne stiu, ili kasne
Predstavili smo etiri protokola za kontrolu toka: stop-and-wait, neogranieni, go-back-n i
selektivna retransmisija. Druga dva su primeri protokola klizajuih prozora. Definiu prozor za
uredaj poiljaoca koji sadri okvire koji mogu biti poslati, ali ne moraju jo uvek da budu
potvrdeni.
Na neki nain, iskljuujui tajmere, ACK i NAK, svi ovi protokoli mogu da se posmatraju kao
varijacije jednog protokola klizajuih prozora (tabela 8.1). Na primer, go-back-n protokol u
sutini predstavlja selektivnu retransmisiju kod koje prijemni prozor ima samo jedan okvir. Kod
stop-and-wait protokola oba prozora imaju samo jedan okvir. Kod neogranienog protokola ne
postoji granica za veliine okvira.
Oba protokola klizajuih prozora reaguju na okvire koji stiu oteeni, ili van redosleda, slanjem
negativne potvrde (NAK). Uredaj koji primi NAK mora ponovo da poalje prethodno poslate
okvire. U okviru go-back-n protokola ponovo se alju svi nereeni okviri, dok se kod selektivne
retransmisije ponovo alje samo okvir za koji je poslat NAK. Svaki protokol se oslanja na tajmere
- ako ne stigne potvrda u odredenom periodu, uredaj pretpostavlja da su jedan, ili vie okvira
izgubljeni i ponovo ih alje.
Kod oba protokola klizajuih prozora postoje ogranienja za veliinu prozora. U optem sluaju,
kod go-back-n protokola, ako postoji 2
K
razliitih brojeva okvira, prozor poiljaoca mora da ima
manje od 2K okvira.
Stop-and-wait
protokol
Neogranieni
protokol
Go-back-n
protokol
Protokol
selektivne
retransmisije
Veliana prozora
kod poiljaoca
Veliina
prijemnog
minus prozora
Komentari
Jedan okvir
Jedan okvir
eka se na
zasebnu potvrdu
za svaki okvir pre
nego to se
poalje sledei.
Ovaj pristup je
sporiji, jer postoje
veliki periodi
ekanja.
Neograniceni
broj okvira
Neogranieni
broj okvira
alju se svi okviri,
bez obzira koliko
ih ima. Ovo moe
da stvori probleme
zaguenjem
saobraaja na
mrei i moe da
zatrpa prijemnu
stranu. Kao to
smo opisali,
nismo ukljuili
mogunosti
da se okviri
otete, ili izgube
u toku prenosa.
Manje od 2
K
Jedan okvir
Prozor sadri okvire
koji su poslati, ali za
njih jo uvek nije stigla
potvrda. Pretpostavlja
se da prijemna strana
prihvata i isporuuje
okvire onim redosledom
kojim pristiu. Ovo
je jednostavnije od
selektivne retransmisije
i funkcionisae dobro
ako se okviri retko
gube, ili stiu van
redosleda. Poiljalac
e ponovo poslati
sve okvire u prozoru
ako stigne NAK.
Manje, ili jednako 2
K
,
minus veliina prijemnog
prozora (ali obino iznosi 2
K1
)
Manje nego, ili jednako 2
K
,
veliina prozora na strani
poiljaoca, ali obino iznosi 2
K1
)
Sioeniji je od go-back-n
protokola, jer moda
ne mora ponovo
da alje okvire
koji kasne. Oni se
prihvataju u bafere,
a zatim isporuuju
pravilnim redosledom
do korisnika, kada
stignu svi prethodni
okviri. Ovo je korisno
kod prenosa na velikim
rastojanjima gde
zbog kanjenja i gustog
saobraaja okviri
esto stiu van
redosleda. Ako stigne
NAK, poiljalac treba
ponovo da poalje samo
okvir koji je specifino
naznaen.
Kod selektivne retransmisije suma veliina prozora na strani poiljaoca i primaoca ne sme da
bude vea od 2
K
. Naruavanje ovog ogranienja ne znai nuno i greku u protokolu, ali znai da
su greke mogue kod odredenih sekvenci dogadaja.
Algoritmi su sloeni, a navoenje formalnih matematikih dokaza prelazi predvieni obim ovog
teksta. Meutim, u odeljku 8.7 predstavljene su dve alatke koje mogu da se koriste za verifikaci-
ju: dijagram prelaza stanja i Petri net. Obe koriste usmerene grafove, koji predstavljaju stanja i
prelaze izmedu stanja sistema, ali se razlikuju po tome ta rade. Dijagrami prelaza stanja koriste
vorove za stanja i ivice za prelaze stanja. Izvrenje algoritma moe da se izvede definisanjem
putanja kroz dijagram prelaza stanja. Petri net modeli su sloeniji. Oni koriste mesta, prelaze,
strelice i tokene. Kolekcija tokena odgovara mestima koja definiu stanje sistema. Tokeni koji se
pomeraju sa jednog mesta na drugo podleu pravilima koja omoguavaju ispaljivanje odredenog
prelaza. U oba sluaja, analiza modela moe da se iskoristi za detektovanje moguih anomalija.
Pitanja i zadaci za proveru
1. Sta je kontrola greaka sa automatskim ponavljanjem zahteva?
2. ta je kontrola toka?
3. ta su X-ON i X-OFF karakteri?
4. Sta je neograniena kontrola toka?
5. ta je stop-and-wait kontrola toka?
6. Da li su sledea tvrenja tana, ili netana (zato)?
a. Neograniena kontrola toka u optem sluaju ima bolju efektivnu brzinu prenosa
podataka u odnosu na stop-and-wait kontrolu toka.
b. Neograniena kontrola toka predstavlja, u stvari, odsustvo kontrole toka.
c. Neoganiena i stop-and-wait kontrola toka predstavljaju specijalne sluajeve
protokola klizajuih prozora.
d. Protokoli klizajuih prozora mogu da funkcioniu sa bilo kojom veliinom prozora.
e. Go-back-n algoritam ponovo alje nekoliko okvira ako samo jedan od njih stigne
na odredite sa oteenjem.
f. Kod protokola selektivne retransmisije veliina prijemnog prozora je nezavisna od
veliine prozora na strani poiljaoca.
g. Petri net i konani automati predstavljaju dva razliita naina za postizanje iste
"stvari".
7. Navedite razliku izmedu bitske brzine i efektivne brzine prenosa podataka.
8. Koju znaajnu ulogu igraju potvrde u protokolima za kontrolu toka?
9. Sta se podrazumeva pod kontrolom toka pomou protokola sa klizajuim prozorima?
10. Sta je piggyback potvrda?
11. Zato se kod numeracije okvira koristi modulama aritmetika, umesto da se brojevi jed-
nostavno uveavaju po potrebi?
12. Navedite tipina polja u okviru sa podacima.
13. Navedite razliku izmedu tajmera okvira i ACK tajmera.
14. Kakva je svrha odreivanja veliine prozora u protokolima klizajuih prozora za kon-
trolu toka?
15. Navedite razlike izmedu ACK, NAK i okvira sa podacima.
16. Koje su glavne razlike izmedu go-back-n protokola i protokola selektivne retransmisije?
17. Kakvo ogranienje u veliini prozora na strani poiljaoca postoji kod protokola selek-
tivne retransmisije?
18. Kod protokola selektivne retransmisije kakva relacija postoji izmedu veliine prozora
na strani poiljaoca i primaoca?
19. ta je konani automat (ili model konanog stanja)?
20. Sta je dijagram prelaza stanja?
21. ta je Petri net?
22. Definiite termine mesto, prelaz, strelica i tohen u kontekstu Petri net modela.
23. ta se misli kada se kae da prelaz ispaljuje?
Vebe
1. Sta se deava ako A i B sa slike 8.2 umetnu X-OFF karaktere u svoje nizove podataka?
2. Kod X-ON/X-OFF protokola zato jedan uredaj alje X-OFF karakter pre nego to se
baferi napune, umesto da saeka da budu puni?
3. Modifikujte neogranieni protokol sa slike 8.4 tako da odraava sledee promene:
a. Poiljalac ima fiksni broj okvira za slanje.
b. Okvir moe da bude oteen.
4. Kolike su efektivne brzine prenosa podataka za neogranieni i stop-and-wait protokol
sa sledeim vrednostima?
R= kapacitet (16 Mbps)
S = brzina signala (200 metara/irsec)
D = rastojanje izmedu poiljaoca i primaoca (200 metara)
T = vreme potrebno za kreiranje jednog okvira (2 usec)
F = broj bitova u jednom okviru (500)
N = broj bitova podataka u jenom okviru (450)
A = broj bitova potvrde (80)
5. Za svaku promenljivu (osim za brzinu signala) iz vebe 4 kako bi 10-tostruko
poveanje vrednosti uticalo na efektivnu brzinu prenosa podataka i za neogranieni i
za stop-and-wait protokol?
6. Scenario na slici 8.10 pokazuje da kod jednosmernog go-back-n protokola moe da
dode do greke, jer je veliina prozora jednaka maksimalnom broju numeracija okvira
u sekvenci. Opiite drugi nain kod koga u protokolu moe da dode do greke pod
istom pretpostavkom.
7. Razmotrite go-back-n algoritam na slici 8.12 sa veliinom prozora 7. Opiite akcije
protokola za slanje i prijem, definiui vrednosti promenljivih i sadraje bafera u
sledeim sluajevima. Kakvo je tekue stanje svakog protokola nakon reagovanja na
specifini dogaaj?
a. Uredaj A alje okvire 0 do 6. Ureaj B ih prima pravilnim redosledom, ali okvir
4 je oteen.
b. Uredaj A alje okvire 0 do 6, a uredaj B ih prima ispravnim redosledom. Uredaj B
alje jedan okvir sa podacima do A (A ga ispravno prima) nakon prijema okvira 4,
ali pre primanja okvira 5.
c. Isti scenario kao i pod (b), ali u toku prenosa dolazi do oteenja okvira koji se
alje do A
d. Ureaj A ima 12 okvira za slanje do B, ali B nema nita za slanje do A.
8. Kako moe da dode do greke go-back-n algoritma sa slike 8.12 pod svakim od
sledeih uslova?
a. uklanjanje provere za istek ack tajmera
b. uklanjanje provere za istek tajmera okvira
c. uklanjanje provere za uslov (i<N) u prvoj naredbi glavne petlje
d. uklanjanje naredbe w= (f rame. ack+1) % MAX iz koda kod provere poslednjeg
dogadaja
9. Reprodukujte scenarije sa slike 8.14 i 8.15 ako su veliine oba prozora jednake 4 i
pokaite da nee doi do greke u protokolu.
10. Uzmite protokol selektivne retransmisije sa slike 8.16 sa veliinom prozora 4. Opiite
akcije protokola za slanje i prijem, navodei vrednosti promenljivih i sadraje bafera u
sledeim sluajevima. Kakvo je tekue stanje svakog protokola nakon reagovanja na
naznaene dogaaje?
a. Uredaj A alje okvire 0 do 3. Stiu svi osim okvira 2. Okvir 2 je izgubljen.
b. Uredaj A alje okvire 0 do 3. U B stiu redosledom O, 1, 3, 2.
c. Ureaj A alje okvire 0 do 3. Uredaj B prima okvire O i 1 i alje piggyback
potvrdu, koju A prima.
d. Isti scenario kao i pod (c), ali potvrda se gubi
11. Uzmite protokol selektivne retransmisije sa slike 8.16. Konstruiite scenario kod koga
vai uslov f rame.type==nak, ali ne vai uslov koji sledi iza njega.
12. Kako moe da dode do greke u algoritmu selektivne retransmisije sa slike 8.16 pod
svakim od narednih uslova?
a. Uklanja se provera za istek ack tajmera.
b. Uklanja se provera za istek tajmera okvira.
c. Uklanja se provera za uslov (i<N) u prvoj naredbi glavne petlje.
d. Uklanja se naredba w={f rame.ack+1) % MAX iz koda kod provere poslednjeg
dogaaja.
13. Uzmite analizu protokola klizajuih prozora iz odeljka 8.3 i pretpostavite sledee
vrednosti:
R - kapacitet (10 Mbps, ili 10 bitova/irsec)
S = brzina signala (200 metara/|j.sec)
D = rastojanje izmedu poiljaoca i primaoca (nepoznato)
T = vreme potrebno za kreiranje jednog okvira (1 |isec)
F = broj bitova u jednom okviru (200)
N = broj bitova podataka u jednom okviru (160)
W = velidna prozora (4 okvira)
Na kom rastojanju prva potvrda stie tano u isto vreme kada se poalje poslednji
okvir iz prozora? Kolika je efektivna brzina prenosa podataka?
14. Uzmite odgovor na vebu 13. ta se deava sa efektivnom brzinom prenosa podataka
ako se povea veliina prozora i ako se smanji?
15. Ponovite vebu 14 za svaki od preostalih parametara.
16. Uzmite dijagram prelaza stanja sa slike 8.21. Zato ne postoji prelaz iz stanja (Y, N, 1)
u stanje (Y, N, 0)?
17. Proirite uokvirenu oblast sa slike 8.21 tako da ukljui stanja (Y, N, 0) i (Y, N, 1) i
doradite proirenje da dobijete rezultat sa slike 8.22.
18. Uzmite Petri net sa slike 8.24. Razmotrite sluaj u kome poiljalac prima ACK, ali
moda nema okvir za slanje - mora da eka na korisnika da mu obezbedi paket. Kako
Petri net izgleda?
19. Nacrtajte sekvencu Petri net modela (slino onima sa slike 8.25) za sledei niz
dogadaja:
a. Slanje FO
b. . Pauza, ponovno slanje FO
c. Primalac dobija FO i alje AO.
d. Poiljalac dobija AO i alje Fl.
e. Pauza, ponovno slanje Fl
20. Do pauze moe da dode nakon to primalac dobije prvi okvir i poalje ACK, ali pre
nego to poiljalac dobije taj ACK. Poiljalac moe ponovo da poalje okvir koji pri
malac ne oekuje. Modifikujte Petri net sa slike 8.24 tako da se uzme u obzir i ova
mogunost.
Reference
[Li87] Lin, F., P. Chu, and M. Liu. "Protocol Verification Using Reachibility Analysis: The
State Space Explosion Problem and Relief Strategies." Proceedings of the ACM SIG-
COMM 1987 Workshop (1987), 126-135.
[Pe81 ] Peterson, J. Petri Net Theory and the Modeling of Systems. Englevrood Cliffs, NJ:
Prentice-Hall, 1981.
[Ru89 ] Russel, D. The Principles of Computer Netivorking. New York: Cambridge University
Press, 1989.
[Ta96] Tanenbaum, A. S. Computer Netmorks: A First Course. Boston: Richard D. Invin,
1991.
to u bankama podataka postoji vie zapisa o nama, utoliko manje postojimo.
Marshall McLuhan (1911 1980), kanadski teoretiar komunikacija
9.1 Uvod
Do sada smo se fokusirali na komunikacije izmedu dva ureaja i, uz izuzetak multipleksiranja i
"nadmetanja" u odeljcima 4.5 i 4.7, nismo uzimali u obzir iru sliku sa veim brojem povezanih
ureaja. Poevi od ovog poglavlja, predstaviemo strategije povezivanja i protokole koji su
neophodni za odravanje komunikacije izmedu veeg broja ureaja. Ovo poglavlje se bavi
prvenstveno protokolima sloja 2 koji defmiu operacije lokalnih (LAN) mrea. U narednim
poglavljima opisujemo naine za povezivanje vie LAN mrea i prikazujemo protokole koji
defmiu Internet.
Podnjemo sa optim pregledom razliitih LAN topologija (konfiguracija), prikazanih na slici 9.1.
Istorijski, dve najee koriene topologije su bile magistrala i prsten. Kasnije emo videti da su
tehnologije povezivanja obezbedile vei dijapazon mogunosti. Kod topologije magistrale (slika
9.1a) jedna komunikadona linija - obino koaksijalni kabl, ili optiki fiber, predstavlja primarni
medijum, koji nazivamo segment. Svaki ureaj koji treba da poalje neto do drugog uredaja
izvodi to preko segmenta. Ipak, samo jedan ureaj moe da alje podatke u jednom trenutku i
zato je neophodno obezbediti neku vrstu protokola za "nadmetanje". Kod topologije prstena
(slika 9.1b) svi uredaji su uredeni u prsten, u kome je svaki ureaj direktno povezan sa svoja dva
suseda. Ako uredaj eli da poalje okvir do drugog ureaja, okvir mora da prode kroz sve ostale
uredaje koji se nalaze izmedu njih (bilo u smeru, ili suprotno od smera kretanja kazaljki na
asovniku). Ovo je pomalo nalik traevima koji idu od jednog suseda do drugog.
Ostale topologije su topologija zvezde i potpuno povezana topologija. Kod topologije zvezde
(slika 9.1c) jedan uredaj slui kao logiki komunikacioni centar za sve ostale. Sva komunikacija
izmedu bilo koja dva uredaja mora da se odvija preko njega. Konano, potpuno povezana
topologija (slika 9.Id) direktno povezuje svaka dva para ureaja. Potpuno povezane topologije
predstavljaju ekstremni sluaj i retko se koriste u praksi (osim moda u manjim izolovanim
sluajevima). Zato ih neemo dalje analizirati.
Lokalne mree
SLIKA 9.1 Mrene topologije
Prednost topologije magistrale je to je jednostavna. Segment moe da se prostire preko jedne ili
vie zgrada, sa vodovima koji prolaze kroz specifine laboratorije, ili udonice (slika 9.2) i
povezuju personalne kompjutere pomou komutatora, ili hubova (ureaji koje emo kasnije
opisati u ovom poglavlju). Takode, moe da se prostire du proizvodne linije u fabrici, povezu-
jui uredaje koji su neophodni za sklapanje nekog proizvoda, kao to je automobil. Zbog linearne
organizacije, dodavanje novih, ili uklanjanje starih uredaja je relativno jednostavno. Nedostatak
linerane organizacije je to u jednom trenutku samo jedan uredaj moe da alje podatke. U nekim
sluajevima ovo ogranienje ne predstavlja problem. Ipak, kako se broj uredaja poveava,
mogua su ozbiljna "uska grla".
Topologija prstena omoguava slanje podataka iz vie uredaja korienjem jednog, ili vie
tokena koji krue prstenom. Seate se da smo u odeljku 4.7 istakli da je token specijalni okvir koji
uredaju koji ga poseduje omoguava slanje podataka. Najee implementirane mree sa
topologijom prstena koriste samo jedan token, mada neki protokoli obezbeduju vie tokena.
Topologije prstena su ranije bile uobiajene za kancelarijska okruenja, gde je bilo neophodno
obezbediti komunikaciju izmedu vie personalnih kompjutera, ili komunikaciju sa fajl serverom,
ili deljenim tampaem.
(b) Topologija prstena (a) Topologija magistrale
(c) Topologija zvezde (d) Potpuno povezana topologija
SLIKA 9.2 Topologija magistrale koja povezuje nekoliko lokacija
Prvi korak u predstavljanju IAN operacije je definisanje protokola koji ureaji koriste za
medusobnu komunikaciju. Ako mislite da ovo pomalo podsea na diskusiju iz prethodnog
poglavlja, potpuno ste u pravu. Odeljak 9.2 se nadovezuje na taj materijal - u njemu je prikazan
dugogodinji ISO standard za veze izmedu podataka na osnovu koga su izvedeni mnogi kasniji
standardi.
U odeljcima 9.3 i 9.6 predstaviemo optepoznate IEEE standarde za mree sa topologijom
magistrale i prstena: nekoliko varijacija Etherneta i token ring mreu. Ethernet je postao
dominantan nain za povezivanje uredaja u LAN okruenjima, a proao je kroz nekoliko
evolucija kako bi zadovoljio napredak tehnologija i bitskih brzina. Iako je ranije bio dosta est,
token ring se sve rede koristi. Ipak, prua sjajan kontrast idejama koje definie Ethernet. Postoji i
trei IEEE standard, poznat kao token bus. Ima topologiju Etherneta, ali je kod "nadmetanja"
neophodan token koji krui izmedu ureaja. Iako je re o standardu, retko se koristi, tako da ga
neemo opisivati u ovom izdanju knjige.
Svi ti LAN standardi imaju jednu zajedniku karakteristiku: ureaje povezuju pomou UTP kabla,
koaksijalnog kabla, ili optikog fibera. Medutim, verovatno se seate da smo u odeljku 2.4
naglasili da fizike konekcije vie nisu neophodne za ostvarivanje komunikacije izmedu ureaja
i da su beine tehnologije dole do take u kojoj su postale i ekonomine i uobiajene. To je
naravno delimino omoguilo razvoj standarda kao to je IEEE 802.11, beini standard o kome
e biti rei u odeljku 9.7.
9.2 Kontrola veze izmeu podataka
Da biste u potpunosti razumeli kako funkcioniu LAN standardi, vano je da razumete gde se
uklapaju u slojeviti dizajn i kakva je njihova veza sa ostalim temama koje smo do sada obradili.
Seate se iz odceljka 4.1 sedmoslojnog OSI referentnog modela. Najnia tri sloja obino definiu
mrene operacije: fiziki, sloj veze i sloj mree.
Sloj veze izvrava servise koji su neophodni za sloj mree i pretpostavlja postojanje fizikog sloja.
Sloj veze je odgovoran za tanu komunikaciju izmedu dva vora na mrei. Ovo ukljuuje formate
okvira, proveru greaka i kontrolu toka. U optem sluaju, sve ove teme su nezavisne od mrene
topologije. Na primer, provera greaka, ili algoritmi za kontrolu toka ne vode rauna da li se okvir
alje preko magistrale, ili prstena.
Zboga toga se sloj veze dalje deli na dva podsloja, koja su prikazana na slici 9.3: na kontrolu
logike veze (LLC - logical link control) i na kontrolu pristupa medijumu (MAC - medium
access control). LLC vodi rauna o logikim vezama izmedu uredaja, dok MAC kontrolie
pristup prenosnom medijumu. Primamo, LLC obezbeduje servise za sloj mree i poziva MAC
radi obavljanja zadataka koji su specifini za odredeni tip mree.
IEEE 802.3 Ethernet i IEEE 802.5 token ring standardi koje emo predstaviti neto kasnije
predstavljaju MAC protokole. Vidimo kako uslojavanje softvera omoguava funkcionisanje istog
vieg nivoa sa razliitim protokolima nieg nivoa. Mnoge od tema koje smo obradili ne zavise od
mrene topologije, to obezbeduje veliku fleksibilnost i mogunost irokog plasiranja na tritu.
Mnogi razliiti protokoli veze podataka mogu da se postave iznad MAC-a, ali interesantno je da
svi imaju zajednikog "pretka". Poetkom 70-ih godina prolog veka IBM je razvio protokol
Synchronous Data Link Control (SDLC). Pre njega protokoli su bili orijentisani bajtovima. To
znai da su okviri bili interpretirani kao sekvence bajtova; svaki bajt je sadrao neke informatije
i bio je definisan pomou EBCDIC koda (seate se odeljka 2.5). Ponekad bi se u sklopu niza
podataka pojavili i neki kontrolni bajtovi, tako da se deavalo da se i podaci pogreno interpre-
tiraju kao kontrolne informacije. Iako su postojali naini da se ovaj problem prevazide, IBM je
razvio bitovima orijentisani protokol, SDLC, kod koga sve nije moralo da se posmatra kao
sekvenca bajtova.
kontrola pristupa
kontrola logike
veze (LLC)
sloj mree
fiziki sloj
SLIKA 9.3 Dorada sloja veze
Na primer,
IEEE 802.3 Ethernet standard
sloj veze
IEEE 802.2 standard
Ovaj pristup obezbeduje malo bolju fleksibilnost kod prenosa veeg broja razliitih tipova
podataka. SDLC koristi go-back-n kontrolu toka i bio je deo IBM-ove System Network
Architecture (SNA), ekvivalenta OSI modelu. Korien je tipino u komunikacijama IBM
terminala i kompjutera.
IBM je prosledio SDLC protokol do ISO radi proglaavanja standardom. Meutim, u ISO je
modifikovan i kreiran je novi standard, poznat kao HDLC (High-Ievel Data Link Control);
predstavljao je prvi formalni standard za bitovima orijentisane protokole za kontrolu veze
izmeu podataka. Efektivno, SDLC je IBM-ov ekvivalent za HDLC (ako posmatrate sa druge
strane, HDLC je ISO ekvivalent za SDLC). Ipak, ovde se "pria" ne zavrava. IBM je poslao SDLC
i do ANSI radi usvajanja. Kao i sve dobre organizacije sa standardizaciju, ANSI je modifikovala
protokol i nazvala ga Advanced Data Communications Control Procedure (ADCCP).
ITU je usvojio i modifikovao HDLC za korienje sa njegovim X.25 mrenim interfejs
standardom (prikazan je u Poglavlju 13). Originalno je oznaen kao LAP (skraeno od Link
Access Protocol), ali je kasnije promenjen u LAPB (B je oznaka za balansirani). Omoguio je
povezivanje uredaja na mree sa komutacijom paketa. Varijacija LAPB je LAPD, kontrola veze za
Integrated Services Digital Network (ISDN). ISDN je u potpunosti digitalni komunikacioni
sistem koga defmie ITU. Neki su predvidali da e eventualno zameniti telefonski sistem, ali
razvijene su i druge tehnologije i, naravno, do toga nije dolo. LAPD omoguava komunikaciju
uredaja preko ISDN D kanala (prikazan je u Poglavlju 13). IEEE ima protokol koji je izveden iz
HDLC protokola. Naziva se LLC (Logical Link Control) i koristi se u lokalnim mreama. Takode,
omoguava povezivanje vie LAN mrea, tako da se kreira WAN mrea.
Kao to moete da vidite, protokola za kontrolu veze izmedu podataka ima sasvim dovoljno, ali
za sve njih je karakteristina jedna "stvar". Mnogo duguju HDLC protokolu. Poto nemamo
dovoljno prostora da obuhvatimo sve te protokole (a verovatno ne bi bilo ni mnogo koristi od
toga za Vae obrazovanje), objasniemo njihovog "pretka" HDLC. Detalji o nekim drugim
protokolima mogu da se nau u referencama [Fo03 ] (za LLC) i [St99 ] (za LAPD).
High-level Data Link Control (HDLC) protokol
HDLC je bitovima orijentisani protokol koji podrava i half-duplex i full-duplex komunikacije
(videti odeljak 4.3). Kao to smo ranije istakli, orijentisan bitovima znai da protokol sve okvire
tretira kao nizove bitova. Drugim reima, ne prepoznaje ih, niti ih interpretira kao bajtove (kao
X-ON/X-OFF), kao to je bio sluaj kod nekih ranije analiziranih protokola.
HDLC protokol izvravaju tri tipa uredaja:
Primarna stanica (ponekad se naziva i host stanica, ili kontrolna stanica) Upravlja
tokom podataka tako to izdaje komande za druge uredaje, ili reaguje na njihove
odzive. Kasnije emo videti i neke primere. Moe da uspostavlja i kontrolie konekcije
izmedu vie uredaja.
Sekundardna stanica (ponekad se naziva ciljna stanica, ili gostujua stanica)
Moe da se odazove samo jednoj primarnoj stanici u jednom trenutku. Ne izdaje
nikakve komande drugim uredajima (iako moe da alje podatke).
Kombinovana stanica Kao to se vidi iz samog naziva, moe da se ponaa i kao
primarna i kao sekundarna stanka. Moe da izdaje komande i da reaguje na komande
koje je izdala neka druga kombinovana stanica.
Uredaji koji izvravaju HDLC mogu da komuniciraju u jednom od tri mogua moda:
Mod normalnog odziva (NRM - normal response mode) U NRM primarna stani
ca kontrolie komunikacije. Naime, sekundardna stanica moe da alje podatke samo
kad joj primarna stanica to naloi, ili dopusti. Ovaj operacioni mod je uobiajen kod
dve konfiguracije. Kod point-to-point linka (slika 9.4a) primarna stanica komunicira
sa jednom sekundardnom stanicom. Kod multipoint linka (ponekad se oznaava i
kao multidrop link) primarna stanica moe da komunicira sa nekoliko sekundarnih
stanica (slika 9.4b). Naravno, mora da kontrolie i da odrava zasebne sesije za
svaku sekundardnu stanicu.
Mod asinhronog odziva (ARM - asynchronous response mode) Kao i NRM, ARM
ukljuuje komunikaciju izmedu primarne i jedne, ili vie sekundarnih stanica. Ovde
sekundardna stanica ima veu nezavisnost. Moe da alje podatke, ili kontrolne
informacije do primarne stanice, bez eksplicitnih instrukcija, ili dozvola za to.
Medutim, ne moe da alje komande. Odgovornost za uspostavljanje, odravanje i
eventualno okonavanje konekcija i dalje je poverena primarnoi stanici.
(a) Point-to-point link
(c) Point-to-pomt link izmedu kombinovanib stanica
SLlKA 9.4 HDLC konflguracije
pnmarna
stanica
komande
odzivi (responses)
sekundarna
stanica
primarna
stanica
komande
odzivi
sekundarna
stanica
sekundarna
stanica
sekundarna
stanica
(b) Multipoint link
kombinovana
stanica
komande i odzivi
komande i odzivi
kombinovana
stanica
Asinhroni balansirani mod (ABM) ABM se koristi u konfiguracijama za povezivanje
kombinovanih stanica (slika 4.9c). Svi uredaji mogu da alju podatke, kontrolne
informacije, ili komande. Ovo je tipina konekcija izmedu dva kompjutera i kod X.25
interfejs standarda (predstavljen je u Poglavlju 13).
ftjffliat oWm HDLC okviri su slini optim formatima, koje smo ranije predstaviH. Na slici 9.5
prikazan je format okvira. Neka polja mogu da imaju dve razliite veliine. Manja veliina defi-
nie standardni format, dok vea daje proireni format. Odluka o formatu koji e biti korien
donosi se nakon uspostavljanja linka.
Postoje tri razliita tipa okvira. Razlikuju se po sadraju polja Control i da li okvir sadri stvarne
podatke. Najpre emo prikazati polja koja su zajednika za sve tipove okvira, a zatim emo
razmotriti razlike izmedu okvira.
Polje Flag oznaava poetak i kraj svakog okvira i sadri specijalni uzorak bitova 01111110.
Uredaj koji primi ovaj uzorak "zna" da je HDLC okvir na putu. Poto veliina okvira moe da
bude razliita, uredaj prouava dolazee bitove i trai ovaj uzorak kako bi detektovao kraj
okvira. Ovaj uzorak predstavlja problem: poto je protokol orijentisan bitovima, polja sa podaci-
ma (i druga polja) mogu da sadre proizvoljne kombinacije bitova. Ako se uzorak flega nae u
nekom drugom polju, zar ga ureaj nee pogreno interpretirati kao kraj okvira? Definitivno ne
elimo da ograniimo podatke tako da ne mogu da sadre odredene uzorke bitova.
Sreom, ovaj problem ima relativno lako reenje, poznato pod nazivom popunjavanje bitova
(bit stuffmg). Uredaj koji alje podatke nadgleda bitove izmedu flegova pre nego to ih poalje.
Ako detektuje pet uzastopnih jedinica (slika 9.6), umee dodatnu nulu nakon pete jedinice. Tako
se "razbija" potencijalni uzorak flega i spreava slanje takvih bitova. Sada imamo pogrene podatke
koje prijemni uredaj mora da ispravi. Svaki put kada naide na nulu iza pet uzastopnih jedinica, on
pretpostavlja da je ubaena i uklanja je. Poto polje flega nije predmet popunjavanja bitova na strani
poiljaoca, to je jedino mesto na kome je mogu ovakav uzorak bitova.
Polje Address je jasno samo po sebi. Ima 8 bitova kod standardnog formata i 16 bitova u
proirenom formatu. Proireni format omoguava identifikovanje veeg broja ureaja. Ako
primarna stanica poalje okvir, polje Address definie sekundardnu stanicu kojoj se okvir alje.
Ovo je neophodno kod multipoint konfiguracija, kada postoji vei broj sekundarnih stanica. Ako
sekundarna stanica alje okvir, polje Address sadri identitet poiljaoca. Poto postoji samo jedna
primarna stanica i sekundardne stanice ne mogu da alju podatke izmedu sebe, odredina adresa
nije potrebna. Izvorna adresa je neophodna samo da bi primarna stanica znala odakle okvir
potie.
SLIKA 9.5 Format HDLC okvira
broj bitova: 8
Fl ag Address
8, ili 16 8, ili 16
Cont r ol
polje promenljive duine
Data
16, ili32
FCS Fl ag
8
SLIKA 9.6 Popunjavanje bitova
U nekim sluajevima polje moe da sadri grupnu adresu, ili emisionu adresu (broadcast
address) (sve jedinice). Sve sekundardne stanice u preddefmisanoj grupi prihvataju okvir sa grup-
nom adresom. Svaka sekundardna stanica sa kojom primarna stanica uspostavlja link prihvata
okvir sa emisionom adresom.
Polje Data sadri podatke i promenljive je duine. Videemo da u nekim sluajevima nema
podataka i da ovo polje ne postoji. Za CRC detekciju greaka koristi se Frame Check Sequnece
(FCS). Polje moe da bude dugako 16 bitova (standardni format), ili 32 bita (proireni bit).
Najee se sree 16-bitno polje, koje se definie pomou CRC polinoma x
16
+ x
12
+ x
5
+ 1, kao
to je opisano u odeljku 4.3.
Polje Control ima osam (standardni format), ili 16 bitova (proireni format) i koristi se za slanje
informacija o statusu, ili za izdavanje komandi. Njegov sadraj zavisi od tipa okvira. Postoje tri
tipa: informacioni okvir, supervizorski okvir i nenumerisani okvir. Na slici 9.7 prikazan je stan
dardni format svakog tipa okvira. Kod proirenog formata polja su vea, ili okvir sadri neisko-
riene bitove; ovde razlike nisu bitne.
Prvi bit, ili prva dva bita definiu tip okvira. Kao to je pokazano na slici 9.7, informacioni okvir
uvek poinje sa O, supervizorski okvir sa 10, a nenumerisani okvir sa 11. Zahvaljujui ovim
defmicijama, prijemni ureaji uvek mogu da utvrde tip pristiglog okvira.
Informacioni okviri se koriste prvenstveno za prenos informacija (polje Data sa slike 9.5),
koristei ili go-back-n protokol, ili protokol klizajuih prozora sa selektivnom retransmisijom.
(b) Pet uzastopnih jedinica
preneti podaci
popunjeni bit
(a) Vie od pet uzastopnih jedinica
prvi bit "popunjeni" 0 bit
nakon pete jedinice
podaci
podaci
prvi bit "popunjeni" 0 bit
nakon pete jedinice
popunjeni bit
preneti podaci
SLIKA 9.7 Kontrolna polja za HDLC okvire
Polja N(R) i N(S) su slina onomima koja smo ranije nazivali frame.ack i frame.number,
respektivno. N(R) (broj primljenih okvira) je piggyback potvrda koja ukazuje da su svi okviri do
N(R) - 1 primljeni. Ekvivalentno, ureaj trenutno oekuje okvir numerisan kao N(R). Slino
tome, N(S) je broj poslatih okvira. Polja N(R) i N(S) su obino dugaka tri (standardni okvir), ili
sedam bitova (proireni okvir). Zato se numerisanje okvira i aritmetika poput N(R) - 1 izvode po
modulu 8 (2
3
), ili po modulu 128 (2
7
).
P/F bit oznaava Poll/Final bit. Njegovo znaenje zavisi od toga da li bit alje primarna (PoIl bit),
ili sekundardna stanica (Final bit). Primarna stanica moe da zahteva odziv sekundame stanice
slanjem okvira sa P bitom postavljenim na 1. Na primer, primarna stanica moda hoe da zna da
li sekundardna ima podatke za slanje, ili moe da zahteva njen status u vezi nekog procesa.
LI svakom sluaju, oekuje se odziv sekundardne stanice (uskoro emo videti i neke primere).
Kada sekundardna stanica alje okvir, F bit ukazuje da je tekui okvir poslednji u nizu okvira.
Supervizorski okviri se koriste u svim uredajima za ukazivanje na tekui status, ili za negativne
potvrde (NAK) neispravno primljenih okvira. N(R) i P/F bitovi rade isto kao i kod informacionih
okvira. Razlike postoje u 2-bitnom polju S, koje je definisano na sledei nain;
RR (Receive Ready): Spreman za prijem (00) Kada ureaj treba da ukae da je
spreman i da moe da primi informacije, on alje RR okvir. Taj okvir se koristi i za
periodinu potvrdu primljenih okvira kada nema odlazeih podataka.
(a) Informacioni okvir
broj bitova:
broj bitova:
(b) Supervizorski okvir
broj bitova:
(c) Nenumerisani okvir
REJ (Reject): Odbacivanje (01) Ovo je slino NAK potvrdama koje su predstavljene
kod go-back-n protokola. Ovim poljem se od drugog uredaja zahteva slanje svih
nereenih okvira, poevi od onog iji je broj defmisan sa N(R). Ovo moe da se desi
ako okvir stie van redosleda, ili je oteen.
RNR (Receive Not Ready): Nije spreman za prijem (10) Ako su baferi uredaja
skoro puni, ili ako je detektovana greka na njegovoj strani linka, uredaj moe da
zaustavi tok dolazeih okvira slanjem RNR okvira.
SREJ (Selective Reject): Selektivno odbacivanje (11) Ovo je slino NAK
potvrdama koje su predstavljene kod protokola selektivne retransmisije. Zahteva se da
drugi uredaj poalje okvir iji je broj definisan sa N(R).
Dok informacioni i supervizorski okviri kontroliu i upravljaju transfer okvira, nenumerisani okviri
odreduju kako se protokol nastavlja. Na primer, ranije smo istakli da HDLC moe da koristi
go-back-n, ili selektivna retransmisija, da moe da koristi okvire razliitih veliina i da moe da
komunicira u jednom od tri moda. Kako uredaj odluuje ta e da uradi?
Deo (c) na slici 9.7 prikazuje format nenumerisanog okvira. Dva polja oznaena sa M zajedno
definiu pet flegova ije vrednosti definiu komunikacioni protokol. Prirnarna stanica alje
komande, a sekundardna reaguje na komande postavljanjem odgovarajuih flegova. U tabeli 9.1
date su neke mogue komande i odzivi koji se mogu kodirati u sklopu nenumerisanih okvira.
HDLC primer Sledei primer opisuje proces uspostavljanja linka, razmenu okvira i
ponitavanje linka. Na slici 9.8 prikazana je mogua sekvencu razmene izmeu dva uredaja, A
(primarne stanice) i B (sekundame stanice). Pretpostavimo da se koristi go-back-n protokol.
Vertikalne strelice oznaavaju vreme prolaska. Nakoene strelice izmedu njih ukazuju na slanje
okvira i njihova odredita. Tekst u izvoru strelice definie sadraj okvira. Tekst na kraju strelice
definie ta se deava kada okvir stigne. Da bi se slika uprostila, nije naveden nikakav tekst u
sluajevima kada je okvir prihvaen bez greke.
Za poetak, na slici 9.8a prikazano je kako se konekcija moe uspostaviti. Uredaj B startuje
slanjem nenumerisanog okvira sa RIM funkcijom. Ovo je zahtev koji primarna stanica (A) alje
u vidu nenumerisanog okvira sa kodom funkcije SIM. Kada B primi SIM, poinje procedura
inidjalizadje i potvrduje se prijem SIM-a slanjem drugog nenumerisanog okvira sa funkcijom
UA. Kada A primi UA, zna da se B inicijalizuje. U tom sluaju, A odluuje da se kao mod odziva
koristi ARM i alje drugi nenumerisani okvir sa tom funkcijom. Kada B primi okvir, ponovo alje
potvrdu slanjem drugog UA okvira. Kada A primi potvrdu, stanice su spremne za komunikaciju.
Na slici 9.8b prikazan je primer razmene okvira. Poto je mod odziva ARM, A i B poinju da alju
informacione okvire (i okvire). B alje svoja prva dva okvira sa brojevima N(S) = 0 i LU oba
sluaja N(R) je 0. Poto B jo uvek nije nita primio, oekuje prvi okvir (broj O). LI meduvremenu,
A alje svoja prva tri okvira, sa brojevima N(S) = 0, 1 i 2. U prva dva okvira N(R) = 0, jer A jo
uvek nije nita primio.
Funkcija Znaenie
SNRM: Set Normal
Response Mode (C)
SNRME: Set Normal Respons
Mode Extended (C)
SARM: Set Asynchronous
Response Mode (C)
SARME: Set Asynchronous
Response Mode Extended (C
SABM: Set Asynchronous
Balanced Mode (C)
SABME: Set Asynchronous
Balanced Mode Extended (C
DISC: Disconnect (C)
RSET: Reset (C)
SIM: Set Initialization Mode (
UP: Unnumbered Poll (C)
Ul: Unnumbered Information
(C, ili R)
XID: Exchange Identification
(C, ili R)
RIM: Request Initialization
Mode (R)
RD: Request Disconnect (R)
DM: Disconnect Mode (R)
UA: Unnumbered
Acknovvledgment (R)
TEST: Test (C, ili R)
FRMR: Frame Reject (R)
Komunikacija u modu normalnog odziva sa standardnim
formatom okvira
Komunikacija u modu normalnog odziva sa proirenim
formatom okvira
Komunikacija u modu asinhronog odziva sa standardnim
formatom okvira
Komunikacija u modu asinhronog odziva sa proirenim
formatom okvira
Komunikacija u asinhronom balansiranom modu sa
standardnim formatom okvira
Komunikacija u asinhronom balansiranom modu sa
proirenim formatom okvira
Inicira raskidanje veze izmedu dva uredaja. Raskidanje veze je
kompletirano kada drugi uredaj reaguje sa UA funkcijom
(videti dole).
Svaki uredaj prati vrednosti N(R) i N(S) kako okviri prolaze. Ako
dode do greke (recimo na viem nivou od HDLC), kontrola
veze podataka moe da reinicijalizuje razmenu okvira. RSET
resetuje praene vrednosti N(R) i N(S) na prethodno
uspostavljenu vrednost.
Nalae drugom uredaju da inicijalizira svoje funkcije za kontrolu
veze podataka.
Poziv (zahtev) za dobijanje informacija o statusu specifinog
ureaja
Koristi se za slanje informacija o statusu. Obino se alje iza
UP, ili SIM.
Omoguava razmenu informacija o identifikaciji, ili statusu
izmeu dva uredaja.
Zahtev sekundarne stanice primarnoj stanici da poalje SIM
Zahtev sekundardne stanice primamoj stanici da inicira
raskidanje veze slanjem DISC okvira
Govori primamoj stanici da sekundardna stanica nije operabilna
(nije prikljuena).
Koristi se za potvrdu prethodno poslatih komandi, kao to su
postavljanje moda, ili raskidanje konekcije.
Zahteva od drugog uredaja da poalje test odziv. Uredaj koji
alje zahtev moe da postavi neto u polje podataka to bi
prijemni uredaj vratio radi testiranja linka.
Koristi se za ukazivanje da je pristigli okvir odbaen. REJ funkcija
odbacuje oteene okvire, ili okvire koji su primljeni van
redosleda. FRMR se koristi, na primer, ako je kontrolno polje
pogreno definisano, ili ako Je stigla potvrda za okvir koji nikada
nije poslat.
C = komanda; R = odziv
Meutim, A prima okvir od B nakon to poalje drugi okvir, Zato kod treeg okvira A postavlja
N(R) = 1, potvrdujui prijern okvira 0.
Zatim, pretpostavimo da drugi okvir koji A alje stie oteen. B alje supervizorski okvir sa
kodom funkcije REJ i N(R) = 1, Ovaj okvir je zaduen za dve "stvari": potvrduje da je B primio
okvir 0 od A i kae da se dolo do greke i da A treba ponovo da poalje sve, poevi od okvira 1.
U meuvremenu, B i dalje oekuje okvir 1, tako da kada stigne sledei okvir, B ga odbija, jer je
van redosleda.
Eventualno, A prima REJ okvir i ponovo alje okvire, poevi od naznaenog broja. Ako ima tri
okvira za slanje, oni sadre N(S) = 1, 2 i 3. Napomenimo da je u svakom od tih okvira N(R) sada
2 - dok smo prikazivali ta B radi sa oteenim okvirom, A je primio jo jedan (svoj drugi) i okvir.
Ova tri okvira eventualno dopiru do B. Meutim, B je uao u period neaktivnosti i ne moe da
prosledi nikakvu potvrdu. Izmedu dolaska okvira 1 i 2 njegov tajmer istie.
Slanje SIM funkcijs
Slanje SARM funkcije
Uredaj A
Ureai B
Slanje RIM funkcije
Slanje UAfunkcije
Slanje UA funkcije
(a) Uspostavljanje linka
vreme
Slanje DSIC funkcij
Uredaj A
Uredaj B
SlanjeUAfunkcije
vreme
(C) Raskidanie linka
SLIKA 9.8 Komuniranje pomou HDLC protokola
(b) Razmena okvira
Slanje i okvira
N(R) = 0, N(S) = 0
N(R) = 0, N(S) = 1
N(R)= 1,N(S) = 2
Slanje i okvira
N(R) = 2, N(S) = 1
N(R) = 2, N(S) = 2
N(R) = 2, N(S) = 3
vreme
SlanjeRRsa N(R) = 3
nema aktivnosti
Slanje REJ funkcije sa N(R) = 1
Okviri su odbaeni
Stiu oteeni okviri
N(R) = 0, N(S) = 1
N(R) = O, N(S) = O
Slanje i okvira
Uredaj A
Uredaj B
* Interesantno je napomenuti da BSC moe da se koristi sa manje poznatim 6-bitnim kodom nazvanim Transcode (u stvari,
moda i ne moe).
SLIKA 9.9 Format BSC okvira
(c) Kontrolni okvir
c o n t r o l char act er s SYN SYN
(b) Transparentni podaci
SYN SYN SOH header DLE STX data DLE ETX BCC
(a) Netransparentni podaci
SYN SYN SOH header STX data ETX BCC
alje supervizorski okvir sa kodom funkcije RR, koja reafirmie da je B i dalje spreman za
prihvatanje okvira i potvrduje prijem okvira broj 2 (postavlja N(R) = 3). Korienje RR je ovde
slino sluanju preko telefona ekscentrine tetke koja se ali na svoje susede. Drite telefonsku
slualicu na uvetu dok pravite kolae i povremeno izgovarate: "Da, tetka."
Ovakva razmena okvira se javlja sve dok obe stanice ne zavre slanje. Stanica A donosi odluku da
je vreme da raskine konekciju slanjem nenumerisanog olcvira sa kodom funkcije DISC (slika
9.8c). Kada B primi okvir, potvruje ga slanjem UA okvira. Kada A primi potvrdu, zna da su se
obe strane sloile da raskinu konekciju i okonaju link (ne sputajte slualicu bez tetkinog
odobrenja; jednom ete se nai u situaciji u kojoj sve zavisi od njene volje).
Binarny Synchronous Communications (BSC) protokol
Pre nego to zavrimo, predstaviemo ukratko binarni sinhroni komunikacioni protokol, koji
se nekada oznaava kao BSC, ili bisync protokol, koga je razvio IBM. Koristi se kod sinhronih
half-duplex komunikacija i koristi stop-and-wait kontrolu toka. Re je o starom protokolu,
ali predstavljamo ga da bismo mogli da napravimo poreenje sa bitovima orijentisanim
protokolom.
Za razliku od prethodno predstavljenih protokola, BSC je bajtovima orijentisan. Naime, uredaj
interpretira okvire kao sekvencu kontrolnih bajtova i bajtova sa podacima. Vrednosti bajtova
mogu da se interpretiraju pomou ASCII, ili EBCDIC skupova karaktera.* BSC koristi nekoliko
razliitih formata okvira. Na slici 9.9 prikazana su tri tipina okvira: format kontrolnog okvira i
dva formata za okvire sa podacima.
U svakom sluaju, okvir poinje sa dva SYN karaktera. Oni omoguavaju primaocu okvira da
podeli niz bitova na bajtove (da se naznai gde se jedan bajt zavrava, a drugi poinje).
Iza SYN bajtova slede jedan, ili vie kontrolnih bajtova. U kontrolnom okviru (slika 9.9c)
kontrolne bajtove sainjava najvei deo prenetih informacija. Kontrolne informacije su sline
onome to smo prethodno naglasili. Kontrolni bajtovi mogu da obezbede potvrdu za ispravno
primljene okvire, ili NAK za one koji su primljeni netano, ili za postavljanje zahteva za odziv
drugog ureaja.
U okviru sa podacima prvi kontrolni bajt je SOH (Start of Header poetak zaglavlja). Govori
prijemnom uredaju da sukcesivni bajtovi u pristiglom okviru sadre informacije zaglavlja.
Informacije zaglavlja mogu da budu razliite, ali obino ukljuuju identitet, ili adresu uredaja
poiljaoca i primaoca. Na primer, identifikator odredita je neophodan kada primarni ureaj alje
neto preko multipoint linije, a identifikator prijemnog uredaja je neophodan kada primarni
uredaj prima neto od njega.
Iza informacija zaglavlja sledi STX (Start of Text poetak teksta) karakter (slika 9.9a), ili
kombinacija DLE (Data Link Escape) i STX karaktera (slika 9.9b). U prvom sluaju STX ukazuje
na poetak teksta. To znai da sukcesivni bajtovi predstavljaju podatke. Medutim, poto broj
bajtova sa podacima moe da bude razliit, protokol mora da nae naina da oznai kraj
bajtova podataka. To izvodi pomou ETX (End of Text kraj teksta) karaktera. Dakle, prijemni
uredaj prima i prihvata bajtove kao bajtove podataka sve dok ne naide na ETX.
Kod aplikacija kod kojih podaci sadre kodove karaktera koji se mogu tampati ovo je jednostavan
nain za ukazivanje njihovog kraja. Ali, ta je sa binarnim fajlovima iji se podaci sastoje od
nasuminih uzoraka bitova? Sta se deava ako se u podacima u okviru nade ETX karakter? ta e
spreiti prijemni uredaj da ga interpretira kao kontrolni bajt i da se tako izgube preostali podaci?
Ureaj koristei BSC protokol ovo reava postavljanjem STX karaktera zajedno sa DLE karakterom,
koji se ponaa kao preklopnik. Kada prijemni uredaj vidi par DLE-STX, onesposobljava proveru
kontrolnih bajtova, kao to je ETX. Osim toga, provera ostaje onesposobljena sve dok prijemni
uredaj ne naide na sledei DLE karakter. Kada se naie na sledei DLE karakter, prijemni uredaj
osposobljava dalju proveru postojanja ETX, ili STX karaktera.
Na prvi pogled deluje kao da jo uvek nismo reili problem. Sta ako u podacima postoji sekvenca
koja je identina DLE karakteru? Protokol zaobilazi ovaj problem maskiranjem DLE karaktera u
svojim podacima. Na slici 9.10 pokazano je kako zaobilazi.
SLIKA 9.10 Popunjavanje bajta
prenetl okvlr
dodatni bajt
BSC okvlr
DLE STX d a t a DLE. d a t a DLE ETX
.DLE STX . d a t a DLE DLE dat a DLE ETX
Uredaj koji alje okvir prouava karaktere koji predstavljaju podatke. Svuda gde postoji DLE
karakter umee dodatni DLE karakter. Ovaj proces se naziva popunjavanje bajta (byte stuffing)
i slian je ranije prikazanom popunjavanju bitova; jednostavno, funkcionie na drugom nivou.
Kada prijemni uredaj naide na DLE, odmah trai sledei. Ako nade slede karakter, zna da je
drugi laan i prihvata prvi kao obine podatke. Ako ne pronae, zna da DLE ne predstavlja
podatke i osposobljava proveru kontrolnih karaktera. Podaci razgranieni na ovakav nain
nazivaju se transparentni podaci - sadraj polja Data je transparentan za prijemni uredaj. Podaci
koji su razgranieni samo sa STX i ETX karakterima predstavljaju netransparentne podatke.
Poslednji karakter iz formata predstavljenog na slici 9.9 je BCC, Block Check Character. Koristi
se u sklopu BSC-ovog metoda za proveru greaka. Sadraj polja BCC zavisi od korienog
metoda za proveru greaka. Ako protokol koristi CRC proveru, BCC odgovara CRC-16
polinomu (videti odeljak 6.3). U drugim sluajevima BCC koristi longitudinalnu proveru
redundantnosti. Ovaj metod vizuelizuje okvir kao dvodimenzionalni niz u kome svaki red
predstavlja jedan bajt. Za svaku kolonu bit parnosti se odreduje na osnovu bitova iz te kolone i
smeta se u polje BCC.
9.3 Ethernet: IEEE standard 802.3
Sada, kada znate kako dva uredaja mogu da razmenjuju okvire (nezavisno od medijuma na koji
su povezani), sledei logian korak je prikaz tehnika za pristup medijumu (tj. MAC sloja). llbrzo
nakon to su razvijene LAN mree, IEEE je definisao tri formalna standarda: IEEE 802.3 za
Ethernet, IEEE 802.4 za token bus i IEEE 802.5 za token ring.
Ethernet je bio dizajniran kao topologija magistrale kod koje su se uredaji "nadmetali" za seg-
ment, koristei formu CSMA/CD protokola za "nadmetanje" (videti odeljak 4.7). Obino se
koristio za povezivanje radnih stanica, servera, tampaa i starih mainframe kompjutera. Deo
istorije Etherneta datira jo od 1973. godine. U okvim svoje doktorske teze, Robert Metcalfe je
opisao najvei deo svojih istraivanja o LAN tehnologijama. Nakon odbrane teze, pridruio se
Xerox Corporation i radio je u grupi koja je implementirala ono to je postalo poznato kao
Ethernet. Ethernet je dobio naziv po etru (ether), imaginarnoj supstanci za koju se verovalo da
okupira sav prostor i da Je to medijum pomou koga se svetlosni talasi prostiru.
Kasnije su napisani koncepti Etherneta i predloeni su IEEE radi usvajanja za LAN mree. Predlog
je imao podrku Xeroxa, Intela i DEC-a. IEEE ga je usvojio kao standard i sada se karakterie kao
IEEE standard 802.3. Vredi napomenuti da su u to vreme u IEEE upuena jo dva predloga. Jedan
je podro General Motors, a drugi IBM. S obzirom da su ovako uticajne organizacije predlagale
odredene standarde, zvaninici u IEEE su se dvoumili koji je od tri predloga najprikladniji kao
LAN standard. Napravljen je kompromis i doneta su sva tri LAN standarda - druga dva su
postala IEEE 802.4 (token bus) i IEEE 802.5 (token ring).
Veina dananjih LAN mrea je zasnovana na originalnim Ethernet idejama, a itaoci e retko naii
na token bus, ili token ring mree. Zbog toga emo ovde predstaviti originalne Ethemet koncepte i
razliite nadogradnje, koje su bile uslovljene tehnolokim napretkom. Takode, zbog istorijskog
znaaja za ovu oblast i injenice da predstavlja dramatino drugaiji prilaz povezivanju ureaja,
kasnije emo predstaviti i token ring mreu. Ipak, neemo se baviti token bus standardom.
Koncepti
Iako je Ethernet namenjen za topologiju magistrale, u stvari postoji nekoliko naina za
povezivanje ureaja. Na slici 9.11 pokazano je kako je originalno konfigurisana konekcija
izmedu personalnog kompjutera i Ethernet segmenta (koaksijalnog kabla).* Iako koristimo
primer personalnog kompjutera, treba da znate da se i drugi uredaji mogu povezivati pomou
koaksijalnog kabla. Elektronski terminatori su postavljeni na oba kraja kabla. Oni spreavaju
vraanje eha signala kroz kabl, ime bi se stvorio lani signal i dolo bi do konfuzije u
komunikacijama. Efekat elektrinog eha je donekle slian situaciji u kojoj se ukljuujete u neku
radio emisiju i ujete sebe na radiju. Va glas obino malo kasni kako bi se onemoguilo da se
nepristojne rei izgovore u toku ive emisije. Zato prianje i sluanje svog zakasnelog glasa moe
da Vas dezorijentie i da ne uspete da razaznate ta Vam domain emisije govori.
Personalni kompjuter je povezan na kabl pomou dodatnog hardvera. Prvo, primopredajnik se
spaja sa kablom pomou konektora poznatog pod nazivom "vampire clarnp", uredaja sa pinom
koji se uklapa u spoljanji omota kabla i uspostavlja kontakt sa jezgrom kabla. Primarna
namena primopredajnika je da kreira interfejs izmeu kompjutera i kabla. Jedna od njegovih
funkcija je prenos bitova na kabl preko CSMA/CD protokola za "nadmetanje", koji omoguava
utvrdivanje da li na medijumu postoji saobraaj i da li je dolo do kolizije. Primopredajnik
komunicira sa personalnim kompjuterom pomou primopredajnog kabla (tranceiver cable).
Neki ga nazivaju AtJI (attachment unit interface) kabl.
terminator
SLIKA 9.11 Mogua Ethernet konekcija
Kimeni stub (okosnica) Etherneta
terminator
primporedajnik
AUI kabl
mrena interfejs
kartica
PC
* Ovo se odnosi na debeli Ethernet, koji je poznatiji kao 10Base5 kabl. Uskoro emo predstaviti i ostale specifikacije kablova.
Kabl ini pet parova upredenih parica. Dva para se koriste za slanje podataka i kontrolnih
informacija do kompjutera. Sledea dva se koriste za prijem podataka i kontrolnih informacija.
Peti par se koristi za povezivanje napajanja i za uzemljenje. Primopredajnik moe da komunicira sa
nekoliko ureaja preko multipleksera.
Kabl primopredajnika je povezan na personalni kompjuter preko mrene interfejs kartice
(NIC - network interface card), koja je instalirana na kompjuteru. NIC sadri logika kola
neophodna za baferovanje podataka i njihov prenos izmeu kabla primopredajnika i memorije
kompjutera. Vri i proveru greaka, kreira okvire, utvruje kada je potrebno ponoviti prenos
nakon kolizija i prepoznaje okvire koji su namenjeni njenom kompjuteru. Ukratko, izvrava
funkcije protokola za MAC sloj. Izvravanjem tih zadataka rastereuje procesorsku jedinicu
kompjutera, tako da on moe da se posveti svojim tipinim aktivnostima.
Najpre emo navesti u nizu i opisati aktivnosti koje su neophodne da bi personalni kompjuter
poslao podatke do drugog personalnog kompjutera. Ukljueni su sledei koraci:
1. Kompjuter poiljalac izvrava mreni softver koji u memoriju kompjutera postavlja
informacije u formi paketa. Nakon toga, alje signal NIC kartici preko interne magis-
trale da pajcet eka na slanje.
2. NIC dobijapaket i kreira okvir u odgovarajuem formatu, smetajui paket u polje
Data novokreiranog okvira. Potom, eka na signal od primopredajnika, koji nadgleda
segment, ekajui ansu za slanje okvira.
3. Kada primopredajnik detekujte neaktivnost na kablu, alje signal do NIC kartice, koja
odmah alje okvir do primopredajnika. Primopredajnik alje bitove na kabl i oslukuje
da li e doi do nekih kolizija. Ako ne dode do kolizije, pretpostavlja se da je prenos
uspeno obavljen. Ako dode do kolizije, primopredajnik obavetava NIC karticu. NIC
kartica izvrava binarni eksponencijalni backoff algoritam, koji smo opisali u odeljku
4.7, kako bi utvrdila ta dalje da preduzme. Ukoliko se kolizije i dalje javljaju, alje se
signal mrenom softveru, koji korisniku prikazuje poruku greke, ili izvrava neki algo
ritam kao odziv na greku.
4. Primopredajnik na prijemnoj strani nadgleda saobraaj preko kabla. Kopira okvire sa
kabla usmerava ih ka NIC kartici na toj strani.
5. Nakon toga, NIC vri CRC proveru greaka. Ako nije bilo nikakvih greaka, NIC
proverava odredinu adresu okvira. Ukoliko je okvir namenjen tom personalnom
kompjuteru, NIC baferuje podatke iz okvira (paket) u memoriju i generie prekid,
obavetavajui kompjuter da je paket stigao.
6. Personalni kompjuter izvrava mreni softver i utvrduje da li paket moe da se prihvati u
skladu sa algoritmima kontrole toka, koje smo predstavili u Poglavlju 8. Ako moe da se
prihvati, kompjuter uzima paket iz memorije radi dalje obrade. Ukoliko ne moe da se
prihvati, mreni softver reaguje u skladu sa protokolima sledeeg vieg sloja.
Svaki segment u okviru originalnog standarda imao je duinu najvie 500 metara. Ovo
ogranienje je bilo neophodno, zato to su se signali degradirali kako su se prostirali du
segmenta, a nakon 500 metara degradacija je bila znaajna. Ali, ta se moglo uraditi ako je, na
primer, ukupno rastojanje premaivalo tu granicu?
' Na mrei moe da postoji vei broj segmenata. Ogranienje od etiri repetitora je primenjeno samo na putanje izmeu dva
uredaja.
SLIKA 9.12 Povezivanje dva segmenta
terminator
Ethernet segment
repetitor
terminator
terminator
Ethernet segment
terminator
802.3 komitet je razmatrao taj problem i reio ga tako to je doputeno povezivanje vie
segmenata. Na slici 9.12 pokazan je jedan mogui nain da se to postigne, korienjem
repetitora (repeater), uredaja koji prihvata signal, regenerie ga i prosleduje dalje. Regenerisanje
omoguava prenos signala na veim udaljenostima. U optem sluaju, originalni 802.3 standard
jedoputao povezivanje dva kompjutera sa najvie etiri repetitora.*
Format Ethernet okvira
Na slici 9,13 prikazan je format Ethernet okvira. Kao i kod prethodnih formata okvira, nema
nekih velikih iznenadenja. Sadri uobiajene informacije:
Preamble (uvodni deo) 7-bajtni uzorak koji se sastoji od nazimeninih nula i
jedinica i koristi se za sinhronizaciju. Seate se da sinhronizacija uspostavlja uestalost
semplovanja bitova. Ovo je slino vodeem vokalu u bendu koji odreduje tempo
odbrojavanjern pre poetka pesme.
Start of Frame Delimiter (delimiter za poetak okvira) Specijalni uzorak
10101011 koji ukazuje na poetak okvira
Destination Address (odredina adresa) Ako je prvi bit 0, ovo polje definie
specifini uredaj. Ako je 1, odredina adresa predstavlja grupnu adresu i okvir se alje
do svih uredaja u nekoj preddefmisanoj grupi odreenoj adresom. Interfejs svakog
uredaja zna svoju grupnu adresu i odaziva se kada je prepozna. Ako su svi bitovi
jedinice, okvir se emituje do svih uredaja.
Source Address (izvorna adresa) Definie odakle okvir potie.
Data Length Field (duina polja sa podacima) Definie broj bajtova kombinacije
polja Data i Pad.
SLIKA 9.14 Maksimalno vreme za detektovanje kolizije
Uredaj A
Vreme potrebno za prostiranje uma kolizije nazad do A iznosi 0.5T.
Uredaj B
kolizija
preneti bitovi
Vreme za koje dolazi do kolizije prvog poslatog bita iz B je 0.5T.
SLIKA 9.13 Format Ethernet okvira
Data (podaci) Ovo polje je jasno samo po sebi.
Pad (dopuna) Polje Data mora da ima najmanje 46 bajtova (uskoro emo rei
neto vie o tome). Ako nema dovoljno podataka, dodaju se dodatni bajtovi
(dopunjavaju) tako da se dostigne potrebni broj bajtova.
Frame Check Sequence (provera okvira) Provera greaka pomou 32-bitnog CRC-a.
Na slici 9:13 moemo da vidimo gornju i donju granicu (od 46 do 1.500) bajtova za podatke i
dopunu. Gomja granica se koristi kako bi se spreili prenosi koji bi monopolizirali medijum na
due vreme. Donja granica postoji da bi se obezbedilo ispravno funkcionisanje tehnika za
detekciju kolizije. Da biste videli ta je potrebno, razmotrite scenario sa slike 9.14. Uredaj A
prenosi bitove na segment. Ti bitovi "putuju" preko segmenta i, neposredno pre nego to dopru
do B, uredaj B zapoinje prenos svojih podataka. Dolazi do kolizije izmedu bitova iz A i B i um
koji nastaje zbog kolizije "putuje" nazad do A. A eventualno uje da je dolo do kolizije i, ako i
dalje alje podatke, zna da su se njegovi okviri sudarili. Ako je A zavrio slanje svog okvira, onda
ne zna da li su u koliziji uestvovali njegovi okviri. Ne moe da zna da li je prenos bio uspean.
Kljuno za ispravno funkcionisanje CSMA/CD protokola je da, u sluaju da dode do kolizije,
poiljalac moe da je detektuje pre nego to zavri slanje okvira.
Ovo znai da okvir mora da bude dovoljno dugaak tako da uredaj i dalje prenosi bitove kada se
kolizija detektuje. Dakle, koliko je vremena potrebno da bi se kolizija detektovala?
broj bajtova
sour ce
addr ess
destination
adress
start of frame
delimiter
preamble
data field
length
dat a pad
f r ame cti eck
sequence
Ovo vreme delimino zavisi od toga koliko je poiljalac udaljen od mesta kolizije. Prethodno
smo istakli da je svaki segment u originalnom standardu mogao da ima maksimalnu duinu 500
metara i da su dva ureaja mogla da budu razdvojena najvie sa etiri repetitora. Tako je
maksimalna udaljenost iznosila 2.500 metara. Osim toga, elektrini signali putuju preko
bakamih vodova brzinom od oko 200 metara/|isec (mikrosekunde). To znai da je signal mogao
da pree 2.500 metara za oko 12,5 usec. Maksimalno vreme za vraanje uma do poiljaoca
iznosi jo 12,5 usec. Dakle, u najgorem sluaju, ureaju je potrebno 25 frsec da detektuje
koliziju.
Medutim, postoji i jedan faktor koji komplikuje celu situaciju. Postoji kanjenje kod svakog
repetitora, jer se pre prosledivanja vri regenerisanje bitova. Tano kanjenje zavisi od samog
ureaja, ali dizajneri doputaju kanjenje od po nekoliko ixsec za svaki repetitor. Dakle, osim 25
lisecza putovanje, mogu da postoje i etiri kanjenja pre detekcije kolizije i jo etiri kod bitova
koji su nastaju kao rezultat kolizije. U najgorem sluaju, nakon to poiljalac pone slanje, moe
da protekne 50 usec dok ne detektuje koliziju.
Ovo znai da svaki okvir treba da zahteva najmanje 50 usec za prenos. Sa brzinom prenosa od
10 Mbps, uredaj alje 10 bitova svake nsec. U 50 iasec mogue je poslati 500 bitova. Dodavanjem
nekih bitova, sigurnosti radi, minimalna veliina okvira je postavljena na 512 bitova, ili 64 bajta.
Fizike implementacije 10 Mbps Etherneta
Nakon itanja prethodnog teksta, moda ste se osvrnuli po laboratoriji, Oi uionici i rekli: "Osim
po NIC karticama na personalnim kompjuterima, nae konekcije ne izgledaju tako. Gde su
koaksijalni kablovi i repetitori?". Naravno, u pravu ste. Tehnoloki napredak je promenio nain
povezivanja mrea. Mnoge originalne implementacije Etherneta su koristile 10Base5 kabl,
50-omski koaksijalni kabl prenika 10 mm, koji je podravao brzinu prenosa podataka od IO
Mbps. Nazivan je i Thick Wire Ethernet, ili samo ThickNet, to je nedvosmisleno ukazivalo na
debeli, nezgrapni kabl. Kablovi debljine 10 mm su se obino postavljali kroz podrume, ili ispod
poda, ali su se teko savijali i vodili su se oko okova, kroz plakare i druge tesne prostore. Zato
nisu uvek mogli da se sprovedu blizu do uredaja koji je trebalo povezati. Zbog toga su postojale
konfiguracije sline onoj sa slike 9.11.
Da bi se omoguile jeftinije i fleksibilnije LAN mree, prikladnije za personalne kompjutere, IEEE
je kreirao modifikovani standard 802.3a, koji je koristio 10Base2 kablove. Kabl je podravao
prenos podataka na brzinama od 10 Mbps, ali je bio manjeg prenika i lake se savijao, to je bilo
znaajno za postavljanje kabla po okovima i u ormarima. Poto je bio jefitiniji, dobio je
nadimak Cheapernet, mada je kao tipini naziv korien Thin Wire Ethernet, ili ThinNet.
Dodatna fleksibilnost je omoguila drugaije konekcije u poredenju sa onima sa slike 9.11. Tanji,
fleksibilniji 10Base2 kabl je mogao da se prikljui direktno u kompjuter pomou T-konektora
(slika 9.15). Zahvaljujui ovome, logika primopredajnika je ugradena u NIC karticu koja je
instalirana na personalnom kompjuteru. Ovaj metod je omoguio redukovanje cene LAN-a, jer
je 10Base2 kabl mogao da se postavi do niza personalnih kompjutera, od kojih je svaki imao svoj
T-konektor. Nedostatak 10Base2 kabla je bilo to to je zbog manje debljine imao veu elektrinu
otpornost i nije mogao da se postavlja na velikim rastojanjima (oko 185 metara, to je malo u
poredenju sa 500 metara kod 10Base5).
SLIKA 9.16 Povezivanje personalnih kompjutera pomou huba
Ethernet segment
SLIKA 9.T 5 ThinNet konekcije izvedene pomou T-konektora
Sa druge strane, minimalno rastojanje izmedu dva susedna uredaja za 10Base2 kabl je iznosilo
oko pola metra, to je mnogo manje od minimalnih osam stopa izmedu primopredajnika
povezanih 10Base5 kablom. Zato je 10Base2 prikladan za povezivanje vie personalnih kom-
pjutera u laboratorijama, jer se u jednoj prostoriji kompjuteri obino postavljaju veoma blizu
jedni drugih.
Na slici 9.16 prikazana je sledea konfiguracija koja je prerasla u IEEE standard 802.3i. Jedan
uredaj nazvan hub (ponegde moe da se sretne i naziv vieportni repetitor (multiport repeater)),
ima vie portova - na svaki od njih moe da se prikljui jedan uredaj preko lOBaseT kabla
(kategorije 3, 4, ili 5 UTP), koji podrava brzine prenosa od IO Mbps. Hub je sa druge
strane povezan i na Ethernet segment, iako je mogue povezati jedan hub na drugi, ili ak na
komutator, ili ruter. Poslednja dva uredaja su zaduena za LAN konekcije; predstaviemo ih u par
narednih poglavlja.
Primeujete da sa ovakvim pristupom vie ne odravamo topologiju magistrale. Kako onda to
utie na protokole koje uredaji koriste? Moda je zauujue, ali ne utie; ureaj i dalje moe da
izvrava protokole magistrale, to je defmitivno jako zgodno, jer mrene kartice ne moraju da se
redizajniraju. Hub se prvenstveno sastoji od elektronike koja regenerie i mtira elektrine signale
koje primi od jednog uredaja preko portova, do drugog uredaja sa kojim je povezan. Drugim
reima, sve to uredaj poalje dostupno je svim ostalim uredajima, kao i kod magistrale. Osim
toga, ako dva ureaja istovremeno alju podatke, dolazi do kolizije,* takode kao kod magistrale.
Kaemo da svi uredaji koji su povezani na isti hub imaju isti domen kolizije. Znai, bar sa
stanovita uredaja, nema nikakve razlike u odnosu na povezivanje na fiziku magistralu i mogue
je koristiti protokol magistrale. Sa druge strane, magistrala moe da se svede na jedan hub.
Ovakav tip konfiguracije ima nekoliko prednosti. Prvo, koristan je u zgradama gde fizika
konfiguracija ne moe da se postigne pomou linearnih konekcija. Osim toga, na ovaj nain je
omoguena implementacija mrea uz iskorienje postojeih kablova, koji su esto postavljeni
u vreme izgradnje zgrade. Konano, centralizovana kontrola komunikacija uproava
dijagnostifikovanje i testiranje.
Sva tri standarda za kabliranje koriste elektrinu provodnost i Manester kodiranje za digitalne
signale. Optiki standard je 802.3), koji definie lOBaseF kabl, optiki fiber kabl sa vie modova
rada, koji, kao i drugi, podrava brzinu prenosa od 10 Mbps. LI stvari, lOBaseF ukljuuje tri
podskupa: lOBaseL (fiberlink), lOBaseFB (fiber backbone) i lOBaseFP (fiber passive). lOBaseFL
povezuje uredaje na hub slino lOBaseT kablu, ali je njegova maksimalna duina 2.000 metara.
lOBaseFB se obino koristi za povezivanje hubova; i on ima maksimalnu duinu 2.000 metara.
lOBaseFP se takode koristi za povezivanje uredaja na hubove. Razlika u odnosu na lOBaseFL je
to to se lOBaseFP koristi za manje instalacije i koristi pasivni spreni element kao hub. Pasivni
spreni element nema eksterni izvor napajanja i ne moe da povee vie od 33 ureaja. Osim
toga, njegova maksimalna duina iznosi 500 metara. Ovaj pristup nije mnogo uobiajen.
U tabeli 9.2 dat je pregled razliitih strategija povezivanja za 10 Mbps Ethemet standard.
9.4 Fast Ethernet (100 Mbps)
Brzina prenosa od 10 Mbps ne samo da je bila uobiajena, ve je smatrana i veoma velikom.
Naravno, tehnologija stalno napreduje i standardi moraju da je prate. Samim tim se menjaju i
potrebe korisnika. Brzina od 10 Mbps je bila zadovoljavajua za veinu aplikacija koje su
podrazumevale slanje emaila i razmenu manjih fajlova. Medutim, Web aplikacije, CAD
(computer-assisted design) sistemi, vei fajlovi poput onih sa multimedijalnim sadrajem, baze
podataka na serveru i sve vei broj korisnika poeli su da pomeraju granicu od 10 Mbps. Zato je
uspostavljen novi standard koji je podravao brzinu prenosa od 100 Mbps. Nazvan je Fast
Ethernet (brzi Ethernet), to moda zvui neadekvatno u dananje vreme, ali je tada, 1995.
godine, predstavljalo ogromno poboljanje. IEEE je dodao Fast Ethernet u svoju grupu 802.3
protokola i oznaio ga kao 802.3u.
* Ovo nije tano kod nekih kasnijih tehnlogija, ali doi emo i do toga.
Fast Ethernet odlikuje veina prethodno opisanih karakteristika. Formati Ethernet okvira i
adresa su isti. Zato postoje ogranienja za maksimalnu i minimalnu veliinu okvira. Konano,
"nadmetanje" se i dalje zasniva na CSMA/CD. Drugim reima, MAC sloj je isti.
Dakle, u emu se ogledaju glavne razlike izmedu Fast Etherneta i 10 Mbps Etherneta? Jedna je
oigledna - desetostruko poveanje bitske brzine. Ali, postoji jo mnogo toga, uglavnom zbog
injenice da uveanje bitske brzine za faktor 10 nije jednostavno. Moda izgleda lako razviti
hardver koji generie bitove sa 10 puta veom brzinom. Ipak, postoji problem. Medijum preko
koga se bitovi prenose ima ogranienja.
10 Mbps Ethemet je dizajniran tako da koristi koaksijalni kabl i, kao to smo ranije istakli,
bio je modifikovan za korienje UTP kablova. Sa druge strane, Fast Ethernet nije dizajniran za
koaksijalne kablove. Svi njegovi standardi za kabliranje ukljuuju UTP, STP, ili optiki fiber i
dizajnirani su za fizike topologije zvezde. Znai, razlike izmedu Fast Etherneta i 10 Mbps
Etherneta ogledaju se prvenstveno u fizikom sloju. Obradiemo sledee Fast Ethernet standarde:
100BaseTX, 100BaseT4 i 100BaseFX.
100BaseTX
Poinjemo sa 100BaseTX, koji je dizajniran za korienje u kombinaciji sa kategorijom 5 UTP
kablova. Kada je Fast Ethernet dizajniran za brzine od 100 Mbps preko UTP kabla kategorije 5,
pojavio se jedan ozbiljan problem. Poto je implementacija 10 Mbps Etherneta koristila
Manester kodiranje za digitalne podatke, izgledalo je razumno samo poveati frekvenciju tog
kodiranja kako bi se uzela u obzir vea bitska brzina.
IEEE standard Standardni kabl Komentari
IEEE 802.3
IEEE 802.3a
IEEE 802.3i
IEEE 802.3J
10Base5
10Base2
lOBaseT
10BaseFx
(ThickNet) 50-omski koaksijalni kabl, prenika 10 mm.
Maksimalna duina segmenta iznosi 500 metara. Ostale
granice su 4 repetitora, 5 segmenata i 100 uredaja po
jednom segmentu. Rastojanje izmeu primopredajnika
mora da bude najmanje 8 stopa. Koristi se Manester
kodiranje. Primenjuje se kod fizikih topologija magistrale.
(CheaperNet, ThinNet) 50-omski koaksijalni kabl, prenika 5
mm. Maksimalna duina segmenta iznosi 185 metara.
Doputena su najvie 4 repetitora, 5 segmenata i 30
ureaja po jednom segmentu. Minimalno rastojanje izmedu
vorova iznosi 0,45 metara. I ovaj standard koristi
Manester kodiranje. Primenjuje se kod fizikih topologija
magistrale.
Kategorija 3, 4, ili 5 UTP kabla. Centralni hub. Manester
kodiranje. Maksimalna duina UTP kabla je 100 metara.
Koristi se kod fizike topologije zvezde.
Fiber sa vie modova. Maksimalno rastojanje iznosi 200
metara za FL i FB, a 500 metara za FP. Koristi se kod fizike
topologije zvezde, ali FP koristi pasivni spreni element
kao hub. FP se ne sree esto.
Meutim, to nije funkcionisalo zato to su visokofrekventni signali mnogo vie podloni
umovima (EMI, elektromagnetnoj interferenci) kod kategorije 5 LJTP kablova. Zato je bilo
neophodno redukovati frekvenciju, to je opet stvaralo oigledan problem sa stanovita
prethodnog razmatranja poveanje bitske brzine. Jedna mogua opcija je ukljudvala korienje
NRZ kodiranja. Poto je signal bio fiksan za svaki bit (tj. nije bilo prenosa na sredini intervala),
neophodna frekvencija je prepolovljena. Problem je bio mogud gubitak sinhronizacije ako je
signal predstavljao dugaki niz nula (videti odeljak 3.2).
Da bi bio reen problem, lOBaseTX implementacija koristi emu blokovskog kodiranja pod
nazivom 4B/5B kodiranje. To je ema koja zamenjuje svaku polovinu bajta (tehniki termin je
polubajt) sa pet bitova. Poveanje broja bitova deluje neuobiajeno i, u stvari, izgleda kao da e
da pogora problem, jer je sada neophodno preneti 25 odsto vie bitova. Trik je u nainu
implementacije.
1010 - 0010 - 0000 - 0000 - 0000 - 0000
Prouimo najpre kako kod funkcionie. U tabeli 9.3 pokazano je kako se svaki polubajt menja sa
odgovarajuih pet bitova. Uzimo sledei niz polubajtova:
10110-10100-11110-11110-11110-11110
Primeujete ta se deava. Dugaki niz istog bita nije mogu. Bez obzira od kakvog niza poluba-
jtova krenete, rezultujui 5-bitni blokovi uvek sadre i nule i jedinice. U emu se ogleda prednost
ovakvog pristupa? Poto vie nemamo dugake nizove istog bita, nema potrebe da se koristi
Manester kodiranje. Tako moemo da iskoristimo jednostavniju NRZI emu kodiranja. Ipak, ak
i sa NRZI kodiranjem i signalima nie frekvencije, postoje odredeni nivoi uma kada se koriste
UTP kablovi kategorije 5.
Da bi se dalje redukovali umovi koji prate vie frekvencije, razvijena je nova ema signaliziranja,
pod nazivom Multilevel Line Transmission Three Levels (MLT-3).
Bitovi podataka 5B kod Bitovi podataka 5Bkod
0000
0001
0010
0011
0100
0101
0110
0111
11110
01001
10100
10101
01010
01011
01110
01111
1000
1001
1010
1011
1100
1101
1110
1111
10010
10011
10110
10111
11010
11011
11100
11101
SLIKA 9.17 Multilevel Line Transmission-Three Levels (MLT-3)
* Izostavili smo neke komponente, ali potpuno razumevanje svih komponenata zahteva poznavanje elektronskih i
signalnih karakteristika koje nisu predmet razmatranja u ovoj knjizi. U referenci [Fo03 ] moete da pronadete vie detalja.
Odstupa od prethodnih ema kodiranja na jedan znaajan nain: umesto da koristi signal sa dva
stanja (predstavljena visokim i niskim nivoom, ili -1 i 1), MLT-3 definie signal sa tri stanja.
Ta stanja oznaavamo sa -1, 0 i 1. U optem sluaju, MLT-3 signal krui kroz stanja sledeim
redosledom: -1, 0, +1, 0, -1, 0, +1, 0, -1 i tako redom. U stvari, ovo je slino vrednostima sinusne
funkcije koje se ponavljaju u pravilnim intervalima.
Svaki bit se u okviru MLT-3 eme predstavlja na sledei nain:
Ako je vrednost bita 1, MLT-3 signal prelazi na sledee stanje u nizu.
Ako je vrednost bita 0, MLT-3 signal zadrava trenutno stanje.
Na slici 9.17 prikazan je primer niza bitova i odgovarajueg MLT-3 signala. Pretpostavljamo da
signal startuje od 0. Poto je prvi bit 0, signal ostaje u trenutnom stanju za jedan interval. Drugi
bit je 1 i zato signal prelazi u sledee stanje +1. Trei bit je 0 i signal ostaje tu gde jeste, na +1.
etvrti bit je 1 i signal prelazi u sledee stanje 0. Peti bit je 1; signal se menja i prelazi na -I. Ovaj
uzorak se ponavlja za sve bitove u nizu. Za svaku jedinicu signal prelazi u naredno stanje; za
svaku nulu signal ostaje isti.
Kako ovo moe da pomogne? Dobro osmotrite sliku 9.17. Potrebna su najmanje etiri intervala
da MLT-3 signal prode jedan kompletan ciklus (-1 - 0 - +1 -> 0 - -1). Poredenja radi,
Manester kod moe da prode kompletan ciklus (nizak - visok - nizak) za jedan interval. To
znai da MLT-3 kodiranje zahteva oko 25 odsto maksimalne frekvencije Manester kodiranja.
Generie mnogo manji um i funkcionie sasvim zadovoljavajue sa UTP kablovima kategorije 5.
Na slici 9.18 prikazana je delimina slojevita struktura Fast Ethernet protokola.* Karakteristike
koje smo do sada opisali nalaze se ispod MAC sloja. Podsloj izmirenja (reconciliation sublayer)
uzima po etiri bita u jednom trenutku i alje ih do fizikog podsloja za kodiranje
(PCS-physical coding sublayer) preko interfejsa nezavisnog od medijuma (Mll-medium
independent interface). MII defmie konekciju izmedu NIC kartice i primopredajnika; ako je
primopredajnik eksterni, zahteva kabl sa 40-pinskim konektorom.
' Ovo vai i za lOBaseT.
SLIKA 9.18 1 OOBaseTX fiziki podslojevi
Ako je primopredajnik ugraden u NIC karticu (to je obino sluaj), neophodan je MII kabl.
U svakom sluaju, MII obezbeduje putanju podataka irine etiri bita. PCS vri blokovsko
kodiranje, menjajui svaki polubajt sa 5-bitnim kodom. Nakon toga, 5-bitni kod se alje do
fizikog podsloja zavisnog od medijuma (PMD - physical medium dependent), na kome se
generie MLT-3 signal, koji se, zatim, prenosi na medijum. Sledea karakteristika po kojoj se
ast Ethernet razlikuje od prethodnih verzija Etherneta je injenica da moe da se pokree u
half-dulpex, ili full-duplex modu.* Poto je originalni Ethernet koristio koaksijalni kabl i
osnovno Manester kodiranje, u jednom trenutku je bio mogu samo jedan prenos, inae je
dolazilo do kolizije. Zato su ureaji morali da koriste half-duplex mod. To se promenilo sa
primenom UTP kablova. Kablovi kategorije 5 obino sadre etiri para upredenih parica, a
lOOBaseTX ima dva; jedan za slanje, a drugi za prijem i detektovanje kolizija. Kada se uredaji
povezuju pomou lOObaseTX huba, koriste half-duplex mod. To je zbog toga to postoji zaseban
par za slanje i za prijem, tako da je i dalje mogua kolizija izmedu dva prenosa na habu. Ipak,
uredaji mogu da koriste full-duplex mod (istovremeno slanje i prijem) ako su povezani preko
komutatora (switch). Komutatori su ureaji sloja 2 i koriste se za razdvajanje domena kolizije;
odloiemo razmatranje o komutatorima i full-duplex operacijama do sledeeg poglavlja, u
kome se bavimo komutiranirn Ethemetom.
lOOBaseFX
Naravno, Fast Ethernet sa kablovima kategorije 5 nije jedina opcija. Sledea opcija je fiber i
lOOBaseFX defmie Fast Ethernet preko optikog fibera sa vie modova. Prednost fibera u
odnosu na bakarne vodove je duina segmenta.
fiziki podsloj zavisan od medijuma (PMD)
UTP
fiziki podsloj za kodiranje (PCS)
izmirenje
kontrola pristupa medijumu (MAC)
Obezbedivanje etiri bita za MII u svakom trenutku
interfejs neiav'isan od medijuma (MII) - 4-bitna putanja za podatke
Generisanje 4B/5B koda
Generisanje MLT-3 koda
lOOBaseTX ima maksimalnu duinu 100 metara, dok 100BaseFX linkovi mogu da budu dugaki
i do dva kilometra ako se koristi full-duplex mod. Kod implementacije su ukljuena dva fibera:
jedan za prenos, a drugi za prijem i detekciju kolizije.
Postavka fizikih slojeva za 100BaseFX je slina onoj za lOOBaseTX. Koristi 4B/5B blokovski
dekoder za zamenu svakog polubajta sa pet bitova. Medutim, poto fiber nema frekventna
ogranienja kao upredene parice, ne zahteva fazu MLT-3 kodiranja. Umesto toga, koristi NRZI.
100BaseT4
Recimo da su u Vaoj organizaciji elnici reili da zamene 10 Mbps Ethernet sa Fast Ethernetom.
Sada je za to neophodno samo instalirati uredaje i postaviti kablove kategorije 5 izmedu zidova,
ispod podova, iznad plafonskih ploa, kroz ispuste i ko zna kuda jo. Cesto je teko i skupo
zameniti postojee kabliranje novim. Da li to znai da ste, osim ako ne instalirate nove vodove
kategorije 5, "osueni" na brzinu od 10 Mbps? Sreom, ne.
Specifikacija 100BaseT4 je dizajnirana za kablove kategorije 3. Ovo je delimino zgodno za
zgrade koje su pravljene sa starijim vodovima kategorije 3. Zamene nisu neophodne. Naravno,
namee se pitanje kako da ih nateramo da rade. Frekventna ogranienja kategorije 5 su zahtevala
neka inovativna reenja da bi se postigle brzine od 100 Mbps. Ogranienja kategorije 3 su jo
ozbiljnija. Korienje 4B/5B dekodera, iza koga sledi MLT-3 ema kodiranja, moe da poslui kod
kategorije 5, ali stvara isuvie veliki um kod vodova kategorije 3. Zato je neophodan potpuno
drugaiji pristup.
Kao i lOOBaseTX, 100BaseT4 koristi emu kodiranja sa tri nivoa. Medutim, ovde je primenjen
sasvim drugaiji pristup. Umesto da se koristi blokovsko dekodiranje, kao U sluaju 4B/5B, koristi
se 8B/6T ema kodiranja. Ova ema pridruuje vrednost svakog bajta (osam bitova) jedinstvenom
stringu od est ternamih vrednosti, nazvanih tritovi (doslovni prevod bio bio mrve). Simboliki,
svaka od tih vrednosti se oznaava kao +,Oi-. Moda izgleda udno menjati osam vrednosti sa est,
ali imajte na umu da se osam bitova menja sa est tritova. Postoji 2* = 256 moguih 8-bitnih
stringova i 3
6
= 729 moguclh 6-tritskih stringova. Dakle, asocijacije koriste samo neto vie od
treine moguih tritskih stringova.
U tabeli 9.4 dati su neki tritski kodovi za manje vrednosti bajta. Kompletna tabela ima 256
slogova i ovde stvarno nema potrebe da se svi predstavljaju. Ako ste zainteresovani, u referenci
[HaOl ] moete da pronaete kompletnu tabelu.
Trit kod Bait Trit kod Bait Trit kod Bajt Trit kod Bajt
00
01
02
03
- +00- +
0-+-+0
0-+0-+
0- ++0-
40
41
42
43
-00+0+
0-00++
0-0+0+
0-0++0
80
81
82
83
- 00+- +
0-0-++
0-0+-+
0-0+-+-
CO
Cl
C2
C3
- +0+- +
0- +- ++
0- ++- +
0- +++-
Na slici 9.19 prikazan je signal kome su dodeljene dve sukcesivne vrednosti bajtova.
SLIKA 9.20 Slanje podataka na 100BaseT4 preko etiri para upredenih parica
SLIKA 9.19 8B/6T kodiranje
Primeujete da je 16 bitova preneto u 12 sukcesivnih vremenskih intervala (po jedan za svaki
trit), to daje smanjenje od 25 odsto u odnosu na slanje bitova sa NRZI kodiranjem. Poto nam
je potrebna brzina prenosa od 100 Mbps, signal mora da ima kapacitet promene na brzini bauda
od 75 miliona. Na alost, ovo i dalje zahteva frekvenciju koju kablovi kategorije 3 ne mogu da
postignu.
Ipak, kao i kablovi kategorije 5, kablovi kategorije 3 obino imaju etiri para upredenih parica.
100BaseT4 funkcionie tako to se podaci prenose preko tri para istovremeno. Specifikacija
100BaseT4 nalae da svaki ureaj koristi jedan par za prenos, a drugi za prijem i detekciju
kolizija. Druga dva para koriste se kao bidirekcioni medijum. Drugim reima, kada ureaj A alje
podatke do uredaja B, za to koristi par za prenos i dva bidirekciona para. Ako ureaj B alje
podatke, on koristi svoj par za prenos (prijemni par za uredaj A) i dva bidirekciona para.
Na slici 9.20 ilustrovano je kako to funkcionie. Uredaj A mora da poalje sledeu sekvencu
bajtova: B
1
, B
2
, B
3
, B
4
i tako redom.
vreme
C3 42 podaci (organizovani
po bajtovima)
Harvder uredaja A konvertuje svaki bajt u 6-tritski string, stvarajui niz tritova T
1
, T
2
, T
3
, T
4
i tako
redom koji se uvodi u multiplekser. Multiplekser ima tri izlaza. Stringovi T
1
, T
4
, i T
7
i tako dalje
"putuju" du prenosnog para ureaja A (koji je ukrten sa prijemnim parom ureaja B). Stringovi
T
2
, T
5
, T
8
, i tako dalje "putuju" preko dva bidirekciona para. Ako B alje podatke, koristio bi svoj
prenosni par i iste bidirekcione parove.
Poto se prenos javlja paralelno, dovoljna je manja bitska brzina za svaki par. Samim tim, koristi
se manja frekvencija za svaki par. Pretpostavimo da signal na svakom od tri para ima kapacitet
promene na brzini bauda od 25 miliona. To daje brzinu od 75 miliona tritova u sekundi. Poto
se est tritova proiruje u osam bitova, efektivna brzina prenosa podataka je 100 Mbps.
Najznaajnije je to to se frekvencija neophodna za brzinu bauda od 25 miliona nalazi u
granicama uma za kategoriju 3 UTP kablova.
Nedostatak 100BaseT4 specifikacije je to to ne moe da funkcionie u full-duplex modu, zbog
tipa signala koji se koriste na fizikom sloju i injenice da se za prenos podataka koriste tri od
etiri para upredenih parica. Znai, za full-duplex mod bilo bi neophodno obezbediti najmanje
est parova, ili koristiti neku novu tehniku.
Domen kolizije
Poslednji problem kojim emo se baviti je domen kolizije. I 10 Mbps i Fast Ethernet odravaju
minimalnu veliinu okvira od 512 bitova. Medutim, Fast Ethernet prenosi jedan okvir minimalne
veliine za 5,12 irsec, 10 puta bre od 10 Mbps Etherneta. Ne zaboravite da je signalima i dalje
potrebno vreme da preu medijum i da CSMA/CD protokol zahteva da uredaj i dalje bude
spreman za prenos ako dode do kolizije. To je problem za Fast Ethernet ako kolizija zahteva
skoro 50 nsec za detektovanje, jer je ureaj mogao odavno da se zaustavi kada se kolizija
detektuje. Zato domen kolizije mora znaajno da se redukuje. Standard zahteva samo jedan, ili
dva huba, u zavisnosti od toga da li je hub repetitor klase I, ili II. Repetitor klase II ima manje
kanjenje i bre prosleduje bitove. Meutim, on podrava samo jedan tip signala - ne moe da
povee lOOBaseTX i 100BaseT4 kabl. Dva repetitora klase II mogu da se nalaze u istom domenu
kolizije sve dok je link izmedu njih dugaak pet metara, ili krai. Repetitor klase I, iako sporiji,
moe da povezuje segmente razliitih tipova. Meutim, standard definie samo jedan repetitor
klase I u domenu kolizije.
U tabeli 9.5 moete da vidite konani pregled tri specifikacije Fast Etherneta.
9.5 Gigabit Ethernet
Sledei veliki korak u razvoju Etherneta bili su novo desetostruko poveanje bitske brzine i razvoj
Gigabit Ethernet standarda. Kao to nasluujete na osnovu naziva, podrane su brzine od 1.000
Mbps (1 Gbps). Motivacioni faktori za razvoj Gigabit Etherneta su bili slini onima za razvoj Fast
Etherneta: sve vei broj velikih fajlova, vie multimedijalnih aplikacija (posebno real-time
aplikacije), vei broj korisnika, sofisticiranije Web aplikacije i tako dalje. Sve vee potrebe
korisnika su zahtevale porast i razvoj novih tehnologija.
MAC podsloj
Gigabit Ethernet je dizajniran za korienje sa dva optika fibera (lOOOBaseSX i lOOOBaseLX) i
preko bakarnog voda (lOOOBaseT i lOOOBaseCX). Ubrzo emo opisati fizike slojeve, ali najpre
emo se fokusirati na znaajni problem MAC sloja koji nije predstavljen kod Fast Ethernet
standarda. Gigabit Ethernet moe da funkcionie i u half-duplex i u full-duplex modu. U
full-duplex modu nema kolizija i zato je CSMA/CD onesposobljen. Medutim, kolizije su mogue
u half-duplex modu,i zato je domen kolizije problematian. Videli smo kod Fast Etherneta da je
uredaj mogao na 100 Mbps da prenese okvir minimalne velidne za 5,12 sec. Zato je veliina
domena kolizije smanjena na oko 200 metara za UTP kabl kategorije 5. Na gigabitskim
brzinama uredaj prenosi okvir minimalne veliine za 0,512 sec. Za UTP kablove kategorije 5 to
redukuje veliinu domena kolizije na oko 25 metara, to ne predstavlja veliku oblast u kojoj bi
se mrea formirala.
Ovo je pravi problem i postoje tri naina da se rei. Prvi je da se kolizije u potpunosti eliminiu
tako da minimalna velilna okvira ne bude definisana. To moe da se postigne pomou
komutatora; predstaviemo ih u sledeem poglavlju. Druga opcija je poveanje minimalne
veliine okvira. Iako se u mnogim implementacijama Gigabit Etherneta prelo na full-duplex
okruenja bez kolizija, standard i dalje podrava CSMA/CD sa poveanjem minimalne veliine
okvira sa 512 na 4.096 bitova. Ovo je osmostruko poveanje i veliine okvira i vremena
potrebnog za njegov prenos. Ipak, na ovaj nain je omoguena duina segmenta od 100 metara,
slino Fast Ethernet specifikacijama. U full-duplex modu MAC okvir je isti kao i kod prethodnih
standarda. U half-duplex modu slika 9.21a pokazuje kako standard poveava veliinu okvira,
koristei ekstenziju nosioca (carrier extension).
Komentari Specifikacija kabla
100BaseTX
100BaseFX
100BaseT4
Koristi dva para upredenih parica kod kablova kategorije 5 i 4B/5B, iza
kog sledi MLT-3 kodiranje. U domenu kolizije se koriste maksimalno
dva repetitora klase Il (ako se nalaze na rastojanju od pet metara, ili
manje), ili jedan repetitor klase I. Maksimalna duina segmenta je
100 metara.
Optiki fiber sa vie modova rada. Koristi 4B/5B i NRZI kodiranje.
U domenu kolizije koriste se maksimalno dva repetitora klase II, ili
jedan repetitor klase I. Maksimalna duina segmenta iznosi 136 metara
ako su oba linka u istom domenu kolizije izvedena pomou fibera, a
160 metara ako je drugi link UTP. Ako fiber povezuje dva komutatora,
duina segmenta moe da bude 412 metara (half duplex), ili 2.000
metara (full duplex).
Koristi etiri para upredenih parica kod kablova kategorije 3. Koristi se
8B/6T kodiranje i tritovi se prenose istovremeno preko tri para
upredenih parica. Izmedu uredaja je mogue postaviti najvie dva
repetitora klase II, ili jedan klase I. Ne moe da se koristi u full-duplex
modu. Maksimalna duina segmenta iznosi 100 metara.
SLIKA 9.21 Gigabit Ethernet okviri
Na slici 9.13 je prikazan standardni Ethernet okvir. Ako je za podatke potrebno manje od 46
bajtova, polje Data se dopunjava tako da se postigne originalni minimum od 64 bajta. U ovom
sluaju ekstenzija nosioca sadri 448 bajtova neophodnih za postizanje minimuma od 512
bajtova. Ako je za podatke potrebno vie od 46 bajtova, onda se ekstenzija nosioca smanjuje za
po 1 bajt za svaki dodatni bajt podataka. Ukoliko su za podatke potrebna 494 bajta, ili vie, onda
okvir ispunjava zahteve za minimalnom duinom i nema potrebe za ekstenzijom nosioca.
Ovo je sasvim opravdan pristup ako je potrebno poslati velike koliine podataka. Medutim, ako
veina okvira sadri manju koliinu podataka, ekstenzija nosioca je samo jo jedna dodatna
dopuna i nije efikasna. Na kraju krajeva, kreiranje okvira od 512 bajtova samo da bi se prenelo
nekoliko podataka nije isplativo. To bi bilo isto kao da sa cisternom idete do prodavnice na oku
da biste sipali u nju dva litra mleka. Da bi standard efikasnije funkcionisao, Gigabit Etherner
koristi sporadino slanje okvira (frame bursting) (slika 9.21b). Ideja je da se prenese vie okvira bez
potrebe da svaki od njih prolazi kroz protokol za "nadmetanje". Standard to postie kreiranjem
navalnog okvira fburst frame), koji se sastoji iz jednog MAC okvira (ukljuujui ekstenziju
nosioca), iza koga sledi niz dodatnih MAC okvira. Svi ostali MAC okviri u nizu nemaju
ekstenziju nosioca i svaki par sukcesivnih okvira razdvaja 96-bitni razmak.
Uredaj prolazi kroz uobiajeni CSMA protokol i, kada dobije pristup medijumu, prenosi navalni
okvir. Prvi ugraeni MAC okvir ima ekstenziju nosioca, tako da e uredaj detektovati sve kolizije
pre slanja drugog ugradenog MAC okvira. Ako ne dode do kolizije, uredaj prenosi preostale MAC
okvire i razmake ugradene u navalni okvir bez prolaska kroz protokol "nadmetanja" za pristup
medijumu za svaki pojedini okvir. Razmaci izmedu okvira spreavaju oslobadanje medijuma;
svi ostali uredaji koji se "nadmeu" za pristup medijumu vide da je zauzet sve dok prenosi
navalni okvir.
minimum od 64-bajta
O -448 bajtova
MAC okvir
ekstenzija
nosioca
minimum od 512-bajtova
(a) Korienje proirenja nosioca
preamble/
delimiter
MAC
okvir
razmak
preamble/
delimiter
MAC
okvir
razmak
preamble/
delimiter
MAC
okuir
razmak
maksimum od 8192-bajta
(b) Navalni okvir
Kada se Gigabit Ethernet pokree u full-duplex modu, minimalna veliina okvira i navalni okviri
nisu neophodni, jer ne dolazi do kolizija. U tom sluaju, Gigabit Ethernet koristi isti format MAC
okvira koji koriste i prethodne verzije.
IOOOBaseX
Prva Gigabit Ethernet specifikacija je bila opisana u IOOOBaseX, 802.3z standardu. IOOOBaseX
standard, u stvari, ukljuuje tri zasebna medijuma: kratkotalasni optiki fiber (1000BaseSX),
dugotalasni optiki fiber (1000BaseLX) i zatieni bakarni kabl (1000BaseCX). Bakarni kabl ima
drugaije elektrine karakteristike u poredenju sa UTP kablovima kategorije 5 i omoguava velike
bitske brzine na rastojanjima do 25 metara. Obino se koristi za povezivanje centralizovanih
ureaja na ispitnim mestima.
Razlika izmedu optikih fibera sa kratkim i dugim talasima ogleda se u frekvenciji svetlosti koja
se prenosi kroz fiber. Kratki talasi koriste signale sa viim frekvencijama na fiberu koji funkcionie
u vie modova. Dugaki talasi doputaju korienje fibera sa vie modova, ili u jednom modu.
Kratkotalasni laseri su slini onima koji se koriste za CD tehnologije. Jeftiniji su, ali signal bre
slabi, to znai da su doputena kraa rastojanja. Dugotalasni laseri su skuplji, ali je integritet
signala sauvan i na veim udaljenostima.
Fiziki sloj Gigabit Etherneta za IOOOBaseX podsea na onaj sa slike 9.18. Medutim, umesto
interfejsa nezavisnog od medijuma, sa putanjom irine etiri bita, ovde se koristi interfejs zavisan
od Gigabit medijuma (GMII - Gigabit medium independent interface), sa putanjom irine osam
bitova. Sloj izmirenja obezbeuje jedan bit podataka na svakoj putanji na svakih osam
nanosekundi za fiziki podsloj za kodiranje (PCS). Svaka 8-bitna putanja moe da smesti 125
Mbps; kombinovana brzina prenosa iznosi 1 Gbps.
Kao i PCS kod Fast Etherneta, PCS za Gigabit Ethernet koristi emu blokovskog kodiranja. Ipak,
ovde se koristi 8B/10B ema kodiranja, koja menja osam bitova podataka sa IO bitova koda.
Svaki 10-bitni kod ima ili etiri, pet, ili est nula (i naravno, est, pet, ili etiri jedinice). Razlog je
isti kao i ranije; da bi se spreili dugaki nizovi nula, ili jedinica. 8B/10B ema je konceptualno
slina 4B/5B emi; medutim, obezbeuje bolji DC balans. To znai da, kada se string proiri,
rezultat ukljuuje slian broj nula i jedinica i slinu uestalost prelaza sa O na 1 i obratno.
Postoji nekoliko prednosti ove specifikacije. Prva je sinhronizacija koju smo ranije prikazali.
Druga je to to postoji vie 10-bitnih kodova nego 8-bitnih podataka. Zato se neki kodovi mogu
koristiti za kontrolne funkcije. Sledea prednost je to, kada se koristi u optikim fiber
komunikadjama, balans redukuje zagrevanje lasera zavisno od podataka. Ovo je znaajno zato
to ovakvo zagrevanje moe da povea uestalost pojavljivanja greaka. Ipak, napomenimo da
sam 8B/10B kod ne garantuje podjednak broj nula i jedinica u dugakim stringovima - jedino
garantuje da uestalost pojavljivanja nula, ili jedinda nee prei 60 odsto (jer postoji najvie est
nula, ili jedinica u bilo kom kodu). Da bi se DC balans dalje poboljao, PCS izraunava
disparitet. Kako se bitovi generiu, PCS prati da li je generisana nula, ili jedinica. Disparitet je
pozitivan ako ima vie jedinica, a negativan u suprotnom sluaju. Zatim, PCS konvertuje svaki
8-bitni bajt u 10-bitni kod koji zavisi ne samo od bajta, ve i od tekue vrednosti dispariteta.
Korienjem dva mogua koda umesto jednog, PCS moe da generie priblino jednak broj nula
i jedinica. Tako se redukuje zagrevanje lasera zavisno od podataka i poveava se efikasnost lasera.
Iako koncept konvertovanja osam bitova u 10 na prvi pogled deluje jednostavno, specifini
kodovi su izuzetno sloeni.
Kompletan proces je predstavljen na slici 9.22. 8B/10B koder prima osam bitova brzinom od 1
Gbps i kodira svaku grupu od osam bitova u 10-bitni kod. Nakon toga, laser prenosi sekvencu
10-bitnih kodova preko optikog fibera na brzini od 1,25 Gbps.
lOOOBaseT
Gigabit Ethernet takode moe da se pokree preko UTP kablova kategorije 5. Medutim,
generisanje gigabitskih brzina preko bakarnih vodova postavilo je neke ozbiljne izazove za
802.3ab komitet koji je bio odgovoran za lOOOBaseT specifikaciju. U odeljku 9.4, o Fast
Ethemetu, predstavljeni su neki problemi koji prate visoke frekvencije neophodne za postizanje
veih bitskih brzina preko LlTP kablova. Problemi su se jo vie uveali kada su dostignute
gigabitske brzine. Prosto proirivanje pristupa koji se koristio za lOOBaseTX nije bilo mogue,
zato to je poveanje bitske brzine zahtevalo frekvencije signala koje prelaze kategoriju 5 UTP
kablova. Drugim reima, nije funkcionisalo!
Pravi problem se sastojao u reavanju uma koji se generisao kod visokofrekventnih signala koji
su premaivali specifikacije kategorije 5 UTP kablova. Jedan mogui pristup je ukljuivao
korienje MLT-3 kodiranja za etiri para upredenih parica umesto samo jednog. Ako bi bilo
mogue generisati 250 Mbps na jednom od etiri para upredenih parica, dobila bi se eljena
brzina od 1 Gbps. Iako je ova ideja uspela kod lOOBaseTX specifikacije sa tri para upredenih
parica, kod lOOOBaseT bitovi su se generisali 10 puta bre i neophodna frekvencija za
generisanje MLT-3 signala za 250 Mbps na svakom paai i dalje je bila previsoka. Da bi se to
zaobilo, lOOOBaseT koristi veoma sofisticirane tehnike: PAM5 kodiranje, reetkasto kodiranje i
Viterbi dekodiranje (slika 9.23).
PAM5 je akronim za pulse amplitude modulation with five levels (impulsna amplitudska modulacija sa
pet nivoa). Osnovna ideja je da se u jednom trenutku uzme osam bitova od GMII, da se svaka
8-bitna grupa podeli na etiri 2-bitne grupe (po jedna za svaki UTP), a zatim da se dodeli
odgovarajuem nivou signala (izabranom izmedu pet moguih nivoa) za svaku 2-bitnu grupu.
Tako etiri zasebna, konkurentna signala prenose osam bitova informacija.
Odravanje ravnotee
izmedu broja nula
_ i iedinica _
optiki fiber
laser
ibrzina od 1.25 Gbps
8B/I0B
koder
Od CMII:
osam bitova na
svakih 8 ns.
1000 Mbps
SLIKA 9.22 lOOOBaseXprenos
reetkasta
kodiranje
Cenerisanje nivoa PAM5 signala
za 1 par upredeni h parica
Generisanje nivoa PAM5 signala
za 2 par upredeni h parica
Generisanje nivoa PAM5 signala
za 3 par upredeni h parica
Genensan/e nivoa PAM5 signala
za 4 par upredeni h parica
Jedan 4D OAM-5 nivo signala predstavlja dva bita
na svakom paru upredeni h parica na svakih 8ns.
250 Mbps po paru upredeni h parica.
OdGMII:
osam bitova na
svakih 8 ns.
1000 Mbps
1 par upredeni h parica
2 par upredeni h parica
3 par upredeni h parica
4 par upredeni h parica
SUKA 9.23 1 OOOBaseT prenos
Jedan 4D OAM-5 nivo signala predstavlja dva bita na svakom paru upredenih parica na svakih
8ns. 250 Mbps po paru upredenih parica. (One 4D PAM-5 level signal representing 2 bits on each
wire every 8 ns. 250 Mbps per wire pair.)
Prvo pitanje: Zato koristiti pet nivoa u okviru eme za kodiranje? Imajte na umu da etiri para
prenose osam bitova istovremeno. Poto postoji 2"=256 moguih vrednosti, potrebno je
najmanje 256 kombinacija signala preko etiri UTP-a. Ako svaki par moe da postigne etiri
nivoa signala, postojalo bi 4" = 256 moguih kombinacija signala preko etiri para. Iako je to
dovoljno, nema mogunosti za dodatne signale koji se koriste za kontrolne funkcije. Zato
standard koristi pet nivoa, ime se dobija 5" = 625 kombinacija signala. Uobiajene oznake nivoa
su-2, -1, 0, +1, i+2.
Da bi se postigle gigabitske brzine, svaki par mora da obezbedi 250 Mbps. Iako svaki nivo signala
moe da smesti dva bita, frekvencija koja je potrebna za slanje dva bita u jednom trenutku na
brzini od 125 MHz i dalje ima koeficijent signal-um koji premauje granice IJTP kablova
kategorije 5. Zato je 802ab komitet ugradio tehnike za korekciju greaka i detektovanje. Tu
nastupa reetkasto (trellis) i Viterbi dekodiranje. Reetkasto kodiranje (trellis envoding) je primer
koda koji koristi dodatni nivo signala u PAM5 (dva bita zahtevaju samo etiri nivoa) za
kreiranje redundansi u kodu. Redundanse se koriste za poveanje koeficijenta signal-um za UTP
signale. Viterbi dehodiranje na prijemnoj strani ukljuuje algoritme dizajnirane za traenje
oteenih signala i oporavak originala. Opis funkcionisanja reetkastog kodiranja i Viterbi
dekodiranja je izuzetno sloen i zahteva dobro poznavanje signala, distribucije napona, tehnika
za uobliavanje impulsa i ekvilizaciju signala i karakteristike signala i uma. Ovi metodi su slini
tehnologijama koje se koriste kod 56Kbps modema i dobro su se pokazali. Medutim, ovde to
neemo detaljnije opisivati, tako da zainteresovane itaoce upuujemo na reference [Sc97],
[GrOl] i [PrOl].
SLIKA 9.24 UTP full-duplex mod preko UTP-a
prijem
(receive)
slanje
(send)
Razdvajanje dolazeih od
odlazeih signala
Signali putuju u oba smera
Razdvajanje dolazeih
od odlazeih signala
prijem
(receive)
slanje
(send)
hybrid
upredene parice
hibrid
Poslednja karakteristika koju istiemo je full-duplex priroda lOOOBaseT specifikacije. Kod
prethodnih standarda je korien unidirekcioni prenos, kod koga su zasebni parovi upredenih
parica korieni za prenose u svakom trenutku. lOOOBaseTukljuuje bidirekcioni prenos. Signali
putuju u oba smera istovremeno (slika 9.24). Kao to moete da pretpostavite, problemi nastaju
kada signali istovremeno putuju u suprotnim smerovima. Stvara se eho koji dovodi do
izoblienja stvamih signala. Sreom, postoji reenje za taj problem: lOOOBaseT implementira
bidirekcioni mod pomou hibrida, sloenih ureaja koji mogu da eliminiu um izazvan ehom.
Hibridi mogu i da razdvoje lokalno prenete signale od onih koji dolaze od drugih uredaja.
U vreme pisanja ove knjige veina radnih stanica je i dalje koristila 10 Mbps, ili Fast Ethernet
konekcije. Gigabit standard je dizajniran prvenstveno za fiber konekcije koje se koriste za povezi-
vanje komutatora i obezbeduje putanje izmedu Fast Ethernet grupa: medutim, za povezivanje
ovakvih ureaja na ispitnim mestima mogu se koristiti i zatieni bakarni vodovi (ureaji koji e
u bliskoj budunosti biti u praktinoj primeni). U tabeli 9.6 je dat pregled Gigabit standarda.
Brzine vee od gigabita
Nakon diskusije o razvoju Etherneta od 10 Mbps do Gigabit Etherneta, postavlje se pitanje kuda
dalje? Naravno, odgovor je 10 Gigabit Ethernet, koji je razvio 802.3ae komitet i usvojen je kao
standard u leto 2002. godine. Zato bi se razvijalo sledee desetostruko poveanje bitske brzine?
Kao i ranije, odgovor je ispunjavanje zahteva. Radne stanice povezuju LAN mree na bitskim
brzinama od 10, ili 100 Mbps. Kuni korisnici prelaze sa 56Kbps modema na kablovske modeme
i DSL tehnologije. Prosto reeno, krajni korisnici generiu i troe vie informacija nego ikada
ranije i neprestano se poveava tok razmene informacija izmedu njih. Zato je neophodno dalje
razvijati tehnologije koje se koriste u osnovama ovih komunikacionih sistema. 10 Gigabit
Ethernet se koristi uglavnom kao "kimeni stub" ne samo u LAN okruenjima, ve i gradskim i
WAN mreama kod kojih je neophodno obezbediti iroki propusni opseg signala.
Specifikacija kabla Komentari
1000BaseT(IEEE802.3ab)
1000BaseCX(IEEE802.3z)
1000BaseLX(IEEE802.3z)
1000BaseSX(IEEE802.3z)
Zahteva etiri para upredenih parica kategorije 5 UTP kablova i
pokree se u full-duplex modu. Za signaliziranje su neophodne
sloene procedure kodiranja/dekodiranja: PAM5, reetkasto i
Viterbi. Maksimalna duina segmenta iznosi 100 metara.
Medijum je specijalni zatieni bakami kabl. Maksimalno rastojanje
iznosi 25 metara. Obino se koristi za povezivanje uredaja na
ispitnim mestima u komunikacionom centru. Koristi 8B/10B
kodiranje.
Dugotalasni optiki fiber. Moe da se koristi ili u vie modova, ili
samo sa jednim modom. Maksimalne duine iznose 5.000 metara
za fiber sa jednim modom i 550 metara za vie modova. Koristi se
8B/10B kodiranje.
Kratkotalasni optiki fiber. Moe da se koristi sa fiberom sa vie
modova. Maksimalne duine su 220 i 550 metara, u zavisnosti od
prenika fibera. Koristi 8B/10B kodiranje.
Prilikom uspostavljanja 10 Gigabit Ethemet standarda, 802.3ae komitet je utvrdio pet kriterijuma
(videti http://grouper.ieee.Org/groups/802/3/ae/criteria.pdf):
Potencijal za plasiranje na irokom tritu
Kompatibilnost sa postojeim 802.3 standardima
Znaajne razlike u odnosu na prethodnike
Tehnika izvodljivost
Ekonomska isplativost
Pored oiglednog 10-strukog poveanja brzine u odnosu na Gigabit Ethernet, 10 Gigabit Ethernet
ima sledee znaajne karakteristike:
Koristi isti format MAC okvira kao i njegovi prethodnici, ime je obezbedena
kompatibilnost.
Podrava samo full-duplex mod.
Dizajniran je za funkcionisanje samo preko optikog fibera.
Ne ukljuuje CSMA/CD protokol kao raniji Etherneti. Vie nema kolizija.
Podrava prenos na veim rastojanjima (40 km za fiber sa jednim modom).
Moe da se pokree preko SONT noseeg sistema - preciznije reeno, preko OC-192
kola.
802.3ae standard definie dva razliita tipa fizikih slojeva: LAN PHY i WAN PHY. LAN PHY je
dizajniran za meusobno povezivanje IAN mrea i za podrku postojeih gigabitskih aplikacija,
ali na mnogo veim brzinama. Kao i u sluaju prethodnih verzija, LAN PHY sadri PCS podsloj
koji komunicira sa podslojem izmirenja. Medutim, PCS sloj za 10 Gigabit Ethernet koristi
64B/66B emu kodiranja, koja je slina ranije predstavljenim emama 4B/5B i 8B/10B, osim to
kodira 64 bita u 66 bitova. Istovremeno procesiranje vie bitova je bre. Takode, kod ove eme
postoji manje dodatnih bitova (dva bita na svakih 66, za razliku od dva bita na svakih 10). Tako
je omoguena bitska brzina koja blie odgovara frekvencijama signaliziranja koje su neophodne
za slanje bitova.
WAN PHY je dizajniran za proirenje Etherneta preko tradicionalnog LAN okaienja i da bi se
olakalo povezivanje veih oblasti. Poto se tekue komunikacije na veim rastojanjima
uglavnom odvijaju preko vie protokola, korienje Ethemet tehnologije u komunikacijama na
veim udaljenostima znaajno uproava "stvari". Vie nije neophodno konvertovati okvire u
neke druge forme pre prenosa. Da, svet se "smanjuje" i sada vidimo potendjal za stvaranje
svetskih informacionih sistema koji e biti povezani pomou LAN tehnologija.
Glavna razlika izmeu WAN PHY i LAN PHY je u tome to je podsloj WAN interfejsa (WIS-WAN
interface sublayer), smeten izmeu PCS i PMD podslojeva, dizajniran tako da omogui
ransparentne komunikacije preko SONET OC-192 kola. Poto su bitske brzine za OC-192 kola
neto ispod 10 Gbps, postoji prirodno poklapanje. WIS podsloj prima kodirane bitove sa PCS
podsloja, ugraduje ih u SONET okvir, koga predaje PMD posloju. Tako Ethernet moe da koristi
SONET nosioce za transport preko WAN mrea - samim tim, opseg Ethernet mrea je proiren na
mnogo vea rastojanja.
802.3ae standard ima opcione interfejse: interfejs nezavisan od 10 Gigabit medijuma (XGMII-IO
Gigabit media independent interface) i XGMII pridruena jedinica interfejsa (XALII). XGMII
doputa full-duplex komunikacije izmeu PCS podsloja i podsloja izmirenja i ima putanju
podataka irine 74 bita. Putanja ukljuuje 32 bita u oba smera, kao i takt i kontrolne funkcije.
Medutim, njen dizajn ne doputa direktne konekcije ip-u-ip, ili ip-u-optiki modul, zbog
hardverskih ogranienja koja odreduju rastojanje koje je mogue pokriti magistralom. Alternativa
je XAUI, sa manjim brojem linija u poredenju sa XGMII i dva i po puta veom brzinom od
lOOOBaseX. Ima i drugaije elektrine karakteristike, koje proiruju domet XGMII-Ja.
Formalno odobrenje 10 Gigabit Ethernet standarda desilo se samo par meseci pre nego to je ovaj
rukopis pripremljen i postoji samo nekoliko objavljenih knjiga i lanaka o tome. Zainteresovani
itaoci mogu da pronadu vie informacija na Web sajtovima http://grouper.ieee.org/
groups/802/3/ae/ i www.10gea.org/. Ovi sajtovi nude brojne linkove ka sajtovima koji
obezbeduju detaljniju diskusiju o raznim aspektima 10 Gigabit standarda.
Da li nas oekuje 100 Gigabit Ethemet? Verovatno. Prvi korak u procesu standardizacije je
identifikovanje sponzora (tehnikog udruenja, ili grupe u okviru IEEE) koji e nadgledati
razvojni proces. U vreme kada je ova knjiga pripremana, jo nije uspostavljen 100 Gigabit
Ethernet standard, tako da se verovatno nee pojaviti u skorijoj budunosti. Osim toga,
gigabitski ureaji se esto koriste u LAN okruenjima; 10-bitski uredaji su skupi i prvenstveno se
koriste za telekomunikacione nosioce.
Neki predviaju da e proi vie godina pre nego to se cene spuste do te mere da 10-gigabit
tehnologije postanu iroko dostupne i dok ljudi ne ponu da smatraju da su im neophodne
brzine od 10 gigabita. I pored toga, nije zahvalno davati bilo kakva predvianja: jedino moemo
da nastavimo da pratimo sve to se novo objavljuje.
9.6 Token ring: IEEE standard 802.5
Token ring LAN je defmisan IEEE standardom 802.5. Kao i Etheraet, token ring je MAC protokol
koji je smeten izmedu sloja kontrole logikog linka i fizikog sloja. Brzine prenosa podataka za
token ring mree su navedene kao 4 Mbps i 1 Mbps, iako IBM token ring moe da se pokree na
4, 16, ili 100 Mbps. Prenos se odvija pomou tehnika diferencijalnog Manester kodiranja, koje
su opisane u odeljku 2.4.
Ureaji na token ring LAN-u su povezani u prsten pomou NIC kartica (slika 9.25). Ureaj moe
direktno da alje podatke samo do svojih suseda i u veini sluajeva samo do jednog suseda
(na slici 9.25 suprotno od smera kretanja kazaljki na asovniku). Ako uredaj eli da poalje neto
do drugog ureaja u prstenu, okvir mora da prode kroz sve interfejse koji se nalaze izmedu ta dva
ureaja. "Nadmetanje" u okviru prstena je izvedeno pomou tokena (specijalnog okvira)
koji cirkulie izmedu ureaja. Specifinosti prisvajanja tokena i slanja okvira objasniemo neto
kasnije u ovom odeljku. Za sada, predstavljamo veoma uopten i jednostavan opis procesa.
Kada token stigne do uredaja, mogue su dve "stvari". Ako ureaj nema podatke za slanje, on
rutira token do susednog ureaja. Ako ima neto za slanje, prisvaja token, uklanja ga sa prstena i
alje okvir na mestu tokena.
SLIKA 9.25 Token ring mrea i cirkulisanje tokena
Nakon toga, okvir "putuje" preko prstena i svaki uredaj proverava njegovu odredinu adresu. Ako
se odredina adresa ne poklapa sa adresom tekueg ureaja, on rutira okvir do svog suseda. Ako
se poklapa, odredini uredaj kopira okvir, postavlja u njega neke bitove statusa i rutira okvir do
svog suseda. Okvir nastavlja da krui kroz prsten sve dok ne stigne do ureaja koji ga je kreirao.
Taj ureaj uklanja okvir sa prstena, generie novi token i alje ga nazad na prsten.
Ovde je mogue odmah uoiti dve "stvari". Prva.je da je "nadmetanje" za pristup prstenu
uredenije nego kod Etherneta. Svaki uredaj zna kada moe da alje podatke i alje ih do svog
suseda. Znai, nema troenja propusnog opsega zbog kolizija. Drugo, odmah se uoava da otkaz
jednog uredaja izaziva otkaz cele mree. Za razliku od Etherneta, svaki ureaj uestvuje u
rutiranju tokena, ili okvira podataka. Ako dode do otkaza uredaja, on nee moi da rutira
primljeni token, ili okvir sa podacima, tako da se konkretni okvir gubi iz prstena.
Formati okvira i tokena
Ve smo rekli da je token specijalna vrsta okvira. Na slici 9.26 prikazani su formati tokena i
okvira sa podacima. etiri polja oznaena kao "destination address" (odredina adresa), "source
address" (izvoma adresa), "data" (podaci) i "frame check sequence" (provera okvira) imaju isto
znaenje kao i ista polja u ranije prikazanim formatima, tako da ih ovde neemo ponovo
objanjavati. Odredina adresa moe da bude individualna, grupna, ili emisiona (broadcast).
Polje Data teorijski nema maksimalnu duinu, mada postoji ogranienje za koliinu koju uredaj
moe da prenese bez prekida, tako da praktina granica iznosi oko 5.000 bajtova podataka.
Svaki okvir ima startni delimiter (SD) i zavrni delimiter (ED) kojima se definiu granice
tokena. SD ima specijalni uzorak signala JK0JK000. NuIe su binarne nule, onako kako su defin-
isane diferencijalnim Manester kodom. Simboli J i K odgovaraju specijalnim signalima. Da biste
razumeli zato se tu nalaze, setite se da diferencijalni Manester kod definie prelaz signala (sa
visokog na niski, ili sa niskog na visoki) na sredini svakog intervala. J i K signali odstupaju od tog
pravila. Signal J startuje kao 0, ali nema prelaza na sredini. Slino tome, signal K startuje kao I,
ali nema prelaza. Ponekad se za ove signale koriste oznake non-data-J i non-data-K. Poto ovi
signali nisu u skladu sa Manester kodovima za defmisanje bitova, nikada ne mogu da se jave kao
deo bilo kojih informacija. Zato su korisni za oznaavanje specijalnih stanja, kao to su poetak
i kraj okvira.
Zavrni delimiter koristi JK1JK1IE uzorak signala. Simboli J i K su isti kao i kod SD-a. Jedinice su
binarne jedinice. Dva preostala bita odgovaraju bitu prelaznog okvira (I) i bitu greke (E). Kao i
ranije, komunikacija izmedu dva uredaja obino ukljuuje vie okvira. Bit I je u poslednjem
okviru 0, a u ostalim sluajevima ima vrednost 1. Bit E se postavlja na 1 svaki put kada se
detektuje greka (kao kod sekvence za proveru okvira).
Drugi bajt u svakom okviru je polje Access Control (AC). Njegovi bitovi mogu da imaju razliito
znaenje. Bit oznaen kao t oznaava bit tokena i odreduje tip okvira. Kod tokena je t = 0, a kod
okvira sa podacima t = 1, tako da uredaj moe da utvrdi ta je primio. Preostali bitovi slue za
odravanje prstena i rezervaciju tokena, o emu e neto kasnije biti vie rei.
SD AC FC
destlnatlon
address
source
address
data
frame check
sequence
ED FS
broj bajtova
(a) token velilne trl bajta
SD AC ED
(b) Okvir sa promenljlvlm brojern bajtova
SD (startnl del i mi t er): J K OJ K OOO
AC (kontrota prl stupa): p p p t m r r r
p p p: bi tovi prl ori teta
t : bl t t okena
m: blt za praenje
r r r: bl tovl rezervacije
ED (zavrnl del i mi t er): J K l J K l I E
FC (kontrol a okvl ra): f f z z z z z z
f: bi tovi za t l p okvira
z: kont rol ni bi tovl
FS (status okvl ra): a c x x a c x x
a: bi t prepoznavanj a adrese
c: bl t koplranja okvlra
x: nedefi nl sanl bl t
SLIKA 9.26 Formati tokena i okvira sa podacima
Trei bajt u okviru je polje Frame Control (FC), koje je takode zadueno za odravanje prstena.
Poslednji bajt je polje Frame Status (FS) koje ukljuuje dve kopije (za sluaj greke) bita za pre-
poznavanje adrese (Address Recognized Address-bit a) i bit kopiranja okvira (Frame Copied-bit
c). Ureaj koji alje okvir inicijalno postavlja bitove a i c na O. Ako se odredini uredaj nalazi na
prstenu, on postavlja bit a na 1, ime ukazuje da je adresa prepoznata. Ako odredini uredaj
iskopira okvir, postavlja i bit c na 1. Primeujete da prisustvo odredinog uredaja ne znai
automatski da je okvir iskopiran. Status koji je postavljen na viem sloju (kao to je LLC) moe
privremeno da zabrani prihvatanje novih okvira. Takve mogunosti smo prikazali u Poglavlju 8,
u odeljcima o protokolima klizajuih prozora.
Polje Frame Status "govori" uredaju poiljaocu da li je odredini uredaj na prstenu i, ako jeste, da
li je iskopirao okvir. Ako je odredini ureaj tu, ali nije iskopirao okvir, poiljalac pretpostavlja
da kasnije treba ponovo da pokua da poalje okvir.
* Ova tvrdnja je data uz pretpostavku da postoji ogranienje u duini vremena za koje stanica moe da zadri token. U stvari,
podrazumevana vrednost lajmera za zadravanje tokena iznosi 10 (isec, ime je odredeno koliko dugo neka stanica moe da
kontrolie token.
Rezervisanje i pnsvajanje tokena
Proces zahvatanja tokena i slanja okvira sa podacima na prvi pogled deluje jednostavno. Kada
uredaj poalje okvir i u povratku ga ukloni sa prstena, on kreira novi token koji alje do svog
suseda, koji tada dobija ansu da prisvoji token. Nastavljajui na ovakav nain, uredaji dobijaju
ansu za prenos onim redosledom kojim su povezani. Ovakav proces postavlja i gornju granicu
u duini vremena za koje uredaj mora da eka na token.* Ali, da li je mogue "pogaziti" ovaj
redosled? Da li postoje naini da neki ureaj dobije vii prioritet i da tako dobije ansu za slanje
pre ostalih uredaja? Ovo bi sigurno bilo korisno u sluajevima gde token ring opsluuje real-time
ureaje, ili uredaje visokog prioriteta.
Da bi se odredili prioriteti i uredajima omoguilo zahvatanje tokena drugaijim redosledom od
onog kojim su povezani, pretpostavljamo da svaki ureaj, kao i token koji cirkulie, ima svoj pri
oritet. Prioritet ureaja je defmisan lokalno, a prioritet tokena je definisan sa tri bita prioriteta
(Priority) u AC polju. Uredaj moe da prisvoji token samo ako je njegov prioritet vei, ili jednak
prioritetu tokena. Tako ureaji nieg prioriteta moraju da proslede raspoloivi token, i pored toga
to moda imaju neto za slanje. Jedino uredaji sa veim, ili jednakim prioritetom od prioriteta
tokena mogu da prisvoje token.
Ovaj sistem namee neka znaajna pitanja. Ko definie prioritet tokena? Kako se to izvodi?
Inicijalno, jedan uredaj alje token sa prioritetom O. Nakon toga, sve nadalje se preputa sistemu
za rezervacije, protokolu koji se koristi za rezervisanje tokena i definisanje prioriteta.
Pretpostavimo da uredaj primi token sa viim prioritetom od svog prioriteta (uskoro emo
videti kako moe da doe do toga), ili da primi okvir sa podacima. U bilo kom sluaju, uredaj
ne moe da alje svoje podatke. Ipak, on moe da postavi zahtev (rezervaciju) za tokenom kada
on naide sledei put. Da bi to uradio, uredaj prouava dolazee bitove rezervacije (Reservation).
Ako vrednost tih bitova ukazuje na nii prioritet od onog koji ima uredaj, on postavlja svoj
prioritet i na taj nain rezervie token. Ako je vrednost bitova ukazala na vii prioritet, uredaj
ovoga puta ne moe da rezervie token. Mogue je da je neki drugi uredaj sa viim prioritetom,
ali i dalje niim od prioriteta tokena, ve rezervisao token i ne moe da ga ukloni uredaj nieg
prioriteta (pokuajte da rezerviete svoj omiljeni apartman u hotelu sa pet zvedica ako Je
premijer Engleske ve rezervisao ceo sprat).
Kada uredaj povue okvir i kreira novi token, on prouava bitove rezervacije u dolazeem okviru.
Ako vidi da je neki uredaj rezervisao token, on definie novi token sa prioritetom koji odgovara
vrednosti rezervacije. Zatim, u lokalni stek smeta i stari i novi prioritet (koji sada postaje tekui
prioritet). Nakon toga, oznaen je kao stanica za odlaganje (stacking station) - jedino taj ureaj
moe da vrati token na njegov originalni prioritet. Kada token pone da "putuje" preko prstena,
prisvojie ga prvi uredaj sa viim, ili jednakim prioritetom. Uredaji sa niim prioritetom se
ignoriu u korist onih sa viim prioritetima.
Na slici 9.27 prikazan je pseudoalgoritam koji opisuje sistem za definisanje prioriteta i rezervacije.
Svaki ureaj izvrava algoritam po dolasku okvira i tokena.
While (Petar Pan z i v i u Nedodj i j i )
{
cekanje na dogadjaj;
i f (dogadjaj j e "okvi r stigao")
{
1 if (okvir potice Iz tekuce stanica)
{
povlacenje okvi ra;
2 if (frame.res > frarne.pri ori ty)
{
kreiranje i slanje tokena sa token.priority = frame.res i token.res = 0;
postavljanje starog i novog prioriteta na stek i oznacavanje ove stanice
kao stanice za odlaganje;
continue;
}/* kraj uslova frame.res > frame.priority */
3 if (tekuca stanica je stanica za odlaganje ovog okvira)
{
kreiranje i slanje tokena sa token.priority = max(frame.res, stari prioritet sa steka);
if koriscen frame.res izvesti zamenu tekuceg prioriteta sa vrha steka;
if koriscen stari prioritet sa steka, povuci staru i tekucu vrednost sa steka i ukloni
oznaku stanice za odlaganje ako je stek nakon toga prazan;
continue;
}/* kraj uslova - tekuca stanica je stanica za odlaganje ovog okvira */
kreiranje i slanje tokena sa token.priority =frame.res i token.priority = frame.priority;
}/* kraj uslova - okvir potice sa tekuce stanice */
if (okvir potice sa nekog drugog mesta)
4 {
if (postoji okvir za slanje) && (prioritet stanice > fname.res) smesti prioritet za
5 slanje u frame.res;
slanje okvira;
}
}/* kraj uslova - dogadjaj je "okvir stigao" */
if (dogadjaj js "toksn stigao")
{
if (tekuca stanica je stanica za odlaganje za ovaj token)
6 {
kreiranje tokena sa token.priority = max(token.res, stari prioritet sa steka);
if koriscen frame.res izvesti zamenu tekuceg prioriteta sa vrha steka;
if koriscen stari prioritet sa steka, povuci staru i tekucu vrednost sa steka i ukloni
oznaku stanice za odlaganje ako je stek nakon toga prazan;
}
if (postoji okvin za slanje)
7 {
if (prioritet stanice >= token.priority)
8 prisvajanje tokena, kreiranje i slanje okvira;
else
i f ( pr i or i t et stanice > token.res)
9 smestanje pr i or i t et a posiljaoca u token.res;
} / * kraj uslova - okvi r za sl anj e */
slanje okvi ra, i l i tokena;
/* kraj uslova - dogadjaj je "token stigao" */
/* kraj while pet l j e */
SLIKA 9.27 Token ring protokol za rezervaciju i prisvajanje tokena
Algoritam je pomalo pojednostavljen i ne pokazuje kako uredaj prima okvire, ili kako alje vie
okvira. Nameravali smo da se fokusiramo samo na postavljanje rezervacija i utvrdivanje priorite-
ta, ali, vebe radi, moete i sami da pokuate da proirite algoritam.
U algoritmu bitovi rezervacije i prioriteta su oznaeni kao frame.res i frame.priority,
respektivno. Slina notacija je koriena i za bitove tokena. Kao i prethodni algoritmi, i ovaj je
odreen dogaajima, gde se pod dogadajem smatra dolazak okvira sa podacima, ili tokena. Ako
stigne okvir sa podacima, ureaj utvrduje da li je on poslao okvir (uslov 1), ili je okvir poslao neki
drugi ureaj (uslov 4). Ako okvir potie od nekog drugog uredaja i ako tekui uredaj ima podatke
za slanje, on pokuava da rezervie token. Ako je prioritet ureaja vii od vrednosti f rame.res
(uslov 5), postavlja se rezervacija. Ako nije, nema rezervacije. U svakom sluaju, okvir se
prosleduje do susednog ureaja.
Ako je okvir potekao od tekueg ureaja, ureaj mora da povue okvir i da kreira novi token.
Pitanje na koje ureaj mora da daa odgovor je kakav prioritet treba da ima novi token. Postoje
dva mogua odgovora.
Prvo, pretpostavimo da je neki uredaj sa viim prioritetom od prioriteta okvira rezervisao token
(uslov 2). Uredaj tokenu daje prioritet jednak prioritetu uredaja koji je izvrio rezervaciju
(vrednost f rame. res). Takode, on postavlja frame.res = 0 kako bi se dala ansa za sledee
rezervacije. Ali, podizanje prioriteta tokena je "strana" odgovornost. Svaki uredaj koji to radi
ujedno je i odgovoran za njegovo sniavanje kasnije kada samo uredaji sa niim prioritetom
imaju neto za slanje. U tom trenutku ureaj mora da prepozna token sa podignutim prioritetom
i mora da snizi prioritet. Da bi se to postiglo, uredaj (oznaen kao stanica za odlaganje) smeta
stari i novi (sada tekui) prioritet na stek, svaki put kada povisi prioritet.
Druga mogunost se javlja kada je rezervaciju u dolazeem okviru kreirao uredaj sa niim
prioritetom od prioriteta okvira. To znai da u vreme dok je okvir putovao preko prstena, ni jedan
uredaj sa viim prioritetom nije imao podatke za slanje. Zato je neophodno sniziti prioritet
tokena. Ali, koji je ureaj nadlean za to? Ako tekui uredaj nije povisio prioritet tokena, on ne
moe ni da ga snizi. Zato on jednostavno kreira token sa istim prioritetom koji je naznaen u
bitovima rezervacije dolazeeg okvira (poslednja naredba u okviru uslova 1). Mogue je da e
token stii do stanice za odlaganje, koja moe da snizi prioritet tokena.
Medutim, ako je tekui ureaj ujedno i stanica za odlaganje* (uslov 3), on kreira novi token sa
niim prioritetom. Sledee pitanje je kakav je novi prioritet. Stanica za odlaganje poredi vrednost
dolazee rezervacije sa starim prioritetom sa steka i bira veu vrednost. Ako je vrednost rezervacije
vea, ona se postavlja na mesto tekueg prioriteta na steku. Ureaj i dalje predstavlja stanicu za
odlaganje, jer jo uvek nije obnovljen prioritet koji je postojao pre nego to je taj uredaj postao
stanica za odlaganje. Ako vrednost rezervacije nije vea, token koristi stari prioritet sa steka. Stari
i tekui prioriteti se skidaju sa steka i ako je stek nakon toga prazan, ureaj vie nije stanica za
odlaganje.
* Mogue je da postoji vie stanica za odlaganje, zato to se prioritet tokena moe podizati u vie stanica. Nama Je ovde
potrebna stanica koja je u najskorije vreme postala stanica za odlaganje. Stanica mora da to utvrdi poredenjem polja za
prioritet okvira sa tekuim prioritetom na lokalnom steku konkretne stanice. Ako su isti, tekua stanica moe da snizi
prioritet tokena. Ako nisu, onda je neka druga stanica podigla prioritet tokena i zato je ona odgovoma za njegovo
sniavanje.
SLIKA 9.28 Rezervisanje tokena u token ring mrei
prioritet = 1
prioritet = 5
token
prioritet = 2
prioritet = O
Napomenimo da se oznaka stanice za odlaganje uklanja samo ako je stek prazan, jer je ista stan-
ica mogla da bude odgovorna i za prethodno poveanje prioriteta.
Razmotrimo sada ta se deava kada token stigne. Ako je uredaj stanica za odlaganje (uslov 6),
proces se nastavlja kao to smo malopre objasnili. Nakon toga, uredaj utvruje da li postoji okvir
za slanje (uslov 7). Ako postoji, poredi prioritet tokena sa prioritetom uredaja (uslov 8). Ako
ureaj ima dovoljno visok prioritet, on prisvaja token. Ako nema, poredi svoj prioritet sa
vrednou bitova rezervacije (uslov 9). Ako ima dovoljno visok prioritet, on postavlja rezervaci-
ju. Konano, alje ili token, ili okvir (ako ga je kreirao) do svog suseda.
Ova diskusija je opta i opisuje samo glavne aspekte sistema za definisanje prioriteta i rezervaci-
ja. Sada je vreme da vidimo i jedan primer. Pretpostavimo da su etiri uredaja spremna za slanje
(slika 9.28) i da svaki od njih irna samo jedan okvir za slanje. Pretpostavimo da je uredaj
C upravo zahvatio token i da alje svoj okvir. Sada primenjujemo algoritam na situaciju sa
slike 9.28.
Da biste lake pratili algoritam, u tabeli 9.7 je dat pregled ta se deava u svakom ureaju dok
okvir, ili token "putuju" preko prstena. U prvoj koloni su navedeni koraci. U drugoj koloni je
naznaen uredaj koji je primio okvir, ili token. U treoj koloni su navedeni uslovi sa slike 9.27
koji su tani kada okvir, ili token stignu. etvrta kolona definie da li ttredaj alje okvir, ili token.
Poslednje dve kolone defmiu vrednosti prioriteta i rezervacija (vrednosti od O do 7) odlazeeg
okvira, ili tokena. Poinjemo od take u kojoj je uredaj C upravo zahvatio token i poslao svoj
okvir.
Pratimo algoritam nakon to C alje okvir, tako da prva linija u tabeli 9.7 odgovara dolasku
okvira u D (korak 1). U ovom sluaju uslovi 4 i 5 su tani. Drugim reima, okvir nije potekao od
uredaja D, D ima okvir za slanje, a njegov prioritet je vii od prioriteta dolazeeg okvira. Zato
D smeta svoj prioritet (2) u frame.res i prosleduje okvir do svog suseda. Kada A primi okvir
(korak 2), jedino je ispunjen uslov 4 (A ima nii prioritet).
Kada B primi okvir (korak 3), reaguje kao to je prethodno reagovao uredaj D i poveava
f ranie. res na 5. Okvir konano stie nazad u C (korak 4), uredaj odakle je potekao, i tu se povlai
sa prstena. Poto su uslovi 1 i 2 ispunjeni, C kreira i alje token sa prioritetom 5 i postaje stanica
za odlaganje. D prima token (korak 5), ali ne moe da ga zahvati, jer je prioritet tokena suvie
visok. Medutim, postavlja vrednost rezervacije na 2 i alje token A (korak 6). Uredaj A ima nizak
prioritet, tako da alje token do B (korak 7). Ureaj B prisvaja token (uslovi 7 i 8) i alje okvir.
Korak cirkulie kao i ranije i eventualno se vraa do B (korak 11). B povlai okvir i kreira token.
Primeujete da polje Reservation u tokenu ima vrednost 2, a prioritet Je 5. Poto B nije stanica za
odlaganje (to je bio ureaj C u koraku 4), alje token sa istim prioritetima i vrednostima
rezervacije kao i u primljenom okviru. Kada C primi okvir (korak 12), vidi da je ispunjen uslov
6 i sniava prioritet tokena na 2. Stari prioritet se i dalje nalazi na steku i C i dalje ostaje stanica
za odlaganje. Iako su preostali koraci slini onima koji su se ve desili, trebalo bi da ih predete.
Primeujete da se tabela 9.7 moe proiriti do take u kojoj su svi ureaji poslali svoje okvire i
kada je prioritet tokena ponovo vraen na O. Neka ovo bude veba za Vas.
Odravanje prstena
U dosadanjoj diskusiji su opisane operacije token ring mree u situaciji kada se ne deavaju
nikakve greke. Ipak, to je opasna pretpostavka. "Stvari" mogu da "krenu naopako". Na primer:
Uredaj alje kratki okvir preko dugakog prstena (gde je poslednji bit poslat pre nego
to se prvi vratio) i zato pada. Uredaj ne moe da povue okvir sa prstena. Okvir koji
nije povuen je isputeni okvir (orphane frame).
1
2
3
4
5
6
7
8
9
10
11
12
D (okvir)
A (okvir)
B (okvir)
C (okvir)
D (token)
A (token)
B (token)
C (okvir)
D (okvir)
A (okvir)
B (okvir)
C (token)
4 i 5
4
4 i 5
1 i 2
7 i 9
7
7 i 8
4
4 i 5
4
1
6
Okvir
Okvir
Okvir
Token
Token
Token
Okvir
Okvir
Okvir
Okvir
Token
Token
0
0
0
5
5
5
5
5
5
5
5
2
2
2
5
0
2
2
0
0
2
2
2
2
Korak Dolazak u Uslov Uredaj alje Prioritet Rezervacija
Ureaj prima okvir, ili token i pada pre nego to uspe da ih poalje. Poto vie na
prstenu ne postoji token koji cirkulie, svi ureaji beskonano ekaju na token.
um na liniji oteuje okvir. Koji je uredaj odgovoran za njegovo ispravljanje?
Neki problemi mogu da se ree tako to se nekim uredajima daju dodatne odgovornosti; ti
uredaji se oznaavaju kao stanice za nadgledanje, ili monitori (monitor station). Na primer, da
bi se detektovao isputeni okvir, uredaj inicijalno kreira okvir sa bitom praenja u Access Control
bajtu (videti sliku 9.26) postavljenom na O. Kada monitor primi okvir, ovaj bit se postavlja na I.
Isputeni okvir nije uklonjen sa prstena, tako da po drugi put dolazi do monitora sa bitom koji
je ve postavljen na 1. Monitor povlai okvir i generie novi token.
Monitor moe da detektuje izgubljeni token pomou ugraenog tajmera. Tajmer je definisan u
skladu sa duinom prstena, brojem uredaja i maksimalnom veliinom okvira. Svaki put kada
monitor alje okvir, ili token, on startuje svoj tajmer. Ako monitor ne primi ni jedan okvir, ili
token pre nego to tajmer istekne, pretpostavlja da je izgubljen i generie novi token.
Ipak, neke probleme ni monitori ne mogu da ree. Na primer, ta ako je monitor stanica na kojoj
je dolo do kvara? ta ako do gubitka tokena dode zbog raskidanja prstena? Slanje novog tokena
nee reiti problem.
Ovi problemi se reavaju pomou kontrolnih okvira, kao to je prikazano u tabeli 9.8. Kontrolni
bitovi u FC bajtu (videti sliku 9.29) definiu funkciju okvira. Kada se u prsten postavi novi uredaj,
alje Duplicate Address Test okvir koji smeta sopstvenu adresu uredaja u polje Destination. Ovaj
okvir obezbeduje jedinstvenost adrese uredaja na prstenu. Kada se okvir vrati, uredaj proverava
bit prepoznavanja adrese (Address Recognized) u polju Status konkretnog okvira. Ako Je 0, nema
drugog uredaja sa takvom adresom; ako je 1, adresa ureaja je duplikat. Uredaj se sam uklanja sa
prstena i podnosi izvetaj o nastaloj greci.
Ako se rnora izabrati nova stanica koja e imati ulogu monitora, jedan, ili vie ureaja alju
ponude da postanu monitori. Posao e biti poveren stanici sa najviom adresom.
Tip okvira
Kontrolni bitovi u
oktetu Frame Controi Znaenie
Active Monitor Present
Beacon
Claim Token
Duplicate Address Test
Purge
Standby Monitor Present
000101
000010
000011
000000
000100
000110
alje informacije da je uredaj monitor
operativan i inicira proceduru identifikacije
suseda.
Lociranje greaka na prstenu
Bira novi monitor.
Provera da li postoje duplirane adrese.
ienje prstena
Izvodi proceduru identifikacije suseda.
Problem je to ni jedan ureaj ne zna ta je. Da bi to utvrcHo, svaki alje niz Claim Token (CT)
okvira. Kada ureaj primi Claim Token okvir, poredi izvornu adresu tokena sa sopstvenom. Ako
je izvorna adresa tokena via, ureaj zaustavlja slanje sopstvenih okvira i ponavlja one koje
prima. Ako je izvoma adresa tokena nia, uredaj je povlai sa prstena i nastavlja da alje sop-
stvene okvire. Dakle, CT okvir nikada ne prelazi preko uredaja koji se "nadmee" koji ima viu
adresu i jedini CT okviri koji cirkuliu kroz prsten potiu od ureaja sa viim adresama. Kada
ureaj primi svoj CT okvir, smatra da je propisno izabran kao monitor - nakon veoma kratke
kampanje i bez pomoi nekih specijalnih interesnih izvora.
Kada se uredaj izabere kao monitor i povremeno nakon toga, on alje Active Monitor Present
(AMP) okvir koji obavetava druge ureaje da postoji aktivna stanica za nadgledanje. Ako zbog
neega dode do kvara monitora, nee biti poslat ni jedan AMP okvir. Drugi uredaji imaju tajmere
koji istiu kada se za odreeno vreme ne detektuje ni jedan AMP okvir. Nakon toga, ti uredaji
alju ponude da postanu novi monitori slanjem CT okvira, kao to je prethodno navedeno.
Pre nego to monitor kreira i poalje novi token, najpre alje Purge okvir. U meduvremenu, on
povlai sve to primi, ukljuujui vraeni Purge okvir, kako bi bio siguran da je prsten ist pre
nego to poalje novi token, ili AMP okvir.
Standby Monitor Present (SMP) okvir je deo procedure za identifikaciju suseda. Kada monitor
poalje AMP okvir, on postavlja a bitove u polju Status na 0. Prvi ureaj koji primi okvir (sledei
sused u silaznom nizu) belei izvornu adresu i postavlja a bitove u polju Status na I pre nego to
prosledi okvir. Taj uredaj zna ko je njegov prethodni sused. Svi a bitovi su postavljeni na 1 kako
bi drugi uredaji bili obaveteni da okvir koji stie do njih nije okvir njihovog neposrednog
suseda. Nakon prijema AMP okvira od prethodnog suseda, uredaj alje SMP okvir (takode sa svim
a bitovima postavljenim na 0). Njegov naredni sused prihvata okvir, belei izvornu adresu,
postavlja a bitove na 1 i prosleduje ga. Nakon nekog vremena, alje sopstveni SMP okvir i njegov
naredni sused reaguje slino. Ovaj kaskadni efekat uzrokuje da svaki uredaj alje sopstveni SMP
okvir kako bi obavestio naredni susedni uredaj o svom identitetu. Poto su a bitovi postavljeni u
prvom uredaju koji prima svaki SMP okvir, svaki ureaj moe da napravi razliku od okvira koji
potie od prethodnog suseda i okvira koga je prethodni sused samo prosledio.
Beacon (signalni) okvir se koristi za informisanje uredaja da je dolo do problema i da je
zaustavljen protokol za prosleivanje tokena. Prethodno smo rekli da svaki uredaj ima tajmer
koji detektuje odsustvo AMP okvira. Kada se to desi, uredaj ne zna da li je dolo do greke u
monitoru, ili je dolo do raskidanja prstena. Ukoliko je kvar u prstenu, slanje CT okvira nee reiti
problem. Uredaj koji je detektovao problem alje niz signalnih okvira sa adresom svog
prethodnog suseda. Ako se okviri vrate, uredaj pretpostavlja da nije dolo do prekida prstena
(ili da je eventualni problem otklonjen) i poinje da alje CT okvire kao i ranije. Ako se signalni
okviri ne vrate za odredeno vreme, uredaj zakljuuje da je negde dolo do prekida i podnosi
izvetaj o greci viem sloju u protokolu. Ako uredaj primi signalne okvire od drugog uredaja, on
suspenduje slanje sopstvenih okvira i ponavlja one koje je primio. Eventualno, ako postoji
prekid, jedini uredaj koji alje signalne okvire (slika 9.29) je onaj koji se nalazi ispod prekida.
Odravanje protokola neophodnih za token ring mree zasigurno je nedostatak kada se token
ring poredi sa Ethernetom. Sa druge strane, kontrolisani pristup medijumu preko tokena
eliminie sve kolizije i zato ini token ring mree popularnom opcijom u ranom periodu
umreavanja. Ovo se pokazalo kao tano kada su neoekivana kanjenja izazivala preterane
kolizije, koje su stvarale ozbiljne probleme. Osim toga, token ring mree su omoguile
prenose zasnovane na prioritetima - prednost za administratore mrea kojima je odgovaralo
uspostavljanje prioriteta u mrenom saobraaju. Ipak, napredak tehnologija i mrenog dizajna
redukovao je (i u nekim sluajevima eliminisao) kolizije u Ethernet okruenjima. Osim toga,
bitske brzine na kojima Ethernet moe da funkcionie obezbeduju dovoljan propusni opseg, koji
u veini sluajeva omoguava pravovremenu isporuku okvira na njihova odredita. Zbog toga,
iako i dalje postoje neke token ring mree, Ethernet tehnologije su, ipak, postale dominantne u
LAN okruenjima u poslednjih nekoliko godina.
9.7 Beine mree: IEEE standard 802.11
Do sada smo u ovom poglavlju predstavljali razne naine za povezivanje uredaja u LAN
mreama, ali postoji jo jedna opcija - nema potrebe povezivati ih, bar ne u fizikom smislu.
Naravno, govorimo o beinim komunikacijama. Veina Ijudi koja koristi televiziju,
radio i satelite zna da je to uobiajena opcija i da je neophodna u komunikacijama na velikim
rastojanjima. Beine tehnologije su se proirile i na LAN okruenja i zato je IEEE razvio 802.11
standard za beini LAN (VVLAN - wireless LAN).
Konceptualno, princip je jednostavan: na slici 9.30 prikazano je tipino uredenje. Uredaji kao to
su notebook kompjuteri sadre beine mrene kartice koje mogu da alju i primaju ili radio, ili
infracrvene talase. Talasi se prostiru kroz slobodni prostor izmedu uredaja i na taj nain je
omoguena komunikacija izmeu njih. Takode, mogue je uspostaviti komunikaciju sa
kabliranom mreom pomou uredaja koji se oznaava kao pristupna taka (AP-access point).
SLIKA 9.29 Lociranje prekida na prstenu
prekid prstena
slanje signalnih okvira
koji sadre lokaciju
uredaja A
SLIKA 9.30 Beine WLAN konekcije
Ima iste mogunosti za slanje i prijem infracrvenih, ili radio talasa, ali ima i fiziku konekciju sa
LAN mreom. Preko AP ureaja, notebook kompjuteri imaju pristup bilo kom serveru, tampau,
ili drugom uredaju na LAN mrei. Prednost je to korisnik notebook kompjutera ne mora da trai
zidne utinice, niti da se bavi kablovima. Jednostavno, dovoljno je da pronade pogodno mesto
u dometu pristupne take i moe da obavi svoj posao. Nedostatak beinih LAN prenosa je to
su bitske brzine u optem sluaju nie nego kod LAN mrea sa fizikim konekcijama. Videete da
postoje i neki problemi kod kontrole pristupa medijumu koji ne postoje kod Etherneta, ili token
ring mrea.
Infracrveni i radio talasi
Beini LAN koristi dva oblika komunikacija: infracrvene i radio talase. Kao to je objanjeno u
Poglavlju 2, infracrveni i radio talasi su deo elektromagnetnog talasnog speklra. Frekvencije
infracrvenih talasa nalazi se samo ispod vidljivog svetla, gde radio talasi imaju manje frekvencije.
Infracrveni ureaji su opremljeni sa LED i laserskim diodama koje emituju infracrvene svetlosne
talase. Ovi talasi mogu da se usmere direktno ka prijemniku (point-to-point), ili mogu da se
reflektuju od zidova, ili tavanice (difuzno). Implementiranje point-to-point infracrvenog LAN-a je
mnogo tee, jer predajni i prijemni uredaji moraju da budu poravnati. Sa dmge strane, difuzni
infracrveni LAN moe da koristi reflektivna svojstva infracrvenih talasa. Prijemnik u pristupnoj taki
moe da se fokusira na zid, ili tavanicu. Ureaj koji prenosi infracrveni signal je usmeren na zid, ili
tavanicu, odakle se talasi reflektuju i eventualno dopiru do pristupne take. To je slino daljinskom
upravljau za ukljuivanje televizora, ili promenu kanala. Nije neophodno da se daljinski upravlja
usmeri ka TV-u, ve moe da se odbija od plafona, ili zida iza Vas. Ovo je izuzetno pogodno ako
volite da vebate dok nazimenino pratite svoju omiljenu seriju i sluate spotove sa MTV-a.
notebook kompjuteri
sa beinim karticama
pristupna taka
infracrveni, ili radio talasi
LAN
Postoje neke prednosti infracrvenih sistema. Na primer, infracrvene signale nije regulisao FCC
kao to je to sluaj sa radio signalima. To znai da za opremu koja se zasniva na infracrvenim
talasima nisu neophodne licence. Sledea prednost je to infracrveni talasi ne prodiru kroz vrste
objekte, tako da su sigurniji od neovlaenog prislukivanja spolja. Zahvaljujui ovom svojstvu,
uredaji u razliitim delovima zgrade mogu da koriste isti infracrveni signal bez interferenci. Na
infracrvene talase ne utie radio interferenca, mada jaka sunesva svetlost, ili izvori toplote mogu
da utiu na njih. Medutim, nemogunost prodiranja kroz vrste objekte je nedostatak ako
aplikacija zahteva komunikaciju koja prelazi granice vrstih objekata.
Uredaji koji koriste radio talase ugraeni su u predajnike i antene. Ipak, korienje radio talasa je
neto sloenije nego to ste mogli da pomislile. Razlikuje se od konvencionalnog radija, kod koga
se signal emituje na datoj noseoj frekvenciji i Vi podeavate radio aparat za njegov prijem.
Moda veznate da postoje problemi kada se koristi jedna nosea frekvencija. Jedan problem je
interferenca od drugih ureaja. Ako ste nekada sluali uredaj blizu nekog jakog ureaja, kao to
je motor, znate u emu je problem. Iskljuite motor i sluaete radio bez smetnji. Jo ozbiljniji
problem je to neko moe namerno da emituje signale na odredenoj frekvenciji koji ometaju
prenos. To moe da ima ozbiljne posledice kod vojnih radio komunikacija koje se eventualno
koriste za kontrolu naoruanja. Sledei problem je to je neautorizovanim "uljezima" lake da
presretnu signale. Dovoljno je da se podese na odgovarajuu noseu frekvenciju i da sluaju.
Tu ne moete nita da uradite.
Da bi se reili ovi problemi, 802.11 standard koristi iroki spektar (spread spectrum), tehnologi-
ju koja se koristi ne samo za beine LAN mree, ve i za beine i mobilne telefone. Umesto da
se koristi uski frekventni opseg, prenosi u irokom spektru emituju energiju signala preko ireg
opsega frekvencija (tj. veeg propusnog opsega). To ih ini manje sklonim interferencama, koje
obino utiu samo na manji broj frekvencija. Osim toga, obezbedena je bolja zatita. "Uljez" koji
prislukuje na odredenoj frekvenciji dobija samo manji deo signala, koji mu izgleda kao um.
Ovo je interesantan koncept, ali se namee pitanje kako je mogue proiriti prenos preko irokog
opsega frekvencija. 802.11 standard definie dva tipa tehnologija irokog spektra za WLAN fiziki
sloj: directe-sequnce spread spectrum i frequnecy-hopping spread spectrum.
Principi na kojima se zasniva FHSS (frequency-hopping spread spectrum) tehnologija razvijeni
su jo poetkom Drugog svetskog rata; patenti su priznati Georgu Antheilu i Hedy Keisler Markey
(poznatijoj kao Hedy Lammar).* Uredaj koji koristi FHSS defmie niz frekvencija /,, /
2
, /,, ..., /
n
koje se sve nalaze u emisionom opsegu (slika 9.31). Uredaj za prenos u odredenom periodu
koristi frekvenciju/!, pa prelazi na frekvenciju/
2
.
Akosteljubitelj starih filmova, ili muzike, prepoznaete imena Hedy Lammar i George Antheil. Ona je glumila u brojnim
filmovima tokom 30-ih i 40-ih godina prolog veka, a on je bio kompozitor. Interesantno je da su oni izumili emu za
kontrolu torpeda na velikim udaljenostima na takav nain da ih neprijatelj nije mogao delektovati, ili ometati prenose. ema
je kasnije prerasla u oblik komunikacija irokog spektra.
pseudonasumino generisane frekvencije
SLIKA 9.31 FHSSprenos
I na toj drugoj frekvenciji vri prenos za odreeni period i onda prelazi na /
3
. Ovaj ablon se
nastavlja sve dok ureaj vri prenos preko frekvencija u fiksnom periodu. Kada zavri prenos
preko frekvencije /
n
, ponovo poinje od /,. Svako ko pokua da prislukuje na konkretnoj
frekvenciji ue periodine nailaske signala koji se razlikuju od uma. Ukoliko zna sekvencu
frekvencija i trenutkeza prebacivanje frekvencija, "uljez" nee moi da presretne, ili omete signal.
Ureaj utvrduje ove frekvencije pomou pseudonasuminog generatora brojeva. Naime, koristi se
algoritam sa inicijalnom vrednou (inicijalna ulazna vrednost algoritma) za generisanje
sekvence frekventnih vrednosti. Poto formula koja se koristi za frekvencije nije u potpunosti
nasumina, dobar generator daje brojeve koji imaju brojne karakteristike istinski nasuminih
vrednosti. Prijemni ureaj koristi isti algoritam i generie isti set frekvencija. Tako je mogue
podeavanje na odgovarajuu frekvenciju i prelazak na sledeu kada dode do sledee frekvencije.
Za razliku od konvencionalnih radio emisija, FHSS prenos ne zahteva licenciranje kod FCC, sve
dok je jaina signala manja od 1 vata, koji je dovoljan za komunikaciju na manjim rastojanjima.
FHSS komunikacije za beine LAN mree obino funkcioniu izmeu 2,4 i 2,483 GHz i koriste
do 79 zasebnih kanala, ime su obezbeena 22 razliita ablona (redosled frekvencija).
Uestalost sa kojom uredaj menja frekvencije menja se u skladu sa komunikacionim polisama
uspostavljenim u konkretnoj zemlji. U Sjedinjenim Amerikim Dravama uredaji moraju da
menjaju frekevencije bar 2,5 puta u sekundi.
DSSS (direct-sequence spread spectrum) tehnologija funkcionie na neto drugaiji nain. U
kraim periodima FHSS koristi uskopojasne prenose, ali u duim periodima koristi iroki
propusni opseg. DSSS proiruje jedan bit podataka na vie njih. Zahvaljujud tome, predajnik
funkcionie na veim bitskim brzinama, tako da se signal prostire preko ireg propusnog opsega.
Sledei koraci ilustruju kako ovo funkcionie.
1. Predajni uredaj startuje sa stringom podataka.
2. Za svaki bit podataka generie pseudonasumino izabrani niz bitova, nazvan chipping
sekvenca, sa n bitova.
3. Kombinuje svaki bit podataka i odgovarajuu chipping sekvencu za kreiranje chip koda
duine n bitova. Na slici 9.32 prikazano je kako se to izvodi sa n = 4 bita.
SLIKA 9.32 DSSS prenos
Proces izvodi operaciju iskljuivo ILI izmedu bita podataka i svakog bita u chipping
sekvenci. Rezultat je sekvenca 4-bitnih chip kodova, po jedan za svaki bit. U ovom
sluaju svaki 4-bitni chip kod odgovara 4-bitnoj grupi nasuminog ablona, ako je bit
podataka bio 0, i predstavlja komplement 4-bitne grupe nasuminog ablona, ako je
bit podataka bio 1. 802.11 standard koristi 11-bitnu chipping sekvencu koja se naziva
Barkerov kod za generisanje chip kodova.
Ovde je znaajno napomenuti da predajnik mora da prenese n bitova za svaki bit podataka. Na
primer, da bi se postigla bitska brzina od 1 Mbps, uredaj mora da ima mogunost prenosa n
Mbps. Sa druge strane, vea bitska brzina zahteva signale iz veeg propusnog opsega. Tu se deava
rasipanje signala preko irokog opsega. 802.11 standard primenjuje binarni metod faznog
pomeranja za chip kod kako bi se postigla bitska brzina od I Mbps i kvadraturni metod faznog
pomeraja za postizanje bitske brzine od 2 Mbps. Nakon toga, signal se modulie na noseoj
frekvenciji u opsegu 2,4 do 2,483 GHz pre prenosa. Specifini detalji zavise od ema modulacije;
dodatne detalje moete da pronadete u referencama [ScOO] i [Du03].
Nadmetanje"
Poto smo predstavili komunikaciju beinih uredaja, postavlja se logino pitanje ta se deava
ako dva, ili vie uredaja pokuaju istovremeno da iniciraju prenos. Poto oba uredaja dele isti
medijum (slobodni prostor), doi e do kolizije njihovih signala. Ovo je isti problem sa kojim su
se suoili i kreatori Ethernet tehnologija i delovalo je logino da se iskoristi isto reenje:
CSMA/CD. Medutim, postojao je problem. CSMA/CD je radio kod Etherneta zato to se moglo
pretpostaviti da uredaj rnoe da oslukuje da li postoji saobraaj na medijumu i da moe da
detektuje kolizije ako oba uredaja istovremeno iniciraju prenos. Takve pretpostavke nisu mogue
kod WLAN-a.
Na slici 9.33 opisano je ono to nazivamo problem skrivene stanice i pokazano je ta moe da se
desi. Dva uredaja (A i B) alju informacije do pristupne take, koristei infracrvene talase.
Ako postoji vrsta prepreka (zid) izmeu njih, ni jedan uredaj ne moe da registruje signal onog
drugog.
niz podataka:
Izvodenje operacije iskljuivo ILI
izmedu svakog bita podataka i
bita u odgovarajuoj sekvenci
chipping sekvenca:
rezultat
chip
kod
za 0
chip
kod
za 1
chip
kod
za 0
chip
kod
za 1
Korienje svakog chip koda
za modulaciju signala za
svaki originalni bit podataka
SLIKA 9.33 Nedetektovane kolizije na WLAN-U
Znai, ne moe da se koristi CSMA/CD. Jedno mogue reenje je da se ne koriste infracrveni talasi,
ve da se ostane na radio talasima, jer oni nemaju ogranienja zbog vrstih objekata. Medutim,
to i dalje nee funkcionisati zbog drugog scenarija koji postavlja svaki ureaj na suprotne strane
pristupne take (uredaji A i C). Iako se pristupna taka nalazi u dometu A i C signala, ureaji A i
C mogu da budu toliko udaljeni da njihovi signali ne mogu da dopru jedni do drugih. U tom
sluaju, ni jedan uredaj ne moe da detektuje kolizije, tako da CSMA/CD opet ne moe da
poslui.
Zato je za WLAN neophodno alternativno reenje. 802.11 standard ukljuuje protokol MAC sloja
pod nazivom Distributed Coordination Function (DCF),* koji implementira Carrier Sense
Multiple Access with Collision Avoidance (CSMA/CA). Ipak, ni ovaj protokol ne moe da
izbegne sve kolizije, ali ih bar znaajno redukuje. Protokol funkcionie na sledei nain:
1. Izvorni uredaj treba da poalje okvir sa podacima do neke odredine take. Prvo,
oslukuje medijum. Ako je medijum zauzet, eka da se oslobodi i koristi strategiju
upornosti onako kako je opisano u odeljku 4.7. Ako izvorni uredaj registruje slobodan
medijum, eka dodatni period. Ovo dodatno vreme se koristi za prioritizaciju
aktivnosti. Dodatno vreme ekanja je definisano sa SIFS (short interframe space) i
DIFS (DFC interframe space), koji je dui od SIFS.
*Postoji i drugi metod pristupa poznat kao Point Coordination Function (PCF), koji se koristi kada su ukljuena i
vremenska ogranienja. Vie detalja moete da pronaete u referencama [Fo03] i [ScOO].
pristupna taka
Kada se ureaj bori za okvir medijuma, on eka na DIFS (uskoro emo videti zato).
Kada doeka DIFS, ako je medijum i dalje slobodan, on alje RTS (Recjues to Send)
okvir do odredine take. Kao to sam naziv ukazuje, izvor trai dozvolu od odredita
za slanje okvira. RTS okvir ukljuuje trajanje perioda koji je uredaju neophodan za
slanje. Uskoro emo videti kako se to koristi.
2. Odredina taka prima RTS okvir i mora da reaguje slanjem CTS (Clear to Send)
okvira nazad do izvornog uredaja. Medutim, mora i da se "nadmee" za medijum, jer
u borbu za medijum mogu da budu ukljueni i drugi izvori. Seate se, drugi uredaji
moda nisu registrovali poslati RTS okvir. Odredite nastavlja onako kako je opisano u
prethodnom koraku, osim to, kada detektuje da je medijum slobodan, eka na SIFS.
Ideja je da ako daigi uredaj pokuava da poalje svoj RTS okvir, on e biti primoran da
eka na DIFS. Poto se na SIFS eka krae, odredite dobija vii prioritet u odnosu na
ostale uredaje koji pokuavaju da iniciraju prenos. CTS okvir ukljuuje i duinu
perioda definisanog u RTS okviru.
3. Kada izvorni uredaj dobije CTS okvir, primio je dozvolu za slanje podataka. Sada, pre
nego to nastavimo, odgovorimo na logino pitanje ta se deava ako dode do kolizije
dva RTS okvira. Ovo moe da se desi zato to dva ureaja mogu istovremeno da
izvedu prethodno opisani korak 1 - oba moraju da poalju RTS okvir, a ni jedan nije
detektovao zahtev ovog dmgog, niti rezultujuu koliziju. Meutim, odredite to
detektuje i zato ne alje CTS okvir. Poto ni jedan uredaj u naznaenom periodu ne
dobija CTS okvir, oba pretpostavljaju da je dolo do kolizije, ekaju nasumino
izabrani period i ponovo pokuavaju.
Iako drugi uredaji moda nee registrovati RTS okvir, svaki ureaj u dometu odredita
registmje CTS okvir i zna da je neki drugi ureaj dobio dozvolu za slanje. Zato se svi
uzdravaju od pokuaja da pristupe medijumu radi slanja svog RTS okvira. Drugim
reima, uredaj kome je potvrdena dozvola za slanje ima ekskluzivnu kontrolu nad
medijumom u odredenom periodu. Osim toga, poto CTS okvir sadri duinu
perioda, svi drugi ureaji znaju koliko moraju da ekaju.
4. Kada uredaj primi CTS okvir, on alje svoj okvir sa podacima. Ovde se primenjuje
izbegavanje kolizije. Poto su drugi uredaji svesni neposrednog prenosa i znaju koliko
jo moraju da ekaju, ne bi trebalo da dode do bilo kakvih kolizija.
5. Kada odredite primi okvir sa podacima, vraa ACK okvir. Tako izvor zna da su podaci
primljeni.
6. Kada istekne definisani period, svi ureaji ponovo poinju da se bore za pristup
medijumu.
Adresiranje
802.11 protokol, kao i drugi protokoli, ima tano definisan format okvira. Meutim, pre nego to
doemo do toga, moramo bolje da razumemo mehanizam adresiranja za 802.11, koji definie
etiri razliita adresna polja za svaki okvir. Zato etiri? Da bismo dali odgovor na ovo pitanje,
najpre moramo da objasnimo komponente koje sainjavaju beini LAN. Na slici 9.34 prikazana
je jedna mogua konfiguracija.
* Tehniki, definicija BSS-a je malo ira i ukljuuje sve uredaje koji se "nadmeu" za pristup istom medijumu (tj. koriste istu
radio frekvenciju). Medutim, za nae svrhe ova definicija je sasvim dovoljna.
SLIKA 9.34 Infrastruktura beinog LAN-a
Skup beinih uredaja sa jednim AP uredajem oznaen je kao BSS (basic service set - osnovni
servisni skup).* Poto je mogue da postoji vie AP ureaja, mogue je da postoji i vie BSS-ova.
Osirn toga, vie BSS-ova moe da se povee preko sistema distribucije (DS - distribution system).
Standard 802,11 ne defmie arhitekturu DS-a. DS moe da bude LAN, kolekcija LAN mrea, ili
neki drugi tip mree (ukljuujui i beinu), ali u svim sluajevima omoguava komunikaciju
jednog ureaja u BSS-u sa jednim ureajem iz drugog BSS-a, ili omoguava pristup serverima,
tampaima i tako dalje. Kada uredaj poalje okvir, postoje etiri razliite mogunosti. Prikazane
su u tabeli 9.9, u kontekstu slike 9.34; naznaeno je kako su definisana adresna polja.
Zbog razliitih moguih scenarija, 802.11 okvir ima etiri adresna polja, ije vrednosti zavise
od konkretnog scenarija. Ova polja su neophodna da bi se razlikovao izvor od predajnika
prijemnik od odredila.
BSSl
tampa
server
sistem
distribucije
AP2
BSS2
APl
U prvom sluaju naeg primera X alje okvir do Z. Oba se nalaze u istom BSS-u i AP nije ukljuen
u prenos. Addressl oznaava odredite okvira, a Address2 oznaava izvor. Ovde nismo pravili
razliku izmedu izvora i predajnika (oba su X), niti izmedu prijemnika i odredita (oba su Z).
Address3 jednostavno predstavlja ID BSS-a, a Address4 se ne koristi.
U drugom sluaju X alje okvir narnenjen ureaju Y. Poto se X i Y nalaze u razliitim BSS-ovima,
protokol je sloeniji. U ovom sluaju Addressl definie APl, a Adress2, kao i ranije, oznaava
izvor. Razlika je u tome to ovde prijemnik (AP2) nije i eventualno odredite. Polje Address3
definie Y kao odredite. Ovo je neophodno kako bi APl rutirao okvir.
Trei sluaj se primenjuje ako sistem distribucije sledi i beini standard. U tom sluaju, APl
(polje Address2) prenosi okvir, a AP2 (polje Addressl) treba da primi taj okvir. Medutim, ni
jedan od njih nije niti originalni izvor, niti eventualno odredite. Polja Address3 i Address4
naznaavaju X i Y, respektivno.
Poslednji sluaj se primenjuje kada okvir naputa DS dok ga AP2 prenosi do Y. U tom sluaju,
odredite i prijemnik su isti (Y), ali su predajnik (AP2) i izvor (X) razliiti.
Sva etiri sluaja imaju neto zajedniko. Addressl uvek definie uredaj koji treba da primi okvir.
Dakle, dok uredaj prati radio signale od kojih se okvir sastoji, dovoljno je samo da proveri polje
Addressl kako bi video da li treba da reaguje. Drugo, polje Address2 uvek definie uredaj koji
prenosi okvir. Ovo je neophodno zbog ACK okvira koji treba da se poalje nakon uspenog
prijema. Prijemni uredaj mora da zna gde da poalje ACK okvir. Glavne razlike se ogledaju u
sadraju polja Address3 i Address4.
Format okvira
Na slici 9.35 prikazani su sadraj 802.11 okvira i postavka etiri adresna polja koja smo malopre
opisali. Polje Duration ukazuje na period u kome se odvija prethodno opisana razmena RTS/CTS
okvira. Polje Data je jasno samo po sebi, a polje CRC se koristi za kontrolu greaka.
1
2
3
4
X alje okvir do Z.
Okvir ostaje u sklopu BSSl. Z
X alje okvir do Y.
Okvir prvo ide do API. API
APl alje okvir koji potie
od X do AP2 preko beinog
DS-a. Okvir je namenjen
uredaju Y. AP2
AP2 alje okvir koji potie iz X do Y.
X
X
APl
Y
BSS1
Y
Y
AP2
X
X -
Sluaj Opis
Addressl
(prijemnik)
Address2
(predainik) Address3 Address4
SLlKA 9.35 802.11 okvir
Polje Sequence Control sadri sekvencu brojeva koji se koriste za kontrolu toka. Dakle, jedino
polje koje je potrebno detaljnije razmotriti je Control.
Polje Control je dugako dva bajta i sadri sledee elemente:*
To DS bit Ovaj bit se postavlja kada okvir ide ka DS-U. Fleg je 1 u sluajevima 2 i 3
iz tabele 9.9, a O u suprotnom.
From DS bit Ovaj bit se postavlja kada okvir dolazi sa DS-a. Fleg je 1 u sluajevima
3 i 4 iz tabele 9.9, a O u suprotnom. Ovaj i prethodni fleg odreuju nain na koji
protokol interpretira adresna polja.
More Fragment bit Beini prenosi su skloniji grekama nego elektrine, ili optike
komunikacije. Zbog toga, standard 802.11 doputa smanjenje maksimalne veliine
okvira ako je uestalost pojave greaka velika. To se radi zbog toga to je oteenje
manjeg okvira manje neefikasno nego oteenje veeg okvira, jer je potrebno ponoviti
prenos manje koliine podataka. To stvara probleme ako koliina korisnikih podata-
ka nalae korienje okvira veliine koja premauje maksimalnu vrednost. Medutim,
protokol doputa deljenje okvira na fragmente. Fragmenti mogu da se alju nezavisno,
a zatim se na odreditu sastavljaju kako bi se ponovo kreirao originalni okvir. More
Fragment bit je postavljen kada je tekui okvir podeljen na fragmente i kada sledi vie
fragmenata.
Retry bit Ovaj fleg se postavlja kada se okvir prenosi drugi put (na primer, zbog
toga to nije stigla potvrda).
Dvobitni broj verzije Definie tekuu verziju korienog protokola.
Dvobitno polje Type i 4-bitno polje Subtype 2-bitno polje Type oznaava da li
tekud okvir sadri podatke, kontrolne informacije, ili Je re o upravljakom okviru.
Polje Subtype dalje artikulie namenu okvira. Na primer, 2-bitni kod Ol ukazuje na
kontrolni okvir. Kontrolni okviri se koriste za pristup medijumu.
* Ovde nismo naveli sve elemente polja Control, jer neki od njih zahtevaju detaljnija objanjenja standarda nego to smo
mi obezbedili. Vie detalja moete da pronadete u referencama [ScOO], [Fo03], i [Be02].
Wired Equivalent Privacy (WEP) protokol
Kao to se moglo i pretpostaviti, bezbenost je problem beinih okruenja, posebno kada se
koriste niskofrekventni radio talasi. U takvim sluajevima, prednost "povezivanja" uredaja
razdvojenih fizikim barijerama moe da postane ozbiljan bezbednosni problem. Zbog prirode
radio talasa male snage, WLAN je verovatno sigurniji ako se nalazi na farmi koja je jedini objekat
na podruju od 10.000 jutara. Meutim, ako se WLAN postavlja u stanu, ili kancelariji u zgradi
koja se nalazi u gusto naseljenom podruuju, osetljiv je na napade. Projekat na kome je radio
Peter Shipley (posetite www.dis.org/filez/openlans.pdf) prikazuje eksperiment u okviru koga su
lanovi tima, koristei najnoviji hardver, mogli da lociraju WLAN jednostavno vozei se kroz
susedstvo i pokuavajui da detektuju signal. Zakljuili su da je mogue uspostaviti konekciju sa
vrhova brda, ili visoke zgrade sa mreom koja je udaljena vie od 20 milja. Veina tih mrea
uopte nije implementirala bezbednosni protokol.
U primere mogu da se svrstaju RTS, CTS i ACK okviri. Polja Subtype omoguavaju razlikovanje
okvira. Okviri sa podacima su jasni sami po sebi. Upravljaki okviri se koriste za konfigurisanje
mree.
Slede neki primeri korienja upravljakih okvira:
Konfiguracija BSS-a Seate se sa slike 9.34 da je mogue da se dva BSS-a preklapaju.
To znai da uredaj mora da se pridrui AP uredaju ako mu je neophodan pristup
sistemu distribucije. Da bi se to izvelo, uredaj alje Assodation Request okvir do
naznaenog AP uredaja. Ako AP prihvati pridruivanje, reaguje slanjem okvira
Association Response.
Pronalaenje AP uredaja Kako uredaj zna koji AP uredaji postoje? Da bi detektovao
i identifikovao AP uredaje, svaki uredaj alje Probe Request okvir. Svaki AP detektuje
okvir i reaguje slanjem Probe Response okvira. llredaj koji je inicirao ispitivanje nakon
toga moe da selektuje AP (moda onaj sa najjaim signalom) i moe da mu se pridru,
kao to je opisano u prethodnom koraku.
Roaming Uredaji su mobilni, to znai da mogu da prelaze iz jednog BSS-a u
drugi. Kada se to desi, ureaj moe da poalje Reassociate Request okvir do novog AP
ureaja. AP moe da reaguje sa Reassociate Response okvirom. Disassociation okvir
razdruuje uredaj od prethodno pridruenog AP-a. Medutim, mobilni uredaj se
moda vie ne nalazi u dometu starog AP-a. Zato je novi AP odgovoran za slanje
Disassociation okvira do starog AP-a u ime mobilnog uredaja. Ponovno pridruivanje
treba da se izvri automatski. Ako se uredaj pomeri i detektuje oslabljeni signal iz
postojeeg AP-a, mora da pronade AP sa jaim signalom i da mu se pridrui. Ovo je
analogno funkcionisanju mobilnih telefona kada korisnik prelazi iz jedne elije u
drugu, osim to je ovde re o mnogo manjim razmerama.
Bezbedne komunikacije Uredaj moe da se ukljui u bezbednu komunikaciju
slanjem Authenticate okvira. Nakon toga, dva ureaja mogu da razmenjuju
informacije u skladu sa pravilima bezbednih komunikacija. Kada se bezbedna
komunikacija zavri, okonava se slanjem Deauthentication okvira.
802.11 standard ukljuuje bezbednosni protokol poznat pod nazivom Wired Equivalent Privacy
(WEP). Ovde emo navesti samo neke znaajne karakteristike, a zainteresovani itaoci mogu da
pronadu vie detalja u referenci [Sw03 ].
WEP obezbeduje autentifikaciju i ifrovanje komunikacije izmeu uredaja i AP-a.
Algoritam za ifrovanje koristi 40-bitni tajni klju i dodaje 24-bitni vektor
inicijalizacije kako bi se kreirao 64-bitni klju. Za svaki okvir se koristi drugaiji
vektor inicijalizacije, tako da se dobijaju razliiti kljuevi ifrovanja svakog okvira.
Novija oprema omoguava ifrovanje i sa 128-bitnim kljuem.
Protokol ne definie algoritam koji se koristi za razmenu kljua. Pretpostavlja se da
su kljuevi ugovoreni pre bilo kakve razmene. U okviru Shipleyevog projekta, skoro
polovina WLAN mrea koja je implementirala WEP koristi podrazumevani klju za
ifrovanje.
Metod za ifrovanje koristi algoritam poznat kao RC4 (videti referencu [Sc95 ]).
40-bitni klju i 24-bitni vektor inicijalizacije su ulazne vrednosti za algoritam koji
generie sekvencu pseudonasuminih kljueva. Svaki od tih kljueva se proputa kroz
operacije iskljuivo ILI sa sekcijom obinog teksta iz okvira. Svaki vektor inicijalizacije
je poslat u sklopu okvira (u originalnoj formi). Prijemni uredaj koristi vektor
inicijalizacije i 40-bitni klju za generisanje iste sekvence kljueva i izvodi se
operacija iskljuivo ILI sa dolazeim ifrovanim tekstom za ponovno kreiranje
originalnog teksta.
Grupa u University of California - Berkley je istakla nekoliko propusta u WEP ifrovanju (posetite
www.isaac.cs.berkley.edu/isaac/wep-faq.html). Na primer, mali 24-bitni vektor inicijalizacije
znai da postoji vea verovatnoca da e 64-bitni klju, a, samim tim, i sekvenca kljueva,
biti ponovljeni u uslovima gustog saobraaja. "Uljez" moe da presretne dva, ili vie okvira
ifrovanih istim kljuem I da koristi statistike tehnike (esto prvi korak u "razbijanju" koda) za
analiziranje uzoraka. Referenca [Ar02] ukazuje na slabost standarda 802.11 u pogledu zatite i
istie neke mogue pristupe za reavanje tih problema.
Varijacije standarda 802.11
Originalni 802.11 standard koristi jedan od tri fizika sloja: infracrveni, DSSS, ili FHSS. Svi mogu
da se izvravaju brzinom od 1 Mbps, Oi 2 Mbps, to je veoma sporo u poreenju sa dananjim
protokolima za kablirana LAN okruenja. Kao i u sluaju Ethernet standarda, postoji nekoliko
revizija standarda 802.11 kako bi se obezbedile bre komunikacije. To su 802.11a, 802.11b i
802.Hg. Sve su zasnovane na CSMA/CA i imaju velike razlike u fizikim slojevima.
Na primer, 802.11b, koji je poznat i kao Wi-Fi (skraenica za wirelless fidelity), koristi radio talase
iz opsega od 2,4 GHz i postie brzine od 11 Mbps. Koristi samo DSSS, jer vee brzine ne mogu
da se postignu sa FHSS. Sledea razlika se ogleda u emi modulacije. Originalni standard 802.11
obino koristi PSK modulaciju, a 802.11b koristi CCK (complementary code keying)
metod.
Poredenja radi, standard 802.11a prenosi okvire u opsegu od 5 GHz i koristi oblik
multipleksiranja sa deljenjem frekvencije, umesto tehnologija irokog spektra. Teorijski, bitska
brzina iznosi 54 Mbps, ali brzine koje se postiu u praksi ne prelaze 30 Mbps. Medutim, vee
brzine mogu da budu skupe na kraim rastojanjima. Opseg od 5 GHz je znaajan, jer mnogi
ureaji (mobilni telefoni, Bluetooth ureaji, ak i mikrotalasne penice) vekoriste frekvendje iz
opsega od 2,4 GHz. Sa druge strane, neke vojne aplikacije koriste opseg od 5 GHz.
Na sledeem standardu se jo uvek radi (u vreme kada je ova knjiga pripremana) - to je 802.1 Ig.
Dizajniran je za funkcionisanje u opsegu od 2,4 GHz i ima bitsku brzinu od 54 Mbps. Dati su
predlozi za korienje eme multipleksiranja sa deljenjem frekvencije za vee bitske brzine i CCK
eme zbog obezbedivanja kompatibilnosti sa prethodnim standardom 802.11b. Meutim,
802.1 Ig jo uvek nije ratifikovan kao zvanini standard.
Ovaj odeljak ne sadri kompletan opis beinog LAN protokola. Re je o veoma sloenom
protokolu. Nismo naveli nita vie od opteg pregleda najznaajnijih tema; postoji jo mnogo
toga to moe da se kae o ovom protokolu (videti reference [ScOO], [ Fo03] i [Be02]).
9.8 Zakljuak
U ovom poglavlju smo predstavili lokalne mree i fokusirali smo se prvenstveno na protokole
sloja 1 i 2. Videli ste da sloj veze izmedu podataka sadri dva podsloja: LLC i MAC. LLC je
nezavisan od specifine lokalne mree i defmie point-to-point komunikacije izmedu dva ureaja
u LAN okruenju. Mnogi protokoli funkcioniu na ovom sloju, mada veina koristi HDLC
(High-level Data Link Control) protokol.
HDLC je primer bitovima orijentisanog protokola. Njegovi okviri se tretiraju kao nizovi bitova.
Definisao ga je ISO za point-to-point, ili multipoint konekdje; koristi se za half-duplex i
full-duplex komunikacije, a moe da koristi ili go-back-n protokol, ili protokol selektivne
retransmisije. Definie razliite tipove okvira i koristi ih za razmenu podataka, komandi, ili
kontrolnih informacija.
Poredenja radi, ilustrovali smo i BSC, neto stariji bajtovima orijentisani protokol kod koga se
okviri tretiraju kao nizovi bajtova. Takode se koristi za point-to-point, ili multipoint konekcije,
mada se obino koristi u half-duplex komunikacijama sa stop-and-wait protokolom za kontrolu
toka. Kao i HDLC, definie razliite tipove okvira za razmenu podataka, komandi i kontrolnih
informacija.
U veem delu ovog poglavlja opisani su protokoli MAC sloja i fizikog sloja koji se koriste za
implementiranje LAN mrea. IEEE je definisao etiri razlidta IAN standarda: 802.3 Ethernet,
802.4 token bus, 802.5 token ring i 802.11 beini LAN. Ethemet je dominantni standard i
razvijen je u nekoliko razliitih verzija (Fast Ethernet, Gigabit Ethernet, 10 Gigabit Ethernet) kako
bi se iskoristile prednosti novih, brih tehnolgija. Iako se u dananje vreme token bus i token ring
mree retko koriste, predstavili smo token ring radi poredenja sa Ethernetom. Beini standard,
koji je relativno nov, eliminie potrebu za fizikim konekcijama, ali je sporiji od kabliranih
varijanti. U tabeli 9.10 prikazan je pregled najvanijih karakteristika ovih IAN standarda.
IEEE standard Komentari
IEEE 802.3
IEEE 802.3a
IEEE 802.3i
IEEE 802.3J
IEEE 802.3U
IEEE 802.3U
IEEE 802.3U
IEEE 802.3at
IEEE 802.3Z
IEEE 802.3Z
IEEE 802.3Z
Koristi 10Base5 (ThickNet) 50-omski koaksijalni kabl, prenika 10 mm.
Maksimalna duina segmenta iznosi 500 metara. Ostale granice su etiri
repetitora, oet segmenata i 100 uredaja po jednom segmentu. Rastojanje
izmedu primopredajnika mora da bude najmanje osam stopa. Koristi
Manester kodiranje. Primenjuje se kod fizikih topologija magistrale.
Koristi 10Base2 (CheaperNet, ThinNet) 50-omski koaksijalni kabl, prenika
5 mm. Maksimalna duina segmenta iznosi 185 metara. Doputena su
najvie etiri repetitora, pet segmenata i 30 uredaja po jednom segmentu.
Minimalno rastojanje izmedu vorova iznosi 0,45 metara. I ovaj standard
koristi Manester kodiranje. Primenjuje se kod fizikih topologija magistrale.
Kategorija 3, 4, ili 5 UTP kabla (lOBaseT). Centralni hub. Manester
kodiranje. Maksimalna duina UTP kabla je 100 metara. Koristi se kod
fizike topologije zvezde.
Fiber sa vie modova (10BaseFx). Maksimalno rastojanje iznosi 200 metara
za FL i FB, a 500 metara za FP. Koristi se kod fizike topologije zvezde, ali
FP koristi pasivni spreni element kao hub. FP se ne sree esto.
Koristi dva para upredenih parica kod kablova kategorije 5 (100BaseTX) i
4B/5B, iza koga sledi MLT-3 kodiranje. U domenu kolizije se koriste
maksimalno dva repetitora klase Il (ako se nalaze na rastojanju od pet
metara, ili manje), ili jedan repetitor klase I. Maksimalna duina segmenta
je 100 metara.
Optiki fiber sa vie modova rada (lOOBaseFX). Koristi 4B/5B i NRZI
kodiranje. U domenu kolizije koriste se maksimalno dva repetitora klase II,
ili jedan repetitor klase I. Maksimalna duina segmenta iznosi 136 metara
ako su oba linka u istom domenu kolizije izvedena pomou fibera, a 160
metara ako je drugi link UTP. Ako fiber povezuje dva komutatora, duina
segmenta moe da bude 412 metara (half duplex), ili 2.000 metara
(full duplex).
Koristi etiri para upredenih parica kod kablova kategorije 3 (100BaseT4).
Koristi se 8B/6T kodiranje i tritovi se prenose istovremeno preko tri para
upredenih parica. Izmeu uredaja je mogue postaviti najvie dva repetitora
klase II, ili jedan klase I. Ne moe da se koristi u full-duplex modu.
Maksimalna duina segmenta iznosi 100 metara.
Zahteva etiri para upredenih parica kategorije 5 UTP kablova (1000BaseT)
i pokree se u full-duplex modu. Za signaliziranje su neophodne sloene
procedure kodiranja/dekodiranja: PAM5, reetkasto i Viterbi. Maksimalna
duina segmenta iznosi 100 metara.
Medijum je specijalni zatieni bakarni kabl (lOOOBaseCX). Maksimalno
rastojanje iznosi 25 metara. Obino se koristi za povezivanje uredaja na
ispitnim mestima u komunikacionom centru. Koristi 8B/10B kodiranje.
Dugotalasni optiki fiber (1000BaseLX). Moe da se koristi ili u vie
modova, ili samo sa jednim modom. Maksimalne duine iznose 5.000
metara za fiber sa jednim modom i 550 metara za vie modova. Koristi se
8B/10B kodiranje.
Kratkotalasni optiki fiber (lOOOBaseSX). Moe da se koristi sa fiberom sa
vie modova. Maksimalne duine su 220 i 550 metara, u zavisnosti od
prenika fibera. Koristi 8B/10B kodiranje.
Komentari IEEE standard
IEEE 802.3ae
IEEE 802.5
IEEE802.11
IEEE 802.1 Ix
10 Gigabit Ethernet. Full-duplex komunikacije iskljuivo preko optikog
fibera, kod kojih su kolizije eliminisane. U vreme kada je ova knjiga
pripremana, 10 Gigabit Ethernet Je najverovatnije korien samo kod
nosilaca koji obezbeduju povezanost LAN okruenja sa manjim bitskim
brzinama.
Token ring mrea. Uredaji su povezani u logiki prsten, a okviri "putuju"
preko njega, sledei rutu do svojih odredita. Uredaj ne moe da prenosi
podatke sve dok ne primi token (specijalni okvir koji cirkulie prstenom
kada se ne prenose nikakvi podaci). Moraju se implementirati upravljake
rutine koje nastupaju u situacijama kada dode do problema sa tokenom.
Beini LAN. Koristi infracrvene, ili jedan od dva mogua oblika radio talasa
irokog spektra. Na brzinama od 1, ili 2 Mbps WLAN je sporiji od ostalih
mrea sa fizikim konekcijama. Poto nema garancija da e uredaji
detektovati kolizije, uredaji prilikom "nadmetanja" za pristup medijumu
koriste CSMA/CA.
802.1 Ia funkcionie u opsegu od 5 GHz i teorijski moe da postigne bitske
brzine od 54 Mbps. Ipak, u praksi su postignute nie vrednosti. 802.1 I b,
poznat I kao Wi-Fi, funkcionie u opsegu od 2,4 GHz i ima bitsku brzinu od
11 Mbps. 802.1 Ig se i dalje razvija, ali planira se da funkcionie u opsegu
od 2,4 GHz i da postigne bitske brzine od 54 Mbps.
Pitanja i zadaci za proveru
1. Navedite razliku izmeu bitovima orijentisanog i bajtovima orijentisanog protokola.
2. Koja tri komunikaciona moda postoje kod HDLC protokola? Opiite sva tri.
3. ta je dopunjavanje bitova i zato je neophodno?
4. Navedite razlike izmedu primarne, sekundardne i kombinovane stanice.
5. Navedite razlike izmeu glavnih tipova HDLC okvira.
6. Definiite etiri tipa statusa koja se mogu naznaiti u HDLC supervizorskom okvim.
7. ta je emisiona adresa?
8. Navedite druge protokole sline HDLC-u i organizacije koje ih sponzoriu.
9. Navedite glavne razlike izmeu HDLC i BSC protokola.
10. ta je SYN karakter?
11. ta je Data Link Escape karakter?
12. Navedite razliku izmeu transparentnih i netransparentnih podataka.
13. Sta je dopunjavanje bajta?
14. Navedite razlike izmedu lokalnih i WAN mrea.
15. Navedite tipine LAN topologije.
16. Kako fizika topologija zvezde moe da funkcionie kao logika topologija magistrale?
17. Koje su glavne podele sloja veze i koje su njihove najvanije funkcije?
18. Sta je primopredajnik?
19. Da li su sledee konstatacije tane, ili netane (zato)?
a. HDLC je bajtovima orijentisani protokol.
b. HDLC moe da koristi ili selektivnu retransmisiju, ili go-back-n protokol.
c. Ethernet je protokol sa sedam slojeva, slino OSI modelu.
d. Polje Pad u Ethernet okviru je opciono.
e. Postoji samo jedan Ethernet protokol.
f. Kod token ring mree uredaji naizmenino alju okvire preko prstena.
g. Fast Ethernet i IO Mbps Ethernet koriste iste MAC protokole.
h. Sva tri LAN protokola omoguavaju definisanje prioriteta za uredaje.
i. Token ring nema centralizovanu kontrolu.
j. Svaki uredaj moe da povisi, ili snizi prioritet tokena.
k. Jedina prava razlika izmedu prenosa infracrvenim i radio talasima kod WLAN-a
ogleda se u moguim bitskim brzinama.
20. Opiite sve specifikacije 802.3 kablova.
21. Zato Ethernet uredaj mora i dalje da prenosi okvir koji se sudario sa nekim drugim
okvirom?
22. Gde se koristi T-konektor?
23. Zato su u nekim mreama neophodni repetitori?
24. U emu je razlika izmedu huba i repetitora?
25. Sta je domen kolizije?
26. 10 Mbps Ethernet specifikacija koristi Manester kodiranje. Zato Fast Ethernet ne
moe da se koristi sa UTP kablovima kategorije 5?
27. Zato se kod Fast Etherneta 4 bita menjaju sa pet bitova, ime se uveava ukupni broj
bitova koje je potrebno preneti?
28. Navedite razlike izmedu lOOBaseTX i 100BaseT4 specifikacija kod Fast Etherneta.
29. ta je MLT-3 kodiranje?
30. Zato se MLT-3 kodiranje ne moe koristiti za 100BaseT4?
31. Fast Ethernet ima veu bitsku brzinu od originalnog Etherneta, ali segmenti moraju da
budu krai. Zato?
32. Zato kod Gigabit Etherneta minimalna veliina okvira mora da bude vea od mini-
malne veliine okvira kod prethodnih verzija?
33. Sta je navalni okvir?
34. Zato je kod Gigabit Etherneta sa optikim fiberom znaajno sauvati priblino pod-
jednak broj nula i jedinica za vreme istog prenosa?
35. Sta je hibrid kod Gigabit Etherneta?
36. Koja je svrha ekstenzije nosioca kod Gigabit Ethernet okvira?
37. Kako Gigabit Ethernet moe da funkcionie bez protokola za detektovanje kolizija?
38. Zato je neophodno definisati maksimalnu i minimalnu veliinu Ethernet okvira?
39. emu slui token na token ring mreama?
40. Prokomentariite sadraj i svrhu svakog polja u formatu tokena (za token ring mreu).
41. ta su non-data-J i non-data-K signali?
42. ta je stanica za odlaganje?
43. ta je stanica za nadgledanje (monitor)?
44. Opiite svrhu sledeih kontrolnih okvira u token ring mreama:
a. Active Monitor Present okvir
b. Beacon okvir
c. Claim Token okvir
d. Purge okvir
e. Standby Monitor Present okvir
f. Duplicate Address Test okvir
45. ta je isputeni okvir?
46. ta je pristupna taka kod beinog LAN-a?
47. Koje su prednosti korienja infracrvenih talasa u odnosu na radio talase u WLAN
mreama? Koji su nedostaci?
48. ta je tehnologija irokog spektra?
49. Poto WLAN koristi deljeni medijum kao i originalni Ethernet, zato ne moe da se
koristi protokol za detektovanje kolizija?
50. Opiite problem skrivene stanice kod WLAN mrea.
51. U emu je razlika izmedu FHSS i DSSS?
52. U emu je razlika izmeu chipping sekvence i chip koda?
53. WLAN okvir sadri etiri adresna polja. Svako od tih polja sadri informacije koje
zavise od toga kome je okvir namenjen i odakle se prenosi. Kako protokol moe
ispravno da interpretira sadraj svih adresnih polja?
Vebe
1. Uzmite za primer 10 Mbps 802.3 LAN (10Base5 kabl). Koliko maksimalno vremena
uredaju moe da bude neophodno za detektovanje kolizije ako je duina segmenta
500 metara?
2. Kako izgleda MLT-3 signal za string 01001100100110? Pretpostavite da je nivo signala
na poetku 0.
3. Zato 8B/6T signal izgleda kao dva bajta 42C3?
4. Zato naizgled komplikujemo token ring protokol rutiranjem svakog bita u okviru, ili
tokenu dm se primi? Zato se ne prime svi bitovi tokena, proue se, a zatim proslede
do sledeeg uredaja?
5. Uzmite za primer 200 metara dugaki 4 Mbps token ring sa 20 uredaja, koji prenose
podatke sa istim prioritetom. Pretpostavite da ni jednom uredaju nije dozvoljeno da
prenese vie od 5.000 podataka u jednom ciklusu posedovanja tokena.
Kada ureaj prepusti token, koliko vremena moe da protekne (u najgorem sluaju)
dok ponovo ne dobije token?
6. U sklopu diskusije o rezervisanju tokena, istakli smo da ureaj koji povisi prioritet
tokena mora kasnije i da ga snizi. Zato uopte sniavati prioritet tokena? Zato ga ne
ostaviti takvim kakav jeste?
7. Zavrite tabelu 9.7 do take u kojoj su svi ureaji poslali svoje okvire i kroz prsten
ponovo cirkulie token sa prioritetom O.
8. Ponovite primer opisan na slici 9.28 i u tabeli 9.7, uz pretpostavku da se token kree
suprotno od smera kretanja kazaljki na asovniku.
9. Ako su definisani prioriteti na token ringu, koliko najdue uredaj moe da eka pre
nego to prisvoji token?
10. U naoj diskusiji o SMP okvirima svaki uredaj je ponavljao primljeni okvir i kasnije
slao sopstveni okvir. Zato svaki ureaj koji primi SMP okvir ne povue taj okvir sa
prstena i odmah poalje sopstveni okvir?
11. Razmotrite algoritam sa slike 9.27. Diskutujte efekte uklanjanja prateeg koda pod
sledeim uslovima.
a. Uslov 2
b. Uslov 4
c. Uslov 7
12. Napiite pseudokod logike ureaja koji prisvaja token pomou Claim Token okvira.
13. Kako izgleda preneti binarni string nakon dopunjavanja bitova kod sledeeg stringa
(najpre se prenosi krajnji levi bit)?
010111111011110111111101111
14. Ponovo iscrtajte sliku 9.8b, uz pretpostavku da B alje SREJ (umesto REJ) kada
detektuje greku.
15. Ponovo iscrtajte sliku 9.8b, uz pretpostavku da je B poslao etiri informaciona okvira,
koji su stigli u A pre nego to je A poslao drugu grupu olcvira. Takode pretpostavite da
je trei okvir koji je poslat iz B oteen u toku prenosa.
16. LJ odeljku 9.2 popunjavanje bajta je opisano kao umetanje dodatnih DLE karaktera
uvek kada se u podacima javi DLE. Namera je da se izbegne pogreno tumaenje
podatka sa vrednou DLE kao kontrolnog karaktera DLE. Zato se isti efekat ne moe
postii jednostavnim korienjem STX karaktera pre bajtova sa podacima, a ako se u
podacima javi ETX, zato jednostavno ne umetnemo jo jedan ETX karakter?
17. Napiite program koji vri popunjavanje bajta u nizu karaktera. Napiite kompletni
program koji prihvata dopunjeni niz karaktera i uklanja dopunjene bajtove.
18. Planirate da postavite WLAN u kancelarijsko okruenje koje ima dosta pregraenih
odeljenja na velikom prostoru. Ako je sve ostalo isto, da li bi infracrveni, ili radio
talasi bili bolji izbor? Zato?
19. Planirate da postavite zasebne WLAN mree u r.izu laboratorija (po jedan WLAN za
svaku laboratoriju). Veliine laboratorija su razliite, ali sve su blizu jedne dmgih, u
istom delu zgrade. Ako je sve ostalo isto, da li bi infracrveni, ili radio talasi bili bolji
izbor? Zato?
20. Pretpostavite da na slici 9.34 uredaj Y alje okvir do uredaja Z. Prikaite sadraj
adresnih polja okvira dok "putuje" od Y do AP2, preko APl do Z.
21. Ureaj e prenositi bitove podataka 010010 pomou DSSS-a. Chipping sekvenca je
takozvani Barkerov kod 10110111000. Koji se bitovi, u stvari, prenose?
22. elite da beini uredaj moe da prenosi podatke brzinom od 2 Mbps. Ako koristi
Barkerov kod iz prethodnog primera, kolika mora da bude izvorna bitska brzina?
23. Dva WLAN ureaja se "nadmeu" za pristup medijumu. Jedan alje RTS okvir radi
pristupa, a drugi eli potvrdu za prethodno poslati RTS okvir u vidu CTS okvira.
Pretpostavimo da oba istovremeno detektuju neaktivnost medijuma. Koji ureaj
moe da ostvari uspean prenos? Objasnite.
Reference
[Ar02 ] Arbaugh, W., N. Shankar, Y.C. Justin Wan, and K. Zhang. "Your 802.11 Wireless
Network Has No Clothes." IEEE Wireless Communications, vol. 9, no. 6 (December
2002),44-51.
[Be02] Berger, R. 802.11 Unleashed. Englewood Cliffs, NJ: Prentice-Hall, 2002.
[Du03 ] Dubendorf, V. Wireless DaIa Technologies reference Handbook. New York: Wiley,
2003.
[Fo03] Forouzan, B. Local Area Networks. New York: McGraw-Hill, 2003.
[GrOl ] Gravano, S. Introduction to Error Control Codes. Oxford and New York: Oxford
University Press, 2001.
[HaOl ] Halsall, F. Multimedia Communications. Reading, MA: Addison-Wesley, 2001.
[PrOl ] Proakis, J. Digital Communications. New York: McGraw-Hill, 2001.
[Sc95] Schneier, B. Applied Cryptography: Protocols, Algorithms, and Secure Code in C. 2nd
ed. New York: Wiley, 1995.
[Sc97] Schlegel, C. Trellis Coding. New York: Wiley, 1997.
[ScOO] Schiller, J. MoUIe Communications. Reading, MA: Addison-Wesley, 2000.
[St99 ] Stallings, W. ISDN and Broadband ISDN with Frame Relay and ATM, 4th ed.
Englewood Cliffs, NJ: Prentice-Hall, 1999.
[Sw03 ] Swaminatha, T.M., and CR. Elden. Wireless Security and Privacy: Best Practices and
Design Techniques. Reading, MA: Addison-Wesley, 2003.
Informacije mogu da nam kau sve. Daju odgovore na sva pitanja. AH, re je o pitanjima koja
moda jo uvek nisu i nesumnjivo nee ni biti postavljena.
Jean Baudrillard, francuski semiolog
10.1 Uvod
Kako se potreba za komunikacijama poveava, zajedno sa sve veim brojem ureaja, protokoli
koje smo opisali u prethodnom poglavlju postaju neefikasni. Vee potrebe obino zahtevaju veu
fleksibilnost od one koju te topologije i protokoli mogu da obezbede. Poto se broj okvira
poveava, LAN mree postaju "zasienije" i performanse se degradiraju. To je slino gradskim
saobraajnicama. U jednom trenutku moe sasvim dobro da zadovolje saobraajne potrebe, ali
kako se poveava broj vozila, uvode se nove trake, izlazne i ulazne rampe, a ponekad i nove
saobraajnice kako bi se regulisao dodatni saobraaj.
Jedan od naina da se izbegnu ozbiljna "uska grla" je da se LAN podeli na vie manjih LAN-ova,
ime se redukuje broj uredaja po LAN-u. Ovo reenje doprinosi ouvanju performansi na pri-
hvatljivom nivou. Meutim, distribuiranje svih uredaja na vie LAN-ova namee pitanje koji su
uredaji pridrueni kojem LAN-u. Marfijev zakon kae da e se, bez obzira kako grupiete uredaje,
uvek desiti da dva ureaja iz razliitih LAN-ova zahtevaju meusobnu razmenu informacija. Zato
je neophodno obezbediti komunikacije izmeu LAN-ova, a, pri tom, zadrati LAN protokol. To
je neminovno vodilo ka dizajniranju naina na koje je mogue povezati mree. Svaka dva uredaja
na LAN-u mogu da komuniciraju pomou LAN protokola. Meutim, ako se nalaze u razliitim
LAN-ovima, neophodno je razviti nove protokole koji e prevazi granice LAN-a.
Razliite mree su dizajnirane za razliite ljude za sasvim razliite ciljeve. Ipak, bilo bi nerealno
pretpostaviti da su oni medusobno izolovani. Na primer, u veoj korporaciji razliita odeljenja
mogu da imaju specifine ciljeve i razliite pristupe u obavljanju svojih poslova.
Povezivanje mrea
Postoje znaajne razlike izmedu proizvodnog odeljenja, razvojnog i istraivakog odeljenja i
marketinga. Na njihove odluke o instaliranju kompjutera i povezivanju mrea utiu razliiti faktori.
Zato je mogue da usvoje sasvim razliite i nekompatibilne sisteme. Medutim, i pored toga je
neophodno obezbediti komunikaciju izmedu tih odeljenja; ako koriste nekompatibilne mree,
dolazi do problema. U takvim situacijama postoje dva mogua reenja. Prvo je primoravanje na
usvajanje jedinstvenog mrenog standarda. Naalost, ako izabrana mrea ne ispunjava postavljene
ciljeve i potrebe odeljenja, onda je izbor kontraproduktivan. Drugo reenje podrazumeva
pronalaenje naina za povezivanje razliitih mrea da mcgu da komuniciraju bez problema. Poto
vecina Ijudi oekuje da kompjuteri i mree rade za njih, a ne da im se povinuju, drugi izbor je
poeljan.
Na primer, razmotrite scenario sa slike 10.1, koji predstavlja mree koje se koriste u velikoj
korporaciji. LAN mree su instalirane u dva odeljenja u Njujorku, a jedna u odeljenju u Teksasu.
Uredaji A i B iz Njujorka pristupaju fajl serverima na svojim LAN-ovima, koristei protokole o
kojima je bilo rei u prethodnim poglavljima. Uredaj C iz Teksasa radi neto slino. Medutim, sva
tri uredaja povremeno zahtevaju pristup drugim LAN-ovima. Dve mree u Njujorku mogu
direktno da se poveu, ali, zbog velike udaijenosti, nije mogua direktna konekcija sa mreom u
Teksasu. Zato se za povezivanje Teksasa i Njujorka koristi WAN (mrea ireg geografskog
podruja).*
Mogunost povezivanja mrea definitivno nije nita novo. Postoje standardi i za softver i za
povezivanje uredaja, a svi proizvodai kompjuterske opreme nude razne proizvode za tu svrhu.
Pitanje je gde se u softverskoj i hardverskoj hijerarhiji ti uredaji uklapaju.
konektor
token rin
LAN
server
server
New York
Ethernet
LAN
konektor
WAN
wide area netvvork
konektor
Ethernet
LAN
server
Texas
SLIKA 10.1 Povezivanje mrea
' Kasnije emo predstaviti WAN mree. Za sada je dovoljno da ih zamiljate kao mree koje "pokrivaju" veu geografsku
oblasi od LAN-a i koriste drugaije protokole.
SLIKA 10.2 OSIkonekcije
ta ti proizvodi, u stvari, rade? Modeli kao to je OSI obezbeduju nekoliko slojeva protokola za
kompjuterske mree. Na primer, pretpostavimo da se dva LAN-a u Njujorku razlikuju samo na
MAC podsloju sloja veze, a da razlike u odnosu na WAN postoje na viim slojevima. Prilikom
konekcija sa WAN-om treba reiti probleme nekompatibilnosti, a to je mnogo sloenije od
povezivanja dva LAN-a.
Za uspostavljanje konekcija koriste se konvertori protokola, koji definiu logiku za prevodenje
jednog protokola u drugi. U optem sluaju, dve identine mree mogu da se poveu na sloju 1,
to ukljuuje samo elektronske konekcije koje omoguavaju regenerisanje i ponavljanje signala.
Takoe je mogue povezati dve potpuno nekompatibilne mree na najviem sloju, koristei
ureaj poznat kao gateuiay. Takve konekcije zahtevaju kompletno poznavanje oba protokola i
mogunost prevoenja jednog u drugi. Konekcije su mogue i na slojevima izmedu najvieg i
najnieg, ali nivo zavisi od stepena kompatibilnosti izmeu dve mree.
Najei konvertori protokola postoje na slojevima 1, 2 i 3 (slika 10.2). Ti uredaji i protokoli na
kojima se zasnivaju predstavljaju najvanije teme ovog poglavlja.
(c) Konekcija sloja 3 (d) Konekcija sloja 7
SLIKA 10.3 LAN-ovi povezani pomou repetitora
U odeljku 10.2 predstaviemo uredaje sloja 1, hubove i repetitore. U odeljku 10.3 bie rei o
mostovima i komutatorima, ureajima koji izvravaju translacije na sloju 2. U tom odeljku emo
prikazati i konfigurisanje konekcija, rutiranje informacija izmeu razliitih LAN-ova i strategije
za kreiranje tabela koje ukazuju na uredaje koji postoje na tom LAN-u. Poeemo sa originalnim
ureajima sloja 2, mostovima, a zatim prelazimo na tekue tehnologije, ukljuujui komutatore,
komutirani Ethernet i virtuelne LAN-ove. U odeljku 10.4 emo predstaviti mree koje se prostim
preko irokih podruja, kao to je Internet. U odeljcima 10.5 do 10.8 opisani su razliiti
algoritmi koji su neophodni ruterima za utvrdivanje putanja do zahtevanog odredita i neki
problemi koji su izazvani zaguenjem i "otkazima" ureaja, zajedno sa nadnima za oporavak od
tih problema. U prethodnim poglavljima bavili smo se individualnim komponentama velikog
komunikacionog sistema, a sada je vreme da sastavimo te delove.
10.2 Konekcije sloja 1
Repetitori i hubovi
Na slici 10.3 prikazan je uobiajeni nain za povezivanje mrea pomou repetitora (repeaters),
ureaja koji funkcioniu na fizikom sloju (sloj 1). Repetitor prihvata bitove okvira sa LAN-a na
koji je povezan i prenosi ga do drugog LAN-a. Pretpostavlja da LAN-ovi na koje je povezan koriste
iste protokole i iste formate okvira, a ne postavlja nikakve pretpostavke o znaenju bitova.
Primarna funkcija repetitora je regenerisanje signala, ime se poveava rastojanje koje je mogue
"pokriti" IAN protokolima.
Uredaji A, B, C i D su povezani na razliite LAN-ove (moda Ethernet segmente). Ipak, svaki
uredaj vidi sve okvire koje drugi uredaji poalju. Na primer, D vidi sve to A poalje. Okvir e biti
prihvaen u zavisnosti od toea kome je namenien.
Ureaji nisu "svesni" postojanja repetitora: to se njih tie, oni su povezani na jedan, ali mnogo
vei LAN. Ako su LAN-ovi Etherneti koji koriste CSMA/CD, svi ureaji se nalaze u istom domenu
kolizije. Ovo znai da e, ako bilo koja dva od ureaja A, B, C, ili D istovremeno alju okvir, doi
do kolizije.
Kao to je opisano u prethodnom poglavlju, mnogi ureaji se oslanjaju na hubove prilikom
uspostavljanja konekcija. Na slici 10.4 prikazano je tipino ureenje. Jedan hub moe da povee
vie ureaja, ukljuujui rane stanice i druge hubove. Sa stanovita uredaja, postoji mala razlika
izmedu povezanosti na hub, ili na segment. Ako uredaj za nadmetanje za pristup medijumu
koristi CSMA/CD, u svakom sluaju funkcionie na isti nain: alje okvire i "oslukuje" da li je
dolo do kolizija. Funkcije huba su prilino sline funkcijama repetitora - on prihvata signal
preko jednog porta (konekcija), regenerie signal i alje ga do svih ostalih portova. Hub se
ponekad naziva vieportni repetitor (multiport repeater). Kao i kod repetitora, ako uredaji
implementiraju CSMA/CD, svi se nalaze u istom domenu kolizije. Ponavljamo: ako bilo koja dva
od ureaja A, B, C, ili D istovremeno poalju okvir, dolazi do kolizije.
Repetitori i hubovi prvenstveno proiruju domet mree, ali mogu da stvore i neke probleme. Jedan
problem nastaje zato to vie uredaja ima pristup medijumu. To poveava saobraaj i moe da
degradira performanse LAN-a. Na primer, ako A alje okvir do E (slika 10.3, ili 10.4), repetitori, ili
hubovi prosleduju okvir do svih moguih lokacija. Nemaju ugradenu logiku koja bi prepoznala da
su A i E na istom LAN-u, ili da su povezani na isti hub i da ponavljanje okvira nema smisla. Naravno,
rezultat je to da ni jedan uredaj ne moe da alje nita dok A ne zavri prenos. Ako ureaji izvravaju
CSMA/CD, proirivanje dometa LAN-a je ekvivalentno proirivanju domena kolizije.
hub
SLIKA 10.4 Uspostavljanje konekcija pomou hubova
SLIKA 10.5 LAN-ovi povezani mostom
Drugi problem je zatita. U optem sluaju, to je vie ljudi koji imaju pristup informacijama,
zatita se tee implementira. Ako A i E razmenjuju neke osetljive informacije, okviri prolaze kroz
sve ostale uredaje, to poveava potencijalne bezbednosne propuste.
10.3 Konekcije sloja 2
Mostovi
Sledei nain za povezivanje LAN-ova je korienje mosta, ili komutatora. Razlika izmedu mosta
i komutatora je analogna razlici izmeu repetitora i huba. Most (bridge) tradicionalno povezu-
je dva LAN-a, a komutator (switch) povezuje vie uredaja. Ovde je bitno to to oba konektora
imaju mogunost izvravanja protokola sloja 2 i donoenja odluke kada treba proslediti okvire
koje prime. U stvari, na slici 10.3 zamenite re repetitor sa most, a na slici 10.4 hub sa komutator i
dobiete istu mreu sa istom fizikom topologijom, ali sa mnogo veim mogunostima za
kontrolu, upravljanje i izolovanje saobraaja. Mostovi su esto korieni kada je bilo neophodno
povezati Ethernet uredaje na zajedniki segment. Sa razvojem Fast Ethemet protokola i
prelaskom na UTP kao fiziki medijum, komutatori postaju sve popularniji izbor. Najpre emo
obraditi tradicionalne funkcije mosta. Tako moemo da predstavimo jednostavniji pogled na
"stvari", bez kompromisa u vezi diskusije o nekim znaajnim zadadma koje izvravaju i mostovi
i komutatori. Veina onoga to kaemo za mostove vai i za komutatore. Nakon toga, nasta-
vljamo razmatranje o komutatorima i posebno komutiranom Ethernetu i virtuelnim LAN-ovima.
Most je konektor sloja 2. Kao takav, izvrava funkcije veze, kao to su detektovanje greaka,
formatiranje okvira i rutiranje okvira. Na primer, pretpostavimo da uredaj B alje okvir na LAN
L2 u mrenoj konfiguraciji sa slike 10.5.
Most Bl prouava odredinu adresu i, ako je okvir namenjen bilo kojem ureaju sa LAN L1
(recimo A), prihvata okvir i prosleduje ga korienjem protokola za nadmetanje za pristup na L1
(glavno pitanje kojim emo se uskoro pozabaviti je kako Bl zna da se nalazi na L1). Ako je okvir
namenjen nekom uredaju sa drugog LAN-a, Bl ga ignorie. Tako se Bl ponaa kao bilo koji
ureaj koji selektivno odbacuje, ili prihvata okvire na osnovu njihovog odredita.
Ako Bl prihvati okvir, izvrava rutine za detekciju greaka da bi se utvrdilo da li je okvir ispravan.
Ako nema greaka, okvir se alje preko LAN-a L1. Ako je format okvira na L1 isti kao format na
L2, most alje okvir onakav kakav jeste. Ako se formati razlikuju, most mora da reformatira
primljeni okvir u format koji je konzistentan sa standardima koji vae na L1. U nekim sluajevi-
ma reformatiranje se svodi na reorganizovanje polja, dodavanje novih neophodnih polja i
izbacivanje nepotrebnih. Naalost, kao to emo uskoro videti, u nekim sluajevima reformati-
ranje stvara probleme - neke od njih protokoli sloja 2 ne mogu da ree.
Pre nego to predstavimo dizajn mosta, razmotrimo koji su razlozi za korienje mostova. Jedan
razlog je poveanje efikasnosti. Videli smo da kod repetitora svaki okvir prolazi kroz svaki LAN,
izazivajui bespotrebni saobraaj. Da bi se to izbeglo, menader mree moe da kreira topologi-
ju u sklopu koje se uredaji koji najee komuniciraju nalaze na istom LAN-u. Na primer, svaki
LAN sa slike 10.5 moe da odgovara razliitim odeljenjima u velikoj kompaniji. Uredaji u sklopu
odeljenja mogu meusobno da komunidraju, a mostovi prosleuju samo okvire koji su name-
njeni nekom drugom LAN-u. Na primer, dva uredaja mogu da komuniciraju preko L1 istovre-
meno, dok daiga dva uredaja komuniciraju preko L2. LI optem sluaju, komunikacija izmedu
razliitih LAN-ova odvija se paralelno i tako je poveana efikasnost. Ako su LAN-ovi Etherneti,
svaki most koristi CSMA/CD protokol prilikom prosleivanja okvira. Znaajan rezultat toga je
injenica da mostovi razdvajaju LAN-ove na razliite domene kolizije i tako se redukuje broj
kolizija koje bi se u suprotnom javile.
Mostovi po potrebi omoguavaju i komunikaciju izmeu odeljenja. Na primer, ako A poalje
poruku do F, okvir e proi kroz sledei niz mostova i LAN-ova: L1-B1-L2-B3-L3-B4-L6.
Eventualno, okvir e stii do F.
Sledei razlogza korienje mostova je bezbednost. Poto selektivno prosleduju okvire, oni mogu
da spree prosledivanje odredenih okvira kroz mreu. Ova procedura poboljava zatitu, jer neki
uredaji ne mogu da vide ta drugi alju. Na primer, LAN L1 moe da povezuje ureaje koji
razmenjuju osetljive informacije o zaposlenima, a na drugim LAN-ovima uredaji nemaju takve
potrebe.
Premoavanje razliitih tipova LAN-a
Premoavanje je jo sloenije kada je potrebno povezati razliite tipove LAN-ova. Jedan od
moguih problema je to razliiti LAN-ovi mogu da imaju razliite bitske brzine. Na primer,
pretpostavimo da most prihvata okvire sa breg LAN-a i da ih prosleduje na sporiji LAN, ili na
LAN na kome je dolo do kolizije. Okviri mogu da stiu veom brzinom od one kojom se mogu
prosledivati. Zato u baferu mosta mora da postoji dovoljno prostora da bi se omoguilo
odlaganje svih okvira. Kanjenja u mostu mogu da stvore probleme kao to su pauze u pro-
tokolima kontrole toka.
Tajmeri su postavljeni da bi bio definisan razuman period u kome okvir treba da stigne do svog
odredita i da se poalje potvrda o uspenom prijemu. Kanjenja u mostovima mogu da uzrokuju
preterane pauze (time-out) ako ih mreni softver uredaja ne podeava. Ipak, tajmeri danas zavise od
strategija meusobnog povezivanja i gubi se odredena mera transparentnosti topologije.
Formatiranje okvira je slede problem. Seate se iz Poglavlja 9 da svaki LAN standard ima drugaiji
format okvira. Zato, ako most povezuje dva razlidta LAN-a, mora da reformatira sve primljene okvire
pre nego to ih poalje dalje. Povrno gledano, reformatiranje ne deluje komplikovano, jer je
prvenstveno re o preureivanju informacija. Pretpostavite da most povezuje Ethernet i token ring
LAN. Okviri na token ringu imaju prioritete; na Ethernetu nemaju. Zato okvir koji odlazi sa token
ringa na Ethemet gubi svoj prioritet. Okviru koji stie sa Etherneta na token ring mora da se dodeli
prioritet, ali koji? Obino se dodeljuje podrazumevani prioritet. Ali, ta se deava ako okvir ide sa
token ringa na Ethernet, pa na drugi token ring? Okvir je inicijalno imao prioritet, izgubio ga je kada
je preao na Ethernet, a dobija drugi prioritet kada stigne na drugi token ring. Medutim, nema
nikakvih garancija da e inicijalni i konani prioritet biti isti.
Rutiranje
Povezivanje dva razlidta tipa LAN-a namee nova pitanja. Meutim, u ostatku odeljka
pretpostaviemo da most povezuje dva slina LAN-a. Ovo je mogui scenario, zato to je Ethernet
postao dominantan LAN standard. Osim toga, na ovaj nain moemo da se fokusiramo na
sledeu funkciju mosta - na prosledivanje okvira. Samo po sebi, prosledivanje nije teko. Problem
je kako most moe da zna kada treba da prihvati i prosledi okvir. Na primer, pretpostavimo da
most B3 sa slike 10.5 detektuje okvir na LAN-u L2. Ako je okvir namenjen uredaju A, ili E, B3 ga
ignorie. Medutim, pretpostavimo da je odredite okvira D, C, ili F. Ureaj C je na LAN-u L3 i
jedini nadn da se dode do uredaja D, ili F je preko L3. Zato most mora da prihvati okvir i da ga
prosledi na LAN L3. Ali, kako B3 moe da zna da su D, C, ili F dostupni preko L3? to je jo gore,
ta ako neko pomeri F sa L6 na L5? Kako rnost zna da taj uredaj vie nije dostupan preko L3?
Ova pitanja moda na prvi pogled deluju trivijalno, jer Vi, kao italac, celu mreu moete da
sagledate preko jednog dijagrama. Globalno videnje situacije uvek olakava problem. Ali,
mostovi ne mogu tako da sagledavaju "stvari". Oni su povezani na dva, ili vie LAN-ova i vide
samo ono to stie do njih. Osim toga, most sigurno ne moe da vidi ta se deava na LAN-u koji
je udaljen na nekoliko mostova od njega. Proces donoenja odluke koji e okviri biti prosleeni
i gde naziva se rutiranje pomou mosta.
Tabele rutiranja
Mostovi donose odluke o rutiranju na osnovu informacija koje se uvaju u tabeli rutiranja, koja
se ponekad naziva baza prosledivanja (forvvarding database), ili direktorijum za rutiranje.
Gde e most rutirati okvir zavisi od LAN-a na koji okviri stiu. Svaki most ima po jednu tabelu
rutiranja za svaki LAN na koji je povezan. Kada okvir stigne sa tog LAN-a, most pronalazi odre-
dinu adresu u odgovarajuoj tabeli rutiranja. Ulazi tabele defmiu na koji LAN most treba da
usmeri pristigli okvir.
Da bismo ovo ilustrovali, na slici 10.6 su predstavljene tabele rutiranja za mostove sa slike 10.5.
Most Bl ima dve tabele rutiranja (slika 10.6a), po jednu za LAN-ove L1 i L2. Kada most detektu-
je okvir na L1, on utvruje odredinu adresu i trai je u tabeli rutiranja za L1. Ako odredina
adresa ukazuje na neki od uredaja B do F, most prosleuje okvir do L2, jer je to jedini nain da
se doe do tih ureaja. Ako je odredite A, most ne prosleduje okvir i on ostaje na L1. Slino
tome, ako most detektuje okvir sa L2 namenjen za A, on ga prosleuje do L1.
Tabele za most B3 su sline. Most e proslediti sve okvire sa L2 na L3 ukoliko su namenjeni
uredajima C, D, ili F. Meutim, ako okvir stie na L2 i namenjen je za A, B, ili E, most ga nee
proslediti. Trebalo bi da pogledate i ostale tabele da biste se uverili da ulazi tano odraavaju
topologiju sa slike 10.5.
( a) Most Bl (b) Most B2
(c) Most B3 (d) Most B4
SLIKA 10.6 Tabele rutiranja za tnostove sa slike 10.5
Kako most definie svoju tabelu rutiranja? Jedan nain podrazumeva programiranje svakog mosta
sa adresom svakog uredaja i LAN-om na koji okviri mogu da budu prosledeni od tog uredaja.
Ovaj pristup nazivamo fiksno rutiranje, jer pretpostavljamo da se informacije iz tabele ne
menjaju. Ipak, u veini mrenih okruenja ova pretpostavka je isuvie ograniavajua. Mogue je
da se na mreu prikljuuju novi uredaji, stari se uklanjaju, a neki uredaji se premetaju na nove
lokacije. Potrebno nam je tano rutiranje koje nee zavisiti od promene lokacije uredaja i mrene
topologije. Tako bi bila obezbedena transparentnost koja bi olaka'la korienje mree.
Ako elimo da koristimo tabele rutiranja u dinamikim okruenjima, imamo dva mogua
izbora. Jedan je da se vri reprogramiranje mostova svaki put kada neko doda, ukloni, ili premesti
uredaj. U dinamikim okruenjima ovaj pristup nije funkcionalan, tako da moramo da se
odluimo za drugu opciju - za utvrdivanje naina za automatsko auriranje mostova.
Transparentni mostovi
Mostove koji mogu da kreiraju i auriraju svoje tabele mtiranja nazivamo transparentni
mostovi. Oni imaju sopstveni standard (IEEE 802.Id). Dizajnirani su tako da ih moete
prikljuiti i odmah e funkcionisati, bez obzira na topologiju i lokacije uredaja. Nema potrebe da
im ukazujete gde se uredaji nalaze - utvrdie to automatski i tako inicijalizovati svoje tabele ruti-
ranja, bez potrebe za specijalnim programiranjem. Ako se uredaj premesti iz jednog LAN-a u
drugi, svaki most to shvata i aurira svoju tabelu auriranja na odgovarajui nain. Ova
mogunost auriranja tabela rutiranja naziva se uenje rute, ili uenje adrese.
Uenje rute Most ui ta treba da postavi u tabelu rutiranja posmatranjem saobraaja. Uvek
kada primi okvir, on prouava njegovu izvornu adresu. Tako zna da je uredaj koji je poslao okvir
dostupan na LAN-u preko koga je okvir stigao. Most prouava sve svoje tabele rutiranja, traei
adresu ureaja. Ako zapis iz tabele ukazuje da je uredaj dostupan preko drugog LAN-a, most
menja zapis tako da naznai LAN preko koga je okvir stigao. Mogue je da se uredaji premetaju
na drugi LAN.
Ilustracije radi, uzmimo za primer tabele rutiranja sa slike 10.6 i LAN-ove sa slike 10.5.
Pretpostavimo da se uredaj D premeta iz LAN-a L4 na LAN L1. Tabele rutiranja sada nisu tane
i jedini uredaji koji mogu da poalju okvir do D su oni koji se nalaze na istom LAN-u kao i D.
Zatim, pretpostavite da D alje okvir do E na LAN-u L5. Most Bl rutira okvir na L2. Meutim,
prouava i svoje tabele rutiranja (slika 10.6a). Poto je most primio okvir od D preko L1, on zna
da se D nalazi negde u smeru L1.* Zbog toga, menja etvrti zapis u svim tabelama rutiranja i
redefinie ih kao to je prikazano u tabeli 10.1.
" Napomenimo da Bl ne mora da zna da je D na L1. Sve to zna je da Je okvir m<5gao prode kroz nekoliko mostova dok nije
doao do L1. Ovde je vano to most zna u kom smeru treba da usmeri okvir.
Sada most Bl zna da ne treba da prosleuje okvire sa L1 koji su namenjeni za D i da treba da
prosledi sve okvire iz L2 koji su namenjeni za D do L1. Kada most B2 detektuje okvir ureaja D
sa L2, on aurira svoje tabele na slian nain. U ovom sluaju B2 "shvata" da je uredaj D dostu-
pan preko L2. Meutim, iz perspektive mosta B2, ovo se ne razlikuje od mogunosti da se D
nalazi na L4. Zato su "aurirane" vrednosti iste kao i originalne.
Ipak, ostaje nedoumica. Mostovi Bl i B2 su "nauili" da se D pomerio samo zato to je poslao
neki okvir. Mostovi B3 i B4 jo uvek ne znaju da je D pomeren. Da li treba da "ive u neznanju"
sve dok D ne poalje neto do njih? Sta ako D to nikada ne uradi? Da li to znai da nikada nee
"saznati" ta se desilo? Ako je tako, okviri poslati ka D sa LAN-ova L3, L4, ili L6 nikada nee stii
do D. ta ako D nije poslao okvir ni do E? Onda ni Bl i B2 ne bi znali da se D pomerio i nita
ne bi moglo da stigne do D.
Do sada smo razmatrali samo promenu informacija. Sledea pitanja su kako se tabele
inicijalizuju i ta mostovi rade na samom poetku. Sreom, standard 802.Id daje odgovore na ta
pitanja. Svaki most ima tajmer. Svaki put kada tajmer istekne, most isti sadraj tabela rutiranja.
Most "smatra" da se nakon nekog vremena lokacije ureaja moda mogu promeniti; zato se
uklanjaju sve informacije o rutiranju.
Na osnovu ovoga bi se moglo zakljuiti da ureaji postaju nedostupni, jer se uklanjaju sve poz-
nate informacije za rutiranje. Medutim, kada most primi okvir za uredaj za koji nema zapis u
tabeli rutiranja, koristi algoritam plavljenja (flooding algorithm). Naime, alje okvir preko svih
LAN-ova na koje je povezan, osim onog sa koga je okvir stigao. Ovo ima dve namene: okvir
zagarantovano stie do svog odredita (uz pretpostavku da postoji) i omoguava ostalim
mostovima da vide okvir i tako "zakljue" u kojem smeru se nalazi uredaj poiljalac. Na taj nain
su obezbedene najnovije informacije u tabeli rutiranja.
Razmotrimo prethodni primer u kojem D prelazi sa L4 na L1 na slici 10.5, pa alje okvir do E.
Ako E nije nita poslao ve due vremena, njegovi zapisi u tabeli rutiranja su izbrisani. Kada Bl
primi okvir iz D, on registruje da ne postoji zapis za E i automatski prosleduje okvir do L2. Slino
tome, B2 i B3 prosleuju okvir do L5 i L3, respektivno. Konano, B4 prosleduje okvir do L4 i L6.
Krajnji rezultat je da E dobija okvir i da je svaki most prosledio okvir iz D i tako aurirao svoje
tabele rutiranja. Tako e sve to se poalje iz D biti ispravno prosleeno (bar dok tajmer sledei
put ne istekne).
Odredite
A
B
C
D
E
F
Sledei LAN
L2
L2
L2
L2
Odredite
A
B
C
D
E
F
Sledei LAN
L1
L1
lzvor LAN L1 Izvor LAN L2
SLIKA 10.7 Dva mosta povezuju dva LAN-a
Algoritam plavljenja omoguava mostovima i da inicijalizuju svoje tabele rutiranja.
Pretpostavimo da je IAN instaliran i da su sve tabele rutiranja u mostovima prazne. Ni jedan
most ne zna lokadje ureaja na mrei. Kada most primi svoj prvi okvir sa LAN-a, alje ga ka svim
ostalim LAN-ovima na koje je povezan. Slino tome, kada prime neki okvir, mostovi sa tih
LAN-ova takode ga prosleuju, potujui isti algoritam. Nee protei mnogo vremena dok okvir
ne stigne do svih mostova i svih LAN-ova. Sigurno e stii do svog odredita i svaki most e znati
pravac ka uredaju koji ga je poslao.
to vei broj uredaja alje okvire, mostovi ih prosleuju koristei zapise iz tabele rutiranja, ili
algoritam plavljenja. Dok okvir napreduje kroz mreu, mostovi koji nisu imali zapise eventua-
lno "ue" smer iz koga okvir dolazi i mogu da proslede okvire bez algoritma plavljenja.
Propagiranje okvira Prethodni pristup u dizajniranju transparentnih mostova i uenja ruta
funkcionie dobro za konkretni primer. Medutim, odreene topologije mogu da izazovu
beskonano propagiranje okvira i da tako prezasite mreu. Ilustracije radi, pretpostavimo da su
dizajneri mree odluili da dodaju drugi most koji e povezivati dva LAN-a. Dodavanje
redundantnih mostova izmedu dva LAN-a ponekad moe da bude korisno u cilju zatite sistema
od eventualnih "otkaza". Ako prvi most "otkae", drugi je ve spreman da "uskoi" i nema
nikakvog (ili postoji veoma malo) kanjenja izazvanog "otkazom". Ovo je izuzetno korisno u
real-time sistemima, kod kojih bi "otkazi" opreme imali katastrofalne posledice.
Na primer, jednostavna LAN konekcija sa slike 10.7 prikazuje dva mosta izmeu dva ista LAN-a.
Pretpostavimo da su njihove tabele rutiranja prazne i da A alje okvir do B. Poto ni jedan most
nije "svestan" onog drugog, svaki prihvata okvir i prosleuje ga na LAN L2. Zatim, Bl vidi okvir
iz B2, a B2 vidi okvir iz Bl na L2. Poto ni jedan ne zna gde se B nalazi, oba mosta prihvataju
okvir i prosleuju ga na LAN L1. Oba mosta vide okvir od onog drugog i ovoga puta ga
prosleduju nazad na L2.
SLIKA 10.8 Vie LAN-ova sa petljama
Sve dok B ne potvrdi svoju lokaciju, okviri e se prenositi n'pred-nazad.
Situacija postaje jo gora ako se uvede i trei most (B3) koji povezuje ove LAN-ove. Ako A alje
jedan okvir du L1, svaki most ga prosleduje do L2, aljui tri okvira na L2. Svaki most vidi druga
dva okvira (po jedan iz druga dva mosta) i prosleuje ih na L1, to stvara est okvira na L1. Sada
mostovi vide po etiri okvira (po dva od druga dva mosta) i prosleduju ih, tako da se nazad na
L2 alje 12 okvira. Proces se nastavlja, izazivajui "eksploziju" okvira, koja eventualno moe da
zagui sistem i onemogui normalne komunikacije.
Ilustrovali smo problem pomou jednostavne topologije, prikazujui samo dva mosta izmedu
dva LAN-a. Okviri koji potendjalno beskonano cirkuliu postoje i kod drugih topologija. Ovo
se posebno odnosi na situacije u kojima postoje dve zasebne rute izmedu uredaja koje stvaraju
petlje u topologiji. To znai da okvir moe da napusti LAN preko jedne rute samo da bi se vratio
preko druge. Na slici 10.8 prikazana je topologija sa vie razliitih ruta izmedu A i B (uskoro
emo videti ta cene oznaavaju). U stvari, postoji najmanje sedam ruta, ako ignoriemo prolazak
kroz isti most vie puta (moete li da pronaete rute?). Da biste videli razmere ovog problema,
pretpostavimo da A alje okvir do B i da su mostovi koristili algoritam plavljenja. Pretpostavimo
da okvir prati rutu od L1 do L4 preko Bl i B2. Most B6 prosleuje okvir nazad do L1. Most B4 e
proslediti okvir do L3. Odatle, B5 prosleuje okvir do L1, a B3 ga prosleuje do L2.
Zatim, Bl prosleuje okvir do L1, B2 ga prosleuje nazad do L4 i proces se nastavlja. Kao i
ranije, jedan okvir izaziva beskonano poveanje broja okvira koji se kreu kroz mreu. Ako
uzmemo u obzir i druge rute od L1 do L4, poveanje je jo bre. Broj okvira veoma brzo postaje
ogroman i mrea pada.
Spanning tree algoritam
Jedan mogui nain reavanja problema propagiranja okvira podrazumeva eliminisanje petlji,
tako to se nee koristiti odredeni mostovi. Mostovi nee biti fiziki iskljueni, ali e se spreiti
prosleivanje okvira iz njih; koriste se kao rezervni uredaji u sluaju da drugi most "otkae".
Nezgodno je utvrditi koji se mostovi koriste i kada se moraju automatski rekonfigurisati ako dode
do "otkaza" rnosta. Kao i obino, elimo da mostovi samostalno rade i da konfiguracija bude
transparentna za korisnika. Jedno reenje podrazumeva izvravanje spanning tree algoritma;
spanning tree (stablo razapinjanja), termin koji Vam je verovatno poznat sa kurseva o strukturama
podataka, ukljuuje minimalni podskup grana uzetih sa povezanog grafa koji povezuje temena
grafa. Podskup je minimalan po tome to ovo stablo nema petiji. * Za vie informacija o ovoj vrsti
stabla pogledajte reference za strukture podataka, kao to su [Dr95 ], ili [Pa95 ].
Da bi algoritam funkcionisao, najpre dodeljujemo cenu konekciji izmedu mosta i LAN-a, tj.
portu mosta (bridge port). Cene mogu da budu definisane na osnovu bitske brzine kojom port
mosta moe da prenosi okvire na LAN. Tipino, nie bitske brzine znae viu cenu. Cena slanja
okvira sa jednog LAN-a na drugi predstavlja sumu cena svih portova na konkretnoj ruti. U nekim
sluajevima su sve cene postavljene na 1, tako da je cena rute odredena brojem ukljuenih
mostova. Na slici 10.8 prikazana je cena svakog porta mosta. Cena slanja okvira od L1 do L4
preko mostova Bl i B2 iznosi 6; dobijena je kao suma cena prolaska od Bl do L2 (2), plus B2 do
L4 (4). Napomenimo da ovde nisu ukljuene cene portova Bl-do-L1 i B2-do-L2 - oni se koriste
za prosledivanje okvira u drugom smeru.
LAN topologiju smo vizuelno predstavili grafom. LAN-ovi i mostovi su temena, a konekcije izmedu
LAN-a i mosta su grane. Naslici 10.9 data je grafika reprezentacija topologije sa slike 10.8. Zapamtite
da se, dok okvir putuje preko grafa, sabiraju samo cene od vora mosta do vora LAN-a.
Spanning tree algoritam utvrduje niz grana koje povezuju sve LAN vorove sa slike 10.9.
Zapamtite da smo prilikom razmatranja algoritma imali priliku da vidimo topologiju mree;
rnostovi koji izvravaju algoritam nemaju mogunost ovakvog sagledavanja mree. Oni znaju
sarao za LAN-ove na koje su povezani. To algoritam ini jo kompleksnijim nego da ga izvrava
procesor koji ima uvid u kompletnu topologiju.
Da bi zapoeli spanning tree algoritam, mostovi mogu da izaberu jednog od njih da bude root
(koren stabla). To je, obino, most sa najniim ID-om, iako je mogue koristiti i prioritete.
Koristei terminologiju struktura podataka, root e biti poetak stabla razapinjanja.
* Kod struktura podataka termin cihlus se, obino, koristi umesto termina petlja.
SLIKA T 0.9 Grafiia reprezentacija topologije LAN-a sa slike 10.8
Mostovi biraju root slanjem niza specijalnih okvira poznatih kao BPDU (bridge protocol data
units) u pravilnim intervalima. Svaki BPDU sadri ID mosta, ID porta preko koga je okvir
inicijalno poslat i akumulirane cene portova preko kojih je okvir preao. Akumulirana cena
predstavlja cenu putanje od tekue lokacije BPDU-a do izvora okvira.
Kada most primi BPDU, on poredi ID izvomog mosta sa sopstvenim. Ako most ima vii ID, on
zna da nee biti root. Belei ID mosta poiljaoca i cenu putanje do njega, inkrementira putanju
za cenu prijemnog porta i prosleuje BPDU kroz sve svoje preostale portove. Osim toga, presta-
je da alje sopstvene BPDU-e. Ako je ID mosta nii od onog koji je poslao BPDU, on nee
proslediti okvir. "Smatra" da izvorni most nikada nee biti izabran, tako da nema potrebe da
prosleduje njegove okvire.
Na kraju, svaki most, osim onog sa najniim ID-om, prestaje da alje okvire, zato to zna da nee
biti izabran kao root. Preostali most zaustavlja prosleivanje svih primljenih okvira i eventualno
prestaje da prima nove. Posle odreenog vremena kada okviri prestanu da stiu, on smatra da je
propisno izabran kao root. Nakon toga, zajedno sa svim ostalim mostovima prelazi na izvrenje
sledeeg koraka u sklopu algoritma.
U drugom koraku svaki most utvrduje svoj root port, port koji odgovara najjeftinijoj putanji ka root
mostu. Poto svaki most prethodno belei cene za svaki BPDU primljen preko svakog porta, jednos-
tavno trai najniu cenu. Tako je omoguena komunikacija sa root mostom preko root porta.
U poslednjem koraku se utvrduje oznaeni most (designated bridge) za svaki IAN. To je most
koji eventualno prosleduje okvire sa tog LAN-a. Mostovi biraju oznaeni most slanjem BPDUa
preko svakog LAN-a na koji su povezani.
SLIKA 10.10 Graf nakon utvrivanja root portova
Oznaava root port.
Oznaava najjeftiniju putanj u
od svakog mosta do root
mosta Bl . Jedino su uraunate
cene od mosta do LAN-a.
Most nee poslati BPDU na LAN preko ranije utvrdenog root porta. U sutini, root port odreduje
LAN u smem root mosta. Algoritam sada mora da utvrdi da li postoje neki LAN-ovi u drugim
smerovima.
Prouimo aktivnosti iz perspektive odreenog LAN-a. LAN prenosi BPDLJ-e od svojih mostova koji
zahtevaju da budu izabrani za oznaeni most. Svaki BPDU sadri cenu od mosta koji ga je poslao do
root mosta. Kada most primi BPDU, on poredi njegovu cenu sa svojom cenom do root mosta. Ako
je njegova cena vea, zna da nee biti izabran i odustaje od svojih zahteva. Na kraju, samo jedan most
ostaje sa najniom cenom i on postaje oznaeni most tog LAN-a. U sluaju da postoje dva mosta sa
najniom cenom, konani izbor se donosi na osnovu ID-a. "Pobeduje" nii ID.
Nakon biranja oznaenih mostova za svaki LAN, spanning tree algoritam je kompletan. Svaki
LAN je povezan na svoj oznaeni most, a svaki most moe da komunicira sa root mostom preko
svog root porta. Tako je defmisana jedinstvena putanja izmeu bilo koja dva LAN-a i izbegnuto
je propagiranje okvira koje nastaje kod algoritama plavljenja.
Sada emo ilustrovati spanning tree algoritam pomou jednog primera. Uzmimo LAN topologiju sa
slike 10.8 i pridaieni graf sa slike 10.9. U prvom koraku se utvruje root most. Ako pretpostavimo
da su mostovi numerisani rastuim redosledom od Bl do B6, onda je Bl izabran kao root most.
U toku procesa biranja svaki most belei cenu putanje do root mosta preko svih svojih portova i
bira najjeftiniju. Na slici 10.10 prikazani su root portovi (oznaeni strelicom) i putanje do root
mosta (oznaene obojenim linijama).
Oznaava najjeftiniju putanju od svakog mosta do root mosta Bl. Jedino su uraunate cene od
mosta do LAN-a. (Denotes cheapest path from each bridge to the root bridge Bl. OnIy costs from
a bridge to a LAN are accrued.)
Pored strelica, navedene su i cene putanja. Na primer, root port mosta B2 je povezan na L2.
Najjeftinija putanja je B2-L2-B1, sa cenom 6. Zapamtite da su uraunate samo cene od mostova
ka LAN-ovima. Root port mosta B4 je povezan na L3. Putanja ka root mostu je B4-L3-B3-L2-B1,
sa cenom 8. Kao to slika pokazuje, postoje i druge putanje, ali njihove cene su vie.
U poslednjem koraku utvrujemo izabrani most za svaki LAN. Root portovi povezuju mostove
na neke LAN-ove, ali mogu da postoje i drugi LAN-ovi koji nisu deo razvojne eme povezivanja.
Na primer, na slici 10.10 nema root porta povezanog sa L4 i moramo da utvrdimo koji e most
prosledivati informacije sa L4. Da bi se to izvelo, mostovi B2, B4 i B6 alje BPDU-e du L4, zahte-
vajui da dobiju ulogu oznaenog mosta. B4 istie da je njegova cena do root mosta 8; B2 i B6
istiu da je njihova cena 6. Zato B4 odustaje, jer ima viu cenu, a B6 odustaje jer ima vii ID. Tako
B2 postaje oznaeni most za L4. Nastavljajui na slian nain, B3 postaje oznaeni most za L3, a
Bl je oznaeni mostza L1 i L2 (slika 10.11).
Na slici 10.11 prikazano je rezultujue stablo, a na slici 10.12 originalna mrena topologija.
Isprekidane linije oznaavaju fizike, ali ne i aktivne konekcije. Mostovi koriste ove konekcije za
slanje i prijem BPDU-a, ali ne i za opte prosleivanje okvira. Tri povezuju sve LAN-ove, iako se
neki mostovi ne koriste. To se moglo i oekivati, jer su mostovi redundantni uredaji koji se
postavljaju za sluajeve "otkaza". Sve dok ne dode do "otkaza", LAN-ovi komuniciraju koristei
topologiju prikazanu na slici 10.12.
SLIKA 10.11 Grafnakon utvrivanja oznaenih mostova
SLIKA 10.12 Mrena topologija sa konekcijama ka aktivnim mostovima
Da bi bio detektovan "otkaz" nekog mosta i da bi bila izvedena rekonfiguracija eme povezivanja,
svaki most odrava tajmer oznaen kao tajmer starosti poruke (message age timer). U naznaenom
periodu svaki most (ak i oni koji nisu deo stabla razapinjanja) oekuje da "uje" od root mosta
potvrdu njegovog statusa kao root mosta. Kada primi ovu potvrdu, resetuje svoj tajmer. Naravno,
root most saraduje periodinim slanjem BPDU-a, radi potvrde svog statusa. Ako postoji kvar kod
raosta, jedan, ili vie mostova nee primiti konfiguracioni BPDU i njihovi tajmeri e iste. Ako
"otkae" neki drugi most koji nema ulogu roota, mostovi na koje to utie razmenjuju BPDU-e da bi
bio izabran novi oznaeni most za njihove LAN-ove. Ako dode do "otkaza" root mosta, oni moraju
da izaberu novi root most. U svakom sluaju, rekonfiguracija aktivne topologije mora da se izvri
dinamiki.
Mostovi koji koriste izvorno rutiranje
Poslednji pristup rutiranju okvira koji ukratko pominjemo prebacuje teret rutiranja na individu-
alne ureaje, umesto na mostove. Logika u poiljaocu utvruje rutu ka odreditu i smeta je u
okvir. Ruta se sastoji od niza oznaka ruta, koje se sastoje od LAN-a i ID-a odgovarajueg mosta.
Kada most vidi okvir, utvrduje da li se u oznaci nalaze njegov ID i ID LAN-a koji prenosi okvir.
Ako se nalaze, most prihvata okvir i prosleuje ga do LAN-a koji je naveden u narednoj ozna.
Na primer, pretpostavimo da Aalje okvir do B (slika 10.8) koji sadri oznaku rute L1-B5-L3-B4-
L4. Oba mosta koja su povezana na L1 vide okvir, ali, poto u oznaci iza L1 sledi B5, samo B5
prihvata okvir. Nakon toga, B5 prosleduje okvir do L3, gde ga vide mostovi B3 i B4. Slino tome,
poto B4 sledi iza L3, samo B4 prihvata okvir. Konano, B4 prosleuje okvir do L4, gde ureaj B
prima okvir.
Da bi utvrdio rutu, ureaj alje okvir do drugog ureaja sa pitanjem: "Gde si?". Prijemni uredaj
dobija zahtev i reaguje na njega. Kada poiljalac dobije odgovor, on utvrduje najbolju rutu. Ali,
da li poiljalac zna gde da poalje inicijalni zahtev kada ne zna kuda da poalje okvir? Ne zna.
Mostovi moraju biti potpomognuti varijacijom algoritma plavljenja da bi se obezbedio prijem
zahteva i odziva. Lltvrdivanje rute do odredita naziva se otkrivanje rute.
Jedan od naina da se ovo postigne je slanje specijalnog emisionog okvira (all-route broadcast
frame) do eljenog odredinog ureaja. U kontrolnom polju okvira naznaen je tip okvira i
obaveteni su svi mostovi da treba da proslede okvir do svih LAN-ova, osim onog sa koga okvir
potie. Da bi se izbeglo neeljeno propagiranje okvira, polja oznake rute su prazna, a duina
polja za rutiranje u kontrolnom polju je 0. Kada most primi okvir, umee sopstveni ID i ID LAN-
a u polje rutiranja i inkrementira duinu polja rutiranja. Da bi se izbeglo prethodno ponaenuto
prosledivanje okvira, most prouava postojee oznake rute. Okvir nee biti prosleen do LAN-ova
iji je ID ve deo oznake rute u dolazeem okviru.
Kada okvir konano stigne do svog odredita, polje rutiranja sadri rutu koju je okvir preao do
odredita. Odredite postavlja tu aitu u polje rutiranja neemisionog okvira (nonbroadcast
frame) i alje taj okvir nazad do izvornog uredaja. Osim toga, postavlja direkcioni bit u kontrol
nom polju da bi mostovi bili obaveteni da oznaku arte treba da interpretiraju obrnutim redosle-
dom. Kada most primi neemisioni okvir, on ga prosleduje, ili isputa u skladu sa informacijama
u polju rutiranja. Kada izvorni uredaj primi sve odzive, bira rutu koju e koristiti za sve naredne
prenose do B. Mogue je da e prouiti cene (izraunate u toku emisije) i da e izabrati najjef-
tiniju. Alternativno, moe da izabere rutu sa manje mostova, ili izbor moe da izvri na osnovu
ID-ova mostova. Postoje i drugi naini za utvrdivanje ruta, ali taj tip mosta nije mnogo uobiajen,
tako da mu ovde neemo posveivati panju.
Komutatori i komutirani Ethernet
Poto je Ethernet postao dominantan LAN standard, ubudue emo pretpostavljati da su naa
etiri LAN-a Etherneti. To e nam pojednostaviti razmatranje i omoguiti fokusiranje na
relevantne detalje. Komutatori (svvitches) izvravaju iste funkcije kao i mostovi. Primarna razlika
je u tome to most obino povezuje samo nekoliko LAN-ova, dok komutator moe da ima neko-
liko desetina portova, ime je otvorena mogunost za vie konekcija. Na slici 10.13 prikazana je
jedna konfiguracija. Jedan komutator ima vie portova; svaki od njih je povezan na hub.
SLIKA 10.13 Konekcije izvedene pomou hubova i homutatora
Postoji konekcija i sa ruterom, koja obezbeuje pristup Internetu. Rutere emo predstaviti neto
kasnije u ovom poglavlju. Svaki hub se sastoji iz vie uredaja. Svi uredaji koji su vezani na hub
izvravaju Ethernet protokole i za njih vai jedinstveni domen kolizije. Poto komutatori, kao i
mostovi, selektivno prosleduju okvire, svaki port vodi ka drugom domenu kolizije. Zato, u stvari,
imamo scenario slian onome na slici 10.5, osim to, umesto vie mostova, koristimo samo jedan
komutator.
Dva uredaja povezana na isti hub komuniciraju direktno preko tog huba. Komutator ignorie taj
saobraaj. Meutim, ako jedan uredaj alje okvir do drugog koji je povezan na drugi hub,
komutator prihvata ovaj okvir i prosleduje ga preko porta koji povezuje odgovarajui hub.
U naem primeru komutator ignorie sve okvire koje A alje za B, ali prihvata i prosleduje okvire
koje A alje do C. Naravno, komutator mora da "naui" lokacije uredaja na isti nain na koji
mostovi "ue" njihove lokacije.
Iako na slici 10.13 postoji vie domena kolizija, ta topologija defmie jedinstveni emisioni
domen (broadcast domain). 48-bitna odredina MAC adresa u Ethernet okviru moe da naznai
individualni ureaj, ili da ukae na emisionu adresu. Ako se navede emisiona adresa, svaki
komutator prosleduje emisioni okvir preko svih odlazeh portova.
zasebni
domeni kolizije
Internet
komutator
(svvitch)
ruter
Svi ureaji prihvataju emisioni okvir kao da je re o okviru koji je namenjen tim uredajima. U
stvari, emisioni okvir dopire do svih uredaja na LAN-u. Ovo je uobiajeni nain koji administra-
tor mree koristi za obavetavanje svih korisnika o znaajnim informacijama, kao to su proble-
mi, isplanirane satnice, ili ta se jue desilo u prikazanoj epizodi omiljene TV "sapunske" serije.
Znaajna injenica u vezi topologije sa slike 10.13 je da i dalje moe da dode do kolizija. Na slici
10.14 prikazana je sledea konfiguracija, potpuno komutirani Ethernet, koji se implementira na
nekim mestima. Fizik,i on izgleda slino onome sa slike 10.13, osim to su svi hubovi
zamenjeni komutatorima. Poto su komutatori znaajno pojeftinili (u vreme pripreme ove knjige
24-portni komutator mogao je da se kupi za oko 800 dolara), neki ljudi smatraju da nema potrebe
da se koriste hubovi i da su sada zastareli. Glavna prednost komutiranog Etherneta je to to vie nema
kolizija - nigde! Komutirani portovi vode do zasebnih domena kolizije i svaki uredaj je povezan na
zaseban port komutatora, tako da se ureaj nalazi u svom domenu kolizije. Osim toga, ako
konekcije izmeu radne stanice i komutatora funkcioniu u full-duplex modu, ureajima vie nije
potreban CSMA/CD protokol nadmetanja. Svi uredaji i dalje mogu da medusobno komuniciraju bez
straha od kolizija i cela topologija i dalje definie jedan emisioni domen.
Sledea karakteristika komutatora je da bitske brzine portova mogu da budu razliite. Ovo je
izuzetno vano kada komutatori kombinuju saobraaj iz raznih izvora preko jednog linka.
SLIKA 10.14 Konekcije koriste iskljuivo komutatore.
Nema kolizija.
Svaka radna stanica ima
sopstveni domen kolizije
komutator 3
lOMbps
lOOMbps
komutator 2
komutator 4
komutator I
1 Gbps
Internet
Taj link mora da podri vie bitske brzine od svakog vodeeg linka, ili se rizikuju znaajna
kanjenja. Na slici 10.14 prikazan je 10 Mbps link za svaku radnu stanicu, ali linkovi od 100
Mbps izmeu komutatora. Prema ruteru postoji link od 1 Gbps. Ovo nije jedina konfiguradja i
mogue je uspostaviti linkove sa veim brzinama izmedu komutatora i prilino korienog
servera. Mogue su razne konfiguradje.
Topologija sa slike 10.14 moe da se proiri na vie slojeva komutatora (slika 10.15). Komutator
na dnu hijerahije oznaava se kao privatni komutator, jer na njemu nema vie od jedne Ethernet
adrese koja je dodeljena svakom portu. Naime, svaki port se povezuje direktno na jednu radnu
stanicu. Komutator radne grupe (uiorkgroup sivitch) je smeten iznad privatnog komutatora u
hijerarhiji. Primarna razlika ogleda se u tome to je svakom portu mogue dodeliti vie Ethernet
adresa. U naem sluaju su adrese za uredaje A, B i C dodeljene istom portu u komutatoru 1.
Ureaji koji se povezuju na komutator radne grupe obino su postavljeni veoma blizu jedni
drugih.
Poslednji komutator je komutator okosnice (backbone switch), koji obezbeduje pristup svim
ureajima u domenu emisije. Iako izgleda da ne postoji granica u broju komutatora koje je
mogue povezati, ona ipak postoji. Za veinu komutatora postoji maksimalni broj adresa koje je
mogue dodeliti portu. Na slici 10.15 prikazano je da komutatori koji se nalaze blie uredajima
imaju manji broj adresa za svaki port. Komutatori koji se nalaze na viem nivou u hijerarhiji
imaju ved broj adresa.
Kod full-duplex komutiranog Etherneta vie nema kolizije okvira, mada je i dalje mogue da se
neki okviri izgube. Na primer, komutator prihvata okvire od vie radnih stanica i postavlja ih u
red ekanja za transfer preko odlazedh portova. Ako je saobraaj sporadian i ako okviri dolaze
isuvie brzo, mogue je da se bafer napuni i tada komutator moe da odbaci okvir. Ethernet
protokol reava takve situacije koriste MAC kontrolni podsloj, koji lei izmedu originalnih
MAC i LLC podslojeva sloja veze.
Komutator okosnice. 20 portova
je vezano na komutatore radne
grupe. Na svakom portu je mogue
20 x 24 = 480 adresa. Obezbeen je
pristup za 20 x 480 = 9.600 uredaja.
Komutator radne grupe. 20 portova
je vezano na privatne komutatore.
Za svaki port postoje do 24 adrese.
Obezbeden je pristup ukupno
do 24 x 20 = 480 uredaja.
Privatni komutatori: Po jedna adresa za svaki od 24 porta
SLIKA 10.15 Privatni komutatori, komutatori radne grupe i komutator okosnice
MAC kontrolni podsloj definie Pause okvir za kontrolu toka, kao to je prikazano u sledeem
primeru:
1. Ureaj A prima niz uredaja od uredaja B. Baferi u A poinju da se pune.
2. A alje do B Pause okvir koji sadri pozitivnu vrednost tajmera.
3. B prima Pause okvir i prestaje da alje nove okvire do A sve dok ne istekne naznaeni
period.
Podsloj doputa i da vrednost tajmera bude 0. Moda na prvi pogled deluje udno, ali na taj
nain je mogue ponovo osposobiti prenos okvira. Ako ureaj B eka, jer je prethodno primljen
Pause okvir, i tek kada primi drugi sa tajmerom ija je vrednost 0, moe da nastavi slanje okvira.
Virtuelni LAN-ovi
Sledea opcija koju omoguavaju Ethernet komutatori je kreiranje virtuelnog LAN-a (VLAN).
Razvoj VLAN-ova je bio iniciran potrebama administratora mrea za boljim upravljanjem
saobraaja na mrei, poboljanjem zatite i razdvajanjem korisnika u radne grupe. Na primer, u
mnogim organizacijama se praktikuje angaovanje grupa zaposlenih na razliitim projektima. Svi
zaposleni koji su angaovani na jednom projektu ine radnu gaipu. Bilo bi zaista pogodno ako
bi se mrea mogla konfigurisati tako da se personalni kompjuteri iz jedne radne grupe razdvoje
od druge radne grupe. Tako bi se saobraaj odvijao preko vie linkova i postigla bi se bolja
ravnotea ukupnog saobraaja na mrei.
Jedna mogunost je kreiranje LAN-a koji se sastoji od svih uredaja dodeljenih ljudima jedne
radne grupe. Svaka radna grupa ima svoj LAN i administrator mree koristi aitere (uredaje za ruti-
ranje koji se koriste na sloju 3) za razdvajanje svih LAN-ova (kasnije emo razmotriti rutere, a za
sada smatrajte da su to uredaji koji razdvajaju LAN-ove na razliite i autonomne entitete). Osim
toga, svaki LAN odgovara jednom domenu emisije. Drugim reima, ako ureaj alje emisioni
okvir, okvir ostaje u okviru njegovog LAN-a i ne prolazi kroz ruter.
Problem kod ovog pristupa je to se zaposleni u jednog radnoj grupi moda ne nalaze blizu jedni
drugih i zato je pomalo udno to se postavljaju na isti LAN. Grupu mogu da ine zaposleni sa
razliitim sposobnostima iz razliitih odeljenja sa razliitih spratova, ili ak iz razliitih zgrada.
Traimo nain da logiki poveemo grupe ureaja koji fiziki mogu da budu rasporeeni na
veim udaljenostima, ali logiki posmatrano pripadaju istoj grupi. VLAN predstavlja grupu
ureaja koja je logiki grupisana nezavisno od njihovih fizikih lokacija.
Na slici 10.16 prikazana je ta ideja. Postoje tri grupe ureaja. VIANl sadri pet personalnih
kompjutera, server i skener, a VLAN2 i VLAN3 po tri personalna kompjutera. Logika u komutatoru
pridruuje oznaku VLAN-a svakom portu. Tako portovi defmiu koji uredaji sainjavaju koji VLAN.
Osim toga, svaki VLAN definie nezavisni domen emisije. Drugim reima, koristei protokole sloja
2, ureaji u VLANl mogu da komuniciraju samo sa ostalim uredajima u VLANl.
VLAN 1
komutator
VLAN 2 VLAN 3
SLIKA 10.16 Komutator povezuje vie LAN-ova.
Ako uredaj sa VLANl poalje emisioni okvir, komutator alje taj okvir samo do portova sa
oznakom VLANl. Slino vai i za VLAN2 i VLAN3.
Ova tehnika je korisna zbog nekoliko razloga. Jedan je injenica da korisnik moe da poalje
emisioni okvir samo za uredaje iz istog VLAN-a, ime je obezbeena mnogo efikasnija komu-
nikacija izmedu njih i izbegnuto je nepotrebno slanje podataka do ureaja izvan grupe. Sledei
razlog je bezbednost. Protokoli sloja 2 ne rutiraju okvire sa jednog VLAN-a u drugi. Time je
ogranien saobraaj i omoguena je bolja kontrola toka saobraaja. Osim toga, prednost je i to
to VLAN moe da se konfigurie nezavisno od lokacije uredaja. Na slici 10.16 prikazan je samo
jedan komutator, a mogue je postaviti vie komutatora iji e portovi imati iste VLAN oznake
portova. Tako je mogue povezati uredaje na razliite portove na razliitim komutatorima
(i, samim tim, na druge lokacije) koji mogu da pripadaju istom VLAN-u. Domen emisije sadri
uredaje sa razliitih lokacija i uredaje koji se nalaze blizu jedni drugih mogu, ali ne moraju da
pripadaju istom domenu emisije.
Mogunost kreiranja VLAN-a nezavisno od fizike lokacije ureaja stvara robustnija dinamika
okruenja. Pretpostavimo da neki zaposleni dobije premetaj iz jedne radne grupe u drugu.
Potrebno je samo postaviti novu oznaku VLAN-a na port na koji su prikljueni ureaji tog
zaposlenog, koji ne mora da se premeta, niti je potrebno bilo ta prevezivati. Komutator
jednostavno vidi taj port kao deo drugog VLAN-a i omoguava tom zaposlenom da komunicira
sa sasvim novom grupom.
Kako komutator donosi odluku kako e rutirati okvir? Seate se da Ethernet okvir ima odredinu
adresu, ali nije bilo pomena o bilo kakvim VLAN oznakama. Kada komutator dobije Ethernet
okvir, kako odluuje ta e da uradi? Ako se rutiranje zasniva na Ethernet adresama, gde se tu U
celu "priu" uklapa identifikatorVLAN-a?
Slika 10.17 e nam pomoi da objasnimo kako to funkcionie. Pretpostavimo da se A, B i C
nalaze u VLANl, a da je D u VLAN2. Osim toga, A i C su povezani na jedan komutator, a B i D
na drugi.
komutator 2
VLl:EF
komutator 1
D je u VLAN 2 B je u VLAN 1
C je u VLAN 1 A je u VLAN 1
SLIKA 10.17 VLAN-ovi postavljeni izmeu komutatora
Kada A alje Ethernet emisioni okvir, deava se sledee:
1. Ethemet okvir (oznaen kao EF na slici) poslat je do komutatora I. Komutator I
primeuje da okvir koji stigao preko porta ima VLANl oznaku.
2. Port povezan na C takode ima oznaku VLANl, tako da komutator alje okvir na taj
port.
3. Sledei port povezuje komutator 1 sa komutatorom 2. Poto postoje VLANl uredaji u
tom smeru, dodeljeni port takode ima VLANl oznaku. Napomenimo da i drugi
VLAN-ovi mogu da budu dodeljeni istom portu.
4. Komutator 1 dodaje identifikator VLAN-a u Ethernet okvir (prikazano kao VLl :EF) i
alje ga na port komutatora 2.
5. Komutator 2 prima proireni okvir. Portu preko koga komutator 2 prima okvir moe
da bude dodeljeno nekoliko VLAN-ova. Medutim, poto okvir sadri VLAN ID,
komutator 2 zna kojem VLAN-u pripada. Zbog toga, alje okvir direktno do B preko
odgovarajueg porta. On nee poslati okvir do D, jer se D ne nalazi u VLANl.
Iako je u prethodnom razmatranju pretpostavljeno da Je komutator dodeljen VLAN-u sa ID-om
porta, postoje i drugi metodi. Na primer, komutator moe da odrava tabelu u kojoj je nizu MAC
adresa dodeljen ID VLAN-a. U tom sluaju, kada komutator primi Ethemet okvir od uredaja, on trai
izvornu adresu okvira, umesto porta preko koga je okvir primljen. Izvoma adresa se koristi za
indeksiranje tabele i izvlaenje ID-a VLAN-a. Ako se ureaj premesti, nee biti nikakvih promena u
komutatoru, jer MAC adresa zavisi od mrene kartice u tom uredaju, a ne od njegove lokacije.
VLAN ID moe da se dodeli i na osnovu informacija sa sloja 3. Ovo je malo sloenije, jer zahte-
va implementiranje nekih protokola sa sloja 3 u komutatoru, tako da komutator malo podsea
na ruter. U sledeem poglavlju predstaviemo Internet Protocol (IP), a za sada emo istai samo
da se IP paketi mogu postaviti u polja Data konkretnog okvira. IP paket sadri elemente kao to
je IP izvorna adresa (koja se razlikuje od MAC adrese) i specifikaciju protokola iznad IP-a koji se
takode koriste. Tako VLAN moe da se definie u skladu sa IP adresom uredaja, ili, ak,
korienim protokolima viih slojeva. Sve to komutator (ruter) treba da uradi je da izvue paket
iz okvira, proui izvornu IP adresu, ili identifikator protokola i da utvrdi pridruenu oznaku
VLAN-a. U referenci [Fo03 ] moete da pronaete vie detalja o implementiranju VLAN-ova.
10.4 Konekcije sloja 3
Prethodno predstavljene lokalne mree (LAN-ovi) i konekcije slojeva 1 i 2 obino "pokrivaju"
manje geografske oblasti i ograniene su na jednu zgradu, ili grupu zgrada. Dizajnirane su
pomou relativno jednostavne topologije magistrale, prstena, ili zvezde. Medutim, mree ireg
geografskog podruja (WAN - wide area networks) prostiru se preko cele zemaljske kugle i
zahtevaju sofisticiranije tehnike.
Uzmimo opet primer sistema gradskih saobraajnica. U mnogim gradovima postoji jedna glavna
saobraajnica koja prolazi kroz centar (zajednika magistrala), ili postoje krune zaobilaznice
(prsten). Ako grad nije veliki, saobraaj se obino dobro kontrolie. AJi, ta je sa velikim oblasti-
ma, kao to su regioni, ili cele drave? Ne bi imalo smisla dizajnirati jedan autoput kroz "srce"
Amerike, ili zaobilaznice koje bi se nalazile na granicama sa Kanadom i Meksikom. Umesto toga,
dizajnira se sloena strateka veza glavnih autoputeva, zaobilaznica i puteva kroz drave, regione
i gradove. Ovakav tip sistema nije prikladno kategorizovati kao magistralu, prsten, zvezdu, ili
neku njihovu jednostavnu kombinaciju. Re je o mnogo sloenijem sistemu.
Poput nacionalnog sistema autoputeva, topologije WAN mrea su sloene i obino mogu da se
uvrste negde izmeu jednostavne magistrale, prstena, ili zvezde i potpuno povezane topologije.
Sa sloenijim topologijama dolaze i sloeniji protokoli za uspostavljanje konekcija i donoenje
odluka o rutiranju. Cinjenica da postoji toliko veliki broj naina za dolazak iz jedne take do
druge situaciju ini jo sloenijom. Na primer, ako ivite u Winoni (u Minesoti) i elite da idete
na odmor u Charleston (u Junoj Karolini), verovatno ete neko vreme provesti prouavajui
mape da biste utvrdili kuda je najbolje da idete. Slino tome, ako elite da prenesete informacije
izmedu kompjutera koji se nalaze na te dve lokacije, a koje su povezane preko WAN-a, i mreni
protokoli moraju da utvrde kuda e se te informacije proslediti.
Da bi cela "pria" bila jo komplikovanija, napomenimo da neki linkovi mogu da "otkau". Sta
u tom sluaju mreni protokol radi sa svim podacima koji su putovali tom rutom? U nekim
sluajevima ruta moe da postane toliko popularna da se preko nje pone prenositi prevelika
koliina podataka. Rezultat su zaguenja, a ponekad i "otkazi" linka. Da li mreni protokoli
mogu da izbegnu ovakve situacije? Ako ne mogu, ta mogu da urade da bi se ti efekti sveli na
najmanju moguu meru? Posluimo se opet analogijom sa autoputevima - ovi problemi su slini
ograniavanju, ili smanjivanju saobraaja u vreme velikih praznika.
SLIKA 10.18 Generalizovana mrena topologija
Veina nas poznaje te probleme i zna da se tu ne moe uraditi nita mnogo vie nego da se ostane
kod kue.
Na slici 10.18 prikazana je generalizovana mrena topologija. Neki ureaji esto komuniciraju
direktno sa vie uredaja u poredenju sa nekim drugim. Nesumnjivo, oni predstavljaju lokacije u
gusto naseljenim oblastima, ili lokacije sa velikim obimom razmene informacija. Uredaji sa man-
jim brojem konekcija mogu da imaju manje potrebe - mogu da se uporede sa udaljenim
podrujima. Na primer, vorovi A i B predstavljaju mesta u velikim gradskim podrujuma, a X i
Y udaljene delove drave.
Pretpostavimo da jedan uredaj treba da komunicira sa dmgim uredajem sa kojim nema direktnu
vezu. Mreni protokoli moraju da pronadu najbolju putanju koja ih povezuje. Na primer,
pretpostavimo da na slici 10.18 X alje neto za Y. Postoje dve mogue putanje: X-A-B-C-D-Y i
X-A-Z-D-Y. Koja putanja je bolja? Odgovor obino zavisi od cena i vremena koje je potrebno za
slanje informacija preko svake putanje.
Poreenje nije uvek jednostavno izvodljivo. Gledajui sliku 10.18, moda moete da pomislite
da je putanja preko A, Z i D bolja, jer je kraa od druge alternative. Medutim, kraa putanja ne
mora da bude uvek i bolja, a to mogu da potvrde svi koji su putovali automobilom. Mnogi ljudi
e izabrati put sa veom kilometraom ako to znai da e ii putem sa vie traka, u boljim
uslovima, ili ako postoji vie restorana sa brzom hranom nego u sluaju krae alternative. Iako e
due voziti, moda e stii pre i sa manje potekoa.
Tabele rutiranja
Slino prethodno predstavljenim mostovima, mreni vorovi mogu da koriste tabele rutiranja.
Slino onim tabelama iz sekcije 10.3, tabele rutiranja ne definiu celu rutu. Umesto toga, definiu
sledei vor u okviru rute do traenog odredita i cenu puta do tog vora.
* Mogue je da se svim konekcijama dodeli cena 1. U tom sluaju, najjeftinija putanja postaje najkraa, sa cenom koja
odgovara broju direktnih veza na putanji. Ovo se ponekad naziva broj skokoua (hop count); uskoro emo rei neto
vie i o tome.
(a) Parcijalna tabela rutiranja za vor A (b) Parcijalna tabela rutiranja za vor B (c) Parcijalna tabela rutiranja za vor E
SLIKA 10.20 Parcijalne tabele rutiranja za vorove A, B i E
SLIKA 10.19 Mrea sa dodeljenim cenama konekcija
Na primer, uzmimo mreu sa slike 10.19, kod koje su svim konekcijama izmeu susednih
vorova dodeljene cene. Pretpostavimo da elimo da pronademo najjeftiniju rutu,* onu koja ima
minimalnu sumu cena konekcja izmeu susednih vorova na ruti. Na primer, postoji nekoliko
ruta izmeu vorova A i F, ali najjeftinija je ona koja ide od A do B (cena 2), od B do E (cena 3)
i od E do F (cena 2), to daje ukupnu cenu 7.
Na slici 10.20 date su parcijalne tabele rutiranja vorova A, B i E (uskoro emo objasniti kako su
ove tabele kreirane). Tabela vora A ukazuje da sve to je namenjeno vorovima B, E, ili F treba
da se poalje direktno do B, gde e tabela rutiranja vora B definisati sledei vor za najjeftiniju
rutu. Slino tome, sve to je namenjeno za C, ili D treba da se poalje do C. Odatle, tabela
rutiranja za C ukazuje na sledei korak.
Ilustracije radi, pretpostavimo da aplikacija u voru A eli da poalje podatke do vora F. Logika
u voru A trai zapis u tabeli rutiranja sa vorom F kao odreditem. Zapis "kae" da je vor B
sledei vor u ruti i mreni protokol alje podatke do B. Logika u B prouava svoju tabelu
rutiranja za zapis koji odgovara ruti ka voru F. Trei zapis u tabeli ukazuje da podatke treba
poslati do vora E. Konano, tabela rutiranja u voru E ukazuje da je F sledei vor u sklopu rute.
Ko definie tabele rutiranja i kako? Proces u kojem se definiu tabele rutiranja naziva se
algoritam rutiranja. Postoji nekoliko osnovnih tipova rutiranja; mi emo ovde predstaviti etiri:
centralizovano, distribuirano, statiko i adaptivno. Nakon toga, analiziraemo neke specifine
algoritme za rutiranje.
Centralizovano rutiranje
Centralizovano rutiranje podrazumeva da se sve informacije o medusobnim vezama generiu i
odravaju na jednoj centralnoj lokaciji. Nakon toga se sa te lokacije informacije emituju do svih
mrenih vorova, tako da svaki vor moe da definie svoje tabele rutiranja. Jedan mogui nain
za odravanje informacija o rutiranju na centralnoj lokaciji je preko matrice rutiranja. Ona se
sastoji od redova i kolona za svaki vor u mrei. Redovi odgovaraju izvornim vorovima, a
kolone odredinim vorovima. Zapis koji je odreen konkretnim redom i kolonom ukazuje na
prvi vor na ruti od izvora do odredita. Na osnovu tog zapisa, mogue je izvesti celu rutu.
Na slici 10.21 prikazana je matrica rutiranja za mreu sa slike 10.19. Kao i ranije, selektovane su
najjeftinije rute. U sluaju da postoje dve rute sa istom najniom cenom, ruta se bira proizvoljno.
Razmotrimo ponovo rutu od A do F. Prema prvom redu i estoj koloni matrice, sledei vor u
najjeftinijoj ruti je B. Naredni se utvruje razmatranjem rute od B do F. Na osnovu drugog reda i este
kolone, dobijamo da je to vor E. Konano, vor koji sledi iza E (vor F) pronaen je na osnovu petog
reda i este kolone. Dakle, ruta ide od A do B do E do F.
Prilikom kreiranja tabele rutiranja za mreni vor neophodno je da red u matrici odgovara tom
voru. Na primer, tabela rutiranja za A na slici 10.20 (minus cena)* ista je kao i prvi red matrice.
Slino vai i za sve ostale vorove.
izvorni vor
SLIKA 10.21 Matrica rutiranja za vnreu sa slike 10.19
SLIKA 10.22 Primer mree za distribuirano rutiranje
" Ovde u matricu rutiranja nismo ukljuili cene, ali to se jednostavno izvodi smetanjem cene uz svaki vor u matrid.
Distribuirano rutiranje
Distribuirano rutiranje podrazumeva da nema centralne kontrole. Svaki vor mora nezavisno da
utvrdi i da odrava svoje informacije o rutiranju. To obino izvodi tako to zna ko su mu susedi,
izraunava cenu puta do svog suseda i utvrduje cenu za onog koji bi poslao podatke do eljenog
odredita. Svi susedi rade isto. Na osnovu informacija od svih suseda mogue je izvesti sopstvenu
tabelu rutiranja. Ovaj metod je sloeniji od centralizovanog rutiranja. Razlog je injenica da
zahteva nezavisno komuniciranje sa svim susedima.
Teko je proceniti sloenost ovog pristupa, jer primeri obino daju globalni prikaz mree sa svim
konekcijama i njihovim cenama. Ovaj opti pregled moe da nas stavi u neravnopravan poloaj,
jer, za razliku od nas, znanje vora o izgledu cele mree je veoma ogranieno. Ilustracije radi, raz-
motrimo mreu sa slike 10.22. Pretpostavimo da svaki vor inicijalno zna samo cene puta do svo
jih suseda; kasnije ovim informacijama moe da doda ono to sazna od svojih suseda. Na primer,
Ainicijalno zna samo da moe da poalje neto do B (cena =1), ili do D (cena = 2). On uopte
ne zna da vorovi C i E postoje. Isto vai i kod drugih vorova. Medutim, ako susedni vorovi
mogu da komuniciraju, A saznaje za identitet suseda vorova B i D, tj. za vorove C i E. Saznavi
cene vorova B i D za dolazak do tih vorova, a poto od ranije zna za cene do B i D, A moe da
izrauna cene dolaska do C i E. Periodinom razmenom informacija o susednim vorovima svaki
vor saznaje identitete drugih vorova na mrei i otkriva najjeftinije rute do njih. Uskoro emo
prikazati specifine algoritme koji se koriste u ovom procesu.
Statiko rutiranje
Statiko rutiranje podrazumeva da svaki vor utvrdi svoju tabelu rutiranja i da je nakon toga vie
ne menja. Drugim reima, najjeftinija putanja ne zavisi od vremena. Osnovna pretpostavka je da
se uslovi koji odreduju definicije u tabeli ne menjaju. Ovo moe ponekad da bude validna
pretpostavka, jer cene esto zavise od rastojanja i bitske brzine izmeu prelaznih vorova. Osim
kada se vri nadogradnja glavne opreme, ili prelazak na sasvim drugaiju opremu, ovi parametri
se nee menjati.
Adaptivno rutiranje
Statiko rutiranje dobro funkcionie sve dok se uslovi na mrei ne menjaju. Ipak, u nekim mreama
ovo nije validna pretpostavka. Na primer, ako cena svakog linka zavisi od mrenog saobraaja, cena
zavisi od vremena. Razmotrimo problem slanja paketa od vora A do vora E na slici 10.22.
Optimalna ruta je A-D-C-E. Pretpostavimo da nakon to A prenese pakete do D, dolazi do poveanja
cene linka D-C, i to na 10, zbog velike koliine saobraaja. Najjeftinija ruta od A sada glasi A-B-C-E;
ruta koja je inicijalno izabrana sada ima previsoku cenu. U tom sluaju, bilo bi jeftinije poslati paket
nazad do A i poeti sve iz poetka. Strategija adaptivnog rutiranja doputa mrenom voru da
reaguje na ovakve promene i da, u skladu sa njima, aurira svoju tabelu rutiranja.
Postoje neke "zamke" u ovom sistemu. Na primer, pretpostavimo da u naem tekuem primeru D
alje paket nazad do A, a da se, zatim, cena linka A-B poveava na 10. Logian izbor je slanje paketa
nazad do D. Sada moete da shvatite problem: paket e neprestano ii napred-nazad i nikada nee
sti do svog odredita. Jedna tehnika koja izbegava ovakve situacije odrava broja u zaglavlju
paketa koji se inkrementira sa svakim prenosom. Ako broja premai odredenu vrednost, paket se
uklanja sa mree. U takvim situacijama logika za rutiranje ne garantuje isporuku paketa.
Tip rutiranja Prednosti Nedostaci
Centralizovano rutiranje
Distribuirano rutiranje
Statiko rutiranje
Adaptivno rutiranje
Jednostavan metod, zato to
se kontrola rutiranja vri sa
jedne lokacije
"Otkaz" vora, ili linka ima
manji efekat na obezbedivanje
tanih informacija o rutiranju.
Jednostavan metod, zato to
vorovi ne moraju neprestano
da izvravaju algoritam
za rutiranje
Obezbeduje najnovije
informacije sa stanovita
cena linka.
"Otkaz" na centralnoj lokaciji, ili bilo kom
od linkova ima ozbiljan efekat na
obezbedivanje informacija o rutiranju za
vorove na mrei.
Razmena informacija je sloenija.
vorovima moe da bude potrebno vie
vremena da "naue" uslove na udaljenim
lokacijama.
Ne uzimaju se u obzir promene uslova.
Dobra ruta moe da postane veoma
loa.
Visoki trokovi, zato to vorovi moraju
da odravaju tekue informacije. Prenos
informacija u skladu sa promenama
uslova poveava saobraai na mrei.
Ipak, obino postoji protokol za kontrolu toka koji se izvrava na viem sloju, koji e naznaiti
da je vreme za isporuku paketa isteklo i inicirae ponovno slanje paketa.
U optem sluaju adaptivno rutiranje je teko efikasno implementirati. vorovi mogu da prate
promene uslova samo ako dobijaju izvetaje od ostalih vorova o cenama linkova. Ovi izvetaji
poveavaju saobraaj na mrei i mogu da doprinesu daljoj promeni uslova. Osim toga,
oduzimaju vreme, jer vor mora da "ul" promenjene uslove, tako da dok vor to "naui", taj
uslov moda nee vie biti validan.
U tabeli 10.2 dati su krai pregled i pbreenje etiri tipa rutiranja.
10.5 Dijkstrin algoritam
Dijkstrin algoritam (ref. [Di59]), ponekad nazvan algoritam najkraeg puta, ili agoritam
pretraivanja unapred, predstavlja centralizovani statini algoritam, iako moe da se uini
adaptivnim ako se periodino izvrava. Zahteva da vor koji ga izvrava ima informacije o
cenama linkova izmedu vorova na mrei.
Svaki vor izvrava Dijsktrin algoritam da bi utvrdio najjeftiniju rutu do svakog drugog vora na
mrei. U sluajevima kada cena rute jednostavno predstavlja broj prelaznih vorova, najkraa ruta
je, ujedno, i najjeftinija. Algoritam je i iterativan; kreira skup vorova, jedan po jedan, u okviru
svake iteracije. Za svaki vor u skupu je poznata najjeftinija ruta do njega od bilo kog konkretnog
vora.
Na slici 10.23 dat je opti pregled algoritma. Inicijalno, definie se skup S koji sadri samo vor
A, koji izvrava algoritam. Nakon toga se definie funkcija koja za svaki vor X definie Cost(X)
= cena najjeftinije rute od A do X, iji su meuvorovi deo skupa S. Poto S inicijalno sadri samo
vor A, Cost(X) je cena direktnog linka od A do X. Ako takav link ne postoji, za Cost(X) je dodel-
jen proizvoljno veliki broj. Funkdja Prior(X) u algoritmu sadri vor koji prethodi voru X u
sklopu najjeftinije rute.
Algoritam sadri petlju. Sa svakim prolaskom utvrduje se skup W, koji sadri sve vorove iz S, sa
direktnim linkom do neega u S (slika 10.24). Bira se jedan vor X iz W za koji je
Cost(X)<Cost(Y) za bilo koji daigi vor Y iz W.
Defi ni sanj e S kao skupa cvorova. I ni c i j al no S sadr zi cvor A.
Definisanje Cost(X) kao cene naj j ef t i ni j e rute od A do X koriscenjem samo cvorova iz S
(osim cvora X) . I n i c i j a l n o , Cost(X) je cena l i nka od A do X. Ako takav l i nk
ne post oj i , onda za Cost(X) moze b i t i izabrana proizvoljno vel i ka vrednost (veca od
cene bi l o koj e druge moguce r ut e) . Za cvorove k o j i su povezani sa A def i ni se
se Pr i or ( X) = A.
do {
Utvrdjivanje skupa cvorova koj i se ne nalaze u S, a l i su povezani sa nekim cvorom
iz S. Nleka se t aj skup zove W.
Bi ranj e cvora X u W za k oj i je CoSt(X) mi ni mal na. Dodavanje X u skup S.
Za svaki cvor V koj i ni j e u S, definisanje Cost(V) = minimum{Cost(v), Cost(X)+cena
l i nka koj i povezuje X i V}. Ako je Cost(V) promenjeno, defi ni se se Prior(V) = X.
}
while svi cvor ovi ni su u S.
SLIKA 10.23 Dijkstrin alsoritam
SLIKA 10.25 Mrea sa dodeljenim cenama konekcija
SLIKA 20.24 Dodavanje vorova u S korienjem Dijsktrin algoritma
Nakon toga, X se dodaje u S i aurura se funkcija cene Cost(V) za svako V koje jo uvek nije u S.
Poredi se tekua vrednost Cost(V) sa Cost(X), plus cena direktnog linka od X do V, Ako je druga
vrednost manja, algoritam redefmie Cost(V) tako da ima tu vrednost. Namera je da se utvrdi da
li dodavanje XuS omoguava jeftiniju rutu od A do V preko vorova iz S.
Tanost ovog algoritma nije odgledna, a njeno dokazivanje prelazi ciljeve ovog teksta. Ako elite
formalniju predstavu, pogledajte referencu [Ah83]. Primeniemo ovaj algoritam na primer
mree sa slike 10.25, a u tabeli 10.3 prikazane su vrednosti koje algoritam generie kada se
primeni na ovu mreu. U koraku 1 skup S sadri samo izvorni vor A. Jedini vorovi koji su
povezani na A su B i C i cene tih grana su 2 i 1, respektivno.
Cost(V) predstavlja cenu tekue rute (ako postoji) od A do V.
S
W
Postavljanje ovog vora u S
Da li postoji jedtinija ruta
ka V preko X ija je cena
CoSt(X) + cena od X do V?
direktni link
ruta
S = vorovi za koje je poznata najjeftinija ruta od A
W = vorovi koji su povezani na vor iz S preko direktnog linka
V
B
D
E
F
Nema linka od C do V
1 + 3 = 4
1 + 6 = 7
1 + 7 = 8
Cost(V) Cost(C) + cena linka koji povezuje C sa V
Tako je Cost(B) = 2 i Cost(C) = 1. Inicijalne vrednosti za Cost(D), Cost(E) i Cost(F) su
proizvoljno velike i oznaene su simbolom za beskonanost (o). Osim toga, Prior(B) = A i
Prior(C) = A. Poto algoritam jo uvek nije otkrio rute ka D, E i F, funkcija Prior je nedefinisana
u tim vorovima.
Kada udemo u petlju, skup W sadri vorove B i C, jer su samo oni povezani sa A. Zatim, poto
je Cost(C) < Cost(B), biramo X = Ci dodajemo ga u S. Poslednja linija u petlji sada zahteva da,
prouimo Cost(V) za svaki vor V koji jo uvek nije dodat u S. On se sastoji od vorova B, D, E i
F. Poto funkcija Cost predstavlja najjeftiniju putanju od A preko vorova iz S, moramo da se
zapitamo da li dodatni vor u S obezbeduje jeftiniju aitu. Drugim reima, razmatramo sve
vorove V koji se ne nalaze u S. Ako je Cost(C), plus cena direktnog linka koji povezuje C sa V
manja od Cost(V), ruta od A do C koja prati link od C do V predstavlja jeftiniju rutu. Tabela 10.4
sadri neophodno poreenje za svaki vor V koji nije u S. Za vorove D, E i F kasnije vrednosti
su manje i C je postavljen kao prethodni vor. Drugi red u tabeli 10.3 reflektuje te promene.
Drugi prolazak kroz pedju nastavlja u slinom "maniru". vor B se dodaje u S, zato to je Cost(B)
najnia cena medu vorovima koji se ne nalaze u S. Osim toga, ukljuivanje BuS obezbeduje jef-
tiniju rutu do E (preko vorova iz S). Trei red u tabeli 10.3 pokazuje kako se menjaju zapisi ispod
E, Cvor B sada prethodi voru E, a Cost(E) je sada 6. Vebe radi, moete da ispratite algoritam i
proverite da li su 4. i 5. red iz tabele 10.3 tani.
Korak S W X B C D E F B C D E F
1
2
3
4
5
{A}
{A, C}
{A, B, O
{A, B, C, D}
{A, B, C, D, E}
{B, C}
{B, D, E, F}
{D, E, F}
{E, F}
{F}
C 2 1 c o c o o o A A
B 2 1 4 7 8 A A C C C
D 2 1 4 6 8 A A C B C
E 2 1 4 6 6 A A C B D
F 2 1 4 6 6 A A C B D
Funkcija Cost za Funkcija Prior za
SLIKA 10.26 Najjeftinija ruta od AdoZ
Uskladu sa ovim principom, vorAmoe da utvrdi najjeftiniju rutu do Z sve dok Azna ceneveza
do svih svojih suseda i ako svaki sused zna cenu najjeftinije rute do Z. Nakon toga, vor A moe
da izvri ranija izraunavanja i da utvrdi najjeftiniju rutu. Ali, kako ostali susedi znaju najjeftini-
je rute do Z? Odgovor obezbeduje nain na koji algoritam funkcionie. Postoji i centralizovana i
distribuirana verzija algoritma. Poto smo ve obradili centralizovani algoritam, predstaviemo
distribuiranu verziju.
Cost(A, Z) = najmanja vrednost od
cena linka od A do B + cena najjeftinije
rute od B do Z
cena linka od A do C + cena najjeftinije
rute od C do Z
cena linka od A do D + cena najjeftinije
rute od D do Z
Kada se algoritam zavri, poslednji red u tabeli pokazuje da su cene najjeftinije rute do B, C, D,
E, i F 2, 1, 4, 6 i 6, respektivno.
Funkcija Prior moe da se koristi za oporavljanje konkretne aite. Na primer, ako elite konkretnu
rutu od A do F, Prior(F) = D ukazuje da je D prethodio voru F na toj ruti. Prior(D) = C ukazuje da
C prethodi voru D, a Prior(C) = A znai da je A prethodio C. DaWe, najjeftinija ruta od A do F je
A-C-D-F.
10.6 Bellman-Fordov algoritam
Prethodno opisani Dijkstrin algoritam daje najjeftiniju putanju kretanjem unapred iz bilo kog
konkretnog izvora. Sledei pristup podrazumeva kretanje unazad od eljenog odredita.
Bellman-Fordov algoritam (ref. [Fo62 ]), poznat i kao agoritam pretraivanja unazad, ili algo
ritam vektorskog rastojanja, koristi takav pristup. Zasniva se na sledeem principu. Neka CoSt(A,
Z) bude cena najjeftinije rute od vora A do vora Z. Pretpostavimo da A ima direktnu konekciju
sa vorovima B, C, ..., D (slika 10.26). Onda je
Kao to je ranije pomenuto, svaki vor zna samo cene do svojih suseda i sve informacije koje
moe da dobije od suseda. Dakle, kod distribuiranog algoritma svi vorovi emituju ono to znaju
o svojim susedima. Svaki vor prima nove informacije i u skladu sa njima aurira svoju tabelu
rutiranja. Kako susedi nastavljaju periodino da emituju svoje informacije, informacije o svim
rarenim vorovima i konekcijama na kraju prolaze kroz celu mreu. Informacije koje dolaze u
vorove omoguavaju im da otkriju nove vorove i nove najjeftinije putanje do drugih vorova.
Ilustracije radi, primeniemo algoritam na mreu sa slike 10.27. Svaki vor odrava informacije
o najjeftinijoj ruti do svakog drugog vora. Sadri cenu rute i prvi sledei vor na toj rutj.
Inidjalno, svaki vor zna cene do svojih suseda. U tabeli 10.5a prikazano je kako se smetaju te
informacije. Svaki red odgovara izvornom voru, a svaka kolona odredinom voru. LI tabeli
10.5a prvi vor na ruti uvek je isti kao i vor u zaglavlju kolone, jer jo uvek nisu otkrivene druge
rute, osim onih ka susedima. Ova situacija e se promeniti kada se algoritam nastavi.
Imajte na umu da ova tabela navodi redove i kolone za sve vorove i da svaki vor zna samo ta
se nalazi u redu koji mu odgovara. Na primer, A zna samo da su cene do B i D 1 i 2, respektivno;
B zna samo da su cene do A i C 1 i 4, respektivno, i tako redom. Neki vorovi i ne znaju da pos-
toje neki drugi vorovi. Na primer, A ne zna da postoje vorovi C i E. B ne zna da postoje vorovi
Di Ei tako dalje. To je u tabeli oznaeno kao Nepoznato.
Slika 10.28 sadri algoritam u vidu pseudokoda.* Inicijalno, vor u svoju tabelu rutiranja smeta
informacije o rutama do svojih suseda. Prva while petlja ukazuje da algoritam nastavlja da prati
informacije koje dolaze od suseda.
SLIKA 10.27 Mrea za Bellman-Fordov algoritam
* Ovaj algoritam nije kompletan, zato to postoje sluajevi u kojima e doi do greke. Ipak, naa namera je da ilustrujemo
koncept uenja ruta unatrake kako bi se pronale krae putanje. Kasnije emo prouiti nedostatke ove verzije.
Za svakog suseda umetnuti zapis (susedni cvor, cena linka) u tekucu
tabelu rutiranja.
while mrezni protokoli me zavaravaju do
{
prijem informacija iz tabele rutiranja cvora N;
for each cvor Z in tabela rutiranja cvora N do
if Z nije u tekucoj tabeli rutiranja
umetnuti par (N, tekuca cena do N + cena rute od N do Z) u tabelu;
else
if tekuca cena do N + cena rute od N do Z < tekuca cena do Z
zameniti tekucu cenu do Z tekucom cenom do N + cena rute od N do Z i
naznaciti N kao novi prvi cvor duz rute do Z;
}
SLIKA 10.28 Bellman-Fordov algoritam
Odredite
Izvor A B C D E
A
B
C
D
E
A
B
C
D
E
A
B
C
D
E
(A, 1)
Nepoznato
(A, 2)
Nepoznato
(A, 1)
(D, 4)
(A, 2)
(D, 9)
(A, 1)
(D, 4)
(A, 2)
(C, 6)
(B, 1)
(B, 4)
Nepoznato
Nepoznato
(B, 1)
(B, 4)
(A, 3)
(C, 6)
(B, 1)
(B, 4)
(A, 3)
(C.6)
(a) Prva iteracija
Nepoznato
(C, 4)
(C, 2)
(C, 2)
(b) Druga iteracija
(D, 4)
(C, 4)
(C, 2)
(C, 2)
(c) Trea iteracija
(D, 4)
(C 4)
(C, 2)
(C, 2)
(D, 2)
Nepoznato
(D, 2)
(D, 7)
(D, 2)
(A, 3)
(D, 2)
(C, 4)
(D, 2)
(A, 3)
(D, 2)
(C, 4)
Nepoznato
Nepoznato
(E, 2)
(E, 7)
(D, 9)
(C, 6)
(E, 2)
(C, 4)
(D, 6)
(C, 6)
(E, 2)
(C, 4)
* Iako ovaj algoritam odslikava uredenu sekvencu prijema od svih suseda, skoro je potpuno sigurno da se to nee desiti na
ovakav nain. Stvarni prijem informacija zavisi od mnogih dogaaja u realnom vremenu, koji su krajnje nepredvidivi. Na
glavni cilj je da opiemo kako vorovi reaguju na dobijene informacije, tako da algoritam moe da poslui za nau svrhu.
t Ono to B tano prima od A zavisi od toga da li je A poslao informacije pre, ili nakon to je primio informacije od D. Poto
ovde ne moemo da garantujemo tajming, pretpostavljamo da svaki vor alje ono to je imao na poetku svakog koraka.
U okviru petlje svaki vor prima informacije od svih svojih suseda. * Na osnovu njih, on ui kojim
vorovima mogu da pristupe njegovi susedi i kolike su cene dodeljene tim rutama. Za svaki vor
Z kome sused N ima pristup, postoje dve mogunosti:
1. Tekui vor nema nikakva ranija saznanja o voru Z. Tekui vor umee zapis (N,
tekua cena do N + cena rute od N do Z) u svoju tabelu rutiranja. Tekui vor sada zna
rutu do Z preko N.
2. Tekui vor je ve imao rutu do Z. Vri se poredenje cene poznate rute sa cenom rute
do N, plus cena od N do Z. Ako je druga vrednost manja, tekui vor je pronaao jef-
tiniju rutu do Z. On menja svoju tekuu cenu za niu i naznaava N kao prvi sledei
vor du rute do Z.
U tabeli 10.5b pokazano je kako se informacije svakog vora menjaju dok mu njegovi susedi
saoptavaju ta znaju. B govori A da ima pristup voru C sa cenom 4. Poto A zna da ima pristup
B po ceni 1, sada zakljuuje da ima pristup u C sa cenom 5 (cena do B plus cena od B do C).
Slino tome, D govori A da ima pristup do C, ali sa cenom 2. Sada A zakljuuje da ima pristup u
C i preko D, i to sa ukupnom cenom 4. Poto je to jeftinije nego ruta preko B, on umee zapis
(D, 4) u svoju tabelu rutiranja (tabela 10.5b). D govori A i da ima pristup u E, sa cenom 7. Poto
A zna da ima pristup u D sa cenom 2, zakljuuje da ima pristup u E sa cenom 7 + 2 = 9. Nakon
toga, u tabelu rutiranja postavlja zapis (D, 9).
Sa nae take gledita, mi znamo da postoji ruta od A do E preko D i C, ija je cena svega 6. Ali,
zapamtite da smo mi u prednosti u poreenju sa A, jer moemo da sagledamo celu mreu. Zbog
svoje ograniene perspektive, A jo uvek ne zna za tu rutu. Ne dozvolite da Vas naa perspektiva
navede na pogreno tumaenje algoritma.
Nastavljajui na ovaj nain, B prima informacije od A i C o rutama do drugih vorova.t Informacije
iz vora A ukazuju voru B da postoji aita do D sa cenom 3. Slino tome, informacije iz C pokazuju
da postoji jo jedna ruta do D sa cenom 6 i mta do E sa cenom 6. Biranjem najjeftinijih aita, drugi
red tabele 10.5b prikazuje najnovije informacije o rutiranju za vor B.
Nakon to svaki vor po jednom dobije informacije od svojih suseda, tabela 10.5b prikazuje
tabelu rutiranja svakog vora. U ovoj taki svaki vor zna najbolji nain da dode do svih svojih
suseda i svih njihovih suseda. Ipak, to jo uvek nisu optimalne rute, jer moda postoje neke koje
zahtevaju tri, ili vie linkova.
Dakle, svaki vor prolazi kroz jo jednu "rundu" prikupljanja informacija od svih svojih suseda i
utvrduje da li postoje bolje rute. Na primer, A zna, na osnovu tabele 10.5b, da je najjeftinija ruta
do E preko D sa ukupnom cenom 9. Medutim, kada A ponovo uje D, saznae da D moe da
stigne do E sa cenom 4. Poto je cena linka od A do D 2, on sada zakljuuje da moe da dode do
E preko D sa ukupnom cenom 6. Trebalo bi da ispratite sve korake algoritma sa slike 10.28 i da
proverite da li su zapisi iz tabela 10.5b i 10.5c tani.
Problemi sa Bellman-Fordovim algoritmom
Sve dok svaki vor neprestano primenjuje algoritam, dolazi do smanjenja cena negde na mrei.
Ipak, u zavisnosti od mrene topologije, potrebno je odreeno vreme da se reaguje na takve
promene. Razlog je injenica da, ako se smanji cena linka izmeu dva vora, jedino njihovi
neposredni susedi znaju za to u okviru jednog prolaska kroz algoritam. Da bi za ovu promenu
saznali i vorovi koji su udaljeni dva linka, potrebna su dva prolaska algoritma, za vorove
udaljene tri linka potrebna su tri prolaska i tako redom. U optem sluaju vreme potrebno da se
prime vesti o promeni cena proporcionalno je broju meuvorova.
Ipak, postoji jedan ozbiljniji problem. ta se deava ako se cena linka izmedu dva vora povea?
Hi, to je jo gore, ta se deava ako "otkae" link izmeu neka dva vora? Sluaj "otkaza" moe
da se posmatra kao beskonano poveanje cene. Pogledajmo primer. Red 2 u tabeli 10.5c
ukazuje da je najjeftinija ruta od B do E preko C sa cenom 6. Ovo je delimino tano, jer cena
linka C-E iznosi 2. ta e se dogoditi ako se povea na 22? Algoritam, kao to je opisano, nee
promeniti tabelu rutiranja za B, zato to vri promene samo kada one omoguavaju krau rutu.
Sreom, za ovaj problem postoji jednostavno reenje, mada ono ima sporedne efekte u nekim
situacijama. U optem sluaju pretpostavimo da je X vor i da je N prvi vor na ruti koju X sma-
tra najjeftinijom do vora D.
Algoritam ve obezbeduje sluaj kada X uje od svojih suseda za jeftiniju rutu. Meutim,
pretpostavimo da X uje od N da je cena rute do D poveana. Poto je N bio prvi sledei vor u
ruti od X do D, X mora da aurira svoju tabelu i da povea cenu rute do D preko N. Nije teko
modifikovati algoritam da se to izvede.
Na primer (ponovo se pozivamo na tabelu 10.5c), ako se link C-E povea na 22 (poveanje za
20), C govori B da je dolo do poveanja. B reaguje tako to modifikuje svoju tabelu rutiranja,
menjajui zapis koji odgovara ruti do E sa (C, 6) na (C, 26). Cvor B sada smatra da je najjeftini-
ja ruta do E preko C sa cenom 26 (sline promene e se pojaviti i kod ostalih vorova). Naravno,
ovo nije tano, ali nakon jo par iteracija algoritma bie uspostavljena najjeftinija ruta preko linka
D-E i u tabelama rutiranja e biti prikazano stvarno stanje cena linkova.
* Ovo zavisi od tajminga. Ako A prvo uje od B da je cena do E postala o, onda e A videti cenu do E kao o. Poenta je u tome
da ne znamo ta e prvo da se desi i zato moramo da uzmemo u obzir sve mogunosti.
Ovo izgleda kao razumno reenje, ali razmotrite sledei scenario:
Pretpostavite da se podskup sa slike 10.27 sastoji samo od linkova A-B, B-C i C-E.
Nakon nekoliko iteracija algoritma, najjeftinija ruta od C do E ima cenu 2, od B do E
6 i od A do E 7.
Dolazi do "otkaza" linka C-E (odnosno, cena linka C-E postaje oo).
vor C registruje "otkaz" i aurira svoju tabelu mtiranja tako da naznai da cena dolaska do E
iznosi oo. Osim toga, C prosleuje informacije do B, koji menja svoju tabelu tako da naznai da
ruta do E preko C ima cenu oo. Naalost, B uje od A da ruta do E ima cenu 7. * B nema pojma da
se ruta iz A vraa u B. Poto je cena linka B-A 1, B sada aurira svoju tabelu tako da je
najjeftinija ruta do E preko A sa cenom 8 (a da se dode do A i 7 za cenu od A do E).
Sada moe da se desi sledee:
1. A uje od B da najjeftinija ruta do E ima cenu 8. Zato A aurira svoju tabelu rutiranja
tako da naznai da najjeftinija ruta do E ide preko B i da ima cenu 9 (1 da se dode do
B i 8 za cenu od B do E).
2. B uje od A da je dolo do poveanja cene njegove mte preko A na 10.
3. A reaguje i poveava cenu svoje rute preko B na 11.
4. Petlja se nastavlja u beskonanost.
Kako A i B nastavljaju da razmenjuju informacije, tako se njihove cene neprestano poveavaju, a
ni jedan njih ne shvata da je link ka E "otkazao". Iz nae ptiije perspektive na mreu, ovo je
sraeno. Medutim, svaki vor zna samo ono to mu susedi saopte, tako da su ovakve situacije
mogue.
Ovo se naziva problem brojanja u beskonanost (count-to-infinity problem) i moe da se rei
definisanjem nekog praga. Ako cena rute do nekog vora prede vrednost praga, cena se postavlja
na co, ime se oznaava da je vor nedostupan. Problem je to vrednost praga mora da bude
dovoljno velika da ne dode do meanja sa legitimnim poveanjima cene. Zbog toga, algoritmu
treba vie vremena da ispravno reaguje na nastali problem.
Moda mislite da se ovaj problem mogao izbei u potpunosti da A jednostavno nije slao
informacije do B za rute koje prolaze kroz B. Naime, zato bi A govorio B bilo ta o ruti do E koja
prolazi kroz B? Nema smisla. Ovo nas dovodi do sledee varijacije algoritma koja je poznata kao
podeljeni horizont (split horizon); koristi se i termin zatrovane rute (poisoned reverse). Re je o
jednostavnoj modifikaciji informacija koje se alju do susednog vora. U optem sluaju
pretpostavljamo da vorX zna za rutu do D preko suseda N. Pravilo podeljenog horizonta kae
da X govori N da cena do D iznosi co. Na ovaj nain, N nee pokuavati da ide do D preko X i da
sledi rutu koja bi vodila nazad do njega.
Ako bi se ovo pravilo implementiralo u prethodnom primeru, A bi rekao B da je cena do E posta-
Ia QO (jer ruta koju A koristi ide preko B). Poto B ve zna da je cena do E preko C postala oo, B e
shvatiti da E nije dostupan. U sledeem koraku A shvata isto.
Iako ovo reava ovde opisani problem, i dalje nema nikakvih garancija da e ovaj metod
funkcionisati u svim sluajevima. Na primer, razmotrimo ponovo mreu sa slike 10.27, ali
pretpostavimo da nije postojao link D-E. Sve rute do E idu preko linka C-E i ta je injenica
prikazana u tabelama rutiranja. Osim toga,
Ruta od D do E ide najpre do C.
Ruta od B do E ide najpre do C.
Ruta od A do E ide najpre do C.
Pretpostavimo da u odreenom trenutku link C-E "otkae". C e videti da je cena do E postala .
Osim toga, C nee pokuavati da ide preko B, ili D, jer mu oba kau da je cena do E postala co
(pravilo podeljenog horizonta). Naalost, A i B mogu da razmene poruke (pravilo podeljenog
horizonta ih ne spreava da razmenjuju informacije), tako da A misli da se do E moe stii preko
B. B misli da se do E moe stii preko A. Sada vie ne postoji pravilo podeljenog horizonta koje
bi zabranilo prenos informacija u C preko B. Zbog toga, B govori C za rutu do E. C sada misli da
moe da dode do E preko B.
Sada "stvari" postaju krajnje "zbrkane", jer isuvie toga zavisi od tajminga. Krajnji zakljuak je da
petlja u mrei izaziva da A, B, C i D razmenjuju poruke, ime se stvara utisak da postoje razliite
putanje do E, i otvorene i zatvorene. Postaju "senilne", neprestano menjajui odluku kuda treba
da se stigne do E. Ova nestabilnost se nastavlja, to izaziva eskalaciju cena. Ako se koristi
vrednost praga, petlja e se na kraju zaustaviti. Ipak, ovo e oduzeti neko vreme.
10.7 Dodatni metodi za rutiranje
Rutiranje na osnovu stanja linka
Problemi koje smo istakli pojavili su se zato to su vorovi pokuavali da razmene informacije
kako da se stigne do specifinih odredita. Dobra okolnost kod Dijkstrin algoritma je da svaki
vor izvrava algoritam lokalno kako bi doneo sopstvene odluke. Nedostatak je potreba vora da
ima informacije o mrenoj topologiji i cenama linkova. Ako moe da pribavi ove informacije,
moe da koristi Dijkstrin (ili bilo koji drugi) algoritam. Protokol za rutiranje na osnovu stanja
linka je dizajniran da obavi upravo to.
Rutiranje na osnovu stanja linka je slino Bellman-Fordovom rutiranju sa jednog aspekta: svaki
vor prenosi do svojih suseda ono to zna. Razlika se ogleda u vrsti informacija koje se
razmenjuju. Rutiranje na osnovu stanja linka je dizajnirano u skladu sa sledeim idejama:
Cvor prikuplja informacije o statusu svakog linka od svih njegovih suseda. Na primer,
medu znaajne informacije mogu da se uvrste bitska brzina tog linka, kanjenje
prilikom slanja paketa preko tog linka, broj paketa koji se postavlja u red ekanja i
pouzdanost tog linka. Sve ovo ima uticaja prilikom utvrdivanja cene tog linka.
vor formira paket stanja linka (link state packet) za svaki link. Paket identifikuje dva
vora koja su povezana tim linkom i sadri prikupljene informacije. vor alje svaki
paket do svakog suseda.
Cvor koji primi paket stanja linka prosleuje taj paket do svih svojih suseda
(izuzimajui suseda od koga je paket stigao).
Kako se paketi stanja linka razmenjuju izmedu vorova, svaki vor ui topologiju
mree i cene i status linkova izmedu mrenih vorova. Tako moe da izvri algoritam
pronalaenja najjeftinije rute, kao to je Dijkstrin algoritam (koristei sebe kao izvorni
vor), da bi utvrdio sopstvenu rutu do konkretnog odredita (ili da bi bar utvrdio prvi
sledei vor na toj ruti). Nakon toga, moe da formira tabelu rutiranja u skladu sa
prikupljenim informacijama.
Poput Bellman-Fordovog rutiranja, ovaj pristup moe da iskoristi prednost i smanjenja i
poveanja cena sve dok vor periodino kreira i alje pakete stanja linka, koji sadre najnovije
informacije.
Ipak, ovo ne znai da protokol nema problema. Na primer, ako mrea ima petlje, paketi stanja
linka mogu beskonano dugo da cirkuliu kroz mreu, jer ih vorovi neprestano razmenjuju. Ne
samo da se na taj nain poveava saobraaj na mrei, ve se javlja problem razlikovanja starog
paketa stanja linka od onih novijih. Reenje ovog problema podrazumeva instaliranje brojaa u
svaki paket. Broja je pozitivan broj koji se postavlja prilikom kreiranja paketa. Uvek kada vor
prosledi paket do svog suseda broja se dekrementira. Na kraju, broja dolazi do vrednosti O i
prijemni vor ga odbacuje.
Sledei problem je to to moe da protekne odredeno vreme od trenutka kada dode do "otkaza"
linka do trenutka kada udaljeni vor sazna za to. U tom periodu paketi mogu neispravno da se
rutiraju, to moe da izazove kanjenja (ili, ak,"otkaze") paketa koji stiu u njihova odredita.
Rutiranje u dinamikom okruenju moe da bude problematino. Nepovoljne "stvari" koje smo
prethodno opisali verovatno nee da se dese, ali lo tajming moe da ih inicira. Zato su pristupi
koje koristite dobri veim delom vremena, ali povremeno mogu da budu problematini. Svako
ko je nekada debagirao neki program zna za najtee i najnezgodnije probleme na koje moe da
naide. U stvari, kasnije emo videti da kod Internet rutiranja ne postoje garancije za isporuku
paketa. Ako izgleda da paketi ne napreduju, Internet Protocol ih jednostavno izbacuje. Internet
Protocol emo prikazati Poglavlju 11.
Hijerarhijsko rutiranje
Svi do sada razmotreni pristupi rutiranju imaju neto zajedniko - dizajnirani su tako da svaki
vor dobije odgovarajue informacije o rutiranju. Ipak, ponekad postoji isuvie veliki broj
vorova da bi se svima efikasno prosledile informacije o rutiranju. Tretiranje svih vorova kao
ravnopravnih uesnika u velikim mreama dovodi do generisanja isuvie velike koliine
informacija koje treba poslati preko mree. Alternativa je da postoje neki vorovi koji e obaviti
rutiranje za ostale. Uobiajeni pristup je hijerarhijsko rutiranje. Ima sledee karakteristike:
SLIKA 10.29 Domeni u hijerarhijskom rutiranju
Domen 1
poddomen 2
Domen 3
poddomen I
Domen 2
dizajnirani ruteri
Svi vorovi su podeljeni u grupe koje su nazvane domeni. Domen moemo da
smatramo zasebnom i nezavisnom mreom koju odravaju neka kompanija, ili
organizacija. Koristi se i termin autonomni sistem (AS).
Rute izmeu dva vora u zajednikom domenu odreene su pomou protokola
domena, ili mrenih protokola.
Svaki domen ima jedan, ili vie specijalno dizajniranih rutera koji utvrduju rute
izmeu domena. Efektivno, ti ruteri formiraju mreu.
Ako je domen veliki, moe da sadri vie poddomena, od kojih svaki moe da sadri
sopstveni naznaeni ruter. Ovi ruteri odreuju rute izmedu poddomena u samom
domenu.
Pretpostavimo da vor X treba da poalje paket vora Y. Ako se nalaze na istom domenu, rute
mogu da se utvrde pomou prethodno predstavljenih tehnika. Sa druge strane, pretpostavimo da
se nalaze u razliitim domenima (slika 10.29). vor X alje paket do rutera A u okviru njegovog
domena. Cvor A je odgovoran za utvrdivanje najbolje rute do domena vora Y (domen 2) i
slanje paketa. Poto je vor B izabrani ruter za domen 2, on prima paket, a zatim ga alje do vora
Y. Ovaj pristup se primenjuje za svaki par vorova sa domena 1 i 2. A izvrava neophodno
rutiranje u ime bilo kog vora na svom domenu, ime se redukuje ukupan broj vorova koji bi
morali da izvre takve zadatke. Cvor X i drugi vorovi na domenu I treba da vode rauna samo
o tome kako da dodu do A.
Koncept domena moemo da se predstavi pomou hijerarhijske strukture (slika 10.30). Svi
domeni odgovaraju vorovima na drugom nivou stabla ispod zajednikog korena.* Svi mreni
vorovi u okviru domena odgovaraju vorovima treeg nivoa na domenu. Ako domen sadri
poddomene, a oni imaju vorove treeg nivoa u stablu, i svi mreni vorovi u njima su na
etvrtom nivou u okviru odgovarajueg poddomena.
U optem sluaju mreni ruteri su delimino definisani mestom u hijerarhiji. Pretpostavimo da
Z sa slike 10.29 treba da poalje paket do X. Poto je Z u poddomenu 1, alje paket do W, izabra-
nog rutera za poddomen vora Z. W rutira paket preko poddomena do C, izabranog rutera za
domen 3. Nakon toga, C rutira paket preko domena do A, koji konano alje paket do X.
Do sada smo izostavljali jedan detalj. Da bi hijerarhijsko rutiranje funkcionisalo, vor koji alje
pakete defmie odredinu adresu, ukljuujucl svoj domen i sve njegove poddomene. Na osnovu
ukljuene adrese, svaki ruter utvrduje da li se odredite nalazi na tekuem domenu (ili poddomenu).
Ako se nalazi, ruter moe da ispomi paket. Ako nije na tom domenu, ruter mora da utvrdi domen
na koji treba poslati paket. Ovo je slino slanju pisama preko regulame potanske slube sa tipinim
formatom adresiranja.
Ime
Ulica i broj
Grad, drava, potanski broj
Radnici u potama u Hardfordu, Connecticut ne moraju da brinu da li je pismo adresirano na
Jane Smith koja ivi u 123 Main Street, osim ako kao grad i drava nije naveden Hardford,
Connecticut.
Domen I
Domen 2
Koren
X A ostali
vorovi
Y B ostali
vorovi
Domen 3
Poddomen I
Poddomen 2
ostali
vorovi
C ostali
vorovi
W Z
SLlKA 10.30 Hijerarhijsko ureenje vorova na domenu
' Ne smatrajte koren slvarnim mrenim vorom. On jednostavno oznaava da su svi njegovi zavisnici (domeni) povezani.
* Neke adrese imaju vie bitova, ali njih obraujemo u sledeem poglavlju.
t Internet Protocol defmie i adrese Klase A (8-bitna mrena adresa i 24-bitni lokalni identifikator) i Klase C (24-bitna
mrena adresa i 8-bitni lokalni identifikator). Postoje i klase D i E adrese i grupe besklasnih adresa, ali njih cemo prikazati u
odeljku 11.2.
Ako se grad i drava razlikuju, potanski slubenici u Hartfordu brinu samo o tome da se pismo
poalje do odgovarajueg grada, a u tom gradu potanski slubenici vode rauna o konkretnoj
adresi i imenu osobe na koju je pismo adresirano. Slino tome, mreni vor naznaava adresu
kao sekvencu identifikatora domena i poddomena. Na primer, vor X sa slike 10.29 moe da
poalje paket do vora Z tako to navodi adresu Z.poddomen-l.domen-3.
Internet je mrea koja koristi hijerarhije u okviru svoje eme adresiranja. Hijerarhija reflektuje
injenicu da je Internet, u stvari, kolekcija mrea, koje imaju sopstvene protokole. Univerziteti,
kompanije, ili vladine agencije obino imaju mreu u okviru koje su povezani svi njihovi
kompjuteri. Te mree takode mogu da budu deo Interneta.
Internet adresa je 32-bitni broj* predstavljen kao sekvenca etiri 8-bitna broja koja su razdvoje-
na takama. Na primer, adresa moe da bude 143.200.128.3, gde svaka etvorka ima 8-bitnu
reprezentaciju. Svaka Internet adresa moe da se interpretira sa dva dela: Internet Protocol (IP)
mrena adresa pridruena tom mestu na mrei i adresa lokalnog ureaja (tj. personalnog
kompjutera, ili servera) na toj mrei. Prikazani primer adrese pripada Klasi B,t to znai da prvih
16 bitova (143.200) oznaava IP mrenu adresu, a drugih 16 bitova (128.3) oznaavaju speci-
fini uredaj.
Za vreme rutiranja paketa, ruter najpre prouava IP mrenu adresu. Ako je paket namenjen
nekom drugom mestu, njegovo rutiranje je zasnovano iskljuivo na toj IP mrenoj adresi.
U suprotnom, ruter prouava lokalni deo adrese i izvlai, ako je potrebno, identifikator fizike
adrese. Nakon toga, on postavlja paket u red ekanja za isporuivanje do odredita preko odgo-
varajue fizike mree. Odatle protokoli nieg sloja mree upravljaju isporukom u skladu sa
tipom mree. Ovaj proces predstavlja, u stvari, tehniku hijerarhijskog rutiranja na dva nivoa.
Postoji par "stvari" koje su neophodne za dalji opis; baviemo se njima u sledeem poglavlju
kada budemo predstavljali Internet.
Nekim sajtovima moe da bude dodeljena jedna IP mrena adresa, a da, u stvari, imaju vie
fizikih mrea na tom mestu koje su oznaene kao podmree (subnets). Jedna IP mrena adresa
omoguava proirivanje sajta i razvoj mrenih aplikacija nezavisno od konekcije sa Internetom.
Na primer, lokalna uprava moe da koristi deo 16-bitnog lokalnog ID-a (moda nekoliko prvih
bitova) kako bi bila oznaena odredena podmrea. Tako se kreira hijerarhija adresa na tri nivoa,
gde prva dva okteta oznaavaju IP mreu, sledeih par bitova oznaavaju podmreu, a preostali
bitovi ukazuju na konkretno odredite na toj podmrei.
Routing lnformation protokol (RlP)
Kao to smo ve istakli, velike mree, kao to je Internet, u optem sluaju mogu da se posma-
traju kao kolekcije domena. Neki vie vole termin autonomni sistem (AS), umesto termina domen,
da bi se ukazalo na injenicu da mogu nezavisno da funkcioniu.
* Za ovo se koriste razlidti nazivi u odnosu na to koga sluate. Na primer, unutranji protokoli mogu da se nazivaju i
protokoli unutranjeg gatewaya (interior gateway protocols), protokoli unutranjih rutera (interior router protocols), ili
protokoli unutar domena (intradomain protocols). Spoljanji protokoli mogu da se nazivaju i protokoli spoljanjeg gatewaya
(exterior gateway protocols), protokoli spoljanjih rutera (eXterior router protocols), ili protokoli izmeu domena
(interdomain protocols).
t U okviru engleskog izgovora rutirani programi se izgovaraju kao rut-di (route-dee) i razlog za to su bik UNIX-OVe
konvencije imenovanja.
SLIKA 10.31 Mree povezane ruterima
U takvim mreama moemo da definiemo dve glavne kategorije strategija za rutiranje:
unutranje i spoljanje protokole.* Protokoli za unutranje rutiranje (exterior routing proto
cols) kontroliu rutiranje izmeu rutera u okviru autonomnog sistema. Protokoli za spoljanje
rutiranje (interior routing protocols) kontroliu rutiranje izmedu rutera razliitih autonomnih
sistema. Na primer, unutranji protokol se koristi za utvrivanje rute od X do A (slika 10.29).
Eksterni protokoli se koriste da bi se dolo od A do B, ili C.
Ovde je bitno istai razliku, jer razliiti AS-ovi mogu da koriste razliite metrike za izraunavanje
najbolje rute u okviru AS-a. Neki mogu da zasnivaju svoja izraunavanja na osnovu bitskih brzina, a
drugi mogu u potpunosti da se oslone na broj rutera koji moraju da proslede paket. Broj koji se
koristi za predstavljanje cene moe da se izrauna na razliite naine. Ruta sa cenom 100 u jednoj
mrei moe da bude sporija od rute sa cenom 200 u nekoj drugoj mrei. Zato pronalaenje
"najbolje" mte moe da bude teko, jer se metrike koje su koriene za merenje najbolje rute moda
ne mogu primeniti na sve sisteme. Na primer, moda e biti teko definisati najbolju rutu od X do Z
na slici 10.29, jer se definicija onoga to je "najbolje" moe razlikovati od domena do domena.
Uskoro emo videti da ovo moe da utie na izbor protokola koji e biti korieni.
Jedan primer protokola za unutranje rutiranje koji je dugo korien na Internet ruterima u okviru
AS-a je Routing Information Protocol (RIP). RIP je protokol koga je koristio rutiranit program
razvijen u University of California, Berkeley, koji je bio zaduen za rutiranje u lokalnim
mreama. Ruteri koji povezuju vie mrea koriste RIP kako bi svi znali najkrae rute do specifine
mree. Obino koriste brojae skokova (hop count), broj medurutera i rastojanje. Na slici 10.31
prikazano je nekoliko mrea koje su povezane ruterima. Broj "skokova" od mree Nl do N2 je
1, a od Nl do N4 je 2, kada se koriste najkrae rute. Ipak, to jo uvek ne zna ni jedan ruter.
Algoritam se startuje kada svaki ruter poalje poruku do svih svojih mrea. Ova poruka ukazuje
da sve mree na koje je ruter povezan mogu da se dostignu u jednom "skoku". Kada ruteri na tim
mreama dobiju poruku, oni znaju koje se mree mogu dostii sa dva "skoka".
Ove informacije se smetaju u tabele rutiranja i periodino se emituju preko mrea. Periodinim
primanjem, smetanjem i emitovanjem informacija svaki ruter zna za najmanji broj "skokova"
na konkretnoj mrei.
Pogledajmo kako ovo funkcionie na mrei sa slike 10.31. Korienjem RIP protokola mogue je
da se desi sledee:
1. R2 alje poruku du N2 koja moe da stigne do Nl u jednom "skoku" (takode alje
poruku i du Nl koja moe da stigne do N2 u jednom "skoku").
2. Poto je Rl povezan na N2, on zna da moe da stigne do Nl u dva "skoka" i belei tu
injenicu u svoju tabelu mtiranja. Zbog toga, Rl emituje sledee preko N4: Moe da
stigne do N2 i N3 u jednom "skoku", i do Nl u dva "skoka" (sline informacije emitu-
je preko N3 i N2).
3. R3 prima i smeta informacije primljene preko N4 i emituje sledee preko N5: Moe
da stigne do N4 i N6 u jednom "skoku", do N2 i N3 u dva "skoka" i do Nl u tri
"skoka". Sline informacije emituje preko N4 i N6.
U ovoj taki neke od emitovanih informacija postaju redundantne. Na primer, poto R3 emituje
informacije preko N5, R4 ui da moe da stigne do N2 u tri "skoka". Naravno, ako je prethodno
primio poruku od Rl preko N3, on ve zna da do N2 moe da stigne u dva "skoka". U tom
sluaju nee beleiti najskorije primljene informacije.
Sta se deava ako ruter, ili mrea na odredenoj ruti "otkau"? Na primer, R4 zna da moe da
stigne do N2 u dva "skoka", ali ta ako mrea N3 "otkae"? Kada ruter zapamti informacije o
rutiranju, on, ujedno, startuje i tajmer. Kada tajmer istekne, ruter oznaava rutu kao nevalidnu.
Ponovno uspostavljanje rute zavisi od novih informacija o rutiranju. Naravno, ruteri moraju da
sarauju priliko slanja informacija o rutiranju na regularnoj osnovi (obino na svakih 30
sekundi). Ako dode do "otkaza" na N3, dogadaji 1 i 3 i dalje mogu da se dese (osim onih
delova koji ukljuuju N3). Ovoga puta R4 saznaje da moe da stigne do N2 u tri "skoka" i belei
tu injenicu, jer nema drugu alternativu.
RIP funkcionie razmenom RIP paketa. Svaki paket predstavlja zahtev susedu za informacijama,
ili sadri broj "skokova" do vora. Svaki paket sadri sledea polja:
Polje Command duine 1 bajt, koje ukazuje da li paket predstavlja zahtev, ili odziv.
Paket Request trai informacije iz susedove tabele rutiranja. Paket Response ukazuje da
se u paketu nalaze informacije o rutiranju.
Broj RIP verzije duine 1 bajt
Polje Address duine 4 bajta, koje sadri adresu odredinog vora koji se oglaava
Polje Address Family Indicator duine 2 bajta, koje definie adresu sa kojom protokol
radi - na primer, da je re o IP adresi, ili adresi koju koristi neki drugi protokol
Polje Hop Count duine 4 bajta. Ova vrednost je uvek izmeu 1 i 16. RIP pretpostavl-
ja da do svakog vora treba najvie 15 "skokova". Ako vor ne moe da se dostigne u
15 "skokova", u paketu stoji 16, to je za RIP ekvivalentno beskonanosti.
Nekoliko polja koja se ne koriste (rezervisana su za neke budue verzije)
Sledea verzija ovog protokola RIP verzija 2 (RIP-2) funkcionie uglavnom na isti nain kao i RIP
(verzija 1), ali ima neke dodatne moguchosti, prvenstveno za uzimanje u obzir razliitih AS
sistema. Koristi isti format paketa kao i RIP, osim to se u ranije neiskorienim poljima sada
prenose neke korisne informacije. RIP-2 paketi sadre sledea polja:
Sva naznaena polja iz ranije verzije RlP-a, Naravno, ovoga puta je broj verzije 2.
Address Family Indicator moe da bude specijalna vrednost sa svim jedinicama, to
znai da se paket koristi za autentifikaciju. U ovom sluaju ostatak paketa sadri
informacije o autentifikaciji, iako je, u vreme pisanja ove knjige, jedina opcija bila
lozinka autentinosti.
Maska podmree duine 4 bajta za naznaenu adresu. Ranije smo istakli da lokalni
identifikator IP adrese moe da sadri ID podmree i drugi ID koji je lokalni za tu
podmreu. Maska podmree pomae utvrivanje bitova u adresi koji se koriste za
naznaavanje ID-a podmree. Podmree i maske podmrea dalje obraujemo u
Poglavlju 11, ali u osnovi, ruter mora da zna masku podmree kako bi utvrdio rutu.
Polje Route Tag duine 2 bajta. RIP ne prepoznaje postojanje zasebnih AS sistema.
RIP-2 pokuava da adresira ovaj nedostatak korienjem polja Route Tag koje ukazuje
na razliku izmedu unutranjih i spoljanjih ruta. Ne defmie se sadraj polja, ali
poiljalac paketa moe da ukae na tip rute koja se naznaava. Prijemni ruter tada
moe da reaguje na odgovarajui nain. Na primer, ako vrednost 0 oznaava
unutranji protokol sa brojanjem skokova, paket moe da se razmeni sa drugim
ruterima u AS-u, sa inkrementiranjem broja "skokova" na prethodno opisani nain.
Nenulta vrenost moe da ukae na neki spoljanji protokol, a ruteri moraju da dele
te informacije onakve kakve jesu. Naravno, ruteri moraju da podre spoljanji
protokol koji se oglaava.
Polje Next Hop duine 4 bajta. RIP (verzija 1) paket oglaava domen i poiljalac
paketa moe da koristi ovo polje za sledei "skok" do njega. Polje Next Hop eksplici-
tno defmie adresu sledeeg vora (koja se moe razlikovati od poiljaoca paketa) du
te mte. Na primer, pretpostavimo da su A, B i C ruteri i da svi znaju da najbolja ruta
do mree X ide preko B i da najbolja ruta ide do mree Y preko C. Da bi etvrti ruter
D pronaao najbolje rute do X i Y pomou RlP-a, on zavisi od izvrenja protokola u A,
B i C. Ako se koristi RIP-2, samo A treba da poalje RIP-2 pakete do D, ukazujud na
odgovarajui sledei "skok" do mrea X i Y.
Algoritam Open Shortest Path First
Sleded primer eme unutranjeg rutiranja je Open Shortest Path First (OSPF). Oznaka otvorenosti
u nazivu ukazuje da algoritam nije vlasniki, tj. da ga ne poseduje ni jedna kompanija. U sutini,
OSPF je oblik mtiranja na osnovu stanja linka sa nekoliko dodatnih polja:
OSPF ukljuuje mogunost autentifikacije poaika.
Obezbeduje dodatne hijerarhije. Kao to je ranije opisano, domen moe da sadri vie
poddomena.
Za dolazak do eljenog odredita moe da se koristi vie ruta. Ovo je posebno korisno
za rute koje se esto koriste. Slanje svih paketa preko iste rute, ak i ako je "najbolja",
moe da dovede do zaguenja. Korienje rezervnih ruta moe da pobolja ukupne
performanse. Ovo se naziva balansiranje optereenja, a pomalo podsea na upozorenja
na velike zastoje u saobraaju na medunarodnim autoputevima (moete da se odluite
za putovanje nekim manje frekventnim saobraajnicama).
Za definisanje stanja linkova moe da se koristi nekoliko faktora. Faktori mogu da
budu duina linka, bitska brzina, kanjenje i cena u dolarima.
Postoje mogunosti za bolje reagovanje na potrebe korisnika. Na primer, korisnik
moda eli da bre alje manje poruke. Poto je re o malom paketu, visoka bitska
brzina nije od kljunog znaaja, ali je bitno kanjenje koje postoji na linkovima
kojima paket putuje. Sa druge strane, kada korisnik eli da prenese veliki fajl, najbolji
transfer moe da se ostvari preko linkova koji omoguavaju prenos na veoma velikim
bitskim brzinama.
Border Gateway protokol
Border Gateway Protocol (BGP) je primer spoljanjeg protokola. Tekua verzija je BGP-4 i
obino se koristi na Internetu za uspostavljanje putanja izmeu rutera koji se nalaze u razliitim
autonomnim sistemima. Ima neke zajednike karakteristike sa rutiranjem zasnovanom na
vektorskom rastojanju. Glavna razlika se ogleda u tome to se, umesto da se razmenjuju cene rute
do odredenog odredita, razmenjuju informacije o konkretnoj ruti, definisane kao sekvenca
ukljuenih AS sistema. Postoji nekoliko razloga za navodenje konkretnih ruta umesto samo
prvog sledeeg linka na najjeftinijoj ruti. Jedan je taj to protokoli kao to je BGP-4 esto nastoje
samo da dodu do odredita, za razliku od protokola koji trae najbolju, ili najjeftiniju rutu. Poto
rute neizbeno prolaze preko jednog, ili vie AS-a, a svaki AS moe da definie cene linkova na
razliite naine, poredenje cena ruta u razliitim sistemima moe da bude besmisleno. Zbog toga,
koncept "najbolje rute" ponekad nema znaenja kod spoljanjih protokola.
Sledei razlog za razmenu konkretnih ruta je to to neki drugi faktori, osim cena, mogu da budu
ukljueni u pronalaenje rute. Svaki ruter moe da implementira specifine polise, ili ogranienja
koja svaka ruta mora da ispuni. Ovo je posebno znaajno kod globalnih konekcija, kao to su one
koje se koriste za povezivanje na Internet. Na primer, ruter u nekoj zemlji moe da ima
eksplicitnu polisu o izbegavanju svih ruta koje prolaze kroz neprijateljske zemlje. Slino tome,
ruter u kompaniji moe da ima polisu da se izbegavaju sve rute koje prolaze kroz resurse
konkurenta.
Na slici 10.32 ilustrovan je ovaj proces. AS3 je AS sistem koji se sastoji od tri podmree (SN5, SN6
i SN7) i tri rutera (C, D i E). U okviru AS3 ruteri mogu da koriste unutranji protokol, kao to je
RIP. Meutim, C izvrava i BGP-4, koji mu omoguava komunikaciju sa B iz AS2. Ruter C
uspostavlja TCP konekciju (bie prikazana u Poglavlju 11) sa B i poinje slanje Open poruke do
B. Tako C moe da se identifikuje kao BGP-4 ruter. Ruter B moe da odgovori sa Keep Alive
porukom koja potvrduje prijem poruke iz C. Na osnovu te poruke, C moe da zakljui da B
pristaje da uestvuje u razmeni informacija o rutama.
Da bi se aurirale informacije o ruti, ruter alje Update poruku. Ova poruka moe da obavesti
suseda o novim rutama, ili da ukae na injenicu da neke rute vie nisu validne.
SLIKA 10.32 Autonomni sistemi sa podmreama
U tom sluaju C alje Update poruku do B, u kojoj naznaava SN5, SN6 i SN7 kao odredine
mree, a AS3 kao jedini AS u okviru te rute. Takode naznaava adresu rutera C kao nain za
dolazak do AS3. Kada B dobije te informacije, moe da ih podeli sa A. On moe da poalje
Update poruku do A, u kojoj ukazuje da su SN5, SN6 i SN7 odredine mree, a AS2 i AS3
autonomni sistemi preko kojih mora da se prode da bi se stiglo do tih podmrea. Ako je A
povezan na neki drugi AS, moe da nastavi proces slanja; sa svakom novom Update porukom
poveava se niz ukljuenih AS sistema. Kada ruter dobije Update poruku, moe tano da utvrdi
preko kojih autonomnih sistema informacije mogu da putuju.
U ovom primeru je pretpostavljeno da Update poruka automatski aurira sve tabele rutiranja. To ne
mora da bude tako. Na primer, pretpostavimo da ruter na drugoj strani ASl dobija Update poruku
koja naznaava AS2 kao jedan od ukljuenih autonomnih sistema. Takode pretpostavimo da polisa
vieg nivoa na toj lokaciji brani slanje bilo kakvih informacija preko putanje koja ukljuuje AS2.
U tom sluaju ruter ne prihvata oglaenu rutu kao validnu i koristie ili ono to ima od ranije, ili e
ekati Update poruku u kojoj se naznaava neki drugi niz autonomnih sistema.
Prednost ovog pristupa je to se petlje na putanjama lako eliminiu. Na primer, B na slici 10.32 moe
da dobije Update poruku od F sa naznaenim odreditima SN5, SN6 i SN7 i autonomnim sistemi-
ma AS4, ASl, AS2 i AS3. Poto je B deo AS2, a AS2 je ve naznaen u sekvenci, B prepoznaje da ruta
sadri petlju i moe da je ignorie.
Sledea mogunost se odnosi na situaciju u kojoj naznaena ruta vie nije validna. Na primer,
ruter A zna da moe da doe do SN5 preko AS2 i AS3. Meutim, pretpostavimo da je link izmeu
B i C "otkazao". Ruter B alje jo jednu Update poruku do A, u kojoj naznaava da putanje do
SN5, SN6 i SN7 preko AS2 i AS3 vie nisu validne. Nakon toga, ruter A uklanja te informacije iz
svojih tabela.
U okviru zakljuka trebalo bi da napomenemo da svi ruteri ne moraju da donose ovako sloene
odluke. Na primer, AS3 sa slike 10.32 moe da se nalazi na geografskoj lokaciji koja omoguava
pristup Internetu samo preko AS2. U tom sluaju C koristi statiko rutiranje, tehniku koja
podrazumeva slanje svih odlazeih paketa na isto mesto, na ruter B. Tek od rutera B poinje
usmeravanje na razliite rute. Naravno, dolazei paketi se drugaije rutiraju ka C, u skladu sa
korienim unutranjim protokolima.
Rezime tehnika za rutiranje
U tabeli 10.6 dat je krai pregled optih strategija rutiranja koje su prikazane u ovom poglavlju,
Ovo definitivno nisu jedine mogunosti, ali, zajedno sa strategijama rutiranja koje ukljuuju LAN
mostove i komutatore, predstavljaju znaajan broj strategija koje se primenjuju u dananje
vreme. Za vie informacija o razliitim strategijama pogledajte referencu [Ta03 ]. Osim toga, u
referencama [Co99] i [CoOO] posveeno je dosta panje rutiranju na Internetu.
10.8 Zaguenje i "samrtni zagrljaj"
Zaguenje
Kako mree rastu i obuhvataju vie vorova, strategije rutiranja moraju da kontroliu sve vei broj
paketa. Sve vei zahtevi mogu da ugroze mrene operacije. Sta se deava kada doe do "otkaza"
na jednom, ili na vie mrenih linkova? Sta se seava ako broj paketa koji se mora isporuiti
premai mogunosti mree za isporuku? Potencijalno opasna posledica takvih dogaaja je
zaguenje, ili preterano nagomilavanje paketa u jednom, ili vie mrenih vorova.
Ponovo moemo da napravimo analogiju sa kontrolom saobraaja u urbanim podrujima.
Autoputevi i gradske saobraajnice moraju da se dizajniraju tako da mogu da prihvate predvidenu
koliinu saobraaja. Svako ko se vozio kroz urbana podruja zna u emu je problem. Za vreme
pica saobraaj je veoma gust i tada se moguiosti za kontrolu saobraaja umanjuju. Nesree, ili
radovi na putu mogu da iskljue nekoliko traka, ili da u potpunosti "odseku" saobraaj preko te
deonice. U talcvim sluajevima se saobraaj usporava (ili potpunosti zaustavlja) i nastaju
strahovita zaguenja. Ljudi koji se nalaze u svojim automobilima ne mogu da stignu do eljenih
odredita. Transportni sistem privremeno gubi svoju upotrebljivost.
Slino tome, zaguenje redukuje korist od mree. Paketi vie kasne, a korisnici mree se suoavaju sa
slabim odzivom i nemogunou za ispunjavanje njihovih zahteva. ta mreni protokoli mogu da
urade u takvim situacijama? Jedna opcija podrazumeva da se ne preduzima nita, veda se saeka da
zaguenje prirodno nestane. Cak i u vreme saobraajnog pica ljudi stiu kui i zaguenje prestaje.
Meutim, ovo nije praktino reenje kada je re o mreama (mnogi e se sloiti da ovo nije praktino
reenje ni kada je re o putevima). Kao prvo, korisnici oekuju bolju uslugu i trebalo bi da je dobiju.
Drugo, zaguenja moda nee prestati zbog efekta nagomilavanja. Zbog zaguenja, vor ne moe da
prima pakete od ostalih vorova. Zato ti vorovi ne mogu brzo da se ree svojih paketa, a dolaze
paketi se brzo akumuliraju. Ovo moe da ima lanani efekat u okviru koga e se zaguenje javiti na
svim vorovima, tako da se problem samo dalje pogorava.
Komentari Metod
Dijkstrin algoritam
Bellman-Fordov
algoritam
Rutiranje na osnovu
stanja linka
Hijerarhijsko rutiranje
RIP
OSPF
BGP
Algoritam uenja unapred koji moe da se implementira kao strategija
centralnog rutiranja. Moe da se koristi i sa rutiranjem zasnovanim na
stanju linka.
Algoritam uenja unazad. vorovi ue najjeftinije rute do vora od svojih
suseda, zajedno sa prvim vorom na toj ruti. Koristi se na Internetu, ili na
svakoj velikoj mrei na kojoj promene uslova na linkovima zahtevaju
auriranje tabela rutiranja u vorovima.
vorovi sarauju, razmenjujui pakete stanja linka u kojima se nalaze
statusne informacije o susednim linkovima. vor moe da sakupi sve
pakete koje primi i utvruje mrenu topologiju. Nakon toga, moe da izvri
svoj algoritam za pronalaenje najkrae rute.
Metod deljenja vorova na domene, ili autonomne sisteme. Unutranji
protokoli su zadueni za rutiranje u okviru sistema, a spoljanji za
pronalaenje ruta izmedu razliitih sistema. Koristi se na lnternetu i svim
mreama sa veim brojem vorova i nije praktian izbor u situacijama kada
svi koriste istu strategiju rutiranja.
Protokol za unutranje rutiranje koji se koristi sa manjim brojem "skokova"
unutar konkretne mree. Razvijen je na UC-Berkeley za potrebe lokalne
mree i korien je na lnternetu.
Protokol za unutranje rutiranje slian rutiranju zasnovanom na stanju linka,
ali obezbeduje dodatne karakteristike koje omoguavaju bolje performanse
i veu fleksibilnost
Protokol za spoljanje rutiranje koji ruterima omoguava implementiranje
specifinih polisa, ili ogranienja koja rute moraju da ispotuju. Ruteri
razmenjuju informacije o konkretnim rutama do odredita, umesto da se
razmenjuju samo cene i prvi link na konkretnoj ruti.
Postoji nekoliko naina za reavanje zaguenja.
Eliminisanje paketa Ako se u voru nagomila veliki broj paketa, neki od njih se
eliminiu. Tako se redukuje broj nereenih paketa koji ekaju na prenos i redukuje se
optereenje mree. Naravno, nedostatak je to to uniteni paketi nikada nee stii do
svojih odredita (problem izgubljenih paketa smo razmatrali u odeljcima 8.4 i 8.5).
Mogue je da e na kraju protokol koji se izvrava u voru poiljaocu utvrditi da paket
nikada nije stigao do svog odredita i inicirae njegovo ponovno slanje. Ako je
zaguenje izazvano naglim poveanjem saobraaja, moda e opasti kada paket bude
slat sledeeg puta. Unitavanje paketa deluje kao drastino reenje, ali, ako su
zaguenja sporaina, mreni protokoli mogu dobro da ih kontroliu i neprijatnosti
kojima e korisnik biti izloen zbog unitavanja paketa su svedene na minimum.
Kontrola toka Kao to je istaknuto u Poglavlju 8, protokoli za kontrolu toka su
dizajnirani tako da kontroliu broj poslatih paketa. Ipak, oni ne mogu da se koriste
kao prava reenja za kontrolu zaguenja na mrei. Problem je to kontrola toka
ograniava broj poslatih paketa izmeu dve take, a zaguenja obino ukljuuju pakete
koji dolaze iz razliitih izvora. Tako je mogue da ak i vorovi koji reguliu broj
poslatih paketa i dalje budu predmet zaguenja ako isuvie veliki broj vorova poalje
pakete.
Moda ete predloiti da svaki vor regulie svoj saobraaj - ako svaki vor alje pakete,
ukupan broj paketa i dalje moe da se kontrolie. Problem je to, ako veliki broj
vorova nita ne alje, mrea nije dovoljno iskoriena. Moda ete predloiti da svaki
vor redukuje broj odlazeih paketa ako detektuje da drugi vorovi vie alju.
Meutim, na velikim mreama ovo nije praktino. Mnogi vorovi i ne vide da ostali
alju pakete. Osim toga, uspostavljanje nekog komunikacionog protokola izmedu njih
samo poveava saobraaj na mrei i komplikuje problem koji pokuavamo da reimo.
Dodela bafera Ovaj pristup moe da se koristi kod virtuelnih kola. Seate se iz
odeljka 1.4 da je virtuelno kolo uspostavljena ruta izmeu mrenih vorova koja je
utvrena pre nego to su paketi sa podacima poslati. Kada se ruta uspostavi, protokoli
u voru na toj ruti mogu da rezerviu bafere za virtuelno kolo. Uspostavljeno virtuelno
kolo obavetava vorove uesnike o predstojeim paketima i podsea ih da treba da
isplaniraju njihovo prihvatanje. Ako drugi zahtevi za uspostavljanje virtuelnog kola
dolaze do tog vora, moe da ih odbaci ako nema dovoljno raspoloivog prostora u
baferu. Nakon toga, mreni protokoli mogu da pronadu drugu rutu za kolo, ili da
obaveste izvor da je zahtev za virtuelnim kolom odbijen. U odeljcima 13.3 i 13.4
detaljnije emo predstaviti protokole virtuelnih kola.
Priguivanje paketa Ovaj pristup obezbeduje dinaminiji nain za reavanje
zaguenja. Svaki vor nadgleda aktivnost na svojim odlazeim linkovima, pratei isko-
rienje svakog od njih. Ako je iskorienje linije suvie malo, opasnost od zaguenja
je niska. Meutim, iskorienje se poveava ako se alje vei broj paketa. Ako
iskorienost neke linije premai neki definisani kriterijum, protokol u konkretnom
voru reaguje, postavljajui vor u specijalno stanje upozorenja.
Kada se nalazi u tom stanju, vor reaguje slanjem specijalnog Choke paketa kao
odgovora na sve dolazee pakete koji treba da se proslede preko njegovih odlazeih
linija. Choke paket ide do izvora dolazeeg paketa. Kada izvor primi Choke paket,
reaguje redukovanjem broja paketa koje alje za odreeni period.
Nakon to istekne zadati period, mogue su dve "stvari". Ako ne stignu dodatni Choke
paketi, vor moe da povea uestalost slanja paketa na njenu originalnu vrednost.
Ukoliko su u toku perioda ekanja Choke paketi i dalje stizali do izvora, dolazi do
daljeg redukovanja uestalosti slanja. Redukovanjem dolazeeg saobraaja originalni
vor dobija ansu da obori stepen iskorienja svojih odlazeih linija do prihvatljivog
nivoa.
"Samrtni zagrljaj"
U najgorem sluaju, zaguenje moe da postane toliko ozbiljno da nita ne moe da se pomeri.
Na slici 10.33 ilustrovan je taj problem. Tri vora A, B i C su stigla do take u kojoj su njihovi
baferi puni i ne mogu da prihvataju nove pakete. Paketi iz A su namenjeni za B, koji ne moe da
primi nove pakete, jer su mu baferi puni. Tako A ne moe nita da poalje do B sve dok B ne
poalje svoje pakete i oslobodi mesto u baferima. Paketi iz B su namenjeni za C
1
iji su baferi
takode puni. Paketi iz C su namenjeni za A, iji su baferi puni. Drugim reima, A eka da se
isprazne baferi u B, B eka da se isprazne baferi u C, a C eka da se isprazne baferi u A. U ovoj
situaciji svi vorovi ekaju na dogadaje koji se nee desiti, pa kaemo da je dolo do samrtnog
zagrljaja (deadly embrace, mada se u literaturi na engleskom jeziku sreu i termini dead-Iock, ili
lock-up).
Upravo opisani sluaj je primer "samrtnog zagrljaja" tipa "smesti i prosledi" (store-and-forward),
koji se tako opisuje zato to vorovi smetaju pakete dok ekaju da ih proslede dalje. Na slici 10.34
ilustrovan je drugi mogui tip - "samrtni zagrljaj" koji nastaje zbog ponovnog sastavljanja paketa
(reassembly deadlock). U ovom primeru vorovi koriste zajednike bafere za dolazee pakete iz
razliitih izvora (A i B). Takoe se koristi protokol klizajucih prozora sa selektivnom retransmisijorn
za prijem paketa iz A i B koji su namenjeni hostu. Seate se da protokol selektivne retransmisije
doputa dolazak paketa van redosleda.
Baferi u B koji sadre
pakete za C su puni.
B
C
Baferi u C koji sadre
pakete za A su puni.
A
Baferi u A koji sadre
pakete za B su puni.
SLIKA 10.33 "Samrtni zagdjaj" tipa "smesti i prosledi"
paket 1 iz A
paket 2 iz A
paket 1 iz B
paket 3 iz B
paket 2 iz B
paket 3 iz B
Deljeni bafer omoguava
smetanje 6 paketa.
Paketi sa oznakom O nisu
stigli ni iz A, ni iz B.
host
A B
SLIKA 10.34 "Samrtni zagrljaj" nastao zbog ponovnog sastavljanja paketa
Nakon toga, u primopredajniku se vri ponovno sastavljanje, pre nego to se proslede do hosta.
U naem primeru i A i B su poslali pakete sa oznakom 0, ali oni nisu stigli. Medutim, naredni paketi
numerisani od 1 do 3 iz A i B stiu. Ako pretpostavimo da su baferi ispunjeni, vor ne moe da
prihvata nove pakete. Poto paketi O i dalje nedostaju, vor ne moe ponovo da ih sastavi i da ih
isporui hostu. Osim toga, vor vie ne moe da prihvati pakete 0, ak i ako bi kasnije stigli. Zato se
vor postavlja u stanje u kome niti moe da preduzme neku akciju, niti moe da reaguje na dogadaj
koji bi stvorio uslove za akciju. Dolo je do "samrtnog zagrljaja".
"Samrtni zagrljaj" ovog tipa moe da se sprei usaglaenim uspostavljanjem konekcije izmedu
predajnih i prijemnih vorova. Utvruje se veliina prozora i primalac moe da rezervie
dovoljno prostora i koristi taj prostor samo za tu konekdju. "Samrtni zagrijaj" tipa "smesti i
prosledi" se tee reava. Moe da se redukuje, ili eliminie korienjem veih bafera, ali problem
je kako utvrditi koliko mesta u baferu treba rezervisati, posebno kod servisa datagrama kod kojih
paketi mogu da pristiu i odlaze nasumice.
Jedno mogue reenje podrazumeva doputanje situacije u kojoj dolazi do "samrtnog zagrljaja",
nakon ega se pristupa otklanjanju problema. Kada dode do "samrtnog zagljaja", obino se neki
paketi odbacuju da bi se oslobodio prostor u baferu. Naravno, odbaeni paketi nikada ne stiu
do svojih odredita. To je cena koja se plaa za otklanjanje "samrtnog zagrljaja". Mogue je da e
komunikacioni protokoli utvrditi da paketi nisu stigli do odredita i kasnije e inicirati njihovo
ponovno slanje. Ako se "samrtni zagrljaji" retko javljaju, ovo moe da bude najbolje reenje.
Sa druge strane, ako se ovo esto deava, vie se isplati preduzeti korake da do "samrtnog
zagrljaja" ne dode, ili bar smanjiti verovatnou da se on desi. Sve prethodno predstavljene
tehnike za kontrolu zaguenja smanjuju anse za "samrtni zagrljaj", ali i dalje nema garancija da
do njega nee doi. Sledei pristup (ref. [Me80]) koristi broj "skokova" (vorova preko kojih
paket putuje) za svaki paket.
10.9 Zakljuak
U ovom poglavlju su obradeni naini za povezivanje mrea i neki ureaji i protokoli koji to
omoguavaju. Poglavlje smo organizovali u skladu sa slojem na kome je mrea povezana, a
fokusirali smo se na konekcije slojeva 1, 2 i 3.
Ureaji sloja 1 - repetitori i hubovi - primarno proiruju geografska rastojanja na kojima je
mogue implementirati LAN protokol. Glavna razlika izmedu repetitora i huba je u injenici da
hub ima vie portova od repetitora. Glavno zaduenje oba uredaja je prihvatanje signala preko
jednog porta, regenerisanje tog signala i prosleivanje preko svih ostalih portova.
SLlKA 10.35 Smeltanje paketa u zavisnosti od broja "skokova"
Kada host postavi paket na mreu, broj "skokova" je postavljen na O. Kako paket putuje preko
mree, broj "skokova" se u svakom voru inkrementira za 1. Osim toga, svaki vor deli svoje
bafere na razliite grupe, tako da te grupe odgovaraju razliitim brojevima "skokova", od O do
maksimalnog oekivanog broja. Nakon toga, vor smeta dolazei paket u odgovarajui bafer, u
zavisnosti od broja skokova koji je zabeleen u konkretnom paketu, ali samo ako je bafer
dostupan. Ako bafer nije dostupan, paket eka u prethodnom voru sve dok se bafer ne
oslobodi. Na slici 10.35 prikazano je kako to funkcionie. Host inicijalno predaje paket i vor
hosta postavlja paket u bafer 0. Kada sledei vor primi paket, on ga postavlja u bafer I, sledei
vor u bafer 2 i tako redom.
Ovaj metod spreava "samrtni zagrljaj", jer paket uvek ide u bafer sa viim rednim brojem (ili
eka). Drugi nain da se to opie je da se kae da jedan bafer nikada nee ekati na bafer sa niim,
ili istim rednim brojem. Tako su izbegnuta kruna ekanja, koja postoje na slici 10.33. Argument
protiv ovog pristupa je mogua neiskorienost bafera. Dodeljivanje paketa baferu unapred
spreava njegov prenos svaki put kada je taj bafer zauzet; meutim, ako je samo jedan bafer
zauzet, ostali ostaju neiskorieni.
host
bafer # bafer # bafer # bafer #
Ako LAN protokol koristi CSMA/CD, svi ureaji koji su povezani repetitorima i hubovima pri-
padaju istom domenu kolizije.
Mostovi i komutatori funkcioniu na sloju 2 i obino dele uredaje u zasebne domene kolizije.
Meutim, svi uredaji koji se povezuju na ovakav nain pripadaju istom domenu emisije. Glavna
razlika izmeu ova dva ureaja proistie iz injenice da komutator ima vei broj portova od
mosta. Oba su zaduena za rutiranje na sloju 2, selektivno prosledivanje, ili ignorisanje okvira na
osnovu njegove MAC adrese i koriste interne tabele rutiranja. Mostovi se dele na razliite tipove,
u skladu sa tim kako donose odluke o rutiranju:
Mostovi sa fiksnim rutiranjem imaju programirane informacije o rutiranju.
Transparentni mostovi kreiraju svoje tabele aitiranja prouavanjem saobraaja i
beleenjem lokacija uredaja na osnovu izvornih adresa u okvirima.
Mostovi sa izvornim rutiranjem donose odluke o rutiranju na osnovu informacija iz
okvira.
Komutatori su uobiajeni izbor kada je potrebno povezati Ethernet uredaje, to je dovelo do
razvoja full-duplex komutiranog Etherneta, Ethernet protokola kod koga su kolizije eliminisane,
tako da nema potrebe za CSMA/CD protokolom. Komutatori mogu da se koriste i za kreiranje
virtuelnih LAN-ova (VLAN), logikih grupa ureaja koji mogu da funkcioniu kao zaseban LAN.
Grupe ne zavise od fizikih lokacija svojih ureaja, a definisani su i zasebni domeni emisije.
Ureaji sloja 3 (ruteri) povezuju mree koje se prostiru na mnogo veim geografskim
podrujima. Koriste mnogo sloenije topologije i zahtevaju neke sofisticirane algoritme za ruti-
ranje. Predstavili smo etiri osnovna tipa rutiranja:
Centralizovano: Informacije o rutiranju se odravaju na centralnoj lokaciji.
Distribuirano: Informacije o rutiranju su distribuirane do vorova.
Statiko: Informacije o rutiranju se ne menjaju, iako dolazi do promene uslova na
mrei.
Adaptivno: Promena uslova na mrei dovodi do promene informacija o rutiranju.
Jedan nain za upravljanje informacijama o rutiranju je korienje tabela rutiranja koje
naznaavaju kuda treba proslediti dolazee pakete. Odravanje ovakvih informacija zavisi od
korienog algoritma za rutiranje. Prikazali smo nekoliko moguih pristupa, medu kojima su:
Dijkstrin algoritam, centralizovani algoritam dizajniran radi utvrdivanja najjeftinije
putanje izmedu dva vora
Bellman-Fordov algoritam, distribuirani pristup kod kojeg svaki vor sa svim svojim
susedima razmenjuje informacije o dostupnim vorovima.
Rutiranje zasnovano na stanju linka, kod koga vorovi razmenjuju pakete stanja linka,
tako da se obezbede informacije o statusu susednih linkova. Cvor moe da sakupi sve
pakete i da, na osnovu njih, utvrdi mrenu topologiju. Nakon toga, moe da izvri
sopstveni algoritam za pronalaenje najkrae rute.
Hijerarhijsko rutiranje, kod kojeg se vorovi dele na grupe (domene), koje izvravaju
sopstvene protokole za rutiranje
Routing Information Protocol, unutranji protokol koji je dizajniran za razmenu
informacija izmedu rutera o dostupnim mreama i broju neophodnih "skokova" za
dolazak do tih mrea.
Protokol za unutranje rutiranje Open Shortest Path First lii na rutiranje zasnovano
na stanju linka, ali obezbeuje dodatne karakteristike koje daju bolje performanse i
veu fleksibilnost.
Border Gateway Protocol, spoljanji protokol koji omoguava implementiranje
specifinih polisa, ili ogranienja u ruterima koja odreduju mogue rute. Ruteri raz-
menjuju informacije o konkretnim rutama, umesto da se alju samo cena i prvi sledei
link u okviru rute.
Predstavili smo dva mogua problema u toku rutiranja. Zaguenje se javlja kada vor primi vie
paketa nego to moe efikasno da kontrolie, to produava vreme potrebno za njihovo
prosledivanje. "Samrtni zagrljaj" se javlja kada postoji ciklina lista vorova, u kojoj svi ekaju da
proslede pakete do sledeeg vora u listi.
Pitanja i zadaci za proveru
1. Koje su razlike izmeu repetitora, mosta i rutera?
2. Koje su razlike izmedu repetitora i huba?
3. Koje su razlike izmedu mosta i komutatora?
4. Sta je domen kolizije?
5. Sta je emisioni domen?
6. Navedite glavne razloge za korienje mostova, ili komutatora izmedu dva LAN-a.
7. ta je tabela rutiranja?
8. U emu je razlika izmedu mosta sa fiksnim rutiranjem i transparentnog mosta?
9. Sta je algoritam plavljenja i koja je njegova svrha?
10. Kakav problem moe da stvori plavljenje ako postoji petlja u LAN topologiji?
11. ta je stablo razapinjanja (spanning tree) u kontekstu povezivanja LAN-ova?
12. Sta je root most?
13. ta je root port mosta?
14. Koja je svrha oznaenog mosta u LAN-u?
15. ta je most sa izvornim rutiranjem?
16. tajeBPDU?
17. ta je konvertor protokola?
18. Na kojem sloju OSI modela se nalaze konvertori? Navedite najee implementirane i
njihove nazive.
19. ta je virtuelni LAN i zato se kreira?
20. U emu je razlika izmedu privatnog komutatora i komutatora radne grupe?
21. Kako komutator utvrduje kojem VLAN-u uredaj pripada?
22. Navedite etiri glavne klasifikacije rutiranja i istaknite karakteristike svake od njih.
23. Da li su sledee tvrdnje tane, ili netane (zato)?
a. Poveanje broja hubova koji se koriste za povezivanje Ethemet ureaja uvek ima
prednosti, jer se tako poveavaju udaljenost "pokrivena" mreom i broj povezanir
uredaja.
b. Komutator razdvaja uredaje na razliite domene emisije.
c. Spanning tree algoritam emilinie petlje koje stvaraju redundantni mostovi.
d. Komutirani Ethernet eliminie potrebu za fizikim kablovima za povezivanje
uredaja.
e. Distribuirano rutiranje zahteva postojanje tabela rutiranja u svim vorovima.
f. Adaptivno rutiranje omoguava vorovima da auriraju svoje tabele rutiranja.
g. Najkraa putanja i najjeftinija putanja u optem sluaju imaju isto znaenje.
h. Hijerarhijsko rutiranje organizuje sve mrene vorove u strukturu stabla.
i. Zaguenje znai da je na svim mrenim putanjama saobraaj zakren.
j. Zaguenje ne vodi obavezno do "samrtnog zagrljaja".
24. Navedite razlike izmedu algoritama traenja unapred i traenja unazad.
25. Sta je hijerarhijsko rutiranje?
26. Zato rutiranje zasnovano na stanju linka reava problem koji je karakteristian za
Bellman-Fordov algoritam?
27. Navedite razlike izmeu unutranjih i spoljanjih protokola.
28. ta rade vorovi koji koriste Routing Information Protocol za odravanje svojih tabela
rutiranja?
29. U emu je razlika izmeu RIP i RIP-2 protokola?
30. Zato je teko utvrditi najjeftiniju, ili najbolju putanju na velikim udaljenostima?
31. Ruter alje paket samo do prvog sledeeg vora na putanji. Zato ne bi znao
kompletnu sekvencu autonomnih sistema kroz koje paket moe da proe?
32. Navedite razlike izmeu zaguenja i "samrtnog zagrljaja".
33. Navedite neke naine za otklanjanje zaguenja.
34. Koja su dva mogua tipa "samrtnog zagrljaja"?
35. Zato dodeljivanje paketa specifinim baferima, onako kako je prikazano na slici
10.35, spreava "samrtne zagrljaje" tipa "smesti i prosledi"?
Vebe
1. Uzmite za primer strategiju medusobnog povezivanja LAN-ova, kod koje se oni koji
najee komuniciraju povezuju sa najmanjim moguim brojem mostova.
Pretpostavite da sledei parovi LAN-ova ne smeju da budu rastavljeni sa vie od
naznaenog broja mostova. Dizajnirajte medusobne konekcije koje koriste najmanji
broj mostova:
Jedan most: L1 i L5; L2 i L3; L2 i L4.
Dva (ili manje) mostova: L1 i L3; L2 i L5; L1 i L2
3. Uzmite za primer LAN-ove sa slike 10.5 i pretpostavite da su sve tabele rutiranja inici-
jalno prazne. Pretpostavite da se dogaaji deavaju u skladu sa narednom navedenom
listom. Preko kojih LAN-ova se prenose naznaeni okviri? Prikaite zapise tabele ruti-
ranja u svakom mostu nakon to se poalju svi okviri.
a. A alje okvir do F.
b. E alje okvir do A.
c. D alje okvir do E.
d. C alje okvir do B.
4. Navedite sve rute izmedu A i B sa slike 10.8. Ignoriite sve rute kod kojih okvir prolazi
preko istog mosta dva puta. Ako se ne ignoriu te rute, koliko ukupno ima ruta?
5. Pretpostavimo da most Bl sa slike 10.8 "otkae". Izvrite spanning tree algoritam i
pokaite novi root most, najjeftinije portove mostova, izabrane mostove i rezultujue
osposobljene konekcije mostova.
6. Pretpostavimo da su unutranje mree na slici 10.8 promenjene, tako da su sve navedene
cene jednake. Uz pretpostavku da je cena prenosa izmedu dva razliita LAN-a sada jedna-
ka broju mostova preko kojih okviri moraju da predu, utvrdite spanning tree.
7. Pretpostavimo da A alje emisioni okvir do B sa slike 10.8. Koliko kopija stie u B?
8. Koliko razliitih ruta postoji od X do Y na mrei sa slike 10.8?
9. Definiite tabele aitiranja za sve vorove na mrei sa slike 10.19.
2. Kreirajte tabele rutiranja za sledee mostove.
10. Kreirajte matricu rutiranja za sledeu mreu. U sluaju da postoje dve rute sa najniom
cenom, izaberite onu sa manjim brojem vorova. Ako su oba kriterijuma ista, ruta se
bira proizvoljno.
11. Primenite Dijkstrin algoritam za pronalaenje najkraeg puta za sledeu mreu. Kreirajte
tabelu slinu tabeli 10.3, sa odgovarajuim vrednostima za svaki korak algoritma.
12. Dizajnirajte algoritam koji, kada se izvri nakon Dijkstrin algoritma, daje listu svih
vorova sa najjeftinijim putanjama do datog odredita.
13. Koriste terminologiju Dijkstrin algoritma, dokaite da svaki put kada se funkcija
Cost(V) promeni, i dalje predstavlja najjeftiniju aitu od A do V preko vorova iz S.
14. Premisa Bellman-Fordovog algoritma glasi da ako je Cost(A, Z) cena najjeftinije rute
od vora A do vora Z i ako A ima direktnu konekciju sa vorovima B, C i D, onda je
Cost(A, Z) = najmanja vrednost od
cena linka od A do B + cena najjeftinije rute
od B do Z
cena linka od A do C + cena najjeftinije rute od C
doZ
cena linka od A do D + cena najjeftinije mte od D
doZ
Zato je ova premisa validna? Dokaite tu tvrdnju.
15. Kreirajte tabele sline tabelama 10.5a do 10.5c primenom Bellman-Fordovog algorit-
ma na sledeoj mrei.
16. Po emu je Routing Information Protocol slian Bellman-Fordovom algoritmu?
Reference
[Ah83] Aho, A., J. Hopcroft, and J. Ullman. Data Structures and Algorithms. Reading, MA:
Addison-WesIey, 1983.
[Co99] Corner, D. E., and D. Stevens. Internetworking with TCP/IP. VoI. II. ANSI C Version:
Design, Implementation, and Internals. 3rd ed. Englewood Cliffs, NJ: Prentice-Hall, 1999.
[CoOO] Corner, D. E. Internetivorking with TCP/IP. VoI. 1. Principles, Protocols, and
Architecture. 4th ed.Englewood Cliffs, NJ: Prentice-Hall, 2000.
[Di59 ] Dijkstra, E. "A Note on Two Problems in Connection with Graphs." Numerical
Mathematics, October 1959, 269-271.
[Dr95] Drozdek, A., and D. Simon. DaU Structures in C. Boston: PWS, 1995.
[Fo62] Ford, L., and D. Fulkerson. Flows in Networks. Princeton, NJ: Princeton University
Press, 1962.
[Fo03 ] Forouzan, B. Local Area Netivorks. New York: McGraw-Hill, 2003.
[Me80] Merlin, P.M., and PJ. Schweitzer. "Deadlock Avoidance in Store-and-Forward
NetWorks I: Store-and-Forward Deadlock." IEEE Transactions on Communications, vol.
COM-28 (March 1980), 345-354.
[Pa95 ] Parsons, T. Introduction to Algorithms in Pascal. Nevv York: Wiley, 1995.
[Ta03 JTanenbaum, A. S. Computer Netuiorks, 4th ed. Englewood Cliffs, NJ: Prentice-Hall,
2003.
Internet
protokoli i aplikacije
Od svetskih naroda, osim ako moda izuzemo neka beduinska plemena, Amerikanci su
najskhniji dezinformacijama. Ovo nije posledica bilo kakve posebne sklonosti ka laganju,
iako je ta tendencija u vrhovima dravne administracije dostigla impresivne razmere. To je
vie posledica injenice da, uglavnom, veruju u pogrene "stvari".
John Kenneth Galbraith, ameriki ekonomista
11.1 Uvod
Osim ako poslednjih 10 godina niste proveli u udaljenim oblastima Himalaja, sigurno ste
svesni uticaja koji je Intemet imao i na na posao i na slobodno vreme. Skoro sve vrste biznisa
su postavile svoje Web sajtove sa opisima onoga ta rade, ili za oglaavanje svojih proizvoda. I
individualci postavljaju svoje Web sajtove, na kojima moe da se nae skoro sve to moete da
zamislite. Izmiljeni igrai fudbala i bejzbola redovno koriste Internet za razmene i nadmetanja.
Mnogi koriste Internet za preuzimanje muzike i video fajlova, osim za auriranje softvera i
ostalih tipova programa. Igrai kompjuterskih igara mogu da se takmie preko Interneta. Pre
10-ak godina niko nije mogao da predvidi da e se ovo desiti.
Ali, ta je, u stvari, Internet? Mnogi su svesni njegovog postojanja, ali mali broj ljudi stvamo
razume kako on funkcionie.
U ovom poglavlju se bavimo Internetom, ta je, kako funkcionie i koje su najee aplikacije zas-
novane na njemu. Odeljak 11.2 startuje sa Internet Protocolom (IP). U stvari, postoje dva
Internet protokola. Jedan je ISO standard i deo je sloja mree u okviru OSI modela.
Ovde neemo razmatrati taj protokol. Drugi je zasnovan na Internet protokolu koji je razvijen u
U.S. Defense Advanced Research Projects Agency (DARPA). Korien je na sloju mree ARPANET-a
i najee se implementira zajedno sa Transmission Control Protocolom (TCP).
Zajedno su poznati kao TCP/IP, a formiraju protokole sloja 3 i 4 koji se koriste za
povezivanje komercijalnih, istraivakih, vojnih i obrazovnih mrea. Ovi protokoli su razvijeni u
ono to danas nazivamo Internet.
Veina sajtova koristi verziju 4 Internet Protocola, poznatu pod nazivom Ipv4. Dizajniran je u
vreme kada su transfer fajlova i email bile dominantne aplikacije za koje je bilo potrebno
obezbediti podrku. Ko je u to vreme mogao da predvidi globalnu mreu preko koje e se
prenositi video zapisi (i to u realnom vremenu), na kojoj e postojati lini Web sajtovi, postojati
pretnje po bezbednost informacija i gde e biti neophodna implementacija autentifikacije? Zbog
svega toga, Ipv4 se razvijao i sve vei broj sajtova je preao na verziju 6, ili Ipv6. U odeljku 11.3
razmatramo Ipv6 i kako se on "bori" sa problemima koje Ipv4 nije uspeo da rei. U tom odeljku
i o koegzistenciji tih verzija protokola, koja mora da postoji dok se ne zamene sve implementi-
rane verzije Ipv4.
U odeljku 11.4 bie rei o nekim protokolima sloja 4 implementiranim na Internetu. Najveim
delom odeljak je posveen TCP protokolu, vezi orijentisanom protokolu izmedu krajnjih taaka.
Videemo da obe strane uestvuju u usaglaavanju za uspostavljanje logike konekcije pre
izvravanja protokola koji razmenjuju informacije. Ve smo obradili mnoge koncepte i ponovo
emo se vratiti na njih, ali u kontekstu TCP protokola.
Osim toga, obradiemo i User Datagram Protocol (UDP), protokol sloja 4 koji se izvrava bez
uspostavljanja konekcija, i Real-Time Transport Protocol (RTP), protokol koji je razvijen za
potrebe real-time aplikacija. Konano, u odeljku 11.5 predstavljamo neke aplikacije koje se mogu
izvravati preko Interneta.
Prouiemo Telnet i neke druge sigurnije protokole za daljinsko logovanje. Osim toga,
pogledaemo i FTP (File Transfer Protocol), protokole za transfer elektronske pote i protokole za
upravljanje. Primetiete da su aplikacije zasnovane na Webu izostavljene. To je toliko znaajna
tema da nismo hteli da je obraujemo zajedno sa ostalim temama, ve smo joj posvetili
posebno poglavlje.
Opisivanje naina na koji Internet funkcionie je izuzetno obimno: u ovom poglavlju prikazujemo
samo najznaajnije aspekte protokola. O TCP/IP protokolu su napisane cele knjige. itaoci treba
da razumeju da mi ovde obraujemo samo osnove protokola.
11.2 lnternet protokol
Verovatno najpoznatija WAN mrea, koja se, u stvari, sastoji od ogromnog broja mrea, poznata
je kao lnternet. Njen istorijat datira jo sa kraja 60-ih godina prolog veka, kada je Advanced
Research Projects agencija (ARPA) amerikog ministarstva odbrane (DoD-U.S. Department of
Defense) poela da prikuplja sredstva od univerziteta i privatnih organizacija za razvoj
komunikacionih sistema. Istraivanja su na kraju dovela do razvoja ARPANET-a, male eksperi-
mentalne mree koja je demonstrirala mogunost povezivanja razliitih kompjutera pomou
mree sa komutacijom paketa u meuvremenu je znaajno porasla i razvila se u lnternet, koji
danas povezuje hiljade univerziteta, privatnih institucija i vladinih agencija irom sveta.
Mnogi koriste termin lnternet kako bi se ukazalo na bilo koju kolekciju povezanih mrea. Mrea
koja je nastala na osnovu ARPA projekta obino se oznaava kao lnternet. Ona se sastoji od vie
hiljada zasebnih mrea. Teko je proceniti koliko ljudi danas koristi lnternet, ali sa mreama koje
HTTP SMTP FTP TELNET DNS SNMP voice over IP
TCP UDP
IP i ICMP
protokoli na niem sloju (lovver layer protocols)
SLlKA 11.1 Internet protokoli
postoje bukvalno u svim pnvatmm i javnim orgamzacijama i sa sve vecim brojem Internet
provajdera, broj korisnika dostie desetine miliona, a sasvim je mogue da je re i o nekoliko
milijardi korisnika irom sveta. U ovom i sledeem odeljku dali smo opti pregled IP i TCP
protokola. Medutim, postoje knjige posveene iskljuivo tim temama, a zainteresovani itaoci
mogu da pogledaju reference [Co99], [CoOO], i [Mi99],
)
Pregled TCP/IP protokola
Intemet se sastoji od velikog broja mrea, koje izvravaju protokol poznat kao TCP/IP. TCP
(Transmission Control Protocol) i IP (Intemet Protocol) su protokoli sloja 4 i 3, respektivno.
Razvijeni su u okviru ARPA projekta i kasnije su postali DoD standardi. TCP/IP je verovatno
najee implementirani protokol u svetu; izvrava se na skoro svim konfiguracijama, od
personalnih kompjutera do super kompjutera.
Par protokola TCP/IP je deo kolekcije protokola poznatih pod nazivom TCP/IP skup protokola
(slika 11.1). TCP obezbeduje konekciji orijentisane servise za Intemet aplikacije sloja S i oslanja
se na IP za rutiranje paketa preko mree. Ove aplikacije obezbeduju specifine servise za
korisnike Interneta.
Dve strane koje implementiraju TCP najpre se usaglaavaju tako da se omogui uspostavljanje
logike konekcije izmeu njih. Nakon toga, svaka strana izvrava protokole za kontrolu toka, za
potvrde segmenata i za reagovanje na situacije u kojima se javljaju oteeni paketi, tako da se
obezbede pouzdane komunikacije.
Prethodnik TCP protokola u originalnom ARPANET-u bio je NCP (Netvvork Control Protocol),
koji je dizajniran za pokretanje na vrhu pouzdane mree. ARPANET je bio dovoljno pouzdan, ali
je sa razvojem u kolekciju povezanih mrea izgubio na pouzdanosti. Zato je i transportni pro
tokol morao dalje da se razvija. NCP koji je redizajniran za izvravanje preko nepouzdanih mrea
postao je poznat kao TCP.
Nekoliko aplikacija se oslanja na TCP. Na primer, SMTP (Simple Mail Transfer Protocol) definie
protokol koji se koristi za isporuku email poruka preko Interneta.
Telnet protokol korisnicima omoguava logovanje na udaljene kompjutere preko Interneta. FTP
(File Transfer Protocol) omoguava korisnicima Interneta da prenose fajlove sa udaljenih
kompjutera. HTTP (Hypertm Transfer Protocol) se koristi kao podrka Web pretraivaima. Ove
protokole emo razmotriti kasnije.
UDP (User Datagram Protocol) je alternativni protokol sloja 4. Razlika u odnosu na TCP je to
to UDP obezbeduje komunikacije izmeu razliitih mrea bez uspostavljanja konekcije.
Eliminisani su trokovi uspostavljanja konekcije; zato je omoguen bri prenos podataka.
Sporedni efekat je to nema kontrole toka i UDP ne ozbezbeduje negativne potvrde za oteene
segmente. Naime, nema garancija za pouzdanu isporuku. Nekoliko aplikacija je dizajnirano za
pokretanje preko UDP-a. Na primer, DNS (Domain Name System) obezbeuje mapiranje
naziva hosta u adrese. SNMP (Simple Netvvork Management Protocol) je protokol za
upravljanje dizajniran za obezbedivanje funkcionalnosti protokola za upravljanje i uredaja.
Voice over IP (prenos glasa preko IP-ja) je termin za Internet telefoniju, koji se odnosi na pro
tokole dizajnirane za isporuku paketa sa govornim informacijama.
UDP i TCP omoguavaju dva tipina moda za komuniciranje. 1 TCP i UDP emo detaljnije
razmotriti u narednom poglavlju.
Internet Protocol je protokol sloja 3 dizajniran za obezbedivanje isporuke paketa izmedu dva
sajta. Uobiajeno je da se koristi sa TCP protokolom. Na slici 11.2 prikazano je kako funkcionie
saTCP protokolom. Pretpostavimo da dva sajta (A i B) zahtevaju konekciji orijentisani servis za
prenos odredene koliine podataka.
Najei primeri su email, transfer fajlova i veina aplikacija zasnovanih na Webu. TCP
obezbeuje pouzdane konekcije nezavisne od mrenih arhitektura na stranama koje se povezuju,
a IP je zaduen za rutiranje paketa preko razliitih mrea. To je unekoliko slino telefonskim
pozivima. Na jednom nivou jednostavno okrenete neiji broj i neko na drugom kraju odgovori.
Uspostavili ste konekciju. Vi ne morate da znate kako je konekcija izvedena, ili kroz koliko je
telefonskih komutatora poziv morao da proe.
A pokree TCP/IP podatke
(A running TCP/IP data)
TCP
segment
IP paket
token
ring okvir
token rine okvir
token ring
LAN
ruter pokree IP
SONET
okvir
SONET
Ethernet
LAN
Ethernet
okvir
IP paket
TCP
seement
B pokree TCP/IP podatke
(B running TCP/IP data)
SONET
okvir
ruter pokree IP
Ethernet okvir
SLIKA 11.1 Prenos IP paketa preko razliitih mrea
* TCP segmenc, slino paketu, sadri podatke i neke dodatne informacije. Njegov format predstaviemo u odeljku 11.4.
Telefonske kompanije koje uestvuju u uspostavljanju poziva zaduene su za sve detalje
upravljanja. Na slici 11.2 prikazane su mogue Internet konekcije izmedu A i B.
Za poetak, TCP na sajtu A kreira TCP segment* u kome se nalaze korisniki podaci i alje
segment do sajta B. Ako sve protekne u najboljem redu, B e poslati poruku za ono to primi. Sa
stanovita TCP-ja, uspostavljena je direktna konekcija sa B (isprekidana linija).
Meutim, IP prekida segment i kreira IP paket (iji format emo uskoro objasniti), u sklopu koga
e se nai i TCP segment. Moda A predstavlja kompjuter kompanije i paketi moraju da se
rutiraju preko token ring LAN-a. U tom sluaju protokoli veze kreiraju token ring okvir,
postavljaju IP paket u polje Data novog okvira i alju okvir do rutera preko token ring mree.
Protokoli nieg sloja ne znaju da, u stvari, prenose IP paket. Oni jednostavno izvravaju zadatke
koji su naznaeni u prethodnom poglavlju, isporuujui sve pristigle podatke.
Kada okvir stigne do rutera, njegov sloj veze izvlai IP paket iz token ring okvira i daje ga IP-ju
rutera. IP prouava adresu paketa i, na osnovu tabela rutiranja, utvruje da treba da prosledi
paket do drugog rutera preko SONET nosioca. Nii slojevi rutera ugraduju IP paket u SONET
okvir i alju taj okvir do drugog rutera.
Drugi ruter takode mora da donese odluku o rutiranju. U ovom sluaju on zakljuuje da je eljeni
primalac povezan na Ethernet mreu kojoj ima pristup. Zbog toga, sloj veze rutera na tom
LANlI-u kreira Ethernet okvir, smeta IP paket u njega i alje ga preko Etherneta.
Na kraju, Ethemet okvir stie do odredita, gde protokoli sloja veze Etherneta izvlae podatke (IP
paket) i daju ga IP-ju u B. IP interpretira paket i predaje TCP segment TCP-ju, koji eventualno
izvlai podatke i daje ih B. Ovaj jednostavni opis slui kao ilustracija uloge IP-a u rutiranju pake
ta preko razliitih vrsta mrea.
Adresiranje na Internetu
Poto je rutiranje znaajan deo Internet protokola, vano je da razumete kako izgleda Internet
adresa i kako je ruter interpretira. Za korisnike Intemeta Internet adresa ima sledei oblik
server.institucija.domen
Ova forma moe da bude sastavni deo email adrese, na primer, korisnik@server.institucija.domen,
ili moe da bude deo Web adrese, http://server.institucija.domen.
Meutim, ovo nije stvarna Internet adresa, ve tekstualna reprezentacija koja identifikuje host
kompjuter, ili server neke institucije koja je povezana na Internet.
U sluaju emaila karakteri pre simbola @ predstavljaju korisnika koji je autorizovan za pristup
email serveru. U sluaju Web pretraivaa obino se oznakom "www" predstavlja podrazumevani
server na naznaenoj lokaciji.
Medutim, moe se koristiti i stvarni naziv servera umesto www (uz pretpostavku da je server
postavljen tako da moe da mu se pristupa sa Weba).
Take u tekstualnoj adresi slue za razdvajanje komponenata adrese. Krajnja desna komponenta
se odnosi na Internet domen. Nije suvino istai da je u ovoin kontekstu domen kolekcija
sajtova odreenog tipa. Razlikuje se od domena koje smo opisivali u prethodnom poglavlju i u
ovom kontekstu nema nikakve naznake geografske lokacije. Znai, dva sajta na istom domenu
mogu da budu u istom gradu, ali mogu da budu udaljeni i hiljadama kilometara jedni od drugih.
Ovi domeni se koriste prvenstveno za administriranje i organizovanje tekstualnih adresa, radi
eventualnog prevodenja Internet adresa. Kao takvi, ne koriste se za rutiranje. U tabeli 11.1
navedeni su neki mogui nazivi domena i vrste sajtova kojima odgovaraju. Neki od tih domena
su Vara verovatno ve poznati, a neki drugi moda i nisu - razlog moe da bude injenica da su
dodati u listu u skorije vreme i jo nisu postali optepoznati.
U ostalim delovima tekstualne adrese moe da se nae bilo ta; to iskljuivo zavisi od konkretnog
sajta. Nazivi obino identifikuju organizaciju, odeljenje, ili specifini server (kasnije emo
prikazati kako se izvodi prevodenje u IP adresu). Na primer, icsa.uwgb.edu ukazuje na Linux
server u University of Wisconsin - Green Bay u obrazovnom domenu, dok www.nasa.gov
ukazuje na podrazumevani Web server u National Aeronautics and Space Administration u
Vladinom domenu. Ako je institucija dovoljno velika, moe da se podeli po odeljenjima (na vie
poddomena) i host kompjutera (servera) unutar svakog odeljenja. Na primer, puna email adresa
autora ove knjige je shayw@msa.uwgb.edu.
Znaenie Domen
com
edu
int
gov
kids
mil
net
org
biz
info
pro
museum
coop
aero
name
kod drave
Komercijalna institucija
Obrazovna institucija
Medunarodna organizacija
Vladina agencija
Sajt sa sadrajem prikladnim za decu
Vojni sajt
Provajder mrenih usluga
Neprofitna organizacija
Poslovni sajtovi
Opte namene
Profesionalni
Muzeji
Poslovna saradnja
Avionska industrija
Za individue
Na primer, jp za Japan, ili nl za Holandiju
32-bitna adresa
Klasif ikacija bajt 1 bajt 2 bajt 3 bajt 4 Broj
moguit
mrea
Maksimalni
broj mrenih
vorova
Klasa A
Klasa B
Klasa C
Klasa D
Klasa E
1110, iza ega sledi 28-bitna adresa ka vie odredita
1111; rezervisano
Onnnnnnn
lOnnnnnn
llOnnnnn
XXXXXXXX
nnnnnnnn
nnnnnnnn
XXXXXXXX
XXXXXXXX
nnnnnnnn
XXXXXXXX
XXXXXXXX
XXXXXXXX
2
7
= 128
2
14
= 16,384
2
2
'= 2,097,152
2
24
= 16,777,216
2'
6
= 65,536
2
8
= 256
Napomena: Sa n su predstavljeni bitovi broja mree, a sa x bitovi lokalnog identifikatora.
* Ovo vai za IFV4. IPv6 koristi 128 bitova.
Ako je univerzitet dovoljno veliki da eli da koristi razliite servere u razliitim odeljenjima,
odeljenja mogu da se identifikuju umetanjem oznaka izmedu "msa" i "uwgb". Kada je sajt
dovoljno mali, moe da postoji jedan podrazumevani server koji se koristi za aplikacije, kao to
je email koji prima sve dolazee poruke. Ovo definitivno zahteva navoenje konkretnog
kompjutera. U naem sluaju server nazvan "msa" je podrazumevani; on omoguava navoenje
autorove email adrese kao shayw@uwgb.edu, umesto dugake verzije shayw@msa.uwgb.edu.
Primer tekstualne adrese sa vie komponenata moe da bude www.legis.state.wi.us. U ovom
sluaju najvii domen je us (za zemlju). Podeljen je na poddomene; jedan od njih je wi (za
Wisconsin). Poddomen wi je dalje podeljen, tako da se state koristi za predstavljanje dravnih
slubi. Preostale komponente ukazuju na zakonodavne ogranke i na podrazumevani Web server.
Ako su potrebne zakonodavne ustanove u drugim saveznim amerikim dravama, dovoljno je
samo zameniti kod za state za odgovarajuu ustanovu. Primeri su www.legis.state.ia.us (Iowa),
www.legis.state.wv.us (West Virginia), www.legis.state.ak.us (Alaska) i www.legis.state.de.us
(Delaware). Mogue je zameniti i poddomen legis nekim drugim poddomenom. Na primer,
www.dnr.state.wi.us (Department of Natural Resources) i www.dpi.state.wi.us (Department of
Public Instruction).
Kako je ovo povezano sa stvarnom Internet adresom? U prethodnom odeljku smo pomenuli da
je Internet kolekcija nezavisnih mrea i da svaka od tih mrea sadri brojne kompjutere. Zbog
toga, svaki kompjuter moe da se identifikuje navoenjem mree kojoj pripada i lokalne adrese
po kojoj se razlikuje od ostalih kompjutera na toj mrei. Ove dve oznake zajedno definiu
32-bitnu adresu* tog kompjutera, koja se esto zapisuje kao sekvenca etiri 8-bitna broja,
razdvojena takama. Na primer, prethodna tekstualna adresa msa.uwgb.edu predstavlja, u stvari,
adresu 143.200.128.162.
Sledee pitanje je koji bitovi predstavljaju broj mree, a koji lokalni ID. Odgovor zavisi od tipa
adrese. IP je odavno prepoznavao nekoliko klasifikacija Internet adresa, koje uglavnom zavise od
veliine mree konkretne organizacije (tabela 11.2). Mrea Klase A koristi 8-bitni broj mree iji
je prvi bit uvek 0.
Preostala 24 bita dodeljuju se lokalno. Adrese Klase A se koriste samo za veoma velike mree. Na
primer, originalni ARPANET je imao broj mree 10 (binarno 0000 1010). Sa 24-bitnim lokalnim
identifikatorom mrea Klase A moe da podri do 2
24
= 16.777.216 razliitih vorova. Meutim,
sa sedam promenljivih bitova u broju mree ne moe da postoji vie od 2
7
= 128 razliitih mrea
Klase A. Adrese Klase B koriste 16 bitova i za broj mree (prva dva bita su uvek 10) i za lokalni
identifikator. Te mree su takoe prilino velike (do 65.536 vorova), ali to nije ni izbliza ravno
kapacitetu mrea Klase A. Osim toga, mogue je do 2
14
= 16.384 razliitih B mrea. Konano,
adrese Klase C se koriste za reletivno male mree. One koriste 24 bita za broj mree (prva tri bita
su uvek 110) i osam bitova za lokalni identifikator. Moe da postoji do 2
21
= 2.097.152 mrea
Klase C.
Na primer, 64.37.246.3 je Internet adresa za www.nasa.gov. Poto je 64 binarno 0100 0000, ovo
je primer adrese Klase A (prvi bit je 0). Sa druge strane, server msa.uwgb.edu ima Internet adresu
143.200.128. 162, to je adresa Klase B jer je 143 =1000 1111 (osnova 2). Primer adrese Klase C
je adresa 198.133.219.25, to predstavlja adresu za www.cisco.com.
Adrese Klase D koriste se za istovremeno slanje na vie razliitih odredita (multicasting). Znai,
jedna adresa, u stvari, defmie grupu host kompjutera. Na primer, ako se fajl prenosi na ovakvu
adresu, svaki host kompjuter u toj grupi dobija fajl. Ovo je lake nego da se fajl eksplicitno alje
do svih lanova grupe posebno. Primeri kod kojih je ovo praktino ukljuuju grupe kojima je
neophodno auriranje instaliranog softvera, ili prikazivanje ivog videa izabranoj grupi
korisnika. Rutiranje ka vie odredita obradiemo neto kasnije u ovom odeljku.
Besklasne adrese
IPv4 je dizajniran pre vie godina i poeo je da pokazuje neke znake "starenja". Jedan problem je
troenje adresa, tj. nedovoljan broj adresa za opsluivanje globalnih zahteva. Poto su Internet
adrese 32-bitne, postoji konaan broj raspoloivih adresa. Vaa prva reakcija moe da bude
sledea: 32 bita omoguavaju ukupno 2
32
, ili oko 4,3 milijarde razliitih adresa. Da, u svetu ima
vie ljudi od tog broja, ali u globalnoj razmeri, vedna i dalje nisu korisnici Interneta. Zato
problem nije ozbiljan. Takvo razmiljanje nije ispravno, a evo zato.
Kao to smo ranije opisali, postoje razliite klase Internet adresa. Pretpostavimo da se organi-
zacija srednje veliine prijavljuje i dobija mreu Klase B. Moda u organizaciji radi 1.000 ljudi,
tako da e biti iskorieno 1.000 razliitih adresa.
Definisanjem mree Klase B lokalna uprava mora da ima mogunost dodele 2
16
= 65.536
razliitih lokalnih identifikatora. Poto postoji samo 1.000 korisnika, oko 64.500 Internet adresa
ostaje neiskorieno. Poto sve imaju isti broj mree Klase B, ne mogu da se prebace nekoj dru-
goj organizaciji. Ono to se ne iskoristi u ovoj konkretnoj organizaciji biva izgubljeno za optu
Internet populaciju.
Logina reakcija moe da bude predlog da se koristi nekoliko mrea Klase C, umesto jedne mree
Klase B. Poto mree Klase C imaju 256 lokalnih identifikatora za svaku mreu, bilo bi mnogo
efikasnije dodeliti mree Klase C. U prethodnom primeru bile bi dovoljne etiri mree Klase C za
1.000 Internet korisnika; samo bi nekoliko adresa ostalo neiskorieno.
Postoji nekoliko problema kod ovakvog pristupa. Jedan je planiranje rasta. Nema menadera
mree koji ne planira irenje mree u budunosti. Pretpostavimo da je kompanija traila adrese i
da je dobila jednu mreu Klase C. Ako jednog dana na mrei bude vie od 256 korisnika, morae
da se prijave za jo jednu mreu Klase C. U stvari, za svakih novih 256 korisnika mora se traiti
nova mrea. Dodatna "papirologija", "glavobolje" i kanjenja sigumo su kontraproduktivni. Sa
mreom Klase B, mogue je poveati broj korisnika do 65.536 bez formalnih zahteva i
odobrenja novih adresa (naravno, osim inicijalnog zahteva). Iz perspektive menadera mree,
ovo je daleko jednostavniji scenario.
Sledei problem su dodatne informacije o rutiranju. Seate se da smo u Poglavlju 10, u odeljku
o hijerarhijskom rutiranju, razmotrili razliku izmeu unutranjeg i spoljanjeg rutiranja. Na
Internetu spoljanje rutiranje se zasniva na broju mrea lanica. Korienje mrea Klase C znai
dodelu novih mrea. Vie mrea podrazumeva vie lanova koje ruteri moraju da prate. Zato ova
poveanja utiu na performanse protokola za spoljnje rutiranje. Korienje mrea Klase B
redukuje broj mrea koje ruteri moraju da kontroliu, ali dobijamo neiskoriene adrese.
Sasvim je sigurno da mora da postoji neko reenje koje nema ozbiljne sporedne efekte. U stvari,
ima ih nekoliko! Jedno je nova verzija IP-ja koja koristi vie od 32 bita za adresu; predstaviemo
je u narednom odeljku. Drugo reenje je poznato kao besklasno rutiranje izmeu domena
(dassless interdomain routing), ili CIDR; standardizovao ga je IETF 1993 godine, a trenutno ga
podrava BGP-4. Definie grupu adresa koje ne pripadaju ni jednoj kategoriji unapred
defmisanih klasa, ve svaka adresa iz grupe moe da se interpretira kao broj mree, iza koga sledi
lokalni idemifikator. U stvari, broj bitova koji definiu broj mree moe da bude razliit da bi
bilo omoguceno adresiranje mrea razliite veliine.
CIDR se, obino, koristi za dodelu vie mrea Klase C. Na primer, pretpostavimo da je za projekte
neke organizacije neophodno do 1.000 razliitih radnih stanica sa IP adresama. CIDR pristup
nalae dodeljivanje etiri uzastopne mree Klase C. Adrese koje ine ove etiri mree su susedne.
Inicijalno, ovo moda ne izgleda nita drugaije nego dodela proizvoljnih mrea Klase C, ali
razmotrite sledee mogue adrese.
Mrea Klase C
211.195.8.0
211.195.9.0
211.195.10.0
211.195.11.0
Bitska reprezentacija
11010011-11000011-00001000-xxxxxxxx
11010011-11000011-00001001-XXXXXXXX
11010011-11000011-00001010-xxxxxxxx
11010011-11000011-00001011-xxxxxxxx
Opseg adresa
211.195.8.0 do 211.195.8.255
211.195.9.0 do 211.195.9.255
211.195.10.0 do 211.195.10.255
211.195.11.0 do 211.195.11.255
U optem sluaju ove mree Klase C odgovaraju susednim adresama iz opsega 211.195.8.0 do
211.195.11.255. Ipak, prouite adresu malo paljivije i videete da su prva 22 bita ista u svim
adresama. Zato bilo koju adresu iz ovih mrea klase C moemo da posmatramo kao 22-bitni broj
mree, iza koga sledi 10-bitni lokalni identifikator. Osim toga, ruter moe da izvue broj mree
(u ovom sluaju 211.195.8.0) pomou logike operacije I izmeu 22-bitne maske podmree
(255.255.252.0) i IP adrese.
Dobijanje adrese
Sledee logino pitanje je kako dobiti IP adresu. Postoji nekoliko moguih odgovora. Na primer,
ako imate personalni kompjuter povezan na LAN Vae kompanije, ili Vaseg univerziteta, ili ako
imate kompjuter kod kue koji na Internet povezujete preko ISP-ja, ve imate IP adresu. ISP, ili
menader LAN-a odravaju listu IP adresa koje se dodeljuju klijentskim mainama koje
povezuju. Svaki put kada se ulogujete na LAN, ili ISP, obino klijent maina zahteva IP adresu od
servera. Server izvrava protokol poznat pod nazivom Dynamic Host Configuration Protocol
(DHCP), koji dodeljuje IP adresu iz liste koju odrava. Postoji nekoliko naina da utvrdite IP
adresu koju Va kompjuter koristi. Ako koristite operativni sistem Windows, moete da predete
u MS-DOS prompt iz menija Programs i unesite komandu ipconfig. Dobiete rezultat slian
sledeem:
1 Ethernet Adapter:
IPAddress 24.163.137.90
Subnet Mask 255.255.252.0
Default Gateway 24.163.136.1
Da smo koristili osam uzastopnih adresa Klase C, onda bi prvih 21 bitova u svakoj adresi bilo
jednako. esnaest uzastopnih mrea Klase C deli prvih 20 bitova i tako redom.
Ovde smo grupisali nekoliko manjih mrea I, radi rutiranja, vizuelno ih zamislili kao jednu veu
mreu. Ovo je poznato kao formiranje supermrea (supernetting). Prednost je to, umesto da se
u svakom ruteru pamti vie brojeva mrea Klase C, moemo da smestimo broj samo jedne mree.
Meutim, i dalje postoje problemi rukovanja ovakvim mreama, Kasnije ete videti da se u
svakom IP paketu nalazi IP adresa odredita. Prouavanjem prva tri bita ruter moe da utvrdi da
li adresa pripada klasi A, B, ili C. Nakon toga, izvlai 8-bitni, 16-bitni, ili 24-bitni broj mree i
trai ga u tabeli rutiranja. Kako ruter utvruje koliko se bitova koristi za broj mree ako je mogue
koristiti razliit broj bitova?
Da bi dao odgovor na to pitanje, ruter mora da zna broj bitova koji se koristi za ID mree. Zato
se uobiajena reprezentacija mrene adrese w.x.y.z menja sa w.x.y.z/m, gde m predstavlja broj
bitova u ID-u mree. Na primer, ruter moe da predstavi etiri prethodno pomenute mree sa
jednim zapisom 211.195.8.0/22, gde "/22" ukazuje da se za broj mree koriste 22 bita. Kada
stigne IP paket, ruter pokuava da uporedi odgovarajuci broj bitova iz tabele rutiranja sa istim
brojern bitova u odredinoj adresi paketa. Ako se poklapaju, paket se prosleuje do odgovarajue
lokacije.
11010011- 11000011 -000010XX-XXXXXXXX (lPadresa)
11111111- 11111111- 11 111100- 00000000 (22-bitna maska podmree)
1 101001 1 -1 101001 1 - 00001000- 00000000 (brojmree)
0 8 195 211
Osim toga, moete da selektujete komandu Windows Run i unesite winipcfg. Dobiete slian
odziv.
Sledee pitanje je kako menader LAN-a, ili ISP dobija te adrese. Odgovor je malo kompliko-
vaniji. Kao to ISP, ili menader LAN-a odravaju blokove adresa, tako mora da postoji slian
menader koji vodi rauna o svim moguim IP adresama. Pre 1999. godine, Internet Assigned
Numbers Authority (IANA), organizacija koju sponzorie drava i koja je pridruena
Information Sciences institutu, u University of Southern California, bila je odgovoma za
upravljanje i dodelu IP adresa. Tu i neke druge tehnike funkcije koje se tiu DNS-a (bie opisan
kasnije) preuzela je 1999. godine neprofitna organizacija Internet Corporation for Assigned
Names and Numbers (ICANN). Njen upravni odbor ukljuuje ljude iz razliitih kompanija i
akademskih institucija irom sveta. Vie informacija o ovoj organizaciji moete da pronadete na
Web sajtu www.icann.org.
Poto veina ljudi ne voli da pamti IP adrese, sledecl logian korak je dobijanje registrovanog
naziva hosta. To znai da se naziv hosta pamti u distribuiranom direktorijumu koji moe da se
referencira pomou klijent programa. Na primer, mnogi ljudi znaju da mogu da pristupe
pretraivakoj Web maini pomou http://www.google.com. Manji broj njih zna da je pristup
mogui sa adresom http://216.239.53.99. Veina e se sloiti da je mnogo lake zapamtiti naziv
hosta nego niz brojeva.
Dovoljno je to to moramo da pamtimo brojeve telefona, ekovnih knjiica, rauna u bankama,
automobilskih tablica i matine brojeve. Kome je potrebno jo brojeva za pamenje? Stvami
proces registracije naziva domena odvija se preko registratora. Obino se selektuje registrator,
popune se formulari i uplati se potrebni iznos. Sve ostalo zavrava registrator.
Uz pretpostavku da ste izabrali naziv koji jo uvek niko drugi nije zakupio, ostali korisnici
Interneta e moi da pristupe Vaem sajtu. Ipak, morate da budete paljivi kada birate nazive, jer
je bilo sluajeva kada su podnoene tube protiv ljudi koji su koristili iste (ili ak samo sline)
nazive, kao to su zatiene marke. Postoje razliiti registratori koji izvravaju registraciju naziva
hosta. Lista ICANN-akreditovanih registratora moe da se pronade na www.icann.org/registrars/.
Domain Name System
Poto smo opisali i tekstualni oblik adresa i 32-bitne adrese, sledee logino pitanje je kako se
vri prevoenje iz jednog oblika u drugi. Svaki sajt izvrava protokol koji pristupa distribuiranoj
bazi podataka poznatoj pod nazivom Domain Name System (DNS). Operativne rei su
distribuirana i baza podataka. Kao baza podataka, DNS sadri kopije tekstualnih adresa i njihove
32-bitne reprezentacije. Na primer, sadri tekstualnu adresu msa.uwgb.edu sa pridruenom
Intemet adresom 143.200.128.162.
DNS se ne uva na bilo kojoj lokaciji. Kad bi se to radilo, postojala bi potencijalna opasnost od
katastrofalnih posledica ako bi dolo do kvara na toj lokaciji. Osim toga, ne bi bilo mogue
kontrolisati velike koliine zahteva iz celog sveta na jednoj lokaciji. Umesto toga, DNS se
distribuira izmeu kolekcije DNS servera koji su razbacani na Internetu. Kada je host kompjuteru
potrebno prevoenje adrese, on poziva jedan, ili vie tih servera da pronadu specifinu
tekstualnu adresu i da vrate njenu Internet adresu. U stvari, ako imate pristup UNIX, ili Linux
sistemu, moete da testirate DNS prevoenje pomou komande nslookup. Na primer,
unoenjem komande nsl ookup msa.uwgb. edu* dobijate 32-bitnu adresu 143.200.128.162.
Isprobajte i neke druge tekstualne adrese.
Izgleda jednostavno; mi smo pojednostavili celu situaciju. Ipak, osnovna ideja traenja adrese je
tana. Tei deo je implementacija - upravljanje milionima adresa na razliitim serverima i
obezbeivanje brze translacije tekstualne adrese. Ovde nastupa koncept domena. DNS moemo
da smatramo hijerarhijskim ureenjem tekstualnih adresa koje su ureene najpre po nazivima
domena. Na slici 11.3 prikazano je kako su neke tekstualne adrese organizovane.
Na primer, grupisane su sve "edu" institucije, kao i "com" institucije i tako redom. Ipak, edu
domen je i dalje veliki, tako da se organizuje u podgrupe na drugom nivou hijerarhije.
Univerziteti kao to su UWGB (University of Wisconsin - Green Bay), UWM (University of
Wisconsin - Milwaukee) i MIT grupisani su ispod edu domena. Slino tome, postoje podgrupe i
ispod com, org i drugih domena. Postoje dodatne hijerarhije ukoliko je re o velikim institucija-
ma koje se dalje dele na odeljenja.
Istakli smo da su tekstualne adrese organizovane hijerarhijski, ali to ne znai i da se smetaju na
ovaj nain. Ve smo pomenuli postojanje servera irom Interneta i istakli da ni jedan server ne
sadri sve informacije iz DNS-a. Informacije koje su predstavljene u hijerarhiji na slici 11.3 dele
se na zone, koje predstavljaju hijerarhije sa jednim, ili vie vorova.
Osim toga, dve zone ne mogu da se preklapaju. Svaka zona ukljuuje najmanje dva servera
(primarni i rezervni) - svaki je odgovoran za upravljanje informacijama iz tog dela hijerarhije.
Zato je moda tanije re da se hijerarhija primenjuje na organizaciju servera.
Na vrhu hijerarhije je root server. Iako je na slici 11.3 prikazan samo jedan, postoji, u stvari,
nekoliko root servera smetenih irom sveta.
SLIKA 11.3 DNS hijerarhija
* U najskorijoj verziji Red Hat Linuxa nslookup se ne odobrava. Znai, korisnici se ohrabruju da koriste komande dig, ili
host, koje imaju slinu funkciju.
Svaki root server zna lokaciju ostalih DNS servera koji su dodeljeni specifinim domenima. Ti
serveri lociraju neke naredne DNS servere. Dok napredujemo kroz hijerarhiju, pojavljuje se sve
vie servera koji su specifini za odreenu lokaciju. Teko je predvideti kako e se rukovati zahte-
vima, jer mnogo ega zavisi od onoga ta serveri znaju, ko im postavlja zahtev, gde se traeni sajt
nalazi i gde se serveri nalaze u okviru hijerarhije. Ipak, postoji jedna mogunost.
Kada host zahteva translaciju adrese, alje zahtev do lokalnog servera (na istom mestu kao i host).
Nazovimo ga A. Ako A moe da obezbedi translaju, on to i radi i proces je zavren. Ako ne
moe, onda alje zahtev do servera B, koji se nalazi na prvom sledeem nivou iznad njega u
hijerarhiji. Ako B zna adresu, alje je nazad do A, koji je, zatim, prenosi do hosta. Translacija je
zavrena. Medutim, moda ni B ne zna adresu. U tom sluaju, on moe da nastavi dalje na dva
naina. Moe da obavesti A da nije uspeo da izvri translaciju i da uputi A na server C, koji moda
zna adresu. Druga opcija, koju emo uvek koristiti u narednom razmatranju, podrazumeva da B
alje zahtev do C u ime A. C obino odgovara serveru na sledeem viem nivou u hijerarhiji.
Server C dalje nastavlja na isti nain kao i B.
Na kraju, bie pronaden server koji zna adresu, ili se zahtev prosleduje sve do root servera. Ipak,
ne postoji nain da se obezbedi nain na koji bi root server mogao da zna sve mogue adrese.
Ako dobije zahtev za adresu koju ne moe da obezbedi, on ne zna za neki drugi server koji bi
mogao da mu pomogne. U zavisnosti od domena sa koga je potekao originalni zahtev, root
server prosleuje zahtev do jednog od nekoliko DNS servera koji su postavljeni na sledeem
nivou hijerarhije - nazvaemo ga server D. Na primer, tekstualne adrese koje se zavravaju na com
i edu idu na razliite servere. Ako D ima pristup informacijama koje su predstavljene naznaenom
tekstualnom adresom, Internet adresa se vraa do root servera. Na kraju se informacije vraaju
nazad do hosta preko C, B i A. Ako nema adrese, D zna za neki drugi server koji bi trebalo da
obezbedi dodatne informacije. Ovo prosleivanje zahteva se nastavlja sve dok se ne stigne do
servera koji moe da izvri translaciju. Kada se adresa pronae, vraa se nazad do originalnog
hosta preko svih servera (suprotnim redosledom) koji su dobili i prosledili taj zahtev.
Na slici 11.4 prikazano je kako ovo funkcionie u jednom moguem sluaju; prikazan je samo
manji ogranak com domena.
SLIKA 11.4 Zone u DNS hijerarhiji
Kompanija ACME odrava dve mree - po jednu za proizvodno (product) i personalno
(personnel) odeljenje. Proizvodno odeljenje se sastoji iz dva dela - istraivakog i razvojnog
(research and development) i prodaje (sales). Krugovi oko vorova definiu zone.
Pretpostavimo da neko spolja naznai tekstualnu adresu hercules.products.acme.com; "hercules"
je kompjuter u istraivakom i razvojnom delu proizvodnog odeljenja kompanije ACME.
Pretpostavimo da adresa ne moe da se prevede lokalno i da zahtev ide do root servera, pa do
servera domena com. Server domena com ne moe da zna punu adresu svih host kompjutera u
svim komercijalnim mreama (postoji ogroman broj takvih mrea). Medutim, "acme" deo
tekstualne adrese ukazuje serveru da drugi server u ACME moe da obezbedi vie informacija.
Tekstualna adresa se zato alje do ACME sajta.
Mogue je da je personalno odeljenje prilino malo, a da je proizvodno odeljenje znatno vee;
zato su nadleni u upravi odluili da se za proizvodnu mreu koristi zaseban server. Moda su
menaderi mree u proizvodnom odeljenju jednostavno hteli da budu potpuno nezavisni od
personalne mree. U svakom sluaju, server u ACME zoni i dalje ne moe da razrei punu adresu,
jer tekstualna ukazuje na zonu za koju nije odgovoran. Napomenimo da bi server, ako bi u adresi
stajalo "personnel.acme.com", mogao da je razrei, ali samo zato to se i ACME i personalni
vorovi nalaze u istoj zoni. Meutim, poto se proizvodni vor nalazi u drugoj zoni, zahtev je
poslat do drugog servera u proizvodnoj zoni. Od te take preostali deo tekstualne adrese se nalazi
u zoni odgovornosti tog servera, koji pristupa, pa vraa odgovarajuu Internet adresu.
Da li ovaj sloeni proces mora da se izvede prilikom svake translacije? Sreom, nije nuno. Kada
se adrese prevedu i rezultati vrate nazad preko imenovanih servera, svaki moe da zabelei adresu
u svom lokalnom keu. Zahvaljujui tome, u sluaju nekog budueg zahteva, server moe da
obezbedi translaciju iz kea.
IP paketi
Poto ste upoznali osnove lnternet terminologije i operacija, predimo na razmatranje formata
paketa i nekih specifinih karakteristika lnternet Protocola. IP paket je po mnogo emu slian
ranije predstavljenim formatima paketa i okvira. Ipak, postoje neke jedinstvene karakteristike. Na
slici 11.5 prikazan je sadraj IP paketa.
Sledi lista objanjenja polja u IP paketu.
Version (Verzija) Definie verziju IP-ja koji je kreirao paket. Na ovaj nain je
omogueno zajedniko funkcionisanje razliitih verzija IP-ja.
Header Length (Duina zaglavlja) Definie broj 32-bitnih rei u zaglavlju paketa
(polja koja prethode podacima).
Type of Service (Tip servisa) Ovo 8-bitno polje je dizajnirano da bi defmisalo
zahteve transportnog sloja u vezi naina rukovanja paketom. Doputa razliite opcije
zahteva, kao to su Precedence (Prioritet), Lovv delay (MaIo kanjenje), High
throughput (Visoka propusnost), i High reliability (Visoka pouzdanost). 3-bitno polje
Precedence omoguava defmisanje prioriteta za pakete (O za niski i 7 za visoki
prioritet); posebno je korisno kada je potrebno ispuniti odreeni kvalitet servisa
(QoS).
SLIKA 11.5 Intemet paket
Transportni protokol je mogao da zahteva prenos sa niskim kanjenjem (low-delay ), to je
korisno ako se transportni korisnik ulogovao na udaljeni kompjuter i eli brz odziv. Zahtev za
visoku propusnost (high-throughput) je koristan kod prenosa velikih fajlova, a zahtev sa visoku
pouzdanost (high-reliability) trai mree koje je zapamtio kao mree koje nude pouzdanije
servise.
Skoriji QoS problemi su reeni pomou sloenih protokola, kao to su RSVP i RTP. Osim toga,
IETF je definisao Differentiated Services arhitekturu (poznata je i kao Diffserv) za diferenciranje
razliitih tipova saobraaja koji se odvijaju preko Interneta. Ruteri koji implementiraju Diffserv
arhitekturu koriste 8-bitno Differentiated Services (DS) polje, koje slui za oznaavanje paketa sa
razliitim QoS tretmanom. Da bi arhitektura bila konzistentna sa tekuim IP protokolom, koristi
polje Type of Service kao DS polje.
est krajnjih levih bitova definiu kodnu taku koja, teorijski, moe da obezbedi 64 razliite klase sao-
braaja. Trenutno se ne koriste dva krajnja desna bita. Osnovna ideja je da se paket, kada se postavi na
Internet, oznaava odredenom DS vrednodu. Ruteri koji dobiju paket prouavaju DS polje i mogu da
tretiraju paket na osnovu polisa koje je proizvoda implementirao u svojim ruterima.
Packet Length (Duina paketa) Definie duinu celog IP paketa. To je 16-bitno
polje i zato obezbeuje maksimalnu duinu od 65.535 bajtova.
Identification, Flags, Fragment Offset (Identifikacija, flegovi i ofset fragmenta)
Ova tri polja se koriste za fragmentaciju.
Time to Live (Vreme ivota) Stanica koja alje paket na Internet prvi put moe da
postavi polje Time to Live tako da se definie maksimalno vreme koje paket moe da
provede na Internetu. Kada drugi ruter primi paket, dekrementira polje Time to Live za
period koji je paket proveo u ruteru i alje paket do sledeeg rutera. Ako vrednost polja
Time to Live postane O, ili manja, ruter odbacuje paket i alje poruku o greci do
stanice koja ga je poslala. Ovaj korak garantuje da problemi sa rutiranjem, ili
zaguenjem nee izazvati beskonano kruenje paketa po Internetu.
CZD
po 32 bita
podaci
opcije
odredina IP adresa
izvorna IP adresa
vreme ivota protokol eksuma
identifikacija flegovi
ofset
fragmenta
duina paketa
tip
servisa
duina
zaglavlja
verzija
zaglavlje
Protocol (Protokol) Definie protokol vieg sloja koji koristi IP. Omoguava
prenos podataka odredinog IP-ja do odgovarajueg entiteta na toj strani. Na primer,
ako IP paket sadri TCP segment, vrednost polja Protocol iznosi 6. Paketi koji sadre
UDP, ili ICMP segmente u polju Protocol imaju vrednosti 17, ili 1, respektivno. IGMP
(protokol koji se koristi za slanje paketa na vie adresa istovremeno) koristi vrednost
2, a RSVP (protokol koji garantuje odreeni kvalitet servisa) 46.
Checksum (eksuma) Koristi se za detekciju greaka u zaglavljima paketa. Poto
podaci odgovaraju segmentu TCP-ja, ili drugog protokola, postoji sopstvena detekcija
greaka, koja se izvodi na viem sloju. Tako IP treba da vodi rauna samo o detektovanju
greaka u zaglavlju paketa. Prednost ovoga je u tome to se sa proverom manjeg broja
bitova u svakom ruteru paketi bre obrauju. Da bi se izraunala eksuma, zaglavlje se
interpretira kao sekvenca 16-bitnih celih brojeva. Vrednosti se sabiraju korienjem
aritmetike komplementa 1, a rezultat se komplementira i smeta u polje Checksum. Na
prijemnoj strani vri se ponovno izraunavanje eksume na osnovu pristiglih informacija.
Ako se dobijeni rezultat razlikuje od vrednosti iz polja Checksum, primalac zna da je
dolo do greke u zaglavlju. Napomenimo da eksuma mora da se izraunava prilikom
svakog prenosa, jer se zaglavlje menja (menja se vrednost polja Time to Live).
Source IP Address (Izvorna IP adresa) i Destination IP Address (Odredina IP
adresa) Ova polja sadre adrese predajne i prijemne strane.
Options (Opcije) Ovo polje nije obavezno u svakom paketu, ali moe da se koristi
za slanje zahteva za specijalno tretiranje paketa. Sadri niz zapisa, od kojih svaki
odgovara zahtevanoj opciji.
Opcija Record Route prati rutu kojom paket putuje. Stanica koja alje paket rezervie prostor
za listu IP adresa u polju Options. Svaki ruter koji rutira paket umee svoju adresu u ovu
listu, na osnovu ega prijemna stanica moe da utvrdi ko je upravljao paketom.
Opcija Timestamp je slina opciji Record Route. Osim to smeta svoju adresu, svaki
ruter belei i vreme kada je rutirao paket.
Opcija Source Route omoguava poiljaocu da naznai rutu kojom treba proslediti
paket navoenjem sekvence IP adresa u polju Options. Svi ruteri koristi ove
informacije umesto sopstvenih tabela rutiranja. Ovo nije normalan nain
funkcionisanja prilikom rutiranja, zato to je neophodno poznavanje fizike
topologije. Moe da bude korisno ako administratori mree sumnjaju da
postoji problem sa nekim ruterom i ako ele da testiraju odreenu rutu.
Opcija Loose Source Route ne obezbeuje tanu rutu, ali daje listu rutera preko kojih
paket mora da proe.
Opcija Security moe da navede odreene rutere, ili lokacije koje bi trebalo izbei u
toku rutiranja.
Vie detalja o ovim opcijama i njihovom izvrenju moete da naete u referenci
[CoOO].
Data (Podaci) Sadri podatke koje je neophodno obezbediti sledeem viem sloju.
Fragmentacija
Jedan od problema sa kojim se Internet Protocol suoava je da razliite mrene arhiteklure
doputaju razlidte veliine okvira (jo se nazivaju i maksimalne jedinice prenosamaximum
transfer units, ili MTU). Ako je duina IP paketa manja od svakog MTU-a na koji se nailazi na
putanji, nema problema, ali, ako je MTU manji, paket se deli na manje jedinice, koje se nazivaju
i fragmenti. Fragmenti putuju do svojih konanih odredita (mogue je preko razliitih ruta), gde
se moraju ponovo sastaviti. Da bi fragmentacija funkcionisala, odredini IP mora da bude
sposoban da razlikuje fragmente od nefragmentisanih paketa i da prepozna koji fragmenti
odgovaraju islom paketu, kojim se redosledom moraju sastaviti i koliko se fragmenata nalazi u
svakom paketu. Polja Identification, Flags i Fragment Offset obezbeduju te informacije.
Pretpostavimo da ruter primi paket i da utvrdi da mora da putuje preko mree sa MTU-om
manjim od duine paketa. Paket se deli na fragmente; svaki od njih sadri deo podataka iz
paketa. Osim toga, svaki fragment ima zaglavlje fragmenta (fragment header), koje je skoro
identino zaglavlju paketa i omoguava rutiranje fragmenta. Mnoga polja u zaglavlju fragmenta
imaju istu ulogu kao i odgovarajua polja u zaglavlju paketa. Sledea polja su relevantna za nae
razmatranje:
Ruter postavlja vrednost identifikacije paketa u polje Identification svakog fragmenta.
Polje Flag sadri More Fragments bit (mfb). Ruter postavlja mfb na 1 u svakom
fragmentu, osim u poslednjem. Postoji i Do Not Fragment bit, koji, ako je postavljen,
ne doputa fragmentaciju. Ako ruter primi takav paket, odbacuje ga i alje poruku o
greci do stanice koja ga je poslala. Stanica koja je poslala paket koristi tu poruku kako
bi utvrdila granine vrednosti kod kojih dolazi do fragmentacije. Ako je tekui paket
suvie veliki, poiljalac moe da ponovi prenos sa manjim paketima da bi se
eventualno utvrdilo kada dolazi do fragmentacije.
Poto se u fragmentu nalaze delovi podataka iz paketa, ruter utvruje i ofset u polju
Data paketa iz koga su podaci izvueni i smeta ga u polje Fragment Offset. Ofsete meri
u jedinicama od po osam bajtova. Tako ofset I odgovara bajtu pod brojem 8, ofset 2
bajtu 16 i tako redom.
Na slici 11.6 prikazan je paket koji je podeljen na tri fragmenta. Pretpostavljeno je da mrea ima
MTU-e koji doputaju najvie 1.400 bajtova podataka. Zato ruter deli dolazei paket sa 4.000
bajtova podataka na tri fragmenta. Prva dva fragmenta imaju po 1.400 bajtova podataka. Polje
Fragment Offset u prvom fragmentu je 0, ime se ukazuje da podaci poinju sa ofsetom 0 u
originalnom paketu. Polje Fragment Offset u drugom fragmentu uma vrednost 175, ime se
ukazuje da njegovi podaci poinju od bajta 1.400 (8x175) u paketu. Trei fragment ima 1.200
bajtova podataka i ofset je 350. More Fragments bitovi u prva dva fragmenta su I, ime se
ukazuje da iza svakog od njih postoji jo fragmenata. Mfb u poslednjem fragmentu je 0, to znai
da je to poslednji fragment. Zakljuak da je re o fragmentu izveden je na osnovu vrednosti polja
Offset.
Kada odredini IP vidi dva razliita fragmenta sa istom identifikacijom, izvornom i odredinom
adresom, on zna da potiu iz istog paketa. Ponovo sastavlja takve pakete u skladu sa redosledom
koji odreduju vrednosti polja Offset.
treci fragment
Svi fragmenti imaju ista polja
identifikacije, izvora i odredita
paket sa
4.000
bajtova
podataka
ruter
fragment sa 1.400
bajtova podataka
i ofsetom=0
i mfb=l
prvi fragment
fragment sa 1.400
bajtova podataka
i ofsetom=175 i
mfb=l
drugi fragment
fragment sa 1.200
bajtova podataka
i ofsetom=350
i mfb=0
SLIKA 11.6 Fragmentacija paketa
Poslednji fragment prepoznaje po tome to ima mfb jednako 0 i nenulti ofset. U okviru procesa
sastavljanja postavlja i tajmer ponovnog sastavljanja (reassembly timer) im stigne prvi
fragment. Ako se svi fragmenti ne prime pre nego to tajmer istekne, pretpostavlja se da je jedan,
ili vie fragmenata izgubljeno. U tom sluaju se odbacuju svi zadrani fragmenti i alje se
poruka o greci do stanice koja je poslala fragmente. Dakle, prijem fragmenata se vri po principu
"sve, ili nita".
IP rutiranje
Razmatranju rutiranja na Internetu je prethodilo detaljno objanjavanje osnova. U stvari, veina
ideja je ve bila predstavljena u prethodnom poglavlju. IP rutiranje se zasniva na tabelama
rutiranja koje se uvaju na ruterima i na interpretaciji IP adresa, a umnogome se oslanja na RIP-
2 i BGP protokole. U prethodnim odeljcima su ve predstavljene te teme, tako da nema potrebe
da ih ponovo navodimo. Ipak, postoji nekoliko detalja u vezi rutiranja koji se tiu Interneta.
Seate se da smo rekli da email adresa korisnika Interneta moe da bude
korisnik@host.odeljenje.institucija.domen
DNS serveri prevode karaktere iza simbola @ u 32-bitni broj, koji se, obino, izraava kao
sekvenca etiri 8-bitna broja, razdvojena decimalnim takama (takasta notacija). Na primer, IP
adresa host kompjutera naznaena u shayw@msa.uwgb.edu odgovara 32-bitnom broju
10001111-11001000-10000000-00111110, ili, koristei ekvivalent takaste notacije,
143.200.128.62.
Problem kojim se jo uvek nismo bavili jeste razlika izmeu IP adrese i fizike adrese. jedinstvena
32-bitna IP adresa se dodeljuje svakom kompjuteru kada pristupi Internetu. Njegova fizika adresa
je adresa koja se koristi za osnovnu fiziku mreu.
Na primer, uredaji koji su povezani na Ethernet "oslukuju" adrese smetene u IEEE 802.3
okvirima da bi utvrdili koji je okvir namenjen za njih. Meutim, to su Ethernet adrese (48-bitni
brojevi koji su dodeljeni na osnovu mrene kartice). One imaju lokalno znaenje i nemaju
smisla na globalnoj IP skali. Kako e takav ureaj prepoznati paket sa IP adresom?
Odgovor je da nee prepoznati. Seate se sa slike 11.2 da se IP paketi (IP adresa i sve ostalo)
smetaju u okvire ako "putuju" preko LAN-a. Okviri sadre adrese koje zavise od protokola za
kontrolu veze izmeu podataka. Unutar LAN-a adresa okvira definie njegovo odredite.
Ako okvir "putuje" preko rutera, IP u ruteru rastavlja paket, prouava adresu i utvrduje gde treba
poslati paket. Sa druge strane, ako ruter treba da poalje paket do personalnog kompjutera koji
je povezan na LAN, on mora da postavi paket u LAN okvir, a zatim ga alje. Ako se paket ugraduje
u LAN okvir, koju fiziku adresu koristi? Drugim reima, kako ruter utvrduje fiziku adresu
konkretne IP adrese? Postoji nekoliko naina da se to izvede, u zavisnosti od specifinosti niih
slojeva.
Kada ruter primi IP paket, postoje dve mogunosti: ili se odredite paketa pridruuje mrei na
koju je ruter prikljuen, ili se ne pridruuje. Ruter prepoznaje prvu opciju, jer prvi deo svake IP
adrese defmie mreu na kojoj se nalazi odredini ureaj. Ako prepozna mreu na koju je i sam
prikljuen, zna da moe da poalje paket direktno do njegovog odredita. Ovo se naziva direktno
rutiranje. Postavlja fiziku adresu odredita u okvir i alje ga do odredita. Ponovo se postavlja
pitanje kako ruter utvrduje fiziku adresu na osnovu konkretne IP adrese.
Kod jednog mogueg pristupa, dinamikog povezivanja (jo je poznato i kao Address
Resolution Protocol), ruter prenosi emisioni Request okvir sa IP adresom do svih stanica na
LAN-u. Kada primi emisioni zahtev, ureaj sa konkretnom IP adresom reaguje slanjem svoje
fizike adrese nazad do rutera, a ruter je belei zajedno sa njenom IP adresom u svoj lokalni ke.
Nakon toga, alje okvir do odgovarajueg ureaja, koristei upravo pribavljenu fiziku adresu.
Smetanjem IP i fizike adrese u lokalni ke ruter moe da izbegne ponovno slanje emisionog
Request okvira ako ponovo bude morao da poalje neki paket do istog uredaja.
Ovo vai bar za odreeno vreme, zato to se ke periodino prazni. Razlog za pranjenje kea je
to se mora obezbediti tanost tekuih informacija u keu. Naravno, namee se logino pitanje
kako informacije mogu da postanu netane.
Zar fizika adresa kompjutera nije konstantna? Odgovor je negativan. Ako se Ethernet kartica u
personalnom kompjuteru pokvari, neophodno je instalirati novu. Poto svaka fizika kartica ima
jedinstvenu adresu, sve informacije koje se tiu IP adrese kompjutera i stare fizike adrese vie
nisu validne.
Zatim, pretpostavimo da odredite vie nije dostupno preko neke mree na koju je mter
prikljuen. U tom sluaju ruter koristi hijerarhijsko rutiranje kako bi utvrdio do kojeg drugog
rutera moe da poalje paket. Paket, nakon toga, "putuje" do drugog rutera sve dok ne doe do
rutera koji je prikljuen na odredinu mreu i proces se nastavlja kao to je ranije opisano.
Pogledajmo jedan primer kako bismo razjasnili ceo proces. Slede koraci rutera:
1. Prijem IP paketa i izvlaenje IP adrese
2. Ako je opcija paketa Source Route oznaena, paket se rutira u skladu sa naznaenom
rutom. U tom sluaju "preskoite" naredne korake.
3. Utvruje se broj mree na osnovu IP adrese.
4. Da li broj mree odgovara bilo kojoj mrei na koju je ruter povezan?
5. Ako odgovara, utvrduje se fizika adresa odredita (bilo traenjem, ili dinamikim
povezivanjem) i do odredita se alje okvir koji sadri IP paket.
6. Ako ne odgovara, broj mree se trai u tabeli rutiranja i paket se prosleduje do
naznaenog rutera.
7. Ako zbog neega mrea nije navedena u tabeli rutiranja, paket se prosleduje do
podrazumevanog rutera.
Uzmimo za primer topologiju sa slike 11.7. Ruter I je povezan na mreu pod brojem 143.200
(svaki vor te mree ima IP adresu 143.200.x.y). Slino tome, ruter 2 je povezan na mreu pod
brojem 143.100. Pretpostavimo da ruter I primi paket sa IP adresom 143.200.10.5. Prouava
broj mree 143.200 i zna da moe direktno da isporud paket do odredita. alje emisioni
Request okvir sa brojem 143.200.10.5. Poto je re o emisionom okviru, svi ureaji na LAN-u
dobijaju taj okvir, ali samo ureaj A reaguje vraanjem okvira do rutera sa svojom fizikom
adresom.
B
143.100.20.4
A
143.200.10.5
paket
ruter I
LAN
ruter 2
LAN
Nakon toga, ruter smeta IP paket u okvir u kome se nalazi fizika adresa ureaja A i alje taj
okvir.
Sa druge strane, pretpostavimo da ruter 1 primi paket sa adresom 143.100.20.4. Ruter I zna da
nije povezan na mreu 143.100 i da mora da rutira paket do drugog rutera. Prouava svoju tabelu
rutiranja i otkriva da paket treba proslediti do rutera 2. Kada dobije paket, ruter 2 izvrava zadatke
sline onima koje je izvrio ruter 1. Naravno, paket moe da prode kroz nekoliko rutera, ali koraci
su slini u svim ruterima.
Da li ste se nekada zapitali kojom rutom "putuje" email poruka koju poaljete. Postoji nain da
se utvrdi ruta koja se koristi do odredenog odredita.
Na UNIX i Linux sistemima komanda t r a c e r out e prikazuje rutu (prelazne rutere) izmedu tog
sistema i naznaenog odredita. Na Red Hat Linuxu moete da unesete sledeu komandu
/usr/sbin/traceroute www.alaska.org
Naravno, za odredite moete da unesete bilo ta drugo. U odzivu se prikazuju IP adrese rutera
koje je paket proao i vreme koje je bilo potrebno da se paket poalje do odredita i vrati nazad.
Izdavanjem ove komande sa Linux servera u Green Bay, Wisconsin, dobija se sledei rezultat.
1 143.200.128.1 (143.200.128.1) 0.492 ms 0.459 HlS 0.426 IHS
2 fwallal (143.200.208.11) 19.270 ms 30.757 ms 31.306 ms
3 C7204vxr (143.200.225.4) 62.370 ms 62.225 IHS 62.236 ms
4 uwgreenbay-atm6-0-252.core.wiscnet.net (216.56.24.17)
46.954 ms 52.289 ms 56.635 ms
5 uwmilwaukee-atml-0-4.core.wiscnet.net (140.189.8.217)
52.952 ms 55.939 ms 53.458 ms
6 p7-2.chcgil1-cr4.bbnplanet.net (4.24.164.101) 55.849 ms
54.659 ms 54.359 ms
7 p6-0.chcgil1-br2.bbnplanet.net (4.24.5.245) 53.241 ms
55.618 ms 62.713 ms
8 so-3-0-0.chcgil2-br2.bbnplanet.net (4.0.1.197) 77.895 ms
62.004 ms 54.161 ms
9 so-7-0-0.chcgil3-hcr1.bbnplanet.net (4.0.1.185) 55.233ms
62.002 ms 46.912 ms
10 pl-3.xchcgil4-uunet.bbnplanet.net (4.24.95.10) 68.787 ms
71 .272 IHS 63.828 ms
11 0.so-5-0-0.x12.chil3.alter.net (152.63.73.21) 76.797 ms
69.014 ms 71.139 ms
12 0.so-2-2-0.x12.chi2.alter.net (152.63.70.106) 62.488ms
70.069 ms 54.447 IHS
13 0.SO-1-0-0.t12.chi2.alter.net (152.63.67.121) 70.295 ms
54.236 ms 62.613 ins
14 0.so-5-3-0.t12.sea1 .a1ter.net (152.63.136.62) 109.052ms
109.310 ms 109.175 ms
15 0.so-1-0-0.x12.seal.alter.net (152.63.2.133) 109.536ms
108.712 ms 109.495 ms
16 pos5-0.xr2.seal.alter.net (152.63.106.234) 93.678 ms
108.724 ms 118.475 ms
17 194.atm7-0.gw8.seal.alter.net (152.63.105.221) 100.296 ms
115.843 ms 102.321 ms
18 gci-gw.customer.alter.net (157.130.182.6) 102.076 ms
116.190 ms 125.023 ms
19 inetseasdcgw-2.gci .net (209.165.129.34) 117.285 ms 116.636
ms 124.990 ms
20 208.155.87.121 (208.155.87.121) 156.240 ms 140.107 ms
157.259 ms
21 209.165.128.1 (209.165.128.1) 155.268 (TlS 154.801 ms
156.259 ms
22 209.165.128.82 (209.165.128.82) 156.261 ms 152.754 ms
156.600 ms
23 205.140.73.143 (205.140.73.143) 187.115 ms 155.779 ms
131.571 ms
Verovatno pogaate lokacije nekih od ovih sajtova na osnovu naziva koje prikazuju. U ovom
konkretnom sluaju paket izgleda "putuje" od Green Baya, preko Milvokija i ikaga, do Sijetla.
Nazivi hostova koji se zavravaju sa bbnplanet.net odgovaraju Genuity, Inc, provajderu IP
mrenih servisa. Naziv alter.net odgovara UUNET, WorldCom kompaniji, a gci.net odgovara
Alaska-based kompaniji, koja obezbeduje servise za razmenu podataka za razliite potroae.
Ponekad se nazivi ne navode zato to neke mree ne obezbeuju prevoenje adresa u nazive.
Ipak, dobijate neku predstavn o tome kako ruta izgleda.
Ako nemate pristup Linux maini, moete da isprobate DOS komandu t r a c e r t . Kao sledei
primer, nakon unoenja komande t r acer t www.alaska.org sa druge radne stanice u Green
Bayu, Wisconsin, dobili smo sledee:
1 8 ms 10 ms 7 ms 10. 42. 32. 1
2 9 ms 8 ms 14 ms s r p- 3- 0. appl wi 2- r t r 1. new. r r . c om
[24.164.224.24]
3 11 ms 8 ms 8 ms srp-0-0.applwil-rtr1.new.rr.com
[24.164.224.17]
4 9 ms 13 ms 9 ms srp-4-0-0.applwi3.rtr1.new.rr.com
[24.164.224.91]
5 12 ms 15 ms 17 ms pop2-chi-P8-0.atdn.net
[66.185.141.109]
6 17 ms 13 ms 13 ms bb1-chi-P0-2.atdn.net
[66.185.148.70]
7 29 ms 36 ms 26 ms bb1-kcy-P7-0.atdn.net
[66.185.152.125]
8 26 ms 25 ms 27 ms pop1-kcy-P0-0.atdn.net
[66.185.137.225]
9 26 ms 49 ms 27 ms sl-gw16-kc-9-0.sprintllnk.net
[144.232.131.65]
Ruten
Sve do sada smo krajnje uproavali nain funkcionisanja rutera. Na slici 11.8 su prikazane pri-
marne funkcije rutera. Paket stie preko ulaznog porta i logika u ruteru preduzima sledee akcije:
izvlaenje odredine adrese iz paketa
pronalaenje te adrese u tabeli rutiranja
pristup vrednosti sledeeg "skoka" i utvrdivanje odgovarajueg odlazeeg porta
premetanje paketa u red ekanja za taj port
prenos paketa
Iako je ovo sigurno tano, pravo pitanje je kako ruter funkcionie. Dizajn rutera je izuzetno
sloen i postoji mnogo pitanja u vezi tajminga, postavljanja u red ekanja, planiranja i intemog
funkcionisanja koje pomera paket sa dolazeeg na odlazei port. Ovde ne moemo detaljno da
opiemo dizajn rutera, ali emo predstaviti nekoliko znaajnih ideja. Vie detalja o ruterima
sadre reference [Pi03] i [CaOl]. Ukratko emo se pozabaviti problemima pronalaenja vrednosti
sledeeg skoka, premetanja paketa sa ulaznog na izlazni port i planiranja transmisije paketa.
Pronalaenje sledeeg "skoka" do odredita je relativno lako - ruter proverava svoju tabelu.
Problem je to traenje mora da se izvede veoma brzo. Zamislite da su ulazni portovi optike
fiber konekcije i da paketi stiu brzinom od 100 Mbps. Ako ruter ne uspe da poalje te pakete
dovoljno brzo pre nego to stignu novi, paketi e se nagomilati i doi e do kanjenja. U ekstremnim
sluajevima moe da doe do prekoraenja bufera i tada se paketi izbacuju.
Neki od ovih sajtova su slini, ali neki se znatno razlikuju. Ovo je interesantno zato to se dva
kompjutera sa kojih smo izdavali ove komande nalaze na rastojanju od nekoliko milja. Razliite
rute se koriste prvenstveno zbog ISP-ja ije usluge koriste. Linux server je deo univerzitetske
mree, koja je, takode, povezana na mreu zasnovanu na SONET-u pod nazivom Wiscnet. DOS
komanda je uneta na maini koju opsluuje Roadrunner, irokopojasni ISP. Jednostavno reeno,
svaki server koristi druge organizacije i linije za uspostavljanje konekcija.
10 30 ms ' 30 ms 49 ms sl-bb20-kc-8-0.sprintlink.net
[144.232.23.53]
11 80 ms 75 ms 76 ms sl-bb21-sea-8-3.sprintlink.net
[144.232.18.98]
12 75 ms 80 ms 74 ms sl-bb21-sea-15-0.spnintlink.net
[144.232.6.89]
13 75 ms 77 ms 18 ms sl-gwll-sea-7-0.sprintlink.net
[144.232.6.126]
14 76 ms 88 ms 75 ms sl-gcomm-2-0.sprintlink.net
[144.228.93.234]
15 80 ms 77 ms 77 ms InetSeaSDCgw-2.gci.net
[209.165.129.34]
16 118 ms 115 ms 111 ms 209.165.170.157
17 114 ms 112 ms 119 ms 209.165.128.1
18 113 ms 109 ms 119 ms 209.165.128.82
19 112 ms 113 ms 110 ms www.alaska.org [205.140.73.143]
ulazni portovi
Ulazei
paketi
red ekanja
odlazeih paketa
Traenje odredita
u tabeli
rutiranja
odred sled
tabela rutiranja
Red ekanja paketa
za prenos preko
odgovarajueg porta
do sledeeg "skoka"
izlazni portovi
SLIKA 11.8 Funkcije rutera
Pretraivanje je jedna od vanijih tema brojnih kurseva o programiranju i strukturi podataka.
Meu poznatije metode ubrajaju se linearna pretraivanja, binarna pretraivanja, pretraivanja
B-stabla, ostali metodi zasnovani na stablima i hash strukture. Normalno, linearna i binarna
pretraivanja su suvie spora za high-speed rutere i ne mogu dovoljno brzo da obrade pakete.
Korienje hash strukture, koja je jo poznata i kao memorija sa adresabilnim sadrajem
(content addressable memory), verovatno je najbri i najsofisticiraniji metod. Ideja je krajnje
jednostavna. Kada ruter kreira zapis u tabeli za neko odredite, primenjuje hash funkciju na
vrednost odredita (slika 11.9). Funkcija generie lokaciju na kojoj se smeta vrednost sledeeg
"skoka". Kasnije, kada stigne paket sa tom odredinom adresom, koristi se hash funkcija kako bi
se utvrdilo gde se tano u tabeli nalazi vrednost sledeeg skoka. U ovom sluaju nema
pretraivanja, jer se tana lokacija izraunava i ruter veoma brzo pronalazi vrednost sledeeg
skoka. Ipak, korienje i kreiranje hash funkcija prate brojni problemi (oni su najbolje objanjeni
na predavanjima o strukturama podataka i algoritmima za njihovo reavanje). Za nae potrebe
dovoljno je da znate da se sledei "skok" brzo pronalazi.
Kada je sledei skok poznat, ruter i dalje treba da pomeri paket sa ulaznog na izlazni port. Ovo
se ne razlikuje od naina na koji vie procesora pristupa memoriji. Jedan pristup nalae praenje
dizajna vie minikompjutera i korienje sistema transportne magistfale (bus transport systetn), kod
koga se svaki paket koji stigne preko ulaznog porta alje do odgovarajueg izlaznog porta preko
magistrale.
SLIKA 11.9 Hash funkcija za auriranje labele nitiranja
Jednostavan je, ali glavni nedostatak je isti kao i kod mrea zasnovanih na magistralama: jedino
jedan paket moe da se premeta u jednom trenutku, to usporava ceo proces.
Sledei pristup podrazumeva korienje deljene memorije. To znai da vie procesora moe da
pristupi istoj memoriji. Redovi ekanja na svim izlaznim portovima odgovaraju naznaenoj
oblasti deljene memorije. Svaki ulazni port je kartica na kojoj se nalazi procesor koji pronalazi
vrednost sledeeg skoka. Taj procesor moe da prenese paket iz jedne oblasti memorije u drugu,
u zavisnosti od reda ekanja kome je dodeljen. Poto postoje zasebni procesori (po jedan za
svaku ulaznu karticu), postoji vii nivo konkurentnosti, koji omoguava bre procesiranje.
Naravno, i dalje postoje neka pitanja na koja se ekaju odgovori; na primer, ta se deava ako dva
zasebna procesora treba da pomere paket u isti red ekanja i kako procesori komuniciraju sa
memorijom.
Sledei pristup podrazumeva dizajniranje hardverskog preklopnika koji povezuje svaki ulazni
port sa svakim izlaznim portom (slika 11.10). Preklopnik (sivitch) je kolo koje uspostavlja
konekcije izmedu dve krajnje take. Na slici 11.10a paket koji stiepreko ulaznog porta A prenosi
se do izlaznog porta Z, a paket koji stigne preko ulaznog porta C prenosi se na izlazni port X. Na
slici 11.10b "stvari" se menjaju. Preklopnik povezuje A sa Y i B sa Z. Nameu se nova pitanja. ta
se deava ako sva tri ulazna porta imaju pakete namenjene istom izlaznom portu? Kako da
dizajnirati preklopnike? I to je dobra tema za naprednije studije.
Poslednje pitanje je planiranje paketa na izlaznim portovima. Opravdano je pretpostaviti da
paketi koji stiu na razliite ulazne portove moraju da produ preko istog izlaznog porta. Kako
ruter treba da ih isplanira? Kojim redosledom se prenose? Jedan pristup nalae smetanje paketa
u bafere izlaznog porta istim redosledom kojim pristiu. Naime, baferi su, u stvari, redovi
ekanja. Prenose se paketi koji su najdue u redu ekanja. Ovo je jednostavan pristup i
funkcionie dobro kod brojnih aplikacija. Medutim, kvalitet servisa (QoS - quality of service)
je postao znaajan u poslednjih nekoliko godina. U osnovi, on definie tip servisa koji se oekuje
od mree.
Kao to smo ranije istakli, Intemet je bio dizajniran za upravljanje uglavnom prenosom fajlova i
emailom. Pojava kraih ekanja dok se paketi nalaze u izlaznim redovima ekanja kod takvih
aplikacija ne stvara ozbiljnije probleme i teko da e ih iko i primetiti.
odredina adresa
lzraunavanje lokacije
na kojoj se smeta
sledei "skok"
hash funkcija
tabela rutiranja
odred sled
A
B
C
preklopnik
X
Y
Z
ruter ruter
preklopnik
A
B
C
X
Y
Z
(a) Povezivanje A sa Z i C sa X (b) Povezivanje A sa Y i B sa Z
SLIKA 11.10 Ruter zasnovan na preklopnicima
Meutim, nije dizajniran za real-time audio, ili video zapise. Kod takvih aplikacija QoS
oekivanja nalau pravovremenu isporuku paketa bez kanjenja. U takvim sluajevima standardno
definisanje redova ekanja odlazeih paketa moe da ima suprotan efekat od kvaliteta koji se
oekuje kod takvih aplikacija. Zato su nam potrebne drugaije opcije, kao to su prioritetni
redovi, struktura u kojoj se paketi organizuju po prioritetu koji moe da se defmie na osnovu
vfednosti polja Type of Service u IP paketu. Najvii prioritet imaju paketi koji su blizu poetka
reda i oni se brzo prenose. Negde izmeu aplikacije i kreiranja IP paketa protokoli su morali da
postave polja za odgovarajui tip aplikacije. Ovde je znaajno istai da su neke opcije koje su na
raspolaganju za defmisanje prioriteta i obradu paketa bre od ostalih. Vratiemo se na ovu temu
kasnije, kada budemo razmatrali Resource Reservation Protocol.
Rutiranje paketa ka vie odredita
Nae dosadanje predstavljanje rutiranja bilo je zasnovano na pretpostavci da svaki paket ima
jednu unicast adresu, to znai da sledi specifinu rutu od odredita do jedinstvenog odredita.
Sledea raspoloiva opdja za slanje paketa ukljuuje multicast adresu. Kao to smo ranije
objasnili, IP adresa Klase D definie prenos ka vie odredita (tzv. multicasting). To znai da jedna
multicast adresa predstavlja, u stvari, niz odredita; svako od njih mora da primi jednu kopiju
paketa. Ovo je unekoliko slino postavljanju distributivne liste za email. U Vaem adresam
postoji zapis distributivne liste koji sadri vie email adresa. Kada aljete email, dovoljno je sarno
da selektujete jedan zapis iz distributivne liste. Ipak, do svake osobe se alje zasebna email
poruka. Slino se deava i prilikom rutiranja ka vie odredita, samo to sve funkcionie na
drugom sloju.
)edan primer gde je ovakvo rutiranje korisno jeste emitovanje video sadraja za selektovane
korisnike na mrei. Podaci izivog video prenosa (slika 11.11) dele se u pakete i prenose se preko
mree.
SLIKA 11 .T1 Emitovanje video zapisa na vile odredita
Medutim, adresa Klase D u svakom paketu definie grupu ljudi koji su se prijavili za gledanje
videa. Kopija svakog paketa mora da pronade nain da doe do svake osobe iz multicast grupe.
U svakom sajtu podaci se izvlae iz paketa i predstavljaju u vidljivoj formi.
Multicasting ima nekoliko razliitih komponenata. Prva je Internet Group Management
Protocol (IGMP), protokol koji funkcionie izmeu hosta i lokalnog rutera i omoguava hostu
da se pridruuje, ili naputa razliite multicast grupe. Hi host, ili lokalni ruter mogu da poalju
IGMP poruku ugradenu u IP paket kod koga je vrednost polja Protocol postavljena na 2. Slede
primeri takvih razmena.
Ruter alje upit do jednog, ili vie hostova da bi saznao ko pripada odreenoj
multicast grupi. Poruka sadri adresu Klase D za tu grupu.
Host alje poruku do lokalnog rutera, ukazujui mu da pripada odredenoj multicast
grupi. Kao i ranije, poruka sadri odgovarajuu adresu.
Host alje poruku do lokalnog rutera, ukazujui mu da vie ne pripada odredenoj
multicast grupi. Poruka sadri odgovarajuu adresu.
Ovaj deo je relativno jednostavan, jer se IGMP koristi jednostavno da bi se ukazalo na pripadnost
odreenoj grupi. Nije defmisano kako multicasting funkcionie. Tei deo je poslati ove informa-
cije do svih rutera na mrei i implementirati na njima neki tip algoritma za rutiranje ka vie
odredita.
Na slici 11.12 prikazan je primer. Svaka ikonica personalnog kompjutera predstavlja host koji se
pridruio multicast grupi; grupa se sastoji iskljuivo od tih hostova. Zato ruter A zna da se u grupi
nalaze tri hosta, a ruteri C i F znaju za po jedan host u grupi. Ostali ruteri su povezani na mree
kod kojih hostovi nisu pridrueni grupi. U stvari, u kontekstu definisanja algoritma za rutiranje
ka vie odredita nema razlike ako A zna za tri, ili 300 hostova u grupi. Ruter A mora da bude
angaovan u svakom sluaju. Slino tome, ruteri C i E moraju da budu angaovani. Medutim,
iako ruteri B, D i F nemaju lokalne hostove u grupi, bar jedan od rutera B, ili D takoe mora da
bude angaovan. U suprotnom, ne bi postojao nain da se stigne od A do C, ili E, U ovom sluaju
nema potrebe angaovati ruter F.
Poto smo definisali dijagram, ovo je moda dobar trenutak da se postavi pitanje zato koristiti
multicasting umesto slanja zasebnih unicast paketa do svih hostova u grupi. Pretpostavimo da
hostX izabere takav pristup. Zato bi na slici 11.12 morao da poalje etiri kopije svakog paketa
koji potie iz X. Svaka od te etiri kopije mora da se rutira preko Interneta. Naravno, ako postoji
n lanova grupe, onda bi bilo potrebno poslati n -1 kopija svakog paketa. U sluaju multicastinga
X alje samo jednu kopiju svakog paketa. Kada ruter F dobije paket, alje samo jednu kopiju
do C i jo jednu kopiju moda do B (u zavisnosti od korienog algoritma za rutiranje) i na kraju
doA.
SLIKA 11.12 Ruteri ukljueni u multicasting
SLIKA 11.13 Mogue multicast stablo za mreu sa slike 11.12
(a) A-B-E-C
(b) A-D-C-E
Multicasting podrazumeva manji broj paketa koji "putuju" preko Interneta; zato je mnogo
efikasniji od slanja vie unicast paketa. Ovde razlika nije mnogo velika, ali postaje znaajna u
situaciji u kojoj postoje stotine hostova u grupi, umesto samo nekoliko.
Sada dolazimo do najznaajnijeg pitanja - kako svaki ruter zna ta da radi sa multicast paketom.
Pojednostavljeno reenje podrazumeva da se kreira spanning tree od rutera koji dopiru do svih
hostova u grupi. Za grupu sa slike 11.12 to stablo moe da bude A-B-E-C (slika 11.13a), ili
A-D-C-E (slika 11.13b). U ovom sluaju spanning tree mora da sadri A, E i C i najmanje jedan
vor koji omoguava da se iz A dode do C, ili do E. Ako neto od ovoga zvui poznato, znai da
ste paljivo proitali deo Poglavlja 9 u kome je spanning tree algoritam korien za eliminisanje
petlji prilikom konekcija koje se kreiraju pomou mostova. L1 ovom kontekstu stabla se obino
nazivaju multicast stabla, umesto stabla razapinjanja (spanning trees).
Problem potie iz teorije grafova - za konkretni skup temena i grana u grafu treba kreirati stablo
razapinjanja koje sadri podskup temena grafa. Postoji nekoliko razliitih pristupa; veina moe
da se svrsta u jednu od dve kategorije.
Prvi nain je kreiranje jednog multicast stabla koje povezuje odgovarajue vorove. Drugi
podrazumeva kreiranje jednog multicast stabla za sve mogue izvore u grupi. Kada se multicast
stablo kreira, svaki ruter u njemu jednostavno prenosi sve primljene multicast pakete preko svih
odlazeih linkova u stablu. Naravno, ovo se primenjuje samo na jednu multicast adresu. Za svaku
adresu je neophodno kreirati zasebno stablo.
Problem je to je kreiranje multicast stabala, posebno u mreama sa velikim brojem vorova,
teko. Ovde opisujemo samo distribuirani algoritam za kreiranje stabala iz Poglavlja 10;
zamislite kako to izgleda u globalnim razmerama! Zbog toga, veina IP rutera ne podrava
multicasting.
Manji* broj IP rutera formira Mbone, mreu u okviru Intemeta koja podrava rutiranje adresa
KIase D.
Nain funkcionisanja Mbone mree je sloen, a ideja se zasniva na nekim mehanizmima za
rutiranje koje smo predstavili prilikom kreiranja multicast stabla. Metod predstavlja Distance
Vector Multicast Routing Protocol (DVMRP) i koristi nekoliko komponenata. Jedna je
emitovanje obrnutom putanjom (RPB - reverse-path broadcasting). Pod emitovanjem se
podrazumeva da paket treba da ode na sva mogua odredita. Ruter obino moe da implementira
algoritam za emitovanje prosleivanjem paketa na sve izlazne portove. Meutim, kao to ste
videli u prethodnom poglavlju, paketi "putuju" u petljama i koliina saobraaja postaje
preterana. RPB pretpostavlja da ruter zna sledei link du najkrae putanje do konkretnog vora.
Zbog toga, kada ruter dobije paket, preduzima sledee:
Utvrduje izvor dolazeeg paketa i port preko koga je primljen.
Trai izvor u tabeli rutiranja i utvruje sledei "skok" na putanji nazad do tog izvora.
Ako sledei "skok" odgovara portu preko koga je paket stigao, paket se alje do svih
ostalih portova.
Ako prethodni uslov nije ispunjen, paket se odbacuje.
Na primer, ako ruter A primi paket od izvora S, preko rutera B na slici 11.14, paket e biti
emitovan do svih ostalih portova.
ruter C
ruter B
ruter A
Sledei "skok" za
paket namenjen za S
ostali ruteri
Emitovanje paketa koji potie
iz S ako Je stigao od B;
odbacuje se ako Je stigao
preko nekog drugog porta
SLIKA 11.14 Ruter izvrava protokol inverznog emitovanja.
Emitovanje paketa koji potie iz S ako je stigao od B; odbacuje se ako je stigao preko nekog
drugog porta. (Broadcast packet originating at S if it arrives from B; drop it if it arrives over any
other port.)
' Uanji ne znai mali. I dalje mogu da postoje hiljade rulera koji pokreu Mbone softver.
(a) Nema rutera iza A
SLIKA 11.15 Skraivanje stabla
(b) Iza A postoje ruteri
ruter C nema hostova
u grupi
netna hostova
u grupi
ruter A
Prune pomka
ruter B ruter B
ruter A
Prune poruka
Prune poruka
Ako primi paket preko bilo kog drugog porta, paket e biti odbaen. Ovo je slino defmisanju
emisionog stabla sa izvorom S kao korenom stabla i prosleivanju paketa samo du putanja koje
vode od S. Dok svi ostali ruteri rade isto, paketi nee "putovati" preko petlji.
Ipak, ovaj metod, sam po sebi, ne funkcionie dobro kod multicastinga. Paket moe da bude
poslat u smerovima u kojima nema hostova iz multicast grupe. Zbog toga, emisiono stablo sa
izvorom S kao korenom stabla mora da se "potkree" da bi bile eliminisane takve grane. Zato je
druga komponenta u DVMRP algoritam za skraivanje koji postavlja granice kuda ruter moe da
prosleduje poruke.
Pretpostavimo da ruter dobije multicast paket. Startuje korienjem RPB-a i inicijalno multicast
paketi mogu da idu do lokacija na koje nije neophodno da idu. Medutim, pretpostavimo da ruter
dobija multicast paket, ali da je povezan na mreu koja nema hostove u toj multicast grupi.
Seate se da IGMP protokol neprestano obezbeuje najnovije informacije za rutera ko je u toj
grupi. U ovom sluaju on alje Prune poruku do rutera od koga je dobio multicast poruku. Kada
ruter dobije Prune poruku pridruenu njegovoj multicast adresi, on zaustavlja multicasting u tom
smeru (primer je prikazan na slici 11.15a). Ruter A dobija multicast poruku od rutera B, ali mrea
na koju je A povezan nema hostove u toj grupi. A alje do B Prune poruku i B vie ne alje do A
multicast poruke.
Ponovo smo isuvie pojednostavili ceo proces! ta bi bilo da smo imali situaciju sa slike 11.15b?
Moda postoje hostovi koji su proli ruter C, a nalaze se u grupi. U tom sluaju ruter B mora i
dalje da poalje multicast pakete do A. Ipak, pretpostavimo da A primi Prune paket od C i Prune
pakete od svih narednih rutera. U tom sluaju nema razloga da se alju multicast paketi u bilo
kom od tih smerova i A moe da poalje Prune paket do B, traei od B da prestane da alje takve
pakete.
ta se deava ako A naknadno dobije IGMP poruku od hosta koji ukazuje da se pridruio grupi?
Poto je A izbaen iz stabla, nee dobiti multicast pakete. Ipak, A moe da poalje Graft poruku
do B, ukazuju da bi B trebalo da nastavi da alje multicast pakete do A.
Sasvim je sigurno da ima i drugih pitanja, ali, kao i obino, ovde smo se bavili samo osnovama.
Vie detalja o rutiranju ka vie odredita moete da pronaete u referencama [Ko98], [Gr02], i
[HaOl]. U stvari, rutiranje ka vie odredita je razvijeno i za IP preko LEO satelita (ref. [Ek02]).
Resource Reservation protokol (RSVP)
Dui niz godina kritikovan je IP da nije ispunio QoS zahteve za mnoge novije aplikacije. Proces
auriranja tabela rutiranja i nezavisnog prosledivanja paketa sigurno omoguava dolazak paketa
sa razliitim brzinama. Za prenos fajlova, email i^uifovanje Webom to ne predstavlja problem.
Meutim, aplikacije kao to su ivi video prenosi na vie odredita imaju QoS zahtev koji
odreuje minimalnu bitsku brzinu. To znai da paketi moraju da stiu minimalnom brzinom
koja je odreena potrebama krajnjeg korisnika.
Mree poput telefonskog sistema oslanjaju se na fizika kola za prenos govornih podataka u
realnom vremenu. U Poglavlju 13 predstaviemo Asynchronous Transfer Mode (ATM), protokol
koji prenosi podatke pomou virutelnih kola (videti Poglavlje 1). Slinost se ogleda u tome to
kod obe mree, pre ikakve razlike podataka, postoji proces signalizacije koji uspostavlja kolo koje
e biti korieno. Kada se kolo defmie, logika u svakom komutatoru rezervie ono to je potrebno
za garantovanje prijema i prenosa podataka dovoljno velikim brzinama za ispunjavanje QoS
zahteva. Ovo nije mogue kod IP-a.
Zato je IETF razvio Resource Reservation Protocol (RSVP), protokol koji ispunjava QoS zahteve
preko Interneta. Ovaj protokol ugrauje poruke u IP pakete. Te poruke sadri informacije o
odreenom toku podataka i zahtevima za dovoljnom koliinom resursa koji se moraju rezervisati
da bi bili ispunjeni QoS zahtevi. Moe da se koristi sa razliitim reenjima, ali ovde ga opisujemo
u kontekstu rutiranja ka vie krajnjih korisnika za razliitim QoS zahtevima.
Na slici 11.16 definisan je na kontekst. Preko mree je uspostavljena video linija i video podaci
e biti rutirani ka vie krajnjih korisnika. Meutim, razliiti korisnici imaju razlidte mrene
konekcije koje ograniavaju brzinu kojom mogu da primaju podatke. A ima sporu konekciju koja
mu ne doputa gledanje videa u visokoj rezoluciji, dok B ima high-speed konekciju koja to
omoguava. Kako poiljalac moe da poalje podatke za oba korisnika?
Jedan nain za reavanje ovog problema je transfer video podataka po slojevima. Tako poiljalac
moe da funkcionie nezavisno od primaoevih potreba i mogunosti. Osnovni sloj moe da
obezbeduje jednostavnu video sliku u niskoj rezoluciji. Drugi sloj visoke rezolucije moe da se
koristi za poboljavanje slike kreirane na osnovnom sloju. Naravno, za to je neophodno imati
vee bitske brzine. Korisnik A moe da primi samo podatke sa osnovnog sloja na niim
brzinama, dok korisnik B moe da prima podatke sa oba sloja na veim bitskim brzinama. Oba
korisnika imaju odreene QoS zahteve, a RSVP im omoguava da postavljaju zahteve
posrednikim ruterima koji e ispuniti te zahteve.
SLIKA 11.16 Prijem ivog video prenosa na razliitim brzinama
RSVP definie dva tipa poruka koje ovo rade. Te poruke se ugrauju u IP pakete koja u polju
Protocol imaju vrednost 46. Ruteri koji znaju RSVP mogu da izvuku te poruke i da izvre
odgovarajue akcije. Prva poruka je Path poruka - poiljalac je alje preko multicast stabla do
svakog primaoca. Kada Path poruka stigne u ruter, pamti se adresa rutera sa koje je stigla. Ovo se
kasnije koristi kada se postave QoS zahtevi. Path poruka sadri i Tspec identifikator poiljaoca
(identifikator saobraaja), parametar koji opisuje saobraaj (na primer, bitsku brzinu kojom e
poiljalac prenositi podatke).
Kada primalac dobije Path poruku, inicira QoS zahtev slanjem Reserve poruke. Reserve poruka
prvo ide do rutera koji je isporuio Path poruku. Svaki ruter alje Reserve poruku do rutera koji
je poslao prethodnu Path poruku (ova informacija je zapamena kada je stigla Path poruka).
Tako Reserve poruka ide navie kroz multicast stablo.
Reserve poruka sadri informacije o QoS zahtevima koje primalac oekuje - na primer, o zahte-
vanoj bitskoj brzini. Ruter izvlai ove informacije i zna da mora da prosledi pakete dovoljno brzo
da bi se generisala traena bitska brzina. Zato moe da rezervie resurse koji e biti neophodni
(moda prostor u baferu) i da modifikuje svoje parametre za planiranje tako da paketi mogu da
se proslede traenom brzinom.
Ovakvi paketi mogu da se identifikuju na osnovu izvorne i odredine adrese i vrednosti koja je
smetena u polju Type of Service u zaglavlju paketa. RSVP ne defmie kako ruter to treba da
izvede; obezbeduje samo traene QoS zahteve. Ruter radi ono to je potrebno, u zavisnosti od
svog dizajna. Nakon toga, prosleuje Reserve poruku do narednog vieg rutera u multicast stablu,
Meutim, pretpostavimo da ruter primi nekoliko Reserve poruka od rutera koji se nalaze ispod
njega u stablu. Ako svaki od njih ima drugaije QoS zahteve u istom nizu, ruter treba da poalje
samo jednu Reserve poruku do svog prethodnika, sa naznakom maksimalne traene brzine. Na
primer, pretpostavimo da C i D (slika 11.17) zahtevaju QoS od 1 Mbps i 2 Mbps.
high-speed konekcija
visoka
rezolucija
osnova
osnova
spora konekcija
osnova
visoka
rezolucija
video podaci
potrebna 1 Mbps^
D
C
potrebna 2 Mbps
potrebna 2 Mbps
A B
SLIKA 11.17 Meanje Reserve poruka
B mora da obezbedi maksimalnu brzinu medu postavljenim zahtevima, tako da alje Reserve
poruku do A sa naznaenom potrebom za 2 Mbps.
Informacije u Reserve poruci definiu meko stanje (soft state) rutera. Za razliku od strogog (hard)
stanja (ono se definie za virtuelne putanje), koje mora eksplicitno da se promeni, meko stanje
ostaje na snazi u kraem periodu. Nakon toga, ruter se vraa na svoje podrazumevane procedure.
Da bi odrao meko stanje, ruter mora periodino da prima Reserve poruke.
Meko stanje postoji jer se ruteri na Internetu mogu menjati. "Otkaz", ili zaguenje rutera mogu
da iniciraju auriranje tabela rutiranja i preusmeravanje saobraaja na neku drugu rutu. Kada se
ovo desi, novi ruteri moraju da implementiraju primljene QoS zahteve primaoca, a stari ruteri
vie ne bi trebalo da rezerviu zahtevane resurse.
Ovde je pretpostavljeno da postoji samo jedan multicasting, ali u praksi moe da postoji vie
multicastinga iz razliitih izvora. Osim toga, RSVP nije ogranien iskljuivo na ovakvu vrstu
rutiranja. U referenci [Fo03] moete da pronadete dodatne detalje o ovom protokolu.
Internet Control Message protokol (ICMP)
Poto IP ne garantuje pouzdan servis, Internet Control Message Protocol (ICMP) koristi se za
podnoenje izvetaja o grekama i za obezbedivanje najnovijih informacija za rutere o uslivima
koji su stvoreni na Internetu. ICMP alje poruke, ugradujui ih u IP pakete i postavljajui polje
Protocol u zaglavlju na I.
Sledea lista sadri neke tipine kontrolne poruke koje ICMP alje.
Destination Unreachable Kao to smo ranije istakli, IP ne moe da garantuje
isporuku paketa. Odredite moda ne postoji, ili je trenutno nefunkcionalno,
poiljalac je moda postavio zahtev za rutom koju je nemogue izvesti, ili je paket
sa postavljenim flegom Do Not Fragment isuvie veliki da bi se enkapsulirao u
okvir. U takvim situacijama ruter detektuje greku i alje ICMP paket do originalnog
poiljaoca. Moe da sadri celo IP zaglavlje neisporuenog paketa i prva 64 bita
njegovih podataka, tako da poiljalac moe da prepozna paket koji nije mogao
biti isporuen.
Echo Request ICMP koristi ovaj paket kako bi utvrdio da li je odredeno odredite
dostupno. Na primer, ako A eli da zna da je B dostupan, on alje Echo Request paket
adresiran na B. Ako B primi paket, on reaguje slanjem Echo Reply paketa nazad do A.
Echo Reply paket vraa sve podatke koji su bili postavljeni u Echo Request paket. Ovo
je moda jednostavnije od pokretanja protokola sa celim nizovima paketa koji se alju
do odredita samo da bi se na kraju utvrdilo da nije dostupno.
Echo Reply alje se kao odgovor na Echo Request paket. Korisnici moda od ranije
znaju za komandu ping, koja koristi kombinaciju Echo Request/Reply paketa.
Korisnici mogu da izdaju komandu ping nazivhosta na UNIX-U, ili iz DOS
prompta kako bi se utvrdila dostupnost hosta. Na primer, unoenjem komande
ping www.uwgb.edu -c 3 iz Linuxovog prompta generie se slede izlaz:
PING weba.uwgb.edu ( 143. 200. 128. 158) f r om 143. 200. 128. 235
: 56(84) byt es of dat a.
64 bytes from weba.uwgb.edu (143.200.128.158): icmp_seq=1
tt1 = 128 time =0.198 ms
64 bytes from weba.uwgb.edu (143.200.128.158): icmp_seq=2
tt1 = 128 time =0.190 ms
64 bytes from weba.uwgb.edu (143.200.128.158): icmp_seq=3
tt1 =128 time=0.l80 ms
Unoenje ping komande inicira ICMP da poalje sekvencu Echo Request paketa do naznaenog
odredita. Opcija - c 3 definie broj paketa koji e biti poslati. Prethodno prikazane linije izlaza
predstavljaju vraene Echo Reply pakete. Poslednja vrednost u svakom odzivu je vreme punog
kruga.
Parameter Problem Pretpostavimo da IP paket sadri greku, ili nedozvoljenu
vrednost u nekom polju zaglavlja. Ruter otkriva greku i alje Parameter Problem paket
nazad do izvora. Ovaj paket sadri problematino IP zaglavlje i pokaziva na polje
zaglavlja u kome postoji greka.
Redirect Pretpostavimo da host stanica alje paket do rutera i da ruter zna da paket
moe da se bre isporui preko nekog drugog rutera. Da bi se olakalo budue rutiranje,
ruter alje Redirect paket nazad do hosta. On obavetava host stanicu gde se drugi
ruter nalazi i da bi ubudue sve pakete do istog odredita trebalo slati njemu. Ovako je
omogueno dinamiko auriranje tabela rutiranja i na taj nain je mogue povoljno
iskoristiti neke primene uslova na mrei. Redirect paket se ne koristi za auriranje rute
izmeu rutera, jer IP paket sadri izvornu adresu, a ne adresu rutera koji je prethodno
imao paket. Kada ruter primi paket od drugog rutera, on ne moe da zna tano od
koga je paket stigao.
Source Quench Ako ruter primi isuvie veliki broj paket od hosta, moe da poalje
poruku kojom zahteva redukovanje uestalosti kojom se paketi alju.
Time Exceeded Time Exceeded paket se alje kada je vrednost polja Time to Live u
IP paketu dostigla O, ili kada je tajmer za ponovno sastavljanje paketa (postavljen
prilikom prijema prvog fragmenta paketa) istekao. U svakom sluaju, paket, ili neki
nesastavljeni fragmenti se odbacuju sa mree. Ruter koji je kriv za njihovo odbacivanje
alje Time Exceeded paket do izvora kako bi se ukazalo da paketi nisu isporueni.
Timestamp Request i Timestamp Reply Vremenska oznaka paketa (timestamp)
omoguava hostu da proceni koliko je vremena potrebno za krug do drugog hosta i
nazad. Host kreira i alje Timestamp Request paket u kome se nalazi vreme prenosa
(originalna vremenska oznaka). Kada prijemni host dobije paket, on kreira Timestamp
Reply paket koji sadri originalnu vremensku oznaku - trenutak u kome je prijemni
host dobio paket (vremenska oznaka prijemne strane) i vreme kada je prijemni host
poslao odgovor (vremenska oznaka prenosa). Kada primi odgovor, originalni poiljalac
belei vreme dolaska. Razlika izmeu vremena dolaska i originalne vremenske oznake
predstavlja vreme kruenja. Izraunavanjem razlike izmedu vremenske oznake prijema i
prenosa host moe da utvrdi koliko je drugom hostu trebalo vremena da generie odziv
na zahtev. Oduzimanjem tog vremena od vremena kruenja host moe da proceni
vreme prenosa i zahteva i odgovora. Vremenske oznake paketa omoguavaju hostu da
proceni efikasnost mree u isporuci paketa.
Address Mask Request and Reply Ranije smo pominjali podmree kao jedan
mogui nain za dodeljivanje istog broja IP mree za vie fizikih mrea. Korienjem
nekoliko dodatnih bitova iz dela lokalnog ID-ja u IP adresi brojevi podmree mogu da
se dodele razliitim fizikim mreama. Na primer, sajt Klase B moe da upravlja sa
osam zasebnih fizikih mrea pomou tri bita iz lokalnog ID-a za naznaavanje fizike
mree. Ti bitovi, zajedno sa 16-bitnim brojem IP mree, formiraju broj podmree.
Da bi izvukao broj podmree iz IP adrese, interni ruter koristi masku adrese
podmree (subnet address mask) i izvrava logiku operaciju I na nivou bitova
izmeu maske i konkretne IP adrese. Na primer, pretpostavimo da je prethodno
pomenuti sajt Klase B imao IP adresu 143.200.123.78. Koji je broj podmree?
U ovom sluaju maska adrese je 255.255.224.0, ili
11111111.11111111.11100000.00000000
(primeujete da postoje 19 jedinica zbog 16-bitnog broja IP mree i tri bita iz lokalnog
ID-a). Zatim, primenjuje se logiko I izmedu bitova maske i IP adrese. Rezultat je
19-bitni broj podmree (iza koga sledi 13 nula) - u ovom sluaju 143.200.96.0. Host
moe da poalje Address Mask Request paket do rutera da bi utvrdio masku adrese za
mreu na koju je prikljuen. Ruter moe da poalje odgovor.
Information Request i Information Reply Ove poruke su originalno dizajnirane
kako bi host utvrdio svoju IP adresu kada se startuje. To sada obino rade drugi
protokoli, tako da su ove dve poruke postale zastarele.
11.3 IPv6
Kao to smo istakli na poetku ovog odeljka, Internet protokol datira jo sa kraja 60-ih prolog
veka (na polju raunarstva to moe da se uporedi sa kamenim dobom). Ranije smo rekli da Je
Internet protokol poeo da pokazuje neke znake "starenja"; u ovom odeljku prestavljamo IPv6,
koji je naslednik tekue verzije Internet protokola (IPv4). Mnogi e moda pitati da li je postojao
IPv5. Jeste postojao, u izvesnom smislu. Protokol poznat kao ST2 (Stream Protocol version 2) bio
je razvijen kao vezi orijentisani protokol koji je funkcionisao na sloju 3. Namera je bila da se
razvije protokol za real-time podatke ija bi isporuka bila naznaena krajnjim rokovima.
Neki su videli ST2 kao naslednika IPv4 i nazivali su ga 1PV5. Medutim, poto je razvojem RSVP-a
(koji je ranije opisan) reen problem real-time QoS zahteva, 1PV5 je izbaen.
Nedostaci IP-ja
Originalna namena Interneta je bila povezivanje kompjutera i razmena podataka. Zato su bili
razvijeni protokoli koji su omoguili postizanje tog osnovnog cilja. Problem je to povezivanje
kompjutera nee biti jedini cilj globalne mree u budunosti i zato moraju da se pojave novi pro
tokoli koji e omoguiti ostvarivanje novih ciljeva. Kao to su personalni kompjuteri bili
fenomen 80-ih godina prolog veka, tako su multimedijalne i video aplikacije postale fenomen
deceniju kasnije i poetkom ovog veka. Zabava i digitalna tehnologija nastavljaju da se spajaju,
nameui nove zahteve koje globalne mree moraju da ispune. Servis plaanja po gledanju je ve
dostupan kod kablovskih sistema, a dostupno postaje i prikazivanje videa na zahtev. Sve vei broj
ljudi ve uiva u real-time video igrama preko Interneta.
Mobilnost je sledei aspekat razvoja. U trenutnoj Internet zajednici najvei deo host kompjutera
nikada ne menja lokacije. Premetaju se iz jedne kancelarije u drugu, ali to je problem lokalnog
upravljanja. Iz perspektive Internet protokola, oni zadravaju fiksne lokacije. Medutim, i to se
menja. Mobilni kompjuteri i satelitske tehnologije obezbeuju sredstva za komunikaciju dva
uredaja u svim delovima sveta. Protokoli moraju da se razvijaju tako da omogue povezivanje
miliona parova uredaja sa proizvoljnih lokacija.
Neki ljudi vide tekue tehnologije, kao to su mobilni telefoni, pejderi, PDA i prenosivi
kompjuteri, kao uredaje koji e eventualno prerasti od uredaja za line potrebe u ureaje koji
mogu da ispune razliite vrste zahteva. Iniciranje telefonskih poziva i prihvatanje poruka preko
pejdera predstavljaju sasvim uobiajene funkcije, ali mnogi smatraju da e doi dan kada e ti
ureaji omoguavati mnogo vie.
U kuama e moda postojati kompjuterizovani ureaji sa kojima e moi da se komunicira. Ako
se vracate svom domu kasnije nego to ste planirali, mogli biste da iskoristite personalni
komunikacioni ureaj za ukljuivanje svetla u kui, ili za ukljuivanje penice. Senzorski sistem
moe da poalje signal ako ste zaboravili da zakljuate sva vrata, ili da ugasite svetla, tako da biste
mogli da to ispravite opet korienjem istog sistema.
Moda ete moi da ukljuite uredaj u prenosivi kompjuter i da preuzimate fajlove sa bilo kog
udaljenog kompjutera kojem imate pristup, bez korienja telefona. Sistem biste mogli iskoristi-
ti i da nahranite svog sajber ljubimca koga ste ostavili kod kue. Sve ove aplikacije bi zahtevale
komunikacije nezavisne od mesta.
Bezbednost je sledei problem. Internet protokol nije preterano siguran. Zbog toga su za veinu
aplikacija veoma bitne lozinke, tehnike autentifikacije i firewalli. Ljudi prepoznaju da paketi koji
stiu na Internet mogu da stignu doslovno iz bilo kog dela sveta i zato su za zatitu resursa
neophodne veoma jake mere zatite. U poslednjih nekoliko godina svedoci smo raznih prevara i
upada na privatne kompjutere, tako da je svima jasno da zatita uvek mora da bude prioritet.
I pored svega toga, najvaniji cilj kod razvoja svakog novog protokola je mogunost koegzistencije
sa tekuim sistemima. Najvea prepreka za uvodenje novih tehnologija u raunarstvo je
osiguravanje konkurentnog izvravanja sa postojeim tehnologijama. Kasnije bi, tokom godina,
SLIKA 11.18 Zaglavlje lPv6 paketa
32 bita
32 bita
128 bita
128 bita
odredina adresa
izvorna adresa
duina korisnih informacija
sledee
zaglavlje
granica
broja
"skokova"
oznaka toka prioritet verzija
aplikacije postepeno prelazile sa starih tehnologija na nove. Na globalnoj skali jednostavno ne
postoji ni jedan drugi nain da se to izvede.
Ljudi razmiljaju o ovome vegodinama. Internet Engineering Task Force (IETF) poinje 1991.
godine da razmatra problem promene postojeeg IP-ja i kreiranje nove generacije IP-ja,
neformalno nazvane IPng (IP Next Generation - IP nove generacije). U pokuaju da se ukljui
kompjuterska zajednica, pozvani su razni profesionalci (istraivai, proizvodai, prodavci, pro-
grameri, itd) da daju svoje predloge.
Oformljeni komitet nazvan IPng Directorate razmotrio je predloge i mnoge odbacio, jer su bili
namenjeni specijalnim zahtevima, ili su bili isuvie kompleksni. Meutim, jedan predlog koji je
ukljuivao dizajn pod nazivom Simple Internet Protocol - SIP (ref. [De93]) bio je proiren tako
da se iskoriste ideje opisane u drugim predlozima. Rezultujui protokol je dobio naziv Simple
Internet Protocol Plus (SIPP).
IETF se 1994. godine sastao u Torontu i, na osnovu preporuka IPng Directorate, izabrao je SIPP
kao osnovu za sledeu generaciju Internet protokola, koja je formalno trebalo da bude poznata
kao IPv6 (IP verzija 6). Internet Engineering Steering Group neto kasnije te godine daje
odobrenje protokola i uvodi protokole u proces standardizacije u toku naredne godine. Daemo
opti pregled IPv6 protokola; zainteresovani itaoci mogu da u referencama [Hi96], [St96],
[Br95], i [CoOO] pronau vie detalja.
Zaglavlja paketa
Razmatranje o IPv6 poinjemo prouavanjem formata koji se koristi za zaglavlje paketa. Tako
dobijamo radni okvir u kome moemo da objasnimo neke opcije koje IPv6 obezbeduje i da
ukaemo na razlike u odnosu na tekuu verziju Internet protokola. Na slici 11.18 prikazano je
zaglavlje 1PV6 paketa. U poreenju sa IPv4 paketom sa slike 11.5, odmah se uoavaju dve razlike.
IPv6 adrese imaju vie bitova, a u zaglavlju postoji manje opcija. To moda deluje kontradiktorno
sa ciljem da se obezbede dodatne mogunosti, ali to nije tako, kao to ete uskoro videti.
Polje Version je duine etiri bita i identifikuje verziju IP-ja koju ovaj paket predstavlja (vrednost
4 za tekuu verziju IP-ja, a 6 za novu).
Polje Priority takode ima etiri bita i izuzetno je korisno za kontrolu zaguenja. Koncept priorite-
ta je jednostavan: vie vrednosti ukazuju na znaajnije pakete. Bitno je kako se prioriteti koriste.
Ve smo objasnili zaguenje i neke naine za njegovo reavanje. IPv6 prepoznaje da su kanjenja
u nekim aplikacijama, kao to je email, esto i neprimetna, dok kanjenja u nekim daigim
aplikacijama, kao to su multimedijalne, ine gledanje skoro nemoguim. Trik je u tome da se
identifikuje koji paketi odgovaraju kojim aplikacijama.
Sajt sa koga se alju IP paketi moe da iskoristi ovo polje za definisanje znaaja paketa u odnosu
na ostale pakete koji se alju sa istog mesta. Vrednosti prioriteta se nalaze izmedu 0 i 7 i odgo-
varaju paketima koji se mogu zadravati malo due radi reavanja zaguenja. IPv6 preporuuje
vrednosti u zavisnosti od aplikacije. Na primer, email ima prioritet 2, FTP i HTTP 4, Telnet 6, a
SNMP 7. Kao to moete da vidite, vie vrednosti odgovaraju aplikacijama kod kojih su kanjen-
ja primetna. Vrednosti iznad 7 odgovaraju real-time, ili multimedijalnim aplikacijama, sluajevi-
ma kada kanjenja mogu da budu veoma neprikladna, do krajnje neprihvatljivosti. Na primer,
prezuimanje zvunih, ili video fajlova radi prikazivanja u realnom vremenu zahteva izuzetno
mala, ili nikakva kanjenja. Naravno, ako kanjenja mogu nekako da se sinhronizuju sa potreba-
ma gledaoca da predahnu, onda ipak mogu da se toleriu.
24-bitno polje Flow Label koristi se zajedno sa poljem Priority. Ideja je da se identifikuju paketi
koji zahtevaju "specijalni tretman" u ruterima. Normalno rukovanje zahteva od rutera da pretrae
svoje tabele rutiranja pre nego to proslede pakete. Poto se te tabele menjaju vremenom, paketi
sa istim odreditem mogu da "putuju" preko razliitih ruta.
IPvG definie tok (floiv) kao sekvencu paketa koji se alju od izvora do jednog odredita, kao odziv
na neku aplikaciju. Ako su ti paketi dizajnirani za prikazivanje u realnom vremenu na odreditu,
specijalni tretman moe da podrazumeva njihovo rutiranje na isti nain (i brzo) kako bi se
garantovao dolazak u ispravnom redosledu. U stvari, ovo prilino podsea na virtuelno kolo. Da
bi se uspostavio tok, izvor generie nasumino izabrani nenulti broj i smeta ga u polje Flow
Label svih paketa u tom toku. Ruter primenjuje hash funkciju na broj toka kako bi se izraunala
lokacija na kojoj se nalaze informacije o tome kako paket treba tretirati. Instrukcije o specijalnom
tretmanu su postavljene pre slanja paketa. Ruter koristi hash funkciju zato to ona u optem
sluaju predstavlja najbri nain da se neto pronade. Nasumini brojevi su korieni zato to
dovode do manjeg broja kolizija kada se na njih primene hash funkcije. Ipak, kao krajnji
zakljuak moe da se naglasi da ruter treba da poalje pakete to pre.
16-bitno polje Payload Length predstavlja broj bajtova u paketu minus 40. Poto je zaglavlje
dugako 40 bajtova, ovo polje defmie koliko znaajnih bitova sledi iza njega. Nemojte da
mislite da duina polja sa korisnim informacijama oznaava broj bajtova sa podacima. Ako
postoji samo jedno zaglavlje, onda je takav zakljuak ispravan, ali iza prvog moe da sledi vie
drugih zaglavlja.
Polje Hop Limit u sutini ima istu funkciju kao i polje Time to Live kod IPv4 paketa.
Ovo nas dovodi do 8-bitnog polja Next Header, koje predstavlja znaajnu razliku u poreenju sa
IPv4 paketima. Tekue zaglavlje IPv4 paketa sadri polja Options i Protocol, pomou kojih se
naznaava kada ruter treba da preduzme odredene akcije. Poto se u polje sa tim nazivom
ugratuju razliite opcije, svaki ruter mora da parsira zaglavlje paketa (specijalno polje Option)
kako bi utvrdio da li postoje opcije koje mogu da utiu na njegove odluke. To zahteva dodatnu
logiku i vreme koje ruter mora da izdvoji, to usporava ceo proces rutiranja.
Da bi se omoguilo navoenje razliitih opcija, IPv6 ima zaglavlje proirenja (extension header),
dodatno zaglavlje izmedu zaglavlja sa slike 11.18 i korisnih informacija paketa (podataka). Svako
dodatno zaglavlje ima i polje Next Header, koje defmie tip dodatnog zaglavlja koje sledi (ako
postoji). Ovo omoguava nekoliko zaglavlja proirenja koja se postavljaju izmedu originalnog
zaglavlja i korisnih informacija paketa; svako od njih ukazuje na razliitu opciju. Ako nema
zaglavlja proirenja, onda, poput polja Protocol u IPv4 zaglavlju, polje Next Header defmie
transportni protokol (na primer, TCP, ili UDP) koga IPv6 koristi. Moda se najznaajnijim a
spektom ovog uredenja moe smatrati to to e neka dodatna zaglavlja ruteri ignorisati. Tako e
ruteri moi bre da prosleduju pakete.
Sadraj i format svakog dodatnog zaglavlja zavisi od njegovog tipa. Ovde predstavljamo est
tipova:
Destination options header (Zaglavlje sa opcijama za odredite) Ovo zaglavlje
obezbeduje informacije za odredite. Ne koristi se za vreme rutiranja.
Fragmentation header (Zaglavlje fragmentacije) Ovo zaglavlje obezbeduje
informacije za sluaj da je neophodno ponovo sastaviti fragmente paketa. Kao takvo,
ono sadri stavke kao to su ofset fragmenta, bit Last Fragment i identifikator koji je
jedinstven za originalni paket. Ovo je umnogome slino fragmentaciji i procesu
ponovnog sastavljanja kod IPv4. Ipak, postoji jedan znaajna razlika. Prelazni IPv4
ruteri su mogli da fragmentiraju dolazee pakete ako su bili suvie veliki. IPv6 ne
doputa fragmentiranje paketa u prelaznim ruterima. Ovo je znaajno zbog toga to
uproava logiku U ruteru i doprinosi efikasnijem i brem rutiranju. Naravno, namee
se logino pitanje ta se deava ako ruter dobije paket koji je suvie veliki da bi bio
poslat preko mree. U tom sluaju ruter jednostavno odbacuje paket i alje poruku
(preko ICMP-a) nazad do izvora. Ta poruka ukazuje da je paket bio suvie veliki i
naznaava se maksimalna doputena veliina. Izvor e nakon toga fragmentirati paket
i poslati fragmente, koji sadre zaglavlje fragmentacije. Fragmenti se ponovo
sastavljaju na odreditu.
Hop-by-hop header (Zaglavlje za pojedinane "skokove") Ovo zaglavlje, ako
postoji, mora da se proui u svakom ruteru. Ideja je da se navedu sve informacije koje
moraju da imaju svi ruteri. Postoji nekoliko moguih opcija. Poto je duina polja
Payload Length 16 bitova, maksimalna velidna paketa je 64 KB. Ovo zaglavlje doputa
dambo pakete, pakete vee od 64 KB. Ovo je korisno prilikom prenosa velikih koliina
podataka, kao u sluaju video zapisa. Sledeca opcija je olakavanje RSVP protokola,
gde paketi sadre informacije o rezervisanom propusnom opsegu koji mora da se
obezbedi u svakom ruteru.
Routing header (Zaglavlje za rutiranje) Ovo zaglavlje obezbeduje dodatne
informacije o rutiranju, kao to je opcija Loose Route kod IPv4. Odnosno, sadrae
128-bitne adrese rutera preko kojih ovaj paket mora da pree.
Security header (Bezbednosno zaglavlje) Ovo zaglavlje ukazuje na injenicu da su
korisne informacije paketa ifrovane.
Authentication header (Zaglavlje autentiflkacije) Ovo zaglavlje slui za
autentifikaciju paketa koja se koristi sa IPSec, bezbednosnim protokolom na nivou
paketa.
IPSec
Dugogodinje kritike na raun Interneta odnosile su se na nedostatak zatite. Sve bezbednosne
mere su morale da se implementiraju na viim slojevima i da se ugovore pre bilo kakve razmene
informacija. Zato je IETF razvio IPSec, protokol dizajniran za obezbeivanje bezbednih prenosa
na nivou paketa. IPSec se izvrava direktno iznad IP-ja, ali ispod bilo kog transportnog protokola
sloja 4, kao to je TCP. Zato su sve IPSec bezbednosne mere transparentne za protokole sloja 4 i
viih slojeva.
Postoji prednost implementiranja zatite i autentifikacije na ovom nivou. Na primer,
pretpostavimo da se aplikacija oslanja na SSL, ili TLS, radi autentifikacije. Pretpostavimo da na
sloju 4 TCP razmenjuje segmente koristei mehanizme za kontrolu toka (to jeste tako, kao to
ete uskoro videti). "Uljez" moe da poalje lani TCP segment u niz segmenata. Ako TCP
segment ima validan broj sekvence, TCP ga prihvata i prosleduje do SSL, ili TLS, radi verifikacije.
Ako je segment bio falsifikovan, bezbednosni sloj ga detektuje. Ipak, TCP sada trai sledei TCP
segment. Kada pravi segment stigne, TCP ga odbacuje. Da se autentifikacija desila na niem sloju,
ovo se ne bi dogodilo.
IPSec ima tri glavne komponente: zaglavlje autentifikacije (AH) koje obezbeuje autentifikaciju
paketa, Encapsulating Security Payload (ESP) za ifrovanje paketa i autentifikaciju i protokol za
razmenu kljua. Tako su mogue razliite kombinacije autentifiakcije, ifrovanja i servisa za
razmenu kljua. Specifina kombinacija zajedno sa odredinom adresom defmie bezbednosnu
asocijaciju (security association) i nain na koji se bezbedne informacije prenose i kome se prenose.
AH moe da postoji kao jedno od dodatnih IPv6 zaglavlja, ili moe da sledi iza IPv4 zaglavlja. U
poslednjoj varijanti polje Protocol u IPv4 zaglavlju ima vrednost Sl kako bi se ukazalo na
prisustvo AH. AH sadri sledea polja:
Security Parameter Index (SPI) Ovo polje sadri kod koji, zajedno sa odredinom
adresom, definie bezbednosnu asocijaciju. Korienje razliitih vrednosti polja SPI
omoguava biranje izmeu nekoliko bezbednosnih opcija i opcija za autentifikaciju.
Sequence number Svaki paket ima jedinstveni broj sekvence za odreeno SPI polje.
Njegova svrha je slina onoj koja je opisana u Poglavlju 8 - ne prihvatati redundantne
pakete. Ovo je, u sutini, kontrola toka za pakete sa konkretnom vrednou polja SPI.
Ipak, koristi se zbog razliitih razloga da se spree napadi odgovorima (replay
attacks). Oni se deavaju kada prislukiva nadgleda saobraaj i kopira pakete (packet
sniffing) koji su u tranzitu (slika 11.19a). Ako su ti paketi poslati radi uspostavljanja
konekcije, ili obezbedivanja pristupa nekom servisu, ponovno slanje (slika 11.19b)
omoguava prislukivau da uradi isto, zaobilazei normalne protokole. Na primer,
paketi mogu da sadre korisniko ime i lozinku koji se alju radi logovanja na
udaljeni sistem, ili radi pristupa linim podacima. Prislukiva moe da pokua da
imitira istu akciju kasnije ponovnim slanjem tih paketa kako bi dobio pristup.
poiljalac
paket paket
paket
prislukiva
paket
paket odredite
(a) Kopiranje paketa
paket
paket
odredite
(b) Kasnije slanje paketa
SLIKA 11.19 Napad slanja odgovora
Ako su paketi sekvencirani u okviru SPI-a, svi ponovo poslati paketi sadre duplikate
brojeva sekvenci i odbacuju se. Naravno, kriminalac moe jednostavno da pokua sa
brojevima druge sekvence, ali to bi se onda detektovalo pomou mehanizama za
autentifikaciju.
Authentication Data Ovo polje sadri hash vrednost koja se izraunava u
zavisnosti od zaglavlja i sadraja paketa. Od ovog izraunavanja se izuzimaju sva
polja zaglavlja iji se sadraj moe menjati u toku rutiranja. Na primer, to se kod IPv4
odnosi na polje Time to Live, eksume i oznake toka.
ESP izvrava isti servis kao i AH, ali obezbeuje poverljivost ifrovanjem podataka. Kao i AH,
moe da postoji u vidu dodatnog IPv6 zaglavlja, ili moe da sledi iza IPv4 zaglavlja. Takode
sadri SPI, broj sekvence i polje Authentication Data. Osim toga, sadri polje Payload Data u
kome se nalaze ifrovani podaci. Metod ifrovanja i klju su definisani bezbednosnom asocijacijom
i, samim tim, vrednou SPI. Postoji i polje Pad, jer mnogi algoritmi za ifrovanje primenjuju
ifrovanje na nivou blokova i zahtevaju ceo broj blokova. Polje Pad se koristi ako poslednji
podaci ne popunjavaju ceo blok.
IPSec upravljanje kljuem se sastoji iz nekoliko delova, a nastalo je iz originalne inkarnacije. Prvi
deo je Internet Security Association and Key Management Protocol (ISAKMP). On ne definie
konkretne metode za razmenu kljua, ve formate paketa i pravila za razmenu paketa u kojima
se nalaze informacije o kljuu. Jedan algoritam za razmenu kljua koji je razvijen za korienje sa
ISAKMP je Oaldey Key Management Protocol.
Oakley je zasnovan na Diffie-Hellman algoritmu, ali ukljuuje neke protokole za autentifikaciju
koji se izvravaju pre razmene kljua. U skorije vreme on je prerastao u Internet Key Exchange (IKE)
mehanizam. IKE koristi javni i privatni klju za autentifikaciju i generisanje kljueva sesije. Nakon
toga, kljuevi sesije se koriste za ifrovanje sadraja paketa.
Poglavlje 7 je posveeno veim delom takvim aktivnostima i zato ih ovde neemo ponavljati.
Zainteresovani itaoci mogu da potrae vie detalja i analizu IKE u referenci [PeOO].
IPv6 adresiranje
Poslednja dva polja u zaglavlju IPv6 paketa su izvoma i odredina adresa, koje su jasne same po
sebi. Ono to nije jasno na prvi pogled jesu tipovi adresa koje IPv6 definie i neki problemi u vezi
kompatibilnosti sa IPv4 adresiranjem. Najoiglednija razlika u odnosu na IPv4 je to to su IPv6
adrese 128-bitne, etiri puta due od IPv4 adresa. Teorijski je omogueno 2
128
s 10
40
razliitih
adresa. Jedan od problema sa eksponencijalnom notacijom je to to je esto tee razumeti koliko
je to veliko, nego zapisati broj. Da biste lake razumeli koliko je veliko 2
128
, u referenci
[Hi96]izvrena su neka izraunavanja i pokazano je da ako bi se sve adrese rasporedile ravnomerno
po povrini cele zemaljske kugle, postojale bi 1.024 adrese na svakom kvadratnom metru, to je
vie nego dovoljno za svaku osobu, glistu i insekta na planeti.
Adrese se svrstavaju u tri opte kategorije: unicast, anycast i multicast. Unicast adresa definie
jedinstveni interfejs. Postoji nekoliko njenih tipova, koje emo predstaviti ubrzo. Anycast adresa
defmie grupu interfejsa. Paket sa anycast odredinom adresom moe da se isporui jednom
interfejsu u bilo kojoj grupi (obino u onoj koja je najblia izvoru). Multicast adresa definie
grupu, ali u ovom sluaju paket prolazi kroz svaki interfejs u grupi.
Notacija 128-bitnih adresa se razlikuje od one koja se koristi za IPv4. Korienje tekue notacije
u kojoj se takama razdvajaju trocifreni brojevi dalo bi notaciju koja sadri 16 trocifrenih
brojeva razdvojenih takama. Naravno, ovo postaje pomalo nezgrapno. Umesto toga, take se
menjaju dvotakama i svakih 16 bitova u adresi predstavlja heksadecimalnu notaciju etvorocifrenog
broja. Primer IPv6 adrese ima sledei oblik
7477:0000:0000:0000:0000:0AFF: 1BDF:7FFF
Svaka heksadecimalna cifra u ovoj reprezentaciji ima jedinstveni 4-bitni ekvivalent. Rezultat je i
dalje nezgrapan, ali je bolji od alternative.
Za adrese koje sadre mnogo nula (a sa 2
128
adresa bie ih dosta) koristi se skraena notacija. U
sutini, nule se ne navode, ve se na njihovo prisustvo ukazuje sa dve dvotake (::). Stvarni broj
nula koje nedostaju izraunava se oduzimanjem broja heksadecimalnih cifara u notaciji od 32,
broja heksadecimalnih cifara koje su potrebne za punu 128-bitnu reprezentaciju.
128-bitna adresa
010 registar provajder pretplatnik podmrea interfejs
SLIKA 11.20 Format unicast adrese
Na primer, prethodna adresa bi bila zapisana kao
7477::0AFF:1BDF:7FFF
Poto ova notacija sadri 16 cifara, znamo da mora da nedostaje 16 nula. U sluajevima kada
adresa poinje sa 0, notacija zapoinje dvotakom. Drugim reima, adresa
0000:0000:0000:0000:0AFF: 1BDF:000F:0077
moe da se zapie i kao
OAFF: 1BDF:000F:0077
Da bi se adrese dalje pojednostavile, vodee nule u okviru etvorocifrene grupe ne moraju da se
navode. Ovo omoguava uproavanje notacije na sledei nain:
::AFF: 1BDF:F:77
Kao to IPv4 deli svoje adrese na razliite klase u zavisnosti od vodeih bitova, to radi i IPv6.
Trenutno postoje 22 razliita tipa adresa; svaki ima jedinstven bitski prefiks. Prefiksi mogu da
sadre od tri do 10 bitova. Na primer, adresa koja poinje sa osam nula odgovara IPv4 adresi (u
stvari, IPv4 adrese poinju sa mnogo vie nula, ali o tome e biti vie rei neto kasnije). Adrese
koje poinju sa osam nula su multicast adrese. Adrese koje poinju sa 0000 010 kompatibilne su
sa Novellovim IPX protokolom. Veina preddefinisanih prefiksa jo nije dodeljena i rezervisana
je za dalji rast. Ovo ostavlja oko 85 odsto adresa za budue namene.
Posebno su interesantne unicast adrese, koje su najslinije IPv4 adresama. Na slici 11.20 prikazan
je format unicast adrese. Kao i kod IPv4 adrese, postoji hijerarhija; samo je jo sloenija. Prva tri
bita unicast adrese su 010. Preostali bitovi defmiu hijerarhiju sa pet nivoa. Primer topologije sa
slike 11.21 ilustruje moguu organizaciju hijerarhije.
U optem sluaju Internet provajder (ISP - Internet service provider) sklapa ugovore sa
korisnicima za obezbeivanje pristupa Internetu. Korisnici odredenog provajdera mogu da se
povezuju preko neke regionalne mree koja obuhvata grad, okrug, ili nekoliko okruga, u
zavisnosti od stepena naseljenosti. U nekim sluajevima korisnici mogu da budu velike
kompanije, ili univerziteti koji poseduju sopstvene hijerarhijeske strukture. Kao to je istaknuto
u odeljku 10.7, mogu da podele svoju mreu na podmree, kojima su dodeljeni jedinstveni
identifikatori.
Svet
dostupan
preko
Interneta
ruter provajdera
mrenih usluga
Interfejs A
Interfejs B
regionalna
mrea
Interfejs C
Interfejs D
univerzitetska mrea
SLIKA 11.21 IPv6 organizacija
Te podmree e obezbediti eventualni pristup ljudima koji koriste servise.
Poto postoji ogroman broj ISP-a, deo adrese sa slike 11.20 identifikuje provajdera. Tako je
rutiranje koje se izvodi da bi se pronaao odgovarajui provajder nezavisno od provajderovih
korisnika. Provajder svojim korisnicima dodeljuje pretplatnike ID-ove. Neke velike kompanije
mogu da defmiu sopstvene podmree. Svaka e imati svoj broj podmree, a pune IPv6 adrese
svih podmrea sadre isti pretplatniki broj. Konano, podmree povezuju korisnike. Svaki
korisnik na istoj podmrei ima drugaiji ID interfejsa, ali svi imaju isti broj podmree, pretplat-
niki broj i ID provajdera. Sve ovo je, u stvari, proirenje strategija hijerarhijskog rutiranja
objanjenih u odeljku 10.7.
Konano, JD registra na slici 11.20 odnosi se na medunarodne i kontinentalne granice. Kanadski
regio odrava listu autorizovanih provajdera u Kanadi. Slini registri postoje i u Sjedinjenim
Amerikim Dravama, Evropi i tako dalje. Zato se ID registra nalazi na vrhu hijerarhije i
omoguava donoenje odluka o rutiranju na osnovu geografskih lokacija. Ovo pomae paketima
poslatim iz Kanade u Sjedinjene Amerike Drave da izbegnu rutere u Evropi.
80 bitova 16 bitova 32 bita
IPv4 adresa
(a) IPv4-mapirana adresa
96 bitova
32 bita
(b) IPv4-kompatibilna adresa
IPv4 adresa
SLIKA 11.22 IPv4 adrese u Wv6 formatu
Kompatibilnost sa IPv4
Vie miliona kompjutera komunicira pomou IPv4. Ovako veliki broj onemoguava konverto-
vanje u IPv6 preko noi, ili u toku vikena. Potekoe koordinacije, neizbeni problemi i cene
ine ovaj scenario nemoguim. Da bi se prelo na IPv6, bie potrebno vie godina, zato to
individualni sajtovi moraju da defmiu vreme koje e im biti potrebno za implementaciju. Zato
i IPv4 i IPv6 ruteri moraju da koegzistiraju i da odravaju sve neophodne konekcije. IPv6
protokoli su dizajnirani tako da prepoznaju IPv4 protokole. Sa druge strane, IPv4 protokoli su
dizajnirani pre IPv6 i ne znaju nita o njemu. Ovo stvara neke probleme koji moraju da se ree.
Da bi bili reeni ti problemi, struktura IPv6 adresa doputa tipove IPv4 adresa. Na slici 11.22
prikazana su dva naina za postavljanje JPv4 adrese u strukturu IPv6 adrese. Poto su 1PV6 adrese
vee od IPv4 adresa, veoma je teko pronai nain da se smeste IPv4 adrese. Tei deo je navesti
dva protokola da zajedno rade. Na slici 11.22a prikazana je IPv4-mapirana adresa. Pretpostavimo
da paket mora da proe preko mree IPv6 rutera da bi stigao do IPv4 odredita. Jedna opcija je
da se ruteri prebace na IPv4 kada je u odreditu JPv4 vor. Poto je namena IPv6 da pobolja )Pv4,
to nije dobra opcija.
Ako ruteri pokreu 1PV6, kako znaju da je adresa za 1PV4 vor i kako da se ne interpretira u skladu
sa IPv6 hijerarhijom? Ovde ponovo nastupaju tipovi adresa. Osam nula i 16 jedinica oznaavaju
IPv4 adresu. Zato ruteri interpretiraju adrese u skladu sa IPv4 pravilima, to je suprotno od onoga
to se predlae na slici 11.20.
ta je sa suprotnim problemom? Pretpostavimo da dva IPv6 rutera moraju da razmene pakete, ali
jedina ruta vodi preko IPv4 rutera (slika 11.23a). Poto 1PV6 adrese sadre informacije koje se ne
mogu smestiti u IPv4 paket, izgleda da imamo ozbiljan problem. Sreom, postoji reenje -
tunelovanje. Na primer, pretpostavimo da A, B, C i D sa slike 11.23a koriste IPv6 i da A treba da
poalje paket do D.
SLIKA 11.23 Rutiranje IPv6 paketa preko IPv4 mrea
Naalost, jedini nain da se stigne od B do C je preko mree iji vorovi razumeju samo IPv4.
Poto je adresa za D 128-bitna, kako da propustimo taj paket preko mree koja nema koncept
128-bitnih adresa?
Kada B dobije IPv6 paket od A, on ga ugrauje u IPv4 paket (slika 11.23b) koji je namenjen za
C. IPv4 protokoli rade ono to je neophodno da se IPv4 paket prenese od B do C. Kada C
dobije paket, izvlai IPv6 paket iz IPv4 paketa. IPv6 rutiranje se efektivno nastavlja kada C poalje
paket do D. Iz perspektive IPv4 rutiranje na ovoj mrei se ne razlikuje od onog koje smo ranije
prikazali. Iz perspektive IPv6 postojao je jedan link od B do C (tj. tunel).
Sada se moda pitate, ako je C IPv6 ruter, kako da se njegova adresa postavi u IPv4 paket. Ovo je
deo prelaza. Svaki vor na bilo kom kraju tunela ima dodeljenu IPv4-kompatibilnu adresu, kao
na slici 11.22b, pored IPv6 adrese. Zato se lako smeta u zaglavlje IPv4 paketa.
Zakljuak
IPv6 izvrava iste primarne funkcije kao i IPv4, ali prua mogunost rutiranja bez uspostavljanja
konekcije. Ipak, ima dodatne mogunosti, kao to su autentifikacija i ifrovanje, kojih nije bilo u
IPv4. Osim toga, znaajno poveava adresni prostor i uproava zaglavlja kako bi rutiranje bilo
to efikasnije. I drugi faktori doprinose efikasnijem rutiranju sa IPv6. Fragmentiranje i ponovo
sastavljanje paketa vie se ne izvodi u meuvorovima. Kod IPv4 nema mogunosti za detekciju
greaka (nema eksume), za razliku od IPv4, ime su ruteri osloboeni ovog vremenski
zahtevnog posla. Uklanjanje eksume ne predstavlja nikakav znaajan gubitak. Veina mrea je
veoma pouzdana. Osim toga, protokoli nieg sloja veze i, kao to ete videti, protokoli vieg sloja
imaju metode za detekciju greaka.
IPv6
ruter
IPv6
ruter
mrea rutera koji
komuniciraju samo
pomou IFV4
IPv6
ruter
IPV6
ruter
(a) Topologija
A B C D
IPv6
paket
IPV6
paket
IPv6
paket
1PV6
paket
IPv4 paket IPv4 paket
(b) Tunelovanje
11.4 Transportni protokoli
Do sada smo se bavili prvenstveno mrenim operacijama. Formati okvira, rutiranje, kontrola
zaguenja i adresiranje imali su sutinski znaaj za omoguavanje komunikacije izmedu dva
ureaja. Meutim, podjednako je znaajno kako oni "razgovaraju". Transportni protokol je pro-
tokol najnieg sloja koji defmie ta jedan uredaj moe da "kae" drugom u ime korisnika. Nia
tri sloja definiu kako mrea funkcionie; transportni sloj je prvi sloj koji defmie protokol kra-
jnjeg korisnika.
Postoje slinosti sa ranije prikazanim protokolima veze po tome to je fokus postavljen na nain
na koji se informacije razmenjuju izmedu dva entiteta. Medutim, protokoli veze definiu komu-
nikacije medu uredajima izmedu kojih postoji fizika konekcija. Konekciji orijentisani transport
ni protokoli defmiu komunikacije izmeu sajtova sa logikim konekcijama, esto na veim ras-
tojanjima. Postoje i transportni protokoli koji se izvravaju bez prethodnog uspostavljanja veze,
ali za sada emo razmotriti samo konekciji orijentisani protokol.
Transportni sloj obezbeduje i "konekciju" koju korisnik opaa. Na primer, korisnici mogu da se
uloguju na kompjutere koji su smeteni na udaljenim lokacijama, tako da imaju utisak da su se
povezali. Ali, konekcija nije uspostavljena u fizikom smislu kao kada se koriste kablovi, ili kada
se iniciraju telefonski pozivi. Nije neophodno da postoji kolo koje je iskljuivo namenjeno za
prenos informacija izmeu korisnika i kompjutera.
Transportni sloj moe da obezbedi utisak konekcije, tako to se ponaa kao interfejs izmeu
korisnika i mrenih protokola. Ovo je slino sekretarici koja u ime svog direktora poziva klijente.
Sekretarica dobija zahtev od direktora, poziva traenog klijenta, pronalazi tu osobu i tako
uspostavlja konekciju.
Nakon toga, direktor moe da razgovara bez problema koje je sekretarica eventualno imala dok
jetraila tu osobu, koja je moda u tom trenutku moda bila na nekom znaajnom sastanku, na
pauzi za ruak, ili igrala tenis. Kada direktor zavri razgovor, sekretarica moe da okona
konekciju pribavljanjem dodatnih bitnih informacija, kao to su klijentova adresa, broj telefona,
ili lokacija teniskog terena.
Transportni protokol obavlja mnogo vie od uspostavljanja i raskidanja konekcija. Najnia tri
sloja obezbeuju sredstva za povezivanje razliitih uredaja, ali transportni sloj je najnii sloj, koji,
u stvari, omoguava efikasnu i bezbednu komunikaciju izmeu korisnika. Medu vanije
funkcije transportnog sloja ubrajaju se:
Upravljanje konekcijom Ova funkcija definie pravila koja omoguavaju korisniku
da zapone razgovor sa drugim korisnikom ako su direktno povezani. Defmisanje i
postavljanje konekcije poznato je i kao usaglaavanje (handshaking).
Kontrola toka Transportni sloj ograniava koliinu informacija koju jedna stanica
moe da poalje do druge bez prijema neke potvrde. Ako Vam ovo zvui poznato,
dobro je! Seate se nekih informacija iz prethodnih poglavlja. U Poglavlju 8 smo
objasnili kontrolu toka i njen znaaj za sloj veze. Moda izgleda udno to se
kontrola toka ponovo javlja na transportnom sloju, ali zapamtite da taj sloj mora da
funkcionie nezavisno od niih slojeva. Nii slojevi mogu da omogue kontrolu
toka u veoj, Oi manjoj meri (ili nimalo). Da bi se ouvala nezavisnost, transportni
sloj moe da koristi sopstvenu kontrolu toka. Ovo moe da deluje redundantno, ali
nezavisnost esto uslovljava redundantnost. Osim toga, transportni sloj defmie
kontrolu toka izmeu krajnjih korisnika. Protokoli sloja veze defmiu kontrolu toka
izmeu prelaznih, ali susednih entiteta.
Detekcija greaka Ovo je sledei sluaj u kome deluje kao da se dupliraju
karakteristike nieg sloja. Neke greke ipak uspevaju da prou detekciju na niem
sloju. Ovo zvui neuobiajeno, jer to znai da, iako detekcija greaka na sloju veze
obezbeuje pouzdan prenos preko svakog linka, i dalje nema garancija za prenose
bez greaka izmedu izvora i odredita. Kako je ovo mogue? Razmotrite ruter sa slike
11.24 (uzet sa slike 11.2). Pretpostavimo da prima netaknuti IP paket, ali u vreme
reformatiranja okvira koji sadri paket javlja se greka koja utie na sadraj paketa.
Bilo kakve softverske, ili hardverske greke mogu da stvore probleme. Poto se
eksuma izraunava nakon to se novi okvir kreira, ukljuie pogrene podatke. Strogo
govorei, to nije greka u prenosu, zato to se nije desila dok je paket bio u vlasnitvu
rutera. Ali, pokuajte da kaete to transportnom korisniku, koji vidi da su njegovi
podaci promenjeni u tranzitu. Mehanizam detekcije greaka na transportnom sloju
detektuje ovakvu greku.
Odziv na korisnike zahteve Primeri ukljuuju slanje i prijem podataka, kao i
specifine zahteve. Na primer, korisnik rnoe da zahteva veliku propusnost, mala
kanjenja, ili pouzdan servis. IP moe dobro da se "izbori" sa tim zahtevima.
Transportni sloj prosleduje korisnikove zahteve do IP-a.
Da rezimiramo: transportni protokol mora da obezbedi pouzdane komunikacije izmeu
krajnjih korisnika. Ovo je izuzetno znaajno, zato to IP ne garantuje pouzdan servis. Transportni
protokoli moraju da obezbede potvrde i tajmere koji e osigurati slanje i prijem svih korisnikih
podataka. Kao i u sluaju detekcije greaka, protokoli nieg sloja mogu da utvrde kada su okviri
izgubljeni u tranzitu.
token rinj
LAN
token rine okvir
Creke se javljaju za vreme
prevodenja formata okvira,
ili za vreme baferovanja.
ruter
bafer
SONET okvir
SONET
mrea
podataka
SLIKA 11.24 Greka koju nisu detektovale tehnike za detekciju na niem sloju
SLIKA 11.25 TCP kao servis izmeu krajnjih korisnika
korisnikTCP protokola
podaci
TCP
segment
IP
paket
mrea koja
spaja korisnike
TCP
segment
IP
paket
podaci
korisnik TCP protokola
Ponovo elimo da se pouzdanost obezbedi nezavisno od niih slojeva. Osim toga, pretpostavimo
da je prelazni mreni vor izgubio okvir nakon to ga je primio i potvrdio, ali pre nego to je dalje
preneo okvir. Kao to smo ranije pomenuli, ovo mogu da izazovu razne greke koje se javljaju na
sajtu. Poto nije bilo nikakve greke u bilo kojem point-to-point linku, na kraju e greku
detektovati protokol izmeu krajnjih taaka.
Transmission Control protokol (TCP)
Dva protokola transportnog sloja koja je DoD dizajnirao specijalno za pokretanje sa ARPANET
IP protokolom su Transmission Control Protocol (TCP) i User Datagram Protocol (UDP). TCP je
konekciji orijentisani protokol koji omoguava upravljanje konekcijama na Internetu. To je
najire korieni protokol transportnog sloja u celom svetu. UDP je protokol transportnog sloja
koji funkcionie bez uspostavljanja veze. Verovatno se ne koristi u istoj meri kao TCP, ali
obezbeuje transportne olakice za znaajne aplikacije, kao to su DNS i SNMP. U ostatku
odeljka fokusiraemo se na TCP, a zatim emo prikazati UDP. Da bismo kompletirali "priu",
moramo da napomenemo da je ISO takoe definisao sopstveni transportni protokol za sloj 4.
lntemet i TCP su toliko dominantni za defmisanje konekcija da e se DoD TCP verovatno jo
dugo koristiti.
TCP obezbeuje konekciji orijentisani servis prenosa bajtova izmeu dva korisnika. To znai da
obezbeuje logiku konekciju izmedu dva sajta i da moe da prenosi sekvence bajtova izmeu
njih. Niz bajtova se deli na sekvencu segmenata, a zatim se alje do odredita preko varijacije
protokola klizajuih prozora za kontrolu toka. Obezbeuje inicijalno usaglaavanje
uspostavljanjem, odravanjem i oslobadanjem konekcija. Rukuje zahtevima za pouzdanu
isporuku informacija do odredita, to je veoma bitno, zato to nii sloj (obino IP) ne
ispomku paketa. TCP prima podatke, ili zahteve od svojih korisnika (slika 11.25), smeta ih u
formatu TCP sennenta i predaje ih IP-u.
Ne igra nikakvu ulogu u rutiranju i transferu informacija. TCP na prijemnoj strani koji dobija
segment reaguje na primljene informacije, izvlai podatke i daje ih korisniku. Iz perspektive TCP
protokola nema mree.
TCP segment
Na slici 11.26 prikazan je sadraj TCP segmenta. U sledeoj listi defmiemo polja.
Destination port (odredini port) (16 bitova) Identifikuje aplikaciju kojoj je
segment poslat. Ovo se razlikuje od IP adrese, koja defmie Internet adresu. Poto
se u istom Internet voru istovremeno moe pokretati vie aplikacija, ovo polje
identifikuje eljenu aplikaciju. U optem sluaju TCP prouava sve segmente koji
stiu i razdvaja ih (demultipleksira) u skladu sa brojem porta. Informacije u
segmentima sa istim brojem porta prenose se do iste aplikacije. Na strani poiljaoca
TCP se ponaa kao multiplekser, jer uzima informacije od razlidtih aplikacija, kreira
segmente za svaku (sa odgovarajuim brojevima porta) i alje ih do IP-ja radi
eventualnog rutiranja. Brojevi portova ispod 1024 nazivaju se optepoznati portovi.
Dodelila ih je IANA i odgovaraju najee korienim aplikacijama. Na primer,
port 53 odgovara DNS serveru, a portovi 21 i 23 su dodeljeni FTP-u i Telnetu,
respektivno. IANA navodi portove numerisane od 1024 do 49151 kao registrovane
portove - mogu da se koriste za programe koje pokreu obini korisnici. Da bi
lanovima Internet zajednice bilo to lake, IANA je ve dodelila mnoge portove iz
ovog opsega; ipak, i dalje postoji veliki broj slobodnih portova koji se mogu slobodno
koristiti.
SLIKA 11.26 TCP segment
po 32 bita
izvorni port odredini port
broj sekvence
broj potvrde
duina
zaglavlja
eksuma
opcije
podaci
flegovi prozor
pokaziva urgentnosti
zaglavlje
* Inicijalni broj sekvence ne mora nuno da bude 1, ve se o njemu pregovara kada se konekcija uspostavi. To emo
objasniti u odeljku o upravljanju konekcijom.
U Poglavlju 12 emo pokazati kako moete da definiete sopstvene portove pomou kojih je
mogue definisati komunikacije izmedu aplikacija koje se pokreu na razliitim sajtovima.
Kompletna lista brojeva porta i njihovih dodela moe da se pronade na Web sajtu
www.iana.org/assignments/port-numbers.
Source port (izvorni port) (16 bitova) Definie aplikaciju koja alje segment.
Sequence number (broj sekvence) (32 bita) Svaki bajt u nizu koji TCP alje je
numerisan. Na primer, ako svaki segment podataka sadri 1.000 bajtova podataka,
brojevi sekvenci prvih bajtova u sukcesivnim segmentima bili bi x, x + 1000, x + 2000
i tako dalje, gde je x broj sekvence prvog bajta. * Ako segment sadri podatke, ovo
polje sadri broj sekvence prvog bajta podataka u segmentu. Za razliku od drugih
protokola koji sukcesivno numeriu svaki paket, ili okvir, TCP numerie bajtove. TCP
takode koristi ovo polje i kao deo inijalne strategije za uspostavljanje konekcije
(ubrzo emo i to objasniti). Korienjem 32 bita dobija se oko etiri milijarde brojeva
sekvenci. Ovo je znaajno zato to su anse za dupliranje brojeva sekvenci eliminisane,
to, ujedho, uklanja potrebu ogranienja veliine prozora, o kojoj smo govorili u
Poglavlju 8, kada je bilo neophodno izbei greke protokola.
AcknowIedgment number (broj potvrde) (32 bita) Sadri broj sekvence bajta koga
TCP na prijemnoj strani oekuje. Efektivno, on potvrduje sve primljene bajtove pre
onog koji je naznaen. Ovo je slino potvrdama koje su prikazane u Poglavlju 8,
osim to ovde protokol daje potvrde za bajtove, a ne za pakete.
Header length (duina zaglavlja) (etiri bita) Definie veliinu TCP zaglavlja kao
umnoak od po etiri bajta. Duina zaglavlja moe da bude razliita, zbog
promenljive duine polja Options; ovo polje omoguava TCP protokolu na prijemnoj
strani da zna odakle poinju podaci.
Flags (flegovi) (est bitova) Polje Flag naznaava kada druga polja sadre smisaone
podatke, ili defmiu neke kontrolne funkcije. Na primer, flegovi ACK i URG defmiu
da li se u poljima Acknowledgment i Urgent Pointer nalaze smisaoni podaci. Slede
opisi ostalih flegova:
FIN (fmish - kraj) Ukazuje na poslednji TCP segment podataka.
PSH (push - guranje) TCP obino donosi odluku kada segment sadri dovoljno
podataka da bi bio doputen prenos. U nekim sluajevima aplikacija moe da primora
TCP da poalje segment ranije izdavanjem komande Push. Na primer, interaktivna
aplikacija moe da izda komandu Push nakon to korisnik unese liniju sa tastature.
Ovo daje bolji i "glatkiji" odziv od onoga kada TCP baferuje nekoliko linija ulaznih
podataka pre nego to ih poalje. Kada primi komandu Push, TCP postavlja polje
PSH u segmentu. Ako je polje PSH postavljeno u dolazeem segmentu, prijemni TCP
entitet ini sadraj segmenta odmah raspoloivim za aplikaciju. Ako aplikacija
omoguava prikazivanje dolazeih podataka na video ekranu, ovaj mehanizam
obezbeuje brz i "gladak" prikaz.
RST (reset) Ovo je indikacija od entiteta na strani poiljaoca da entitet na prijemnoj
strani treba da raskine transportnu konekciju. Koristi se u sluaju nekih nenormalnih
uslova i omoguava okonavanje konekcije od strane oba entiteta, zaustavljanje toka
podataka i oslobadanje prostora u baferu koji je bio dodeljen konekciji.
SYN (sinhronizacija) Koristi se kod inicijalnog uspostavljanja konekcije i
omoguava sinhronizaciju oba entiteta (dogovor) oko inicijalnih brojeva sekvence.
Window (prozor) (16 bitova) Ovo polje "govori" TCP entitetu koji prima ovaj
segment koliko jo bajtova podataka moe da poalje, osim onih koji su ve
potvreni. Kao to ete uskoro videti, ovo otprilike odgovara veliini prozora kod
protokola klizajuih prozora. Razlikuje se od ranije prikazanih protokola po tome
to TCP entitet koji prima niz bajtova moe da koristi ovo polje za promenu veliine
prozora na strani poiljaoca.
Checksum (eksuma) (16 bitova) Koristi se za detekciju greaka na transportnom
sloju. Algoritam eksume interpretira sadraj TCP segmenta kao sekvencu 16-bitnih
celih brojeva i sumira ih. Ovo nije toliko strogo kao ranije prikazani algoritmi za
detekciju greaka iz Poglavlja 6 i zato su postojale neke kritike na raun ove detekcije.
Urgent Pointer (pokaziva urgentnosti) (16 bitova) Ako je URG bit postavljen,
segment sadri urgentne podatke, to znai da TCP entitet na prijemnoj strani mora da
isporui podatke viim slojevima to pre. Urgentni podaci se nalaze na poetku
segmenta, a pokaziva urgentnosti ukazuje na prvi bajt koji sledi iza urgentnih
podataka. Ovo omoguava prijemnoj strani da razlikuje urgentne od neurgentnih
podataka. Neki su kritikovali polje Urgent Pointer tvrdei da predstavlja slabu
implementaciju urgentnosti. Istina, polje Urgent generie specijalni tretman kada se
segment primi, ali ne utie na kontrolu toka koja je odgovorna za isporuku segmenta
do prijemne strane. Ovo je pomalo slino situaciji u kojoj ekate na kraju dugakog
reda ispred altera, a, kada konano dodete na red, zahtevate da odmah vidite efa
slube.
Options (opcije) (Promenljiva veliina) Jedna opcija omoguava TCP entitetu da
definie maksimalnu veliinu segmenata koje prima od drugog entiteta. Ova vrednost
se obino definie za vreme inicijalnog uspostavljanja konekcije. Ovo je vana opcija i
zbog toga to TCP moe da povezuje dva kompjutera sa veoma razliitim karakteristika-
ma. Da bi se ostvarila uspena komunikacija, moraju se uzeti ogranienja svih strana
(kao to je, na primer, veliina bafera). Na primer, ne bi trebalo da veliki mainframe
kompjuter "zatrpa" personalni kompjuter prevelikim segmentima. Personalni
kompjuter e definisati maksimalnu velidnu segmenta koji moe da prihvati kada se
konekcija uspostavi. Poto je veliina zaglavlja umnoak etiri bajta, polje Options se
dopunjava tako da se zaglavlje zavrava na 32-bitnoj granici.
Sledea opcija omoguava TCP entitetima da se sloe za 32-bitno polje prozora,
umesto da se koristi 16-bitno. Ovo je izuzetno korisno kada se za prenos velikih
fajlova koriste linije sa velikim propusnim opsegom. 16-bitni prozor nikada ne
omoguava protokolu na strani poiljaoca da koristi prozor vei od 2
16
= 64 KB.
Data (podaci) (promenljiva veliina) To su podaci koje obezbeuje korisnik.
SLIKA 11.27 Greka kod protokola sa dvosmemim usaglaavanjem
Slanje zahteva za
uspostavljanje konekcije
Slanje zahteva za
uspostavljanje
konekcije
Prijem potvrde
A uspostavlja
konekciju
A i B razmenjuju
podatke i na kraju
prekidaju konekciju
vreme
Prijem zahteva za konekciju.
B uspostavlja konekciju
i alje potvrdu
vrerme
Prijem zahteva za konekcijom.
B uspostavlja konekciju
i alje potvrdu
Upravljanje konekcijom
Upravljanje konekcijom ukljuuje proces uspostavljanja, odravanja i okonavanja konekcije.
Ali ta, je u stvari, konekcija? Kao to je ranije istaknuto, ona je vie virtuelna, nego fizika veza.
U osnovi, dva TCP entiteta se dogovaraju da razmene TCP segmente i da uspostave neke
parametre koji opisuju razmenu segmenata. Parametri obino sadre brojeve sekvenci koji se
koriste za bajtove i broj bajtova koje entitet moe da prihvati. Entiteti mogu da razmenjuju
segmente, izvode proveru greaka, alju potvrde i vre kontrolu toka kao da izmedu njih postoji
direktna konekcija, a detalji prenosa se preputaju niim slojevima.
Za poetak, dva entiteta moraju da se dogovore o uspostavljanju konekcije. Ovo na prvi pogled
deluje jednostavno: jedan entitet alje zahtev za uspostavljanje konekcije, a drugi odgovara
potvrdno. Ovo je dvosmerno usaglaavanje (two-way handshake). Ipak, mogui su problemi
ako prvi zahtev zakasni i pojavi se mnogo kasnije, nenamerno izazivajui drugu konekciju.
Na primer, razmotrimo situaciju sa slike 11.27. LJ trenutku t,, korisnik A zahteva konekciju.
Medutim, zbog neega, moda zbog zaguenja na mrei, ili problema u nekom prelaznom sajtu,
zahtev kasni. Korisnik A, mislei da je poruka izgubljena, alje jo jedan zahtev za konekciju u
trenutku t
2
. Korisnik B prima drugi zahtev u trenutku t, i odmah alje potvrdu za njega.
SLIKA 11.28 Protokol trosmernog usaglaavanja
Slanje podataka u TCP
segmentima. Ukljueni su
brojevi sekvenci koji
poinju sa x +1 i
potvrde koje poinju
sa y + 1.
vreme
vreme
Slanje podataka u TCP segmentima.
Ukljueni su brojevi sekvenci koji
poinju sa y + 1 i potvrde koje
poinju sa x + 1.
Slanje TCP segmenta sa SYN = I
1
poljem potvrde = x + 1 i
poljem sekvence = y.
Slanje TCP segmenta sa
poljem potvrde = y + 1.
Slanje TCP segmenta sa SYN = 1
i poljem sekvence = x. \
Korisnik A prima potvrdu u trenutku t
4
, i uspostavlja se konekcija. Za sada nema problema.
Korisnici A i B rade ono to bi trebalo da rade i na kraju raskidaju konekciju. Meutim, prvi
zahtev za uspostavljanje konekcije i dalje postoji negde na mrei. Pretpostavimo da konano stie
do B u trenutku t
5
. Korisnik B misli da je to novi zahtev i alje potvrdu za njega. Sto se tie B,
postoji jo jedna konekcija, ali ovoga puta neplanirana. Situacija moe da bude jo gora:
zamislite ta bi moglo da se desi ako je korisnik A poslao neke podatke za vreme prve konekcije
koja je ozbiljno zakasnila. Ako ne primi potvrdu, korisnik A bi inicirao retransmisiju. Ali, prvi
zahtev je i dalje negde na mrei. ta se deava ako ga B konano dobije nakon trenutka t
5
? On
misli da je to drugi segment podataka i reaguje na njega. Koliko je ovaj problem ozbiljan?
Zamislite da je re o privatnim konekcijama sa vajcarskom bankom i da su se u segmentima
nalazili podaci sa zahevima o depozitima od po pet miliona dolara. Slubenici banke sigurno ne
bi hteli da plate kamatu na lani depozit u tolikom iznosu.
Ovde postoji mnogo vie od obinog slanja zahteva za uspostavljanje konekcije i potvrda. Ranije
smo pomenuli da TCP tretira podatke kao sekvence bajtova podeljene i poslate po segmentima.
Umesto da se numerie svaki segment, TCP pamti broj sekvence prvog bajta podataka u polju
Sequence konkretnog segmenta. Polje Sequence je 32-bitno, tako da je mogue vie od jedne
milijarde razliitih brojeva sekvenci. Da bi se izbegli problemi koji prate dvosmemo usaglaavan-
je, trosmerno usaglaavanje (three-way handshake) uspostavlja inicijalne brojeve sekvenci koje
koristi svaki TCP entitet. Koraci trosmernog usaglaavanja ilustrovani su na slici 11.28.
1. TCP entitet A prenosi TCP segment, zahtevajui konekciju (trenutak t,). Postavlja fleg
SYN kako bi ukazao da segment predstavlja zahtev za konekciju i defmie polje
Sequence da ima vrednost x. Moe da utvrdi x pomocfu tajmera, ili brojaa. Svaki
novi zahtev prate drugi i vei (po moduly 2
32
) inicijalni brojevi sekvence.
2. TCP entitet B prenosi TCP segment, potvrdujui i zahtev i broj sekvence (trenutak t
2
).
To izvodi postavljanjem flega SYN i definisanjem polja Acknowledgment = x + 1 i
polja Sequence = y. B utvruje y na isti nain na koji A utvruje x.
3. TCP entitet A potvrduje potvrdu (trenutak t
3
). Sledei segment koji alje ima vrednost
polja Sequence = x + 1 i Acknowledgment = y + 1.
Nakon to se ova tri segmenta poalju i prime, svaki entitet zna koji inicijalni broj sekvence ovaj
drugi koristi i pomou polja Acknovvledgment ukazuju jedan drugom ta oekuju. U narednim
segmentima sa podacima nalaze se uveani brojevi sekvenci (po modulu 2
32
), gde je svaki
inkrement jednak broju bajtova podataka u prethodnom segmentu. Uskoro emo ovo razmotri-
ti kada budemo govorili o kontroli toka.
Okonavanje konekcija umnogome podsea na uspostavljanje. TCP obezbeduje full-duplex
komunikacije - ako jedan entitet eli da raskine konekciju, to ne znai da je drugi spreman. U
osnovi, obe strane moraju da se dogovore o raskidu konekcije pre nego to to i izvedu. Zato se za
okonavanje konekcije koristi sledei protokol trosmernog usaglaavanja (slika 11.29):
Prijem OLOSE primitive od aplikacije.
Slanje TCP segmenta sa FIN = 1
i poljem sekvence = x.
Slanje TCP segmenta sa
poljem potvrde = y + 1.
vreme
SLIKA 11.29 TCP protokol za raskidanje konekcije
vreme
Prijem CLOSE primitive od aplikacije.
Slanje TCP segmenta sa FIN = 1,
poljem sekvence = y i
poljem potvrde = x + 1.
segmenta sa poljem potvrde = x + 1.
Prijem zahteva za raskidanje
konekcije i obavetavanje
aplikacije da nema vie podataka.
Potvrda zahteva slanjem TCP
1. TCP entitet A dobija CLOSE zahtev od svoje aplikacije (trenutak t,). Reaguje slanjem
TCP segmenta sa postavljenim flegom FIN i poljem Sequence = x. Fleg FIN ukazuje
da nema vie podataka i da tekui segment predstavlja zahtev za raskidanje konekcije.
Parametar x predstavlja tekui broja sekvence koji je TCP entitet odravao.
2. TCP entitet B prima segment (trenutak t
2
). Reaguje obavetavanjem svoje aplikacije o
zahtevu za raskidanje konekcije, dme se ujedno kae da vie nema podataka. Osim
toga, alje TCP segment nazad do A, potvrujui prijem zahteva. U meuvremenu
aplikacija u B moe da nastavi slanje podataka, ili moe jednostavno da se pripremi
za izdavanje sopstvenog zahteva za raskidanje konekcije.
3. TCP entitet B dobija CLOSE zahtev od svoje aplikacije (trenutak t
3
). Salje TCP segment
do A sa postavljenim flegom FIN i poljem Acknowledgment = x + 1.
4. Kada primi potvrdu (trenutak t
4
), TCP entitet A alje potvrdu i raskida konekciju. Kada
potvrda stigne u B (trenutak t
5
), i on prekida konekciju.
Kontrola toka
Kada se inicijalna konekcija uspostavi, dva TCP entiteta mogu da razmenjuju segmente koristei
full-duplex komunikacije, sa baferovanjem segmenata koje alju i koje primaju. TCP entitet
baferuje segmente koje alje, jer nema garancija da e segment stii. Zato moe da postoji potre-
ba za retransmisijom. Bafemju se i segmenti koje primi, jer nema garancija da su stigli ispravnim
redosledom. Zapamtite da je ovo logika konekcija, za razliku od fizikih konekcija, i bilo kakvi
problemi sa nieg sloja mogu da izazovu probleme sa isporukom. Entiteti mogu da razmenjuju
segmente koristei varijaciju protokola klizajuih prozora koji su prikazani u Poglavlju 8. Ovde
neemo ponovo objanjavati kontrolu toka, ali emo se fokusirati na nekoliko razlika izmeu
kontrole toka kod TCP protokola i kontrole toka koja je prikazana u Poglavlju 8.
Kod TCP kontrole toka broj sekvence ukazuje na sekvencu bajtova, umesto na
sekvence paketa (ili segmenata).
Svaki entitet moe dinamiki da menja veliinu prozora na strani poiljaoca, koristei
polje Window u segmentu.
Svaki entitet implementira kontrolu toka, koristei mehanizam kredita (credit mechanism), poznat
i kao oglaavanje prozora (window advertisement). Kredit, koji se smeta u polju Window
konkretnog segmenta, definie maksimalni broj bajtova koji entitet koji alje taj segment moe
da primi i baferuje od drugog entiteta. Ovaj broj se zbraja sa brojem bajtova koji su ve primljeni
i baferovani (ali jo uvek nisu preneti do vieg sloja). TCP entitet koji uzima ovaj segment koristi
kredit kako bi utvrdio koliko bajtova moe da poalje pre nego to mora da eka na potvrdu, ili
na poveanje kredira.
Na slici 11.30 prikazan je primer ovog mehanizma. Pretpostavljamo da su dva entiteta ve
pregovarala o inicijalnoj konekciji, inicijalnim brojevima sekvenci i kreditima, koristei
trosmemo usaglaavanje. TCP entiteti A i B imaju inicijalne brojeve sekvenci 100 i 700,
respektivno.
SLIKA 11.30 Kontrola toka izvedena pomou mehanizma kredira
Osim toga, pretpostavljamo da svaki segment sadri 100 bajtova podataka i da svaki entitet moe
da baferuje do 200 bajtova - kredit svakog entiteta je 200. Entitet A startuje slanjem dva
segmenta, jednog sa brojem sekvence (s) 101 i drugog sa brojem sekvence 201. Potvrde (a)
ukazuju ta A oekuje od B. Da bismo uprostili ovaj primer, pokazaemo samo vrednosti
kredita u paketima koji se alju od B ka A.
Nakon slanja drugog okvira, A je iskoristio kredit i mora da eka (trenutak tj). Kasnije prima
segment od B u kome je broj sekvence 701, a potvrda 301. To znai da je B primio bajtove
sekvenci do 300 i trenutno oekuje bajt 301 kao sledei bajt. Segment sadri i kredit (c) 0, jer su
dva segmenta koja je B primio jo uvek u baferima.
Ukratko, B nema mesta za nove segmente i ukazuje na to korienjem kredita 0. Zato A i dalje
mora da eka. U trenutku t
2
B isporuuje prvi primljeni segment viem sloju, tako da se oslobada
100 bajtova u baferu. Drugi segment je i dalje u baferu, tako da prostor bafera jo nije slobodan.
Ipak, pretpostavimo da u ovoj taki B moe da povea ukupnu koliinu prostora u baferu na 300
bajtova.
Poto se drugi segment koji sadri 100 bajtova i dalje nalazi u baferu, B sada ima slobodnih 200
bajtova u baferu. U sledeem segmentu koji se alje do A B naznaava potvrdu sa vrednou 301
i kredit sa vrednou 200.
ekanje na
vei kredit
ekanje na
vei kredit
A
inicijalni broj sekvence = 100
B
inicijalni broj sekvence = 700
prvi segment
uklonjen iz bafera;
takode, pronalazi jo
100 bajtova
prostora u baferu
Svi segmenti sadre 100 bajtova
podataka, s = sekvenca; a = potvrda
vreme vreme
Nakon nekog vremena A prima taj segment od B. Nakon toga, A alje jo dva segmenta, ali u
trenutku t
3
mora ponovo da eka na sledeu potvrdu. Da bi se primer pojednostavio, prikazani
su samo krediti koje B alje do A i prikazano je kako to utie na A. Ipak, morate da znate da se
ogranienja kredita primenjuju i na B.
Glavna prednost mehanizma kredita je to se omoguava robustniji protokol. Umesto da se
koriste prozori fiksne veliine, TCP entiteti mogu da iskoriste prednost promene uslova. Ako na
odreenom sajtu ima malo aktivnosti, TCP entitet moe da potvrdi segment sa poveanim
kreditom kako bi bio bolje iskorien slobodni prostor u baferu.
Sa dmge strane, ako postoji dosta aktivnosti sa drugim konekcijama, moe da se poalje segment
sa redukovanim kreditom kako bi se dolazee informacije zadrale na nivou koji moe da se
kontrolie.
Kontrola zaguenja
Metod kontrole toka iz prethodnog odeljka deluje kao reenje koje moe da obezbedi efikasnu i
"glatku" razmenu segmenata. Medutim, mogui su i neki drugi problemi koje ovaj metod ne
moe da rei. Ilustracije radi, prethodno razmatranje je pokazalo da se velidna prozora (krediti)
podeava na osnovu koliine informacija koju A, ili B mogu da kontroliu. Nije uzeto u obzir ta
moe da se desi izmeu njih. Na primer, pretpostavimo da su i A i B povezani na IO Mbps
linkove i da mogu veoma brzo da alju segmente. ta se deava ako jedina ruta koja povezuje A
i B ide preko 1 Mbps linka? Ovo pomalo lii na povezivanje dva autoputa sa tri trake pomou
lokalnog puta, uz ogranienje brzine od 30 milja na sat. Autoputevi mogu da podnesu veliku
koliinu saobraaja, ali to ne vai i za lokalni put. Rezultat su zaguenje i dugaki redovi na
izlaznim rampama.
Vano je da se razume da samo zato to prijemni entitet moe da kontrolie odredeni broj
paketa ne znai da i ruta moe da kontrolie isti broj. Moda se seate da smo u odeljku o IP-ju
analizirali neke pristupe za reavanje zaguenja, ali oni u optem sluaju reguliu IP pakete koji
se ve nalaze na mrei.
Logino poboljanje reenja za zaguenje je dorada TCP protokola tako da se ogranii koliina
saobraaja koja odlazi na mreu na samom poetku. U odreenoj meri to se postie kontrolom
toka, ali, se, u stvari, odnosi samo na ono to primalac moe da prihvati, a ne i na ono to se
deava u meuvremenu.
Da bi se mehanizmi kontrole zaguenja poboljali, Jacobson (ref. [Ja88]) opisuje doradu TCP
protokola koja omoguava entitetu poiljaocu da reaguje na zaguene linkove i da promeni broj
segmenata koje moe da poalje. Trebalo bi da sve TCP implementacije trenutno podravaju ovu
tehniku.
Da bismo pojednostavili ovu analizu, ponovo emo koristiti primer u kome je TCP entitet A
uspostavio konekciju sa TCP entitetom B. Fokusiraemo se na prenos od A do B, ali verujte da sve
isto funkcionie i u suprotnom smeru.
Pa bi implementirao ovu tehniku, A odrava prozor zaguenja (congestion ivindoui) koji definie
broj bajtova koje A misli da moe da poalje bez izazivanja, ili pojaavanja zaguenja (uskoro
emo videti kako utvruje taj broj). Ako je kapacitet prozora zaguenja vei od kredita u A
(kapacitet B za prihvatanje segmenata), A nee slati vie nego to mu kredit doputa.
Meutim, ako je kapacitet prozora zaguenja manji, A koristi tu vrednost umesto kredita kako bi
utvrdio koliko segmenata moe da poalje pre nego to bude morao da eka na potvrdu. U svim
trenucima A definie svoj prozor za slanje tako da bude manji od prozora zaguenja i kredita koji
je B naznaio. Nakon toga, koristi protokole za kontrolu toka za slanje segmenata i prijem
potvrda.
U ovoj taki se nameu dva logina pitanja. Kako A moe da utvrdi da li je dolo do zaguenja?
Kako A reaguje na zaguenje? Odgovor na prvo pitanje daje mehanizam time-outa.
Pretpostavimo da A alje onoliko segmenata koliko mu predajni prozor doputa i da se time-out
javlja pre nego to stigne potvrda. Teorijski, time-out moe da se desi ako je segment bio oteen
i nikada nije stigao do svog odredita. U praksi, na mnogim mreama linkovi se izvode pomou
optikog fibera, koji je veoma pouzdan; na takvim mreama se retko javljaju oteeni paketi. Zato
time-out obino znai da segment kasni zbog zaguenja u nekom delu mree. Dakle, A
interpretira time-out kao postojanje zaguenja.
Normalni odgovor na time-oute je ponovno slanje segmenata, ali to e samo pogorati situaciju,
jer pojaava zaguenje. Zato se preduzima mera redukovanja veliine prozora zaguenja za
polovinu, ponovo se izraunava ptedajni prozor na prethodno opisani nain i ponovo se alje
samo onoliko segmenata koliko to predajni prozor doputa. Ako doe do novog time-outa,
veliina prozora zaguenja se dalje smanjuje za polovinu. Prozor zaguenja se neprestano
redukuje za polovinu minimalne vrednosti sve dok veliina ne bude jedan segment. Ako u nekom
trenutku stigne potvrda za sve segmente u redukovanom prozoru, protokol prestaje da redukuje
veliinu prozora zaguenja, Potovanjem ovog protokola A brzo redukuje koliinu informacija
koju alje na mreu. Tako Internet protokoli imaju vremena da reaguju i da ublae zaguenje.
Zatim, pretpostavimo da je veliina predajnog prozora kod A mnogo manja od kredita koji alje
B. Ako je zaguenje smanjeno, A e imati predajni prozor ija se veliina utvruje na osnovu
uslova koji vie ne vae. Protokol moe da reaguje poveanjem veliine prozora tako da se isko-
riste rastereeni linkovi.
Da bi se to izvelo, svaki put kada stigne potvrda za sve segmente iz predajnog prozora i ne javi se
ni jedan time-out A poveava prozor zaguenja za ekvivalent jednog segmenta i ponovo
preraunava veliinu predajnog prozora. Zato u odsustvu time-outa A moe da poalje poveani
broj segmenata do one mere koju B moe da prihvati i na taj nain maksimalno koristi kapacitet
mree. Ovaj ablon redukovanja i poveavanja prozora zaguenja se nastavlja sve dok se
konekdja odrava.
Moda ste primetili da e A ee redukovati prozor zaguenja nego to e imati prilike da ga
povea. Ovo umnogome reflektuje filozofiju koja diktira da se reenja za zaguenja moraju bre
implementirati jer korisnici trpe zbog njih. Sa druge strane, izostanak time-outa ne mora da znad
da je zaguenje eliminisano. Pre odraava injenicu da je zaguenje postalo manje ozbiljno. Zbog
toga, protokol implementira konzervativniji pristup kada se pokuava poveanje saobraaja.
Nema smisla brzo poveavati broj segmenata samo da bi se ponovo javilo zaguenje.
Jedino preostaje da se jo opie kako protokol definie inicijalni prozor zaguenja. U stvari,
funkcionie slino periodu oporavka nakon zaguenja, sa nekim minornim promenama.
Inicijalno, veliina prozora zaguenja je definisana kao ekvivalent jednog segmenta. Ako A
poalje jedan segment i dobije potvrdu, protokol udvostruava veliinu prozora zaguenja na dva
segmenta. Ako stignu potvrde i za te segmente, protokol ponovo udvostruava veliinu na etiri
segmenta. U odsustvu time-outa, veliina prozora zaguenja se neprestano udvostruava, sve dok
se ne dostigne vrednost kredita. Ako se u nekom trenutku registruje time-out, protokol uspostavlja
veliinu koja je koriena kada se time-out desio.
Kao to moete da vidite, u ovom sluaju protokol pokuava da povea prozor zaguenja bre
nego u sluaju kada je prethodno detektovano zaguenje. Ovo je logino, jer protokol
pretpostavlja da nema zaguenja i pokuava to bre da uspostavi maksimalnu brzinu razmene.
Zato je pomalo udno to se ovakva procedura startovanja naziva lagani start (slow start). Naziv
nema veze sa procedurom koja sledi nakon to se zaguenje detektuje; umesto toga, re je o
laganom startu u odnosu na standardnu kontrolu toka, kod koje nema prozora zaguenja. Kod
obine kontrole toka A bi jednostavno slao do B onoliko paketa koliko on moe da prihvati, bez
uzimanja u obzir naina na koji posredniki linkovi mogu da reguliu naglo poveanje
saobraaja.
User Datagram protokol (UDP)
Vei deo ovog odeljka smo posvetili TCP protokolu. Iako je to najee korieni protokol,
postoje i mnogi drugi protokoli. Jedan od njih je User Datagram Protocol (UDP), protokol
transportnog sloja koji funkcionie bez uspostavljanja veze. Jednostavniji je od TCP protokola; to
moe da se zakljui i na osnovu formata UDP segmenta (slika 11.31). Ima malo dodataka, to
ukazuje na ograniene mogunosti. Segment ukljuuje uobiajenu izvomu i odredinu adresu,
duinu segmenta i eksumu koja slui za detekciju greaka. Poto nije orijentisan konekciji, nema
usaglaavanja za uspostavljanje konekcije (i, naravno, nema protokola za raskidanje konekcije).
Kada UDP ima podatke za slanje, on kreira UDP segment i daje ga IP-ju radi isporuke. Na
prijemnoj strani UDP dobija podatke od IP-ja i vri proveru greaka. Ako nema greaka, UDP
prosleuje podatke do svog korisnika; ako postoji greka, UDP odbacuje podatke. Ne postoji
formalni mehanizam za potvrdu greaka, niti odredbe za kontrolu toka, ili sekvenciranje
segmenata. Predstavlja neto vie od interfejsa izmeu vieg sloja i IP-ja. Referenca [CoOO] sadri
detaljniji prikaz protokola.
Moda je najinteresantnije napomenuti da smo ve opisali komandu koja koristi UDP. Ranije
smo u ovom poglavlju predstavili komandu t r a c e r out e , koja prikazuje lokacije du rute na
Internetu.
podaci
duina
izvorni port odredini port
eksuma
SLIKA 11.31 UDPsegment
Kada korisnik u izvoru unese komandu traceroute, deavaju se sledee akcije:
1. Izvor kreira UDP Probe paket sa brojem neiskorienog porta. Postavlja ga u IP paket
sa vrednou polja Time to Live (TTL) postavljenom na 1 i paket se alje do odredita.
2. Prvi ruter umanjuje vrednost polja TTL i, poto vidi da je 0, odgovara slanjem ICMP
Time Exceeded poruke.
3. Izvor dobija ovaj odgovor i belei adresu rutera i vreme potrebno za pun krug.
4. Izvor kreira slian UDP Probe paket i postavlja ga u IP paket, ali ovoga puta sa TTL
postavljenim na 2.
5. Ovoga puta paket prolazi prvi ruter, ali drugi ruter reaguje kao u koraku 2.
6. Izvor reaguje kao u koraku 3.
7. Izvor neprestano alje probne IP pakete sa sve veim vrednostima u polju TTL.
Svakog puta ruter dospeva do jednog rutera dalje pre nego to bude odbaen. U
svakom sluaju, taj ruter reaguje kao u koraku 2 i izvor belei te informacije.
8. Na kraju, TTL vrednost je dovoljno velika da paket stigne do svog odredita (ako
postoji i ako je u granicama maksimalne vrednosti skokova). Poto UDP Probe paket
naznaava neiskorieni port, odredite odgovara Port Unreachable porukom. Izvor
prepoznaje ovo kao poslednji odziv koji e videti. Belei informacije i zavrava.
Real-Time Transfer protokol (RTP)
Vesmo predstavili probleme koji prate QoS zahteve aplikacije, kao to su real-time audio, ili
video. Objasnili smo neke pristupe nieg nivoa, kao to su mree sa komutacijom kola i
rezervacijom propusnog opsega, i rekli smo da emo u Poglavlju 13 prikazati ATM, sledeu
tehnologiju zasnovanu na virtuelnim kolima. Sve ove tehnologije imaju jednu zajedniku
karakteristiku - rezerviu resurse tako da protokoli nieg nivoa mogu da garantuju QoS koji je
zahtevan tim aplikacijama. Postavlja se logino pitanje ako mrea ne obezbeuje ovakve
protokole nieg sloja da li su real-time aplikacije nemogue, ili nepraktine. Odgovor je: nije
neminovo.
Protokol transportnog sloja pod nazivom Real-Time Transport Protocol (RTP) dizajniran je za
podrku real-time aplikacija, kao to su audio, ili video aplikacije. Ovo se pomalo razlikuje od
dragih protokola koje smo opisivali, jer je dizajniran za rad sa odreenom aplikacijom i
funkcionie samo na jednoj strani konekcije. Zato neki ovaj protokol smatraju protokolom sloja
aplikacije. Sa druge strane, RTP se obino izvrava iznad UDP-a, iako moe da se izvrava i iznad
drugih transportnih protokola. Zbog toga, neki ga smatraju podslojem transportnog sloja.
Meutim, za nae razmatranje nije bitno kako se posmatra. Ono to je znaajno je to to se
obino nalazi izmeu real-time aplikacije i UDP-a i predstavlja protokol izmedu krajnjih taaka.
Na ovom sloju nalazi se iznad svih strategija rutiranja i ne obezbeuje nikakve QoS garancije.
Meutim, to i nije nieeova svrha.
Paketi generisani na fiksnoj brzini;
vreme izmedu susednih paketa je konstantno.
Paketi stiu promenljivom brzinom;
vreme izmedu susednih paketa se menja.
SLlKA 11.32 Pomeranje paketa
Iako protokoli nieg nivoa na Internetu nisu dizajnirani za real-time aplikacije, poboljanja u
brzini linije i dizajnu rutera defmitivno su omoguila prenos ogromne koliine informacija preko
Interneta. Uvodenje nekih zaista sofisticiranih algoritama za kompresiju i mogunost
proputanja podataka na dovoljno velikim brzinama da se podre real-time aplikacije postaju
realnost, iako nedostaju protokoli koji bi ih garantovali.
Medutim, i dalje postoje neki problemi kod protokola koji se zasnivaju na prenosu paketa za
podrku real-time aplikacija. Jedan je pomeranje paketa (packet jitter) (slika 11.32).
Pretpostavimo da govorite u mikrofon koji je povezan na personalni kompjuter.
Lokalni softver modulie Va glas, koristei metod kao to je PCM i smeta govorne podatke u
sukcesivno generisanim paketima. Nakon toga, softver alje pakete na mreu. Poto je re o
real-time aplikaciji, lokalni softver sempluje govorne podatke u fiksnim intervalima i generie
pakete na fiksnim brzinama. Meutim, dok paketi "putuju" kroz mreu, kod nekih mogu da se
jave neka manja kanjenja u prelaznim ruterima.
Zbog toga, paketi (i govorni podaci) mogu da stignu u odredite promenljivim brzinama. Krajnji
rezultat moe da se uporedi sa putanjem audio trake kod koje se brzina okretanja periodino
ubrzava i usporava.
Na slici 11.33 prikazan je sledei problem koji moe da se javi kada se prenose i audio i video
podaci. Pretpostavimo da video kamera snima jedno predavanje. Neki protokoli zasebno
kodiraju audio i video komponente - postoje dva niza podataka: jedan za audio i drugi za video.
Kao i ranije, i audio i video podaci se, nakon toga, moduliu, smetaju u pakete i alju na mreu.
Zbog kanjenja, ne postoje garancije da e video i audio paketi koji su istovremeno generisani
istovremeno i stii do odredita i biti puteni u isto vreme.
SLIKA 11.33 Nesinhronizovani podaci za glas i sliku
audio podaci
video podaa
Govorni podaci i podaci slike nisu sinhronizovani
' Postoji jo nekoliko stavki, ali one nisu relevantne za nae razmatranje.
t Ovo nije isto kao da se kae da paket sadri 100 bajtova. U stvari, moda postoji manje bajtova zbog ema za kompresiju.
Ovaj nedostatak sinhronizacije (sinhronizacija izmeu medija - intermedia synchronization)
uzrokuje to da plejer na odreditu prikazuje video i puta odgovaraju audio zapis u neznatno
razliitim trenucima. Ovo je kao kada gledate film koji je sinhronizvan na neki drugi jezik. Rei
koje ujete ne odgovaraju pokretima usta glavnih likova.
Ako izvravamo real-time aplikacije nad TCP, ili UDP protokolom, ti problemi mogu da se
pojave zato to ni jedan od ovih protokola nije dizajniran za njihovo reavanje. Ovde "nastupa"
RTP. Ne moe da garantuje pravovremenu isporuku, ali moe da "izgladi" neke probleme koji su
izazvani ne mnogo ozbiljnim kanjenjima u prenosu podataka.
U stvari, postoje jo dva protokola koja moramo da predstavimo. Jedan je RTP, a drugi je RTP
Control Protocol (RTCP). RIP se bavi isporukom podataka, dok RTCP izvrava neke kontrolne
funkcije. Ova dva protokola obino odgovaraju brojevima sukcesivnih portova, to im
omoguava nezavisno funkcionisanje. Najpre emo razmotriti RIP.
Tipini pristup postavlja modulisane podatke u RTP paket. Taj paket se, nakon toga, ugrauje u
UDP paket, gde se formira red ekanja za prenos. Zato je moda logino poeti opisom RTP
paketa, koji sadri sledee stavke: *
Version number (Broj verzije) Ovo polje ukazuje na tekuu verziju RlP-a.
Payload type (Tip korisnih informacija) Ovo je 7-bitni ceo broj koji definie
nain na koji su podaci modulisani i sa kojom frekvencijom semplovanja. Postoje
identifikatori za PCM, MPEG, JPEG i za jo nekoliko drugih ema modulacije. Tako
prijemna strana moe da koristi odgovarajuu emu dekodiranja za konvertovanje
nazad u audio, ili video.
Sequence number (broj sekvence) Paketi su sekvencirani tako da se sauva njihov
inicijalni raspored i da se utvrdi da li su neki paketi izgubljeni.
Timestamp (vremenska oznaka) Ovo se koristi za ranije opisano pomeranje
paketa. Kada izvor generie RIP paket, koristi signal takta za smetanje vrednosti
vremenske oznake u zaglavlju RIP paketa. Ova oznaka odgovara trenutku kada je
kreiran prvi sempl. Vrednost vremenske oznake nije kritina, ve je kritina razlika
izmeu vremenskih oznaka dva sukcesivna RIP okvira. Na primer, pretpostavimo da
izvor koristi PCM i da uzima 8-bitne semplove uestalou od 8.000 semplova u
sekundi i inkrementira vrednost vremenske oznake za 1 za svaki sempl. Svaki bajt
predstavlja sempl uzet na svakih 125 psec (ili jednom za svaku vrednost vremenske
oznake). Pretpostavimo da primalac dobija dva sukcesivna RTP paketa ije se
vremenske oznake razlikuju za 100. Na osnovu polja Payload Type primalac zna da
PCM generie semplove u intervalima od 125-msec. Poto je razlika vremenskih
oznaka 100, on zna i da mora da konvertuje 100 semplova u audio na odgovarajuoj
brzini.t Osim toga, zna da mora da pone putanje paketa 12,5 milisekundi (125
(isec x 100) nakon to pusti prvi paket. Ako drugi paket stigne pre nego to treba da
bude puten, primalac moe da odloi njegovo putanje kako bi se obezbedio
ravnomeran konzistentan zvuk.
Meutim, ta se deava ako RTP paket stie isuvie kasno da bi bio puten? Jedna
opcija nalae jednostavno odbacivanje paketa. Slualac moe odmah da primeti
prekid zvuka, ali... Sofisticiraniji softver moe eventualno da pokua da ekstrapolira
sadraje na osnovu onoga to je primio u prethodnim paketima. Odbaeni paketi nisu
problem ako se retko deavaju. Kasnije emo objasniti protokol koji se bavi eim
gubljenjem paketa.
Synchronization source identifier (SSRC - identifikator sinhronizacije izvora)
Ovo polje identifikuje izvor niza podataka. Ako postoje zasebni audio i video nizovi,
svaki moe da ima drugaiju SSRC vrednost. Ako na istom sajtu postoji vie kamera,
svaka ima drugaiji SSRC. Razliite SSRC vrednosti omoguavaju primaocu da se
uskladi sa razliitim izvorima. Kompjuter na prijemnoj strani moe da ima jedan
prozor koji prikazuje predavanje, a u drugom je crtani film Nickelodeon u periodima
kada predavanje postaje dosadno.
Contributing source identifier (CSRC - identifikator svih izvora koji doprinose
komunikaciji) Neki prenosi po principu multicastinga mogu da imaju vie aktivnih
uesnika. Drugim reima, umesto da postoji jedan govomik i da ga svi ostali sluaju,
sledea opcija moe da bude obezbedivanje mogunosti da svi govore i intereaguju.
Ovo je slino konferencijskim pozivima. U tom sluaju vie nizova mogu da se
kombinuju (multipleksiraju) u jedan niz.* Ako RlP paket sadri blokove podataka iz
vie izvora, CSRC ih identifikuje.
Number of CSRC entries (broj CSRC zapisa) Ovo polje je jasno samo po sebi.
Data (podaci) Modulisani audio, ili video podaci
Za razliku od RIP protokola, koji se bavi prvenstveno prenosom podataka, RTCP obezbeduje
neke kontrolne informacije. RTCP niz postoji za svaki RIP niz. On prenosi informacije koje i
poiljaocu i primaocu omoguavaju da obezbede znaajne informacije za nizove podataka.
Poiljalac i primalac nakon toga mogu da koriste te informacije za izvravanje odredenih funkcija,
ili radi adaptiranja na odredene promene uslova. RTCP ne defmie kako treba da reaguju na
informacije. Kao to je ranije istaknuto, RTCP se izvrava na drugom broju porta i to konkurentno
sa RlP protokolom. Jedna "stvar" koju RTCP obezbeuje jeste sinhronizacija izmedu medijuma.
Prethodno smo istakli da primalac ponekad mora da sinhronizuje podatke od dva razliita
medijuma (na primer, audio i video). RTP ovo ne moe da izvede zbog nekoliko razloga. Prvi je
to to dva razliita niza mogu da imaju razliite SSRC vrednosti. Ne postoji nita to bi ih
vezalo. Ipak, svaki izvor ima jedinstveni identifikator pod nazivom CNAME (obino se daje u
formi korisnickoime@adresahosta) i poiljalac moe da poalje RTCP paket do svakog primaoca sa
pridruenim CNAME uz jednu, ili vie SSRC vrednosti. Primalac dobija ove informacije i moe
da utvrdi kada dva niza podataka potiu od istog izvora.
Naalost, to i dalje nije dovoljno za sinhronizaciju. Iako svaki RIP paket ima vremensku oznaku,
ta vrednost zavisi od frekvencije semplovanja i ne odgovara realnom vremenu. Osim toga,
razliiti audio i video nizovi mogu da imaju razliite frekvencije semplovanja; zbog toga,
poreenje brojeva za dva niza moda nema smisla.
Ureaj koji ovo izvodi naziva se mikser.
U izvetaju poiljaoca od RTCP-a moe da se ukljue vrednost vremenske oznake i odgovarajue
stvarno vreme. Kada primalac dobije ove informacije, moe da utvrdi koji RTP nizovi potiu od
istog izvora, a zatim koristi vremensku oznaku i vrednosti realnog vremena za sinhronizaciju
izvoenja.
Sledee to RTCP omoguava jeste adaptacija brzine (rate adaption). Primalac moe da "izae na
kraj" sa pomeranjem paketa korienjem vremenskih oznaka za utvrivanje odgovarajuih
brzina izvoenja. Medutim, ako paket stigne suvie kasno da bi se izveo, mogue je da e biti
odbaen. Ovo nije problem ako se ne deava suvie esto. Ipak, ako doe do zaguenja na mrei,
stvorie se vei broj paketa koji kasne za izvoenje. Moda na mrei nema zaguenja, ali
poiljalac isuvie brzo generie i prosleuje pakete na mreu.
U svakom sluaju, problem velikog broja izgubljenih paketa moe da se rei tako to e ih
poiljalac sporije generisati, ili e se koristiti bolji algoritam za kompresiju podataka. Meutim,
kako poiljalac moe da zna ta se desilo? Primalac moe da koristi RTCP kako bi obezbedio
periodine izvetaje za poiljaoca, u kojima e naznaiti procenat izgubljenih paketa. Ako je
procenat suvie visok, poiljalac se adaptira i koristi niu frekvenciju semplovanja, ili bolji
kompresije za kodiranje podataka. Ako izvetaj ukazuje da nije dolo do gubljenja podataka,
poiljalac moe ak da pokua i da povea frekvenciju semplovanja kako bi se obezbedio kvalitetniji
tok informacija. Mogue je funkcionisanje na oba naina.
0 reavanju problema sa real-time audio i video aplikacijama moe da se kae jo mnogo tota;
mi smo ovde samo "zagrebali" po povrini. Ako ste zainteresovani za detalje multimedijalnih
komunikacija, moete ih pronai u referencama [KuOl], [Mi02] i [HaOl].
11.5 Internet aplikacije
Poto je TCP/IP iroko korien protokol, deluje logino da razmotrimo i neke aplikacije koje se
pokreu zajedno sa TCP/IP mreama. Verovatno su najpoznatiji Telnet, FTP, email i, naravno,
World Wide Web. Postoje i drugi, ali ogranieni prostor u ovoj knjizi nalae da napravimo izbor
ta emo predstaviti. lnternet aplikacije ukljuuju interakciju izmeu programa koji se izvravaju
na razliitim kompjuterima povezanim na lnternet (klijent/server model) i lako ete zapamtiti da
sve aplikacije o kojima emo govoriti zahtevaju saradnju izmedu dva programa na razliitim
mainama pokretanjem zajednikog protokola.
Protokoli virtuelnog terminala
Mree obezbeuju komunikaciju izmedu vie razliitih tipova opreme i softvera. Ranije aplikacije
su esto od korisnika zahtevale da se uloguju na udaljene kompjutere preko nemog terminala
(uredaji koji su imali malo, ili nimalo mogunosti za lokalnu obradu). Znaajan problem u to
vreme bila je injenica da je softver esto bio pisan imajui na umu specifinu opremu. Na
primer, uzmimo editor koji je prikazivao tekst na ekranu i omoguavao pomeranje kursora i
izvoenje promena. Ali, prikazani broj redova i kolona razlikovao se u zavisnosti od tipa
terminala. Komande za pomeranje kursora i brisanje i umetanje teksta zahtevale su kontrolne
sekvence koje su ponekad bile odredene tipom terminala. Neki terminali su imali, ak, i razliite
tastature. Standardizacija je bila izvedena u mnogo manjoj meri nego u dananje vreme.
Danas su nemi terminali zamenjeni personalnim kompjuterima, ali mnogi imaju softver koji im
omoguava emulaciju razliitih terminala i logovanje na udaljene maine. Udaljene maine
pokreu aplikaciju (server program) koja obezbeduje informacije iz fajla za korisnika. Nakon
toga, korisnik moe da vidi informacije i da lokalno radi sa njima (pomou klijent softvera). Ova
interakcija moe da ukljui umetanje, ili brisanje podataka, pomeranje kursora, ili pronalaenje
odredenog teksta. Ako iskoristimo primer tekstualnih editora koji koriste kompletni ekran,
postoji znaajan problem zbog toga to razliiti editori zahtevaju razliite sekvence sa tastature za
izvravanje odredenih akcija. Svi koji poznaju UNIX, ili Linux platformu mogu da razmotre
mogunost rada sa vi, emacs i pico editorima i primetie znaajne razlike. Kada aktivirate editor
daljinskim logovanjem, Va lokalni softver mora da razume mapiranje pritisaka na tastere
tastature koje editor zahteva. U suprotnom, unoenje komandi izaziva nepredviene efekte na
fajlu koji se edituje. Primera radi, kada se neko preko telneta povee na Linux server i pozove vi
editor, kursorski tasteri moda nee funkcionisati kao to se moglo oekivati. Umesto da se
kursor pomeri na susednu poziciju, u stvari se u fajl umeu neki udni karakteri. Razlog je to to
se kodovi koje kursorski tasteri generiu lokalno ne prevode u odgovarajue kodove na
udaljenom kraju koji pomera kursor. Programi za emulaciju terminala omoguavaju mapiranje
pritisaka na tastere na razliite kodove kako bi "stvari" ispravno funkcionisale. Neophodno je
samo prouiti opcije koje su dostupne iz menija.
Emulacija terminala je primer ire klasifikacije protokola, poznate kao protokoli virtuelnog
terminala. Virtuelni terminal je struktura podataka koju odravaju softverska aplikacija, ili lokalni
sajt. Njegov sadraj predstavlja stanje lokalnog terminala. Na primer, struktura moe da ukljuuje
tekuu poziciju kursora, indikator obrnutog videa, oblik kursora, broj redova i kolona i boju. I
korisnik i aplikacija mogu da se referenciraju na ovu strukturu. Aplikacija koja upisuje podatke u
virtuelni terminal i softver virtuelnog terminala zahtevaju prevoenje ulaza sa tastature. Kada
korisnik unese podatke, proces funkcionie u suprotnom smeru. Protokoli Virtuelnog terminala
defmiu format strukture podataka, softver konvertuje korisniki ulaz u standardnu formu, a,
nakon toga, aplikacija ita standardni "ekran".
Virtuelni terminali mogu da sadre vie podataka nego to ih je mogue prikazati na ekranu. Ovo
je izuzetno korisno kada je neophodno skrolovanje. Na primer, pretpostavimo da virtuelni
terminal moe da smesti 200 linija u bafer, ali je u jednom trenutku na ekranu mogue
prikazati samo 24 linije. Informacije u virtuelnom terminalu defmiu prvu i poslednju liniju
prikazanih podataka (slika 11.34). Prikazani podaci predstavljaju prozor i oznaeni su njegovim
delimiterima (graninicima). Ako korisnik koristi linije za skrolovanje sa strane, softver
virtuelnog terminala jednostavno menja delimitere prozora. Rezultat je to da se na terminalu
prikazuju razliite linije teksta.
Telnet Jedan primer mrenog protokola za virtuelni terminal je Telnet. Bio je dizajniran za
ARPANET i predstavlja jedan od protokola iz TCP/IP skupa. Moda veina ljudi Telnet zna kao
aplikaciju koja omoguava daljinsko logovanje.
Iz perspektive korisnika daljinsko logovanje se ne razlikuje od logovanja na lokalni kompjuter
(slika 11.35a). Medutim, slika 11.35b daje verniji prikaz situacije. Korisnik koji radi za
personalnim kompjuterom pokree protokole za povezivanje na mreu. Protokoli uspostavljaju
konekciju preko mree sa udaljenim kompjuterom. Korisnik i udaljeni kompjuter razmenjuju
komande i podatke koristei mrene protokole.
SLIKA 11.35 Daljinska konekcija
SLIKA 11.34 Prikazivanje baferovanog teksta po prozorima
Korisnik radi na viem sloju, tako da je sve ovo za njega transparentno, a personalni kompjuter
ima "oseaj" da su tastatura i monitor direktno povezani na udaljeni kompjuter. Jedina razlika
moe da bude neznatno zakanjenje izmedu odziva, posebno ako je udaljeni kompjuter veoma
daleko i ako je mrea optereena velikom koliinom saobraaja.
Telnet funkcionie u klijent/server modu (slika 11.36). Odnosno, personalni komjputer (klijent)
lokalno pokrece Telnet i prenosi podatke izmeu korisnika i mrenih protokola. Moe da
formatira i alje specifine komande, a neke od njih emo uskoro i prikazati. Udaljeni kompjuter
(server) pokree svoju verziju Telneta.
skrolovanje
navie
prozor
virtuelni terminal
baferovani tekst koji nije vidljiv na ekranu
baferovani tekst koji je vidljiv na ekranu
delimiter prozora
skrolovanje nanie
delimiter prozora
SLIKA 11.36 Relacija Telnel klijenta/servera
Izvrava sline funkcije, razmenjuje podatke izmedu mrenih protokola i operativnog sistema i
interpretira komande koje je korisnik izdao.
Korisnik moe da iskoristi Telnet na nekoliko naina, u zavisnosti od klijenta. Jedan nain je da
se uloguje na lokalni kompjuter, kao to su UNIX, ili Linux sistem, eka na sistemski prompt ("$"
u naem primeru) i unosi komandu
$ Telnet tekstualna-adresa
Tekstualna adresa defmie host kompjuter na koji korisnik eli da se povee. Telnet nakon toga
poziva transportni protokol pregovara i uspostavlja konekciju sa udaljenim sajtom. Kada se
povee, korisnik mora da se uloguje na udaljeni sajt naznaavanjem broja naloga i lozinke.
Takode je mogue uneti komandu Telnet bez tekstualne adrese.
Lokalni sistem reaguje prikazivanjem Tel net prompta ( t el net >) . Na udaljene sajtove moete
da se poveete unoenjem komandi connect, ili open (u zavisnosti od lokalnog sistema) i
naznaavanjem tekstualne adrese.
Sledea mogunost je kupovina Telnet programa i njegovo instaliranje na personalni kompjuter.
Program se obino startuje duplim klikom na ikonicu aplikacije, ili selektovanjem naziva
aplikacije iz menija, ime se otvara prozor slian onom na slici 11.37. Kada unesete neophodne
elemente, konekcija je uspostavljena i potrebno je uneti korisniko ime i lozinku.
Postoji jo jedan nain - unoenje telnet://tekstualna-aresa u adresno polje Internet Explorera, ili
Netscape Navigatora. Kako se moete povezati trenutno nije bitno; fokusiraemo se na ono to
se deava nakon to se poveete.
Kada se poveete, Telnet radi u pozadini i potpuno je transparentan za korisnika. Sve to unesete
ide na server. Medutim, ponekad e Vam biti potrebna interakcija sa Telnetom. Ako pokreete
Telnet program na svom kompjuteru, to moete da izvedete pomou padajuih menija koji se
nalaze na vrhu ekrana.
Ako pokreete Telnet sa Linux sistema, moete da izbegnete daljinsko logovanje unoenjem
kontrolne sekvence kao to je control-]. Ovo korisniku vraa Telnet prompt, ali ne prekida
daljinsku konekciju. Nakon toga, moete da unosite komande direktno za Telnet.
Na primer, pretpostavimo da se korisnik povezuje preko komande linije u Linuxu, loguje se na
udaljeni kompjuter i suoava se sa nekim kanjenjima. Moda se pita da li kasni odziv udaljenog
servera, ili je server prestao da funkcionie. Tada moe da unese control-] i Telnetu izda
komandu send ayt.
Klijent pokree Telnet
korisnik
Udaljeni server
pokree Telnet
Komanda ispituje udaljeni server i pita ga da li je funkcionalan (ayt je skraenica od "are you
there" - "da li si tu"). Ako jeste, korisnik vidi odziv [remote s er ver i d e n t i f i e r : yes].
SLIKA 11.37 Telnet protokol zahteva naziv hosta i sesije.
Ako korisnik pokree program na udaljenom kompjuteru i taj program ude u beskonanu petlju,
korisnik moe da prede u Telnet prompt i tamo unese komande send abor t , ili send susp
kako bi pokrenuti proces bio "ubijen", ili suspendovan.
Postoji veliki broj razliitih Telnet opcija; one zavise od softvera i hardvera koji koristite. Obino
postoji pomono sredstvo koje obezbeuje informacije o njima. Zato ovde neemo pokuavati
da ih opisujemo. Najbolji nain da se detaljno naui kako se Telnet koristi omoguava doku-
mentacija koja se dobija uz sistem.
Secure Shell Telnet je moda najpoznatiji protokol za daljinsko logovanje, ali svakako nije i
jedini. Primeri su rlogin, rsh i ssh. Pomoni program rlogin (Remote Login) podsea na Telnet,
ali je manje fleksibilan i dizajniran je za UNIX sisteme koji pokreu rlogind demon. * Pomoni
program rsh slino obezbeduje daljinsko logovanje, ali moe da dopusti korisniku da naznai
jednu komandu koju eli da izvri na udaljenoj maini. Ovde ih neemo predstaviti, jer je ssh
(Secure Shell) mnogo monija i fleksibilnija alatka za sve namene, tako da su ostali naputeni.
Naveemo nekoliko primera za korienje ssh.
'Demon proces se pokree u pozadini i eka na neku vrstu zahteva za odredenim servisom. Kada zahtev stigne, demon obino
kreira drugi proces koji upravlja lim zahlevom. Originalni proces nastavlja normalno funkcionisanje, ekajui na sledei
zahtev.
Testirani su na serveru koji pokree Red Hat Linux verzija 7.3. Neke starije verzije ne podravaju
ssh i komande mogu da funkcioniu malo dmgaije nego na ostalim varijantama UNIX-a.
Jedna razlika izmedu ssh i Telneta je da ssh omoguava korisniku da lako izvri jednu komandu
na udaljenom hostu. Sa Telnetom korisnik mora da se uloguje, unese komandu, pa da se
izloguje. Kod ssh korisnik moe da unese komandu
ssh korisnik@naziv_udaljenog_hosta Is -1
ssh trai od korisnika da unese tanu lozinku. Nakon toga, udaljeni sistem izvrava komandu Is
-1 za izlistavanje fajlova i atributa, a ssh vraa rezultate do korisnika; korisnik nije ulogovan na
udaljeni host. Konekcija je uspostavljena samo radi izvravanja jedne komande i okonana je im
je generisan izlaz komande.
Ovo je jednostavan primer, a najznaajnija razlika izmeu ssh i Telneta je to da ssh obezbeuje
autentifikaciju i ifrovanje razmenjenih podataka izmeu lokalnog i udaljenih hostova. Ovo je
izuzetno znaajno kada se inicijalno ulogujete, jer morate da unesete lozinku. Ako lozinke nisu
ifrovane, izlaete se velikom riziku. To bi bilo isto kao da ostavite kreditnu karticu na vidno
mesto gde svako moe da iskopira broj Vaeg rauna. Razliite verzije ssh obezbeuju ifrovanje
i autentifikaciju korienjem razliitih metoda. Ovde se neemo baviti tim razlikama, ve emo
samo ukratko opisati neke najznaajnije karakteristike. Zainteresovani itaoci mogu da pogledaju
reference [Sc02], [MaOO] i [BaOl], a za vie informacija treba da posete Web sajt
www.openssh.org.
Korisnik moe da inicira ssh na isti nain kao i Telnet - jednostavno unosi odgovarajuu
komandu, ili selektuje odgovarajue dugme na grafikom korisnikom interfejsu (GUI) i
zapoinje protokol za uspostavljanje konekcije. Razlika je u onome to sledi nakon toga. Na
primer, jedna karakteristika koju ssh obezbeuje je autentifikacija servera. Da biste razumeli
znaaj ovoga, pretpostavite da korisnik eli da uspostavi konekciju sa udaljenim hostom.
Medutim, neko presree taj zahtev i, lano se predstavljajui kao eljeno odredite, vraa odziv
validnog izgleda. Ovo se naziva lano predstavljanje (spoofing). Kada korisnik unese lozinku, ona
se alje na pogrean sajt bez korisnikovog znanja i dospeva u ruke kriminalca.
ssh spreava ovakve prevare autentifikacijom servera na koji se korisnik povezuje. Ovaj proces
autentifikacije se pomalo razlikuje od onoga koji je korien za SSL (videti Poglavlje 7). Ilustracije
radi, pretpostavimo da korisnik unese komandu ssh udaljeni_host. Ako je ovo prvi put da
ssh vidi ovaj naziv hosta, ne moe da potvrdi da je to host koji bi trebalo da bude. Zato ssh
generie poruku slinu sledeoj:
The authenticity of host 'remote_host (100.200.200.2g0) ' can't
be established.
RSA key fingerprint is
a5:42:fe:ce:45:a3:7c:c4:ff:52:5f:f9:65:16:9b:4d.
Are you sure you want to continue connecting (yes/no)?
ssh govori korisniku da ne moe da potvrdi autentinost hosta i pita ga ta eli da uradi. Osim
toga, obezbeuje otisak (vrednost digitalnog saetka) kljua koji korisniku omoguava da utvrdi
autentinost servera (i kljua).
Na primer, korisnik moe da kontaktira sa administratorom hosta i da proveri otisak i klju. Ako
selektuje negativan odgovor, konekcija se nee uspostaviti. Ako izabere potvrdan odgovor
(a to treba da uradi samo ako je siguran da je udaljeni host validan), konekcija se uspostavlja. U
tom sluaju se kreira fajl pod nazivom known_hosts (ili se aurira ako fajl ve postoji) u poddi-
rektorijumu .ssh, koji je smeten u korisnikovom matinom direktorijumu. Taj fajl sadri javni
klju udaljenog hosta.
Sledeeg puta kada korisnik pokua da uspostavi ssh konekciju sa tim hostom, ssh klijent dobija
javni klju od udaljenog hosta i proverava da li postoji u fajlu sa poznatim hostovima. Ako se
pronae podudaran klju, klijent generie nasumini broj, ifruje ga pomou javnog kljua, a
zatim ga vraa nazad do udaljenog hosta. Ako host moe da deifruje broj, onda je autentian, jer
samo udaljeni host zna privatni klju. Ako nema podudarnog kljua, onda ssh generie poruku
slinu prethodno prikazanoj. Ovo moe da se desi ako host promeni javni klju. U tom sluaju
korisnik mora ponovo da verifikuje klju. Ako postoji poklapanje, ali udaljeni host ne moe da
deifruje broj, autentinost nije potvrdena i nema konekcije.
Kada se konekcija uspostavi, klijent i server pregovaraju o kljuu sesije koji se koristi za ifrovanje
narednih podataka koji e biti razmenjeni. Utvrdivanje kljua sesije razlikuje se u zavisnosti od
verzije ssh. Na primer, to moe da bude nasumian broj koji klijent generie. Poto klijent
ifruje nasumini broj sa javnim kljuem udaljenog hosta, jedino host moe da ga deifruje.
Klijent i server mogu da izvravaju i DiffieHellman razmenu kljua.
Program ssh obezbeduje i autentifikaciju klijenta. U zavisnosti od verzije, postoji nekoliko naina
da se to izvede. Jedan nain je da se od korisnika zahteva da unese privatnu lozinku. Sledei nain
omoguava korisniku da se bezbedno uloguje bez unoenja lozinke. Sledei koraci, pokrenuti na
Linux sistemu, pokazuju mogui pristup za postavljanje autentinosti klijenta.
1. Korisnik izdaje komandu ssh - keygen - t dsa. Ova komanda kreira javni i
privatni klju koji se smetaju u fajlovima id^dsa.pub i id_dsa, respektivno. Ti fajlovi su
smeteni u poddirektorijumu .ssh u korisnikovom lokalnom matinom direktorijumu.
2. Korisnik kopira fajl id_dsa.pub u drugi fajl authorized_keys u poddirektorijumu .ssh
korisnikovog matinog direktorijuma na udaljenoj maini. Napomenimo da se javni
klju sada nalazi na oba hosta.
3. Korisnik inicira konekciju pomou komande ssh naziv_udaljenog_hosta.
Korisnik se povezuje bez unoenja lozinke.
Kako se ovo desilo? Umesto da se za autentifikaciju korisnika koriste lozinke, ssh je upotrebio par
kljueva koji je korisnik generisao. Slede opti koraci razmene:
1. U toku inicijalnog setupa ssh server dobija javni klju od korisnika iz fajla
authorized__keys. Zatim, generie nasumini broj i ifruje ga pomou korisnikovog
javnog kljua.
2. ssh server alje ifrovani klju do ssh klijenta kako bi ga ovaj deifrovao pomou
korisnikovog privatnog kljua.
3. ssh klijent deifruje broj, koristei privatni klju smeten u id_dsa, i rezultat alje
nazad do servera.
4. Server utvruje da je klijent uspeno deifrovao broj, ime je potvrdena njegova
autentinost (privatni klju bi trebalo da zna samo korisnik).
5. Korisnik se ulogovao.
Pomoni program ssh je veoma moan i mnogo tota se deava od trenutka kada korisnik unese
komandu ssh dok se ne uloguje. Postoje mnoge druge opcije za autentifikaciju i razmenu kljua.
Tu su ukljueni algoritmi za digitalne potpise, RSA, Blowfish, trostruki DES, AES i Diffie-Hellman
razmena. U stvari, na Linuxu korisnik moe da unese ssh naziv_udaljenog_hosta - v.
Opcija - v postavlja ssh protokol u takozvani "brbljivi" (verbose) mod. On obavetava korisni-
ka o svim interakcijama koje se deavaju dok pokuava da se povee i proveri autentinost. Ovo
je interesantno pogledati, jer su objanjenja veoma detaljna, ali je neophodno predznanje.
Zainteresovani itaoci treba da pogledaju prethodne reference, ili stranice sa uputstvom za Linux.
Dostupna je i freeware verzija ssh nazvana PuTTy. Pretraivanje izvedeno pomou Internet
pretraivake maine treba da pokae lokacije sa kojih moete da preuzmete program. Odrava
se log fajl u kome se belee sve razmene podataka koje korisnik inicira, slino verbose modu u
Linuxu.
Transfer fajlova
Jedna od najedh mrenih aplikacija je transfer fajlova. Ima brojne primene. Ljudi koji su
angaovani na grupnim projektima, ili izvode razna istraivanja esto moraju da dele fajlove.
Mogunost pristupa i transfera fajlova ima sutinski znaaj za deljenje informacija. Predavai
kreiraju fajlove za studente koji ih koriste za polaganje praktinih delova ispita. Korisnici mogu
da prenose fajlove sa kunog kompjutera na fajl server na poslu kako bi imali rezervne kopije
onoga to rade.
U veini sluajeva svi fajlovi se nalaze na jednom mestu i kontrolie ih fajl server. Kada korisnik
eli da prenese fajl, postavlja zahtev odgovarajuoj aplikaciji. ZaUm, prouava mrene protokole
za transfer fajlova. Meutim, postoje problemi koje je neophodno reiti.
Jedan je struktura fajlova, koja moe da bude razlidta. Na primer, neki fajlovi se sastoje od
jednostavnih sekvenci bajtova. Drugi su takozvani ravni fajlovi (flatfiles), koji se sastoje iz linearne
sekvence zapisa. Haovani fajlovi (hashed files) omoguavaju nasumini pristup zapisima pomou
vrednosti kljua. Hijerarhijski fajlovi (hierarchial files) mogu da organizuju sve pojave kljunog
polja u strukturi stabla.* Ove razlike mogu da izazovu probleme ako odredini sistem ne
podrava struktum izvornog fajla.
Jedan od moguih naina uproava transfere izmeu nekompatibilnih sistema definisanjem
strukture virutelnog fajla, koju podrava samo mrea, radi transfera fajlova. Na slici 11.38
prikazan je proces transfera. Korisnik A eli da prenese fajl do korisnika B, ali oni rade na
kompjuterima koji podravaju razliite fajl sisteme. Fajl korisnika A mora da se prevede u
strukturu definisanu mreom izmedu njih. Nakon toga, stvarnim transferom upravlja protokol za
transfer fajlova i fajl se na kraju konvertuje u strukturu koju podrava kompjuter korisnika B.
* Morate da razlikujele strukturu fajla od njegove implementacije. Na primer, faj! moe da bude hijerarhijski, ali postoje
razne implementacije hijerarhijske strukture.
' Kao i Telnet, FrP moe da se pokree iz GUI-a, ili iz Web pretraivaa. Nastavljamo kao da ste uneli sopstvene komande
(funkcionie isto u svakom sluaju).
korisnik A korisnik B
Konvertovanje strukture
fajla u strukturu
virtuelnog faila
struktura
virtuelnog
faila Prenos virtuelnog fajla
struktura
virtuelnog
fajla
Konvertovanje strukture
virutelnog fajla u
strukturu stvarnog fajla
SLIKA 11.38 Transfer fajla izmedu kompjutera koji podravaju razliite strukture fajlova
Struktura virtuelnog fajla mora da sauva sutinske gradivne elemente fajla. Na primer, mora da
sadri naziv fajla, atribute i kodirane informacije o stvarnoj strukturi kako bi se omoguilo
ispravno prevoenje. Naravno, mora da sadri i podatke.
Sledei problem transfera fajlova je dostupnost. Sistem za transfer fajlova ne treba da odobri svaki
zahtev. Mora da sadri zatitu. Mogu li se fajlovi prenositi u oba smera? Da li se onome ko
zahteva fajl uopte doputa pristup? Slube zaduene za uvanje reda i zakona definitivno ne bi
htele da njihov sistem dopusti pristup svim njihovim fajlovima. Mraju se uzeti u obzir i viestru-
ki pristupi istim fajlovima. Da li su doputeni? Za zatitu fajla i kontrolu konkurentnosti koriste
se lozinke, zabrane i kljuevi.
FTP Jedan od najee korienih protokola za transfer fajlova naziva se upravo tako - protokol
za transfer fajlova (File Transfer Protocol), ili FTP (kreatori se nisu "proslavili" matovitou). To je
jo jedan protokol iz TCP/IP skupa i formira se na istoj klijent/server paradigmi kao Telnet.
Korisnik koji radi sa lokalnim FTP programom usposatvlja vezu sa udaljenim sajtom koji takode
pokree FTP. Kao i kod Telneta, ovo moe da se izvede na nekoliko naina. Jedan nain
podrazumeva jednostavno unoenje sledee komande na Linuxu
ftp tekstualna-adresa
ime se uspostavlja konekcija sa naznaenim udaljenim kompjuterom, slino to radi i Telnet.*
Drugi nain podrazumeva unoenje
f t p
i ekanje da se pojavi prompt f tp>. Nakon toga, korisnik unosi
open tekstualna-adresa
radi uspostavljanja konekcije. U zavisnosti od lokalnog sistema, ponekad se, umesto open,
koristi komanda connect. Kada se povee, od korisnika se zahteva identifikacija sa lozinkom.
Nakon unoenja odgovarajue identifikacije i lozinke, korisnik dobija na korienje podirektorijume,
listu direktorijuma i kopije fajlova.
Mnogi sajtovi postavljaju svoje fajlove da budu dostupni optoj Internet zajednici. Ovo znai da
korisnik moe da im pristupi bez potrebe da ima nalog na toj maini. Kada se korisnik povezuje
na sajt, obino se prijavljuje sa korisnikim imenom "anonymous", ili "guest", ili sa svojom email
adresom kao lozinkom. Email adresa se koristi za praenje pristupa. Ova aplikacija je obino
poznata kao anonimni FTP. *
Na povrini, FTP izgleda isto kao Telnet: obe aplikacije korisniku omoguavaju uspostavljanje
konekcije sa udaljenim mainama. Razlika je u tome to Telnet zahteva legitimno logovanje, dok
FTP prvenstveno obezbeuje pristup odreenim fajlovima i direktorijumima.
Kada se FTP konekcija uspostavi, korisnik vidi prompt f tp> . U tom trenutku on ima vie raspo-
loivih opcija. Kao i ranije, neemo pokuavati da predstavimo sve komande; objasniemo samo
neke najee koriene iz tabele 11.3. Korisnici mogu da dobiju informacije o komandama
pomou komande hel p, ili unoenjem znaka pitanja (?). Verovatno su najee koriene
komande cd, koja omoguava prelazak u radni direktorijum na udaljenom hostu, i get, koja
kopira fajlove sa udaljenog na lokalni sajt.
* Zbog ogromnog broja sajtova na Web serverima, anonimni FTP se manje koristi nego ranije, jer korisnici mogu da pristupe
istim fajlovima i pomou pretraivaa i HTTP protokola. U sledeem poglavlju ih detaljnije predstavljamo.
Cd
close
dir ili Is
get
giob
help
mget
mput
put
pwd
quit
remotehelp
Menja radni direktorijum na udaljenom hostu.
Zatvara FTP konekciju.
Obezbeduje listu direktorijuma koji se nalaze u tekuem direktorijumu.
Kopira naznaeni fajl sa udaljenog hosta na lokalni sistem. Lokalni fajl dobija isti
naizv kao i fajl na udaljenom hostu. U sluaju da postoji nekompatibilnost u
konvenciji imenovanja, ili ako korisnik jednostavno eli da preneti fajl drugaije
nazove, lokalni naziv fajla moe da se naznai kao drugi parametar komande.
Ponaa se kao preklopnik koji doputa, ili zabranjuje upotrebu doker znakova.
Na primer, ako Je * doker znak i njena upotreba je doputena, onda se sa mget
* .TXT dobijaju svi fajlovi sa ekstenzijom .txt.
Prikazuje listu svih klijentskih FTP komandi.
Kopira vie fajlova sa udaljenog hosta na lokalni sistem.
Kopira vie fajlova sa lokalnog sistema na udaljeni host, na kome je doputeno
kreiranje novih fajlova.
Kopira naznaeni fajl sa lokalnog sistema na udaljeni host ako to udaljeni host
doputa.
Prikazuje tekui radni direktorijum na udaljenom hostu.
Zavrava FTP.
Prikazuje listu svih serverskih FTP komandi.
Komanda Znaenie
Border Gateway Protokol (BGP)
Domain Name System (DNS)
File Transfer Protocol (FTP)
Hypertext Transfer Protocol (HTTP)
lnternet Control Message Protocol (ICMP)
lnternet Protocol (IP)
lnternet Protocol verzija 6 (IPv6)
lnternet Protocol preko ATM-a
IPSec
Open Shortest Path First (OSPF) protokol verzija 2
Routing lnformation Protocol (RIP)
Resource Reservation Protocol (RSVP)
Simple MaN Transfer Protocol (SMTP)
Simple Netvvork Management Protocol (SNMP) verzija 2
Simple Netvvork Management Protocol (SNMP) verzija 3
specifikacija Telnet protokola
Transmission Control Protocol (TCP)
Preno IP datagrama preko IEEE 802 mrea
Prenos IP datagrama preko javnih mrea za prenos podataka
Uniform Resource Locators (URL) na Webu
User Datagram Protocol (UDP)
kritike X.25
X.400 email standard
X.509 sertifikati
1105, 1266, 1265, 1771
1591, 1101
114, 172, 265, 354, 542, 765, 959
2068,2616
777, 792
791,760
2460
1577
2401
2328
1387, 1388, 1721, 1723, 1058
2205
788,821
1901-1907
2570-2575
764, 854
793,761,675
1042
877
1738
768
874
822,987, 1616
2459, 2560
Tema RFC broj
Anonimni FTP je inio fajlove i tehnike izvetaje dostupnim celoj lnternet zajednici pre nego to su
Web serveri postali uobiajeni. Dostupni fajlovi su zavisili od toga ta su administratori udaljenog sajta
postavili na anonimni FTP nalog. Anonimni FTP sajtovi i dalje postoje; pokazaemo jedan primerza
korienje FTP-a kako bi se dobio pristup irokom opsegu informacija o mreama i komunikacijama
preko niza dokumenata poznatih kao Request for Comments (RFC) serije. To su beleke o
istraivanjima koje su dostupne u elektronskoj i tampanoj formi. Obuhvataju iroki dijapazon tema,
lao to su lnternet protokoli, upravljanje mreama, administriranje, email i mreni standardi.
Jedan repozitorijum za RFC dokumente nalazi se na ftp.ietf.org. RFC serije su numerisane i
objavljuju se u formi RFCxxxx, gde je oznaka xxxx etvorocifrena. Ovde neemo ni pokuavati da
dajemo listu RFC-a, jer bi nam za to bilo potrebno oko 40 stranica. U tabeli 11.4 navedeno je
nekoliko RFC-a koji su "vezani" za teme obraene u ovoj knjizi. Za konkretne teme postoji jo
mnogo dokumenata.
1 /home/shayw-$>ftp ftp.ietf.oro
2 Connected to 4.17.168.6 (4:17.168.6).
3 228 www.ietf.org NcFTPd Server (licensed copy) ready.
4 Name (ftp.ietf.org:shayw): anonymous
5 331 Guest login ok, send your complete e-mail address as password.
6 Password; shaywBuwgb.edu
7 238-You are user #3 of 50 simultaneous users allowed.
8 230-
9 230 Logged in anonymously.
10 Remote system type is UNIX
1
11 Using binary mode to transfer files.
12 ftp> Is
13 227 Entering Passive Mode (4,17,168,6,206,14)
14 150 Data connection accepted from 143.200.128.235:34548; transfer starting.
15 lrwxrwxrwx 1 ftpuser ftpusers 7 Jun 21 2001 bin-> usr/bin
16 drwxrwxr-x 250 ftpuser ftpusers 4608 May 3 2001 concluded wg-ietf-mail-archive
17 dr-xr-xr-x 2 ftpuser ftpusers 512 JuI 19 1996 dev
18 dr-xr-xr-x 2 ftpuser ftpusers 512 Aug 13 1998 etc
19 drwxr-xr-x 3 ftpuser ftpusers 6656 Sep 6 15:06 iesg
20 drwxrwxr-x 487 ftpuser ftpusers 9216 Sep 13 16:07 ietf
21 drwxr-xr-x 6 ftpuser ftpusers 512 Feb 2 1999 ietf-gopher
22 drwxrwxr-x 212 ftpuser ftpusers 4096 Sep 15 15:33 ietf-mail archive
23 drwxr-xr-x 16 ftpuser ftpusers 512 May 30 2001 ietf-online-proceedings
24 drwxrwxr-x 2 ftpuser ftpusers 184832 Oct 1 13:54 internet-drafts
25 dr-xr-xr-x 2 ftpuser ftpusers 512 Aug 29 1996 lib
26 drwxr-xr-x 2 ftpuser ftpusers 512 Apr 17 1996 lost+found
27 drwxr-xr-x 3 ftpuser ftpusers 512 Sep 13 09:47 pub
28 drwxrwxr-x 9 ftpuser ftpusers 74752 Oct 1 19:29 rfc
29 dr-xr-xr-x 5 ftpuser ftpusers 512 Apr 18 1996 usr
30 226 Listing completed.
31 ftp> Cd rfo
32 250- "/rfc" is new cwd.
33 250-
3 4 250-* . I . . . . . . . . = . . . . . . . = . . . . = . . . . . . . = . *
35 250-*
36 250-* This directory is maintained by the RFC Editor. If you experience*
37 250-* any problems, please report thera to rfc-editor9rfc-editor.org
38 250-*
39 250-* . . . . . . . . . . . . . . = . *
40 250
41 ftp> get rfc-index.txt
42 local: rfc-index.txt remote: rfc-index.txt
43 227 Entering Passive Mode (4,17,168,6.218,101)
44 150 Data connection accepted from 143.200.128.235:34549; transfer starting
45 for rfc-index.txt (524437 bytes).
46 226 Transfer completed.
47 524437 bytes received in 4.42 sees (1.2e-i-02 Kbytes/sec)
48 ftp> quit
49 221 Goodbye.
50 /home/shayw-$>
SLIKA 11.39 Primer korienja FTP-a za prenos fajla
Sajt repozitorijuma RFC dokumenata odrava RFC listu u fajlu kome moe da se pristupi pomou
FTP-a. Na slici 11.39 prikazano je kako je fajl pribavljen preko Linux sistema. Boldirani karakteri
predstavljaju one koje je uneo korisnik, a obini karakteri odgovaraju FTP odzivima. Linija 1
prikazuje FTP komandu za povezivanje na udaljeni sajt ftp.ietf.org. Linija 4 odgovara zahtevu za logo-
vanje i ulazu za anonimno logovanje. Linija 6 zahteva lozinku, to je u ovom sluaju autorova email
adresa. Kao i kod vene sistema, na lozinku nisu dobijene nikakve povratne informacije, vesu ovde
prikazane samo radi ilustrovanja interakcije. Linija 12 prikazuje sadraj tekueg direktorijuma na FTP
sajtu. Linija 31 menja radni direktorijum na poddirektorijum rfc tekueg direktorijuma. U ovom
poddirektorijumu se nalaze RFC dokumenti. Konano, linija 41 zahteva prenos kopije fajla pod
nazivom rfc-index.txt na lokalni sajt. U ovom fajlu se nalazi lista svih RFC dokumenata raspoloivih
utom repozitorijumu i obuhvaenih tema. Kopirani fajl e takoe nositi naziv rfc-index.txt. Preostale
linije ukazuju na status transfera dok je toku. FTP se zavrava u liniji 48.
Ako elite kopiju odreenog RFC dokumenta, unesite
get rfcxxxx.txt
gde je xxxx etvorocifreni RFC broj.
Naravno, ovo nije jedini nain da se pristupi takvim dokumentima. Ako imate pretraiva i Internet
konekciju, moete ih koristiti za pristup FTP sajtovima. Jednostavno, navedite ftp://ftp-sajt kao LIRL.
Naslici 11.40 prikazan je rezultat unoenja ftp://ftp.ietf.org u adresno polje Internet Explorera.
SLIKA 11.40 Korienje FTP-a pomou pretraivaa
Uporedite prikazane direktorijume sa onima koji su prikazar.i u linijama 16 do 29 na slici 11.39.
Direktorijumu pristupite jednostavnim klikom, a kada kliknete naziv fajla moete da vidite
sadraj fajla.
Secure Copy Kao i Telnet, FTP nije bezbedan. Nema ni ifrovanja, ni autentifikacije. Medutim,
program Secure Copy (scp) obezbeduje te funkcije. Funkcionie slino FTP-u, ali koristi istu
autentifikaciju i zatitu kao ssh. Jedan nain za kopiranje fajla pomou scp je unoenje sledee
komande (ponovo pretpostavljamo da se koristi Linux):
scp korisnickoime@host:nazivfajla1 nazivfajla2
U stvari, sasvim je jednostavno - kopira se fajl (nazivfajlal) sa naloga (korisnickoime) na naznaeni
host. Fajl se na lokalni host smeta kao nazivfajla2. Nakon to korisnik unese ovu komandu, scp
trai od korisnika da unese lozinku za nalog na udaljenom hostu. Naravno, postoje razliite
opcije koje korisniku omoguavaju naznaavanje ovih "stvari" i razni metodi koji se koriste za
ifrovanje i proveru autentinosti. Ako korisnik pokrene scp u "brbljivom" modu (pomou
opcije - v), razmena izmeu lokalnog i udaljenog hosta prilino podsea na onu kod ssh.
Simple Mail Transfer protokol (SMTP)
Jedna od najee korienih aplikacija na mrei sigurno je elektronska pota, tj. mogunost
slanja poruke, ili fajla do specifinog korisnika na lokalnom, ili udaljenom sajtu. Poruku obino
aljete tako to naznaite email adresu primaoca. Uobiajeni format je ime@iekstualna_adresa_hosta,
Poruka se baferuje na odredinom sajtu i dostupna je samo korisniku kome je namenjena.
Email ima neke slinosti sa protokolima za transfer fajlova. Na primer, u oba sluaja se koriste
klijent i server za pregovaranje o transferu podataka. Meutim, email obino alje fajl do
specifinog korisnika, po ijem se nalogu poruka baferuje. Email klijent i server rade u pozadini.
Na primer, ako uzimate fajl pomou FTP-a, obino morate da saekate dok ne stigne pre nego to
dobijete mogunost da uradite neto drugo. Ako aljete (ili primate) fajl pomou emaila, moete
da radite neto drugo dok klijent i server izvravaju isporuku email poruke u pozadini. U sluaju
prijema elektronske pote, ne morate ak da budete ni ulogovani. Kada se sledei put ulogujete,
biete obaveteni o novoj poti.
Standardni email protokol u TCP/IP skupu protokola je Mail Transfer Protocol (SMTP). Pokree
se iznad TCP/IP protokola, a ispod bilo kog lokalnog email servisa. Njegova primarna
odgovornost je da se osigura da se poruka prenese izmeu razliitih hostova. Sa druge strane,
lokalni servis je odgovoran za distribuiranje emaila do specifinih primaoca.
Na slici 11.41 prikazana je interakcija izmeu lokalnog emaila, SMTP i TCP protokola. Kada
korisnik poalje email, lokalni kapaciteti za email utvrduju da li je adresa lokalna, ili zahteva
povezivanje na udaljeni sajt. Ukoliko je potrebno povezivanje na udaljeni sajt, lokalni kapaciteti
za email skladite potu (slino kao kada ubacite pismo u potansko sandue), gde eka na
klijentov SMTP. Kada klijentov SMTP isporui email, najpre poziva TCP da uspostavi konekciju
sa udaljenim sajtom. Kada je konekcija uspostavljena, SMTP protokoli na klijentu i serveru
razmenjuju pakete i na kraju isporuuju email. Na udaljenom kraju lokalni kapaciteti za email
uzimaju potu i isporuuju je namenjenom primaocu.
SLIKA 11.41 SMTP u mterakaji sa loltalnim servisom za postu i TCP protokolom
Na slici 11.42 prikazana je razmena paketa izmeu klijenta i servera. Paketi se jo nazivaju i
jedinice podataka SMTP protokola (SMTP protokol dala units - PDU), ili, jednostavno, komande. Kada
se uspostavi TCP konekcija, server alje 220 PDU, ukazujui da je spreman za prijem pote. Broj
220 slui za identifikovanje tipa paketa. Nakon toga, klijent i server razmenjuju identitete svojih
sajtova. Zatim, klijent alje MAIL FROM PDU,ukazujui da je stigla pota i identifikuje
poiljaoca. Ako je server spreman da prihvati potu od poiljaoca, odgovara sa 250 OK PDU.
Server tada alje jedan, ili vie RCPT TO PDU-a, naznaavajui primaoce kako bi se utvrdilo da li
oni postoje pre nego to se pota poalje. Za svakog primaoca server odgovara sa 250 OK PDU
(znai da primalac postoji), ili 550 Recipient Not Here PDU (znai da primalac ne postoji).
Nakon to se identifikuju svi primaoci, klijent alje DATA PDU, ukazujui da e poeti prenos
pole. Server odgovara sa 354 Start Mail PDU, ime daje "zeleno svetlo" za poetak slanja, i
definie sekvencu koju klijent treba da koristi za oznaavanje kraja pote. U ovom sluaju sekvenca
je <CR><LF>.<CR><LF>. Klijent alje potu sa PDU-ima fiksne veliine, postavljajui ovu
sekvencu na kraj pote. Kada server dobije poslednji PDU, alje potvrdu primaocu sa sledeim
250 OK PDU. Konano, klijent i server razmenjuju PDU-e, ukazujui da se isporuka pote
zavrava, i TCP otputa konekciju.
Ovaj opis je obuhvatio osnovne crte funkcionalnosti SMTP protokola; nismo zalazili u detalje
PDU formata, ili teme kao to su prosleivanje poruka, ili reagovanje na nekonzistentne adrese.
Vie informacija o SMTP protokolu moe da se nade u referencama [CoOO] i [Ru89] i u RFC
dokumemima 788 i 821.
pota pota
lokalni servis
za potu
Pozivanje potanskih
sredstava za slanje pote
korisnik
pota
Isporuka pote
primaocu
primalac
lokalni servis
za potu
pota
Smetanje pote u
potansko sandue
Poziv lokalnom servisu
da isporui potu
udaljeni host
pota
SMTP prima
potu i uspostavlja
konekciju sa
udaljenim sajtom
preko TCP
protokola.
Nakon toga,
isporuuje potu
u skladu
sa svojim
protokolom.
SLIKA 11.42 Slanje emaila pomou SMTP-a
Simple Netvvork Management protokol (SNMP)
Simple Netvvork Management Protocol (SNMP) je protokol za upravljanje koji je dizajniran da
bi se osiguralo ispravno funkcionisanje mrenih protokola i ureaja. Omoguava menaderima
da lociraju probleme i izvedu podeavanja razmenom sekvence komandi izmedu klijenta i
servera. Za razliku od prethodne aplikacije, pokree se iznad UDP-ja umesto TCP-ja. Poto je re
o znaajnom delu upravljanja Internetom, zavreduje posebnu panju.
Na slici 11.43 prikazane su SNMP arhitekture. Menader mree pokree klijentski program za
upravljanje na sajtu koji komunicira sa programom za upravljanje na serveru na drugom sajtu.
Serverski programi se, obino, pokreu na udaljenim hostovima, a posebno na mrenim
ruterima.
email klijent
uspostavljaju TCP konekciju
TCP entiteti
email server
220: spreman za email
naziv servera
250 OK
HELO: naziv klijenta
MAiL FROM: ime poiljaoca
RCPT TO: ime I primaoca
RCPT TO: ime n-tog primaoca
DATA (podaci)
slanje email poruka
<0R> <LF>. <CR> <LF>
250 OK ili 550 no such recipient
250 OK ili 550 no such recipient
250 slanje emaila, zavravanje sa
<CR> <LF>. <CR> <LF>
250 OK
QUIT
221 zatvaranje kanala
vreme vreme
TCP entiteti zatvaraju konekciju
SLIKA 11.43 SNMP arhitektura
Oba programa za upravljanje koriste komande definisane SNMP protokolom. Komande
prvenstveno definiu kako se zahtevaju informacije od servera i kako se informacije alju do
servera, ili klijenta.
SNMP ima nekoliko ciljeva (opisanih u dokumentu RFC 1157). Prvi je uproavanje funkcija
upravljanja kako bi se redukovale cene podrke i kako bi se SNMP lake koristio. Drugo, mora da
bude proiriv da bi bile omoguene budue izmene karakteristika mrenih operacija i upravljanja.
Tree, protokol mora da bude nezavisan od specifinosti dizajna hosta, ili rutera.
Rezultat je protokol sloja aplikacije koji saraduje sa transportnim servisima.
Poto je SNMP aplikacija za upravljanje, mora da zna kojim procesima treba da upravlja i kako
da se referencira na njih. Ruteri i hostovi kojima SNMP upravlja nazivaju je objekti. Objekat ima
formalnu definiciju u skladu sa ASN. 1 (Abstract Syntax Notation 1), formalnim jezikom
dizajniranim iskljuivo za definisanje PDU formata i objekata. O formalnom tretmanu objekata
i ASN.1 dodatne informacije moete da pronadete u referencama [SuOO], [CoOO] i [Co99[.
Standard Management Information Base Server svakog objekta odrava bazu podataka sa
informadjama koje opisuju njegove karakteristike i aktivnosti. Poto postoje razliiti tipovi
objekata, standard precizno definie ta treba da se odrava. Ovaj standard (Management
Information Base - MIB) bio je definisan grupom koju je predloio SNMP. Osam kategorija
informacija je defmisano sa MIB. Kompletan opis svake kategorije moete da pronadete u
referencama [SuOO], [CoOO], [St99] i [MiOO]. Ovde emo navesti svaku kategoriju sa nekim
primerima informacija koje sadre.
System (Sistem) Opisuje operativni sistem hosta, ili rutera i sadri informacije kao
to su vreme kada se server startovao, opis svakog uredaja na kome se pokrece,
lokadja uredaja i informacije o osobi za kontakt.
korisnik
Klijent dobija informacije
od SNMP servera preko UDP-ja.
SNMP
klijent
ruter
host
ruter
mreza
Ruteri i hostovi pokreu
SNMP servere i odravaju
osnovne informacije
* Specifini PDU formal i mehanizam identifikovanja MIB promenljivih je sloen. Vie detalja o njima sadre reference
[MiOO] i [St99].
Interface (Interfejs) Opisuje svaki mreni interfejs i sadri stavke kao to su
veliina MTU (videti sekviju 11.2), brzina prenos, broj paketa odbaenih zbog
razliitih razloga, broj prenetih i primljenih bajtova, broj interfejsa i opis
interfejsa.
Address translation (Prevodenje adresa) Sadri tabelu koja se koristi za promenu
IP adrese u adresu specifinu za konkretnu mreu.
IP Opisuje informacije specifine za Internet protokol. Medu informacije ubrajaju
se vrednost Time to Live za IP pakete, broj datagrama eliminisanih zbog razliitih
razloga, broj prosleenih i isporuenih datagrama do transportnog protokola i broj
primljenih datagrama od protokola veze, broj kreiranih fragmenata, broj ponovo
sastavljenih datagrama i tabele rutiranja.
ICMP Opisuje informacije specifine za ICMP. Sadri prvenstveno vie brojaa koji
prate broj kontrolnih poruka svih tipova (videti odeljak 11.2) koje alje ICMP.
TCP Medu stavkama koje pamti nalaze se duina time-outa, broj konekcija, broj
poslatih i primljenih segmenata, maksimalni broj simultanih konekcija, IP adresa
svakog entiteta koji koristi TCP, IP adresa daljinske konekcije i broj neuspenih
pokuaja uspostavljanja konekcije.
UDP Izmeu ostalog, sadri broj isporuenih, odbaenih, ili primljenih datagrama
i IP adrese entiteta koji koriste UDP.
EGP (Exterior Gateway Protocol) Ovo je protokol za razmenu informacija o
izmedu dve autonomne mree u mrei sa vie manjih nezavisnih mrea. Kao i kod
drugih kategorija, MIB sadri brojae za praenje broja poslatih i primljenih EGP
poruka.
SNMP komande Programi za upravljanje koji koriste SNMP izvravaju se asinhrono - alju
zahteve, ali mogu da rade i neto drugo dok ekaju na odzive. U optem sluaju, zahtevi, ili
PDU-i zahtevaju informacije sa servera, alju informacije programu za upravljanje na udaljenom
sajtu, ili reaguju na specijalne uslove. SNMP definie pet PDU formata:
1. GetRequest Ova komanda izaziva slanje GetRequest PDU-a* koji sadri kod
komande, naziv objekta i specifikaciju MIB promenljive. Prijemni entitet reaguje
slanjem GetResponse PDU-a u kome se nalaze vrednost traene promenljive i kod
greke ako postoji greka.
2. GetNextRequest Ova komanda je slina komandi GetRequest, osim to se zahtevaju
vrednosti promenljivih koje "slede" one koje su specificirane u PDU-u. Notacija je
zasnovana na leksikografskom redosledu koji MIB dizajn odreuje. Ovo je posebno
korisno za prolazak kroz tabele koje odrava server za upravljanje.
3. GetResponse PDU poslat kao odgovor na prethodno primljeni GetRequest PDU
sadri traene vrednosti, ili kodove greaka.
4. SetRequest Ova komanda omoguava menaderu da aurira vrednosti MIB
promenljivih koje se odravaju programima za upravljanje na udaljenom sajtu i za
daljinsku izmenu karakteristika odreenog objekta, to moe da utie na mrene
operacije. Format ne naruava nikakve bezbednosne mere koje spreavaju
neautorizovana auriranja.
5. Trap Ovaj PDU se alje sa servera do menadera kada se ispune specifini uslovi, ili
se dese odredeni dogadaji. Omoguava menaderu da upozna sve promene u
operativnom okruenju. Sledi lista nekih Trap PDLl-a i njihovih dogaaja:
a. Coldstart trap Program za upravljanje je reinicijalizovan, sa potencijalnim
promenama u karakteristikama objekta.
b. Warmstart trap Reinicijalizacija se desila, ali nije dolo do promene bilo
kojih karakteristika.
c. Linkdown trap Komunikacioni link je "otkazao".
d. Linkup trap Ponovo je uspostavljena ranije "otkazana" komunikacija.
e. EgpNeighborLoss trap Stanica je izgubila kontakt sa ravnopravnim EGP
susedom.
f. Authentication failure trap Primljen je SNMP PDU koji nije proao proveru
autentinosti.
SNMPv2 je dizajniran tako da prevazie neke slabosti SNMP-a. Na primer, SNMP je kritikovan zbog
toga to je imao jednostavan format komande i to je bio neophodan vei broj paketa. SNMPv2 ima
vie opcija za ramenu poruka, tako da je obezbeena efikasnija komunikacija izmedu klijenata i
hostova. Primer je komanda CetBulkRequest, koja pribavlja informacije koje su ranije sakupljene
pomou vie zahteva PDU-ima. Broj kodova greke je takode proiren, tako da su obezbeene
opirnije informacije o uzrocima greaka. Osim toga, poveana je fleksibilnost koja omoguava
pokretanje SNMPv2 iznad vie protokola, kao to su AppleTalk, IPX i OSI.
Postoji i SNMPv3, koji ukljuuje tri nivoa zatite. Najnii nivo ne obezbeduje ni autentifikaciju, ni
zatitu, tako da je kompatibilan sa prethodnim verzijama. Sledeci nivo koristi autentifikaciju zasno-
vanu na SHA, ili MD5 algoritmima kako bi se osiguralo da se PDU nije promenio, ili da bi se
verifikovao njegov izvor. Najvii nivo obezbeuje ifrovanje pomou CBC moda DES ifrovanja.
Kao i u sluaju bilo kojeg drugog protokola, verzije SNMP-a nisu jedini raspoloivi protokoli za
upravljanje. ISO protokol za upravljanje je Common Management Information Protocol
(CMIP). Kada se koristi preko TCP konekcije, CMIP je poznat kao CMOT (CMIP over TCP).
CMIP je sloeniji od SNMP-a i smatra se da ie prikladniji protokol za vee mree. Remote
Monitoring (RMON) je sledei protokol za upravljanje. Ima dve zasebne komponente: agentsku,
Ui ispitnu stanicu (agent station, ili probe) i upmvljaku stanicu (management station). Ispitna stanica
moe da bude specifini ureaj namenjen za prikupljanje informacija, ili moe da bude
softverski agent koji se pokree u postojeem mrenom voru, kao to su radna stanica, server,
ruter, ili komutator. U poslednjoj varijanti softver se pokree u pozadini, dok ureaj izvrava
svoje normalne dunosti, to je sporije od normalnog tempa. Svrha ispitne stanice je prikupljanje
informacija o aktivnostima na mrei, kao to su broj poslatih i isputenih paketa, broj multicast
paketa, izvori koji alju pakete i greke LAN segmenta. U stvari, IETF defmie razliite grupe
statistikih podataka i preporuke za njihovo korienje. Nakon toga, ispitna stanica alje priku-
pljene informacije do upravljake stanice koja te informacije smeta u MIB. Zatim, proizvoa
softvera analizira podatke kako bi obezbedio informacije o performansama mree i za praenje
problema na mrei. itaoci koji su zainteresovani za kompletnija objanjenja upravljanja
mreama mogu da pogledaju reference [SuOO], [MiOO] ili [St99].
11.6 Zakljuak
U ovom poglavlju smo se bavili prvenstveno protokolima koji defmiu ta je Internet i neke
aplikacije koje se pokreu na njemu. U optem sluaju, Internet je kolekcija ureaja koji
podravaju TCP/IP. IP je protokol sloja 3, aTCP protokol sloja 4. Sledi pregled nekih najvanijih
karakteristika i problema "vezanih" za IP protokol:
Omoguava transfer podataka preko nesrodnih mrea i razlike ini nevidljivim za
protokole viih slojeva.
Defmie format paketa, opcije za rutiranje, tipove servisa i naine za reavanje paketa
koji su suvie veliki da bi "putovali" preko nekih mrea.
Koristi hijerarhijsko rutiranje, tako da se adrese interpretiraju kao broj mree iza kojeg
sledi lokalni identifikator.
Oslanja se na DNS (Domain Name Service), koji koristi distribuiranu bazu podataka
za konvertovanje tekstualnih adresa u numerike IP adrese. Obezbeduje multicasting
preko razliitih protokola. Internet Group Management Protocol (IGMP) funkcionie
izmedu hosta i lokalnog rutera i omoguava hostu da se pridrui razliitim multicast
grupama, ili da ih napusti. Zatim, oslanja se na Mbone, kolekciju rutera koja
implementira rutiranje paketa Klase D. Funkcionie usvajanjem protokola za
rutiranje koji kreiraju multicast stablo preko koga paketi Klase D "putuju".
Poto IP ne obezbeuje zahtevani kvalitet servisa za real-time aplikacije, razvijen je
Resource Reservation Protocol (RSVP) - on ugrauje poaike u IP pakete sa
informacijama o odredenom toku podataka, koje zahtevaju rezervaciju dovoljnog
broja resursa. Specifini detalji o tome kako se ovo izvodi zavise od rutera koje paketi
prelaze na putu od izvora do odredita.
IP ne garantuje isporuku paketa. Zbog toga, Internet Control Message Protocol (ICMP)
podnosi izvetaje o grekama i obezbeuje ruterima najnovije informacije o uslovima
na Internetu. Definie razliite kontrolne poruke i poruke o grekama i prenosi ih
preko IP-a.
Poto IP nije bezbedan, razvijen je IPSec. Obezbeduje zaglavlje autentifikacije,
kojim se proverava autentinost paketa, i stavku Encapsulating Security Payload, koja
obezbeduje ifrovanje i autentifikaciju paketa i protokol za razmenu kljua.
Zbog neverovatnog porasta broja korisnika Intemeta i pojave novih tehnologija,
razvijen je IPv6. On obezbeduje mnogo vei adresni prostor nego IPv4; teorijski, do
2
128
jedinstvenih adresa. Osim toga, koristi viestruka zaglavlja paketa i ubrzava
proces rutiranja. Proi e dosta vremena dok se IPv6 ne implementira na celom
Internetu, tako da je za sada omogueno uporedno funkcionisanje sa IPv4.
Transportni protokoli su protokoli najnieg sloja koji se bave komunikacijama izmedu krajnjih
korisnika, nezavisno od mrenih operacija. Najee korieni protokol na Internetu je
Transmission Control Protocol (TCP), konekciji orijentisani protokol. Neke od njegovih
osnovnih funkcija su upravljanje konekcijom, kontrola toka i detekcija greaka. Efektivno, TCP
garantuje pouzdanu razmenu informacija. Neki znaajni aspekti TCP-a su:
defmicija formata jednog segmenta i za podatke i za kontrolu
trosmerno usaglaavanje koje zahteva ne samo potvrdu zahteva za uspostavljanje
konekcije, ve i potvrdu potvrde
mehanizam kredita za kontrolu toka slian protokolima sa klizajuim prozorima
upravljanje pomou prozora zaguenja koji reaguje na promene uslova na mrei koje
su izazvane velikom koliinom saobraaja
Postoje i drugi transportni protokoli. Jedan je UDP, protokol bez uspostavljanja veze koji ima
manje trokove od TCP-a, ali i manje mogunosti. Sledei je Real-Time Transport Protocol (RTP),
koji je dizajniran za podrku real-time aplikacija, kao to su audio, ili video aplikacije. Iako ne
garantuje specifine QoS, pomae redukovanje pomeranja paketa, tako da je omogueno
konzistentnije izvoenje multimedijalnih sadraja; takoe kontrolie vie nizova podataka kako
bi se obezbedila sinhronizacija video i audio zapisa.
Postoji veliki broj aplikacija koje se izvravaju na Internetu; mi smo obuhvatili samo nekoliko.
Telnet omoguava korisnicima da se loguju na udaljene host kompjutere. Koordinira
razmenu izmeu lokalnih i udaljenih hostova.
Program Secure Shell (ssh) izvrava iste funkcije kao i Telnet (i jo neke dodatne), ali
obezbeduje i ifrovanje i autentifikaciju hosta i korisnika.
FTP korisnicima omoguava povezivanje na udaljene hostove, radi prikazivanja, ili
preuzimanja fajlova.
Secure Copy izvrava iste funkcije kao i FTP, ali obezbeduje ifrovanje i autentifikaciju.
SMTP (Simple Mail Transfer Protocol) defmie PDU-e i sekvencu razmena
neophodnih za email servis.
SNMP (Simple Netvvork Management Protocol) prikuplja informacije o mrenom sao-
braaju i statistikama. Informacije mogu da se analiziraju softverski, tako da se
dobijaju statistiki podaci za performanse mree i za problematine oblasti.
Pitanja i zadaci za proveru
1. ta radi Dynamic Host Configuration Protocol (DHCP)?
2. Adrese kao to su 143.200.128.162 i msa.uwgb.edu predstavljaju isti vor Internetu.
U emu je razlika izmedu njih?
3. Navedite razlike izmeu IP adresa Klase A, B, C i D.
4. Po emu se besklasne adrese razlikuju od adresa Klase A, B, ili C?
5. U emu je razlika izmeu multicast i unicast adresa?
6. ta je ICANN (Internet Corporation for Assigned Names and Numbers)?
7. ta radi DNS?
8. Da li su sledee tvrdnje tane, ili netane (zato)?
a. IP garantuje da e sve informacije stii do svojih odredita.
b. IP paketi pridaieni konkretnoj aplikaciji, kao to je email, mogu da koriste
razlidte rute do istog odredita.
c. Sutinska komponenta dizajna rutera je utvrivanje kako ruter locira IP adresu u
svojoj tabeli rutiranja.
d. TCP i UDP funkcioniu slino kao protokoli sloja 4.
e. Real-Time Transport Protocol garantuje kvalitet servisa za real-time aplikacije na
transportnom sloju.
f. Telnet doputa logovanje na bilo koji nalog na udaljenoj maini sve dok je
maina dostupna preko bilo koje mrene konekdje.
g. Program Secure Shell omoguava logovanje korisnika na udaljeni host (na kome
korisnik ima nalog), bez unoenja lozinke.
h. TCP i IP su protokoli OSI modela na slojevima 3 i 4, respektivno.
i. Slanje emaila preko Interneta ne zahteva konekciju.
9. Koja je svrha deljenja DNS hijerarhije na zone?
10. Koji je razlog za postojanje polja Type of Service u IP paketu?
11. Zato je fragmentiranje IP paketa ponekad neophodno?
12. Navedite giavne funkcije IP-ja.
13. Cemu slui polje Time to Live u IP paketu?
14. Sta je maksimalna jedinica transfera I kako ona utie na Internet Protocol?
15. Navedite razlike izmedu Internet adrese i fizike adrese.
16. ta je dinamiko povezivanje?
17. ta se podrazumeva pod kvalitetom servisa?
18. ta je lnternet Management Group Protocol?
19. ta je multicast stablo?
20. ta je Mbone?
21. Koja je svrha Prune paketa kod Distance Vector Multicast Routing protokola?
22. ta je Resource Reservation Protocol?
23. U emu je razlika izmedu "mekog" t strogog stanja rutera?
24. Za ta se koristi lnternet Control Message Protocol?
25. Navedite lipine kontrolne poruke koje defmie ICMP.
26. 1PV4 obezbeuje 32-bitnu IP adresu, a 32-bitni broj moe da ima oko etiri milijarde
razliitih vrednosti, Poto predstavlja vie od polovine stanovnitva zemaljske kugle a
(na globalnoj skali) veina ljudi nema lnternet konekcije, zato ponestaje IPv4 adresa?
27. Po emu se IPv4 fragmentacije razlikuje od 1PV6 fragmentacije?
28. ta je tunelovanje?
29. Navedite nekoliko faktora koji doprinose mogunosti IPv6 protokola za bre rutiranje.
30. Zato je kod IPv6 eliminisana eksuma iz zaglavlja paketa?
31. Cemu slue razliita zaglavlja IPv6 paketa?
32. tajelPSec?
33. Kako TCP koristi broj porta?
34. ta predstavlja zahtev za vremensku oznaku?
35. U emu je razlika izmeu dvosmernog i trosmernog usaglaavanja?
36. ta je pokaziva urgentnosti?
37. ta je TCP kredit?
38. ta je User Datagram Protocol?
39. Kako Real-Time Transport Protocol potpomae podrku real-time aplikacija kada
nema kontrolu nad rutiranjem u okviru mree?
40. ta je pomeranje paketa?
41. ta predstavlja potencijalni problem kod razdvajanja audio i video niza podataka iz
jednog izvora?
42. ta je RTCP adaptiranje brzine?
43. tajeTelnet?
44. Po emu se ssh razlikuje od Telneta?
45. Program ssh moe da autentifikuje korisnika pomou lozinki, ili mehanizma
javnog/privatnog kljua. Opiite razliku.
46. ta je stuktura virtuelnog fajla?
47. Po emu se anonimni FTP razlikuje od obinog?
48. tajeRFC?
49. tajeSMTP?
50. tajeSNMP?
51. ta predstavlja SNMP-ova Management Information Base?
Vebe
1. Klasifikujte sledee adrese kao adrese Klase A, B, C, ili D.
a. 183.104.200.32
b. 230.4200.104.32
c. 210.20.34.100
d. 115.193.23.32
2. ta je broj mree u IP adresi 140.100.120.02 ako je maska podmree 255.255.224.0?
3. Da li ima smisla posedovati masku podmree 255.255.224.7? Zato ima, ili nema?
4. Pretpostavimo da je nekoj organizaciji potrebno 8.000 IP adresa. Koliko je adresa
Klase C potrebno? Ako su sukcesivne, opiite CIDR emu adresiranja.
5. Ako koristite usluge ISP-ja, ili je Va kompjuter povezan na LAN, utvrdite IP adresu
Vaeg kompjutera i masku podmree. Zatim, utvrdite klasu adrese i podmreu i
lokalne ID-ove u IP adresi.
6. Pretpostavimo da ruter A sa slike primi IP paket u kome se nalazi 4.000 bajtova
podataka, fragmentira paket i rutira fragmente do B preko mree 1. B rutira sve
fragmente, osim drugog do C, preko mree 3. Meutim, on fragmentira drugi
fragment i alje nove fragmente do C preko mree 2. Pokaite fragmente koje
C prima i naznaite relevantne vrednosti u zaglavljima fragmenta.
A
MTU ogranien na
1.000 bajtova podatak;
MTU ogranien na 400
bajtova podataka
MTU ogranien na
1.000 bajtova podataka
7. Zato je prilikom IP fragmentacije neophodno polje Identification u zaglavlju fragmenta?
Zato odredite jednostavno ne koristi izvornu adresu kako bi se utvrdilo koji su
C
paketi povezani i ne izvri njihovo ponovno sastavljanje u skladu sa vrednostima polja
Offset?
8. Kako izgleda tabela rutiranja za ruter G za meumreu na prateoj slici? Za svaku
mreu naznaite adresu rutera na koju se paket mora poslati. U sluaju direktne
konekcije, naznaite da se paket mora isporuiti direktno na svoje odredite.
9. Kako izgledaju tabele rutiranja za rutere F i H iz prethodne vebe?
10. Izaberite omiljeni Web sajt i utvrdite rutu do njega od Vae tekue lokacije.
11. Koje od sledeih aplikacija zahtevaju real-time kvalitet servisa?
a. preuzimanje audio fajlova
b. pristup udaljenom hostu pomou Telneta, ili ssh
c. gledanje uivo sesije za obuavanje na personalnom kompjuteru
d. preuzimanje video fajlova
e. gledanje najnovijih vesti
f. korienje FTP-ja za preuzimanje veoma velikih fajlova
g. korienje FTP-ja za preuzimanje izuzetno malih fajlova
12. Zato se u TCP segmentima ne nalazi broj bajtova podataka koji segment sadri? Kako
prijemni TCP entitet moe da zna koliko bajtova podataka treba da izvue iz segmenta?
13. Pretpostavite sledee:
TCP entiteti A i B imaju inicijalne brojeve sekvenci 400 i 900, respektivno.
Svaki segment sadri 100 bajtova podataka i svaki ima inicijalni kredit od 200
bajtova.
Svaki entitet isporuuje segment im ga primi i tako oslobaa prostor u baferu.
A moe (to mu doputa kontrola toka) da alje TCP segmente u vremenskim
intervalima T (poevi od T = 0); B moe da alje svoje segmente u intervalima 3T
(poevi od 1.57).
Uz pretpostavku da je vreme prenosa izmeu A i B zanemarljivo, skicirajte dijagram
slian onome na slici 11.30, koji prikazuje razmenu segmenata do trenutka 12T.
14. Ponovite sledeu vebu uz pretpostavku da se vrednost kredita u A povea na 300
nakon to primi drugi segment od B.
15. Razmotrite logiku kontrole toka za TCP, prikazanu u odeljku 11.4. Poto entitet koristi
polje Credit za utvrivanje kada moe da poalje nove segmente, u emu je svrha potvrde?
Drugim redma, ta moe da se desi ako eliminiemo polje Acknowledgment iz segmenta?
16. Pretpostavimo da ruta od vora A do vora Z ide preko rutera P, Q, R i X. Opiile pakete
(tipove i relevantne sadraje) koje A alje i prima reagujud na komandu t r acer out e.
17. Ulogujte se daljinski na neki nalog i eksperimentiite sa Telnet komandama. Na
primer, moete da uradite sledee:
a. Unesite veliki fajl, predite na Telnet, pa prekinite izlaz.
b. Utvrdite odziv na komandu send ayt.
c. Pokrenite dugaki program, preite na Telnet i prekinite proces.
d. Predite na Telnet i unesite hel p da biste prouili ostale Telnet komande.
Ako imate samo jedan nalog na serveru, moda ete moi da se ulogujete na njega, a
zatim da drugi put pristupite nalogu preko Telneta. Ovo je pomalo slino situaciji u
kojoj sami sebe pozivate telefonom, ali funkcionie i omoguava da upoznate Telnet
(moraete da utvrdite da li Va sajt doputa viestruko logovanje na jedan nalog).
18. Poveite se na udaljeni sajt preko anonimnog FTP-a, prenesite fajl na svoj nalog i
napiite krai rezime sadraja fajla.
19. Razmotrite sliku 11.12 i pretpostavite da svaka mrea predstavljena oblakom moe da
ima 50 hostova u multicast grupi. Ako host X pripada toj gmpi, koliko kopija svakog
paketa moe da "putuje" preko Interneta ako se koristi slanje do jedinstvenog
odredita? Ako se koristi multicasting, koliko kopija svakog paketa "putuje"
preko Interneta?
20. Ako imate nalog na serveru, postavite ssh tako da, kada se ulogujete, server proverava
Vau autentinost pomou sistema javnog/privatnog kljua.
Reference
[BaOl] Barrett, D., and R. Silverman. SSH: The Seaire Shell. Sau Francisco: O'Reilh/, 2001.
[Br95] Bradner, B., and A. Mankin. "The Recommendation for the IP Next Generation
Protocol". RFC 1752, Ianuary 1995.
[CaOl] Caslovv, A., and V. Pavlichenko. Cisco Certificalion. Bridges, Routers and Sivitches for
CClEs
1
2nd ed. Englewood Cliffs, NJ: Prentice-Hall, 2001.
[Co99] Corner, D. E., and D. Stevens. Internetivorking with TCP/IP. VoI. IL ANSI C Version:
Design, Implementation, and Internals, 3rd ed. Englevvood Cliffs, NJ: Prentice-Hall, 1999.
[CoOO]Corner,D.E. lnternetWOrking with TCP/IP. VoI. 1. Principles, Protocoh, and
Architecture,4th ed. EnglewoodCliffs,NJ: Prentice-Hall, 2000.
[De93]Deering,S. "SlP:SimpleInternetProtocol". IEEE Netivork Magazine, vol. 7,no.
3 (May/June 1993), 1628.
[Ek02] Ekici, E.,I.Akyildiz,andM. Bender. "AMullicastRoutingAlgorithmforLEOSatellite
IPNetvvorks". IEEE/ACM Transactions on Nelivorking,vol10,no.2(April2002),183-192.
[Fo03]Forouzan,B. TCP/IP Protocol Suite, 2nded.NewYork:McGraw-Hill,2003.
[Gr02] Gralla, P. How lhe Inlernet Works, 6thed. Engkwood Cliffs, NJ: Prentice-Hall, 2002.
[HaOl]Halsall,F. Multimedia Communicatiorts.Reading,MA:Addison-Wesley,2001.
[Hi96] llinden, R. "IPNextGenerationOvervievv". Communications ofthe ACM, vol. 39, no.
6 (June 1996), 61-71.
[Ja88]Jacobson,V. "CongeslionAvoidanceandControl". Proceedings of SIGCOMM
Symposium,August1988,314-329.
[Ko98] Kosiur, D. IPMulticasting: The Complete Guideto Interactive Corporate Netvvorks.
NewYork: Wiley, 1998.
[KuOlJKurose, 1.,andK.Ross. Computer Netivorking.Reading,MA:Addison-WesIey,2001.
[MaOO]Mann,S.,andE.Mitchell. Linux Systems Security: The Administrator's Gnide to
Open Sonrce Security Tools,2nded.EnglewoodCliffs,NJ:Prentice-Hall,2000.
[M199]Miller,M. Troubleshooting TCP/IP,3rded.NewYork:M&TBooks,1999.
[MiOO]Miller,M. Managing Internetivorks ivith SNMP, 3rded.NewYork:Wiley,2000.
[Mi02]Miller,M. Voice over IP Technologies: Building the Converged Netivork,2nded.New
York:Wiley,2002.
[PeOOj Perlman, R., and C. Kaufman. "KeyExchangeinIPSec:Analysis ofIDE". IEEE
Intemel Compuling, vol. 4, no. 6 (November/December2000), 50-56
[Pi03]Pink,S. High Speed Roulers and Fireivalls.Reading,MA:Addison-Wesley,2003.
[Ru89]Russel,D. The Principles of Computer Networking.Cambridge,England:Cambridge
UniversityPress, 1989.
[Sc02[Schedna,E.,K.Green,andJ.Carlson. Internet Sile Security. Reading,MA:
Addison-Wesley, 2002.
[St96]Stallings,W. "IPv6:TheNewlnternetProtocol". IEEE Communications Magazine,vol.
34, no. 7 (1996), 96-108
[St99] Stallings,W. SNMP, SNMPv2, SNMPv3, and RMON 1 and 2, 3rd ed. Reading, MA:
Addison-Wesley, 1999.
[SuOO]Subramanian,M. Nelivork Management Principles and Praclice.Reading,MA:
Addison-Wesley, 2000.
12.1 Uvod
Da li ste nekada koristili pretraivaku mainu da biste pronali neto na Internetu? ta je sa
formularima za naruivanje nekih proizvoda? Moda ste koristili Instant Messenger za
konverzaciju sa svojim prijateljima. Da li ste ikada zastali i zapitali se, ako ve postoje ljudi koji
piu softver koji funkcionie u Internet okruenju, da li to moete i Vi? Poto ste sada razumeli
mrena okruenja, preostaje samo da primenite programerske vetine i otkrijete kako intereagu-
ju sa mrenim protokolima. Iako je moda udno, mnogi tehniki detalji nisu preterano teki, jer
moemo da pretpostavimo da mreni protokoli implementiraju sve te "zastraujue" detalje. Ako
pretpostavite da neto vepostoji, sve to treba da uradite je da kreirate jo jedan sloj na vrhu.
Namera nam je da u ovom poglavlju pokaemo neke naine na koje je to mogue izvesti - razvi-
jamo neke aplikacije koje se oslanjaju na Intemet protokole. Napisaemo neke "stvari" na strani
klijenta, aneke na strani servera. O programiranju u Internet okruenju napisani su itavi tomovi,
a mi smo odluili da predstavimo samo par razliitih pristupa. Kao i u sluaju ostalih tema u ovoj
knjizi, o svakom naem primeru mogu da se napiu celi udbenici. Ovde nameravamo da
predstavimo onoliko detalja koliko je potrebno da razumete funkcionisanje nekih osnovnih
Internet programa. Svako moe da iskoristi ovde predstavljene primere kao osnovu na kojoj e
proirivati svoja znanja u raznim pravcima.
U odeljku 12.2 poinjemo sa primerom koji prikazuje kako klijent i server mogu da razmenjuju
pakete radi preuzimanja fajla. Koristiemo UNIX soket interfejs za transportni sloj i opisaemo
neke osnovne funkcionalnosti.
Obino smo zatrpani tolikim koliinama informacija i kreemo se toliko brzo da esto sve
gledamo povrno i brzo prelazimo preko nekih "stvari" koje nam se saoptavaju. Ovo je
suprotno otvorenosti i sposobnosti opaanja koje morate Aa imate da biste imali sklonosti ka
poeziji. . . Poezija kao da postoji u univerzumu koji je paralelan dananjem ivotu u Americi.
Rita Dove, ameriki pesnik
Internet
programiranje
Zavriemo dizajniranjem koda koji, u stvari, preuzima fajl sa jednog hosta na drugi. Kada
razumete koncept soketa, otvorie Vam se "vrata" ka svim ostalim vrstama aplikacija, kao to su
programi za razmenu poruka i pretraivanje klijent/server baze podataka.
U odeljku 12.3 skreemo panju na Web okruenja. Obezbediemo osnovne informacije o
HTTP-u (Hypertext Transfer Protocol) i HTML (Hypertext Markup Language) jeziku i opisaemo
kako se kreiraju Web sajtovi koji mogu da izvravaju razliite funkcije. Ovaj odeljak je fokusiran
na stranu klijenta i obezbeduje uvod u JavaScript, jezik koji moe da "radi" sa Web formama radi
izvravanja razliitih akcija. U odeljku 12.4 prelazimo na stranu servera i fokusiramo se na CGI
(Common GateWay Interface) programiranje pomou programskog jezika C. Re je o nainu
pisanja programa na udaljenom hostu koji reaguju na zahteve koje alje klijent. Primera radi,
ilustrovaemo kako se moe postaviti jednostavna pretraivaka maina na Internetu.
U poslednjem odeljku opisani su pomalo ogranieni, ali potpuno funkcionalni sistem za
naruivanje pica i neto dmgaiji pristup programiranju na strani servera. Obuhvatiemo skript
jezik* pod nazivom Perl i pokazati kako se pie Perl skript koji prima narudbine, verifikuje
brojeve telefona, izraunava cene narudbina i vraa te informacije klijentu. Uzevi zajedno, ovi
primeri obezbeduju dobai osnovu za uenje drugih programskih alatki za Intemet okruenje i za
kreiranje sofisticiranijih primera.
12.2 Soket programiranje
Kada su prvi put kreirane mrene aplikacije, mnoge od njih su pokretane pod operativnim siste-
mom UNIX, i to Berkeley UNIX-om. Da bi se olakali slanje i prijem podataka preko mrenih
konekcija, dizajniran je niz TCP primitiva koje UNIX aplikacije koriste. Pomou ovih primitiva
UNIX aplikacije, koje se pokreu na razliitim kompjuterima povezanim na Internet, mogu da
komuniciraju, koristei mehanizam poznat pod nazivom soket. Kako su se mree razvijale i jezi-
d i operativni sistemi razradivali, soket je napredovao tako da omoguava komunikaciju mrea
sa razliitim jezicima i operativnim sistemima. Osim programa zasnovanih na soketima na
UNIX-u, ovakvi programi su postali uobiajeni i na personalnim kompjuterima i u Java i C++
okruenjima.
Primarni cilj u ovom odeljku je obezbediti minimalni, ali veoma funkcionalni klijent/server
model koji se pokree na Linuxu (varijanta UNIX-a). To znai da emo pokazati kako da razvi-
jete dva razliita programa koji e moi medusobno da komuniciraju. Jedina pretpostavka je da
se pokreu na dva razliita Linux sistema, koja imaju pristup Internetu. Konkretno, razviemo dva
programa koja implementiraju protokol za transfer fajlova. Jedan program e itati tekst iz fajla,
podeliti ga na pakete i poslati do drugog programa pomou soket konekcije. Drugi program e
prihvatiti pakete, jedan po jedan, i kreirati novi fajl na osnovu sadraja paketa.
* Sbiptjezik je jezik dji se izvorni kod interpretira u vreme izvrenja. Ovo je supromo kompajliranom jeziku
t
koji se prevosi u
mainski kod, a zatim ga centraini procesor izvrava direktno.
Osim toga, ovi programi mogu da se izvravaju konkurentno i asinhrono na razliitim kompju-
terima. Na kraju odeljka napomenuemo mogua proirenja ovog projekta koja omoguavaju
klijentu, ili serveru (ili i jednom i drugom) da budu napisani ili na Linux sistemu, ili u Javi. Osim
toga, ukazujemo na kodni primer koji to obavlja.
Da bi ovaj odeljak ostao koncizan i fokusiran, obezbedujemo samo neophodne detalje soketa za
ovu aplikaciju i nemamo nameru da ugradujemo mnoivo opcija u programe. Osim toga,
neemo pokuavati da navodimo iscrpljujua objanjenja svih soket komandi i svih okruenja u
kojima mogu da se koriste. Na ovom nivou ti detalji nisu mnogo bitni, jer je na cilj da obezbe-
dimo funkcionalnost. Zato emo razviti radnu klijent/server aplikaciju koju moete da iskoristite
kao polaznu osnovu.
Ako imate sistem pod Linuxom, trebalo bi da bez problema, ili uz neke manje modifikacije,
pokrenete ovde predstavljene programe. Pretpostavljamo da imate osnovna znanja o Linuxu i
programskom jeziku C. Postoje brojni naini da proirite ono to emo mi uraditi, a svi oni koji
SU zainteresovani za detaljnija objanjenja soketa, njihove komande i razliite opcije trebalo bi
da pogledaju reference [Co99] i [CoOO].
Soketi
Soket se konstruie kao podrka mrenom ulazu/izlazu (1/0). Aplikacija kreira soket kada Je
potrebna komunikacija sa mreom. Nakon toga, uspostavlja konekciju* sa udaljenom
aplikacijom preko soketa i komunicira sa njom itajui podatke sa soketa i upisujui podatke
na njega.
lokalna
aplikacija
soket
konekcija
udaljena
aplikacija
mrea
socket
connectioi
informacije
informacije
SLlKA 12.1 Soket konekcija sa mreom
* Pretpostavljamo da soketi koje kreiramo koriste TCP i da su orijentisani konekciji. Postoje i sokcti koji funkcioniu bez
uspostavljanja veze i oslanjaju se na UDP. Zbogogranienogprostora, fokusiraemo sesamo na konekciji orijenlisanesokete,
a za vie informacija o UDP soketima itaoce upuujemo na [Ku03 ].
SLIKA 12.2 Klijent/server model
Korisnik postavlja zahtev
preko klijentskog programa
Lokalna
maina
pokree
klijentski
program
Mrea
pomono
skladite
Server ima pristup
korisnikim fajlovima
Udaljena
maina
pokree
serverski
program
Na slici 12.1 ilustrovana je ova ideja. Lokalni program moe da usmeri informacije kroz soket na
rnreu. Kada se informacije nadu na mrei, mreni protokoli ih vode kroz mreu, gde pristupaju
udaljenom programu. Slino tome, udaljeni program moe da poslavi informacije u svoj soket.
Odatle, one idu preko mree i zavravaju nazad u lokalnom programu. Definisanjem pravila
preko kojih lokalni i udaljeni programi razmenjuju informacije u stvari moemo da definiemo
sopstvene protokole.
Model klijent/server
Pre nego to pokuamo da definiemo bilo koju vrstu protokola, poinjemo opisivanjem
osnovnog modela na kome se zasniva veina mrenih protokola - klijent/server modela. Sutina
klijent/server modela (slika 12.2) ukljuuje dva razliita programa, koji se obino pokreu na
razliitim mainama smetenim na razliitirn lokacijama. Maine imaju mrene konekcije.
Za nae razmalranje nije bitno da li je mrea lokalna, ili "pokriva" iru geografsku oblast, ili neto
izmedu te dve varijanle. Osnovni koncept je isti u svakom sluaju.
U sutini, i klijent i server imaju odredene uloge. Server mora da obezbedi servise i da reaguje na
zahteve koji stiu od klijentskog programa. Tipian primer je obezbedivanje pristupa fajlovima
koji su smeteni na udaljenoj maini. Korisnik pokree klijentski program na lokalnoj maini i
preko njega postavlja razliite zahteve. Sledei na primer, korisnik moe da zahteva pristup
jednom, ili vie fajlova smetenih na drugoj (udaljenoj) maini. Tako tipina razmena moe da
izgleda slino sledeoj:
1. Korisnik zahteva fajl.
2. Klijent alje zahtev do servera u ime korisnika.
3. Server prima zahtev od klijenta i analizira ga.
4. Server kopira fajl iz svog pomonog skladita.
5. Server prenosi sadraj fajla nazad do klijenta.
6. Klijent dobija sadraj fajla od servera i ini ga dostupnim korisniku.
U optem sluaju, jedan server moe da obezbedi servis za vie klijenata. Zato se postavlja pitanje
kako server moe efikasno da upravlja sa vie klijentskih zahteva. O tome e biti vie rei neto
asnije; za sada treba da vidimo kako server rukuje zahtevima od jednog klijenta.
Strukture podataka koje soketi koriste
Kada na kraju budemo razmatrali neke od poziva soketa, moraemo da opiemo parametre koji
im se prenose. Neki od tih parametara imaju tipove dizajnirane specifino za mrene
komunikacije. Zato zapoinjemo predstavljanjem razliitih struktura podataka koje soketi
pozivaju. Svaka od tih struktura je smetena u header fajlu Linuxa. Kasnije emo naznaiti koji su
header fajlovi neophodni.
Prva struktura koja je neophodna je
st r uct sockaddr i n { gdej e st r uct i n_addr {
u_short sin family; u_int s_addr
u_short si n por t ; }
struct in_addr sin_addr;
char sin_zero[8]
}
U sutini, ovo je 16-bajtna struktura koja sadri adresu soketa (kombinacija IP adrese i broja
porta; pretpostavljamo da se koristi TCP/IP mrea). U tabeli 12.1 dat je pregled prisutnih polja.
Sledea struktura je
st r uct hostent {
char *h_name;
char * * h_al i as;
i nt haddr t ype;
i nt h_l engt h;
char **h_addr _l i st
}
Polje Znaenje
sin_family
sin_port
s_addr
sin_zero
Ovaj 16-bitni ceo broj definie protokole koji e biti korieni za implementaciju
soket konekcije. U optem sluaju, soketi mogu da se koriste i sa drugim
mreama osim TCP/IP mrea, ali to ovde neemo analizirati.
Ovo 16-bitno polje definie broj porta koji identifikuje aplikaciju (seate se
definicije broja porta iz razmatranja o TCP zaglavlju).
32-bitna Internet adresa (pretpostavlja da sin_f amily naznaava TCP/IP
protokol).
Ne koristi se. Sadri sve nule.
Polje Znaenie
h_name
h_alias
h_addrtype
h_length
h_addr_list
Niz karaktera okonan Null karakterom za tekstualnu adresu host kompjutera
Lista alternativnih naziva hosta (ovde nije znaajno)
Tip adrese (u naem primeru definie lnternet adresu)
Duina adrese
Lista dodatnih adresa hosta (ovde nije znaajno)
U tabeli 12.2 definisana su polja strukture hostent.
Komande soketa
Postoje razliite komande "vezane" za sokete. U tabeli 12.3 date su komande koje su nam bile
potrebne za na primer, zajedno sa kraim opisom svake od njih.*
Primer klijent/server modela
Sada smo spremni da napiemo klijent/server protokol koji se koristi za transfer fajla.' Prvi korak
je opisivanje poziva "vezanih" za sokete u klijentskom i serverskom programu. Ovo ce pomoi
da razumete njihovu svrhu, bez potrebe da se previe bavite detaljima. Na slici 12.3 prikazani su
i klijent i server. Imajte na umu da se oba izvravaju konkurentno na razliitim mainama.
*Neemo navoditi kompletne opise, zato to je na osnovni cilj da obezbedimo samo ono to je neophodno za nau aplikaciju.
t I klijent i server su testirani i pokretani na Red Hat LinuXU, verzija 7.3.
1
Obratite panju na drugi parametar. Prethodno opisani struct sockaddr_in predstavlja generalizovaniju slrukturu (struct
sockaddt-) i koristi se sa Internet aplikacijama. Medutim, neke verzije Linuxa zahtevaju da se adresa generalizovanije
strukture koristi sa odredenim komandama soketa. U kodnom primcru koji emo kasnije opisati izdavaemo struct
sockaddr_in adresu kao st ruct sockaddr adresu.
socket (int domain,
int mode,
int protocol)
gethostbyname(
char *hostname)
gethostname(
char "hostname,
int length)
connect (int s,
struct sockaddr_in
*sa, int size)
bind
1
(int s,
struct sockaddr *sa,
socklen_t length)
listenfint s,
int n)
accept(int s,
struct sockaddr *sa,
socklen_t length)
send( int s,
char *buffer,
int length,
int flags)
recv(int s,
char *buffer,
int length, int flags)
close (int s)
Znaenje Komanda
Kreira soket. Prvi parametar defmise domen koji se konsti. Na pnmer,
simbolika konstanta AF_INET definie Internet domen.AFjJNix definie
UNIX domen. Drugi parameter definie mod komunikacije. Na primer,
simbolika konstanta SOC_STREAM ukazuje da emo koristiti konekciji
orijentisane nizove bajtova. SOCDGRAM oznaava mod sa datagramima, bez
uspostavljanja konekcije. Trei parametar definie protokol, ili, ako je 0,
omoguava sistemu da se osloni na podrazumevani protokol (u ovom
sluaju to je TCP/IP). Ako Je ova komanda uspeno izvrena, vraa ceo
broj (deskriptor) soketa koji e se koristiti u narednim komandama. U ovoj
taki soket je neto vie od indeksa u tabeli deskriptora kernela. Za
uspostavljanje stvarne konekcije potrebno je neto vie.
Vraa pokaziva na hostent strukturu u kojoj se nalaze relevantne
informacije o hostu naznaenom tekstualnom adresom u hostname.
Postavlja string za tekstualnu adresu tekueg hosta u promenljivu
hostname. Drugi parametar predstavlja broj raspoloivih bajtova u
hostname.
Zahteva konekciju sa udaljenim soketom. Poziv mora da naznai
identifikator soketa (s) i strukturu u kojoj se nalazi adresa udaljenog
soketa (*sa). Ovaj poziv je neophodan kada se zahteva konekciji
orijentisani servis. Trei parametar definie veliinu *sa strukture.
Kao funkcija, vraa status zahteva.
Dodeljuje adresu i broj porta (unutar *sa) za soket S. Server izdaje ovu
komandu kako bi se uinio dostupnim udaljenim klijentima koji se
povezuju na ovaj soket.
Koristi Je konekciji orijentisani server koji reaguje na zahteve udaljenih
klijenata. Ukazuje da je server spreman za zahteve za konekciju i da ih
"oslukuje" preko soketa S. Nakon toga, zahteve postavlja u red ekanja
za dalje procesiranje. Drugi parametar (n) definie broj zahteva koji se
mogu postaviti u red ekanja. Ako zahtev stigne dok je red ekanja pun,
server ga odbacuje.
Omoguava serveru da prihvati zahtev za konekciju preko soketa S. Kada
se prihvati, IP adresa klijenta koji je postavio zahtev smeta se u *sa
strukturu. Osim toga, ova funkcija, u stvari, kreira i vraa soket sa svim
istim svojstvima kao i S. Razlog za to je injenica da, nakon to server
prihvati poziv, obino se rava na "decu" potprocese, koji koriste novi
soket za komunikaciju sa klijentom. U meduvremenu, proces "roditelj"
nastavlja da "oslukuje" nove zahteve preko starog soketa.
alje podatke preko soketa S. Lokacija i duina podataka odgovaraju
parametrima buffer i length, respektivno. Odredite nije naznaeno, jer
prethodne komande connect, ili accept definiu ko se nalazi na drugoj
strani soketa. Parametar f lags ovde nije znaajan.
Prima podatke od soketa i smeta ih u naznaeni baf er. Parametar length
definie duinu bafera. Kao i kod komande send, parametar f lags nije
znaajan za nae razmatranje.
Zatvara naznaeni soket.
SLIKA 12.3 Opsfi' pregled klijenata i servera koji koriste komande "vezane" za sokete
Jedina pretpostavka koju smo napravili je da oba kompjutera imaju Internet konekcije.
Na slici je pokazano da je prvo to moraju da urade i klijent i server kreiranje soketa pomou
komande socket. Nakon toga, klijent poziva komandu gethostbyname kako bi utvrdio IP adresu
dodeljenu tekstualnoj adresi udaljenog hosta na kome je pokrenut server. Kada je IP adresa
poznata, klijent se povezuje na server. U ovoj taki klijent moe da razmenjuje poruke sa serverom
pomou komandi send i recv. Potrebno je definisati pravila za razmenu i za utvrdivanje kada je ona
zavrena. Poslednje to klijent radi je zatvaranje soketa i zavravanje.
Server, nakon kreiranja soketa, mora da pribavi naziv hosta na kome se pokree (poziv komande
gethostname). Nakon toga, koristi naziv hosta i poziva komandu gethostbyname da bi pribavio
relevantne informacije (tj. svoju IP adresu) i smeta ih u strukturu hostent. Zatim, poziva
komandu bind za pridruivanje IP adrese i broja porta sa soketom i poinje "oslukivanje" svih
dolazeih poziva. Kada poziv stigne, server ga prihvata i uspostavljena je soket konektija sa
klijentom. U ovoj taki server potuje isti protokol koji klijent koristi za razmenu niza poruka.
Kada se razmena obavi, zatvara soket i zavrava.
Svakako postoji jo detalja koji bi se mogli pomenuti, ali ovakav nain predstavljanja pomae
razumevanje radnog okvira u kome ih opisujemo. Zato bi, pre nego to nastavimo, trebalo da
razumete bar razloge za pozive soketa i osnovnu organizaciju klijentskih i serverskih programa.
socket (kreira soket)
gethostbyname (mapira naziv udaljenog
hosta na IP adresu)
connect (izdaje zahtev za konekciju do
: naznaenog servera na udaljenom hostu)
razmena informacija pomou komandi send i recv
dose (okonavanje konekcije)
socket (kreira soket)
gethostname (uzima naziv lokalnog hosta)
gethostbyname (mapira naziv na IP adresu)
bind (definie IP adresu i broj porta)
listen (postavlja soket u pasivni mod; server je
spreman za prijem zahteva)
accept (prihvata zahtev za konekciju)
razmena informacija pomou komandi send i
recv
close (okonavanje konekcije)
Server Klijent
* Ovaj program je testiran pod Red Hat LinuXom. Neki header fajlovi mogu da se razlikuju u zavisnosti od toga koja se var-
ijanta UNIX-a koristi.
Sledei korak je obezbedivanje detalja za radne klijentske i serverske programe. Slike 12.4 i 12.5
sadre izvorne kodove tih programa. Moete ih iskopirati i pokrenuti u skladu sa sledeim
pravilima (uz pretpostavku da se pokreu pod Linuxom):
Kompajlirate server i pokrenite ga prvog. Server mora da se pokrene tako da klijent
ima koga da pozove.
Koristili smo port pod brojem 6250, tako da ne dode do konflikta sa bilo kojim
drugim brojevima portova. Slobodno moete da koristite i druge raspoloive brojeve
portova, ali moda ne bi bilo loe da proverite sa lokalnim administratorom da li
fireWall blokira neke komunikacije na osnovu broja porta.
Kompajlirajte klijenta i pretpostavite da izvrni fajl nosi naziv myftp. Pokrenite klijenta
unoenjem komande myftp tekstualna-adresa-hosta. Na primer, ako je tekstualna
adresa host kompjutera hercules.uWgb.edu, pokretanje vrite unoenjem myftp
hercules.uWgb.edu.
Server e preneti unapred odredeni fajl do klijenta. Odnosno, server bira naziv fajla.
Klijent e pitati pod kojim nazivom elite da snimite fajl kada se pribavi od servera.
Server ita tekstualni fajl, deli ga na pakete i alje ih do klijenta u grupama od po pet.
Nakon svakog petog paketa, eka na potvrdu od klijenta.
Klijent reaguje na odgovarajui nain - prihvatanjem paketa i izvlaenjem podataka iz
njih. Podatke iz svakog paketa smeta u tekstualni fajl. Nakon to stigne poslednji
paket, transfer fajla je kompletiran. Klijent alje potvrdu posle svakog petog
primljenog paketa.
Ne postoji detekcija greaka, a kontrola toka je ograniena na ono to smo upravo
opisali.
Sada prelazimo na opise ldijenta i servera. Veim delom emo se ograniavati na logiku "vezanu"
za sokete, a Vama preputamo da prouite detalje "vezane" za programski jezik C. Komentari u
izvornom kodu treba da slue kao pomo i zato navodimo neke opte opise bitne za zadatke koji
se tiu prvenstveno C-a.
Izvorni kod klijenta Poetak klijentskog programa (slika 12.4) sadri header fajlove* koje
morate da ukljuite. U njima se nalaze definicije za pozive upuene soketima i definicije opisanih
struktura podataka. Definisali smo prilino jednostavan protokol za prenos paketa. Prvo to
sadri je polje servicetype, koje ukazuje na razliite tipove paketa.
/ * KLIJENT */
/ * KLIJENT */
/ * KLIJENT */
/* Ovaj program je di zaj ni r an kao k l i j e nt k oj i ce pozi vat i server pokrenut na
drugoj masi ni . Pr et post avl j a se da se k or i s t i TCP/IP prot okol i da su
konekci j e uspostavl j ene preko I nt er net a */
#defi ne PACKETSIZE 20
t f i ncl ude <sys/ t ypes. h>
#i ncl ude <st di o. h>
#i ncl ude <sys/ socket . h>
#i ncl ude <n e t i n e t / i n . h >
#i ncl ude <net db. h>
/ def i ne PORTNUM 6250
typedef enum { dat a, ackl s er v i c et y pe;
/ * j edi ni c a prenosa za pr ot ok ol ovog programa */
typedef s t r u c t
{
servicetype service; /* tip paketa */
int sequence; /* broj sekvence paketa */
int datasize; /* kolicina podataka (u bajtovima) u paketu *l
int last: /* indikator poslednjeg paketa */
char data[PACKETSIZE]; /* sadrzi podatke */
int checksum; /* sluzi za detekciju gresaka */
} PACKET;
/ * otvara f a j l i vraca njegov i dent i f i kat or */
FILE * openf i l e( )
char * f i l ename;
FILE * f i d ;
p r i n t f f ' T h i s program Wl l l copy a f i l e f rom a remote s e r v e r \ n " ) ;
p r i n t f ( " En t e r t he name under Which t he f i l e shoul d be saved>" ) ;
f i l ename = (ohar *) mal l oc( 30) ;
scanf ( "%s", f i l ename) ;
i f ( ( f i d = f open( f i l ename. "W")) == NULL)
{
p r i n t f ( " e r r o r openi ng f i l e \ n " ) ;
exi t ( 1) ;
}
f r ee( f i l ename) ;
r et ur n f i d ;
}
/ ***********************
/ * kr ei r anj e soketa * /
i nt opensocket ( )
{
i nt s;
if ((S = socket (AF_INET, SOCK_STREAM, 0) ) < 0)
{
per r or ( " socket e r r o r " ) ;
exi t (1)
}
return s;
}
/* dobijanje informacija od udaljenog hosta i povezivanje na udaljeni server */
void makeconnection(int argc, char *argv[ J
1
i nt s)
{
st ruct hostnet *ph; /*sadrzi naziv udaljenog hosta i adresne informacije*/
st ruct sockaddr in sa; / *sadrzi IP adresu i port protokola */
memset(&sa,0,sizeof(sa)); /*nuliranje strukture *I
if (argc !=2) /*Provera da li komanda za pokretanje na kl i j entu
sadrzi tekstualnu adresu udaljenog hosta */
{
pr i nt f ("Error i t command l i ne\ n" ) ;
exi t (1);
}
if ((ph = gethostbyname (argv[l]))== NULL /* uzimanje relevantnih informacija
od udaljenog hosta */
{
printf("error in gethostbyname\n');
exit(1);
}
/* Smestanje IP adrese udaljenog hosta, broja port
na serveru i tipa protokola u strukturu */
memcpy((char*) &sa.sin_addr, ph- > h_addr, ph -> h_length);
sa.sin_port = htons ((u_short) PORTNUM); /*definise broj porta na udaljenom serveru
sa.sin_family = ph- >h_addrtype;
if (connect (s, &sa, sizeof (sa)) < 0) /* povezivanje na udaljeni server */
{
perror ("connect error");
exit(1);
}
}
/* uzimanje fajla od udaljenog servera u paketlma fiksne velicine */
I****************************************************************************/
void getfile(FILE * fid, int s)
{
PACKET * packet; /* paket protokola */
int i;
packet = (PACKET *) malloc (sizeof(*packet));
do
if (recv(s, packet, sizeof(*packet), 0) <= 0) /*uzimanje paketa sa udaljenog
servera */
{
printf("error reading\n");
exit(1);
}
printf("Received packet %4d: %s\n", packet->sequence, packet->data);
for (i=0; i < packet->datasize; i++) /*Smestanje sadrzaja paketa u
tekstualni fajl */
putc (packet->data[i], fid);
if (packet->sequence % 5 == 4) /*Ako je ovo bio peti paket, salje se potvrda*/
{
printf('acknoWledging 5th packet-Press enter to continuen");
getchar();
packet->service = ack;
if (send(s, packet, sizeof(*packet), 0) <= 0) /* Slanje potvrde */
{
printf("ERROR in send\n');
exit(1);
}
}
While (!packet-> last); /*Nastavlja se prethodno predstavljeni proces
dok se ne primi poslednji paket */
fclose(fid);
}
void main (int argc,char *argv[])
{
int s;
FILE * fid;
fid = openfile();
s = opensocket();
makeconnection(argc, argv, s);
getfile(fid, s);
close(s);
}
SLIKA 12.4 Klijentski program
/* SERVER */
/* SERVER */
/* SERVER */
/*0vaj program je dizajniran tako da se ponasa kao server koji ce prihvatati pozive
od klijenta napisane na drugoj masini. Pretpostavlja se da se koristi TCP/IP
protokol i da su konekcije izvedene preko Interneta */
#define PACKETSI2E 20
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <sys/param.h>
#define PORTNUM 6250
typedef enum {data, ack} servicetype;
/* jedinica prenosa za protokol ovog programa */
typedef struct
{
servicetype service; /* tip paketa */
int seguence; /* broj sekvence paketa */
i nt datasi ze; /* kolicina podataka (u bajtoviraa) u paketu */
i nt l ast ; /* indikator poslednjeg paketa */
char data[PACKETSIZE]; /* sadrzi podatke */
i nt checksum; /* za detekciju gresaka */
} PACKET;
/*uzimanje informacija o hostu za eventualnu soket konekciju */
struct sookaddr_in gethoststuff()
{
struct sockaddrrin sa; /* sadrzi IP adresu i port protokola */
struct hostent * ph; /* sadrzi naziv hosta i informacije o adresi */
char myname[MAXHOSTNAMELEN+l]; /* naziv hosta */
gethostname(myname, MAXHOSTNAMELEN); /* Uzimanje naziva host na kome je server
pokrenut */
printf("host name is %s \n", myname);
if ((ph = gethostbyname(myname)) == NULL)/*Uzimanje relevantnih informacija o hostu*/
{
printf("gethostbyname failed\n");
exit(1);
}
Memset(&sa, 0, si zeof ( st r uct sookaddr_in));
/*Postavljanje ti pa "familije" protokola i broja porta u strukturu*/
sa.si n_fami l y = ph->n_addrtype;
sa.sin_port = htons(PORTNUM);
return sa;
}
/*Crtvaranje f aj l a i vracanje njegovog identifikatora */
I * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
FiLE * openfile()
{
FILE * fid;
char * filename = "test.dat";
if ((fid=fopen(filename,"r")) == NULL)
{
pr i nt f ( " er r or opening f i l e \ n " ) ;
exi t ( 1) ;
}
return f i d ;
}
/* Kreiranje soketa */
int opensocket()
{
int s;
if ((s = socket (AF_INET, SOCK_STREAM, 0)) < 0) /* Kreiranje soketa */
{
perror("socet error");
exit(1);
{
return s;
}
I ***********************************************i
I* Povezivanje i "osluskivanje' soket konekcije */
/ ***********************************************/
void bi ndnl i st en( i nt s, st r uct sockaddr_in sa)
{
if (bind (s. (st ruct sockaddr*) &sa, si zeof (sa)) < 0) /* Dodela IP adrese i
broja porta soketu s */
{
perror("bi nd er r or ' " ) ;
exi t (1);
}
listen (S, 5); /* "Osluskivanje* dolazecih poziva od klijenta */
}
t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * i
I* Prihvatanje soket konekcije */
i nt acceptconn(int s)
{
i nt sd;
st ruct sockaddr_in sa;
unsigned i nt sasi ze;
sasize = si zeof (sa);
if ((sd = accept (s, ( st r uct sockaddr*) &sa, Ssasize)) < 0) /* Prihvatanje
konekcije */
{
perror("accept error");
exit(1);
}
printf ("Connection accepted from: %u\n", sa.sin__addr.s_addr);
return sd:
}
/* Slanje sadrzaja fajla pomocu paketa fiksne velicine */
/* Cekanje na potvrdu nakon svakog petog paketa */
I*******************************************************/
void sendfile(FILE * fid, int sd)
{
PACKET packet; /* paket protokol a */
i nt i ,
count = P; /* brojac paketa */
char c;
packet = (PACKET *) malloc (sizeof *packet);
packet - >last=0;
c=getc(fid);
do
{
for (i=0; i<PACKETSIZE && c != EOF; i++, c=getc(fid)) /* Postavljanje podataka
iz fajla u paket */
packet->data[i] = c;
packet->datasize = i;
if (c==EOF)
packet-> last=1;
packet->sequence = count++;
packet->service = data:
printf("Sending packet %4d: %s\n", packet->sequence, packet->data);
if (send(sd, packet, sizeof (*packet), 0 <= 0) /* Slanje paketa do klijenta */
{
printf("error in Writing to socket\n");
exit(1);
}
if (count % 5 = 0) /* Nakon petog paketa ceka se na potvrdu */
{
if (recv(sd, packet, sizeof *packet, 0) < 0)
{
pr i nt f ( "socket read f ai l ed \ n" ) ;
exi t ( 1) ;
}
printf("Receiving acknoWledgment \n");
}
} While (c I=EOF); /* Zaustavljanje kada se dodje do kraja f aj l a */
p r i n t f ( " f i l e t ransf er done\n");
f ree(packet );
}
i nt main ( i nt argc, char *ar gv[ ] )
{
i nt s; /* i denti fi kuj e soket */
i nt sd; /* i denti fi kuj e konekciju sa soketora */
st ruct sockaddri n sa; /* sadrzi IP adresu i port protokola */
int i; /* prlvremena promenljiva */
FILE * f i d ; / * i denti fi kator f aj l a */
sa = gethoststuff();
s = opensocket();
bindnlisten(s, sa);
While (1) /* Ovaj test server ponavlja za prihvatanje poziva od klijenata */
{
sd=acceptconn(s); /*poziv funkcije za prihvatanje poziva. Novi soket je sd */
if (fork()==0) /*Kreiranje "dete' procesa za obavljanje transfera fajla */
{
cl ose(s); /*Zatvaranje soketa s. "Dete* procesu nije potreban, jer on
kori st i soket sd */
pri nt f ("begi nni ng f i l e t ransf erAn");
f i d=openf i l e( ) ;
sendf i l e( f i d, sd);
f cl osef f i d) ;
cl ose(sd);
exi t (1):
}
else
cl ose(sd); /* Zatvaranje soketa sd, "Roditelju" ni j e potreban. */
}
printf("press enter to quit\n");
getchar();
close(s);
}
SLIKA 12.5 Serverski program
* Kod sadri rcferencu na funkciju btons (skraeno od "host to netWork"). Kada se radi sa razlidtim mainama, mogue je
da postoji nekompatibilnost u nainu smetanja celih brojeva. Na nekim mainama najznaajniji bitovi se smetaju u
bajtovima sa veim adresama (arhitektura "little endian"), dok se kod drugih najznaajniji bitovi smetaju u bajtovima
sa manjom adresom (arhitcklura "big cndian"). Operator htons osigurava ispravno interpetiranje podataka definisanih u
programu.
U ovora primeru postoje samo dva tipa paketa: Data i Ack (za potvrdu). Takoe, sadri broj
sekvence, polje koje ukazuje na broj bajtova podataka u paketu, polje koje ukazuje na poslednji
paket u nizu i polje Checksum (koje ovde neemo koristiti). Jednostavnosti radi, pretpostavili
smo da su ova polja tipa int. Konano, preostalo polje je niz sa kapacitetom za smetanje 20
bajtova; ono predstavlja podatke u paketu.
Letimini pogled na klijenta pokazuje da postoje etiri C funkcije: openfile, opensocket,
makeconnection i get fi l e. Funkcija openfile trai od korisnika da unese naziv pod kojim e
klijent smestiti preneti fajl. Kada korisnik unese naziv, funkcija otvara fajl u modu za upis. Ako
sve prode kako treba, funkcija vraa identifikator fajla. Funkcija opensocket kreira soket. Sadri
naredbu za izlazak iz programa ako dode do greke u pozivn soketa. Ako je nspeno izvrena,
funkcija vraa identifikator soketa.
Funkcija makeconnection uzima informacije od udaljenog hosta i povezuje se na server koji je
pokrenut na tom hostu sa naznaenim brojem porta. Pretpostavljamo da korisnik unosi tekstualnu
adresu udaljenog hosta kada unosi naziv izvrnog klijenta (na primer, myftp hercules.uWgb.edu).
Kao takav, tekstualni string hercules. uWgb. edu je smeten u parametru glavne funkcije argv [ 1 ], a
u drugom parametru glavne funkcije argc nalazi se vrednost 2. Funkcija poziva host po nazivu kako
bi se relevantne informacije o udaljenom hostu postavile u strukturu hostent, koja se locira
pomou pokazivake promenljive ph. Nakon toga, prenosi druge relevantne informacije, kao to je
serverov broj porta, u strukturu adrese soketa, naznaenu promenljivom sa*. Kada promenljiva
bude sadrala neophodne informacije, funkcija poziva funkciju connect, koja alje zahtev za
konekciju do servera.
Poslednja funkcija je najsloenija, jer sadri pravila koja odreduju transfer fajla. Ipak je jednos-
tavnija od mnogih drugih protokola koje smo opisivali. Kao to smo ranije pomenuli, protokol
zahteva od klijenta da primi pet paketa, izvue njihov sadraj i upie ga u fajl. Nakon to primi
peti paket, klijent kreira paket tipa Ack i alje ga nazad do servera. Nastavlja tako sve dok ne primi
paket kod koga je packet->last jednako 1. Funkcija ima nekoliko pri nt f i getchar komandi
koje nemaju nikakvu drugu svrhu osim da osobi koja pokree program pokau ta se deava.
Kada stigne poslednji paket, klijent zatvara fajl. Zatim se vraa u glavni program, gde zatvara soket
i zavrava program. Fajl je prenet.
Izvorni kod servera Serverski program (slika 12.5) je malo sloeniji, jer treba vie toga da
uradi. Kao i klijent, mora da ukljui neophodne header fajlove i da definie kompatibilnu
strukturu paketa. Sadri est funkcija: gethoststuff, openfile, opensocket, bindnlisten,
acceptconn i sendfile. Njegov glavni deo je, takode, neto sloeniji i zato polazimo odatle.
Poto ovaj server slui iskljudvo za testiranje, dizajnirali smo ga tako da prihvati tano tri poziva
i da svaki put uradi isto. Ovako moe da se testira njegova sposobnost da reaguje na vie
konkurentnih klijenata.
Uvek kada prihvati zahtev za konekcijom vraa novi soket (sd), koji ima ista svojstva kao i soket
s. Nakon toga, server prelazi na novi "dete" proces koji upravlja detaljima transfera fajla, koristei
soket sd. Veoma je vano da se razume Linuxova komanda fork da biste videli kako ovo
funkcionie; trebalo bi da pogledate neku literaturu za UNIX, ili Linux ako ne znate za ovu
komandu.
Komanda fork kreira zaseban "dete" proces koji izvrava kod odmah nakon linije "if (fork
( ) ==0 )". Ova sekcija koda zatvara soket s (zato to ovaj soket koristi "roditeljski" proces i
"detetu" nije potreban), poziva funkcije za otvaranje fajla i vraa njegov identiflkator; kada zavri
transfer fajla, zavrava se. Zapamtite: zavrava se "dete" proces, a "roditeljski" proces je i dalje
pokrenut i moe da prihvata nove pozive. U ovom sluaju "roditelj" izvrava liniju nakon else,
koja zatvara soket vraen pozivom accept (promenljiva sd). Poto je ovo soket koji "dete"
proces koristi, "rodilelju" nije potreban.
Prethodno pomenute funkcije izvravaju zadatke u skladu sa svojim nazivima. Prva funkcija
gethoststuff uzima informacije koje su relevantne za hosta na kome je server pokrenut (zbog
prenosivosti, kod servera ne treba da sadri bilo kakve pretpostavke o hostu na kome se pokree).
Takoe, smeta neophodne informacije u strukturu adrese soketa s i vraa kopiju. Funkcija
openf i l e otvara naznaeni tekstualni fajl (pretpostavljamo da je naziv fajla t est .dat) za pristup
radi itanja i vraa identifikator fajla. Ovo je, kao to verovatno pogadate, fajl koji e server
preneti. Funkcija opensocket kreira soket i vraa njegov identiflkator. Ima komandu za izlazak
ako zbog neega soket ne moe da se kreira. Funkcija bindnlisten soketu dodeljuje adresu i broj
porta i postavlja server u mod oslukivanja.
U nekoj taki stie zahtev za konekciju (kao rezultat klijentovog poziva za povezivanje). Tada
server prihvata konekciju. Poziv accept kreira novi soket i vraa njegov identifikator, koji se
dodeljuje promenljivoj sd. Kao to je prethodno pomenuto, ovaj soket ima ista svojstva kao i
soket s. Kada se kontrola vrati na glavni program, server se rava, kreirajui "dete" proces koji
koristi soket sd i zatvara s. "Roditelj" zatvara sd i vraa se na poetak petlje kako bi prihvatio
sledei poziv kada stigne preko s.
Konano, funkcija sendf i l e u jednom trenutku ita 20 karaktera iz tekstualnog fajla i postavlja
ih u pakete. Salje pet paketa odjednom, pa eka na potvrdu od klijenta. Kao i kod klijenta,
postoje komande printf koje omoguavaju da vidite ta se deava dok se program izvrava.
Konano, stie se do kraja fajla i funkcija prestaje da kreira pakete. U toj taki transfer fajla je
kompletiran.
Soketi su veoma moan i fleksibilan interfejs ka mrei. Iako su tradicionalno kreirani za UNIX
okruenja i obino se koriste u programima pisanim u programskom jeziku C, vie nisu
neophodni. Na primer, programski jezik Java podrava sokete i moe da se implementira u
WindoWs okruenjima. Naravno, mnoge ideje su zadrane, ali se detalji razlikuju, zbog toga to
je Java objektno-orijentisana.
Da bi bili ilustrovani fleksibilnost, proirivost, i platforma i jezik nezavisni od soket konekcija, u
referenci [Sh02] projekat iz ovog odeljka je proiren, tako da ukljuuje Java klijent i server. Isti
Java klijent moe da preuzima fajl sa Java servera, ili C servera koji je ovde opisan.
Slino tome, isti Java server moe da reaguje na zahteve za preuzimanje sa Java klijenta, ili ovde
opisanog C klijenta. Specifino, ovaj proireni projekat pokazuje da klijent i server:
mogu da se napiu na istom, ili razliitim jezicima (C, ili Java)
mogu da se napiu na istoj, ili razlidtim platformama (WindoWs, ili Linux)
mogu, ali ne moraju, da koriste razliite jezike paradigme (objektno-orijentisano, ili
struktumo programiranje)
mogu da se piu za "big endian", ili "little endian" okruenja
mogu da za reprezentaciju podataka koriste bajtove, ili Unicode
Kompletna kopija Java i C koda za klijent i server moe da se preuzime sa adrese
WWW.uWgb.edu/shayW/courses/files358.htm.
12.3 World WideWeb
Skoro je sasvim sigurno da je najznaajnije ostvarenje u poslednjoj deceniji World Wide Web
(WWW). Protokoli kao to su Telnet, FTP i email ujedinili su Internet zajednicu i uinili
dostupnom ogromnu koliinu informacija. Ali, razvoj Weba je, izmedu ostalog, uinio da
informacije postanu dostupnije. Bilo za potrebe ozbiljnih istraivanja, ili, jednostavno, radi
zabave i igara, milioni ljudi su otkrili koliko ega Web ima da ponudi. Ipak, sve to su pratile i
frustracije zbog kanjenja, jer se broj Web sajtova poveavao eksponencijalno. Ovaj rast je
prouzrokovao ne samo ogromnu koliinu saobraaja preko Interneta, ve i sve tee pronalaenje
korisnih informacija u tolikoj koliini iroko dostupnih informacija.
Kao i u sluaju ranije obradenih tema, postoje brojne knjige posveene iskljuivo Webu. U tim
knjigama moete pronai mnogo tota, od listi razlidtih Web sajtova do diskusije o Web
protokolima, koji mogu pomoi da kreirate sopstvene interaktivne Web stranice. Bez sumnje,
Web Je znaajna tema na ovom polju i treba ga razmotriti. Verujemo da je znaajno predstaviti
kombinaciju teorije i praktine primene. Tako se proiruju osnovna znanja i stiu neke nove
vetine. Odavde pa do kraja ovog odeljka na cilj je predstavljanje:
opteg pregleda Weba i njegovog osnovnog operativnog koncepta
opteg pregleda naina za kreiranje Web stranice (predstavljamo glavne korake za
generisanje minimalno funkcionalne Web stranice)
integrisanja programiranja i razvoja Web stranica (ovo je ono emu, u stvari, teimo,
a prethodne stavke su samo kratkoroni ciljevi neophodni da se stigne do ovog).
Ponovo se vraamo na klijent/server model i opisujemo kako da se ukljui
programiranje i na strani klijentskih i serverskih protokola.
Poslednja stavka predstavlja pravi izazov, prvenstveno zbog toga to postoji nekoliko razliitih
opcija, ali ovde ih ne moemo sve obuhvatiti. ak i kada se izabere samo jedna opcija, postoji
ogromna koliina materijala i zato je neophodna selekcija.
Sledi lista nekih alata koji se koriste u Web okruenjima:
HTML (Hypertext Markup Language) HTML ima oznake, ili tagove koji
omoguavaju kreiranje i formatiranje Web stranice.
JavaScript To je skript jezik iji se kod ugrauje u HTML dokument. Klijent izvrava
kod kako bi prihvatio korisniki unos i odgovorio na njega.
VBScript Izvrava slinu funkciju kao i JavaScript, osim to se zasniva na
programskom jeziku Visual Basic.
Java applet Omoguava klijentu da izvrava rutine napisane u programskom
jeziku Java.
XML (Extensible Markup Language) XML je slian HTML-u, osim to je HTML
uglavnom zaduen za prikazivanje informacije na Web stranici, dok XML defmie
standarde za opisivanje onoga to podaci, u stvari, predstavljaju.
ASP (Active Server Pages) HTML stranice sadre skriptove napisane, na primer, u
JavaScriptu, ili VBScriptu. Skriptovi prihvataju informacije od klijenta i opisuju akciju
koju Microsoft Web server preduzima pre nego to vrati informacije nazad do klijenta.
Perl To je skript jezik koji se esto koristi, na primer, u LINIX, ili Linux okruenjima
za CGI programiranje (bie opisano kasnije) za smetanje informacija i pribavljanje
informacija iz tekstualnih fajlova sa servera.
Programski jezik C To je programski jezik iji se kompajlirani kod moe pozivati u
Web okruenju radi izvravanja akcija kao to je pretraivanje baze podataka.
Ovde nemamo dovoljno prostora za detaljno opisivanje svih ovih alata. Ipak, predstaviemo u
osnovnim crtama HTML i JavaScript za programiranje na strani klijenta i naveemo nekoliko
primera Perl i C programa za CGI programiranje na strani servera i nekoliko radnih primera koji
predstavljaju razne aplikacije na Webu. Iako ovde neemo navoditi sve detalje, moemo
predstaviti dovoljno informacija da i sami ponete da piete programe za Web.
Pristup Web stranicama
Pretpostaviemo da itaoci ve imaju iskustva sa Webom, bar u vidu pristupa raznim sajtovima i
praenju (kliktanju) linkova ka drugim sajtovima. Lakoa kojom Web moe da se koristi
predstavlja i ogromnu prednost i (prema nekima) nedostatak. Poinjemo opisivanjem osnovnih
akcija koje se deavaju kada surfujete Webom.
Osnova svih Web operacija je HTTP (Hypertext Transfer Protocol), klijent/server protokol
dizajniran tako da omogui razmenn informacija preko Weba. HTFP definie tipove zahteva koje
pretraiva moe da postavi i tipove odziva koje server vraa. Preko HTIP-ja korisnik moe da
pribavlja Web stranice sa udaljenih servera i da smeta stranice na server ako ima odgovarajue
pravo pristupa. Osim toga, obezbeduje i mogunost dodavanja novih informacija na postojee
stranice, Oi potpunog brisanja stranice. Ovde se fokusiramo strogo na aspekat pribavljanja.
*Web stranice je moda lanije nazivati HTML dokumenli, ali to emo razmotriti neto kasnije.
SLIKA 12.6 OpUi pregled Weba
Na slici 12.6 prikazani su osnovni koncepti ukljueni u ceo proces. Korisnik na svom
personalnom kompjuteru pokree pretraiva (browser). Kao pretraivai najee se koriste
Netscape Navigator i Internet Explorer. Pretraiva se pokree na strani klijenta i moe da
prikazuje sadraj Web stranice*. Ubrzo ete videti kako izgleda tipina Web stranica, ali za sada
emo samo pretpostaviti da je re o dokumentu (fajlu) koji predstavlja informacije za korisnika.
Osim toga, Web stranica ima linkove (reference) ka drugim Web stranicama. Ove stranice se
smetaju u pomonom skladitu kojem pristupaju udaljeni HTTP serveri.
Korisnik moe da prati link postavljajui kursor mia preko naznaenog teksta, ili slike i klikom
na taster mia. U toj taki lokalni HTIP klijent alje zahtev udaljenom HTTP serveru za
naznaenu Web stranicu. Server reaguje prenosom stranice nazad do klijenta, gde eventualno
zamenjuje staru stranicu na ekranu (iako se ona obino baferuje za sluaj da korisnik eli da se
vrati na nju). Korisnik moe ponovo da klikne neki link na toj novoj stranici i na taj nain
poziva sledeu Web stranicu. Sledei udaljeni HTTP server reaguje na isti nain i prenosi
zahtevanu Web stranicu nazad do pretraivaa. Korisnik ovaj proces moe da ponavlja sve dok
postoji potreba. Linkovi mogu da povezuju dokumente smetene na HlTP serverima koji su
smeteni irom zemaljske kugle, a samo jednim klikom na taster mia stranica se prenosi do
Vaeg lokalnog kompjutera.
kopija Web
stranica
PC koji pokree
pretraiva
HTTP server
Web stranice
link ka drugim
serverima
HTTP server
Web stranice
link ka
drugim
serverima
Crna strelica ukazuje na
stranicu koju je preuzeo
lokalni pretraiva.
Siva strelica ukazuje na
link ka drugoj stranici
link ka
drugim
serverima
HTTP server
Web stranice
* HT11' protokol nije jedini mogui prefiks koji se koristi u URL-u. Mogu su i drugi protokoli, kao to su FTP, Telnet i email.
t U zavisnosti od sajta, postoje neke manje razlike. Neki sajtovi zahtevaju tilda karakter (-) pre imena korisnika, neki
inicijalno koriste fajl pod nazivom index.html (umesto index.hlm), dok neki zahtevaju da se fajlovi nalaze u odredenom
poddireklorijumu konkretnog korisnikog naloga. Proverite dokumentaciju Vaeg sajta da bistc videli ta se inicijalno koristi.
Naravno, pojednostavili smo "stvari". Moda bi bilo ispravnije rei da smo uzeli u obzir
postojanje TCP, IP i protokola veze koji su zadueni za detalje konkretnog transfera. Ponovo
dolazi do izraaja prednost slojevite strukture, jer su zadaci viih slojeva jednostavniji za
opisivanje ukoliko pretpostavimo da postoje nii slojevi,
U sutini svega ovoga nalazi se odgovor na pitanje kako pretraiva zna gde da trai zahtevanu
stranicu. Svaka stranica koja je dostupna preko Weba mora da ima jednistveni naziv kako bi se
izbegle zabune. Da bi to bilo mogue, neophodni su lokacija stranice, jedinstveni naziv te
lokacije i protokol za pristup toj stranici. Kolektivno, ove tri stavke defmiu URL (Uniform
Resource Locator) stranice, koji ima oblik
protokol: //adresa-sajta/naziv
Na primer, autorovoj Web stranici (jo se naziva i polazna, Ui matina stranica - home page) moete
da pristupite preko URL-a
http://WWW. uWgb.edu/shayW
Protokol je HTTP*, a adresa sajta je WWW.uWgb.edu. Poslednji deo shayW predstavlja indirektnu
referencu na specifini fajl. String "shayW" predstavlja nalog na host kompjuteru WWW.uWgb.edu.
Nalog sadri fajl pod nazivom index.htm. Referenciranje navedenog URL-a inicira prikazivanje
sadraja fajla u pretraivau.t Ovo je konvencionalni nain pristupa matinim stranicama bez
potrebe da se vodi rauna o konvencijama imenovanja na host kompjuteru. Naravno, ako elite da
pristupite nekom drugom fajlu, morate da ga naznaite eksplicitno. Na primer, syllabus za
predavanja o mreama je u fajlu syll358.htm u autorovom Web direktorijumu. Toj stranici moete
da pristupite sa
http://WWW.uWgb.edu/shayW/syll358.htm
Ne bi imalo smisla kreirati liste svih stranica kojima ete moda pristupiti sa eksplicitnim
referencama na te stranice. Alternativa direktnom naznaavanju stranice je praenje linka ka njoj
radi pristupa sa druge Web stranice. Ovo se realtivno jednostavno izvodi, ali najpre moramo da
objasnimo nain na koji se sadraj Web stranice predstavlja u neijem pretraivau.
Hypertext Markup Language
Sledei logian korak je opisivanje naina na koji se Web stranica postavlja i kako se u nju
ukljuuju linkovi ka drugim stranicama. Jezik koji to omoguava je Hypertext Markup Language
(HTML). U osnovi, korisnik kreira fajl (obino sa ekstenzijom .htm, ili .html) sa HTML
elementima. Ovaj fajl (poznat i kao HTML dokument) definie kako e Web stranica biti
prikazana u pretraivau (ovde emo ignorisati iskljuivo tekstualne pretraivae). Ipak, pre nego
to predstavimo opti pregled HTML-a, potrebno je razumeti ta moe da se nade u HTML
dokumentu.
Kada se Web stranica prikazuje u pretraivau, korisnik moe da vidi sledee tipove sadraja:
obini tekst
grafike elemente, ili animirane slike
linkove ka drugim HTML dokumentima. Linkovi se obino predstavljaju podvuenim
tekstom u drugoj boji, ili pomou slike. Postavljanjem kursora preko teksta, ili slike i
klikom na taster mia preuzima se novi HTML dokument, koji se prikazuje u prozoru
pretraivaa.
U optem sluaju, HTML moe da obezbedi stranice prilino sofisticiranog izgleda, sa
interesantnim formatima i arenim pozadinama i slikama. Poto autor nije preterano "vet sa
bojama", koncentrisaemo se samo na osnovnu funkcionalnost. Generisanje kreativnih Web
stranica preputamo itaocima sa veom matom. Takode neemo pokuavati da kompletiramo
razmatranje o HTML-u, ali emo opisati neke najee koriene elemente. Postoji bezbroj
njiga o HTML-u, u kojima moete da pronaete sve potrebne informacije.
Tagovi HTML koristi tagove da bi ukazao ta eli da ukljui u HTML dokument i kako eli da
se ti podaci prikau. Obino se zapisuju na sledei nain:
<tag opcije> ... neke stvari izmeu... </tag>
Neki tagovi zahtevaju i poetni i zavrni delimiter. Oba ukljuuju identifikator taga, ali zavrni
delimiter sadri i kosu crtu /. Ovi delimiteri ukazuju pretraivau ta da radi sa "stvarima" izmeu
delimitera. U nekim sluajevima opcije navedene u poetnom delimiteru obezbeduju dodatne
informacije.
Na slici 12.7 prikazani su primer HTML dokumenta i neki tipini tagovi koji posmatrau
omoguavaju da vidi grafike elemente, neki osnovni tekst i linkove ka dmgim dokumentima. Na
slici 12.8 data je stvarna prikazana stranica. Prva i poslednja linija slike 12.7 odgovaraju HTML
tagu (<html> i </html>), koji ukazuje da sve to je navedeno izmedu treba da se interpretira u
skladu sa HTML pravilima. Svaki HTML dokument ima zaglavlje [head) i telo (body). Tagovi
<head> i </head> ograniavaju zaglavlje, a tagovi <body> i </body> ograniavaju telo. U
zaglavlju moe da se nade nekoliko "stvari", od kojih je jedna naslovna linija (delimiteri <title>
i </title>). Pretraiva uzima tekst izmedu naslovnih tagova i prikazuje ga na vrhu prozora.
Vidite il frazu "The Title Goes Here" na slici 12.8?
U telo se smetaju sve tekstualne informacije, grafiki elementi i, eventualno, tekst hiperlinkova.
Na primer, da bi bila prikazana slika, najpre morate da je kreirate i snimite u nekom fajlu. HTML
tag za slike (<img>) naznaava taj fajl i slika e biti prikazana kada se dokument prikazuje u
pretraivau. Opcija u tagu slike na slici 12.7 naznaava fajl kao "logo.gif". Na slici 12.8 je kao
slika upotrebljen logo znak jednog univerziteta, koji je ranije kreiran i snimljen u tom fajlu.
<html>
<head>
<title> The Title Goes Here </title>
</head>
<body>
center> <img src = "logo.gif"></center>
<hr>
<center> <h1>Links to Courses</h1> </center>
This is a short paragraph containing links to three courses. Each can be accessed
by clicking on the cource number. The first one is titled<B> Numerical
Analysis</B> and has course number of <A HREF = "http:/WWW.uWgb.edu/shayW
/syll350.htm">266-350</A>. The second course is titled <B>Data Structures</B> and
has a course number <A HREF = "http://WWW.uWgb.edu/shayW/syll351.htm">
266-351</A>. Finally the third course is titled <B> Data Communications and
Computer netWorks</B> and has a course number <A HREF = "http:/ WWW.uWgb.edu/
shayW/syll358.htm">266358</A>.
<hr>
If you nave any comments or questions you can send them to <A HREF = "mailto:
shayW@uWgb.edu"> Blll Shay</A> at the University of Wisconsin-Green Bay
<hr>
</body)
</html>
SLIKA 12.7 Primer HTML dokumenta
SLIKA12.8 Izgled HTML dokumenta prikazanog u slici 12,7
* Tag za sliku moe da se koristi umesto teksta, tako da se dobija slika koju moete da kliknete.
Delirniteri taga za centriranje (<centei> i </center>) postavljeni sa obe strane taga za sliku
izazivaju poslavljanje slike na sredini ekrana. Ako delimiteri taga za centriranje nisu prisutni, logo
znak sa slike 12.8 bi se naao na levoj strani ekrana. LJ telu dokumenta nalazi se nekoliko
tagova (<hr>) koji umeu horizontalnu liniju. Na slici 12.8 prikazane su tri tamne horizontalne
linije koje se koriste kao separatori. Ovo je uobiajena vizuelna pomoza razdvajanje razliitih
delova prikaza.
U veem delu tela dokumenta nalazi se tekst, koji je prikazan na slici 12.8. Postoje neke razlike
u nainu prikazivanja teksta - odredeni delovi su vei, neki su boldirani, a neki su podvueni (oni,
u stvari, odgovaraju linkovima). HTML tagovi omoguavaju ove razlike. Delimiteri taga zaglavlja
<hl> i </hl> definiu zaglavlje 1 nivoa. Sav tekst koji se nalazi izmeu njih prikazuju veim
fontom. Postoje i tagovi za <h2>, <h3>, <h4>, <h5> i <h6>, koji imaju slian efekat, ali koriste
razliite veliine slova. Tag <hl> defmie najvee, a tag <h6> najmanje zaglavlje. Sav tekst izmeu
tagova za boldiranje (<B> i </B>) prikazuje se boldirano.
Za nas su ovde najznaajniji uporini tagovi (anchor tags) (<A> i </A>), koji definiu akcije koje
korisnik moe da izabere jednostavnim klikom na taster mia. Delimiteri uporinog taga imaju
nekoliko oblika i namena. Jedan mogui oblik je
<A HREF=url> tekst na koji se moe kliknuti </A>
Ovi delimiteri imaju dvostruku funkciju. Prva je prikazivanje teksta koji moe da se klikne*. Ovo
znai da moete da postavite kursor preko tog teksta i klikom na taster mia pribavljate udaljeni
doktiment. Druga je definisanje URL-a tog dokumenta. Na primer, na slici 12.7 u telo dokumenta
je ugraden slede tag:
<A HREF = "http://WWW.uWgb.edu/shayW/syll350.htm">266-350</A>
Opcija HREF definie URL dokumenta smetenog u autorovom Web direktorijumu. Tekst koji je
mogue kliknuti u ovom sluaju je "266-350". Na slici 12.8 ovaj tekst je prikazan kao podvuen.
Korisnik moe da postavi kursor preko tog teksta i nakon klika na taster pribavlja eljeni doku-
ment - u ovom sluaju fajl pod nazivom syll350.htm iz autorovog Web direktorijuma.
Uporini tagovi mogu da se koriste i za iniciranje drugih akcija, osim onih koje pribavljaju HTML
dokumente. Na dnu slike 12.7 postoji jo jedan uporini tag
<A HREF= "mailto:shayW@uWgb.edu">Bill Shay</A>
U ovom sluaju tekst odgovara autorovom imenu. Opcija HREF identifikuje program mail
servera. Kada se aktivira, prikazuje se forma koja korisniku omoguava kreiranje email poruke
koja e biti poslata na naznaenu email adresu (u ovom sluaju shayW@uWgb.edu). Na formi se
nalazi i dugme Send, koje, kada se klikne, alje poruku.
Tabela 12.4 sadri neke druge esto koriene HTML tagove sa kratkim opisima njihovih
funkcija. Postoji jo mnogo drugih tagova i opcija, pored liste tagova koju smo naveli u tabeli.
Zainteresovani itaoci mogu da pogledaju bilo koju knjigu o HTML-u.
</K>... </A>
<B> ... </B>
<body> ... </body>
<br>
<center>... </center>
<font> ... </font>
<form>... </form>
<hl >. . . </ hl >
<head>... </head>
<HR>
<html>... </html>
<l> . . . </ l >
<img>
<input>
<li>
<option>... </option>
<P>
<script>... </script>
<select>... </select>
<table>... </table>
<title> ... </title>
<ul>... </ul >
Uporini tag. Prikazuje tekst koji se nalazi izmedu delimitera. Ako se
izrneu delimitera nalazi tag slike, onda se prikazuje slika. Uporini
tag ima i opciju za navodenje URL-a za koji se kreira link, ako
korisnik postavi kursor preko teksta, ili slike i klikne tasterom mia.
Boldiranje. Tekst koji se nalazi izmeu delimitera prikazan je
boldiranim stilom.
Ograniava telo HTML dokumenta.
Prekid linije. Umee prekid linije na Web stranici. Sve to se nade
iza <br> prikazuje se na poetku sledee linije.
Centrira tekst smeten izmedu delimitera.
Opcije utiu na boju i veliinu teksta smetenog izmedu delimitera.
Kreira i prikazuje formu u koju korisnik moe da unosi informacije
na naznaenim mestima. Forma moe, nakon toga, da se usmeri na
izvravanje neke akcije. U nekim sluajevima ona se koristi i za
prikazivanje rezultata koji se dobijaju na osnovu unetih informacija.
Prikazuje tekst smeten izmeu delimitera sa veim slovima.
Postoje i tagovi <h2>, <h3>, <h4>, <h5> i <h6>, koji definiu
razliite veliine slova.
Ograniava zaglavlje HTML dokumenta.
Prikazuje horizontalnu liniju, koja se koristi za vizuelno razdvajanje
sadraja Web stranice.
Ukazuje da sve izmedu ovih delimitera treba tretirati u skladu sa
pravilima HTML jezika.
Tekst koji se nalazi izmedu delimitera prikazuje kurzivom (italikom).
Naznaava fajl u kome se nalaze slika, ili animacija koja se prikazuje
kada se Web stranica uita.
Koristi se sa tagom za formu, a omoguava korisniku da unese
informacije.
Ukazuje na element u listi.
Koristi za obezbedivanje opcija pop-up menija.
Oznaava start novog paragrafa na Web stranici.
Ograniava kod skript jezika za program na strani klijenta.
Omoguava korisniku da selektuje opciju iz liste u pop-up meniju.
Definie tabelu koja e biti prikazana na Web stranici.
Definie naslov HTML dokumenta.
Definie neuredenu listu elemenata.
Znaenje Tag
HTML forme
Kao to smo ranije istakli, glavni cilj u ovom odeljku je da itaoci upoznaju Web programiranje,
ili mogunost klijenta, ili servera da preduzmu odredene akcije, pored onih koje su naznaene
pomou HTML-a. Poinjemo razmatranjem HTML formi. Njih moete da smatrate i nekom
vrstom ablona za unoenje i prikazivanje informacija. Forme su prilino este, posebno kada se
vri pretraivanje Interneta pomou pretraivakih maina, kao to je Google, ili Yahoo. Pre nego
to zahteva pretraivanje, korisnik u formu unosi kljune rei, ili fraze. Korisnik moe da klikne
dugme Clear za brisanje onoga to je prethodno uneto, ili dugmad Submit, ili Search za predaju
informacija pretraivakoj maini. U zavisnosti od pretraivake maine, korisnik moda moe
da selektuje i razliite opcije koje utiu na rezultate pretraivanja, kao to je traenje iskljuivo
zvunih, ili grafikih fajlova.
Predaja informacija iz formi esto zahteva akcije i od klijenta i od servera. Na primer, moda Vaa
lokalna picerija ima svoju Web stranicu preko koje moete da naruite picu. Moete da popunite
formu sa svojim imenom, adresom, brojem telefona, sastojcima pice i tako dalje. Kada se
informacije iz forme predaju, server treba da reaguje prikazivanjem cene i moda procenjenog
vremena potrebnog za isporuku. Klijent moe da preduzme i neke druge akcije, kao to je
verifikovanje odredenih informacija iz forme. Na primer, ako neko nami veliku picu sa
peurkama, ljutim papriicama i kinim glistama, klijent moe da prepozna da jedan od ovih
priloga nije adekvatan (nikada mi se nisu dopadale peurke). Ideja je da se odreeni zahtevi
identifikuju kao besmisleni pre nego to zapadnete u nevolju nakon predaje informacija sa forme
serveru. IJ optern sluaju, ovo je mnogo efikasniji nain, jer titi Web softver od predaje zahteva
koji se ne mogu ispuniti.
Razmatranje formi zapoinjemo primerom koji se u potpunosti moe upravljati od klijenta. Na
slici 12.9 prikazana je forma koja korisniku omoguava da unese niz brojeva, a zatim izraunava
najmanji i najvei broj i sumu unetih brojeva. Postoje neka ogranienja, kao to je objanjeno u
instrukcijama forme. Forma sadri sledee elemente:
tekst koji obezbeduje instrukcije za ono to treba da se uradi i kako treba da se uradi
prazni okviri (tekstualni okviri) koji korisniku omoguavaju da unese nizove brojeva
prostor za prikazivanje najveeg i najmanjeg broja i sume unetih brojeva
polja za potvrdu koja korisniku omoguavaju da izabere izraunavanja koja eli da se
prikau
dugmad koja iniciraju izvrenje akcija. Mogue akcije su izvodenje eljenih
izraunavanja, ili ienje (brisanje) svih unetih brojeva. Druga opcija postoji
u sluaju da ste napravili greku i potrebno je da unesete novi niz brojeva.
Inicijalno, okviri na formi mogu da budu prazni. Na slici 12.9 prikazani su rezultati nakon to je
korisnik uradio sledee:
1. Uneo je brojeve 4, 5, 6, 5, 4 i 3.
2. KHknuo je polja za potvrdu koja iniciraju izraunavanje sume i najveeg unetog broja.
3. Kliknuo je dugme Calculate.
SLIKA 12.9 HTML forma za statistika izraunavanja
Nakon izvravanja ovih akcija, u poljima Total i Largest prikazuju se brojevi 27 i 6, respektivno.
Mo korisnik klikne dugme Clear, svi brojevi sa slike 12.9 nestaju. Korisnik nakon toga moe da
unese novu kolekciju brojeva i tako dobije nove rezultate.
Ako korisnik potuje naznaene instrukcije, dobie rezultate. Ali, ta ako uradi neto to nije u
skladu sa instrukcijama? Svako ko je ikada programirao bilo ta zna da je jedan od najteih
aspekata programiranja reagovanje na ono to korisnik ne bi smeo da uradi. Na primer, ta ako
korisnik unese brojeve, ali ne selektuje ni jedno polje za potvrdu pre klika na dugme Calculate?
Sta ako korisnik ldikne dugme Calculate pre nego to unese bilo koji broj?
Na slici 12.10 ukazujemo na mogue odzive na takve akcije. Na slici 12.10a prikazan je prozor
koji se otvara ako korisnik klikne dugme Calculate pre nego to potvrdi bilo koje polje za
potvrdu, a na slici 12.1 Ob prozor koji se otvara ako korisnik klikne dugme Calculate pre nego to
unese bilo koji broj. U svakom sluaju, korisnik bi kliknio dugme OK i pokuao ponovo da
skoristi formu na ispravan nain.
Sve ovde opisane akcije morala je da isprogramira osoba koja je postavila Web stranicu i te
akcije su mogle da se kontroliu preko skriptova, ili skript jezika. Skript je, u sutini, program koji
se automatski izvrava kao odziv na neku drugu akciju. Skript jezik je, naravno, jezik koji se
koristi za pisanje skriptova.
(a) Korisnik nije potvrdio ni jedno polje za potvrdu (b) Korisnik nije uneo ni jedan broj
SLlKA 12.10 Odzivi na neoekivane akcije horisniha
Sada je potrebno da opiemo sve eletnente u primeru koji moe da se postavi u okviru HTML
dokumenta.
Prvi korak je definisanje naina na koji moe da se definie forma i kako se koristi za prihvatanje
korisnikogulaza iza prikazivanje izlaza. Na slici 12.11 prikazanesu HTMLkomande koje definiu
formu sa slike 12.9, Prva polovina forme jednostavno sadri tekst koji obezbeduje instfukcije za
korisnika, kao lo je prikazano na slici 12.9. U okviai teksta postoje dva taga sa opcijama za
bojenje teksta, koji naznaavaju 24-bitnu vrednost boje (po osam bitova za crvenu, zelenu i plavu
boju) delimitiranog teksta u okviru tih tagova.
<form>
This is a form that uses a JavaScript function and an event handler to calculate
different statistical functions. You can find one total, the largest, and/or the
smallest of a list of numbers that you can enter in the text WindoW belloW. AIl
you need to do is enter a collection of numbers one at a time and separated by a
space. Next click on the boxes depending on Whether you Want to calculate the
total, find the largest, or find the smallest. (You can click on any or all
three).
When done click on the <F0NT COLOR="ff0000">calculate </FONT>button. If you Want
to start over, click on the <F0NT COLOR="ff0000">clear </FONT>button. It Will
erase the numbers you have entered and the results that are being displayed. You
might notice that the calculation Will not Work if you type more than one space
betWeen any tWo numbers or if you leave a space after the last number. WeIl, I am
not going to do everything. This is a good exercise for you to do. Gooo
LucK!!!<BR><BR><BR>
<left> Enter numbers here-> <Input type="text" Name="expr" size=30>
<Input Type="button" Value="calculate" Onclick="compute(this.form)">
<Input Type="reset" Value="Clear"><BR><BR</left>
<Input Type="checkbox" Name="gettotal">Click here to find the TotakBR>
<Input Type="checkbox" Name'="getmin">Click here to find the Smallest<BR>
<Input Type="checkbox" Name="getmax">Click here to find the Largest<BR><BR>
Total :><Input Type="text" name="total" size=15><BR>
Smallest: -><Input Type="text" name="min" size=15><BR>
Largest:><Input Type="text" name="max" size=15><BR>
</Form>
SLIKA 12.11 HTMLkomande za definisanje forme sa slike 12.9
U ovom sluaju vrednost boje ffOOOO znai da postoji samo crvena komponenta, tako da se
delimitirani tekst (u ovom primeru rei calculate i clear) u Web pretraivau prikazuje crvenom
bojom.
Naredne linije sa instrukcijama sadre ulazne (input) tagove, koji defmiu nain na koji se
informacije unose na formu. Svaki okvir, dugme, ili polje za potvrdu sa slike 12.9 definisani su
jednim ulaznim tagom. Primeujete da svaki ulazni tag ima nekoliko razliitih opcija, ili tipova.
Sledi pregled opcija:
Type = "text" Ova opcija je namenjena slobodnom unosu i prikazivanju rezultata.
Prikazuje tekstualno polje u koje korisnik moe da unese bilo ta po sopstvenom
izboru. Kao to ete videti, skript klijenta moe da koristi ovaj tip polja i za prikazi-
vanje informacija. Na slici 12.9 brojevi koje korisnik unese i eventualni rezultati
prikazuju se pomou ovog tipa.
Type = "checkbox" Ovaj tip omoguava korisniku da postavi kursor iznad polja i da
selektuje polje ldikom na taster mia. Kada se selektuje, prikazuje se simbol X (videti sliku
12.9). Korisnik moe da selektuje vie polja za potvrdu po sopstvenom izbom.
Type = "reset" Ova opcija izaziva prikazivanje dugmeta koje, kada se klikne, brie
sve informacije koje je korisnik eventualno uneo u formu. Ulazni okviri se ili briu, ili
se vraaju na podrazumevane vrednosti koje su postavljene kada je forma definisana.
Type = "button" Ova opcija kreira dugme koje, kada se klikne, inicira odreenu
akciju. Uskoro ete videti kako se definie eljena akcija.
Name = "ne\d_rumv" Ova opcija dodeljuje naziv nekoj ulaznoj oblasti (okvir,
dugme, ili polje za potvrdu). Naziv nije vidljiv za korisnika, ali, kao to ete kasnije
videti, skript jezik moe da iskoristi ove nazive za prouavanje korisnikog unosa.
Value = "neka_yrednosf U optem sluaju, opcija vrednosti zavisi od tipa ulaza.
Ovde smo kao ulazne tipove koristili samo "button" i "reset". Kao to je prikazano na
slici 12.9, string koji je dodeljen vrednosti prikazuje se na dugmetu na formi.
Size = broj Kada se koristi sa tekstualnim okvirom, ova opcija definie veliinu
okvira (mereno u brojevima karaktera).
OnClick = "neka_aktija" Ovo je primer kontrolisanja dogadaja (event handler), ili
definisanja neke akcije koja se deava ako doe do odredenog dogadaja. Kada se
primenjuje za dugme, ova opcija definie skript koji se automatski izvrava kada se
klikne dugme (dogadaj). Nesumnjivo, skript hvata formu i sve to ona sadri i izvrava
neku akciju.
Programiranje na strani klijenta i JavaScript
Finalni korak je objanjenje kako se pie skript koji odgovara formi sa slike 12.9. Potreban nara
je skript koji, kada korisnik klikne dugme Calculate, obavlja sledee:
utvrdivanje vrednosti svakog polja za potvrdu koje je selektovano i postavljanje
rezultata u odgovarajui tekstualni okvir
generisanje okvira upozorenja (poruka greke) ako korisnik nije selektovao ni jeno
polje za potvrdu
generisanje okvira upozorenja ako korisnik nije uneo ni jedan broj
Slika 12.12 sadri JavaScript kod koji ovo obavlja. Nismo pretpostavili da veznate JavaScript,
ve da poznajete programski jezik C i da razumete bar osnove objektno-orijentisanog programi-
ranja i hijerarhije objekata.
<scri pt language = j avascri pt >
functi on MakeArray(form)
{
var ind1=0;
var ind1=0;
var blank=" ";
var i = 0;
While ((ind2=form.expr.value.index0f(blank, indl)) != -1)
{
this[++i]=parseInt(form.expr.value.substring(ind1, ind2));
ind1=ind2+1
}
this[++i]=parseInt(form.expr.value.substring(ind1, form.expr.value.length));
this.length=i;
}
function dototal(myarray, form)
{
var sum=0;
for (var i=1; i<=myarray.length; i++)
um = sum + myarray[i];
form.total.value=sum;
}
function domin(myarray, form)
{
var temp=myarray[1];
for (var i=2; i<=myarray.length; i++)
if (myarray[i] < temp)
temp = myarray[i];
f orm.min.value=temp;
}
function domax(myarray, form)
{
var temp=myarray[l];
for (var i=2; i<=myarray.length; i++)
if (myarray[i] > temp)
temp = myarray[i];
form.max.value=temp;
}
function compute(form)
{
var myarray;
if (form.expr.value.lengtti==0)
alert("You haven't entered any numbers")
else
if (!form.gettotal.checked && !form.getmin.checked && !form.getmax.checked)
alert("You haven't checked any of the boxes")
else
{
my rray = neW MakeArray(form);
if (form.gettotal.checked)
dototal(myarray, form);
if (form.getmin.checked)
domin(myarray, form);
if (form.getmax.checked)
domax(myarray, form);
}
}
</script>
SLIKA 12.12 JavaScript kod za pivgramiranje na strani klijenta
Osim toga, neemo pokuavati da obezbedimo nikakve detalje o JavaScriptu, osim onih koji su
nam ovde neophodni. LI referencama [FlOl] i [GoOl] moete da pronaete informacije o
JavaScriptu.
Pre nego to ponemo, postoji nekoliko "stvari" koje treba da napomenemo u vezi koda sa slike
12.12:
JavaScript kod je delimitiran tagovima <script> i </script>.
Kod se nalazi u zaglavlju MTML dokumenta.
Kod sadri pet funkcija: compute, MakeArray, dototal, domin i domax. Kao to smo
naznaili OnClick event handlerom sa slike 12.11, kontrola se najpre prebacuje na
funkciju compute, koja upravlja akcijama koje skript mora da izvede.
Brojevi koje korisnik unese postoje u vidu stringa. JavaScript kod mora da parsira ovaj
string, pronae brojeve i smesti ih u niz.
JavaScript je objektno-orijentisani jezik sa sloenom hijerarhijom objekata. Ovde neemo
opisivati celu hijerarhiju, ali je vano da razumete bar onaj njen deo koji je relevantan za kod sa
slike 12.12. Na slici 12.13 prikazana je hijerarhija koja nam je polrebna. Formu sa kojom treba
da radimo JavaScript vidi kao objekat. Forma je, ujedno, i svojstvo objekta document (smatrajte
da je to na HTML dokument). LI optem sluaju, dokument moe da ima vie formi. Sa druge
strane, forma ima svoja svojstva, koja su navedena na treem nivou hijerarhije prikazane na slici
12.13. Svako svojstvo odgovara jednom ulaznom tagu sa slike 12.11. LI stvari, ako uporedite
nazive opcija iz tih tagova i nazive sa slike 12.13, videete da su isti. Kao to ete uskoro otkriti,
ovo omoguava pristup skripta objektima koji su pridrueni ovim tagovima. Slika 12.13 nije
potpuna, ali emo dodatne napomene davati kako se bude ukazivala polreba.
SLIKA 12.13 Hijerarhija JavaScript objekata relevantnih za sliku 12.12
Seate se sa slike 12.11 da ulazni tag tipa "button" ima opciju Onclick= "compute(this.form)".
Kada korisnik klikne to dugme, kontrola se prenosi na JavaScript funkciju pod nazivom compute.
Osim toga, tekui objekat forme, zajeno sa svim svojim svojstvima i metodima, prenosi se do te
funkcije. Kljuna re t hi s obino se koristi u JavaScriptu za referenciranje tekueg objekta.
Naravno, ta se smatra tekuim zavisi od konteksta u kome se koristi. U ovom sluaju this.form
se odnosi na tekuu formu (onu sa slike 12.11) u tekuem HTML dokumentu.
Kada se kontrola prenese na funkciju compute, njen parametar omoguava JavaScripl kodu da
pristupi svim informacijama u vezi forme preko objekta pod nazivom f orm. Ova funkcija prvo
proverava da li je korisnik uneo bilo koji broj u formu. Seate se sa slike 12.11 da forma
sadri ulazni tag tipa "text" pod nazivom expr. Tu ide ono to korisnik unese, a expr je ujedno i
svojstvo objekta forme (videti sliku 12.13). Dalje, hijerarhija objekata pokazuje da expr ima
svojstvo value. Predstavlja konkretni string unet preko tekstualnog okvira expr. Na kraju, poto
svaki string ima odredenu duinu koja predstavlja broj karaktera u stringu, value ima svojstvo
length. Ako korisnik ne unese ni jedan karakter, duina stringa je 0. Zato JavaScript proverava
ovuopciju poredenjem form.expr.value.lengthsa 0 (primeujete da izraz sa takama odgovara
sekvenci svojstava definisanoj hijerarhijom objekata sa slike 12.13). Ako su vrednosti identine,
JavaScript poziva funkciju al ert , prenosei joj string "you haven't entered any numbers".
Funkcija alert otvara prozor poput onog na slici 12.10b. Naravno, ako duina stringa nije 0, taj
korak se "preskae" i ne prikazuju se nikakvi okviri upozorenja. Napomenimo da nenulta duina
stringa ne mora da znai da je korisnik stvarno uneo brojeve. To samo znai da je uneo neto.
Ovaj skript ne proverava da li se u stringu nalaze nenumeriki karakteri. Ostavljamo Vam da
izvebate provern greaka u skriptu.
Zatim, JavaScript mora da utvrdi da li su selektovana neka polja za potvrdu. Ponovo za to koristi
hijerarhiju objekata. Postoje tri polja za potvrdu, pod nazivima get t ot al , getmin i getmax - svako
predstavlja svojstvo objekta forma.
forma
dokument
value
expf gettotal
check ed
getmin
check ed check ed
getmax total
value
value
min max
value
length
inde xof
(method)
simstnng
(method)
Poto je svako polje defmisano tipom "checkbox", svako ima svojstvo pod nazivom checked. Ako
korisnik postavi kursor preko polja za potvrdu i klikne tasterom mia, odgovarajue svojstvo
checked se postavlja na TRUE. Dakle, svako svojstvo checked je ili TRUE, ili FALSE, u skladu
sa tim da li je korisnik selektovao polje, ili nije. Druga if naredba u funkciji compute poredi
svojstvo checked svakog polja za potvrdu; ako su sva svojstva FALSE, prikazuje okvir
upozorenja.
Ako je selektovano bar jedno polje za potvrdu, kontrola se prosleuje na poslednju klauzulu
else. Prva linija,
myarray=neW MakeArray(form)
poziva funkciju koja parsira string koji je korisnik uneo i smeta sve brojeve u niz pod nazivom
myarray (videete ubrzo kako ovo funkcionie.) Preostale tri if naredbe ponovo utvruju koja su
polja za potvrdu selektovana. Za svako selektovano polje JavaScript poziva funkciju da izvede
naznaeni zadatak. Na primer, funkcija dototal sumira vrednosti iz niza myarray pomou
promenljive sum. Poslednja linija u toj funkciji smeta sumu u form.total.value. Ovaj izrazprati
hijerarhiju objekata i dodeljuje promenljivu sum kao svojstvo value tekstualnog okvira pod
nazivom t ot al . Zbog toga, stvarna suma se prikazuje u tom okviru na formi, kao to je prikazano
na slici 12.9.
Funkcije domin i domax utvruju najmanju i najveu vrednost u myarray, respektivno. Na slian
nain se dodeljuju i rezultati za dototal.
Poslednji deo slagalice je opisivanje naina na koji JavaScript izvlai brojeve iz stringa koji unese
korisnik. Potpuno razumevanje ovog procesa verovatno nije mogue bez kompletnijeg opisa
JavaScripta i njegovih objekata i tipova. Ovde predstavljamo samo glavne ideje, a itaocima
preputamo da proitaju neku knjigu o JavaScriptu radi detalja o implementaciji.
U sutini, linija
myarray=neW MakeArray( form)
(iz funkcije compute) poziva funkciju MakeArray, koja kreira i vraa objekat niza sa potrebnim
brojevima. U okviru te funkcije JavaScript kod pretpostavlja da su brojevi smeteni u
tekstualnom stringu sa razmakom od jednog blanko znaka izmedu svaka dva broja. Kao i ranije,
JavaScript referencira string pomou notacije form.expr.value. Nakon toga, poziva metod
form.expr.value.indexOf (blank, indl), koji vraa prvi indeks (ili subskript) prvog blanko
karaktera smetenog na poziciji iza indl. Inicijalno, indl je 0, tako da prvi poziv ovog metoda
pronalazi indeks prvog blanko znaka u stringu. Na slici 12.14 prikazano je kako su indl i ind2
povezani sa tekstualnim stringom. U optem sluaju, oni ograniavaju karaktere koji predstavljaju
brojeve koje je korisnik uneo. Dve vrednosti indeksa su koriene u metodu substring, koji izvlai
podstring sa karakterima izmedu blanko znakova. Konano, JavaScript koristi funkciju parselnt za
konvertovanje podstringa u numeriki format.
Dok prolazi kroz pedju, JavaScript smeta konvertovane podstringove u objekat niza pod
nazivom t hi s. Kao to smo ranije pomenuli, t hi s je kljuna re koja se koristi za referenciranje
objekta. U ovom sluaju funkcija MakeArray se ponaa slino kao konstruktor objekta niza
myarray. Zato se t hi s u ovom kontekstu odnosi na objekat niza myarray.
SLIKA 12.14 Izvlaenje brojeva iz tekstualnog stringa
12.4 CGI i programiranje na strani servera: Postavljanje
pretraivake maine
Sledea tema ovog poglavlja tie se programiranja na strani servera. Na primer, dok surfujete
Webom, moda ste se zapitali kako pretraivaka maina funkcionie. Znate da prihvata jednu,
ili vie kljunih rei koje navedete i da na dmgom sajtu trai mogue reference i da ih alje nazad
do Vas. Na zadatak je da opiemo kako ovo funkcionie i da napiemo ogranak pretraivake
maine. Kao i u sluaju prethodno obradenih tema, postoji nekoliko naina da se izvede
programiranje na strani servera. Ipak, ponovo emo se fokusirati na jednu konkretnu, ali prilino
standardizovanu tehniku. Oni koji su zainteresovani za alternativna reenja mogu da konsultuju
neku knjigu o HTML programiranju, ili razvoju Weba.
Ve znamo da HTTP server moe da obavlja neke jednostavne poslove, kao to je slanje
zahtevanih dokumenata nazad do HTTP klijenta. Medutim, neke aktivnosti, kao to su one koje
postoje kod pretraivakih maina, sloenije su od onih koje HTTP serveri mogu da izvravaju.
U takvim sluajevima HTfP server se oslanja na gateWay program koji upravlja dodatnom
logikom. GateWay programi mogu da budu napisani jezicima kao to su C, ili Perl (videti
reference [Fe97], [GuOO], [MeOl]Hi [ScOl ]), ili, ak, shell skriptovima kao to je Bourne shell
skript u UNIX-U. Treba da upoznate Common GateWay Interface (CGI), koji serveru omoguava
komunikaciju sa gateWay programom. Kada to uradite, deli Vas samo jedan mali korak od
sposobnosti za pisanje sopstvenih gateWay programa.
Postoje tri pitanja na koja je potrebno dati odgovore:
1. Kako gateWay program dobija informacije od klijenta?
2. Kako gateWay program obavlja svoj posao?
3. Kako gateWay program alje informacije nazad do klijenta?
Metod substring izvlai
karaktere izmeu indl
i ind2, a parselnt ih
konvertuje u numeriki
format
indl ind2
form.expr.value
* Metod get je nain da se poalju informacije do gateWay programa. Ahernative potraitc u nekom tekstu o HTML, ili CGl
programiranju.
SLIKA 12.15 Inlerfejs forme za pretraivaku mainu
Forme
Ogovor na prvo pitanje nalazi se u HTML formi. Na slici 12.15 prikazan je primer interfejsa z;
pretraivaku mainu koju emo simulirati. Sadri samo funkcionalne delove koji su neophodni z;
postavljanje zahteva za pretraivanje: neke jednostavne instrukcije, tekstualni okvir u koji se unosi
rei koje se trae, dugme za brisanje onoga to je uneto i dugme za iniciranje pretraivanja.
Na slici 12.16 prikazan je HTML kod koji generie ovu formu. Lii na HTML kod sa slike 12.11
osim to postoje dve "stvari" koje ranije nismo predstavljali. Prvo, tip "submit'Ti ulaznom tagi
izaziva prikazivanje dugmeta na formi. Klikom na to dugme forma i informacije koje su unete n;
nju prenose se serveru. Drugo, opcije u tagu <form> ukazuju na to kako se informacije prenosi
(method = "get")* i
<form method "get " act i on="ht t p: / / i csc. uWgb. edu/ ~shayW/ sear ch. cgi ">
Thi s form is used to si mul at e a search based on a course number. Enter a
course number in the space provi ded and a gateWay program Wi l l r et ur n a
l i nk to the matching course syl l abus. Enter the Word all and the program
Wi l l r et ur n l i nks t o a l l courses t o Which i t has access.
<BR><BR>
Search St r i ng <Input Type="Text" Name="srch" size=8>
<Input Type="submit" Value= "submi t">
<Input Type="reset">
</form>
SLIKA 12.16 HTML kod za formu sa slike 12.15
* Ovaj URL referencira gateWay program na autorovom sajtu i esto se menja. Pokuaje postavljanja sopstvenih gateWay pro-
grama mora da odobri personal zaduen za odravanje mree na eljenom sajtu.
URL izvrnog fajla koji predstavlja gateWay program (action ="http://icsc.uWgb.edu/search.cgi).*
Druga opcija ukazuje da je gateWay program fajl pod nazivom search.cgi smeten u
poddirektorijumu shayW na Red Hat Linux serveru.
Stringovi upita
Kada se informacije sa forme prenose do servera pomou metoda get, HTTP klijent prenosi
informacije u vidu stringa. String se sastoji od referenciranog URL-a i liste parova naziv/vrednost,
u obliku "naziv vrednost". Obino postoji po jedan par naziv/vrednost za svaku ulaznu stavku koja
se koristi za unoenje informacija. Naziv je definisan u HTML kodu, a vrednost je ono to
korisnik unese. Znak pitanja (?) razdvaja parove naziv/vrednost meusobno i od HRL-a.
Na primer, pretpostavimo da je korisnik u formi sa slike 12.15 uneo "266-351". HTTP klijent
alje string u obliku
http://icsc.uWgb.edu/-shayW/search.cgi?srch=266-351
Poto postoji samo jedno ulazno polje u koje se unose informacije, string sadri URL i samo
jedan par naziv/vrednost, srch= 266-351.
Poto opcija action naznaava gateWay program pod nazivom search.cgi, HTTP server prenosi string
do njega. GateWay program mora da pristupi tom stringu i da izvue neophodne informacije. Da bi
se to izvelo, CGI koristi promenljive okruenja koje su dostupne gateWay programu. Postoji
nekoliko razliitih promenljivih okruenja, ali za nas je trenutno bitna promenljiva QUERY_STRING.
Na slici 12.17 prikazan je gateWay program pisan u programskom jeziku C, koji trai ono to je
korisnik uneo u formu. Prouavanje gateWay programa pokazuje da je ovo samo ogranak koji je
dizajniran tako da obezbedi odgovor na dva osnovna pitanja:
1. Da li mogu da se dobiju tane informacije od promenljive okruenja?
2. Da li se odgovarajue informacije mogu vratiti do korisnika?
Primer pretraivake maine
Program sadri niz hard-kodiranih stmktura sa informacijama koje su pronadene (linije 1620).
Svaka struktura sadri broj kursa (na primer, "266-351"), LIRL i naziv kursa. Ovaj program izvlai
broj kursa iz promenljive okruenja QUERY_STRING (linija 26), trai niz sa podudarnim brojem
(linije 5663) i vraa klijentu i naziv kursa i URL. Preko vraenog URL-a korisnik dobija
referencu za selektovani kurs.
Na primer, ako je korisnik uneo "266-351", kao to je prikazano na slici 12.15, onda e vraeni
odziv izgledati kao na slici 12.18. Forma sa rezultatima pretraivanja prikazuje string koji je
korisnik uneo, a ispod njega daje link predstavljen nazivom kursa. Pomou ove forme korisnik
moe da klikne taj naziv da bi ispratio link. Imitirali smo sve to pretraivaka maina radi.
U naem gateWay prograrnu postoji nain za vraanje svih LIRL-ova ako korisnik unese string
"all" umesto broja kursa.
1 #include <string.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4
5 typeset struct {
6 char cnum[32];
7 char url[50];
8 char cname[32];
9 } entry;
10
11 void printheading(char * ) ;
12 void listmatches(entry [], char * ) ;
13
14 int main(int argc, char *argv[]) {
15
16 entry mystuff[25]=
17 { "266-350", "http://WWW.uWgb.edu/shayW/syll350.htm", "Numerical Analysis",
18 "266-351", "http://WWW.uWgb.edu/shayW/syll351.htm", "Data Structures",
19 "266-358", "http://WWW.uWgb.edu/shayW/syll358.htm", "Computer NetWorks",
20 "home", "http://WWW.uWgb.edu/shayW/", "My Home Page");
21
22 int i;
23 int status;
24 char * srchstring; // string za pretrazivanje koji se prenosi preko html forme
25
26 srchstring = getenv(QUERY_STRING"); // uzima string za pretrazivanje iz okruzenja
27 p r i n t h e a d i n g ( s r c h s t r i n g ) ;
28
29 i f ( s r c h s t r i n g = s t r c h r ( s r c h s t r i n g , ' = ' ) )
30 s r c hs t r i ng++;
31
32 l i s t mat c hes ( my s t uf f , s r c h s t r i n g ) ;
33 r et ur n 0;
34 }
35
36 void printheading(char * srchstring)
37 {
38 printf("Content-type; text/html\n\n");
39 printf("<html>\n");
40 printf("<body>\n");
41 printf("<center> <img src=http://icsc.uWgb.edu/-shayW/logo200.gif>\n");
42 printf("<h1>Search results<h1>\n");
43 }
44 void listmatches(entry mystuff[25], char * srchstring)
45 {
46 i n t i ;
47
48 i f ( s t r l e n ( s r c h s t r i n g ) == 0)
49 {
50 printf("No search string is specified\n");
51 exit(0);
52 }
53 printf("<H3>This is a list of links based on your search of</H3>");
54 printf("<h2>%s<h2></Center>\n\n\n", srchstring);
55
56 for (i=0;i<=3;i++)
57 {
58 if strstr(mystuff[i].cnum, srchstring |] strstr(srchstring, "all"))
59 {
60 p r i n t f ( " < i mg s r c =h t t p : / / i c s c . u Wg b . e d u / - s h a y W/ c o o l _ f l i . g i f >" ) ;
61 pr i nt f ( " <A href=%s> %s </A>\n<BR>", my s t u f f [ i ] . u r l , myst uf f [ i ] , cname) ;
62 }
63 }
64 printf("</body>\n");
65 printf("</html>\n");
66 }
SLIKA 12.17 C kod za CCI programiranje na strani seivera
SLIKA 12.18 Rezultati pretraivanja
Ovo je izvedeno da bi se testiralo da li gateWay program moe da vrati vie linkova.
Preostaje samo jo da opiemo kako gateWay program sa slike 12.17 generie rezultate koji su
prikazani na slici 12.18. Vei deo programa je jasan svima koji znaju C, tako da emo se fokusirati
samo na delove koji se tiu razmene informacija sa klijentom. Kao to je ranije istaknuto, gateWay
program prvo mora da pribavi string upita. To radi pomou naredbe iz linije 26:
sr chst r i ng = getenv("QUERY_STRING");
koja postavlja string u C promenljivu srchstring. U ovom primeru smo pretpostavili da forma
doputa samo jedno ulazno polje i da je korisnik uneo samo jednu frazu za pretraivanje (broj
kursa, ili re all). Ovo uproava logiku programa; ostavljamo Vam da vebate proirenje ovog
programa. Poto string za pretraivanje ima oblik
url?srch=fraza
program treba samo da locira "=" kako bi pronaao frazu koju mora da pronae. Koristi C funkciju
za rad sa stringovima strchr kako bi se locirala "=" i redefinisala promenljiva srchstring za
lociranje fraze (linije 29-30). Konano, poziva funkciju listmatches (linija 32), prenosei joj frazu.
Ova funkcija (linije 44-66) koristi standardno linearno pretraivanje niza kako bi se pronala
fraza i prikazali rezultati. Ipak, postoji jedna znaajna razlika. Normalno, naredba printf alje
izlaz do standardnog izlaznog uredaja. Kada se pokree iz komandne linije, obino se
podrazumeva da se rezultati prikazuju na ekranu. Kada se pokrene kao CGI program, izlaz se alje
od dokumenta koji e se interpretirati kao HTML dokument. Prouavanje ovih naredbi otkriva da
daju HTML kod.
Unutar petlje program trai podudarnost izmeu fraze i broja kurseva u svakom elementu niza
(linija 58). Kada se pronade poklapanje, naredba
pr i nt f ( " <A href=%s> %s </A>\n<BR>", myst uf f [ i J . u r l , myst uf f [ i ] . cname) ;
alje i URL i naziv pridruen odgovarajuem zapisu do HTML dokumenta. Primetiete da se
nalaze unutar uporinog taga. Kada se program zavri, HTTP server alje ovaj dokument nazad do
klijenta, gde se dokument prikazuje u skladu sa pravilima HTML-a. Kao rezultat, korisniku se
prikazuje odgovarajui naziv, koji predstavlja referencu na vraeni URL, koju korisnik moe sa
klikne. Pretraivanje je kompletno i korisnik moe da klikne taj naziv kako bi ispratio referencu.
Ako je korisnik uneo "all", umesto broja kursa, videe reference ka svim URL-ovima navedenim
u strukturi niza.
12.5 Perl programiranje: Sistem za naruivanje pice
Ovo poglavlje zavravamo jo jednim primerom koji prikazuje tipinu primenu CGI skriptova.
Ovoga puta koristimo programski jezik Pert i pokazujemo kako se postavlja program za
naruivanje pica zasnovan na Webu. Perl (Practical Extension and Report Language) se obino
pokree na UNIX, ili Linux sistemirna. Njegova sintaksa podsea na C, ali on se obino interpre-
tira, umesto da se kompajlira. Perl programi mogu da se pokreu iz UNIX shella, ili im se moe
pristupiti iz forme na Web stranici. Proces je isti kao kada je korien C program u prethodnom
odeljku. Jedina razlika je to URL naznaen u tagu forme navodi fajl Perl skripta, umesto kom-
pajliranog C programa.
Pretpostavljamo je da je OMalley's Pizzeria and Irish Pub postavila Web sajt koji omoguava
naaidvanje pica preko Interneta. Ovaj Web sajt sadri Perl skriptove koji obavljaju neke akcije na
strani servera. Ovi skriptovi kreiraju HTML dokumente koji se vraaju klijentu. Pretpostavljamo da
itaoci ve poznaju HTML, JavaScript, C, interakciju sa formama i opte principe klijent/server
raunarstva. Ovde neemo kompletno predstaviti Perlu, ali emo dati dovoljno informacija da bi se
objasnilo kako skriptovi funkcioniu. Dodatni materijal o Perlu moe da se pronade u referencama
[ScOl], [MeOl], i [GuOO].
* itaoci mogu da pokrenu ovaj primer i da pristupe kodu prcko Web sajta ove knjige na WWW.uWgb.edu/shayW/udcn3.
Perl skriptovi se pokreu na Linux serveru (Red Hat Linux verzija 7.3).
(
Ako eksperimentiele sa ovim primerom, u fajlu se nalaze sledei brojevi telefona: 111-2222, 333-4444, 555-6666 i 777-
8888.
SLIKA 12.19 Ulazna forma sa brojem telefona
Interakcija sa korisnikom
Kada se korisnik povee na Web sajt 0'Malley's Pizzeria and Irish Pub, mogua je sledea sekvenca
interakcija:*
1. Korisnik unosi svoj broj telefona u formu (slika 12.19).
2. Korisnik klikne dugme Order. Perl skript na serveru trai broj telefona u fajlu. Ako
skript ne pronae broj, od korisnika se trai da ponovo unese svoj broj telefona. Ako
se broj pronade, Perl skript kreira formu za verifikaciju korisnika, u kojoj prikazuje
informacije o korisniku (slika 12.20).'
3. Kada se prikae forma za verifikaciju, korisnik ima dve opcije. Moe da promeni svoje
informacije klikom na dugme Change. Ovo daje formu sa slike 12.21, u kojoj korisnik
moe da promeni svoje ime, ili adresu.
SLIKA12.20 Forma za verifikaciju korisnika
SLlKA12.21 Forma za auriranje informacija o korisniku
" Za one koji budu pristupali ovom Web sajtu napominjemo da smo onemoguili izvravanje promena u fajlu.
SLIKA 12.22 Forma za narudbine
Nakon toga, moe da klikne dugme Update kako bi promene bile zapamene u fajlu
na serveru*. Korisnik moe da klikne i dugme Order NoW sa slike 12.20, koje generie
formu za naaidbine sa slike 12.22.
4. Kada korisnik dode do forme za narudbine, moe da izabere veliinu pice, vrstu testa
i nadeve. Nakon toga, moe da klikne dugme Order NoW kako bi se narudbina
obradila.
5. Nakon to se narudbina obradi, korisnik vidi formu sa pregledom informacija,
prikazanu na slici 12.23, u kojoj su predstavljene informacije o korisniku i namenoj
pici. Osim toga, prikazuje ukupnu cenu i redni broj narudbine. Broj narudbine se
poveava za 1 nakon svake narudbine.
Ove forme i njihovi skriptovi implementiraju osnovnu funkdonalnost; sigurno je da mogu jo
vie da se kompletiraju funkcionalnosti i da se kreira robustan Web sajt. Vebe na kraju ovog
poglavlja koristite kao sugestije za neka poboljanja, ali najpre treba da razumete kako skriptovi
izvravaju eljene zadatke.
SLIKA 12.23 Forma za pregled informacija
Verifikovanje broja telefona
Znaajno je da u potpunosti razumete ranije opisane korisnike interakcije pre nego to predemo
na Perl skriptove koji ih implementiraju. Ako to jo uvek ne razumete, preporuujemo da
pristupite ranije navedenom Web sajtu i eksperimentiite sa primerom. Pretpostavimo da
korisnik unese broj telefona 111-2222 u formu sa slike 12.19. HTML dokument (index.html u
direktorijumu 0'Malley picerije) koji kreira ovu formu sadri elemente sline onima u formi iz
prethodne sekcije, pa ih ovde ih neemo ponavljati. Medutim, kada korisnik klikne dugme Order,
forma poziva CGI skript pod nazivom verify.cgi preko URL-a slinog sledeem:
http://i csc.uWgb.edu/~pi zza/veri fy.cgi ?phonenum1=111&phonenum2 = 2222
Znaajne "stvari" su parovi naziv/vrednost koji predstavljaju podatke iz ulazne forme. Slika 12.24
sadri Perl skript verifyxgi koji pristupa parovima naziv/vrednost i reaguje na njih. Obratite
panju da postoje neke znaajne, ali neznatne aktivnosti koje se ovde deavaju; paljivo
proitajte njihova objanjenja. Perl skript se pokree na serveru i pretrauje fajl na njemu kako bi
utvrdio da li postoji broj telefona koji je korisnik uneo. On ujedno kreira HTML formu u
zavisnosti od rezultata pretraivanja.
1 #!/usr/bin/perl -W
2 use CGI qW(:standard);
3 useCGI::Carp "fatalsToBroWser";
4 # Ovaj cgi skript vrsi validaciju podataka poslatih serveru i kreira forme,
5 # u zavisnosti od prenetih podataka., za klijentovog korisnika
6
7 Sphonel = param("phonenuml");
8 $phone2 = param("phonenum2");
9 $phone = $phone1.$phone2;
18 $address = "";
11 $name = "";
12
13 p r i n t header, s t ar t _ht ml ( " Pi z z a or der i ng syst em" ) ,
14 "<h1 al i gn=cent er > <Font color=RED> 0' Mal l ey' s Pi zzer i a and I r i s h Pub", hr ,
15 "</ f ont ></ h1><i mg SRC=\ " pi zza. j pg\ " a l i g n =l e f t Width=200 dept h=200></ i mg>";
16
17 p r i n t END_of __t ext ;
18
19 <script language="JavaScript">
20
22 // Poziva cgi skript za verifikaciju validnosti brojeva
23 // telefona unetih na formi.
25 function reverify(form)
26 {
27 var url; // lokacija cgi skripta za verifikovanje podataka
28
29 url = "verify.cgi?phonenum1="+form.phone1.value+
30 "&phonenum2="+form.phone2.value;
31 WindoW.location.href=url;
32 }
33
35 // metod izvlaci informacije o korisniku iz forme
36 // i referencira url koji korisniku omogucava da unese nove
37 / / i n f o r ma c i j e .
39 f unc t i on edi t For m( f or m)
40 {
41 var url; // url za cgi program za unosenje novih podataka
42
43 url = "reenter.cgi?namepar=" + form.name.value;
44 url = url + "&addresspar=" + form.address.value;
45 WindoW.loaction.href=url + "&phonenum1=&phone1&phonenum2=&phone2"
46 } // editForm
47
49 // metod izvlaci informacije o korisniku iz forme
50 // i referencira url koji korisniku omogucava da naruci picu
52 function placeOrder(form)
53 {
54 var url; // url za cgi program za postavljanje narudzbine
55
56 url = "order.cgi?namepar=" + form.name.value;
57 url = url + "&addresspar=" + form.address.value;
58 WindoW.loaction.href=url + "&phonenum1=&phone1&phonenum2=&phone2"
59 } //plaoeOrder
60
61 </script>
62 END_of_text
63
64 # Ovde pocinje izvrsenje
65 # Ako se podaoi nalaze u oba polja za broj telefona, trazi se broj telefona
66 if ($phone1 && $phone2)
67 {
68 search();
69 }
70 else # jedno, ili oba polja za broj telefona su prazna
71 {
72 createInputForm('Please enter all required fields.
1
);
73 }
74
y c J j * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
76 # Poziva se kada korisnik nije uneo brojeve u oba
77 # polja za broj telefona, ili ako uneti broj telefona
78 # ne odgovara ni jednom broju iz baze podataka. Ovaj metod kreira formu
79 # sa porukom koja ukazuje na slucaj koji se desio, prikazujuci
80 # zvezdicu pored svakog polja koje je ostavljeno prazno.
81 # Forma takodje omogucava klijentovom korisniku da ponovo unese broj telefona.
QO #**********************************************************************/
83 sub createlnputForm
84 {
85 print '<form inethod="get" ACTION="index.html">',
86 p("$_[0] Enter your phone number beloW"),
87 'PHONE NUMBER:';
88 if($phone1 == "")
89 {
90 print font( {color=>RED}, " * " ) ;
91 }
92 print "<input NAME='phonel' VALUE='$phone1' size=3 maxlength=3>-";
93 if($phone2 == "")
94 {
95 print font( {color=>RED}, " * " ) ;
96 }
97 print END_of_text;
98
99 <input NAME='phone2' VALUE='$phone2' size=4 maxlength=4><p>
100 <input type="button" value="Order" onclick="reverify(this.form)">
101 <input type="subrait" value="Reset">
102 end_form()
103 </body>
104 </html>
105
106 END_of_text
107 } # createlnputForm
108
10g w************************************************************
110 # Pretrazivanje fajla, trazenje poklapanja sa brojem
111 # telefona.
112 #************************************************************/
113 sub search
114 {
115 $found = 0;
116
117 open(CUSTFILE, "<cutomers.txt");
118 @data = <CUSTFILE>;
119 $i = 0;
120 While ((Si<$#data) && ($found==0))
121 {
122 if($phone == $data[$i]
123 {
124 $name = Sdata[$i+1];
125 Saddress = $data[$i+2];
126 $found = 1;
127 } #if
128 $i=$i+3
129 } # za petlju
130 close (CUSTFILE);
131
132 if($found==0)
133 {
134 createInputForm('The number you entered Was not found in the database.');
135 }
136 Else
137 {
138 createSummaryForm();
139 }
140 } # search
141
142 a***********************************************************************
143 # Ovaj metod kreira formu, koristeci korisnikove informacije koje
144 # su pronadjene u fajlu na serveru. Forma omogucava klijentovom
145 # korisniku da selektuje dugme za promenu svojih informaci]a, ili
146 # drugo dugme za nastavak postavljanja narudzbine.
147 a***********************************************************************/
148 sub createSummaryForm
149 {
150 print END__of_text;
151
152 <p> Your name is: <font color=BLUE> Sname </font>
153 <p> You live at: <font color=BLUE> Saddress </font>
154 <p> Your telephone number is: <font color=BLUE> Sphonel-Sphone2 </font>
155 <FORM method="get">
156 <p><p><p> If the folloWing information is correct, click on the
157 <font color=RED> Order NoW </font> button, otherWise click
158 on the <font color=RED> Change </font> button and enter
159 your correct information <p><hr>
160 <input type=hidden NAME=name value="$name">
161 <input type=hidden NAME=address value="$address">
162 <input type=hidden NAME=phone1 value="$phone1">
163 <input type=hidden NAME=phone2 value="$phone2">
164 <input type=button value="Change" onclick=editForm(this.form)>
165 <input type=button value="Grder NoW" onclick=placeOrder(this.form)>
166 </form>
167 </body>
168 </html>
169 END_of_text
170 } # createSummaryForm
SLIKA12.24 CGI skript (verify.cgi) za verifikovanje podataka sa forme
Ta forma sadri JavaScript (JS) skript koji se pokree na klijentu kada korisnik klikne drugo
dugme. Dakle, Perl skript izvrava ne samo pretraivanje fajla na serveru, vei kreira forme koje
se prikazuju u korisnikovom pretraivau. Osim toga, kreira JS skript koji pretraiva izvrava kao
odziv na korisnikove akcije. Nepovoljno je to to se koristi skript (Perl) za generisanje drugog
skripta (JavaScript) koji e biti daljinski izvren. Vano je da se prati koji se skript gde izvrava.
Linije 1 do 3 su tipini Perl CGI skriptovi. Linija 1 definie lokaciju Perl interpretatora, a linije 2
i 3 su sline naredbama #include iz programskog jezika C. One Perl skriptu omoguavaju
pristup odredenim promenljivim i funkcijama koje olakavaju CGI programiranje i pomau
reavanje problema ako se Perl skript prekine zbog bilo kog razloga. Za nae potrebe samo ih
ukljuujemo, ali pogledajte reference za vie detalja o tome. Linije 7 do Il deklariu nae Perl
promenljive. Linije 7 do 8 obezbeduju inicijalne vrednosti uzete iz ranije prikazanog stringa
upita, linija 9 nadovezuje inicijalne vrednosti u jedan string, a linije 10 do Il inicijalizuju sve
stringove adresa i imena na prazne stringove.
Linije 13 do 62 kreiraju HTML i JS skript koji e biti poslat nazad do korisnikovog pretraivaa.
One definiu ta e korisnik videti i kako e pretraiva reagovati na klik na dugme. Perl kreira
HTML dokumente slino kao to to rade C programi iz prethodne sekcije - koristi komandu
print. Ako se ovaj skript pokrene iz Linuxove komandne linije, komande print e prikazati
podatke na ekranu. Pokretanjem iz HTML forme izlaz iz naredbi print ide nazad do pretraivaa.
Nakon toga, pretraiva interpretira izlaz na isti nain kao to interpretira bilo koji HTML
dokument.
Linija 13 referencira makroe koji se razvijaju u HTML naredbe. Na primer, komanda print
header daje
Content-Type: text/html
A pr i nt st ar t j r t ml ("Pizza order system") daje
<HTML> <HEAD> <TlTLE>Pizza ordering
system</TiTLE> </HEAD> <BODY>
Linija 13 tampa oboje sa jednorn naredbom print. Ideja je da se grupiu neki uobiajeni HTML
tagovi i da se defmie makro za njih. Ovim se redukuje koliina linija koje je neophodno
otkucati. Linije 14 i 15 daju vie HTML tagova.
Linija 17 se koristi kada Perl skript mora da odtampa vei broj linija u HTML dokumentu.
Umesto da postoji komanda print u svim linijama, ta linija ukazuje Perl interpretatoru da treba
da ih tretira kao sukcesivne linije izlaza sve dok ne dode do one u kojoj postoji indikator
END_of_text (Hnija 62). Napomenimo da Perl zahteva da linija nakon komande print bude
prazna i indikator END_of_text mora da pone u prvoj koloni.
Sve od linije 19 do 61 je JavaScript i daje izlaz za HTML dokument koji Perl skript kreira. Postoje
tri JS funkcije, koje odgovaraju pojedinanim hendlerima dogaaja OnClick. U svakom sluaju,
JS funkcija formira IJRL u kome se nalazi naziv CGI skripta, iza koga sledi string upita sa parovi-
ma naziv/vrednost generisanim na osnovu podataka sa forme. Nakon toga, pretraiva poziva taj
CGI skript i prosleduje string upita kada korisnik klikne dugme pridrueno hendleru dogadaja.
llskoro ete videti i primer.
Perl skript zapoinje analiziranje informacija izvuenih iz stringa upita
Phonenuml = 111&phonenum2=2222
u liniji 66, Pretpostavimo najpre da korisnik nije uneo informacije u jedno, ili u oba polja sa slike
12.19. U tom sluaju jena, ili obe promenljive $phone1 i $phone2 su prazni stringovi i naredba
if u liniji 66 vraa FALSE. Tada skript poziva Perl funkciju za kreiranje nove ulazne forme (linije
83-107). Ta funkcija veim delom sadri naredbe print za kreiranje HTML dokumenta u kome
se nalazi forma skoro identina onoj sa slike 12.19. Medutim, postoji jedna razlika.
Tipian odziv mnogih skriptova u situacijama kada korisnik ne popuni sva tekstualna polja na
formi je obezbedivanje neke vrste oznake pored polja koje korisnik nije popunio. U ovom
sluaju, ako je promenljiva Sphonel bila prazan string (linija 88), skript e na formi odtampati
crvenu zvezdicu pored prvog polja za broj telefona (linije 90-92). Skript nastavlja na slian nain
i za promenljivu $phone2 (linije 93-96). Kada se ova funkcija zavri, Perl skript je kompletiran i
u korisnikovom pretraivau se prikazuje nova forma. Korisnik dobija novu ansu da unese
ispravan broj telefona. Ako klikne dugme Order (definisano u liniji 100), poziva se JS funkcija
reverify (linije 25-32); sada se vracamo na stranu klijenta. Ova funkcija formira LlRL koji
poziva skript pod nazivom verify.cgi i prosleduje vrednosti Sphonel i $phone2. Poto je skript sa
slike 12.24 u stvari skript verify.cgi, server iznova startuje ceo proces.
Pretpostavimo sada da je korisnik uneo broj telefona u formu sa slike 12.19. Naredba if iz
linije 66 vraa TRLIE i skript poziva Perl funkciju search za utvrdivanje da li broj telefona
postoji u fajlu na serveru (linije 113-140). Linija 117 otvara fajl pod nazivom customers.txt.
Karakter "<" pre naziva fajla ukazuje da se fajl otvara radi itanja. Linija 118 uitava ceo fajl u niz
stringova*, gde svaka linija odgovara jednom stringu u nizu. Ako je fajl veoma veliki, ovo moe
da stvori neke probleme, ali mi smo za na primer koristili krai fajl i moemo bez problema da
iskoristimo ovaj pristup. Takode smo redukovali koliinu predstavljenih detalja, zato to smo vie
zainteresovani za to kako Perl reaguje na klijentove zahteve. U ovom sluaju svaki element niza
data sadri jednu liniju iz fajla. U ovom primeru u prve tri linije se nalaze broj telefona, ime
korisnika i adresa korisnika. Sledee tri linije sadre iste informacije za drugog korisnika. Svaki
skup od tri linije sadri broj telefona, ime i adresu sledeeg korisnika.
Zato petlja definisana linijama 119 do 129 poredi $data[0], $data[3], $data[6] i tako dalje sa
unetim brojem telefona, traei poklapanje. Ako se pronade poklapanje, linije 124 i 125 definiu
ime i adresu korisnika, a linija 126 postavlja promenljivu Sfound na I. Time se usloviz linije 120
postavlja na FALSE i petlja se zaustavlja.
* Simbol @ iz linije 118 je Perl oznaka promenljive niza. Individualni elemenli niza predstavljaju se pomocu simbola S.
Ako skript ne pronade poklapanje, onda se subskript i inkrementira na veu vrednost od veliine
niza naznaene promenljivom $#data iz linije 120. U ovom sluaju uslov iz linije 120 postaje
FALSE.
Kada se petlja zavri, fajl se zatvara. Sledei korak zavisi od toga da li je broj telefona pronaen.
Ako nije pronaen, skript poziva Perl funkciju iz linije 134 koja kreira novu ulaznu formu. Ovo
je ista akcija koja se preduzima ako je korisnik ostavio neko tekstualno polje sa slike 12.19
prazno. Ako je broj pronaden, skript poziva Perl funkciju za kreiranje forme za rezimiranje
(linije 148-170) sline onoj sa slike 12.20.
Auriranje informacija o korisniku
Nakon prikazivanja forme sa slike 12.20, korisnik ima dve opcije: auriranje svojih informacija,
ili postavljanje narudbine. Ako korisnik klikne dugme Change (definisano u liniji 164 na slici
12.24), pretraiva poziva JS funkciju editForm (linije 39-46 na slici 12.24). Ta funkcija formira
URL string u kome se nalazi CGI skript pod nazivom reenter.cgi. URL je slian sledeem:
http://icsc.uWgb.edu/~pizza/reenter.cgi7namepar= Jonathan%20P. %20Doe&
addresspar= 456%20Main%20Street&phonenuml=l 1 l&phonenum2=2222
Perl skript (reenter.cgi) kreira formu sa slike 12.21 i alje je nazad do korisnikovog pretraivaa.
Na slici 12.25 prikazan je sadraj skripta reenter.cgi. Ovo je prilino sloen skript koji izvlai
podatke o korisniku iz stringa upita (linije 3-6) i prikazuje ih. Takoe defmie JS funkciju za
svako dugme. Dugme Clear (linija 51) odgovara funkciji clearForm (linije 14-18), koja brie
tekstualna polja. Dugme Return (linija 52) odgovara funkciji goback (linije 20-26), koja formira
URL koji referencira skript verify.cgi.
Meutim, pretpostavimo da korisnik promeni tekstualna polja i da klikne dugme Update (linija
50), ime se aktivira JS funkcija update (linije 28-34) i formira se URL slian sledeem
http://icsc.uWgb.edu/-pizza/update.cgi?namepar=Jonathan%20Q.%20Doe&
addresspar= 456%20Main%20Street&phonenuml=lll&phonenum2=2222
Na slici 12.26 prikazan je CGI skript update.cgi. On poziva dve Perl funkcije iz linija 11 i 12.
Funkcija makeform (linije 14-36) kreira jednostavnu formu (nije prikazana) koja samo istie da
su izvrene promene i ukljuuje dugme OK koje, u stvari, ponovo prikazuje formu sa slike 12.20
u korisnikovom pretraivau. Funldja update (linije 38-60) aurira informacije o korisniku u
tekstualnom fajlu na serveru. Uitava sadraj fajla u niz stringova, locira odgovarajueg
korisnika, izvodi promene i upisuje rezultate nazad u fajl. Sofisticiraniji pristup podrazumeva rad
sa bazom podataka, ali to bi vezahtevalo opirnija objanjenja.
Linije 40-43 inicijalizuju promenljive, otvaraju fajl i uitavaju njegov sadraj u niz stringova.
Opcija die u liniji 41 omoguava prikazivanje definisane poruke u pretraivau ako fajl ne moe
da se otvori. Pretraivanje niza stringova je slino ranije opisanom pretraivanju. Razlika je u
tome to se podaci pronadeni na lokacijama $data[$i], onda $data[$i+1] i $data[$i+2]
menjaju u skladu sa novim imenom i adresom iz stringa upita.
1 #!/usr/bin/perl -W
2 use CGI qW(:standard);
3 my $name = param("namepar");
4 my Saddress = param("addresspar");
5 my $phone1 = param("phonenuml");
6 my $phone2 = param("phonenum2");
7
8 print header, start_html("Pizza ordering page"),
9 print "<h1 align=center> <Font color=RED> 0'Malley's Pizzeria and Irish Pub";
10 print "</font></h1><img SRC=N"pizza.jpgV' align=left Width=200 depth=200>";
11 print END_of_text;
12
13 <script language="JavaScript">
14 function clearForm(form)
15 {
16 form.name.value="";
17 fomr.address.value="";
18 }
19
20 function goback(form)
21 {
22 var url;
23 url = "verify.cgi?namepar="+ form.name.value;
24 url = url + "Saddresspar=" + form.address.value;
25 + "&phonenum1=&phone1&phonenum2=&phone2"
26 }
27
28 function update(form)
29 {
30 var url;
31 url = "update.cgi?namepar="+ form.name.value;
32 url = url + "Saddresspar=" + form.address.value;
33 WindoW.loaction.href=url + "&phonenum1=&phone1&phonenum2=&phone2"
34 }
35
36 </script>
37 END_of_text
38
39 CreateEditForm();
40
41 sub createEditForm
42 {
43 print END_of_text;
44
45 <form method="get" ACTION="update.cgi">
46 <p>Please change the name and/or address as shoWn beloW </p>
47 <p>PH0NE NUMBER: $phone1-$phone2
48 <p>NAME: <input NAME="name" VALUE="Sname" </p>
49 <p>ADDRESS: <input NAME="address" VALUE="$address" size="20"> </p>
50 <p><input TYPE="button" Value="Update" onclick="update(this.form)">
51 <input TYPE="button" Value="clear" onclick="clearForm(this.form)">
52 <input TYPE="button" Value="Return" onclick="goback(this.form)">
53 END_of_text
54 print end_form();
55 }
SLIKA12.25 CGl skript (reenter.cgi) koji kreira formu sa slike 12.21
1 #!/usr/bin/perl -W
2 use CGI qW(:standard);
3 use CGI::Carp "fatalsToBroWser";
4
5 my $name = param("namepar");
6 my Saddress = param( "addresspar");
7 my $phone1 = param("phonenuml");
8 my $phone2 = paramf"phonenum2");
9
10
11 update();
12 makeform();
13
14 sub makeform
15 {
16 print header, start_html("Pizza ordering system"),
17 "<h1 align=CENTER> <font color=RED> 0'Malley's Pizzeria and Irish Pub";
18 "</font></h1><hr>";
19 "<form method='get' ACTION='verify.cgi'>",
20 "<input type='hidden' NAME='namepar' value=$name>",
21 "<input type='hidden ' NAME='addresspar' value=$address>",
22 "<input type='hidden' NAME='phonenuml' value=$phone1>",
23 "<input type='hidden' NAME='ptionenum2' value=$phone2>",
24 "<table border=0> <tr>",
25 "<td>",
26 " </ f ont x/ h1><i mg SRC=\ "pi zza. j pg\ " align=CENTER Width=200 depth=200>";
27 "</td>",
28 "<td>",
29 "Information has been updated. Click on OK to return",
30 "<input type='submit' value='0K'>",
31 "</td>",
32 end_form();
33 "</body>",
34 "</html>",
35 end_html;
36 }
37
38 sub update
39 {
40 Sfound = 0;
41 open (CUSTFILE, "<customer.txt") |j die "Cannot read from file\n";
42 @data <CUSTFILE>;
43 $i = 0;
44 While (($i<$#data) && ($found==0))
45 {
46 if($phone == $data[$i]
47 {
48 $data[$i+1]=$name."\n";
49 $data[$i+2]=$addness."\n";
50 $found = 1;
51 } # if
52 $i=$i+3;
53 } # za petlju
54 close (CUSTFILE);
55 # obezbedjivanje da fajl ima pravo upisa, koristi se komanda chmod ako je potrebno
56 open (CUSTFILE, ">customers.txt") || die "cannot open file for Write\n;
57 flock(CUSTFILE, 2);
58 print CUSTFILE data;
59 close (CUSTFILE);
60 }
SLIKA12.26 CCl skript (update.cgi) za auriranje fajla o korisnicima
Sledei korak je smetanje novih podataka u fajl. Da bi se to uradilo, skript zatvara fajl (linija 54)
i ponovo ga otvara (linija 56). Medulim, ovoga puta prisustvo karaktera ">" ukazuje da je fajl
olvoren radi upisa. Linija 57 zahteva vri zakljuavanje fajla. Ovo znai da dok je tekui skript
zakljuan, ni jedan drugi skript nee moi da dobije pravo na zakljuavanje. Zakljuavanje fajla
spreava dva korisnika da istovremeno pokuaju da auriraju fajl. Preostale dve linije upisuju niz
stringova nazad u faj] i zatvaraju ga.
Postavljanje narudbine
Uz pretpostavku da je korisnik zadovoljan informacijama sa slike 12.20, moe da postavi
konanu narudbinu klikom na dugme Order NoW na toj formi. Na taj nain, poziva CGI skript
pod nazivom order.cgi preko URL-a slinog sledeem:
http://icsc.uWgb.edu/~pJzza/order.cgi?namepar=Jonathan%20Q.%20Doe&
addresspar=456%20Main%20Street&phonenuml=l 1 l&phonenum2=2222
Ovaj skript (slika 12.27) pristupa informacijama o korisniku iz stringa upita (linije 5-8) i poziva
Peri funkciju (linije 20-40) za prikazivanje forme sa slike 12.22. Nakon toga, prikazuje opcije za
naruivanje u vidu pop-up menija (linije 56-57), radio dugmadi (linije 58-61) i polja za potvrdu
(linije 62-68). Forma definie i CGI skript checkout.cgi (linija 49) za akciju koja se preduzima
kada korisnik klilcne dusme Order NoW.
1 #!/usr/bin/perl -W
2 use CGI qW(:standard) ;
3 use CGI::Carp "fatalsToBroWser";
4
5 $name = param("namepar");
6 Saddress = param("addresspar");
7 $phone1 = param("phonenuml");
8 $phone2 = param("phonenum2");
9
10 displayCustomerData();
11 displayOrderForm();
12
13 print end_html;
14
H C J J * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
16 # Prikazivanje forme sa podacima o korisniku koja omogucava
17 # proveru korisnikovog imena, adrese i broja
18 # telefona
I Q J J * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
20 sub displayCustomerData
21 {
22 print header, start_html("Pizza ordering system");
23 print END_of_text;
24
25 <h1 align=CENTER> <font color=RED> 0'Malley's Pizzeria and Irish PUb
26 </font></h1>
27 <table border=0 Width=100%> <tr>
28 <td Width=33%>
29 </font></h1><img SRC=\"pizza.jpg\" align=CENTER Width=200 depth=200>
30 </td>
31 <td Width=67%>
32 <p> Your name is: <font color=BLUE> $name </font>
33 <p> You live at: <font color=BLUE> $address </font>
34 <p> Your telephone number is: <font color-=BLUE> $phone1-$phone2 </font>
35
36 </td> </tr> </table>
37
38 <hr>
39 END_of_text;
40 }
41
A ^ J J * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
43 # Prikazivanje forme za narudzbine koja korisnku omogucava da
44 # izabere velicinu pice, testo i nadeve i da preda
45 # narudzbinu
4 6 j j * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
47 sub displayOrderForm
48 {
49 print ('<F0RM method="get" ACTION='checkout.cgi">';
50 print p, "When you are ready to order, click on the",
51 font( {color=>RED}, "Order NoW"), "button, otherWise click",
52 "on the", font( {color=>RED}, "Clear"), "button and enter",
53 "your correct information again", p;
54 print start_form();
55 print p, font( {size=>4}
1
"Size of pizza: " ) ;
56 print "\$8.00 (small); \$9.00 (medium); \$10.00 (large)",
57 popup_menu (sizepar,('small', 'medium', 'large']),
58 print p, font( {size=>4}, "Style of Crust: " ) ;
59 print "<input Type='radio' Name='crustpar' value='1' checked> thin";
60 print "<input Type='radio' Name='orustpar' value='2' > tr-aditional";
61 print "<input Type='radio' Name='crustpar' value='3' > deep dish<P>";
62 print p, font( {size=>4}, "Select your ingredients: " ) ;
63 print "<input Type='checkbox' Name='Pepperoni' value='ON'> pepperoni";
64 print "\$1.00";
65 print "<input Type='checkbox' Name='Mushrooms' value='ON'> mushrooms";
66 print "\$0.75";
67 print "<input Type='checkbox' Name='Green peppers' value='ON'> green peppers";
68 print "\$0.50";
69 print hr;
70 print "<input type=\"hidden\" NAME=namepar value=\"$name\">";
71 print "<input type=\"hidden\" NAME=addresspan value=\"$address\">";
72 print "<input type=\"hidden\" NAME=phonenum1 value=\"$phone1\">";
73 print "<input type=\"hidden\" NAME=phonenum2 value=\"$phone2\ ">";
74 print "<input type="reset" value="Clear">');
75 print "<input type="submit" value="Order NoW">');
76 print end_form();
77 }
SLIKA 12.27 CCI skript (order.cgi) za naruivanje pice
Verifikovanje narudbine
Pretpostavimo da korisnik izabere veliinu pice, vrstu testa i sastojke (slika 12.22), pa klikne
dugme Order NoW. Pretraiva poziva skript checkout.cgi preko URL-a slinog sledeem:
http://icsc.uWgb.edu/~pizza/checkout.cgi?sizepar=medium&crustpar=l&
Pepperoni=ON&Mushrooms=ON<&namepar=Jonathan+Q.+Doe&
addresspar=456+Main+Street&phonenuml=lll&tphonenum2=2222
Primeujete da, osim uobiajenih informacija o korisniku, string upita sadri i
sizepar=medium&crustpar= 1 &Pepperoni=ON&Mushrooms=ON
ime se definie ta je korisnik selektovao na slici 12.22. Skript checkout.cgi sa slike 12.28
pristupa ovim informacijama, izraunava cenu pice i kreira formu slinu onoj na slici 12.23 kako
bi bila potvrena korisnikova narudbina i prikazana cena.
Linije 4 do 13 izvlae informacije iz stringa upita. Perl skript generie redni broj narudbine sa
slike 12.23, koristei broja koji se pamti u tekstualnom fajlu na serveru. Koristi se isti koncept
kao i na mnogim Web sajtovima kada vidite poruku kao to je
You are visitor number ######
koja prati broj posetilaca sajta u jednom tekstualnom fajlu. Funkcija update-Counter, definisana
u linijama 25 do 35, pokazuje kako se to izvodi. Linije 27 do 30 otvaraju fajl radi itanja i upisa,
zakljuava fajl (kako bi se spredlo postavljanje namdbina sa istim brojem od dva korisnika),
uitava redni broj narudbine u promenljivu $ordernumber i uveava njenu vrednost za 1.
Preostale linije repozicioniraju pokaziva fajla na poetak fajla (tako da se novi podaci ne
dodaju na postojee), upisuju novi broja u fajl i zatvaraju fajl.
Linije 42 do 107 Perl funkcije utvrduju ta je korisnik naruio, izraunavaju cenu i prikazuju
informacije za korisnika u formi za rezimiranje sa slike 12.23. Prvo to funkcija obavlja nakon
generisanja nekog izlaza je utvrivanje vrste testa (linije 59-70). Poto to ne utie na cenu, sve to
skript treba da uradi je da definie string promenljivu $Style koja se koristi za izlaz forme. Ova
promenljiva zavisi od Scrust, vrednosti koja je uzeta iz stringa upita u liniji 8. Poto korisnik bira
vrstu testa selektovanjem jednog radio dugmeta, vrednost crustpar u stringu upita je 1, 2, ili 3,
u zavisnosti od toga koje je radio dugme korisnik selektovao. U ovom sluaju korisnik bira tanko
testo (prvo radio dugme) i prethodno navedeni string upita sadri "crustpar=1". Biranjem
opcije traditional, ili deep dish, vrednost crustpar bi bila 2, ili 3.
Nakon toga, skript mora da utvrdi koje je veliine pica koju je korisnik naruio. Promenljiva
$size je utvrdena iz stringa upita iz linije 9. Njena vrednost je jednaka stringu u pop-up meniju
koji je korisnik izabrao. U naem sluaju korisnik je hteo picu srednje veliine (medium), tako
da je vrednost pridruena sa sizepar i, samim tim, $size je "medium". Linije 71 do 82
izraunavaju osnovnu cenu na osnovu izabrane veliine.
Konano, skript mora da utvrdi nadeve. U ovom sluaju oni su predstavljeni poljima za potvrdu
i njihovi pridrueni parametri imaju vrednost ON, ili OFF.
1 #!/usr/bin/perl -W
2 use CGI qW(:standard);
3
4 $name = param("namepar");
5 $address = param("addresspar");
6 Sphonel = param("phonenuml");
7 $phone2 = param("phonenum2") ;
8 Scrust = param("crustpar");
9 $size = param("sizepar");
10
11 $topping1 = paramf"Mushrooms");
12 $topping2 = param("Green peppers");
13 $topping3 = param("Pepperoni");
14
15 $cost = 0;
16 $ordernumber = 0;
17
18 updateCounter();
19 displayCustomerOrder();
20
Q l W * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
22 # Metod azurira i prikazuje brojac koji definise
23 # broj posetilaca koji su narucivali pice
25 sub updateCounter
26 {
27 open (FILE, "+<counter.txt")| jdie "Cannot read from the counter file.\n";
28 flock (FILE, 2);
29 Sordernumber=<FILE>;
30 $ordernumber=$ordernumber+1;
31 seek (FILE, 0, 0);
32 print FILE Sordernumber;
33 flock (FILE, 8);
34 close (FILE)
35 } #updateCounter
36
38 # Prikazivanje forme za narudzbine koja korisnku omogucava da
39 # izabere velicinu pice, testo i nadeve i da preda
40 # narudzbinu
Aj W * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
42 sub displayCustomerCounter
43 {
44 print header, start_html("Pizza ordering system");
45 print END_of_text;
46
47 <h1 align=CENTER> <font color=RED> 0'Malley's Pizzeria and Irish Pub
48 </font></h1><hr>
49 <table border=0> <tr>
50 <td Widtb=40%>
51 </font></h1><img SRC="pizza.jpg" align=CENTER Width=200 depth=200>
52 </td>
53 <td>
54 <p> Your name is: <font color=BLUE> $name </font>
55 <p> You live at: <font color=BLUE> $address </font>
56 <p> Your telephone number is: <font color=BLUE> $phone1-$phone2 </font>
57
58 END_of_text
59 if ($crust == 1)
60 {
61 $style = "thin";
62 }
63 if ($crust == 2)
64 {
65 Sstyle = "traditional";
66 }
67 if ($crust == 3)
68 {
69 Sstyle = "deep dish";
70 }
71 if ($size eq "small")
72 {
73 $cost = $cost + 8.00;
74 }
75 if (Ssize eq "medium")
76 {
77 Scost = Scost + 9.00;
78 }
79 if ($size eq "large")
80 {
81 Scost = Scost + 10.00;
82 }
83 print "<p> You ordered a <font color=BLUE> Ssize </font>
84 pizza With <font color=BLUE> $Style </font> crust
85 topped With Cheese";
86 if ($topping1 eq "ON")
87 {
88 print "and <font color=BLUE> Mushrooms </font>";
89 $cost = $cost + 0.75;
90 }
91 if ($topping2 eq "ON")
92 {
93 print "and <font color=BLUE> Green Pappers </font>";
94 $cost = Scost + 0.50;
95 }
96 if ($topping1 eq "ON")
97 {
98 print "and <font color=BLUE> Pepperoni </font>";
99 $cost = Scost + 1.00;
100 }
101
102 print p, "Your cost comes to \$$cost </td> </tr> </table>";
103 print end_html;
104 print hr, "<h4 align=CENTER>
105 Thank you for ordering, your order number is:
106 <font color = BLUE size = 4> Sordernumber </font> </h4>";
107 }
108
109
110
111
SLlKA !2.28 Skript checkout.cgi
Vrednost ON znai da je korisnik selektovao polje za potvrdu. U ovom sluaju korisnik je
selektovao dva nadeva: pepperoni i mushrooms. Zbog toga, string upita sadri komponentu
Pepperoni=ON&Mushrooms=ON
Skript izvlai vrednosti ON/OFF iz stringa upita u linijama 11 do 13 i ispituje te vrednosti u
linijama 86 do 100. Llvek kada pronade vrednost ON, uveava cenu i tampa (na formi) string
koji predstavlja izabrani nadev.
Linije 102 do 106 zavravaju prikaz predstavljanjem ukupne cene, broja narudbine i poruke
zahvalnosti, sa nadom da e korisnik i ubudue naruivati.
12.6 Zakljuak
Ovo pogiavlje se fokusirano na razvoj aplikacija koje se oslanjaju na Internet protokole. Sve su
bile zasnovane na klijent/server modelu, ali u razliitim kontekstima, tipu interakcije izmeu kli-
jenta i servera i korienim alatkama. Odeljak 12.2 je fokusiran na soket programiranje i razvoj
programa na strani klijenta i servera koji omoguavaju transfer fajlova. Sledi pregled nekih
znaajnijih koncepata iz tog odeljka:
Soket omoguava programu da se povee na mreu, radi slanja, ili prijema podataka.
Klijent moe da se povee na program na serveru naznaavanjem njegove IP adrese i
broja porta u okvim odgovarajuih soket komandi.
Klijent i server su obino saglasni o formatu paketa za razmenu podataka. Kada se
dogovore i soketi se uspostave, klijent i server treba samo da itaju i upisuju na soket
radi razmene podataka. Ipak, neophodno je voditi rauna o tome da je, kada jedan
ita, rugi neto upisao (ili e upisati).
U ostatku poglavlja teite je stavljeno na Web okruenje. U odeljku 12.3 bilo je rei o Webu,
HTTP-ju i nainu za kreiranje jednostavnih HTML dokumenata. Znaajna tema iz perspektive
umreavanja je mogunost korienja JavaScripta za programiranje na strani klijenta. Sledi pre
gled nekih znaajnih karakteristika JavaScripta:
Forma moe da se koristi kao ablon za unoenje i prikazivanje informacija. Moe da
ukljuuje tekstualna polja, polja za potvrdu i druge tipove.
Forma moe da ukljuuje i dugmad koja iniciraju akcije kada korisnik klikne dugme,
Dugmetu sa forme moe da se pristupi pomou JavaScript funkcije, tako da, kada
korisnik klikne dugme, funkcija izvrava naredbe koje analiziraju podatke sa forme i
generiu odgovarajui izlaz. Ovo se izvodi na strani klijenta i moe da se koristi za
pregled korisnikih podataka pre nego to se poalju do servera.
Programiranje moe da se izvede i na strani servera; postoji nekoliko moguih opcija. Jedna je
CGI (Common GateWay Interface) programiranje. Ukljuuje kreiranje URL-a koji naznaava
izvrni fajl na serveru. URL sadri i string upita koji se koristi za prenos informacija sa forme do
pozvanog CGI programa. CGI program izvlai informacije iz stringa upita i moe da izvri
neophodne zadatke. Sledi lista znaajnijih karakteristika CGI programa:
Mogu se pisati u C-u, ili Perlu. C programi su kompajlirani, dok se Perl programi
obino interpretiraju.
Mogu da kreiraju forme koje se prikazuju u korisnikovom pretraivau.
Mogu da se koriste za implementiranje pretraivakih maina. U odeljku 12.4
predstavili smo primitivnu pretraivaku mainu koja je pokazala kako C program
moe da prihvati re, ili frazu sa forme i da vrati jedan, ili vie linkova u klijentov
pretraiva.
Mogu da se koriste za namivanje preko Interneta. U odeljku 12.5 objanjen je sistem
za naruivanje pica koji sadri nekoliko Perl skriptova - oni verifikuju broj telefona,
auriraju informacije o korisniku, omoguavaju naruivanje pice i daju pregled infor-
macija za konkretnu narudbinu.
Pitanja i zadaci za proveru
1. Zato se koristi klijent/server model umesto da se programiranje izvede samo na jed-
nom kompjuteru?
2. ta je soket?
3. Koja je svrha soket komande bind? ta bi se desilo kada ne bi bila izvrena?
4. Da li klijent, ili server, ili oba obino izvravaju svaku od skdeih soket komandi?
a. socket()
b. connectf)
c. bi nd()
d. accept()
e. l i st en( )
f. send()
g. recv()
h. close()
5. Program na serveru iz odeljka 12.2 sadri komandu f ork() za kreiranje procesa koji
upravlja zahtevom klijenta. Zato se za to ne bi pobrinuo proces koji je i primio
zahtev?
6. ta je Hypertext Markup Language?
7. ta je Hypertext Transfer Protocol?
8. ta je Uniform Resource Locator?
9. ta je HTML tag?
10. Koja je svrha HTML forme?
11. ta je skript?
12. Sta je hendler dogadaja u kontekstu HTML forme i dugmeta?
13. ta je CGI skript?
14. Sta je string upita koji se koristi prilikom CGI programiranja?
15. ta je primenljiva okruenja?
16. Koji je razlog postojanja programskih moganosti i na strani klijenta i na strani servera
kod razvoja Web stranice?
Vebe
1. Modifikujte protokol za transfer fajla iz odeljka 12.2 implementiranjem mehanizma
za detekciju greaka, kao to su eksume. Greke moete da simulirate tako to e na
serveru periodino biti oteen paket neposredno pre slanja preko soketa. Na primer,
moe da se pozove generator sluajnih brojeva i, na osnovu vraenog broja, mogu da
se nuliraju bajtovi paketa. Ako Vam se vie dopadaju greke nasuminog izgleda,
server moe da dodaje nasumino izabrani broj nasumino izabranom bajtu u paketu.
2. Koristite sokete za implementiranje protokola za komunikaciju izmedu klient i server
programa. Protokol doputa komunikacije u balf-duplex modu kod kojih klijent i
server razmenjuju poruke definisane onim to korisnik unese preko tastature. Morate
da osmislite ko zapoinje "razgovor" i kako se konverzacija zavrava.
3. Kreirajte tekstualni fajl na serveru u kome svaka linija ima kljunu re iza koje sledi
URL. Napiite klijentski program koji prihvata kljunu re kao ulaz od korisnika i alje
je do servera. Napiite serverski program koji uzima kljunu re od klijenta, pretrauje
fajl kako bi pronaao sve instance te kljune rei i vraa sve URL-ove pridruene toj
kljunoj rei. Klijent treba da prikae URL-ove.
4. Modifikujte protokol iz odeljka 12.2 dodavanjem svih sledeih mogunosti, ili bilo
koje od njih.
a. Klijent treba da trai od korisnika da unese naziv fajla na udaljenom hostu.
Nakon toga, klijent alje taj naziv do servera pomou soket konekcije.
b. Kreirajte Disconnect paket i neka kijjent i server prekidaju konekciju nakon to
klijent poalje serveru Disconnect paket i server ga potvrdi.
c. Kreirajte opciju menija na strani klijenta koja korisniku omoguava da izabere da
li klijent treba da zahteva transfer fajla, ili protokol za konverzaciju kao u Vebi 2.
d. Neka i klijent i server konkurentno alju fajlove jedan drugome.
e. Promenite server tako da primi jedan paket nakon prihvatanja konekcije. Paket e
defmisati da li server izvrava transfer fajla, ili protokol za konverzaciju sa
klijentom. Naravno, klijent mora da poalje takav paket.
f. Dizajnirajte server da moe da prenosi fajl do jednog klijenta dok istovremeno razgo-
vara sa drugim. Moraete da kreirate "decu" procese koji e reagovati na zahteve.
5. Ako ve niste, kreirajte Web stranicu na kojoj e se nalaziti bar neki tekst i linkovi ka
udaljenim URL-ovima. Sami odluite ta ete postaviti na stranicu.
6. Modifikujte JavaScript kod sa slike 12.12 tako da korisnik rnoe da umetne
proizvoljan broj blanko znakova izmedu brojeva koje unese.
7. HTML formu koja korisniku omoguava da unese dimenzije etvorougla, a zatim
koristi skript za vraanje oblasti etvorougla. Skript treba da utvrdi da li su dimenzije
pozilivne; ako nisu, treba da generie okvir upozorenja.
8. Ponovite Vebu 7, ali ukljuite polja za potvrdu pomou kojih e korisnik naznaiti da
li eli da zna oblast, ili obim etvorougla (ili oboje). Skript mora da proveri da li je
korisnik selektovao bar jednu opciju.
9. Modifikujte gateWay program sa slike 12.17 da dopusti vie unosa na formi sa slike
12.15. GateWay program treba da vrati reference koje odgovaraju bilo kojem od
brojeva koji su uneti u tekstualno polje.
10. Perl skript sa slike 12.24 smeten je u fajl verify.cgi i sadri JavaScript funkciju pod
nazivom reverif y. Ova funkcija formira URL koji referencira CGI skript u fajlu
verif y. cgi. Da li je ovo primer rekurzivnog poziva? Zato jeste, ili zato nije?
11. Za sistem za naruivanje pice komentariite prildadnost radio dugmadi, polja za potvrdu,
ili pop-up menija pomou kojih korisnik moe da selektuje veliinu, vrstu testa i nadeve.
12. Ovaj zadatak podrazumeva da imate pristup UNIX, ili Linux serveru na kome moete
da preuzmete i pokrenete Perl skriptove iz odeljka 12.5. Izvedite sledee izmene u
programu za naruivanje pice (izvedite svaku nezavisno).
a. Dodajte veliinu "extra large" sa cenom 11.00 dolara.
b. Dodajte Chicago Style u listu vrsta testa.
c. Dodajte Onions u listu nadeva sa dodatnom cenom 0,50 dolara.
d. Lfklonite radio dugmad za vrste testa i, umesto njih, koristite pop-up meni.
e. Uklonite pop-up meni za veliinu pice i, umesto njega, koristite radio dugmad.
f. Pretpostavite da cene nadeva vae samo za male pice. Za svaku sledeu veliinu
pice cena svih nadeva se poveava za 0,25 dolara. Kkorisnik treba obavezno da
dobije pregled tih cena na fomi.
g. Dodajte fajl na server koji akumulira cene svih postavljenih narudbina.
h. Kreirajte formu i skript koji korisniku omoguavaju unoenje njegovog broja
telefona, imena i adrese kada se prvi put prijavi serveru.
i. Tekue ureenje zahteva od korisnika da posebno naruuje pice; ne moe
odjednom da narui vie pica. Kako biste dizajnirali formu da korisnik moe da
narui vie pica?
13. Sistem za naruivanje pica sadri Perl skript koji izraunava cenu pice na serveru.
Skript bi mogao da generie JavaScript funkciju koja bi izraunala cenu pice na strani
klijenta. Da li postoji neka prednost ovakvog pristupa? Da li postoji nedostatak?
Reference
[Co99] Corner,D.E.,andD.Stevens. InternetWorking With TCPfIP. VoI. II. ANSI C
Version: Design, Implementation, and Internals,3rded.EngleWoodCliffs,NJ:Prentice-
HaIl, 1999.
[CoOO]Corner,D.E. InternetWorking With TCP/IP. VoI. 1. Principles, Protocoh, and
Architecture, 4thed.EngleWoodCliffs, NJ: Prentice-Hall,2000.
[Fe97]Felton,M. CGI: Internet Programming in C+ + and C.EngleWoodCliffs,NJ:
Prentice-Hall, 1997.
[FlOl]Flanagan,D. JavaScript: The Definitive Guide,4thed.Sebastopol,CA:CReilly&
Associates,2001.
[GoOl] Goodman,D. JavaScript Bible,4thed.NeWYork:Wiley,2001.
[GuOO] Guelich,S.,S.Gundavararn,andG.Birznieks. CGI Programming With Perl, 2nded.
Sebastopol, CA: CReilly&Associates,2000.
[Ku03]Kurose, ].,andK.Ross. Computer NetWorking: A Top-DoWn Approach Featuring the
Internet.Reading,MA:Addison-Wesley,2003.
[MeOl] Meltzer,K.,andB.Michalski. Writing CGl Applications With Perl.Reading,MA:
Addison-Wesley,2001.
[ScOl] SchWartZ,R.,andT.Christiansen. Learning Perl, 3rded.Sebastopol,CA:CReilly&
Associates,2001.
[Sh02] Shay,W. "AMultiplatform/MultilanguageClient/ServerProject".In Proceedings of
the 33rd ACM SIGCSE Technical Symposium on Computer Science Education.NeWYork:
ACMPress, 2002,pp. 401-405.
Tehnologije sa
komutacijom kola
Kompjuteri su dobri za brza i tana izmunavanja i za smetanje ogromne koliine informaci-
ja. Sa druge strane, mozak nije toliko efikasan za raunske operacije i njegova memorija esto
"zakae", to znai da je osnovna netanost ugradana u njegov "dizajn". Jaa strana mozga je
njegova fleksibilnost. Neprevazien je u preciznim pogaanjima i poimanju kompletnog
znaenja predstavljenih informacija.
Jeremy Campbell, britanski novinar
13.1 Uvod
Poslednje poglavlje ove knjige je posveeno nekim dodatnim komunikacionim protokolima koji
imaju, ili su imali znaajnu ulogu u razvoju komunikacionih sistema na veim rastojanjima.
Obino su razvijeni za implementiranje digitalnih telefonskih sistema, defmisanje interfejsa za
mree sa komutacijom paketa, ili ispunjavanje zahteva za kvalitet servisa (QoS) za razliite vrste
aplikacija.
U odeljku 13.2 predstaviemo ISDN (Integrated Services Digital Network), koji je dizajniran u vreme
kada personalni kompjuteri i radne stanice nisu bili uobiajeni i dok Intemet jo nije postojao.
Trebalo je da zameni postoje telefonski sistem. Mnogi ljudi su videli potencijal u spajanju komu-
nikacija i raunarstva i prednosti konvertovanja u kompletno digitalni telefonski sistem. Ideja na
kojoj je ISDN zasnovan bila je zamena svih telefona i njihovih kola digitalnim uredajima i komu-
nikadonim linijama. Problem je predstavljala konkurencija sa postojeim telefonskim kompanijama
koje su ve implementirale digitalne komutaore na svojim mreama i to to se tehnologija teko
prodavala, jer mnogi nisu uviali prednosti digitalnih telefona u poreenju sa analognim. Zaista, za
nekoga ko treba samo da razgovara telefonom prednost je minorna, pa, ak, i nepostojea.
U odeljcima 13.3 i 13.4 predstaviemo tri razliite tehnologije virutelnih kola. X.25 je takode bio
razvijen pre Interneta, ali je postao popularan i dizajniran je za komunikacione sisteme koji su
prelazili medunarodne granice u Evropi.
Osim toga, pretpostavljeno je da je vei deo osnovnog komunikacionog sistema i dalje analogan i
imao je relativno veliku uestalost pojave greaka. Defmisao je interfejs izmeu DTE (podsetite se
definicije za DTE iz Poglavlja 4) i javne mree za prenos podataka i omoguavao je uspostavljanje
virutelnih kola sa udaljenim DTE-ovima. Frame relay je sledei protokol za virtuelna kola. Dizajniran
je za sporadini saobraaj i mnogi ga vide kao naslednika X.25 protokola. Funkcionie samo na dva
sloja, za razliku od X.25 protokola, koji funkciome na tri sloja i ne ukljuuje ni kontrolu greaka, ni
kontrolu toka. Ovim je pojednostavljena logika i omogueno je korienje komutatora za bre
prebacivanje okvira.
Poslednji protokol za virtuelna kola je Asynchronous Transfer Mode (ATM). Defmie elije fiksne
veliine koje komutatori mogu brzo da obrade. ATM obezbeduje i razliite QoS zahteve, to ga
ini prikladnim ne samo za standardne transfere podataka, ve i za real-time aplikacije, kao to
su audio, ili video aplikacije.
13.2 Digitalna mrea sa integrisanim servisima (ISDN)
Jo pre 100 godina ljudi su poeli da razvlae kablove izmeu kua i gradova da bi mogli da
komuniciraju telefonom. Otada je telefonska mrea prerasla u globalni komunikacioni sistem,
koji koristi sve komunikacione medijume opisane u ovoj knjizi. Postoji jo jedna karakteristika
po kojoj se telefonski sistem razlikuje od ostalih mrea koje smo do sada predstavili: ima veliku
analognu komponentu. Nismo zaboravili da su optiki fiberi i digitalni uredaji za komutaciju
uveli znaajnu koliinu digitalne tehnologije na mreu. Ipak, telefoni su i dalje analogni ureaji,
koji prenose analogne signale do lokalne telefonske centrale. Ovaj deo telefonske mree se esto
naziva lokalna petlja (local Ioop), ili poslednja milja (last mile); drugi naziv ukazuje na
najveu prepreku za kompletno digitalni sistem.
U poetku je analogni sistem bio logian izbor, zato to je telefon bio dizajniran za prenos glasa.
U meduvremenu su se polja komunikadja i kompjuterske nauke sjedinila. Kompjuteri imaju
sutinski znaaj za komunikacione sisteme, a komunikacioni sistemi se iroko koriste za poveziva-
nje kompjutera. Zato je ITU-T razvio standard za globalni digitalni komunikacioni sistem pod
nazivom Integrated Services Digital Netvvork (ISDN - digitalna mrea sa integrisanim servisima).
Ako bi se u potpunosti implementirao, omogucio bi kompletnu integraciju prenosa glasa i
negovornih signala (na primer, podaci, faks, video) u okviru jednog sistema. Uskoro emo objasniti
ogromne prednosti ovakvog sistema.
Na slici 13.1 prikazana je funkcionalnost ISDN-ove osnovne brzine (basic rate). Obezbeduje tri
zasebna kanala: dva B kanala prenose podatke brzinom od 64 Kbps i jedan D kanal prenosi
podatke brzinom od 16 Kbps. esto se referencira kao 2B+D. B kanal prenosi "iste" podatke, kao
to su govorni podaci na koje je primenjena impulsna kodna modulacija (PCM), ili podaci koje
generiu neki drugi ureaji, kao to je personalni kompjuter. D kanal se koristi za kontrolu i neke
sporije aplikacije, kao to je telemetrija (daljinsko merenje), ili alarmni sistemi. Tri kanala se
multipleksiraju sa podelom vremena na bitskom vodu (bit pipe) koji obezbeuje konkretni
prenos bitova.
ITU-T je razvio i Sevemoameriki standard (North American) za primarnu brzinu prenosa
23B+D (23 B kanala i jedan D kanal), koji se lepo uklapa u sisteme sa Tl nosiocem.
SLIKA 13.1 Osnovni ISDN servis
Evropski standard od 30B+D uklapa se u 2.048 Mbps kanal. Dodatni kanali za podatke
obezbeduju kapacitet za veu koliinu podataka iz razliitih izvora.
Moda je udno to najvea prepreka eventualnom implementiranju globalnog digitalnog komu-
nikacionog sistema nisu tehniki problemi (mada ih ne potcenjujemo). Glavni problemi su
logistike i ekonomske prirode. Znaajan problem predstavlja i to kako ubediti korisnike telefona
da e imati koristi od ISDN-a i da e cena konverzacije viti opravdana. I pored sve vie ISP-a i ljudi
koji imaju personalne kompjutere, veina ljudi i dalje koristi telefonski sistem za jednu namenu
- za razgovor sa prijeteljima i susedima. Nju nije briga da li se glas prenosi preko analognih, ili
digitalnih signala. Sa druge strane, prednosti obezbeivanja dva kanala za podatke u osnovnom
ISDN servisu su sasvim jasne. Na primer, roditelji vie nee morati da ekaju da njihovo dete
konano oslobodi telefonsku liniju, jer automatski koriste drugu liniju.
Servisi
U ovom odeljku dat je pregled nekih servisa koje obezbeduje potpuno digitalni sistem. Mnogi od
njih su dostupni, to nije iznenadujue, jer je vei deo telefonske mree ve digitalizovan. Ovi
servisi postoje zbog digitalne prirode komunikacionog sistema, ne radi samog ISDN-a. ISDN
obezbeduje drugi nain za njihovo implementiranje. Osim toga, ako se digitalne komponente
prenesu i na stranu korisnika, servisi mogu da se implementiraju bez potrebe za sloenim
metodima modulacije i potencijalnim gubicima zbog konverzija digitalnih u analogne signale.
telephone Osnovni
ISDN
servis
elektrometar
vodomer
alarm
kontrola
bitski vod:
prenosi vremenski
multipleksirane signali
iz B i D kanala
D kanal: 16Kbps
dva B kanala: 64Kbps
Jedan od B kanala moe da se koristi za elektronsko slanje poruka, koje se usmeravaju
u zavisnosti od primaoevog broja telefona i smetaju u lokalnom repozitorijumu
blizu primaoca radi eventualnog pristupa. Ovo je slino prenosu faksom, ali bez
konverzije analognih u digitalne podatke, koja je obavezna kod dananjih faksova.
Telefonski brojevi dolazeih poziva mogu da se prikau pre nego to se odgovori na
poziv (identifikacija pozivaoca - caller ID). Digitalni sistemi podrazumevaju da su i
odlazei podaci i dolazei signali digitalizovani. Broj izvora je kodiran u primljenim
signalima. Ova karakteristika odvraa maliciozne, ili telemarketinke pozive. Osim
toga, olakava identifikaciju poziva u sistemu za hitne sluajeve (911 u SAD-u), to je
veoma bitno ako osoba koja zove ne govori razgovetno, ili je re o malom detetu.
Poto su dolazei signali digitalni, brojevi telefona sa kojih je poziv iniciran mogu da
se koriste i kao kljuevi za zapise u bazi podataka. Ovo koriste profesionalci koji rade
sa klijentima, ili pacijentima (lekari, advokati, brokeri, agenti osiguravajuih drutava i
tako dalje). Softver moe da koristi dolazei broj izvora radi pristupa zapisima o
klijentu i za prikazivanje odgovarajuih informacija na ekranu. Ova karakteristika
olakava brzo i efikasno davanje odgovora na postavljena pitanja.
Servisi za govornu potu su slini ve postojeim automatskim sekretaricama, koje
omoguavaju ostavljanje poruka. Razlika je u tome to se poruke snimaju i smetaju u
lokalnom repozitorijumu.
Svakog meseca uslune kompanije alju svoje radnike da po kuama oitavaju stanje na
strujomerima, meraima potronje gasa i vodomerima. ISDN telemetrijski servis
omogucava povezivanje meraa na kompaniju i meseno oitavanje pomou
jednostavnog poziva. Osim toga, senzori mogu da se postave u kuama kako bi detekto-
vali poare, ili provale. Kada se aktiviraju, telefonski pozivi mogu da se poalju
automatski najblioj vatrogasnoj, ili policijskoj stanici. U tim stanicama se ispisuje broj
telefona sa koga se poziv inicira, ili se koristi pristup bazi podataka u kojoj se uvaju
adrese sa kojih je poziv iniciran.
Videoteks - interaktivni pristup udaljenim bazama podataka omoguava, na primer,
pristup bazama podataka sa telefonskim imenicima poput onih koji su danas
dostupni u tampanim verzijama. Korisnici mogu da pristupe biblioteci baze podataka
i postave upit za dobijanje podataka iz njenih kolekcija i pristupa enciklopedijama, ili
javnim zapisima radi dobijanje informacija o odreenim temama.
Korisnici mogu da vri prenos novca izmeu bankovnih rauna, da kupuju unoenjem
koda odreenog proizvoda i broja svoje kreditne kartice i da plaaju rate kredita
prenosom novca sa svojih bankovnih rauna - sve telefonom.
Vie B kanala omoguava da se neke od tih aktivnosti izvode istovremeno. Ako neki
lan porodice trenutno razgovara telefonom sa svojim prijeteljom, drugi moe da
iskoristi drugi kanal za izvravanje neke druge aktivnosti.
Naalost, postoji prostor i za eventualne zloupotrebe. Raspoloivost tolike koliine informacija
preko jednostavnog telefonskog poziva zahteva ogromne bezbednosne mere.
Takode se nameu znaajna socioloka i etika pitanja. U kojoj meri informacije treba da budu
dostupne? Kako spredti da informacije ne dospeju u pogrene ruke? Da li se merenja na daljinu
mogu proiriti tako da se prate (i moda kontroliu) neki drugi dogaaji u kui? Ve postoje
mogunosti koje doputaju elektrodistributivnim preduzeima da daljinski iskljuuju klimati-
zaciju (uz saglasnost potroaa) u periodima kada se struja najvie troi. Da li bi ovo moglo
(trebalo) da se proiri na kontrolu troenja struje u toku energetskih kriza (ko uopte i definie
kada dolazi do krize)?
Arhitektura
ISDN bi trebalo da radi sa razliitim korisnicima i opremom, posebno ako treba da se integrie
u kancelarijska okruenja. Ovo ukljuuje i dizajniranu opremu, imajui na umu ISDN i tekuu
opremu koja datira iz vremena pre ISDN-a i ima malo ega zajednikog sa ovom tehnologijom.
Da bili olakani dizajn strategija za povezivanje i standardizacija interfejsa, ITU-T je podelio
opremu na funkcionalne grupe. Ureaji u okviru grupe obezbeuju specifine mogunosti. ITU-T
je defmisao i referentne take za razdvajanje tih grupa, to je bio koristan dodatak u
standrdizaciji interfejsa. Funkcionalne grupe i referentne take olakavaju kategorizaciju
osnovnih strategija povezivanja i obezbeuju osnovu za dizajniranje sloenijih arhitektura.
U sledeoj listi opisane su oznake primarnih funkcionalnih grupa.
NTl (network termination 1) "Neinteligentni" ureaji koji su zadueni za fizike i
elektrine karakteristike signala - Prvenstveno izvravaju funkcije sloja 1 u OSI
modelu, kao to su sinhronizacija i tajming. NTl ureaji obino formiraju granicu
izmeu korisnikovog sajta i ISDN centrale. Sa druge strane, centrala funkcionie slino
centralama telefonskog sistema, a njen primarni zadatak je obezbeivanje pristupa
drugim sajtovima.
NT2 (netvvork termination 2) "Inteligentni" ureaji koji mogu da izvravaju funkcije
naznaene na slojevima 2 i 3 OSI modela - U ovu grupu funkcija ubrajaju se
komutacija, koncentracija i multipleksiranje. Uobiajeni NT2 uredaj je digitalna
privatna centrala (PBX). Moe da se koristi za povezivanje korisnikove opreme
zajedno, ili sa NTl kako bi bio obezbeen pristup ISDN centrali.
NT12 Kombinacija NTl i NT2 u jedan ureaj
TEl (terminal equipment 1) ISDN uredaji, kao to su ISDN terminal, digitalni
telefon, ili kompjuter sa ISDN-kompatibilnim interfejsom - Oni se, obino, povezuju
direktno na terminator mree.
TE2 (terminal equipment 2) Ne-ISDN ureaji, ukljuujua tampae, personalne
kompjtere, analogne telefone, ili bilo ta to ima ne-ISDN interfejs, kao to su
EIA.232, iliX.21.
TA (terminalni adapter) Uredaji dizajnirani za korienje sa TE2 opremom za
konvertovanje signala u ISDN-kompatibilni format - Svrha je integracija ne-ISDN
uredaja u ISDN mreu.
Na slici 13.2 prikazane su tipine funkcionalne grupe i objanjeno jekako se mogu povezivati.
Da bi interfejsi bili standardizovani, ITU-T je definisao referentne take izmeu grupa.
komunikaciona
mrea
ISDN
centrala
Signaling
System
7 protokol
23B + D
Signaling
System
7 protokol
ISDN
centrala
2B+D
S
2B + D
2B + D
2B + D
LAN
2B + D
R
T
T
S
S
23B+D 2B+D
S T
TEI: ISDN uredaj
TE2: ne-ISDN uredaj
NTl : fiziki interfejs
NT2: na primer, digitalna privatna centrala
TA: terminalni adapter
SLIKA 13.2 ISDN funkcionalne grupe i referentne Lake
Iako su ovde prikazane konekcije jednostavne, mogu da se kombinuju u mnogo vee i sloenije.
Inae, referentne take uvek dele funkcionalne grupe onako kako je ovde prikazano. Postoje etiri
referentne take:
Referentna taka R Razdvaja TE2 opremu od TA (slika 13.2a). Taka R moe da
korenspondira sa nekoliko razliitih interfejsa u skladu sa TE2 standardom.
Referentna taka S Razdvaja NT2 opremu od ISDN uredaja (slika 13.2a,b). Podrava
2B+D kanal i ima bitsku brzinu od 192 Kbps*. Efektivno, razdvaja uredaje rezervisane
za korisnike funkcije od ureaja koji su rezervisani za komunikacione funkcije.
Referentna taka T Pristupna taka korisnikovom sajtu (slika 13.2a, c) - U optem
sluaju, razdvaja opremu korisnika od opreme mrenog provajdera.
* Bitske brzine od dva B kanala i D kanal daju do 144 Kbps. Dodatni bitovi pomeraju bitsku brzinu do 192 Kbps, to emo
uskoro objasnili.
Obino, ako je T interfejs izmeu NTl i terminalne opreme, ili adaptera, odgovara 2B + D kanalu.
Ako se nalazi izmeu dva NT ureaja, odgovara 23B+D kanalu.
Referentna taka U Definie konekciju izmedu NTl i ISDN centrale (slika 13.2d).
Komunikacija izmedu razliitih sajtova moe da ide preko jedne, ili vie taaka za
signaliziranje transfera (tip uredaja za rutiranje), a upravlja se pomou protokola
poznatog pod nazivom Signaling System 7 (uskoro emo ga predstaviti).
Protokoli
ISDN je slian tekuem telefonskom sistemu. Da bi bila uspostavljena konekcija sa drugim
sajtom, korisnik izvrava iste kontrolne funkcije. Kod konvencionalnog telefonskog sistema to
podrazumeva biranje broja, a kod ISDN-a to znai slanje kontrolnih paketa. Telefon koristi
signaliziranje u okviru opsega (in-band signaling) - tonovi generisani pritiskom na dugmad
alju se preko istog kanala preko koga e kasnije biti prenoen glas. ISDN kontrolne informacije
se alju preko D kanala. Poto je to zaseban kanal u odnosu na onaj koji se koristi za prenos glasa,
ili podataka, naziva se signaliziranje van opsega (out-of-band signaling). Znaajan aspekat
signaliziranja izvan opsega je to, nakon to se konekcija uspostavi za B kanal, D kanal moe da
koristi za druge namene. Aktivnosti kao to je telemetrija, ili zahtev za drugi poziv moe da se
izvede paralelno sa prenosima koji se odvijaju preko B kanala. Sledei znaajan aspekat je injeni-
ca da B kanali prenose samo podatke (ili digitalizovani glas) - ISDN ne definie saraj B kanala
i tretka sve bitove kao "iste" podatke. Ako dva korisnika komuniciraju preko B kanala pomou
odreenog protokola, kao to je komutacija paketa, moraju da naznae formate paketa koji se
prenose preko B kanala. Meutim, stvarni format paketa, ukljuujui zaglavlja i kontrolne
informacije, transparentan je za ISDN.
Preko B kanala je mogue uspostaviti nekoliko tipova konekcija. Prva je konekcija sa komutaci-
jom kola (circuit-switched connection) slina konekcijama koje se izvode u okviru telefonskog
sistema. Celokupno signaliziranje i razmena kontrolnih informacija odvijaju se preko D kanala.
Druga konekcija je virtuelno kolo, koje se uspostavlja na mreama sa komutacijom paketa. Sve
kontrolne informacije za uspostavljanje poziva i definisanje virtuelnog kola izvode se preko
D kanala. Trei tip konekcije je slian iznajmljenim linijama. Konekcija je stalno prisutna i pre
slanja podataka nije neophodno uspostavljanje poziva.
D kanal je "posebna pria". On prenosi kontrolne informacije, kao to su uspostavljanje, ili
okonavanje poziva, tip poziva i B kanal dodeljen tom pozivu. Zato je neophodno definisati
kontrolu prenosa preko tog kanala.
Kompletan opis protokola koji formiraju osnovu ISDN-a moe da bude tema posebne knjige
(videti reference [St99], [Bl97b], [Me03] i [Gr98]). Naa namera je da obezbedimo uvod u neke
znaajne protokole, a itaocima ostavljamo da pogledaju ove reference ako su zainteresovani za
vie detalja. to se tie ISDN-a, ITU-T je razvio dve zasebne serije preporuka, poznate kao I i Q
serije dokumenata. I serije (od 1.100 do 1.605), prvi put objavljene 1984, a aurirane 1988. i
1992. godine, sadre vie od 60 zasebnih dokumenata i opisuju teme kao to su arhitektura ISDN
mree, referentne konfiguracije, principi za rutiranje i interfejs korisnik-mrea. Neke od tih
protokola emo uskoro opisati.
signalizacija veze podataka
signalizacija nivoa veze
signalizacija mree
korisniki deo
deo za
transfer
poruka
SLIKA 13.3 Signaling System 7 protokol
Q serije (od Q.700 do Q.795) opisuju slojeviti protokol poznat kao Signaling System 7 (SS7),
koji je prvi put objavljen 1980. godine, a defmie standard koji obezbeduje funkcionalnost u inte-
grisanoj digitalnoj mrei (IDN). Primeujete da, umesto ISDN, koristimo termin IDN. IDN je
posledica starog analognog telefonskog sistema, kod koga se prenos signala i komutacija izvode
zasebno. Sa mogunou postavljanja svih prenosa u digitalnu formu, ove dve funkcije su
integrisane. ISDN koristi IDN, ali ukljuuje i mogunost integrisanja digitalizovanog glasa sa
raznim drugim tipovima digitalnih podataka na digitalnim linkovima.
Signaling System 7 SS7 je etvoroslojni protokol (slika 13.3). Donja tri sloja ine deo za
prenos poruke (MTP - message transfer part) i izvravaju funkcije sline X.25 protokolu (bie
predstavljen u narednom odeljku). Za razliku od X.25 protokola, SS7 je zaduen za mrene
funkcije kao to su rutiranje i pouzdanost. Na primer, obezbeduje pozudani transport poruka u
modu prenosa bez uspostavljanja konekcije. etvrti sloj korisniki deo (user parl) sadri
specifikacije za kontrolu poziva, formate poruka, razliite aplikacije i odravanje.
Najnii sloj signalizacija veze (signaling data link, ITU-T dokument Q.702) obezbeuje sve
fizike i elektrine specifikacije i obezbeuje 64 Kbps full-duplex prenos. Drugi sloj signalizacija
sloja veze (signaling link layer, Q.703) obezbeuje pouzdane komunikacije izmeu dve sukce-
sivne take na mrei. Kao i kod drugih protokola sloja 2, defmie format okvira i obezbeuje
proveru greaka i kontrolu toka. Ovo je slino HDLC-u.
Trei sloj signalizacija sloja mree (signaling netvvork layer, Q.704) obezbeduje pouzdan
transfer poruka izmedu dve signalne take (krajnje take). Izvrava dve glavne funkcije: rutiranje
i upravljanje. Na primer, utvruje da li treba preneti poruku od sledeeg mrenog vora, ili je
isporuiti etvrtom sloju (korisniki deo). U sluaju da se poruka prenosi do drugog vora, mora
da se utvrdi koji se sledei vor. U sluaju da se prenosi do etvrtog sloja, mora da se utvrdi koji
korisniki deo dobija poruku. Funkcije za upravljanje ukljuuju razmenu informacija izmedu
vorova u skladu sa rutama, otkrivanje greaka i zaguenja i promenu rasporeda rutiranja.
Korisniki deo se sastoji od telefonskog korisnikog dela (TUPtelephone nser pari) i ISDN
korisnikog AeIa (ISUP). TUP (dokumenti Q.721 do Q.725) opisuje uspostavljanje konekcija sa
komutacijom kola za telefonske pozive, ukljuujui kontrolne poruke i njihov format. Primer
poruka obuhvata one koje naznaavaju trokove poziva, ukazuju da je odgovoreno na poziv, ili
ukazuju da je kolo oslobodeno zbog greke.
ISUP (dokumenti Q.761 do Q.766) izvrava sline funkdje, ali je oznaen kao servis za ISDN
korisnike, za razliku od telefonskih korisnika. Sledi lista nekih primera ISUP poruka.*
Initial Address Message (IAM) Poruka koja se prosleuje napred za iniciranje
korienje odlazeeg kola i za prenos broja i dmgih informacija koje se tiu rutiranja i
kontrole poziva.
Subsequent Address Message (SAM) Poruka koja moe da se prosledi napred nakon
IAM poruke kako bi bile prenete dodatne informacije o broju pozvane strane.
Information Request poruka (INR) Poruka koja se alje u okviru razmene nakon
zahteva za informacije koje prate poziv
Information poruka (INF) Poruka koja se alje kako bi bil prikupljene informadje
pridruene pozivu zahtevanom INR porukom
Address Complete Message (ACM) Poruka u povratnom smeru koja ukazuje da su
primljeni svi adresni signali koji su zahtevani za rutiranje poziva ka pozvanoj strani.
CaIl Progress poruka (CPG) Poruka u povratnom smeru koja ukazuje da se desio
dogaaj za vreme postavljanja poziva koji bi trebalo preneti pozivnoj strani.
Ansvver Message (ANM) Poruka poslata u povratnom smeru koja ukazuje da je druga
strana odgovorila na poziv - koristi se zajedno sa informacijama o trokovima poziva
kako bi startovalo zaraunavanje trokova za onoga ko poziva i raunanje trajanja
poziva radi naplate meunarodnih usluga
Facility Request poruka (FAR) Poruka koja se alje za postavljanje zahteva za
aktiviranje ureaja
Facility Accepted poruka (FAA) Poruka koja se alje kao odgovor na Facility Request
poruku kako bi se ukazalo da je zahtevani uredaj pozvan
Facility Reject poruka (FRJ) Poruka koja se alje kao odgovor na Facility Request
poruku kako bi se ukazalo da je zahtev za uredaj odbaen.
User-to-user information poruka (USR) Poruka koja se koristi za prenos informacija
od korisnika do korisnika, nezavisno od poruka za kontrolu poziva
CaIl Modification Request poruka (CMR) Poruka koja se alje u bilo kom smeru
kako bi se ukazalo da pozivna, ili pozvana strana zahtevaju modifikovanje karakteristi-
ka uspostavljenog poziva (na primer, promena sa podataka na glas)
CaIl Modiflcation Completed message (CMC) Poruka koja se alje kao odgovor na
CMR poruku kako bi se ukazalo da je zahtevana modifikacija poziva (na primer, sa
glasa na podatke) kompletirala.
* Iz J. Griffith, ISDN Explained, 1990, pp. 3435 (ponovo tampano uz dozvolu John Wiley & Sons, New York)
CaIl Modification Reject poruka (CMRJ) Poruka koja se alje kao odgovor na
CMR poruku kako bi se ukazalo da je zahtev odbijen.
Release poruka (REL) Poruka koja se alje u bilo kom smeru kako bi se ukazalo da
je kolo otputeno zbog osnovanog razloga (uzroka) i da Je spremno za postavljanje u
IDLE stanje po prijemu Release Complete poruke; u sluaju da je poziv bio prosleden,
ili reaitiran, u poruci je prenet odgovarajui indikator sa adresom redirekcije i
preusmeravajuom adresom
Release Complete poruka (RLC) Poruka koja se alje u bilo kom smeru kao
odgovor na prijem Release poruke, ili, ako je prikladno, na Reset Circuit poruku, kada
je konkretno kolo postavljeno u IDLE stanje
Ovom listom smo samo "zagrebali" po povrini SS7 protokola. Ako elite da proitate neto vie
o SS7, prouite bilo koju od referenci [Gr98], [B197a], [B197b], [Sc86] i [Ap86].
Protokoli osnovnih servisa Postoji vie od 60 dokumenata u ITU-T 1 serijama koji opisuju
ISDN standarde. Naa namera je da predstavimo preporuke za interfejs korisnik-mrea pomou
troslojnog protokola. Prvi sloj (1.430) opisuje fiziki niz bitova za osnovni ISDN servis. Slian
opis (1.431) postoji i za primarni servis (ref. [Gr98]).
Niz bitova fizikog sloja za osnovni servis odgovara onom u referentnim takama S i T (videti
sliku 13.2). Na slici 13.4 prikazano je kako se 2B+D kanal osnovnog servisa multipleksira preko
bitskog voda.
F: definisanje okvira
L: DC balasiranje
Bl : prvi B kanal
B2: drugi B kanal
D: D kanal
E: btt eha
(b) TE ka NT
A:bit aktivacije
Fa: definisanje okvira (sekundarno)
N: komplement Fa
S: Za budue namene
M: bitza multiframing
SLIKA 13.4 Format fizikog ISDN okvira
(a) NT ka TE
Pre nego to ga opiemo, napomenimo nekoliko znaajnih injenica:
Format okvira koji idu od TE do NT razlikuje se od formata okvira koji idu u
suprotnom smeru.
Komunikacije izmedu TE i NT su fijll duplex, tako da nema kolizija izmeu okvira koji
idu u suprotnim smerovima.
Re okvir ima neznatno drugaije znaenje u poredenju sa ranijim kontekstima. Njegov
format nije definisan protokolom sloja 2 (ili vieg sloja). Umesto loga, okvir
jednostavno definie kako se bitovi iz dva logika B i D kanala multipleksiraju u jedan
fiziki prenosni niz. *
Svaki okvir sadri 48 bitova i alje se na svakih 250 msec, to daje bitsku brzinu od 192 Kbps.
Svaki okvir sadri dva 8-bitna polja za svaki B kanal (oznaena kao Bl i B2). Servis koji koristi B
kanal polae 16 bitova u odgovarajua polja u svakom okviru. 16 bitova se alje na svakih 250
msec, to daje ukupnu brzinu prenosa podataka od 64 Kbps za svaki B kanal. etiri D bita se
smetaju zasebno u svakom okviru (oznaeni sa D), tako da je brzina prenosa podataka za D
kanal 16 Kbps; da kada TE ima paket sa informacijama za slanje preko D kanala, prenose se po
etiri bita u jednom trenutku.
Preostali bitovi slue za neke kontrolne funkcije nieg nivoa. Treba napomenuti da ISDN koristi
pseudoternamo kodiranje, ili tehniku inverznog naizmeninog oznaavanja (alternate mark
inversion technique) kod koje se bit sa vrednou 1 predstavlja nultim naponom, a bit sa
vrednou 0 pozitivnim, ili negativnim signalom. Osim toga, svaki 0 bit ima polaritet suprotan
prethodnoj nuli. Ovo uzrokuje naizmeninu promenu pozitivnih i negativnih signala u stringu
sa nulama.
F bit je bit za definisanje okvira, pozitivni signal koji ukazuje na poetak okvira. L bit je bit za DC
balansiranje. Nakon F bita sledi negativni signal. Zajedno obezbeduju tajming i sinhronizaciju
dolazeeg okvira. Preostali L bitovi su postavljeni na 0 ako je broj prethodnih nula neparan, ili
na 1 ako je broj nula bio paran. Ovo obezbeuje elektrino balansirane signale.
F bit je bit eha; postoji jedan za svaki D bit. U optem sluaju, NT koristi eho vraen od svakog D
bita koji primi. U sluajevima kada je nekoliko TE-a povezano na NT preko jedne fizike
magistrale (slika 13.5) koristi se i E bit kao primitivni oblik "nadmetanja" za D kanal.
SLIKA 13.5 Vie TE-a povezanih na NTpreko jedne magistrale
* Za 2B+D kanal postoji analogni fonnat.
Kada TE nema nita za slanje preko D kanala, prenosi ravnomerni niz jedinica. Zbog toga, ako ni
jedan TE ne koristi D kanal, NT prima sve jedinice na pozicijama D bita i vraa njihov eho. Tako
proverom vraenih E bitova TE moe da detektuje neaktivni D kanal.
Kada TE treba da poalje neto na D kanal, on nadgleda vraene E bitove. Ako sadre nule, TE zna
da neki drugi TE koristi D kanal i zato eka. Ako su svi vraeni E bitovi jedinice, ili je D kanal
neaktivan, ili neki drugi TE prenosi niz podataka koji se sastoji iskljuivo od jedinica. Medutim,
protokol vieg sloja izvrava dopunjavanje bitova, ime se ograniava broj uzastopnih jedinica
koje je mogue poslati; ako TE detektuje broj koji premauje ovu vrednost, on zakljuuje da je D
kanal neaktivan i startuje slanje.
Problem je to drugi TE moe istovremeno da pone slanje preko D kanala. Ipak, korieni
mehanizam i injenica da se "nadmeu" za prostor u istom fizikom okviru garantuju da e
prenosi biti uspeni. Da biste videli kako ovo funkcionie, pretpostavimo da je krajnji levi TE sa
slike 13.5 poslao D bit sa vrednou 1 (nema signala). Pretpostavimo da fiziki okvir dopire do
sledeeg TE-a, koji onda postavlja 0 (visoki, ili niski signal) na poziciju D bita. Efekat je isti kao
da je 1 iz prvog TE zamenjena sa O iz drugog TE. Oba TE-a (i bilo koji drugi koji mogu, takoe,
da iniciraju slanje) "oslukuju" vraene E bitove. Ako TE detektuje E bit koji se razlikuje od
poslatog D bita, zakljuuje da je neki drugi TE zahvatio D kanal i privremeno obustavlja pokuaje
da dobije D kanal. Ako TE vidi da su se njegovi D bitovi vratili kao eho preko E bitova, nastavlja
slanje du D kanala. Sledei faktor koji ima uticaja je postojanje kanjenje od IO bitova izmeu
slanja D bita i prijema odgovarajueg E bita. Poto su D bitovi u fizikom okviru razdvojeni sa
vie od 10 bitova, odluka se donosi pre nego to se poalje drugi D bit. Ako su prvi i naredni D
bitovi od dvaTE-a isti, obaTE-a nastavljaju da alju bitove sve dok se ne pojavi razlika. U toj taki
neuspeni TE prestaje da alje bitove.
Meu preostalim bitovima u fizikom okviru nalazi se A bit koji predstavlja bit aktivacije i moe
da se koristi za aktiviranje TE-a. Fa i M bitovi se koriste za multiframing, koji omoguava
dodavanje jo jednog kanala (Q kanal). S i N bitovi su rezervisani za budue namene.
ISDN protokol sloja 2, defmisan u dokumentima 1.440 i 1.441, poznat je kao Link Access
Protocol for channel D (LAP-D). Moda se seate da smo ga pomenuli u odeljku 9.2. Veoma je
slian HDLC-u i nema mnogo ega to bi moglo da se kae o njemu, a da ve nije istaknuto u
Poglavlju 9.
Protokol sloja 3, definisan u dokumentima 1.450 i 1.451, ukljuuje tipove i formate ISDN poru-
ka koje se alju preko D kanala, protokole za uspostavljanje i ponitavanje poziva, upravljake
funkcije i podrku uredajima. Ovde emo predstaviti ISDN poruke i kontrolu poziva.
Na slici 13.6 prikazan je format ISDN poruke. Diskriminator protokola omoguava D kanalu da
alje poruke od vie protokola tako da se svaki od njih identifikuje pomou odgovarajue poruke.
Moe da definie X.25 poruke, ili poruke kontrole poziva na relaciji korisnik-mrea, koje emo
uskoro opisati. Ipak, postoje mogunosti za ukljuivanje drugih protokola sloja 3 u doglednoj
budunosti.
Polje CaIl Reference defmie poziv na koji se poruka odnosi. Ovo je neophodno zbog toga to se
D kanal koristi za postavljanje i ponitavanje poziva iz mnogih drugih kanala. Bez njega, ne bi
bilo mogue definisati na koji se poziv kontrola odnosi.
Postavljanje poziva
Postavljanje poziva se ne razlikuje preterano (na ovom nivou rasprave) od ostalih procedura za
inicijalizaciju koje smo do sada predstavili u ovoj knjizi. Na slici 13.7 prikazana je razmena poru-
ka za vreme tipinog postavljanja poziva. Imajte na umu da svaki TE funkcionie u ime korisni-
ka. Moda e Vam biti lake da korisnikom smatrate nekoga ko inicira telefonski poziv preko
mree, sa komutacijom kola.
Kada eli da postavi poziv, korisnik kreira zahtev za TE. Ako napravimo analogiju sa telefonima,
to bi bilo isto kao pritiskanje odgovarajuih tastera za defmisanje eljenog broja. TE reaguje
slanjem Setup poruke do NT-a. Setup poruka sadri razne informacije (izvornu i odredinu
adresu, kanal, da li izvorna adresa treba da se prosleuje i ko e da plati poziv). Kada Setup
poruka stigne na mreu, rutira se u skladu sa SS7 protokolima, tako da se utvruje ruta do
drugog kraja. Osim toga, alje Setup Acknowledge poruku nazad do TE-a. U toj poruci se nalazi
obavetenje da je zahtev za poziv prosleen i zahteva se jo informacija od TE-a ako u Setup
poruci nije bilo dovoljno informacija.
Kada mrea dobije sve potrebne informacije, alje se CaIl Proceeding poruka nazad do TE-a.
U meduvremenu, ako sve proe kako treba, Setup poruka putuje preko mree i stie do
odredinog TE-a, koji, onda, alje Alert poruku nazad do pozivaoca (kako bi se oznailo da je
primio Setup poruku) i obavetava korisnika o dolazeem pozivu.
SLIKA 13.6 Format ISDN poruke na sloju 3
4-bitno polje koje prethodi polju CaIl Reference definie broj bajtova u polju Call Reference. Ovo
je neophodno, zato to osnovni i primarni servisi imaju razliitu duinu polja CaIl Reference.
Polje tipa poruke (Message Type) je jasno samo po sebi. Dokument 1.451 definie oko 30
razliitih tipova poruka - neki od njih su navedeni u tabeli 13.1.
Sadraj i format preostalih polja zavise od tipa poruke i obezbeduju dodatne informacije. Sadre
informacije sline onima koje smo videli u drugim tipovima poruka, kao to su izvorna i
odredina adresa. Osim toga, definiu B kanal, adrese za redirekciju, razloge specifinih poruka i
status poziva.
diskriminator protokola (8 bitova)
0000
broj okteta za
referenciranje poziva (4 bita)
referenca poziva (promenljiva duina)
tip poruke (8 bitova)
dodatne informacije
(promenljiva duina)
U sluaju telefonskog poziva ovo se izvodi generisanjem poznatog zvuka zvona. Kada se Alert
poruka vrati do TE-a koji je inicirao poziv, i poziva uje zvuk zvona.
Kada korisnik odgovori na poziv, pozvani TE alje Connect poruku nazad do pozivaoca. Kada je
primi TE koji je inicirao poziv, zvono na njegovoj strani prestaje i TE odgovara Connect
Acknowledgment porukom. Razmena Connect i Connect Acknovvledgment poruka identifikuje i
potvruje B kanal koji e biti korien i zapoinje period u kome e se raunati cena konverzaci-
je. Svaki TE rutira PCM-kodirani glas na odgovarajui B kanai, kao to je opisano komentaru slike
13.4, i konverzacija poinje.
Poziv se zavrava kada jedan TE poalje Disconnect poruku na mreu, obino nakon to korisnik
spusti slualicu. Mrea rutira poruku i alje Release poruku nazad do TE.
Uspostavljanje poziva
Alert
Call Proceeding
Connect
Connect Acknovvledgment
Setup
Setup Acknovvledgment
Informacije o pozivu
Resume
Resume Acknovvledgment
Resume Reject
Suspend
Suspend Acknovvledgment
Suspend Reject
User Information
Ponitavanje poziva
Disconnect
Release
Release Complete
alje se do TE-a koji je inicirao poziv da bi se ukazalo da je
pozvani TE upozorio svog korisnika na dolazei poziv.
alje ga mrea da bi ukazala da je u toku zahtev za poziv.
alje se do TE-a koji je inicirao poziv da bi se ukazalo da je
poziv prihvaen.
alje ga TE koji je inicirao poziv da bi ukazao na prijem
Connect poruke.
alje ga TE koji je inicirao poziv da bi zahtevao uspostavljanje
poziva.
alje ga mrea do TE-a koji je inicirao poziv, ukazujui da je
prethodna Setup poruka poslata. Osim toga, zahteva od TE-a
koji je inicirao poziv da poalje dodatne informacije radi obrade
zahteva za poziv.
Nastavlja suspendovani poziv.
Potvrda da Je prethodno suspendovani poziv nastavljen
Prethodno suspendovani poziv nije mogao da se nastavi.
Zahtev za suspendovanje poziva
Poziv je suspendovan.
Poziv nije suspendovan.
Koristi se za prenos informacija izmedu dva TE-a.
Zahtev za raskidanje poziva - ovu poruku bi trebalo da prati zaht(
za oslobadanje B kanala
Zahtev za oslobadanje B kanala - izdaje se nakon to korisnik spi
slualicu
Ukazuje da ie B kanal osloboden.
Poziv Znaenie
postavka
pozi vni
TE
dodat ne
i nf or maci j e
pr i j em
upozorenj a
pr i j em konekci j e
potvrda konekci j e
vreme
vreme
vreme vreme
pr i j em pot vrde
konekci j e
povezi vanj e
pri j em upozorenj a
za post avku
pozvani
TE
NT
mrea poruka
posl ata preko
SS7
NT
pot vrda
postavke
pr osl edi vanj e
poziva
SLIKA 13.7 Uspostavljanje ISDN poziva
Nakon toga, TE alje Release Complete poaiku nazad na mreu, oslobaajui B kanal na tom
kraju. Kada na drugi kraj stigne Disconnect poruka, mrea i TE razmenjuju i Release i Release
Complete poruke. Ova procedura oslobaa B kanal i na tom kraju.
irokopojasni ISDN
Digitalna priroda ISDN-a je atraktivna, ali neki ljudi su kritikovali uspostavljanje brzine prenosa
podataka od 64 Kbps za B kanale. Zaista, u eri gigabitskih brzina na LAN-ovima i optikog
fibera, ISDN-ovih 64 Kbps gubi prednost. Zato je ITU-T razvio niz dokumenata u kojima je
opisan irokopojasni ISDN (B-ISDN - broadband ISDN). Namera je da se iskoriste tekue
irokopojasne tehnologije da bi bili obezbeeni servisi neophodni za visoke brzine prenosa
podataka.
Pomou B-ISDN-a mogue je obezbedili nekoliko servisa. Video konferenciranje i video
tekfonija su dva primera. Tekui ISDN standardi mogu da obezbede servis video telefonije, ali
samo na manjim ekranima. Za vee ekrane sa visokim kvalitetom video slike neophodne su jo
vee brzine prenosa podataka. Sledei primer je prikazivanje televizije sa izabranim sadrajem,
koja ve postoji u mnogim oblastima. Pomou svog televizora moete da izaberete ta ete
gledati iz biblioteke filmova. Na kraju perioda za naplatu ispostavlja Vam se raun, u zavisnosti
od Vaeg izbora programa.
Jedan od problema kod B-ISDN-a predstavlja izbor metoda za transfer. ISDN servisi koriste
unapred dodeljene pozicije u okvirima sloja 1 za kanale (seate se slike 13.4). Ovaj pristup, koji
se jo naziva i tnod sinhronog prenosa (STM - synchronous transfer mode), u sutini predstavlja
multipleksiranje sa podelom vremena. Nedostatak je to nedodeljeni kanali dovode do "traenja"
propusnog opsega. Da li drugi kanali mogu da koriste nedodeljeni propusni opseg da bi bile
poveane brzine prenosa?
Sledei pristup koristi mod asinhronog prenosa (ATM - Asynchronous Transfer Mode), proverenu
i iroko primenjenu tehnologiju. ATM je beoma brz protokol sa komutacijom paketa koji koriste
male pakete fiksne veliine (nazivaju se elije), optimizovane za multimediju. Uspostavlja logike
konekcije sline X.25 i Frame Relay protokolima (predstavljeni su u sledeem odeljku), ali mala
fiksna veliina paketa omoguava kreiranje i rutiranje pomou osnovnog hardvera. Osim toga,
umesto da se unapred vri dodela slotova za elije kanala, slotovi se dodeljuju aplikacijama
kojima su potrebni. Prednost je to se prazni slotovi mogu iskoristiti. Nedostaci su dodatna
sloenost i injenica da svaki slol zahteva zaglavlje. Na primer, u zaglavlju se definie virutelno
kolo, tako da se ATM pakeli mogu brzo rutirati. ATM emo predstaviti neto kasnije u ovom
poglavlju.
13.3 Protokoli za virtuelna kola: X.25 i Frame Relay
Mnoge evropske zemlje su 70-ih godina prolog veka poele da razvijaju javne mree za prenos
podataka, dostupne svima kojima su neophodni mreni servisi. One su se suoile sa drugaijim
problemima u poredenju sa onim koji su postojali u Sjedinjenim Amerikim Dravama, gde su
javne mree razvijene delimino preko iznajmljenih postojeclh telefonskih linija. U Evropi je
postojao problem postavljanja komunikacionih sistema preko medunarodnih granica. Tako SU,
umesto da razvijaju zasebne i nekompatibilne standarde, evropske zemlje, pod pokroviteljstvom
ITU-a razvijale jedan standard. Rezultat je oznaen kao X serija protokola, od kojih jedan (X.25)
predstavljamo u ovom odeljku.
X.25 protokol je dizajniran u ranim danima kompjuterskih mrea i njegov razvoj je prouzroko-
valo nekoliko faktora. Na primer, personalni kompjuteri nisu bili uobiajeni i veina ljudi je
koristila neme terminale (bez centralne procesorske jedinice) kao interfejse ka mrei. Osim toga,
mnoge komunikacione linije su bile analogne i imale su visoku uestalost pojave greaka.
Naravno, ti uslovi vie danas ne vae, tako da se X.2S vie ne koristi u irokoj meri. Ovo namee
logino pitanje zato treba prouavati stari protokol. Postoje brojni razlozi, a jedan je to je
posluio kao osnova za drugi, ire korieni protokol - za Frame Relay. U stvari, mnogi Frame
Relay smatraju zamenom za X.25. Zbog toga, najpre dajemo opti pregled X.25 protokola, a
zatim emo prei na Frame Relay.
Mree su obino mree sa komutacijom paketa (packet-switched netvvorks), to je predstavljeno
oblakom na slici 13.8. Funkcioniu tako to prenose pakete koji su im predati na jednom delu obla-
ka i rutiraju ih ka njihovim odreditima. Odluke o rutiranju obino donosi logika za komutaciju
(kola) u vorovima mree. Mi posmatramo sve ovo iz perspektive nekoga ko ostvaruje interakciju sa
mreom. Paketi ulaze na mreu preko take A, a izlaze u takama B, C, ili D. Ne moramo nuno da
znamo (ili da brinemo) kako su tu stigli. Na glavni cilj je da definiemo logiku konekciju izmeu
izvora i odredita.
SLIKA 13.9 Preklopljena virtuelna kola
B
A
C
mrea sa komutacijom paketa
D
Vi r t uel no kol o 1
Vi r t uel no kol o 2
SLIKA 13.8 Mrea sa komutacijom paketa
Modovi mrea sa komutacijom paketa
Virtuelna kola Mree sa komutacijom paketa obino funkcioniu u jednom od dva mogua
moda. Prvi mod podrazumeva uspostavljanje virtuelnog kola izmeu dve take. Ovo je donekle
analogno kreiranju telefonske veze izmeu dva oveka. Ureaj povezan na mreu zahteva
konekciju sa uredajem na nekoj drugoj lokaciji. Ovaj zahtev se aitira preko mrenih vorova,
uspostavljajui putanju izmeu pozivaoca i odredita. Svi naredni paketi koje pozivalac alje
slede istu putanju.
Ipak, konekcija nije samo fizika. Konekcije izmedu vorova nisu rezervisane iskljuivo za jedno
virtuelno kolo. U stvari, vor i njegova konekcija ka susedu mogu da uestvuju u nekoliko
virtuelnih kola. Na slici 13.9 prikazana su dva preklopljena virtuelna kola. I A i B su zahtevali
uspostavljanje konekcije sa C i D, respektivno.
A
mrea s.a
komut aci j on
paketa
B
C
D
Putanje zapoinju na razliitim lokacijama, ali se preklapaju u vorovima X i Y. X upravlja pake-
tima koji odgovaraju bilo kojem virtuelnom kolu i rutira ih do Y. Y rutira pakete u zavisnosti od
toga iz kojeg virtuelnog kola dolaze.
Poto se putanje virtuelnih kola mogu preklapati, svaki vor mora da bude sposoban da utvrdi
kojem virtuelnom kolu pripada dolazei paket. Kako inicijalni zahtev za konekciju prolazi kroz
svaki vor, vor dodeljuje broj svakom virtuelnom kolu, utvrdujui sledei vor kome treba
poslati zahtev i tako se kreiraju zapisi u tabeli rutiranja. Tabela rutiranja sadri broj svakog
virtuelnog kola i sledei vor na odgovarajuoj putanji.
Napomenimo da svaki vor virtuelnim kolima nezavisno dodeljuje brojeve, pa se isto virtuelno kolo
u razliitim vorovima moda identifikuje razliitim brojevima. Zbog toga, svaki vor informie svog
prethodnika u virtuelnom kolu koji broj koristi za dolazee pakete. Tako prethodni vor zna koji se
broj virtuelnog kola dodeljuje u sledeem voru i smela ga u paket. Dakle, dolaze paketi sadre
broj virtuelnog kola koje se stie u vor. Logika za rutiranje u voru pristupa zapisu u tabeli rutiranja
koji odgovara tom broju i alje ga do sledeeg vora. Ako se u sledeem delu virtuelnog kola koristi
drugi broj, vor ga smeta u paket. Na primer, na slici 13.10 prikazan je put paketa kroz sva
virtuelna kola sa slike 13.9. Virtuelnom kolu izmedu A i C dodeljeni su brojevi 1 (od X), 5 (od Y) i
3 (od C). KoIu izmedu B i D dodeljeni su brojevi 2 (od X), 3 (od Y) i 1 (od D).
U tabeli 13.2 prikazani su relevantni zapisi u tabelama rutiranja vorova X i Y. I'aket koji dolazi
u X iz A kao broj virtuelnog kola sadri 1. Tabela rutiranja vora X ukazuje da je sledei vor Y i
da on kao broj virtuelnog kola koristi 5. Zbog toga, X smeta 5 u paket i alje ga do Y. Paket koji
dolazi u Y iz X moe da sadri broj virtuelnog kola 5, ili 3. Ako sadri broj 5, tabela rutiranja vora
Y nalae da sledei vor bude C, a broj odlazeeg virtuelnog kola treba da bude 3. Ako sadri broj
3, onda je sledei vor D, a broj odlazeeg virtuelnog kola je 1.
SLIKA 13.10 Slanje paketa du virtuelnog kola
Tabela rutiranja za vor Y Tabela rutiranja za vor X
Broj
dolazeeg
VC-a
Broj
odlazeeg
VC-a Sledei vor
Broj
dolazeeg
VC-a
Broj
odlazeeg
VC-a
Sledei
vor
1
2
5
3
Y
Y
5
3
3
1
C
D
/C-virtuelno koio
Servis datagrama Prednost virtuelnih kola je to se odluke o rutiranju donose samo jednom
za svako kolo, ime se eliminie potreba za donoenje takvih odluka za svaki paket. Moda ete
pomisliti da je ovo izuzetna prednost kada se alje vie paketa. ipak, moda vai upravo
suprotno, jer vei broj paketa obino znai da e protei vie vremena dok se kolo ne uspostavi.
Zbog toga, uslovi koji su neku putanju definisali kao dobru moda vie ne vae. Odnosno, uslovi
mogu da se promene tako da tekua putanja traje due. Rezultat je u tom sluaju redukovanje
efikasnosti.
Sledea opcija je servis datagrama kod koga svaki paket sadri izvornu i odredinu adresu. Kada
paket ude na mreu, vorovi primenjuju logiku za rutiranje na svaki paket zasebno, koristei
najnovije informacije za rutiranje. Ovaj pristup smo ve obradili tako da ga neemo ponavljati.
U tabeli 13.3 navedene su neke prednosti i nedostaci virtuelnih kola i datagrama.
Pomae spreavanje zaguenja. Poto vor
zna da je deo virtueinog kola, moe da
rezervie prostor za predvideni dolazak paketa.
Ako je virtuelno kolo isuvie dugo otvoreno,
tekua putanja moda nije najbolja sa stanovit
tekuih uslova na mrei.
Odluka o rutiranju se donosi samo jednom za
svaki skup paketa i alje se zajedno sa paketom.
Paketi stiu istim redosledom kojim su poslati.
"Otkaz" vora prekida konekciju virtuelnog kola,
izazivajui gubitak paketa.
Neoekivani paketi mogu da oteaju
kontrolu zaguenja.
vorovi rutiraju svaki paket, koristed
najnovije informacije o stanju na mrei.
Donose se zasebne odluke o rutiranju za
svako virtuelno kolo.
Paketi mogu da stignu van redosleda, tako
da je neophodno preureivanje u odreditu.
Ako vor "otkae", paketi mogu da se
rutiraju tako da ga zaobiu.
SLIKA 13.12 Slojevi X.25 protokola
sl oj
mree
sl oj veze
f i zi ki sl oj
sl oj
mree
sl oj veze
f i zi ki sl oj
X. 21, i l i X.21 bi s
LAPB
sl oj paket a
SLIKA 13.11 Interfejs za javnu mreu za razmenu podataka sa X.25 protokolom
X.25 standard za interfejse
Znaajan deo rada sa mreama jeste njihov interfejs. Jedan takav interfejs je ITU X.25 standard.
Mnogi ljudi koriste termin X.25 mrea, tako da neki veruju da X.25 defmie mrene protokole,
to nije tano. X.25 definie protokol izmeu DTE-a i DCE-a koji su povezani na mreu (slika
13.11). Napominjemo da su ranije verzije bile fokusirane uglavnom na asimetrinu DTE-DCE
relaciju. U kasnijim verzijama je prepoznata potreba za peer-to-peer komunikacijama izmeu dva
DTE-a. Zato X,25 moe da se koristi striktno kao interfejs korisnika-ka-mrel, ili kao konekcija
izmeu dva korisnika preko mree.
X.25 definie sinhroni prenos analogan onome sa tri najnia sloja OSI modela (slika 13.12). Sloj
mree prihvata podatke i postavlja ih u X.25 paket. X.25 paket je prenet do sloja veze, gde se
ugraduje u LAPB okvir (LAPB je defmisan u odeljku 9.2). Nakon toga, fiziki sloj prenosi LAPB
okvir pomou X.21 protokola, koji je prikazan u odeljku 4.4.
X.25 protokol
pr ot okol def i ni san
u. skl adu sa mr eom
mrea sa
komut aci j om
paket a
X.25 protokol
SLIKA 13.13 Formati X.25 paketa
1
(b) Kontrolni paket
flegovi, broj logike grupe broi logikog kanala tip paketa ostale informacije
promenljiva duina 1 1 1
broj bajtova
(a) Paket sa podacima
flegovi, broj logike grupe
broj logikog kanala kontrola podaci
promenljiva duina 1, ili 2 1
broj bajtova
Alternativno, X.25 moe da koristi X.21bis standard, koji je dizajniran kao privremeni standard
za povezivanje V serija modema sa mreama sa komutacijom paketa. X.21 standard je trebalo da
ga zameni, ali se to nije desilo. Opirnije razmatranja o X.21bis standardu moete da pronadete
u referenci [Bl950. U nekim sluajevima X.25 moe ak da koristi i EIA-232 protokol.
Poto smo ve predstavili dva nia sloja, ovde emo se fokusirati samo na protokol razmene pake
ta na sloju mree.
Format paketa Prvi korak je definisanje formata paketa. Kao i kod prethodnih protokola, oni
se razlikuju u zavisnosti od tipa paketa. Na slici 13.13 prikazana su dva primarna. Sledi pregled
relevantnih polja u paketu:
Flegovi Prva etiri bita definiu General Format lndicator (GFI) i, do odreene mere,
format paketa. Na primer, dva bita definiu da li se 3-bitn,i ili 7-bitni brojevi koriste
za sekvenciranje i potvrde. Sledei bit, nazvan D bitom, definie kako se interpretiraju
potvrde. Ako je D bit O, potvrda dolazi od DCE-a. Ako je D bit I, potie od udaljenog
DTE-a. Tako D bit utvrduje da li se kontrola toka izvodi za DTE-DCE konekciju, ili za
logiku konekciju sa udaljenim DTE-om.
Broj logike grupe (Logical Group Number) i Broj logikog kanala (Logical
Channel Number) Ova dva polja zajedno definiu 12-bitni broj za virtuelno kolo koje
je DTE uspostavio. Na ovaj nain, DTE moe da uspostavi do 4.096 virtuelnih kola.
Kontrola (Control) (paket sa podacima) Sadri 3-bitne, ili 7-bitne brojeve sekvence i
potvrda koji se koriste za kontrolu toka. X.25 kontrola toka koristi prozore i ne
razlikuje se znaajno od kontrole toka kod ranije prikazanih protokola.
Ovo polje sadri i bit koji se postavlja u poslednjoj seriji paketa kako bi se ukazalo na kraj niza
paketa.
Podaci (Data) (paket sa podacima) Ovo polje je jasno samo po sebi.
Tip paketa (Packet Type) (kontrolni paket) Postoji nekoliko tipova paketa; neki od
njih su definisani u tabeli 13.4.
Virtuelni pozivi X.25 obezbeuje dva tipa vittuelnih kola izmedu DTE-a. Permanentno
virtuelno kolo je slino iznajmljenoj telefonskoj liniji: bilo koji DTE moe da alje podatke bez
dodatnih trokova za kreiranje i uspostavljanje poziva. Ovo je izuzelno korisno kada je potrebno
preneti veliku koliinu podataka. Virtuelni poziv, drugi tip, zahteva izvravanje protokola za
nadmetanje pre transfera bilo kakvih podataka.
Na slici 13.14 prikazani su povezivanje poziva i okonavanje procesa izmedu dva DTE-a (da bismo
ouvali saetost u ovoj knjizi, nismo prikazali DCE-e, ili mreu, ali ne zaboravite da su i oni
prisutni). DTE koji treba da inicira poziv konstruie CaIl Rec/uest paket koji sadri broj virtuelnog pozi-
va (ili logikog kanala) i alje ga preko svog DCE-a i mree. Kada prijemni DCE dobije paket, on
zahtevu dodeljuje broj virtuelnog poziva i isporuuje paket do prijemnog DTE-a. Napomenimo da
se ne zahteva da brojevi kanala moraju da budu isti na oba kraja. Kao to je ranije opisano, oni se
definiu dinamiki. Ako je taj DTE spreman i sposoban da prihvati poziv, on alje CaIl Accepted paket.
Kada prvi DTE primi CaIl Accepted paket, virtuelni poziv je uspostavljen.
Zatim, DTE-i razmenjuju pakete sa podacima i potvrdama u full-duplex modu, koristei kontrolu
toka slinu onoj koja se koristi kod HDLC-a (videti odeljak 9.2). Kada bilo koji DTE odlui da
okona konekciju (DTE A sa slike 13.14), on kreira i alje Clear Request paket. Lokalni DCE
reaguje tako to alje Clear Request paket do udaljenog DTE-a i odgovara svom lokalnom DTE-u
slanjem Clear Confirmation paketa. to se tia lokalnog DTE-a, virtuelni poziv je okonan i broj
logikog kanala je raspoloiv za budue pozive.
Call Request
Call Accepted
Data
Clear Request
Clear Confirmation
Kada DTE treba da uspostavi konekciju (poziva drugi DTE), on alje Call
Request paket.
Ako pozvani DTE prihvata poziv, to potvruje vraanjem Call Accepted (ili
Call Confirmation) paketa.
Koristi se za transfer podataka protokola visokog nivoa izmedu DTE-a.
Obino postoji do 128 bajtova podataka, ali protokoli za usaglaavanje
mogu da se dogovore o transferu do 4.096 bajtova u paketu.
alje ga vor koji eli da okona virtuelno kolo. Osim toga, moe da se
koristi ako DTE ne eli da prihvati poziv. Prijemni DTE ovaj paket vidi kao
Clear lndication paket.
alje se kao odgovor na Clear Request paket.
Funkcna
TIp
Slanje paketa sa naznakom
prihvaenog poziva
Prijem paketa za
zahtevom za poziv
Slanje paketa sa
saglasnou za prekid
Prijem paketa sa
zahtevom za prekid
vreme
Virtuelno kolo
je okonano vreme
Slanje paketa sa
saglasnou za prekid
Razmena paketa sa
podacima/pohMama pomou
kontrole toka sline
onoj kod HDLC-a
Virtuelno kolo Je uspostavlieno
Prijem paketa
za zahtevom za poziv
Slanje paketa sa naznakom
prihvaenog poziva
Prijem paketa sa
zahtevom za prekid
Slanje paketa sa
saglasnou za prekid
DTEA
DTE B
SLIKA 13.14 Virtuelni poziv
Na kraju, udaljeni DTE prima Clear Request paket. On ga vidi kao Clear Indication paket i odgo-
vara slanjem Clear Confirmation paketa do svog DCE-a. Taj DCE brie i broj kanala, oslobadajui
ga za druge pozive.
Iako je ranije iroko korien, X.25 je bio izloen brojnim kritikama. Na primer, jedna od najoz-
biljnijih zamerki je bila to su protokoli zasnovani na X.25 standardu nudili samo konekciji ori-
jendsani servis. Druga zamerka se ticala nekompletnosti sloja mree (sloj 3), koji je, u stvari,
sadravao karakteristike koje se nalaze u protokolima vieg sloja. Na primer, sloj 3 OSI modela
obezbeduje karakteristike za rutiranje, dok sloj 3 kod X.25 nema takve mogunosti. Osim toga,
X.2S obezbeduje neke konekciji orijentisane karakteristike sa udaljenim DTE-om. Poto su
konekcije izmeu krajnjih korisnika karakteristine za protokole sloja 4, neki su ovo videli kao
spajanje dva sloja u jedan, ime se gubi jasna razlika izmedu slojeva koji su definisani OSi mod-
elom.
Frame Relay
Frame Relay ima neke zajednike karakteristike sa X.25 standardom, ali ima i neke jedinstvene
karakteristike;
Dizajniran je tako da bude eftkasan i da maksimizira propusnost okvira (broj okvira
koji se prosleduje u jedinici vremena).
Defmie WAN infrastrukturu. Masovno ga koriste telefonske kompanije, a tipinu
primenu nalazi kod povezivanja LAN-ova.
SLIKA 13.15 Korienje Frame Relay mree za povezivanje LAN-ova
komutator komutator
frame relay mrea
0 ruter, ili most
Kao i X.25, podrava i permanentno virtuelno kolo (PVC) i komutirano virtuelno kolo
(SVC - svvitched virtual circuit). Ako se koristi X.25 terminologija, druga opcija je
oznaena kao virtuelni poziv.
Za razliku od X.25, ne obezbeuje kontrolu greaka. Glavni razlog je to se prenos
okvira izvodi preko digitalne opreme, kao to su optiki fiberi. Kod takve opreme
greke su veoma retke.
Ne obezbeuje kontrolu toka. Pretpostavlja se da se sva kontrola toka regulie na
viim slojevima kod krajnjih korisnika. Poto su personalni kompjuteri i serveri zame-
nili neme terminale kod mrenih konekcija, ova pretpostavka je opravdana.
Originalno je bio dizajniran za brzine koje postie Tl, mada moe da dostigne i
brzine zaT3.
Dizajniran je za sporadini saobraaj. Korisnik moe da prenese veu koliinu podata-
ka u kratkom periodu, a zatim se nita ne deava u sledeem periodu. Ovo je tipino
za situacije kada klijent zadaje upite za bazu podataka, ili preuzima slike sa ekrana.
Moda je najznaajnija razlika u injenici da Frame Relay funkcionie samo na slojevi-
ma 1 i 2, to je znaajan faktor za redukovanje trokova protokola. U stvari, poto ne
implementira kontrolu toka, ili kontrolu greaka, ne implementira ni mnoge funkcije
sloja 2 koje smo ranije opisali.
Na slici 13.15 prikazana je uobiajena primena Frame Relay protokola u mrenom okruenju. Da bi
se povezalo vie LAN-ova iz razliitih organizacija, Tl linija moe da se koristi kao na slici 13.15a.
Medutim, postoji potencijalni problem. Seate da smo u Poglavlju naglasili da se kanal (deo Tl
propusnog opsega) rezervie za svaku konekciju. Ovo je korisno ako se podaci neprestano
prenose pomou konekcije. Meutim, ako je prenos sporadian, postojae periodi kada se taj deo
propusnog opsega ne koristi i konekcija nije dovoljno iskoriena. Na slici 13.15b prikazana je
frame relay mrea koja povezuje LAN-ove. Ruter iz svakog LAN-a je povezan na frame relay
komutator i on alje podatke. Frame relay protokoli u svakom komutatoru na mrei prenose
podatke do njihovih odredita. Dodatna karakteristika je to korisnik moe da priuti sebi
odreenu brzinu prenosa podataka preko frame relay mree. Ovo znai da su mreni protokoli
obavezni da obezbede bitsku brzinu koju je korisnik platio. Korisnik koji plati vie moe da
koristi istu mreu za slanje podataka na veim brzinama od korisnika koji plati manji iznos.
Ubrzo emo opisati kako ovo funkcionie.
Format okvira Ponimo opisom formata frame relay okvira (slika 13.16). On podsea na
HDLC okvir, ali to nije nita udno, jer se deo sloja 2 kod frame relay protokola zasniva na
LAPD-u, varijanti HDLC-a.
Oba polja za flegove sadre delimitere za poetak i kraj okvira, kao i kod HDLC-a. U sluaju da
se ovi flegovi jave u drugim delovima okvira, koristi se dopunjavanje bitova da bi taj uzorak bio
transparentan za frame relay protokol. CRC polje koristi 16-bitni ITU-T V.41 generator polinoma
x
16
+ x
12
+ x
5
+ 1 za proveru greaka. Ovo moda deluje kontradiktorno, jer smo ranije istakli da
nema kontrole greaka. Frame relay ne proverava greke koristei CRC metod iz Poglavlja 6;
medutim, ako detektuje greku, on jednostavno odbacuje okvir. Ovo nije toliko ozbiljno kao to
zvui. Filozofija se zasniva na injenici da su dananje mree izuzetno pouzdane, tako da bi
implementiranje kontrole greaka uvelo dodatne trokove sa malim dobitkom. Ako doe do tih
retkih greaka, okvir se jednostavno odbacuje. Protokol na viem sloju e sigurno detektovati tu
greku i reiti nastali problem. Kompromis je napravljen na raun jednostavnijeg protokola sloja
2 i breg prosledivanja okvira. Polje podataka (Data) je, kao i obino, jasno samo po sebi.
Maksimalna veliina ovog polja zavisi od proizvoaa i moe da bude i 4.096 bajtova.
Ovo nas dovodi do polja kontrole (Control). U nekim referencama ono se oznaava kao
adresno polje (Address), jer sadri informacije za rutiranje. Ipak, ne sadri adresu kao takvu i
ukljuuje neke kontrolne bitove koji se koriste za specijalno upravljanje, ili za ukazivanje na
pojavu zaguenja. Kontrolno polje sadri sledee:
Data Link Connection Identifier (DLCI) U stvari, postoji 6-bitno DLCI polje u
prvom i 4-bitno DLCI polje u drugom bajtu. 4-bitno DLCI polje je ekstenzija za
6-bitno DLCI polje;y zajedno defmiu 10-bitni broj virtuelnog kola preko koga okvir
putuje.
broj bajtova: 1 2 promenljiva duina 2 1
flegovi CRC
podaci
kontrolni
bitovi
flegovi
SLIKA 13.16 Format Frame Relay okvira
Ako je kolo PVC, provajder dodeljuje broj. Ako se koristi SVC, broj se dodeljuje za vreme postavljanja
poziva. Logika u svakom frame relay komutatoru ispituje 10-bitni broj virtuelnog kola i rutira okvir
u skladu sa njim. Ovaj pristup je veoma slian onome koji se korisli kod X.25 i zato ga ovde neemo
ponavljati. Zato je DLCI polje podeljeno? Objanjenje sledeih polja e dati odgovor na to pitanje.
Extended Address (EA) Postoji EA bit na kraju svakog bajla. Ovo omoguava
kontrolnom polju da proiri i postigne DLCI vrednosti vee od 10 bitova (omoguen
je vei broj virtuelnih kola). U naoj tekuoj konfiguraciji (slika 13.16), prvi EAbit je
0, a drugi je 1. Ako je potrebna proirena DLCI vrednost, drugi EA bit bi bio 0, ime se
ukazuje na trei bajt u kontrolnom polju (koji bi imao jo DLCI bitova i sledei EA
bit). Ako je potrebno koristiti etiri bajta, onda bi EA bit u treem bajtu bio 0, a etvrti
bajt bi imao jo 6 DLCI bitova.
Fonvard Explicit Congestion Notification (FECN) i Backvvard Explicit Congestion
Notification (BECN) Jedan, ili oba bita su postavljena kada frame relay komutator
detektuje zaguenje. Uskoro emo prikazati kontrolu zaguenja.
Discard Eligibility (DE) Vrednost 0 ukazuje na visoki prioritet: Frame relay mora da
uini sve da se okvir isporui. Vrednost 1 ukazuje na nizak prioritet. Komutator moe,
pod odgovarajuim uslovima, da ispusti okvir niskog prioriteta. Uskoro ete videti
kako protokol ovo koristi za obezbeivanje naznaene bitske brzine za korisnika i
kako se izvodi kontrola zaguenja.
Command/Response Indicator (C/R) Ovo je 1-bitno polje koje zavisi od vieg sloja.
Moe, na primer, da koristi bit da bi se ukazalo da li je okvir komanda, ili odgovor na
prethodnu komandu.
Angaovana brzina prenosa informacija (CIR) Znaajan deo frame relay protokola je
angaovana brzina prenosa informacija (CIR - committed information rate). Meri se brojem
bitova u sekundi i predstavlja propusni opseg koji je frame relay rezervisao za obezbedivanje
prenosa preko virtuelnog kola. Ako korisnik iznajmi PVC, cena moe da zavisi od CIR-a. Korisnik
plaa vie za veu bitsku brzinu. Ako korisnik generie podatke na CIR, ili ispod njega, onda je
propusni opseg dovoljan da iznese tu koliinu podataka. Ukoliko korisnik generie podatke
veom brzinom, nema nikakvih garancija. Podaci mogu, ali i ne moraju da se isporue, u
zavisnosti od uslova na mrei.
Postoji i nekoliko drugih parametara koje moramo da defmiemo da bismo objasnili kako ovo
funkcionie:
Vremenski interval T
1
koji se koristi za merenje bitskih brzina i naglih poveanja
saobraaja
Angaovana veliina naglog poveanja saobraaja B
c
, meri se bitovima. Ako korisnik
generie B
c
bitova u toku T, postoji dovoljan propusni opseg za njihovu isporuku. B
c
, T
i ClR su povezani formulom CIR = B
c
/T.
Viak naglog poveanja saobraaja B
e
- Ovo je broj bitova koji predstavljaju viak u
odnosu na B
1
. koje korisnik moe da generie u toku intervala T. Frame relay moe da
ih isporui ako postoji dovoljna koliina propusnog opsega.
Da biste videli kako ovo funkcionie, pretpostavimo da korisnik alje okvire do frame relay
komutatora. Virtuelno kolo je ve postavljeno i dodeljen mu je CIR. Sve dok ukupni broj bitova
u okvirima ne prelazi B
c
u toku intervala T
1
oni se tretiraju kao okviri visokog priorketa.
Odnosno, komutator postavlja DE bit u svakom okviru na 0. Tako se drugim komutatorima
ukazuje da su ovi okviri visokog prioriteta i da treba obavezno da ih isporue. Ako u toku
perioda T broj bitova premauje B
0
(ali je i dalje manji od B
c
+ BJ, komutator postavlja DE bit na
1. Okvir i dalje "putuje" preko virtuelnog kola; medutim, komutator moe da odbaci okvir iji je
DE bit postavljen na 1 ako utvrdi da dolazi do zaguenja. Ako korisnik poalje vie od B
0
+ B
1
,
bitova u toku intervala T
1
viak okvira se odmah odbacuje.
Na slici 13.17 prikazan je primer. Pretpostavimo sluaj u kome je T = 1 sekunda, CIR = 10.000
bps, B
c
= 10.000 bitova, B
1
, = 2.000 bitova i veliina okvira je 2.000 bitova. Poevi od trenutka t
= 0, korisnik alje pet okvira. Ukupan broj bitova je jednak B
c
, i komutator postavlja DE bit u
svakom okviru na 0. Ako korisnik ne poalje jo okvira, onda se generisanje podataka koji se
nalaze u okviru CIR deava u periodu duine T. Medutim, ako korisnik poalje jo okvira pre
trenutka t = 1, on zahteva bitsku brzinu koja premauje CIR. Frame relay je spreman da dopusti
poveanje do te take, ali ne daje nikakve garancije. Kao rezultat, komutator postavlja DE bit u
estom okviru na 1, Ipak, vrednost B od 2.000 bitova ukazuje da je ovo poslednji okvir u
periodu T koji e frame relay pokuati da isporui. Komutator e odbaciti sve okvire koje
korisnik isporui pre trenutka t = 1. Kada doe trenutak t = 1, korisniku e ponovo biti doputeno
da poalje sledeih pet okvira visokog prioriteta (DE bit = 0) i jedan okvir niskog prioriteta
(DE bit = 1) do trenutka t = 2. Osnovna ideja je da je frame relay rezervisao 10.000 bitova u
sekundi propusnog opsega i da e pokuati da "izade na kraj" (ako to uslovi doputaju) sa najvie
12.000 bitova u sekundi. Svi bitovi preko tog broja u odredenom periodu T se odbacuju.
Kontrola zaguenja
Poto frame relay ne implementira kontrolu toka izmeu komutatora, zaguenje moe da bude
problem. Sreom, frame relay ima nekoliko naina da to rei. Prvo logino pitanje moe da bude
kako komutator utvrduje da postoji zaguenje. Svaki izlazni port ima bafer, ili red ekanja u koji
smeta okvire. Okviri ekaju u redu sve dok ne dode vreme da budu prosleeni.
SLIKA 13.17 Utvrivanje okvira koji e biti poslati i njihovog prioriteta
Parametri: T= 1
CIR= 10.000 bps
Bc= 10.000 bitova
Be = 2.000 bitova
Veliina okvira = 2.000 bitova
T = O
Slanje pet okvira,
svaki sa DE = 0
Slanje jednog
okvira sa DE = I
Odbacivanje svih
okvira koji su poslati
u ovom periodu
Mogue je slanje pet
slededh okvira,
svaki sa DE = 0
T= 1 vreme
SLIKA 13.18 Postavljanje FECN/BECN bitova zbog zaguenja
izvor
komutator
okvir: BECN postavljen
zagueni port
okvir: FECN postavljen
odredite
Ako broj okvira u redu premai ustanovljenu granicu, postoji opasnost od prekoraenja. Drugim
reima, postoji suvie veliki broj okvira i odlazei port je zaguen.
Jedna od moguih reakcija na zaguenje je odbacivanje svih okvira kod kojih je DE bit
postavljen na 1. Medutim, problem moe da nastane zbog toga to protokoli krajnjih korisnika
uvode suvie veliku koliinu informacija na mreu. Ako odgovarajui predajni i prijemni
protokoli redukuju koliinu okvira koje razmenjuju (vre kontrolu toka na viem sloju), ovo bi
redukovalo zaguenje. Zato frame relay sadri nain da se protokol krajnjeg korisnika obavesti o
problemima zaguenja pomou FECN i BECN bitova u okviru.
Na slici 13.18 prikazano je kako ovo funkcionie. Pretpostavimo da virtuelno kolo od izvora do
odredita ide preko komutatora sa slike. Pretpostavimo i da dolazi do zaguenja na odlazeem
portu u smeru odredita. Ako se okvir prosleuje preko tog porta, komutator postavlja njegov
FECN bit na 1. Kada taj okvir stigne na odredite, prijemni protokoli mogu da utvrde da postoji
zaguenje virtuelnog kola u tom smeru. Imajte na umu da okviri preko virtuelnog kola putuju u
oba smera. Ako primi okvir sa zaguenog porta, komutator postavlja BECN bit na I. Kada taj
okvir stigne u izvor, predajni protokoli mogu da zakljue da je dolo do zaguenja virtuelnog kola
u suprotnom smeru. Znaajno je to oba kraja virtuelnog kola mogu da detektuju da je dolo do
zaguenja i u kojem smeru. Napomenimo da zaguenje moe da se desi samo u jednom smeru.
Kako ovo moe da pomogne? Zavisi od viih slojeva. Ako kontrola toka kod predajnog protoko-
Ia (na viem sloju) detektuje zaguenje, moe da redukuje svoj prozor i da redukuje broj okvira
koje alje. Moe ak i da prestane da elje okvire u odredenom periodu. Ako kontrola toka pri-
jemnog protokola detektuje zaguenje, moe da odloi slanje potvrde. Ako odgovarajui
poiljalac eka due na potvrdu, on e poslati manji broj okvira u jedinici vremena. Ako istekne
vreme za okvire poiljaoca, poiljalac moe da povea vrednost brojaa, ili da smanji veliinu
prozora, ili oboje. Sledea opcija (na primer, sa TCP-jem) je da prijemni protokol redukuje svoj
kredit. Kada predajna strana redukuje kredit, reaguje smanjivanjem svog prozora.
Naravno, ovo je samo osnovno upoznavanje tehnologije u razvoju; postoje brojni detalji koje
nismo obuhvatili, kao to su prenos glasa preko frame relay protokola, opirnije poredenje sa
X.25 i ATM, problemi konfigurisanja i detaljnije objanjenje kontrole zaguenja. Zainteresovani
itaoci mogu da pronadu vie informacija u referencama [BlOO], [Hu03], [St99] i [McOl].
13.4 Asinhroni prenos
Uticaj koji je Intemet imao na ceo svet skoro je nemerljiv. Bez dvoumljenja moe da se kae da
je uneo "revoluciju" u nain meusobne komunikacije meu ljudima, traenje i organizovanje
informacija, korienje slobodnog vremena i, uopte, nain na koji obavljamo svoje poslove.
U prethodnoj deceniji on je zabeleio ogroman napredak (postoje neke procene da se
udvostruavao na svakih 18 meseci). Internet je veoma dobar u onome za ta je dizajniran: u
obezbeivanju sredstava za deljenje ogromne koliine informacija izmedu razliitih sistema.
Ipak, neki su postavili pitanja u vezi njegove mogunosti da ispuni zahteve korisnika u
budunosti. Ve smo razmotrili aspekte zastarevanja lnternet protokola (IP) i razvoj IPv6 kako bi
se zahtevi ispunili. Kreatori IPv6 su veoma naporno radili da bi se prevazilo zaslarevanje IP-ja i
obavile pripreme za globalnu komunikacionu mreu 21. veka. Kljuni problemi u dizajnu IPvG
bilo je obezbedivanje poveanja brzine kojom se IP paketi mogu rutirati preko Interneta.
Meutim, u poslednjoj deceniji je dolo do neverovatnog napretka video i glasovnih komu-
nikacija. Neki tvrde da za takve aplikacije IPv6 nee biti adekvatan, ak ni sa protokolima kao to
su RTP i RSVP (videti Poglavlje 11). itaoci treba da budu svesni da ovde ne mislimo na situaci-
je u kojima se korisniku omoguava da pristupi video fajlu (setite se MPEG-a) i da ga pokree
lokalno. Video aplikacie o kojima ovde govorimo podrazumevaju mogunost prikazivanja videa
u real-time modu.
ledan primer je prikazivanje videa na zahtev, kod koga korisnik moe da zahteva prikazivanje
filma u vreme koje njemu odgovara. Provajder uva digitalizovanu kopiju filma i prenosi je do
korisnika, koji je gleda dok se prenosi. Sledei primer su video konferencije. Zamislhe da sedite
za personalnim kompjuterom iji je ekran podeljen na nekoliko prozora, u kojima se nalaze slike
drugih osoba. Svaka od tih osoba ima iste mogunosti. Moete da govorite u mikrofon i svaka od
njih moe da Vas vidi i uje dok govorite. Slino tome, i Vi moete da ih vidite i ujete. Osim to
se koriste male slike na ekranu, isto je kao da se svi nalazite u istoj prostoriji i uestvujete u
konverzaciji (sledea prednost moe da bude pozivanje lokalnog programa za crtanje brkova i
spojenih obrva onima koji nastoje da dominiraju u konverzaciji).
Ovakve aplikacije zahtevaju mnogo vie od brze isporuke digitalizovanog glasa i slika. Zahtevaju
isporuku sa ogranienjima koje namee prikazivanje u realnom vremenu, tj. konzistentan i
predvidljiv tok informacija. Ukoliko postoje, kanjenja moraju da budu veoma mala, jedva
primetna, jer izazivaju pauze u reenicama, ili video efekat slian onome iz filmova u kojima su
video slikeizgledale, u stvari, kao sekvence nepokretnih slika. Neki su smatrali da IP nee moi da
zadovolji ova ogranienja i da je tehnologija Asynchronous Transfer Mode (ATM) budunost za
audio i video aplikacije.
ATM je dizajniran tako da podsea na tehnologiju sa komutacijom kola kod telefonskog sistema
po tome to se sve deava u realnom vremenu. Meutim, ATM predstavlja potpuni zaokret u
odnosu na tehnologiju sa komutacijom kola. Na primer, odrava mogunost rutiranja individu-
alnih paketa podataka. Sledee stavke opisuju primarne atribute ATM mree i, na prvi pogled,
pomoi e Vam da uoite neke glavne karakteristike:
Orijentisanost vezi
Komutacija paketa
Paketi fiksne veliine nazvani elije
Prenos elija velikim brzinama, sa malim kanjenjima
Celije ne sliu van redosleda.
Brzine od 155,5 Mbps (ovo je neophodna brzina prenosa podataka za full-motion
video), ili 622 Mbps (etiri 155,5 Mbps kanala) preko SONET-a; kako se tehnologija
razvija, nema sumnje da e se u budunosti koristiti gigabitske brzine
Mrea je dizajnirana veim delom za rad sa real-time video aplikacijama i aplikacijama
za prenos glasa.
Znaajno je promoviu telefonske kompanije.
Ovu tehnologiju koristi B-[SDN.
U optem sluaju, ATM inicijalno postavlja konekciju izmedu sajtova tako da se izmeu njih
uspostavlja virtuelno kolo. U ATM terminologiji ovo se naziva signaliziranje. Zasniva se na ITU-T
protokolu Q.2931, koji predstavlja podskup od Q.931. Virtuelno kolo odgovara specifinoj
putanji koja se utvruje za vreme signaliziranja i sve elije se alju preko virtuelnog kola, pratei
istu putanju. Kada se prenosi zavre, ATM protokoli ukljuuju fazu raskidanja konekcije.
Vei deo ovoga moda zvui slino prethodno obraenim temama, posebno X.25. Naravno,
razlike se ogledaju u detaljima i operacijama. U ovom odeljku dajemo opti pregled ATM-a i
razmatramo kako su ostvareme neke prednosti i opisujemo neke tehnike za komutaciju
(rutiranje) elija, definiciju elije, virtuelna kola, upravljanje konekcijom i slojeviti referentni
model. Na glavni cilj je da itaocima obezbedimo osnove ATM-a i da prikaemo kako se on
razlikuje od drugih protokola. Naravno, zainteresovani itaoci mogu da pronadu dodatne
detalje u referencama [BI99] i [Ha98J.
Prednosti malih elija fiksne veliine
ledan od kljunih aspekata ATM-a je to prenosi sve informacije u elijama veliine 53-bajta
(48 bajtova podataka i 5 bajtova zaglavlja, iji emo format opisati neto kasnije). Ovo namee
nekoliko loginih pitanja. ta je toliko specijalno u prenosu infbrmacija u elijama fiksne veliine
i zato se koristi ba 48 bajtova podataka? Odgovor na drugo pitanje glasi: zato to su oni koji su
razvijali protokol traili neto drugo. Iako zvui besmisleno, ustanovljena veliina je rezultat
kompromisa, reenje kojim niko nije dobio ono to je stvarno zahtevao.
Dok se ATM nalazio u ranim stadijumima svog razvoja, njegov komilet je traio veliinu elija koja
bi zadovoljila nekoliko ogranienja. Na primer, ATM je morao da radi dobro sa postojeom
opremom. elije su morale da budu dovoljno male da mogu brzo da produ posrednike
komutatore i da interni redovi ekanja ostanu mali. Veliina je morala da bude dovoljno mala da se
efikasno implementiraju tehnike za korekciju greaka. U komitetu je postojala evropska frakcija koja
je promovisala korienje 32 bajta sa korisnim informacijama. Evropske zemlje su relativno
male - 32 bajta korisnih informacija su mogla da se implementiraju bez potrebe da se u telefonskim
kompanijama instaliraju kola za ponitavanje eha (kola koja uklanjaju signale koji se vracaju kao eho
iz svojih odredita). Amerike telefonske kompanije su ionako instalirale ova kola i njima je vie
odgovaralo da se koriste 64 bajta korisnih informacija kako bi se smanjio koeficijent zaglavlje-
veliina elije. I Japanu je odgovaralo korienje 64 bajta korisnih informacija. Reenje je bio
numeriki prosena veliina izmeu 32 i 64 bajta; rezultat je 48 bajtova korisnih informacija.
Prenos informacija u malim paketima fiksne veliine ima nekoliko prednosti. Prva je
jednostavnost. I'rogrameri lako pamte ovu injenicu. Pisanje programa koji manipuliu struktu-
rama sa zapisima fiksne veliine je mnogo lake od pisanja programa koji moraju da rade sa
strukturama promenljive veliine. Potrebno je izvesti i manji broj provera. Ovo naravno
uproava i hardverske i softverske zahteve za obavljanje posla, a, ujedno, sniava cene.
Sledea prednost korienja malih elija je to jedna elija nee dugo zauzimati odlazei link link.
Na primer, pretpostavimo da je komutator upravo poeo da prosleuje eliju kada stie druga
elija sa visokim prioritetom. Visoki prioritet obino znai da moe da se probije na poetak reda
ekanja, ali nee prekidati prenos elije koji je u toku. Zato mora da eka da se taj prenos
kompletira. Da je ta elija velika, postojala bi verovatnoa da elija visokog prioriteta due eka.
Manja elija znai da se elije visokog prioriteta bre prosleduju.
Sledei razlog je to se ulazne i izlazne operacije mogu preklapati, jer komutator moe bre da
uzima manje elije. Da biste videli kako ovo funkcionie, pretpostavimo da elije stiu u celosti
i da se baferuju pre prosledivanja. Ako elija sadri 1.000 bajtova korisnih informacija, onda se
svih 1.000 bajtova mora primiti i baferovati pre nego to se prvi bajt poalje preko odlazeeg
linka. To je ilustrovano na slici 13.19. Na slici 13.19a prikazana je vremenska linija u okviru koje
se primaju dolazei bajtova od velike elije. Prvi bajtovi se ne prosleuju pre trenutka t
1(
nakon
to stignu svi bajtovi. Na slici 13.19b prikazano je ta se deava ako se velika elija podeli na
manje 48-bajtne elije. U ovom sluaju prva elija moe da se prosledi im stigne u trenutku t
0
(mnogo pre trenutka ^) , jer ne mora da eka da budu primljene sve ostale elije. U okviru
vremenske linije sa slike 13.19b informacije se istovremeno primaju i prosleuju, ime se
poveava brzina kojom se elije prosleuju ka njihovom konanom odreditu.
Postoje i druge prednosti. Na primer, poto se informacije bre prosleuju, manja koliina infor-
macija mora da se uva u komutatoru, to doprinosi smanjenju odlazecoh redova ekanja. Krajnji
rezultat je da korisne informacije manje vremena provode u baferima. Sledea prednost je to baj-
tovi do odredita stiu konzistentnom uestalou, umesto da se na odreditu javljaju samo spo-
radino, sa naglim poveanjem koliine saobraaja u odreenim trenucima i dugakim periodi-
ma u kojima nema nikakvog saobraaja (to je kao da u svakom 10. minutu imate nagli skok u
koliini saobraaja, a u periodima od devet minuta izmeu tih trenutaka se ne deava nita). Ovo
je posebno vano kod video aplikacija i aplikacija za prenos glasa, kod kojih podaci moraju da
pristiu brzo i konzistentno.
SLIKA 13.19 Preklapanje ulaza i izlaza elija
Poslednja prednost je to male elije fiksne veliine olakavaju dizajniranje komutatora koji
mogu konkurentno da prosleduju vie paketa. Ovo je posebno korisno, jer se redukuje vreme
koje jedna elija mora da eka dok se druga ne prosledi. Teko je razumeti kako ovo funkcionie
dok ne opiemo neke tehnologije komutacije.
Opti pregled ATM mree
Poinjemo opisom izgleda ATM mree i prikazom nekih njenih komponenti. Na slici 13.20
pokazano je da se ATM mrea sastoji od ATM komutatora. U optem sluaju, ATM komutator
(switch)* je analogan IP ruteru po tome to je odgovoran za prijem dolazeih poziva i njihovo
prosleivanje dalje preko odgovarajueg linka.
elije stiu sukcesivno.
elije se prosleduju im stignu.
(b) MaIe elije
vreme dolazei
odlazei
velika elija
ekanje
velika elija
prvi bajtovi koji e biti prosleeni
(a) Velika elija
vreme
Stigla je cela elija.
dolazei
odlazei
* Razlika izmedu komutatora i rutera u ovom kontekstu nije definisana. Neki koriste termin ruter kada govore o Internetu i
njegovoj mogunosti za povezivanje razliitih tehnologija. Drugi koriste termin komulalor kada govore o kolekciji homogenih
linkova koji povezuju sline tehnologije. Razlika se ogleda u tome da li uredaj moe da povezuje razliite tehnologije.
Medutim, prodavci reklamiraju komutatore kao raznovrsnije uredaje koji mogu da povezuju razliite tehnologije, tako da
razlika nije najjasnija. Osim toga, prethodno ste videli da se kao komutator oznaava viepormi most koji fimkcionie na sloju
2. Krajnji zakljuak je da na ovom nivou razmatranja te razlike nisu bitne.
SLIKA 13. 20 ATM mrea
ATM komutatori imaju linkove izmeu sebe, tako da formiraju mreu sa razlidtim putanjama.
Svaki komutator moe da povee razliite korisnike ureaje, kao to su kompjuter, televizor,
video kamera, ili lokalna mrea. Slika to ne pokazuje, ali svakom korisnikom uredaju je
neophodna interfejs kartica koja razume ATM.
Postoje dva tipa linkova u ATM mrei: interfejs mrea-mrea (NNI - netivork-netivork interface)
povezuje dva ATM komutatora, a interfejs korisnik-mrea (UNI - user-nettvork interface) komutator sa
korisnikim uredajem. Postoje neke razlike izmeu linkova; na primer, u nainu kako interpretiraju
pozive. Uskoro emo i to obraditi. Za sada razlike samo pominjemo da znate da postoje.
Komutacija
Kao to je ranije istaknuto, ATM komunikacija je orijentisana konekciji. Kada neki sajt ima
informacije za slanje do drugog sajta, zahteva konekciju slanjem poruke. Poruka prolazi kroz
razliite komutatore, uspostavljajui virtuelnu putanju na svom putu do odredita. Za razliku od
IP-ja, naredne elije sa podacima sadre ID virtuelne putanje, koji komutator koristi za mtiranje
elije preko odlazeih linkova. Komutator odrava tabelu u kojoj svaki zapis ima dva para: ulazni
port/ID virtuelne putanje i izlazni port/ ID virtuelne putanje. Kada elija stigne preko odredenog
ulaznog porta, komutator koristi identifikator porta i ID virtuelne putanje iz elije da bi pronaao
odgovarajui zapis u tabeli. Nakon toga, menja ID virtuelne putanje elije da bude uparen sa
pridruenim odlazeim portom i alje eliju na taj port.
kompjuter
video kamera
ATM
komutator
ATM
komutator
LAN
korisnik-mrea
(UNI)
Interfejs
ATM
komutator
interfejs mrea-mrea
(NNI)
ATM
komutator
televizija
Tako elija sadri ID virtuelne putanje 5 kada stie na port C i prosleuje se preko porta F uz
promenu lD-a virtuelne putanje na 8.
Prcoes je veoma slian onom koji je opisan na poetku prethodnog odeljka i nema potrebe da
ponavljamo celu "priu". Jedino vredi istai razlike u terminologiji. X.2S koristi ID virtuelnog
kola u svojim paketima, dok ATM elije sadre ID virtuelne putanje. Na ovom nivou njihova
uloga je identina. Meutim, kasnije ete videti da ATM definie i virtuelno kolo pored virtuelne
putanje.
Banyan komutatori Korienjem tabela rutiranja komutatori mogu veoma brzo da proslede
elije, posebno ako su zapisi u tabeli haovani identifikatorom dolazeeg porta i ID-om virtuelne
putanje. Putanje su uspostavljene i osloboene jednostavno umetanjem i brisanjem novih zapisa
iz tabele.
Postoje i druge tehnike za obezbedivanje funkcija komutacije na high-speed mreama, koje mogu
da komutiraju nekoliko elija konkurentno. Jedan primer je Banyan komutator. Banyan komu-
tator ima jednak broj ulaznih i izlaznih linija (obino se radi o stepenu broja 2). Unutar komu-
tatora postoji nekoliko stepena. Broj stepena zavisi od broja izlaznih linija. Na primer, ako
postoji 2
k
izlaznih linija, u komutatoru postoji k stepeni.
Svakoj eliji je dodeljen niz bilova (jo se naziva i komutacioni string - suniching slring) duine k,
gde svaki bit u stringu vodi eliju sa jednog stepena na sledei. Ovaj string moe da se nalazi u
eliji, ili moe da se smesti u tabelu zajedno sa ID-om virtuelne putanje. Njegova lokacija nije
bitna za nae razmatranje.
Na slici 13.21 prikazan je Banyan komutator sa osam ulaza i izlaza i tri stepena izmedu njih.
Celija moe da ue na bilo koji od osam ulaza i prosleuje je jedan od etiri komutaciona
elementa (prvi stepen). Na osnovu prvog bita u komutacionom stringu, elija sledi jedan od dva
mogua izlaza u jedan od etiri elementa u narednom stepenu. Tamo logika za komutaciju ispitu-
je drugi bit u komutacionom stringu i prosleduje eliju do jednog od dva mogua izlaza ka
treem stepenu. Proces se postavlja sve dok se ne iskoristi poslednji bit, kada se elija konano
prosleuje do jednog od izlaza komutatora.
Svaki izlaz na slici 13.21 oznaen je jedinstvenim 3-bitnim stringom koji definie izlaznu liniju preko
koje se elija prosleduje. Postoji nekoliko interesantnih detalja u vezi ovog komutatora. Prvo, izlaz
zavisi samo od komutacionog stringa, a ne od ulazne linije preko koje je elija stigla. Na primer, na
slici 13.21 istaknute su tri mogue putanje koje odgovaraju eliji sa komutacionim stringom 100.
Celije koje ulaze preko Al i Bl prenose se na A2 u drugom stepenu. Odatle obe idu do C3.
Ulazni
po rt
ID virtuelne
putanje
Izlazni
port
ID virtuelne
putanie
Na primer, pretpostavimo da se u zapisu u tabeli nalazi sledee:
ulazi
Stepen 1 Stepen 2
Stepen 3
111
110
011
010
izlazi
101
100
001
000
krajnji levi bit
srednji bit
krajnji desni bit
SLIKA 13.21 Banyan komutator
elija koja ulazi na Dl prenosi se do C2, pa do C3. Kao to moete da vidite, svaka elija startu-
je od daigog elementa u prvom stepenu, ali na kraju zavrava na izlazu koji odgovara 100.
Sledea interesantna karakteristika je to komutaciona logika moe da rukuje sa nekoliko elija
istovremeno. Na primer, jedna elija sa komutacionim stringom 100 prelazi preko Al, A2 i C3.
Pretpostavimo da druga elija sa komutacionim stringom 110 stie na Dl . Ona e proi preko
Dl, C2 i A3. Poto ove dve elije ukljuuju razliite elemente, rutiranje moe da se izvede
konkurentno. Drugim reima, jedna elija ne mora da eka drugu. Ovo je izuzetno vana karak
teristika, jer omoguava prosleivanje veeg broja elija i time se redukuje vreme ekanja, to je
poeljno kod prenosa real-time videa, ili glasa.
Sa daige strane, pretpostavimo da elija sa komutacionim stringom 100 stie na Al, a druga sa
komutacionim stringom 101 stie na Bl. elije imaju razliite ulaze i izlaze, ali obe moraju da
produ preko A2. Ako stignu u isto vreme, doi e do kolizije. Ovde je znaajno napomenuti da
komutator moe da bude sposoban za konkurentni rad sa dve elije, ali da nema garancija da e
biti uspean. U sluaju da doe do kolizije, svaki komutacioni element mora da ima mogunost
donoenja odluke koja se elija prva prosleduje, a koja se postavlja u red ekanja na sledee
prenoenje.
Sledeu komutacionu tehnologiju predstavlja unakrsni komutator (crossbar svvitch) sa n ulaza
i izlaza. Uiazi se obino prikazuju kao nizovi horizontalnih linija, a izlazi kao nizovi vertikalnih
linija. Svaka ulazna linija je ukrtena sa svih n izlaznih linija, dok je svaka izlazna linija ukrtena
sa svih n ulaznih linija. Svako ukrtanje odgovara komutacionom elementu koji moe da komu-
tira eliju sa od ulazne do izlazne linije. Nedostatak je to postoji veliki broj komutacionih
elemenata.
Postoji i eliminacioni komutalor (knockout switch), koji predstavlja oblik unakrsnog komutatora.
Kod unakrsnog komutatora je problem to istovremeni dolazak dve elije namenjene istom
izlazu izaziva kolizije.
SLIKA 13.22 ATM/B-ISDN referentni model
stepen upravljanja
upravljaki sloj
kontrolni
steperu
Korisniki
stepen .
gornji
slojevi
adaptacioni ATM sloj
(AAL)
gornji
slojevi
ATM sloj
fiziki sloj
(SONET, itd)
Osim toga, elije mogu da stignu na razliite ulazne linije i prelaze preko razliitih komutacionih
elemenata do eljene izlazne linije, tako da je reavanje kolizije jo tee. Kod eliminacionog
komutatora svaki izlaz ima arbitra koji je povezan na svaku ulaznu liniju. Ako su dve elije sa
razliitim ulazima namenjene istom izlazu, unakrsni komutator ih rutira do arbitra, koji odluuje
koja elija ide u red ekanja, a koja se alje na izlaz.
Referentni model
ATM je, u stvari, deo B-ISDN specifikacije koju je defmisao ITU-T. Osim toga, meunarodna
neprofitna organizacija ATM Forum (www.atmforum.com) ima tehniki komitet koji sarauje sa
agencijama za donoenje standarda radi izbora odgovarajuih standarda i preporuku novih.
Komitet takode nastoji da se obezbedi interoperabilnost izmeu proizvodaa koji plasiraju ATM
proizvode.
Na slici 13.22 prikazan je slojeviti referentni model. Naa namera je da damo kratki opti pregled
modela, a zatim da predemo na detaljnije razmatranje relevantnih tema. Prvo to ete moda
primetiti kod ovog modela u poreenju sa ostalima je dnjenica da ima trodimenzionalni izgled. To
je zbog toga to predstavlja kombinovani ATM/B-ISDN model koji definie i korisnike i upravljake
funkcije. Na primer, kontrolni stepen (control plane) definie nain uspostavljanja i oslobaanja
konekcija. Korisniki stepen (user plane) definie transport podataka i odgovarajue detalje, kao to su
kontrola toka, detekcija i korekcija greaka. Iza scene, upravljaki sloj (layer management) obezbeuje
upravljake funkcije.
On je odgovoran, izmedu ostalog, za obezbeivanje operacija, administraciju i odravanje (OAM
servisi) preko informacionih paketa koje komutatori razmenjuju da bi sistem efikasno
funkcionisao. Upravljaki servisi mogu da se obezbede i preko SNMP-ja, ili CMIP-ja. Konano,
upravljaki stepen (plane management) osigurava da razliiti stepeni ispravno koordiniu svoje
aktivnosti.
Na dnu modela nalazi se fiziki sloj koji defime fizike karakteristike prenosa. Iako ATM ne defmie
pravila za fiziki prenos, originalno je dizajniran za pokretanje preko SONET-a (Synchronous Optical
Network - sinhrona optika mrea), Originalno predloen od Bellcorea (BeIl Communications
Research), SONET je optika mrea koja koristi multipleksiranje sa podelom vremena da bi bili
omogueni simultani kanali. Kontrola je ostvarena pomou takta i bitovi se prenose brzinama od
oko 155,5 Mbps do ekstremna 2 Gbps. Defmie nain na koji telefonske kompanije prenose svoje
podatke preko optikih mrea. Osim SONET-a, ATM moe da se pokree i preko FDDI, Tl i T3
sistema, i sa zatienim i nezatienim upredenim paricama, pa, ak, i sa beinim medijumima
(ref. [Va97]).
Iznad fizikog sloja nalazi se ATM sloj. On izvrava aktivnosti sline onima koje se nalaze na
slojevima 2 i 3 OSI modela. Na primer, definie format elije i nain na koji se tretiraju
informacije iz zaglavlja. Osim toga, odgovoran je za postavljanje i oslobaanje konekcija i
uspostavljanje virtuelnih kola i virtuelnih putanja (uskoro emo objasniti razliku). Konano,
izvrava i kontrolu zaguenja.
Adaptacioni ATM sloj (AAL - ATM adaptation layer) obezbeuje interfejs izmeu aplikacija i
ATM sloja, a podeljen je na dva podsloja: podsloj za segmentaciju i ponovno sastavljanje (nii
podsloj) i podsloj konvergencije. Podsloj konvergencije obezbeuje interfejs za razliite aplikacije
koje koriste ATM. Njegov zadatak zavisi od konkretne aplikacije i tipa saobraaja koji generie.
U stvari, kasnije ete videti da postoji nekoliko verzija AAL-a, u zavisnosti od toga da li je
saobraaj nekompresovani video, kompresovani video, ili neki drugi tipovi. Podsloj segmentacije i
ponovnog sastavljanja smeta informacije sa viih slojeva u ATM elije i moe da doda sopstveno
zaglavlje medu korisne informacije. Na prijemnoj strani izvlai korisne informacije iz svake elije
i ponovo ih sastavlja u niz informacija koje aplikacija dalje obraduje.
Definicija elije
Ovo je dobar trenutak da navedemo neke detalje o nainu funkcionisanja ATM-a. Logino je star-
tovati defmisanjem ATM elije i opisom naina na koji ATM upravlja njenim sadrajem. Kao to
je ranije pomenuto, ATM elija ima 53 bajta, od kojih su 48 korisne informacije. To znai da
zaglavlje elije ima samo pet bajtova. Na slici 13.23 opisani su dok prolaze kroz NNI.
1 -bitni prioritet
gubitka elije
SLIKA 13.23 ZaglavljeATM elije (NNl)
identifikator virtuelne
putanje, 12 bitova
identifikator virtuelnog
kola, 16 bitova
tip korisnih
informacija,
tri bita
Kontrola greaka u zaglavlju
(HEC), osam bitova
Za elije koje prelaze kroz UNI postoji neznatna razlika u interpretaciji sadraja zaglavlja. U drugom
sluaju prva etiri bila defmiu polje Generic Flow Control (GFC), tako da preostaje samo osam
bitova za identifikator virtuelne putanje. Medutim, kada se elija nae na mrei, komutatori mogu
da upisuju informadje preko GFC polja, koristei 12-bitni ID virtuelne putanje.
Polje GFC je dizajnirano za kontrolu toka saobraaja od ureaja do ATM mree (ne i u suprotnom
smeru). U sutini, postoje dve klase konekcija, kontrolisane i nekontrolisane, koje su ili deo
konfiguracije, ili pregovora u toku uspostavljanja konekcije. Kada je konekcija kontrolisana, mrea
obezbeduje informacije za korisnid ureaj o tome koliko elija moe da poalje. Ovo pomalo lii
na mehanizam kredita koji se koristi za kontrolu toka kod TCP protokola. Kod nekontrolisanih
konekcija mrea jednostavno doputa, ili zabranjuje slanje elija. Kada je slanje doputeno,
korisniki ureaj moe da alje elije sve dok to mrea ne zabrani. To lii pomalo na X-ON/X-OFF
kontrolu toka.
Mali broj bajtova u zaglavlju utie na brzinu ATM-a: potrebno je proveriti manje "stvari" u svakoj
eliji koja stie u komutator. Pogledaemo sada svako polje ponaosob.
Polje Header Error Control Polje Header Error Control (HEC) je donekle jasno samo po sebi:
obezbeduje proveru greaka. Meutim, postoji nekoliko elemenata koje vredi istai. Za poetak,
obezbeduje kontrolu greaka samo za druga etiri bajta zaglavlja, tako da korisne informacije
ostaju nezatiene. To, naravno, proveru greaka i, samim tim, isporuku elije ini mnogo brim
(zapamtite, za ATM mree brzina prenosa ima sutinski znaaj). Nezatienost korisnih informa-
cija moda na prvi pogled deluje kao problem, ali, zbog nekoliko razloga, to nije tako. Jedan
razlog je to je ATM dizajniran za pokretanje preko optikih fiber sistema, koji su izuzetno
pouzdani. Zato je verovatnoa za pojavu greaka veoma mala. ak i ako doe do greke, ona se
moe detektovati na viem sloju, ako je to neophodno. Sledei razlog je to mnoge aplikacije
ukljuuju video, ili audio zapise. Zbog toga se greke u okviru manifestuju u deliu sekunde, to
nije ni primetno, ili, u najgorem sluaju, moe da izazove jedva primetno treperenje. Da li u
ovakvim situacijama ima smisla ekati na retransmisiju takvog okvira? Odgovor je negativan.
Medutim, zatita zaglavlja je od sutinskog znaaja, jer se u njemu nalaze identifikatori virtuelne
putanje i kola, koji odreuju kuda elije idu.
Takoe je bitno to se za proveru greaka koristi adaptivna tehnika zasnovana na CRC metodu.
Moe da detektuje vie od 90 odsto greaka na vie bitova, a moe, ak, i da ispravi greke u
jednom bitu. Ova mogunost ispravke je posebno znaajna, jer je studija koju su AT&T i Bellcore
objavili 1989. godine (ref. [AT89]) pokazala da vie od 99,5 odsto greaka u optikim fiber
sistemima ine greke u jednom bitu.
Polje HEC izvrava jo jednu "nevezanu" funkciju. Seate se da smo u odeljku 9.2, prilikom
predstavljanja protokola veze, istakli da okviri sadre specijalni bitski uzorak koji oznaava
poetak okvira. ATM ne definie takav uzorak, tako da se namee logino pitanje kako protokoli
niskog nivoa mogu da detektuju poetak elije. Ovo zavisi delom od fizikog sloja. Na primer,
SONET enkapsulira ATM elije u envelopu (slino ranijim protokolima kod kojih su paketi
enkapsulirani u okvir, osim to se u omotu moe nai nekoliko okvira). Informacije u envelopi
lociraju start prve ATM elije.
Ipak, svi fiziki slojevi ne obezbeduju ovakvu envelopu. U stvari, sa sinhronim medijumom, elije
moraju da se prenose u regularnom uzorku, koji je defmisan taktom. Ne postoje envelopa, niti speci-
jalni bitski uzorci koji bi locirali stan elije. Celije jednostavno stiu u regularnim intervalima i
prijemni ureaj mora da bude sposoban da utvrdi njihove granice. Prepoznavanje granica elije se
naziva definisanje okvim (framing), kao i u sluaju kada se koriste sinhroni bilski uzorci. Na primer,
razmotrimo sekvencu ATM elija koje sadre zapise iz video kamere. Prijemni uredaj mora da se
sinhronizuje lociranjem granica elije da bi bilo obezbedeno ispravno prikazivanje.
lako ne posloji poseban bitski uzorak za identifikovanje start ATM elije, jedna tehnika koristi
injenicu da sva neoteena zaglavlja imaju neto zajedniko: primenom metoda za proveru
greaka koji koristi 40-bitni string za defmisanje zaglavlja generie se vrednost koja je
konzistentna sa poslednjih osam bitova u tom stringu. Mogua tehnika za lociranje granica elije
moe da se opie na sledei nain:
1. Primenjuje se metod za proveru greaka sa 40 uzastopna bita. Ako to ne generie
rezultat koji je konzistentan sa poslednjih osam bitova, pomera se jedan bit i
pokuava se ponovo (slika 13.24).
2. Korak 1 se ponavlja sve dok se ne pronade konzistentan rezultat. Ovo ukazuje da se
tih 40 bitova mogu koristiti kao legitimno zaglavlje. Ipak, i sluajnost moe da dovede
do pronalaenja konzistentnog rezultata meu 40 drugih bitova (pogreno zaglavlje).
3. Kada se potencijalno zaglavlje pronae, "preskae" se narednih 48 bajtova (korisne
informacije) i ista tehnika se primenjuje na narednih 40 bitova. Pretpostavljamo da su
legitimna zaglavlja razdvojena sa po 48 bajtova. Ako tehnika ne obezbedi konzisten-
tan rezultat, onda je prediodni rezultat bio sluajan i mora se krenuti iz poetka.
4. Pretpostavimo da smo pronali nekoliko 40-bitnih stringova, meusobno razdvojenih
sa po 48 bajtova, i da su svi generisali konzistentnu HEC vrednost. U tom sluaju pos-
toji visoka verovatnoa da su sva ta zaglavlja legitimna - defmisanje okvira bilo je
uspeno i prijemni ureaj je sinhronizovan sa dolazeim elijama.
Upravo opisana tehnika zvui sloeno, ali sa ciklinim pomerakim registrima, slinim onima koje
smo opisali u odeljku 4.3, implementacija moe da se izvede efikasno. Osim toga, postavlja se
pitanje koliko uzastopnih potencijalnih zaglavlja treba traiti pre nego to se zakljui da je ureaj
sinhronizovan. Poto polje HEC ima samo osam bitova, verovatnoa lociranja pogrenog zaglavlja je
1/2
8
= 1/256 za konkretni 40-bitni string.
40 bitova
Primena metoda provere greaka
na ove bitove ako Je prethodna
provera bila neuspena
Metod za proveru greaka
se najpre primenjuje na
ove bitove.
SLIKA 13.24 Traenje granica elija
Verovatnoa lociranja dva uzastopna pogrena zaglavlja iznosi 1/(256)
2
. U optem sluaju,
verovatnoa lociranja n pogrenih zaglavlja iznosi 1/(256)". Za vee vrednosti n treba vie
vremena, ali je manja verovatnoa da e doi do pogrene sinhronizacije. U stvari, ako je n samo
4, verovatnoa pogrene sinhronizacije je 1 prema 4,3 milijarde.
Bit CeIl Loss Priority Bit CeIl Loss Priority (CLP) ukazuje na prioritet elije. Uvek kada doe
do zaguenja, ATM ima opciju za brisanje elija da bi bilo ublaeno zaguenje. Najpre se biraju
elije ija je CLP vrednost 1. Aplikacija treba da utvrdi koje elije nisu kritine. Na primer,
MPEG-kompresovani video koristi razlike izmeu okvira i stvarnih kompresovanih okvira (setite
se razlike izmeu 1 i P okvira iz odeljka 5.7) u prenetim slikama. Ako se izbriu okviri koji daju
veoma male promene, krajnji efekat e prilikom prikazivanja biti neprimetan. Zato aplikacija u
elijama sa tim okvirima mora da postavi CLP bit na I.
Polje Payload Type Polje Payload Type obezbeduje neke specifine informacije o eliji. Krajnji
levi bit definie da li se u korisnim informacijama nalaze korisniki podaci, ili OAM informacije.
Komutatori mogu da razmenjuju OAM poruke da bi bile izvrene provere statusa i omogueno
"glatko" funkcionisanje sistema. Drugi bit ukazuje da li se elija prenosi preko zaguenih komu-
tatora. Tako se primalac obavetava o eventualnim problemima zbog zaguenja na odreenoj
putanju. U nekim sluajevima trei bit moe da se koristi da bi bila oznaena poslednja elija u
sekvenci ATM elija.
Virtuelna kola i putanje
Sve do sada nismo pravili nikakve razlike izmeu virtuelnog kola i virtuelne putanje. Ovo je prome-
njeno sa ATM-om, kao to je prikazano na slici 13.25. Konceptualno, virtuelno kolo predstavlja logiku
konekciju izmeu dve krajnje take. Na primer, na slici 13.25 postoji logika konekcija izmedu A iX,
Bi Yi Ci Z. Medutim, svaka konekcija odgovara istoj virtuelnoj putanji.
Svaka elija sadri 12-bitni ID virtuelnog kola (osam bitova preko UNl-a) i 16-bitni ID virtuelne
putanje. Dakle, iz perspektive korisnika, svaka konekcija moe da se defmie 24-bitnim identi-
fikatorom konekcije, koji se satoji iz dva dela: ID kola (osam bitova) i ID putanje (16 bitova).
Ovo je analogno Intemet adresiranju, gde smo naznaili da se 32-bitna adresa sastoji od ID-a
mree i ID-a hosta. Prednost je u tom sluaju bila u injenici da su interni mehanizmi za rutiranje
mogli u potpunosti da rutiraju podatke iskljuivo na osnovu ID-a mree. ID hosta nije korien
sve dok paket ne stigne do odredine mree, odakle moe da se alje direktno do hosta.
strana 716 Slino tome, ATM komutatori prosleuju elije iskljuivo na osnovu 16-bitnog ID-a
virtuelne putanje. Donoenje odluka o rutiranju ATM elija na osnovu 16-bitnih identifikatora,
umesto na osnovu kompletnog 28-bitnog identifikatora, ubrzava proces komutacije (kada elija
ue na mreu, ID kola se proiruje na 12 bitova), tako da je omogueno bre komutiranje. Ovo
je glavni cilj ATM-a. Korienje 16-bitnih, umesto 28-bitnih brojeva, omoguava uvanje manjih
internih tabela za komutaciju (maksimalno 2
16
zapisa, umesto 2
28
zapisa). ID kola je neophodan
samo kada elija stigne do poslednjeg ATM komutatora, koji mora da prosledi eliju direktno do
korisnika.
konekcija
konekcija
ATM
komutator
ATM
komutator
ATM
komutator
konekcija
Izmedu A i X, B i Y i C i Z postoje
razliita virtuelna polja.
Sva koriste istu virtuelnu putanju.
SLIKA 13.25 Virtuelna kola i virtuelne putanje
Sledea prednost korienja ID-a kola i ID-a putanje prepoznaje se kada dode do problema na
linku. Na primer, pretpostavimo da je uspostavljeno stotinu konekcija i da sve koriste istu puta-
nju. Ako na nekoj putanji doe do problema, mora se pronai nova. Ako se komutacija zasniva
na 28-bitnom broju, onda e interne tabele za svaki novi komutator na altemativnoj ruti zahte-
vati nove zapise za svaku konekciju. U ovom sluaju moralo bi da se izvede stotinu promena u
svakoj tabeli. Ipak, poto se komutacija zasniva samo na ID-u putanje, sve konekcije koriste istu
putanju i svaka tabela zahteva samo jednu promenu da bi bile zadovoljene sve konekcije. Jasno,
ovo je mnogo bre.
Upravljanje konekcijom
Postoje dva tipa konekcija: permanentno virtuelno kolo i komutirano virtuelno kolo. Permanentno
kolo je analogno iznajmljenoj telefonskoj liniji, a komutirano mora da se uspostavi pomou pro-
tokola konekcije. Protokol konekcije je zasnovan na algoritmima u ITU-T Q.2931 (predstavlja
podskup od Q.931). Na povrini, uspostavljanje ATM konekcije sledi procedure koje podseaju
na one koje se koriste za uspostavljanje konekcija u drugim protokolima koje smo do sada
razmatrali. Jedna strana inicira zahtev za poziv, naznaavajui neke poeljne atribute konekcije,
i eka na potvrdu. Kontrolni stepen je odgovoran za postavljanje konekcije.
SLIKA 13.26 Uspostavljanje konekcije
Na slici 13.26 opisana je logika uspostavljanja konekcije kada A alje zahtev za konekciju do B.
Prilikom postavljanja konekcije koriste se etiri razliita tipa pomka; u sledeim koracima opisan
je nain na koji se koriste.
1. U ime A, kontrolni stepen alje Setup pomku do B preko UNI-a. Ova poruka sadri
informacije koje su relevantne za zahtevanu konekciju. Na primer, sadri adresu koris-
nika B i neke druge stavke koje emo uskoro opisati.
2. Komutator koji primi Setup poniku alje CaIl Proceeding poruku nazad do A da bi ga
informisao da je zahtev primljen i da se obrauje. Ova poruka sadri i lD-e virtuelnog
kola i putanje, koji e se koristiti kada se konekcija uspostavi. Osim toga, komutator
prosleuje Setup poaiku do B.
3. Setup poruka "putuje" kroz mreu preko razliitih NNI-a ka B, koristei algoritam za
rutiranje koji je implementiran (ATM ne definie koji se algoritam koristi). Ruta koja
se izabere defmie virtuelnu putanju i kolo. Setup poruka nastavlja da "putuje" kroz
komutatore; svaki od njih reaguje vraanjem CaIl Proceeding poruke do komutatora
koji mu je poslao Setup poruku. Zahvaljujui tome, svi komutatori koji su eventualno
deo virtuelne putanje znaju da je konekcija u toku.
nastavak poziva
postavlianie
povezivanje
potvrda za
povezivanje
potvrda za
povezivanje
povezivanje
nastavak poziva
postavljanje
korisnik
A UNI
ATM
komutator
nekohko
NNI-a '
ATM
komutator
UNI
korisnik
B
4. Na kraju, B dobija Setup poruku. B moe odmah da odgovori slanjem Connect poruke,
ili, ako oekuje kanjenje, moe da vrati Cali Proceeding poruku. Ako sve prode kako
treba, B alje Connect poruku preko UNI-a do komutatora. Komutator vraa Connect
Acknoivledgment poruku. B je sada slobodan da pone slanje informacija ka A. Connect
poruka "putuje" nazad do A preko istih komutatora (suprotnim redosledom) kojim je
stigla Setup ponika. Svaki komutator reaguje prosledivanjem poruke i vraanjem
Connect Acknowledgment poaike. Kada svi komutatori dobiju Connect poruku, znaju
da su deo virtuelne putanje i kreiraju odgovarajui zapis sa ID-om putanje u svojim
tabelama. Komutator je sada pripremljen za rutiranje narednih elija koje e biti
prosledene preko odgovarajue putanje.
5. Na kraju Connect poruka stie do A, koji reaguje sa Connect Acknowledgment
porukom. A sada moe da alje informacije do B.
Na slian nain se izvodi i otputanje konekcije. Bilo koja strana moe da inicira otputanje
slanjem Release poruke. Poruka "putuje" preko virtuelne putanje, a svaki komutator vraa Release
Complete poruku. Komutatori ovo koriste za uklanjanje informacija iz njihovih tabela i prosleduju
Release ponrku do sledeeg komutatora na putanji.
Parametri konekcije Ranije smo istakli da Setup poruka sadri informacije koje su relevantne
za zahtevanu konekciju. U optem sluaju, defmie neophodni ]<valitet servisa i tip oekivanog
saobraaja. Na primer, prilikom prenosa videa na zahtev postoje vii kriterijumi za kvalitet
konekcije u poreenju sa kriterijumima za konekciju koja treba da obezbedi
transfer obinih fajlova. Ovo je znaajna informacija u okviru Setup poruke, jer je jedan od
ciljeva ATM-a odravanje traenog kvaliteta servisa.
Kada se Setup poruka nade na mrei, svaki komutator mora da proceni da li moe da bude deo
zahtevane putanje bez ugroavanja kvaliteta servisa na postojeim putanjama. Preko istog komuta
tora moe da ide vie putanja za video koji se prikazuje na zahtev. Komutator nastavlja na ranije
opisani nain, ili odbacuje Setup zahtev. Ovde je sloeniji deo procesa. Mogue je da je neophodno
ispttati vie moguih putanja pre nego to se pronae ona koja obezbeuje traeni kvalitet servisa.
Naravno, mogue je da takva putanja nee ni biti pronadena. Clij je da se izbegne uspostavljanje
putanja koje e imati negativan uticaj na postojee korisnike, ukljuujui onog koji pokuava da
uspostavi konekciju. Efektivno, ovaj metod garantuje korisnicima odreeni kvalitet servisa i u neku
mku moe da se smatra oblikom kontrole zaguenja.
Frazu kvalhet servisa do sada smo koristili uglavnom u nekom optem smislu. Sledi lista
specifinih stavki koje Setup poatka moe da sadri.
Klasa B-ISDN servisa B-ISDN defmie etiri klase. Saobraaj Klase A zahteva
konstantnu bitsku brzinu i stogu sinhronizaciju izmedu poiljaoca i primaoca. Ovo je
neophodno za transfer nekompresovanog videa i audia, gde se slike moraju snimiti,
preneti, a, zatim, prikazivati (ili uti) dok se budu primale. Klasa B doputa
promenljivu bitsku brzinu, ali i dalje zahteva sinhronizaciju poiljaoca i primaoca.
Ovo je tipino za kompresovani video, kod koga se bitske brzine razlikuju u zavisnosti
od toga u kojoj je meri kompresija izvrena. Ipak, sinhronizacija je i dalje neophodna,
jer se zapisi prikazuju u realnom vremenu. Klasa C je namenjena konekciji orijenti-
sanom saobraaju bez vremenskih ogranienja. Klasa D predstavlja servis obezbeden
bez uspostavljanja konekcije, bez vremenskih ogranienja. Poslednje dve klase vie su
namenjene aplikacijama koje obezbeuju prenos podataka i fajlova, nego aplikacija-
ma kod kojih postoje ogranienja, zbog izvravanja u realnom vremenu.
Maksimalna brzina elija (Peak cell rate) To je maksimalna brzina kojom e se
elije slati.
Podrana brzina elija (Sustainable cell rate) To je gornja granica prosene brzine
kojom se elije alju u odreenom periodu. Maksimalna brzina prenosa elija moe da
bude via u kraim periodima, ali "na due staze" ne premauje brzinu koja je ovde
definisana.
Vreme (Time) To je parametar koji se koristi za utvrivanje maksimalne podrane
brzine elija.
Minimalna brzina elija (Minimum cell rate) Definie najniu brzinu kojom se
elije moraju primati. Sve to se nalazi ispod ove brzine smatra se neprihvadjivim.
AAL verzija (AAL version) Ovo je sledea tema koju emo obraditi.
Adaptacioni slojevi
Odeljak o ATM-u zakljuujemo opisivanjem ATM adaptacionog sloja (AALATM adaptation
Iayer ). Na slici 13.27 prikazano je da postoji interfejs izmeu viih slojeva i ATM sloja i da se
sastoji iz dva podsloja: podloja segmentacije i ponovnog sastavljanja (SAR) i podsloja konvergencije
(CS). Odgovornost podsloja konvergencije zavisi od tipa informacija koje generiu aplikacije na
viim nivoima.
strana 720 Na slici 13.28 prikazane su opte akcije koje se izvode na podslojevima konvergenci-
je i SAR-a. Nameravamo da ovo bude opti pregled; postoje razliiti tipovi AAL-a koji mogu, ali
ne moraju da izvre neke od ovih zadataka. Llskoro emo uzeti u obzir te razlike. U optem
sluaju, neke aplikacije na viem nivou generiu podatke koje posmatramo kao niz bajtova.
Podsloj konvergencije izvlai neke od tih bajtova i dodaje zaglavlje i zavrne bitove (trailer), tako
da kreira sopstveni CS paket. SAR podsloj dobija CS paket i dodaje sopstveno zaglavlje i zavrne
bitove, tako da se kreira 48 bajtova korisnih informacija koje se smetaju u ATM eliju. Na osnovu
slike moe da se kae da oba sloja rade isto, po tome to dodaju zaglavlja i dopune na podatke
primljene od vieg sloja. Dobro, to jeste tako, ali postoje razlike u sadraju polja koje dodaju.
vii slojevi
ATM sloj
SLIKA 13.27 AAL podsloievi
podsloj segmentacije i
ponovnog sastavljanja
podsloj
konvergencije
iz SAR-a
5-bajtno
zaglavlje
ATM elija
niz bajtova koji
generie aplikacij<
CS grupe bajtova i
dodavanje zaglavlja (H)
i zavrnih bitova (T)
SAR dodaje sopstveno
zaglavlje i zavrne bitove
kako bi bilo kreirano
48 bajtov korisnih
informacija
SLIKA 13.28 Opte AAL aktivnosti
Meutim, da bismo istakli razlike, predstaviemo razliite AAL tipove.
AAL tipovi se razlikuju prvenstveno po klasama saobraaja koje kontroliu. AAL 1 se bavi sao-
braajem Klase A, a AAL 2 saobraajem Klase B. Na osnovu ovoga, moe da se zakljui da se AAL
3 i AAL 4 bave saobraajem Klase C i D. U odreenoj meri to je tano, jer je ITU-T razvio AAL 3
i AAL 4. Ipak, kako je razvoj napredovao, postalo je oigledno da nema znaajnih razlika izmeu
tih slojeva, tako da je ITU-T odluio da ih kombinuje. Neki itaoci mogu da pomisle da se u tu
svrhu koristi oznaka AAL 3.5, ali, u stvari, naziva se AAL 3/4. Nakon to je AAL 3/4 razvijen, neki
su se brinuli zbog onoga to su smatrali neefikasnim. Zato je AAL 5 razvijen kao naslednik AAL
3/4. Mi se neemo baviti sa AAL 3, AAL 4, ili AAL 3/4. U referenci [Bl95] razmotrene su sve AAL
verzije. Ipak, ukratko emo predstaviti AAL 1, AAL 2, i AAL 5.
AAL 1 Na slici 13.29 pokazano je kako se upravlja saobraajem Klase A. Video aplikacija
generie nekompresovani niz bajtova u realnom vremenu. AAL 1 uzima 46, ili 47 bajtova u
jednom trenutku i postavlja ih u AAL 1 paket. Razlika u odnosu na sliku 13.28 je to to samo SAR
podsloj kreira zaglavlje, dugako jedan, ili ili bajta. Zbog toga, svaki paket predstavlja korisne
informarije ATM elije koja se, nakon toga, prenosi ka svom odreditu.
Na slici 13.30a prikazan je format AAL 1 paketa. Prvi bit ukazuje da li je prisutan drugi bajt
zaglavlja.
SLIKA 13.30 Tipovi AAL paketa
(c) AAL 3
osam bajtova koje dodaje CS
do 65.535 bajtova korisnih informacija
duina (dva bajta) CRC (etiri bajta)
(b) AAL 2
jedan bajt koga dodaje SAR
broj
sekvence
tip
45 bajtova korisnih informacija
duina eksuma
(a) AAL 1
dodaje SAR
Provera greaka
(4 bita)
8-bitni pokaziva
(opciono)
46, ili 47 bajtova korisnih informacija
3-bitna sekvenca #
bit pokazivaa
SLIKA 13.29 Slanje saobraaja Klase A
elije veliine 53 bajta koj
kreira i alje ATM
niz bajtova koji
generie
video aplikacija
video aplikacija
48-bajtni AALl paketi
sadre 46, ili 47 bajtova
korisnih informacija
Ovaj bajt zaglavlja, ako je prisutan, koristi se kada polje sa korisnim informacijama (Payload)
nije puno i locira podatke u tom polju. Ovaj metod moe da se koristi kada popunjavanje polja
Payload moe da traje due nego to aplikacija moe da tolerie. Parcijalnim popunjavanjem
polja Payload informacije mogu da se prenesu u ATM eliju i eventualno bre poalju. To moe
da bude neophodno kako bi se odrala konstantna bitska brzina koja se zahteva za saobraaj
Klase A. Posledica je da podsloj konvergencije mora da bude sinhronizovan sa taktom da bi
odgovarajua koliina podataka pravovremeno bila isporuena SAR podsloju.
Od preostalih sedam bitova prvog bajta zaglavlja, tri se koriste za broj sekvence. Podsloj konverge-
ncije obezbeuje broj sekvence, a SAR podsloj kreira zaglavlje u kome ga pamti. Tako prijemni CS
podsloj detektuje gubitak informacija, ili pogreno umetnutu eliju, to moe da se desi ako se javi
nedetektovana greka na ID-u putanje elije na putu do odredita. elija moe da bude usmerena na
pogrenu lokaciju, tako da bi se greka mogla manifestovati u vidu pogreno umetnute elije. Tano
odredite e primetiti prazninu u pristiglim brojevima sekvence koja ukazuje na gubitak informacija.
Sve pogreno umetnute elije se ignoriu (zamislite da vidite pogrene kadrove u poslednjim
odluujum sekundama plejofa). Ako primalac detektuje gubitak, obavetava poiljaoca, ali ne
zahteva retransmisiju. Pretpostavljamo da radite sa real-time video, ili audio aplikacijom - zato
retransmisija slika, ili zvukova ne bi bila korisna. Gledaoci e morati da loleriu treperenje slike, ili
utanje zvtika (uz pretpostavku da je gubitak jedva primetan).
Preostala etiri bita se koriste za ptoveru greaka 3-bitnog polja Sequence. Obezbeduje ih SAR
podsloj i tri od etiri bita odgovaraju CRC-u za tri bita broja sekvence, a etvrti je bit parnosti za
kombinaciju broja sekvence i CRC bitova. Bit parnosti obezbeduje dodatnu meru zatite. U stvari,
moe da ispravi greke u jednom bitu i da detektuje dvostruke greke. Korisne informacije
u paketu nisu zatiene. Meutim, kao to smo ranije istakli, ATM se u optem sluaju pokree
na pouzdanom medijumu. ak i ukoliko doe do gubitka podataka, verovatno je neprimetan.
Opsims toga, provera samo polja Sequence zahteva manje vremena i pomae pravovremenu
isporuku paketa u realnom vremenu.
AAL 2 Na slici 13.3Ob prikazan je format AAL 2 paketa. Slino AAL 1, jedino SAR podsloj
dodaje neto u korisne informacije. U ovom sluaju dodaje i zaglavlje (jedan bajt) i zavrne
bitove (dva bajta). Broj sekvence u zaglavlju ima istu namenu kao i broj sekvence u AAL 1 pake
tu. Polje Type odraava promenljivu bitsku brzinu karakteristinu za saobraaj Klase B. Prilikom
saobraaja Klase A podaci su striktni nizovi bitova kod kojih nema potrebe za definisanjem grani-
ca poruke. Slike se prikazuju im se podaci koji ih predstavljaju prime. Poti saobraaj Klase B
ukljuuje nekompresovane slike, granice poruka su neophodne da bi se olakalo identifikovanje
novih okvira. Polje Type olakava identifikovanje poruke, tako to naznaava da li je elija prva,
poslednja, ili je u sredini poruke.
Polje lenglh definie broj bajtova u korisnim informacijama. Konano, polje Checksum
obezbeduje proveru greaka za ceo paket. AAL 2 se i dalje razvija, tako da postoje aspekti koji jo
uvek nisu u potpunosti definisani.
aplikacija
blok oodataka
cs
podsloj
SAR
blok podataka
podsloj
osam zavrnih bajtova
Sekvenca od 48 bajtova korisnih informacija.
Svaka sekvenca se postavlia u 53-bajtnu ATM eliju.
SLIKA 13.31 Deljenje bloka podataka AAL 5 paketa na ATM elije
Na primer, veliina dodatnih polja (Overhead) nije defmisana. Postojali su predlozi da se u polje
Type ukljue i informacije o tajmingu relevantne za audio, ili video podatke.
AAL 5 Razmatranje ATM-a zavravamo opisom AAL 5, iji je format paketa opisan na slici
13.30c. AAL 5 paketi su znatno vei od ostalih AAL paketa. Razlog je delimino to to AAL 5 nije
dizajniran za real-time video, ili glas; dakle, potreba za malim paketima nije mnogo kritina.
Sledea razlika se ogleda u tome to dodatne podatke u korisne informacije dodaje podsloj
konvergencije, umesto SAR podsloja. Na slici 13.31 prikazani su osnovni koraci prilikom slanja
potencijalno velikog bloka podataka. Aplikacija generie blok podataka i predaje ga CS-u, koji
dodaje osam bajtova zavrnih podataka i prenosi paket do SAR podsloja. SAR podsloj deli paket
na 48 bajtova korisnih informacija, koji se postavljaju u ATM eliju. Koraci su obrnuti na
prijemnoj strani.
Primeujete da slika 13.31 sugerie da je veliina celog paketa (blok podataka i zavrni bitovi)
umnoak 48 bajtova. Poto koliina podataka moe da bude promenljiva, blok podataka moe,
u stvari, da se dopuni jednim od 47 dodatnih bajtova. Broj se bira tako da veliina paketa bude
umnoak 48.
U zavrnim bitovima postoje dve stavke koje treba pomenuti. Prva je 32-bitno CRC polje, koje
obezbeuje proveru greaka za ceo paket, to je jo jedna naznaka da ovaj format nije dizajniran
za real-time audio, ili video: korienje 32-bitnog CRC-a na potencijalno hiljadama bitova moe
da traje izuzetno dugo. Drugo polje definie broj bajtova u polju korisnih informacija (Payload).
Poto se aplikacija pokree preko ATM-a, podaci se i dalje deie na manje elije. Ipak, znaajan
aspekat ovog deljenja je da se izvodi na drugom sloju. Kod AAL 1 i AAL 2 podaci se ranije dele
na male pakete tako da mogu da se obrade i poalju to pre.
Ovde podsloj konvergencije radi sa potencijalno velikim blokom podataka i kreira zavrne bitove
za njega. Zbog velidne bloka, ovo moe da potraje, to moe da bude neprihvatljivo za saobraaj
Klase A, ili Klase B. Ipak, kod saobraaja Klase C, ili Klase D ovakva kanjenja nisu problem.
Service-specific connection-oriented protokol (SSCOP)
AAL protokoli koje smo opisali bave se prvenstveno transferom podataka. Jo uvek nismo predstavili
protokol iji je primarni zadatak obezbedivanje pouzdane konekcije. Rani kreatori ATM-a su
prepoznali da e detekcija greaka i oporavak biti potrebni za signaliziranje iza odredene aplikacije
za rad sa podacima. Zato je AAL podeljen na dva dela: zajedniki deo i deo specifian za konkretni
servis. AAL 5 je primer zajednikog dela. Dva dodatna protokola Service-Specific Coordination Function
(SSCF) i Service-Specific Connection-Oriented Protocol (SSCOP) ine deo specifian za servis. SSCOP i
SSCF se nalaze izmeu AAL 5 i protokola za signalizaciju na viem sloju, kao to je Q.2931, gde SSCF
obezbeuje interfejs izmeu SSCOP i Q.2931. Uzeti zajedno, SSCF i SSCOP nazivaju se i signalni
ATM adaptacioni sloj (SAAL - signaling ATM adaptation layer).
SSCOP je sinhroni bitovima orijentisani protokol ije su glavne funkcije kontrola toka i akcije
koje se preduzimaju kada se detektuju greke. Koristi se oblik protokola klizajuih prozora sa
selektivnom retransmisijom, kod koga se veliina prozora moe podeavati dinamiki i moe
eksplicitno da se zahteva prenos tih okvira.
Signalni sloj (Q.2931) komunicira sa SSCOP preko SSCF-a. SSCOP kreira specifine pakete, koje
alje do ravnopravnog SSCOP entiteta na drugoj strani. Prijemni SSCOP izvlai informacije iz tih
paketa i prosleuje ih preko svog SSCF-a do signalnog sloja na toj strani. SSCOP paketi mogu da
budu promenljive duine, sa maksimalnom veliinom 64 Kbytes.
U sledeoj listi su navedeni tipovi SSCOP paketa:
Begin i Begin Acknovvledgment paketi se koriste za uspostavljanje i potvrdu
uspostavljanja SSCOP konekcije.
End i End Acknowledgment paketi se koriste za oslobadanje i potvrdu oslobaanja
SSCOP konekcije.
Reject paketi se koriste za odbacivanje zahteva ravnopravnog SSCOP entiteta za
konekciju.
Resynchronize i Resynchronize Acknowledgment paketi se koriste za ponovno
uspostavljanje konekcija i parametara konekcije u sluaju da dode do "otkaza"
konekcije.
Sekvencirani paketi sa podacima sadre korisnike informacije. Oni koriste 2'4-bitne
brojeve sekvence koji doputaju potencijalno velike prozore. Ovo je znaajno zbog
toga to mali prozori mogu da ogranie propusnost protokola.
PoIl paketi se koriste za zahtev za informacije o statusu primaoca. SSCOP se ne
oslanja na tajmer za ponovo slanje paketa koji nikada nije stigao. Tako se redukuje
zavisnost od implementacije tajmera. Umesto toga, koristi se PoIl paket, koji sadri
naredni broj sekvence nakon poslednjeg prenetog paketa. Ovaj paket ujedno zahteva
od primaoca da poalje svoj status. Po prijemu PoIl paketa, primalac moe da kae da
li neki od prethodno poslatih paketa nisu stigli.
Status paket alje primalac kao odgovor na PoIl paket. On sadri granini broj
sekvence za prijemni prozor, broj sekvence sledeeg oekivanog paketa i brojeve
sekvence svih paketa koji nedostaju. Po prijemu Status paketa, poiljalac zna koliko
paketa moe da poalje bez prekoraenja prijemnog prozora i koji paketi nisu stigli.
Nakon toga, reaguje na odgovarajui nain.
Unsolicited Status paket je, u sutini, isti kao Status paket, osim lo se ne alje kao
odgovor na PoIl paket.
Dodatne informacije o SSCOP-u moete da naete u referencama [Ha98] i [He95] radi.
Gigabit Ethernet naspram ATIVt mree
Razvoj Gigabit Etherneta (seate se Poglavlja 9) inicirao je poredenja sa ATM-om, jer se ATM
ponekad smatra glavnom tehnologijom za implementaciju okosnica (backbones) koje povezuju
vie LAN-ova. Ranije smo istakli da je ATM protokol koji je bio razvijen veim delom kao reakci-
ja na sve masovnije korienje audio i video aplikacija. Takve aplikacije zahtevaju kvalitet servisa
koji se razlikuje od kvaliteta koji se zahteva za konvencionalni transfer fajlova, email, ili Web
aplikacije. QoS za real-time aplikacije sa video i audio zapisima zahteva brzu isporuku sa veoma
malim, ili nikakvim kanjenjima u isporuci podataka. Starije verzije Etherneta nisu mogle da
garantuju takav QoS zbog malih brzina i moguih kolizija. Zato nije bilo neuobiajeno da se
ATM koristi za implementaciju irokopojasnih linkova izmedu LAN-ova.
Sa novim brzinama i full-duplex modovima, Ethemet sada moe da obezbedi zahtevani QoS za
real-time aplikacije. Zbog toga, postaje prihvatljiva opcija i, u stvari, ve je poeo da zamenjuje
ATM kod okosnica za vie LAN-ova na razliitim lokacijama. Ovo ne znai da se ATM naputa,
pogotovo zato to se i dalje koristi za povezivanje mnogih mrea na velikim gradskim
podrujima, pa, ak, i za mree koje pokrivaju vee geografske oblasti. Ove dve tehnologije se i
dalje znaajno razlikuju. Na primer, ATM je orijentisan konekciji, a Ethernet nije. ATM prenosi
okvire fiksne veliine, dok veliina okvira kod Etherneta varira.
ATM QoS je implementiran pomou protokola za signalizaciju koji se izvrava pre uspostavljanja
konekcije. Na taj nain je omogueno uspostavljanje konekcije samo ako moe da se postigne traeni
QoS. Ethernet je dizajniran za ravnopravno tretiranje svih vrsta saobracaja, Dakle, ne pravi nikakvu
razliku izmeu okvira koji prenose podatke i podataka video zapisa. Zbog toga, pristalice ATM-a
tvrde da Ethernet, u stvari, ne moe da obea isti QoS kao ATM. Pristalice Etherneta smatraju da
poveanje opsega signala i dodatni protokoli, kao to su Resource Reservation Protocol (RSVP) i
Real-Time Transport Protocol (RTP), ine Ethernet prihvatljivom alternativom. Seate se iz Poglavlja
11 da se RSVP, koji je IETF razvio, koristi na hostovima i ruterima za postavljanje QoS zahteva i
rezervisanje resursa potrebnih za ispunjavanje tih zahteva. RTP, takoe projekat lETF-a, predstavlja
protokol izmeu krajnjih taaka koji je dizajniran za podrku real-time aplikacija.
13.5 Zakljuak
Ovim poglavljem je obuhvaeno nekoliko specifinih protokola koje mnogi smatraju znaajnim
WAN tehnologijama: ISDN, X.25 protokol sa komutacijom paketa, frame relay i ATM. Sledi
njihov rezime.
ISDN je dugogodinji protokol koji definie potpuno digitalizovani komunikacioni
sistem. Originalno je dizajniran kao eventualna zamena za telefonski sistem, ali
nikada nije prihvaen kao opti sistem, delom zbog toga to su mnoge digitalne
komponente ve bile uvedene u postojei telefonski sistem, a delom zato to prednosti
zamene stotina miliona analognih telefona i njihovih kola jednostavno nisu
opravdavale cenu.
X.25, koji je originalno razvijen za WAN konekcije preko evropskih granica, definie
standard za postavljanje i komuniciranje pomou virtuelnih kola. Re je o troslojnom
protokolu koji definie format paketa, uspostavljanje poziva, okonavanje poziva,
kontrolu toka i kontrolu greaka.
Frame relay su mnogi videli kao naslednika X.25 protokola. Izvrava sline funkcije,
ali nema kontrolu toka, niti kontrolu greaka. Korisnicima omoguava da plate eljenu
bitsku brzinu i obezbeduje resurse koji omoguavaju ispunjavanje korisnikovih
zahteva. Frame relay sa komutatora uklanja dosta funkcionalnosti, kao to su kontrola
toka i greaka, ali pretpostavlja se da se time bave korisniki uredaji.
ATM je sledea tehnologija sa komutacijom kola koja nudi vie opcija za ispunjavanje
zahteva kvaliteta servisa u poreenju sa frame relay protokolom. Zato je prikladniji ne
samo za standardni saobraaj, ve i za audio, ili video aplikacije koje zahtevaju
konstante bitske brzine. Za razliku od velikih okvira promenljive veliine, ATM koristi
53-bajtne elije za sve vrste saobraaja. Manje elije omoguavaju bru obradu
informacija u zaglavlju i bre prosledivanje.
Pitanja i zadaci za proveru
1. tajelSDN?
2. Navedite razliku izmedu osnovnog i primarnog ISDN servisa.
3. Navedite i rezimirajte etiri funkcionalne grupe kod lSDN-a.
4. Navedite i rezimirajte etiri referentne take kod ISDN-a.
5. U emu je razlika izmedu signaliziranja u opsegu (in-band) i van opsega (out-of-
band)?
6. ta je Signaling System 7?
7. ta je pseudoternarno kodiranje?
8. ta je irokopojasni ISDN?
9. Da li su sledee konstatacije tane, ili netane (zato)?
a. Potpuno digitalizovana svojstva ISDN-a odmah obezbeduju prednosti za sve one
koji ga koriste.
b. X.25 protokol definie operacije mree sa komutacijom paketa.
c. Razliita virtuelna kola mogu da se preklapaju.
d. Servis datagrama ne isporuuje pakete u ispravnom redosledu.
e. Frame relay je bio dizajniran za rad sa high-speed digitalnom opremom koja
obezbeduje kvalitet servisa neophodan za real-time aplikacije, kao to video
aplikacije i aplikacije za prenos glasa.
f. Angaovana brzina prenosa informacija kod frame relay protokola garantuje
korisniku da e njegovi podaci stii na svoje odredite naznaenom brzinom.
g. Nedostatak malih elija fiksne veliine kod ATM-a je to se manje informacija
moe postaviti u zaglavlja i zato komutatorima treba vie vremena za
rosleivanje podataka.
10. ta je virtuelno kolo?
11. ta je mrea sa komutacijom paketa?
12. Zato svi vorovi u virtuelnom kolu ne mogu da koriste isti broj za identifikovanje
kola?
13. ta je je servis datagrama?
14. ta definie X.25 standard?
15. Navedite tipove X.25 paketa koji se tiu uspostavljanja poziva.
16. Po emu se permanentno virtuelno kolo razlikuje od obinog virtuelnog kola?
17. Koje su slinosti X.25 i frame relay protokola? Koje su razlike?
18. Sta je angaovana brzina prenosa informacija kod frame relay protokola?
19. Kako vrednost DE bita u okvirima frame relay protokola utie na njihovu isporuku?
20. Frame relay e postaviti ili BECN, ili FECN bitove, ili oba kada doe do zaguenja.
U emu je razlika izmeu njih?
21. Kako frame relay protokol reava zaguenja?
22. Zato neki smatraju da je ATM protokol budunosti?
23. Zato postoji nekoliko AAL slojeva?
24. Navedite razlike izmeu saobraaja klasa A, B, C i D na ATM mrei.
25. Zato su ATM elije dugake 53 bajta?
26. Navedite neke prednosti korienja malih elija fiksne duine kod ATM-a.
27. U emu je razlika izmeu virtuelne putanje i virtuelnog kola kod ATM-a i zato ta ona
postoji?
28. U emu je prednost korienja Banyan komutatora u odnosu na uobiajenu tabelu
rutiranja?
29. Zato polje Header Error Control u zaglavlju ATM elije proverava samo zaglavlje i
ostavlja korisne informacije nezatiene?
30. Opiite kako polje Header Error Control moe da se koristi za lociranje granica ATM
elije.
31. Navedite neke elemente koje moe da sadri ATM Setup poruka.
32. Zato je prihvatljivo da AAL 5 paketi mogu da sadre potencijalno velika polja sa
korisnim informacijama promenljive duine kada je to neprihvatljivo kod AAL 1 i AAL 2?
Vebe
1. Razmotrite sliku 13.10. Pretpostavimo da A uspostavlja virtuelno kolo ka D, a da B
uspostavlja virtuelno kolo ka C. Ako oba virtuelna kola prolaze kroz X i Y, kako e
izgledati tabele rutiranja u X i Y?
2. Pretpostavite da svaki TEl sa sledee slike pokuava istovremeno da poalje neto do
NT2.
A B C
TEl
2B+D okvir
2B+D
S
NT2
Pretpostavite i da svaki od njih pokuava da poalje sledee informacije preko D kanala:
A alje 10011101.
B alje 10001100.
C alje 10011001.
Koji TEl "pobeduje" u "nadmetanju"?
3. Pri dizajniranju kapaciteta B kanala kod ISDN-a uzet je u obzir prenos glasa. U
odeljku 3.6 smo pokazali da su za zahvatanje veih glasovnih karakteristika dovoljni
8-bitni semplovi uzeti sa frekvencijom od 8.000 semplova u sekundi, i da zahtevaju
bitsku brzinu od 64.000 bps. Meutim, neke tehnike kodiranja omoguavaju, u stvari,
prenos govornih podataka na brzini od 32.000 bps, dok druge verovatno doputaju i
16.000 bps kao dovoljnu brzinu. Kakav efekat ovo moe da ima na ISDN standard?
4. Nacrtajte dijagram slian onom sa slike 13.7, koji prikazuje proceduru raskidanja
ISDN konekcije.
5. Za kontrolu toka kod frame relay protokola postoje dve opcije za reavanje zaguenja,
koje ukljuuju postavljanje BECN, ili FECN bita. Koji od ta dva bita ima direktniji i
bri efekat na redukovanje zaguenja?
6. U poreenju sa X.25, frame relay obavlja mnogo manje funkcija za upravljanje paketi-
ma (okvirima) u posrednikim komutatorima. U emu se sastoji prednost takvog pris-
tupa? U emu su nedostaci?
7. Pretpostavimo da je kod frame relay protokola CIR = 20.000 bps, veliina okvira 1.000
bitova, B
e
= 3.000 bitova i da se brzine izraunavaju u periodu od 0,5 sekundi. Koliko
okvira u prvom intervalu od 0,5 sekundi moe da poalje prvi komutator ako je DE bit
postavljen na 0? Koliko ih alje ako je DE bit postavljen na 1? Koliko se okvira
odbacuje?
8. Opiite scenario u kome se etiri elije mogu istovremeno rutirati bez kolizija preko
Banyan komutatora sa slike 13.21.
Reference
[Ap86]Appenzeller, H. R. "SignalingSystemNo. 7, ISDNUserPart". IEEE lournal on
Selected Areas in Communication,vol.SAC-4,no.3(May1986),366-371.
[AT89] AT&T and Bellcore. "Observations ofError Characteristics ofFiber Optic
TransmissionSystems". CCJTTSGXVi//, San Diego, CA, January, 1989.
[B195]Black,U. The X Series Recommendations: Standards for Data Communications,2nded.
NewYork: McGraw-Hill, 1995.
[B199]Black,U. ATM Volume T. Foundation for Broadband Netivorks,2nded.UpperSaddle
River,NJ: Prentice-Hall, 1999.
[Bl97a]Black,U. Emerging Communications Technologies, 2nded.UpperSaddleRiver,NJ:
Prentice-Hall, 1997.
[Bi97b]Black,U. ISDN and SS7. Architectures for Digital Signaling Netuiorks. UpperSaddle
River, NJ: Prentice-Hall, 1997.
[BlOO] Black, U. QOS in Wide Area Netuiorks. UpperSaddleRiver,NJ: Prentice-Hall. 2000.
[Gr98]Griffiths,J.M. ISDN Explained: Worldwide Nelivork and Applications Technology,3rd
ed. NewYork:Wiley, 1998.
[Ha98]Handel,R.,M.Huber,andS.Schroder. ATM Netiuorks: Concepts, Protocols,
Applications, 3rded.Reading,MA:Addison-Wesley, 1998.
[He95] Henderson,T. "Design Principles and PerformanceAnalysis ofSSCOP: ANewATM
AdaptationLayerProtocol". Computer Communications Revieiv,vol.25,no.2 (April
1995), 47-59.
[Hu03]Hunt,R."FrameRelay". Encyclopedia of Information Systems,vol.II.NewYork:
AcademicPress, 2003, 371-390.
[McOl]McQuerry,S.,andK.McGrew. Cisco Voice over Frame Relay, ATM
1
and IP.Upper
SaddleRiver.NJ: Prentice-Hall, 2001.
[Me03] Mesher, G. "Integrated Services Digital Network (Broadband and Narrowband
ISDN)". Encyclopedia of Information Systems,vol.II.NewYork:AcademicPress,2003,
627-638.
[Sc86]Schlanger,G.G. "AnOvervievvofSignalingSystemNo.7". IEEE Journal on Selected
Areas in Communication,vol.SAC-4,no.3(May1986),360-365.
[St99] Stallings,W./SDN and Broadband ISDN with Frame Relay and ATM, 4thed. Upper
SaddleRiver, NJ: Prentice-Hall, 1999.
[Va97]Varshney, U. "SupportingMobilitywithWirelessATM." Computer, vol.30, no. I
(January 1997), 131-133.
Renik
10Base2 10 Mbps Ethernet standard za tanki
koaksijalni kabl
lOBaseS lOMbps Ethemet standard za debeli
koaksijalni kabl
10BaseFx 10 Mbps Ethernet standard za optiki
fiber
lOBaseT 10 Mbps Ethernet standard za UTp
kablove kategorije 3, 4, ili 5
100BaseFX 10 Mbps Ethernet standard za
optiki fiber
100BaseT4 100 Mbps Ethernet standard za UTP
kabl kategorije 3
100BaseTX 100 Mbps Ethernet standard za UTP
kabl kategorije 5
lOOOBaseT Gigabit Ethernet standard za UTP kabl
kategorije 5
1000BaseX Gigabit Ethernet standard za optiki
fiber
802.3 standard Zajedniki termin za vie razliatih
Ethernet standarda za razliite medijume
802.5 standard IEEE standard za token ring mreu
802.11 standard IEEE standard za beini LAN
4B/5B kodiranje ema kodiranja kod koje se
4-bitne vrednosti menjaju sa 5-bitnih vrednosti
8B/6T kodiranje ema kodiranja kod koje se osmo-
bitne vrednosti menjaju sa est tritskih vrednosti
8B/10B kodiranje ema kodiranja kod koje se
8-bitne vrednosti menjaju sa 10-bitnim vrednostima
abort - prekid Iznenadni zavretak aktivnosti,
obino zbog neke greke
Abstract Syntax Notation 1 (ASN.l) Formalni
jezik dizajniran iskljuavo radi definisanja formata
za jedinice podataka protokola i za predstavljanje
operadja nad distribuiranim informacijama
access point - pristupna taka Uredaj povezan na
kabliranu mreu koji moe da komunicira sa
beinim uredajima
Acknovvledgment - potvrda Ukazivanje da je
uredaj primio neto od drugog uredaja
tajmer Tajmerkojisekoristi kod protokola
za kontrolu tokaza utvrivanje kada treba poslati
zasebnu potvrdu, u sluaju da nema odlazeih okvira
adaptive routing - adaptivno rutiranje Strategjja
ratiranja koja reaguje na promene na mrei
add/drop multiplekser Uredaj koji se koristi za
izvlaenje saobraaja sa SONET prstena i za meanje
sa postojem saobrac'ajem na prstenu
address learning - uenje adresa Mogunost LAN
mosta, ili komutatora da dinamiki auriraju svoje
tabele rutiranja
Address Resolution Protocol Videu: dinamiko
povezivanje
address spoofing - lairanje adrese Slanje
Intemet paketa sa lanom izvomom adresom
Advanced Encryption Standard (AES) NIST
standard zasnovan na Rijndaelovom algoritmu
Advanced Research Projects Agency Agencija
amerikog ministarstva odbrane (U.S. Department
of Defense)
Projects Agency Network (ARPANET) Mrea koju
je razvila Advanced Research Projects Agency, a koja
je prerasla u protokole koji se koriste na Intemetu
Aloha protokol Protokol slanja paketa radio
difuzijom kod koga uredaj alje paket i, ako dode do
kolizije sa drugim paketom, ponovo alje taj paket
nakon nasumice izabranog perioda vremena
alternate mark inversion - inverzno naizmenino
oznaavanje Digitalno kodiranje kod koga se 1
predstavlja nultim naponom, a 0 naizmenino sa
pozitivnim i negativnim signalom
American National Standards Institute (ANSI)
Privatoa, nevladina agencija za uspostavljanje
standarda aji su lanovi proizvodai, korisnici i
drage zainteresovane kompanije
American Standard Code for Information
Interchange (ASCII) Sedmobitni kod koji
dodeljuje jedinstvenu kombinaciju svakom
karakteru sa tastature i nekim specijalnim funkcijama
amplitude - amplituda Najvea vrednost
analognog signala
amplitude modulation (amplitude shift keving) -
amplitudska modulacija Metod predstavljanja
bitova pomocu analognih signala razlitih amplituda
analog signal - analogni signal Kontinuelno
promenljivi signal
analog-to-digital conversion - analogno-digitalna
konverzija Proces konvertovanja analognih
signala u digitalne
anonvmous FTP - anonimni FTP Aplikacija koja
udaljenim korisnicima omoguava pristup setu
fajlova na konkretnom sajtu
application layer - sloj aplikacije Sedmi i najvii
sloj OSI protokola, koji radi direktno sa korisnikom
i programskim aplikacijama
application-level gateway Firewal koji funkcionie
na sloju aplikacije
arbitration - arbitraa Proces donoenja odluka
koji uredaj dobija pristup resursu
arithemtic compression - aritmetika kornpresija
Metod kompresije koji generie frekventno-zavisni
kod zasnovan na interpretiranju stringa kao realnog
broja
asvmmetric DSL (ADSL) - asimetrini DSL DSL
tehnologija kod koje se bitske brzine prilikom
preuzimanja i slanja podataka razlikuju
asvnclironous balanced mode - asinhroni
balansirani mod Mod za HDLC kod koga svaka
stanica moe da alje podatke, kontrolne informacije,
ili komande
asvnchronous response mode - mod asinhronog
odziva Mod za HDLC kod koga primarna stanica
moe da alje podatke, kontrolne informacije, ili
komande, a sekundarna stanica samo kontrolne
informacije, ili podatke
Asvnchronous Transfer Mode (ATM) Veoma brzi
protokol za komutaciju paketa koji koristi male
pakete fiksne velidne, optimizovan za
multimedijalne aplikadje
asvnchronous transmission - asinhroni prenos
Mod za prenos kod koga se bitovi dele na manje
grupe (bajtove ili oktele) i alju nezavisno
ATM adaptation layer (AAL) - ATM adaptacioni sloj
Komponenta ATM protokola koja obezbeduje
interfejs izmeu aplikacija i ATM sloja
attenuation - slabljenje Degradadja signala dok
putuje du medijuma
auditory masking - ujno maskiranje Fenomen
koji spreava registrovanje odreenih zvukova u
prisustvu jaeg zvuka sline frekvencije
authentification - autentifikacija Verifikovanje
poiljaoca poruke, ili autentidiosti dokumenta
automatic repeat request - automatski zahtev za
retransmisiju Kontrola greaka kod koje uredaj
zahteva od predajnog uredaja da ponovo poalje
poruku ako dode do greke
autonomous svstem - autonomni sistem Domen
koji funkcionie nezavisno od ostalih domena
B channel - B kanal ISDN kanal koji moe da
prenosi podatke brzinom od 64 Kbps
backbone - okosnica Deo mree koji sadri
primame prenosne putanje
backvvard search algorithm - algoritam pretraiva-
nja unazad Algoritam za aitiranje kod koga vor
ui od svojih suseda koja je najjeftinija ruta do slede-
eg vora (poznat je i kao algoritam uenja unazad)
balanced circuit - balansirano kolo Kolo koje
koristi dve linije koje prenose iste signale suprotnih
polariteta
bandpass filter - propusni filter Uredaj koji se
koristi za izvlaenje individualnih modulisanih
signala
bandwiddi - opseg signala Razlika izmedu najvie
i najnie frel<vencije koju medijum moe da prenese
switch- komutator Komutator
koji povezujesvojeulazne i izlazneportovepreko
niza intemih stepena
baseband mode - mod osnovnog opsega Modu
komejeopsegsignala koji seprenosepreko kabla
rezervisanza jedan nizpodataka
basicserviceset (BSS) - osnovni servisni skup
Skup beinih uredaja koji komuniciraju sa jednom
pristupnom takom
Baudot code - Bodov kod Petobitni kod originalno
dizajniran za francuski telegraf
baud rate - brzina bauda Brzina kojom
komponente signala mogu da se menjaju
Beacon frame - Beacon okvir Kontrolni okvir
kod token ring mrea koji se koristi za informisanje
uredaja o pojavi problema zbog koga je zaustavljeno
prosledivanje tokena
beam shaping - uobliavanje mlaza Proces u
okviru koga se omoguava koncentrisanje satelitskog
signala na manju oblast
bel Jedinica mere za jainu signala u odnosu na
jainu uma
Bellman-Ford algorithm - Bellman Fordov
algoritam Tip algoritma sa uenjem unazad
binary-coded decimal (BCD) - binarno kodirani
decimalni kod Kod koji je korien za rane IBM
mainframe kompjutere
binary exponential backoff algorithm - binarni
eksponencijalni backoff algoritam Algoritam koji
se koristi za utvrdivanje kada uredaj treba ponovo da
poalje okvir nakon kolizije
binary svnchronous communications (BSC)
protokol Bajtovima orijentisani protokol veze
koga je kreirao IBM
birthday attack - napad roendana Tehnika koje
se koristi za pokuaj pronalaenja dva dokumenta
koji generiu istu vrednost digitalnog saetka
bisvnc Videti: bimry synchranous communications
(BSC) protokol
bit Osnovna jedinica inforraacija; obino se
predstavlja sa 0, ili 1
bit-level ciphering - ifrovanje na nivou bita
ifrovanje koje se izvodi manipulacijom bitova
bit-oriented protocol - bitovima orijentisani
protokol Protokol koji tretira okvire kao nizove
bitova
bit pipe - bitski vod Stvarni prenos bita kod ISDN
protokola
bit stufflng - popunjavanje bitova tlmetanje
dodatnog bita kako bi se izbegli dugaki nizovi istog
bita
block chaining mode - mod ulanavanja blokova
Mod ifrovanja kod koga ifrovanje jednog bloka
zavisi od ifrovane verzije prethodnog bloka
Block Check Character Karakter koji se koristi za
provem greaka kod BSC protokola
block cipher - blokovsko ifrovanje Metod za
ifrovanje koji deli obini tekst na blokove i ifruje
svaki blok
Bluetooth Tehnologija koja koristi mikroip u
kome se nalazi radio predajnik/prijemnik za beinu
komunikaciju
Border Gateway Protokol Protokol koji ruterima
omoguava implementiranje specifinih polisa, ili
ogranienja koje ruta mora da ispuni
brdige - most Konekcija sloja 2 izmedu dve mree
bridge port - port mosta Most za LAN konekcije
bridge protocol data unit (BPDU) Jedinine
informacije koje mostovi razmenjuju
broadband ISDN (B-ISDN) - irokopojasni ISDN
Protokoli koji implementiraju ISDN servise preko
high-speed irokopojasne mree
broadband mode - irokopojasni mod Mod
kod koga se propusni opseg deli na podopsege koji
prenose zasebno kodirane informacije
broadcast address - emisiona adresa Adresa koja
ukazuje da okvir treba poslati do svih uredaja na
mrei
broadcast domain - emisioni domen Skup
dogadaja do kojih okvir stie preko emisione adrese
browser - pretraiva Program koji korisniku
omoguava pristup i prikazivanje fajlova smetenih
na udaljenim Web serverima
buffering - baferovanje Privremeno smetanje
informacija
burst error - navalna greka Greka koja utie na
veliki broj bitova
bus topology - topologija magistrale Nain
povezivanja ureaja tako da svi komuniciraju
preko zajednikog kabla
byte multiplexer - bajtski multiplekser Llredaj
koji kombinuje bajtove iz razliitih izvora u jedan
zajedniki niz podataka
byte-oriented protocol - bajtovima orijentisani
protokol Protokol koji okvire trelira kao nizove
bajtova
byte stuffing - popunjavanje bajtova Umetanje
dodatnog bajta kako bi se spreilo pogreno
interpretiranje bajta podataka kao kontrolnog bajta
cable modem - kablovski modem Uredaj dizajni-
ran za povezivanje kompjutera pomou signala koje
obezbeduje provajder kablovskih usluga
Caesar cipher - Cezarova ifra Jednostavna
tehnika za ifrovanje kod koje se svaki karakter menja
drugim karakterom koji zavisi samo od vrednosti
originalnog karaktera
Carriage Return ASCII kontrolni karakter koji
pomera mehanizam za tampanje na krajnju levu
poziciju za tampanje
Carrier Sense Multiple Access (CSMA) Protokol
koji se koristi kako bi se utvrdilo da li je medijum
zauzet pre pokuaja slanja podataka
Carrier Sense Multiple Access with Collision
Avoidance (CSMA/CA) Strategija nadmetanja
koju koristi beini LAN standard definisan sa 802.11
Carrier Sense Multiple Access with Collision
Detection (CSMA/CD) Slian protokolu Carrier
Sense Multiple Access, samo to ima mogunost
detektovanja da li je dolo do kolizije
carrier signal - nosei signal Signal koji se
modulie ulaznim signalom kako bi se kreirao
drugi signal
CAT 5 cable - CAT 5 kabl Vrsta UTP kabla koji
se danas koristi u mnogim mreama i koji moe da
podri brzine od 100 megabita u sekundi na
rastojanjima do 100 metara
cell - elija (1) Geografska oblastu kojoj prijemna
i predajna stanica komuniciraju sa mobilnim
telefonima; (2) Jedinica prenosa defmisana ATM
protokolom
cellular telephone - mobilni telefon Prenosivi
telefon koji se povezuje na telefonski sistem preko
radio komunikacija
centralized routing - centralizovano rutiranje
Rutiranje koje koristi informacije generisane i uvane
na jednoj centralnoj lokaciji
certificate authority - nadleno telo za izdavanje
sertifikata Agencija koja kreira .509 sertifikate
channel - kanal irina opsegasignala
Cheapemet IEEE 802.3mrea koja koristi 10Base2
kabl
checksum - eksuma Vrednost koja se koristi za
detektovanje greaka, a formira se sabiranjem bitskih
stringova koji se interpretiraju kao celi brojevi
chipping sequence - chipping sekvenca Bitski
string koji se koristi za proirivanje bitova kod DSSS
tehnologije
Choke packet - Choke paket Kontrolni paket
koji, kada se poalje do ureaja, izaziva redukovanje
broja paketa koje taj uredaj alje
ciphertext - ifrovani tekst ifrovana poruka
circuit switching - komutacija kola Konekcija
koja je rezervisana za komuniciranje dve stanice
cladding - obloga Deo optikog fibera koji ima
manju optiku gustinu od jezgra, tako da se svetlost
reflektuje nazad ka jezgra
Class A, B, C address - adrese Klase A, B, C
Internet adrese kod kojih odredeni bitovi
predstavljaju ID mree, a ostali se dodeljuju
lokalno u okviru mree
Class D address - adresa Klase D Internet adresa
koja se koristi za slanje paketa na vie odredita
(multicasting)
classless address - besklasna adresa Internet
adresa koja nije pridruena tradidonalnim adresama
klaseA, B, C, ili D
classless interdomain routing (CIDR) Inlernet
rutiranje koje se zasniva na strukturi besklasnih
adresa
client - klijent Uredaj, ili program kod
klijent/server modela koji alje zahteve do servera
dient/server model - klijent/server model Model
komunikacija izmedu dva ureaja, od kojih jedan
ima mogunost obrade podataka
Clipper Chip Konlroverzni uredaj za ifrovanje
koji moe da se postavi na telefone radi
skremblovanja konverzacija
coaxiaI cable - koaksijalni kabl Provodna ica
obavijena izolacionim slojem, ianom oplatom i
spoljnjim zatitnim omotaem
code - kod Asocijacija bitskih uzoraka specifinim
informacijama, kao to su karakteri, ili akcije
codec Uredaj koji se koristi za prevoenje
analognog signala u digitalni ekvivalent
collision - kolizija Rezultat simultanog slanja
podataka iz dve, ili vie stanica preko zajednikog
medijuma koji je dizajniran za prenos jednog signaia
u jednom trenutku
collision avoidance - izbegavanje kolizije
Protokol koga koristi beini LAN standard koji
znaajno redukuje broj okvira koji se sudaraju
collision detection - detektovanje kolizije
Moguc'nost uredaja da registruje nastalu koliziju
collision domain - domen kolizije Skup uredaja
u LAN okruenju dji podaci mogu da se sudare
combined station - kombinovana stanica Stanica
koja se ponaa i kao primama i kao sekundardna kod
HDLC protokola
Comite Consultatiflnternational de Telegraphique
et Telephonique ( ) Raniji nazivorganizaci-
jeza uspostavljanje standarda, iji su lanovi razne
naune i industrijske organizacije, telekomunikacione
agencije, nadlena tela za telefoniju i LSO; sada nosi
naziv -
committed information rate - angaovana brzina
prenosa informacija Bitska brzina koju nosilac
rezervie radi obezbedivanja prenosa preko
vinuelnogkola
common bustopologv- topologija zajednike
magistrale Nadn povezivanja uredaja kod koga
svi uredaji komuniciraju preko zajednikog kabla
Common Gateway Interface (CGI) program
Serverski program koji moe da se aktivira iz HTML
dokumenta
Common Management Information Protocol
ISO upravljaki protokol
communications subnet - komunikaciona
podmrea Kolekcija prenosnih medijuma i
komutacionih elemenata koji su neophodni za
rutiranje i prenos podataka
compact disc - kompakt disk Medijum za
skladitenje kod koga se informacije belee optiki
kreiranjem veoma malih udubljenja na reflektujuem
materijalu
compression - kompresija Redukovanje broja
bitova u fajlu, pri emu se zadrava kompletno
znaenje, ili najveci deo
congestion - zaguenje Prekomema koliina
saobrac'aja na mrei koja izaziva degradaciju servisa i
vremena odziva
congestion control - kontrola zaguenja Protokoli
koji se koriste za ublaavanje zaguenja na mrei
connection - konekcija Mehanizam pomou koga
dva uredaja razmenjuju informacije
connection management - upravljanje konekcijom
Protokol koji se koristi za uspostavljanje, odravanje i
otputanje konekcija
connection request - zahtev za konekciju Zahtev
za uspostavljanje konekcije
connection strategy - strategija povezivanja
Strategija koja se koristi za implementiranje konekcije
content addressable - memorijasa
adresabilnim sadrajem Brzi metod pretraivanja
memorije zasnovan na njenom sadraju
contention - "nadmetanje" Termin koji sekoristi
kadadva, ili vie uredaja treba istovremenoda
prenose podatke preko zajednikog medijuma
contention protocol - protokol za "nadmetanje"
Tehnika koja se koristi za kontrolu pristupa
zajednikom medijumu iz vie ulaznih taaka
control bits - kontrolni bitovi Deo okvira koji
se koristi za kontrolne funkcije, kao to su rutiranje i
rukovanje
control characters - kontrolni karakteri Binarni
kodovi koji identifikuju akciju, ili status
conlrol-Q Kontrolni karakter koji se koristi kada
uredaju treba saoptiti da moe da nastavi slanje
podataka
control-S Kontrolni karakter koji se koristi da bi se
uredaju saoptilo da prekine slanje podataka
credit - kredit Koristi se kod konuole toka, a
definie broj bajtova koje TCP entitet moe da primi
od drugog entiteta
crossbar svvitch - tmakrsni komutator
Komutacioni ureaj koji sadri logiku za komutaciju
svakog para ulaznih i izlaznih linija
crosstalk - presluavanje Interferenca na liniji
izazvana paralelnim prenosom signala
cyclic redundancy check (CRC) - ciklina provera
redundantnosti Metod za detekciju greaka
zasnovan na interpretiranju niza bitova kao
polinoma sa binarnim koeficijentima
daisy chain Strategija povezivanja koja uredaje
povezuje u sekvencu
data circuit-terminating equipment (DCE) - opre-
ma za razmenu podataka Uredaj koji se koristi
kao interfejs izmeu DTE-a i mree
data compression - kompresija podataka Videti:
hompresija
Data Encrvption Standard (DES) Tehnika za
ifrovanje, koju je razvio IBM i koju je kao standard
usvojila amerika vlada (U.S. government); vie se ne
smatra bezbednom
data frame - okvir podataka Videti: okvir,
definicija (1)
datagram Nezavisna jedinica prenosa podataka u
mrei sa komutacijom paketa
Data Link Escape character - Data Link Escape
karakter Kontrolni karakter koji se koristi kao
preklopnik koji izaziva razliito interpretiranje
primljenih karaktera
data link layer - sloj veze Protokol sloja 2
data link protocols - protokoli veze Protokoli
koji funkcioniu na sloju 2
data rate - brzina prenosa podataka Mera koja
definie broj bitova podataka koje protokol moe
da poalje u jedinici vremena
data strobe encoding - kodiranje sa strob signalom
Komunikacioni metod koga koristi FireVVire iji je
zadatak ouvanje sinhronizacije izmedu dva uredaja
koji koriste strob signal
data terminal equipment (DTE) - oprema terminala
Uredaj koji se povezuje na komunikacioni medijum
preko DCE
D channel - D kanal ISDN kanal koji se koristi za
prenos komrolnih informacija i za sporije aplikacije
dcadlock - "samrtnl zagrljaj" Situacija u kojoj
uredaji ekaju na dogadaje koji nikada nee da se
dese zbog njihovih tekuih stanja
deadly embrace Videti: deadlodt
decibel Mera koja se koristi za koeficijent
signal-um
decryption - deifrovanje Proces obnavljanja
ifrovane poruke u njenu originalnu formu
Deep Space Network NASA-ino postrojenje za
praenje svemirskih istraivanja bez posade
de facto standards - de facto standardi Standardi
koji postoje zbog opte upotrebe neega
demodulation - demodulacija Obnavljanje
signala koji se modulisan u njegov originalni oblik
denial of service attack - napad odbijanja servisa
Napad na sajt koji izaziva slanje ogromne koliine
saobrac'aja do tog sajta, tako da se serveri tog sajta
gase
DES Cracker Specijalno dizajnirani kompjuter
kreiran radi "razbijanja" DES ifre
designated bridge - oznaeni most Za vreme
izvrenja spanning tree algoritma za medusobno
povezivanje LAN-ova, izabrani most koji prosleuje
okvire sa LAN-a
destination address - odredina adresa Adresa
na koju se okvir, ili paket moraju isporuiti
differential cryptanalysis - diferencijalna
kriptoanaliza Metod analiziranja tehnika za
ifrovanje traenjem parova blokova obinog teksta
koji se razlikuju na odredene naine
differenlial encoding - diferencijalno kodiranje
Tehnika kompresije kod koje je svaki okvir predsta-
vljen razlikom izmedu njega i prethodnog okvira
differential Manchester encoding - diferencijalno
Manester kodiranje Manester kodiranje kod
koga se 0 i 1 razlikuju po tome da li je dolo do
promene signala na poetku bitskog intervala
differential phase shift keving - diferencijalna
modulacija Razlikovanje analognog sigala meren-
jem faznog pomaka u odnosu na prethodni signal
Differentiated Services Arhitektura za diferenci-
ranje razliitih tipova saobraaja na Internetu
Diffie-Hellman exchange- Diffie-Hellman
razmena kljua Metod distribuiranja kljua kod
koga poiljalac i primalac razmenjuju izraunate
vrednosti na osnovu kojih je moguc'e izraunati klju
za ifrovanje
digital signal - digitalni signal etvorougaoni
signal koji moe da ima samo nisku, ili samo visoku
vrednost
digital signature - digitalni potpis Metod
autentifikacije koji ukljuuje ifiovanje poruke na
nain za koji zna samo poiljalac
Digital Subscriber Line (DSL) - digitalna
pretplatnika linija Tehnologija koja korisnicima
omoguava komunikacije preko postojeih
telefonskih linija, koristei frekvencije izvan opsega
koji se koristi kod obine telefonije
Dijsktra's algorithm - Dijkstrin algoritam
Algoritam koji se korisli za pronalaenje najjeftinije
(najkrae) putanje izmedu dva vora na grafu
direct-sequence spread spectrum Metod irokog
spektra koji proiruje jedan bit na vie bitova i koristi
iri frekventni opseg za prenos rezultujueg signala
disconnect - raskidanje konekcije Okonavanje
konekcije
discrete cosine transforms - diskretna kosinusna
transformacija Izraunavanje koje se koristi u prve
tri faze IPEG eme za kompresiju koja generie skup
prostomih frekvencija
discrete multitone - diskretni tonovi
Komunikacioni metod kod DSL-a koji deli signal na
razlidte opsege (tonove) i svaki modulie zasebno
distance-vector algorithm - algoritam vektorskog
rastojanja Videti: Bellman-Fordov algoritam
Distance Vector Multicast Routing Protocol
(DVMRP) Protokol koji se koristi za rutiranje ka
vie odredita za vreme kreiranja multicast stabla
distortion - izoblienje Promena signala zbog
elektrinog uma, ili interference
distributed routing - distribuirano rutiranje
Strategija rutiranja kod koje svaki vor utvruje i
odrava sopstvene informacije o rutiranju
distributed system - distribuirani sistem
Infrastruktura koja se koristi za povezivanje vie
uredaja i mrea
domain - domen (1) Grupa vorova na mrei; (2)
Logika kolekcija sajtova odredenog tipa na
Internetu, grupisanih radi lake administracije
Domain Name System Distribuirani protokol koji
prevodi simbolike Internet adrese u 32-bitne
numerike adrese
downlink - silazni link Konekcija od satelita ka
zemaljskoj stanici
downstream neighbor - naredni sused Susedni
vor u okvim prstena u smeru u kome se krec'e token
DSL access multiplexer (DSLAM) - DSL pristupni
multiplekser Llredaj koji prima DSL signale i
rutira ih na Internet
DTE-DCE interface - DTE-DCE interfejs Protokol
koji se koristi za definisanje komunikacije izmedu
DTE i DCE
dvnamic binding - dinamiko povezivanje Metod
koji se koristi za utvrdivanje fizike adrese uredaja na
osnovu njegove IP adrese
Dvnamic Host Configuration Protocol (DHCP)
Protokol koji alocira IP adresu za uredaj
Echo Reply ICMP paket koji se alje kao odgovor
na Echo Request paket
Echo Request ICMP kontrolni paket koji se koristi
da bi se utvrdilo da li je odredite dostupno
edio supressor - supresor eha Uredaj koji uklanja
elektrini eho iz signala
e-commerce - e-komerc Termin koji se odnosi na
primenu Intemet i Web aplikacija u obavljanju
poslova
effective data rate - efektivna brzina prenosa
podataka Mera koja defmie stvarni broj bitova
podataka koji moe da se prenese u jedinici vremena
EIA-232 standard Pravila koja definiu
komunikaciju izmeu DCE i DTE
electrical ground - elektrino uzemljenje Naponski
nivo u odnosu na koji se mere naponi signala
electromagnetic waves - elektromagnetni talasi
Kontinuelno promenljivo elektromagnetno polje
electronic codebook mod Mod za ifrovanje kod
koga se svaki blok ifruje nezavisno od ostalih
Electronic Industries Association (EIA)
Agendja za uspostavljanje standarda, dji su lanovi
elekttonske firme i proizvodad telekomunikacione
opreme; an je ANSI
electronic mail (email) - elektronska pota Servis
koji omoguava elektronsko slanje fajlova, ili poruka
do neke osobe
Electronic Numerical Integrator and Calculator
(ENIAC) Prvi elekuonski kompjuter
electronic telephone directories - elektronski
telefonski imenici Online baza podataka koja
obezbeduje sline servise kao i konvencionalne
telefonske slube za informisanje
encrvption - ifrovanje Renderovanje informacija
u drugadji, nerazumljivi oblik
encryption - klju za ifrovanje Podaci koji se
koriste za ifrovanje poruke
error - greka Neplanirani dogadaj koji utie na
tanost podataka, ili protokola
error control - kontrola greaka Specifikacija
naina na koji uredaj proverava da li u okviru postoje
greke i ta se preduzima ako se one otkriju
error correction - korekcija greaka
Proces ispravljanja bitova u okviru koji su
promenjeni u toku prenosa
error detection - detekcija greaka Proces
utvrdivanja broja bitova u okviru koji su promenjeni
za vreme prenosa
error recovery - oporavak od greaka Sposobnost
protokola da se oporavi u sluaju "otkaza" mree,
"otkaza" protokola niegnivoa
escape character - escape karakter Kontrolni
karakter koji izaziva pridruivanje jednog, ili vie
karaktera nekoj akciji
Eskimo pies Poslastica za letnje doba
ether - etar Zamiljena supstanca koja zauzima
sav spoljanji prostor
Ethernet Bilo koji od nekoliko protokola za
lokalne mree, zasnovan na IEEE 802.3 standardu
even parity - parna parnost Metod za
detektovanje greaka kod koga se dodaje jedan
ekstra bit ija je vrednost 0, ili 1, tako da u jedinici
prenosa ukupni broj bitova sa vrednou 1 bude
paran
Extended Binarv Coded Decimal Interchange
Code (EBCDIC) Osmobitni kod za karaktere i
ontrolne funkcije koji je korien prvenstveno na IBM
mainframe kompjuterima
Exterior Gateway Protocol Protokol koji razme-
njuje informacije o rutiranju izmedu dve autonomne
mree u veoj mrei sainjenoj od veeg broja
povezanih mrea
exterior routing protocol - protokol za spoljanje
rutiranje Protokol za rutiranje preko granica
autonomnog sistema
extremely Iow frequency (ELFj izuzetno niska
frekvencija Komunikacioni signali ija je
frekvencija ispod 300 Hz
facsimile compression - faksimil
kompresija Metod kombinovanja run-length i
Hafmanovog kodiranja
facsimile (fax) machine - faksimil (faks) maina
Uredaj koji skenira i digitalizuje slike za prenos preko
telefonskih linija
Fast Ethemet Ethernel standard koji dostie
brzine do 100 Mbps
Federal Communications Commission (FCC)
Federalna agencija koja regulie i izdaje licence za
komunikacije
Federal Information Processing Standards (FIPS)
Set publikacija o zatiti kompjutera koje je izdao
NIST
flle server - fajl server Ureaj koji je odgovoran za
odravanje i zatitu mrenih fajlova
file transfer protocol - protokol za transfer fajlova
Pravila za pristup i razmenu fajlova izmedu dva sajta
filter Uredaj koji omoguava prolazak signala
odredene frekvencije
filter bank - banka filtera Kolekcija fihera koji
kreiraju niz koji predstavlja komponente signala u
okviru naznaenog frekventnog opsega
fingerd UNIX program koji korisnicima
omoguc'ava pribavljanje infonnacija o drugima
finite state machine - konani automat Formalni
model koji opisuje skup moguc'ih stanja i prelaza
izmedu stanja sistema
firewall Uredaj koji razdvaja sajt od Interneta i
kontrolie tok informacija ka sajtu i od sajta
FireWire Peer-to-peer tehnologija koja omoguava
povezivanje vie uredaja, esto sa personalnim
kompjuterom
fixed routing - fiksno rutiranje Tehnike rutiranja
zasnovane na informacijama koje se ne menjaju,
osim u sluaju reprogramiranja
flooding algorithm - algoritam plavljenja
Algoritam za rutiranje koji prenosi poruku do svih
moguih lokacija
flow control - kontrola toka Protokol koji
regulie razmenu informacija izmedu dva uredaja
foil-electret condenser microphone - mikrofon sa
provodnom metalnom folijom Metod koji se u
telefonima koristi za konvertovanje zvuka u
elektricitet pomou vibrirajue dijafragme koja
izaziva promenu elektrinog polja izmedu nje 1
elektrode u slualici
fonvarding database - baza prosleivanja
Informacije koje uredaj koristi za rutiranje okvira
sa jedne mree na drugu
fonvard search algoritltm - algoritam pretraivanja
unapred Videti: ijkslrin algoritam
Fourier series - Furijeovi redovi Matematika
formula koja se koristi za opis proizvoljnog
periodinog signala
fragmentation - fragmentacija Proces deljenja
paketa na manje delove kako bi se ouvala
kompatibilnost sa mrenim protokolom
frame - okvir (1) ledinica informacija koje
razmenjuju protokoli nieg nivoa; (2) Kod USB-a
delivremena u trajanju od jedne milisekunde
frame bursting - sporadino slanje olcvira Metod
kombinovanja okvira kod Gigabit Ethernet standarda
frame check sequence - sekvenca za proveru okvira
Polje u okviru koje se koristi za proveru greaka
frame relay Protokol koji implementira virtuelna
kola
frame timer - tajmer okvira Tajmer koji se koristi
kod protokola za kontrolu toka za utvrdivanje
trenutka kada se ponovo alje okvir za koji nije stigla
potvrda
free space optics (FSO) Metod komuniciranja
pomou lasera bez ogranienja koja namee optiki
fiber
frequency - frekvencija Uestalost ponavljanja
signala
frequency-dependent code - frelcventno-zavisni kod
Kod za kompresiju koji koristi prednost injenice da
se odreeni karakteri javljaju ee od ostalih
frequency-dfvision multiplexing - multipleksiranje
sa podelom frekvencije Proces prihvatanja
analognih signala u okviru razliitih propusnih
opsega i kombinovanje tih signala u sloeniji
signal sa veim propusnim opsegom
frequency- hopping spread spectrum Metod
irokog spektra koji vri prenos, koriste razliile
frekvencije u razliitim trenucima
frequency modulation (frequency shift keying) -
frekventna modulacija Melod predstavljanja
bitova pomou analognih signala sa razliitim
frekvencijama
full duplex Mod prenosa kod koga uredaj moe
istovremeno i da alje i da prima podatke
fully connected topology - potpuno povezana
topologija Strategija povezivanja kod koje se svaki
uredaj na mrei povezuje direktno sa svakim drugim
ureajem
gateway Konekcija OSI sloja 7 izmedu dve mree
generator polynomial - generator polinoma
Polinom koji se korisli kao delitelj kod CRC metoda
za detekciju greaka
geosynchronous orbit - geostacionarna orbita
Orbita na kojoj se sateliti kreu istom brzinom
kojom Zemlja rotira (izgledaju statino za
posmatraa sa Zemlje)
Gigabit Ethernet Ethernet standard koji dostie
brzine od 1 Gbps
go-back-n protocol - go-back-n protokol Protokol
za kontrolu toka sa klizajuim prozorom, kod koga
primalac mora da prima okvire tanim redosledom
graded-index multimode fiber Optiki fiber ija
obloga ima promenljivi indeks refrakctje
graph - graf Matematiki model koji se sastoji od
vorova i grana koje povezuju vorove
Graphics Interchange Format (GIF) Format koji
se koristi za slike sa relativno manjim brojem boja i
strogo definisanim granicama
gremlin Cuveno stvorenje koje je odgovorno za
sve izgubljene okvire na mrei
group address - grupna adresa Adresa koja deft-
nie nekoliko stanica u unapred definisanoj grupi
guard band - zatitni opseg Neiskoriene
frekvencije izmedu dva susedna kanala
guest station - gostujua stanica Sekundardna
stanica kod HDLC protokola
hacker - haker Osoba koja voli da programira radi
zabave
half duplex Mod prenosa kod koga uredaj mora
naizmenino da alje i prima podatke
Hamming code - Hamingov kod Metod za korek-
ciju greaka koji izvodi nekoliko provera parnosti na
ugovorenim pozicijama
handshake - usaglaavanje Proces defmisanja i
postavljanja konekcije
hash function - hash funkcija Funkcija koja se
koristi za izraunavanje vrednosti digitalnog saetka
pomke
hash value - hash vrednost Videti: irenost
digitalnog saetka poruke
herlz (Hz) - herc Mera broja ciklusa signala u
jednoj sekundi
hierarchical routing - hijerarhijsko rutiranje
Tehnika za rutiranje kod koje su vorovi podeljeni
na grupe nazvane domeni
high-defmition television - televizija visoke
defmicije Televizijska tehnologija koja obezbeduje
mnogo otriju sliku od konvencionalne televizije
High-level Data Link Control (HDLC) Protokol
veze koga je defmisao ISO
hop count - broj skokova Mera kod tehnika
rutiranja koja broji ureaje koje paket prede du rute
horn antenna - antena u obliku roga Uredaj koji
se koristi kod mikrotalasnih prenosa
host Kompjuter prikljuen na mreu koji moe da
pokree mrene aplikacije
hot pluggable Karakteristika koja omoguava
prikljuivanje (i iskljuivanje) novih uredaja bez
iskljuivanja kompletnog sistema, ili uitavanja
novog softvera koji bi omoguio funkcionisanje
ureaja
HTML document - HTML dokument Fajl koji
definie ta korisnik vidi u prozoru pretaivaa
hub Uredaj sloja 1 koji prima signal preko jednog
porta, regenerie ga i alje na sve ostale portove
Huffman code - Hafmanov kod Frekventno-zavis-
na tehnika kompresije
Hypertext Markup Language (HTML) Jezik koji
se koristi za kreiranje Web dokumenata
Hypertext Transfer Protocol (HTTP) Protokol
sloja aplikacije koji se koristi na World Wide Webu
za pristup i transfer Web dokumenata
IEEE 802 standards - IEEE 802 standardi Set
mrenih standarda za lokalne mree i mree koje
obuhvataju vea gradska podaija
in-band signaling - signaliziranje u opsegu
Tehnika za signaliziranje kod koje se signali alju
istim kanalom, ili u istom nizu bitova kao i podaci
index of refraction - indeks refrakcije (prelamanja)
Mera koja odreuje koliinu svetlosti koja se savija
dok prelazi sa jednog medijuma na drugi
infrared waves - infracrveni talasi Deo spektra
elektromagnetnih talasa ije se frekvencije nalaze
odmah ispod frekvencije vidljive svetlosti
initialization vector - vektor inicijalizacije Podaci
koji utiu na ifrovanje prvog bloka podataka u
modu ulanavanja blokova
Institute of Electrical and Electronic Engineers
(IEEE) Profesionalna organizacija koja objavljuje
asopise, organizuje konferencije i razvija standarde
Integrated Services Digital Netvvork (ISDN)
Standard za globalni digitalni komunikacioni sistem
interior routing protocol - protokol za unutranje
rutiranje Protokol za rutiranje u okviru
autonomnog sistema
intermedia synchronization - sinhronizacija
medijuma Karakteristika real-time apHkacije kod
koje su video i audio podati sinhronizovani
International Organization for Standardization
(ISO) Svetska organizacija koju ine lela za
standardizaciju iz vie zemalja
Intemational Telecommunications Union
(ITU) Organizacija sa uspostavljanje standarda,
iji su lanovi razne naune i industrijske organizaci-
je, telekomunikacione agencicije, nadlena tela za
telefoniju i ISO; ranije je bila poznata kao
Internet Kolekcijamrea koja pokree TCP/IP
protokola
Internet address - Internet adresa 32-bitni, ili
128-bitni broj koji identifikuje uredaj na Internetu
Internel Assigned Numbers Authoritv (IANA)
Federalna organizacija koja je odgovorna za
upravljanje i alociranje IP adresa
Intemet Control Message Protocol (ICMP)
Internet protokol za podnoenje izvetaja o grekama
i obezbedivanje auriranja rutera o najnovijim
uslovima na Internetu
Inlernet Corpoiation for Assigned Names and
Numbers (ICANN) Neprofitna organizacija
odgovorna za upravljanje i alociranje IP adresa
Internet Engineerinq Task Force (IETF)
Medunarodna zajednica iji su lanovi dizajneri
mrea, prodavci i istraivai, u jem je interesu
stabilno funkcionisanje Interneta i njegov razvoj
Intemet Group Management Protocol (IGMP)
Protokol koji funkcionie izmedu hosta i lokalnog
rutera koji omoguc'ava hostu da se pridruuje i
naputa razliite multicast grupe
Internet Protoco] (IP) Protokol sloja mree koji je
originalno razvila Advanced Research Projects agencija
Internet Protocol version (IPv6) Aurirana
verzija tekueg Internet Protocola (IPv4)
Internet Radio Aplikacija koja korisnicima
personalnih kompjutera omoguava pronalaenje i
sluanje radio stanica preko kompjutera i Interneta
Internet Securitv Association and Management
Protocol Protokol kojidefinieformate paketai
pravilaza razmenu paketasa informacijama o kljuu
ifrovanja
Intemet service provider (ISP) Organizacija koja
svojim korisnitima obezbeduje pristup Internetu
Internet worm - Internet "crv" uveni "uljez" na
Internetu koji zaguuje sisteme i mnoge od njih
primorava na gaenje
IPSec Protokol dizajniran za obezbedivanje
bezbednog prenosa na nivou paketa
I series -1 serije Set dokumenata koji opisuje
ISDN arhitekturu, konfiguracije, principe rutiranja i
interfejse
isochronous transmission - izohroni prenos
Mod prenosa u realnom vremenu kod koga podaci
pristiu naznaenom brzinom
JavaScript Jezik koji se koristi za pisanje skripiova
za Web aplikacije na sirani klijenta
JPEG compression - JPEG kompresija Standard
za kompresiju crno-belih slika i slika sa fotografskim
kvalitetom, koji je razvila Joint Photographic Experts
Group (JPEG)
distribution( exchange)-distribuiranje
kljua (razmena kljua) Probiem slanja kljueva
ifrovanja do onih kojima su namenjene ifrovane
poruke
escrovvagency-agencija za uvanje kljueva
Agencija koja je odgovorna za uvanje privatnih
kljueva za ifrovanje
laser Veoma ist uski mlaz svetlosti
last mile - poslednja milja Termin koji se
primenjuje na bakarne provodnike koji povezuju
telefone na telefonsku mreu
Lempel-Ziv compression - Lempel-Ziv kompresija
Tehnika kompresije koja menja stringove koji se
ponavljaju sa odredenim kodovima
liglit-emitting diode (LED) Ureaj koji proizvodi
manje koncentrisanu svellosi u poreenju sa laserom
i esto se koristi kao alternativa za njega u fiber
optikim komunikacijama
Link Access Protocol (LAP) Protokol sloja veze
koji upravlja logikim linkovima izmedu uredaja
link state routing - rutiranje zasnovano na stanju
linka Slrategija rutiranja kod koje ruteri alju i
prosleduju pakete sa statusom linka izmedu dva
naznaena mtera; svaki ruter koristi akumulirane
informacije za kreiranje tabela mtiranja
local area network (LAN) - lokalna mrea Mrea
koja se prostire na relativno maloj geografskoj oblasti
i povezuje razliite vrste uredaja
local exchange - lokalna centrala Lokalni ured u
kome se nalazi logika za usmeravanje telefonskih
poziva
local loop - lokalna petlja Linije koje povezuju
telefone na lokalnu centralu
lock-up Videti: deadlock
Iogical link control (LLC) - kontrola logike veze
IEEE standard protokola veze koji se koristi u
lokalnim mreama za upravljanje logikim
linkovima izmedu uredaja
lossless compression - kompresija bez gubitka
informacija Metod kompresije kod koga nema
gubitaka informacija u toku kompresije
lossy compression - kompresija sa gubicima
Metod kompresije kod koga postoje manji gubici u
toku kompresije
low eartlr orbit (LEO) satellites - sateliti koji se
kreu u niskoj orbiti (LEO sateliti) Sateliti koji
krae na niskim orbitama i koriste se za definisanje
svetske komunikacione mree
machine state - stanje automata Kolekcija
vrednosti pridruenih sistema u odredenom
trenutku
Management Information Base (MIB) Baza
podataka koju koristi SNMP, a u kojoj se naJaze opisi
rutera i hostova
Manchester code - Manester kod ema
digitalnog kodiranja kod koje signal uvek menja
stanje na sredini intervala
man-in the-middle attack - man-in-the-middle
napad Napad kod koga se kriminalac postavlja
izmedu dva entiteta koji komuniciraju, predstavlja-
jui se obojici kao legitimni entitet
maximum transmission unit (MTU) - maksimalna
jedinica prenosa Maksimalna veliina okvira koja
moe da se prenese preko mree
MBone Mrea u okviru Interneta koja podrava
rutiranje adresa ldase D
medium access control (MAC) - kontrola pristupa
medijumu Nii podsloj protokola veze koji
kontrolie pristup prenosnom medijumu
medium independent interface (MII) - medijum
nezavisan od interfejsa Ethemet termin koji se
odnosi na konekciju izmedu mrene kartice i
primopredajnika
residentviruses-virusikojisurezidentni
u memoriji Kompjuterskivirusi koji ekaju da se
u memoriju postavi izvrni fajl
Menehune Cemralno postrojenje Aloha sistema
(paketni radio) na Havajskim ostrvima
message age timer - tajmer starosti poruke Tajmer
koji se odrava na mostu i defmie maksimalni
period u kome se oekuje da se oglasi root most koji
je izabran za spanning tree algoritam
message digest value - vrednost digitalnog saetka
poruke Broj koji se izraunava na osnovu sadraja
dokumenta
message switching - komutacija poruka Alternativa
komutaciji paketa, ili komutaciji kola kod koje se
preneta poruka smeta u svakom voru, ali razlidte
poruke mogu da "putuju" preko razliitih mla
microvvave transmissions - mikrotalasni prenosi
Metod prenosa koji koristi elektromagnetne talase sa
frekvencijama ispod frekvencije infracrvene svetlosti
modal dispersion - modalna disperzija Fenomen
koji nastaje kada se svetlost reflektuje pod razliitim
uglovima u optikom fiberu, tako da joj treba neto
vie vremena da stigne do drugog kraja fibera
modem Uredaj koji konvertuje analogne signale
u digitalne i obratno
modulation - modulacija Proces korienja
jednog signala za promenu drugog
monitor station - monitor Token ring stanica
koja je odgovorna za odravanje i kontrolu
monoalphabetic chiper - monoalfabetska ifra
Primitivna tehnika za ifrovanje, kod koje se
tekstualni karakter menja drugim izabranim samo
na osnovu karaktera koji se menja
Morse code - Morzeov kod Kod za prenos
razvijen za telegrafske sisteme kod koga se svaki
karakter predstavlja nizom taaka i crtica
Moving Pictures Expert Group (MPEG) esto se
koristi za metod kompresije video fajlova; tanije,
re je o grupi koja defmie standarde za video
kompresiju
Metod kompresijekojise obino primenjuje
na audio fajlove
multicast Slanje informacija ka odredenoj grupi
kompjutera
multicast address - multicast adresa Adresa koja
identifikuje grupu host kompjutera
multicast tree - multicast stablo Kolekdja mtera
koji uestvuju u slanju podataka ka vie odredita
Multilevel Line Transmission-Three Levels (MLT.3)
ema signalizadje kod Fast Etherneta koja koristi
signal sa tri stanja
multiplexer - multiplekser Ureaj koji kombinuje
signale sa nekoliko ulaza i alje ih dalje preko jednog
kanala
multiport repeater - vieportni repetitor Sinonim
za hnb
mux Videti: multiplekser
National Institute of Standards and Tedmologv
(NIST) Agencija amerikog ministarstva trgovine
(United States Department of Commerce) za
uspostavljanje standarda
near-end crosstalk (NEXT) Interferenca na liniji
koja izaziva paralelni prenos signala
negative acknowledgment (NAK) negativna potvrda
Indikacija kontrole toka da okvir nije ispravno
primljen, ili uopte nije primljen
network - mrea Kolekcija uredaja koji pokreu
softver koji im omoguc'ava medusobnu komunikaciju
preko nekog prenosnog medijuma
network interface card - mrena interfejs kartica
(NIC) Logiko kolo koje se postavlja u personalni
kompjuter radi povezivanja na mreu
network layer - sloj mree Protokol sloja 3
odgovoran za rutiranje nekih paketa preko mree
network termination 1 (NTl) ISDN oznaka za
"neinteligentne" uredaje koji su zadueni za fizike i
elektriare karakteristike prenosa signala
network termination 2 (NT2) ISDN oznaka za
"inteligentne" uredaje koji mogu da izvravaju
funkcije OSI slojeva 2 i 3
network topology - mrena topologija Nain
fizikog povezivanja mrenih uredaja
noise - um Neeljeni signali koji ometaju preneti
signal
noiseless channel - beumni kanal Kanal bez
umova
noisy lines - linije podlone umovima Linije na
kojima postoji vea koliina uma
nonbroadcast frame - neemisioni okvir Okvir
namenjen speciftnom odreditu
non-data-J i non-data-K Digitalni signal koji
nije u skladu sa bilo kojim Manester kodom za
definisanje bitova
nonpersistent CSMA - neperzistentni CSMA
Protokol kod koga, nakon to dode do kolizije,
uredaj ne nadgleda prenosni medijum, umesto da
eka jedan vremenski slot pre provere aktivnosti
nonreturn to zero (NRZ) ema digitalnog
kodiranja kod koje se 0 i 1 predstavljaju specifinim
naponskim nivoima
no-prefix property - no-prefix svojstvo Svojstvo
koje nalae da se odredeni karakter u kodu nikada
ne pojavi kao prefiks drugog koda
normal response mode - mod normalnog odziva
HDLC mod kod koga primarna stanica kontrolie
komunikaciju
null modem Uredaj koji se koristi za direktno
povezivanje dva DTE-a
Nyquist theorem - Nikvistova teorema Teorijski
rezultat koji povezuje brzinu prenosa podataka sa
brzinom bauda signala i brojem komponenala
signala
octet - oktet Grupa od osam bitova
odd parity - neparna parnost Metod za detekciju
greaka kod koga se ekstra bit dodaje sa vrednou 0,
ili 1, tako da ukupni broj jedinica u jedinici prenosa
bude neparan
one-time pad Tehnika ifrovanja koju je
nemogue "razbiti", a kod koje se koristi klju iste
duine kao i obini tekst (koristi se samo jednom)
one-way hash function - jednosmerna hash funkcija
Hash funkcija koja uvek daje jedinstvenu vrednost
digitalnog saetka za svaki dokument
Open Shortest Path First (OSPF) Varijacija mti-
ranja zasnovanog na stanju Iinka koja obezbeduje
dodatne karakteristike, kao to su autentifikacija i
balansiranje optereenja
open system - otvoreni sistem Set protokola koji
omoguava komunikaciju dva razliita sistema, bez
obzira na njihovu osnovnu arhi tekturu
Open Systems Interconnect (OSI) Standardni
protokol koji je razvila International Standards
Organization za implementiranje otvorenog sistema
operation, administration, and maintenance
(OAM) - operacija, administriranje i odravanje
Protokoli koji se koriste za odravanje i praenje
komunikacija i za olklanjanje problema u njima
optical fiber - optiki fiber Komunikadoni
medijum koji se sastoji od tankog staklenog kabla
pomou koga se prostire svellost
orphan frame - isputeni okvir Token ring okvir
koji beskonano cirkulie prstenom, jer ni jedan
uredaj nee da ga ukloni sa prstena
out-of-band signaling - signaliziranje van opsega
Tehnika signaliziranja kod koje se signali alju
zasebnim kanalom, ili izvan niza bitova podataka
outstanding frames - nereeni okviri Okviri koji
su poslati, ali ih jo uvek nije potvrdio protokol za
kontrolu toka
packet - paket (1) Prenosna jedinica naznaenog
protokoia; (2) Kod USB-a pakovana grupa bitova
packet elimination - eliminacija paketa ema
kontrole zaguenja koja eliminie neke pakete, ako ih
postoji isuvie u nekom voru
packet filtering - filtriranje paketa Metod koga
koristi ftrewall za ograniavanje paketa na osnovu
njihovog sadraja
packet header - zaglavlje paketa Kontrolne
informacije u paketu
packet jitter - pomeranje paketa Sporedni efekat
kod real-time aplikacija kod kojih kanjenja na mrei
izazivaju dolazak paketa u nepravilnim intervalima
packet sniffer Program koji pregleda sadraj
paketa podataka dok "putuju" preko mree
packet-switched network - mrea sa komutacijom
paketa Mrea kod koje se poruke dele na manje
delove nazvane paketi koji se prenose nezavisno
parabolic dish reflector - parabolina satelilska
antena Mikrotalasna antena iji je tanjir
parabolinog oblika
parallel transmission - paralelni prenos Mod
prenosa kod koga se nekoliko bitova prenosi
istovremeno
paritv bit - bit parnosti Ekstra bit koji se koristi za
detekciju greaka, a ija je vrednost 0, ili 1, tako da je
ukupni broj jedinica ili paran, ili neparan
path - putanja Sekvenca vorova na mrei preko
koje podaci moraju da preu na putu od poiljaoca
do primaoca
peer-to-peer networking - peer-to-peer umreavanje
Mogunost grupisanja kompjutera tako da svi
komuniciraju bez posredstva centralizovanog servera
peer-to-peer protocol - peer-to-peer protokol
Protokol koji omoguava komunikaciju izmedu vie
uredaja, gde bilo ko moe da inicira konekciju bez
posredovanja centralnog uredaja za koordinaciju
period - period Vreme potrebno periodinom
signalu da se jednom ponovi
periodic signal - periodini signal Signal koji se
menja u vremenu, ali kontinuelno ponavlja odredeni
rrzorak
Perl Skript jezik koji se esto koristi u Unix i Linux
okruenjima
permanent virtual circuit (PVC) - permanentno
virtuelno kolo Tip virtuelnog kola kod koga nije
neophodno izvravanje protokola za uspostavljanje
konekrije pre transfera podataka
personal area netvvork - personalna mrea Kolekcija
manjih potroakih uredaja opremljenih radio
primopredajnicima za medusobnu komunikaciju
Petri net Nain modelovanja protokola pomou
grafa za predstavljanje stanja i prelaza
phase modulation - fazna modulacija Metod
promene signala promenom faznog pomaka
phase shift - fazni pomak Horizontalni pomak
periodinog signala
phase shift keving Videti: fazna modulacija
physical layer - fiziki sloj Protokol sloja 1
odgovoran za definisanje elektrinih i fizikih
svojstava prenosnog medijuma
physical medium dependent sublayer - podsloj
zavisan od fizikog medijuma Elhernet termin
za mesto na kome se signali generiu
picture element - element slike Videti: piksel
piggyback acknow!edgment - piggvback potvrda
Tehnika slanja potvrde u okviru zajedno sa podacima
pixel - piksel Najmanja vidljiva komponenta slike
na televizijskom, ili video ekranu.
plaintext - obini tekst Neifrovana poruka
point-to-point link HDLC link preko koga pri-
marna stanica komunicira sa sekundarnom stanicom
Poll bit HDLC fleg koji primarnoj staniri
omoguava slanje zahteva za odziv sekundarne
stanice
polyalphabetic chiper - polialfabetsko ifrovanje
Tehnika ifrovanja kod koje se svaka pojava karaktera
menja drugaijim karakterom, u zavisnosti od
originalnog karaktera i njegove pozicije u poruri
polymorphic virus - polimorfni virus Virus koji
moe da mutira, ili da se menja da bi izbegao
detekciju kada "inficira" fajl
polinomial - polinom Matematiki izraz formiran
sabiranjem lanova koji predstavljaju umnoke
konstante i nepoznatog lana stepenovanog
poizitivnim celim brojem
port number - broj porta TCP vrednost koja
identifikuje serversku aplikaciju
p-persistent CSMA - p-perzistentni CSMA
Protokol kod koga, nakon kolizije, stanica nadgleda
prenosni medijum i, kada registruje neaktivnost,
prenosi podatke sa verovatnoom p (0 < p < 1)
preamble Specijalni bitski uzorak koji se javlja na
poetku nekih formata za okvire
presentation layer - sloj predstavljanja OSI
protokol sloja 6
Pretty Good Privacy Prograraski paket koji moe
da se koristi sa emailom za ifrovanje i igitalno
potpisivanje poruka
primary rate - primarna brzina standardza
ISDNkojisesastojiod23Bkanalai 1 Dkanala
station-primarna stanica Vrstaslanice
koju HDLC biraza upravljanje tokom podataka,
izdavanje komandi drugim stanicama i delovanje
u skladu sa njihovim odzivima
privatebranchexchange ( ) -privatna
telefonska centrala Privatni telefonski sistem
protocol - protokol Skup pravila pokojimadva,
ilivie uredaja komuniciraju
protocol converters - konvertori protokola Logika
zakonvertovanje jednog protokola u drugi
pseudoternarycoding - pseudoternarno kodiranje
Videli: inverzno naizmenino oznaavanje
psvchoacoustic model - psihoakustini model
Model zasnovan na ulu sluha, koje odreduje koji se
zvuci maskiraju drugim zvucima i koji se mogu
ukloniti uz manje, ili bez primetnih gubitaka
public data netvvorks - javne mree za prenos
podataka Mree sa komutacijom paketa kojima
upravlja vlada, ili javna dobra
public cryptosystem-kriptosistemjavnog
kljua Tehnika ifrovanja kod koje nema pokuaja
da se zatiti identitet kljua ifrovanja
pulse amplitude modulation - impulsna
amplitudska modulacija Tehnika semplovanja
analognog signala u pravilnim inlervalima i
generisanja impulsa sa amplitudom jednakora
amplitudi semplovanog signala
pulse code modulation - impulsna kodna
modulacija Slina impulsnoj amplitudskoj
modulaciji, osim to amplituda impulsa mora da
bude iz unapred defmisanog skupa vrednosti
pure Aloha - isti Aloha Protokol razvijen na
University of Hawaii za paketni radio sistem
Purge frame - Purge okvir Kontrolni okvir kod
token ring mree koji uklanja irelevantne signale sa
prstena
Q series - Q serije Serije - dokumenatakoji
opisuju slojeviti protokol poznat pod nazivom
SignalingSystem 7, standard za obezbedivanje
funkcionalnosti integrisanih digitalnih mrea
quadrature amplitude modulation - kvadratuma
amplitudska modulacija Tehnika modulacije kod
kojesebitovi dodeljuju analognomsignalu uzavis-
nosti od kombinacije amplitude i faznog pomeraja
qualityod service (QoS) - kvalitet servisa
Specifikacija tipa servisa koji zahteva aplikacija
Real-TimeTransportProtocol (RIP) Protokol
transportnogsloja dizajniran za podrku real-time
aplikacija
reassembh/ deadlock - samrtni zagrljaj koji
nastaje zbog sastavljanja paketa "Samrtni
zagrljaj" koji nastaje zbog nedostatka prostora u
baferu kada se paketi prihvataju iz vie izvora
reassembh/ timer - tajmer ponovnog sastavljanja
Tajmer koji Internet Protocol koristi za definisanje
intervala u kome se oekuje prijem svih fragmenata
paketa
receiving window - prijemni prozor Parametar
kontrole toka koji definie koji okviri mogu biti
primljeni
Record Route option - Record Route opcija
Parametar Internet protokola koji definie rutu
kojom paket treba proslediti
reference points (R, S, T U) - referentne take
(R, S, T, U) -T-definisane referentne take koje
se koriste za deljenje ISDN funkcionalnih grupa
refraction - refrakcija Fenomen promene pravca
svetlosti dok prelazi sa jednog medijuma u drugi
Relative encoding - Relativno kodiranje Videti:
diferencijalno hodiranje
remote login - daljinsko logovanje Proces
logovanja na kompjuter smeten na udaljenoj lokaciji
Remote Monitoring (RMON) Protokol za
upravljanje mreom
repeater - repetitor Konekcija sloja 1 koja prima
signale i regenerie ih pre daljeg slanja
replay attack - napad odgovora Neautorizovano
kopiranje legitimnih paketa radi kasnijeg slanja kako
bi se imitirala legitimna aklivnost
reply - odgovor Poruka koja se alje kao odgovor
na neku drugu
Request for Comments (RFC) Serija dokumenata
sa belekama o istraivanjima
reservation system - sistem rezervacija Token
ring protokol koji omoguava uredaju da pokua da
rezervie token u sledeem prolasku
Resource Reservation Protool (RSVP) Protokol
za transport kojesadreinformacijeo
odredenom tokupodatakai zahtevzarezervisanje
resursa koji su neophodniza ispunjavanje
naznaenog kvaliteta servisa
reverse-path broadcasting - emitovanje obrnutom
putanjom Protokol koji se koristi za multicasting
kod koga ruter utvrduje izvor primljenog paketa i
emituje ga samo ako je paket stigao iz smera tog
izvora
Rijndael algorithm - Rijndaelov algoritam Sloeni
standard za ifrovanje, zasnovan na razliitim
operacijama na nivou bitova, u kombinaciji sa
sloenim matematikim operacijama
ring topology - topologija prstena Kruno
postavljanje uredaja koji mogu direktno da
komuniciraju samo sa svojim susedom
roaming Karakteristika koja mrei omoguava
praenje lokacije pokretnog uredaja
root bridge - root most Spedjalno dizajnirani
most koji spanning tree algoritam odreduje kao
koren spanning stabla
root port Port mosta koji odgovara najjeftinijoj
putanji do root mosta u spanning stablu
route - ruta Sekvenca uredaja preko kojih paket,
ili okvir moraju da predu na putu od izvora do
odredita
routed Program za rutiranje razvijen na Universitv
of California - Berkelev za aitiranje u okviru lokalne
mree
route designators - oznake ruta Sekvenca ID-ova
LAN-a i mostova koja definie putanju
route discovery - otkrivanje rute Proces koji se
koristi na mostovima sa izvornim rutiranjem za
utvrivanje putanje do odredenog uredaja
route learning - uenje rute Proces kod koga
svaki most, ili komutator "ue" ta treba da postave
u svoju tabelu aitiranja
router - ruter Konekcija sloja 3 izmedu dve mree
routing algorithm - algoritam za rutiranje Metod
koji se koristi za utvrdivanje rute
routing directorv - direktorijum rutiranja Videti:
tabala rutiranja
Routing Information Protocol (RIP) Strategija za
rutiranje koja koristi broja "skokova" za utvrdivanje
putanje na mrei
routing matrix - matrica rutiranja Matrica koja
definie sledei vor na ruti izmeu para vorova
routing table - tabela ratiranja Baza podataka
koju most, ili ruter koriste za utvrdivanje pravca u
kome treba poslati primljene okvire
RS-232 standard Videti: EIA -232 standar
run-lengdi encoding - run-length
kodiranje Tehnika kompresije koja menja nizove
bitova (ili bajtova) brojem bitova (ili bajtova) u nizu
sampling frequency - frekvencija semplovanja
Uestalost semplovanja analognih signala
satellite - satelit Objekat koji krui oko Zemlje
satellite radio - satelitski radio Servis koji emituje
radio signale preko cele zemaljske kugle tako da
pretplatnici mogu da ih sluaju iz bilo kog dela sveta
satellite transmission - satelitski prenos
Mikrotalasni prenos ka satelitu u orbiti, ili iz njega
S-box Struktura koja defmie kako se jedan bajt
menja drugim u loku ifrovanja
script - skrip Fajl koji sadri kolekciju komandi
koje e biti izvrene
scripting language - skript jezik Jezik iji se
izvorni kod interpretira u vreme izvrenja
secondary station - sekundardna stanica Tip
stanice koju HDLC oznaava kao stanicu koja
odgovara primamoj stanici
Secure (scp) Protokolzabezbednitransfer
fajlova
Secure HashAlgorithm (SHA) Jednosmemahash
funktija koja se korisli za autentifikaciju dokumenata
SecureShell (ssh) Protokolzabezbedno
daljinsko logovanje
Secure Sockets Layer (SSL) Protokol koji
autentifikuje sajtove i pregovara o strategijama
ifrovanja izmedu njih
security-bezbednost Tie se zatite, ili skrivanja
informacija od neautorizovanih ljudi
segment Kolekcija formatiranih informacija za
protokol (obino TCP)
selective repeat protocol - protokol selektivne
retransmisije Protokol za kontrolu toka sa
klizajuim prozorima kod koga poiljalac i primalac
definiu prozor koji odreduje okvire koje mogu da
poalju, ili prime
self-svnchronizing code - samosinhronizujui kod
ema digitalnog kodiranja kod koje signal uvek
menja stanje na sredini bitskog intervala
sending window - predajni prozor Parametar
kontrole toka koji odreduje koji okviri mogu da se
poalju
sequence number - broj sekvence Broj koji se
koristi za defmisanje redosleda okvira, ili paketa
serial transmission - serijski prenos Mod prenosa
kod koga se svi bitovi alju u nizu
server Mreni uredaj koji reaguje na zahteve
korisnika mree
session - sesija Logika konekcija izmedu dva
krajnja korisnika
session layer - sloj sesije OSI protokol sloja 5
Shamir's memod - Shamirov metod Metod
distribuiranja kljua kod koga za utvrdivanje kljua
mora da bude prisutan odredeni broj ljudi
shielded twisted pair - zaticene upredene parice
Dve upredene provodne ice sa metalnim zatitnim
omotaem koji ih titi od spoljanje elektrine
interference
shift register - pomeraki registar Deo kola koji
se koristi za implementiranje cikline provere
redundantnosti
shortest path algorithm - algoritam najkraeg puta
Logika koja se koristi za utvrivanje najkraeg puta
izmeu dve take
signal constellation - konstelacija signala Dijagram
koji koristi iscrtane take za definisanje svih
legitimnih promena signala koje modem prepoznaje
signal ground - uzemljenje Naponski nivo u
odnosu na koji se mere svi ostali signali
signaling data link - signalizacija veze Najnii
sloj protokola Signaling Svstem 7, koji obezbeduje
fizike i elektrine specifikacije
signaling link laver - signalizacija sloja veze Drugi
sloj protokola Signaling System 7, koji obezbeduje
pouzdane komunikacije izmeu dve susedne take
na mrei
signaling network layer - signalizacija sloja mree
Trei sloj protokola Signaling System 7, koji
obezbeduje pouzdan transfer poruka izmedu
dve signalne take
signal speed - brzina signala Brzina kojom se
signali prostim kroz medijum
Signaling System 7 etvoroslojni protokol koji
defmie standard za funkcionalnost integrisane
digitalne mree.
signal-to-noise ratio - koefkijent signal-um Mera
koja se koristi za utvrivanje koliine uma u signalu
Simple Mail Transfer Protocol (SMTP) Standardni
protokol za email u TCP/IP slatpu protokola
Simple Network Management Protocol (SNMP)
Upravljaki protokol dizajniran za obezbedivanje
ispravnog funkcionisanja mrenih protokola i
uredaja
simplex communication - simplex komunikacija
Mod kod koga se komunikacija obavlja samo u
jednom smeru
single-bit error - greka u jednom bitu Greka
koja utie samo na jedan bit
single-mode fiber - fiber sa jednim modom
Optiki fiber veoma malog prenika dizajniran za
redukovanje broja uglova pod kojima se svetlost
reflektuje od omotaa samo na jedan mogui ugao
sliding window protocol - protokol klizajuih
prozora Protokol za kontrolu toka kod koga
predajni i prijemni uredaji ograniavaju broj okvira
koje mogu da poalju, prime
slotted Aloha protocol - slotovani Aloha protokol
Aloha protokol koji od uredaja zahteva da prenosi
podatkesamona poetku slota
slow start - lagani start Deo procesa startovanja
kod TCP lagoritma kontrole toka, kod koga predajni
entitet pokuava da poalje maksimalan broj okvira
pre nego lo zaguenje izazove kanjenja
smurf attack - smurf napad Vrsta napada
odbijanja servisa
socket - soket UNIX konstmkcija i mehanizam
koji se koristi za itanje i upis na mrei
source address - izvorna adresa Adresa uredaja
koji alje paket, ili okvir
Source Quench ICMP kontrolna poruka koja
zahteva redukovanje brzine kojom se paketi alju
source-routing bridge - most sa izvornim
rutiranjem Most koji rutira okvir na osnovu
sadraja oznake mte u njemu
spanning tree algorithm - spanning tree algoritam
Distribuirani algoritam koji se izvrava na
mostovima, ili komutatorima radi utvrdivanja
konekcije izmedu svih LAN-ova uesnika bez
redundantnih putanja
spatial frequency - prostorne uestalosti Vrednosti
kod JPEG eme kompresije koje direktno odreduju
koliko se vrednosti piksela mogu menjati u funkdji
njihove pozicije u bloku
split horizon - podeljeni horizont Modifikacija
algoritma za rutiranje kod koga vor ne alje
informacije koje je primio od susednog vora
nazad do tog vora
splitter - delitelj Uredaj koji deli signal na razlidte
komponente
spoofmg Videti: address spoofing
spot beam - ciljni mlaz Tip antene koji
omoguava emitovanje satelitskih signala samo
u veoma maloj oblasti
spread spectrum - iroki spektar Mod kod
beinih prenosa koji rasipa spektralnu energiju
signala preko ireg frekvenmog opsega
spyware Program koji se umec'e na sistem bez
znanja korisnika i belei sve aktivnosti koje korisnik
izvede na kompjuteru
stacking station - stanica za odlaganje Token
ring stanica koja je podigla prioritet tokena
standard llgovoreni nain da se neto uradi
start bit Signal koji se koristi kod asinhronog prenosa
kako bi se primalac obavestio da stiu podaci
start of frame delimiter Specijalni bitski uzorak
koji oznaava poetak okvira
star topology - topologija zvezde Postavka
ureaja kod koje se komunikacija odvija preko
centralnog uredaja
stateful inspection Metod koji firewall koristi za
ograniavanje paketa na osnovu njihovog sadraja i
onoga to se ranije desilo
state transition - prelaz stanja Prelazak sistema iz
jednog stanja u dmgo zbog nekog dogadaja
state transition diagram - dijagram prelaza stanja
Model sistema koji opisuje sva mogua stanja i
dogadaje koji izazivaju promene stanja
static routing - statiko rutiranje Strategija za
rutiranje koja koristi informacije koje se ne menjaju
u vremenu
statistical multiplexer - statistiki multiplekser
Multiplekser sa podelom vremena koji kreira okvire
promenljive velidne
step-index multimode fiber Optici fiber velikog
prenika koji omoguc'ava prelamanje svetlosti od
omotaa pod nekoliko razlitih uglova
stop-and-wait protocol - stop-and-wait protokol
Protokol za kontrolu toka kod koga poiljalac alje
okvir i eka na potvrdu pre nego to poalje sledei
stop bit Signal koji se koristi kod asinhronog
prenosa kako bi se oznaio kraj prenosa
store and fonvard - smesti i prosledi Mreni
protokol kod koga se poruka u potpunosti smeta u
prelaznom voru na putu do odredita
store-and-forward deadlock "Samrtni zagrljaj"
koji nastaje kada ni jedan vor ne moe da alje
okvire do sledeeg vora, jer su im baferi puni
strobe signal - strob signal Signal koji ostaje
konstantan kada se signal podataka menja, a menja
se kada je signal podataka konstantan
studv - studiranje Proces u okviru koga neko ita
materijal, belei ono to ne razume, ponovo ita
materijal kako bi ga bolje razumeo, kreira sledeu
listu onoga to i dalje ne razume, ponavljajui taj
postupak sve dok lista ne bude prazna
subnet - podmrea Nezavisna fizika mrea koja
je deo vee mree
subnet mask - maska podmree Bitski string
jedinica koji odreuje koji bitovi u adresi
predstavljaju ID podmree
supernetting - definisanje super mree Grupisanje
nekoliko manjih mrea i vizuelno predstavljanje u
vidu jedne velike
supervisorv frame - supervizorski okvir Okvir
koji HDLC koristi da bi ukazao na status stanice, ili
za slanje negativnih potvrda
switch - komutator Uredaj sloja 2 koji moe da
prosleduje okvire sa jedne mree na drugu; termin se
obino primenjuje na sluajeve kada se povezuju
mree sa slinim tehnologijama
switched Ethernet - komutirani
Ethernet Ethernet strategija povezivanja kod koje
se komutatori koriste za povezivanje svih uredaja
switched virtual circuit (SVC) - komutirano
virtuelno kolo Vrsta virtuelnog kola koja zahteva
protokol za uspostavljanje poziva
SYN character - SYN karakter Karakter koji se
koristi kod protokola orijentisanih bajtovima za
oznaavanje poetka okvira
Synchronous Data Link Control
(SDLC) Bitovima orijentisani protokol veze koji j<
razvio IBM; slian je HDLC protokolu
Svnchronous Digital Hierarchy (SDH) Optiki
nosei sistem slian SONET-u
Synchronous Optical Network (SONET) Optika
mrea koja koristi multipleksiranje sa podelom
vremena kako bi se omoguo simultani prenos
preko kanala; kontrolie se taktom i prenosi podatke
na brzinama od 155,5 Mbps, pa do 2 Gbps u
ekstremnim situadjama
synchronous payload envelope (SPE) Podad
smeteni u SONET okviru
svnchronous transmission - sinhroni prenos Mod
prenosa kod koga se bitovi postavljaju u okvir i alju
u sekvenci
Tl Digitalni nosioc sa 24 kanala koji dostie
bitske brzine od 1,544 Mbps
teleconferencing - telekonferencije Komunikacioni
sistem koji omoguava ljudima na razlifitim
lokacijama da vide i uju ta ostali uesnid
konverzacije govore
telegraph - telegraf Primitivni komunikacioni
uredaj koji se sastoji od izvora napajanja,
preklopnika i senzora
telemetry - telemetrija "Oslukivanje" statusa,
ili oitavanje podataka na udaljenim lokacijama
telepresence - prisustvo na daljinu Koncept
projektovanja na udaljenu lokaciju
Telnet Protokol virtuelnog terminala na sloju
aplikacije koji omoguc'ava daljinsko logovanje
temporal redundancy - privremena redundansa
Redundansa definisana prisustvom slinih podataka
u sukcesivnim okvirima
terminal adapter - terminalni adapter Uredaj koji
je dizajniran za korienje sa ISDN TE2 opremom za
konvertovanje signala u ISDN-kompatibilni format
terminal equipment 1 (TEl) Oznaka primarne
funkdonalne grupe za ISDN ureclaje
terminal equipment 2 (TE2) Oznaka primarne
funkdonalne grupe za ne-ISDN ureaje
terminatori Elektronski uredaji koji se postavljaju
na kraj medijuma kako bi se spreio eho signala
ThickNet Debeli, manje fleksibilni koaksijalni
kabl koji je korizen u starijim lokalnim mreama
ThinNet Tanji, fleksibilniji koaksijalni kabl koji se
koristi u lokalnim mreama; obino se koristi za
povezivanje mrenih uredaja
three-way handshake - trosmerno usaglaavanje
Mehanizam za uspostavljanje konekcije, koji se
sastoji od zahteva za konekcijom, potvrde zahteva i
potvrde za potvrdu
time-division multiplexing - multipleksiranje sa
podelom vremena Proces koji ukljuuje
prihvalanje digitalnih signala iz nekoliko izvora,
smetanje u jedan okvir i slanje okvira preko
jednog kanala
Time Exceeded ICMP kontrolna poruka koja se
alje do izvornog uredaja kada se paket, ili
nesastavljeni fragmenti ispuste sa mree zbog
isteka tajmera
Timestamp Reply ICMP kontrolna poruka koja se
alje kao odgovor na Timestamp Request poruku
Timestamp Request ICMP kontrolna koja
sealjedo udaljenoghosta kada lokalni host treba da
proceni vrerae punog kruga od njega do udaljenog
hostainazad
Time to Live Poljeu paketu Internet Protokola
koje definiemaksimalni period u kome paket moe
dasenalazi namrei
token Specijalni okvirkoji krui izmedusvih
uredaja na mrei i koristi seza utvrdivanjekada
uredaj moe da alje informacije preko mree
token ringnetwork - token ring mrea Mreasa
topologijom prstena koja kontrolie pristup prstenu
pomou protokola za prosledivanje tokena
traceroute Komanda za praenje rute kojom
"putuje" Internet paket
transceiver - primopredajnik Logiko kolo na
mrenoj kartici koje implementira neke protokole
neophodne za pristup mrei
Transmission Control Protocol (TCP) Transportni
protokol koji se koristi na Internetu
transparent bridge - transparentni most Most
koji kreira i aurira sopstvene tabele rutiranja
transparent data - transparentni podaci Mod
prenosa kod koga prijemni uredaj ne reaguje na
sadraj dolazeih bajtova
transponder Satelitski uredaj koji prihvata signal
na jednoj frekvenciji, a alje ga dalje pomoc'u druge
frekvencije
transport layer - transportni sloj Protokol sloja 4
odgovoran za komunikaciju krajnjih taaka
Transport Layer Security (TLS) Protokol koji
autentifikuje sajtove i pregovara o strategijama
ifrovanja izmedu njih
transposition diiper - ifrovanje premetanjem
Tehnika ifrovanja koja preureduje karaktere u
obinom tekstu
triple DES - trostruki DES Metod ifrovanja koji
se definie primenom DES algoritma tri puta
zaredom
trit Jedinica informacija sa tri mogue vrednosti
tunneling - tunelovanje Ugradivanje IPv6 paketa
unutar IPv4 paketa radi prenosa IPv6 paketa preko
mtera koji nisu kompatibilni sa IPv6
twisted pair - upredene parice Komunikaciono
kolo koje se sastoji od dve upredene izolovane ice
two-way handshake - dvosmemo
usaglaavanje Mehanizam za uspostavljanje
konekcije, koji se sastoji od zahteva za konekcijom i
potvrde zahteva
unbalanced circuit - nebalansirano kolo
Kolo koje koristi jednu liniju za prenos signala i
zajedniko uzemljenje
unicast address - unicast adresa Adresa koja
identifikuje jedan host
Unicode esnaestobitni kod koji omoguava kodi-
ranje razliitih karaktera i simbola iz raznih jezika
Uniform Resource Locator (URL) Tekstualni
siring koji defmie Imemet lokaciju i protokol koji se
koristi za pristup dokumentu na toj lokaciji
universal serial bus (USB) - univerzalna serijska
magistrala Master/slave protokol koji omoguc'ava
povezivanje vie uredaja na personalni kompjuter
unrestricted flow control - neograniena kontrola
toka U sutini, predstavlja nedostatak kontrole
toka; predajni uredaj alje okvire i ne pokuava da
ogranii broj okvira koje alje
unshielded ttvisted pair - nezatiene upredene
parice Dve upredene provodne ice koje nemaju
metalni zatitni omota za zatitu od spoljanje
elektrine interference
uplink - uzlazni link Konekcija od zemaljske
stanice do satelita
upstream neighbor - prethodni sused Termin
kod prosledivanja tokena koji se odnosi na uredaj od
kojeg je token primljen
urgent data - urgentni podaci Podaci na TCP
segmentu koji moraju da se isporue viim slojevima
to pre
Urgent Pointer Polje u TCP segmentu koje
ukazuje na urgentne podatke
User Datagram Protocol (UDP) Transportni
protokol bez uspostavljanja konekcije
very high frequency (VHF) - veoma visoka
frekvencija Televizijski prenos koji koristi
elektromagnetne talase izmedu 30 i 300 MHz
very small aperture terminal (VSAT) sistem
Satelitski komunikacioni sistem koji koristi male
staletiske antene
videoconferencing - videokonferencije Sistem
koji ljudima sa razliitih lokacija omoguava da se
vide i uju u realnom vremenu
virtual call - virtuelni poziv Vrsta virtuelnog kola
koje zahteva protokol za uspostavljanje poziva pre
transfera podataka
virtual circuit (route) - virtuelno kolo (ruta)
Logika konekcija koja se postavlja pre transfera
podataka sa komutacijom paketa i za pakete koji
"putuju" preko istih mrenih vorova.
virtual file structure - struktura virtuelnog fajla
Struktura fajla koji mrea podrava radi transfera fajla
virtual LAN (VLAN) - virtuelni LAN Grupa
uredaja Iogiki grupisanih nezavisno od njihove
fizike lokacije
virtual palh - virtuelna putanja Kod ATM-a
sekvenca ATM komutatora du virtuelnog kola
virtual terminal protocol - protokol virtuelnog
terminala Protokol koji definie komunikaciju
izmedu aplikacije i terminala, nezavisno od
karakteristika terminala
virus Neaulorizovani set instrukcija koji se iri sa
jednog kompjntera na drugi, ili preko mree, ili
perifemih transfera
voice over IP Isporuka govornih podataka preko
IP paketa
waveguide - talasni vodi Cilindrina cev koja
predstavlja deo antene u obliku roga
wave-division multiplexing - multipleksiranje sa
podelom frekvencije Kombinovanje signala
predstavljenih razliitim frekvencijama vidljive
svetlosti
well-known ports - optepoznati portovi TCP
brojevi portova koji su dodeljeni uobiajenim
Internet aplikacijama
wide area network (WAN) - mrea ireg
geografskog podruja Mrea koja se prostire na
veim geografskim rastojanjima i esto povezuje vie
manjih nirea koje koriste razliite protokole
window - prozor Apstraktni koncept za
defmisanje podskupa okvira radi kontrole toka
izmedu dva uredaja
Wired Equivalency Privacy Bezbednosni protokol
koji se koristi za 802.11 beini LAN standard
wireless communications - beine komunikacije
Komunikacije koje ne zavise od fizikih konekcija
wireless fldelity (Wi-Fi) Varijacija 802.11
standarda, koja koristi radio talase iz opsega od
2.4 GHz
wireless LAN - belni LAN LAN protokol koji
omoguava komunikaciju uredaja nezavisno od
fizikih konekcija, kao to su vodovi, koaksijalni
kabl, ili fiber
World Wide Web Termin koji se koristi za
kolekciju dokumenata, linkova ka drugim
dokumentima i protokola za pristup tim
dokumentima preko Interneta
worm - "crv" Program koji upada u sistem i
potencijalno namava njegovu bezbednost
.21 interface standard - .21 standard za interfejsc
Standard koji omoguc'ava komunikaciju DTEi DCE
.25 standard Standard za povezivanje uredaja na
mreama sa komutacijom paketa
.509certifkate- .509serlifikat Sertifikatza
dokazivanje identiteta hosta koji izdaje nadleno telo
X-OFF Karakterzakontrolu toka koji zaustavlja
dolazak podataka
X-ON Karakterza kontrolutoka koji omoguava
nastavak prislizanja podataka
Skraenice
2B1Q (Two binary, one quarternary) dvobinarni,
jednokvaternarni
3DES (Triple DES) tiostruki DES
AAL (ATM adaptation layer) ATM adaptacioni
sloj
ABM (Asvnchronous balanced mode) asinhroni
balansirani mod
ACK (Acknowledgment) potvrda
ADSL (Asvmmetric DSL) asimetrini DSL
AES Advanced Encryption Standard
AM (Amplitude modulation) amplitudska
modulacija
ANSI (American National Standards Institute)
AP (Access point) pristupna taka
ARM (Asynchronous response mode) mod
asinhronog odziva
ARP (Address Resolution Protocol)
ARPA Advanced Research Projects Agency
ARQ (Automatic repeat request) automatski
zahtev za retransmisiju
AS (Autonomous system) autonomni sistem
ASCII American Standard Code For Information
Interchange
ASK Amplitude shift keying amplitudska
modulacija
ASN.l Abstract Syntax Notation 1
AT&T American Telephone and Telegraph
ATM (Asynchronous Transfer Mode) asinhroni
mod prenosa
Attachmentunitinterface
BCC BlockCheck Character
BCD (Binary-coded decimal) binarno kodirani
decimalni kod
BCDIC (Binary-coded) decimal interchangecode
BGP Border GatewayProtocol
B-ISDN (Broadband ISDN) irokopojasni ISDN
BPDU Bridge protocol data unit
BSC (Binary synchronous communication)
binarne sinhrone komunikacije
BSS (Basicserviceset) osnovni skup servisa
CA (Certificate authority) nadleno telo za
izdavanje sertifikata
CATV (CableTV) kablovska televizija
(Computerbranchexchange) kompjuterska
centrala
CCITT Comite Consultatif International de
Telegraphique etTelephonique
CGI Common GatewayInterface
CIDR (Classless interdomain routing) besklasno
ratiranje izmeu domena
CIA (Committed information rate) angaovana
brzina prenosa informacija
CMIP Common Management Information Protocol
CMOT CMIP over TCP
CPU (Central processing unit) centralna
procesorska jedinica
CRC (Cyclic redundancy check) ciklina provera
redundanse
CS (Convergence sublayer) podsloj konvergencije
CSMA Carrier Sense Multiple Access
CSMA/CA Carrier Sense Multiple Access with
Collision Avoidance
CSMA/CD Carrier Sense Multiple Access with
Collision Detection
DCE (Data circuit-terminating equipment)
oprema za razmenu podataka
DCF Distributed Coordination Function
DCI (Discrete cosine transform) diskretna
kosinusna transformacija
DES Data Encryption Standard
DHCP Dynamic Host Configuration Protocol
DIFS DCF interframe space
DLE Data Link Escape
DNS Domain Name System
DoD (Department of Defense) Ministarstvo
odbrane
DoS (Denial of service) odbijanje servisa
DPSK Differential phase shift keying
diferencijalna fazna modulacija
DS (Distributed system) distribuirani sistem
DSL (Digital Subscriber Line) digitalna pretplat-
nika linija
DSLAM (DSL access multiplexer) DSL pristupni
multiplekser
DSN Deep Space Network
DSS Digital Signature Standard
DSSS Direct-sequence spread spectrum
DIE (Data terminal equipment) oprema
terminala
DVMRP Distance Vector Multicast Routing
Protocol
EBCDIC Extended Binary-Coded Decimal
Interchange Code
EGP Exterior Gateway Protocol
EIA Electronic Industries Association
ELF (Extremely low frequency) izuzetno niska
frekvencija
ENIAC Electronic Numerical Integrator and
Calculator
ESP Encapsulating Security Payload
FCC Federal Communications Commission
FDM (Frequency-division multiplexing) multi-
pleksiranje sa podelom frekvencije
FHSS Frequency-hopping spread spectrum
FM (Frequency modulation) frekventna
modulacija
FSK (Frequency shift keying) frekventna modu-
lacija
FSO Free space optics
FTP (File Transfer Protocol) protokol za transfer
fajlova
GIF Graphics Interchange Format
GMII Gigabit medium independent interface
interfejs nezavisan od Gigabit medijuma
HDLC High-level Data Link Control
HDSL High-bit-rate DSL
HDTV High-definition television televizija visoke
definicije
HTML Hypertext Markup Language
HTTP Hypertext Transfer Protocol
IANA Internet Assigned Numbers Authority
IBM International Business Machines
ICANN Intemet Corporation for Assigned Names
and Numbers
ICMP Internet Control Message Protocol
IEC International Electrotechnical Commission
IEEE Institute of Electrical and Electronic
Engineers
EIF Internet Engineering Task Force
IGMP Internet Group Management Protocol
IKE Internet Exchange
IP InternetProtocol
IPv6 Internet Protocol version 6
ISAKMP Internet Security Association and
Management Protocol
ISDN Integrated Services Digital Network
digitalna mrea sa integrisanim servisima
ISO International Organization for
Standardization
ITU IntemationalTelecommunications Union
JPEG Joint Photographic Experts Group
LAN Local area netvvorklokalna mrea
LAP LinkAccess Protocol
LED Light-emitting diode
LEO Lowearth orbit
LLC Logical linkcontrol kontrola logikog linka
MAC Medium access control kontrola pristupa
medijumu
MaGIC Media-accelerated Global Information
Carrier
MII (Medium independent interface) interfejs
nezavisan od medijuma
MLT-3 Multilevel Line Transmission-Three Levels
MP3 MPEG audio layer 3
MPEG Moving Pictures Expert Group
MTSO Mobile telephone switching office centrala
mobilne telefonske mree
MTU (Maximum transfer unit) maksimalna
jedinica prenosa
NAK (Negative acknowledgment) negativna
potvrda
NASA National Aeronautics and Space
Administration
NBS National Bureau of Standards
NEXT Near-end crosstalk
NIC (Network interface card) mrena interfejs
kartica
NIST National Institute of Standards and
Technology
NNI (Network-network interface) interfejs
mrea-mrea
NRM (Normal response mode) mod normalnog
odziva
NRZ Nonreturn to zero
NRZI Nonretum to zero inverted
NSA (National Security Agency ili No Such Agency
Nacionalna) bezbednosna agencija, ili Ne
postoji takva agencija
NTSC Nalional Television Standards Committee
OAM (Operations, adrainistration, and mainte-
nance) operacije, adminislriranje i odravanje
OC-n Optical carrier-n
ONU (Optical network) unit jedinica optike
mree
OSI Open Systems Interconnect
OSPF Open Shortest Path First
PABX (Private automalic branch
exchange) privatna automatska centrala
PAM (Pulse amplitude modulation) impulsna
amplitudska modulacija
PAM5 (Pulse amplitude modulalion with five
levels) impulsna amplitudska modulacija sa pet
nivoa
PAN (Personal area netvvork) personalna mrea
PBX (Private branch exchange) privatna centrala
PC (Personal computer) personalni kompjuter
PCM (Pulse code modulation) impulsna kodna
moduladja
PCS (Physical coding sublayer) podsloj za fiziko
kodiranje
PDU (Protocol data unit) jedinica podataka
protokola
Perl Practical Extension and Report Language
PGP Pretty Good Privacy
PIN (Personal identification number) personalni
identifikadoni broj
PM (Phase modulation) fazna modulacija
PMD Physical medium dependent
POTS (Plain old telephone service) tradicionalni
telefonski servis
PSK (Phase shift keying) fazna modulacija
PVC (Permanent virtual circuit) permanentno
virtuelno koio
QAM (Quadrature amplitude modulation)
kvadraturna amplitudska modulacija
QoS (Quality of service) kvalitet servisa
QPSK Quaternary phase shift keying
RADSL (Rate-adaptive asymmetric DSL)
asimetrini DSL sa adaptacijom brzine
RFC (Request for Comments) zahtev za
komentare
RIP Routing Information Protocol
RMON Remote Monitoring
RPB Reverse-path broadcasting
RSA Rivest, Shamir, Adelman
RSVP Resource Reservation Protocol
RTCP RIP Control Protocol
RIP Real-Time Transport Protocol
SAR Segmentation and reassembly sublayer SDH
Synchronous Digital Hierarchy
SDLC Synchronous Data Link Control
SDSL Symmelric DSL ili single-wire DSL
SHA-I Secure Hash Algorithm 1
SHDSL Single-pair high-speed DSL
SIFS Short interframe space
SIPP Simple Inlernet Protocol Plus
SMTP Simple Mail Transfer Protocol
SNMP Simple NetWork Management Protocol
SONET (Synchronous Optical
Network) sinhrona optika mrea
SPE Synchronous payload envelope
SSCF Service-Specific Coordination Function
SSCOP Service-Specific Connection-Oriented
Protocol
ssh Secure Shell
SSL Secure Sockets Layer
SS7 Signaling Syslem 7
STD State transition diagram dijagram prelaza
stanja
STP Shielded twisted pair zatiene upredene
parice
STS-n Synchronous transport signal n
SVC Switched virtual circuit komutirano
virtuelno kolo
TCP Transmission Control Protocol
TCP/IP Transmission Control Protocol/Internet
Protocol
TIA Telecommunications Industry Association
TDM (Time division multiplexing) multipleksi-
ranje sa podelom vremena
TLS Transport Layer Security
TPDU (Transport protocol data unit) jedinice
podataka transportnog protokola
UDP User Datagram Protocol
UHF (Llltra-high frequency) ultravisoka
frekvencija
UNI (User-network inlerface) interfejs korisnik
mrea
URL Uniform Resource Locator
USB (Universal serial bus) univerzalna serijska
magistrala
UTP (Unshielded twisted pair) nezatiene
upredene parice
VDSL Very high data rate DSL
VHF (Very high frequency) veoma visoka
frekvencija
VLAN (Virtual UN) virtuelni UN
VLSI Very large-scale integration
VSAT Very small aperture lerminal
WAN (Wide area netvvork) mrea ireg
geografskog podruja
WEP Wired Equivalent Privacy
WDDM (Wave-division deniultiplexer) demulti-
plekser sa podelom frekvencije
WDM (Wave-division multiplexing) multiple-
ksiranje sa podelom frekvencije
Wi-Fi Wireless fidelity
WIS WAN interface sublayer
WLAN (Wireless UN) beini UN
WWW World Wide Web
XAUI (XGMJI attachment unil interface) XGMlI
pridruena jedinica interfejsa
XGMIII (10-Gigabit medium independent
interface) interfejs nezavisan od 10 Gigabit
medijuma
802.11, Videti: Wireless LAN
Standard
802.3, Videti: Ethemet
802.5, Videti: Token ring mrea
10 Gigabit Ethemet, 430-432,
456
1000BaseCX, 427, 431, 456
lOOOBaseLX, 427, 431, 456
lOOOBaseSX, 427, 431, 456
lOOOBaseT, 428-430, 431, 456
lOOBaseFX, 421-422, 425, 456
100BaseT4, 422-424, 425, 456
lOOBaseTX, 418-421, 425, 456
10Base2, 415, 418, 456
10Base5, 415, 418, 456
10BaseFx, 417, 418, 456
lOBaseT, 416, 418, 456
23 B+D,678
25-pinski konektor, 160
2B+D,678
4B/5B kodiranje, 419
8B/6T kodiranje, 422
9-pinski konektor, 162
I I
AAL, Videti: ATM adaptacioni
sloj
ABM, Videti: asinhroni
balansirani mod
AC koefidjenti, 240
Accept (soket komanda), 622
Access control polje, 435
ACK, Videti: potvrda
ACKtajmer, 364, 367-369,
375-376
Active monitor present okvir,
442
Active Server Pages, 634
Adaptacioni slojevi (ATM)
AAL2, 723-724
AAL5, 724-725
AALI, 721-723
Service-Specific
Connection-Oriented
Protocol, 725-726
Adaptivna diferendjalna
impulsna kodna modulacija,
188
adaptivno rutiranje, 492, 518
Add/drop multiplekser, 190
Address Complete Message, 685
Address mask reply poruka, 558
Address mask request poruka,
558
Address Recognized bit, 435
Address Resolution Protocol, 542
Address spoofing (lairanje
adrese), 325
Adresa, Videti: emitovanje; Klasa
A, B, C; odredina adresa;
grupna adresa; IP; fizika
adresa; izvorna adresa
ADSL Lite, 135
Advanced Data
Communications Control
Procedure (ADCCP), 400
Advanced Encryption Standard,
292-296, 342
Advanced Research Projects
Agency, 525
AES, Videti: Advanced
Encryption Standard
Agentska stanica, 608
Algoritam, Videti: algoritam
pretraivanja unazad;
Bellman-Fordov; binarni
eksponencijalni backoff;
Dijkstrin; plavljenja,
pretraivanja unapred; RSA;
Spanning tree
Algoritam najkraeg puta, 493.
Videti i: Dijkstrin algoritam
Algoritam plavljenja, 472
Algoritam pretraivanja unapred,
493. Videti i: Dijkstrin
algoritam
Algoritam pretraivanja unazad,
496. Videti i: Bellman-Fordov
algoritam
Algoritam vektorskog rastojanja,
496
All-routes broadcast okvir, 480
Alociranje bafera, 514
Aloha Protocol, 196-199, 207
AM, Videti: amplitudska
modulacija
American National Standards
Institute, 16
American Standard Code for
Information Interchange,
89-91,93
Amplituda, 103
Amplitude shift keying, 114
Amplitudska modulacija, 114
Analogni signali, 55, 98,
101-107.
Videti i: multipleksiranje sa
Indeks
podelom frekvencije; Furijeovi
redovi; Nikvislova teorema;
enonov rezultat
Analogno-digilaina kouverzija,
118-121
Angaovana brzina prenosa
informacija, 702-703
Anonimni FTP, 598
ANSI, Videti: American National
Standards Institute
Answer poruka, 685
Antena u obliku roga, 69
Anycast adresa, 566
Arbitraa (FireWire), 176
Are you there (Da Ii si tu), 592
Aritmetika kompresija, 220-224
ARPA, Videti: Advanced Research
Projects Agency
ARPANET, 525
ARQ, Videti: Automatic repeat
request
ASCII, Videti: American Standard
Code for Information
Interchange
ASCII kod, 90
Asimetrini DSL, 132-135
Asimetrini DSL sa adaptacijom
brzine, 137
Asinhroni prenos, 154-155, 208
ASK, Videti: Amplitude shift
keying
Asnhroni balansirani mod, 402
ASP, Videti: Active Server Pages
Asynchronous Transfer Mode
(mod asinhronog prenosa),
705-727
adaptacioni slojevi, 720-725
Banyan komutatori, 710-711
elije, 706, 713-716
interfejs korisnik-mrea,
708-709
interfejs mrea-mrea, 709
prednosti, 706-708
referentni model, 712-713
upravljanje konekcijom,
717-720
virtuelne putanje, 716-717
ATM, Videti: Asynchronous
Transfer Mode
ATM adaptacioni slojevi, 712,
720-725
Attachment unit interface kabl,
411
Autentifikacija, 306, 315, 343
digitalni potpisi, 305-308
eme zasnovane na hash
funkciji, 308-311
Autentifikacija servera, Vieti:
Transport Layer Security
Autentifikacija zasnovana na
hash funkciji, 308-311
Authentication data polje, 565
Authenticalion failure trap, 607
Authentication header
komponenta, 564
Autobaud modemi, 126
Automatic repeat request, 351
Autonomni sistem, 504, 506, 511
B kana] (ISDN), 678
B okvir (MPEG), 247
Backward Explicit Congestion
Notifkation, 702
Baferovanje, 34
Bajtovima orijentisani protokol,
399, 408. Vieti i: Binarne
sinhrone komunikadje
Bajtski multipkkser, 183
Balansiranje optereenja, 510
Banka filtera, 252
Banyan komutatori, 710-711
Barkerovkod, 447
Baza prosledivanja, 469
BCD, Videti: Binarno-kodirani
decimalni kod
Beina lokalna mrea, 81-82, 93
nadmetauje, 447-449
adresiranje, 449-451
format okvira, 451-453
infracrveni i radio talasi,
444-447
Beine komunikacije, 66-84.
Videti i: Bluetooth; Free space
optics; Geostacionami sateliti;
Infracrvene; Sateliti u niskoj
orbiti; Mikrotalasni prenos;
Satelitski prenos; Beini LAN
Beumni kanal, 107. Videti i:
Nikvistov rezultat
Beacon okvir, 442
BeI (koeficijent signal-um), 111
BeI (kontrolni karakter), 91
Beleenje rute, 539
Bellman-Fordov algoritam,
496-502,513,518
Berkeley UNIX, 617
Besklasne adrese, 531-533
Besklasno rutiranje izmedu
domena, 532
Bezbednosna asocijacija, 564
Bezbednost, Videti: Bezbednost
podataka
Bidirekcioni, 12
Binarne sinhrone komunikacije,
158,408-410,455
Binarni eksponencijalni backoff
algoritara, 204
Binarno-kodirani decimalni kod,
89
bind (soket koraanda), 622
BISDN, Videti: irokopojasni
ISDN
Bisync, Videti: Binarne sinhrone
komunikacije
Bit, Videti: Address Recognized
bit; Do-not-fragment; Eho;
Frame copied; Definisanje
okvira; More fragments; Bit
parnosti; Prioritet; Reservation
bit; Start bit; Stop bit; Bit
tokena
Bit parnosti, 31, 260, 271, 274
Bit tokena, 434
Bitmap, 151
Bitovi prioriteta, 436
Bitovi rezervacije, 436
Bitovima orijentisani protokol,
399. Videti i: High-Ievel data
link protokol
Bitska brzina, 56, 107.
Videti i: Nikvistov rezultat;
enonov rezultat
Bitski vod, 678
Block Check Character, 410
Blokovski multiplekser, 183
Blokovsko ifrovanje, 287
Bluetooth, 82-83
Bodov kod, 88-89
Border Gateway Protocol,
510-512,513,519
BPDU, Videti: Bridge protocol
data unit
Bridge protocol data units, 476
Broj skokova, 507
Broj logike grupe, 697
Broj logikog kanala, 697
Broj porta, 323, 574
Broj sekvence, 575, 587
Brza Furijeova transformacija, 106
Brzina bauda, 108. Videti i:
Nikvistov rezultat
Brzina prenosa, 358, 378. Videti
i: Bitska brzina; Efektivna
brzina prenosa podataka
BSC, Videti: Binarne sinhrone
komunikacije
Bureau of Export Administration,
312
C jezik, 634. Vieti i: Soket
programiranje
CaIl Accepted paket, 698
CaIl Modification Completed
poruka, 685
CaIl Modification Reject poruka,
686
CaIl Modification Request
poruka, 685
CaIl Proceeding poruka, 689, 718
CaIl Progress poruka, 685
CaIl Reference polje, 688
CaIl Request paket, 698
Carriage return, 90
Carrier Sense Multiple Access,
199-202, 209, Vieti i:
Nadmetanje
Carrier Sense Multiple Access
with Collision Avoidance,
448-449
Carrier Sense Multiple Access
with Collision Detection, 11,
202-204, 207, 210, 414
CBX, Videti: Kompjuterska centrala
CCITT, Videti: International
Telecommunications llnion
CD, Videti: Detekcija kolizije
CeIl loss priority bit, 716
Centrala mobilne telefonske
mree, 149
Centralizovano rutiranje, 490,
518. Videti i: Dijkstrin
algoritam
CERT, Videli: Computer
Emergency Response Team
Cezarova ifra, 282-283, 342
CGI, Videti: Coramon Gateway
Interface
Cheapernet, 415
Chip kod, 446
Chipping sekvenca, 446
Choke paketi, 514
CIDR, Videti: Classless
Interdomain Routing
Ciklina provera redundantnosti,
(USB), 170, 261-270, 274
analiza, 265-268
implementacija, 268-270
metod, 263-265
Ciklini pomeraki registar, 268
Ciklus, 56
Ciljna stanica, 400
Ciljni mlaz, 75
Cipher, Videti: Advanced
Encryption Standard; Cezarova
ifra; Dala Encryption
Standard; Monoalfabetsko
ifrovanje; Polialfabetsko
ifrovanje; Rijndaelov
algoritam; RSA algoritam;
ifrovanje razmetanjem;
Trostruki DES
Claim Token (CT) okviri, 442
Clear Confirmation paket, 698
Clear Request paket, 698
Clear to send signal, 161, 449
Clipper chip, 296-299, 343
CLOSE, 579
close (soket komanda), 622
CMIP, Videti: Common
Management Information
Protocol
Coldstart trap, 607
Command Indicator, 702
Common Cateway Interface,
649-654,
Common Management
Information Protocol, 608
connect (soket komanda), 622
Connecl Acknowledgment
poruka, 719
Connect poruka, 719
Contributing source
identifikator, 588
Control-Q, 354
Control-S, 354
CR, Videti: Carriage return
CRC, Videti: Ciklina provera
redundantnosti
CRC-32, 267
Crv, 330, 344. Videti i: Internet
crv
CSMA, Videti: Carrier Sense
Multiple Access
CSMAICD, Videti: Carrier Sense
Multiple Access with Collision
Detection
CTS, Videti: Clear to send signal
elija (ATM), 706-708, 713-716
eksuma, 261, 539
isti Aloha protokol, 196
ujno maskiranje, 252
uvanje kljua, 299, 342
D kanal (ISDN), 678
Daisy chain, 173
Daljinsko logovanje, 590, 593.
Videti i: Telnet
Data (podaci)
bezbednost, 279-344. Videti i:
Advanced Encryption Standard;
Napadi; Autentifikacija;
Kriptografija; Data Enctyption
Standard; Digitalni potpisi;
Sifrovanje; Firewalli; Hakeri;
IPSec; ifrovanje javnim
kljuem; Secure sockets layer;
RSA algoritam; Rijndaelov
algoritam: Virus; Crv; X.509
sertifikat
brzina prenosa, Videli: Bitska
brzina; Efektivna brzina
prenosa podataka
carrier detect kod, 161
circuit-terminating equipment
(oprema za razmenu
podataka), 159
Encryption Standard, 287-291,
342
integritet, 258-275. Videti i:
Detekcija greaka;
Korigovanje greaka;
Ceksuma; Cikline provere
redundantnosti; Hamingov
kod; Provera parnosti
kodiranje strob signalom, 174
kompresija, 40, 215-254.
Videti i: Aritmetika
kompresija; Faksimil
kompresija;
Frekventno-zavisni kod;
Hafmanov kod; Lempel-Ziv
kodiranje; Run-length
kodiranje; Relativno
kodiranje; JPEG; MPEG;
MP3
Link Connection Identifier,
701
link escape, 91, 409
protokoli kontrole veze,
398-410, Videti i: Biname
sinhrone komunikacije;
High-ievel Data Link
Control
set ready signal, 161
slojveze, 19, 21, 23-24, 30-31.
Videti i: Binarne sinhrone
komunikacije; Popunjavanje
bitova; Mostovi;
Popunjavanje bajtova;
Korigovanje greaka;
Detekcija greaka: Konlrola
toka; Okvir; High-level Data
Link Control; Kontrola
logikog linka; Kontrola
pristupa raedijumu
terminal ready signal, 161
terminalna oprema, 159
Datagram, 28, 29, 695
Datagram servis, 695.
Videti i: X.25
DB-25 kabl, 160
DC balans, 427
DC balansiranje, bit, 687
DC koeficijent, 240
DCl, DC2, DC3, DC4, 91
DCE, Videti: Data
circuit-terminating equipment
(oprema za razmenu
podataka)
De facto standardi, 15
Deifrovanje, 281. Videti i:
ifrovanje
Decibel, 111
Deep Space Network, 50
Definisanje ok\'ira (ATM), 715
Definisanje super mrea, 533
Delitelj, 129, 132
Deljena memorija, 548
Deljenje polinoma, 261-263
Demodulacija, 102. Videti i:
Modulacija
Deo za prenos poruke, 684
Departmeni of Defense
(Ministarstvo odbrane), 525
DES, Videti: Data Encryption
Standard
DEScracker, 291
Deslination options header
(zaglavlje sa opdjama za
odredite), 563
Destination Unreachable poruka,
557
Detekcija greaka, 31, 259, 572.
Videti i: Ciklina provera
redundantnosti; Parnost
Detekcija kolizije, 30, 202-204
Diferencijalna
fazna modulacija, 114
kodiranje, 229
kriptoanaliza, 290
Manester kodiranje, 101
Differenliated Services, 538
Diffle-Hellman razmena kljua,
300-302
Digitalna mrea sa integrisanim
servisima (ISDN), 678-692,
727
format okvira, 686
funkcionalne grupe, 681-682
postavljanje poziva, 689-691
protokol sloja 3, 688-691
referentne take, 682-683
servisi, 679-681
signaling systera 7, 684-686
Digilalni
nosioci, 186-194. Videti i:
Sinhrona oplika mrea;
Tl nosilac
potpisi, 305-308, (Pretty Good
Privacy)312, 343
prelplatnika linija (Subscriber
Line), 131-138, 139
signali, 55, 98-101. Videti i:
Manesler kodiranje;
Modulacija; Nonrelum to
zero
Signature Slandard, 308
telefonski sistem, 46. Videti i:
Digitalna mrea sa
integrisanim servisima
Digitalni saetak poruke,
308-311
Dijagram prelaza stanja,
380-382, 384-385
Dijkstrin algoritam, 493-496,
513,518
Dinamiko povezivanje, 542
Direct-sequence spread spectrum,
446-447
Direktno rutiranje, 542
Discard Eligibility, 702
Disconnect mod, 406
Disconnect Protocol, 579
Diskretna Furijeova
transformacija, 106
Diskretni tonovi, 133-134
Disparitet, 427
Distance Vector Multicast
Routing Protocol, 553
Distribuirana
koordinacija, 448
rutiranje, 491, 518. Videti i:
Bellman-Fordov algoritam;
Routing Information
Protocol
sistem, 41
Distribuiranje kljua, 299-302,
342. Videti i: Clipper chip;
Diffie-Hellman razmena
kljua; amirov metod
DLE, Videti: Data link escape
DNS, Videti: Domain name
system
Do Not Fragment bit, 540
DoD, Videti: Department of
Defense (Ministarstvo odbrane)
Dodatak linije (SONET), 194
Dodatak sekcije (SONET),
192- 194
Domain name system, 526,
534-537, 608
hijerarhija, 535-537
serveri, 534
Domen kolizije, 417, 424, 466,
481,518
Domeni, 504, 506, 529
Downlink (silazni link), 73
Dovvnstream neighbor (naredni
sused), 442
DPSK, Videti: Diferencijalna
fazna modulacija
DS-I signalizacija, 187
DSL, Videti: Digitalna
pretplatnika linija
DSLpristupni multiplekser, 133
DSR, Videti: Data set ready signal
DTE, Videti: Data terminal
equipment (terminalna
oprema)
DTE-DCE interfejs, 159-166.
Videti i: EIA232; X.21
DTE-DCE kontrola toka, 353
DTR, Videti: Data terminal ready
Dugme, 641
Duplicate address test okvir, 441
Dvosmerno usaglaavanje, 35
Dynamic Host Configuration
Protocol, 533
EBCDIC, Videti: Extended Binary
Coded Decimal Interchange
Code
Echo bit, 687
Echo reply, 558
Echo request, 558
Efektivna brzina prenosa
podataka, 358-360 (protokol
klizajuih prozora)
EGP, Videti: Exterior Galeway
Protocol
EIA, Videti: Electronic Industries
Association
EIA-232 interfejs, 160-163, 208
e-komerc, 7
Ekstenzija nosioca, 425
Electret, 146
Electronic
codebook raode, 290
Numerical Integrator and
Computer, 3
Electronic Industries Association,
17
Elektrino uzemljenje, 161
Elektromagnetni talasi, 66
Elektronska
pota, 5, 46. Videti i: Simple
Mail Transfer Protocol
telefonski direktorijumi, 45
Elektronski lokatori, 49
Elementi slike, Videti: Pixels
ELF, Videti: Extremely low
frequency
Eliminacija paketa, 514
email, Videti: Elektronska pota
Embedded Internet tehnologija,
44
Emisiona adresa, 403
Emisioni domen, 481, 518
Emitovanje, 553
Emitovanje obrnutom putanjom,
553
Emitovanje televizijskog signala,
180
Enabled, 386
End of text karakter, 409
ENIAC, Videti: Electronic
Numerical Integrator and
Computer
Eskimo pies, 268
Etar, 410
Ethernet, 410-417, 456. Videti i:
Fast Ethernet; Gigabit
Facility Accepted poruka, 685
Facility Reject poruka, 685
Facility Request poruka, 685
Faksimil kompresija, 226-229,
253
Faksimil maina, 6, 151-153
Fast Ethernet, 417-424, 456
100BaseFX, 421-422
100BaseT4, 422-424
100BaseTX, 418-421
FAX, Videti: Faksimil maina
Fazna modulacija, 114
Fazni pomak, 103
FCC, Videti: Federal
Communications Commission
FDM, Videti: Multipleksiranje sa
podelom frekvencije
Federal Communications
Commission, 4
Federal Information Processing
Standards, 299
Fiber optics, Videti: Optiki fiber
Fiber sa vie modova, 63-64
Fiksno rutiranje, 471, 518
FiIe server, 9
Filter, 107
Fingerd, 337
Fire, 386
Firewall, 323-329, 344
application-level gateway,
325-327
filtriranje paketa, 324-325
ispitivanje prethodnog stanja,
327-329
FireWire, 172-178, 209. Videti i:
Univerzalna serijska magistrala
arbitraa, 176
komunikacije, 175
konekcije, 173
Fizika
adresa, 542
podsloj za kodiranje, 420
podsloj zavisan od medijuma,
421
sloj, 19, 21, 24. Videti i:
Slabljenje; Koaksijalni kabl;
Mikrotalasni prenos;
Optiki fiber; Repetitor;
Satelitski prenos; Upredene
parice
Flow label polje, 562
FM, Videti: Frekventna modulacija
Fokus, 69
Forme (HTML), 641-644, 650,
655-658, 672
Forvvard Explicit Congestion
Notification, 702
Fragment, 540
Fragment offset polje, 540
Frame (okvir)
broj, 362
check sequence, 403
copied bit, 435
format, 24, 156, 168 (LISB),
191 (SONET), 196 (Aloha),
362-363, 402 (HDLC), 408
(BSC), 413-414 (Ethernet),
434-435 (token ring),
451-453 (WirelessLAN
Standard), 686 (ISDN),
701-702 (Framerelay)
kontrola, 435
propagacija, 473
reject funkcija, 406
relay, 699-705, 727
angaovana brzina prenosa
informacija, 702-703
format okvira, 701-702
kontrola zaguenja, 703-705
sporadino slanje, 426
status, 435
tajmer, 364, 367-369, 372,
375-376
tip, 435
Framing bit, 187
Free space optics, 83-86, 93
Frekvencija, 103. Videti i:
Analogni signal
Frekvencija semplovanja, 56,
Frekventna modulacija, 113-114
Frekventni opsezi (satelit), 73-75
fizike implementacije,
415-417. Videti i: Binarni
eksponencijalni backoff;
Carrier Sense Multiple
Access; Primopredajnik
format okvira, 413-414
koncept, 411-413
Exchange identification funkcija,
406
Extended Binary Coded Decimal
Interchange Code, 92, 93
Extensible Markup Language, 634
Exterior Gateway Protocol, 606
Extremely low frequency
(izuzetno niska frekvencija),
67
Frekventno-zavisni kod, 217-224.
Videti i: Aritmelika kompiesija;
Hafmanov kod
Frequency shift keying, 113-114
Frequency-hopping spread
spectrum, 445-446
FSK, Videti: Frequency shift keying
FTl
5
, Videti: Protokol za transfer
fajlova
FuIl duplex, 38, 159,208
Funkcionalne grupe, 681
Furijeovi redovi, 103-107
Gateway, 464
Gateway program, 649
Generator polinoma, 261
Generiko deifrovanje, 335
Generic Flow Control polje, 714
Geostacionarna orbita, 72, 93
Geostacionarni sateliti, 71-77
Get, 598
gethostbyname
(soket komanda), 622
gethostname (soket komanda),
622
GIF, Videti: Graphics Interchange
Format
Gigabit Ethemet, 424-430, 456,
726
lOOOBaseT, 428-430
1000BaseX, 427-428
MAC podsloj, 425-27
Glave, 375
Glob, 598
Go-back-n protokol, 360-370, 391
karakteristike, 363-364
kod algoritma, 367-368
veliina prozora, 364-366
Gostujua stanica, 400
Govorna pota, 680
Govorne komunikacije, 6, 50
Graded index multimode fiber, 64
Graf, 475
Graft poruka, 555
Graphics Interchange Format, 245
Gremlin, 365
Grupna adresa, 403
Hafmanov kod, 217-219, 253
Haker, 338-339, 344
HaIf duplex prenos, 38, 158, 208
I okvir (MPEG), 247
IANA, Videti: Intemet Assigned
Numbers Authority
IBM, Videti: International
Business Machines
ICANN, Videti: Internet
Corporation for Assigned
Names and Numbers
ICMP, Videti: Internet Control
Hamingov kod, 270-275
Handoff, 150
Handshake (Transport Layer
Security), 320-322
Hash funkcija, 308, 548
HDLC, Videti: High-level Data
Link Control
HeIp, 598
Herc (Hz), 57
High-bit-rate DSL, 136
High-level Data Link Control
Prolocol, 400-408, 455
format okvira, 402
informacioni okviri, 403-404
konfiguracije, 401
kontrolna polja, 404
nenumerisani okviri, 405
primer, 405-408
supervizorski okviri, 404-405
Hijerarhijsko rutiranje, 503-506,
513,518
Hop limit polje, 562
Hop-by-hop zaglavlje, 563
Horizontal tab kontrolni
karakter, 91
Host stanica, 400
hostent struktura, 620-62 1
HTML, Videti: Hypertext Markup
Language
HTTP, Videti: Hypertext Transfer
Protocol
Hub, 416, 465, 517
Hyibrid, 430
Hypertext Markup Language,
634, 636-644
forme, 641-644, 650,
655-658, 672
primeri dokumenata, 638,
642, 643
tagovi, 637-640
uporini tagovi, 639
Hypertext Transfer Protocol,
526, 672
Message Protocol
ID registra, 568
IEC, Videti: International
Electrotechnical Commission
IEEE, Videti: Institute of Electrical
and Electromc Engineers
IEEE Standard 802.11, 443.
Videti i: Wireless LAN Standard
IEEE Standard 802.3, 399, 410.
Videti i: Ethernet
IEEE Standard 802.5, 399.
Videti: Token ring mrea
IETF, Videti: Internet Engineering
Task Force
Impulsna amplitudska
modulacija, 119
Impulsna amplitudska
modulacija sa pet nivoa, 428
Impulsna kodna modulacija,
119-121,251
Indeks refrakcije, 62
Infekcija, 330
Informacioni okvir, 403-404
Information poruka, 685
Information reply, 558
Information Request, 558, 685
Infracrveni prenos, 81, 85-86, 444
Initial Address Message, 685
Institute of Electrical and
Electronic Engineers, 17
Integritet, Videti: integritet
podataka
Interfejs mrea-mrea (ATM), 709
Interfejs nezavisan od medijuma,
420
Interfejs zavisan od Gigabit
medijuma, 427
International Business Machines,
18
International Electrotechnical
Commission, 16
International Organization for
Standardization, 17. Videti i:
Open Systems Interconnect
International TelecommunicationS
Hnion, 16. Videti i: X.2l; X.25;
I-series; Q-series; V. 90
Internet, 525. Videti i: Internet
programiranje; Internet
Protocol; Transmission
Control Protocol; World
Wide Web
adesa, 506
Assigned Numbers Authority,
534
Control Message Protocol,
557-559, 609
Corporation for Assigned
Names and Numbers, 534
Engineering Task Force, 17
Group Management Protocol,
550, 608
key exchange (IKE)
mehanizam, 565
slojevi, 42-43
upravljanje, 604. Videti i:
Simple Network
Management Protocol
Internet crv, 336-338
Internet programiranje, Videti:
CGI programiranje; lavaScript;
Perl skript; Soket
programiranje; World
Wide Web
Internet Protocol, 524-570, 609.
Videti i: Internet aplikacije;
Internet programiranje; Soket
programiranje; Transmission
Control Protocol; User
Datagram Protocol; World
Wide Web
adresiranje, 528-534
Control Message Protocol,
526, 557-559
Domain Name System, 534-537
format paketa, 537-539
fragmentacija, 540-541
multicasting, 549-555
problemi sa, 560-561
Resource Reservation Protocol,
555-557
ruteri, 546-549
rutiranje, 541-546
Internet Protocol verzija 6,
559-570, 609
adresiranje, 566-568
bezbednost, 564-566
kompatibilnost sa IPv4,
568-569
paketi, 561-564
Internet radio, 48, 157
Internet Security Association and
Key Management Protocol, 566
Intemet Service Provider, 126, 567
Internetworking, Videti:
ARPANET; Asynchronous
Transfer Mode; Moslovi;
Datagram; Internet Protocol;
Ruteri; Algoritmi za rutiranje;
Spanning tree algoritam;
Mrea ireg geografskog
podruja; World Wide Web
Interrupt mehanizam, 332
Interrupt transfer (USB), 169
Inverzno naizmenino
oznaavanje, 687
IP, Videti: Internet Protocol
IP adresa, 530
IPSec, 341, 564-566, 609
IPv6, Videti: Internet Protocol
verzija 6
Iridium, 78
ISDN, Videti: Digitalna mrea sa
digitalnim servisima
ISDN korisniki deo, 684
ISDN osnovna brzina, 678
I-serije, 683
ISO, Videti: International
Organization for
Standardization
Isputeni okvir, 440
ITU, Videti: International
Telecommunications Union
Izbegavanje kolizije, 205
Izgubljeni token, 441
Izlazno mesto, 386
Izoblienje, 124
Izohrone
koinunikacije (FireWire), 177
prenos, 157, 208
transfer (USB), 170
izvor
adresa, 362, 413, 434
mostovi sa izvornim
rutiranjem, 479-480, 518
port, 575, 584
ruta, 539
Source quench poruka, 558
Jaina uma, 110
Java aplet, 634
JavaScript, 634, 644-649
JavaScript hijerarhija objekata, 647
Javne mree za prenos podataka,
692
Javni klju, 302, 321
Jedinice podataka transportnog
protokola, 35
Jednosmerna hash funkcija, 309
Jednostruke greke, Videti: Bit
parnosti
Joint Photographic Experts
Group, 238
Kabl, Videti: Koaksijalni kabl;
Optiki fiber
Kabl kategorije 5, 59
Kablovski modem, 127-130, 139
Kanali, Videti: B kanal; D kanal
Karakteri koji se ne mogu
odtampati, 89
Keplerovi zakoni kretanja
planeta, 71
Kerberos, 341
Keyring, 314
Klase A, B, C, D adresa
(Internet), 506, 530-531
Klase A, B, C, D saobraaja
(BISDN), 719
Klijent-server model, Videti i:
CGI; Perl skriplovi; Sistem za
naruivanje pice; Pretraivaka
maina; Soket programiranje
UNIXsockets, 619-620
Web aplikacije, 644-672
Klijentski programi
lavaScript, 644-649
UNIX soketi, 625-627
Klju, Videti: Klju za ifrovanje;
ifrovanje javaim kljuem;
Kriptosistem sa simetrinim
kljuem
Klju ciklusa, 294
Klju za ifrovanje, 281
Knockout komutator, 711
Koaksijalni kabl, 59-61, 85-86
Kod, Videti: Adaptivni
diferencijalni impttlsni; ASCIl;
Bodov kod; BCD;
Diferencijalno kodiranje;
Diferencijalni Manester kod;
EBCDIC; Frekventno-zavisni
kod; 4B/5B kodiranje; 8B/6T
kodiranje; Hamingov kod;
Hafmanov kod; Lempel-Ziv
kodiranje; Manester kod;
Morzeov kod; Impulsna kodna
modulacija;
Samosinhronizujui kod
Kod doterivanja, 227-228
Kodiranje, Videti: Kod
IPEG kompresija, 238-245, 253
faza diskretne kosinusne
transformacije, 238-244
faza kodiranja, 244-245
faza kvantizacije, 242-244
Kodiranje po podopsezima, 252
Koeficijent signal-um, 110
Kolizija, 414
Komapktdisk, 121
Kombinovana stanica, 401
Kompjuter
centrala, 148
Emergency Response Team, 341
haker, 338-339
SecurhyAcl, 297
Kompresija, Videti: Kompresija
podataka
Kompresija bez gubitaka, 238
Kompresija multimedijalnih
zapisa, Videti: JPEG; MP3;
MPEG
Kompresija sa gubicima, 238
Kompresija slika, 235-245. Videti
i: GIF; JPEG; MPEG
Komuniciranje mislima, 50
Komunikaciona podmrea, 23
Komutacija kola, 25-26, 29
Komutacija paketa, 27-29
Komutacija poruka, 26-27, 29
Komutator, 15, 421, 467, 480,
518,548,708. Videti i:
Komutirani Ethernet
Komutator okosnice, 483
Komutator radne grupe, 483
Komutirani Ethernet, 480-484
Komutirano virtuelno kolo, 700,
717
Konani automat, 380-386
Konani kodovi, 227-228
Koncentrator, 184. Videti i:
Statistiki multiplekser
Konekcija sa komutacijom kola,
683
Konekciji orijentisani servis,
Videti: Komutacija kola;
Upravljanje konekcijom; TCP;
Trosmerno usaglaavanje;
Dvosmerno usaglaavanje;
Virtuelno kolo; X.25
Kontrola
karakteri, 91
okvir, 409, 441
stanica, 400
stepen, 712
transfera (USB), 169
Kontrola greaka, 351. Videti i:
Potvrde; Automatski zahev za
retransmisiju; eksuma;
Ciklina provera
redundantnosti; Hamingov
Lagani start, 584
LAN, Videti: Lokalna mrea
IAP, Videti: Link Access Protocol
Laser, 63
LED, Videti: Light-emitting diode
kod; Negativna potvrda;
Parnost
Kontrola greaka u zaglavlju
(ATM), 714-716
Kontrola logikog linka (LLC),
399. Videti i: Binarne sinhrone
komunikacije; High-level Data
Link Control Protocol
Kontrola pristupa medijumu,
399. Videti i: CSMA/CD;
Token ring; Wireless LAN
Standard
Kontrola toka, 350-392, 514,
571, 580-582. Videti i: Potvrde;
ACK tajmer; Mehanizam
kredita; Modeli konanog
stanja; Tajmer okvira;
Go-back-n; Petri nets;
Selektivna relransniisija
Korigovanje greaka, 31
Korisnik
korisniki deo, 684
korisntki stepen, 712
-mrea interfejs (ATM), 709
servis izniedu krajnjih
korisnika, 573
Kredit, 580
Kriptografija, Videti: Advanced
Encryption Standard;
Authentication; Cezarova ifra;
Chipper chip; Data Encryption
Standard; Digitalni potpis;
Distribuiranje kljua;
Monoalfabetsko ifrovanje;
Polialfabetsko ifrovanje;
ifrovanje javnim kljuem;
Rijndaelov algoritam; RSA;
ifrovanje razmetanjem
Kriptosistem sa simetrinim
kljuem, 280
Kvadraturna amplitudska
modulacija, 115-118, 130, 134
Kvalitet servisa, 157, 538, 548,
719. Videti i: Asynchronous
Transfer Mode; Frame Relay;
Internet Protocol verzija 6;
Real-time Transfer Protocol;
Resource Reservation Protocol
Lempel-Ziv kodiranje, 229-235
Light-emitting diode, 63
Line feed karakter, 91
Linije sa umovima, 112. Videti i:
enonov rezultat
Link Access Protocols (LAP), 688.
Videti i: Biname sinhrone
komunikacije; High-level Data
Link Control Protocol
Link state paket, 503
Linkdown trap, 607
Linkup trap, 607
listen (soket komanda), 622
LLC, Videti: Kontrola logikog
linka
Lock up, 515
Lokalna centrala, 147
Lokalna mrea, 5, 9, 396-456,
462-487. Videti i: Mostovi;
CSMA/CD; Ethernet; Fast
Ethernet; Gigabit Ethernet;
IEEE 802.3; IEEE 802.5;
802.11; Kontrola pristupa
medijumu; Topologija prslena;
Spanning tree algoritam;
Komutirani Ethernet; Token
ring; Virtuelni LAN;
Beini IAN
Lokalna petlja, 131, 678
Loose Source Route opcija, 539
MAC, Videti: Kontrola pristupa
medijumu
Maksimalna jedinica prenosa, 540
Manester kod, 100-101
Management Information Base,
605
Man-in-the-middle napad, 301
Maska podmree, 533
Mbone, 553, 608
MD5 algoritam, 311,319
Media-accelerated Global
Information Carrier, 45
Mehanizam kredita, 580, 609
Memorija sa adresabilnim
sadrajem, 547
Menehune, 196
Mikrofon sa provodnom
metalnom folijom, 146
Mikrotalasni prenosi, 67-70,
85-86, 93
Mobilni telefoni, 7, 149-151
Mod, 63. Videti i: Asinhroni
balansirani mod;
Mod asinhronog odziva;
Mod asinhronog prenosa;
Mod osnovnog opsega;
Mod irokog opsega;
Mod raskidanja konekcije;
Mod normalnog odziva;
Mod zahteva za inicijalizaciju
Mod ifrovanja sa ulanavanjem
blokova, 290
Mod irokog opsega, 60. Videti i:
Kablovski modem
Mod asinhronog odziva, 401
Mod normalnog odziva, 401
Mod osnovnog opsega, 59
Mod zahteva za inicijalizaciju, 406
Modalna disperzija, 64
Modeli konanog stanja, 380
Modem, 102, 112, 121-127, 139.
Vieti i: Kablovski modem;
NuIl modem
Modovi prenosa, 153-159.
Vieti i: Asinhroni;
FuIl duplex; Half-duplex;
Izohroni; Paralelni; Serijski;
Simplex; Sinhroni
Moduladja, 102. Videti i:
Adaptivna diferencijalna
impulsna kodna modulacija;
Amplitudska modulacija;
Frekventna modulacija;
Fazna modulacija;
Impulsna amplitudska
modulacija; Impulsna kodna
modulacija; Kvadraturna
amplitudska modulacija;
Reetkasto kodiranje
Monitor, stanica, 441
Monoalfabetsko ifrovanje, 282
More fragments bit, 452, 540
Morzeov kod, 2, 87-88
Most, 15, 466, 518. Videti i:
Oznaeni mosl, Root most,
Most sa izvornim rutiranjem,
Komutator; Transparentni
Motion-compensaled prediction,
248
Moving Pictures Expert Group,
246
MP3, 251-253
MPEG kompresija, 246-250, 253
B okvir, 247
I okvir, 247
Interpolacija, 249
P okvir, 247
Sekvenca kadrova, 248
Mrea, Videti: Asynchronous
transfer mode; Ethernet;
IEEE 802.3; 802.5; 801.11;
Digitalna mrea sa
integrisanim servisima;
Lokalna mrea; Mrea sa
komutacijom paketa;
Sinhrona optika mree;
Token ring mrea; Mrea ireg
geografskog podruja;
Beina lokalna mrea
interfejs kartica, 206, 412
sloj, 19, 21,23-24, 32-33.
Videti i: Zaguenje: Internet
Protocol; Ruter; Rutiranje;
Signalizacija mree; X.25
topologija, 10-15
virtuelni terminal, 41, 590.
Videti i: Secure Shell; Telnet
Mrea ireg geografskog
podruja, 5, 9, 487. Videti i:
Asynchronous transfer mode;
Digitalna mrea sa
integrisanim servisima;
Internet Protocol; Mree sa
komutacijom paketa;
Rutiranje; Soket
programiranje; Transportni
prolokol; World Wide Web;
X.25
Mrea sa komutacijom paketa,
27-29, 692-693. Videti i:
Internet; X.25
Multicast adresa, 531, 549, 566
Multicast stablo, 552
Multidrop link, 401
Multilevel Line Transmission,
419-420
Multiplekser, 179
Multipleksiranje, 34, 107,
178-186. Videti i: Add/drop
multiplekser; Bajtni
multiplekser; Multipleksiranje
sa podelom frekvencije;
Statistiki multiplekser;
Multipleksiranje sa podelom
vremena; Multipleksiranje sa
podelom talasnih duina
Multipleksiranje sa podelom
frekvencije, 180-182
Multipleksiranje sa podelom
talasnih duina, 185-186
Multipleksiranje sa podelom
vremena, 182-183. Videti i:
Sinhrona optika mrea;
Tl nosilac
Muldpoint link, 401
Municija, 312
Mux, Videti: Multiplexer
Nadleno telo za izdavanje
sertifikata, 317
Nadmetanje, 30, 195-207,
447-449. Videti i: Aloha;
Binarni eksponencijalni
backoff algoritam; Carrier
Sense Multiple Access;
Slotovani Aloha; Prosledivanje
tokena; Wireless LAN Standard
Najjeftinija ruta, 493.
Videti i: Rutiranje
NAK, Videti: Negativna potvrda
Napad odbijanja servisa, 339-340
Napad odgovora, 564
Napad plavljenjem SYN
karaktera, 339
Napad rodendana, 309-311
Napadi, 336-341. Videti i:
Napad odbijanja servisa;
Haker; Man-in-the-middle
napad; Virus; Crv
National Bureau of Standards, 18
National lnstitute of Standards
and Technology, 18
National Security Agency, 291
National Television Standards
Committee, 237
Navalne greke, 260
Navalni okvir, 426
NBS, Videti: National Bureau of
Standards
Near-end crosstalk, 59
Nedetektovana greka u toku
prenosa, 260, 266
Neemisioni okvir, 480
Negativna potvrda, 363,
370-372. Videti i: Go-back-n
protokol; Protokol klizajuih
prozora
Nenumerisani okviri, 405
Neograniena kontrola toka,
355-356,391
Neparna parnost, 31, 260
Neperzistentni CSMA, 200-202,
207
Nepristrasna arbitraa, 177
Nereeni okviri, 361, 372
Netransparentni podaci, 410
Network
Control Protocol, 526
termination 1, 681
termination 2, 681
Nezatiene upredene parice, 59
Nikvistov rezultat, 107-109, 138
Nisko kanjenje, 537
NIST, Videti: National Inslituie of
Standards and Technology
Non-data-J, 434
Non-data-K, 434
Nonreturn to zero inverled, 99
Nonretum to zero kodiranje,
98-100, 155
No-prefix svojstvo, 218
Nosei signal, 180-181
NRM, Videti: Mod normalnog
odziva
NRZ, Videti: Nonreturn Io zero
NRZI, Videti: Nonreturn to zero
inverted
NSA, Videti: National Security
Agency
NTI, NT2, NT12 (ISDN), 681
NuIl modem, 163-164
Numerike oznake,
Obini tekst, 281
Obloga, 63-64
Obojenost, 237
Odredina adresa, 362, 413, 434
Odredini port, 574, 584
Oglaavanje prozora, 580
Ograniavanje brzine, 328
One-time pad, 286
Optepoznati port, 574
Open Shortest Path First
rutiranje, 509-510, 513, 519
Open Systems Interconnect,
9-10, 18-41
fizikisloj, 19,21,24,29-30
sloj aplikacija, 19,21-22,24
sloj mree, 19, 21, 23-24, 32-33
sloj predstavljanja, 19, 21-22,
24
sloj sesije, 19, 21-22, 24, 36-38
slojveze, 19,21,23-24,30-31
transportni sloj, 19, 21, 23-24,
33-35
Oporavak od greaka, Videti:
Korigovanje greaka;
Detekcija greaka;
Kontrola toka
Optika mrena jedinica, 137
Optiki fiber, 61-65, 85-86.
P okvir (MPEG), 247
PABX, Videti: Privatna
automatska centrala
Packet sniffer, 340, 564
Pad polje, 414
Paket, 23, 27, 168 (USB), 196
(Aloha), 355 (kontrola toka),
508 (RIP), 537-539, 570 (IP),
561-564, 570 (IPv6), 697-698
(X.25)
PAM, Videti: Impulsna
amplitudska modulacija
PAN, Videti: Personalna mrea
Parabolini reflektor, 67
Paralelni prenos, 153-154, 208
Parameler problem poruka, 558
Parna parnost, 31, 260
Path poruka, 556
PBX, Videti: Privatna telefonska
centrala
PCM, Videti: Impulsna kodna
moduladja
PC-modem konekcije,
Videti: EIA232
PDlI, Videti: Protocol data unit
Peer-to-peer umreavanje, 8, 175,
Videti i: FireWire
Perioda, 56, 103
Periodini signal, 56
Perl skriptovi, 634, 654-673
Permanentno virtuelno kolo,
698, 700,717
Personalna mrea, 83
Petri nets, 386-390
Phase shift keying, 114
Piggybacked potvrde, 363, 372
Videti i: Graded index
multimode; Laser;
Light-emitting diode;
Single mode;
Step index multimode;
Sinhrona optika mrea
Osetljivost na interferencu, 85
OSI, Videti: Open Systems
Interconnect
Osnovna brzina (ISDN), 678
Osnovni servisni skup, 450
Osvetljenost, 237
Otkrivanje rute, 480
Overscanning, 227
Oznaeni most, 476
Oznake rute, 479
Pikseli, 151, 216,236
Ping, 327, 339, 558
PM, Videti: Fazna modulacija
Podeljeni horizont, 501
Podmrea, 506, 510, 567
Podsloj izmirenja, 420, 427
Podsloj konvergendje, 713,
720-721
Podsloj segmentacije i ponovnog
sastavljanja, 713, 720-721
Point-to-point link, 401
Polialfabetsko ifrovanje, 284, 342
Polimorfni virusi, 334
Polinom, 261
Polje za potvrdu, 648
PoIl bit, 404
PoIl paket, 725
Pomeraki registar (CRC), 268
Pomeranje paketa, 586
Popunjavanje bajta, 410
Popunjavanje bitova, 402
Port, 574
Port mosta, 475. Videti i:
Spanning tree algoritam
Poslednja milja, 131, 678
Potpis virusa, 333
Potpuno povezana topologija,
13,396
POTS, Videti: Tradicionalni
telefonski sistem
Potvrda, 363, 575. Videti i:
Protokoli klizajuh prozora;
High-level data link protokol;
Transmission control protokol
p-perzistentni CSMA, 200-202,
207
Preamble, 413
Predajni prozor, 371, 391
Prelaz stanja, 380
Prelazi, 386
Prenosivi telefon, 46
Prenosni medijum,
Videti: Koaksijalni kabl;
Mikrotalas; Optiki fiber;
Satelit; Upredene parice
Presluavanje, 58
Pretraiva, 635
Pretraivaka maina, 651-654
Pretty Good Privacy, 311-315, 343
Prijemni prozor, 371, 391
Primarna brzina (ISDN), 678
Primarna stanica, 400
Primarni centar, 147
Primopredajni kabl, 411
Primopredajnik, 411
Prioritet, 537
Pristupna taka, 82, 444
Prisustvo na daljinu, 45
Privatna automatska centrala, 14:
Privatna telefonska centrala, 14!
Privatni komutator, 483
Privremena redundansa, 247
Proirena adresa, 702
Problem brojanja u
beskonanost, 501
Problem skrivene stanice, 447-44
Procedura identifikacije suseda,
442
Projekal ELF, 67
Propusni filteri, 182
Propusni opseg signala, 57.
Videti i: enonov rezultat
Prosledivanje tokena, 30-31
205-206, 210.
Videti i: Token ring mrea
Prostorne uestalosti, 240
Protokol, 15. Videti i: AAL;
Aloha; ATM;
Bitovima orijentisani; BSC,
Border Gateway;
Bajtovima orijentisani; CSIvL*
Data Link Control; Distance
Vector Multicast Routing;
E1A232; Exterior Gaieway;
Frame Relay; FTP; Go-back-n
HDLC; HTTP; ICMP; IEEE
802.3; IEEE 802.5; Internet
Group Management; IP; IPv6
ISDN; Link access; OSI,
Real-time Transfer; Resource
Reservation; RIP;
Selectivna retransmisija;
Klizajui prozori; Slotovani
Aloha; SMTP; SNMP;
Stop-and-wait; TCP; Telnet;
Trosmemo usaglaavanje;
Transport; Dvosmerno
usaglaavanje; UDP;
Neograrueni; Virtuelni
terminal; X,25
diskriminator, 688
efikasnost, 358-360
jedinica podataka, 603
konvertori, 464
tanost, 380-390.
Videti i: Konani automati;
Petri nets
Protokol klizajuih prozora,
360-380 Videti i: Go-back-n;
QAM, Videti: Kvadraturna
amplitudska modulacija
QoS, Videti: Kvalitel servisa
Q-series, 684. Videti i:
Sistem za signalizadju
Radio talasi, 444
Razvodna tabla, 2
RD, Videti: Receive data signal
Reetkasto kodiranje, 429
Real-time aplikadja, 157
Real-time Transfer Protocol,
585-589, 609
Reassembly tajmer, 541
Receive data signal, 161
Selektivna retransmisija
Protokol selektivne retransmisije,
370-377, 391
karakteristike, 370-372
kod agoritma, 375-376
velidna prozora, 372-374
Protokol za transfer fajlova, 40,
526,596-600,610
Protokoli za spoljanje rutiranje,
507
Protokoli za unutranje rutiranje,
507
Provera parnosti, 31, 259-261,
270. Videti i: Hamming code
Provodni metal, 57-61
Proxy server, 326
Prozivka, 169
Prozor, 361, 576, 590.
Videti: Prijemni prozor;
Predajni prozor; Protokol
klizajuih prozora
Prozor zaguenja, 582-584, 609
Prozorima orijentisani
stop-and-wait, 378
Prune paket, 554
Pseudoternarno kodiranje, 687
Psihoakustini model, 251
PSK, Videti: Phase shift keying
Pulsno biranje, 147
Purge okvir, 442
Push, 575
Put, 598
Putanja, Videti i: Route
dodatak (SONET), 194
sloi (SONET), 191
Receive not ready signal, 405
Receive ready signal, 404
recv (soket komanda), 622
Redirect poruka, 558
Referentne take R, S, T i U, 6
81-682
Refrakdja, 62
Regenerator (SONET), 189
Regionalni centar, 147
Regionalni centri Klase 1, 147
Reject polje, 405
Relativno kodiranje, 229, 253
Release complete poruka, 686,
719
Release poruka, 686, 719
Remote Monitoring, 608
Remotehelp komanda, 598
Repetitor, 58, 413, 465, 517
Request disconnecl funkdja, 406
Request for Comments
dokumenti, 599-600
Request to send signal, 161,449
Reserve poruka, 556
Resource Reservation Protocol,
555-557, 608
Response Indicator, 702
Resynchronize paket, 725
RFC, Videti: Request for
Comments dokumenti
Rijndaelov algoritam, 292-296,
342
RIM, Videti: Mod zahteva za
inicijalizaciju
RIP, Videti: Routing Information
Protocol
RNR, Videti: Receive not ready
signal
Roaming, 151,453
Root most, 475
Root port,476
Routed, 507
RR, Videti: Receive ready signal
RS-232 standard, Videti: EIA232
RSA algoritam, 302-305, 342
RSA izazov, 305
RTP, Videti: Real-Time Transfer
Protocol
RTP Control Protocol, 587
RTS, Videti: Request to send signal
Run-length kodrianje, 225-226,
244, 253
Ruta, 28. Videti i; Putanja
Ruter, 465,482, 504, 518,
546-549, 550
Samosinhronizujui kod,
100-101.
Videti i: Manester kod
Samrtni zagrljaj, 381, 515-517
Samrtni zagrljaj koji nastaje zbog
sastavljanja paketa, 515
Samrtni zagrljaj tipa
store-and-forward, 515
Sateliti
frekventni ospezi, 73-75
geostacionarni, 71-77
transponderi, 72
u niskoj orbiti, 77-81,93
Sateliti iz niske orbite, 77-81, 93
Satelitski prenos, 70-81, 85-86,
93. Videti i: Geostacionarni
sateliti; Sateliti u iskoj orbiti;
Teledesic
Satelitski radio, 48
S-box, 294
SDLC, Videli: Synchronous
Data Link Control
Secure Copy, 600, 610
Secure hash algoritam, 311, 319
Secure login, Videti: Secure Shell
Secure Shell, 593-596, 609
Secure Sockets Layer, 316.
Videti i: Transport Layer
Securitv; X.509 sertifikati
Securiiy Parameter Index, 564
Security zaglavlje, 564
Segment (TCP), 574-576
Sekcioni centar, 147
Sekundardna stanica, 400
Sekvenca ispaljivanja, 389
Selective reject polje, 405
send (soket komanda), 622
Serijski prenos, 153-154, 208
Serverski programi
CGI program (C jezik),
649-654
UNIX soketi, 627-630
Service-Specific
Connection-Oriented
Protocol, 725-726
Service-Specific Coordination
Function, 725
Servis, Vieti: Datagram, kvalitet
Set
asynchronous balanced mode
extended funkcija, 406
asynchronous response mode
funkcija, 406
initialization mode funkrija,
406
normal response mode
funkcija, 406
Setup poruka, 689, 718
Shift je podignut, 89
Shift je pritisnut, 89
Signal, Videti: Analogni;
Nosei; Digitalni;
Unutar opsega; Modulisani;
Izvan opsega; Periodini
brzina, 358, 378
element timing funkcija, 164
konstelacija, 122-125
uzemljenja, 164
Signaling system 7, 684-686
Signalizacija, 352, 706. Videti i:
Control-Q; Control-S; EIA232;
X.21
Signalizacija (ATM), 706
Signalizacija sloja mree, 684
Signalizacija sloja veze, 684
Signalizacija veze, 684
Signaliziranje izvan opsega, 683
Signaliziranje u opsegu, 353, 682
Signalni ATM adaplacioni sloj,
725
SIM, Videti: Set initialization mode
Simetrini DSL, 136
Simple Mail Transfer Protocol,
526,600-604, 610
Simple Network Management
Protocol, 527, 604-608, 610
Simplex prenos, 158, 208
Single-mode fiber, 65
Single-pair high-speed DSL, 137
Sinhrona
korisne informacije, 191-194
optika mrea, 188-194, 209
prenos, 156-157, 208
tipovi ureaja, 189-191
Sinhronizacija izmedu
medijuma, 587
Sintetiko deljenje, 263
Sistem distribucije, 450
Sistem rezervacije (token ring),
436
Sistem za naruivanje pice,
654-672
Skipjack algoritam, 297
Skript, 642. Videti i:
JavaScript; Perl skriptovi
Slabljenje, 58
Sloj aplikacija, 19,21-22, 24.
Videli i: Elektronska pota;
Protokol za transfer fajlova;
Secure shell; TELNET;
Virtuelni terminal;
World Wide Web
Sloj linije (SONET), 191
Sloj predstavljanja, 19, 21-22, 24.
Videti i: Kriptografija;
Kompresija podataka
Sloj sekcije (SONET), 191
Sloj sesije, 19, 21-22, 24, 36-38
Slotovani Aloha protokol,
197-199
SMTP, Videti: Simple Mail
Transfer Protocol
Smurf napad, 339
Rutiranje, 469-473, 487-512,
541-546. Videti i; Adaptivno
rutiranje; Algoritam
pretraivanja unazad;
Bellman-Fordov algoritam;
Border Gateway Protocol;
Mostovi; Emitovanje;
Rutiranje poziva;
Centralizovano rutiranje;
Zaguenje; Samrtni zagrljaj;
Dijkslrin algoritam;
Distribuirano rutiranje;
Plavljenje; Algoritam
pretraivanja unapred;
Hijerarhijsko ruliranje;
Intemet Protocol;
Na osnovu stanja linka;
Open shortest path first;
Rouling Information Protocol;
Ruteri; Algoritam najkraeg
puta; Spanning tree algoritam;
Statiko rutiranje;
Transparentni mostovi
direktorijum, 469
matrica, 490
Routing Information Protocol,
506-509, 513, 519
tabela, 469, 470, 472,
488-490, 694
zaglavlje, 563
Rutiranje ka vie odredita,
549-555. Videti i:
Distance Vector Multicast
Routing Protocol; Internet
Group Management Protocol
Rutiranje na osnovu stanja linka,
502-503,513,518
Rutiranje poziva, 147-148
Rutiranje preko mostova, 469
SNMP, Videli: Simple Nelwork
Management Protocol
sockaddrjn struktura, 620-621
Socket, 618, 672
socket komanda, 622
SOH, ViAeXi: Start of header polje
Soket komande, 621-623
Soket programiranje, 617-633
klijent-server model, 619-620
klijentski program, 624-627
komande, 621-623
serverski program, 627-633
strukture podataka, 620-621
Sonda, 608
SONET, ViAeXi: Sinhrona optika
mrea
Spanning tree, 475
Spanning tree algorilam, 475-479
Spoofing (lairanje), 594.
Videti i: Address spoofing
(lairanje adrese)
Sputnik, 71-73
Spyware, 340
SREJ, WiAeXi: Selective reject
poruka
SS7, ViAeIi: Signaling system 7
Standardi inlerfejsa,
Videti: DTE-DCE interfejs;
E1A232; X.21; X.25
Standardi za modeme, 125
Slandardi, organizacije, 16-18.
Videti i: ANSL EIA; IBM; JEC;
IEEE; IETF; ISO; ITU; NBS;
NIST; TIA
Standby Monitor Present (SMP)
okvir, 442
Stanica za odlaganje, 436
Stanje automata, 380
Start bit, 155
Start of frame delimiter, 413
Slarl of header polje, 409
Start of text karakler, 409
Startni delimiter, 434
Statiko rutiranje, 492, 518
Statistiki multiplekser, 183-185.
Videti i: Koncentrator
Status paket, 726
Step-index multimode fibcr,
63-64
Stop bit, 155
Stop-and-wait protokol,
356-358,391
Store-and-fonvard mrea, 26
Strategija povezivanja, 24-29
String upita, 651
Strob signal, 174
STX, Videti: Start of text karakter
Subsequent Address Message,
685
Supervizorski okvir, 404-405
Supresor eha, 133
Surfovanje (Web), 41
Surfovanje Webora, 41
SYN karakteri, 156,409
Synchronization source
idenlifikator, 588
Synchronous
Digital Hierarchy, 189
payload envelope, 192
Synchronous Data Link Control
(SDLC), 399
Tajmer starosti poruke, 479
Talasna duina, 66
Talasni vodi, 69
TCP, Videti: Transmission
Conlrol Protocol
TD, Videti: Transmit data
TDM, Videti: Multipleksiranje sa
podelom vremena
TEl, TE2 (ISDN), 681
Tehnologije sa komutacijom
kola, 677-727.
Videti i: Digitalna mrea sa
integrisanim servisima; X.25;
Frame relay; Asynchronous
Transfer Mode
Telecommunications Industiy
Association, 17
Teledesic, 79-81
Telefon, 146
Telefonski korisniki deo, 684
Telefonski sistem, 145-149.
Videti i: Mobilni telefon;
Komutacija kola; ISDN;
Lokalna centrala;
Lokalna petlja; PBX;
Primarni centar;
Regionalni centar;
Sekcioni centar; T-I;
ToIl centar
Telegraf, 2
Telekonferencije, 7
Telemetrija, 678
Telnet, 526, 590-593, 609
Telstar, 4
Teorija ekanja, 185
Teretni transfer (USB), 169
Terminal
adapler, 681
equipment 1, 681
equipment 2, 681
Terminatori, 411
ThickWire Ethernet, 415, 456
Thin Wire Ethernet, 415, 456
TIA, Videti: Telecommunications
Industry Association
Time exceeded poruka, 558
Time to Live polje, 538
Time-out prelazi, 388
Timestamp reply poruka, 558
Timestamp request poruka, 558
Tip servisa, 537
Tok, 562
Token, 12, 30, 206, 386, 397, 433
Token paket (USB), 170
T-I nosilac, 186-188, 209
Tabela prekida, 332
Tagovi (HTML), 637-640
amirov metod, 300
enonov rezultat, 110-112, 138
ifrovani tekst, 281
ifrovanje, 281-315.
Videti i: Advanced Encryption
Standard; Autentifikacija;
ifrovanje na nivou bitova;
Cezarova ifra; Clipper chip;
Data Encryption Standard;
Digitalni potpis;
Polialfabetsko ifrovanje;
ifrovanje javnim kljuem;
Rijndaelov algoritam;
RSA algoritam; amirov
metod; ifrovanje
razmetanjem; Diffie-Hellman
razmena kljua
ifrovanje javnim kljuem,
302-315. Videti i:
Autentifikacija; Digitalni
potpis; Pretty Good Privacy;
RSA algoritam
ifrovanje na nivou bitova,
285-286, 289, 342
ifrovanje razmetanjem,
284-285, 288, 342
iroki spektar, 445
irokopojasni ISDN, 690, 719
um, 110
um kvantizacije, 120
Token ring mrea, 12-13, 205,
207, 433-443, 457
format okvira, 434-435
kontrolni okviri, 441
odravanje prstena, 440-443
rezervisanje i prisvajanje
tokena, 436-440
ToIl centar, 147
Tonsko biranje, 147
Topologija magistrale, 10-11,
396. Videli i: Ethernet
Topologija prstena, 12-13, 396.
Vieti i: Token ring mrea
Topologija zajednike magistrale,
Videti: Topologija magislrale
Topologija zvezde, 11-12, 396
TPDU, Videti: leinice podataka
iransportnog protokola
Traceroute, 544-546, 585
Tracert, 545
Tradirionalni telefonski sistem,
131
Transmission Control Protocol,
524, 526, 573-584, 609
format segmenta, 574-576
kontrola toka, 580-582
kontrola zaguenja, 582-584
protokol za prekid konekcije,
579-580
trosmerno usaglaavanje, 578
upravljanje konekcijom,
577-579
Transmit data funkcija, 161
Transparentni mostovi, 471-475,
518. Videti i:
Spanning Iree algoritam
Transparentni podaci, 410
Transponder, 72
Transport Layer Security,
315-322, 344
Transportna konekcija, 34.
Videti i: Transportni protokoli
Transportni protokoli, 571-589,
609. Videti i: Real-Time
Transfer Protocol; Transmission
Control Protocol; User
Datagram Protocol
Transportni sistem magistrale, 547
Transportni sloj, 19, 21, 23-24,
33-35
Trap, 607
Trit, 422
Trodimenzionalno prikazi, 49
Trosmerno usaglaavanje, 578,
609
Uenje adrese, 471
Uenjerute, 471-473
Uestalost uspenosti, 199, 201
UDP, Videti: User Datagram
Protocol
UHF, Videti: Ultra-high frequency
Ulazna mesta, 386
Ultra-high frequency
(ultravisoka frekvencija), 66
Unakrsni komutator, 711
Unicast adresa, 549, 566
Unicode, 92
Unidirekcioni, 12
Uniform resource lokator, 636,
672
Univerzalna serijska magistrala,
166-172, 208.
Videti i; FireWire
kabl, 167
konekcija, 166
okvir, 168
paketi, 170
transfer podataka, 168
UNIX soketi, Videti: Soket
programiranje
Unnumbered acknowledgment
funkcija, 406
Unnumbered information
funkcija, 406
Unnumbered poll funkcija, 406
Uobliavanje mlaza, 75
Uplink (uzlazni link), 73
Uporini tagovi (HTML), 639
Upravljaki sloj, 712
Upravljaki stepen, 712-713
Upravljanje konekcijom, 35, 571
ATM, 717-720
dvosmerno usaglaavanje, 577
TCP, 577-580
trosmerno usaglaavanje,
578-580
Upredene parice, 57-59, 85-86
Upstream neighbor (prethodni
sused), 442
Urgent pointer polje, 576
Urgentni podaci, 576
URL, Videti: Uniform Resource
Locator
Usaelaavanie, 35, 571.
Trostruki DES, 291-292, 3
Tnmk, 148
Tunelovanje, 569
Videti i: Dvosmemo
usaglaavanje;
Trosmerno usaglaavanje
User
Datagram Protocol, 527,
584-585, 609
-to-user information poruka,
685
V.90 Standard, 125
VBScript, 634
Vektor inicijalizacije, 290
Vektor kretanja, 249
Vektor prekida, 332
Veliina prozora
go-back-n, 364-366,
selectivna retransmisija,
372-374
Vertical tab kontrolni karakter, 91
Very high data rate DSL, 137
Very high frequency (veoma
visoka frekvencija), 66
Very small aperture terminal,
76-77
VHF, Videti: Very high frequency
Vieportni repetitor, 416, 466
Viestruka greka, 273-274.
Videti i: Navalna greka
Video komunikadje, 6
Videokonferencija, 48
Virtuelni
broj virtuelnog poziva, 698
kolo, 28, 29, 683, 692-705,
716. Videti i; Frame relay,
X.25
LAN, 484-487, 518
poziv, 698-699
protokol virtuelnog terminala,
589-596. Videti i; Secure
Shell; Telnet
putanja (ATM), 709,716-717
struktura virtuelnog fajla, 596
terminal, 590
Virus, 329-336, 344.
Videti i: Napadi; Crv
inficiranje fajla, 330
izvori, 335-336
polimorfni, 334
razvoj, 333-335
rezidentan u memoriji, 332
Virus rezidentan u memoriji, 332
Visoka pouzdanost, 537
Visoka propusnost, 537
Viterbi kodiranje, 429
VLAN, Videti: Virtual LAN
Voice over IP, 527
Vremenska oznaka, 539, 587
VSAT, Videti: Very small aperture
lerminal
WAN, Videti: Mrea ireg
geografskog podruja
Warmstart trap, 607
Web stranka, 634
Web stranica, pristup, 634-636
WEP, Videti: Wired Equivalenl
Privacy
Wi-fi, Videti: Wireless fidelity
Wired Equivalent Privacy, 453
Wired Equivalent Privacy,
453-454
Wireless fidelity, 82, 454
Wireless LAN Standard,
443-455, 457
World Wide Web, 633-654.
Videti i: CGI; Perl skriptovi;
Soket programiranje
CIP - Kat al ogi zaci j a u publ i kaci j i
Narodna bi bl i ot eka Crbi j e, Beograd
004.7
e j , Vi l i jam A.
Savremene komunikacione tehnologije i
mree : stvarni svet / VVilliam A. Shay ;
[prevod Dijana Ivanievi]. - 1. izd. -
Beograd : Kompjuter biblioteka, 2004
(aak : Svetlost). - XXVI, 766 str. :
ilustr. ; 24 cm. - (Kompjuter biblioteka ;
knj. 292)
Prevod dela: Understanding Data
Communications and Networks. -
Renik: str. 731-747. - Registar.
ISBN86-7310-310-X
a) Raunarske mr ee
COBISS.SR-ID 117847564
X.21, 164-166
X.25 standard, 696-699, 727.
Videti i: Virtuelno kolo
format paketa, 697-698
virtuelni pozivi, 698-699
X.509 sertifikal, 317-319
XML (Extensible Markup
Language), 634
X-OFF, 353
X-ON, 353
X-raying, 334
aplikacija, 3
forme, 641-644, 650
Hypertext Markup Language
(HTML), 636-644
Hypertext Transfer Protocol
(HTTP), 634-636
JavaScript, 644-649
pretraivaka maina, 649-654
Universal Resource Locator
(URL), 636
WWW, Videti: World Wide Web
Zatiene upredene parice, 59
Zatitni omota, 164
Zatitni opsezi, 133, 182
Zatitno uzemljenje, 161
Zaglavlja proirenja (IPv6), 563
Zaglavlje fragmentacije, 563
Zaglavlje paketa, 537 (IP), 561
(IPv6)
Zaguenje, 512-515
Zaguenje (Frame relay),
703-705
Zaguenje (TCP), 582-584
Zahtev, Videti: Automatka
retransmisija; Konekcija;
Eho; Vremenska oznaka
Zahtev za konekciju, 577
Zalrovana ruta, 501
Zavrni delimiter, 434
Ziv-Lempel, Videti: Lempel-Ziv
kodiranje
Zone (DNS), 535
Zvezdane staze, 49

You might also like