Documente Academic
Documente Profesional
Documente Cultură
Retele de Calculatoare de Andrew S Tanenbaum. (Conspecte - MD)
Retele de Calculatoare de Andrew S Tanenbaum. (Conspecte - MD)
Ediia a treia
revizuit
Andrew S. Tanenbaum
Universitatea Vrijie
Amsterdam, Olanda
ACKRA
1998 Computer Press AGORA
http://www.agora.ro
Traducere:
Colectivul de coordonare:
prof. dr. ing. Valentin Cristea
prof. dr. ing. Irina Athanasiu
prof. dr. ing. Eugenia Kalisz
Colectivul de traductori:
prof. dr. ing. Nicolae Tpu
prof. dr. ing. Trandafir Moisa
ing. Vlad Vieru
prep. ing. Anca Bucur
as. ing. Gavril Godza
as. ing. Bogdan Costinescu
prep. ing. Bogdan Panghe
prep. ing. Florin Teodorescu
prep. ing. Andrei Rare
as. ing. Ion Bica
as. ing. Matei Rpeanu
prep. ing. Monica Dulgheru
prep. ing. Monica Pietroanu
ing. tefan Rusen
ing. Florentina Popovici
prep. ing. Mihaela ncu
ing. Liviu Ristoscu
Pregtire, design, producie:
Adrian Pop
Editat de Computer Press AGORA s.r.l., 1998
4300 Tg. Mure, Str. T. Vladimirescu 63/1, Tel: +40-(0)65-166516
Sub licen Prentice-Hall, Inc. dup:
Computer Networks, 3rd ed. eAndrew S. Tanenbaum
1996 by Prentice-Hall PTR, Prentice-Hall, Inc., A Simon & Schuster Company,
Upper Saddle River, New Jersey 07458
Tiprit n Romnia, la INFOPRESS SA,
4150 Odorheiul Secuiesc, Str. Victoriei 12, Tel: +40-(0)66-218283
ISBN:973-97706-3-0
Toate drepturile sunt rezervate. Nici o parte a acestei cri nu poate fi reprodus, ntr-o form sau printr-un mijloc oarecare,
fr permisiunea scris a editorului.
letan.
Reele de calculatoare
Ediia a treia
revizuit
CUPRINS
PREFAA
XV
1. INTRODUCERE
1.1 UTILIZRILE REELELOR DE CALCULATOARE 3
1.1.1
1.1.2
1.1.3
Aspecte sociale 6
Reele locale 8
1.2.2
Reele metropolitane 10
1.2.3
1.2.4
Reele radio 13
Ierarhiile de protocoale 16
1.3.2
1.3.3
Interfee i servicii 21
1.3.4
1.3.5
Primitive de serviciu 23
1.3.6
vi
CUPRINS
1.4.2
1.4.3
1.4.4
1.4.5
Novell NetWare 41
1.5.2
ARPANET-ul 43
1.5.3
NSFNET 46
1.5.4
Internet-ul 48
1.5.5
Prototipuri gigabit 50
1.6.2
Reele X.25 54
1.6.3
Retransmiterea cadrelor 55
1.6.4
1.6.5
1.7.2
1.7.3
2. NIVELUL FIZIC
2.1 BAZELE TEORETICE ALE COMUNICRII DE DATE 71
2.2
2.1.1
Analiza Fourier 71
2.1.2
2.1.2
MEDIUL DE TRANSMISIE 76
71
CUPRINS
2.2.1
Mediul Magnetic 76
2.2.2
Cablul Torsadat 76
2.2.3
2.2.4
2.2.5
Fibre optice 80
2.4
2.3.1
Spectrul electromagnetic 87
2.3.2
Transmisia radio 89
2.3.3
2.3.4
2.3.5
SISTEMUL TELEFONIC 93
2.4.1
2.4.2
2.4.3
Buclele locale 99
2.4.4
2.4.5
Comutarea 120
2.5.2
2.5.3
2.5.4
2.6.2
2.6.3
2.7.2
2.7.3
2.7.4
2.7.5
vii
viii
CUPRINS
2.8.1
2.8.2
2.8.3
163
3.1.2
ncadrarea 166
3.1.3
3.1.4
3.2.2
3.3.2
3.3.3
3.4.2
3.4.3
3.5.2
3.6.2
3.6.3
3.6.4
3.6.5
CUPRINS
ix
4.1.2
ALOHA228
4.2.2
4.2.3
4.2.4
4.2.5
4.2.6
4.2.7
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
4.4.2
4.4.3
4.4.4
4.4.5
FDDI295
4.5.2
4.5.3
4.5.4
225
CUPRINS
4.6 REELE DE SATELII 303
4.6.1
Interogare 304
4.6.2
ALOHA.305
4.6.3
FDM306
4.6.4
TDM 306
4.6.5
CDMA 308
5. NIVELUL REEA
5.1 CERINELE DE PROIECTARE ALE NIVELULUI REEA 315
5.1.1
5.1.2
5.1.3
5.2.2
5.2.3
Inundarea 325
5.2.4
5.2.5
5.2.6
5.2.7
5.2.8
5.2.9
5.2.10
5.3.2
5.3.5
5.3.6
Pachete de oc 359
5.3.7
5.3.8
5.3.9
315
CUPRINS
xi
5.4.2
5.4.3
5.4.4
5.4.5
5.4.6
Fragmentarea 377
5.4.7
Protocolul IP 383
5.5.2
Adrese IP 386
5.5.3
Subretele 387
5.5.4
5.5.5
5.5.6
5.5.7
5.5.8
IP mobil 400
5.5.9
5.5.10
IPv6 405
5.6.2
5.6.3
5.6.4
5.6.5
5.6.6
5.6.7
5.6.8
6. NIVELUL TRANSPORT
6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT 445
6.1.1
6.1.2
445
xii
CUPRINS
6.1.3
6.4.7
6.4.8
6.4.9
wsJiil.i'wiUi
VVj-ilg^OLlwi Iii
i ' v f T7O
6.5.1
CUPRINS
6.6.4
6.6.5
\ NIVELUL APLICAIE
7.1 SECURITATEA REELEI 537
7.1.1
7.1.2
7.1.3
7.1.4
7.1.5
7.1.6
7.1.7
537
xiv
CUPRINS
7.6.2
7.6.3
7.6.4
Java 654
7.6.5
Audio 669
7.7.2
Video 672
7.7.3
7.7.4
7.7.5
709
8.1.2
8.1.3
8.1.4
8.1.5
8.1.6
8.1.7
DICIONAR
737
INDEX
761
PREFAA
Aceast carte este acum la a treia ediie. Fiecare ediie a corespuns unei etape diferite n modul
de utilizare a reelelor de calculatoare. Cnd a aprut prima ediie, n 1980, reelele erau o
curiozitate academic. n 1988, cnd a aprut a doua ediie, reelele erau folosite de universiti i de
marile firme. Cnd a aprut a treia ediie n 1996, reelele de calculatoare, n special Intemet-ul
rspndit n ntreaga lume, au devenit o realitate zilnic pentru milioane de oameni.
Mai mult, echipamentele i programele de reea s-au schimbat complet de cnd a aprut a doua
ediie. n 1988, aproape toate reelele se bazau pe cablul de cupru. Acum, multe se bazeaz pe fibr
optic i comunicaie fr fir. Reelele particulare, cum este SNA, au devenit mult mai puin
importante dect reelele publice, n special Internet-ul. Protocoalele OS1 au disprut n tcere i
protocolul TCP/IP a devenit dominant. De fapt, opernd att de multe schimbri, cartea a fost
rescris aproape n ntregime.
Dei Cap. 1 are aceeai funcie introductiv pe care o avea i n ediia a doua, cuprinsul a fost
complet revzut i actualizat. De exemplu, n loc de a centra cartea pe modelul OSI cu apte
niveluri, se folosete un model hibrid cu cinci niveluri, introdus n Cap. 1. Dei acesta nu este identic
cu modelul TCP/IP, principial este mult mai apropiat de modelul TCP/IP dect de modelul OSI
folosit n ediia a doua. De asemenea, noile exemple funcionale folosite de la un capt la cellalt al
crii - Internet-ul i reelele ATM - sunt prezentate aici, mpreun cu unele reele gigabit i alte
reele rspndite.
xv
xvi
PREFA
n Cap. 2 accentul s-a mutat de la cablul de cupru la fibra optic i comunicaia fr fir,
acestea fiind tehnologiile viitorului. n decada care a trecut, sistemul telefonic a devenit
aproape n ntregime digital, astfel c o mare parte din materialul referitor la el a fost rescris,
cu adugarea unui material nou despre ISDN de band larg.
Ordinea discuiei despre nivelul legtur de date i subnivelul MAC a fost inversat,
deoarece experiena cu studenii a artat c ei neleg mai bine subnivelul MAC dup ce au
studiat nivelul legtur de date. Exemplele de protocoale prezentate acolo au fost pstrate,
deoarece s-au dovedit foarte populare, dar au fost rescrise n C. S-au adugat materiale noi
despre nivelul legtur de date la Internet i ATM.
Principiile subnivelului MAC din Cap. 4 au fost revizuite pentru a reflecta noile protocoale,
incluznd multiplexarea cu divizarea lungimii de und, LAN-uri fr fir i radioul digital. Discuiile
despre puni au fost revizuite i s-a adugat o parte nou despre LAN-uri de mare vitez.
Cei mai muli dintre algoritmii de dirijare din Cap. 5 au fost nlocuii cu unii mai moderni,
incluznd dirijarea dup vectorul distanelor i dirijarea dup starea legturilor. Seciunile
despre controlul congestiei au fost refcute complet i materialul despre exemplele practice,
Internet i ATM, este n ntregime nou.
Cap. 6 trateaz n continuare nivelul transport, dar i aici au avut loc schimbri importante,
n primul rnd adugarea unei mari cantiti de material nou despre Internet, ATM i
performanele reelei.
Cap. 7, despre nivelul aplicaie, este acum cel mai lung capitol din carte. Materialul despre
securitatea reelei i-a dublat lungimea i s-au adugat materiale noi despre DNS, SNMP,
e-mail, USENET, World Wide Web, HTML, Java, multimedia, video la cerere i Mbone.
Dintre cele 395 de figuri din a treia ediie, 276 (70 la sut) sunt complet noi, iar unele
dintre celelalte au fost revizuite. Dintre cele 370 de trimiteri la literatura de specialitate, 281
(76 la sut) sunt la cri i articole care au aprut dup publicarea ediiei a doua. Dintre
acestea, peste 100 sunt la lucrri publicate numai n 1995 i 1996. Prin urmare, probabil c 75
la sut din ntreaga carte este complet nou i pri din cele 25 de procente rmase au fost
revizuite n amnunt. Deoarece aceasta este efectiv o carte nou, coperta a fost redesena
pentru a se evita confuzia cu ediia a doua.
Crile despre calculatoare sunt pline de acronime. Cea de fa nu este o excepie.
Cnd vei termina de citit aceast carte, toate cele ce urmeaz ar trebui s sune familiar:
AAL, AMPS, ARP, ASN, ATM, BGP, CDMA, CDPD, CSMA, DQDB, DNS, FAQ, FDM,
FTP, FTTC, FTTH, GSM, HDLC, HEC, HIPP, IAB, ICMP, IDEA, IETF, IPv6, ISO,
ITU, LATA, MAC, MACA, MAN, MIB, MIME, NAP, NNTP, NSA, NSAP, OSI, OSPF,
PCM, PCN, PCS, PEM, PGP, PPP, PSTN, PTT, PVC, QAM, RARP, RFC, RSA, SABME,
SAP, SAR, SDH, SDLC, SHA, SMI, SNA, SNMP, SNRME, SPX, TCP, UDP, VHF, VLFS
VSAT, WARC, WDM, WWV i WWW. Dar nu v ngrijorai. Fiecare va fi definit cu grij
nainte de a fi utilizat.
PREFA
xvii
Pentru a ajuta instructorii n folosirea acestei cri ca text pentru curs, autorul a pregtit trei
materiale ajuttoare pentru predare:
Un manual cu soluiile problemelor.
Fiiere PostScript coninnd toate figurile (pentru producerea de transparente)
Un simulator (scris n C) pentru exemplele de protocoale din Cap. 3.
Manualul cu soluii este disponibil la Prentice Hali (dar numai pentru instructori).
Fiierul cu figuri i simulatorul sunt disponibile prin World Wide Web. Pentru a le obine, v rog
s v uitai la pagina personal a autorului: http:llwww.cs.vu.dhustj.
Cartea a fost editat* n Times Roman, folosind Troff, care, dup toi aceti ani, este nc singura
soluie posibil. Dei Troff nu este aa modern ca sistemele WYSIWYG, cititorul este invitat s
compare calitatea acestei cri cu alte cri produse de sisteme WYSIWYG. Singura concesie pe
care am fcut-o PC-urilor i editrii cu ajutorul calculatoarelor personale este c, pentru prima dat,
figurile au fost produse folosind Adobe Illustrator, n loc s fie desenate pe hrtie. De asemenea,
pentru prima dat, cartea a fost produs n ntregime electronic. Rezultatul PostScript de la Troff a
fost trimis prin Internet la tipografie unde s-a realizat filmul pentru producerea matrielor. Nici o
copie intermediar pe hrtie nu a fost tiprit i fotografiat, aa cum se face n mod normal.
Multe persoane m-au ajutat n timpul lucrului la a treia ediie. A dori n mod deosebit s-mi
exprim mulumirile ctre Chase Bailey, Saniya Ben Hassen, Nathaniel Borenstein, Ron Cocchi,
Dave Crocker, Wiebren de Jonge, Cari Ellison, M. Rasit Eskicioglu, John Evans, Mario Gerla, Mike
Goguen, Paul Green, Dick Grune, Wayne Hathaway, Franz Hauck, Jack Holtzman, Gerard
Holtzmann, Philip Homburg, Peter Honeyman, Raj Jain, Dave Johnson, Charie Kaufman, Vinary
Kumar, Jorg Liebeherr, Paul Mockapetris, Carol Orange, Craig Partridge, Charlie Perkins, Thomas
Powell, Greg Sharp, Arme Steegstra, George Swallow, Mark Taylor, Peter van der Linden, Hans van
Staveren, Maarten van Steen, Kees Verstoep, Stephen Walters, Michael Weintraub, Joseph Wilkes
i Stephen Wolff. Mulumiri speciale Radiei Perlman pentru multe sugestii utile. Studenii mei au
ajutat i ei n multe moduri. A dori s-i evideniez pe Martijn Bot, Wibert de Graaf, Flavio del
Porno i Amold de Wit pentru asistena acordat.
Editorul meu de la Prentice Hali, Mary Franz m-a aprovizionat cu mai multe materiale pentru
citit dect am consumat n cei 10 ani anteriori. Ea mi-a fost de asemenea de ajutor n numeroase alte
feluri, mici, medii, mari i colosale. Editorul meu de producie, Camille Trentacoste, m-a nvat
despre oameni de zpad, cldiri cu 8 etaje, fax [sic] i alte articole importante, n timp ce executa
servicii utile si se confrunta cu un Autor Nzuros si un orar ncrcat.
n sfrit, am ajuns la persoanele cele mai importante. Suzanne, Barbara, Marvin i chiar i micul
Bram au mai trecut prin aceast procedur nainte. Au suportat-o cu infinit rbdare i cu mare
amabilitate. Le mulumesc.
ANDREW S. TANENBAUM
INTRODUCERE
Fiecare din ultimele trei secole a fost dominat de o anumit tehnologie. Secolul al XVIII-lea a
fost secolul marilor sisteme mecanice care au nsoit Revoluia Industrial. Secolul al XlX-lea a
nsemnat era mainilor cu aburi. In secolul XX, tehnologia cheie este legat de colectarea,
prelucrarea i distribuirea informaiei. Printre alte realizri, am asistat la instalarea reelelor
telefonice mondiale, la invenia radioului i a televiziunii, la naterea i creterea nemaivzut a
industriei de calculatoare i la lansarea sateliilor de comunicaii.
Datorit progresului tehnologic rapid, aceste domenii converg n ritm alert, iar
diferenele ntre colectarea, transportul, stocarea i prelucrarea informaiei dispar pe zi
ce trece. Organizaii cu sute de birouri rspndite pe o arie geografic larg se ateapt
s poat examina n mod curent printr-o simpl apsare de buton chiar i echipamentele
lor cele mai ndeprtate. Pe msur ce posibilitile noastre de a colecta, prelucra i
distribui informaia cresc tot mai mult, cererea pentru o prelucrarea i mai sofisticat a
informaiei crete i mai rapid.
Dei industria de calculatoare este tnr n comparaie cu alte industrii (de exemplu,
construcia de automobile i transportul aerian), domeniul calculatoarelor a cunoscut un
progres spectaculos ntr-un timp scurt. In primele decenii de existen sistemele de calcul erau
foarte centralizate, de obicei n interiorul unei singure ncperi. Adesea, aceast ncpere avea
perei de sticl prin care vizitatorii se puteau holba la marea minune electronic dinuntru. O
companie de mrime mijlocie sau o universitate ar fi putut avea unul sau dou calculatoare, n
timp ce instituiile mari aveau cel mult cteva zeci. Ideea c n mai puin de 20 de ani
calculatoare la fel de puternice, mai mici dect un timbru potal, vor fi produse pe scar larg
n milioane de exemplare prea desprins dintr-un scenariu tiinifico-fantastic.
INTRODUCERE
CAP. 1
SEC. 1.1
Maina server
Procesu
1 1
Cerere
- Reea
Rspuns_____
INTRODUCERE
CAP. 1
personale, cte unul pentru fiecare utilizator, datele din reea fiind pstrate pe unul sau mai multe
servere de fiiere partajate. In acest model utilizatorii sunt numii clieni, iar ntregul aranjament
poart numele de model client-server. Acest model este ilustrat n Fig. 1-1.
n modelul client-server comunicarea ia, n general, forma unui mesaj de cerere prin care
clientul solicit serverului executarea unei anumite aciuni. Serverul execut cererea i trimite
rspunsul napoi clientului. n mod uzual exist un numr mare de clieni i un numr mic de
servere.
Un alt scop al conectrii n reele este scalabilitatea: posibilitatea ca, odat cu volumul de
munc, s creasc treptat i performana sistemului prin adugarea de noi procesoare. n cazul
sistemelor mari de calcul centralizate, atunci cnd sistemul este ncrcat el trebuie nlocuit cu un
sistem mai mare, operaie ce presupune de obicei costuri mari i multe neplceri pentru utilizatori,
n modelul client-server pot fi adugai clieni i servere noi pe msur ce este nevoie de ei.
n sfrit, punerea n funciune a unei reele de calculatoare servete i unui scop care nu
are de-a face aproape deloc cu tehnologia. O reea de calculatoare poate furniza un mediu de
comunicare puternic ntre angajai aflai la mare deprtare unii de alii. Folosind o reea, este
uor ca dou sau mai multe persoane care triesc n locuri diferite s scrie mpreun un
raport. Cnd un angajat schimb ceva ntr-un document din reea, ceilali pot vedea
schimbarea imediat, fr a mai atepta cteva zile o scrisoare n acest scop. Cooperarea ntre
grupuri de oameni aflai la distane mari unii fa de alii - un lucru imposibil nainte - devine
n acest fel simpl. Pe termen lung, utilizarea reelelor pentru a asigura comunicarea interuman se va dovedi, probabil, mai important dect scopuri tehnice de genul creterii
fiabilitii.
1.1.2 Reele pentru oameni
Motivaiile prezentate mai sus pentru construirea reelelor de calculatoare au o natur esenial
economic i tehnologic. Dac ar fi disponibile la preuri acceptabile sisteme de calcul suficient de
mari i de puternice, atunci majoritatea firmelor ar decide pur i simplu s i pstreze datele pe
acestea i s pun la dispoziia angajailor terminale conectate la ele. n anii 70 i la nceputul anilor
'80, cele mai multe companii lucrau n acest mod. Reelele de calculatoare au devenit populare abia
cnd reelele formate din calculatoare personale au oferit un uria avantaj pre/performan asupra
sistemelor mari de calcul.
n anii 1990, reelele de calculatoare au nceput s furnizeze servicii la domiciliu pentru
persoane particulare. Aceste servicii, ca i motivele pentru care sunt folosite, se deosebesc n mare
msur de modelul eficienei colective" descris n seciunea precedent. Vom scoate acum n
eviden trei dintre cele mai fascinante lucruri care au nceput s se petreac:
1. Accesul la informaie de la distan.
2. Comunicaiile interpersonale.
3. Divertismentul interactiv.
Accesul informaiei la distan va lua forme multiple. O aplicaie deja actual privete accesul la
instituii financiare. Muli oameni i pltesc electronic taxele i i administreaz electronic
conturile bancare i investiiile. A devenit de asemenea popular practica de a face cumprturi de
SEC. 1.1
la domiciliu, cu posibilitatea de a inspecta cataloagele on-line a mii de firme. Unele din aceste
cataloage vor permite curnd ca, printr-un simplu clic pe numele oricrui produs, s vizionm
imediat o prezentare video a produsului respectiv.
Presa va fi disponibil n direct i va fi personalizat. Va fi posibil s comunici unui ziar c te
intereseaz tot ce este legat de politicieni corupi, incendii, scandaluri n lumea celebritilor i
epidemii, n schimb fotbal - nu, mulumesc. Noaptea, n timp ce dormi, ziarul va fi adus pe discul
calculatorului tu sau va fi tiprit pe imprimanta ta laser. Pe o scar restrns acest serviciu exist
deja. Urmtorul pas dup ziare (plus reviste i publicaii tiinifice) este biblioteca digital n direct.
n funcie de costul, mrimea i greutatea calculatoarelor blocnotes, crile tiprite ar putea s
devin simboluri ale trecutului. Scepticii ar trebui s ia aminte la efectul pe care tiparul 1-a avut
asupra manuscriselor medievale.
O alt aplicaie din aceast categorie este accesul la sisteme de informaii similare actualului
World Wide Web. Web-ul conine informaii despre arte, afaceri, gtit, politic, sntate, istorie,
hobby-uri, recreere, tiin, sport, cltorii i multe alte domenii prea numeroase chiar i pentru a fi
doar menionate.
Toate aceste aplicaii presupun interaciuni ntre o persoan i o baz de date aflat la distan.
O a doua categorie larg de utilizri ale reelei se va referi la interaciunile ntre persoane - este
vorba n primul rnd de replica secolului XXI la telefonul din secolul al XlX-lea. Pota electronic,
sau e-mail-ul, este deja folosit frecvent de milioane de oameni i, n scurt timp, va conine n mod
A
curent, pe lng text, secvene audio i video. In schimb, va dura ceva mai mult pn cnd se va
pune la punct nglobarea mirosului n mesaje.
Pota electronic n timp real va permite utilizatorilor aflai la distan s comunice fr nici o
ntrziere, fiind posibil eventual chiar s se vad i s se aud unul pe cellalt. Aceast tehnologie
face posibile ntlnirile virtuale, numite videoconferine, ntre oameni care se gsesc n diferite
locuri pe glob. Se spune uneori c are loc o competiie ntre transport i comunicaii, iar
ctigtorul, indiferent cine va fi, va prelua i rolul jucat pn acum de ctre domeniul nvins,
ntlnirile virtuale ar putea fi folosite pentru educaie la distan, pentru a cere sfaturi medicale de
la specialiti aflai la deprtare i pentru alte numeroase aplicaii.
Grupurile de interese de pe tot globul, cu discuii privind orice subiect imaginabil, fac deja parte
din realitatea cotidian a unei anumite categorii de persoane, iar aceast categorie va crete pn la
dimensiunile ntregii omeniri. Discuiile, n care o persoan trimite un mesaj i toi ceilali abonai ai
grupului de interes pot s-1 citeasc, se deruleaz n toate stilurile posibile, putnd fi la fel de bine
extrem de amuzante sau de ptimae.
A treia categorie avut n vedere este divertismentul, care reprezint o industrie uria, n
continu cretere. n acest domeniu aplicaia de cel mai mare succes (cea care poate s influeneze
tot restul) se numete video la cerere. Este plauzibil ca peste vreo zece ani s putem selecta orice
film sau program de televiziune realizat vreodat n orice ar i acesta s fie disponibil pe ecranul
nostru imediat. Filmele noi ar putea deveni interactive: spectatorul ar fi ntrebat n anumite
momente ce continuare a povestirii alege (s-1 ucid MacBeth pe Duncan sau s atepte o ocazie
mai bun?), fiind prevzute scenarii alternative pentru toate cazurile. De asemenea, televiziunea n
direct s-ar putea desfura interactiv, cu telespectatori care particip la concursuri, care aleg
ctigtorul dintre concurenii preferai i aa mai departe.
Pe de alt parte, poate c nu sistemul de video la cerere, ci jocurile vor reprezenta aplicaia de
maxim succes. Exist deja jocuri pentru mai multe persoane cu simulare n timp real, de exemplu
INTRODUCERE
CAP. 1
v-ai ascunsea ntr-o nchisoare virtual sau simulatoare de zbor n care juctorii unei echipe
ncearc s-i doboare pe cei din echipa advers. Dac animaia este tridimensional, n timp real i
de calitate fotografic, atunci avem un fel de realitate virtual global i partajat.
Pe scurt, posibilitatea combinrii de informaii, comunicare i divertisment va da natere, cu
siguran, unei uriae industrii noi, bazat pe reelele de calculatoare.
1.1.3
Aspecte sociale
Introducerea pe scar larg a reelelor va ridica noi probleme sociale, etice i politice
(Laudon, 1995). Vom meniona pe scurt cteva dintre ele; un studiu exhaustiv ar necesita cel
puin o carte. O aplicaie popular a multor reele sunt grupurile de interese sau sistemele de
informare n reea (BBS-urile), unde oamenii pot schimba mesaje cu persoane avnd
preocupri similare. Atta vreme ct este vorba de subiecte tehnice sau de pasiuni precum
grdinritul, nu sunt motive s apar multe probleme.
Problemele se ivesc n cazul grupurilor de interese care iau n discuie subiecte delicate sau
extrem de disputate, cum ar fi politica, religia sau sexul. Atitudinile exprimate n cadrul acestor
grupuri pot fi considerate ofensatoare de ctre anumii oameni. Mai mult chiar, nu este obligatoriu
ca mesajele s se limiteze la text. Fotografii color de nalt rezoluie i chiar scurte clipuri video pot
fi acum transmise cu uurin prin reelele de calculatoare. Unii oameni au o atitudine neutr
(triete i las-m s triesc"), dar alii consider c trimiterea anumitor materiale (de exemplu,
pornografia n care sunt implicai copii) este pur i simplu inacceptabil. Din aceast cauz,
dezbaterea este foarte aprins.
Unii oameni au dat n judecat operatori de reea, pretinznd c ei sunt responsabili pentru
informaia care circul, exact ca n cazul ziarelor i revistelor. Rspunsul inevitabil este c reeaua e
ca o companie de telefoane sau ca un oficiu potal i nu poate controla ceea ce discut utilizatorii
si. Mai mult chiar, dac operatorii reelei ar cenzura mesajele, atunci probabil c ei ar putea terge
orice fr a exista nici cea mai mic posibilitate de a-i da n judecat, nclcnd astfel dreptul
utilizatorilor la exprimare liber. Nu este, probabil, hazardat s afirmm c aceast dezbatere va
continua mult timp.
O alt disput animat are n atenie drepturile angajailor n raport cu drepturile
patronilor. Multe persoane citesc i scriu pot electronic la serviciu. Directorii unor firme
au pretins c ar avea dreptul s citeasc i eventual s cenzureze mesajele angajailor, inclusiv
mesajele trimise dup orele de lucru de la terminalele de acas. Numai c nu toi angajaii
agreeaz aceast idee (Sipior i Ward, 1995).
Dar chiar admind c directorii au o astfel de putere asupra angajailor, exist o relaie similar
si ntre universiti si studeni? Dar ntre licee si elevi? n 1994 Universitatea Carneeie-Mellon a
hotrt s blocheze mesajele care veneau de la grupuri de interese legate de sex pe motivul c
materialele nu erau potrivite pentru minori (adic pentru cei civa studeni care nu aveau nc 18
ani). Disputa izvort din aceast decizie va dura ani ntregi.
Reelele de calculatoare ofer posibilitatea de a trimite mesaje anonime. In anumite situaii aa
ceva este de dorit. De exemplu, reprezint un mijloc pentru studeni, soldai, angajai, ceteni de a
trage un semnal de alarm - fr team de represalii - n cazul comportamentului ilegal al
profesorilor, ofierilor, directorilor sau politicienilor. Pe de alt parte, n Statele Unite i n
HARDWARE-UL REELEI
SEC. 1.2
majoritatea democraiilor, legea asigur n mod explicit dreptul unei persoane acuzate de a-i
chema acuzatorul n faa Curii. Acuzaiile anonime nu pot servi drept prob.
Pe scurt, reelele de calculatoare, asemenea industriei tipografice cu 500 de ani n urm, permit
cetenilor obinuii s-i lanseze opiniile prin mijloace diferite i ctre audiene diferite fa de cele
de pn acum. Aceast libertate nou descoperit aduce cu ea probleme nerezolvate de ordin social,
politic i moral. Soluia acestor probleme este lsat cititorului drept exerciiu.
1.2
HARDWARE-UL REELEI
Procesoare situate
n aceeai
Piac de circuite j
Sistem
Muiticalculator
10 m
Camer
100 m
Cldire
1 km
Campus
10 km
Ora
100 km
Tar
1,000 km
10,000 km
Exempu
Reea iocai
Reea metropolitan
Continent
Planet
intern et-ui
INTRODUCERE
CAP. 1
Sistemele cu difuzare permit n general i adresarea unui pachet ctre toate destinaiile, prin
folosirea unui cod special n cmpul de adres. Un pachet transmis cu acest cod este primit i
prelucrat de toate mainile din reea. Acest mod de operare se numete difuzare. Unele sisteme cu
difuzare suport de asemenea transmisia la un subset de maini, operaie cunoscut sub numele de
trimitere multipl. Una din schemele posibile este s se rezerve un bit pentru a indica trimiterea
multipl. Restul de n -1 bii de adres pot forma un numr de grup. O main se poate abona" la
orice grup sau la toate grupurile. Un pachet trimis unui anumit grup va ajunge la toate mainile
abonate la grupul respectiv.
Prin contrast, reelele punct-la-punct dispun de numeroase conexiuni ntre perechi de maini
individuale. Pentru a ajunge de la surs la destinaie pe o reea de acest tip, un pachet s-ar putea s
fie nevoit s treac prin una sau mai multe maini intermediare. Deseori sunt posibile trasee
multiple, de diferite lungimi, de aceea algoritmii de dirijare joac n reelele punct-la-punct un rol
important. Ca o regul general (dei exist numeroase excepii), reelele mai mici, localizate
geografic, tind s utilizeze difuzarea, n timp ce reelele mai mari sunt de obicei punct-la-punct.
Un criteriu alternativ pentru clasificarea reelelor este mrimea lor. n Fig. 1-2 este prezentat o
clasificare a sistemelor cu procesoare multiple dup mrimea lor fizic. Prima categorie o
reprezint mainile de tip flux de date, calculatoare cu grad ridicat de paralelism dispunnd de mai
multe uniti funcionale care lucreaz la acelai program. Urmeaz apoi multicalculatoarele,
sisteme care comunic transmind mesaje pe magistrale foarte scurte i foarte rapide. Dincolo de
multicalculatoare sunt adevratele reele, calculatoare care comunic prin schimbul de mesaje pe
cabluri mai lungi. Acestea pot fi mprite n reele locale, reele metropolitane i reele larg
rspndite geografic. n sfrit, prin conectoreajajdQu sau mai .multe. rejtele rezul_o inter-reea.
Internet-ul este un exemplu bine cunoscut de inter-reea. Distana este un criteriu de clasificare
important, pentru c, la scri diferite, sunt folosite tehnici diferite. n aceast carte ne vom ocupa
numai de reelele adevrate i de interconectarea lor. Prezentm mai jos o scurt introduce n
subiectul echipamentelor de reea.
1.2.1 Reele locale
Reelele locale (Local Area Networks), denumite n general LAN-uri, sunt reele private
localizate ntr-o singur cldire sau ntr-un campus de cel mult civa kilometri. Ele sunt frecvent
utilizate pentru a conecta calculatoarele personale i staiile de lucru din birourile companiilor i
fabricilor, n scopul de a partaja resurse (imprimante, de exemplu) i de a schimba informaii. LANurile se disting de alte tipuri de reele prin trei caracteristici: (1) mrime, (2) tehnologie de
transmisie i (3) topologie.
LAN-urile au dimensiuni restrnse, ceea ce nseamn c timpul de transmisie n cazul cel mai
defavorabil este limitat i cunoscut dinainte. Cunoscnd aceast limit, este posibil s utilizm
anumite tehnici de proiectare care altfel nu ar fi fost posibile. Totodat, se simplific administrarea
reelei.
LAN-urile utilizeaz frecvent o tehnologie de transmisie care const dintr-un singur cablu
la care sunt ataate toate mainile, aa cum erau odat cablurile telefonice comune n zonele
rurale. LAN-urile tradiionale funcioneaz la viteze cuprinse ntre 10 i 100 Mbps, au
ntrzieri mici (zeci de microsecunde) i produc erori foarte puine. LAN-urile mai noi pot
opera la viteze mai mari, pn la sute de megabii/sec. n aceast carte vom pstra tradiia i
HARDWARE-UL REELEI
SEC. 1.2
-Calcuiator
'Cablu
(a)
Calculator
(b)
INTRODUCERE
CAP. 1
transmit sau nu. S-ar putea crede c n acest fel se ajunge totdeauna la haos, dar lucrurile nu stau
aa. Vom studia mai trziu numeroi algoritmi proiectai s refac ordinea dintr-un potenial haos.
Cellalt tip de LAN-uri este construit cu linii punct-la-punct. Liniile individuale leag o main
specificat cu o alt main specificat. Un astfel de I A N reprezint o reea larg rspndit
geografic n miniatur. Vom vedea aceste reele ceva mai trziu.
1.2.2
Reele metropolitane
Magistrala A
Cecuaor -
Magistrala B
<
SEC. 1.2
HARDWARE-UL REELEI
11
Ruter
Gazd
12
INTRODUCERE
CAP.l
su iniial, drept care noi vom folosi acest termen, cu unele rezerve, n ambele sensuri. Din context,
va fi totdeauna clar care din ele este subneles.
n cazul celor mai multe WAN-uri, reeaua conine numeroase cabluri sau linii telefonice,
fiecare din ele legnd o pereche de rutere. Dac dou rutere nu mpart un acelai cablu, dar
doresc s comunice, atunci ele trebuie s fac acest lucru indirect, prin intermediul altor
rutere. Cnd un pachet este transmis de la un ruter la altul prin intermediul unuia sau mai
multor rutere, pachetul este primit n ntregime de fiecare ruter intermediar, este reinut
acolo pn cnd linia de ieire cerut devine liber i apoi este retransmis. O subreea care
funcioneaz pe acest principiu se numete subreea punct-ia-punct, subreea memoreaz-iretraesmite sau subreea cu comutare de pachete. Aproape toate reelele larg rspndite
geografic (excepie fcnd cele care utilizeaz satelii) au subretele memoreaz-i-retransmite.
Cnd pachetele sunt mici i au aceeai mrime, ele sunt adesea numite celule.
Atunci cnd se folosete o subreea punct-la-punct, o problem important de proiectare se
refer la alegerea topologiei de interconectare a ruterelor. Figura 1-6 prezint cteva topologii
posibile. Reelele locale proiectate astfel folosesc de obicei topologii simetrice. Din contr, reelele
larg rspndite geografic au, n mod tipic, topologii neregulate.
(b)
(c)
SEC 1.2
HARDWARE-UL REELEI
13
Uneori ruterele sunt conectate la o reea punct-la-punct i numai unele dintre ele au antene de
satelit. Reelele de satelii sunt n mod inerent reele cu difuzare i se utilizeaz mai ales atunci
cnd proprietatea de difuzare este important.
1.2.4 Reele radio
Calculatoarele mobile, aa cum sunt blocnotesurile sau asistenii personali digitali (PDA-urile),
reprezint segmentul din industria tehnicii de calcul cu dezvoltarea cea mai rapid. Muli posesori ai
acestor calculatoare au la birou sisteme legate la LAN-uri i WAN-uri i vor s se conecteze la
acestea, chiar i atunci cnd se afl n locuri deprtate de cas sau pe drum. Deoarece legturile
prin fir sunt imposibile n maini i avioane, interesul pentru reelele radio este foarte puternic. In
aceast seciune vom face o scurt introducere n acest subiect. (Not: prin seciune nelegem
poriunile din carte notate printr-un numr cu trei cifre, de genul 1.2.4)
Comunicaiile digitale fr fir nu reprezint, de fapt, o idee nou. nc din 1901, fizicianul
italian Guglielmo Marconi a realizat legtura ntre un vapor i un punct de pe coast folosind
telegraful fr fir i codul Morse (punctele i liniile sunt, n definitiv, binare). Sistemele radio
moderne au performane mai bune, dar ideea fundamental a rmas aceeai. Informaii
suplimentare despre aceste sisteme pot fi gsite n (Grag i Wilkes, 1996; i Pahlavan .a., 1995).
Reelele radio au numeroase utilizri. Biroul portabil reprezint una dintre ele. Oamenii aflai
pe drum doresc adesea s foloseasc echipamentele lor electronice portabile pentru a trimite i
primi faxuri i pot electronic, pentru a citi fiiere aflate la distan, pentru a se conecta la distan
si aa mai departe. i doresc s fac aa ceva din orice loc de pe uscat, ap sau aer.
Reelele radio sunt de mare importan pentru parcurile de camioane, taxiuri i autobuze, ca i
pentru echipele de intervenie care trebuie s menin contactul cu baza. Reelele radio pot fi de
asemenea utile pentru echipele de intervenie n locuri de dezastru (incendii, inundaii, cutremure
etc.) unde sistemul telefonic a fost distrus. Calculatoarele aduse la faa locului pot s trimit mesaje,
s nregistreze informaii i aa mai departe.
n sfrit, reelele radio sunt importante pentru armat. Dac trebuie s faci fa n cel mai scurt
timp unui rzboi care se poate desfura oriunde n lume, atunci probabil c nu este o idee bun s
te bazezi pe infrastructura de reele existent la faa locului. Este mai bine s-i aduci propria reea.
Fr fir
Nu
Nu
Da
Da
Mobif
Nu
Da
Nu
Da
Aplicaii
Staii de lucru staionare ntr-un birou
Folosirea unui calculator portabil ntr-un hotel sau pentru inspecia trenurilor
LAN-uri instalate n cldiri mai vechi, fr fire
Birouri mobile; PDA-uri pentru inventarierea magaziei
14
INTRODUCERE
CARI
Pe de alt parte, unele calculatoare fr fir nu sunt portabile. Un exemplu important de acest tip
se refer la o firm care posed o cldire mai veche, fr reele de cabluri instalate, i care dorete
s i conecteze calculatoarele. Instalarea unui LAN fr fir poate s nu necesite mare lucru, n
afar de cumprarea unei mici cutii cu componente electronice i de montarea unor antene.
Aceast soluie poate fi mai puin costisitoare dect instalarea cablurilor n cldire.
Dei LAN-urile fr fir sunt uor de instalat, ele au i unele dezavantaje. Capacitatea lor tipic
este de l-2Mbps, ceea ce este mult mai puin dect n cazul LAN-urilor cu fir. De asemenea, rata
de erori este adesea mai mare, iar transmisiile ntre diferite calculatoare pot interfera unele cu
altele.
Dar exist, desigur, i aplicaii cu adevrat mobile, fr fir, ncepnd cu biroul portabil i
terminnd cu persoanele care fac inventarul uriui magazin folosind PDA-uri. n multe aeroporturi
aglomerate, angajaii companiilor de nchiriat maini lucreaz n parcri cu calculatoare portabile
fr fir. Ei introduc n calculator numrul de nmatriculare al fiecrei maini returnate, iar
portabilele lor, care au nglobat o imprimant, apeleaz calculatorul central, primesc informaii
despre nchirierea respectivei maini i elibereaz factura de plat pe loc. Aplicaii autentice ale
tehnicii de calcul mobile sunt discutate mai pe larg n (Forman i Zahorjan, 1994).
Reelele fr fir exist n multe forme. Unele universiti instaleaz deja n campusuri antene
care permit studenilor s stea sub copaci i s consulte cataloagele bibliotecilor. n acest caz,
calculatoarele comunic cu LAN-urile fr fir direct n form digital. O alt posibilitate este
utilizarea unui telefon celular (adic portabil), mpreun cu un modem analogic tradiional. n
numeroase orae sunt acum disponibile serviciile celulare digitale directe, numite CDPD (Cellular
Digital Packet Data - pachete de date celulare digitale). Vom studia aceste servicii n Cap. 4.
Ruter zburtor
'v / '
T"^
^<
Calculator
r-M .. x * . t J::^\ ^\ portabil
O legtur telefonic
^ \ _ _ _ >
pentru fiecare calculator
(a)
'
L A N
i*"\ ^\
t__^.
\.
cablat
^ - ^ JS>
(b)
SEC. 1.3
PROGRAMELE DE REEA
15
Mult lume crede despre calculatoarele portabile fr fir c reprezint valul viitorului. Dar, n
acelai timp, s-a fcut auzit cel puin o prere contrar. Bob Metcalfe, inventatorul Ethernet-ului, a
scris urmtoarele: Calculatoarele mobile fr fir sunt ca bile mobile fr evi - nite olie de
noapte portabile. Ele vor fi ceva comun n vehicule, pe antiere i la concerte rock. Sfatul meu este
s v racordai cabluri n cas i s rmnei acolo" (Metcalfe, 1995). Vor urma cei mai muli sfatul
lui Metcalfe? Timpul ne va rspunde.
n lume exist multe reele, cu echipamente i programe diverse. Persoanele conectate la o
anumit reea doresc adesea s comunice cu persoane racordate la alta. Aceast cerin impune
conectarea unor reele diferite, de multe ori incompatibile, ceea ce uneori se realizeaz utiliznd
maini numite porii (gateways). Acestea realizeaz conectarea i asigur translatrile necesare, att
n termeni de hardware ct i de software. O colecie de reele interconectate este numit interreea sau internei
O form comun de inter-reea este o colecie de LAN-uri conectate printr-un WAN. De fapt,
dac am nlocui eticheta subreea" din Fig. 1-5 prin WAN", n figur nu ar mai trebui schimbat
nimic altceva. n acest caz, singura diferen real ntre o subreea i un WAN se refer la prezena
gazdelor. Dac sistemul din interiorul curbei nchise conine numai rutere, atunci este o subreea.
Dac el conine att rutere, ct i gazde cu utilizatori proprii, atunci este un WAN.
Pentru a evita confuziile, luai v rog not c termenul internet" va fi totdeauna folosit n
aceast carte ntr-un sens generic. Prin contrast, Internet-ul (a se remarca folosirea lui I mare)
reprezint un internet mondial specific, care este utilizat pe larg pentru a conecta universiti,
birouri guvernamentale, firme i, n ultima vreme, persoane particulare. Vom avea multe de spus n
aceast carte att despre internet ct i despre Internet.
Deseori se produc confuzii ntre subretele, reele i inter-reele. Termenul de subreea este mai
potrivit n contextul unei reele larg rspndite geografic, unde se refer la colecia de rutere i linii
de comunicaie aflate n proprietatea operatorului de reea - de exemplu, o firm ca America
Online sau CompuServe. Ca o analogie, sistemul telefonic const din centrale telefonice de
comutare, care sunt conectate ntre ele prin linii de mare vitez i sunt legate la domicilii i birouri
prin linii de vitez sczut. Aceste linii i echipamente, deinute i ntreinute de ctre compania
telefonic, formeaz subreeaua sistemului telefonic. Telefoanele propriu-zise (care corespund n
aceast analogie gazdelor) nu sunt o parte a subreelei. Combinaia dintre o subreea i gazdele sale
formeaz o reea. n cazul unui LAN, reeaua este format din cablu i gazde. Aici nu exist cu
adevrat o subreea.
O inter-reea se formeaz atunci cnd se leag ntre ele reele diferite. Din punctul nostru de
vedere, legarea1 unui LAN i a unui WAN sau legarea a dou LAN-uri formeaz o inter-reea, dar
nu exist un consens asupra terminologiei din acest domeniu.
13
PROGRAMELE DE REEA
INTRODUCERE
16
CAP.l
Pentru a reduce din complexitatea proiectrii, majoritatea reelelor sunt organizate sub forma
unei serii de straturi sau niveluri, fiecare din ele construit peste cel de dedesubt. Numrul de
niveluri, numele fiecrui nivel, coninutul i funcia sa variaz de la reea la reea. Oricum, n toate
reelele, scopul fiecrui nivel este s ofere anumite servicii nivelurilor superioare, protejndu-le
totodat de detaliile privitoare la implementarea efectiv a serviciilor oferite.
Nivelul n d e pe o main converseaz cu nivelul n de pe alt main. Regulile i conveniile
utilizate n conversaie sunt cunoscute sub numele de protocolul nivelului n. n principal, un
protocol reprezint o nelegere ntre prile care comunic, asupra modului de realizare a
comunicrii. Ca o analogie, atunci cnd o femeie este prezentat unui brbat, ea poate hotr s-i
ntind brbatului mna. La rndul su, brbatul poate decide fie s-i strng, fie s-i srute mna,
decizie care depinde, s spunem, dac femeia este o avocat american care a venit la o ntlnire de
afaceri sau este o prines european prezent la un bal. nclcarea protocolului va face
comunicarea mai dificil, dac nu chiar imposibil.
n Fig. 1-9 este ilustrat o reea cu cinci niveluri. Entitile care conin niveluri corespunztoare
de pe maini diferite se numesc egale. Cu alte cuvinte, entitile egale sunt cele care comunic
folosind protocolul.
Gazda 1
Nivel 5
Gazda 2
Protocolul nivelului 5
Nivel 5
L
Interfaa 4/5;
Nivel 4
Protocolul nivelului 4
Nivel 4
Interfaa 3/4'
Nivel 3
L
f
Protocolul nivelului 3
- Nivel 3
Protocolul nivelului 2
Interfaa 1/2'
Nivel 1
Nivel 2
ti
Protocolul nivelului 1
Nivel 1
i
1
Mediu fizic
SEC. 1.3
PROGRAMELE DE REEA
17
comunicarea efectiv. n Fig. 1-9, comunicarea virtual este reprezentat prin linii punctate, iar
comunicarea fizic prin linii continue.
ntre dou niveluri adiacente exist o interfa. Interfaa definete ce
ofer nivelul de jos ctre nivelul de sus. Cnd proiectanii de reea decid cte niveluri s includ
ntr-o reea i ce are de fcut fiecare din ele, unul din considerentele cele mai importante se refer
la definirea de interfee clare ntre niveluri.
Aceasta presupune ca, la rndul su, fiecare nivel s execute o colecie specific de funcii clar
definite. Pe lng minimizarea volumului de informaii care trebuie transferate ntre niveluri,
interfeele clare permit totodat o mai simpl nlocuire a implementrii unui nivel cu o
implementare complet diferit (de exemplu, toate liniile telefonice se nlocuiesc prin canale de
satelit). Aa ceva este posibil, pentru c tot ceea ce i se cere noii implementri este s furnizeze
nivelului superior exact setul de servicii pe care ii oferea vechea implementare.
O mulime de niveluri i protocoale este numit arhitectur de reea. Specificaia unei
arhitecturi trebuie s conin destule informaii pentru a permite unui proiectant s scrie
programele sau s construiasc echipamentele necesare fiecrui nivel, astfel nct nivelurile s
ndeplineasc corect protocoalele corespunztoare. Nici detaliile de implementare i nici
specificaiile interfeelor nu fac parte din arhitectur, deoarece acestea sunt ascunse n interiorul
mainilor i nu sunt vizibile din afar. Nu este necesar nici mcar ca interfeele de pe mainile dintro reea s fie aceleai - cu condiia, ns, ca fiecare main s poat utiliza corect toate protocoalele.
O list de protocoale utilizate de ctre un anumit sistem, cte un protocol pentru fiecare nivel, se
numete stiv de protocoale. Arhitecturiie de reea, stivele de protocoale i protocoalele propriuzise constituie principalele subiecte ale acestei cri.
O analogie poate ajuta la explicarea ideii de comunicare multinivel. maginai-v doi filosofi
(procesele egale de la nivelul 3), unul din ei vorbind limbile urdu i englez, iar cellalt vorbind
chineza i franceza. Deoarece filosofii nu cunosc o limb comun, fiecare din ei angajeaz cte un
translator (procesele egale de la nivelul 2), iar fiecare translator contacteaz la rndul su o
secretar (procesele egale de la nivelul 1). Filosoful 1 dorete s comunice partenerului afeciunea
sa pentru oiyctolagus cuniculus. Pentru aceasta, el trimite un mesaj (n englez) prin interfaa 2/3
ctre translatorul su, cruia i spune urmtoarele cuvinte: I like rabbits"1 (ceea ce este ilustrat n
Fig. 1-10). Translatorii s-au neles asupra unei limbi neutre, olandeza, aa c mesajul este convertit
n Ik hou van konijnen." Alegerea limbii reprezint protocolul nivelului 2 i este la latitudinea
proceselor pereche de pe acest nivel.
n continuare, translatorul nmneaz mesajul secretarei, care l trimite, de exemplu, prin fax
(protocolul nivelului 1). Cnd mesajul este primit, el este tradus n francez i trimis prin interfaa
2/3 ctre filosoful 2. Observai c, atta timp ct interfeele nu se modific, fiecare protocol este
complet independent de celelalte. Dac doresc, translatorii pot schimba olandeza cu alt limb, s
spunem finlandeza, cu condiia ca amndoi s se neleag asupra acestui lucru i ca nici unul din ei
s nu i modifice interfaa cu nivelul 1 sau cu nivelul 3. n mod similar, secretarele pot nlocui faxul
cu pota electronic sau cu telefonul fr a deranja (sau mcar a informa) celelalte niveluri. Fiecare
proces poate aduga anumite informaii suplimentare destinate numai procesului su pereche.
Aceste informaii nu sunt transmise n sus, ctre nivelul superior.
INTRODUCERE
18
CAP. 1
Adresa A
Adresa B
Mesaj
Filozof
Informaie pentru
transiatorui
Translator
aflat ia distant
Informaie pentru
secretara
afiat !a distan
! J'aime ' \
\ las | |
! aoip.s I i
L: Dutch; j
!k hou | j
van
||
konijnerj |
I Fax #
!_L_Ditch
Secretara -
'"hoiT~
^onijner! i
retara.
S considerm acum un exemplu mai tehnic: cum se realizeaz comunicarea ia ultimul, nivel din
reeaua cu cinci niveluri din Fig. 1-11. O aplicaie care se execut n nivelul 5 produce un mesaj M si
l furnizeaz nivelului 4 pentru a-i transmite. Nivelul 4 insereaz im antei n iaa mesajului, pentru a
identifica respectivul mesaj i paseaz rezultatul nivelului 3. Antetul include informaii de control,
de exemplu numere de ordine care ajut nivelul 4 de pe maina destinaie s livreze mesajele n
ordinea corect n cazul n care nivelurile inferioare nu pstreaz aceast ordine. Pe unele niveluri,
antetele conin de asemenea cmpuri de control pentru mrime, timp i alte informaii.
In numeroase reele nu exist nici o limit cu privire la mrimea mesajelor transmise n
protocolul nivelului 4, dar exist aproape ntotdeauna o limit impus de protocolul nivelului 3. n
consecin, nivelul 3 trebuie s sparg mesajele primite n uniti mai mici, pachete, atand fiecrui
pachet un antet specific nivelului 3. n acest exemplu, M este descompus n dou pri, Mi i M->.
Nivelul 3 decide ce linie de transmisie s utilizeze i trimite pachetele nivelului 2. Nivelul 2
adaug nu numai cte un antet pentru fiecare bucat, ci i o ncheiere, dup care furnizeaz
unitatea rezultant nivelului 1 pentru a o transmite fizic. n maina receptoare mesajul este trimis n
sus, din nivel n nivel, pe parcurs fiind eliminate succesiv toate antetele. Nici un antet corespunztor
nivelurilor sub n nu este transmis n sus nivelului n.
PROGRAMELE DE REEA
SEC. 1.3
Nivel
Protocolul nivelului 5
19
Protocolul nivelului 4
Protocolul
3
H, M,
H3 H,
2 H2 H3
H, H, M,
Main surs
H3 M2
H3 H.
Protocolul
nivelului 2
H2 H3 H4 M, T2
H2 H3 M 2 T2
Main destinaie
20
INTRODUCERE
CAP. 1
procese, este necesar o modalitate prin care un proces de pe o anumit main s specifice cu cine
dorete s comunice. Ca o consecin a destinaiilor multiple, pentru a specifica una dintre ele, este
necesar o form de adresare.
Un alt set de decizii de proiectare se refer la regulile pentru transferul de date. n unele sisteme
datele circul ntr-un singur sens (comunicare simplex). n altele datele pot circula n orice sens, dar
nu simultan (comunicare semi-duplex). n sfrit, n alte sisteme datele circul n ambele sensuri
simultan (comunicare duplex integral). Protocolul trebuie, de asemenea, s determine^ cjorcanale
logice le corespunde conexiunea i care sunt prioritile acestora. Multe reele dispun de cel puin
dou canale logice pe conexiune, unul pentru date normale i unul pentru date urgente.
Deoarece circuitele fizice de comunicaii nu sunt perfecte, controlul erorilor este o
problem important. Se cunosc multe coduri detectoare i corectoare de erori, dar ambele
capete ale conexiunii trebuie s se neleag asupra codului utilizat. n plus, receptorul trebuie
s aib cum s-i spun emitorului care mesaje au fost primite corect i care nu.
Nu toate canalele de comunicaii pstreaz ordinea mesajelor trimise. Pentru a putea trata o
eventual pierdere a secvenierii, protocolul trebuie s furnizeze explicit receptorului informaia
necesar pentru a putea reconstitui ordinea corect a fragmentelor. O soluie evident este s se
numeroteze fragmentele, dar aceast soluie nc nu rezolv problema fragmentelor care sosesc n
ordine incorect.
O problem ce intervine la fiecare nivel se refer la evitarea situaiei n care un emitor
rapid trimite unui receptor lent date la vitez prea mare. Au fost propuse diverse rezolvri i
ele vor fi discutate mai trziu. Unele dintre acestea presupun o anumit reacie, direct sau
indirect, prin care receptorul l informeaz pe emitor despre starea sa curent. Altele
limiteaz viteza de transmisie a emitorului la o valoare stabilit de comun acord cu
receptorul.
O alt problem care apare la cteva niveluri privete incapacitatea tuturor proceselor de a
accepta mesaje de lungime arbitrar. Acest fapt conduce la mecanisme pentru a dezasambla, a
transmite i apoi a reasambla mesajele. O problem asemntoare apare atunci cnd procesele
insist s transmit datele n uniti att de mici, nct transmiterea lor separat este ineficient. n
aceast situaie, soluia este s se asambleze mpreun mai multe mesaje mici destinate aceluiai
receptor i s se dezasambleze la destinaie mesajul mare obinut astfel.
Atunci cnd este neconvenabil sau prea costisitor s se aloce conexiuni separate pentru fiecare
pereche de procese comunicante, nivelul implicat n comunicare poate hotr s utilizeze aceeai
conexiune pentru mai multe conversaii independente. Atta timp ct aceast mutiplexare i
demultiplexare se realizeaz transparent, ea poate fi utilizat de ctre orice nivel. Multiplexarea este
necesar, de exemplu, n nivelul fizic, unde traficul pentru toate conexiunile trebuie s fie transmis
prin cel mult cteva circuite fizice.
Atunci cnd exist mai multe ci ntre surs i destinaie, trebuie ales un anumit drum.
Uneori aceast decizie trebuie mprit pe dou sau mai multe niveluri. De exemplu, este
posibil ca trimiterea unor date de la Londra la Roma s necesite att o decizie la nivel nalt
pentru alegerea ca ar de tranzit a Franei sau a Germaniei - n funcie de legile lor de
protejare a secretului datelor - ct i o decizie de nivel sczut pentru alegerea unuia din
multele trasee posibile, pe baza traficului curent.
PROGRAMELE DE REEA
SEC. 1.3
21
Nivel N+1
Interfa
Nivel N
Antet
Entitile de pe nivelul N
fac schimb de N-PDU-uri
*- n protocolul nivelului N
N-PDU "
22
INTRODUCERE
CAP. 1
Nivelurile pot oferi nivelurilor de deasupra lor dou tipuri de servicii: orientate pe cojiexiuni i
fr conexiuni. n aceast seciune vom arunca o privire asupra acestor dou tipuri i vom examina
diferenele ntre ele.
Serviciul orientat pe conexiuni este modelat pe baza sistemului telefonic. Cnd vrei s vorbeti
cu cineva, mai nti ridici receptorul, apoi formezi numrul, vorbeti i nchizi. Similar, pentru a
utiliza un serviciu orientat pe conexiuni, beneficiarul trebuie mai nti s stabileasc o conexiune, s
foloseasc acea conexiune i apoi s o elibereze. In esen conexiunea funcioneaz ca o eava:
emitorul introduce obiectele (biii) la un capt, iar receptorul le scoate afar, n aceeai ordine, la
cellalt capt.
Prin opoziie, serviciul fr conexiuni este modelat pe baza sistemului potal. Toate mesajele
(scrisorile) conin adresele complete de destinaie i fiecare mesaj circul n sistem independent de
celelalte. n mod normal, atunci cnd dou mesaje sunt trimise Ia aceeai destinaie, primul expediat
este primul care ajunge. Totui, este posibil ca cel care a fost expediat primul s ntrzie i s ajung
mai repede al doilea. n cazul unui serviciu orientat pe conexiuni, aa ceva este imposibil.
Fiecare serviciu poate fi caracterizat printr-o calitate a serviciului. Unele servicii sunt sigure n
sensul c nu pierd date niciodat. De obicei, un serviciu sigur se implementeaz oblignd receptorul
s confirme primirea fiecrui mesaj, astfel nct expeditorul s fie sigur c mesajul a ajuns la
destinaie. Procesul de confirmare introduce un timp suplimentar i ntrzieri. Aceste dezavantaje
sunt adesea acceptate, ns uneori ele trebuie evitate.
Transferul de fiiere este una din situaiile tipice n care este adecvat un serviciu sigur orientat pe
conexiuni. Proprietarul fiierului dorete s fie sigur c toi biii ajung corect i n aceeai ordine n
care au fost trimii. Foarte puini utilizatori ai transferului de fiiere ar prefera un serviciu care
uneori amestec sau pierde civa bii, chiar dac acest serviciu ar fi mult mai rapid.
Serviciul sigur orientat pe conexiuni admite dou variante: secvenele de mesaje i fluxurile de
octei. Prima variant menine delimitarea ntre mesaje. Cnd sunt trimise dou mesaje de 1 KB,
ele vor sosi sub forma a dou mesaje distincte de 1 KB, niciodat ca un singur mesaj de 2 KB.
(Not: KB nseamn kilobytes; Kb nseamn kilobits.) n a doua variant, conexiunea este un
simplu flux de octei i nu exist delimitri ntre mesaje. Cnd receptorul primete 2 KB, nu exist
nici o modalitate de a spune dac ei au fost trimii sub forma unui mesaj de 2 KB, a dou mesaje de
1 KB sau a 2048 mesaje de cte 1 octet. Dac paginile unei cri sunt expediate unei maini
fotografice de tiprit printr-o reea, sub form de mesaje, atunci delimitarea mesajelor poate fi
important. Pe de alt parte, n cazul unui terminal care se conecteaz la un sistem cu divizarea
timpului aflat la distan, este nevoie numai de un flux de octei de la terminal la calculator.
Aa cum am menionat mai sus, ntrzierile introduse de confirmri sunt inacceptabile pentru
unele aplicaii. O astfel de aplicaie se refer la traficul de voce digitizat. Pentru abonaii telefonici
este preferabil s existe puin zgomot pe linie sau s aud ocazional cte un cuvnt distorsionat
dect s se produc o ntrziere din cauza ateptrii confirmrii. n mod similar, atunci cnd se
PROGRAMELE DE REEA
SEC. 1.3
23
transmite un film video, civa pixeli diferii nu reprezint o problem, n schimb ntreruperile
pentru a corecta erorile ar fi extrem de suprtoare.
Nu orice aplicaie necesitjconexiuni. De exemplu, pe msur ce pota electronic devine ceva
tot mai comun, poate s nu apar n curnd publicitatea prin pot electronic? Expeditorul de
publicitate prin pot electronic probabil c nu vrea s se complice stabilind i apoi elibernd o
conexiune doar pentru un singur mesaj. Nici furnizarea la destinaie cu o rat de corectitudine de
100% nu este esenial, mai ales dac lucrul acesta cost mai mult. Tot ceea ce se cere este un
mijloc de a trimite un singur mesaj cu o probabilitate mare de a ajunge la destinaie, dar fr o
garanie n acest sens. ^Serviciul nesiguri (adic neconfirmat) Sra^conexiuni este deseori numit
serviciu datagram, prin analogie cu serviciul de telegrame - care, la rndul su, nu prevede
trimiterea unei confirmri ctre expeditor.
n alte situaii, avantajul de a nu fi necesar sabilirga unejj^nexiuni pentru a trimite un mesaj
scurt este de dorit, d^r_gma^i^s^]^^i]d}^^^^jiR]. Aceste aplicaii pot utiliza serviciul
datagram confirmat. Este ca i cum ai trimite o scrisoare recomandat i ai solicita o confirmare
de primire. n clipa n care sosete confirmarea, expeditorul este absolut sigur c scrisoarea a fost
livrat la destinaia corect i nu a fost pierdut pe drum.
Mai exist un serviciu, i anume serviciul cerere-rspuns. n acest serviciu emitorul
transmitea singur datagram care conine o cerere; replica primit de la receptor conine
rspunsul. n aceast categorie intr, de exemplu, un mesaj ctre biblioteca local n care se
ntreab unde este vorbit limba Uighur. Serviciu][^ cerere-rspuns^este utilizat n mod frecvent
pentru a implementa comunicarea n modeluLxlient-server: clientul lanseaz o cerere i
serverul rspunde la ea. n Figura 1-13 sunt rezumate tipurile de servicii discutate mai sus.
Serviciu
_
i !
Flux de mesaje siguri
Orientate pe j [______
!
i-iux de octei sigur
conexiuni
Conexiune nesigur c
C Datagram nesigur
Exemplu
Secven de pagini
Conectare la distan
Voce digitizat
Publicitate prin e-mail
Fr J | ;i Datagram confirmat.. -o
Scrisori cu confirmare
Cerere-rspuns
conexiuni ] '
V, L
24
INTRODUCERE
Primitiva
Request
Indication
Response
Confirm
CAP. 1
Semnificaia
PROGRAMELE DE REEA
SEC. 1.3
5.
6.
7.
8.
25
n acest exemplu CONNECT este un serviciu confirmat (este solicitat un rspuns explicit), n
timp ce DISCONNECT este neconfirmat (fr rspuns).
Pentru a vedea cum sunt folosite aceste primitive ar putea fi util o analogie cu sistemul
telefonic. S considerm paii necesari pentru a-i telefona mtuii Millie i a o invita la un ceai.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Figura 1-15 arat aceeai secven de pai sub forma unei serii de servicii primitive, incluznd
confimarea final a ntreruperii legturii. Fiecare pas implic o interaciune ntre dou niveluri de
pe unul din calculatoare. Fiecare request sau response determin puin mai trziu un indication sau
confiim la cellat capt. n acest exemplu, utilizatorii serviciilor (tu i mtua Millie) se afl pe
nivelul N + 1, iar furnizorul de servicii (sistemul telefonic) se afl pe nivelul N.
Nivel N + 1
Nivel N
4
4
X
6
Nivel N + 1
Nivel N
3
\V
\
7
5
Calculator 1
10
4
8
Timp-
Calculator 2
Fig. 1-15. Cum ar invita-o un calculator pe mtua Millie la ceai. Numerele de la coada
fiecrei sgei se refer la cele opt primitive de serviciu discutate n aceast seciune.
1.3.6
Dei sunt adesea confundate, serviciile i protocoalele reprezint concepte distincte. Diferena
ntre ele este att de important, nct o subliniem din nou n aceast seciune. Un serviciu este un
set de primitive (operaii) pe care un nivel le furnizeaz nivelului de deasupra sa. Serviciul definete
26
INTRODUCERE
CAPI
ce operaii este pregtit nivelul s ndeplineasc p e n t o utilizatorii si, dar nu spune nimic despre
aceste operaii. Un serviciu este definit n contextul unei interfee ntre
dou niveluri, nivelul inferior fiind, furnizorul serviciului i nivelul superior fiind utilizatorul
serviciului.
, ...
Prin contrast, unprotocol este un set de reguli care guverneaz jbrmatul i semnificaia_cadrelor,
pachetelor sau mesajelor schimbate ntre.ele de entitile r^rcche_dintr-]^mvel. Entitile folosesc
protocoale pentru a implementa definiiile serviciului lor. Ele sunt libere s i schimbe protocoalele
dup cum doresc, cu condiia s nu modifice serviciul pe care l vd utilizatorii. n acest fel, serviciul
i protocolul sunt complet decuplate.
Merit s facem o analogie cu limbajele de programare. Un serviciu este ca un tip de date
abstracte sau ca un obiect ntr-un limbaj orientat pe obiecte. Acesta definete operaiile care pot fi
aplicate pe un obiect, dar nu specific modul de implementare a operaiilor. Un protocobse refer
la implementarea serviciului i nu_este vizibil pentnijujlizaliaiiLsjejyicM
Multe protocoale mai vechi nu distingeau serviciul de protocol. Ca urmare, un nivel tipic putea
avea o primitiv de serviciu SEND PACKET n care utilizatorul furniza o referin ctre un pachet
complet asamblat. Acest aranjament nsemna c toate modificrile protocolului erau imediat vizibile
pentru utilizatori. Majoritatea proiectanilor de reele privesc acum un astfel de mecanism ca pe o
eroare grav.
1.4
MODELE DE REFERIN
Acum, dup ce am discutat la modul abstract structura pe niveluri a reelelor, a sosit timpul s
studiem cteva exemple. n urmtoarele dou seciuni vom discuta dou arhitecturi de reea
importante, modelul de referin OSI i modelul de referin TCP/IP.
1.4.1
Modelul OSI este prezentat n Fig. 1-16 (mai puin mediul fizic). Acest model se bazeaz pe o
propunere dezvoltat de ctre Organizaia Internaional de Standardizare (International
Standards Organization - OSI) ca un prim pas ctre standardizarea internaiona a protocoalelor
folosite pe diferite niveluri (Day i Zimmermann, 1983). Modelul se numete ISO OSI (Open
Systems Interconnection - Interconectarea sistemelor deschise), pentru c el se ocup de
conectarea sistemelor deschise - adic de sisteme deschise comunicrii cu alte sisteme. n
continuare vom folosi mai ales termenul prescurtat de model OSI.
Modelul OSI cuprinde apte niveluri. Principiile aplicate pentru a se ajunge la cele apte niveluri
sunt urmtoarele:
1. Un nivel trebuie creat atunci cnd este nevoie de un nivel de abstractizare diferit.
2. Fiecare nivel trebuie s ndeplineasc un rol bine definit.
3. Funcia fiecrui nivel trebuie aleas acordndu-se atenie definirii de protocoale
standardizate pe plan internaional.
4.
Delimitarea nivelurilor trebuie fcut astfel nct s se minimizeze fluxul de informaii prin
interfee.
5. Numrul de niveluri trebuie s fie suficient de mare pentru a nu fi nevoie s se introduc n
acelai nivel funcii diferite i sufieient de mie pentru ca arhitectura s rmn funcional.
MODELE DE REFERINA
SEC. 1.4
27
Nivel
Numele unitii
schimbate
Aplicaie
Protocolul aplicaie
icatie
APDU
Prezentare
PPDU
Sesiune
SPDU
Interfa
6
Prezentare
Protocolul prezentare
Interfa
5
Sesiune
Transport
t
y
Ir
Reea
Protocolul sesiune
Protocolul transport
Limita subreelei de comunicaie
Protocolul intern al subreteie\
Reea
Legtur
de date
Legtur
de date
Fizic
Fizic
Gazda A
Ruer
-H Transport I TPDU
Reea
~H
Pachet
Reea
Legtur
de date
Legtur
g
de
de date
date
Fizic
Fizic
Ruter
Gazda B
C a d r u
28
INTRODUCERE
CAP. 1
conexiunea iniial i cum este ntrerupt cnd au terminat de comunicat ambele pri, ci pini are
conectorul de reea i la ce folosete fiecare pin. Aceste aspecte de proiectare au o legtur strns
cu interfeele mecanice, electrice, funcionale i procedurale, ca i cu mediul de transmisie situat sub
nivelul fizic.
Nlvelu legtur de date
Sarcina principal a nivelului legtur de date este de a transforma un mijloc o.are.c.are_ de
transmisie ntr-o linie care s fie disponibil nivelului reea fr erori de transmisie nedetectate.
Nivelul legtur de date realizeaz aceast sarcin oblignd emitorul s descompun datele de
intrare n cadre de.date (n mod tipic, cteva sute sau cteva mii de octei), s transmit cadrele
secvenial i s prelucreze cadrele de confirmare trimise napoi de receptor. Deoarece nivelul fizic
nu face dect s accepte i s transmit un flux de bii, fr s se preocupe de semnificaia sau de
structura lor, responsabilitatea pentru marcarea i recunoaterea delimitatorilor ntre cadre i revine
nivelului legtur de date. Aceasta se poate realiza prin ataarea unor abloane speciale de bii la
nceputul i la sfritul cadrului. In cazul n care abloanele respective de bii pot aprea accidental
n datele propriu-zise, trebuie luate msuri speciale de precauie pentru ca aceste abloane s nu fie
incorect interpretate ca delimitatori de cadre.
Un zgomot aprut pe linie poate distruge un cadru n ntregime. n acest caz, programele
nivelului legtur de date de pe maina surs pot s retransmit cadrul. Transmiterile multiple ale
aceluiai cadru introduc posibilitatea cadrelor duplicate. Un cadru duplicat poate aprea la
transmisie n situaia n care s-au pierdut cadrele de confirmare trimise de la receptor napoi spre
emitor. Rezolvarea problemelor datorate cadrelor deteriorate, pierdute sau duplicate cade n
sarcina nivelului legtur de date. Acesta poate oferi nivelului reea cteva clase de servicii diferite,
fiecare de o calitate i un pre diferit.
O alt problem care apare la nivelul legtur de date (i, de asemenea, la majoritatea
nivelurilor superioare) este evitarea inundrii unui receptor lent cu date provenite de la un emitor
rapid. n acest scop sunt necesare mecanisme de reglare a traficului care s permit emitorului s
afle ct spaiu tampon deine receptorul la momentul curent. Controlul traficului i tratarea
erorilor sunt deseori integrate.
Dac linia poate fi folosit pentru a transmite date n ambele sensuri, atunci apare o nou
complicaie, care trebuie rezolvat de ctre programele de la nivelul legtur de date. Problema se
refer la concurena care exist pentru utilizarea liniei ntre cadrele de confirmare pentru traficul de
la A la B i cadrele de date din traficul de la B la A. Pentru rezolvarea ei a fost conceput o soluie
inteligent: ataarea piggybacking)^ mai trziu vom discuta aceast soluie n detaliu.
Reelele cu difuzare determin n nivelul legtur de date o problem suplimentar: cum s fie
controlat accesul la canalul partajat. De aceast problem se ocup un subnivel special al nivelului
legtur de date, i anume subnivelul de acces la mediu.
Nivelul reea se ocup de controlul funcionrii ubreelei. O problem cheie n proiectare este
determinarea modului n care pachetele sunt dirijate de la surs la destinaie. Dirijarea se poate
baza pe tabele statistice care sunt cablate" intern n reea i care sunt schimbate rar. Traseele pot fi
de asemenea stabilite la nceputul fiecrei conversaii, de exemplu la nceputul unei sesiuni la
. 1.4
MODELE DE REFERIN
29
terminal. n sfrit, dirijarea poate fi foarte dinamic, traseele determinndu-se pentru fiecare
pachet n concordan cu traficul curent din reea.
Dac n subreea exist prea multe pachete simultan, ele vor intra unul pe traseul celuilalt i
astfel se vor produce gtuiri. Controlul unor astfel de congestii i revine tot nivelului reea.
Deoarece operatorii subreelei pot foarte bine s atepte o plat pentru eforturile lor, n nivelul
reea exist, de obicei, nglobat o funcie de taxare a traficului. Pentru a calcula suma datorat de
clienii reelei, programul trebuie cel puin s numere cte pachete, sau cte caractere, sau ci bii a
trimis fiecare client. Calculul se complic atunci cnd un pachet traverseaz frontiera dintre dou
zone cu sisteme de preuri diferite.
Multe probleme pot aprea cnd un pachet trebuie s cltoreasc dintr-o reea n alta ca s
ajung la destinaie. Modul de adresare folosit de a doua reea poate s difere de cel pentru prima.
A doua reea poate chiar s nu accepte deloc pachetul pentru c este prea mare. De asemenea,
protocoalele pot fi diferite i aa mai departe. Rezolvarea acestor probleme n vederea
interconectrii reelelor eterogene este sarcina nivelului reea.
n reelele cu difuzare, problema dirijrii este simpl, astfel c nivelul reea este deseori subire
sau chiar nu exist deloc.
Nivelul transport
Rolul principal al nivelului transport este s accepte date de la nivelul sesiune, s le
descompun, dac este cazul, n uniti mai mici, s transfere aceste uniti nivelului reea i s se
asigure c toate fragmentele sosesc corect la cellalt capt. n plus, toate acestea trebuie fcute
eficient i ntr-un mod care izoleaz nivelurile de mai sus de inevitabilele modificri n tehnologia
echipamentelor.
n condiii normale nivelul transport creeaz o conexiune de reea distinct pentru fiecare
conexiune de transport cerut de nivelul sesiune. n cazul n care conexiunea de transport necesit o
productivitate mare, nivelul transport poate totui s creeze conexiuni de reea multiple i s divid
datele prin conexiunile de reea, astfel nct productivitatea s creasc. Pe de alt parte, dac
crearea i ntreinerea unei conexiuni de reea este costisitoare, nivelul transport ar putea reduce
costul prin multiplexarea ctorva conexiuni de transport pe aceeai conexiune de reea. n oricare
dintre cazuri, nivelului transport i se cere s fac mutiplexarea transparent pentru nivelul sesiune.
Nivelul transport determin, de asemenea, ce tip de serviciu s furnizeze nivelului sesiune i, n
final, utilizatorilor reelei. Cel mai obinuit tip de conexiune transport este un canal punct-la-punct
fr erori care furnizeaz mesajele sau octeii n ordinea n care au fost trimii. Alte tipuri posibile
de servicii de transport sunt transportul mesajelor individuale - fr nici o garanie n privina ordinii
de livrare - i difuzarea mesajelor ctre destinaii multiple. Tipul serviciului se determin cnd se
stabilete conexiunea.
Nivelul transport este un adevrat nivel capt-la-capt, de la surs la destinaie. Cu alte cuvinte,
un program de pe maina surs poart o conversaie cu un program similar de pe maina destinaie,
folosind n acest scop antetele mesajelor i mesaje de control. n nivelurile inferioare protocoalele
au loc ntre fiecare main si vecinii si imediai, si nu direct ntre mainile surs si destinaie, care
pot fi separate de numeroase rutere. Diferena ntre nivelurile de la 1 pn la 3, care sunt nlnuite,
i nivelurile de la 4 la 7, care sunt capt-la-capt, este ilustrat n Fig. 1-16.
30
INTRODUCERE
CAP. 1
Numeroase gazde sunt multiprogramate, ceea ce implic existena unor raE^xjunynuliple care
intrsi ies din fiecare gazd. Trebuie s existe o modalitate prin care s se poat spune care mesaje
aparin crei conexiuni. Unul din locurile unde poate fi pus aceast informaie este antetul de
transport (Ht n Fig. -11).
n plus fa de multiplexarea mai multor fluxuri de mesaje pe un singur canal, nivelul transport
mai trebuie s se ocupe de stabilirea i anularea conexiunilor n reea. Pentru acest lucru este
necesar un mecanism de atribuire a numelor, astfel ca un proces de pe o anumit main s poat
descrie cu cine vrea s converseze. Trebuie, de asemenea, s existe un mecanism pentru reglarea
fluxului de informaii, astfel nct o gazd rapid s nu suprasolicite o gazd lent. Un astfel de
mecanism se numete controlul fluxului i joac un rol cheie n nivelul transport (ca i n alte
niveluri). Controlul fluxului ntre gazde_ee_diferit fa de controlul fluxului ntre rutere, dar vom
vedea mai trziu c pentru amndou se aplic principii similare.
Nivelul sesiune
Nivelul sesiune permite utilizatorilor de pe maini diferite s stabileasc ntre ei sesiuni. Ca i
nivelul transport, o_eiune permite transportul obinuit de date, dar furnizeaz totodat i servicii
mbuntite, utile n anumite aplicaii. O sesiune poate fi utilizat pentru a permite unui utilizator s
se conecteze la distan pe un sistem cu divizarea timpului sau s transfere un fiier ntre dqumaini.
Unul dintre serviciile nivelului sesiune se refer la controlul dialogului. Sesiunile pot permite s
se realizeze trafic n ambele sensuri simultan, sau numai ntr-un sens odat. Dac este permis
traficul ntr-un singur sens odat (analog drumurilor cu sens unic), nivelul sesiune poate ajuta s se
in evidena emitorilor crora le vine rndul s transmit.
Un serviciu sesiune nrudit este gestionarea jetonului. In unele protocoale este esenial ca cele
dou pri s nu ncerce s realizeze aceeai operaie n acelai timp. Pentru a trata aceste situaii,
nivelul sesiune dispune de jetoane care pot circula ntre maini. Numai partea care deine jetonul
are voie s realizeze operaia critic.
Un alt serviciu sesiune este sincronizarea. S considerm problemele care poate aprea atunci
cnd se ncearc transferarea unui fiier ntre dou maini, n condiiile n care transferul dureaz 2
ore, iar intervalul mediu de cdere a legturii este 1 or. Dup fiecare eec, tot transferul va trebui
iniiat din nou i probabil c nu va reui nici ncercarea urmtoare. Pentru a elimina problema
respectiv, nivelul sesiune prevede o modalitate de a introduce njluxul de date puncte de control,
astfel nct dup un eec trebuie s se reia numai transferul datelor de dup ultimul punct de control.
Nivelul prezentare
Nivelul prezentare ndeplinete cteva funcii care sunt solicitate suficient de des pentru ca, n loc
s fie lsat fiecare utilizator s rezolve problemele, s se justifice gsirea unei soluii generale. n
particular, spre deosebire de toate nivelurile inferioare, care se ocup numai de transferul sigur al
biilor dintr-un loc n altul, nivelul prezentare se ocug de sintaxa si semantica informaiilor transmise.
Unjjxejiiplu tipic deserviciu prezentare este edificarea datelor ntr-un mod standard,
jpresabilit. Majoritatea programelor folosite de utilizatori nu fac schimb de iruri aleatoare de bii.
Ele fac schimb de nume de persoane, adrese, date, sume de bani, anunuri. Aceste informaii sunt
reprezentate prin iruri de caractere, prin ntregi, prin numere reale i prin structuri de date
compuse dintr-un numr de date mai simple. Diferite calculatoare au diferite coduri pentru
E C
14
MODELE DE REFERIN
31
^g?&z^terea finirilor de caractere (de exemplu, ASCII i Unicode), ntregilor (de exemplu,
^j^jlejnentul fa de 1 i complementul fa de 2) i aa mai departe. Pentru a face posibil
comunicarea ntre calculatoare cu reprezentri diferite, structurile de date pot fi definite ntr-un
mod abstract, alturi de o codificare standardizat ce va fi .utilizat pe cablu". MveJkijjDrezejiare
gestioneaz acejejjructtrr^^
din reprezentarea Intern folosit jn_
3icuitor n reprezejQtareastesdardizat din reea i-invers^
Nivelul aplicaie
Nivelul aplicaie conine o varietate de protocoale frecvent utilizate. De exemplu, n lume exist
sute de tipuri de terminale incompatibile. Gndii-v la impasul n care se afl un editor n mod
ecran care trebuie s lucreze ntr-o reea cu multe tipuri diferite de terminale, fiecare cu un aspect
diferit al ecranului i cu secvene ESCAPE diferite pentru introducerea i tergerea textului,
mutarea cursorului etc.
O modalitate de a rezolva problema este s se defineasc un terminal virtual de reea abstract i
s se scrie editoare i alte programe care tiu s lucreze cu acesta. Pentru a putea lucra cu orice tip
de terminal, este necesar un program care s pun n coresponden funciile terminalului virtual de
reea i terminalul real. De exemplu, atunci cnd editorul mut cursorul din terminalul virtual n
colul stnga-sus al ecranului, programul trebuie s aplice secvena potrivit de comenzi pentru
terminalul real, astfel nct s se mute i cursorul acestuia. Toate programele terminalului virtual se
afl pe nivelul aplicaie.
Un alt rol al nivelului aplicaie este transferul fiierelor. Sisteme de fiiere diferite au convenii
de nume diferite, moduri diferite de a reprezenta liniile de text i aa mai departe. Transferul unui
fiier ntre doujsisteme de fiiere.diferite presupune rezolvarea acestor incompatibiliti i a altora
de acelai gen. Si acest lucru cade tot n seama nivelului aplicaie, la fel ca si posta electronic,
mr^ucereajucrrilor la distan, examinarea cataloagelor i diverse alte faciliti cu scop general
sau particular.
INTRODUCERE
32
CAPI
nivelului reea de pe maina sa proprie este un detaliu tehnologic lipsit de importan. Analog, cnd
un diplomat care vorbete limba Tagalog se adreseaz Naiunilor Unite, el se gndete c se
adreseaz celorlali diplomai prezeni la adunare. Faptul c n realitate el vorbete numai
translatorului su este vzut ca un detaliu tehnic.
Procesul
receptor-
Procesul
emitor^
Date
Nivelul
aplicaie
Nivelul
prezentare
Nivelul
sesiune
Protocolul aplicaie
Protocolul prezentare
Protocolul
transport
Nivelul
reea
Protocolul
reea
ivelul legtur
de date
SH
TH
NH
DH
Nivelul
fizic
Nivelul
aplicaie
Date
Nivelul
prezentare
PH
Protocolul sesiune
Nivelul
transport
AH Date
Nivelul
sesiune
Date
Nivelul
transport
Date
Nivelul
reea
Date
Date
DT
Bii
Nivelul legtur
de date
Nivelul
fizic
Fig. 1-17. Un exemplu de utilizare a modelului OSI. O parte din antete pot s fie nule. (Sursa:
H.C. Folts. Utilizat cu permisiunea autorului.)
1.4.2 Modelul de referin TCP/EP
S ne ndreptm acum atenia de la modelul de referin OSI spre modelul de referin utilizat
n strmoul tuturor reelelor de calculatoare, ARPANET-ul, i n succesorul su, Internet-ul. Dei
vom prezenta mai trziu o scurt istorie a ARPANET-ului, este util s menionm acum cteva
aspecte eseniale. ARPANET a fost o reea de cercetare sponsorizat de ctre DoD (U.S.
Department of Defense - Departamentul de Aprare al Statelor Unite). n cele din urm, reeaua a
ajuns s conecteze ntre ele, utiliznd linii telefonice nchiriate, sute de reele universitare i
guvernamentale. Atunci cnd au fost adugate, mai trziu, reele prin satelit i radio,
interconectarea acestora cu protocoalele existente a pus diferite probleme. Era nevoie de o nou
arhitectur de referin. De aceea, posibilitatea de a interconecta fr probleme mai multe tipuri
de reele a reprezentat de la bun nceput un obiectiv de proiectare major. Aceast arhitectur a
devenit cunoscut mai trziu sub denumirea de modelul de referin TCP/EP, dat dup numele
celor dou protocoale fundamentale utilizate. Arhitectura respectiv a fost definit prima dat n
33
MODELE DE REFERINA
SEG. 1.4
(Cerf si Kahn, 1974). O perspectiv ulterioar este prezentat n (Leiner .a., 1985). Filosofla de
proiectare din spatele modelului este discutat n (Clark, 1988).
Dat fiind ngrijorarea Departamentului de Aprare c o parte din preioasele sale gazde, rutere
si pori de interconectare ar putea fi distruse dintr-un moment n altul, un alt obiectiv major a fost ca
reeaua s poat supravieui pierderii echipamentelor din subreea fr a fi ntrerupte conversaiile
existente. Cu alte cuvinte, DoD dorea ca, atta timp ct funcionau maina surs i maina
destinaie, conexiunile s rmn intacte, chiar dac o parte din maini sau din liniile de transmisie
erau brusc scoase din funciune. Mai mult, era nevoie de o arhitectur flexibil, deoarece se aveau
n vedere aplicaii cu cerine divergente, mergnd de la transferul de fiiere pn la transmiterea
vorbirii n timp real.
Nivelul internet
Toate aceste cerine au condus la alegerea unei reele cu comutare de pachete bazat pe
un nivel inter-reea fr conexiuni. Acest nivel, numit nivelul internet, este axul pe care se
centreaz ntreaga arhitectur. Rolul su este de a permite gazdelor s emit pachete n orice
reea i a face ca pachetele s circule independent pn la destinaie (fiind posibil ca aceasta
s se gseasc pe o alt reea). Pachetele pot chiar s soseasc ntr-o ordine diferit fa de
cea n care au fost trimise, caz n care - dac se dorete furnizarea lor ordonat - rearanjarea
cade n sarcina nivelurilor de mai sus. De observat c internet" este folosit aici ntr-un sens
generic, chiar dac acest nivel este prezent i n Internet.
OSI
TCP/IP
Aplicaie
Aplicaie
Prezentare
Sesiune
Transport
Transport
Reea
Internet
Legtur de date
Gazd-la-reea
Fizic
*~-\ Nu exist n
^-"^ acest model
INTRODUCERE
34
CAP.l
Nivelul situat deasupra nivelului internet din modelul TCP/IP este frecvent numit nivelul
transport. Acesta este proiectat astfel, nct s permit conversaii ntre ej^tjikpereche din
gazdele surs i, respectiv, destinaie, la fel ca n nivelul transport OSI. n acest sens au fost
definite dou protocoale capt-la-capt. Primul din ele, TCP (Transmission Control Protocol
entat
e
- protocolul de control al transmisiei), este un gi^tocol_igut l i
P conexiuni care
permite ca un flux de octei trimii de pe o main s ajung fr erori pe orice alt main
din inter-reea. Acest protocol fragmenteaz fluxul de^ octei n mesaj ejdiscrete i paseaz
fiecare mesaj nivelului internet. La destinaie, procesul TCP receptor reasambleaz mesajele
primite n flux de ieire. TCP trateaz totodat controluIfLuxului pentru a se asigura c un
emitor rapid nu inund un receptor lent cu mai multe mesaje dect poate acesta s
prelucreze.
Al doilea protocol din nivel, UDP (User Datagram Protocol - protocolul datagramelor
utilizator), este un protocol nesigur, fr conexiuni, destinat aplicaiilor care doresc s
utilizeze propria lor secveniere i control al fluxului, i nu pe cele asigurate de TCP.
Protocolul UDP este de asemenea mult folosit pentru interogri ntrebare-rspuns dintr-un
foc, client-server, i pentru aplicaii n care comunicarea prompt este mai important dect
comunicarea cu acuratee, aa cum sunt aplicaiile de transmisie a vorbirii i a imaginilor
video. Relaia dintre IP, TCP i UDP este prezentat n Fig. 1-19. De cnd a fost dezvoltat
acest model, IP a fost implementat pe multe alte reele.
Nivelui (numele OSII
FTP
TELNET
UDP
TCP
Protocoale <
DNS
SMTP
Aplicaie
Transport
IP
Reea
V.
r
Reele <
ARPANET
SATNET
Radio cu
pachete
LAN
Fizic +
legtur de date
Modelul TCP/IP nu conine niveluri sesiune sau prezentare. Acestea nu au fost incluse pentru
c nu s-a simit nevoia lor. Experiena modelului OSI a dovedit c aceast viziune a fost corect: n
majoritatea aplicaiilor, nivelurile respective nu sunt de mare folos.
SE
C.1.4
MODELE DE REFERIN
35
Deasupra aiv^afoi traBsport se afl nivelul aplicaie. Acesta conine toate protocoalele de nivel
mai rialt. Aa cum se vede din Fig. 1-19, primele protocoale de acest gen includeau terminalul virtual
(TELNET), transferul de fiiere (FTP) i pota electronic (SMTP). Protocolul de terminal virtual
permite unui utilizator de pe o maina s se conecteze i s lucreze pe o main aflat la distan.
Protocolul de transfer de fiiere pune la dispoziie o modalitate de a muta eficient date de pe o main
pe alta. Pota electronic a fost la origine doar un tip de transfer de fiiere, dar ulterior a fost dezvoltat
un protocol specializat pentru acest serviciu. Pe parcursul anilor, la aceste protocoale s-au adugat
multe altele, aa cum sunt Serviciul Numelor de Domenii (Domain Name Service - DNS) pentru
stabilirea corespondenei dintre numele gazdelor i adresele reelelor, NNTP, protocolul utilizat
pentru a transfera articole d^^
Nivelul gazd-reea
Sub nivelul internet se afl necunoscutul. Modelul de referin TCP/IP nu spune mare lucru
despre ce se ntmpl acolo, ns menioneaz c gazda trebuie s se lege la reea, pentru a putea
trimite pachete IP, folosind un anumit protocol. Acest protocol nu este definit i variaz de la gazd la
gazd i de la reea la reea. Crile i articolele despre TCP/IP rareori discut despre acest protocol.
1.43 O comparaie ntre modelele de referin OSI i TCP
Modelele de referin OSI i TCP/IP au multe lucruri n comun. Amndou se bazeaz pe
conceptul unei stive de protocoale independente. De asemenea, funcionalitatea nivelurilor este n
linii mari similar. De exemplu, n ambele modele, nivelurile pn la nivelul transport inclusiv sunt
necesare pentru a pune la dispoziia proceselor care doresc s comunice un serviciu de transport
capt-la-capt independent de reea. Nivelurile respective formeaz furnizorul de transport. Din
nou, n ambele modele, nivelurile de deasupra transportului sunt beneficiari orientai pe aplicaii ai
serviciului de transport.
n pofida acestor similitudini fundamentale, ntre cele dou modele exist i multe deosebiri. n
aceast seciune ne vom concentra asupra diferenelor cheie dintre cele dou modele de referin.
Este important de subliniat c vom compara aici modelele de referin, nu stivele de protocoale
corespunztoare. Protocoalele propriu-zise vor fi discutate mai trziu. Pentru o ntreag carte
consacrat comparaiei i diferenelor dintre TCP/IP i OSI, a se vedea (Piscitello i Chapin, 1993).
Trei concepte sunt eseniale pentru modelul OSI:
/
\
1. Servicii
2. Interfee
3. Protocoale
c cea mai mare contribuie a modelului OSI este ca a fcut explicita diferena
ntre aceste trei concepte. Fiecare nivel realizeaz nite servicii pentru nivelul situat deasupra
sa. Definiia serviciului spune ce face nivelul, nu cum l folosesc entitile de deasupra sa sau
cum funcioneaz nivelul. - ^ - r ^ - * ^ / ^ > 4 .
Interfaa unui nivel spune proceselor aflate deasupra sa cum s fac accesul. Interfaa precizeaz
ce reprezint parametrii i ce rezultat se obine. Nici interfaa nu spune nimic despre funcionarea
intern a nivelului.
n sfzit, protocoalele pereche folosite ntr-un nivel reprezint treaba personal a nivelului
36
ENIRQDUCERE
CAP.l
Nivelul poate folosi orice protocol dorete, cu condiia ca acesta s funcioneze (adic s
ndeplineasc serviciul oferit). Nivelul poate de asemenea s schimbe protocoalele dup cum vrea,
fr ca acest lucru s afecteze programele din nivelurile superioare.
Aceste idei se potrivesc foarte bine cu ideile moderne referitoare la programarea orientat pe
obiect. Un obiect, ca i un nivel, posed un set de metode (operaii) care pot fi invocate de ctre
procese din afara obiectului. Semanticele acestor metode definesc mulimea de servicii pe care le
ofer obiectul. Parametrii i rezultatele metodelor formeaz interfaa obiectului. Codul intern al
obiectului reprezint protocolul su i nu este vizibil sau de vreo importan n afara obiectului.
Dei lumea a ncercat ulterior s l readapteze pentru a fi mai asemntor modelului OSI, modelul
o distincie clar ntre serviciu, interfa i protocol. De exemplu, singurele
servicii veritabile oferitedeTnTvefufmternet sunt SENDIP PACKET i RECEIVEIP PACKET.
n consecin, protocoalele din modelul OSI sunt mai bine ascunse dect n modelul TCP/EP i pot fi
nlocuite relativ uor pe msur ce se schimb tehnologia. Capacitatea de a face asemenea modificri
reprezint unul din scopurile principale ale organizrii protocoalelor pe niveluri n modelul OSI.
Modelul de referin OSI a fost conceput nainte s fie inventate protocoalele. Ordinea
respectiv semnific faptul c modelul nu a fost orientat ctre un set specific de protocoale, fiind
prin urmare destul de general. Reversul este c proiectanii nu au avut mult experien n ceea ce
privete acest subiect i nu au avut o idee coerent despre mprirea funciilor pe niveluri.
De exemplu, nivelul legtur de date se ocupa iniial numai cu reelele punct-la-punct. Atunci
cnd au aprut reelele cu difuzare, a trebuit s fie introdus n model un subnivel nou. Cnd lumea a
nceput s construiasc reele reale utiliznd modelul OSI i protocoalele existente, s-a descoperit c
acestea nu se potriveau cu specificaiile serviciului cerut (minunea minunilor), astfel c a ttebuit
introdus n model conyej^ntejubnjw^
pe marginea
diferentelor. In sfrit, comitetul se atepta iniial ca fiecare tar s aib cte o reea care s fie n
custodia guvernului i s foloseasc protocoalele OSI, aa c nu s-a dat nici o atenie interconectrii.
Pentru a nu mai lungi povestea, s spunem doar c lucrurile s-au petrecut altfel.
n ceea ce privete TCP/IP, lucrurile stau exact pe dos: mai nti au aprut protocoalele,
iar modelul a fost de fapt doar o descriere a protocoalelor existente. Cu protocoalele
respective nu era nici o problem: ele se potriveau perfect cu modelul. Singurul necaz era c
modelul nu se potrivea cu nici o alt stiv de protocoale. Prin urmare, modelul nu a fost prea
util pentru a descrie alte reele non-TCP/IP.
Pentru a ne ntoarce de la subiectele filosofice la subiecte mai specifice, p diferen evident ntre
cele dou modele sejefer lanumrul^^jde.niveluri: modelul OSI are apte niveluri, iar TCP/IP are
patru. Ambele modele au niveluri (inter-)reea, transport i aplicaie, dar restul nivelurilor sunt
diferite.
O alt deosebire privete subiectul comunicaiei fr conexiuni fa de cel al comunicaiei orientat
pe conexiuni. Modelul OSI suport^ ambele tipuri de comunicaii la nivelul reea, dar numai
Cj^mjyuiicj^
unde acest fapt are importan (pentru c
serviciul de transport este vizibil utilizatorilor). Modelul TCP/IP arenumai unjtnod (^r|j3Qne^ujii) la
nivelul reea, dar suport ambele moduri la nivelul transport, ceea ce las utilizatorilor posibilitatea
alegerii. Aceast alegere este important n mod special pentru protocoale ntrebare-rspuns simple.
MODEIJE DE REFERINA
SEC. 1.4
37
Ratarea momentului.
Tehnologii proaste.
Implementri proaste.
Politici proaste.
Ratarea momentului
S vedem mai nti prima problem: ratarea momentului. Momentul la care se stabilete un
standard este absolut critic pentru succesul acestuia. David Qark de la M.I.T. are o teorie asupra
standardelor pe care o numete Apocalipsa celor doi elefani i care este ilustrat n Fig. 1-20. .
Investiii de
miliarde de dolari
Cercetare
B
2
'>
I
Timp
38
INTRODUCERE
OAP.1
efectiv ignorate. Dac intervalul dintre cei doi elefani este, foarte ;Spur (pentru c toat lumea arde
de nerbdare s treac la lucru), atunci cei care dezvolt standardele pot fi prini la mijloc i strivii.
Acum se vede c protocoalele OSI standard au fost strivite. La momentul apariiei lor,
protocoalele concurente TCP/IP erau deja folosite pe larg n universiti n cercetare. nainte s
vin valul investiiilor de miliarde de dolari, piaa din domeniul academic era destul de dezvoltat
pentru ca multe firme s nceap, prudent, s ofere produse TCP/IP. Cnd a aprut OSI, firmele nu
au mai vrut, fr s fie forate, s sprijine o a doua stiv de protocoale, i, prin urmare, n-au fost nici
un fel de oferte iniiale de acest gen. Fiecare firm atepta s nceap celelalte firme, aa c pn la
urm n-a mai nceput nici o firm i fenomenul OSI nu s-a mai produs niciodat.
Tehnologii proaste
Al doilea motiv pentru care OSI n-a prins niciodat este c att modelul ct i protocoalele au
defecte. Majoritatea discuiilor purtate n jurul modelului cu apte niveluri dai impresia c numrul
i coninutul nivelurilor alese n cele din urm erau singura soluie, sau cel puin soluia evident.
Lucrurile stau altfel. Nivelul sesiune este foarte puin folosit n majoritatea aplicaiilor, iar nivelul
prezentare e aproape nul. De fapt, propunerea britanic ctre ISO avea numai cinci niveluri, nu
apte. Spre deosebire de nivelurile sesiune i prezentare, nivelurile legtur de date i reea sunt att
de ncrcate, nct trebuiau mprite n mai multe subniveluri, fiecare cu funcii diferite.
Dei rareori admite cineva n public, motivul real pentru care modelul OSI are apte niveluri
este c, n momentul proiectrii, IBM avea un protocol propriu cu apte niveluri numit SNA
(Systems Network Architecture - arhitectura sistemelor de reele). La acea vreme, IBM domina
industria de calculatoare n asemenea grad, nct toi ceilali - companii de telefoane, firme
concurente de calculatoare i chiar organizaii guvernamentale importante - se temeau groaznic c
IBM i va folosi piaa pentru a fora efectiv pe toat lumea s utilizeze SNA, pe care putea s-1
schimbe oricnd vroia. Ideea pe care s-a bazat OSI a fost s se produc o stiv de protocoale i un
model de referin compatibil IBM, care s devin standardul internaional, dar care s nu fie
controlat de o singur firm, ci de o organizaie neutr, ISO.
Modelul OSI, alturi de protocoalele i definiiile de servicii asociate, este extraordinar de
complex. Atunci cnd sunt puse unul peste altul, standardele tiprite ocup civa zeci de centimetri
buni. Standardele sunt, de asemenea, dificil de implementat i ineficiente n funcionare. n acest
context mi vine n minte o ghicitoare formulat de Paul Mockapetris i citat n (Rose, 1993):
: Ce obii cnd aplici un standard internaional unui gangster?
R: O persoan care i face o ofert pe care n-o poi nelege.
Pe lng faptul c este incomprehensibil, o alt problem cu OSI este c unele funcii, cum sunt
adresarea, controlul fluxului i controlul erorilor reapar din nou i din nou n fiecare nivel. Saltzer
.a. (1994), de exemplu, au artat c, pentru a fi eficient, controlul erorilor trebuie fcut la nivelul cel
mai nalt i c repetarea sa de attea ori n nivelurile de mai jos este adesea inutil i ineficient.
O alt problem este c decizia de a plasa anumite funcii n anumite niveluri particulare nu este
totdeauna eviden. Pe parcursul dezvoltrii standardului, gestionarea terminalului virtual
(prezent acum n nivelul aplicaie) a fost mult timp sarcina nivelului prezentare. Aceasta a fost
mutat n nivelul aplicaie, deoarece comitetul avea probleme s decid la ce era bun nivelul
prezentare. Securitatea datelor i criptarea au fost att de controversate, nct nimeni n-a putut fi de
MODELE DE REFERINA
39
Implementri proaste
Dat fiind enorma complexitate a modelului i a protocoalelor, nu este nici o surpriz n faptul
c implementrile iniiale erau uriae, greoaie i ineficiente. Oricine le ncerca se simea ca oprit.
Nu a trecut mult i lumea a asociat OSI" cu calitate slab." Odat cu trecerea timpului, produsele
au devenit mai bune, dar imagina s-a deteriorat.
Din contr, una din primele implementri de TCP/IP fcea parte din Berkeley UNIX i era
destul de bun (ca s nu mai spunem c era i gratuit). Lumea a nceput s o foloseasc repede, ceea
ce a determinat apariia unei comuniti largi de utilizatori, ceea ce a dus mai departe la mbuntiri,
iar aceasta a dus la o comunitate i mai numeroas. n acest caz spirala nu cobora, ci urca.
Politici proaste
Din cauza implementrii iniiale, mult lume, n special din mediul academic, a considerat
TCP/IP ca o parte din Unix; iar n anii '80 Unix-ul era pentru oamenii din lumea academic cam la
fel de popular ca paternitatea (numit apoi incorect maternitate) sau ca plcinta cu mere.
OSI, pe de alt parte, a fost gndit ca o creaie a ministerelor de telecomunicaii europene, apoi
a Comunitii Europene i, mai trziu, a guvernului Statelor Unite. Aceast viziune s-a dovedit
adevrat numai n parte; dar chiar ideea n sine - un grup de birocrai guvernamentali ncercnd s
bage un standard inferior tehnic pe gtul bieilor cercettori i programatori care stau n tranee i
40
INTRODUCERE
CAP. 1
dezvolt efectiv reelele de calculatoare - nu a ajutat prea mult. Unii oameni au vzut aceast
abordare n aceeai lumin n care a fost vzut IBM cnd a anunat n anii '60 c PL/I era limbajul
viitorului, sau DoD care a corectat IBM-ul anunnd c limbajul respectiv era de fapt Ada.
n pofida faptului c modelul i protocoalele OSI nu au fost chiar un succes rsuntor, mai exist
totui unele organizaii interesate de OSI, n special PTT-urile2 europene care dein nc un
monopol asupra telecomunicaiilor. n consecin, a existat un mic efort pentru a mbunti OSI i
rezultatul este un model revizuit publicat n 1994. Pentru a vedea ceea ce a fost schimbat (puin) i
ceea ce ar fi trebuit schimbat (mult), a se consulta (Day, 1995).
1.4.5 O critic a modelului de referin TCP/BP
Modelul i protocoalele TCP/IP au i ele problemele lor. Mai nti, modelul nu face o distincie
clar ntre conceptele de serviciu, interfa i protocol. O practic recomandabil n ingineria
programrii este s se fac diferena ntre specificaie i implementare, ceea ce OSI face cu mult
atenie, pe cnd TCP/IP nu face. De aceea, modelul TCP/IP nu este un ghid prea bun de proiectare
a reelelor noi folosind tehnologii noi.
n al doilea rnd, modelul TCP/IP nu este de loc general i nu este aproape deloc potrivit pentru
descrierea altor stive de protocoale n afara celei TCP/IP. De exemplu, descrierea SNA-ului
folosind modelul TCP/IP ar fi aproape imposibil.
n al treilea rnd, nivelul gazd-reea nu este deloc un nivel - n sensul normal n care este folosit
termenul n contextul protocoalelor organizate pe niveluri - ci estej) interfa (ntre nivelurile reea
si legtur de date). Distincia ntre o interfa si un nivel este crucial si de aceea trebuie s i se
acorde atenia cuvenit.
n al patrulea rnd, modelul TCP/IP nu distinge (i nici mcar nu menioneaz) nivelurile fizic i
legtur de date. Acestea sunt complet diferite. Nivelul fizic are de-a face cu caracteristicile de
transmisie ale comunicaiilor prin cablu de cupru, fibre optice sau radio. Rolul nivelului legtur de
date este s delimiteze nceputul i sfritul cadrelor i s le transporte dintr-o parte n alta cu gradul
de siguran dorit. Un model corect ar trebui s includ ambele niveluri ca niveluri separate.
Modelul TCP/IP nu face acest lucru.
n sfrit, dei protocoalele IP i TCP au fost atent gndite i bine implementate, multe din
celelalte protocoale erau ad-hoc, fiind n general opera ctorva absolveni care tot metereau" la
ele pn oboseau. Implementrile protocoalelor erau apoi distribuite gratuit; ca urmare, ele erau
larg utilizate, fr s li se asigure suportul necesar, fiind de aceea dificil de nlocuit. Unele
protocoale au ajuns acum s fie mai mult o pacoste. Protocolul de terminal virtual, TELNET, de
exemplu, a fost proiectat pentru un terminal tele-imprimator mecanic de zece caractere pe secund.
Cu toate acestea, 25 de ani mai trziu, protocolul este nc foarte utilizat.
Pentru a rezuma, n pofida acestor probleme, modelul OSI (mai puin nivelurile sesiune i
prezentare) s-a dovedit a fi excepional de util pentru a discuta reelele de calculatoare. Din
contr, protocoalele OSI nu au devenit populare. Pentru TCP/IP este adevrat afirmaia
invers: modelul este practic inexistent, dar protocoalele sunt larg utilizate. Dat fiind faptul c
informaticienilor le place s prepare - i apoi s i mnnce - propria lor prjitur, n aceast
carte vom folosi un model OSI modificat, dar ne vom concentra n primul rnd pe TCP/IP i
2
SEC. 1.5
EXEMPLE DE REELE
41
alte protocoale nrudite cu el; de asemeneaj vom mai folosi unele protocoale mai noi, precum
SDMS, retransmiterea cadrelor, SONET i ATM. Modelul de lucru folosit n carte este,
practic, modelul hibrid prezentat n Fig. 1-21.
Nivelul aplicaie
Nivelul transport
Nivelul reea
Nivelul legtur de date
Nivelul fizic
MIRODUCERE
42
CARI
precede OSI i nu se bazeaz pe el. Dac este s semene cu ceva, atunci seamn mai mult cu
TCP/IP dect cu OSI.
Nivelul fizic i nivelul legtur de date pot fi alese dintre diferite standarde industriale, incluznd
Ethernet, IBM token ring (jeton pe inel) i ARCnet. Nivelul reea folosete un protocol de
interconectare fr conexiuni, nesigur, numit IPX. Acesta transmite transparent pachetele de la
surs la destinaie, chiar dac sursa i destinaia se afl n reele diferite. IPX funcioneaz similar cu
IP, exceptnd faptul c IPX folosete adrese pe 10 octei n loc de adrese pe 4 octei. Justeea
acestei alegeri ni se va dezvlui n Cap. 5.
Nivel
Aplicaie
SAP
Server de fiiere
NCP
Transport
SPX
IPX
Reea
Legtur de date
Ethernet
Token ring
ARCnet
Fizic
Ethernet
Token ring
ARCnet
1 1
12
Adresa destinaiei
12
Adresa sursei
Date
SEC
1.5
EXEMPLE DE REELE
43
Bfi| prin cte reele a traversat pachetul. Cnd acest numr depete un anumit maxim,
pachetul este eliminat. Cmpul Pocket type este folosit pentru a marca diferite pachete de control.
Fiecare din cele dou adrese conine un numr de reea pe 32 de bii, un numr de main pe 48 de
bii (adresa 802 LAN) i adresa local (soclul) pe 16 bii de pe respectiva main. n sfrit, mai
avem datele; acestea ocup restul pachetului i lungimea lor maxim depinde de reeaua respectiv.
Aproximativ o data pe minut, fiecare server difuzeaz un pachet n care i d adresa i
spune ce servicii ofer. Aceste difuzri utilizeaz protocolul SAP (Service Advertising
Protocol - protocolul de reclam a serviciilor). Pachetele sunt vzute i colectate de ageni
speciali care se execut pe mainile de dirijare. Agenii folosesc informaiile din pachete
pentru a construi baze de date cu serverele din reea.
La pornire, o main client difuzeaz o cerere n care ntreab unde se afl cel mai apropiat
server. Agentul de pe maina de dirijare local vede cererea, se uit n baza sa de date despre
servere i caut cel mai bun server corespunztor cererii. Rspunsul privind respectivul server este
apoi trimis napoi ctre client. n acest moment clientul poate stabili o conexiune NCP cu serverul.
Utiliznd aceast conexiune, clientul i serverul negociaz dimensiunea maxim a pachetelor. Din
acest punct, clientul poate face acces la sistemul de fiiere i alte servicii folosind conexiunea
stabilit. Qientul poate de asemenea s interogheze baza de date a serverului pentru a gsi alte
servere (mai deprtate).
B
1.5.2 ARPANET-ul
S schimbm acum domeniul de la LAN-uri la MAN-uri. La mijlocul anilor 1960, cnd
Rzboiul Rece era n punctul culminant, DoD-ul a vrut o reea de comand i control care s poat
supravieui unui rzboi nuclear. Tradiionalele reele telefonice cu comutare de circuite erau
considerate prea vulnerabile, deoarece pierderea unei linii sau a unui comutator ar fi pus capt
tuturor conversaiilor care le foloseau i ar fi putut chiar s partiioneze reeaua. Pentru a rezolva
aceast problem, DoD s-a orientat ctre agenia sa de cercetare, ARPA (mai trziu DARPA,
acum ARPA din nou): (Deferise) Advanced Research Projects Agency - Agenia de Cercetare
pentru Proiecte Avansate (de Aprare).
ARPA a fost creat ca rspuns la lansarea Sputnik-ului de ctre Uniunea Sovietic n 1957 i
avea misiunea de a dezvolta tehnologia care putea fi util scopurilor militare. ARPA nu avea
savani sau laboratoare, nu avea de fapt nimic mai mult dect un birou i un buget redus (dup
standardele Pentagonului). Activitatea ageniei a constat n furnizarea de fonduri i contracte
universitilor i firmelor care aveau idei promitoare.
O parte din primele fonduri au mers ctre universiti n vederea studierii comutrii de pachete,
o idee radical la acea vreme; ideea fusese sugerat de Paul Baran ntr-o serie de rapoarte ale
Corporaiei RND publicate la nceputul anilor 1960. Dup discuii cu diveri experi, ARPA a
decis c reeaua de care avea nevoie DoD trebuia s fie o reea cu comutare de pachete constnd
dintr-o subreea i din calculatoare gazd.
Subreeaua trebuia s fie format din minicalculatoare numite IMP-uri (Ihterface Message
Processors - procesoare de mesaje de interfa) conectate prin linii de transmisie. Pentru o
siguran mare, fiecare IMP trebuia legat la cel puin alte dou IMP-uri. Subreeaua avea s
fie o subreea datagram, astfel c dac unele linii i IMP-uri se defectau, mesajele puteau fi
redirijate automat pe ci alternative.
44
INTRODUCERE
CAP.l
Fiecare nod al reelei era format dintr-un IMP i dintr-o gazd, aflate n aceeai ncpere
i legate printr-un fir scurt. O gazd putea s trimit mesaje de pn la 8063 bii spre IMP-ul
su, iar acesta descompunea apoi mesajele n pachete de cel mult 1008 bii i le retransmitea
la destinaie separat. Fiecare pachet era primit n ntregime nainte de a fi reexpediat, astfel c
subreeaua a fost prima reea electronic memoreaz-i-retransmite cu comutare de pachete.
ARPA a cutat apoi o ofert pentru construirea subreelei. Au depus oferte dousprezece
firme. Dup evaluarea tuturor propunerilor, ARPA a selectat BBN, o firm de consultan din
Cambridge, Massachusetts, i n 1968 a ncheiat cu aceasta un contract pentru construirea subreelei
i scrierea programelor de subreea. BBN a decis s utilizeze pe post de IMP-uri minicalculatoare
Honeywell DDP-316 special modificate, dispunnd de o memorie intern de 12K cu cuvinte pe 16
bii. IMP-urile nu aveau discuri, pentru c prile mobile erau considerate nesigure. IMP-urile au
fost interconectate prin linii de 56 kbps nchiriate de la companii de telefoane.
Programele au fost mprite n dou: pentru subreea i pentru gazde. Programele de subreea
cuprind gestionarea captului dinspre IMP al conexiunii gazd-IMP, protocolul IMP-IMP i un
protocol surs IMP - destinaie IMP, proiectat pentru a mri sigurana. Proiectul iniial al reelei
ARPANET este prezentat n Fig. 1-24.
Protocol gazd-gazd
Protocol
Gazd-IMP
Subreea
IMP
EXEMPLE DE REELE
SEC. 15
45
toate acestea, n decembrie 1969 ncepea deja s funcioneze o reea experimental cu patru
noduri, la UCLA, UCSB, SRI i Universitatea din Utah. Au fost alese aceste patru instituii, pentru
c toate aveau un numr mare de contracte cu ARPA i toate aveau calculatoare gazd diferite i
complet incompatibile (doar ca treaba s fie mai amuzant). Pe msur ce se aduceau i se instalau
mai multe IMP-uri, reeaua cretea rapid; n scurt timp, s-a ntins pe tot spaiul Statelor Unite.
Figura 1-25 arat ct de repede a crescut ARPA n primii 3 ani.
UTAH
MIT
LINCOLN CASE
0CARN
UCLA
UCLA
RND
BBN
UCLA
RND
(b)
ta)
(C)
LBL MCCLELLAN
/uTAH
^_
NCAR
AMESO
UCSB
STAN O OSDC
UCU
RND TINKER
RADCx
BBN HARVARD
MIT
ARPA
MITRE
SAAC
BELVOIR
CMU
NBS
UCLA
(d)
ILLINOIS
CCA
BBN
HARVARD 0 U N C C
ABERDEEN
STANFORD
NB
ETAC
MCCLELLAN
SRI
UTAH
SDC
USC
NOAA
GWC
CASE
(e)
Fig. 1-25. (a) Dec. 1969. (b) Iulie 1970. (c) Martie 1971. (d) Aprilie 1972. (e) Sept. 1972.
Mai trziu, programele pentru IMP-uri au fost modificate pentru a permite terminalelor s
se lege direct la un IMP special, numit TIP (Terminal Interface Processor - procesor de
interfatare a terminalelor), fr a fi nevoie s treac printr-o gazd. Schimbrile ulterioare au
permis, printre altele, existena mai multor gazde pentru un IMP (pentru a economisi bani),
comunicarea gazdelor cu mai multe IMP-uri (ca mijloc de aprare mpotriva defectrii
IMP-urilor) i separarea gazdelor de IMP-uri prin distane mari (pentru ca gazdele s se afle
departe de subreea).
Pe lng ajutorul oferit pentru dezvoltarea tnrului ARPANET, ARPA a finanat de
asemenea cercetri n domeniul reelelor de satelii i reelelor mobile radio cu pachete. ntro faimoas demonstraie, un Camion care circula n California folosea reeaua radio cu
pachete pentru a trimite mesaje ctre SRI, aceste mesaje erau retransmise apoi prin
ARPANET pe Coasta de Est, iar de aici mesajele erau expediate ctre University CoUege din
46
INTRODUCERE
CAP. 1
Londra prin reeaua de satelii. Acest lucru permitea unui cercettor din camion s utilizeze
un calculator din Londra n timp ce cltorea prin California.
Acest experiment a demonstrat totodat c protocoalele ARPANET existente nu erau potrivite
pentru a rula pe mai multe reele. Observaia a condus la noi cercetri asupra protocoalelor,
culminnd cu invenia modelului i protocoalelor TCP/IP (Cerf i Kahn, 1974). TCP/IP a fost
proiectat special pentru a trata comunicarea prin inter-reele, un lucru care devenea din ce n ce mai
important, pe msur ce tot mai multe reele erau legate la ARPANET.
Pentru a ncuraja adoptarea acestor noi protocoale, ARPA a semnat cteva contracte cu BBN i
cu University of California din Berkeley pentru a integra protocoalele n Berkeley UNIX.
Cercettorii de la Berkeley au dezvoltat o interfa de programare cu reeaua (soclurile) i au scris
numeroase aplicaii, utilitare i programe de administrare care s simplifice interconectarea.
Momentul era perfect. Multe universiti tocmai achiziionaser un al doilea sau al treilea
calculator VAX i un LAN care s le conecteze, dar nu aveau nici un fel de programe de
interconectare. Cnd a aprut 4.2BSD, cu TCP/IP, socluri i multe utilitare de reea, pachetul
complet a fost adoptat imediat. Mai mult chiar, folosind TCP/IP, LAN-urile se puteau lega simplu
la ARPANET, i multe LAN-uri au fcut acest lucru.
n 1983, ARPANET-ul, cu peste 200 de IMP-uri i cu sute de gazde, era stabil i se bucura de
succes. n acest moment, ARPA a ncredinat administrarea reelei Ageniei de Comunicaii a
Aprrii (Defense Communications Agency - DCA), pentru a o folosi ca reea operaional. Primul
lucru pe care 1-a fcut DCA a fost s izoleze poriunea militar (aproximativ 160 de IMP-uri, din
care 110 n Statele Unite i 50 n strintate) ntr-o subreea separat, MILNET, i s prevad pori
stricte ntre MILNET i subreeaua de cercetare rmas.
n timpul anilor 1980 au fost conectate la ARPANET multe alte reele, n special LAN-uri. Pe
msur ce cretea dimensiunea reelei, gsirea gazdelor devenea tot mai costisitoare; de aceea, a
fost creat DNS (Domain Naming System - Sistemul Numelor de Domenii), care organiza mainile
n domenii i punea n coresponden numele gazdelor cu adrese IP. De atunci ncoace, DNS a
ajuns s fie un sistem de baze distribuit, generalizat, folosit pentru a memora diverse informaii
referitoare la procedurile de atribuire a numelor. Vom studia detaliat acest sistem n Cap. 7.
n 1990 ARPANET-ul era deja surclasat de reele mai modeme crora le dduse natere el
nsui. Prin urmare, ARPANET-ul a fost nchis i demontat, dar el continu s triasc n inima i
mintea specialitilor n reele de pretutindeni. MILNET funcioneaz, totui, n continuare.
1.5.3
NSFNET
La sfritul anilor 1970, NSF (U.S. National Science Foundation - Fundaia Naional de tiin
din SUA) a remarcat enormul impact pe care ARPANET-ul l avea asupra cercetrii universitare,
reeaua permind savanilor din toat ara s partajeze date i s colaboreze la proiecte de
cercetare. Dar, pentru a se conecta la ARPANET, o universitate trebuia s aib un contract de
cercetare cu DoD, iar multe universiti nu aveau. Lipsa accesului universal a determinat NSF-ul s
organizeze o reea virtual, CSNET, centrat n jurul unei singure maini de la BBN care asigura
suport pentru linii telefonice i care avea conexiuni cu ARPANET-ul i cu alte reele. Folosind
CSNET, cercettorii puteau suna i lsa pot electronic pentru a fi citit mai trziu de alte
persoane. Era simplu, i funciona.
SEC 1^
EXEMPLE DE REELE
47
n 1984 NSF a nceput s proiecteze un succesor de mare vitez al ARPANET-ului care s fie
deschis tuturor grupurilor de cercetare din universiti. Pentru a avea ceva concret cu care s
nceap, NSF a hotrt s construiasc o coloan vertebral care s lege centrele sale de
supercalculatoare din ase orae: San Diego, Boulder, Champaign, Pittsburgh, Ithaca i Princeton.
Fiecare supercalculator a primit un frate mai mic, constnd dintr-un minicalculator LSI-11 numit
fuzzlball. Fuzzball-urile au fost legate prin linii nchiriate de 56 kbps i au format subreeaua - aceeai
tehnologie hardware folosit i de ARPANET. Oricum, tehnologia software era diferit:
fuzzball-urile utilizau TCP/IP de la bun nceput; prin urmare, acesta a fost primul WAN TCP/IP.
NSF a finanat, de asemenea, un numr de (aproximativ 20, pn la urm) reele regionale care
se conectau la coloana vertebral, permind utilizatorilor din mii de universiti, laboratoare de
cercetare, biblioteci i muzee s acceseze oricare dintre supercalculatoare i s comunice ntre ei.
Reeaua complet, care includea coloana vertebral i reelele regionale, a fost numit NSFNET.
Aceasta a fost conectat la ARPANET printr-o legtur ntre un IMP i un fuzzball din laboratorul
de la Carnegie-Mellon. Prima coloan vertebral NSFNET este ilustrat n Fig. 1-26.
48
INTRODUCERE
CAPI
Avansate), ca un pas pe drumul spre comercializare. n 1990, ANS a preluat NSFNET i a nlocuit
legturile de 1.5 Mbps cu legturi de 45 Mbps, formnd ANSNET.
n decembrie 1991, Congresul Statelor Unite a aprobat un proiect de lege care autoriza
NREN (National Research and Educaional Network - Reeaua de Cercetare i Educaie
Naional), succesorul din domeniul cercetrii al NSFNET-ului, funcionnd ns la viteze de
ordinul gigabiilor. Obiectivul era s se realizeze naintea sfritului de mileniu o reea
naional funcionnd la 3 Gbps. Aceast reea este gndit ca un prototip al mult discutatei
super-magistrale informaionale.
Deoarece numeroase companii aveau reele IP comerciale, n 1995 coloana vertebral a
NSFNET-ului deja nu mai era necesar pentru interconectarea reelelor regionale ale NSFului. Cnd America Online a cumprat ANSNET-ul n 1995, reelele regionale ale NSF-ului
au fost deconectate i au fost nevoite s cumpere servicii IP pentru a se interconecta.
: Ca s uureze tranziia i ca s fie sigur c orice reea regional putea comunica cu orice alt
reea regional, NSF a semnat contracte cu patru operatori de reele diferii n vederea stabilirii
unui NAP (Network Access Point - punct de acces la reea). Aceti operatori erau PacBell (San
Francisco), Ameritech (Chicago), MFS (Washington, D.C.), i Sprint (New York City, unde - din
raiuni legate de NAP - Pennsauken, N.J. se consider New York City). Fiecare operator de reea
care dorea s ofere servicii de infrastructur pentru reelele regionale NSF trebuia s se lege la
toate NAP-urile. De aceea, pentru a ajunge de la NAP-ul su la NAP-ul destinaiei, un pachet
trimis din orice reea regional putea opta ntre mai multe companii care ofer servicii de transmisie
pe coloana vertebral. n consecin, pentru a fi alese de reelele regionale, companiile de
comunicaii au fost forate s intre n competiie pe baza serviciilor i preurilor practicate - i,
bineneles, asta era i ideea. Pe lng NAP-urile NSF, au mai fost create i diverse NAP-uri
guvernamentale (de exemplu, FIX-E, FIX-W, MAE-East i MAE-West) i NAP-uri comerciale (de
exemplu, CIX), astfel nct conceptul unei singure coloane vertebrale implicite a fost nlocuit de o
infrastructur competitiv pe baze comerciale.
Alte ri i regiuni construiesc i ele reele comparabile cu NSFNET. n Europa, de
exemplu, EBONE este o coloan vertebral IP pentru organizaii de cercetare i EuropaNET
este o reea orientat mai mult spre domeniul comercial. Ambele reele leag numeroase
orae din Europa prin linii de 2 Mbps. n prezent se lucreaz la schimbarea acestora cu linii
de 34 Mbps. Fiecare ar din Europa are una sau mai multe reele naionale, care sunt, n linii
mari, similare cu reelele regionale NSF.
1.5.4 Internet-ul
Numrul reelelor , mainilor i utilizatorilor conectai la ARPANET a crescut rapid dup ce
TCP/IP a devenit, la 1 ian. 1983, unicul protocol oficial. Cnd au fost conectate NSFNET i
ARPANET, creterea a devenit exponenial. S-au alturat multe reele regionale i s-au realizat
legturi cu reele din Canada, Europa i Pacific.
Cndva, pe la mijlocul anilor 1980, lumea a nceput s vad colecia de reele ca fiind un
internet, iar apoi ca fiind Internet-ul; nu a existat ns nici un toast oficial cu politicieni
desfcnd sticle de ampanie.
Creterea a continuat exponenial i n 1990 Internet-ul ajunsese s cuprind 3000 de reele i
200.000 de calculatoare. n 1992 a fost ataat'gazda cu numrul 1.000.000. n 1995 existau mai
SEC
L5
EXEMPLE DE REELE
49
multe coloane vertebrale, sute de reele de nivel mediu (adic regionale), zeci de mii de LAN-uri,
milioane de gazde i zeci de milioane de utilizatori. Mrirnea Internet-ului se dubleaz aproximativ
la fiecare an (Paxson, 1994).
Mare parte din cretere se datoreaz conectrii la Internet a reelelor existente. Printre acestea
s-au numrat n trecut SPN, reeaua de fizic spaial a NASA, HEPNET, o reea de fizica
energiilor nalte, BITNET, reeaua de sisteme de calcul a IBM-ului, EARN, o reea academic
european foarte utilizat acum n Europa de Est, i multe altele. Sunt n funciune numeroase
legturi transatlantice, cu viteze cuprinse ntre 64 kbps i 2 Mbps.
Substana care ine legat Internet-ul este modelul de referin TCP/IP i stiva de protocoale
TCP/IP- TCP/IP face posibile serviciile universale, putnd fi comparat cu sistemul telefonic sau cu
adoptarea limii standard pentru cile ferate n secolul 19.
Ce nseamn de fapt s fii pe Internet? Definiia noastr este c o main este pe Internet dac
folosete stiva de protocoale TCP/IP, are o adres IP i are posibilitatea de a trimite pachete IP
ctre toate celelalte maini de pe Internet. Simpla posibilitate de a trimite i primi pot electronic
nu este suficient, deoarece pota electronic este redirectat ctre multe reele din afara Internetului. Oricum, subiectul este cumva umbrit de faptul c multe calculatoare personale pot s apeleze
un furnizor de servicii Internet folosind un modem, s primeasc o adres IP temporar i apoi s
trimit pachete IP spre alte gazde. Are sens s privim asemenea maini ca fiind pe Internet numai
atta timp ct ele sunt conectate la ruterul furnizorului de servicii.
Dat fiind creterea exponenial, vechiul mod informai de funcionare a Internet-ului nu mai
este acceptabil. n ianuarie 1992 a fost nfiinat Societatea Internet, cu scopul de a promova
utilizarea Internet-ului i, probabil, de a prelua n cele din urm administrarea sa.
Tradiional, Internet-ul a avut patru aplicaii principale, dup cum urmeaz:
Pota electronic. Facilitatea de a compune, trimite i primi pot electronic a existat din
primele zile ale ARPANET-ului i este imens de popular. Muli oameni primesc zeci de
mesaje pe zi i consider pota electronic principalul lor mijloc de a interaciona cu lumea
exterioar, depind de departe telefonul i pota obinuit. Programele de pot
electronic sunt astzi disponibile practic pe orice tip de calculator.
2. tiri. Grupurile de tiri sunt forumuri specializate n care utilizatorii cu un anumit interes
comun pot s fac schimb de mesaje. Exist mii de grupuri de tiri, pe subiecte tehnice sau
nontehnice incluznd calculatoarele, tiina, divertismentul i politica. Fiecare grup de tiri
are eticheta, stilul i obiceiurile sale proprii i nenorocirea s se abat asupra oricui le
ncalc.
3. Conectare la distan. Folosind Telnet, Rlogin sau alte programe, utilizatorii aflai oriunde
pe Internet pot s se conecteze la orice main pe care au un cont.
4. Transfer de fiiere. Copierea fiierelor de pe o main din Internet pe alta este posibil
utiliznd programul FTP. n acest fel sunt disponibile imens de multe articole, baze de date
si alte informaii.
1.
Pn la nceputul anilor 1990 Internet-ul a fost foarte populat cu cercettori din domeniul
academic, guvernamental i industrial. O aplicaie nou, WWW (World Wide Web), a schimbat
toat situaia i a adus n reea milioane de noi utilizatori care nu fac parte din mediul academic.
Aceast aplicaie, inventat de fizicianul Tim Berners Lee de la CERN, nu a modificat nici una din
50
INTRODUCERE
CARI
facilitile existente, h schfeib le-a fcut mai uor de folosit. mpreun cu programul de navigare
Mosaic, scris la Centrul Naional pentru Aplicaiile Supercalculatoarelor, WWW-ul a fcut posibil
ca un sit s pun la dispoziie un numr de pagini de informaii coninnd text, poze, sunet i chiar
video, n fiecare pagin existnd legturi ctre alte pagini Printr-un clic pe o legtur, utilizatorul
este imediat transportat la pagina indicat de legturi De exemplu, multe firme au o pagin
principal cu intrri care trimit la alte pagini pentru informaii asupra produselor, liste de preuri,
reduceri, suport tehnic, comunicare cu-angajaii, informaii despre acionari i multe altele.
ntr-un timp foarte scurt au aprut numeroase alte tipuri de pagini: hri, tabele cu cotaii la
burs, cataloage de bibliotec, programe radio nregistrate i chiar o pagin care indic spre textele
complete ale multor cri crora le-au expirat drepturile de autor (Mark Twain, Charles Dickens,
etc). De asemenea, muli oameni au pagini personale (home pages).
n primul an de la lansarea Mosaic-ului, numrul de servere WWW a crescut de la 100 la 7000.
Aceast enorm cretere va continua, fr ndoial, n urmtorii ani i va reprezenta, probabil, fora
care va conduce tehnologia i utilizarea Internet-ului spre mileniul urmtor.
Despre Internet i protocoalele sale s-au scris multe cri. Pentru mai mult informaie, a se
vedea (Black, 1995; Carl-Mitchell i Quarterman, 1993; Corner, 1995; i Santifaller, 1994).
1.5.5
Prototipuri gigabit
Coloanele vertebrale Internet opereaz la viteze de ordinul megabiilor. Pentru oamenii care
vor s foreze limitele actuale ale tehnologiei, urmtorul pas l reprezint interconectarea la viteze
de gigabii. Odat cu fiecare cretere a limii de band din reele, devin posibile aplicaii noi, iar
reelele gigabit nu sunt o excepie. n aceast seciune vom spune mai nti cteva cuvinte despre
aplicaiile gigabit, vom meniona dou dintre ele, dup care vom prezenta cteva exemple de
prototipuri gigabit construite pn acum.
Reelele gigabit asigur o lime de band mai bun dect reelele megabit, dar nu totdeauna i
o ntrziere mai bun. De exemplu, trimiterea unui pachet de 1 KB de la New York la San
Francisco la 1 Mbps necesit 1 msec pentru a recepiona biii i 20 msec pentru ntrzierea
transcontinental, ceea ce nseamn un total de 21 msec. O reea de 1 Gbps poate reduce timpul
total la 20,001 msec. Dei biii pot fi primii mai rapid, ntrzierea transcontinental rmne aceeai,
pentru c viteza luminii prin fibre optice (sau fire de cupru) este de aproximativ 200.000 km/sec,
independent de rata de transmisie a datelor. De aceea, trecerea la viteze mai ridicate poate s nu fie
de mare ajutor pentru aplicaii larg rspndite geografic n care ntrzierea redus este critic. Din
fericire, exist aplicaii pentru care conteaz exact limea de band i pentru aceste aplicaii
reelele gigabit vor nsemna o mare diferen.
Una din aplicaii este telemedicina. Mult lume se gndete c un mijloc de a reduce
costurile medicale este reintroducerea doctorilor de familie i clinicilor familiale pe scar
larg, astfel nct oricine s aib acces convenabil la ngrijire medical. Cnd apare o
problem medical serioas, doctorul de familie poate cere teste de laborator i explorri prin
imagistic medical, de exemplu raze X, scanare CAT sau scanare MRI. Rezultatele testelor
i imaginile obinute pot fi apoi trimise electronic la un specialist care stabilete diagnosticul.
Doctorii nu doresc, n general, s pun diagnostic pe baza imaginilor pe calculator dect dac
imaginile transmise au o calitate la fel de bun ca imaginile originale. Din aceast cauz, imaginile
vor avea, probabil, nevoie de 4K x 4K pixeli, cn&Mi per pixel (imagini alb negru) sau 24 bii per
SEC. 1.5
EXEMPLE DE REELE
51
piei (imagini color). Deoarece multe teste presupun pn la 100 de imagini (de exemplu, diferite
seciuni transversale ale organului examinat), o singur serie de imagini pentru un pacient poate s
genereze 40 gigabii. Imaginile n micare (de exemplu, o inim care bate) genereaz o cantitate de
date nc i mai mare. Compresia poate ajuta, ns doctorii sunt precaui, pentru c algoritmii cei
mai eficieni reduc din calitatea imaginilor. n plus, toate imaginile trebuie stocate ani de zile, dar, n
cazul unei urgene, poate fi necesar examinarea lor imediat. Spitalele nu doresc s devin centre
de calculatoare i, de aceea, este esenial stocarea datelor n afara spitalului, combinat cu
transmisia electronic de band larg.
O alt aplicaie gigabit este ntlnirea virtual. n fiecare sal pentru ntlniri exist o video
camer sferic i unul sau mai muli oameni. Fluxurile de bii de la fiecare camer sunt combinate
electronic pentru a da iluzia c toat lumea se afl n aceeai ncpere. Fiecare persoan vede aceast
imagine folosind ecrane pentru realitatea virtual. n acest mod, ntlnirile pot avea loc evitnd
cltoriile, dar, nc o dat, volumul de date necesar este uria.
ncepnd din 1989, iar mai trziu ca parte a proiectului NREN, ARPA i NSF au convenit
s finaneze mpreun un numr de prototipuri gigabit universitare i industriale. n unele
cazuri, viteza de transmisie a datelor ntr-un sens era de 622 Mbps, aa c, numai socotind
traficul n ambele sensuri, se obine un gigabit. Acest tip de gigabit este uneori numit un
gigabit guvernamental." (Unii cinici l numesc: un gigabit dup impozitare.) Vom meniona
pe scurt primele cinci proiecte. Ele i-au realizat scopul i s-au ncheiat, dar merit aprecierile
noastre ca pionierat n domeniu - n acelai sens n care merit aprecieri i ARPANET-ul.
1.
Aurora a fost un prototip care lega patru site-uri din Nord-est: M.I.T., University of
Pennsylvania, TJ. Watson Lab al IBM-ului i Bellcore (Morristown, N.J.). Viteza era de
622 Mbps i se utilizau fibre optice de la MCI, Bell Atlantic i NYNEX. Aurora a fost
proiectat n mare msur pentru a ajuta, folosind reele paralele, la depanarea
comutatorului Sunshine - produs de Bellcore i plaNET - comutatorul (proprietar) al IBMului. Subiectele de cercetare au inclus tehnologia de comutare, protocoalele gigabit,
dirijarea, controlul reelei, memoria virtual distribuit, i colaborarea cu ajutorul
videoconferinelor. Pentru mai multe informaii, a se vedea (Clark .a., 1993).
2.
Blanca a fost la nceput un proiect de cercetare numit XUNET, n care au fost implicai
AT&T Bell Labs, Berkeley i Universitatea din Wisconsin. n 1990, proiectul a fost extins la
cteva noi situri (LBL, Cray Research i Universitatea din Illinois) i a obinut finanare de
la NSF/ARPA. O parte a reelei funciona la 622 Mbps, dar alte pri funcionau la viteze
mai mici. Blanca a fost singurul prototip naional; restul au fost regionale. Prin urmare, a
existat o preocupare deosebit n ceea ce privete efectele datorate ntrzierii legate de
viteza luminii. n acest sens, prezentau interes protocoalele, mai ales protocoalele de
control al reelei, interfeele gazdelor i aplicaiile gigabit de tipul imagisticii medicale,
modelrii meteorologice i astronomiei radio. Pentru mai multe informaii a se vedea
(Catlett, 1992; i Fraser, 1993).
3.
52
INTRODUCERE
GAP. 1
Nectar se deosebea de cele trei prototipuri prezentate mai sus prin faptul c era un MAN
gigabit experimental. Nectar opera ntre CMU i Centrul de Supercalculatoare din
Pittsburgh. Proiectanii erau interesai de aplicaii privind descrierea proceselor chimice i,
totodat, de scule de depanare pentru acestea.
5.
"VISTAnet a fost un prototip gigabit redus, care opera n Research Triangle Park, North
Carolina i conecta Universitatea din North Carolina, Universitatea de Stat din North
Carolina i MCNC. Scopul era realizarea unui prototip pentru o reea gigabit public, cu
comutare; comutatoarele aveau sute de linii gigabit i, din acest motiv, trebuia s fie
capabile de procesri de ordinul terabiilor/sec. Cercetarea tiinific s-a focalizat pe
utilizarea imaginilor 3D n planificarea terapiei prin iradiere pentru pacienii de cancer;
oncologul avea posibilitatea s varieze parametrii fasciculului de radiaii i s vad
instantaneu doza de radiaii care ajungea la tumoare i nconjura esutul (Ransom, 1992).
1.6
Companiile telefonice i alte firme au nceput s ofere servicii de reea pe baz de abonament
oricrei organizaii interesate. Subreeaua, aflat n proprietatea operatorului reelei, ofer servicii
de comunicaii pentru gazdele i terminalele clienilor. Un astfel de sistem se numete o reea
public. Este analogul sistemului telefonic public i, deseori, face parte din el. Am vzut deja pe
A
scurt un serviciu nou, DQDB, n Fig. 1-4. In seciunile urmtoare vom studia alte patru exemple de
servicii: SMDS, X.25, retransmiterea cadrelor i ISDN de band larg.
1.6.1 SMDS - Serviciu de Date Comutat Multimegabit
Primul serviciu pe care l lum n discuie, SMDS (Switched Multimegabit Data Service serviciu de date comutat multimegabit), a fost proiectat pentru a interconecta mai multe LAN-uri,
de obicei LAN-uri din filialele i fabricile unei singure companii. Acest serviciu a fost proiectat de
Bellcore n anii '80 i a fost pus efectiv n funciune la nceputul anilor '90 de ctre companii de
comunicaii - majoritatea regionale, dar i cteva care operau pe distane mari. Obiectivul era
producerea unui serviciu de date de mare vitez i scoaterea sa pe pia cu ct mai puin trboi.
SMDS este primul serviciu comutat de band larg (adic de vitez mare) oferit publicului.
Pentru a vedea o situaie n care SMDS ar fi util, s considerm o firm cu patru birouri n patru
orae diferite, fiecare cu propriul su LAN. Firma ar dori s lege toate LAN-urile, astfel nct
pachetele s poat circula de la un IAN la altul. Una din soluii ar fi s nchirieze ase linii de mare
vitez i s conecteze LAN-urile complet, aa cum arat n Fig. l-27(a). O astfel de soluie este
foarte posibil, dar este costisitoare.
O soluie alternativ este s se foloseasc SMDS, dup cum este artat n Fig. l-27(b). Reeaua
o-coloan yertebralJAN de mare vitez, permind pachetelor din orice
SEC. 1.6
S3
k
s circule spre orice alt LAN. ntre LAN-urile din birourile clienilor i reeaua SMDS din
birourile companiei telefonice exist o (scurt) linie de acces nchiriat de la compania telefonic.
De obicei, aceast linie este un MAN i folosete DQDB, dar pot fi disponibile i alte opiuni.
LAN1
LAN 3
LAN 4
LAN 2
(a)
Octei
Adresa
destinaiei
Adresa
sursei
Datele utilizatorului
INTRODUCERE
CAP.l
Reele X25
Multe reele publice mai vechi, mai ales n afara Statelor Unite, respect un standard numit
X.25. Acesta a fost dezvoltat n anii 1970 de ctre CQTT pentru a asigura o interfa ntre reelele
publice cu comutare de pachete i clienii acestor reele.
SEC 16
55
g
nivelului fizic, numit X21, specific interfaa fizic, electric i procedural ntre
gazd si reea. Foarte puine reele publice asigur suport peiitru acest standard, deoarece el
necesit semnale digitale, nu analogice, pe liniile telefonice. Ca o msur interimar a fost definit o
interfa analogic similar familiarului standard RS-232.
Standardul nivelului legtur de date are cteva variante (uor incompatibile). Toate variantele
sunt proiectate pentru a trata erorile de transmisie de pe liniile telefonice dintre echipamentul
(gazda sau terminalul) utilizatorului i reeaua public (rutenii).
Protocolul nivelului reea se ocup de adresare, de controlul fluxului, de confirmarea primirii, de
ntreruperi i de alte probleme asemntoare. n principal, el permite utilizatorului sjabileasc
circuite virtuale i s transmit apoi pe ele pachete de pn la 128 octei. Aceste pachete sunt livrate
Inlguran i n ordine. Majoritatea reelelor X.25 lucreaz Ia viteze de pn la 64 Kbps, ceea ce le
face nepotrivite pentru multe sarcini. Cu toate acestea, ele sunt nc rspndite i, de aceea, cititorul
trebuie s tie de existena lor.
X.25 este orientat pe ccmexjuni^
Un
circuit vkSarOTmMtat este creat atunci cnd un calculator trimite reelei un pachet n care i cere s
apeleze un calculator aflat la distan. Odat stabilit conexiunea, pachetele pot fi transmise prin
conexiunea respectiv, urmnd s soseasc totdeauna n ordinea corect. Pentru a se asigura c un
emitor rapid nu poate s nece un receptor lent sau ocupat, X.25 asigur controlul fluxului.
Un circuit virtual permanent este folosit la fel ca unul comutat, cu deosebarea c este instalat n
avans, prin nelegere ntre client i compania telefonic. El este prezent ntotdeauna, nefiind nevoie
s fie configurat pentru a-1 folosi. Circuitul virtual permanent este analog cu o linie nchiriat.
Deoarece lumea este plin, nc, de terminale care nu cunosc X.25, a fost definit un alt set de
standarde, care descriu cum comunic un terminal obinuit (neinteligent) cu o reea public X.25.
Practic, utilizatorul sau operatorul reelei instaleaz o cutie neagr" la care se pot conecta aceste
terminale. Cutia neagr se numete PAD (Packet Assembter Disassembier - asamblor/dezasamblor
de pachete) i funcia ei este descris ntr-un document cunoscut ca XJ. ntre terminal i PAD a
fost definit un protocol standard, numit X.2R; ntre PAD i reea exist un alt protocol standard,
numit X.29. Toate aceste trei recomandri, mpreun, sunt deseori numite triplu X.
1.63 Retransmiterea cadrelor
Retransmiterea cadrelor este un serviciu pentru persoanele care doresc o modalitate orientat
pe conexiune absolut minimal pentru a transfera bitde la. A la B cu viteze rezorble i aTcosturi
reduse (Smith, 1993). Existena sa se datoreaz schimbrilor care au avut loc n tehnologie n
ultimele dou decenii. Acum douzeci de ani, comunicarea prin linii telefonice era lent, analogic
i nesigur, iar calculatoarele erau lente i scumpe. Ca urmare, pentru mascarea erorilor, era nevoie
de protocoale complexe, iar calculatoarele utilizatorilor erau prea costisitoare pentru a fi puse s
fac acest lucru.
Situaia s-a schimbat radical. Liniile telefonice nchiriate sunt rapide, digitale i sigure, iar
calculatoarele sunt rapide i ieftine. Faptul sugereaz utilizarea unor protocoale simple, cea mai
mare parte din munc fiind fcut mai curnd de calculatoarele utilizatorilor dect de reea. Acesta
este contextul n care funcioneaz retransmiterea cadrelor.
cadrelor^oate^,cel_mai bine gndit ca o-linie mchkiat virtual. CJentul
^
ntre dou puncte, dup care poate trimite ntre acestea
56
INTRODUCERE
CAP. 1
cadre (adic pachete) de pn la 1600 octei. Este, de asemenea, posibil nchirierea de circuite
virtuale permanente ntre un sit dat i multe alte situri, astfel c fiecare cadru poart un numr de
10 bii care spune ce circuit virtual s foloseasc.
Diferena ntre o linie nchiriat efectiv i o linie nchiriat virtual este c, folosind o linie
efectiv, utilizatorul poate transmite toat ziua trafic la viteza maxim. n cazul unei linii virtuale,
rafalele de date pot fi trimise cu vitez maxim, dar utilizarea medie pe termen lung trebuie s se
menin sub un anumit nivel prestabilit. n schimb, firma de transmisie cere mult mai puini bani
pentru o linie virtual dect pentru una fizic.
Suplimentar faa de competiia cu liniile nchiriate, retransmiterea cadrelor reprezint un
concurent i pentru circuitele virtuale permanente X.25. Retransmiterea cadrelor opereaz ns la
viteze mai ridicate, de obicei 1.5 Mbps, i prevede mai puine faciliti.
Retransmiterea cadrelor asigur un serviciu minimal, n primul rnd o modalitate de a
determina nceputul i sfritul fiecrui cadru, i detectarea erorilor de transmisie. Dac se
primete un cadru deteriorat, atunci retransmiterea cadrelor l elimin pur i simplu. Este
responsabilitatea utilizatorului s descopere c lipsete un cadru i s ntreprind aciunile
necesare pentru a-1 recupera. Spre deosebire de X.25, retransmiterea cadrelor nu prevede
confirmri sau controlul fluxului normal. Totui, conine n antet un bit pe care un capt al
conexiunii poate s l seteze pentru a indica celuilalt capt existena unei probleme. Folosirea
acestui bit este la latitudinea utilizatorilor.
1.6.4 ISDN de band larg i ATM
Chiar dac serviciile prezentate anterior devin populare, companiile telefonice sunt
confruntate n continuare cu o problem mult mai important: reelele multiple. POTS (Plain
Old System Service) i Telexul folosesc vechile reele cu comutare de circuite. Fiecare serviciu
de date nou, aa cum sunt SMDS sau retransmiterea cadrelor, folosete propria sa reea cu
comutare de pachete. DQDB difer de acestea , iar reeaua de administrare a apelurilor
telefonice interne (SSN 7) este o alt reea. Administrarea tuturor acestor reele separate este
o btaie de cap major; n plus, exist o alt reea, televiziunea prin cablu, pe care companiile
telefonice nu o controleaz, dar ar dori s o fac.
Soluia preconizat este inventarea unei singure noi reele a viitorului, care va nlocui ntregul
sistem telefonic i toate reelele specializate printr-o singur reea integrat pentru toate tipurile de
transfer de informaii. Noua reea va avea o vitez de transmisie uria n comparaie cu toate
reelele i serviciile existente i va face posibil oferirea unei mari varieti de servicii noi. Acesta nu
reprezint un proiect mic i, desigur, nu va fi realizat peste noapte, dar lucrul a nceput deja.
Noul serviciu larg rspndit geografic se numete B-ISDN (Broadband Integrated Services
Digital Network - reea digital cu servicii integrate de band larg). El va oferi video la cerere,
televiziune n direct din numeroase surse, pot electronic multimedia, muzic la calitatea CDurilor, interconectare de LAN-uri, transport de date de mare vitez pentru tiin i industrie i
multe alte servicii care nici mcar nu au fost gndite nc - toate acestea prin linii telefonice.
Tehnologia care face posibil B-ISDN-ul se numete ATM (Asynchronous Transfer Mode - mod
de transfer asincron), deoarece funcionarea nu este sincron (legat de un ceas mater), aa cum
este n cazul majoritii liniilor telefonice pe distane lungi. Trebuie remarcat c acronimul ATM de
SEC 1.6
57
aici nu are nimic n comun cu acele Automated TeDer Machines3 pe care le pun la dispoziie
numeroase bnci (dei o main ATM poate utiliza o reea ATM pentru a conversa cu banca sa).
Dei mai este un drum lung n fa, s-a lucrat deja destul de mult la ATM i la sistemul BISDN care l folosete. Pentru mai mult informaie asupra acestui subiect, a se vedea
(Fischer .a., 1994; Gasman, 1994; Goralski, 1995; Kim .a., 1994; Kyas, 1995; McDysan i
Spohn, 1995; i Stallings, 1995).
Octei
48
Datele utilizatorului
Antet
58
INTRODUCERE
Atunci cnd a fost propus ATM-ul, toat discuia (adic publicitatea) se nvrtea, practic, n
jurul posibilitii de a oferi video la cerere n fiecare cas i de a nlocui sistemul telefonic, aa cum sa descris anterior. ntre timp, au devenit importante i alte aspecte. Multe organizaii nu prea mai
au lime de band suficient n LAN-urile din campusurile sau cldirile lor, fiind astfel forate s se
orienteze spre un anumit tip de sistem cu comutare care s ofere mai mult lime de band dect
are un singur LAN. De asemenea, n sistemele client-server, este necesar ca unele aplicaii s poat
conversa cu anumite servere la viteze ridicate. Pentru amndou problemele ATM-ul este, cu
siguran, un candidat foarte important. Cu toate acestea, ntre obiectivul de a nlocui ntregul
sistem telefonic analogic de vitez sczut printr-un sistem digital de mare vitez i scopul de a
ncerca legarea tuturor Ethernet-urilor din campus este o diferen oarecum dezamgitoare.
Interconectarea LAN-urilor folosind ATM este discutat n (Kavak, 1995; Newman, 1994; i
Gtruong .a., 1995).
Merit de asemenea subliniat c organizaii diferite implicate n ATM au interese (financiare)
diferite. Companiile de telefonie la mare distan i PTT-urile sunt cele mai interesate n folosirea
ATM-ului pentru a nlocui sistemul telefonic i a concura cu firmele de televiziune prin cablu pe
piaa distribuiei electronice de imagini video. Vnztorii de calculatoare vd LAN-urile ATM din
campusuri ca marea surs de ctiguri (pentru ei). Toate aceste interese concurente nu fac ca
procesul de standardizare aflat n curs s fie nici mai simplu, nici mai rapid i nici mai coerent.
Totodat, politicile i puterea care se manifest n cadrul organizaiei pentru standardizarea ATMului (Forumul ATM) au o influen considerabil asupra a ceea ce va fi n final ATM-ul.
Modelul de referin B-ISDN ATM
S ne ntoarcem acum napoi la tehnologia ATM-ului, aa cum va fi el utilizat n special n
(viitorul) sistem telefonic. ISDN-ul de band larg folosind ATM are propriul su model de
referin, diferit de modelul OSI i diferit de asemenea de modelul TCP/IP. Acest model este
ilustrat n Fig. 1-30. El const din trei niveluri - nivelul fizic, nivelul ATM i nivelul de adaptare
ATM - plus orice mai vrea utilizatorul s pun deasupra lor.
Nivelul fizic se ocup de mediul fizic: voltaj, planificare la nivel de bii i diverse alte
aspecte. ATM nu prescrie un set particular de reguli, dar spune n schimb c celulele ATM
pot fi trimise direct prin cablu sau fibre optice sau pot fi, ia fel de bine, mpachetate n
interiorul datelor din alte sisteme de transmisie. Cu alte cuvinte, ATM-ul a fost proiectat
pentru a fi independent de mediul de transmisie. ,
Nivelul ATM se ocup de celule i de transportul celulelor. Nivelul definete structura unei
celule i spune ce reprezint cmpurile celulelor. Tot el se ocup i de stabilirea i eliberarea
circuitelor virtuale. Controlul congestiei se realizeaz tot aici.
Deoarece cele mai multe aplicaii nu vor s lucreze direct cu celule (dei unele vor), deasupra
nivelului ATM a fost definit un nivel care permite utilizatorilor s trimit pachete mai mari dect o
celul. Interfaa ATM segmenteaz aceste pachete, transmite celulele individual i le reasambleaz
la cellalt capt. Acest nivel este AAL (ATM Adaption Layer - nivelul de adaptare ATM).
Spre deosebire de cele dou modele de referin anterioare, care erau bidimensionale,
modelul ATM este definit ca fiind tridimensional, dup cum se arat n Fig. 1-30. Planul
utilizator se ocup, printre altele, cu transportul datelor, controlul fluxului, corectarea
erorilor. Prin contrast, sarcina planului de control este s trateze conexiunile. Funciile de
SEC. 1.6
59
Administrarea planurilor
Administrarea nivelurilor
Planul de control
Planul utilizator
CS: Convergence sublayer
(subnivelul de convergen)
Nivelul ATM
Nivel
ATM
3/4
AAL
2/3
Subnivel
ATM
Rolul
CS
SAR
Segmentarea i reasamblarea
Controlul fluxului!
Generarea/extragerea antetelor din celule
Administrarea circuitelor/drumurilor virtuale
Muitiplexarea/demultiplexarea celulelor
ATM
TC
PMD
Temporizarea biilor
Accesul fizic la reea
60
INTRODUCERE
CARI
SEC. 1.7
STANDARDIZAREA REELELOR
61
echipamentele pe eare M vor implementa serviciile evoluate este crucial. Dac serviciile vor
fi asigurate de reea, atunci vor profita de pe urma lor companiile telefonice. Dac serviciile
vor fi asigurate de calculatoare ataate la reea, atunci profitul va reveni productorilor i
operatorilor acestor echipamente. Utilizatorii pot s nu fie interesai de acest aspect, dar
companiile telefonice i vnztorii de tehnic de calcul sunt ct se poate de interesai, iar acest
lucru va afecta, cu siguran, i interesul lor n realizarea ATM-ului.
1.6.5 Comparaii ntre servicii
Cititorul se poate ntreba de ce exist att de multe servicii care sunt incompatibile sau se
suprapun: DQDB, SMDS, X.25, retransmiterea cadrelor, ATM i altele. Motivul trebuie cutat n
decizia din 1984 de a diviza AT&T-ul i de a mri competiia din industria de telecomunicaii.
Diferite firme cu diferite interese i tehnologii sunt acum libere s ofere orice servicii pentru care
ele cred c exist cerere - i multe din ele fac acest lucru din plin.
Caracteristic
Orientat pe conexiune
Viteza normal (Mbps)
Cu comutare
ncrcarea util de dimensiune fix
ncrcarea util maxim
Circuite virtuale permanente
Transmisie multidestinaie
DQDB
Da
45
Nu
Da
44
Nu
Nu
SMDS
Nu
45
Da
X.25
Da
0.064
Da
Retransmiterea cadrelor
Da
1.5
Nu
Nu
Nu
Nu
9188
128
Nu
Da
Da
Nu
1600
Da
Nu
ATM/AAL
Da
155,^ 6 ^
Da '
Nu
Variabil
Da
Da
1.7
STANDARDIZAREA REELELOR
A,
In prezent exist numeroi productori i furnizori, fiecare cu propriile idei despre cum ar trebui
realizate reelele. In lipsa coordonrii, ar fi un haos complet i utilizatorii nu ar putea face nimic.
Singura soluie este s se convin asupra unor standarde de reea.
Standardele nu numai c permit diverselor calculatoare s comunice ntre ele, ci sporesc
totodat piaa pentru produsele care ader la un anumit standard, cu urmtoarele consecine:
62
IISrmODUCERE
CAP. 1
producie de mas, profituri financiare, implementri VLSI i alte beneficii care duc la scderea
preurilor i la acceptarea i mai larg a respectivelor produse. n seciunile urmtoare vom arunca
o privire asupra importantei, dar puin cunoscutei, lumi a standardizrii internaionale.
Standardele fac parte din dou categorii: de facto i de jure. Standardele de facto (expresia
latin pentru de fapt") sunt acelea care pur i simplu au luat fiin, fr s existe vreun plan oficial.
Deoarece zeci de productori au ded s copieze aproape identic mainile IBM, PC-ul IBM i
succesorii si reprezint standarde de facto pentru calculatoarele de birou mici. n seciile de
informatic ale facultilor, UNIX este standardul de facto pentru sisteme de operare.
Standardele de jure (expresia latin pentru de drept") sunt, prin contrast, standarde legale,
adoptate de un anumit organism de standardizare autorizat. Autoritile de standardizare
internaionale sunt, n general, mprite n dou clase: organizaii stabilite prin tratate ntre
guvernele naionale i organizaii voluntare neguvernamentale. n domeniul standardelor pentru
reele de calculatoare exist cteva organizaii din fiecare categorie. n continuare vom discuta
despre aceste organizaii.
1.7.1 Who's Who n lumea telecomunicaiilor
Statutul legal al companiilor telefonice de pe glob variaz considerabil de la ar la ar. La una
din extreme se situeaz Statele Unite, care au 1500 de firme de telefonie private. nainte s fie
divizat, n 1984, AT&T, cea mai mare corporaie din lume la vremea aceea, domina scena complet.
AT&T furniza servicii telefonice pentru aproximativ 80 la sut din telefoanele Americii, rspndite
pe jumtate din ntinderea sa, n timp ce toate celelalte firme asigurau servicii pentru restul
clienilor (rurali, n majoritatea lor). De la divizarea sa, AT&T continu s furnizeze servicii de
lung distan, dar acum o face n concuren cu alte firme. Cele apte Companii Regionale Bell n
care a fost mprit AT&T-ul, precum i alte 1500 de firme independente, ofer servicii de telefonie
local i celular. O parte din aceti independeni, de exemplu GTE, sunt companii foarte mari.
Firmele americane furnizoare de servicii de comunicaii pentru public sunt numite companii
telefonice publice. Ofertele i preurile lor sunt descrise printr-un document numit tarif. Acesta
trebuie s fie aprobat de Comisia Federal de Comunicaii, care se ocup de traficul dintre statele
SUA i de traficul internaional, i de ctre comisiile publice de stat pentru traficul n interiorul su.
La cealalt extrem se afl rile n care guvernul are un monopol complet asupra tuturor
mijloacelor de comunicaie: pota, telegraful, telefonul i, de multe ori, chiar radioul i televiziunea.
Cea mai mare parte a lumii se ncadreaz n aceast categorie. n unele cazuri, autoritatea de
telecomunicaii este o companie naionalizat, n altele, este o simpl filial a guvernului, cunoscut
de obicei sub numele de PTT (Post, Telegraf & Telephone administration). Tendina actual n
lumea ntreag este ctre liberalizare i competiie i mpotriva monopolului guvernamental.
Din cauza tuturor acestor diveri furnizori de servicii este nevoie de o compatibilitate la scar
mondial. Compatibilitatea asigur faptul c oamenii (i calculatoarele) dintr-o ar pot s-i apeleze
partenerii din alt ar. La drept vorbind, aceast necesitate exist de mult timp. n 1865,
reprezentani ai multor guverne din Europa s-au ntlnit pentru a forma predecesorul actualului ITU
(International Telecommunication Union - Uniunea Internaional de Telecomunicaii). Sarcina
Uniunii era standardizarea telecomunicaiilor internaionale, care la vremea aceea nsemnau
telegrafia. Chiar de atunci, era clar c dac jumtate din ri foloseau codul Morse i cealalt
jumtate foloseau un cod diferit, atunci vor apare probleme. Cnd au aprut serviciile de telefonie
SEC 1.7-'
STANDARDIZAREA REELELOR
63
internaional, ITU a preluat de asemenea i sarcina standardizrii telefoniei. n 1947 ITU a devenit
o agenie a Naiunilor Unite.
ITU are trei sectoare principale:
1. Sectorul de Radiocomunicaii (ITU-R).
2. Sectorul de Standardizare a Telecomunicaiilor (ITU-T).
3. Sectorul de dezvoltare (ITU-D).
ITU-R se ocup de alocarea frecvenelor internaionale de radio ctre grupurile concurente
interesate. Ne vom referi mai nti la ITU-T, care se ocup de sistemele de telefonie i de
comunicare de date. Din 1956 pn n 1993, ITU-T a fost cunoscut ca CCITT, un acronim pentru
numele su francez: Comite Consultatif International Telegraphique et Telefonique. La 1 martie
1993, CCITT a fost reorganizat n scopul de a deveni mai puin birocratic i a fost redenumit pentru
a reflecta noul su rol. Att ITU-T ct i CCITT au dat recomandri n domeniul telefoniei i
comunicaiilor de date. Dei, ncepnd cu 1993, recomandrile poart eticheta ITU-T,
recomandrile CCITT, de genul CCITT X.25, mai sunt ntlnite nc frecvent.
ITU-T are cinci clase de membri:
1.
2.
3.
4.
5.
ITU-T are aproximativ 200 de administraii, 100 de operatori privai i cteva sute de ali
membri. La lucrrile ITU-T pot vota numai administraiile, dar pot participa toi membrii.
Deoarece Statele Unite nu posed un PTT, locul su trebuia s fie reprezentat la ITU-T de
altcineva. Aceast sarcin a revenit Departamentului de Stat, probabil, pe baza faptului c ITU-T
avea de-a face cu ri strine, specialitatea Departamentului de Stat.
Sarcina pe care o are ITU-T este de a face recomandri tehnice asupra interfeelor din
telefonie, telegrafie i comunicaii de date. Acestea devin deseori standarde recunoscute
internaional; de exemplu, V.24 (cunoscut n Statele Unite i ca EIA RS-232), care specific
amplasarea i semnificaia pinilor de pe conectorul folosit de majoritatea terminalelor asincrone.
Nu trebuie uitat c recomandrile date de ITU-T sunt numai sugestii tehnice, pe care guvernele
le pot adopta sau ignora, dup cum doresc. n practic, o ar care dorete s adopte un standard de
telefonie diferit de cel utilizat n restul lumii este liber s o fac, dar o face cu preul izolrii de
toate celelalte ri. Lucrul acesta poate s mearg n cazul Albaniei, dar n alt parte ar fi o
adevrat problem. Fantezia de a numi standardele ITU-T recomandri" a fost i este necesar
pentru a calma forele naionaliste din multe ri.
Adevrata munc de la ITU-T se desfoar n Grupe de Studiu, care uneori cuprind chiar i
400 de persoane. Pentru ca pn la urm munca s aib un rezultat, Grupele de Studiu se mpart n
Echipe de Lucru, care se mpart la rndul lor n Echipe de Experi, care, la rndul lor, se mpart n
grupuri ad-hoc. Birocraie a fost, birocraie rmne.
In pofida tuturor acestor lucruri, ITU-T reuete efectiv s fac efectiv ce are de fcut.
Rezultatul l reprezint aproximativ 5000 de pagini de recomandri pe an. Costurile pentru
ITU-T sunt acoperite de membri. Statele mari, bogate, trebuie s plteasc pn la 30 de
64
INTRODUCERE
CAP. 1
uniti de contribuie pe an; cele mici, srace, pot s-o scoat la capt cu 1/16 dintr-o unitate de
contribuie (o unitate de contribuie este cam 250.000 dolari). Ca o mrturie a valorii pe care
o are ITU-T st faptul c aproape toat lumea i pltete contribuia, chiar dac aceste
contribuii sunt complet voluntare.
Pe msur ce telecomunicaiile desvresc tranziia - nceput n anii 1980 - de la un caracter
strict naional la un caracter complet global, standardele vor deveni din ce n ce mai importante i
tot mai multe organizaii vor dori s devin implicate n producerea acestora. Pentru mai multe
informaii privind ITU, a se vedea (Irmer, 1994).
1.7.2 Who's Who n lumea standardelor internaionale
4
Standardele internaionale sunt produse de ISO (International Standards Organization Organizaia Internaional de Standardizare), o organizaie voluntar, neguvernamental fondat
n 1946. Membrii si sunt organizaiile naionale de standardizare din cele 89 de ri membre.
Aceti membri cuprind ANSI (S.U.A.), BSI (Marea Britanie), AFNOR (Frana), DIN (Germania)
i nc 85 de alte organizaii.
ISO produce standarde referitoare la un numr vast de subiecte, ncepnd cu piulie i uruburi
i terminnd cu vopsirea stlpilor de telefon. n total au fost create peste 5000 de standarde, inclusiv
standardele OSI. ISO are aproape 200 de Comitete Tehnice (Technical Committees - TC),
numerotate n ordinea crerii lor, fiecare comitet ocupndu-se de un subiect specific. TC1 se ocup
de piulie i uruburi (standardizarea nclinrii filetelor). TC97 se ocup de calculatoare i
prelucrarea informaiei. Fiecare TC are subcomitete (SC-uri) mprite n grupe de lucru (Work
Groups - WG).
Munca propriu-zis se desfoar n principal n WG-uri, prin intermediul a peste 100.000 de
voluntari din ntreaga lume. Muli dintre aceti voluntari" sunt pui s lucreze la probleme ale ISO
de ctre patronii lor, ale cror produse sunt standardizate. Alii sunt oficiali guvernamentali dornici
s vad c modalitatea de a face lucrurile n ara lor devine standardul internaional. n multe WGuri sunt activi, de asemenea, experi academici.
n ceea ce privete standardele din telecomunicaii, ISO i ITU-T coopereaz frecvent, (ISO
este un membru al ITU-T) n ideea de a evita ironia a dou standarde internaionale oficiale i
mutual incompatibile.
Reprezentantul S.U.A. n ISO este ANSI (American National Standards Institute - Institutul
Naional American de Standarde), care, n pofida numelui su, este o organizaie privat
neguvernamental i nonprofit. Membrii si sunt productori, companii telefonice publice i alte
pri interesate. Standardele ANSI sunt frecvent adoptate de ISO ca standarde internaionale.
Procedura utilizat de ISO pentru adoptarea standardelor este conceput astfel nct s se
obin un consens ct mai larg posibil. Procesul ncepe cnd una din organizaiile naionale de
standardizare simte nevoia unui standard internaional ntr-un anumit domeniu. n acel moment, se
formeaz un grup de lucru care vine cu un CD (Committee Draft - proiect de comitet). CD-ul
circul apoi pe la toate organizaiile membre, care au la dispoziie 6 luni pentru a-1 supune criticilor.
Dac se primete aprobarea din partea unei majoriti substaniale, atunci se produce un document
revizuit, numit DIS (Draft International Standard - proiect de standard internaional), care va
4
Adevratul nume pentru ISO este International Organization for Standardization (n.a.)
SEP 1-7
STANDARDIZAREA REELELOR
65
circula n scopul de a fi comentat i votat. Pe baza rezultatelor din aceast rund, se pregtete, se
aprob i se public textul final al respectivului I (International Standard - standard
internaional). n domeniile foarte controversate, un CD sau un DIS pot s treac prin cteva
versiuni nainte de a obine suficiente voturi i ntregul proces poate dura ani de zile.
NIST (National Institute of Standards and Technology - Institutul Naional de Standarde i
Tehnologie) este o agenie a Departamentului pentru Comer al Statelor Unite. NIST a fost
cunoscut anterior sub numele de Biroul Naional de Standarde. El produce standarde care sunt
obligatorii pentru achiziiile fcute de guvernul U.S.A., mai puin pentru cele care privesc
Departamentul de Aprare, acesta avnd propriile sale standarde.
Un alt actor important din lumea standardelor este IEEE (Institute of Electrical and
Electronics Engineers - Institutul Inginerilor Electricieni i Electroniti), cea mai mare
organizaie profesional din lume. Suplimentar fa de producerea a zeci de jurnale i
organizarea a numeroase conferine n fiecare an, IEEE are un grup de standardizare care
dezvolt standarde n domeniul ingineriei electrice i tehnicii de calcul. Standardul IEEE 802
pentru reele locale de calculatoare este standardul cheie pentru LAN-uri. El a fost ntre
timp preluat de ISO ca baz pentru standardul ISO 8802.
1.73 Who's Who n lumea standardelor Internet
Internet-ul mondial are propriile sale mecanisme de standardizare, foarte diferite de cele ale
ITU-T i ISO. Diferena poate fi rezumat grosier spunnd c lumea care vine la ntlnirile pentru
standardizare ale ITU i ISO poart costum. Lumea care vine la ntlnirile pentru standardizarea
Internet-ului poart fie blugi, fie uniforme militare.
La ntlnirile organizate de ITU-T i ISO e plin de oficiali ai unor corporaii i de funcionari
guvernamentali pentru care standardizarea reprezint meseria lor. Ei privesc standardizarea ca un
lucru bun i i dedic vieile acestui scop. Lumea implicat n Internet, pe de alt parte, prefer, ca
principiu de baz, anarhia; totui, pentru ca lucrurile s funcioneze, este nevoie, uneori, de
nelegeri prestabilite. De aceea, standardele, dei regretabile, apar ocazional ca fiind necesare.
Cnd a fost creat ARPANET-ul, DoD-ul a nfiinat un comitet neoficial care s l
supravegheze. n 1983 comitetul a fost redenumit IAB (Internet Activities Board - Consiliul
activitilor Internet) i a primit o misiune ceva mai ampl: s fie atent ca cercettorii
implicai n ARPANET i Internet s se mite, mai mult sau mai puin, n aceeai direcie - o
activitate care ar putea fi asemnat cu pstoritul" pisicilor. Semnificaia acronimului IAB"
a fost schimbat mai trziu n Internet Architecture Board (Consiliul Arhitecturii Internet).
Fiecare din cei aproximativ 10 membri ai IAB-ului conducea un departament care se ocupa de o
anumit problem important. IAB-ul se ntlnea de cteva ori pe an pentru a discuta rezultatele i
a trimite informri ctre DoD i NSF, care asigurau la acea vreme majoritatea fondurilor. Cnd era
nevoie de un dbu standard (de exemplu, un nou algoritm de dirijare), membrii IAB l luau n
discuie i apoi anunau schimbarea, astfel ca absolvenii facultilor - care erau sufletul muncii de
programare - s l poat implementa. Comunicrile erau puse la dispoziie printr-o serie de
rapoarte tehnice, numite RFC-uri (Request For Comments - cereri pentru comentarii). RFC-urile
sunt memorate on-line i pot fi citite de oricine este interesat de ele. RFC-urile sunt numerotate n
ordinea cronologic a crerii lor. Pn acum exist aproape 2000.
66
INTRODUCERE
CAP.l
n 1989 Internet-ul crescuse att de mult, nct acest stil informai nu mai putea funciona. Multe
firme vindeau la acea vreme produse TCP/IP i nu erau dispuse s le modifice doar pentru c zece
cercettori se gndiser la o idee mai bun. n vara anului 1989, IAB a fost reorganizat. Cercettorii
au fost transferai la IRTF (Internet Research Task Force - Departamentul de Cercetare Internet),
care a fost pus n subdrdinea IAB-ului, alturi de EETF (Internet Engineering Task Force Departamentul de Inginerie Internet). IAB-ul a fost repopulat cu persoane care reprezentau un
palier de organizaii mai larg dect stricta comunitate a cercettorilor. La nceput, a fost un grup
care se auto-perpetua: membrii erau activi pe o perioad de 2 ani, iar membrii noi erau selectai de
ctre membrii mai vechi. Mai trziu, a fost nfiinat Societatea Internet (Internet Society), care
reunea oameni interesai de Internet. Societatea Internet este, prin urmare, comparabil ntr-un
sens cu ACM sau IEEE. Societatea este administrat de un comitet ales, iar comitetul desemneaz
membrii IAB.
Ideea acestei divizri a fost ca IRTF s se concentreze asupra cercetrii pe termen lung,
iar IETF s se ocupe de probleme inginereti pe termen scurt. IETF a fost mprit n grupuri
de lucru, fiecare cu o problem specific de rezolvat. Iniial, preedinii grupurilor de lucru sau reunit ntr-un comitet de organizare, n scopul de a coordona munca inginereasc ce le
revenea. Preocuprile grupurilor de lucru includeau aplicaii noi, informaii de la utilizatori,
integrare OSI, dirijare i adresare, securitate, administrare de reea, standarde. n final s-au
format att de multe grupuri de lucru (mai mult de 70), nct ele au fost grupate pe domenii,
iar comitetul de organizare s-a constituit din preedinii domeniilor.
n plus, a fost adoptat un proces de standardizare mai formal, preluat dup modelul ISO. Pentru
a deveni un standard propus (Proposed Standard), ideea fundamental trebuie s fie complet
explicat ntr-un RFC i s prezinte destul interes din partea comunitii pentru a merita s fie luat
n considerare. Pentru a avansa la stadiul de proiect de standard (Draft Standard), este necesar o
implementare de lucru care s fi fost testat n amnunime de ctre dou situri independente, timp
de cel puin 4 luni. Dac IAB-ul este convins c ideea e bun i c programul funcioneaz, atunci
poate s declare RFC-ul respectiv ca fiind un Standard Internet. Unele Standarde Internet au
devenit standarde ale DoD-ului (MIL-STD), fiind, prin urmare, obligatorii pentru furnizorii
DoD-ului. David Clark a fcut odat o remarc devenit celebr privitoare la standardizarea
Internet-ului, care ar consta din consens aproximativ i programe care merg."
SEC. 1.9
REZUMAT
67
viitor. Acest material se refer la nivehil fizic, dar noi ne vom ocupa numai de aspectele
arhitecturale, nu de cele privitoare la echipamente. Sunt discutate, de asemenea, cteva exemple de
niveluri fizice, aa cum sunt SONET i radiofonia celular.
Cap. 3 discut modelul legtur de date i protocoalele sale prin intermediul unui numr
de exemple din ce n ce mai complexe. Se realizeaz* de asemenea, analiza acestor protocoale.
Dup aceea, sunt discutate unele protocoale importante din lumea real, printre care HDLC
(folosit n reelele de vftez sczut i medie), SLIP i PPP (folosite n Internet) i, de
asemenea, ATM (folosit n B-ISDN).
Cap. 4 se refer la subnivelul de acces la mediu, care face parte din nivelul legtur de
date. Problema fundamental cu care se ocup este cum s determine cine poate folosi
reeaua - atunci cnd reeaua const dintr-un singur canal partajat, aa cum se ntmpl n
majoritatea LAN-urilor i n unele reele de satelii. Se dau multe exemple din domeniul
LAN-urilor, reelelor prin fibre optice i reelelor de satelii. Tot aici sunt discutate i punile,
care se folosesc pentru a interconecta LAN-urile.
Cap. 5 se ocup de nivelul reea, n special de dirijare, de controlul congestiei i de interconectare.
Capitolul discut att algoritmi de dirijare statici, ct i algoritmi de dirijare dinamici. Se ia n discuie
si dirijarea cu difuzare. Se discut destul de detaliat efectele proastei dirpri i ale congestiei.
Interconectarea reelelor eterogene n inter-reele conduce la numeroase probleme care sunt discutate
aici. Se acord mare atenie nivelurilor din Internet i din reelele ATM.
Cap. 6 se ocup de nivelul transport. Se discut pe larg protocoalele orientate pe conexiuni,
deoarece ele sunt necesare n numeroase aplicaii. Se discut n detaliu un exemplu de serviciu de
transport i implementarea sa. Att protocoalele de transport din Internet (TCP i UDP) ct i
protocoalele de transport ATM sunt discutate pe larg.
Nevznd o utilizare de prea mare importan, nivelurile OSI sesiune i prezentare nu sunt
discutate n aceast carte.
Cap. 7 se ocup de nivelul aplicaie, de protocoalele i aplicaiile sale. Printre aplicaiile discutate
se numr securitatea, procedurile de atribuire a numelor, pota electronic, grupurile de tiri,
administrarea de reea, Web-ul i multimedia.
Cap. 8 conine o list adnotat de lecturi sugerate, aranjate n ordinea capitolelor. Lista este
gndit ca un ajutor pentru cititorii care doresc s continue studiul reelelor. Capitolul are de
asemenea o bibliografie alfabetic a tuturor referinelor citate n aceast carte.
1.9
REZUMAT
Reelele de calculatoare pot fi utilizate pentru numeroase servicii, att pentru lume ct i pentru
persoane particulare. Pentru firme, reelele de calculatoare cu servere partajate asigur de multe ori
flexibilitate i un bun raport pre/performan. Pentru persoane particulare, reelele ofer acces la o
mulime de informaii si de resurse de divertisment.
n mare, reelele pot fi mprite n LAN-uri, MAN-uri, WAN-uri i inter-reele, fiecare cu
caracteristicile, tehnologiile, vitezele i rolurile sale proprii. LAN-urile acoper suprafaa unei
cldiri, MAN-urile acoper suprafaa unui ora, iar WAN-urile se ntind pe suprafaa unei ri
sau a unui continent. LAN-urile i MAN-urile sunt necomutate (adic nu au rutere);
WAN-urile sunt comutate.
68
INTRODUCERE
CAP. 1
Programele de reea constau din protocoale, adic regii prin care procesele pot s comunice.
Protocoalele pot fi fie fr conexiuni, fie orientate pe conexiuni. Majoritatea reelelor asigur suport
pentru ierarhiile de protocoale, fiecare nivel asigurnd servicii pentru nivelurile de deasupra sa i
izolndu-le de detaliile protocoalelor folosite n nivelurile de mai jos. Stivele de protocoale se
bazeaz n mod tipic fie pe modelul OSI, fie pe modelul TCP/IP. Ambele modele posed niveluri
reea, transport i aplicaie, dar ele difer n ceea ce privete celelalte niveluri.
Printre reelele celebre s-au numrat NetWare, produs de Novell, ARPANET-ul (acum mort),
NSFNET-ul, Internet-ul i diferite prototipuri gigabit. Serviciile de reea au inclus DQDB, SMDS,
X.25, retransmiterea cadrelor i ISDN-urile de band larg. Toate acestea sunt disponibile
comercial de la o mulime de furnizori. Piaa va determina care din ele vor supravieui i care nu.
1.10 PROBLEME
1.
n viitor, cnd toat lumea va avea acas un terminal conectat la o reea de calculatoare, vor
deveni posibile referendumuri publice imediate pe subiecte de legislaie importante. n ultim
instan ar putea fi chiar eliminate parlamentele, pentru a lsa voina poporului s se exprime
direct. Aspectele pozitive ale unei astfel de democraii directe sunt destul de evidente; discutai
unele din aspectele negative.
2.
3.
O colecie de cinci rutere trebuie s fie conectat ntr-o subreea punct-la-punct. ntre dou
rutere proiectanii pot instala o linie de mare vitez, o linie de vitez medie, o linie de vitez
sczut sau nici o linie. Dac generarea i examinarea fiecrei topologii pe calculator dureaz
100 ms, ct timp va dura examinarea tuturor topologiilor pentru a o gsi pe cea care se
potrivete cel mai bine cu ncrcarea prevzut?
4.
5.
Un dezavantaj al unei subretele cu difuzare este risipa de capacitate datorat multiplelor gazde
care ncearc s acceseze canalul n acelai timp. Ca un exemplu simplist, s presupunem c
timpul este mprit n intervale discrete i fiecare din cele n gazde ncearc s utilizeze canalul
cu probabilitatea p n timpul fiecrui interval. Ce fraciune din intervale se pierde datorit
coliziunilor?
6.
7.
SEC 1.10
PROBLEME
69
.j ou reele furnizeaz, fiecare, servicii orientate pe conexiuni sigure. Una din ele ofer un flux
sigur de octei, iar cealalt ofer un flux sigur de mesaje. Sunt acestea identice? Dac da, de ce
se face aceast distincie? Dac nu, exemplificai prin ce difer.
9
Care este diferena ntre un serviciu confirmat i un serviciu neconfirmat? Pentru fiecare din
urmtoarele servicii spunei dac poate fi un serviciu confirmat, un serviciu neconfirmat,
amndou sau niciunul.
a) Stabilirea conexiunii.
b) Transmisia datelor.
c) Eliberarea conexiunii.
10. Ce nseamn negociere" atunci cnd se discut protocoalele de reea? Dai un exemplu.
11. Care sunt dou din motivele utilizrii protocoalelor organizate pe niveluri?
12. Prezentai dou aspecte comune modelului de referin OSI i modelului de referin TCP/IP.
Prezentai apoi dou aspecte prin care modelele difer.
13. Preedintelui Companiei de Vopsele Speciale i vine ideea s lucreze mpreun cu un
productor local de bere n scopul de a produce o cutie de bere invizibil (ca o msur
anti-gunoi). Preedintele comand departamentului su juridic s analizeze ideea, iar acesta
cere ajutorul, la rndul su, departamentului de ingineri. Ca rezultat, inginerul ef l cheam pe
inginerul-ef de la cealalt firm pentru a discuta aspectele tehnice ale proiectului. Apoi,
inginerii prezint un raport ctre departamentele juridice respective, iar acestea aranjeaz prin
telefon aspectele legale. n final, cei doi preedini de firme discut partea financiar a afacerii.
Este acesta un exemplu de protocol multinivel n sensul modelului OSI?
14. n majoritatea reelelor, nivelul legtur de date trateaz erorile de transmisie, solicitnd
retransmiterea cadrelor deteriorate. Dac probabilitatea de a se strica un cadru este/?, care este
numrul mediu de transmisii necesare pentru a trimite un cadru, n cazul n care confirmrile
nu se pierd niciodat?
15. Care dintre nivelurile OSI se ocup de fiecare din urmtoarele sarcini:
a) Descompunerea fluxului de bii transmii n cadre.
b) Determinarea traseului care trebuie folosit n subreea.
c) TDPU-rile ncapsuleaz pachete sau invers? Discuie.
16. Un sistem are o ierarhie de protocoale organizat pe n niveluri. Aplicaiile genereaz mesaje de
lungime M octei. La fiecare nivel este adugat un antet de h octei. Ce fraciune din limea
benzii reelei este ocupat de antete?
17. Care este principala deosebire ntre TCP i UDP?
18. Arhitectura Novell NetWare seamn mai mult cu X.25 sau cu Internet-ul? Motivai rspunsul.
19. Internet-ul i dubleaz dimensiunea o dat la aproximativ 18 luni. Dei nimeni nu tie cu
siguran, una din estimri consider numrul gazdelor la 1 ianuarie 1996 ca fiind de 7 milioane.
Folosii aceste date pentru a calcula numrul de gazde Internet prevzut pentru anul 2008.
70
INTRODUCERE
CARI
20. De ce a fost SMDS proiectat ca o reea fr conexiuni, iar retransmiterea cadrelor ca una
orientat pe conexiuni?
21. Imaginai-v c v-ai dresat cinele St. Bernard, pe nume Bernie, ca, n locul clasicei sticle cu
rom, s poarte o cutie cu trei benzi Exabyte de 8 mm. (Gnd i se umple discul, respectiva cutie
reprezint o urgen.) Aceste benzi conin flecare 7 gigabytes. Cinele poate cltori pn la
dvs., oriunde v-ai afla, cu 18 km/h. Pentru ce ordin de distane are Bernie o vitez mai mare de
transmisie a datelor dect o linie ATM de 155 Mbps?
22. La transferul unui fiier ntre dou calculatoare exist (cel puin) dou strategii de confirmare.
Conform primei strategii, fiierul este descompus n pachete care sunt confirmate individual de
ctre server, dar transferul de fiiere pe ansamblu nu este confirmat. n a doua strategie,
pachetele nu sunt confirmate individual, dar la sfrit este confirmat ntregul fiier. Discutai
aceste dou abordri.
23. Imaginai-v c pachetul SMDS din Fig. 1-28 ar trebui ncorporat n ierarhia de protocoale
OSI. Pe care nivel ar aprea el?
24. Prezentai un avantaj i un dezavantaj al retransmiterii cadrelor printr-o linie telefonic nchiriat.
25. De ce folosete ATM-ul celule mici, de lungime fix?
26. Prezentai dou avantaje i dou dezavantaje ale existenei standardelor internaionale pentru
protocoalele de reea.
27. Atunci cnd un sistem dispune de o parte permanent i de o parte detaabil, de exemplu un
cititor de dischete i o dischet, este important ca sistemul s fie standardizat, astfel ca diferite
firme s poat realiza att prile permanente ct i cele mobile i ca ele s se potriveasc fr
probleme. Dai trei exemple din afara industriei de calculatoare unde exist astfel de standarde
internaionale. Indicai apoi trei domenii din afara industriei de calculatoare unde nu exist
astfel de standarde.
NIVELUL FIZIC
n acest capitol vom studia nivelul inferior descris n ierarhia din Fig. 1-21. Vom ncepe cu o
analiz teoretic a transmisiunilor de date, cu scopul de a descoperi c Mama Natur impune o
limit la ceea ce se poate transmite printr-un canal.
n continuare, vom analiza mediile de transmisie, att cele ghidate (cablu din cupru i fibre
optice) ct i cele neghidate (fr fir). Acest material furnizeaz informaiile fundamentale
referitoare la tehnologiile de comunicaie folosite n reelele moderne.
Restul capitolului este dedicat unor exemple de sisteme de comunicaie care folosesc
mediile de transmisie descrise. Vom ncepe cu sistemul telefonic, studiind trei variante:
actualul sistem (parial) analogic, un potenial sistem digital pentru viitorul apropiat (N-ISDN)
i un posibil sistem digital pentru viitorul ndeprtat (ATM). Mai departe vor fi studiate dou
sisteme de comunicaie fr fir: radiofonia celular i sateliii de comunicaie.
72
NIVELUL FIZIC
1
OO
CAP. 2
OO
=l
n
(2-1)
n=l
V
fO pentru k n
sm(2nkft)
&m(2mfi)dt
=
^
J
[T/2
pentru k = n
Q
numai un singur termen al sumei de sinusuri nu se anuleaz: an. Termenii sumei de cosinusuri se
anuleaz complet. Similar, multiplicnd membrii ecuaiei 2-1 cu cos(27ikft) i integrnd de la 0 la T,
putem obine bn. Prin integrarea ambilor membri ai ecuaiei originale, se poate obine c. Rezultatele
obinute prin efectuarea acestor operaii sunt:
2 T
an = -Jg(t)sin(27mft)dt
* o
2T
bn = -Jg(t)cos(27inft)dt c = -Jg(t)dt
o
* o
SEC 2.1
0)
0.50
ampi itudi
Timn
73
0.25
i
1 I i 1
1 i
1 2 3 4 5 6 7 8 9 101112131415
Numrul armonicei
(a)
1 armonic
2 armonici
(O
1 2
4 armonici
(d)
12 3 4
8 armonici
12 3 4 5 6 7 8
Numrul armonicei
Timp
(e)
Fig. 2-1. (a) Un semnal binar i radicalul sumei ptratelor amplitudinilor Fourier.
(b) - (e) Aproximaii succesive ale semnalului iniial.
NIVELUL FIZIC
74
CAP. 2
Nu exist un mijloc de transmisie care s poat trimite semnale fr pierdere de putere n timpul
procesului. Dac toate componentele Fourier ar fi micorate n aceeai msur, atunci semnalul
rezultat ar fi atenuat n amplitudine, dar nu ar prezenta distorsiuni [ar avea aceeai form ca cea din
Fig. 2-l(a)]. Din pcate, orice mijloc de transmisie atenueaz diferite componente Fourier n diferite
proporii, introducnd astfel distorsiuni. De obicei, amplitudinile sunt transmise fr atenuri de la 0
la o anumit frecven fp [msurat n cicluri/secund sau n Hertzi (Hz)], iar toate celelalte
amplitudini cu frecvene mai mari dect aceast frecven de prag sunt puternic atenuate. n unele
cazuri aceasta este o proprietate fizic a mediilor de transmisie, n timp ce n altele este introdus
intenionat un filtru n circuit, pentru a limita banda de frecven disponibil fiecrui client.
S vedem cum va arta semnalul transmis dac banda de frecven folosit ar fi att de
ngust, nct numai frecvenele foarte joase pot fi transmise [funcia ar fi aproximat doar cu
primii civa termeni ai ecuaiei (2-1)]. Fig. 2-l(b) reprezint semnalul rezultat dintr-un canal
care permite numai primei armonici (f, fundamental) s fie transmis. Similar, figurile 2-l(c)(e) prezint spectrele i funciile reconstruite pentru canale cu o band de frecven mai larg.
Timpul T necesar pentru transmiterea caracterului depinde att de metoda de codificare ct i
de viteza semnalului [de cte ori pe secund se schimb valoarea (tensiunea) semnalului]. Numrul
de variaii pe secund se msoar n baud. O linie cu o vitez de transfer de b baud nu transmite
implicit b bii/secund, deoarece un semnal poate transmite mai muli bii. Dac se utilizeaz
tensiunile 0,1,2,3,4 5, 6 i 7, fiecare semnal poate fi folosit pentru transmiterea a 3 bii, rezultnd
un numr de bii transferai pe secund de trei ori mai mare dect viteza de transmisie. n exemplul
nostru, au fost folosii doar 0 i 1 ca nivele de semnal, numrul de bii transferai pe secund fiind
egal cu viteza de transmisie.
Pentru o anumit vitez de b bii/secund, timpul necesar pentru a transmite, de exemplu, 8 bii
este de 8/b secunde, frecvena primei armonice fiind b/8 Hz. O linie telefonic obinuit, deseori
numit linie n band vocal (voice grade line), are introdus artificial o frecven de prag n jurul
frecvenei de 3000 Hz. Aceast restricie conduce la rezultatul c numrul celei mai mari armonice
care poate fi transmis este aproximativ de 3000/(b/8), adic 24000/b (frecvena de prag nu este
foarte exact).
Bps
300
600
1200
2400
4800
9600
19200
38400
T (msec)
26.27
13.33
6.67
3.33
1.67
0.83
0.42
0.21
75
76
NIVELUL FIZIC
CAP. 2
trebui tratate n aceeai categorie ca i mainile perpetuum mobile. Oricum, trebuie remarcat c
aceast vitez nu este dect o limit superioar pe care sistemele reale o ating rareori.
SEC. 2.2
MEDIUL DE TRANSMISIE
77
mediu de transmisie este cablul torsadat. Un cablu torsadat este format din dou fire de cupru
izolate, avnd o grosime tipic de 1 mm. Firele sunt mpletite ntr-o form elicoidal, exact ca o
molecul de ADN. Scopul mpletirii firelor este de a reduce interferena electric. (Dou fire
paralele constituie o anten; dac le mpletim, nu mai formeaz o anten.)
Cea mai cunoscut aplicaie a cablului torsadat este sistemul telefonic. Aproape toate telefoanele
sunt conectate la centrala telefonic printr-un cablu torsadat. Cablurile torsadate se pot ntinde pe
mai muli kilometri fr amplificare, dar pentru distane mai mari, sunt necesare repetoare. Atunci
cnd sunt grupate n paralel mai multe cabluri torsadate, de exemplu toate firele de la un bloc de
locuine la centrala telefonic, ele sunt legate mpreun i ncapsulate ntr-un material protector.
Dac nu ar fi fost mpletite perechile de fire, grupate astfel mpreun, ar fi interferat. n anumite
pri ale lumii, unde liniile telefonice sunt montate pe stlpi, sunt des ntlnite cablurile de mai muli
centimetri n diametru.
Cablurile torsadate pot fi folosite att pentru transmisia analogic ct i pentru cea digital.
Banda de frecven depinde de grosimea firului i de distana parcurs, dar, n multe cazuri, poate fi
atins o vitez de mai muli megabii pe secund pe distane de civa kilometri. Datorit
performanei satisfctoare i a costului sczut, cablurile torsadate sunt foarte larg folosite n prezent
si probabil c vor rmne larg folosite i n urmtorii ani.
Exist numeroase feluri de cablaj torsadat, dou dintre acestea fiind importante pentru reelele
de calculatoare. Cablurile torsadate din Categoria 3 sunt formate din dou. fire izolate mpletite
mpreun. n mod obinuit patru astfel de perechi sunt grupate ntr-un material din plastic, pentru a
le proteja i pentru a le ine mpreun. Pn n 1988, cele mai multe cldiri cu birouri aveau un cablu
de categoria 3, care pornea din panoul central de la fiecare etaj ctre fiecare birou. Aceast schem
permitea ca pn la patru telefoane obinuite, sau dou telefoane cu mai multe linii, aflate ntr-un
birou, s fie cuplate la centrala telefonic prin panoul central.
ncepnd din 1988, au fost introduse cablurile mai performante din Categoria 5. Ele sunt
similare celor din categoria 3, dar au mai multe rsuciri pe centimetru i sunt izolate cu
teflon, rezultnd o interferen redus i o mai bun calitate a semnalului pe distane mari,
ceea ce le face mai adecvate comunicaiilor la viteze mari ntre calculatoare. Pentru a le
deosebi de cablurile torsadate voluminoase, ecranate i scumpe, pe care IBM le-a introdus la
nceputul anilor 80, dar care nu au devenit populare n afara instalaiilor IBM, aceste dou
tipuri de cabluri sunt cunoscute sub numele de cabluri UTP (Unshielded Twisted Pair, - cablu
torsadat neecranat).
2.2.3 Cablu Coaxial n Band de Baz
Un alt mediu uzual de transmisie este cablul coaxial (cunoscut printre utilizatorii si sub numele
de coax"). El are o ecranare mai bun dect cablurile torsadate, putnd acoperi distane mai mari
la rate de transfer mai mari. Exist dou tipuri de cabluri coaxiale folosite pe scar larg. Primul,
cablul de 50 - ohmi, este folosit n transmisia digital i constituie subiectul acestei seciuni. Al doilea
tip, cablul de 75 de ohmi, este frecvent folosit n transmisia analogic, aceasta reprezentnd subiectul
urmtoarei seciuni. Aceast clasificare are la baz un criteriu stabilit mai mult pe considerente
istorice dect pe considerente tehnice (de exemplu, primele antene dipol aveau o impedan de 300
de ohmi, transformatoarele de impedan 4 : 1 erau uor de construit).
78
NIVELUL FIZIC
CAP. 2
V
Un cablu coaxial este format dintr-o srm de cupru dur, protejat de un material izolant. Acest
material este ncapsulat ntr-un conductor circular, de obicei sub forma unei plase strns ntreesute.
Conductorul exterior este acoperit cu un nveli de plastic protector. n Fig. 2-3 este prezentat o
vedere n seciune a cablului coaxial.
Mie? de
cupru \
Conductor
exterior
ntreesut
Material
izolator
/S
/nveli
protector
din plastic
Cellalt model de cablu coaxial este folosit pentru transmisia analogic n sistemele de
televiziune prin cablu. Acesta este numit cablu de band larg. Cu toate c termenul de band
larg" provine din lumea telefoniei, unde se refer la o band de frecven mai larg dect 4 kHz, n
lumea reelelor de calculatoare cablu de band larg" nseamn orice reea prin cablu care
folosete transmisia analogic, (vezi Cooper, 1986).
Deoarece reelele de band larg se bazeaz pe tehnologia standard a televiziunii prin cablu,
cablurile pot fi folosite pn la 300 MHz (i de multe ori pn la 450 MHz) i datorit transmisiei
analogice pot acoperi distane de aproape 100 Km, care este mult mai puin critic dect transmisia
digital. Pentru a transmite semnale digitale pe o reea analogic, fiecare interfa trebuie s conin
un echipament electronic care s converteasc secvena de bii ce urmeaz a fi transmis n semnal
analogic i semnalul analogic de la intrare ntr-o secven de bii. Depinznd de echipamentul
electronic respectiv, 1 bps poate ocupa aproximativ 1 Hz din lrgimea de band. La frecvene mai
mari, se pot obine mai muli bii pe Hz folosind tehnici avansate de modulare a semnalului.
Sistemele de band larg sunt mprite n mai multe canale, n televiziune fiind frecvent folosite
canalele de 6 MHz. Fiecare canal poate fi folosit n televiziunea analogic, n transmisia audio de
MEDIUL DE TRANSMISIE
SEC. 2.2
79
calitatea compact discului (1,4 Mbps), sau ntr-un flux de date la o vitez de - s zicem - 3 Mbps,
independent de celelalte. Televiziunea i datele se pot mixa pe acelai canal.
O diferen major ntre banda de baz i banda larg este aceea c sistemele de band larg
acoper, de obicei, o suprafa mai mare, fiind nevoie de amplificatoare analogice care s
reamplifice periodic semnalul. Aceste amplificatoare pot transmite semnalul ntr-o singur direcie,
astfel c un calculator care transmite un pachet nu poate s primeasc date de la alte calculatoare,
dac ntre ele se afl un amplificator. Pentru a ocoli aceast problem, au fost dezvoltate dou tipuri
de sisteme de band larg: sisteme cu cablu dual i sisteme cu cablu simplu.
Sistemele cu cabluri duale au dou cabluri identice care funcioneaz n paralel, unul lng altul.
Pentru a transmite date, un calculator emite pe cablul 1, pn la un echipament numit capt de
distribuie (head-end), care se afl la rdcina arborelui de cabluri. Captul de distribuie transfer
semnalul pe cablul 2 pentru transmisia napoi pe arbore. Toate calculatoarele transmit pe cablul 1 i
recepioneaz pe cablul 2. Un sistem cu cablu dual este prezentat n Fig. 2-4 (a).
Cealalt schem aloc diferite benzi de frecven pentru transmisie i recepie pe un singur cablu
[vezi Fig. 2-4(b)]. Banda de frecvene joas este folosit pentru comunicaia ntre calculatoare i
capt, apoi captul transfer semnalul n banda de frecven nalt i l retransmite. n sistemele cu
mprire inegal (subsplit), frecvenele de la 5 la 30 MHz sunt folosite pentru transmisie i
frecvenele de la 40 la 300 MHz sunt folosite pentru recepie.
Capt de distribuie
Capt de distribuie
Cablu de
emisie
Calculator!
Amplificator
Cablu unic.
Pentru transmisie
se utilizeaz fercvene joase,
iar pentru recepie se utilizeaz
frecvene nalte.
(a)
(b)
Fig. 2-4. Reele de band larg, (a) Cablu dual. (b) Cablu simplu.
n sistemele cu njumtire (midsplit), transmisia se face n banda 5 -116 MHz, iar recepia n
banda 168 - 300 MHz. Alegerea acestor frecvene este de ordin istoric i are legtur cu modul n
care Comisia Federal a Statelor Unite (U.S. Federal Communications Commission) a atribuit
frecvenele pentru televiziune, aceasta fiind implementat pe sisteme de band larg. Pentru ambele
sisteme este necesar un capt activ care accept semnale pe o band i le retransmite pe alta. Aceste
tehnici i frecvene au fost dezvoltate pentru televiziunea prin cablu i au fost preluate de reele fr
modificri, datorit fiabilitii i a echipamentelor relativ ieftine.
80
NIVELUL FIZIC
CAP. 2
Sistemele de band larg pot fi folosite n numeroase moduri. Unor perechi de calculatoare li se
pot atribui canale permanente pentru uzul lor exclusiv. Alte calculatoare pot face o cerere de canal
pentru o conectare temporar i apoi pot comuta, pe durata legturii, frecvenele proprii la cele ale
canalului. O alt posibilitate este ca toate calculatoarele s se afle n competiie pentru accesul la un
singur canal sau la un grup de canale, folosindu-se n acest scop tehnici ce vor fi prezentate n
capitolul 4.
Cablul de band larg este inferior tehnic cablului pentru band de baz (cu un singur canal)
pentru transmisia datelor digitale, dar are avantajul c este deja instalat pe scar extrem de larg. n
Olanda, de exemplu, 90 la sut din case au cablu TV. n Statele Unite, cablul TV acoper
aproximativ 80 la sut din case. Aproape 60 la sut dintre ele sunt conectate. Datorit competiiei,
aflat n plin desfurare, dintre companiile telefonice i companiile de televiziune prin cablu, ne
putem atepta ca sistemele de televiziune prin cablu s nceap s opereze ca MAN - uri i s ofere
tot mai frecvent servicii telefonice i alte servicii. Pentru mai multe informaii referitoare la folosirea
televiziunii prin cablu pe post de reea de calculatoare vezi (Karshmer and Thomas, 1992).
2.2.5 Fibre optice
Multe persoane din industria calculatoarelor sunt foarte mndre de rapiditatea evoluiei
tehnologiei calculatoarelor. n 1970, un calculator rapid (de ex. CDC 6600) putea executa o
instruciune n 100 de nsec. Douzeci de ani mai trziu, un calculator CRAY rapid putea executa o
instruciune n 1 nsec, o mbuntire cu un factor de 10 la fiecare deceniu. Un rezultat care nu este
de neglijat.
n aceeai perioada, comunicaiile de date au evoluat de la o vitez de 56 Kbps (ARPANET)
pn la 1 Gbps (comunicaiile optice moderne), un ctig cu un factor mai mare de 100 pe fiecare
decad. n aceeai perioad, frecvena erorilor a sczut de la IO'5 per bit pn aproape de zero.
Mai mult, procesoarele se aproprie de limitele lor fizice, date de viteza luminii i problemele de
disipare a cldurii. Prin contrast, folosind tehnologiile actuale de fibre optice, banda de frecven
care poate fi atins este cu siguran mai mare dect 50,000 Gbps (50 Tbps) i sunt nc muli
oameni care caut materiale mai performante. Limita practic actual de aproximativ 1 Gbps este o
consecina a imposibilitii de a converti mai rapid semnalele electrice n semnale optice. n
laborator, sunt posibile rate de 100 Gbps pe distane scurte. n doar civa ani se va putea obine o
vitez de 1 Terabit/sec. Sunt n curs de realizare sistemele integral optice (inclusiv intrarea i ieirea
din calculator) (Miki, 1994a).
n cursa dintre calculatoare i comunicaii, acestea din urm au nvins. Implicaiile unei benzi de
frecven, prin natura ei infinit (dei nu la un cost nul), nu au fost nc remarcate de unii oameni de
tiin i de unii ingineri care au nvat s gndeasc n termenii limitelor joase ale lui Nyquist i
Shannon impuse pentru srm de cupru. Noua manier de abordare const n a considera
calculatoarele ca fiind extrem de ncete, astfel c reelele ar trebui s evite calculele la orice cost,
A
indiferent de lrgimea de band risipit. In aceast seciune vom studia fibrele optice pentru a ne
familiariza cu aceast tehnologie de transmisie.
Un sistem de transmisie optic este format din trei componente: sursa de lumin, mediul de
transmisie i detectorul. Prin convenie, un impuls de lumin nseamn bitul 1, iar absena luminii
indic bitul zero. Mediul de transmisie este o fibr foarte subire de sticl. Atunci cnd intercepteaz
un impuls luminos, detectorul genereaz un impuls electric. Prin ataarea unei surse de lumin la un
MEDIUL DE TRANSMISIE
SEC. 2.2
81
capt al fibrei optice i a unui detector la cellalt, obinem un sistem unidirecional de transmisie a
datelor care accept semnale electrice, le convertete i le transmite ca impulsuri luminoase i apoi le
reconvertete la ieire n semnale electrice.
Acest sistem de transmisie ar fi fost lipsit de importan n practic, cu excepia unui principiu
interesant al fizicii. Cnd o raz luminoas trece de la un mediu la altul, de exemplu, de la siliciu la
aer, raza este refractat (ndoit) la suprafaa de separaie siliciu / aer ca n Fig. 2-5. Se observ o
raz de lumin inciden pe suprafaa de separaie la un ungi 04 care se refract la un unghi p\.
Mrimea refraciei depinde de proprietile celor dou medii (n particular, de indicii lor de
refracie). Pentru unghiuri de inciden mai mari dect o anumit valoare critic, lumina este
refractat napoi n siliciu fr nici o pierdere. Astfel o raz de lumin, la un unghi egal sau mai mare
dect unghiul critic, este ncapsulat n interiorul fibrei, ca n Fig. 2-5(b) i se poate propaga pe muli
kilometri, aparent fr pierderi.
Suprafaa
de separare
aer /siliciu
Aer
ai
Reflexie
total
Ct2
ot3
Surs de lumin
Siliciu
(a)
(b)
Fig. 2-5. (a) Trei exemple de raze de lumin n interiorul unei fibre de siliciu care cad pe
suprafaa de separaie aer / siliciu la unghiuri diferite.
(b) ncapsularea luminii prin reflexie total.
n Fig. 2-5(b) se poate observa o singura raz ncapsulat, dar se pot transmite mai multe raze cu
unghiuri de inciden diferite, datorit faptului c orice raz de lumin cu unghi de inciden la
suprafaa de separaie mai mare dect unghiul critic va fi reflectat total. Se spune c fiecare raz are
un mod diferit, iar fibra care are aceast proprietate se numete fibr multi-mod.
Oricum, dac diametrul fibrei este redus la cteva lungimi de und ale luminii, fibra
acioneaz ca un ghid de und i lumina se va propaga n linie dreapt, fr reflexii, rezultnd
o fibr mono-mod. Aceste fibre sunt mai scumpe, dar pot fi folosite pe distane mai mari.
Fibrele mono-mod curente pot transmite date la mai muli Gbps pe distane de 30 Km. Rate
de transfer de date mai mari au fost obinute n laborator pe distane mai scurte.
Experimentele au artat c lasere puternice pot transmite pe fibre de lungimi de 100 Km, fr
repetoare, ns la viteze mai mici. Cercetrile referitoare la fibrele dopate cu erbium promit
transmisii pe distane chiar mai lungi, fr a utiliza repetoare.
Transmisia luminii prin fibre
Fibrele optice sunt fabricate din sticl, iar sticla este fabricat la rndul ei din nisip, un material
brut necostisitor, care se gsete n cantiti nelimitate. Producerea sticlei era cunoscut de egiptenii
din Antichitate, dar sticla lor trebuia s nu fie mai groas de 1 mm pentru ca lumina s treac prin
NIVELUL FIZIC
82
CAP. 2
ea. Sticla suicient de transparent pentru a putea fi folosit ca fereastr a aprut n timpul
Renaterii. Sticla folosit pentru fibrele optice moderne este att de transparent nct, dac oceanul
ar fi fost plin cu sticl n loc de ap, fundul oceanului s-ar vedea tot att de clar, cum se vede din
avion pmntul ntr-o zi senin.
Atenuarea luminii prin sticl depinde de lungimea de und a luminii. Pentru tipul de sticl folosit
la fibre optice, atenuarea este prezentat n Fig. 2-6 n decibeli pe kilometru linear de fibr.
Atenuarea n decibeli este dat de formula:
puterea _ transmis
puterea _ recepionat
Banda de
0.85n
0.8
0.9
Banda de
1.1
1.2
1.3
1.4
Lungimea de und (microni)
Banda de
1.5
1.6
1.7
1.8
MEDIUL DE TRANSMISIE
SEC. 2.2
83
ate face doar prin reducerea ratei de semnalizare. Din fericire, s-a descoperit c, dnd acestor
impulsuri o form special, legat de reciproca cosinusului hiperbolic, se anuleaz toate efectele de
dispersie, devenind astfel posibil s se trimit impulsuri pe mii de kilometri, fr distorsiuni
apreciabile ale formei. Aceste impulsuri se numesc solitonuri. Pentru a implementa n practic
aceast soluie de laborator se desfoar cercetri intense.
Cablurile din fibr de sticl
Cablurile din fibr de sticl sunt similare celor coaxiale, cu singura deosebire c nu prezint acel
material conductor exterior sub forma unei plase. Figura 2-7(a) prezint o seciune a unei singure
fibre. n centru se afl miezul de sticl prin care se propag lumina. n fibrele multi-mod, miezul are
un diametru de 50 microni, aproximativ grosimea prului uman. n fibrele mono-mod miezul este de
8 pn la 10 microni.
Protecie
Miez
(sticl)
mbrcminte
(sticl)
(a)
Protecie
(plastic)
Miez
\ ^ _ _ ^/
mbrcminte
(b)
NIVELUL FIZIC
84
Criteriu
viteza de transfer a datelor
Mod
Distana
Durata de via
Sensibilitatea Ia temperatur
Cost
LED
Joas
Multi-mod
Scurt
Via lung
Minor
Cost redus
CAP. 2
Laser cu semiconductor
Mare
Multi-mod sau mod unic '
Lung
Via scurt
Substanial
Scump
Direcia
de propagare
a luminii
Fibr optic
"Interfa
Receptor
optic
(fotodiod)
Regenerator Transmitor
de semnal
optic
(electric)
(LED)
MEDIUL DE TRANSMISIE
SEC. 2.2
85
Se folosesc dou tipuri de interfee. O interfa activ const din doi conectori sudai pe fibra
central. Unul din ei are la un capt un LED sau o diod cu laser (pentru transmisie) i cellalt are
la capt o fotodiod (pentru recepie). Conectorul este complet pasiv i prezint ncredere, deoarece
un LED sau o fotodiod defect nu ntrerupe inelul, ci doar scoate un calculator din circuit.
Un alt model de interfa, prezentat n Fig. 2-9, este repetorul activ. Lumina recepionat este
convertit ntr-un semnal electric, regenerat la puterea maxim, dac este atenuat i retransmis ca
semnal optic. Interfaa cu calculatorul este o srm de cupru obinuit care se leag la regeneratorul
de semnal. n prezent, sunt folosite i repetoare integral optice. Aceste echipamente nu necesit
conversiile optic - electric - optic, ceea ce nseamn c opereaz cu lrgimi de band foarte nalte.
n cazul n care repetorul activ se deterioreaz, inelul este ntrerupt i reeaua cade. Pe de alt
parte, deoarece semnalul este regenerat la fiecare interfa, legturile ntre dou calculatoare
adiacente pot avea lungimi de kilometri, practic fr nici o limit n dimensiunea total a inelului.
Interfeele pasive pierd lumin la fiecare jonciune, avnd ca efect restricii drastice n ceea ce
privete numrul de calculatoare ce pot fi conectate i lungimea total a inelului.
Interfee
cu
calculatorul
86
NIVELUL FIZIC
CAP. 2
SEC 2.3
COMUNICAIILE FR FIR
87
(2-2)
Deoarece c este o constant, dac tim /, putem afla X i invers. De exemplu, undele cu o
frecven de 1 MHz au o lungime de aproape 300 metri, iar cele cu o lungime de 1 cm au o frecven
de30GHz.
Spectrul electromagnetic este prezentat n Fig. 2-11. Domeniile corespunztoare undelor radio,
microundelor, undelor infraroii i luminii vizibile din spectru pot fi folosite pentru transmiterea
informaiei prin modularea amplitudinii, frecvenei, sau fazei undelor. Lumina ultraviolet, razele X
i razele gama ar fi chiar mai performante datorit frecvenei lor mai nalte, dar ele sunt greu de
produs i de modulat, nu se propag bine prin cldiri i sunt periculoase fiinelor vii. Benzile listate n
partea de jos a Fig. 2-11 sunt numele oficiale ITU i se bazeaz pe lungimile de und, LF acoperind
intervalul de la 1 Km la 10 Km (aproximativ de la 30 kHz la 300 kHz). Termenii de LF,MF i HF se
refer la frecvenele joase, medii i respectiv nalte. Este evident c atunci cnd au fost date aceste
nume, nimeni nu se atepta s foloseasc frecvene mai mari de 10 MHz. Benzile mai nalte au fost
numite mai trziu benzi de frecven Foarte, Ultra, Super, Extrem i Extraordinar de nalte.
Dincolo de aceste frecvene nu mai exist denumiri consacrate, dar am putea s folosim termeni de
frecvene Incredibil, Uimitor i Miraculos de nalte.
Cantitatea de informaie pe care o und electromagnetic o poate transporta este legat de
lrgimea ei de band. Folosind tehnologia curent, este posibil s codificm civa bii pe Hertz la
frecvene joase i deseori pn la 40 bii / Hz n anumite condiii, la frecvene nalte, deci un cablu cu
NIVELUL FIZIC
88
CAP. 2
lrgime de band de 500 MHz poate transporta mai muli gigabii / sec. Din Fig. 2-11 ar trebui s
reias acum clar de ce oamenii care se ocup de reele apreciaz aa de mult fibrele optice.
f(Hz)10
IO2
106
10*
10 8
Radio
1010
1012
10U
Infrarosu
Microunde
10 16
1018
UV
10 20
1022
RazeX
1024
Raze Gamma
Lumin
vizibil
f(Hz)10.'
IO5
106
IO7
IO8
Cablu torsadat
Coax
Radio
Radio
Maritim J^J\
IO9
1010
1012
10"
1013
1014
1016
ir/
Fibre
Satelii
1 *
Microunde
terestre
optice
FM
TV
Band
LF
.-___2
dk~ X
Dac acum trecem la diferene finite n loc de difereniale i alegem doar valorile pozitive, obinem:
(2-3)
Astfel, fiind dat lrgimea unei benzi de lungimi de und, &k, putem calcula banda de frecven
corespunztoare, A/, i, din aceasta, viteza de transfer de date pe care banda o poate produce. Cu ct
banda este mai larg, cu att creste viteza de transfer a datelor. De exemplu, s considerm banda
de 1.30 microni din Fig. 2-6. Aici avem A = 1.3 x IO"6 iAX = 0.17 x IO"6, cu A/ aproape 30 THz.
Pentru a preveni un haos total, exist convenii naionale i internaionale relative la ce frecvene
pot fi folosite i de ctre cine. Fiecare vrea o vitez de transmisie mai mare, adic vrea un spectru
de frecvene mai larg. n Statele Unite, FCC aloca spectru pentru radio AM i FM, televiziune i
telefoanele celulare i totodat pentru companiile de telefoane, poliie, navigaie, armat, guvern i
muli ali competitori. Pe scar global, acest lucru l face o agenie a ITU-R (WARC). De exemplu,
la ntlnirea din Spania din 1991, WARC a alocat echipamentelor de comunicaie portabile o
anumit poriune din spectru. Din pcate, FCC, care nu este limitat de recomandrile WARC, a
c 2 3
COMUNICAIILE FR FIR
89
Ies o alt poriune din spectru (deoarece oamenii din Statele Unite care deineau banda respectiv
au vrut s renune la ea i au avut o influen politic suficient). n consecin, echipamentele de
comunicaie personale construite pe piaa S.U.A. nu vor funciona n Europa sau Asia i vice-versa.
Majoritatea transmisiilor folosesc o band ngust de frecven {tflf 1) pentru a obine cea
mai buna recepie (muli W/Hz). Oricum, n unele cazuri, transmitorul sare de la o frecven la
alta n conformitate cu anumite reguli, sau transmisia este intenionat ntins pe o band de
frecvent larg. Aceast tehnic se numete spectru mprtiat (spread spectrum) (Kohno 1995).
Ea este foarte popular n comunicaiile armatei, deoarece face transmisia greu de detectat i
aproape imposibil de bruiat. Saltul peste frecvene nu este de mare interes pentru noi (n afar de
faptul c a fost co-inventat de actria de cinema Hedy Lamarr). Spectrele cu adevrat largi, numite
uneori spectru mprtiat cu secven direct (direct sequence spread spectrum), ctig
popularitate n lumea comercial i vom reveni la ele n capitolul 4. Pentru o istorie fascinant i
detaliat a comunicaiilor n spectru larg, vezi (Scholtz, 1982).
Pentru moment, vom considera c toate transmisiunile folosesc o band de frecven ngust.
Vom discuta despre diferitele pri ale spectrului, ncepnd cu banda radio.
2.3.2 Transmisia radio
Undele radio sunt uor de generat, pot parcurge distane mari, penetreaz cldirile cu uurin,
fiind larg rspndite n comunicaii, att interioare ct i exterioare. Undele radio sunt de asemenea
omnidirecionale, ceea ce nseamn c se pot propaga n orice direcie de la surs, deci nu este
nevoie de o aliniere fizic a transmitorului i a receptorului.
Uneori aceast proprietate de propagare omnidirecional este bun, alteori nu. n anii '70,
General Motors a decis s echipeze noile sale Cadillac-uri cu un calculator care s previn
blocarea frnelor. Atunci cnd oferul apsa pedala de frn, calculatorul frna treptat, n loc
s preseze frna complet. ntr-o frumoas zi de var, un ofier de pe o autostrad din Ohio a
nceput s-i foloseasc staia radio mobil pentru a chema sediul central i deodat Cadillacul situat n apropriere a nceput s se cabreze ca un cal slbatic. Atunci cnd ofierul a oprit
maina, oferul a pretins c el nu a fcut nimic i c maina a nnebunit.
n cele din urm a reieit c lucrurile se petreceau dup un anumit tipar: Cadillac-urile erau
scpate uneori de sub control, dar numai pe marile autostrzi din Ohio i numai cnd patrula era n
zona. Pentru o foarte lung perioad de timp, cei de la General Motors nu au neles de ce
Cadillac-urile mergeau foarte bine n toate celelalte state, ca i pe strzile secundare din Ohio. Dup
ndelungi cutri ei au descoperit c, n Cadillac, cablajul forma o anten foarte bun pentru
frecvena folosit de noul sistem radio al poliiei rutiere din Ohio.
Proprietile undelor radio sunt dependente de frecvene. La frecvene joase, undele radio se
propag bine prin obstacole, dar puterea semnalului scade mult odat cu distana de la surs,
aproximativ cu l/r3 n aer. La frecvene nalte, undele radio tind s se propage n linie dreapt i s
sar peste obstacole. De asemenea, ele sunt absorbite de ploaie. Toate frecvenele radio sunt supuse
la interferene datorate motoarelor i altor echipamente electrice.
Datorit capacitii undelor radio de a se propaga pe distane mari, interferena dintre utilizatori
devine o problem. Din acest motiv, toate guvernele acord cu foarte mare atenie licenele pentru
utilizatorii de transmitoare radio, cu o singur excepie (discutat mai jos).
In benzile de frecven foarte joase, joase i medii, undele radio se propag la sol, dup cum este
90
NIVELUL FIZIC
CAP. 2
ilustrat n Fig. 2-12(a). Aceste unde pot fi detectate pn la aproximativ 1000 Km pentru frecvene \
joase i mai puin pentru cele mai nalte. Difuzarea undelor radio AM folosete banda MF, acesta
fiind motivul pentru care staia radio AM din Boston nu poate fi auzit cu uurin n New York.
Undele radio n aceast band trec uor prin cldiri, fiind astfel posibil utilizarea radiourilor
portabile n spaii interioare. Problema principal care apare la comunicarea de date la aceste
frecvene este lrgimea relativ mic a benzii pe care o ofer [ vezi Ec. (2-2)].
n benzile nalte i foarte nalte, undele de la sol tind s fie absorbite de pmnt.
Oricum, undele care ating ionosfera, un strat de particule care nvelesc atmosfera la o nlime
de 100 pn la 500 Km, sunt refractate de aceasta i trimise napoi spre pmnt, dup cum arat Fig.
2-12(b). n anumite condiii atmosferice, semnalele pot parcurge acest drum de mai multe ori.
Und la
suprafaa pmntului
Suprafaa pmntului
\s
(a)
\y ^^
Suprafaa pmntului
(b)
Fig. 2-12. (a) n benzile VLF, VF i MF, undele radio urmresc curbura pmntului,
(b) n banda HF undele revin din ionosfera.
Operatorii radio amatori folosesc aceste benzi pentru a realiza convorbiri la mare distan. De
asemenea, armata comunic n benzile de und nalte i foarte nalte.
2.33 Transmisia prin microunde
Peste 100 MHz, undele se propag n linii drepte i pot fi, din acest motiv, direcionate.
Concentrnd toat energia ntr-un fascicol ngust, cu ajutorul unei antene parabolice (ca o anten de
satelit obinuit) rezult o valoare mult mai ridicat a ratei de semnal-zgomot, dar antenele care
transmit i cele care recepioneaz trebuie s fie aliniate cu precizie una cu alta. n plus, faptul c
aceste unde sunt orientate permite ca mai multe transmitoare s fie aliniate i s comunice cu mai
multe receptoare fr interferene. naintea fibrelor optice, microundele au format, timp de decenii,
inima sistemului telefonic de comunicaie pe distane mari. De fapt, numele companiei MCI
provenea de la Compania de Comunicaii prin Microunde (Microwave Communication Inc.),
deoarece ntregul ei sistem a fost iniial construit pe baz de turnuri de microunde (de atunci cea
mai mare parte a fost trecut la reea cu fibr).
Datorit faptului c microundele se propag n linii drepte, dac turnurile sunt foarte deprtate,
atunci st n cale pmntul (gndii-v la o legtur ntre San Francisco i Amsterdam). De
asemenea sunt necesare, periodic, repetoare. Cu ct turnurile sunt mai nalte, cu att repetoarele se
pot afla la distane mai mari. Distana dintre repetoare crete aproximativ cu radicalul nlimii
turnului. Pentru turnuri cu o nlime de 100 m, repetoarele se pot afla la distane de 80 Km.
Spre deosebire de undele radio la frecvene joase, microundele nu trec bine prin cldiri. n plus
cu toate c unda poate fi bine direciona la transmitor, apare o divergen n spaiu. Unele unde
COMUNICAIILE FR FIR
91
te
:i* refractate de straturile atmosferice joase i pot ntrzia mai mult dect undele directe. Undele
"ifiziate pot sosi defazate fa de unda direct, anulnd astfel semnalul. Acest efect este numit
re multi-ci (multipath fading) i constituie deseori o problem serioas. Este dependent de
eme si de frecven. Unii operatori pstreaz nefolosit un procent de 10 la sut din canalul propriu
nentru a putea comuta pe acesta atunci cnd atenuarea multi-ci anuleaz temporar anumite benzi
de frecven.
Cererea de spectre din ce n ce mai larg contribuie la mbuntirea tehnologiilor, astfel nct
transmisia poate folosi frecvene i mai nalte. Benzi de pn la 10 GHz sunt acum uzuale, dar la
aproape 8 GHz apare o nou problem: absorbia de ctre ap. Aceste unde sunt doar de civa
centimetri lungime i sunt absorbite de ploaie. Acest efect ar fi fost potrivit pentru cineva care ar
ncerca s construiasc un imens cuptor cu microunde n aer liber, dar pentru comunicaii este o
problem dificil. La fel ca i n cazul atenurii multi-ci, singura soluie posibil este de a ntrerupe
legturile acolo unde plou i s se gseasc o alt rut.
Comunicaiile cu microunde sunt att de larg folosite de telefonia pe distane mari, telefoanele
celulare, televiziune i altele, nct a aprut o criz n ceea ce privete spectrul. Microundele au mai
multe avantaje semnificative fa de fibr. Cel mai important avantaj este c nu sunt necesare
drepturi de acces la drum, cumprnd un mic teren la fiecare 50 Km i montnd un turn pe el, se
poate ocoli sistemul telefonic i se poate realiza o comunicare direct. Astfel a reuit MCI s
porneasc att de rapid ca o companie de telefoane pe distane mari. (Sprint a aplicat o alt tactic :
a fost format de Southern Pacific Railroad (cile feroviare sudice), care deja deinea destule
drepturi de acces i tot ce a avut de fcut a fost s ngroape fibra lng ine.)
Comunicaiile cu microunde, prin comparaie cu alte medii de transmisie, sunt ieftine.
Preul ridicrii a dou turnuri simple (doi stlpi nali asigurai cu patru cabluri) i de montare
a unei antene pe fiecare turn, poate fi mai mic dect preul ngroprii a 50 de Km de fibr ntro zon urban foarte populat sau peste un munte i poate fi mai mic dect costul nchirierii
fibrei de la o companie telefonic, mai ales atunci cnd acestea nu au pltit nc integral
cuprul care a fost nlocuit cu fibr.
n afar de utilizarea pentru transmisia pe distane mari, microundele mai au o alt aplicaie
important i anume benzile industriale, tiinifice i medicale. Aceste benzi sunt o excepie de la
regula acordrii licenelor: transmitoarele care folosesc aceste benzi nu necesit licene de la
guvern. Este alocat global o singur band: 2.400-2.484 GHz. n plus n Statele Unite i Canada,
exist benzi ntre 902-928 MHz i ntre 5.725 - 5.850 GHz. Aceste benzi sunt folosite de telefoanele
fr fir, uile de garaj cu telecomand, boxe Hi-Fi fr fire, pori securizate etc. Banda de la 900
MHz funcioneaz cel mai bine, dar este suprasolicitat, iar echipamentul care o utilizeaz poate fi
folosit numai n America de Nord. Benzile mai largi necesit un echipament electronic mai scump i
sunt supuse la interferene datorate cuptoarelor cu microunde i instalaiilor radar. Nu mai puin
adevrat este faptul c aceste benzi sunt foarte uzuale pentru diferite forme de reele fr fir pe arii
restrnse, deoarece nu necesit procurarea unei licene.
92
NIVELULFIZIC
CAP. 2;
obiectele solide (ncercai s stai ntre telecomand i televizor i vedei dac mai merge). n general,
cum ne deplasm de la undele radio lungi ctre lumina vizibil, undele se comport din ce n ce mai
mult ca lumina i din ce n ce mai puin ca unde radio.
Pe de alt parte, faptul c razele infraroii nu trec prin obiecte constituie un avantaj. Aceasta
nseamn c un sistem cu infraroii dintr-o camer a unei cldiri nu va interfera cu un sistem
similar situat n camerele adiacente. Mai mult, protecia sistemelor cu infraroii mpotriva
interceptrilor este mult mai bun dect sistemele radiofonice, exact din acest motiv. Datorit
acestor motive, pentru operarea unui sistem cu infraroii nu este necesar procurarea unei
licene, spre deosebire de sistemele radiofonice, care trebuie s dein o licen.
Aceste proprieti au fcut din undele infraroii un candidat demn de luat n seam pentru LANurile interioare fr fir. De exemplu, calculatoarele i birourile dintr-o cldire pot fi echipate cu
transmitoare i receptoare infraroii relativ nedirecionate (adic oarecum omnidirecionale). n
acest fel, calculatoarele portabile cu posibiliti de comunicare prin infrarou pot face parte din
reeaua local fr a fi nevoie s se conecteze fizic la ea. Atunci cnd mai muli oameni se prezint la
o ntlnire cu calculatoarele lor portabile, ei pot sta ntr-o sal de conferine i s fie total conectai
fr a ntinde cabluri. Comunicaiile cu infraroii nu pot fi folosite n exterior, deoarece soarele
emite tot attea raze infraroii ct unde n spectrul vizibil. Pentru mai multe informaii despre
comunicaiile cu infraroii vezi (Adams ct al., 1993; i Bantz and Bauchot, 1994).
2.3.5 Transmisia de undelor luminoase
Semnalele optice neghidate au fost folosite secole ntregi. naintea faimoasei lui cltorii,
Paul Revere a folosit semnale optice binare de la Old North Church. O aplicaie mai modern
este conectarea reelei locale n dou cldiri prin intermediul laserului montat pe acoperiul
lor. Semnalizarea optic folosind laserul este inerent unidirecional, deci fiecare cldire are
nevoie de propriul ei laser i de propria ei fotodiod. Aceast schem ofer o band foarte
larg la un cost foarte redus. De asemenea, este uor de instalat i, spre deosebire de
microunde, nu necesit o licen FCC.
Puterea laserului, un fascicol foarte ngust, este aici o slbiciune. ndreptarea unui fascicol de
lumin de lmm lime ctre o int de 1 mm lime aflat la 500 de metri deprtare necesit o
tehnic de vrf. De obicei, sunt introduse lentile pentru a defocaliza uor fascicolul.
Un dezavantaj este c fascicolul laser nu penetreaz ploaia i ceaa groas, dar n mod normal
ele funcioneaz bine n zilele nsorite. Oricum, autorul a participat odat ntr-un hotel modern din
Europa la o conferin la care organizatorii conferinei s-au gndit s pun la dispoziie o camer
plin cu terminale, n care participanii s-i poat citi pota electronic n timpul prezentrilor
plictisitoare. Deoarece PTT-ul local nu dorea s instaleze un numr mare de linii telefonice doar
pentru 3 zile, organizatorii au montat pe acoperi un laser orientat ctre cldirea departamentului de
calculatoare al universitii de calculatoare aflat la o distana de civa kilometri. Ei l-au testat cu o
noapte nainte i totul a decurs perfect. La ora 9, dimineaa urmtoare, ntr-o zi nsorit, legtura a
czut i a rmas aa toata ziua. Seara, organizatorii au testat-o din nou cu atenie i a funcionat nc
o dat perfect. Acelai lucru s-a ntmplat timp de dou zile consecutiv.
SISTEMUL TELEFONIC
93
/
Fascicolul laser
rateaz detectorul
Fotodetector
/
Regiune de
turbulen a vederii
Laser
Fig. 2-13. Curenii de convecie pot interfera cu sistemele de comunicaie prin laser. Aici este
prezentat un sistem bidirecional, cu dou lasere.
Dup conferin, organizatorii au descoperit problema. Cldura datorat soarelui din
timpul zilei a determinat naterea unor cureni de convecie din acoperiul cldirii, ca n Fig. 213. Acest aer turbulent a deviat fascicolul i 1-a fcut s oscileze n jurul detectorului. Aceast
vedere" atmosferic face ca stelele s plpie (acesta este motivul pentru care astronomii i
pun telescoapele pe vrful munilor - s fie ct se poate de mult deasupra atmosferei). Efectul
respectiv este responsabil i pentru tremurul" oselei ntr-o zi nsorit i a imaginii n Valuri'
deasupra unui radiator fierbinte.
2.4
SISTEMUL TELEFONIC
Dou calculatoare ale aceleiai companii sau organizaii, aflate la mic distan, pot fi
conectate simplu printr-un cablu, pentru a comunica ntre ele. Acesta este modul de
funcionare al reelelor locale. Oricum, cnd distanele sunt mari sau sunt multe calculatoare
ori cnd cablurile ar trebui s treac printr-un loc public, costul instalrii de cabluri particulare
este aproape prohibitiv. Mai mult, n aproape toate rile din lume, instalarea de cabluri de-a
lungul (sau pe sub) proprietile publice este ilegal. n consecin, proiectanii de reele
trebuie s se bazeze pe facilitile de comunicaie existente.
94
NIVELUL FIZIC
CAP. 2
O astfel de facilitate este PSTN, (Public Switched Telephone Network - reea telefonic
comutat public), care a fost proiectat cu muli ani n urm, n cu totul alt scop: transmisia vocii
umane ntr-o form mai mult sau mai puin recognoscibil. Acest sistem nu este prea potrivit pentru
comunicaiile ntre calculatoare, dar situaia se schimb rapid odat cu introducerea fibrelor optice i
a tehnologiei digitale. n orice caz, sistemul telefonic este att de strns legat de reelele de
calculatoare (larg rspndite geografic), nct merit s i acordm un studiu mai aprofundat.
Pentru a vedea ordinul de mrime al problemei, s facem o comparaie scurt dar semnificativ
ntre proprietile unei conexiuni tipice ntre calculatoare printr-un cablu local i printr-o linie
telefonic. Un cablu care face legtura ntre dou calculatoare poate transfera date la viteza
7
8
memoriei, n mod tipic IO - IO bps. Rata de apariie a erorilor este de obicei att de mic, nct este
greu de msurat, dar o eroare pe zi ar fi considerat mare pentru majoritatea instalaiilor. O eroare
12
13
pe zi la acele viteze este echivalent cu o eroare la IO - IO bii transmii.
4
Prin contrast, o linie telefonic are o viteza maxim de transfer de date de ordinul IO bps i
o rat de apariie a erorilor cam de 1 la IO5 bii transmii, depinznd ntr-o anumit msur de
vrsta echipamentului telefonic cu comutaie folosit. Produsul dintre rata de apariie a unei
erori si viteza transferului de date ale unui cablu local este astfel cu 11 ordine de mrime mai
bun dect pentru o linie telefonic. Pentru a face o analogie n domeniul transportului,
raportul dintre costul ntregului proiect Apollo, cu ajutorul cruia oamenii au aterizat pe
Lun,i costul unei cltorii cu autobuzul n ora este de aproape 11 ordine de mrime
(exprimat n dolari la nivelul anului 1965: 40 miliarde la 0.40).
Desigur, proiectanii de sisteme de calculatoare cheltuiesc mult timp i efort pentru a
analiza cum pot fi acestea folosite ct mai eficient i au dificulti cu un sistem a crui
performan (din punctul lor de vedere) este cu 11 ordine de mrime mai slab. Pe de alt
parte, companiile telefonice au fcut eforturi considerabile n ultimul deceniu pentru
mbuntirea echipamentului i a serviciilor n diferite zone. n seciunile care urmeaz vom
descrie sistemele telefonice i vom prezenta istoria i viitorul lor. Pentru informaii
suplimentare despre structura sistemelor telefonice vezi (Bellamy 1991).
2.4.1 Structura Sistemului Telefonic
Atunci cnd Alexander Graham Bell a brevetat telefonul n 1876 (doar cu cteva ore naintea
rivalului su, Elisha Gray), cererea pentru noua sa invenie a fost imens. Piaa iniial consta n
vnzarea telefoanelor, existente numai sub form de perechi. Era la latitudinea clientului s ntind
un fir ntre ele. Dac proprietarul unui telefon dorea s comunice cu ali n proprietari de telefoane,
trebuiau folosite fire separate pentru conectarea tuturor celor n case. n mai puin de un an, oraele
erau acoperite cu fire care treceau peste case i copaci ntr-o ncrengtur slbatic. A devenit
imediat evident c modelul conectrii fiecrui telefon la fiecare alt telefon, ca n Fig. 2-14(a), nu va
putea funciona.
Bell a observat acest lucru i a nfiinat Bell Telephone Company, care a deschis primul oficiu cu
comutare (n New Haven, Connecticut), n 1978. Compania a ntins un fir ctre casa sau biroul
fiecrui client. Pentru a da un telefon, clientul lovea furca pentru a semnaliza sonor i a atrage astfel
atenia operatorului, care apoi conecta manual cei doi clieni cu ajutorul unui cablu. Modelul unui
oficiu de comutare este ilustrat n Fig. 2-14(b).
SISTEMUL TELEFONIC
SEC. 2.4
95
Destul de repede, oficiile de comutare Bell Systems au aprut peste tot i oamenii au simit
nevoia unor convorbiri interurbane, oficiile Bell System ncepnd s se conecteze ntre ele. Problema
"nitial a redevenit actual: conectarea fiecrui oficiu de comutare cu fiecare alt oficiu prin
intermediul unui cablu a scpat rapid de sub control, fiind astfel inventate oficiile de comutare de
nivelul doi. Dup un timp, au fost necesare mai multe oficii de nivelul doi, ca n Fig. 2-14(c). n cele
din urm, ierarhia a ajuns pn la 5 nivele.
(a)
(b)
(c)
NIVELUL FIZIC
96
CAP. 2
Dac un abonat ataat la un anumit oficiu final apeleaz alt abonat ataat la acelai oficiu final,
mecanismul de comutare din acel oficiu stabilete o legtur electric direct ntre cele dou bucle
locale. Aceast legtur rmne intact pe toat durata convorbirii. Dac telefonul apelat este ataat
la un alt oficiu final, trebuie folosit o alt procedur. Fiecare oficiu final are un numr de linii
conectate la unul sau mai multe centre de comutare apropriate, numite oficii de taxare (sau dac
sunt n aceeai zon local, oficii n tandem). Aceste linii se numesc trunchiuri de conectare la
oficiile de taxare (toii connecting trunks). Dac se ntmpl ca att oficiul final al celui care apeleaz
ct i al celui apelat s aib un trunchi de conectare ctre acelai oficiu de taxare (ceea ce este
probabil dac sunt relativ apropriate), legtura poate fi stabil de ctre oficiul de taxare. O reea
telefonic format din telefoane (punctele mici), oficii finale (punctele mari) i oficiile de taxare
(ptratele) este prezentat n Fig. 2-14(c).
Dac apelantul i apelatul nu au un oficiu de taxare n comun, calea va trebui s fie stabilit
undeva mai sus n ierarhie. Oficiile de taxare sunt conectate prin intermediul unei reele formate din
oficii primare, de seciune i regionale. Comunicaiile ntre oficiile de taxare, primare, de seciune i
regionale se realizeaz prin intermediul trunchiurilor de comunicaie de band foarte larg.
Varietatea centrelor de comutare i a topologiei acestora (pot dou oficii de seciune s fie conectate
direct sau prin intermediul unui oficiu regional ?) difer de la o ar la alta n funcie de densitatea
telefonic. Figura 2-15 prezint un mod posibil de a realiza o legtur pe distane medii.
Telefon
Bucl
local
Oficiu
final
Oficii de
comutare
intermediare
Oficiu de
taxare
Trunchiuri de
conectare la
oficiile de taxare
Trunchiuri
de band foarte larg
ntre oficiile de taxare
Oficiu de
taxare
Oficiu
final
Trunchiuri de
conectare la
oficiile de taxare
Telefon
Bucl
local
25 cm ntre ele, la polii telefonului. Intre oficiile de comutare sunt larg folosite cablurile coaxiale,
microundele i mai ales fibrele optice.
n trecut, comunicarea n sistemul telefonic era analogic, semnalul vocal fiind transmis de la
surs la destinaie sub forma unei tensiuni electrice. Odat cu apariia electronicii digitale i a
calculatoarelor, a devenit posibil semnalizarea digital. n acest sistem sunt admise numai dou
tensiuni, de exemplu -5 voli i 5 voli.
Aceast tehnic are cteva avantaje fa de transmisiunea analogic. Primul este c, dei
atenuarea i distorsiunea sunt mult mai severe n cazul transmiterii unui semnal pe dou nivele dect
prin folosirea unui modem, este uor de calculat ct de departe se poate propaga un semnal astfel ca
el s mai poat fi recunoscut. Acolo, poate fi inserat un regenerator digital, pentru a regenera
semnalul la valoarea lui original, deoarece nu exist dect dou posibiliti. Un semnal digital poate
SISTEMUL TELEFONIC
97
gg
p r - u n numr oarecare de regeneratoare digitale fr pierderi Q semnal i astfel s
'arcurg distane - mari fr pierderi de informaie. Prin contrast, semnalele analogice sufer
totdeauna pierderi de informaie atunci cnd sunt amplificate i aceste pierderi se cumuleaz.
Avantajul net este c transmisiunea digital prezint o frecven sczut a erorilor.
Un al doilea avantaj al transmisiunii digitale este c vocea, datele, muzica i imaginea (de
ex televizor, fax i video) pot fi suprapuse pentru a putea folosi mai eficient circuitele i
echipamentele. Un alt avantaj este c simt posibile viteze mult mai mari de transfer al datelor
pe liniile deja existente.
Un al treilea avantaj este c transmisiunea digital este mult mai ieftin dect transmisiunea
analogic, deoarece nu este necesar s se reproduc exact forma unei unde analogice dup ce
aceasta s-a propagat prin sute de amplificatoare ntr-o convorbire intercontinental. Posibilitatea de
a distinge corect ntre 0 i 1 este suficient.
jn sfrit, ntreinerea este mai uoar n cazul unui sistem digital dect al unuia analogic. Un bit
transmis este recepionat corect sau nu, fiind mai simpl depistarea problemelor.
n consecin, toate trunchiurile pe distane mari din sistemul telefonic sunt rapid convertite la
trunchiuri digitale. Sistemul vechi folosea transmisia analogic prin intermediul firelor de cupru;
noul sistem folosete transmisia digital prin intermediul fibrelor optice.
Pe scurt, sistemul telefonic const din trei componente majore:
1. Bucle locale (cablu torsadat, transmisie analogic).
2. Trunchiuri (fibre optice sau microunde, cele mai multe digitale).
3. Oficii de comutare.
Dup o scurt prezentare a politicii n domeniul telefonic, vom studia aceste trei componente
mai n detaliu. Ne vom ocupa de transmiterea datelor prin bucla local (un rspuns rapid: folosind
un modem). Pentru trunchiurile pe distane mari, subiectul principal va fi gruparea mai multor
convorbiri mpreun i trimiterea lor simultan. Subiectul se cheam multiplexare i vom studia trei
modaliti diferite de multiplexare. n sfrit, exist dou moduri fundamental diferite de a face
comutarea, aa c le vom studia pe amndou.
NIVELUL FIZIC
98
CAP. 2
S clarificm cum s-a putut atinge acest scop: Statele Unite au fost mprite n aproape
160 de LATA (Local Access and Transport Areas - zone de acces i transport locale). Pe scurt,
o LATA acoper o suprafa cam la fel de mare ca un cod zonal. n cadrul unei LATA, exist
de obicei un LEC (Local Exchange Carrier - transportator local), care deine monopolul pe un
serviciu telefonic tradiional din interiorul LATA. Cele mai importante LATA sunt BOCurile, cu toate c unele LATA conin una sau mai multe din cele peste 1500 de companii
telefonice independente care funcioneaz ca LEC-uri. ntr-un LATA care acoper o
suprafa ntins (cele mai multe sunt n Vest), LEC-ul poate asigura convorbiri pe distane
mari n cadrul aceleiai LATA dar nu poate asigura convorbiri ctre o alt LATA.
Al doilea oficiu de
taxare IXC
Primul oficiu de
talare IXC
IXC pop
Oficii
tandem
Oficii
finale
LATA1
LATA 2
LATA 3
' Fig. 2-16. Relaia dintre LATA-uri, LEC-uri i IXC-uri. Toate cerculeele sunt oficii de
comutare LEC. Fiecare hexagon aparine cte unui IXC.
Tot traficul inter-LATA este asigurat de un alt tip de companie, un IXC (IntereXchange Carrier
- transportatorul inter-oficii). Iniial, AT&T Long Lines era singura companie IXC serioas, dar
acum MCIj^Sgrint sunt competitori consacrai n domeniul IXC. Una dintre preocuprile care au
aprut la aceast partajare a fost ca toate IXC s fie tratate egal. n ce privete calitatea liniilor,
tarife i numrul de cifre pe care un client trebuie s le formeze pentru a le putea folosi. Modul n
care acest lucru a fost ndeplinit este prezentat n Fig. 2-16. Aici vedem trei exemple de LATA,
fiecare cu mai multe oficii finale. LATA-urile 2 i 3 au de asemenea o mic ierarhie format din
oficii tandem (oficii intra-LATA).
Orice IXC care dorete s asigure convorbiri provenite dintr-o LATA poate construi un oficiu de
comutare, numit POP (Point of Presence - Punct de Livrare). LEC-ul trebuie s conecteze fiecare
IXC la fiecare oficiu final, direct, ca n LATA 1 i 3, sau indirect, ca n LATA 2. Mai mult, condiiile
n care se face aceast conectare, att tehnice ct i financiare, trebuie s fie aceleai pentru toate
SISTEMUL TELEFONIC
SEC 2.4
99
iXC-urile. n acest mod, un abonat din, szieem, LATA 1, poate alege ce IXC s foloseasc pentru
aapela abonai din LATA 3.
Printr-o clauz a MFJ, companiilor IXC le era interzis s ofere servicii telefonice locale i tuturor
LEC le era interzis s ofere servicii telefonice inter-LATA, cu toate c amndou erau libere s intre
n orice alt afacere, de exemplu deschiderea unor restaurante. n 1984, aceast declaraie era lipsit
de ambiguiti. Din pcate, tehnologia are un fel de a face ca legea s par depit. Nici televiziunea
prin cablu i nici telefoanele celulare nu erau acoperite de aceast nelegere. Atunci cnd
televiziunea prin cablu a trecut de la forma unidirecional la bidirecional i a crescut brusc
popularitatea telefoanelor celulare, att LEC-urile ct i IXC-urile au nceput s cumpere sau s se
asocieze cu companiile din aceste domenii.
n 1995, Congresul a observat c meninerea unei deosebiri ntre diferite tipuri de companii nu
mai era posibil i a aprobat o not prin care permitea companiilor de cablu TV, companiilor
telefonice locale, transportatorilor pe distane mari i operatorilor celulari s fac afaceri unul n
domeniul celuilalt. Ideea era ca orice companie s poat oferi clienilor si un serviciu complet,
cuprinznd cablul TV, telefon i servicii informaionale i c diferite companii ar putea concura n
ceea ce privete calitatea serviciilor asigurate i preul acestora. Aceast not a fost legiferat n
februarie 1996. n urma acestei hotrri, peisajul telecomunicaiilor n Statele Unite se afl n
prezent n plin proces de restructurare radical.
2.43 Buclele locale
n ultimii 100 de ani, transmisia analogic a dominat comunicaiile. n particular, sistemul telefonic
a fost iniial bazat integral pe semnalizare analogic. n timp ce trunchiurile pe distane mari sunt acum
n mare parte digitale, cu precdere n rile mai avansate, buclele locale sunt nc analogice i probabil
vor rmne aa pentru nc un deceniu sau dou, datorit costului enorm de a le nlocui.
Echipamentul
clientului
Echipamentul
clientului
Analogic
(bucl
local)
Codor/
Digital
(trunchiurile
companiei
telefonice)
Decodor
Digital
(cablu scurt)
Oficiu
final
Oficiu
de taxare
Analogic
(bucl
local)
Codor/
Decodor
Oficiu
final
Digital
(cablu scurt)
Fig. 2-17. Conectarea ntre calculatoare folosete att a transmisia analogice ct i cea digital.
Conversia este realizat de ctre modemuri i de ctre codoare/decodoare.
In consecin, atunci cnd un calculator dorete s trimit date numerice pe o linie telefonic,
datele trebuie s fie n prealabil convertite sub form analogic de ctre un modem, pentru a putea fi
.100
NIVELUL FIZIC
CAP. 2
transmise pe o bucl local, apoi convertit la date numerice, atunci cnd sunt transmise pe
trunchiurile pe distane mari, apoi din nou la analogic, la captul care recepioneaz i, n final, din
nou la digital de ctre un alt modem, pentru a putea fi memorate n calculatorul de destinaie.
Aceast schem este prezentat n Fig. 2-17.
Dei aceast situaie nu este ideal, ea va rmne pentru moment neschimbat i studenii care
studiaz reelele ar trebui s neleag att transmisia analogic ct i cea digital, precum i cum se
face conversia de la una la alta. Pentru liniile nchiriate este posibil folosirea semnalului digital de la
un capt la altul, dar acestea sunt foarte scumpe i sunt utile numai pentru a construi reele private
n interiorul unei companii.
n subcapitolele care urmeaz vom arunca o scurt privire asupra problemelor transmisiei
analogice i vom examina cum pot modem-urile s transmit date numerice folosind circuite
analogice. De asemenea, vom face o prezentare a dou interfee uzuale pentru modem, RS232-CiRS-449.
Factori care afecteaz transmisiile
SISTEMUL TELEFONIC
SEC. 2.4
101
"*'-
0 1
(O
(d)
Schimbri defaza
NIVELUL FIZIC
102
CAP. 2 I
varianta cea mai simpl a modulrii n faz, unda purttoare este sistematic comutat la intervale
egale la 45,135,225, sau 315 grade. Fiecare schimbare de faz transmite 2 bii de informaie. Figura
2-18 ilustreaz cele trei forme de modulare. Un echipament care accept un ir serial de bii la
intrare i produce un purttor modulat la ieire (sau vice-versa) se numete modem (modulatordemodulator). Modemul este inserat ntre calculatorul (digital) i sistemul telefonic (analogic).
Atingerea unor viteze din ce n ce mai mari nu este posibil doar prin continua cretere a
ratei de eantionare. Teorema lui Nyquist afirm c, chiar i pentru o linie ideal de 3000 de
Hz ( ceea ce nu e cazul pentru o linie telefonic), eantionarea la o frecvena mai mare dect
6000 Hz este lipsit de interes. n consecin, toate cercetrile pentru obinerea unor
modemuri mai rapide sunt orientate ctre transmiterea mai multor bii pe eantion (pe baud).
15
77
(a)
(b)
Fig. 2-19. (a) modularea 3 bii / baud. (b) modularea 4 bii / baud.
Cele mai performante modemuri folosesc o combinaie de tehnici de modulare pentru a
transmite mai muli bii pe baud. n Fig. 2-19(a), vedem puncte la 0,90,180 i 270 de grade, cu
dou niveluri de amplitudine pe faz. Amplitudinea este indicat prin distana fa de origine,
n Fig. 2-19(b) vedem o schem diferit de modulare, n care sunt folosite 16 combinaii de
amplitudine i diferene de faz. Astfel Fig. 2-19(a) are opt combinaii posibile i poate fi
folosit pentru a transmite 3 bii pe baud. Prin contrast, Fig. 2-19(b) are 16 combinaii valabile
i poate fi folosit astfel la transmiterea a 4 bii pe baud. Schema din Fig. 2-19(b) este numit
QAM (Quadratwre Amplitude Modulation - modulaia cuadratic toamplitudine) atunci cnd
este folosit pentru transmisia a 9600 bii pe secund pe o linie de 2400 baud.
Diagramele de genul celor din figura 2-19, care reprezint combinaiile posibile de amplitudine i
faz, sunt numite tipare de constelaii. Fiecare standard de modem de viteze nalte are propriul lui
tipar de constelaie i poate comunica numai cu alte modemuri care folosesc acelai standard (cu
toate c majoritatea modemurilor pot simula modemuri mai lente). Standardul modemului ITU
V.32 9600 bps folosete de exemplu tiparul de constelaie din Fig. 2-19(b).
Urmtorul pas peste 9600 bps este 14.400 bps. Este numit V.32 bis. Aceast vitez este atins
prin transmiterea a 6 bii pe eantion la o rat de 2400 baud. Tiparul de constelaie are 64 de puncte.
c 2 4
SISTEMUL TELEFONIC
103
^-modemurile folosesc aceast vitez pentru a transmite pagini care au fost scanate ca o hart de
""bii Dup V.32 bis urmeaz V.34, care atinge 28.800 bps.
[t< ^- = ot00
' Cu attea puncte n tiparul de constelaie, chiar i un mic nivel de zgomot detectat n
amplitudine sau faz poate conduce la o eroare, deci la 6 bii eronai. Pentru a reduce posibilitatea
de a obine o eroare, multe modemuri adaug un bit de paritate, rezultnd tipar de constelaie de
128 de puncte. Codarea punctelor se face cu atenie, pentru a maximiza ansa de a detecta erorile.
Codificarea care face acest lucru se numete codificare matricial (trellis coding).
O metod cu totul diferit pentru a atinge transmisiuni la viteze mari este mprirea spectrului
de 3000 Hz n 512 benzi nguste i transmiterea s zicem la o rat de 20 bps, pe fiecare din ele.
Aceast schem cere ca modemul s conin un procesor performant, dar are avantajul c este
capabil s anuleze anumite benzi de frecven care sunt prea zgomotoase. Modemurile care
folosesc aceast tehnic au, de obicei, i caracteristici V.32 i V.34, deci pot comunica cu
modemurile standard.
Multe modemuri prezint faciliti de compresie i de corectare a erorilor. Marele avantaj al
acestei tehnici este c facilitile respective mbuntesc viteza efectiv de transmisie a datelor fr
a fi nevoie s se fac modificri n programele existente. O schem de compresie foarte utilizat este
MNP 5, ce folosete o codificare prin care se nlocuiete o secven de bii identici cu numrul de
apariii al acestor bii. Fax-modemurile folosesc aceast codificare, deoarece secvene de 0 (blanc)
sunt foarte obinuite. O alt schem este V.42 bis, care folosete algoritmul de compresie ZivLempel folosit n Compress i n alte programe (Ziv i Lempel, 1977).
Chiar i atunci cnd sunt folosite modemurile, o alt problem poate aprea pe liniile telefonice:
ecourile. Pe o linie lung, atunci cnd semnalul atinge destinaia final, o parte din energie se poate
reflecta, asemenea ecourilor acustice n muni. Pentru a ilustra ecourile electromagnetice, ncercai
s orientai noaptea lumina unei lanterne dintr-o camer ntunecat spre geam. Vei vedea o reflexie
a razei de lumin n geam (o parte din energie a fost reflectat la suprafaa de separaie dintre aer i
sticl i a fost trimis napoi n camer).Acelai lucru se ntmpl i cu liniile de transmisie, mai ales
acolo unde buclele locale ajung la oficiile finale.
Efectul acestui ecou este c o persoan care vorbete la telefon i aude dup o scurt perioad
de timp propriile lui cuvinte. Studii psihologice au artat c acest lucru este suprtor pentru mult
lume, producnd deseori confuzii. Pentru a elimina problema ecourilor, pe liniile mai lungi de 2000
Km sunt instalate uniti de suprimare a ecoului. (Pe liniile scurte ecourile se ntorc att de repede
nct oamenii nu sunt deranjai de ele.) O unitate de suprimare a ecoului este un echipament care
detecteaz vorbirea uman venind de la un capt i suprim toate semnalele care se propag n
cealalt direcie. Acesta este de fapt un amplificator care poate fi activat sau nu de un semnal de
control generat de un circuit de detectare a vorbirii.
Atunci cnd prima persoan termin de vorbit i ncepe a doua persoan, unitatea de suprimare
a ecoului i schimb direcia. O unitate bun de suprimare a ecoului poate face aceast comutare
ntr-un interval de timp de 2 pn la 5 milisecunde. Oricum, n timp ce funcioneaz, informaia se
poate scurge ntr-o singur direcie; ecourile nu se pot ntoarce la cel care trimite. Figura 2-20(a)
prezint starea unitii de suprimare a ecoului cnd A vorbete lui B. Figura 2-20(b) prezint starea
dup ce B a nceput s vorbeasc.
104
NIVELUL FIZIC
CAP. 2
(b)
SISTEMUL TELEFONIC
105
Interfaa dintre calculator sau terminal i modem este un exemplu de protocol al nivelului fizic.
Aceasta trebuie s specifice n detaliu interfaa mecanic, electric, funcional i procedural. Vom
'arunca acum o privire mai atent pe dou standarde binecunoscute ale nivelului fizic: RS-232-C i
succesorul suRS-449.
S ncepem cu RS-232-C, care reprezint a treia revizie a standardului RS-232. Standardul, al
crui nume complet este EIA RS-232-C Electronic Industries Association (Asociaia Industriilor
Electronice), o organizaie format din productori de echipamente electronice. Versiunea
internaional este dat de recomandarea CCITT V.24, este uor diferit de standardul menionat,
pentru unele circuite folosite mai rar. In standarde, terminalul sau calculatorul este numit DTE
(Data Terminal Equipment - Echipament Terminal de Date) iar modemul este numit oficial DCE
(Data Circuit-Terminating Equipment - Echipament de Terminare a Circuitului de Date).
Specificaia mecanic se refer la un conector de 25 de pini, cu o lime de 47,04 +/- 0.13 mm
(ntre axele uruburilor), toate celelalte dimensiuni fiind specificate la fel de riguros. Rndul de sus
conine pinii numerotai de la 1 la 13 (de la stnga la dreapta); rndul de jos are pinii numerotai de
la 14 la 25 (de asemenea de la stnga la dreapta).
Specificaiile electrice pentru RS-232-C precizeaz c tensiunea negativ sub -3 voli se
reprezint prin 1 binar i o tensiune mai mare de +4 voli este un 0 binar. Sunt permise viteze de
transfer al datelor de pn la 20 Kbps i cabluri de lungimi pn la 15 metri.
mpmntare (1)
Transmisie (2)
Recepie (3)
Cerere de transmisie (4)
Calculator
sau
terminal
Modem
NIVELUL FIZIC
106
CAP.2'
Gata de Transmisie (Qear to Send) (pin 5) arat c modemul este pregtit s accepte date. Datele
sunt transmise pe circuitul de Transmisie (pin 2) i recepionate pe circuitul de Recepie (pin 3).
Exist, de asemenea, alte circuite pentru a selecta viteza de transfer al datelor, testarea
modemului, sincronizarea datelor, detectarea apelurilor i trimiterea datelor n direcia opus, pe un
canal secundar. Ele sunt rareori folosite n practic.
RS-232-C
Circuit
Cod Pin
1
Mas
de
protecie
AA
AB 7 Mas semnal
BA
BB
CA
CB
2 Date transmise
3 Date recepionate
4 Cerere de transmisie
5 Gata de transmisie
CC
6 Modem pregtit
CD 20 Terminal pregtit
CE 22 Indicator de sonerie
CF 8 Detector de linie
CG 21 Calitatea semnalului
CH 23 rata DTE
CI 18 rata DCE
24 Sincronizare DTE
DB 15 Sincronizare DCE
DD 17 Sincronizarea
receptorului
SBA 14 Date transmise
SBB 16 Date recepionate
SCA 19 Cerere de transmisie
SCB 13 Gata de transmisie
{ SCF 12 Detector de linie
f
DA
CCITTV.24
Circuit
Cod Pin
101 1 Mas de protecie
102 7 Mas semnal
103
104
105
106
107
108
125
109
110
111
112
2
3
4
5
6
20
22
8
21
23
18
136
126
113
114
115
11
24
15
17
118
119
120
121
122
14
16
19
13
12
Date transmise
Date recepionate
Cerere de transmisie
Gata de transmisie
Modem pregtit
Terminal pregtit
Indicator de apel
Detector de linie
Calitatea semnalului
rata DTE
rata DCE
Apel nou
Frecvent de selecie
Sincronizare DTE
Sincronizare DCE
Sincronizarea
receptorului
Date transmise
Date recepionate
Semnal de linie
Canal pregtit
Detector de linie
Cod
S~G
SC
RC
SD
RD
RS
CS
DM
TR
IC
RR
SQ
SR
l
!S
NS
SF
TT
ST
RT
SSD
SRD
SRS
SCS
SRR
LL
RL
TM
SS
SB
Pin
1
19
37
20
4,22
6,24
7,25
9,27
11,29
12,30
15
13,31
33
16
2
28
34
16
17,25
5,23
8,26
3
4
7
8
2
10
14
18
RS - 449
Circuit
Mas semnal
tetur comun pentru transmisie
Retur comun pentru recepie
ransmite date
Primete date
Cerere de transmisie
Gata de transmisie
modul date
Terminal Pregtit
Apel
Receptor Pregtit
Calitatea semnalului
Rata de semnalizare
ndicatori de semnalizare
Terminalul lucreaz
Apei nou
Frecvent de selecie
Sincronizarea terminalului
Sincronizarea transmisiei
Sincronizarea recepiei
Transmite date
Recepioneaz date
Cerere de transmisie
Gata de transmisie
Receptor pregtit
Bucl local
Bucl la distan
modui test
32 Selecteaz pregtit
36 Indicator pregtit
SISTEMUL TELEFONIC
pic aleeeleflalte. Modemul nul conecteaz totodat, ntr-un mod similar, i unele din celelalte
Unii. Un modem nul arat ca un cablu scurt.
RS-232-C exist de ani de zile. Treptat, limitarea vkezejje^n^r_aldatelor la numai 20 Kbps
4 a l u n c i i cablului la maximum 15 metri a devem7dn~l^r m le~ln^
dezbtut pe larg dac s introduc un nou standard care s fie compatibil cu cel vechi (dar nu foarte
avansat din punct de vedere tehnic) sau un standard nou i i n c o m p a t i b i l e s acopere nevoile
- mJ ce vor urma. Ei au ajuns n cele din urm la un compromis, prin alegerea ambelor variante
= Noul standard, numit RS-449, reprezint, de fapt, trei standarde ntr-unui singur Interfeele
mecanice, funcionale i procedurale sunt date de RS-449, dar interfaa electric este dat de dou
standarde diferite. Primul dintre acestea, RS-423-A, este similar cu RS-232-C prin faptul c toate
arcuitele mpart aceeai mpmntare. Aceast tehnic este numit transmisie neechilibrat n
schimb, al doilea standard electric, RS-422-A, folosete transmisia echilibrat, n care fiecare circuit
m&pd n e c e s i t d o u fre ' f r mpmntare comun. Ca rezultat, RS-422-A poate fi folosit la
l
la
c
c
viteze
viteze
de pn
2^EhSB^^S^SJ^hM^
J^^ Qviteze de pn
p
2^EhSB^^S^SJ^hM^
J^^BMB
Circuitele folosite n RS-449 sunt prezentate toFig. 2-22." Au fost adugate mai multe circuite
care nu sunt prezente n RS-232-C. In particular, au fost introduse circuite de testare att a
modemului local ct i a celui de la distan. Datorit introducerii unui numr de circuite noi (atunci
cnd este folosit RS-422-A), n noul standard sunt necesari mai muli pini, vechiul standard de 25 de
pini fiind nlocuit. In locul lui a aprut uncone^oj^eJ7jinLi un: conectorde 9 pini Conectorul de
9 pini este necesar numai dac se utilizeaz canalul secundar.
" 4j
"
'
1 61 m a l t e
^Z !
i ^
id
^^
(SaU
Camle
()
^ ^ ut 6 1i h0 m^U)n *d fpot
transmite
pe fibr la
bre
tice
n Z T ^ ^ f ****** * *
* 1 ^bps
actual Depirea s e m
T *
^&
^
P
"
^
torsadate
actuale
Deci toate
fefe
M MtQ treptat
te vor t r d s
ds
tQtreptatprin
prinfbre
fbre p rpb i e m a
erefo , ?
TT
-- i * * *^^ - ii
PS
dlStSne m a n eSte
0 8
cu
m t e n a telefonica este daca sa se utilizeze pentru nceput soluia intermediar FTTC sau dac ar
trebui sa se implementeze de la bun nceput FTTH.
NIVELUL FIZIC
108
CAP. 2^
Cas
ii! [BIS]
Cablu torsadat
din cupru
!!::
(a)
Comutator
Cablu TV
din cupru
JCutie de jonciune
Cas
(b)
Fig. 2-23. Fibr ctre fiecare vecintate, (a) Folosind sistemul telefonic,
(b) Folosind reeaua de cablu TV.
n Fig. 2-23(b) este prezentat o schem alternativ folosind infrastructura de cablu TV
existent. Aici este folosit, n loc de conectarea punct la punct, caracteristic sistemului telefonic, un
cablu cu mai multe ieiri (multidrop cable). Este de ateptat ca amndou schemele din Fig. 2-23(a)
i Fig. 2-23(b) s coexiste n viitor, deoarece companiile telefonice i cele de cablu TV vor deveni
competitori n ceea ce privete oferta de servicii de voce, date i chiar de televiziune. Pentru mai
multe informaii legate de acest subiect, vezi (Cook i Stern, 1994; Miki, 1994b; i Mochida, 1994).
2.4.4 Trunchiuri i multiplexare
Economia rezultat din scalabilitate joac un rol important n sistemul telefonic. Instalarea i
ntreinerea unor trunchiuri de band larg ntre dou oficii de comutare cost cam tot att ct
instalarea i ntreinerea unui trunchi de band joas (costul provine de la sparea anului, nu de la
SISTEMUL TELEFONIC
SEC. 2.4
109
Figura 2-24 ne prezint cum sunt multiplexate trei canale de band vocal folosind FDM.
Canal 1
1
CD
3
C
0)
Canal 2
Canal 2
Canal 1
o
o
60
O
CD
Canal 3
Canal 3
64
68
72
Frecven (kHz)
(O
300
3100
60
64
68
Frecven (Hz)
Frecven {kHz)
(a)
(b)
Fig. 2-24. Mutliplexarea prin divizare n frecven, (a) Banda de frecven iniial,
(b) Banda deplasat n frecven, (c) Canalul multiplexat.
110
NIVELUL FIZIC
CAP. 2 1
I
Filtrele limiteaz lrgimea de band folosit la 3000 de Hz pe canal de band vocal. Atunci i
cnd sunt multiplexate mpreun mai multe canale, fiecrui canal i sunt alocai 4000 de Hz, astfel
nct canalele s fie bine separate. Mai nti canalele de voce sunt ridicate n frecven, fiecare cu o
mrime diferit. Apoi ele pot fi combinate, deoarece nu exist dou canale care s ocupe aceeai
zon a spectrului. Este de remarcat c, dei exist spaii (spaii de gard) ntre canale, are loc o
suprapunere ntre canalele adiacente, deoarece filtrele nu au marginile abrupte. Aceast
suprapunere nseamn c un semnal puternic la captul unui canal va fi simit n canalul adiacent ca
un zgomot non-termic.
Schemele FDM folosite pe glob sunt, pn la un anumit nivel, standardizate. Un standard foarte
folosit este dat de 12 canale vocale a 4000 Hz (3000 Hz pentru utilizator, plus doua benzi de gard
de 500 de Hz fiecare) multiplexate n banda de 60 pn la 108 kHz. Aceast unitate este numit un
grup. Banda 12 - 60 kHz este uneori folosit de un alt grup. Multe companii ofer clienilor un
serviciu de linie nchiriat de 48 pn la 56 kbps, bazat pe un grup. Cinci grupuri (60 de canale
vocale) formeaz un super-grup. Urmtoarea unitate este un master-grup, care este format din cinci
super-grupuri (n standardul CCITT) sau zece super-grupuri (sistemul Bell). Exist alte standarde
care cuprind pn la 230.000 canale vocale.
Multiplexarea prin divizarea lungimii de und
Pentru canalele de fibr optic, se utilizeaz o alternativ a multiplexrii prin divizarea
frecvenei. Aceasta se numete WDM (Wavelength Division Multiplexing - Multiplexarea prin
Divizarea lungimii de und). Un mod simplu de a utiliza FDM pe fibre este prezentat n Fig.
2-25. Aici dou fibre se ntlnesc la nivelul unei prisme (sau mai degrab o gril de difracie),
fiecare cu energia proprie ntr-o band diferit. Cele dou raze sunt trecute prin prism i
combinate ntr-o singur fibr comun pentru a fi transmise ctre o destinaie deprtat, unde
ele sunt din nou mprite.
Aici nu este de fapt nimic nou. Atta timp ct fiecare canal are propriul lui domeniu de frecven
i toate aceste domenii sunt disjuncte, ele pot fi multiplexate mpreun pe o fibr de distan mare.
Singura diferen fa de FDM electric este c un sistem optic care folosete o suprafa de difracie
este total pasiv i, de aceea, foarte sigur. Este de remarcat c motivul popularitii att de mari a
WDM-ului este c energia pe o singur fibr este, de obicei, de numai civa gigaheri, deoarece este
imposibil s se fac momentan mai rapid conversia de la mediul electric la cel optic. Din moment ce
banda de frecven a unei singure fibre este de aproximativ 25.000 GHz (vezi Fig. 2-6), exist un
mare potenial pentru multiplexarea mai multor canale pe traseele lungi. Oricum, ca o condiie
necesar, canalele de intrare trebuie s foloseasc frecvene diferite.
O posibil aplicaie a WDM-ului este n sistemele FTTC descrise anterior. Iniial, o companie
telefonic putea instala o fibr optic de la fiecare oficiu final la fiecare cutie de jonciune de
vecintate unde se ntlnea cu cablurile torsadate de la locuine. Dup civa ani, atunci cnd costul
fibrei este mai sczut i cererea de fibre este mai mare, cablurile torsadate pot fi nlocuite cu fibre i
toate buclele locale pot fi reunite pe fibra care le conecteaz la oficiul final folosind WDM.
n exemplul din Fig. 2-25, avem un sistem fix de lungimi de und. Bii din fibra 1 trec n fibra 3 i
bii din fibra 2 trec n fibra 4. Este imposibil s avem bii care s treac din fibra 1 n fibra 4. Totui,
este de asemenea posibil s construim sisteme WDM care sunt comutate. ntr-un asemenea
echipament, exist multe fibre la intrare i multe fibre la ieire i datele de la orice fibr de intrare
SISTEMUL TELEFONIC
.SEC 2.4
IU
aitifl^e la orice fibr de ieire. De obicei, cuplajul este o stea pasiv, cu fiecare raz de lumin de
^i fecaw fibr de intrare iluminnd steaua. Cu toate c prin difuzarea ctre n ieiri, energia se
f - n u e a z cu un factor n, astfel de sisteme sunt practice pentru sute de canale.
Spectrul
Spectrul
fibrei 1
Spectrul
fibrei 2
fibrei folosite
n comun
O.
Fibr folosit
n comun
Cu toate c FDM este folosit nc pe firele de cupru sau canalele de microunde, ele necesit
circuite analogice i nu poate fi fcut de ctre un calculator. Din contr, TDM-ul poate fi n
ntregime tratat de electronica digital, devenind mult mai rspndit n ultimii ani. Din pcate,
TDM-ul poate fi folosit numai pentru date digitale. Deoarece buclele locale produc semnale
analogice, este necesar o conversie de la analogic la digital n oficiul final, unde toate buclele
locale individuale se ntlnesc pentru a forma o magistral. Vom arunca acum o privire asupra
modului n care mai multe semnale vocale analogice sunt digitizate i se reunesc pentru a forma o
singur magistral digital. (inei minte c datele trimise de un calculator prin modem sunt tot
analogice cnd ajung la oficiul final).
Semnalele analogice sunt digitizate n oficiul final de un echipament numit codec (codificator/
decodificator), producnd un numr de 7-8 bii (vezi Fig. 2-17). Codec-ul realizeaz 8000 de
eantioane pe secund (125 usec/eantion), deoarece teorema lui Nyquist spune c aceasta rat este
suficient pentru a capta toat informaia de pe canalul telefonic de 4 kHz. La o rat mai mic de
NIVELUL FIZIC
112
CAP.
eantionare, informaia ar putea fi pierdut; la o rat mai mare, nu se poate recepionat informaie
suplimentar. Aceast tehnic se numete PCM (Puise Code Modulation - Modularea Impulsurilor
n Cod). PCM constituie inima sistemelor telefonice moderne. Ca o consecin, practic toate
intervalele de timp dintr-un sistem telefonic sunt multipli de 125 usec.
Cnd transmisia digital a.nceput s devin o tehnologie fezabil, CCITT a fost incapabil s
ajung la o nelegere referitoare la un standard pentru PCM. n consecin, acum exist o varietate
de scheme incompatibile folosite n ri diferite n toat lumea. Convorbirile telefonice ntre ri
incompatibile necesit cutii negre" (i deseori foarte scumpe) pentru a converti sistemul din ara de
origine n sistemul din ara destinaie.
, Bitul 1 este
pentru ncadrare
7 bii de date
pe fiecare canal
pentru fiecare eantion
SISTEMUL TELEFONIC
113
ate. Canalul 24 este folosit pentru un ablon de sincronizare special, care permite recuperarea mai
rapid n cazul n care un cadru este pierdut.
Cnd a ajuns, n final, la o nelegere, CCITT a simit c 8000 bps de informaie de
semnalizare este mult prea mult, aa c standardul de 1.544 Mbps se bazeaz pe date de 8 bii
n loc de 7 bii; aceasta nseamn c semnalul analogic este codificat, folosind 256 n loc de 128
de nivele discrete. Exist dou variante incompatibile. n semnalizarea prin canal comun
(common-channel signaling), bitul suplimentar (care este ataat mai degrab n urma si nu n
faa cadrului de 193 de bii) are valorile 1010101010... n cadrele impare i conine informaii
de semnalizare pentru toate canalele n cadrele pare.
n cealalt alternativ, semnalizarea asociat canalelor (channel asssociated signaling) fiecare
canal are propriul su subcanal de semnalizare. Un subcanal privat este constituit prin alocarea
unuia din cei 8 bii utilizatori, la fiecare 6 cadre, pentru semnalizare, astfel c 5 din 6 eantioane sunt
de 8 bii lungime, iar ultimul este de doar 7 bii lungime. De asemenea, CCITT a recomandat un
purttor de 2.048 Mbps numit El. Acest purttor are 32 de eantioane de 8 bii, mpachetate n
cadrul fundamental de 125 usec. Treizeci de canale sunt folosite pentru informaii iar dou sunt
folosite pentru semnalizare. Fiecare grup de 4 cadre asigur 64 de bii de semnalizare din care
jumtate sunt folosii la semnalizarea asociat canalului i jumtate pentru sincronizarea cadrelor
sau pentru alte funcii dependente de rile care i utilizeaz. Purttorul de 2,048 Mbps este lam
folosit n afara Americii de Nord i a Japoniei.
Odat ce semnalul vocal a fost codificat, este tentant s folosim metode statistice pentru a
reduce numrul de bii necesari pentru fiecare canal. Aceste tehnici sunt potrivite nu numai pentru
codificarea vorbim, ci i pentru digitizarea oricrui semnal analogic. Toate metodele de compactare
se bazeaz pe principiul c semnalul se modific relativ ncet n comparaie cu frecventa de
eantionare, deci multe din informaiile din nivelele de 7-8 bii sunt redundante '
15
Semnalul se schimb
prea repede pentru a putea
fi codat corect
CD
10
o
o
o
CD
-tu 5
0I1M
Interval de
eantionare
1 0 0 0 0 0 0 0 0
Timp->
1 1 1 1 1 1
Secvena de bii
transmis
114
NIVELUL FIZIC
CAP.2J
1TTI6I2I-
"
6 T2 Ia intrare
7 T3 la intrare
T2
11 T2
la ieire
ieir
la
4:11-
I6I5I413I2IIQI ZZ 6:1
1.544 Mbps
6.312 Mbps
44.736 Mbps
274.176 Mbps
T1
T2
T3
T4
SISTEMUL TELEFONIC
115
^raast nenelegeri privind purttorul de baz, ntre Statele Unite i restul lumii,
stQ. nenelegeri privitoare la modul de multiplexare n purttori de band mai larg.
kaimrienientat n S.U.A, care este fcut prin trepte de 4, 6 i 7, nu s-a impus ca un
" drd standardul CCITT multiplexnd 4 secvene n una singur la fiecare nivel. De
S
" enea ncadrarea i recuperarea datelor se fac diferit. Ierarhia CCITT de 32, 128, 512,
2048 si-8192 de canale funcioneaz la viteze de 2,048,8,848,34,304,139,264 i 565,148 Mbps.
#Hff
SONET/SDH
- "La apariia fibrelor optice, fiecare companie telefonic avea propriul sistem optic TDM. Dup ce
AT&T-ul a fost divizat n 1984, companiile telefonice locale au fost obligate s se conecteze la mai
inulte companii de telecomunicaie pe distane mari, fiecare companie avnd sisteme TDM diferite,
devenind astfel evident necesitatea unei standardizri. n 1985, Bellcore, divizia de cercetare a
RBOC, a nceput s lucreze la un nou standard, numit SONET ( Synchronous Optical NETwork reea optic sincron). Mai trziu s-a alturat i CCITT, fapt care s-a materializat n 1989 prin
standardul SONET i printr-un set paralel de recomandri CCITT (G.707, G.708 i G.709).
Recomandrile CCITT sunt numite SDH (Synchronous Digital Hierarchy - ierarhie digital
sincron), dar difer de SONET numai n mic msur. Practic, aproape tot traficul pe distane
mari, n Statele Unite, i cea mai mare parte a traficului din alte zone folosete acum trunchiuri cu
SONET pe nivelul fizic. Datorit faptului c tipurile SONET sunt mai ieftine, plcile de interfa
SONET pentru calculatoare ar putea deveni mult mai rspndite i astfel ar putea fi mai uor pentru
companii s conecteze calculatoarele direct la inima reelei telefonice pe linii speciale nchiriate. n
cele ce urmeaz vom studia pe scurt elurile i schema SONET. Pentru informaii suplimentare vezi
(Bellamy 1991; i Omidyar i Aldrige, 1993).
Proiectul SONET a urmrit patru obiective principale. Primul i cel mai important, SONET
fireMa s permit conlucrarea mai multor companii de telecomunicaie. Pentru atingerea acestui
obiectiv este necesar definirea unui standard comun de semnalizare referitor la lungimea de und,
la sincronizare, la structura de ncadrare i altele.
n al doilea rnd, erau necesare cteva metode de a unifica sistemele digitale din S.U.A. ,
Europa i Japonia, toate bazndu-se pe canale PCM de 64 kbps, dar toate fiind folosite diferit i
fiind totodat incompatibile ntre ele.
n al treilea rnd, SONET trebuia s permit multiplexarea mai multor canale digitale. Atunci
cnd a fost elaborat SONET, cel mai mare purttor digital utilizat efectiv pe scar larg n Statele
Unite era T3, la 44.736 Mbps. T4 era definit, dar nu era att de folosit, iar deasupra vitezei lui T4 nu
era definit nimic. O parte a misiunii SONET era s ridice ierarhia la nivel de gigabii / sec i chiar
mai mult. Era de asemenea necesar o modalitate standard de multiplexare a canalelor mai lente
ntr-lin canal SONET.
n al patrulea rnd, SONET trebuia s asigure suportul de operare, administrare i ntreinere
(OAM Operations, Administration, and Maintenance). Sistemele precedente nu au realizat acest
lucru foarte bine.
O decizie mai veche era ca din SONET s se fac un sistem TDM tradiional, n care toat
banda de frecven a fibrei optice atribuit unui singur canal s conin diferite intervale de timp
pentru subcanale diferite. Astfel, SONET este un sistem sincron. El este controlat de un ceas
NIVELUL FIZIC
116
CAP. 2
principal, cu o eroare de aproximativ IO" . Biii sunt trimii pe o linie SQNET la intervale extrem de
precise, controlate de ceasul principal.
Atunci cnd comutarea celulelor a fost propus mai trziu ca baz pentru ISDN n band larg,
faptul c ea permitea sosirea neregulat a celulelor a determinat etichetarea sa ca mod de transfer
asincron (ATM), pentru a contrasta astfel cu operaiile sincrone ale SONET-ului.
Un sistem SONET const din comutatoare, multiplexoare i repetoare, toate conectate prin
fibr. n Fig. 2-29 este prezentat o cale de la surs la destinaie, cu un multiplexor intermediar i un
repetor intermediar. n terminologia SONET, o fibr care face legtura direct de la orice
echipament la orice alt echipament, fr nimic intermediar, se numete o seciune. O legtur ntre
dou multiplexoare (eventual cu unul sau mai multe repetoare n mijloc) - se numete linie. n
sfrit, legtura dintre surs i destinaie (eventual cu unul sau mai multe multiplexoare sau
repetoare) se numete cale. Topologia SONET poate fi o plas, dar poate fi i un inel dual.
Multiplexor la
surs
Repetor
Multiplexor
Multiplexor la
destinaie
Seciune-
-Seciune-
-Seciune
Seciune-
Repetor
Linie
- Linie
Cale
SISTEMUL TELEFONIC
2.4
117
"Xcblbane pentru
suprancrcare
rnduri
l
87 coloane
--
-4
i<
-r~
j _
;-,
Lli1
t-er
'l
ii
*
...
r:".f'F1
,'iin,;,
'
- ,
1 *' ^
l
i,
.
ip .
;
;=:
-1
,..f .,
. f 5 t
.:1,
--1
. M
li' L
' 5r
"d
t
,,
-i.
--
Cadru
Sonet
(125 msec)
M " , -'li
i.
4r t.'E>J. i2!a..l!dMHkTr&iT
I
'
1-
T.
f ,i- s i
-'
Cadru
Sonet
(125 msec)
hb
n r . - T O I * j*-sa*i
Suprancrcare
de seciune
n Suprancrcare
de linie
m Suprancrcare
de cadru
SPE
Modificator
STS-12
T3
T3
Multiplexor
3:1
Multiplexor
4:1
Convertor
electric-optic
OC-12
NIVELUL FIZIC
118
CAP. 2
SDH
Optic
STM-1
STM-3
STM-4
STM-6
STM-8
STM-12
STM-16
SEC 2.4
SISTEMUL TELEFONIC
119
Atunci cnd un purttor, cum ar fi OC-3, nu este multiplexat, dar transport date de la.o singur
surs, este adugat n notaie litera c (de la concatenate), astfel c OC-3 indic un purttor de 155,
52 Mbps care const din trei purttori OC-1 diferii, n timp ce OC-3c indic o secven de date de la
o singur surs la 155,52 Mbps. Cele trei secvene OC-1 dintr-o secven OC-3c sunt ntreesute pe
coloane, prima coloan din secvena 1, apoi coloana din secvena 2, apoi coloana 1 din secvena 3,
urmat de coloana 2 din secvena 1 i aa mai departe, ceea ce conduce la un cadru de 270 de
coloane i 9 rnduri.
Cantitatea de date proprii ale utilizatorului ntr-o secven OC-3c este puin mai mare dect
ntr-o secven OC-3 (149,760 Mbps versus 148,608 Mbps), deoarece coloana pentru
suprancrcarea de cale este introdus n SPE o singur dat, n loc de trei ori, ca n cazul a trei
secvene independente OC-1. Cu alte cuvinte, n OC-3c sunt disponibile 260 din 270 de coloane, n
timp ce n OC-3 numai 258 de coloane sunt disponibile datelor utilizatorului.
Subnivel
Caie
Linie
.I
i
Seciune
i
I
Fotonic
Surs
-
-*
-
Seciune
Repetor
*--*
Linie
Multiplexor
Seciune
* *
*- -*
Cale
Seciune
Linie
Destinaie
***~
NIVELUL FIZIC
120
CAP. 2;
2.4.5 Comutarea
Din punctul de vedere al unui inginer telefonist obinuit, sistemul telefonic se mparte n dou:
domeniul exterior (buclele locale i trunchiurile, deoarece ele sunt n afara oficiilor de comutare) i
domeniul interior (comutatoarele). Tocmai am aruncat o privire asupra domeniului exterior. Acum
a venit timpul s examinm domeniul interior.
n sistemul telefonic se utilizeaz dou tehnici de comutare diferite: comutarea de circuite si
comutarea de pachete. Vom prezenta mai jos o scurt introducere pentru ambele tehnici. Apoi vom
studia n detaliu comutarea de circuite, acesta fiind modul de funcionare actual al sistemul telefonic.
Mai trziu, n acest capitol, vom trata n detaliu comutarea de pachete n contextul noii generaii a
sistemului telefonic, ISDN de band larg.
Comutarea de circuite
telecomunicaie (oficiu final, oficiu de taxare etc). In acest exemplu fiecare oficiu are trei linii de
intrare i trei linii de ieire. Atunci cnd o cerere trece prin oficiu, se stabilete conceptual o legtur
ntre linia de pe care a venit cererea i una din liniile de ieire, reprezentate de liniile punctate.
Conectarea fizic
realizat pe durata
convorbirii
(a)
Oficiu de comutare
Calculator
Pachetele aflate n
coad pentru a fi
transmise n continuare
Calculator
SISTEMUL TELEFONIC
121
J*-' snrimele zile ale telefoniei, legtura era fcut de un operator care conecta un cablu n mufele
a " - trare si de ieire. De fapt, exist i o povestioar simpatic legat de invenia echipamentului de
". - u t a re automat a circuitelor. Acest echipament a fost inventat n secolul XIX de un proprietar
1 unei firme de Pompe Funebre numit Almon B. Strowger. Puin timp dup ce telefonul a fost
ntat cnd cineva a murit, unul dintre supravieuitori a sunat operatorul oraului i a spus: V
rog, fecei-mi legtura cu o firm de Pompe Funebre".
Semnal de cerere convorbire
PktT
ntrziere de
propagare
PktT
Pkt2
/l
IVlsg
Timp
petrecut
n ateptarea
unui trunchi
ntrziere datorat
ateptrii n coad
Pkt T
Pkt3
Pkt 2
Pkt 3
Semnal de
acceptare a
convorbirii
Date
D
(a)
(b)
(O
122
NIVELULFIZIC
CAP. 2
Modelul prezentat n Fig. 2-34(a) este desigur foarte simplificat, deoarece unele poriuni din<
drumul de cupru" ntre cele dou telefoane pot fi, de fapt, legturi prin microunde pe care sunt;f
multiplexate mii de convorbiri. Nu mai puin adevrat, ideea de baz este valid: odat ce o ]
convorbire a fost fixat, o cale dedicat dintre cele dou capete exist i va continua s existe pn i
cnd convorbirea se termin.
O proprietate important a comutrii de circuite este nevoia de a stabili o cale de la un capt la "
cellalt, nainte ca datele s poat fi transmise. Intervalul de timp dintre momentul formrii '
numrului i pn cnd se aude sunnd telefonul apelat poate ajunge uor la 10 sec, chiar mai mult
pe distane mari sau n cazul convorbirilor internaionale. In acest interval de timp, sistemul telefonic
caut un drum prin cupru, dup cum e prezentat n Fig. 2-35(a). De remarcat c, nainte ca
transmisia de date s poat ncepe, semnalul de apel trebuie s se propage pn la destinaie. Pentru
multe aplicaii pe calculator (de ex. verificarea creditului la punctul de vnzare), se dorete evitarea
perioadelor lungi de setare.
Ca o consecin a drumului dintre cele dou pri care vorbesc, odat ce setarea a fost realizat,"
singura ntrziere a datelor este dat de timpul de propagare a semnalului electromagnetic, de l
aproximativ 5 msec la 1000 Km. Totodat, ca o consecin a traseului stabilit, pericolul de congestie
nu mai exist - asta nseamn c, odat ce apelul s-a realizat, nu vei mai primi semnalul ocupat",
dei nainte de a stabili legtura se poate primi semnalul ocupat" datorit imposibilitii de
comutare sau a capacitii insuficiente a trunchiului.
O alternativ la strategia de comutare de circuite este comutarea de mesaje, prezentat n
Fig. 2-35(b). Atunci cnd se utilizeaz acest tip de comutare, nu se stabilete de la nceput o cale
ntre apelant i apelat. n schimb, atunci cnd apelantul are de transmis un bloc de date, acesta este ;
memorat n primul oficiu de comutare (ruter) i este retransmis mai trziu, cte un salt la un
moment dat. Dup cum a fost menionat n capitolul 1, o reea care folosete aceast tehnic se
numete reea memoreaz-i-retransmite.
Primul sistem de telecomunicaie electromecanic se baza pe comutarea de mesaje i a fost
folosit pentru telegrame. Mesajul era perforat pe o band de hrtie la oficiul de transmisie, band ce
era apoi citit i transmis pe o linie de comunicaie ctre urmtorul oficiu de pe traseu, unde era
perforat pe o alt band de hrtie. Un operator de acolo rupea banda de hrtie i o citea pe unul din
multele cititoare de band hrtie, cte unul pentru fiecare magistral de ieire. Un astfel de oficiu de
comutare era numit oficiu de tocare a benzilor (torn tape office).
n cazul comutrii de mesaje, nu exist o limit a dimensiunii blocului, ceea ce nseamn c
ruterele (din sistemele moderne) necesit discuri pentru memorarea unor blocuri lungi. De
asemenea, acest lucru nseamn c un singur bloc poate ocupa o linie ruter-ruter minute ntregi,
comutarea de mesaje nefiind util pentru traficul interactiv. Pentru a rezolva aceste probleme, a fost
inventat comutarea de pachete. Reelele cu comutare de pachete fixeaz o limit superioar precis
pentru dimensiunea blocului, permind pachetelor s fie pstrate n memoria principal a ruterului,
n loc s se salveze pe disc. Asigurndu-se faptul c nici un utilizator nu va putea monopoliza o linie
de transmisie mult timp (milisecunde), reelele cu comutare de pachete au devenit adecvate pentru
traficul interactiv. Un alt avantaj al comutrii de pachete fa de comutarea de mesaje este prezentat
n Fig. 2-35(b) i (c): primul pachet al unui mesaj multi-pachet poate fi transmis nainte ca cel de-al
doilea mesaj s fie complet recepionat, micornd ntrzierea i mbuntind productivitatea. Din
aceste motive, reelele de calculatoare folosesc, de obicei, comutarea de pachete, ocazional,
comutarea de circuite, dar niciodat comutarea de mesaje.
SISTEMUL TELEFONIC
123
utarea de circuite i comutarea de pachete difer n multe privine. Diferena principal este
S i n care se face transmisia: comutarea de circuite rezerv static banda de frecven necesar de
:
f^'inceput, n timp ce comutarea de pachete o obine i o elibereaz dup cum are nevoie. n
'.mutarea de circuite, orice band de frecven nefolosit pe un circuit alocat este pierdut. n
comutarea de pachete, ea poate fi folosit de alte pachete provenind de la surse diferite, transmise
ctre destinaii diferite, deoarece circuitele nu sunt dedicate. Totui, datorit faptului c circuitele nu j
sunt dedicate, o cretere -brusc a traficului la intrare poate suprancarc un ruter, depindu-i ^
capacitatea de stocare i provocnd pierderea unor pachete.
Spre deosebire de comutarea de circuite, atunci cnd se utilizeaz comutarea de pachete, ruterele
pot asigura vitez i conversie de cod. De asemenea, ntr-o anumit msur, ele pot asigura la
destinaie corectarea erorilor. Totui, n unele reele cu comutare de pachete, pachetele pot fi livrate
ntr-o ordine aleatorie. n comutarea de circuite nu se poate face niciodat reordonarea pachetelor.
O alt diferen este c comutarea de circuite este complet transparent. Transmitorul i
receptorul pot folosi orice vitez de transfer, orice format sau metod de ncadrare. Compania
de telecomunicaie nu cunoate aceste lucruri i nici nu o intereseaz. n cazul comutrii de
pachete, compania de telecomunicaie determin parametrii de baz. O analogie ar fi strada
comparat cu calea ferat. n cazul primei, utilizatorul determin mrimea, viteza i natura
vehicolului; n cazul celei de a doua, acest lucru l face societatea de cale ferat. Aceast
transparen face posibil coexistena vocii, faxului i a datelor n sistemul telefonic.
O ultim diferen ntre comutarea de circuite i comutarea de pachete se refer la algoritmul de
taxare. La comutarea de pachete, taxarea se face, de obicei, att pe numrul de octei (sau pachete)
transmise ct i n funcie de timpul de conectare. Mai mult, distana de transmisie nu conteaz, cu
excepia situaiei n care se face voluntar. La comutarea de circuite, taxarea se bazeaz doar pe
distan i timp, nu pe trafic. Diferenele sunt prezentate n Fig. 2-36.
Criteriu
Cale de cupru" dedicat
Banda de frecven disponibil
Banda de frecven eventual risipit
Transmisia memoreaz i transmite
Fiecare pachet urmeaz aceiai cale
Realizarea conectrii
Cnd poate apare congestia
Taxarea
Comutarea de circuite
Comutarea de pachete
Da
Nu
Fix
Dinamic
Da
Nu
Da
Nu
Da
Nu
Necesar
La momentul setrii
pe minut
Nu e necesar
La fiecare pachet
pe pachet
Merit s spunem cteva cuvinte despre cum se face rutarea ntre comutatoare n actualul sistem
telefonic cu comutare de circuite. Aici vom descrie sistemul AT&T, dar alte companii i alte ri
folosesc aceleai principii generale. Sistemul telefonic are cinci clase de oficii de comutare, ilustrate
n Fig. 2-37. Acolo exist 10 oficii de comutare regionale, acestea fiind integral interconectate prin 45
NIVELUL FIZIC
124
CAP.:
1^
de trunchiuri din fibr optic de band larg. Sub oficiile regionale exist 67 de oficii secionale, 23Q|
de oficii primare, 1.300 de oficii de taxare i 19.000 de oficii finale. Ultimele patru niveluri au foti
:
conectate iniial sub form de arbore.
10 oficii
regionale
(interconectate
integral)
67 oficii
de seciune
230 oficii
primare
1300 oficii
de taxare
19,000 oficii
finale
12
19,000
Fig. 2-37. Ierarhia telefonic AT&T. Liniile punctate sunt trunchiuri directe.
Legturile sunt fcute de obicei la cel mai jos nivel posibil. Astfel, dac un abonat conectat la
oficiul final 1 apeleaz un alt abonat conectat la oficiul final 1, convorbirea se va desfura n oficiul
respectiv. Oricum, un apel de la un client ataat la oficiul final 1 ctre un client ataat la oficiul final
2, va trebui s treac prin oficiul de taxare 1. Un apel de la oficiul final 1 la oficiul final 4 se va stabili
prin oficiul primar 1 i aa mai departe. n cazul unui arbore exist un singur drum minimal i acesta
este drumul care trebuie urmat.
n timpul multor ani de funcionare, companiile telefonice au observat c unele rute sunt
mai ocupate dect altele. De exemplu, existau multe convorbiri de la New York la Los
Angeles. n loc s se parcurg toat ierarhia, pentru traseele aglomerate s-au instalat
SISTEMUL TELEFONIC
SEC 2.4
125
trunchiuri directe. Unele dintre acestea sunt indicate n Fig. 2-37 prin linii punctate. n
consecin, multe convorbiri pot fi direcionate pe mai multe ci. Traseul ales este, n general,
traseul cel mai direct, dar dac trunchiurile necesare sunt prea ncrcate, se opteaz pentru o
variant alternativ. Aceast rutare complex este posibil acum, deoarece o main de
comutare, precum AT&T ESS, nu este, de fapt, dect un calculator de uz general cu un numr
re ^ echipamente de intrare/ieire foarte specializate.
Comutator matricial
S trecem acum de la modul de rutare ntre comutatoare diferite, la modul de funcionare
intern a comutatorului. n sistemul telefonic exist (sau existau) cteva tipuri de comutatoare. Cel
mai simplu dintre acestea este comutatorul matricial (numit i crosspoint switch - comutator cu
puncte de ncruciare), din Fig. 2-38. ntr-un comutator cu n linii de intrare i n linii de ieire (linii
duplex integral), comutatorul matricial are n2 noduri, numite puncte de ncruciare, unde o linie de
intrare i o linie de ieire pot fi conectate printr-un comutator semiconductor, aa cum arat Fig. 238(a). n Fig. 2-38(b) vedem un exemplu n care linia 0 este conectat la linia 4, linia 1 este conectat
la linia 7 i linia 2 este conectat la linia 6. Liniile 3 i 5 nu sunt conectate. Toi biii care sosesc la
comutator pe linia 4, de exemplu, sunt imediat transmii pe linia 0. n acest fel comutatorul matricial
implementeaz comutarea de circuite printr-o legtur electric direct, aa cum fceau circuitele de
legtur (jumper) n prima generaie de comutatoare, numai c acum comutarea se face automat i
n cteva microsecunde.
Conectare Dosibil
n
u
i
*
ii
rri
Int rri
Conectare! real
\
c "
A
ir
fi
fl
O
: i l
eir i
(a)
l> (5
ir
<
()
'
:i *X l i
eir i
f3 r
(b)
NIVELUL FIZIC
126
CAP.'
deasupra diagonalei. n orice caz, este nevoie de n(n-l)/2 puncte de intersecie. Pentru n = 1(
avem nevoie de 499.500 de puncte. n timp ce construcia unui cip VLSI cu acest numr de
tranzistoare este posibil, existena a 1000 de pini pe cip nu este. De aceea, un comutator matricial;
este util numai pentru oficiile finale relativ mici.
. -4
Comutator cu divizare n spaiu
N
ncruciri
ncruciri
nxk
nxk
N
ncruciri
ncruciri
ncruciri
nxk
nxk
N
n
N
n
N N
X
n n
n xk
n xk
nxk
nxk
N Ieiri
N Intrri
(a)
N Intrri
N Ieiri
(b)
SISTEMUL TELEFONIC
127
|fe'*rrg t r e j cgi pentru fiecare pereche de intrare/ieire. Pentru k nivele intermediare (k este un
6
arametru stabilit de proiectani), exist k ci disjuncte.
S calculm numrul de puncte de ncruciare necesare pentru comutatorul pe trei nivele. n
rimul nivel, exist N/n linii, fiecare cu nk puncte de ncruciare, deci un total de Nk. n al doilea
2
Vel exist k linii, fiecare cu (N/n) puncte de ncruciare. Al treilea nivel este identic ca primul.
Adunnd aceste trei nivele, obinem:
Numrul de ncruciri = 2kN + k(N/nf
Pentru N = 1000, n = 50 i k = 10, avem nevoie de 24.000 de puncte de ncruciare n loc de
499 500, cte erau necesare la un comutator matricial 1000 x 1000 pe un singur nivel.
Din pcate, ca de obicei, nimic nu e pe gratis. Comutatorul se poate bloca. S considerm
din nou Fig. 2-39(a). Nivelul 2 a*e opt intrri, deci se pot efectua, n acelai timp, opt
convorbiri. Atunci cnd apare al noulea apel, se va obine semnalul ocupat, chiar dac
destinaia este disponibil. Comutatorul din figura 2-39(b) este mai bun, pentru c poate
permite un maxim de 12 convorbiri n loc de 8, dar folosete mai multe puncte de ncruciare.
Uneori, atunci cnd facem un apel telefonic, putem obine semnalul ocupat nainte s
terminm de format numrul. Acest fapt se datoreaz probabil unui blocaj undeva n reea.
Evident, cu ct k este mai mare, cu att este mai scump comutatorul i cu att mai mic
este probabilitatea de blocare. n 1953, Clos a artat c atunci cnd k = 2n - 1 , comutatorul nu
se va bloca niciodat (Clos, 1953). Ali cercettori au analizat n detaliu diferite abloane de
apeluri foarte detaliate cu scopul de a construi comutatoare care teoretic se pot bloca, dar se
blocheaz rareori n practic.
Comutatoarele cu Divizare n Timp
Un tip cu totul diferit de comutator este comutatorul cu divizare n timp, prezentat n Fig. 2-40.
Schimbtor de
cuante (de timp)
n linii de
intrare
n linii de
ieire
I
Cadru de ieire
Cadru de intrare
0 1 2 3 4 5 6 7
Intervale de timp
I Contor
7
6
5
4
3
2
1
0
1
2
5
0
3
6
7
4
Intervale de timp
BufferRAM
de n cuvinte de k bii
Tabel de punere n
coresponden a cuvintelor
128
NIVELUL FIZIC
CAP. 2
La comutarea cu divizare n timp, cele n linii de intrare sunt scanate secvenial pentru a forma
un cadru de intrare cu n celule. Fiecare celul are k bii. n cazul comutatoarelor TI, celulele au 8
bii i prelucreaz 8000 de cadre pe secund.Esena comutatorului cu divizare n timp este
schimbtorul de cuante (de timp) (time slot interchanger), care accept cadre la intrare i
produce cadre de ieire n care intervalele de timp au fost reordonate. n Fig. 2-40, intrarea
numrul 4 este transmis prima, apoi 7 i aa mai departe. n final, cadrul de la ieire este
demultiplexat, cu ieirea 0 (intrarea 4) plecnd pe linia 0 i aa mai departe. n esen,
comutatorul a mutat un octet din linia de intrare 4 la linia de ieire 0, un alt octet de la linia de
intrare 7 la linia de ieire 1 etc. Vzut din afar, toat aceast schem pare un comutator de
circuite, cu toate c nu exist conectri fizice.
Schimbtorul de cuante funcioneaz dup cum urmeaz: cnd un cadru de la intrare este
pregtit pentru prelucrare, fiecare celul (adic fiecare octet din cadrul de intrare) este scris ntr-un
tampon RAM din interiorul schimbtorului. Celulele sunt scrise n ordine, astfel c tamponul i
conine celula i.
Dup ce toate celulele cadrului de intrare au fost memorate n tampon, cadrul de ieire este
construit prin recitirea cuvintelor, dar intr-o alt ordine. Un contor are valori de la 0 la n - 1 . La pasul
j, se citete coninutul cuvntului; dintr-o tabel de corespondene i se utilizeaz pentru a adresa
tabela RAM. Astfel, dac cuvntul 0 din tabel conine numrul 4, cuvntul 4 din tamponul RAM va
fi citit primul i prima celul din cadrul de ieire va fi celula 4 din cadrul de intrare. Astfel,
coninutul tabelului determin ce permutare a cadrului de intrare va fi generat pe post de cadru de
ieire, deci ce linie de intrare este conectat la ce linie de ieire.
Comutatoarele cu divizare n timp folosesc tabele care variaz linear, nu ptratic, cu numrul de
bii, dar ele au o alt limitare. Este necesar ca n tamponul RAM s se memoreze n celule i apoi
celulele s fie recitite n intervalul de 125 usec. Dac fiecare acces la memorie dureaz T
microsecunde, timpul necesar pentru a procesa un cadru este de 2nT microsecunde, deci obinem
2nT = 125 sau n = 125/27". O memorie cu durata ciclului de 100 nsec suport pn la 625 de linii.
Putem utiliza aceast relaie i pentru a determina durata maxim necesar unui ciclu de memorie
pentru a suporta un anumit numr de linii. La fel ca i pentru comutatoarele matriciale, este posibil
s realizm comutatoare multi-nivel care mpart lucrul n mai multe pri i apoi combin rezultatele
pentru a putea suporta un numr mai mare de linii.
2.5
Timp de mai bine de un secol, sistemul telefonic public cu circuite comutate a constituit
infrastructura de baz a telecomunicaiilor internaionale. Acest sistem a fost proiectat pentru
transmisia vocal i este neadecvat cerinelor transmisiilor prin modem. Anticipnd cererea
considerabil a utilizatorilor pentru un serviciu capt-la-capt digital (diferit de cel din Fig. 2-17 care
este parial digital i parial analogic), companiile de telefoane i PTT-urile din ntreaga lume s-au
ntrunit n 1984 sub auspiciile CCITT i s-au pus de acord s construiasc un nou sistem telefonic cu
circuite comutate, complet digital, pn n prima parte a secolului XXI. Acest nou sistem, denumit
ISDN (Integrated Services Digital Network - Reea Digital cu Servicii Integrate), are ca principal
scop integrarea serviciilor vocale i non-vocale. El este deja disponibil n multe locuri i, ncetul cu
ncetul, utilizarea sa crete. n urmtorul capitol vom descrie ce face i cum funcioneaz acest
sistem. Pentru informaii suplimentare, a se vedea (Dangdeviren .a., 1994; i Kessler, 1993).
SEC. 2.5
129
NIVELUL HZIC
130
CAP.2
urmare, n acest caz se folosete modelul din Fig. 2-41 (b). n acest model observm un dispozitiv,
NT2, denumit PBX (Private Branch eXchange - Central Telefonic Privat) care este conectat la
NTl i care furnizeaz interfaa real pentru telefoane, terminale sau alte echipamente. Un PBX
ISDN nu este foarte diferit conceptual fa de un comutator ISDN, cu toate c este, n mod normal,
mai mic i nu poate gestiona la fel de multe legturi n acelai timp,
Sediu clientului
* -*
Oficiul telefonic
Terminal ISDN
Conduct
digital
de bii
Telefon
ISDN
Ctre reeaua!
intern a
furnizorului
de servicii
Terminal
ISDN
Echipamentul clientului
Sediul clientului
Oficiul telefonic
E1
Terminal
ISDN
Ctre reeaua
intern a
furnizorului
de servicii
TEI
Telefon
ISDN
Terminal
Non-ISDN
Echipamentul clientului
(b)
SEC. 2.5
131
Interfaa ISDN
Conducta de bii ISDN suport mai multe canale, folosind n acest scop multiplexarea n timp. O
parte din aceste canale au fost standardizate:
A - canal telefonic analogic de 4 KHz
B - canal PCM digital pentru voce sau date de 64 Kbps
C - canal digital de 8 6au 16 Kbps
D - canal digital pentru semnalizare n afara benzii de 16 Kbps
E - canal digital pentru semnalizare n interiorul ISDN de 64 Kbps
H - canal digital de 384,1536, sau 1920 Kbps
CCITT nu a intenionat s permit orice combinaie de canale pe conducta digital de bii. Pn
acum au fost standardizate trei combinaii:
1. Viteza de baz: 2B + 1D
2. Viteza primara: 23B + 1D (S.U.A. i Japonia) sau 30B + 1D (Europa)
3. Hibrid: IA + IC
Canalele pentru viteza de baz i viteza primar sunt prezentate n Fig. 2-42.
D (64 kbps)
Viteza de baz
D (16 kbps)
L 1 :"""'
^ = = \
'
Viteza primar
,sB1toB23
O Bl to B2
(a)
(b)
132
NIVELUL FIZIC
CAP. 2
6.4000 i EU .65.536).. Semnalizarea se face pe un canal D de 16 Kbps, separat, astfel c toi cei 64
Kbps sunt pui la dispoziia utilizatorului (asemntor sistemului CCITT de 2.048 Mbps i diferit de
sistemul TI din S.U.A. i Japonia). Deoarece ISDN se bazeaz att de mult pe canale de 64 Kbps,
ne vom referi la el ca N-ISDN (Narrowband ISDN - ISDN de Band ngust), pentru a-1 distinge de
ISDN de band larg (ATM), care va fi discutat mai trziu.
Canalul pentru viteza primar este adecvat pentru a fi folosit n punctele de referin T n
cazul firmelor cu un PBX. El are 23 de canale B i un canal D (de 64 Kbps) n Statele Unite i
Japonia i 30 de canale B i un canal D (de 64 Kbps) n Europa. Varianta 23B + 1D a fost
aleas astfel, nct s permit unui cadru ISDN s fie compatibil cu sistemul TI de la AT&T.
Varianta 30B + 1D a fost aleas astfel, nct s permit unui cadru ISDN s fie compatibil cu
sistemul CCITT de 2.048 Mbps. Cel de-al 32-lea interval de timp din sistemul CCITT este
folosit pentru ncadrare i ntreinerea general a reelei. Trebuie remarcat faptul c raportul
dintre numrul de canale D i numrul de canale B, n cazul vitezei primare, este mult mai mic
dect n cazul vitezei de baz, deoarece n acest caz nu se ateapt s fie necesare att de multe
msurtori sau s se foloseasc pachete de date de dimensiuni reduse.
2.5.4 Perspectivele N-ISDN
N-ISDN a reprezentat o ncercare puternic de a nlocui sistemul telefonic analogic cu unul
digital, potrivit att pentru traficul vocal ct i pentru cel non-vocal. S-a presupus c obinerea unui
consens mondial n ceea ce privete standardul interfeei pentru viteza de baz, va conduce la o
cerere mare pentru echipamente ISDN din partea utilizatorilor i astfel se vor realiza producii n
mas, reduceri de scar i circuite VLSI ISDN ieftine. Din nefericire, procesul de standardizare a
durat ani de zile, iar tehnologia din acest domeniu a evoluat foarte rapid, ceea ce a fcut ca n
momentul n care standardul a fost n sfrit adoptat, acesta s fie deja nvechit.
n cazul locuinelor, cea mai mare cerere pentru noile servicii va fi cu siguran video la
cerere. Din nefericire, canalul pentru vitez de baz a ISDN limiteaz limea de band
necesar cu dou ordine de mrime. Pentru firme, situaia este i mai sumbr. LAN-urile
existente n momentul de fa ofer cel puin 10 Mbps i sunt treptat nlocuite de LAN-uri de
100 Mbps. Oferind servicii de 64 Kbps pentru firme, n anii 1980 acest sistem a constituit o
ofert serioas. n anii 1990, a devenit o bagatel.
Destul de surprinztor, ISDN mai poate fi nc salvat doar de ctre o aplicaie total neateptat:
accesul la Internet. Diferite companii vnd acum adaptoare ISDN care combin canalele 2B + 1D
ntr-un singur canal digital de 144 Kbps. Muli furnizori de servicii Internet suport, de asemenea,
aceti adaptori. Rezultatul este c lumea poate face acces la Internet printr-o legtur complet
digital de 144 Kbps, n loc de o legtur analogic prin modem de 28,8 Kbps. Pentru muli
utilizatori ai Internetului, creterea de cinci ori a vitezei de afiare a paginilor World Wide Web
complet grafice justific din plin existena acestui serviciu. n timp ce B-ISDN la 155 Mbps este mult
mai bun, N-ISDN este disponibil acum la un pre accesibil i acest fapt poate constitui principala sa
aplicaie n urmtorii ani.
SEC 2.6
133
NIVELUL FIZIC
3.4
CAP. 2
unui fax ctre furnizor) i, n mod normal, se pstreaz pe durata mai multor luni sau ani.
Circnitele virtuale comutate sunt asemntoare apelurilor telefonice: sunt stabilite n mod
dinamic n momentul apelului i pot fi desfcute imediat dup aceea.
ntr-o reea cu comutare de circuite, realizarea unei conexiuni presupune de fapt stabilirea unei
legturi fizice prin reea, de la surs la destinaie, bineneles, atunci cnd se folosesc comutatoare cu
divizare n spaiu. (n cazul comutatoarelor cu divizare n timp, noiunea de legtur fizic este puin
forat.) nr-o reea cu circuite virtuale (cum este ATM-ul), atunci cnd este stabilit un circuit, se
alege traseul ntre surs i destinaie i toate comutatoarele (ruterele, n acest caz) de pe traseu i
construiesc intrri n tabela de dirijare, astfel nct s poat dirija orice pachet prin acel circuit. De
asemenea, comutatoarele au posibilitatea de a pstra resurse pentru un nou circuit. Figura 2-43
prezint un singur circuit virtual de la calculatorul gazd HI la calculatorul gazd H5, via
comutatoarele (ruterele) A, E, C i D.
H3
H2
)
)
Hi
f'
H5
J
Tabel intern
e rutare
He
Calculator gazd
Fig. 2-43. Linia punctat indica un circuit virtual. El este definit pur i simplu de ctre intrrile
din tabela de dirijare din interiorul fiecrui comutator.
Atunci cnd sosete un pachet, comutatorul inspecteaz antetul pachetului pentru a stabili crui
circuit virtual i aparine. Apoi caut acel circuit virtual n tabela de rutare proprie, pentru a
determina pe care linie de comunicaie s fac transmisia. Vom examina acest proces mai amnunit
n Cap. 5.
In acest moment ar trebui s fie clar semnificaia circuitului virtual permanent ntre HI i
H5 din Fig. 2-43. Acesta reprezint un acord ntre client i furnizor prin care comutatoarele
vor menine ntotdeauna n tabelele de dirijare, intrrile corespunztoare unei destinaii
particulare, chiar dac nu a mai existat trafic de luni ntregi. Evident, un astfel de acord cost
resurse (n mod sigur, spaiu n tabela de dirijare din interiorul comutatoarelor i, probabil,
lime de band i tampoane rezervate) i, prin urmare, va exista o tax lunar pentru fiecare
circuit virtual permanent. Avantajul fa de un circuit virtual comutat const n faptul c se
SEC 2.6
as.
elimin timpul de stabilire a legturii. Pachetele se pot deplasa instantaneu n acest caz. n
cazul unor aplicaii de genul verificrii crilor de credit, economisirea ctorva secunde la
fiecare tranzacie poate s justifice din plin pltirea acestui cost.
Prin contrast, o linie nchiriat ntre HI i H5 ntr-o reea cu comutare de circuite, avnd
topologia din Fig. 2-43 i comutatoare cu divizare n spaiu, ar menine nchise punctele de
intersecie (crosspoints) timp de mai multe luni i ar rezerva permanent o lime de band din banda
trunchiurilor, sub form de band FDM sau interval de timp (o linie nchiriat poate fi nndit" de
mai multe ori (multihop), n cazul n care nu este disponibil o linie direct). O astfel de
implementare ar conduce n mod clar la o risip mult mai mare de resurse, atunci cnd circuitul este
liber, dect n cazul circuitelor virtuale.
1 cadru T1 !125|isec\i
22 2324 1 2 3 4 5 6 7 8 9 10 11 12 131415 1617 18 192021 22 2324 1 2 3
-Canalul 1 ocup exact octetul 1 de la nceputul fiecrui cadru (a)
14
(b)
1 celul
(53 octei)
Fig. 2-44. (a) Modul de transmisie sincron, (b) Modul de transmisie asincron.
Prin comparaie, ATM nu cere ca celulele s alterneze strict ntre surse diferite. Fig. 2-44 (b)
prezint celulele de pe o linie provenind de la surse diferite, fr s se respecte un ablon particular.
Celulele sosesc n mod aleatoriu de la diverse surse.
Mai mult, nu se impune ca irul de celule transmise de un calculator s fie continuu. Este posibil
s existe guri" ntre celulele de date. Aceste guri" sunt umplute cu celule libere speciale.
ATM nu standardizeaz formatul pentru celulele transmise. n loc de aceasta se precizeaz c
este permis, pur i simplu, transmisia individual a celulelor i, de asemenea, se precizeaz c
celulele pot fi ncapsulate ntr-un mediu de transmisie ca TI, T3, SONET sau FDDI (un LAN pe
NIVELUL FIZIC
CAP. 2
fibr, optic). Pentru aceste exemple, exist standarde care stabilesc modul de mpachetare a
fepiia4i de aceste sisteme.
355.$2 Mbps, cu o vil^ .adiional de ptai
vitez a fost aleas pentru compatibilitate cu SONET,
standardul folosit pentru legturile pe fibr optic din sistemul telefonic. De asemenea, sunt
prevzute standarde pentru ATM pe T3 (44,736 Mbps) i FDDI (100 Mbps).
Mediul de transmisie pentru ATM este, n mod normal, fibra optic, dar pentru distane sub 100
metri, sunt acceptate i cablurile coaxiale sau cele torsadate de categoria a 5-a. Fibra optic se poate
folosi pe distane de mai muli kilometri. Fiecare legtur ine de la un calculator pn la un
comutator ATM sau ntre dou comutatoare ATM. Cu alte cuvinte, toate legturile ATM sunt de
tip punct-la-punct (spre deosebire de LAN-uri, care au mai muli emitori i receptori pe acelai
cablu). Trimiterea multipl se realizeaz prin transmisia celulei care a intrat ntr-un comutator, pe
mai multe linii de ieire. Fiecare legtura punct-la-punct este unidirecional. Pentru o operare fullduplex sunt necesare dou legturi paralele, cte una pentru fiecare sens.
Subnivelul ATM Physical Medium Dependent - dependent de mediul fizic are rolul de a insera
sau extrage biii n sau din cablu. n funcie de viteza i codificarea pe linie, pentru cabluri i fibre
optice diferite este necesar un hardware diferit. Scopul subnivelul transmision convergence convergena transmisiei este de a furniza o interfa uniform nivelului ATM, n ambele direcii. La
emisie, nivelul ATM furnizeaz o secven de celule, iar subnivelul PMD o codific dup cum este
necesar i apoi o transmite ca un ir de bii.
La recepie, subnivelul PMD preia de pe reea biii care sosesc i livreaz subnivelului TC un ir
de bii. Marginile cadrului nu sunt marcate n nici un fel. Este rolul subnivelului TC s marcheze
ntr-un anumit fel unde se sfrete o celul i unde ncepe urmtoarea. Acest lucru nu este doar
dificil, el este teoretic imposibil. De aceea, responsabilitatea subnivelul TC este clar. Deoarece
subnivelul TC realizeaz ncadrarea celulelor, aceasta este o funcie a legturii de date i, prin
urmare, o vom discuta n Cap. 3. Pentru mai multe informaii despre nivelul fizic ATM, a se vedea
(Rao i Hatamian, 1995).
2.6.3 Comutatoare ATM
n literatura de specialitate au fost descrise mai multe proiecte de comutatoare de celule ATM.
O parte din acestea au fost implementate i testate. n acest capitol vom face o scurt introducere n
principiile de proiectare a comutatoarelor de celule ATM i le vom ilustra prin cteva exemple.
Pentru mai multe informaii, a se vedea (De Prycker, 1993; Garcia-Haro i Jajszczyk, 1994; Handel
. a., 1994; i Partridge, 1994). Pentru informaii despre un comutator ATM optimizat pentru lucrul
cu IP peste ATM, a se vedea (Parulkar . a., 1995).
Modelul general al unui comutator de celule ATM este prezentat n Fig. 2-45. Comutatorul are
un numr de linii de intrare i un numr de linii de ieire, aceste numere fiind aproape ntotdeauna
aceleai (deoarece aceste linii sunt bidirecionale). Comutatoarele ATM sunt, n general, sincrone,
n sensul c pe durata unui ciclu, de pe fiecare linie de intrare se preia cte o celul (dac exist
vreuna), se introduce n schema intern de comutare i eventual se transmite pe linia de ieire
corespunztoare.
Comutatoarele pot fi de tip band de asamblare, ceea ce nseamn c s-ar putea s dureze mai
multe cicluri pn cnd o celula recepionat apare pe linia de ieire corespunztoare. n realitate,
SEC. 2.6
137
Celulele sunt
recepionate
Celulele sunt
comutate
11
Schem intern
de comutare
11
Celulele sunt
retransmise
NIVELUL FIZIC
B8
CAP. 2
este aleas pentru transmisie i restul sunt pstrate pentru urmtorul ciclu. Alegerea celulei poate fi
fcut aleatoriu sau ciclic, dar trebuie s nu se favorizeze n mod sistematic, de exemplu, liniile cu
numrul de ordine mai mic, pentru a se evita servirea mai des a acestora fa de liniile cu numrul
de ordine mai mare. Figura 2-46(a) prezint situaia de la nceputul ciclului 1, n care celulele au
sosit pe toate cele patru linii de intrare i au ca destinaie liniile 2,0, 2 i 1, respectiv. Deoarece exist
un conflict pentru linia 2, poate fi aleas numai una dintre celule. S presupunem c se alege aceea
de pe linia 0. La nceputul ciclului 2, prezentat n Fig. 2-46(b), trei dintre celule au fost transmise, iar
celula de pe linia 2 a fost reinut i au mai sosit nc dou celule. Exact la nceputul ciclului 4,
prezentat n Fig. 2-46(d), toate celulele au prsit comutatorul.
Celul destinat Start
liniei 2
ciclu 1
Start
ciclu 3
Start
ciclu 2
Start
ciclu 4
(O
(b)
(a)
(d)
Start
ciclu 2
Start
ciclu 3
0
1
0
n
o
i.
i.
(a)
(b)
(c)
SEC. 2.6
139
suflipentar, o cale de semnalizare invers i,o ntrziere mai mare, Ceea ce se face uneori este s
se pun celulele care au pierdut btlia", pe o magistral de reciclare care le trimite napoi n
partea de intrare, dar n acest caz, comutatorul trebuie s aib grij unde va pune celulele pentru a
evita livrarea ntr-o alt ordine a celulelor de pe acelai circuit virtual.
O soluie alternativ care nu prezint efectul de blocare la captul liniei, folosete cozi de
ateptare n partea de ieire, aa cum este artat n Fig. 2-47. n acest desen avem acelai model de
celule la intrare, dar de data aceasta, atunci cnd dou celule vor s mearg spre aceeai linie de
ieire n acelai ciclu, ambele sunt trecute prin comutator. Una din ele este transmis pe linia de
ieire, iar cealalt este pus n coada de ateptare asociat liniei de ieire, dup cum se observ n
Fig. 2-47(b). n acest caz, pentru a comuta toate pachetele sunt necesari trei cicli n loc de patru.
Karol . a. (1987) a artat c folosirea cozilor de ateptare pe ieiri este, n general, mai eficient
dect folosirea lor pe intrri.
Comutatorul Knockout
Haidei acum s ne uitm mai atent la un proiect de comutator ATM care folosete cozi de
ateptare pe ieiri. Comutatorul se numete comutator knockout (Yeh . a., 1987) i este prezentat n
Fig. 2-48 pentru cazul cu opt linii de intrare i opt linii de ieire.
Magistrala de difuzare
Linii de intrare
Concentrator
Regisrtru
de deplasare
Cozi de
ieire
0
Linii de
ieire
NIVELUL FIZIC
140
CAP. 2
asemenea, este posibil ca o celul s fie trimis pe mai multe linii de ieire doar prin activarea mai
multor legturi de pe magistrala de difuzare corespunztoare.
Cea mai simpl modalitate de manipulare a coliziunilor ar fi pur i simplu memorarea temporar
a tuturor celulelor n partea de ieire. Totui, pentru un comutator cu 1024 linii de intrare, n cazul
cel mai defavorabil, ar fi nevoie de 1024 de zone tampon de ieire. n practic, este foarte puin
probabil s apar aceast situaie i, prin urmare, se poate face o optimizare rezonabil prin folosirea
a mult mai puine tampoane, s zicem n.
n cazul puin probabil n care ntr-un ciclu sosesc mai multe celule dect se pot manipula,
concentratorul de pe fiecare linie selecteaz n celule pentru a fi puse n coada de ateptare i le
elimin pe celelalte. Concentratorul este un circuit inteligent care face aceast selecie ntr-un mod
echitabil, folosind un turneu de eliminare (knockout) similar cu sferturile de final, semifinalele sau
finalele din multe turnee sportive.
Conceptual, toate celulele selectate merg ntr-o singur coad de ieire (n afar de cazul n care
aceasta este plin, caz n care celulele sunt eliminate). Totui, colectarea tuturor celulelor ntr-o
singur coad n intervalul de timp alocat, nu este posibil i, prin urmare, coada de ieire este
simulat prin mai multe cozi. Celulele selectate intr ntr-un registru de deplasare, care apoi le
distribuie uniform n n cozi de ieire. Pentru a ine evidena cozilor care urmeaz la rnd, n scopul
meninerii ordinii din interiorul fiecrui circuit virtual, se folosete un jeton. Variind n, proiectanii
pot micora costul comutatorului cu preul creterii ratei de pierdere a celulelor.
Comutatorul Batcher-Banyan
Problema comutatorului knockout este aceea c el este de fapt un comutator matriceal i, prin
urmare, numrul punctelor de legtura este egal cu ptratul numrului de linii. Deoarece acest
factor s-a dovedit a fi o problem n comutarea de circuite, el constituie, de asemenea, o problem i
pentru comutarea de pachete. Soluia pentru comutarea de circuite a constituit-o comutarea cu
divizare n Spaiu care a redus substanial numrul de legturi cu preul folosirii unui comutator n
mai multe trepte. i pentru comutarea de pachete exist o soluie similar.
Treapta 1 face dirijarea n funcie de bitul cel mai semnificativ
Treapta 2 face dirijarea n funcie de bitul din mijloc
Treapta 3 face dirijarea n funcie de bitul cel mai puin semnificativ
(b)
Fig. 2-49. Un comutator banyan cu opt linii de intrare i opt linii de ieire,
(b) Traseele pe care le parcurg dou celule prin comutatorul banyan.
SEC. 2:6
141
T -\r
3
T
5
6
r\r
"A
HMMI
hr
TA
1^
3
MMM
mm
6
7
Din nefericire, ntr-un comutator banyan apare o coliziune atunci cnd dou celule
recepionate vor s ias dintr-un element de comutare pe acelai port simultan. n Fig. 2-50(a)
sunt prezentate o serie de astfel de coliziuni. n prima treapt, n coliziune sunt implicate
celulele care se ndreapt ctre urmtoarele perechi de linii de ieire: (5,7), (0,3), (6,4) i (2,1).
142
NIVELUL FIZIC
CAP. 2
Comutator Batcher
Interclasare pe
Interclasare pe
8 ci
Sortare
4 ci
Reeaua capcan
se amplaseaz
aici
Comutator Banyan
Reeaua de amestecare
SEC. 2.6
143
. Dup ieirea din comutatorul Batcher, celulele strbat o conexiune de amestecare i apoi sunt
injectate n comutatorul banyan. Rezultatul final este c fiecare celul apare pe linia de ieire corect
la captul ndeprtat al comutatorului banyan.
n Fig. 2-52 este prezentat un exemplu de funcionare al schemei combinate de comutatoare
Batcher-banyan. n aceast figur sunt prezente celule pe liniile de intrare 2, 3, 4 i 5 avnd ca
destinaie liniile de ieire 6,5,1 i respectiv 4. Iniial, celulele avnd ca destinaie liniile 5 i 6 intr n
acelai element de comutare. Celula 6 are o adres mai mare, prin urmare va iei pe direcia indicat
de sgeat; celula 5 va merge pe cealalt cale. n acest caz nu apare nici o schimbare de direcie. n
cazul celulelor 1 i 4 apare o schimbare de direcie, celula 4 intr n elementul de comutare pe linia
de jos i iese pe linia de sus. Liniile ngroate marcheaz traseele strbtute pn la final.
Comutator Batcher
Comutator Banyan
144
NIVELUL FIZIC
CAP. 2
Trebuie s admitei c aceste denumiri au o not de umor. Starlite, Moonshine i Sunshine difer n
principal prin reeaua capcan i prin modul n care trateaz trimiterile multiple.
2.7
RADIO CELULAR
RADIO CEEULAR
SEG.2.7
145
sens, de la ieirea unui singur calculator ctre un numr mare de receptori. Din moment ce exist un
singur emitor n tot sistemul, nu exist nici o problem n legtur cu cine urmeaz s vorbeasc i
nici o disput ntre utilizatorii aflai n competiie pentru un numr mic de canale.
Sistemele pager actuale necesit o band ngust, deoarece fiecare mesaj are nevoie, pentru a fi
transmis, de o singur rafal de aproximativ 30 de octei. La o asemenea rat de transfer a datelor,
un canal prin satelit de 1 Mbps poate gestiona peste 240.000 pagere pe minut. Sistemele pager mai
vechi lucreaz la diferite frecvene n banda 150-174 MHz.
931 MHz
830 MHz
842 MHz
887 MHz
(a)
(b)
Telefoanele fr fir au aprut din dorina de a permite oamenilor s se plimbe n jurul casei n
timp ce vorbesc la telefon. Un telefon fr fir se compune din dou pri: o staie de baz i un
telefon. Acestea sunt vndute ntotdeauna mpreun. Staia de baz are n spate o muf de telefon
standard prin care poate fi conectat (printr-un fir) la sistemul telefonic. Telefonul comunic cu
staia de baz printr-un sistem radio de putere mic. Distana tipic este de aproximativ 100 pn la
3o6metri.
Deoarece primele telefoane fr fir au fost concepute numai ca s comunice cu propria staie de
baz, nu a fost necesar o standardizare. O parte din modelele mai ieftine foloseau o frecven fix,
stabilit din fabric. Dac, din ntmplare, telefonul dumneavoastr fr fir se nimerea s foloseasc
aceeai frecven ca i cea utilizat de telefonul vecinului, atunci fiecare dintre dumneavoastr putea
146
NIVELULHZIC
CAP. 2
asculta convorbirile celuilalt. Modelele mai scumpe nltur aceasta problem, permind
utilizatorului s selecteze frecvena de emisie.
Prima generaie de telefoane fr fir, cunoscut sub denumirea CT-1 n Statele Unite i
CEPT-1 n Europa, a fost n ntregime analogic. Era posibil - i deseori se ntmpl astfel - ca
aceste telefoane s creeze interferene cu radioul i televizorul. Recepia slab i lipsa
securitii au determinat fabricanii s dezvolte un standard digital, CT-2, care i are originile
n Anglia. Primele dispozitive CT-2 puteau face apeluri dar nu le puteau recepiona. Imediat
ce au fost vndute primele dispozitive, productorul a recepionat cteva reacii negative i
sistemul a fost reproiectat rapid. Ca i versiunea CT-1, fiecare telefon trebuie s se afle la o
distan de cteva sute de metri de staia de baz, ceea ce l face util n jurul casei sau biroului,
dar inutil n automobil sau cnd umblm prin ora.
n 1992 a aprut a treia generaie, CT-3 sau DECT, care suport distane mai mari fa de staia
de baz. Aceast tehnologie este pe cale s se apropie tot mai mult de telefoanele celulare care vor fi
descrise n continuare.
2.7.3
RADIO CELULAR
SEC. 2.7
147
*
4.
fcfotesirea frecvenelor de transmisie n celule apropiate (dar nu adiacente). In timp ce ntr-un sistem
IMTSde 100 km lime poate exista un singur apel pe fiecare frecven, un sistem AMPS poate avea
100 de celule de 10 km n aceeai regiune i este capabil s suporte 5 pn la 10 apeluri pe fiecare
frecven, n celule separate i ndeprtate. Mai mult dect att, celulele de dimensiuni reduse
necesit puteri mici, ceea ce implic dispozitive de dimensiuni reduse i ieftine. Telefoanele de mn
emit 0,6W; emitoarele de pe maini au n mod tipic 3 W, valoarea maxim permis de FCO.
Ideea refolosirii frecvenelor este ilustrat n Fig. 2-54(a). n mod normal, celulele sunt
aproximativ circulare dar ele pot fi modelate mai uor ca hexagoane. n Fig. 2-54(a), celulele au
toate aceeai dimensiune. Ele sunt grupate mpreun n uniti de 7 celule. Fiecare liter indic un
grup de frecvene. Trebuie remarcat c pentru fiecare set de frecvene exist o zon (tampon) de
lime aproximativ egal cu dou celule distan n care acea frecvena nu este refolosit, realiznd
astfel o delimitare mai bun i o interferen sczut.
O problem major o constituie gsirea locurilor nalte pentru instalarea antenelor staiei de
baz. Aceast problem a determinat pe unii furnizori de servicii de telecomunicaii s ncheie
contracte cu Biserica Romano-Catolic pentru c aceasta dispune de un numr substanial de
poteniale locuri nalte pentru antene, toate aflate n mod convenabil, sub o singur administraie.
ntr-o zon n care numrul de utilizatori s-a mrit att de mult, nct sistemul a devenit
suprancrcat, se reduce puterea i se mpart celulele suprancrcate n celule mai mici pentru
a permite mai multe refolosiri de frecvene, aa cum este artat n Fig. 2-54(b). Determinarea
dimensiunii maxime a celulelor constituie o problem complex i este tratat n (Hac, 1995).
(a)
(b)
148
NIVELULFIZIC
CAP, 2
departe. MTSO-urile sunt n esen oficii finale - ca si n sistemul telefonic - si sunt de fapt conectate
la cel puin un oficiu final din sistemul telefonic. MTSO comunic cu staiile de baz, ntre ele i cu
PSTN-ul folosind o reea cu comutare de pachete.
n orice moment, orice telefon mobil se afl, n mod logic, ntr-o celul specific i sub controlul
staiei de baz a celulei respective. Cnd un telefon mobil prsete o celul, staia sa de baz
sesizeaz o scdere a semnalului dinspre telefon i ntreab toate staiile de baz nconjurtoare ct
de puternic este semnalul pe care l recepioneaz ele de la respectivul telefon. Staia de baz
transfer apoi proprietatea asupra telefonului ctre celula care recepioneaz cel mai puternic
semnal, aceasta fiind i celula n care se afl acum telefonul. Telefonul este apoi informat despre
noul su ef, iar dac un apel este n derulare n acel moment, telefonul va fi rugat s comute pe un
canal nou (deoarece canalul vechi nu este refolosit n nici o celul adiacent). Acest proces poart
denumirea de timp mort i dureaz aproximativ 300 ms. Atribuirea canalului se face de ctre
MTSO, care este centrul nervos al sistemului. Staiile de baz sunt, de fapt, doar nite radio-relee.
Canale
Sistemul AMPS utilizeaz 832 canale full-duplex, fiecare constnd dintr-o pereche de canale
simplex. Exist astfel 832 canale simplex pentru transmisie de la 824 la 849 MHz i 832 canale
simplex pentru recepie de la 869 la 894 MHz. Fiecare din aceste canale simplex are o lime de 39
kHz. Din aceast cauz AMPS folosete FDM pentru a separa canalele.
n banda de 800 MHz, undele radio au aproximativ 40 cm lungime i se propag n linie dreapt.
Ele sunt absorbite de copaci i plante i sunt reflectate de pmnt i cldiri. Este posibil ca un semnal
emis de un telefon mobil s ajung la staia de baz pe calea direct, dar tot la fel de bine poate s
ajung uor mai trziu i dup ce este reflectat de pmnt sau cldiri. Aceasta poate s conduc la un
efect de ecou sau la distorsionarea semnalului. Uneori este posibil chiar s se aud o convorbire
ndeprtat care a suferit mai multe reflexii.
n Statele Unite, cele 832 canale din fiecare ora sunt alocate de FCC. Din acestea, jumtate sunt
alocate companiei locale de telefoane, furnizor de telefoane prin fir sau furnizor de tip B (B-side
earrier), cealalt jumtate fiind repartizat noului venit n afacerile cu telefoane celulare, numit
furnizor de tip A (A-side earrier). Ideea este s se asigure existena a cel puin doi furnizori de
celulare concureni, pentru a promova n acest fel concurena i preuri mai sczute.
Cu toate acestea, diferena dintre o companie de telefoane i o companie de telefoane celulare
este nesemnificativ, deoarece majoritatea companiilor de telefoane au ca parteneri o companie de
telefoane celulare, iar n 1994 AT&T a fuzionat cu McCaw Cellular, cel mai rspndit furnizor de
celulare. De multe ori se ntmpl ca o companie s fie furnizor de tip A pe unele piee i furnizor de
tip B pe altele. O zpceal suplimentar apare i datorit faptului c un furnizor poate vinde sau
comercializa oricare sau toate cele 416 licene de canal proprii.
Cele 832 de canale se mpart n 4 categori:
1.
2.
3.
4.
SEC 17
RADIO CELULAR
149
Pentru control sunt rezervate douzeci i unu de canale i acestea sunt fixate n fiecare telefon
ntr-un PROM. Deoarece nu pot fi refolosite n celule nvecinate aceleai frecvene, numrul real de
canale vocale disponibile pe celul este mult mai mic dect 832, de regul 45.
Gestiunea apelului
Fiecare telefon mobil din AMPS are un numr serial pe 32 bii i un numr de telefon de 10 cifre
n PROM-ul propriu. Numrul de telefon este format dintr-un cod al zonei de 3 cifre pe 10 bii i un
numr de abonat de 7 cifre pe 24 de bii. Atunci cnd este activat, un telefon scaneaz o list
preprogramat cu 21 canale de control, pentru a descoperi semnalul cel mai puternic. Telefoanele
mobile sunt configurate s scaneze numai dup A-side, numai dup B-side, preferabil A-side sau
preferabil B-side, n funcie de serviciul (serviciile) la care s-a abonat clientul. De pe canalele de
control se determin numerele canalelor de paging i acces.
Apoi telefonul difuzeaz propriul numr serial de 32 de bii i numrul de telefon de 34 de bii.
Ca orice alt informaie de control din AMPS, acest pachet este transmis n form digital, de mai
multe ori i cu un cod corector de erori, dei canalele vocale sunt analogice.
Atunci cnd staia de baz aude anunul, sesizeaz MTSO-ul care nregistreaz existena
noului su client i informeaz de asemenea MTSO-ul clientului asupra poziiei sale curente,
n timpul unei funcionri normale, telefonul mobil se renregistreaz aproximativ odat la
fiecare 15 minute.
Pentru a face un apel, un utilizator de mobil activeaz telefonul, introduce de la taste numrul de
apelat i apas butonul SEND. Telefonul transmite apoi numrul de apelat i identitatea proprie pe
canalul de acces. Dac acolo apare o coliziune, el ncearc mai trziu din nou. Atunci cnd primete
o cerere, staia de baz informeaz MTSO-ul. Dac apelantul este un client al companiei MTSO
(sau unul din parteneri), MTSO-ul caut un canal liber pentru apel. Dac se gsete unul, numrul
canalului este transmis napoi pe canalul de control. Telefonul mobil comut apoi automat pe
canalul vocal selectat i ateapt pn cnd partea apelat ridic telefonul.
Apelurile primite funcioneaz diferit. La nceput toate telefoanele libere ascult n continuu pe
canalul de paging pentru a detecta mesajele adresate lor. Atunci cnd se face apel ctre un telefon
mobil (fie de la un telefon fix fie de la alt telefon mobil), se transmite un pachet ctre MTSO-ul
apelatului pentru a descoperi unde se afl acesta. Se transmite apoi un pachet ctre staia de baz
din celula sa curent, care apoi transmite pe canalul de paging un mesaj de difuzare de forma
urmtoare: "Unitatea 14, eti acolo?". Telefonul apelat rspunde apoi cu Da" pe canalul de
control. Baza spune apoi ceva de genul Unitatea 14, ai un apel pe canalul 3". n acest moment,
telefonul apelat comut pe canalul 3 i ncepe s sune.
Probleme de securitate
Telefoanele celulare sunt total lipsite de securitate. Oricine dispune de un receptor
(scaner) de band larg se poate poziiona i poate asculta tot ceea ce se ntmpl ntr-o
celul. Prinesa Di i iubitul ei au fost prini odat n acest fel i au aprut pe prima pagin a
revistelor din lumea ntreag. Deoarece majoritatea utilizatorilor celularelor nu-i dau seama
ct de nesigur este acest sistem, de multe ori ei transmit n acest mod numerele crilor de
credit sau alte informaii confideniale.
150
NIVELUL FIZIC
CAP. 2
SEC 2.7
RADIO CELULAR
151
Unele telefoane GSM folosesc cartele inteligente. O cartel inteligent are dimensiunea unei
cri de credit i conine un procesor. Numrul serial i numrul de telefon se afl n cartel i nu n
telefon, ceea ce conduce la o mai mare securitate (dac furi telefonul, dar nu ai cartela, atunci nu vei
putea obine numrul). De asemenea, se folosete i criptarea. Vom discuta GSM n Cap. 4.
2.7.5 Servicii de comunicaii personale
n lumea telefoanelor, idealul H reprezint un mic telefon fr fir pe care s-1 poi folosi n jurul
casei i pe care s-1 poi lua cu tine oriunde n lume. Acesta ar trebui s rspund la acelai numr de
telefon, indiferent de locul unde se afl, astfel ca oamenii s aib doar un singur numr de telefon
(n cazul AMPS-ului, telefonul dumneavoastr de acas i cel mobil au numere diferite). Acest
sistem se afl n acest moment ntr-o dezvoltare rapid (Lipper i Rumsewicz, 1994). n Statele
Unite el este denumit PCS (Personal Communication Services-Servicii de Comunicaii Personale),
n toate celelalte ri el este denumit PCN (Personal Communication Network-Reea de
Comunicaii Personale). n lumea telefoniei, Statele Unite au ceva tradiie n a face ceva cu totul
diferit fa de oricine altcineva. Din fericire, majoritatea datelor tehnice sunt aceleai.
PCS va folosi tehnologia celular, dar cu microcelule, probabil de 50 pn la 100 de metri
lime. Aceasta permite folosirea unor puteri foarte mici (1/4 Watt), ceea ce va face posibil s
se construiasc telefoane foarte mici i uoare. Pe de alt parte, el necesit mult mai multe
celule dect AMPS-ul cu celule de 20 Km. Presupunnd c o microcelul este de 200 ori mai
mic n diametru dect o celul AMPS, pentru a acoperi aceeai arie sunt necesare de 40.000
mii de ori mai multe celule. Chiar dac aceste microcelule sunt mult mai ieftine dect celulele
AMPS, construirea unui sistem PCS complet, pornind de la zero, va necesita, n mod sigur, o
investiie n infrastructur semnificativ mai mare dect a necesitat AMPS-ul. Dat fiind c
exist deja stlpii i firele, unele companii de telefoane i-au dat seama c pot reduce
substanial costurile de instalare folosind pentru amplasarea staiilor de baz - care au
dimensiunea unui prjitor de pine - propriii lor stlpi de telefon. Aceste mici staii de baz
sunt denumite uneori tele-puncte (telepoints). Ct de multe staii s se instaleze i unde s fie
amplasate constituie o problem complicat (Stelle .a. ,1995a, 1995b).
Guvernul S.U.A (i anume FCC) folosete PCS pentru a face bani din nimic. n 1994-1995, FCC
a vndut la licitaie licene pentru folosirea spectrului PCS (1,7 pn la 2,3 GHz). licitaia a adus
guvernului 7,7 miliarde dolari. Aceast licitaie a nlocuit sistemul anterior de acordare a
frecvenelor prin loterie, eliminnd astfel practica firmelor fr nici un interes n telecomunicaii de
a participa la loterie. Orice companie care a ctigat o frecvena, poate s o vnd instantaneu uneia
care a pierdut, pentru cteva milioane de dolari.
Din nefericire, nimic nu este gratuit nici chiar pentru guvern. Banda ntre 1,7 i 2,3 GHz este deja
alocat complet altor utilizatori. Acestor utilizatori li se va da un specte n alt parte i li se va spune
s se mute acolo. Problema este c dimensiunea unei antene depinde de frecven i, prin urmare,
aceast realocare forat a frecvenei va face s se duc pe apa smbetei o investiie de mai multe
miliarde de dolari n antene, emitoare etc. n jurul Washington-ului se nvrt deja mai multe
grupuri de lobby-iti care dau tot felul de sugestii referitoare la cine ar trebui s plteasc toate
acestea. Rezultatul final este c PCS nu va putea fi instalat pe scar larg pn la sfritul acestui
mileniu. Pentru a nelege mai bine problemele legate de spectru, a se vedea (Youssef .a., 1995).
152
28
NIVELUL FIZIC
CAP. 2
SATIOTT DE COMUNICAIE
n anii 1950 i la nceputul anilor 1960, oamenii au ncercat s stabileasc sisteme de comunicaie
pe baza reflectrii semnalelor de ctre baloanele meteorologice metalizate. Din nefericire,
semnalele recepionate erau prea slabe ca s poat fi folosite practic la ceva. Apoi, Marina S.U.A. a
observat pe cer un fel de balon meteorologic permanent - Luna - i a construit, pe baza reflectrii
semnalelor de ctre Lun, un sistem operaional pentru comunicaii nav-rm.
Progresul n domeniul comunicaiilor celeste a trebuit s mai atepte pn cnd a fost lansat
primul satelit de comunicaii, n 1962. Principala diferen ntre un satelit artificial i unul natural
este aceea c satelitul artificial poate amplifica semnalele nainte de a le transmite napoi,
transformnd o curiozitate stranie ntr-un sistem de comunicaie puternic.
Sateliii de comunicaie au cteva proprieti interesante, care i fac tentani pentru multe
aplicaii. Un satelit de comunicaie poate fi gndit ca un mare repetor de microunde, aflat n cer.
Acesta conine mai multe dispozitive de recepie-transmisie automat (transporder), fiecare din
acestea ascult pe o anume poriune din spectru, amplific semnalul recepionat i apoi l
redifuzeaz pe o alt frecven, pentru a evita interferena cu semnalul care se recepioneaz. Unda
descendent poate fi difuzat, acoperind astfel o fraciune substanial din suprafaa Pmntului su
poate fi concentrat, caz n care va acoperi numai o zon de cteva sute de kilometri n diametru.
2.8.1 Satelii geosincroni
Conform legii lui Kepler, perioada de rotaie a unui satelit variaz cu puterea 3/2 a razei orbitei,
n apropierea suprafeei Pmntului, perioada este de aproximativ 90 min. Sateliii de comunicaie
aflai la o altitudine att de mic sunt problematici, deoarece se gsesc n raza vizual a unei staii de
pe pmnt numai un interval scurt de timp.
Totui, la o altitudine de aproximativ 36.000 km deasupra ecuatorului, perioada unui satelit este
de 24* de ore i, prin urmare, satelitul se nvrtete la aceeai vitez ca i Pmntul de sub el. Un
observator care se uit la un satelit de pe o orbit ecuatorial circular, vede satelitul ntr-un punct
fix de pe cer, aparent nemicat. Este ideal ca satelitul s apar fix pe cer, deoarece altfel ar fi nevoie pentru urmrirea sa - de o anten rotativ foarte scump.
Pentru a evita interferena, n condiiile tehnologiilor actuale, nu este bine s existe satelii
poziionai mai aproape 2 grade n planul ecuatorial de 360 grade. La o spaiere de 2 grade, pot
exista pe cer, la un moment dat, doar 360/2=180 satelii de comunicaie geostaionari. O parte din
aceste poziii pe orbit sunt rezervate pentru alte clase de utilizatori (de exemplu difuzare de
televiziune, n scopuri guvernamentale sau militare etc).
Din fericire, sateliii care folosesc poriuni diferite din spectru nu interfera i, de aceea,
fiecare din cei 180 de satelii posibili, pot avea mai multe fluxuri de date care urc i coboar
simultan. Prin urmare, dac lucreaz la frecvene diferite, doi sau mai muli satelii pot ocupa
aceeai poziie pe orbit.
Pentru a preveni haosul total pe cer, s-au realizat acorduri internaionale referitoare la cine
poate ocupa o poziie de pe orbit i ce frecvene poate folosi. Cele mai importante benzi comerciale
sunt listate n Fig. 2-55. Banda C a fost desemnat iniial pentru traficul comercial prin satelii. n
N
Mai exact, perioada de rotaie este egal cu ziua sideral: 23 de ore, 56 minute, 4,09 secunde.
SATELIT! DE COMUNICAIE
SEC.-18
153
banda C sunt asigurate dou domenii de frecven, cea mai mic pentru traficul descendent (dinspre
satelit), iar cea superioar pentru traficul ascendent (ctre satelit). Pentru o conexiune full-duplex
este necesar un canal n ambele sensuri. Aceste benzi sunt deja supraaglomerate, deoarece sunt
folosite i de purttoarele obinuite pentru legturile terestre pe microunde.
Banda
Frecvene
Legtura
descendent (GHz)
Legtura
ascendenta(GHz)
Probleme
4/6
3,7-4,2
5,925-6,425
Ku
11/14
11,7-12,2
14,0-14,5
Ploaia
Ka
20/30
17,7-21,7
27,5-30,5
Interferene terestre
154
NIVELUL FIZIC
CAP. 2
Hub
SEC. 2.8
SATELII DE COMUNICATE
115
n primii 30 de ani ai erei sateliilor, sateliii de joas altitudine au fost rareori folosiri pentru
comunicaii, deoarece ei apar i dispar destul de repede din cmpul vizual. n 1990, Motorola a
deselenit terenul prin punerea la punct a unei noi aplicaii. Motorola a obinut acordul FGC n
vederea lansrii a 77 de satelii de joas altitudine pentru proiectul Iridium (elementul 77 este
Iridium). Planul a fost mai trziu revzut, astfel nct s se utilizeze numai 66 de satelii i, ca urmare,
proiectul ar fi trebuit s fie redenumit Dyproium (elementul 66) dar, probabil c suna prea mult ca
o boal. Ideea era c n momentul n care un satelit dispare din cmpul vizual, ar putea s-i ia locul
un alt satelit. Aceast propunere a generat printre celelalte companii de telefoane o poft nebun.
Dintr-o dat, toat lumea dorea s lanseze un lan de satelii de joas altitudine. Aici vom descrie pe
scurt, sistemul Iridium, celelalte sisteme fiind similare.
Scopul principal al sistemului Iridium este s furnizeze servicii mondiale de
telecomunicaie, folosind dispozitive portabile care s comunice direct cu sateliii Iridium.
Sistemul furnizeaz servicii vocale, de date, paging, fax i navigare, n orice loc de pe glob.
Acest serviciu concureaz strns cu PCS/PCN, fcnd ca acesta din urm s nu mai fie necesar.
Sistemul folosete ideea din radioul celular, dar cu o modificare. n mod normal, celulele
sunt fixe i utilizatorii sunt mobili. n acest caz, fiecare satelit are un numr considerabil de
raze punctuale care pot scana Pmntul pe msur ce satelitul se deplaseaz. De aceea, n
acest sistem, att celulele ct i utilizatorii sunt mobili, dar tehnicile de transfer folosite pentru
radioul celular, se aplic la fel, att pentru cazul n care celula prsete utilizatorul ct i
pentru cazul n care utilizatorul prsete celula.
(a)
(b)
Fig. 2-57. (a) Sateliii Iridium formeaz ase coliere n jurul Pmntului,
(b) 1628 de celule mictoare acoper Pmntul.
Sateliii trebuie poziionai la o altitudine de 750 km pe orbite polare circulare. Ei vor fi aranjai
n form de coliere nord-sud, cu un satelit la fiecare 32 grade latitudine. Dup cum se sugereaz n
156
NIVELUL FIZIC
CAP. 2
Fig. 2-57(a), cu ase coliere de satelii s-ar putea acoperi ntregul Pmnt. Cei care nu cunosc prea
multe despre chimie, se pot gndi la aceast dispunere ca la un atom de dysprosium foarte mare,
avnd Pmntul pe post de nucleu i sateliii pe post de electroni.
Dup cum este prezentat n Fig. 2-57(b), fiecare satelit va avea maximum 48 de raze
punctuale, cu un total de 1628 celule pe suprafaa Pmntului. Frecvenele pot fi refolosite
dou celule mai ncolo, ca i n radioul celular convenional. Fiecare celul va avea 174 canale
full-duplex, cu un total de 283.272 canale pe tot globul. O parte din acestea vor fi pentru
paging i navigare, care nu prea necesit lime de band. (Dispozitivele de paging avute n
vedere vor afia dou linii de text alfanumeric).
Legturile ascendente i cele descendente vor lucra n banda L, la 1,6 GHz. n felul acesta,
comunicarea cu un satelit este posibil s se fac folosind un dispozitiv alimentat cu o baterie mic.
Mesajele recepionate de un satelit, dar destinate unui alt satelit aflat la distan, vor fi retransmise
ntre satelii n banda Ka. n spaiul exterior este disponibil suficient lime de band pentru
legturi intersatelit. Factorul limitator l-ar putea constitui segmentele ascendente/descendente.
Motorola estimeaz c 200 MHz ar fi suficieni pentru ntregul sistem.
Costul estimat pentru utilizatorul final este de aproximativ 3 dolari pe minut. Dac aceast
tehnologie poate furniza la acest pre servicii universale n orice loc de pe pmnt, este puin
probabil ca proiectul s moar din lips de clieni. Oamenii de afaceri sau ali oameni aflai n
cltorie, care vor s fie n contact tot timpul, chiar i n zonele slab dezvoltate, se vor ngrmdi s se
aboneze. Totui, n zonele dezvoltate, Iridium va avea de nfruntat concurena puternic din partea
PCS/PCN cu ale lor telepuncte (telepoints) de tip prjitor de pine pe stlp.
2.83 Satelii versus Fibre Optice
O comparaie ntre comunicaiile prin satelit i comunicaiile terestre este instructiv. Nu mai
demult dect acum 20 de ani, se putea crede c viitorul aparine comunicaiilor prin satelit. La urma
urmei, sistemul telefonic s-a schimbat puin n ultimii 100 de ani i nici nu d semne de schimbare n
urmtorii 100 de ani. Aceast evoluie lent s-a datorat n mare msur mediului nconjurtor n
care companiilor de telefoane li se cerea s furnizeze un serviciu vocal calitativ la un pre rezonabil
(ceea ce au i fcut) n schimbul unui profit garantat al investiiilor lor. Prin urmare, pentru cei care
aveau date de transmis, erau disponibile modemuri de 1200 bps. Aceasta era destul de bine pentru
ceea ce exista atunci.
Introducerea competiiei n 1984 n Statele Unite i, ceva mai trziu, n Europa a schimbat
radical situaia. Companiile de telefoane au nceput nlocuirea cu fibre optice a reelelor exploatate
att de mult timp i introducerea serviciilor cu limi de band ridicate, cum ar fi SMDS i B-ISDN.
Ele au ncetat practica ndelungat de a pretinde preuri artificial ridicate pentru utilizatorii de
distan lung n scopul subvenionrii utilizatorilor locali.
Dintr-o dat, se prea c legturile terestre pe fibr optic vor fi ctigtorul pe termen lung. Cu
toate acestea, sateliii de comunicaie au cteva nie pe pia, n care fibra optic nu a ptruns (i n
unele cazuri nici nu o va putea face). Vom analiza acum o parte dintre acestea.
n timp ce o singur fibr optic are, n principiu, mai mult lime potenial de band dect toi
sateliii lansai vreodat, aceast lime de band nu este disponibil majoritii utilizatorilor. Fibrele
optice instalate la ora actual sunt folosite n sistemul telefonic pentru a gestiona simultan mai multe
apeluri de distan lung, i nu pentru a furniza utilizatorilor individuali lime de band ridicat.
SEC 2.9
REZUMAT
f7
Mai mult dect att, puini utilizatori pot avea acces la un canal pe fibr optic, deoarece le st n
drum vechea bucl local din cablu torsadat. Dac oficiul final al companiei de telefoane locale se
apeleaz la 28,8 kbps, nu se va obine niciodat o lime de band mai mare de 28,8 kbps, indiferent
de cta lime de band are cablul intermediar. n cazul sateliilor, un utilizator poate foarte bine s
scoat o anten pe acoperiul cldirii i s ocoleasc complet sistemul telefonic. Pentru muli
utilizatori, evitarea buclei locale constituie o motivaie serioas.
Pentru utilizatorii care (uneori) au nevoie de 40 sau 50 Mbps, o posibil soluie este
nchirierea unei purttoare T3 (44,736 Mbps). n orice caz, aceasta este o aciune costisitoare.
Dac limea de band este necesar numai n mod intermitent, SMDS-ul ar putea fi o soluie
convenabil, ns acesta nu este disponibil oriunde, n timp ce serviciul prin satelit este.
O a doua ni o reprezint comunicaiile mobile. n zilele noastre, muli oameni doresc s
comunice n timp ce fac jogging, conduc, navigheaz sau zboar. Legturile terestre prin fibre optice
nu le sunt de nici un folos, n schimb le pot fi utile legturile prin satelit. Este posibil, totui, ca o
combinaie ntre radioul celular i fibra optic s satisfac cerinele majoritii utilizatoror (probabil
cu excepia acelora care se afl la bordul unui avion sau pe mare).
O a treia ni o reprezint situaiile n care este esenial difuzarea. Un mesaj transmis de satelit
poate fi recepionat simultan de mii de staii terestre. De exemplu, o firm care transmite aciuni,
titluri de proprietate sau preurile mrfurilor ctre mii' de distribuitori, poate gsi un sistem prin
satelit mult mai ieftin dect dac ar simula difuzarea pe pmnt.
O a patra ni o constituie comunicaia n locurile cu terenuri greu accesibile sau cu o
infrastructur terestr slab dezvoltat. Indonezia, de exemplu, are propriul satelit pentru traficul
telefonic intern. Lansarea unui satelit a fost mult mai simpl dect ntinderea a mii de cabluri
submarine ntre toate insulele din arhipelag.
O a cincea ni pe piaa sateliilor este acolo unde dreptul de instalare a fibrei optice este dificil
de obinut sau nejustificat de scump.
n al aselea rnd, atunci cnd instalarea rapid este critic, ca n cazul sistemelor de comunicaii
militare pe timp de rzboi, sateliii obin ctig de cauz fr probleme.
Pe scurt, se pare c n viitor fluxul principal de comunicaie va fi pe fibra optic combinat cu
radio celular, iar pentru civa utilizatori specializai, sunt preferabili sateliii. Totui, exist un
avertisment valabil pentru toate acestea: economia. Cu toate c fibra optic ofer mai mult lime
de band, este, fr ndoial, posibil ca, n viitor, comunicaiile terestre i cele prin satelit s intre
ntr-o competiie agresiv pe baza preului practicat. Dac progresele tehnologice vor reduce radical
costul de instalare al unui satelit (de exemplu, unele viitoare navete spaiale vor putea mprtia n
spaiu mai multe zeci de satelii la o singur lansare) sau dac vor deveni populari sateliii de joas
altitudine, atunci s-ar putea ca fibrele optice s-i piard, pe unele piee, poziia lor de lider.
2.9 REZUMAT
Nivelul fizic st la baza tuturor reelelor. Natura a impus dou limite fundamentale asupra unui
canal, iar acestea determin limea de band. Aceste limite sunt Urnita Nyquist, care se aplic
asupra canalelor fr zgomot, i limita Shannon, pentru canale cu zgomot.
Mediile de transmisie pot fi ghidate sau neghidate. Principalele medii ghidate sunt cablul
torsadat, cablul coaxial i fibra optic. Mediile neghidate includ undele radio, microundele, undele n
infrarou i laseri ce se propag prin aer.
158
NTVELULFIZIC
CAP.2
Elementul cheie din majoritatea reelelor larg rspndite geografic 11 constituie sistemul
telefonic. Principalele sale componente sunt buclele locale, trunchiurile i comutatoarele. Buclele
locale sunt analogice, cu circuite din cablu torsadat, ele necesitnd modemuri pentru transmisia
digital a datelor. Trunchiurile sunt digitale i pot fi multiplexate n mai multe moduri, printre care:
FDM, TDM i WDM. Comutatoarele pot fi comutatoare cu bare transversale (crossbars switches),
comutatoare cu divizare n spaiu i comutatoare cu divizare n timp. Sunt importante att
comutarea de circuite ct i comutarea de pachete.
n viitor, sistemul telefonic va fi digital de la un capt la altul i va transporta att
informaie vocal ct i non-vocal, pe aceleai linii. Acum se introduc dou variante ale
acestui nou sistem, cunoscut ca ISDN. ISDN de band ngust este un sistem digital de
comutare de circuite, care reprezint o mbuntire a sistemului existent. Prin contrast, ISDN
de band larg reprezint o paradigm a schimbrii, deoarece se bazeaz pe tehnologia ATM
cu comutare de celule. Exist diferite tipuri de comutatoare ATM, printre care comutatoarele
knockout i comutatoarele Batcher-banyan.
Pentru aplicaiile mobile, sistemul telefonic bazat pe cabluri fixe nu este adecvat. Alternativele la
sistemul telefonic includ radioul celular i sateliii de comunicaii. Radioul celular este folosit acum
pe scar larg pentru telefoanele portabile, dar curnd va fi folosit frecvent i pentru traficul de date.
Generaiile actuale de sisteme celulare (de'exemplu, AMPS) sunt analogice, dar generaiile viitoare
(de exemplu, PCS/PCN) vor fi complet digitale. Sateliii de comunicaie tradiionali sunt
geostaionari, dar exist acum un interes deosebit pentru sistemele de satelii de joas altitudine,
cum ar fi Iridium.
2.10 PROBLEME
1. Calculai coeficienii Fourier pentru funcia f(t)=t, (0 < t < 1).
2.
Un canal de 4 KHz fr zgomot este eantionat la fiecare 1 msec. Care este rata maxim de
transfer a datelor?
3.
4. Dac un semnal binar este transmis pe un canal de 3 KHz al crui raport semnal/zgomot este de
20 dB, care este rata maxim de transfer a datelor care se poate realiza?
5. Ce raport semnal/zgomot este necesar pentru a pune o purttoare TI pe o linie de 50 KHz?
6.
Care este diferena dintre o stea pasiv i un repetor activ ntr-o reea pe fibr optic?
7.
Care este lrgimea de band existent n 0.1 microni de spectru la o lungime de und de 1
micron?
8.
SEC.2-10
PROBLEME
159
pe secund. Ce lime de band este necesar i care este lungimea de und, n microni,
necesar pentru aceast band la 1,30 microni?
9. Teorema lui Nyquist este adevrat pentru fibra optic sau numai pentru cablul de cupru?.
10. n Fig. 2-6 banda din partea stng este mai ngust dect celelalte. De ce?
11. Antenele radio funcioneaz deseori cel mai bine atunci cnd diametrul antenei este egal cu
lungimea de und a undei radio. Antenele rezonabile au ntre 1 cm i 5 m n diametru. Ce
domeniu de frecven acoper acestea?
12. Atenuarea multici este maximizat atunci cnd dou raze sosesc cu un defazaj de 180 grade.
Ct de mare trebuie s fie diferena de drum pentru a maximiza atenuarea n cazul unei legturi
prin microunde de 1 GHz avnd 50 km lungime?
13. O und laser de 1 mm lime este urmrit de un detector de 1 mm lime aflat la 100 m
distan, pe acoperiul unei cldiri. Ct de mare trebuie s fi fost deviaia unghiular (n grade)
a laserului dac nainte aceasta nu nimerea detectorul?
14. Un sistem telefonic simplu este alctuit din dou oficii finale i un singur oficiu de taxare la care
fiecare oficiu final este conectat printr-un trunchi duplex de 1 MHz. Un telefon obinuit este
folosit pentru a face 4 apeluri ntr-o zi lucrtoare de 8 ore. Durata medie a unui apel este de 6
minute. 10 procente din apeluri sunt de distan lung (de exemplu, traverseaz oficiul de
taxare). Care este numrul maxim de telefoane pe care l poate suporta un oficiu final?
(presupunei 4 KHz pe circuit)
15. O companie regional de telefoane are 10 milioane de abonai. Fiecare din telefoanele acestora
este conectat la un oficiu central printr-un cablu torsadat de cupru. Lungimea medie a acestor
cabluri este de 10 km. Ct de mult reprezint cuprul din valoarea buclelor locale? Presupunei
c seciunea transversal a fiecrui cablu are 1 mm diametru, greutatea specific a cuprului este
9.0 i cuprul se vinde cu 3 dolari pe kg.
6
16. Costul unui microprocesor puternic a sczut ntr-att, nct este posibil s se includ cte unul n
fiecare modem. Cum afecteaz aceasta gestiunea erorilor liniei telefonice?
17. O diagram - constelaie a unui modem, similar celei din Fig. 2-19 are puncte n urmtoarele
coordonate: (1,1), (1,-1),(-1,1) i (-1,-1). Ci bii pe secund poate atinge un modem cu aceti
parametri, la 1200 bauds?
18. O diagram - constelaie a unui modem, similar celei din Fig. 2-19, are puncte n (0,1) i (0,2).
Modemul folosete modulaie de faz sau modulaie de amplitudine?
19. Se potrivete FTTH modelului unei companii telefonice cu oficii finale, oficii de taxare i altele
sau trebuie schimbat modelul ntr-un mod fundamental? Explicai rspunsul.
160
NIVELUL FIZIC
CAP. 2
20. n partea de jos, sistemul telefonic este n form de stea, cu toate buclele locale dintr-un cartier
convergente ctre un oficiu final. Din contr, televiziunea prin cablu este alctuit dintr-un
singur cablu lung, cu un traseu erpuit pe deasupra tuturor caselor din acelai cartier.
Presupunem c n viitor cablul TV va fi din fibr optic de 10 Gbps n loc de cupru. Ar putea
acesta fi folosit pentru a simula modelul telefonic n care fiecare s aib propria sa linie ctre
oficiul final? Dac da, cte case cu un telefon pot fi conectate la o singur fibr optic?
21. Un sistem de TV prin cablu are 100 de canale comerciale, fiecare din acestea alternnd
programele cu publicitatea. Acestea seamn cu TDM sau FDM?
22. De ce a fost stabilit timpul de eantionare PCM la 125 microsecunde?
23. Care este procentul de suprancrcare pe o purttoare TI? Adic, ce procent din cei 1,544 Mbps
nu este pus la dispoziia utilizatorului final?
24. Comparai rata maxim de transfer a datelor, care aprin unui canal fr zgomot de 4 KHz
folosind:
a) ficare analogic cu 2 bii pe eantion;
b) sistemul PCM TI.
25. Dac un sistem cu purttoarea TI cade i nu tie unde se afl, el ncearc s se resincronizeze
folosind primul bit din fiecare cadru. Cte cadre vor trebui inspectate, n medie, pentru a se
resncroniza cu o probabilitate de eec de 0.001 ?
26. Care este diferena, dac exist vreuna, ntre partea de demodulare a unui modem i partea de
codificare a unui codec? (n definitiv, ambele convertesc semnale analogice n semnale digitale.)
27. Un semnal este transmis digitizat pe un canal de 4 KHz fr zgomot, cu un eantion la fiecare
125 microsecunde. Ci bii pe secund sunt de fapt transmii pentru fiecare din aceste metode
de codificare?
a) StandardulCCITT de 2,048 Mbps;
b) DPCM cu o valoare relativ a semnalului pe 4 bii;
c) Modulaia delta.
28. Un semnal pur sinusoidal de amplitudine A este codificat folosind modulaia delta, cu x
eantioane/secund. Un semnal de ieire de +1 corespunde unei schimbri a semnalului cu
+A/8 iar un semnal de ieire de -l corespunde unei schimbri a semnalului cu -A/8. Care este
cea mai mare frecven care poate fi urmrit fr erori cumulative?
9
29. Ceasurile SONET au o rat de deviaie de aproximativ 1/10 . Ct timp este necesar pentru ca
deviaia s egaleze limea unui bit? Care sunt implicaiile acestui calcul?
30. n Fig. 2-32 rata de transfer a datelor utilizator pentru OC-3 a fost stabilit la 148,608 Mbps.
Artai cum poate fi obinut acest numr din parametrii SONET OC-3.
31. Care este limea de band disponibil utilizatorului ntr-o conexiune OC-12c?
SEC 2.10
PROBLEME
161
32. Se dau trei reele cu comutare de pachete, fiecare ^Minnd noduri. Prima reea are
topologie stea cu un comutator central, cea de-a doua este un inel (bidirecional), iar cea
de-a treia este interconectat complet, avnd cte o legtur de la fiecare nod ctre toate
celelalte noduri. Care sunt cile n salturi n cazul cel mai bun, n cazul mediu i n cazul
cel mai defavorabil?
33. Comparai ntrzierea n transmisia unui mesaj de x bii pe o cale de Mopuri dintr-o reea cu
circuite comutate i ntr-o reea cu comutare de pachete (puin aglomerat). Timpul de stabilire
a circuitului este de S sec, ntrzierea de propagare este de d sec/hop, dimensiunea pachetului
este de/? bii i rata de transfer a datelor este de b bii/sec. n ce condiii reeaua cu pachete are
o ntrziere mai mic?
34. Presupunem cx bii de date utilizator trebuie transmii pe o cale cu k hopuri dintr-o reea cu
comutare de pachete, ca o serie de pachete, fiecare coninnd p bii de date i h bii pentru
antete, cu x > > p+h. Rata de transfer a liniei este de b bps i ntrzierea de propagare este
neglijabil. Ce valoare a luip minimizeaz ntrzierea total?
35. Cte puncte de legtur au comutatoarele din Fig. 2-39(a) i Fig. 2-39(b)? Comparai cu un
comutator 16x16 complet, cu bare transversale, cu o singur treapt.
36. n comutatorul cu divizare n spaiu din Fig. 2-39(a) care este cel mai mic numr de conexiuni
existente care poate bloca un nou apel de ieire?
37. Un proiect alternativ celui din Fig. 2-39(a) este unul n care cele 16 linii sunt mprite n dou
blocuri de opt, n loc de patru blocuri de patru (de exemplu, n=8 n loc de n=4). Un astfel de
proiect ar putea reduce costurile hardware din moment ce ar fi necesari doar doi concentratori,
unul pe intrare i unul pe ieire. Care este cel mai puternic argument mpotriva acestei
alternative?
38. Cte linii poate gestiona un comutator cu divizare n timp dac timpul de acces la RAM este de
50nsec?
39. Ci bii de buffer RAM are nevoie un schimbtor cu comutare n timp (time switch
interchanger) dac eantioanele de pe liniile de intrare au 10 bii i exist 80 de linii de intrare?
40. Comutarea cu divizare n timp, introduce n mod necesar o ntrziere minim la fiecare treapt
de comutare? Dac da, care este aceasta?
41. Ct de mult dureaz transmiterea unei imagini de 8 inci pe 10 inci prin facsimil, pe un canal
ISDN de tipul B? Facsimilul digitizeaz imaginea n 300 de pixeli pe inci i utilizeaz 4 bii pe
pixel. Fax-urile actuale funcioneaz mai rapid dect acestea, chiar pe linii telefonice obinuite.
Cum credei c fac ele acest lucru?
42. Prezentai un avantaj i un dezavantaj al NT12(prin comparaie cu NT1 i NT2) ntr-o
reea ISDN.
162
NIVELUL FIZIC
CAP. 2
43. n Fig. 2-50(a) observm coliziunile dintre celule care traverseaz un comutator banyan. Aceste
coliziuni apreau n prima i cea de-a doua treapt. Pot aprea coliziuni n cea de-a treia
treapt? Dac da, n ce condiii?
44. Pentru aceast problem va trebui s dirijai cteva celule printr-un comutator ATM
Batcher-banyan, pas cu pas. Sunt prezente 4 celule pe liniile de intrare 0 pn la 3, avnd
c destinaie liniile 3,5,2 i respectiv 1. Pentru fiecare din cele 6 trepte din comutatorul
Batcher i pentru cele 4 trepte din comutatorul banyan (incluznd intrarea i ieirea),
listai ce celule se afl acolo sub forma unui tuplu (celula de pe linia 0, celula de pe linia 1
etc). Indicai liniile fr nici o celul, prin -.
45. Repetai acum problema anterioar pornind de la (7, -, 6, -, 5, -,4, -).
46. Un comutator ATM are 1024 linii de intrare i 1024 linii de ieire. Liniile opereaz la viteza de
transfer SONET de 622 Mbps, ceea ce furnizeaz o rat de transfer pentru utilizator de 594
Mbps. De ce lime de band, pe ansamblu, are nevoie comutatorul pentru a trata ncrcarea ?
Cte celule pe secund trebuie s fie el capabil s prelucreze?
47. ntr-un sistem telefonic celular tipic, cu celule hexagonale, este interzis s se refolosease o
band de frecven ntr-o celul adiacent. Dac sunt disponibile n total de 840 frecvene, cte
frecvene se pot folosi ntr-o celul?
48. Facei o estimare aproximativ a numrului de microcelule PCS de 100 m diametru, care ar fi
necesare pentru a acoperi San Francisco(120 km2)?
49. Uneori, atunci cnd un utilizator traverseaz grania dintr-o celul n alta, apelul curent se
termin brusc, dei toate emitoarele i receptoarele funcioneaz perfect. De ce?
50. Cei 66 de satelii de joas altitudine din proiectul Iridium sunt mprii n 6 coliere n jurul
Pmntului. La altitudinea la care sunt folosii, perioada de rotaie este de 90 minute. Care este
intervalul mediu pentru timpii mori n cazul unui. emitor staionar?
3.1
164
CAP. 3
fluxului cadrelor n aa fel, nct receptorii leni s nu fie inundai de ctre emitori rapizi. n
urmtoarele seciuni vom examina pe rnd fiecare dintre aceste aspecte.
3.1.1 Servicii oferite nivelului reea
Funcia nivelului legtur de date este s ofere servicii nivelului reea. Principalul serviciu este
transferul datelor de la nivelul reea al mainii surs la nivelul reea al mainii destinaie. La nivelul
reea al mainii surs exist o entitate, s-i spunem proces, care trimite bii ctre nivelul legtur de
date, pentru a fi transmii la destinaie. Funcia nivelului legtur de date este s transmit biii spre
maina destinaie, pentru ca acolo s fie livrai nivelului reea, aa cum se arat n Fig. 3-l(a).
Transmisia efectiv urmeaz calea din Fig. 3-1 (b), dar este mai uor de neles n termenii a dou
procese ale nivelului legtur de date care comunic utiliznd un protocol al legturii de date. Din
acest motiv, pe parcursul acestui capitol, vom folosi n mod implicit modelul din Fig. 3-1 (a).
Gazd 2
Gazd 1
Gazd 1
Gazd 2
Cale virtual
de date
Cale efectiv
de date
(a)
(b)
SEC. 3.1
165
timp-real, cumpr-fi vorbirea, tinde datele ntrziate sunt mai nocive dect datele eronate.
Majoritatea LAN-urilor utilizeaz la nivelul legturii de date servicii neconfirmate fr conexiune.
Urmtorul pas n ceea ce privete sigurana este serviciul confirmat fr conexiune. Atunci cnd
este oferit acest serviciu, nc nu se utilizeaz conexiuni, dar fiecare cadru trimis este confirmat
individual. n acest mod, emitorul tie dac un cadru a ajuns sau nu cu bine. Dac nu a ajuns ntrun interval de timp specificat, poate fi trimis din nou. Acest serviciu este folositor pentru canale
nesigure, cum ar fi sistemele neconectate prin fir.
Poate c merit s subliniem c asigurarea confirmrii la nivelul legturii de date este doar o
optimizare, niciodat o cerin. Nivelul transport poate ntotdeauna s trimit un mesaj i s atepte
sa fie confirmat. Dac confirmarea nu apare n timp util, atunci emitorul poate retrimite ntregul
mesaj. Problema cu aceast strategie este aceea c daca mesajul mediu este spart n, s zicem, 10
cadre i 20% din totalul cadrelor sunt pierdute, transmiterea mesajului poate lua foarte mult timp.
n cazul n care sunt confirmate i retransmise cadre individuale, ntregul mesaj va fi transmis mult
mi rapid. Pe canale sigure;, precum cablul, costul suplimentar implicat de un astfel de protocol al
legturii de date poate fi nejustificat, dar pe canale fr fir, costul este pe deplin justificat datorit
nesiguranei acestora.
Revenind la serviciile noastre, cel mai sofisticat serviciu pe care nivelul legtur de date l pune la
dispoziia nivelului reea este serviciul orientat-conexiune. In cazul acestui serviciu, mainile surs i
destinaie stabilesc o conexiune nainte de a transfera date. Fiecare cadru trimis pe conexiune este
numerotat i nivelul legtur de date garanteaz c fiecare cadru trimis este ntr-adevr recepionat.
Mai mult, garanteaz c fiecare cadru este recepionat exact o dat i toate cadrele sunt recepionate
n ordinea corect. n schimb, n cazul serviciului fr conexiune, este posibil ca, datorit unei
confirmri pierdute, un cadru s fie transmis de mai multe ori i, prin urmare, recepionat de mai
multe ori. Spre deosebire de acesta, serviciul orientat conexiune furnizeaz proceselor de la nivelul
reea echivalentul unui flux de bii sigur.
Ruter
Proces al nivelului
legtura de date
Cadre Pachete
Protocol de
legtur
de date
Linie de transmisie
ctre ruter
166
CAP. 3
Atunci cnd este utilizat serviciul orientat conexiune, transferurile au trei faze distincte. n
prima faz este stabilit conexiunea, ambele pri iniializnd variabile i contoare, utilizate
pentru a ine evidena cadrelor care au fost recepionate i a celor care nu au fost. n a dpua
faz, sunt transmise unul sau mai multe cadre. n a treia i ultima faz, conexiunea este
desfiinat, elibernd variabilele, tampoanele i alte resurse utilizate la meninerea conexiunii.
S considerm un exemplu tipic: o subreea WAN format din rutere conectate prin linii
telefonice punct-la-punct, nchiriate. Cnd un cadru ajunge la un ruter, hardware-ul verific
suma de control i trimite cadrul programelor nivelului legtur de date (care se pot afla
ntr-un cip de pe adaptorul de reea). Programele nivelului legtur de date verific s vad
dac acesta este cadrul ateptat i, dac este aa, trimit pachetul din cmpul de informaie util
ctre programele de dirijare. Programele de dirijare aleg linia de ieire corespunztoare i
trimit pachetul napoi, ctre programele nivelului legtur de date, care apoi l transmit. Fluxul
dintre dou rutere este artat n Fig. 3-2.
Programul de dirijare dorete frecvent ca operaia s fie corect executat, ceea ce presupune
conexiuni secveniale sigure pe fiecare linie punct-la-punct. El nu dorete s fie deranjat prea des de
pachete care s-au pierdut pe drum. Este sarcina protocolului legturii de date, prezentat n
dreptunghiul punctat, s fac liniile de comunicaie nesigure s par perfecte sau, cel puin, suficient
de bune. Aceast proprietate este foarte important pentru legturile fr fir, care sunt, prin natura
lor, foarte nesigure. Ca o remarc, cu toate c am prezentat copii ale programelor nivelului legtur
de date n fiecare ruter, de fapt exist o singur copie, care trateaz toate liniile, utiliznd tabele i
structuri de date diferite pentru fiecare dintre ele.
Cu toate c acest capitol se refer numai la nivelul legtur de date i protocoalele legturii de
date, multe dintre principiile pe care le vom studia aici, cum ar fi controlul erorilor i controlul
fluxului, se regsesc n protocoalele de transport i de alte tipuri.
3.1.2 ncadrarea
n vederea furnizrii unui serviciu nivelului reea, nivelul legtur de date trebuie s utilizeze
serviciul furnizat de ctre nivelul fizic. Sarcina nivelului fizic este s primeasc un flux de bii i s
ncerce s-1 trimit la destinaie. Nu se garanteaz c acest flux de bii nu conine erori. Numrul de
bii recepionai poate fi mai mic, egal cu, sau mai mare dect numrul de bii transmii i pot avea
valori diferite. Este la latitudinea nivelului legtur de date s detecteze i, dac este necesar, s
corecteze erorile.
Abordarea uzual pentru nivelul legtur de date este s sparg irul de bii n cadre discrete i s
calculeze suma de control pentru fiecare cadru. (Algoritmii pentru suma de control vor fi discutai
mai trziu n acest capitol.) Atunci cnd un cadru ajunge la destinaie, suma de control este
recalculat. Dac noua sum de control este diferit de cea coninut n cadru, nivelul legtur de
date tie c a aprut o eroare i face operaiile necesare pentru a o rezolva (adic, elimin cadrul
eronat i trimite napoi un raport de eroare).
Spargerea irului de bii n cadre este mai dificil dect pare la prima vedere. O cale pentru a
realiza aceast ncadrare este inserarea de intervale de timp ntre cadre, aa cum inserm spaii ntre
cuvinte ntr-un text normal. Totui, reelele dau rareori garanii referitoare la timp, aa c este
posibil ca aceste intervale s fie comprimate sau ca n timpul transmisiei s fie inserate alte intervale.
SEC. 3.1
167
.Deoarece este prea periculos s ne bizuim pe timp pentru a marca nceputul i sfritul fiecrui
cadru, au fost elaborate alte metode. n aceast seciune vom analiza patru metode:
1. Numrarea caracterelor.
2. Caractere de nceput i de sfrit, cu inserare de caractere.
3. Indicatori de nceput i de sfrit, cu inserare de bii.
4. Violarea codificrilor la nivel fizic.
Prima metod de ncadrare utilizeaz un cmp din antet pentru a specifica numrul de caractere
din cadru. Atunci cnd nivelul legtur de date de la destinaie primete contorul de caractere, tie
cte caractere urmeaz i unde este sfritul cadrului. Aceast tehnic este prezentat n Fig. 3-3 (a)
pentru patru cadre de dimensiune de 5,5,8 i 8 caractere.
Contor de caractere
(a)
Un caracter
2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1
Cadrul 1
5 caractere
Cadrul 2
5 caractere
Cadrul 3
8 caractere
23
Cadrul 4
8 caractere
Eroare
tb)
2 3 4 7 6
Cadrul 1
7 8 9 8 0 1
Cadrul 2
(incorect)
2 3 4 5 6
9 7 8 9 0 1
Acum un contor
de caractere
168
CAP. 3
caracterele DLE STX sau DLE ETX, care vor interfera cu cadrul. Un mijloc de rezolvare a
acestei probleme este ca nivelul legtur de date al emitorului s insereze un caracter
ASCII, DLE, chiar naintea fiecrui caracter DLE "accidental" din date. Nivelul legtur de
date de la captul receptor nltur caracterele DLE nainte ca datele s fie transmise nivelului
reea. Aceast tehnic se numete inserare de caractere (character stuffing). Astfel, absena
sau prezena unui singur DLE permite s se fac diferena ntre DLE STX sau DLE ETX de
ncadrare i cele din date. DLE-urile din date sunt ntotdeauna dublate. Figura 3.4 prezint un
exemplu de ir de date naintea inserrii, dup inserare i dup extragere.
Un dezavantaj major al utilizrii acestei metode de ncadrare este acela c este limitat la
caractere de 8 bii n general i la codul caracterelor ASCII n particular. Datorit dezvoltrii
reelelor, dezavantajele inserrii de coduri de caractere n mecanismul de ncadrare a devenit din ce
n ce mai evident, aa c a trebuit dezvoltat o nou tehnic, care s permit caractere de
dimensiune variabil.
(a)
(b)
DLE
STX
DLE
DLE
ETX
DLE
STX
DLE
DLE
DLE
ETX
DLE inserat
(O
DLE
STX
DLE
DLE
ETX
Fig. 3-4. (a) Date trimise de nivelul reea, (b) Datele dup ce nivelul legtur de date a inserat
caractere, (c) Datele trimise ctre nivelul reea al receptorului.
Noua tehnic permite cadrelor de date s conin un numr arbitrar de bii i permite coduri de
caractere cu un numr arbitrar de bii per caracter. Funcioneaz astfel: fiecare cadru ncepe i se
termin cu un ablon special pe bii, 01111110, numit octet indicator (flag). De fiecare dat cnd
nivelul legtur de date al emitorului identific cinci de unu consecutivi n date, insereaz automat
un bit 0 n irul de bii de rezultai. Aceast inserare de bii (bit stuffing) este similar inserrii de
caractere, n care un DLE este inserat n irul de caractere de ieire, nainte de fiecare DLE din date.
Atunci cnd receptorul primete o succesiune de cinci bii 1, urmai de un bit 0, extrage automat
(adic, terge) bitul 0. La fel ca i inserarea de caractere, care este complet transparent pentru
nivelul reea din ambele calculatoare, aa este i inserarea de bii. Dac datele utilizator conin
ablonul indicator, 01111110, acest indicator este transmis ca 011111010, dar n memoria
receptorului este pstrat ca 01111110. Figura 3-5 d un exemplu de inserare de bii.
A
In cazul inserrii de bii, graniele dintre dou cadre pot fi recunoscute fr ambiguitate datorit
ablonului indicator. Astfel, dac receptorul pierde evidena a ceea ce primete, tot ceea ce are de
fcut este s caute la intrare secvenele indicator, deoarece acestea pot s apar numai la marginile
cadrului si niciodat n interiorul datelor.
SEC. 3.1
169
Ultima metod de ncadrare este aplicabil reelelor n care codificarea pe mediul fizic conine o
anumit redundan. De exemplu, unele LAN-uri codific un bit de date utiliznd doi bii fizici. De
obicei, un bit 1 este reprezentat de o tranziie sus-jos i un bit 0 de o tranziie jos-sus. Combinaiile
sus-sus i jos-jos nu sunt utilizate pentru date. Schema nseamn c fiecare bit de date are o tranziie
n mijloc, receptorului fiindu-i uor s localizeze frontierele biilor. Aceast utilizare de coduri fizice
incorecte este parte a standardului 802 LAN, pe care l vom studia n capitolul 4.
(a) 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
(b) 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 10
Bii inserai
(c) 0 1 1 0 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 0 0 1 0
Fig. 3-5. Inserare de bii. (a) Datele originale, (b) Datele aa cum apar pe linie.
(c) Datele aa cum sunt stocate n memoria receptorului dup extragerea biilor inserai.
Ca observaie final asupra ncadrrii, multe protocoale de legtur de date utilizeaz, pentru o
mai mare siguran, o combinaie de contor de caractere cu una dintre celelalte metode. La sosirea
unui cadru, pentru a localiza sfritul acestuia, este utilizat cmpul contor. Cadml este acceptat ca
valid doar dac n poziia respectiv exist delimitatorul corespunztor i dac suma de control este
corect. Altfel, irul de intrare este scanat pentru a detecta urmtorul delimitator.
3.13 Controlul erorilor
Problema marcrii nceputului i sfritului fiecrui cadru fiind rezolvat, ne vom ndrepta
atenia ctre problema urmtoare: cum s fim siguri c toate cadrele ajung pn la urm la
nivelul reea de la destinaie i n ordinea corect. S presupunem c emitorul trimite
cadrele de ieire fr s verifice dac au ajuns corect. Aa ceva se poate accepta n cazul
serviciilor neconfirmate fr conexiune, dar nu n cel al serviciilor sigure, orientate conexiune.
Modul uzual de a asigura o. transmitere sigur este de a furniza emitorului o reacie invers
despre ceea ce se ntmpl la cellalt capt al liniei. De obicei protocolul i cere receptorului s trimit
napoi cadre de control speciale, purtnd confirmri pozitive sau negative despre cadrele sosite. Dac
emitorul recepioneaz o confirmare pozitiv despre un cadru, el tie c acel cadru a ajuns cu bine.
Pe de alt parte, o confirmare negativ nseamn c ceva a mers prost i cadrul trebuie retransmis.
O complicaie n plus vine de la posibilitatea ca defectele de echipament s determine dispariia
complet a unui cadru (de exemplu ntr-o rafal de zgomot). n acest caz, receptorul nu va reaciona
n nici un fel, din moment ce nu are nici un motiv s reacioneze. Trebuie s fie clar c un protocol n
care emitorul trimite un cadru i apoi ateapt o confirmare, pozitiv sau negativ, va rmne
agat pentru totdeauna dac un cadru este complet pierdut datorit nefuncionrii echipamentului.
Aceast posibilitate a determinat introducerea contoarelor de timp (ceasurilor) la nivelul
legturii de date. Atunci cnd emitorul trimite un cadru, pornete de obicei i un contor de timp.
Contorul de timp este setat s expire dup un interval suficient de lung pentru ca acel cadru s poat
170
CAP. 3
ajunge la destinaie, s fie prelucrat acolo i confirmarea s se propage napoi ctre emitor. n mod
normal, cadrul va fi corect recepionat i confirmarea va sosi nainte ca timpul s expire, caz n care
contorul va fi anulat.
Dar, dac fie cadrul, fie confirmarea se pierd, intervalul de timp expir, n acest caz, emitorul
fiind atenionat c a aprut o problem. Soluia evident este retransmiterea cadrului. Dar, atunci
cnd cadrele pot fi transmise de mai multe ori, exist pericolul ca receptorul s accepte acelai cadru
de dou sau mai multe ori i s-1 trimit de mai multe ori nivelului reea. Pentru a evita aceast
situaie este necesar s atribuim numere de secven cadrelor de ieire, aa nct receptorul s poat
face distincie ntre cadrele retransmise i cele originale.
ntreaga problematic a gestiunii ceasurilor i numerelor de secven, astfel nct fiecare cadru s
ajung la nivelul reea de la destinaie o singur dat, fr excepie, reprezint o parte important a
obligaiilor nivelului legtur de date. Mai trziu, n acest capitol, vom studia n detaliu cum este
realizat aceast gestiune, urmrind o serie de exemple de complexitate din ce n ce mai mare.
3.1.4 Controlul fluxului
Un alt aspect important de proiectare care apare la nivelul legtur de date (i, desigur, i
la nivelurile superioare) este cum trebuie procedat cu un emitor care dorete sistematic s
transmit cadre mai repede dect poate s accepte receptorul. Aceast situaie poate s apar
uor atunci cnd emitorul ruleaz pe un calculator rapid (sau mai puin ncrcat) i
receptorul ruleaz pe o main lent (sau foarte ncrcat). Emitorul continu s transmit
cadre la o rat nalt pn cnd receptorul este inundat. Chiar dac transmisia este fr erori,
la un anumit punct receptorul nu va mai fi capabil s trateze cadrele care sosesc i va ncepe s
piard unele dintre ele. Bineneles, trebuie fcut ceva pentru a evita aceast situaie.
Soluia uzual este de a introduce controlul fluxului iflow control) pentru o obliga emitorul s
nu trimit mai rapid dect poate s accepte receptorul. Aceasta necesit n general un mecanism de
reacie, aa nct emitorul s-i poat da seama dac receptorul poate sau nu s in pasul.
Sunt cunoscute diferite scheme de control al fluxului, dar cele mai multe dintre ele utilizeaz
acelai principiu de baz. Protocolul conine reguli bine-definite despre momentul cnd emitorul
poate trimite urmtorul cadru. Aceste reguli interzic trimiterea cadrelor nainte ca Receptorul s o
permit, implicit sau explicit. De exemplu, cnd se stabilete o conexiune, receptorul trebuie s
spun: "Acum poi s-mi trimii n cadre, dar dup ce au fost trimise,-s nu trimii altele pn cnd nu
i spun s continui". n acest capitol vom studia diferite mecanisme de control al fluxului bazate pe
acest principiu. n capitolele urmtoare vom studia alte mecanisme.
DEIECI^REApaMECTAREAHlORILOR
171
Gwezultat al proceselor fizice care le genereaz, erorile dintr-unmediu (de exemplu radiq) tind s
mai curnd n rafale dect izolate. Sosirea erorilor n rafal, are att avantaje ct i dezavantaje
fat de erorile izolate pe un singur bit. Avantajul este acela c, datele de la calculator sunt trimise
ntotdeauna n blocuri de bii. S presupunem c dimensiunea unui bloc este de 1000 de bii i rata de
eroare este de 0.001 per bit. Dac erorile ar fi independente, multe blocuri ar conine o eroare. Dac
erorile vin n rafal de cte 100, n medie vor fi afectate doar unul sau dou blocuri din 100.
Dezavantajul erorilor n rafal este acela c sunt mult mai greu de detectat i corectat dect
erorile izolate.
Pentru a nelege cum pot fi tratate erorile, este necesar s privim cu atenie la ceea ce este cu
adevrat o eroare. n mod normal, un cadru conine m bii de date (adic mesaj) i r bii redundani
sau de control. S considerm lungimea total n (adic, n = m + r). O unitate format din n bii,
care conine date i bii de control, este numit frecvent cuvnt de cod de n bii (-bit codeword).
Date fiind dou cuvinte de cod, s zicem, 10001001 i 10110001, este posibil s determinm ci
bii de coresponden difer. n acest caz difer 3 bii. Pentru a determina ci bii difer, aplicm
operatorul SAU EXCLUSIV ntre cele dou cuvinte de cod i numrm biii 1 din rezultat.
Numrul de poziii binare n care dou cuvinte de cod difer se numete distana Hamming
(Hamming, 1950). Semnificaia sa este c dac dou cuvinte de cod sunt desprite de o distan
Hamming d, sunt necesare d erori de un singur bit pentru a-1 converti pe unul n cellalt.
n multe aplicaii de transmisie de date, toate cele 2m mesaje de date posibile sunt corecte, dar,
datorit modului n care sunt calculai biii de control, nu sunt utilizate toate cele 2n cuvinte de cod
posibile. Dat fiind algoritmul pentru calculul biilor de control, este posibil s construim o list
complet de cuvinte de cod permise i din aceast list s gsim cele dou cuvinte de cod a cror
distan Hamming este minim. Aceast distan este distana Hamming a codului complet.
Proprietile detectoare i corectoare de erori ale unui cod depind de distana sa Hamming.
Pentru a detecta d erori, este nevoie de un cod cu distan d + 1, deoarece cu un asemenea cod nu
exist nici o modalitate ca d erori de un singur bit s poat modifica un cuvnt de cod corect ntr-un
alt cuvnt de cod corect. Atunci cnd receptorul vede un cuvnt de cod incorect, poate spune c s-a
produs o eroare de transmisie. Similar, pentru a corecta d erori, este nevoie de un cod cu distan
2d + 1, deoarece n acest mod cuvintele de cod corecte sunt att de distanate, nct, chiar cu d
modificri, cuvntul de cod originar este totui mai apropiat dect alte cuvinte de cod i va fi unic
determinat.
Ca un exemplu simplu de cod detector de erori s considerm un cod n care la date este adugat
un singur bit de paritate. Bitul de paritate este ales astfel, nct numrul de bii 1 din cuvntul de cod
estepar (sau impar). De exemplu, atunci cnd 10110101 este trimis n paritate par, prin adugarea
unui bit la sfrit devine 101101011, n timp ce 10110001 devine 101100010. Un cod cu un singur bit
172
NIVELULLEGATURADEDATE
CAP.3^
de paritate are distana 2, deoarece orice eroare pe u Singur bit produce un cuvnt de cod cu |
paritatea greit. Acesta poate fi utilizat pentru detectarea erorilor singulare.
')
Ca exemplu simplu de cod corector de erori, s considerm un cod cu numai patru cuvinte de l
cod corecte:
. ;;
0000000000, 0000011111, 1111100000 i 1111111111.
Acest cod are distanai, ceea ce nseamn c poate corecta erori duble. Dac sosete cuvntul
de cod 0000000111, cel ce recepioneaz tie c originalul trebuie s fi fost 00000111111. Dac totui
o eroare tripl modific 0000000000 n 0000000111, eroarea nu va fi corectat corespunztor.
S ne imaginm c dorim s proiectm un cod cu m bii de mesaj i r bii de control care ne
va permite s corectm toate erorile singulare. Pentru fiecare din cele 2m mesaje corecte exist
n cuvinte de cod eronate, aflate la distan 1 de el. Acestea sunt formate prin inversarea
sistematic a fiecruia dintre cei n bii din cuvntul de cod de n bii format din el. Astfel,
fiecare din cele 2m mesaje corecte necesit n+1 abloane asociate. Cnd numrul total de
abloane este 2n, trebuie s avem (n+1) 2m < = 2 n . Utiliznd n=m+r, aceast condiie devine
(m + r + 1 ) < = 2 r . Dndu-se m, acesta impune o limit inferioar asupra numrului de bii de
control necesari pentru a corecta erorile singulare.
Aceast limit inferioar teoretic poate fi, de fapt, atins utiliznd o metod atribuit lui
Hamming (1950). Biii cuvntului de cod sunt numerotai consecutiv, ncepnd cu bitul 1 de la
marginea din stnga. Biii care sunt puteri ale lui 2 (1,2,4,8,16 etc.) sunt bii de control. Restul (3,
5,6,7,9 etc.) sunt completai cu cei m bii de date. Fiecare bit de control foreaz ca paritatea unui
grup de bii, inclusiv el nsui, s fie par (sau impar).
ar.
H
a
m
m
i
n
g
c
o
d
e
ASCII
Bii de control
/
1001000
00110010000
1100001
10111001001
1101101
11101010101
1101101
11101010101
1101001
01101011001
1101110
01101010110
1100111
11111001111
0100000
10011000000
11111000011
1100011
1101111
00101011111
1100100
11111001100
1100101
00111000101
ordinea transmiterii biilor
Fig. 3-6. Utilizarea unui cod Hamming pentru corectarea erorilor n rafal.
Un bit poate fi inclus n mai multe calcule de paritate. Pentru a vedea la care bii de control
contribuie bitul de date din poziia k, rescriem k ca o sum de puteri ale lui 2. De exemplu, 11=
1+2+8 i 29=1+4+8+16. Un bit este verificat de acei bii de control care apar n dezvoltarea sa (de
exemplu, bitul 11 este verificat de biii 1,2 i 8).
SEC. 3.2
173
Cnd sosete un cuvnt de cod, receptorul iniializeaz un contor la 0. Acesta examineaz apoi
fiecare bit de control, k (k = 1,2,4,8...) pentru a vedea dac are paritatea corect. Dac nu, adaug
k la contor. Dac, dup ce au fost examinai toi biii de control, contorul este 0 (adic, dac toi biii
au fost coreci), cuvntul de cod este acceptat ca valid. Dac valoarea contorului este nenul, ea
reprezint numrul bitului incorect. De exemplu, dac biii de control 1, 2 i 8 sunt eronai, atunci
bitul inversat este 11, deoarece este singurul verificat de biii 1, 2 i 8. Fig. 3-6 prezint cteva
caractere ASCII pe 7 bii codificate prin cuvinte de cod pe 11 bii, utiliznd codul Hamming. De
reamintit c informaia este regsit n biii de pe poziiile 3, 5,6, 7, 9,10 i 11. Codurile Hamming
pot corecta numai erori singulare. Totui, exist un artificiu care poate fi utilizat pentru a permite
codurilor Hamming s corecteze erorile n rafal. O secven de k cuvinte de cod consecutive este
aranjat ca o matrice, avnd cte un cuvnt de cod pe fiecare linie. In mod normal, datele ar fi
transmise linie cu linie, de la stnga la dreapta. Pentru a corecta erorile n rafal, datele vor trebui
transmise pe coloane, ncepnd cu coloana cea mai din stnga. Cnd au fost trimii toi cei k bii, este
transmis a doua coloan i aa mai departe. Atunci cnd un cadru ajunge la receptor, matricea este
reconstruit, coloan cu coloan. Dac a aprut o eroare n rafal, de lungime k, va fi afectat cel
mult un bit din fiecare dintre cele k cuvinte de cod, dar codul Hamming poate corecta o eroare pe
cuvnt de cod, aa nct ntregul bloc poate fi refcut. Aceast metod utilizeaz kr bii de control
pentru a face blocuri de km bii de date imune la erorile n rafal de lungime k sau mai mic.
3.2.2 Coduri detectoare de erori
Codurile corectoare de erori sunt utilizate uneori pentru transmiterea datelor, de exemplu atunci
cnd un canal este simplex, deci nu pot fi cerute retransmisii, dar cel mai adesea este preferat
detecia erorii urmat de retransmisie, deoarece este mai eficient. Ca un simplu exemplu, s
considerm un canal n care erorile sunt izolate i rata erorilor este de IO"6 per bit. S considerm c
dimensiunea unui bloc este de 1000 bii. Pentru a permite corecia erorilor pentru blocuri de 1000 de
bii sunt necesari 10 bii de control; un megabit de date va necesita 10000 bii de control. Pentru a
detecta uor un bloc cu o singur eroare de un bit, va fi suficient un bit de paritate la fiecare bloc. O
dat la fiecare 1000 de blocuri va trebui transmis un extrabloc (1001 bii). ncrcarea suplimentar
total n cazul metodei de detecie i retransmisie este de numai 2001 bii pentru un megabit de date,
n comparaie cu 10000 bii pentru un cod Hamming.
Dac unui bloc i se adaug un singur bit de paritate i blocul este puternic deformat de o eroare
n rafal lung, probabilitatea ca eroarea s fie detectat este de numai 0.5, ceea ce este greu de
acceptat. ansele pot fi mbuntite considerabil dac fiecare bloc transmis este privit ca o matrice
dreptunghiular de n bii lime i k bii nlime. Pentru fiecare coloan este calculat un bit de
paritate, care este adugat ntr-o nou linie de la sfritul matricei. Matricea este apoi transmis linie
cu linie. La sosirea blocului, receptorul verific toi biii de paritate. Dac oricare din ei este greit, va
cere o retransmisie a blocului.
Aceast metod poate detecta o singur rafal de lungime n, cu numai un bit pe coloan
modificat. O rafal de lungime n+1 va trece totui nedetectat dac primul i ultimul bit sunt
inversai, iar toi ceilali bii sunt coreci (o eroare n rafal nu nseamn c toi biii sunt greii, ci c
cel puin primul i ultimul sunt greii). Dac blocul este puternic deformat de o rafal lung sau de
rafale scurte multiple, probabilitatea ca oricare din cele n coloana s aib, accidental, paritatea
corect este 0.5, deci probabilitatea ca un bloc eronat s fie acceptat atunci cnd nu ar trebui este 2'n.
174
CAP. 3
Cu toate c schema de mai sus poate fi uneori adecvat, n" practic este larg utilizat o alt
metod: codul polinomial (cunoscut i sub numele de cod cu redundan ciclic - cydic redundancy
code sau cod CRC). Codurile polinomiale sunt bazate pe tratarea irurilor de bii ca reprezentri de
polinoame cu coeficieni 0 i 1. Un cadru de k bii este vzut ca o list de coeficieni pentru un
1
polinom cu k termeni, de la it la x. Se spune c un astfel de polinom este de gradul k-1. Bitul cel
lc 1
2
mai semnificativ (cel mai din stnga) este coeficientul lui x ' ; urmtorul bit este coeficientul lui x*'
.a.m.d. De exemplu, 110001 are ase bii i ei reprezint un polinom cu ase termeni cu coeficienii
;
4
1,1,0,0,0 i 1: r +x +x. Aritmetica polinomial este de tip modulo 2, n conformitate cu regulile
teoriei algebrice. Nu exist transport la adunare i nici mprumut la scdere. Att adunrile ct i
scderile sunt identice cu SAU EXCLUSIV. De exemplu:
10011011
+11001010
01010001
00110011
+11001101
11111110
11110000
-10100110
01010110
01010101
-10101111
11111010
mprirea lung este fcut ca n binar cu excepia faptului c scderea este realizat modulo 2,
ca mai sus. Despre un mpritor se spune c intr" ntr-un demprit dac dempritul are tot
atia bii ca mpritorul.
Atunci cnd este utilizat metoda codului polinomial, emitorul i receptorul se pun de acord n
avans asupra unui polinom generator G(x). Att bitul cel mai semnificativ ct i cel mai puin
semnificativ trebuie s fie 1. Pentru a calcula suma de control pentru un cadru cu m bii,
corespunztor polinomului M(x), cadrul trebuie s fie mai lung dect polinomul generator. Ideea
este de a aduga o sum de control la sfritul cadrului, astfel nct polinomul reprezentat de cadrul
cu sum de control s fie divizibil prin G(x). Cnd receptorul preia cadrul cu suma de control,
ncearc s-1 mpart la G(x). Dac se obine un rest, nseamn c a avut loc o eroare de transmisie.
Algoritmul pentru calculul sumei de control este urmtorul:
Fie r gradul lui G(x). Se adaug r bii 0 la captul mai puin semnificativ al cadrului, aa nct
acesta va conine acum n+r bii i va corespunde polinomului xTvI(x).
2. Se mparte irul de bii ce corespund lui G(x) ntr-un ir de bii corespunznd lui tfM(x),
utiliznd mprirea modulo 2.
3. Se scade restul (care are ntotdeauna r sau mai puini bii) din irul de bii corespunznd lui
xrM(x), utiliznd scderea modulo 2. Rezultatul este cadrul cu sum de control ce va fi
transmis. Numim polinomul su T(x).
1.
SEC.3.2
Cadru
Generator:
1 1 0 1 0
10
1 1 0
175
11
11
1 0
1 1
,1
1 1_
1 1 0
1 0
1:
1 0
0
1
0
0
1 1 0
1 0
0 - 0 0 0 0
0
1 0
o o o o o
0
1 0
0
1 0
1 1 0
1 0
0
0
0
1 1
1 0
0
o
o
1
0
1 0
1 0
1 0
0
0
0
0
1 1
1 1 1
0
.-- Rest
1 1 1 0
Cadru t r a n s m i s :
1 1 0 1 0 1 1 0 1 1 1 1 1 0
176
CAP. 3
Dac a aprut o eroare pe un singur bit, E(x) =x", unde / determin care bit este eronat. Dac
G(x) conine doi sau mai muli termeni, nu poate fi divizor al lui E(x), aa nct toate erorile pe un
singur bit vor fi detectate.
Dac au aprut dou erori izolate pe un singur bit, atunci E(x)= xi+xJ, unde i>j. Alternativ,
aceasta se poate scrie ca E(x)=^(^+1). Dac presupunem c G(x) nu este divizibil prin x, o
condiie suficient pentru detectarea erorilor duble este ca G(x) s nu se divid p r i n Z + l pentru
orice k pn la valoarea maxim /-; (adic, pn la lungimea maxim a cadrului). Sunt cunoscute
polinoame simple, de grad mic, care asigur protecie cadrelor cu lungime mare. De exemplu,
x 1 5 +x 1 4 +1 nu se va divide c u / + i pentru nici o valoare a lui k mai mic dect 32768.
Dac exist un numr impar de bii eronai, E(x) conine un numr impar de termeni (adic,
5
x +x 2 +l, dar nu x 2 +l). Destul de interesant, n sistemul modulo 2 nu exist nici un polinom cu
numr impar de termeni care s l aib pe x+1 ca factor. Fcndu-1 pe x+1 factor al lui G(x), vom
putea depista toate erorile constituite dintr-un numr impar de bii inversai.
Pentru a vedea c nici un polinom cu numr impar de termeni nu este divizibil cu x+1, s
presupunem c E(x) are un numr impar de termeni i este divizibil cu x+1. Factorizm E(x) n
(x+l)Q(x). Acum evalum E(l)= (1+1)Q(1). Deoarece 1+1=0 (modulo 2), E(l) trebuie s fie 0.
Daca E(x) are un numr impar de termeni, substituind fiecare x cu 1, rezultatul obinut va fi
ntotdeauna 1. Prin urmare nici un polinom cu numr impar de termeni nu este divizibil ai x+1. n
sfrit, i cel mai important, un cod polinomial cu r bii de control va detecta toate erorile n rafal de
lungime < r. O eroare n rafal de lungime k poate fi reprezentat de x1 (x*'1 + ... +1), unde i
determin ct de departe este localizat rafala fa de captul din dreapta al cadrului recepionat.
Dac G(x) conine termenul x, atunci nu l va avea ca factor ipex", aa c dac gradul expresiei dintre
paranteze este mai mic dect gradul lui G(x), restul nu poate fi niciodat 0.
Dac lungimea rafalei este r+1, restul mpririi cu G(x) va fi zero dac i numai dac rafala este
identic cu G(x). Prin definiia rafalei, primul i ultimul bit trebuie s fie 1, aa c potrivirea depinde
de cei r - 1 bii intermediari. Daca toate combinaiile sunt privite ca egal posibile, atunci
probabilitatea ca un cadru incorect s fie acceptat ca valid este l/2 r4 .
Trei polinoame au devenit standarde internaionale:
CRC-12
=x 1 2 +x 1 1 +x 3 +x 2 +x 1 +l
CRC-16
=x 1 6 +x 1 5 +x 2 +l
16
12
5
CRC-CCITT =x +x +x +l
Toate trei l conin pe x+1 ca factor prim. CRC-12 este utilizat atunci cnd lungimea
caracterului este de 6 bii. Celelalte dou sunt utilizate pentru caractere de 8 bii. O sum de
control pe 16 bii, precum CRC-16 sau CRC-CCITT, detecteaz toate erorile singulare i
duble, toate erorile cu un numr impar de bii, toate erorile n rafal de lungime 16 sau mai
mic, 99,997 % din erorile n rafal de 17 bii i 99,998 % din rafalele de 18 sau mai muli bii.
Dei calculele necesare pentru determinarea sumei control pot s par complicate, Peterson i
Brown (1961) au artat c pentru a calcula i verifica suma de control poate fi utilizat un simplu
registru de deplasare. n practic, acest tip de circuit este utilizat aproape ntotdeauna.
Timp de zeci de ani s-a presupus c acele cadre pentru care se calculeaz suma de control conin
bii aleatori. Toate analizele algoritmilor pentru calculul sumei de control au fost fcute cu aceast
p, mrente ale datelor reale au artat c aceast presupunere nu este corect. Ca
SEC. 3.3
177
o consecin, n unele circumstane, erorile nedetectate sunt mult mai obinuite dect s-a crezut
anterior (Partridge .a. 1995).
178
CAP.3
detaliile activitilor paralele din cadrul nivelului legtur de date i vom presupune c este tot
timpul dedicat numai canalului nostru.
Cnd'un cadru ajunge la receptor, echipamentul calculeaz suma de control. Dac aceasta este
incorect (n cazul unei erori de transmisie), atunci nivelul legtur de date este informat
corespunztor (event = cksumjrr). Dac un cadru ajunge nealterat, nivelul legtur de date este de
asemenea informat (event = framejmival), aa c poate primi cadrul pentru inspecie folosind
fivmjyhysicaljayer. De ndat ce nivelul de legtur de date a primit un cadru nealterat, verific
informaiile de control din antet i dac totul este n regul, pachetul este transmis nivelului reea. n
nici un caz, antetul nu este transmis nivelului reea.
Exist un motiv serios pentru care nivelului reea nu trebuie s i se transmit niciodat vreo parte
din antet: separarea complet a protocoalelor de reea de cele de legtur de date. Att timp ct
nivelul reea nu tie nimic despre protocolul nivelului legtur de date sau despre formatul cadrului,
acestea pot fi schimbate, fr s fie necesar schimbarea programelor nivelului reea. Furnizarea
unei interfee rigide ntre nivelul reea i nivelul legtur de date simplific considerabil proiectarea
programelor, deoarece protocoalele de comunicaie de la niveluri diferite pot evolua independent.
Figura 3-8 arat cteva declaraii (n C) comune multor protocoale ce vor fi discutate mai trziu.
Sunt definite cinci structuri de date: boolean, seq_nr,packet,frame_kind,frame. Un boolean este de
tip enumerativ i poate lua numai valorile true sau false. Seqjir este un numr ntreg mic folosit
pentru a numerota cadrele, astfel nct s le putem identifica. Aceste numere de secven sunt
cuprinse ntre 0 i MAX_SECV inclusiv, aceasta din urm fiind o constant definit n fiecare
protocol n care este necesar. Unpachet este unitatea de informaie schimbat ntre nivelul reea i
nivelul legtur de date de pe aceeai main sau ntre niveluri reea similare. n modelul nostru el
conine totdeauna MAX_PKT octei, dar mai realist ar fi s aib lungime variabil.
XJnframe (cadru) este compus din patru cmpuri: kind, seq, ack, i info, dintre care primele trei
conin informaii de control, iar ultimul poate conine datele efective care trebuie transferate.
Ansamblul acestor cmpuri de control este numit antetul cadrului (frame header). Cmpul kind
(tip) spune dac exist sau nu date n cadru, deoarece unele protocoale fac distincie ntre cadrele
care conin exclusiv informaii de control i cele care conin i date. Cmpurile seq i ack sunt
utilizate pentru numere de secven i, respectiv, confirmri (acfcnowledgements); utilizarea lor va fi
descris n detaliu mai trziu. Cmpul info al unui cadru de date conine un singur pachet de date;
cmpul info al unui cadru de control nu este utilizat. O implementare mult mai realist va folosi un
cmp info de lungime variabil, omindu-1 cu totul din cadrele de control.
Este important s ne dm seama de relaia dintre un pachet i un cadru. Nivelul reea
construiete un pachet lund un mesaj de la nivelul transport i adugnd la acesta antetul nivelului
reea. Acest pachet este trimis nivelului legtur de date pentru a fi inclus n cmpul info al unui
cadru care pleac. Cnd cadrul ajunge la destinaie, nivelul legtur de date extrage pachetul din
cadru si l trimite nivelului reea. n aceast manier, nivelul reea poate aciona ca si cnd mainile
ar putea s schimbe direct pachete.
n figura 3-8 sunt prezentate i cteva proceduri. Acestea sunt rutine de bibliotec ale cror
detalii sunt dependente de implementare i al cror mod intern de lucru nu ne intereseaz n
continuare. Procedura waitjorjvent st n bucl, ateptnd s se ntmple ceva, aa cum am
menionat mai devreme. Procedurile tojietworkjayer ifrornjietworkjayersunt utilizate de nivelul
de legtur de date pentru a trimite, respectiv a accepta, pachete de la nivelul de reea. De reinut c
from_physkaljayer i to_physical_layer sunt utilizate pentru trimiterea cadrelor ntre nivelurile fizic i
SEC. 3.3
179
typedef struct {
frame_kind kind;
seq_nr seq;
*/
*/
*/
*/
180
seq_nr ack;
packet info;
} frame;
CAP. 3
/* numr de confirmare */
/* pachetul de nivel reea */
*/
ack_timeout */.
*/
SEC. 3.3
181
mai bun lucru dintre toate, canalul de comunicaie ntre niveluri legtur de date nu pierde i nu
altereaz niciodat cadrele. Acest protocol total nerealist, pe care l vom numi "utopia", este
prezentat n Fig. 3 - 9;
/* Protocolul 1 (utopia) asigur transmitere de
transmitor la receptor. Canalul de comunicaie se
receptor se presupune c este capabil s prelucreze
la intrare. Deci, transmitorul nu face dect s
linie ct de repede poate */
frame s;
packet buffer;
while (true) {
from_network_layer(&buffer)
s.info = buffer;
to_physical_layer(&s);
/* l trimite pe traseu */
/* Tomorrow, and tomorrow, and tomorrow
Creeps n this petty pace from day to day
To the last syllable of recorded time
- Macbeth, V, v */
void receiverl(void)
frame r;
event_type event;
while (true) {
wait_for_event(&event);
from_physical_layer(&r);
to_network_layer(&r.info);
182
CAP.3
Receptorul este la fel de simplu. Iniial el ateapt s se ntmple ceva, singura posibilitate fiind
sosirea unui cadru nealterat. n cele din urm, cadrul ajunge, iar procedura waitjorjvent se
ntoarce cu event setat \afmme_arrival (care este oricum ignorat). Apelul rutinei from_physical_layer
mut cadrul nou sosit din zona tampon a echipamentului n variabila /*. n cele din urm pachetul de
date este trimis nivelului reea i nivelul legtur de date revine la starea de ateptare a cadrului
urmtor, autosuspendndu-se pur i simplu pn la sosirea unui nou cadru.
3.3.2 Un protocol simplu Stop-and-Wait (pas-cu-pas)
Acum vom renuna la cea mai nerealist restricie utilizat n protocolul 1: posibilitatea ca nivelul'
reea receptor s prelucreze datele de intrare cu vitez infinit (sau echivalent, prezena n nivelul
legturii de date receptor a unui tampon infinit n care s fie memorate, ct timp i ateapt rndul,
toate cadrele sosite). Totui, se presupune n continuare c nu se produc erori pe canalul de
comunicaie i c traficul de date este nc simplex.
Principala problem pe care trebuie s o rezolvm aici este cum s evitm ca emitorul s
inunde receptorul cu date care sosesc mai rapid dect poate acesta s prelucreze. n esen, dac
receptorul are nevoie de un timp At ca s execute fromjphysicaljayer i tojietworkjayer, atunci
emitorul trebuie' s transmit la o vitez medie mai mic de un cadru la fiecare interval de timp de
At. Mai mult, dac presupunem c echipamentul receptor nu realizeaz automat memorarea n zona
tampon i gestiunea cozii de ateptare, atunci emitorul nu trebuie s transmit niciodat un nou
cadru pn cnd cel vechi nu a fost preluat de rutina fivm_physical_layer, ca nu cumva cel nou s se
scrie peste cel vechi.
n anumite situaii speciale (de exemplu, transmisie sincron i un nivel legtur de date receptor
complet dedicat prelucrrii unei singure linii de intrare) s-ar putea ntmpla ca emitorul s
introduc pur i simplu o ntrziere n protocolul 1, pentru a-1 ncetini suficient, astfel nct s se evite
inundarea receptorului. Totui, uzual, fiecare nivel legtur de date va avea mai multe linii de luat n
considerare i intervalul de timp ntre sosirea unui cadru i nceputul prelucrrii sale poate varia
considerabil. Dac cei ce proiecteaz reele pot calcula comportamentul receptorului n cazul cel
mai defavorabil, atunci pot programa emitorul s transmit att de ncet, nct, chiar dac fiecare
cadru va suferi ntrzierea maxim, nu vor exista depiri. Problema cu aceast abordare este aceea
c este prea conservatoare. Ea conduce la o utilizare a lrgimii de band care este cu mult sub optim,
cu excepia situaiei n care cazurile cel mai favorabil i cel mai defavorabil sunt aproape la fel (adic,
variaia timpului de reacie al nivelului legtur de date este mic).
O soluie mult mai general a acestei dileme este ca receptorul s furnizeze o reacie ctre
emitor. Dup trimiterea unui pachet ctre nivelul su reea, receptorul trimite un mic cadru fictiv
ctre emitor care, de fapt, i d emitorului permisiunea s transmit urmtorul cadru. Dup ce a
transmis un cadru, emitorul este obligat de protocol s intre n ateptare un timp, pn cnd
sosete micul cadru fictiv (deci confirmarea).
Protocoalele n care emitorul trimite un cadru i apoi, nainte de a continua, ateapt o
confirmare, se numesc stop-and-wait (pas-cu-pas). Fig. 3-10 prezint un exemplu de protocol
simplex stop-and-wait.
SEC. 3.3
183
while (true) {
from_network_layer(&buffer);
s.info = buffer;
to_physicaljayer(&s);
wait_for_event(&event);
void receiver2(void)
{
/* zone tampon pentru cadre
frame r, s;
/* singura posibilitate este sosirea unui cadru
event_type event;
while (true) {
wait_for_event(&event);
/* singura posibilitate este sosirea unui cadru
from_physical_layer(&r);
/* preia cadrul sosit
to_network_layer(&r.info);
/* livreaz datele nivelului reea
to_physical_Iayer(&s); /* trimite un cadru fictiv pentru a trezi emitorul */
*/
*/
*/
*/
*/
*/
*/
*/
*/
184
CAP. 3
alternan strict a fluxului: mai nti emitorul trimite un cadru, apoi receptorul trimite un alt cadru,
apoi emitorul trimite alt cadru .a.m.d. n acest caz este suficient un canal fizic semiduplex.
3.3.3 Un protocol simplex pentru un canal cu zgomote
S considerm situaia normal a unui canal de comunicaie care produce erori. Cadrele pot fi
fie modificate, fie complet pierdute. Totui, presupunem c dac un cadru a fost modificat n tranzit,
echipamentul receptor va detecta acest lucru atunci cnd calculeaz suma de control. Dac un cadru
este modificat ntr-un asemenea mod, nct suma de control este totui corect, situaie care este
foarte puin probabil, acest protocol (i toate celelate protocoale) pot eua (adic, trimit un pachet
incorect ctre nivelul reea).
La prima vedere s-ar prea c o variant a protocolului 2 va funciona: adugarea unui contor de
timp (ceas). Emitorul poate trimite un cadru, dar receptorul va trimite un cadru de confirmare
numai dac informaia a fost recepionat corect. Dac la receptor ajunge un cadru modificat, el va
fi eliminat. Dup un timp, emitorul va iei din ateptare i va retrimite cadrul. Acest proces va fi
repetat pn cnd cadrul va ajunge n final intact.
Schema de mai sus conine o eroare fatal. Gndii-v la problem i ncercai s descoperii ceea
ce este greit nainte s citii mai departe.
Pentru a vedea ceea ce poate merge ru, amintii-v care este sarcina proceselor nivelului
legtur de date - aceea de a asigura comunicaie fr erori, transparent ntre procesele nivelului
reea. Nivelul reea de pe mainal d o serie de pachete nivelului su legtur de date, care trebuie
s asigure o serie identic de pachete nivelului reea de pe maina B prin nivelul su legtur de
date. n particular, nivelul reea de pe B nu are nici o posibilitate s tie c un pachet a fost pierdut
sau duplicat, aa c nivelul legtur de date trebuie s garanteze c nici o combinaie de erori de
transmisie, indiferent ct de puin probabile, nu poate produce un pachet duplicat care s fie
transmis nivelului reea.
S considerm urmtorul scenariu:
Nivelul reea de pe A trimite pachetul 1 ctre nivelul su legtur de date. Pachetul este
corect recepionat de B i este trimis nivelului reea de pe B. B trimite un cadru de
confirmare napoi lui A
2. Cadrul de confirmare s-a pierdut complet. El nu va mai ajunge deloc. Viaa ar fi cu mult mai
simpl n cazul n care canalul ar altera sau pierde doar cadre de date, nu i cadre de control,
dar, din nefericire, canalul nu face discriminri.
3. Nivelul de legtur de date de pe A ateapt expirarea timpului limit. Nerecepionnd o
confirmare, el presupune (incorect) c acel cadru de date a fost modificat sau pierdut i
trimite nc o dat cadrul coninnd pachetul 1.
4. Cadrul duplicat ajunge i el cu bine la nivelul legtur de date B i este trimis nivelului reea de
acolo. Dac A trimite un fiier lui B, o poriune de fiier va fi duplicat (adic, copia fiierului
fcut de B va fi incorect i eroarea nu va fi detectat). Cu alte cuvinte, protocolul va eua.
1.
n mod clar, este necesar o soluie ca receptorul s poat distinge un cadru pe care l vede
pentru prima dat de o retransmisie. Soluia evident este aceea ca emitorul s pun un
numr de secven n antetul fiecrui cadru pe care l trimite. Apoi receptorul poate verifica
SEC. 3.3
185
numrul de secven al fiecrui cadru sosit pentru a vedea dac este un cadru nou sau un
duplicat ce trebuie eliminat.
.
' .
/* Protocolul 3 (par) permite un flux de date unidirecional, printr-un canal nesigur. */
#define MAX_SEQ 1
/* trebuie s fie 1 pentru protocolul 3 */
typedef enum {frame_arrival, cksum_err, timeout} event_type;
finclude protocol.h"
void sender3(void)
eqjrr next_frame_to_send;
frame s;
packet buffer;
event_type event;
*/
*/
*/
*/
*/
*/
*/
*/
void receiver3(void)
{seq_nr frame_expected;
frame r, s;
event_type event;
frame_expected = 0;
while (true) {
wai t_for_event(&event);
if (event == frame_arrival) {
from_physical_layer((r);
if (r.seq == frame_expected) {
to_network_layer((r.info);
i ne(frame_expected);
}
to_physi cal_layer(&s);
*/
*/
*/
V
*/
*/
CAP. 3;
retransmitere) sau ARQ (Automatic Repeat reQuest - cerere automat de repetare). Asemenea
protocolului 2, i acesta transmite datele ntr-o singur direcie. Chiar dac poate gestiona cadre
pierdute (prin expirarea timpului), necesit o perioad de timeout care s fie suficient de lung
pentru a preveni expirri premature. Dac timpul emitorului expir prea repede, n timp ce
confirmarea este nc pe drum, acesta va trimite un duplicat.
Atunci cnd, n cele din urm, ajunge i confirmarea, emitorul va considera, n mod greit, c
cel confirmat este cadrul pe care tocmai 1-a trimis i nu i va da seama c este probabil ca un alt
cadru de confirmare s se afle undeva pe drum. Dac urmtorul cadru transmis este complet
pierdut, dar confirmarea suplimentar ajunge corect, emitorul nu va ncerca s retransmit cadrul
pierdut i protocolul va eua. n protocoalele urmtoare, cadrele de confirmare vor conine
informaii care s previn tocmai acest gen de probleme. Pentru moment, cadrele de confirmare vor
fi doar fictive i vom presupune o alternan strict a emitorului i receptorului.
Protocolul 3 se deosebete de predecesorii si prin aceea c i emitorul i receptorul au o
variabil a crei valoare este pstrat ct timp nivelul legtur de date este n starea de ateptare.
Emitorul pstreaz numrul de secven al urmtorului cadru de transmis n nextjramejojend;
receptorul pstreaz numrul de secven al urmtorului cadru ateptat \nframe_expected. Fiecare
protocol are o scurt faz d8 Iniializare nainte de a intra n bucla infinit.
Dup transmiterea unui cadru, emitorul declaneaz contorul de timp. Dac acesta era deja
pornit, atunci va fi resetat pentru un nou interval complet. Intervalul de timp trebuie s fie ales
astfel, nct s permit sosirea cadrului la receptor, prelucrarea sa de ctre receptor, chiar i n cazul
cel mai defavorabil, i propagarea cadrului de confirmare napoi la emitor. Numai atunci cnd a
expirat acest interval de timp putem s spunem cu siguran c s-a pierdut fie cadrul transmis, fie
confirmarea sa i se poate trimite un duplicat.
SEC. 3.4
187
Dup transmiterea unui cadru i pornirea contorului de timp, emitorul ateapt s se ntmple
ceva interesant. Exist trei posibiliti: un cadru de confirmare ajunge .nemodificat, sosete un cadru
de confirmare modificat sau expir timpul. Dac sosete o confirmare valid, atunci emitorul preia
urmtorul pachet de la nivelul reea i l pune n tampon, scriind peste pachetul anterior. De
asemenea avanseaz numrul de secven. Dac sosete un cadru modificat sau nu sosete nici un
cadru, nu se modific nici tamponul i nici numrul de secven, aa c va fi transmis un duplicat.
Atunci cnd la receptor sosete un cadru corect, este verificat numrul de secven, pentru
a vedea dac nu cumva este un duplicat. Dac nu, este acceptat, transmis nivelului reea i este
generat o confirmare. Cadrele duplicate i cele modificate nu sunt trimise ctre nivelul reea.
3.4
n protocoalele anterioare, cadrele cu date erau transmise ntr-o singur direcie. n cele mai
multe situaii practice, este necesar s se transmit date n ambele direcii. O modalitate de a realiza
transmisia de date fuU-duplex este de a avea dou canale de comunicaie separate fiecare dintre ele
fiind utilizat pentru traficul de date simplex (n direcii diferite). Dac se face aceasta, vom avea dou
circuite fizice separate, fiecare cu un canal "direct" (forward) pentru date i un canal "invers"
(reverse) pentru confirmri. n ambele cazuri lrgimea de band a canalului invers este irosit
aproape n totalitate. Ca efect, utilizatorul pltete pentru dou circuite care utilizeaz doar
capacitatea unuia.
O idee mai bun este s se utilizeze acelai circuit pentru date n ambele direcii. n protocoalele 2
i 3 a fost deja utilizat transmiterea cadrelor n ambele sensuri i canalul invers are aceeai capacitate
ca i canalul direct. n acest model cadrele cu date de hA la B sunt mixate cu cadrele de confirmare
de la A la B. Uitndu-se la cmpul Jdnd din antetul cadrului ce a sosit, receptorul poate spune dac
este vorba de un cadru de date sau de confirmare.
Cu toate c ntreptrunderea cadrelor de date i control pe acelai circuit constituie o
mbuntire fa de cazul utilizrii a dou circuite fizice separate, este posibil nc o mbuntire.
Atunci cnd sosete un cadru cu date, n locul emiterii imediate a unui cadru de control separat,
receptorul st i ateapt pn cnd nivelul reea i d urmtorul pachet. Confirmarea este ataat
cadrului cu date de ieire (utiliznd cmpul ack din antetul cadrului). De fapt, confirmarea este
transportat pe gratis de ctre urmtorul cadru cu date de ieire. Tehnica ntrzierii confirmrii,
astfel nct s poat fi agat de urmtorul cadru de date, este cunoscut ca ataare (piggybacking).
Principalul avantaj al utilizrii tehnicii de ataare n comparaie cu utilizarea cadrelor de
confirmare distincte este o mai bun utilizare a lrgimii de band disponibile. Cmpul ack din
antetul cadrului ocup doar civa bii, n timp ce un cadru separat va necesita un antet, confirmarea
i o sum de control. n plus, mai puine cadre transmise nseamn mai puine ntreruperi datorate
"sosirii cadrelor" i probabil mai puine zone tampon n receptor, n funcie de modul n care sunt
organizate programele receptorului. n urmtorul protocol ce va fi examinat, cmpul de ataare
ocup doar un bit n antetul cadrului. Arareori ocup mai mult de civa bii.
Totui, tehnica de ataare introduce o complicaie care nu era prezent n cazul
confirmrilor separate. Ct timp trebuie s atepte nivelul legtur pachetul pe care s ataeze
confirmarea? Dac nivelul legtur de date ateapt mai mult timp dect perioada de timeout
a emitorului, cadrul va fi retransmis, anulnd complet rolul confirmrilor. Dac nivelul
legtur de date ar fi.un oracol i ar putea prezice viitorul, ar putea ti cnd va sosi urmtorul
188
CAP.1
pachet de la nivelul reea i ar putea decide dac s l atepte sau s trimit imediat o *-*
confirmare separat, n funcie de ct de lung urmeaz s fie ateptarea. Desigur, nivelul legtur de date nu poate prezice viitorul, aa c trebuie s recurgem la cteva scheme ad-hoc, cum ar fi ateptarea, pentru un numr fixat de milisecunde. Dac un nou pachet sosete mai
repede, confirmarea este adugat n el, altfel, dac pn la sfritul acestei perioade de timp
nu a sosit un nou pachet, nivelul legtur de date trimite un cadru de confirmare separat.
n afara faptului c este numai simplex, protocolul 3 poate eua n anumite condiii
speciale, ce implic -o expirare prematur a timpului. Ar fi bine s avem un protocol care
rmne sincronizat n faa oricrei combinaii de cadre deformate, cadre pierdute i expirri
premature ale timpului. Urmtoarele trei protocoale sunt mai robuste i continu s
funcioneze chiar n condiii patologice. Toate trei aparin unei clase de protocoale numite
protocoale cu fereastr glisant (sliding window). Cele trei difer ntre ele n termeni de
eficien, complexitate i necesar de tampoane, aa cum vom vedea mai trziu.
n toate protocoalele cu fereastr glisant, fiecare cadru expediat conine un numr de secven
cuprins ntre 0 i o valoare maxim. Maximul este de obicei 2n -l, aa c numrul de secven se
ncadreaz foarte bine ntr-un cmp de n bii. Protocoalele cu fereastr glisant stop-and-wait
utilizeaz n=l, restricionnd numerele de secven la 0 i 1, dar versiuni mai sofisticate pot utiliza o
valoare arbitrar a lui n.
Esena protocoalelor cu fereastr glisant este aceea c, la orice moment de timp,
emitorul menine o mulime de numere de secven care corespund cadrelor pe care are
permisiunea s le trimit. Se spune c aceste cadre aparin ferestrei de transmisie (sending
window). Similar, receptorul menine de asemenea o fereastr de recepie (receiving window),
ce corespunde mulimii de cadre care pot fi acceptate. Fereastra emitorului i fereastra
receptorului nu trebuie s aib aceleai limite minime i maxime i nici mcar aceeai
dimensiune. n unele protocoale ele au dimensiune fix, dar n altele ele pot crete sau scdea
pe msur ce cadrele sunt emise sau recepionate.
Chiar dac aceste protocoale dau nivelului legtur de date mai mult independen n
ceea ce privete ordinea n care poate primi sau recepiona cadre, nu am renunat la cerina ca
protocolul s livreze pachetele la nivelul reea destinaie n aceeai ordine n care acestea sunt
trimise ctre nivelul legtur de date de pe maina emitoare. Nu am modificat nici condiia
impus canalului fizic de comunicaie, care trebuie s se comporte "ca un fir", adic trebuie s
trimit toate cadrele n ordinea emiterii.
Numerele de secven din cadrul ferestrei emitorului reprezint cadre transmise dar nc
neconfirmate. De fiecare dat cnd de la nivelul reea sosete un nou pachet, acestuia i este atribuit
urmtorul numr de secven, iar marginea superioar a ferestrei este avansat cu unu. Atunci cnd
sosete o confirmare, crete cu unu limita inferioar a ferestrei. n acest mod, fereastra menine
continuu o list de cadre neconfirmate.
Deoarece cadrele din fereastra curent a emitorului pot fi pierdute sau modificate pe traseu,
emitorul trebuie s pstreze toate aceste cadre n memoria sa pentru o posibil retransmisie.
Astfel, dac dimensiunea maxim a ferestrei este n, emitorul are nevoie de n tampoane pentru a
pstra cadrele neconfirmate. Dac fereastra crete la dimensiunea maxim, nivelul legtur de date
al emitorului trebuie s foreze nchiderea nivelului reea pn cnd se elibereaz un tampon.
Fereastra nivelului legtur de date receptor corespunde cadrelor pe care acesta le poate
accepta. Orice cadru din afara ferestrei este eliminat fr comentarii. Atunci cnd este recepionat
SEC. 3.4
$n cadru al crui numr de ejyen este egal cu marginea inferioar a ferestrei, acesta este trimis
nivelului reea, este generat o confirmare i fereastra se deplaseaz cu o unitate. Spre deosebire de
fereastra emitorului, fereastra receptorului rmne ntotdeauna la dimensiunea iniial. De notat
c o fereastr de dimensiune 1 nseamn c nivelul legtur de date accept numai cadre ordonate,
dar pentru ferestre mari afirmaia nu mai este valabil. In contrast, nivelul reea este alimentat
ntotdeauna cu date n ordine corect, indiferent de dimensiunea ferestrei nivelului legtur de date.
Emitor
7 ,
5V
\/2
4
5 V
V 2
4
5V
V 2
4
5V
V 2
4
feceptor
(a)
(b)
(c)
(d)
190
CAP. 3
de date pornesc simultan, apare o situaie special, care va fi discutat mai trziu. Maina care
pornete prima preia primul pachet de la nivelul reea propriu, construiete din el un cadru i fl
trimite. Cnd acest cadru (sau oricare altul) sosete, nivelul legtur de date receptor verific dac
nu cumva este un duplicat, exact ca n protocolul 3. Dac respectivul cadru este cel ateptat, atunci
este trimis nivelului reea i fereastra receptorului este deplasat.
/* Protocolul 4 (fereastr glisant) este bidirecional i mai robust dect protocolul 3 */
#define MAX_SEQ 1
/* pentru protocolul 4 trebuie s fie 1 */
typedef enum {frame_arrival, cksum_err, timeout} event_type;
#include protocol.h"
void protocol4(void)
seq_nr next_frame_to_send;
seq_nr frame_expected;
frame r, s;
packet buffer;
event_type event;
next_frame to_send = 0;
frame_expected = 0;
from_network_layer(&buffer);
s.info = buffer;
s.seq = next_frame_to_send;
s.ack = 1 - frame_expected;
to_physica1 layer(&s);
start_timer(s.seq);
while (true) {
wait_for_event(&event).;
if (event == frame_arrival) {
from_physical_layer(&r);
if (r.seq == frame_expected) {
to_network_layer(&r.info);
inc(frame_expected);
/* doar 0 sau 1
/* doar 0 sau 1
/* variabile temporare
/* pachetul curent, care este transmis
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
}
if (r.ack == next_frame_to_send)
{ /* trateaz fluxul de cadre de ieire */
from_network_layer(&buffer);
/* preia un nou pachet de la nivelul reea */
inc(next_frame_to_send);
/*inverseaz numrul de secven al emitorului */
s.info = buffer;
s.seq = next_frame_to_send;
s.acfe = 1 - frame_expected;
to_physical_layer(&s);
start_timer(s.seq);
*/
*/
*/
*/
*/
SEC. 3.4
*. .-Cmpii de confirmare conine numrul ultimului cadru recpfiqna ff^froare. Pac- acest
numr.corespunde cu numrul de secven al cadrului pe care emitorul ncearc s-1 transmit,
emitorul tie c a terminat cu cadrul memorat n tampon i poate prelua; urmtorul pachet de la
nivelul su reea. Dac numrul de secven nu corespunde, el trebuie s continue s trimit acelai
cadru. De fiecare dat cnd este recepionat un cadru, un alt cadru este trimis de asemenea napoi.
S examinm acum ct de fiabil este protocolul 4 la condiiile limit. S presupunem c A
ncearc s trimit cadrul 0 lui B i B ncearc s trimit cadrul su 0 lui A. S presupunem c A
trimite un cadru lui B, dar timpul de expirare al lui A este puin prea scurt. n consecin, datorit
expirrii repetate a timpului, A va trimite o serie de eadre identice, toate cu seq=Qiack'!rl.
.. ; Atunci cnd la B sosete primul cadru corect, el va fi acceptat i frarm_expectedva. fi setat la 1.
Toate cadrele Urmtoare vor fi rejectate, deoarece B ateapt cadre cu numrul de. secven 1, nu 0.
Mai mult, deoarece toate duplicatele au ack=l i B este n ateptarea confirmrii lui 0, B nu va
prelua un nou pachet de la nivelul su reea.
.
,
Dup sosirea fiecrui duplicat rejeetat, B trimite lui A un cadru coninnd seq=0 i ack-=0. n
cele din urm, unul dintre acestea sosete corect I a 4 facndu-1 pev4 s nceap s trimiti urmtorul
pachet. Nici o combinaie de cadre pierdute sau de intervale de ceas reduse nu poate face ca
protocolul s furnizeze pachete duplicate ctre vreunul dintre nivelurile reea sau s sar un pachet
sau s se blocheze.
A trimite (0,1, A0)
A trimite (0,1,A0)-
(a)
Timp
B primete (1,1,A1)
B trimite (0,1, B2)
(b)
Fig. 3-14. Dou scenarii pentru protocolul 4. Notaia este (seq, ack, packet number).
Un asterisc arat c nivelul reea accept, un pachet.
Totui, dac ambele pri trimit simultan un pachet iniial, atunci apare o situaie special.
Aceast dificultate de sincronizare este ilustrat de Fig. 3-14. n partea (a) este prezentat
funcionarea normal a protocolului. n (b) este ilustrat situaia special. Dac B ateapt primul
cadru de la A nainte de a-1 trimite pe al su, secvena de aciuni este cea artat n (a) i fiecare
cadru este acceptat. Totui, dac A i B iniiaz comunicaia, simultan, primele lor cadre se
ncrucieaz i nivelurile legtur de date ajung n situaia (b). n (a) fiecare sosire de cadru aduce- un
nou pachet pentru nivelul reea; nu exist duplicate. n (b) jumtate din cadre conin duplicate, chiar
192
CAP. 3
dac nu exist erori de transmisie. Situaii similare pot s apar ca rezultat al expirrii premature a
timpului, chiar dac una dintre pri ncepe prima. De fapt, dac intervin mai multe expirri
premature, atunci cadrele pot fi trimise de trei sau mai multe ori.
3.42 Un protocol de revenire cu n pai (GoBackn)
Pn acum am fcut o presupunere tacit c timpul de transmisie necesar pentru ca un
cadru s ajung la receptor plus timpul de transmisie a confirmrii este neglijabil. Uneori
aceast presupunere este dar fals. n aceste situaii timpul mare de transfer poate avea
implicaii importante pentru eficiena utilizrii lrgimii de band. Ca exemplu, s considerm
un canal de satelit de 50 kbps cu timpul de ntrziere datorit propagrii de 500 milisecunde.
S ne imaginm c ncercm s utilizm protocolul 4 pentru a trimite cadre de 1000 de bii
prin satelit. La t = 0 emitorul ncepe s emit primul cadru. Considernd cele mai optimiste
condiii (fat ateptare la receptor i un cadru de confirmare scurt), cadrul nu poate ajunge n
totalitate la receptor nainte de t = 270 milisecunde, iar confirmarea nu poate ajunge napoi la
emitor nainte de t = 520 milisecunde. Aceasta nseamn c emitorul a fost blocat pentru
500/520 sau 96% din timp (adic a fost utilizat doar 4% din lrgimea de band). Evident,
combinaia dintre un timp de tranziie lung, lrgime de band mare i un cadru de lungime
mic este dezastruoas din punct de vedere al eficienei.
Problema descris anterior poate fi privit ca o consecin a regulii care cere ca un emitor s
atepte o confirmare naintea trimiterii unui alt cadru. Dac relaxm aceast restricie, poate fi
atins o eficien mult mai ridicat. Practic, soluia const n a permite emitorului s transmit
pn la w cadre, n loc de unul singur. Cu o alegere potrivit a lui w emitorul va putea s transmit
continuu cadre pentru un timp egal cu timpul de tranzit, fr a umple fereastra. n exemplul anterior
w va fi minim 26. Emitorul ncepe emiterea cadrului 0 ca mai nainte. n momentul n care se
termin trimiterea a 26 de cadre, la / = 520, va sosi i confirmarea pentru cadrul'0. Apoi,
confirmrile vor sosi la fiecare 20 milisecunde, aa nct emitorul primete ntotdeauna
permisiunea s continue exact atunci cnd dorete. n permanen exist 25 sau 26 cadre
neconfirmate. Cu alte cuvinte dimensiunea maxim a ferestrei emitorului este de 26.
Aceast tehnic este cunoscut ca band de asamblare (pipelining). Considernd capacitatea
canalului de b bii pe secund, dimensiunea cadrului de / bii i timpul de propagare dus-ntors R
secunde, timpul necesar pentru a transmite un singur cadru este l/b secunde. Dup ce a fost transmis
ultimul bit al unui cadru de date, apare o ntrziere de R/2 nainte ca biii s ajung la receptor i o
alt ntrziere de cel puin R/2 pentru sosirea confirmrii, rezultnd o ntrziere total de R. n cazul
protocoalelor stop-and-wat linia este ocupat pentru l/b i n ateptare pentru R, rezultnd o
utilizare a liniei de l/*(l+bR). Dac 1 < bR, eficiena va fi mai mic de 50%. Deoarece pn la
ntoarcerea confirmrii exist ntotdeauna o ntrziere nenul, n principiu poate fi folosit banda de
asamblare, pentru a ine linia ocupat tot acest interval, dar dac intervalul este mic, complexitatea
suplimentar face efortul inutil.
Utilizarea benzii de asamblare n cazul unui canal de comunicaie nesigur ridic probleme
serioase. Mai nti s vedem ce se ntmpl dac un cadru din mijlocul unui ir lung este modificat
sau pierdut. Numeroase cadre succesive vor ajunge la receptor nainte ca emitorul s observe c
ceva este greit. Atunci cnd un cadru modificat ajunge la receptor este evident c el trebuie
SEC. 3.4
193
eliminat, dar ce trebuie s fac receptorul cu toate cadrele corecte care urmeaz? S reamintim c
nivelul legtur de date receptor este obligat s livreze pachete ctre nivelul reea n secven.
--Interval de expirare a timpuluf*-
2
Eroare
(a)
Interval de expirare a timpului--
\\
\\
AX
\X
AX
Eroare
\X
Fig. 3-15. (a) Efectul unei erori cnd dimensiunea ferestrei receptoare este 1.
(b) Efectul unei erori cnd dimensiunea ferestrei receptorului este mare.
Exist dou moduri de baz de tratare a erorilor n prezena benzii de asamblare. Un mod,
numit revenire cu n pai (go back n), este ca receptorul s elimine pur i simplu cadrele care
urmeaz, netrimind confirmri pentru cadrele eliminate. Aceast strategie corespunde unei
ferestre de recepie de dimensiune 1. Cu alte cuvinte, nivelul legtur de date refuz s accepte orice
cadru exceptndu-1 pe urmtorul care trebuie livrat ctre nivelul reea. Dac fereastra emitorului
se umple naintea expirrii contorului de timp, banda de asamblare va ncepe s se goleasc. n cele
din urm, timpul emitorului va expira i se vor retransmite toate cadrele neconfirmate, n ordine,
ncepnd cu cadrul pierdut sau modificat. Dac rata erorilor este mare, aceast abordate, prezentat
n Fig. 3-15 (a), poate risipi o mare parte din lrgimea de band.
Cealalt strategie general de tratare a erorilor atunci cnd este folosit banda de asamblare,
numit repetare selectiv (selective repeat), este ca nivelul legtur de date receptor s memoreze
toate cadrele corecte care urmeaz dup cel incorect. Atunci cnd emitorul observ n cele din
urm c ceva este greit, el retransmite doar cadrul incorect, nu toate cadrele succesoare, ca n Fig.
3-15(b). Dac a doua ncercare reuete, nivelul legtur de date receptor va avea mai multe cadre
194
CAP. 3
corecte n secven, aa nct toate acestea pot fi trimise rapid nivelului reea i poate fi confirmat
numrul maxim.
Aceast strategie corespunde unei ferestre a receptorului mai mare ca 1. Orice cadru din
interiorul ferestrei poate fi acceptat i memorat pn cnd toate cele precedente vor fi trimise
nivelului reea. Dac fereastra este mare, aceast abordare poate necesita un spaiu mare de
memorie pentru nivelul legtur de date.
/* Protocolul 5 (linie de asamblare) permite mai multe cadre n ateptare. Emitorul
poate trimite pn la MAX_SEQ cadre fr a atepta confirmare. n plus, spre deosebire de
protocoalele precedente, acesta nu presupune c nivelul reea ar avea tot timpul un nou
pachet.
#define MAXJEQ 7
/* trebuie s fie 2 A n - 1 */
typedef enum {frame_arrival, cksum_err, timeout, networkjayerjready} event_type;
#include "protocol.h"
static boolean between(seq_nr a, seq_nr b, seq nr c)
{
/* ntoarce adevrat dac a <= b < c n mod circular i fals n caz contrar */
if (((a <= b) && (b < c)) || ((c < a) && (a <= b)) ||'((b < c) && (c < a)))
return(true);
el se
return(false);
}
static void send_data(seq_nr framejir, seq nr frame_expected, packet buffer[])
/* construiete i trimite un cadru de date */
frame s;
/* variabil temporar */
s.info = buffer[framejirj;
/* insereaz pachetul n cadru
s.seq = framejir;
/* insereaz numrul de secven n cadru
s.ack = (frame_expected + MAXJEQ) % (MAX_SEQ + 1);
/* ataeaz confirmarea
to_physical_layer(&s);
/* transmite cadrul
start_timer(frame_nr);
/* pornete ceasul
void protocol5(void)
{
seqjir next_frame_to_send;
seq_nr ack_expected;
seq_nr frame expected;
frame r;
packet buffer[MAX_SEQ];
seq_nr nbuffered;
seq_nr I;
event_type event;
enable_network_layer();
ack_expected = 0;
next frame to send = 0;
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
SEC. 3.4
PROTOCOALE CU FEREASTRA'GLISANT
. - frame_expected = 0;
nbuffered = 0;
while(true) { .
wait_for_event(&event);
195
switch(event) {
case network_layer_read.y:
/* nivelul reea are un pachet de trimis
/* accept, salveaz i transmite un nou cadru */
from_networkjayer(&buffer[next_frame_to_send]);
/* preia noul pachet
nbuffered = nbuffered + 1;
/* extinde fereastra emitorului
send_data(next_frame_to_send, frame_expected, buffer);
/* transmite cadrul
inc(next_frame_to_send); /* crete limita superioar a ferestrei emitorului
*/
*/
*/
*/
*/
case frame_arrival:
/* a sosit un cadru de date sau de control */
from_physical_layer(&r);
/* preia de la nivelul fizic cadrul sosit */
if (r.seq == frame_expected) {
/* cadrele sunt acceptate doar n ordine */
to_network_Tayer(&r.info);
/* pred pachetul nivelului reea*/
inc(frame_expected);/* crete limita inferioar a ferestrei emitorului*/
}
/* Confirmarea lui n implic n-1, n-2 etc. Verific acest lucru. */
while (between(ack_expected, r.ack, next_frame_to_send)) {
/* trateaz confirmarea ataat */
nbuffered = nbuffered .- 1;
/* un cadru mai puin n zonele tampon */
stop_timer(ack_expected);
/* cadrul a sosit intact; oprete ceasul */
inc(ack_expected);
/* contract fereastra emitorului */
}
case cksum_err: ;
/* cadrele eronate sunt pur i simplu ignorate */
case timeout:
/* necaz; retransmite toate cadrele neconfirmate */
next_frame_to_send = ack_expected;
/* ncepe retransmiterea de aici */
for (i =1; i <= nbuffered; i++) {
send_data(next_frame_to_send, frame_expected, buffer);/* retransmite 1 cadru */
inc(next_frame_to_send);
/* pregtete transmiterea urmtorului */
196
CAP. 3
MAXJECV.
Chiar dac protocolul 5 nu pstreaz cadrele sosite dup o eroare, problema memorrii nu
dispare. Deoarece un emitor poate avea de retransmis la un moment de timp viitor toate cadrele
neconfirmate, el trebuie s pstreze toate cadrele transmise pn cnd va fi sigur c au fost acceptate
de receptor. Cnd sosete o confirmare pentru cadrul n, cadrele n-1, n-2 .a.m.d. sunt confirmate
automat. Aceast proprietate este foarte important atunci cnd unele dintre cadrele purttoare de
confirmri au fost pierdute sau modificate. De fiecare dat, cnd sosete o confirmare, nivelul
legtur de date verific s vad dac unele tampoane pot fi eliberate. Dac tampoanele pot fi
eliberate (adic exist spaiu disponibil n fereastr), atunci nivelul reea anterior blocat poate primi
permisiunea s produc alte evenimente networkjayerjeady.
Timp
/real
10:00:00.0
'
10:00:00.5
- *
(b)
SEC. 3.4
PROTOCOALECUFEREASTR GOS&NT
1917
singur ceas fizic care produce ntreruperi periodice. Contoarele de timp active formeaz o list
nlnuit, n fiecare nod existnd informaii despre cte semnale de ceas mai sunt p n la expirarea
timpului, cadrul care este cronometrat i un pointer ctre urmtorul nod.
Ca o ilustrare a modului n care pot fi implementate contoarele de timp, s considerm exemplul
din Fig. 3-17. Sa presupunem c impulsurile de ceas sunt la fiecare 100 ms. Iniial timpul real este
10:00:00.0 i exist trei timpi de expirare, la 10:00:00.5,10:00:01.3 i 10:00:01.9. La fiecare impuls de
ceas produs de echipament, timpul real este actualizat i contorul de impulsuri de la captul listei este
decrementat. Atunci cnd contorul de impulsuri de ceas devine zero^ se produce o expirare de timp i
nodul este scos din list, ca n Fig. 3-17 (b). Chiar dac aceast organizare cere ca lista s fie parcurs
cnd este apelat startJimer sau stop_ timer, nu va necesita multe operaii la fiecare impuls de ceas. n
protocolul 5, ambele rutine au un parametru indicnd pentru ce cadru se face contorizarea timpului.
3.43 Un protocol cu repetare selectiv
Protocolul 5 lucreaz bine dac erorile sunt rare, dar dac linia este slab, se pierde mult din
lrgimea de band cu retransmiterea cadrelor. O alt strategie de tratare a erorilor este ca receptorul
s accepte i s numeroteze cadrele care urmeaz dup un cadru deteriorat sau pierdut. Un astfel de
protocol nu elimin cadre doar pentru c un cadru'anterior a fost deteriorat sau pierdut.
n acest protocol, att emitorul ct i receptorul menin o fereastr de numere de secven
acceptabile. Dimensiunea ferestrei emitorului ncepe de la 0 i crete pn la un maxim predefinit
MAXJSECV. Spre deosebire de aceasta, fereastra receptorului are dimensiunea fix MAX_SECV.
Receptorul are un tampon rezervat pentru fiecare numr de secven din cadrul ferestrei. Fiecare
tampon are un bit asociat (arrived - sosit) care ne spune dac tamponul este plin sau gol. De fiecare
dat, cnd sosete un cadru, numrul su de secven este verificat de funcia between, pentru a
vedea dac face parte din fereastr. Dac da, i dac nu a fost deja recepionat, este acceptat i
memorat. Aceast aciune are loc fr s se verifice dac conine sau nu urmtorul pachet ateptat
de nivelul reea. Desigur cadrul trebuie pstrat la nivelul legtur de date i nu trebuie trimis ctre
nivelul reea dect atunci cnd toate cadrele cu numere mai mici au fost deja livrate nivelului reea
n ordinea corect. Un protocol utiliznd acest algoritm este prezentat n figura 3 -18.
/* Protocolul 6 (recepie nesecvenial) accept cadrele n afara secvenei, dar pred
pachetele n ordine nivelului reea. Fiecrui cadru neconfirmat i este asociat un ceas.
La expirarea timpului este retransmis doar acest cadru i nu toate cele neconfirmate, ca
n protocolul 5. */
#define MAXJEQ 7
/* trebuie s f i e 2An - 1 */
fdefine NRJ8UFS ((MAXJEQ + l)/2)
typedef enum {frame_arrival, cksum_err, timeout, network_layer_ready, ack_timeout)
event_type;
#include protocol.h"
boolean nojiak = true;
/* nc nu a fost trimis nici o confirmare negativ */
static boolean between(seq_nr a, seq_nr b, seq_nr c)
<
..
198
CAP. 3
"
"
void protocol6(void)
{
'
seq_nr = ack_expected;
/* limita inferioar a ferestrei emitorului */
seq_nr = next_frame_to_send;
/* limita superioar a ferestrei emitorului + 1*/
seq_nr frame_expected;
/* limita inferioar a ferestrei receptorului */
seq_nr too_far;
/* limita superioar a ferestrei receptorului + 1*/
seqjir oldest_frame;
/* crui cadru i-a expirat timpul ? */
int i;
/* indicele zonei tampon */
frame r;
/* variabil temporar */
packet out_buf[NR_BUFS];
/* zone tampon pentru fluxul de ieire */
packet n_buf[NR_BUFS];
/* zone tampon pentru fluxul de intrare */
boolean arrived [NRJUFS];
/* hart de bii de intrare */
seq_nr nbuffered;
/* cte zone tampon de ieire sunt folosite n prezent */
event_type event;
enable_network_layer();
/* iniializeaz */
ack_expected = 0;
/* urmtoarea confirmare ateptat n fluxul de intrare */
next_frame_to_send = 0 ;
/* numrul urmtorului cadru transmis */
frame_expected = 0;
too_far = NRJUFS;
nbuffered = 0;
/* iniial zonele tampon nu conin nici un pachet */
for (i = 0; i < NRJUFS; i++) arrived[i] = false;
wait_for_event();
/* cinci variante: vezi event_type, mai sus */
switch(event) {
case network_layer_ready:
/* accept, salveaz i trimite un nou cadru */
nbuffered = nbuffered + 1;
/* extinde fereastra */
from_network_layer(&out_buf[next_frame_to_send % NRJUFS]); /* preia un nou pachet */
send_frame(data, next_frame_to_send, frame_expected, outjuf); /* trimite cadrul */
inc(next_frame_to_send);
/* avanseaz limita superioar a ferestrei */
case frame_arrival:
/* a sosit un cadru de date sau de control */
from_physical_layer(&r);
/* preia cadrul sosit de la nivelul fizic */
if (r.kind == data) {
/* A sosit un cadru nedeteriorat */
if ((r.seq != frame_expected) && nojiak)
send_frame(nak, 0, frame_expected, outjuf); else start_ack_timer();
if (between(frame_expected, r.seq, too_far) && (arrived[r.seq%NRJUFS]==false)) {
/* Cadrele pot fi acceptate n orice ordine */
arrived[r.seq%NRJUFS] = true;
/* marcheaz tamponul ca fiind plin */
SEC 3.4
PROTQOMIEC^I^REAS^IGIJSANT
W9
n_buf[r.seq%NR__BUFS] r.info;
/* introduce datele n tampon */
whTle (arrived[frame_expected % NRJUFS]) {
/* Pred cadrele i avanseaz fereastra */
to_network_layer(&n_buf[frame_expected % NRJUFS]);
no_nak = true;
arrived[frame_expected % NRJUFS] = false;
inc(frame_expected);
/* avanseaz limita inferioar a ferestrei receptorului */
inc(too_far); /* avanseaz limita superioar a ferestrei receptorului */
start_ack timer();
/* pentru a stabili dac e necesar ack separat */
}
if ((r.kind==nak)&&between(ack_expected, (r.ack+l)%(MAX_SEQ+l),next_frame_to_send))
send_frame(data, (r.ack+l)%(MAX_SEQ+l), frame_expected, out_buf);
while Tbetween(ack_expected, r.acl<, next_frame_to_send)) {
nbuffered = nbuffered - 1;
/* trateaz ack ataat */
stop_timer(ack_expected % NRJUFS);
/* cadrul a ajuns intact */
inc(ack_expected); /* avanseaz marginea inferioar a ferestrei emitorului */
}
case cksum_err:
if (nojiak) send_frame(nak, 0, frame_expected, out_buf); /* cadru deteriorat */
case timeout:
send_frame(data, oldest_frame, frame_expected, out_buf); /* a expirat timpul */
case ack_timeout:
send_frame(ack, 0, frame_expected, out_buf); /* timpul asociat confirmrii
pozitive a expirat; trimite ack */
}
if (nbuffered ( NR BUFS) enable_network_layer(); else disable_network_layer();
200
CAP. 3
Emitorul este fericit s afle c toate cadrele transmise au ajuns corect, deci i avanseaz
fereastra i trimite apoi imediat cadrele 7, 0, i, 2, 3, 4 i 5. Cadrul 7 va fi acceptat de receptor i
pachetul su va fi trimis direct nivelului reea. Imediat dup aceea, nivelul legtur de date receptor
verific s vad dac are un cadru 0 corect, descoper c l are i trimite pachetul coninut n el
nivelului reea. n consecin, nivelul reea primete un pachet incorect i protocolul eueaz.
Esena problemei este aceea c dup ce receptorul i avanseaz fereastra, noul interval de
numere de secven corecte se suprapune peste cel vechi. Urmtoarea serie de cadre trebuie s fie
sau duplicate (dac toate confirmrile sunt pierdute) sau unele noi (dac toate confirmrile au fost
recepionate). Receptorul nu are nici o posibilitate de a distinge cele dou cazuri.
Emitor
0 12 3 4 5 6
0 12 3 4 5 6
0 12 3 4 5 6
0 12 3 4 5 6 7
Receptor
0 12 3 4 5 6
0 12 3 4 5
0 12 3 4 5 6
0 12 3 4 5 6 7
(c)
(d)
(a)
Fig. 3-19. (a) Situaia iniial cu o fereastr de dimensiune 7. (b) Dup ce apte cadre au fost
trimise i recepionate, dar neconfirmate. (c) Situaia iniial cu o fereastr de dimensiune
patru, (d) Dup ce patru cadre au fost trimise i recepionate, dar neconfirmate.
Pentru a iei din aceast dilem, trebuie s ne asigurm c atunci cnd receptorul i deplaseaz
fereastra, nu exist nici o suprapunere peste cea anterioar. Pentru a asigura c nu exist
suprapunere, dimensiunea maxim a ferestrei trebuie s fie de cel mult jumtate din intervalul
numerelor de secven, aa cum se face n Fig. 3-19 (c) i Fig. 3-19 (d). De exemplu, dac pentru
numerele de secven sunt utilizai 4 bii, acestea vor lua valori de la 0 la 15. n orice moment trebuie
s existe numai opt cadre. Astfel, dac receptorul tocmai a acceptat cadrele de la 0 la 7 i avanseaz
fereastra pentru a permite acceptarea cadrelor de la 8 la 15, poate spune cu certitudine dac
urmtoarele cadre sunt retransmisii (de la 0 la 7) sau sunt unele noi (de la 8 la 15). n general,
dimensiunea ferestrei pentru protocolul 6 va fi (MAX_SECV+l)/2.
O ntrebare interesant este: cte tampoane trebuie s aib receptorul? n nici un caz el nu va
accepta cadre ale cror numere de secven sunt sub limita minim a ferestrei, sau cadre ale cror
numere de secven depesc limita maxim a acesteia. In consecin, numrul de tampoane
necesare este egal cu dimensiunea ferestrei, nu cu intervalul de valori al numerelor de secven. n
exemplul anterior, cu numere de secven pe 4 bii, sunt necesare 8 tampoane, numerotate de la 0 la
7. Atunci cnd sosete cadrul i, acesta este pus n tamponul i mod 8. De notat c, dei / i
(i+8) mod 8 concureaz" pentru acelai tampon, nu vor fi n aceeai fereastr simultan, deoarece
aceasta ar implica o dimensiune a ferestrei de cel puin 9.
Pentru acelai motiv, numrul de contoare de timp necesare este egal cu numrul de tampoane,
nu cu dimensiunea spaiului secvenial. Efectiv, exist un contor de timp asociat fiecrui tampon.
Atunci cnd contorul expir, coninutul tamponului este retransmis.
SEC 3.4
201
n protocolul 5, s-a presupus n mod implicit c acel canal, este puternic ncrcat. Cnd sosete un
cadru, nu se trimite imediat o confirmare. Confirmarea este ataat la urmtorul cadru de date de
ieire. Dac traficul invers este slab, confirmarea va fi reinut o perioad mare de timp. Dac
traficul este intens ntr-o direcie i inexistent n cealalt direcie, atunci sunt trimise numai
MAX'_SECVcadre i apoiprotocolulse blocheaz.
Aceast problem este rezolvata n protocolul 6. Dup sosirea unei secvene de cadre cu
date, este pornit un contor de timp auxiliar, prin startjickjimer. Dac pn la expirarea
acestui contor nu a aprut trafic n sens invers, atunci este trimis un cadru de confirmare
separat. O ntrerupere datorat contorului auxiliar se numete eveniment ackjimeout. Cu
acest artificiu, fluxul de trafic unidirecional este acum posibil, deoarece absena cadrelor de
date n sens invers, pe care pot fi ataate confirmri, nu mai este un obstacol. Exist numai un
contor auxiliar i dac start_ack_timer este apelat n timpul funcionrii contorului, acesta este
resetat la un interval complet de timp de confirmare.
Este esenial ca timpul de expirare asociat contorului auxiliar s fie mult mai scurt dect cel
utilizat pentru msurarea timpului cadrelor de date de ieire. Aceast condiie este impus pentru a
asigura c o confirmare pentru un cadru corect recepionat sosete nainte ca timpul emitorului s
expire i acesta s retransmit cadrul.
Protocolul 6 utilizeaz pentru tratarea erorilor o strategie mai eficient dect protocolul 5. De
fiecare dat cnd receptorul are motiv s suspecteze c a aprut o eroare, trimite napoi la emitor
un cadru cu o confirmare negativ (NAK). Un asemenea cadru reprezint o cerere pentru
retransmiterea cadrului specificat n NAK. Exist dou cazuri n care receptorul va fi suspicios: a
sosit un cadru modificat sau a sosit un alt cadru dect cel ateptat (un posibil cadru pierdut). Pentru
a preveni producerea cererilor multiple de retransmisie a aceluiai cadru pierdut, receptorul va ine
minte dac un NAK a fost deja trimis pentru un anumit cadru. Variabila nojiak din protocolul 6 are
valoarea adevrat dac nici un NAK nu a fost trimis pentru framejxpecte. Dac NAK a fost
modificat sau pierdut, nu se ntmpl nimic, deoarece emitorul va ajunge, pn la urm, la timeout
i va retransmite cadrul lips. Dac un cadru greit sosete dup ce un NAK a fost transmis i
pierdut, nojiak va fi adevrat i va fi pornit contorul de timp auxiliar. La expirarea acestuia, va fi
trimis un ACK pentru resincronizarea emitorului cu starea curent a receptorului.
n unele situaii, timpul necesar pentru ca un cadru s se propage la destinaie, s fie
prelucrat i s se recepioneze confirmarea este (aproape) constant. n aceste condiii,
emitorul i poate ajusta contorul de timp s fie puin mai mare dect intervalul de timp
normal ateptat ntre emiterea unui cadru i recepionarea confirmrii sale. Totui, dac acest
timp variaz puternic, emitorul trebuie s aleag ntre fixarea intervalului la o valoare mic,
riscnd transmisii inutile i irosirea lrgimii de band i, respectiv, fixarea la o valoare mare,
rmnnd n ateptare timp ndelungat dup producerea unei erori, deci irosind lrgime de
band. Dac traficul n sens invers este sporadic, timpul dinaintea confirmrii va: fi neregulat,
fiind scurt cnd exist trafic n sens invers i lung cnd nu exist. Variaia timpului de
prelucrare la receptor poate fi, de asemenea, o problem. n general, atunci cnd deviaia
standard a intervalului de confirmare este mic, n comparaie cu intervalul nsui, intervalul
de timp poate fi strmt" i NAK-urile nu sunt utile. Altfel, contorul de timp trebuie s fie
setat "larg" i NAK-urile pot accelera apreciabil retransmisia cadrelor eronate sau pierdute.
Strns legat de problema expirrii timpului i NAK-urilor este problema determinrii cadrului
care a cauzat expirarea timpului. n protocolul 5 acesta este ntotdeauna ackjxpected, deoarece este
202
CAP. 3
ntotdeauna cel mai vechi. n protocolul 6 nu este uor s se determine cel care a produs expirarea
timpului. S presupunem c au fost transmise cadrele de la 0 la 4, nsemnnd c lista cadrelor
neconfirmate este 0,1,2,3,4, n ordinea de la cel mai vechi la cel mai nou. Acum s ne imaginm c
expir timpul pentru 0, este transmis 5 (un nou cadru), expir timpul pentru 1, expir timpul pentru
2 i este transmis 6 (un alt cadru nou). n acest punct, lista cadrelor neconfirmate este 3,4,0,5,1,2,
6, de la cel mai vechi la cel mai nou. Dac tot traficul de ntoarcere este pierdut pentru un timp,
expirarea timpului pentru cele apte cadre neconfirmate se va produce n aceast ordine. Pentru a
nu face ca exemplul s fie mai complicat dect este deja, nu am artat administrarea timpului. n
schimb, am presupus c, la expirarea timpului, variabila oldestjrame este setat astfel, nct s indice
cadrul pentru care a trecut timpul.
3.5
Un concept cheie folosit n multe modele de protocoale l constituie automatul finit. Cu aceast
tehnic, fiecare automat al protocolului (adic transmitor sau receptor) este n fiecare moment de
timp ntr-o stare specific. Strile sale constau din toate valorile variabilelor sale, incluznd contorul
de instruciuni al programului.
n cele mai multe cazuri, un numr mare de stri pot fi grupate mpreun, n vederea analizei. De
exemplu, considernd receptorul din protocolul 3, am putea abstractiza toate strile posibile n dou
stri importante: ateptarea cadrului 0 sau ateptarea cadrului 1. Toate celelalte stri pot fi
considerate ca fiind tranzitorii, simpli pai pe calea spre una din strile principale. De obicei, strile
sunt alese ca fiind acele momente n care automatul protocolului ateapt s se petreac urmtorul
eveniment [adic s execute apelul de procedur wait(event) din exemplele noastre]. n acest punct,
starea automatului este complet determinat de strile variabilelor sale. Numrul de stri este deci
2", unde n este numrul de bii necesari pentru reprezentarea tuturor combinaiilor de variabile.
Starea ntregului sistem este combinaia tuturor strilor celor dou automate ale protocolului i a
strii canalului. Starea canalului este determinat de coninutul su. Folosind din nou protocolul 3
ca exemplu, canalul are patru stri posibile: un cadru zero sau un cadru unu circulnd de la
transmitor la receptor, un cadru de confirmare circulnd n sens invers sau nici un cadru. Dac
modelm transmitorul sau receptorul prin dou stri, ntregul sistem are 16 stri distincte.
Aici trebuie s spunem cteva cuvinte despre starea canalului. Conceptul de cadru circulnd
prin canal" este, bineneles, o abstractizare. Adevratul neles este acela c respectivul cadru a fost
parial transmis, parial primit, dar nu a fost nc prelucrat la destinaie. Un cadru rmne pe canal"
pn cnd automatul execut FromPhysicalLayer i l prelucreaz.
Din fiecare stare, exist zero sau mai multe tranziii posibile spre alte stri. Tranziiile au loc
atunci cnd se petrece un eveniment. Pentru un automat, o tranziie trebuie s se fac atunci cnd
SEC. 35
203
este trimis un cadru, cnd sosete un cadru, cnd expir, un interval de timp, cnd apare o
ntrerupere etc. Pentru canal, evenimentele tipice sunt introducerea unui nou cadru pe canal de
ctre automatul protocolului, livrarea, cadrului unui automat sau pierderea unui cadru datorat unei
rafale de zgomote. Dat fiind o descriere complet a automatelor protocolului i a caracteristicilor
canalului, este posibil s trasm graful orientat care prezint toate strile automatului ca noduri i
toate tranziiile ca arce orientate.
O singur stare este desemnat ca stare iniial. Aceast stare corespunde descrierii
sistemului, atunci cnd e ncepe sa funcioneze, sau unui punct de pornire convenabil imediat
urmtor. Unele stri, poate chiar toate strile, pot fi atinse din starea iniial printr-o secven
de tranziii. Folosind tehnicile binecunoscute din teoria graiurilor (de exemplu, calculul
nchiderii tranzitive a unui graf), este posibil s se determine care stri sunt accesibile i care
nu. Aceast tehnic este numit analiza accesibilitii (Lin .a., 1987). Aceast analiz poate fi
util n determinarea corectitudinii protocolului.
Formal, un model de tip automat finit al unui protocol poate fi privit ca un cvadruplu
(S, U, I, T) unde:
S
M
/
T
La nceputul intervalului de timp, toate procesele se gsesc n strile lor iniiale. Apoi ncep s se
produc evenimente, cum ar fi disponibilizarea unor cadre pentru transmisie sau expirarea unor
intervale de timp. Fiecare eveniment poate face ca unul dintre procese sau canalul s execute o
aciune i s comute ntr-o nou stare. Prin enumerarea atent a fiecrui succesor posibil pentru
fiecare stare, se poate construi graful de accesibilitate i se poate analiza protocolul.
Analiza accesibilitii poate fi folosit pentru a detecta diferite erori n specificaia
protocolului. De exemplu, dac este posibil ca un anumit cadru s apar ntr-o anumit stare i
automatul finit s nu tie ce aciune trebuie ntreprins, atunci specificaia este eronat
(incompletitudine). Dac exist o mulime de stri fr ieire i din care nu se poate progresa,
avem o alt eroare (interblocare). O eroare mai puin serioas este cea n care specificaia
protocolului spune cum s se trateze un eveniment ntr-o stare n care evenimentul nu se poate
produce (tranziie neesenial). De asemenea pot fi detectate i alte erori.
Ca exemplu de model de automat finit s considerm Fig. 3-20(a). Acest graf corespunde
protocolului 3 descris anterior: fiecare automat de protocol are dou stri, iar canalul are
patru stri. Exist un total de 16 stri, nu toate accesibile din starea iniial. Strile inaccesibile
nu sunt artate n figur. Fiecare stare este etichetat cu trei caractere, XYZ, unde X este 0 sau
1, corespunztor cadrului pe care transmitorul (S) ncearc s l expedieze; Y este de
asemeriea 0 sau 1, corespunztor cadrului pe care receptorul (R) l ateapt, iar Z este 0, \,A
sau vid (-), corespunztor strii canalului. n acest exemplu, starea iniial a fost aleas ca fiind
(000). Cu alte cuvinte, transmitorul tocmai a trimis cadrul 0, receptorul ateapt cadrul 0 i
cadrul 0 este actualmente pe canal.
204
CAP. 3
Cine
Cadru
Tranziie ruleaz? acceptat
0
1
2
3
4
5
6
7
8
Cadru
emis
Spre
nivelul
reea
(cadru pierdut)
R
0
S
A
R
1
S
A
R
0
R
1
S (timp expirat)
S (timp expirat)
A
1
A
0
A
A
0
1
Da
Da
Nu
Nu
(b)
. SEC. 3.5
205
modelului de graf, o interblocare este caracterizat de existena unei su|>mulimi de stci care este
accesibil din starea iniial i care are dou proprieti:
1. Nu exist nici o tranziie ntr-o stare din afara submulimii de stri.
2. n submulimea de stri, nu exist tranziii care s determine continuarea transmiterii.
Odat ajuns n situaia de interblocare, protocolul rmne aici pentru totdeauna. Din nou, este
uor de vzut din graf c protocolul 3 nu are interblocare.
2+5
A )
1+2
3+4
(a)
Fig. 3-21. (a) Graful de stri pentru protocolul 3 i canal duplex integral,
(b) Secven de stri ce provoac euarea protocolului.
S considerm acum o variant a protocolului 3, n care canalul semi-duplex este nlocuit cu un
canal duplex integral. n Fig. 3-21 sunt artate strile ca produs al strilor celor dou automate de
protocol i al strilor celor dou canale. De notat c acum canalul de transmisie are trei stri: cadru
0, cadru 1 sau vid, iar canalul de rspuns are dou stri, A sau vid. Tranziiile sunt aceleai ca n Fig.
3-20(b), cu excepia aceleia cnd un cadru de date i o confirmare se gsesc simultan pe canal,
206
CAP. 3
existnd aici o mic ciudenie. Receptorul nu poate elimina el nsui cadrul de date, deoarece
aceasta ar determina prezena pe canal a dou confirmri n acelai timp, lucru nepermis de modelul
nostru (cu toate acestea este uor de conceput un model care s-1 permit). Similar, transmitorul
nu poate terge o confirmare, deoarece aceasta ar determina emiterea unui al doilea cadru de date,
nainte ca primul s fi fost acceptat. In consecin, ambele evenimente trebuie s aib loc mpreun,
de exemplu, tranziia ntre starea (000A) i starea (11 IA), etichetat cu 1+2 n figur.
n Fig. 3-21(a) exist ci care pot face protocolul s eueze. n particular, exist ci pe care
transmitorul obine repetat pachete noi, chiar dac pachetele anterioare nu au fost livrate corect.
Problema apare deoarece acum este posibil ca transmitorului s i expire timpul i s trimit un
cadru nou fr s perturbe confirmarea de pe canalul de rspuns. Atunci cnd aceast confirmare
sosete, ea va fi interpretat greit, ca referindu-se la transmisia curent i nu la cea anterioar.
O secven de stri ce provoac euarea protocolului este artat n Fig. 3-21 (b). n a patra i a
asea stare din aceast secven, transmitorul i schimb starea, indicnd faptul c el preia un nou
pachet de la nivelul reea, n timp ce receptorul nu i schimb starea, ceea ce nseamn c nu
livreaz nici un pachet nivelului reea.
3.5.2 Modele de tip reea Petri
Automatul finit nu este singura tehnic de specificare formal a protocoalelor. n aceast
seciune vom descrie o alt tehnic, Reelele Petri (Danthine, 1980). O reea Petri are patru
elemente de baz: locuri, tranziii, arce i jetoane. Un loc reprezint o stare n care se poate
gsi sistemul (sau o parte a sa). Figura 3-22 prezint o reea Petri cu dou locuri, A i B,
reprezentate prin cercuri. Sistemul se afl n starea A, indicat prin jeton (punctul ngroat) n
locul A. O tranziie este indicat printr-o bar orizontal sau vertical. Fiecare tranziie are
zero sau mai multe arce de intrare, venind dinspre locuri de intrare, i zero sau mai multe arce
de ieire, mergnd spre locuri de ieire.
SEC. 35
C: Cadru 0 pe linie
D: Confirmare pe linie (Ack)
E: Cadru 1 pe linie
Prelucreaz 0
Emite 0
Ateapt
confirmarea
pentru 0
Ateaptt 1
Emite 1
Prelucreaz 1
Ateapt
confirmarea
pentru 1
Ateapt 0
\ Pierdut
Starea
transmitorului
Canal
Starea
receptorului
20S
CAP. 3
de ieire ale tranziiei, de exemplu, tranziia 1 din Fig. 3-23 este BD-^AC. Starea curent a reelei
Petri este reprezentat ca o colecie neordonat de locuri, fiecare loc fiind reprezentat n colecie de
un numr de ori egal cu numrul de jetoane pe care le conine. Orice regul ale crei locuri din
membrul stng sunt prezente, poate fi executat, tergnd aceste locuri din starea curent i
adugnd locurile sale de ieire la starea curent. Marcajul din Fig. 3-23 este AGG, i astfel, regula
10 (CG-^DF) poate fi aplicat, dar regula 3 (AD->BE) nu poate fi aplicat.
3.6
n urmtoarele seciuni vom examina cteva protocoale larg folosite pentru legtura de date.
Primul dintre ele, HDLC, este obinuit n X.25 i n multe alte reele. Dup acesta, vom examina
protocoalele legturii de date folosite n Internet i, respectiv, n reelele ATM. n urmtoarele
capitole vom folosi de asemenea Internet i ATM ca exemple funcionale.
3.6.1 HDLC - Controlul de nivel nalt al legturii de date
n aceast seciune vom examina un grup de protocoale strns legate, puin mai vechi, dar
care sunt nc foarte utilizate n reelele din ntreaga lume. Ele sunt toate derivate din protocolul
pentru legtura de date utilizat n reeaua SNA a IBM, numit SDLC (Synchronous Data Link
Control - protocolul de control sincron al legturii de date). Dup ce a dezvoltat SDLC, IBM 1-a
supus examinrii ANSI i ISO pentru acceptare ca standard SUA i, respectiv, internaional.
ANSI a modificat protocolul, astfel nct acesta a devenit ADCCP (Advanced Data
Communication Control Procedure - procedur de control avansat al comunicaiilor de date), iar
ISO 1-a modificat i a produs HDLC (High-level Data Link Control - control de nivel nalt al
legturii de date). CCITT a adoptat i modificat HDLC pentru al su LAP (Link Access
Procedure - procedur de acces la legtur) care este parte a standardului pentru interfaa de
reea X.25, dar, mai trziu 1-a modificat din nou, rezultnd LAPB, n scopul de a-1 face mai
compatibil cu o versiune ulterioar de HDLC. Un lucru frumos n ceea ce privete standardele
este c sunt multe, dintre care poi alege. Mai mult dect att, dac nu i place nici unul dintre
ele, poi atepta modelul care va aprea anul viitor.
Toate aceste protocoale se bazeaz pe aceleai principii. Toate sunt orientate pe bii i folosesc
inserarea de bii pentru transparena datelor. Ele difer doar n puncte minore, niciodat suprtoare.
Discuia care urmeaz, despre protocoalele orientate pe bii, intenioneaz a fi o introducere general.
Pentru detaliile specifice fiecrui protocol, consultai definiia corespunztoare.
Bii
>0
16
01111110
Adres
Control
Date
Sum de
control
01111110
SEC. 3.6
209
Toate protocoalele orientate pe bii folosesc structura de cadru prezentat n Fig. 3-24. Cmpul
Adres este primul ca importan pe liniile cu terminale multiple, unde el este folosit pentru a
identifica unul dintre terminale. Pentru liniile punct-la-punct, el este folosit uneori pentru a deosebi
comenzile de rspunsuri.
Cmpul Control este folosit pentru numere de secven, confirmri i alte scopuri, dup cum se
va arta n continuare.
Cmpul Date poate conine informaii arbitrare. Poate avea lungime arbitrar, cu toate c
eficiena sumei de control scade odat cu creterea lungimii cadrului, datorit creterii probabilitii
de apariie a erorilor n rafal.
, ^
Cmpul Suma de Control este o variant a binecunoscutului CRC (Cyclic Redundancy Code cod ciclic redundant), folosind CRC-CCITT ca polinom generator. Diferena este c permite
detectarea octeilor indicator pierdui.
Cadrul este delimitat cu o alt secven indicator (01111110). Pe liniile punct-la-punct inactive
secvenele indicator sunt transmise continuu. Un cadru minim conine trei cmpuri i are n total 32
de bii, excluznd indicatorii de la fiecare capt.
5ii
(a)
Secven
P/F
Urmtor
(b)
Tip
P/F
Urmtor
(0
Tip
P/F
Urmtor
Fig. 3-25. Cmpul Control (a) un cadru de informaie, (b) un cadru de supervizare,
(c) un cadru nenumerotat.
Exist trei tipuri de cadre: Informaie, Supervizor i Nenumerotat. Coninutul cmpului Control
pentru fiecare dintre aceste trei tipuri este prezentat n Fig, 3-25. Acest protocol folosete o fereastr
glisant, cu un numr de secven reprezentat pe 3 bii. n fereastr pot fi pstrate, la un moment
dat, pn la apte cadre neconfirmate. Cmpul Secven din Fig. 3-25(a) este numrul de secven al
cadrului. Cmpul Urmtor este o confirmare ataata. Oricum, toate protocoalele ader la convenia
c, n loc s ataeze numrul ultimului cadru recepionat corect, s foloseasc numrul primului
cadru nerecepionat (adic urmtorul cadru ateptat). Opiunea pentru ultimul cadru primit sau
urmtorul cadru recepionat este arbitrar; nu are importan ce convenie este utilizat, dac este
folosit cu consecvena.
Bitul P/F nseamn Test/Final (Poli/Final). El este folosit atunci cnd un calculator (sau un
concentrator) interogheaz un grup de terminale. Cnd este folosit ca P, calculatorul invit
terminalul s trimit date. Toate cadrele trimise de terminal, cu excepia celui final, au bitul
P/F setat pe P. Pentru cadrul final bitul este setat la F.
n cteva dintre protocoale, bitul P/F este folosit pentru a fora cealalt main s trimit imediat
un cadru Supervizor, n loc s atepte fluxul invers la care s se ataeze informaia despre fereastr.
Bitul are de asemenea cteva utilizri minore referitoare la cadrele nenumerotate.
210
CAP. 3
Numeroasele tipuri de cadre Supervizor sunt difereniate prin cmpul Tip. Tipul 0 este un cadru
de confmnare (numit oficial RECEIVE READY) folosit pentru a indica urmtorul cadru ateptat.
Cadrul este folosit atunci cnd nu exist flux invers care s poat fi folosit pentru ataare.
:
Tipul 1 este un cadru de confirmare negativ (oficial numit REJECT). Este folosit pentru a
indica detecia unei erori de transmisie. Cmpul Urmtor indic primul cadru din secven ce nu a
fost recepionat corect (deci cadrul ce trebuie retransmis). Transmitorului i se cere s retransmit
toate cadrele neconfirmate, ncepnd cu Urmtor-ul Aceast strategie este similar mai degrab
protocolului 5 dect protocolului 6.
Tipul 2 este RECEIVE NOT READY. El confirm toate cadrele, cu excepia lui Urmtor, exact
ca RECEIVE READY, dar spune transmitorului s opreasc transmisia. RECEIVE NOT
READY este destinat s semnaleze anumite probleme temporare aprute la receptor, cum ar fi
lipsa zonelor tampon, i nu ca o alternativ la controlul fluxului cu fereastr glisant. Cnd problema
a fost rezolvat, receptorul trimite un RECEIVE READY, REJECT sau anumite cadre de control.
Tipul 3 este SELECTIVE REJECT. El cere retransmiterea, ns doar pentru cadrul specificat.
Din acest punct de vedere este mai apropiat de protocolul 6 dect de protocolul 5 i de aceea este
folositor atunci cnd dimensiunea ferestrei transmitoruui este jumtate sau mai puin din
dimensiunea spaiului secvenei. Astfel, dac receptorul dorete s pstreze o secven de cadre
pentru posibila folosire ulterioar, el poate s foreze retransmiterea oricrui cadru, folosind
SELECTIVE REJECT. HDLC i ADCCP permit acest tip de cadru, dar SDLC i LAPB nu l
permit (adic nu exist Selective Reject) i cadrele de tipul 3 nu sunt definite.
Cea de-a treia clas o reprezint cadrul Nenumerotat. El este folosit uneori n scopuri de
control, dar poate fi folosit i pentru transportul datelor atunci cnd se recurge la un serviciu
nesigur, neorientat pe conexiune. Diversele tipuri de protocoale orientate pe bii difer
considerabil aici, spre deosebire de celelalte dou tipuri, unde erau aproape identice. Pentru a
indica tipul cadrului sunt disponibili cinci bii, dar nu sunt folosite toate cele 32 de posibiliti.
Toate protocoalele furnizeaz o comand, DISC (DISConnect), care permite ca o main s
anune c se va opri (de exemplu pentru ntreinere preventiv). De asemenea exist o comand ce
permite ca o main, care tocmai s-a reconectat, s-i anune prezena i s foreze resetarea tuturor
numerelor de secven la zero. Aceast comand poart numele de SNRM (Set Normal Response
Mode - stabilete modul normal de rspuns). Din nefericire, modul normal de rspuns" numai
normal nu este. Este un mod neechilibrat (adic asimetric) n care unul din capetele liniei este
mater iar cellalt este sclav. SNRM dateaz din timpurile cnd comunicaia datelor presupunea un
terminal neinteligent comunicnd cu un calculator, ceea ce este, evident, asimetric. Pentru a face
protocolul mai potrivit cazurilor n care cei doi parteneri sunt egali, HDLC i LAPB au o comand
suplimentar, SABM (Set Asynchronous Balanced Mode - stabilete modul asincron echilibrat),
care reseteaz linia i declar ambii parteneri ca fiind egali. De asemenea, aceste protocoale au
comenzile SABME i SNRME, care sunt identice cu SABM i, respectiv, SNRM, cu excepia
faptului c ele permit folosirea unui format extins pentru cadru, care utilizeaz numere de secven
pe 7 bii n locul unora pe 3 bii.
A treia comand prevzut de toate protocoalele este FRMR (FRaMe Reject), folosit pentru a
indica sosirea unui cadru cu suma de control corect, dar cu semantic imposibil. Exemple de
semantic imposibil sunt cadru de tipul 3 Supervizor n LAPB, un cadru mai scurt de 32 de bii, un
cadru de control nepermis, confirmarea unui cadru care a fost n afara ferestrei etc. Cadrele FRMR
conin un cmp de date de 24 de bii care arat ceea ce a fost eronat la cadrul respectiv. Datele
211
fixted^mpul de coritrol al cadrului eronat, parametrii ferestrei i o C&tecie de bii folosii pentru a
semnala erori specifice.
Cadrele de control pot fi pierdute sau deteriorate ca i cadrele de date, de aceea i ele trebuie
confirmate. n acest scop este furnizat un cadru special de control, numit UA (Unnumbered
Acknowledgement). Deoarece poate exista un singur cadru de control neconfirmat, nu exist
niciodat ambiguiti asupra cadrului care este confirmat.
Cadrele de control rmase sunt folosite pentru iniializare, interogare i raportarea strii. Exist,
de asemenea, un cadru de control care poate conine informaii arbitrare, UI (Unnumbered
Information). Aceste date nu sunt livrate nivelului reea, ci sunt destinate a fi primite chiar de
nivelul legtur de date.
n ciuda utilizrii pe scar larg, HDLC este departe de a fi perfect. O discuie despre
diversitatea problemelor asociate cu acest protocol poate fi gsit n (Fiorini .a., 1995).
3.6.2 Nivelul legtura de date n Internet
Internet-ul const din maini individuale (calculatoare gazd i rutere) i o infrastructur de
comunicaie care le conecteaz. n cadrul unei singure cldiri sunt larg utilizate LAN-urile pentru
interconectare, dar infrastructura de arie larg este construit din linii nchiriate, punct-la-punct. n
Cap. 4 vom studia LAN-urile; aici vom examina protocoalele legturii de date folosite pe liniile
punct-la-punct n Internet.
n practic, comunicaia punct-la-punct este folosit n principal n dou situaii. n primul rnd,
mii de organizaii au una sau mai multe LAN-uri, fiecare cu un anumit numr de calculatoare gazd
(calculatoare personale, staii de lucru ale utilizatorilor, servere .a.m,d.) i un ruter (sau o punte
care este funcional similar). Adeseori, ruterele sunt interconectate printr-un trunchi IsAN. n mod
tipic, toate conexiunile cu lumea exterioar se fac printr- unul sau dou rutere care au linii punct-lapunct nchiriate spre rutere aflate la distan. Inteiet-ul este construit din aceste rutere i liniile lor
nchiriate care realizeaz subreelele de comunicaie.
A doua situaie n care liniile punct-la-punct joac un rol major n Internet o reprezint
milioanele de utilizatori individuali care au conexiuni de acas la Internet folosind modemuri i linii
telefonicecomutate. De obicei PC-ul casnic al unui utilizator apeleaz un furnizor de servicii
Internet, cum ar fi America Online, CompuServe i Microsoft Network, sau una din mai multe
universiti i companii ce furnizez conectivitate Internet la domiciliu pentru studenii i angajaii
lor. Uneori PC-ul casnic funcioneaz chiar ca un terminal orientat caracter, conectat la sistemul cu
divizarea timpului al furnizorului de servicii Internet. In acest mod, utilizatorul poate introduce
comenzi i poate executa programe, dar serviciile Internet n mod grafic, cum ar fi World Wide
Web, nu sunt disponibile. Acest mod de lucru este cunoscut ca avnd un cont de lucru prin linia de
comand (shell account).
Alternativ, PC-ul casnic, poate apela un ruter al furnizorului de servicii Internet i poate aciona
astfel ca orice calculator gazd Internet. Aceast metod de operare nu este diferit de aceea n care
exist o linie nchiriat ntre PC i ruter, cu excepia faptului c se nchide conexiunea atunci cnd
utilizatorul i termin sesiunea. In aceast abordare, toate serviciile Internet, inclusiv cele grafice*
devin disponibile. n Fig. 3-26 este ilustrat un PC casnic ce apeleaz un furnizor de servicii Internet.
Att pentru conexiunea pe linie nchiriat ruter-ruter ct i pentru conexiunea comutat
calcalator^azd^raterreste necesar un protocol de legtur-de date punct-la-punct pentru ncadrare,
212
CAP. 3
controlul erorilor i pentru alte funcii ale nivelului legtur de date pe care le-am studiat n acest
capitol. n Internet sunt folosite dou astfel de protocoale, SLIP i PPP. n continuare le vorn
examina pe amndou.
3.63 SLIP-Serial Line IP
SLIP este cel mai vechi dintre cele dou protocoale. El a fost conceput de Rick Adams n 1984
pentru a conecta staiile de lucru Sun n Internet, prin intermediul unei linii comutate folosind un
modem. Protocolul, dup cum este descris n RFC 1055, este foarte simplu.
Biroul furnizorului de servicii Internet
Acas la utilizator
PC
\ \
Proces client
folosind TCP/IP
Linie telefonic
comutat
Modem
Conexiune TCP/IP
folosind SLIP sau PPP
Proces de rutare
SEC. 3.6
213
aceast limitare este o problem major, deoarece este imposibil s se atribuie fiecrui utilizator
Internet de la domiciliu o adres IP unic.
n al patrulea rnd, SLIP nu furnizeaz nici o form de autentificare, astfel nct nici una din
entiti nu tie cu cine urmeaz s comunice. Pentru linii nchiriate aceasta nu este o problem, dar
este pentru linii comutate.
n al cincilea rnd, SLIP nu este un Standard Internet aprobat, astfel c exist multe versiuni
diferite (i incompatibile). Aceast situaie nu faciliteaz lucrul n echip.
3.6.4 PPP -Point-to-Point Protocol (protocol punct-la-punct)
Pentru a mbunti situaia, IETF a definit un grup pentru proiectarea protocoalelor
legturii de date pentru liniile punct-la-punct, care s rezolve toate aceste probleme i care s
poat deveni un Standard Internet. Aceast activitate a culminat cu PPP (Point-to-Point
Protocol - protocolul punct-la-punct) care este definit n RFC 1661 i dezvoltat n alte cteva
RFC-uri (de exemplu RFC-urile 1662 i 1663). PPP face detecia erorilor, suport mai multe
protocoale, permite ca adresele IP s fie negociate n momentul conectrii, permite
autentificarea i are multe alte mbuntiri fa de SLIP. n timp ce muli furnizori de servicii
Internet ofer nc suport att pentru SLIP ct i pentru PPP, viitorul aparine cu siguran
PPP-ului, att pentru liniile comutate ct i pentru liniile nchiriate ruter-ruter.
PPP furnizeaz trei lucruri:
1.
214
CAP. 3
n acest moment, PO-ul este un calculator gazd Internet i poate trimite i primi pachete IP,
exact aa cum o pot face calculatoarele conectate prin cabluri. Cnd utilizatorul termin, NCP este
folosit pentru a ntrerupe conexiunea la nivelul reea i pentru a elibera adresele IP. LCP este folosit
pentru a ntrerupe conexiunea la nivelul legtur de date. n final, calculatorul spune modemului s
nchid telefonul, elibernd conexiunea la nivel fizic.
Formatul cadrului PPP a fost ales foarte asemntor cu formatul cadrului HDLC deoarece nu
exista nici un motiv pentru a se reinventa roata. Diferena major ntre PPP i HDLC este c primul
este mai degrab orientat pe caractere dect pe bii. n particular, PPP, ca i SLIP, folosete
umplerea cu caractere pe liniile comutate prin modem, astfel nct toate cadrele au un numr ntreg
de octei. Nu este posibil s se trimit un cadru constnd din 30.25 octei, aa cum era la HDLC.
Cadrele PPP pot fi transmise nu numai pe liniile telefonice comutate, ele pot fi transmise i pe linii
SONET sau linii HDLC, cu adevrat orientate pe bii (de exemplu pentru conexiuni ruter-ruter),
Formatul cadrului PPP este prezentat n Fig. 3-27.
Octei
Indicator
01111110
Adres
11111111
1 sau 2
Variabil
rr
Jr"
Control
Protocol Informaie
00000011
utila'
2 sau 4
Sum de
control
Indicator
01111110
Jj
Fig. 3-27. Formatul complet de cadru PPP pentru operarea n mod nenumerotat.
Toate cadrele PPP ncep cu octetul indicator HDLC standard (01111110), pentru care se
folosete umplerea cu caractere, dac apare n cadrul cmpului ce specific infonnaia util. Dup
acesta urmeaz cmpul Adres, care este ntotdeauna setat la valoarea binar 11111111, indicnd
astfel c toate staiile trebuie s accepte cadrul. Folosirea acestei valori evit situaia n care se
asociaz adrese legturii de date.
Cmpul Adres este urmat de cmpul Control, a crui valoare implicit este 00000011. Aceast
valoare indic un cadru nenumerotat. Cu alte cuvinte, PPP nu furnizeaz o transmisie sigur
folosind numere de secven i confirmri n mod implicit. n medii cu zgomote, cum ar fi reelele
fr fir, poate fi folosit transmisia sigur utiliznd numere de secven. Detaliile exacte sunt definite
n RFC 1663.
Deoarece cmpurile Adres i Control sunt ntotdeauna constante n configuraiile implicite, LCP
furnizeaz mecanismul necesar ca cele dou pri s negocieze opional omiterea amndurora i s
salveze astfel doi octei pe cadru.
Cel de-al patrulea cmp PPP este cmpul Protocol. Sarcina lui este s spun ce tip de pachet este
n cmpul Informaie util. Sunt definite coduri pentru LCP, NCP, IP, IPX, AppleTalk i alte
protocoale. Protocoalele ce ncep cu un bit 0 sunt protocoale pentru nivelul reea, cum ar fi IP, IPX,
OSI CLNP, XNS. Acelea care ncep cu un bit 1 sunt folosite pentru a negocia alte protocoale.
Acestea includ LCP i un NCP diferit pentru fiecare protocol de reea suportat. Dimensiunea
implicit a cmpului Protocol este de 2 octei, dar ea poate fi negociat la 1 octet folosind LCP.
Cmpul Informaie util este de lungime variabil, pn'la o anumit limit maxim
negociat. Dac lungimea nu este negociat folosind LCP n timpul setrii liniei, este folosit o
SEG3.6
215
lungime implicit de 1500 de octei. Dac este necesar, dup informaia util pot fi adugate
caractere de umplere.
Dup cmpul Informaie util urmeaz cmpul Sum de control, care este n mod normal
de 2 octei, dar poate fi modificat la 4 octei.
n concluzie, PPP este un mecanism de ncadrare multiprotocol potrivit pentru folosirea pe
linii cu modem, linii seriale orientate pe bii HDLC, SONET i alte niveluri fizice. Suport
detecia erorilor, negociere opional, compresia antetului i, opional, transmisie sigur
folosind cadre HDLC.
S ne ntoarcem acum de la formatul cadrului PPP la modul n care liniile sunt stabilite (brought
up) i eliberate (brought down). Diagrama simplificat din Fig. 3-28 arat fazele prin care trece o
linie atunci cnd este stabilit, folosit i eliberat. Secvena se aplic att pentru conexiunile prin
modem ct i pentru conexiunile ruter-ruter.
Purttoare
detectat
Purttoare
eliberat
.Autentificare
reuit
Configurare
NCP
Fig. 3-28. O diagrama de faze simplificata pentru stabilirea i eliberarea unei linii.
Cnd o linie este DEAD, nu este prezent nici o purttoare la nivel fizic i nu exist nici o
conexiune fizic. Dup ce este stabilit conexiunea fizic, linia trece n ESTABLISH. n acest punct
ncepe negocierea opional LCP care, dac reuete, conduce la AUTHENTICAE. Acum cele
dou pri pot s-i verifice una alteia identitatea, dac doresc. Cnd se intr n faza NETWORK,
este invocat protocolul NCP corespunztor pentru a configura nivelul reea. Dac configurarea se
face cu succes, este atins faza OPEN i poate avea loc transportul datelor. Gnd transportul datelor
este terminat,linia este trecut n faza TERMINATE i, de aici, napoi n DEAD unde purttoarea
este ntrerupt.
LCP este folosit pentru a negocia ogiuml^rotoTOlului legturii de date n timpul fazei
ESTABLISH. Protocolul LCP nu se ocup chiar de opiuni, ci de mecanismul de negociere. El
furnizeaz procesului iniiator un mod de a face o propunere i procesului de rspuns un mod
de a accepta sau refuza aceast- propunere. De asemenea, el furnizeaz celor dou procese un
mecanism de a testa calitatea liniei, de a verifica dac aceasta este suficient de bun pentru a
216
CAP. 3.
defini o conexiune. n fine, protocolul LCP permite liniilor s fie eliberate atunci cnd nu mai
este nevoie de ele. ..,..,,
n RFC 1661 sunt definite unsprezece tipuri de pachete LCP. Acestea sunt listate n Fig. 3-29.
Cele patru tipuri Configure- permit iniiatorului (I) s propun valori pentru opiuni i celui care
rspunde (R) s le accepte sau s le refuze. n ultimul caz, cel care rspunde poate face o propunere
alternativ sau poate anuna c nu este gata s negocieze n nici un fel anumite opiuni. Opiunile ce
vor fi negociate i valorile propuse pentru ele sunt coninute n pachetele LCP.
Nume
r Configure-request
Configure-ack
\
V
i
Configure-nak
Direcie
Descriere
I->R
I<-R
Configure-reject
I<-R
Terminate-request
I-R
Terminate-ack
I<-R
Code-reject
I<-R
Protocol-reject
I<-R
Echo-request
I->R
Echo-replay
I<-R
Discard-request
I->R
SEC. 3.6
217
Transmisia celulelor
Primul pas este verificarea sumei de control a antetului. Fiecare celul conine un antet de
5 octei ce const din 4 octei ce specific circuitul virtual i informaia de control urmai de
suma de control pe 1 octet. Dei coninutul antetului nu este relevant pentru subnivelul TC,
cititorii curioi, ce doresc s arunce o-privire asupra acestuia, o pot face n Fig. 5-62. Suma de
control acoper primii patru octei din antet, nu cmpul informaie util. Ea const din restul
mpririi antetului de 32 de bii la polinomul x8+x2+x+l. La aceasta se adaug constanta
01010101, pentru a asigura robustee n cazul antetelor ce conin mai muli bii 0 dect 1.
Decizia de a verifica suma de control doar pentru antet a fost luat pentru a reduce
probablitatea de livrare incorect a celulelor datorit unei erori din antet, dar evitnd preul
unei verificri a sumei de control pentru cmpul informaie util. Nivelurile superioare vor
aplica aceast funcie dac este nevoie. Pentru multe aplicaii de timp real, cum ar fi cele de
voce i video, pierderea din cnd n cnd a unor bii este acceptabil (cu toate c pentru
anumite scheme de compresie, toate cadrele sunt egale, dar anumite cadre sunt mai egale
dect altele). Deoarece acoper numai antetul, cmpul suma de control pe 8 bii este numit
HEC (controlul erorilor pentru antet - Header Error Control).
Un factor ce a jucat un rol major n realizarea schemei pentru suma de control este acela c
ATM a fost proiectat pentru folosirea prin medii de fibr optic ce sunt foarte sigure. Mai mult
dect att, un studiu major al reelei telefonice din S.U.A. a artat c n timpul operrii normale,
99.64 % din toate erorile de pe liniile de fibr optic sunt erori de un singur bit (AT&T i Bellcore,
1989). Schema HEC corecteaz toate erorile de un singur bit i detecteaz la fel de bine multe erori
multi-bit. Dac presupunem c probabilitatea de a se produce o eroare de un singur bit este de IO"8,
atunci probabilitatea ca o celul s conin o eroare antet muli-bit este n jur de IO"13. Probabilitatea
ca o celul s se strecoare cu un antet eronat este de aproape IO'20, ceea ce nseamn c la viteza
OC-3, o celul cu antet greit va aprea o dat la 90 000 de ani. Cu toate c aceasta pare s
reprezinte un timp destul de lung, pentru 1 miliard de telefoane ATM, fiecare utilizat 10 procente
din timp, vor scpa nedetectate peste 1000 de celule cu antet eronat pe an.
Pentru aplicaii ce necesit transmisie sigur la nivelul legtur de date, Shaeham i McKenney
(1990) au dezvoltat o schem n care o secven de celule consecutive este combinat XQR.
218
CAP. 3
Rezultatul, o celul ntreag, este adugat la secven. Dac una din celule este pierdut saii
eronat, ea poate fi reconstruit din informaia disponibil.
Odat ce HEC-ul a fost generat i inserat n antetul celulei, aceasta este gata pentru a fi
transmis. Mediul de transmisie se mparte n dou categorii: asincron i sincron. Cnd se
folosete un mediu asincron, o celul poate fi transmis ori de cte ori ea este gata pentru a fi
transmis. Nu exist restricii de timp. Cu un mediu sincron, celulele trebuie transmise dup
un ablon de timp predefinit. Dac nu exist celule de date disponibile atunci cnd este nevoie,
subnivelul TC trebuie s inventeze una. Aceste celule se numesc celule libere (idle cells).
Un alt tip de celule ce nu conin date sunt celulele OAM (Operation And Maintenance -operare
i ntreinere). Celulele OAM sunt de asemenea utilizate de ctre comutatoarele ATM pentru
schimbul de informaii de control i de alte tipuri necesare pentru a menine sistemul n funciune.
Celulele OAM au de asemenea i cteva funcii speciale. De exemplu viteza de 155.52 Mbps OC-3
corespunde ratei de date brute a SONET-ului, dar un cadru STM-1 are un total de 10 coloane de
suprancrcare din 270, aa c ncrcarea pentru SONET este doar de 260/270x155.52 Mbps sau
149.76 Mbps. Pentru a scap SONET-ul de inundare, o surs ATM ce folosete SONET-ul ar trebui
n mod normal s emit o celul OEM la fiecare 27 de celule, pentru a ncetini scderea ratei de
date la 26/27 din 155.52Mbps i astfel s se coordoneze exact cu SONET-ul. Sarcina de a potrivi rata
de ieire a ATM-ului cu rata sistemului de transmisie inferior este o misiune important a
subnivelului TC.
Pentru receptor, celulele libere sunt prelucrate n subnivelul TC, dar celulele OAM sunt
transmise nivelului ATM. Celulele OAM se deosebesc de celulele de date prin faptul c au primii
trei octei din antet egali cu zero, lucru nepermis pentru celulele de date. Cel de-al patrulea octet
descrie natura celulei OAM.
O alt sarcin important a subnivelului TC este generarea informaiei de ncadrare pentru
sistemul de transmisie de la baz, dac exist. De exemplu, o camer video ATM trebuie s produc
att o secven de celule pe fir, ct i cadre cu celule ATM incorporate n cmpul de informaie util
de la SONET. n acest din urm caz, subnivelul TC ar trebui s genereze ncadrare SONET i s
mpacheteze celulele ATM n aceste cadre, ceea ce nu este o sarcin prea uoar, deoarece cmpul
de informaie util de la SONET nu cuprinde un numr ntreg de celule de 53 de octei.
Dei companiile telefonice intenioneaz s foloseasc SONET-ul ca subsistem de transmisie de
baz pentru ATM, au fost definite, i corespondenele de la ATM la cmpurile de informaie util
ale altor sisteme, iar actualmente se lucreaz la cele noi. In particular, exist puneri n coresponden
pentru TI, T3 i FDDI.
Recepia celulelor
Sarcina subnivelului TC la ieire este s preia o secven de celule, s adauge un HEC la
fiecare, s converteasc rezultatul ntr-un ir de bii i s potriveasc irul de bii la viteza
sistemului fizic de transmisie de la baz prin inserarea de celule OAM ca umplutur. La
intrare, subnivelul TC procedeaz exact invers. El ia irul de bii de la intrare, localizeaz
limitele celulelor, verific antetele (elimin celulele cu antet incorect), proceseaz celulele
OAM i transmite celulele n sus spre nivelul ATM.
Cea mai dificil parte este localizarea limitelor celulelor n irul de bii de la intrare. La
nivel de bii, o celul este doar o secven de 53x8=424 bii. Nu sunt prezeni octei indicatori
SEC.3.6
219
01111110 pentru a marca nceputul i sfritul unei celule, .cum exist la HDLC. De fapt, nu
exist de loc marcaje. Ciimqpot s fie recunoscute n ageast, situai limitele celulelor?
n anumite cazuri, nivelul fizic de la baziuinizeaz un ajutor. Cu SONET, de exemplu, celulele
pot fi aliniate cu Synchronous Paybad Enyebpe (nveli sincron pentru informaia util), astfel nct
pointerul SPE din antetul SONET indic nceputul primei celule complete. Cu toate acestea, uneori
nivelul fizic nu furnizez nici o asisten pentru ncadrare. Ce se face atunci?
Ideea este s se foloseasc HEC-ul. Pe msur ce biii sosesc, subnivelul TC menine un registru
de deplasare de 40 de bii, cu biii intrnd prin stnga i ieind prin dreapta. Subnivelul TC
inspecteaz cei 40 de bii s vad dac acetia pot reprezenta un antet corect de celul. Dac da, cei
mai nesemnifcativi 8 biii vor fi HEC-ul valid pentru cei mai din stnga 32 de bii. Dac condiia nu
este ndeplinit, tamponul nu conine o celul valid, caz n care toi biii din tampon sunt deplasai
la dreapta cu un bit, producnd eliminarea unui bit i intrarea unui bit nou la captul din stnga.
Procesul este repetat pn cnd este localizat un HEC valid. La acest punct, extremitatea celulei este
cunoscut, deoarece registrul de deplasare conine un antet valid.
Problema cu aceast euristic este c HEC-ul este format doar din 8 bii. Pentru orice registru de
deplasare dat, chiar unul care conine bii aleatorii, probabilitatea de a gsi un HEC valid este 1/256,
o valoare destul de mare. Utilizat de sine stttor, aceast procedur ar detecta incorect mult prea
des, antetele celulelor.
Verificare
bitcubit
netec
a
HEC-uri
incorecte
consecutive
g e HEC corect
Verificare
celul cu celul
8
HEC-uri
corecte
consecutive
220
CAP. 3
pn cnd gsete 8 antete la rnd, moment la care el presupune c s-a sincronizat i trece n starea
SYNCH pentru a ncepe operarea normal. De notat c probabilitatea ca s se intre n starea
SYNCH, printr-un accident, cu un ir de bii pur aleator este de 2~, care poate fi fcut arbitrar de
mic prin alegerea unui 8 suficient de mare. Preul pltit pentru un 8 mare este totui un timp mai
mare de sincronizare.
n plus, pentru a se resincroniza dup pierderea sincronizrii (sau la pornire), subnivelul TC are
nevoie de o euristic pentru a determina cnd s-a pierdut sincronizarea, de exemplu dup ce un bit a
fost inserat sau ters din irul de bii. Ar fi lipsit de nelepciune s se renune dac doar un HEC a
fost incorect, deoarece multe erori rezult din inversri de bii, nu din inserri sau din tergeri. Cel
mai nelept lucru de fcut aici este s se elimine celula cu antet eronat i s se spere c urmtoarea
va fi bun. Totui, dac al a-lea HEC la rnd este eronat, subnivelul TC trebuie s trag concluzia c
s-a pierdut sincronizarea i trebuie s revin n starea HUNT.
Cu toate c este puin probabil, exist posibilitatea ca un utilizator ru-intenionat s ncerce s
nele subnivelul TC prin inserarea unei configuraii de date n cmpul informaie util al multor
celule consecutive care imit algoritmul HEC. Atunci, dac sincronizarea a fost vreodat pierdut,
ea va fi rectigat ntr-un loc greit. Pentru a face acest artificiu mai greu de aplicat, biii informaie
util sunt mixai la transmisie i separai la recepie.
nainte s prsim subnivelul TC, este bine s facem urmtorul comentariu. Mecanismul ales
pentru delimitarea celulelor necesit ca subnivelul TC s neleag i s foloseasc antetul nivelului
ATM superior. Existena unui nivel care utilizeaz antetul unui nivel superior este o violare a
regulilor de baz ale ingineriei protocoalelor. Ideea de a avea protocoale structurate pe niveluri este
aceea de a realiza independena nivelurilor. Ar fi posibil, de exemplu, s se schimbe formatul
antetului nivelului ATM fr a afecta subnivelul TC. Totui, datorit modului n care este realizat
delimitarea celulelor, efectuarea unei asemenea schimbri nu este posibil.
3.7 REZUMAT
Sarcina nivelului legtur de date este de a converti irurile de bii oferite de nivelul fizic n iruri
de cadre pentru a fi folosite de ctre nivelul reea. Sunt utilizate diferite metode de ncadrare,
incluznd numrarea caracterelor, inserarea de caractere i umplerea cu bii. Protocoalele legturii
de date pot furniza controlul erorilor pentru retransmiterea cadrelor distruse sau pierdute. Pentru a
mpiedica un emitor rapid s suprasolicite un receptor lent, protocolul legturii de date poate
furniza i controlul fluxului. Mecanismul cu fereastr glisant este foarte folosit pentru a integra
controlul erorilor si controlul fluxului ntr-un mod convenabil.
Protocoalele cu fereastr glisant pot fi clasificate dup dimensiunea ferestrei emitorului i
dup dimensiunea ferestrei receptorului. Cnd ambele sunt egale cu 1, protocolul este pas-cu-pas
(stop-and-wait). Cnd fereastra emitorului este mai mare ca 1, de exemplu pentru a mpiedica
emitorul s blocheze un circuit cu o ntrziere mare de propagare, receptorul poate fi programat
fie s elimine toate celelalte cadre cu excepia urmtorului din secven (protocolul 5), fie s
memoreze cadrele neordonate pn cnd ele vor fi necesare (protocolul 6).
Protocoalele pot fi modelate folosind diferite tehnici ce ajut la demonstrarea corectitudinii lor
(sau a lipsei acesteia). Modelele bazate pe automate finite i modelele bazate pe reele Petri sunt
larg utilizate n acest scop.
PROBLEME
221
reele folosesc la nivelul legtur de date unul dintre protocoalele orientate pe bii g
HDLC, ADCCP sau LAPB. Toate aceste protocoale folosesc octei indicatori pentru
delimitarea cadrelor i inserarea de bii pentru a preveni apariia octeilor indicatori n cadrul
datelor. De asemenea toate aceste protocoale folosesc fereastra glisant pentru controlul fluxului.
Internet-ul utilizeaz SLIP i PPP ca protocoale ale legturii de date. Sistemele ATM au propriul lor
protocol simplu, care face o minim verificare a erorilor i nici un fel de control al fluxului.
3.8 PROBLEME
1. Un mesaj de la un nivel mai nalt este spart n 10 cadre, fiecare dintre acestea avnd 80% ans
de a ajunge nemodificat. Dac nu se face nici un control al erorilor de ctre protocolul legturii
de date, de cte ori va trebui transmis mesajul n medie pentru a-1 obine ntreg la destinaie?
2. Urmtorul fragment de date apare n mijlocul unui ir de date pentru care este folosit
algoritmul de inserare de caractere descris n text: DLE, STX, A, DLE, B, DLE, ETX. Care
este ieirea dup inserare?
3.
Dac n irul de bii 0111101111101111110 se insereaz bii, care este irul de ieire?
4. Cnd este utilizat inserarea de bii, este posibil ca prin pierderea, inserarea sau modificarea
unui singur bit s se provoace o eroare nedetectabil prin suma de control? Dac nu, de ce?
Dac da, de ce? Lungimea sumei de control joac vreun rol aici?
5. Putei concepe o situaie n care un protocol cu bucl deschis (de exemplu un cod
Hamming) poate fi preferabil protocoalelor cu bucl de reacie (feedback), discutate pe
parcursul acestui capitol?
6. Pentru a furniza o mai mare siguran dect cea pe care o poate da un singur bit de paritate, o
schem de codificare cu detecie de erori folosete un bit de paritate pentru verificarea tuturor
biilor de ordin impar i un al doilea bit de paritate pentru toi biii de ordin par. Care este
distana Hamming pentru un astfel de cod?
7. Un mod de a detecta erorile este de a transmite datele ca un bloc de n rnduri a cte k bii pe
rnd i adugarea de bii de paritate pentru fiecare rnd i fiecare coloan. Va detecta aceast
schem toate erorile singulare? Dar erorile duble? Dar erorile triple?
8. Un bloc de bii eu n rnduri i k coloane folosete bii de paritate vertical i orizontal pentru
detecia erorilor, S presupunem c datorit erorilor de transmisie sunt inversai exact 4 bii.
Deducei o expresie pentru exprimarea probabilitii ca eroarea s nu fie detectat.
9. Ce rest se obine prin mprirea lui x 7 +x 5 +l la polinomul generator x 3 +l?
10. Protocoalele legturii de date pun aproape ntotdeauna CRC-ul n partea final i nu n antet.
Dece?
222
CAP. 3
11. Un canal are o rat de transmisie a biilor de 4kbps i o ntrziere de propagare de 20 msec.
Pentru ce domeniu al dimensiunii cadrelor metoda pas-cu-pas (stop-and-wait) are o eficien de
celpuin50%?
12. Un trunchi TI lung de 3000 km este folosit pentru a transmite cadre de 64 de bii folosind
protocolul 5. Dac viteza de propagare este de 6 usec/km, pe ci bii trebuie reprezentate
numerele de secven?
13. Imaginai un protocol cu fereastr glisant ce folosete suficieni bii pentru numerele de
secven, astfel nct s nu apar niciodat suprapuneri. Ce relaie trebuie s existe ntre cele
patru limite ale ferestrelor i dimensiunea ferestrei?
14. Dac procedura between din protocolul 5 este verificat pentru condiia a < b < c n locul
condiiei a < b < c, ar avea aceasta vreun efect asupra corectitudinii protocolului sau eficienei
sale? Explicai rspunsul.
15. n protocolul 6, cnd sosete un cadru de date, este fcut o verificare pentru a se vedea dac
numrul de secven difer de cel ateptat i NoNak este adevrat. Dac ambele condiii sunt
ndeplinite, este trimis un NAK Altfel, este pornit contorul de timp auxiliar. Presupunei c ar fi
omis clauza else. Ar afecta aceasta corectitudinea protocolului?
16. Presupunem c bucla while cu trei instruciuni din finalul protocolului 6 a fost tears din cod.
Ar afecta aceasta corectitudinea protocolului sau doar performana? Explicai rspunsul.
17. Presupunem c instruciunea case pentru erorile de sum de control a fost scoas din
instruciunea switch din protocolul 6. Cum ar afecta aceasta operarea protocolului?
18. n protocolul 6 codul pentru FrameAnival are o seciune folosit pentru NAK-uri. Aceast
seciune este invocat n cazul n care cadrul sosit este un NAK i este ndeplinit nc o
condiie. Indicai un scenariu n care prezena acestei condiii este esenial.
19. Imaginai-v c scriei un program la nivelul legtur de date pentru o linie folosit pentru
a primi date, dar nu i pentru a trimite. Cellalt capt folosete HDLC, cu un numr de
secven pe 3 bii si o dimensiune a ferestrei de 7 cadre. Ati dori s memorai ct mai
multe cadre din secven pentru a crete eficiena, dar nu v este permis s modificai
programul pentru transmisie. Este posibil s avei o fereastr la receptor mai mare ca 1 i
totui s existe garania c protocolul nu va eua? Dac da, care este fereastra cea mai
mare care poate fi utilizat n siguran?
20. Considerai operarea protocolului 6 pe o linie fr erori de IMbps. Dimensiunea maxim a
cadrului este 1000 bii. Pachetele noi sunt generate la un inteval de aproape 1 secund.
Intervalul de expirare a timpului este de 10 msec. Dac ar fi eliminate confirmrile speciale
pentru contorul de timp, ar putea aprea expirri de timp inutile. De cte ori ar trebui transmis
n medie un mesaj ?
SEC. 3.8
PROBLEME
223
21. n protocolul 6 MaxSeq=T-l. n timp ce aceast condiie este evident necesar pentru a utiliza
eficient biii din antet, nu s-a demonstrat c ea este i esenial, Ar lucra protocolul corect
pentru MaxSeq=A de exemplu?
22. Cadrele de 1000 de bii sunt transmise pe un canal prin satelit de IMbps, Confirmrile sunt
ntotdeauna ataate cadrelor de date. Antetele sunt foarte scurte. Sunt folosite numere de
secven pe 3 bii. Care este utilizarea maxim realizabil a canalului pentru:
a) Pas-cu-pas (stop-and-wait);
b) Protocolul 5;
c) Protocolul 6.
23. Calculai fraciunea din lrgimea de band ce este pierdut datorit suprancrcrii (antete i
retransmisie) pentru protocolul 6 pe un canal de satelit de 50 kbps, foarte ncrcat cu cadre de
date constnd din 40 de bii antet i 3960 bii de date. Cadrele ACK nu apar niciodat. Cadrele
NACK sunt de 40 de bii. Rata de erori pentru cadrele de date este de 1% i rata de erori
pentru cadrele NACK este neglijabil. Numerele de secven sunt pe 8 bii.
24. Se consider un canal prin satelit fr erori, de 64 kbps, folosit pentru a transmite cadre de date
ntr-o singur direcie, cu confirmri foarte scurte ce se ntorc pe alt cale. Care este
productivitatea maxim pentru dimensiuni ale ferestrei de 1,7,15 i 127?
25. Un cablu lung de 100 km funcioneaz la rata de transmisie de date TI. Viteza de propagare pe
cablu este 2/3 din viteza luminii. Ci bii ncap pe cablu?
26. Redesenai Fig. 3-21 pentru un canal duplex-integral care nu pierde niciodat cadre. Este totui
posibil eecul protocolului?
* > '
27. Dai o secven executabil pentru reeaua Petri din Fig. 3-23 corespunztoare secvenei de stri
(000), (01A), (01-), (010), (01A) n Fig. 3-20. Explicai n cuvinte ce reprezint secvena
respectiv.
28. Date fiind regulile de tranziie AC-^B, B->AC, CD->E i E->CD, desenai reeaua Petri
descris de ele. Folosind reeaua Petri, desenai graful finit al strilor accesibile din starea
iniial ACD. Ce concept bine-cunoscut din tiina calculatoarelor folosete acest model de
reguli de tranziie?
29. PPP se bazeaz pe HDLC, care folosete inserarea de bii pentru a preveni ca octeii indicatori
accidentali din interiorul informaiei utile s provoace confuzii. Dai cel puin un motiv pentru
care PPP folosete n locul acesteia inserarea de caractere.
30. Care este suprancrcarea minim n transmiterea unui pachet IP folosind PPP? Luai n
considerare doar suprancrcarea introdus de PPP nsui, nu i suprancrcarea produs de
antetulIP.
31. Considerai o euristic de delimitare a celulelor ATM cu cc=5, 8=6 i o rat de erori pe bit de
IO'5. Odat ce sistemul a fost sincronizat, ct timp va rmne astfel, n ciuda erorilor ocazionale
de bii n antet? Presupunei c timpul de rulare este OC-3.
224
CAP. 3
32. Scriei un program care s simuleze stocastic comportamentul unei reele Petri. Programul
trebuie s citeasc regulile de tranziie i o list de stri corespunznd nivelului legtur al
reelei ce emite un nou pachet sau accept un pachet. Din starea iniial, de asemenea citit de
pe mediul de intrare, programul trebuie s aleag tranziiile permise i s le execute aleatoriu, s
verifice dac un calculator gazd accept dou mesaje fr ca un alt calculator gazd s emit
unul nou ntre ele.
226
CAP. 4
Dar, pentru majoritatea oamenilor, nelegerea protocoalelor care implic mai multe pri este mai
uoar dup ce au neles bine protocoalele care implic dou pri. Pentru acest motiv am deviat
puin de la stilul de prezentare strict ascendent al ierarhiei reelelor.
Modul tradiional de alocare a unui singur canal, cum ar fi cablul telefonic, ntre mai muli
utilizatori concureni este multiplexarea cu diviziunea frecvenei (FDM - Frequency Division
Multiplexing). Dac exist N utilizatori, banda de transmisie este mprit n N pri egale (vezi Fig.
2-24), fiecrui utilizator fiindu-i alocat una dintre acestea. Deoarece fiecare utilizator are o band
de frecven proprie, nu exist interferene ntre utilizatori. Atunci cnd exist doar un numr mic i
constant de utilizatori, fiecare avnd un trafic ncrcat (i bazat pe utilizarea zonelor tampon), cum
ar fi, de exemplu, oficiile de comutare ale companiilor de telecomunicaie, FDM este un mecanism
de alocare simplu i eficient.
Cu toate acestea, atunci cnd numrul emitorilor este mare i variaz n permanen, sau cnd
traficul este de tip rafal, FDM prezint cteva probleme. Dac spectrul benzii este mprit n N
regiuni i mai puin de N utilizatori vor s comunice, o bun parte din band se va risipi. Dac vreau
s comunice mai mult de N utilizatori, unii dintre ei nu o vor putea face, din lips de spaiu n banda
de transmisie, chiar dac unii dintre utilizatorii care au primit cte o parte din band transmit sau
recepioneaz mesaje extrem de rar.
Chiar dac presupunem c numrul utilizatorilor ar putea fi meninut n vreun fel constant
la valoarea N, divizarea singurului canal disponibil n subcanale statice este, evident,
ineficient. Principala problem este c, atunci cnd unii utilizatori sunt inactivi, bucata lor de
band se pierde pur i simplu. Ei nu o folosesc, dar nici alii nu au voie s o utilizeze. Mai mult,
n majoritatea sistemelor de calcul, traficul de date este extrem de inegal (raporturi de 1000:1
ntre traficul de vrf i cel mediu sunt obinuite). n consecin, majoritatea canalelor vor fi
libere n cea mai mare parte a timpului.
Performanele slabe ale alocrii FDM statice pot fi uor observate dintr-un simplu calcul fcut cu
ajutorul teoriei cozilor. S lum, pentru nceput, ntrzierea medie, T, pentru un canal cu capacitatea
C bps, la o rat a sosirilor de X cadre/sec, fiecare cadru avnd o lungime dat de o funcie de
densitate de probabilitate exponenial cu media de l/u. bii/cadru:
T =
\iC-X
Acum s divizm canalul n N subcanale independente, fiecare cu o capacitate de CIN bps. Rata
medie a intrrilor pe fiecare subcanal va fi acum de XIN. Recalculnd T vom obine:
PROBEEMAAIjOGRnGANMIJEUI
Jt=NT
\i(C/N)-(k/N) \iC-X
227
(44)
ntrzierea medie la FDM este de N ori mai mare dect n cazul n care toate cadrele ar fi fost,
printr-o scamatorie, aranjate n ordine ntr-o mare coad central.
Exact aceeai logic utilizat la FDM se poate aplica i la multiplexarea cu diviziunea timpului
(TDM - Time Division Multiplexing). Fiecrui utilizator i este alocat static fiecare a JV-a cuant.
Dac un utilizator nu i folosete timpul alocat, acesta rmne nefolosit. Deoarece nici una dintre
metodele statice de alocare a canalului nu merg bine n condiii de trafic n rafal, vom studia n
continuare metodele dinamice.
4.12 Alocarea dinamic a canalului n reelele LAN i MAN
nainte de a ncepe prezentarea numeroaselor metode de alocare a canalului, care fac obiectul
acestui subcapitol, merit s formulm cu atenie problema alocrii. La baza ntregii activiti din
acest domeniu stau cinci ipoteze-cheie, descrise n continuare.
1.
Modelul staiilor. Acest model const din N staii independente (calculatoare, telefoane,
dispozitive de comunicare personal etc), fiecare genernd cadre de transmis.
Probabilitatea de generare a unui cadru ntr-un interval de lungime A/ este X&t, unde A este
o constant (rata sosirilor de cadre noi). Odat ce a fost generat un cadru, staia se
blocheaz i nu mai face nimic pn la transmiterea cu succes a cadrului.
2.
Ipoteza canalului unic. Exist un singur canal accesibil pentru comunicaie. Toate staiile
pot transmite prin el i pot recepiona de la el. n ceea ce privete partea de hardware, toate
staiile sunt echivalente, dei protocolul software le poate acorda prioriti diferite.
Ipoteza coliziunii. Dac dou cadre sunt transmise simultan, ele se suprapun, iar semnalul
rezultat va fi neinteligibil. Acest eveniment se numete coliziune. Toate staiile pot detecta
coliziuni. Un cadru care a intrat n coliziune cu un alt cadru trebuie retransmis ulterior. Nu
exist alte erori n afara celor generate de coliziuni.
Timp continuu. Transmisia cadrelor poate surveni n orice moment. Nu exist un ceas
comun, care s mpart timpul n intervale discrete.
Timp discret. Timpul este mprit n intervale discrete (cuante). Transmisia cadrelor
pornete ntotdeauna la nceputul unei cuante. O cuanta poate conine 0,1, sau mai multe
cadre, corespunztor unei cuante de ateptare, unei transmisiuni efectuate cu succes i,
respectiv, unei coliziuni.
3.
4.
5.
6.
7.
Detecia purttoarei. Staiile pot afla dac un canal este liber sau nu nainte de a ncerca s-1
utilizeze. Dac el este deja ocupat, nici o staie nu va mai ncerca s l utilizeze pn cnd nu
se va elibera.
Nedetecia purttoarei. Staiile nu pot afla starea canalului nainte de a ncerca s l utilizeze.
Ele pur i simplu ncep s transmit. Abia dup aceea vor putea determina dac transmisia
s-a efectuat cu succes sau nu.
228
CAP. 4
Este momentul s discutm puin despre aceste ipoteze. Prima dintre ele spune c staiile sunt
independente, iar cadrele sunt generate cu o frecvena constant. De asemenea, se presupune
implicit c transmisia fiecrei staii este controlat de un singur program sau de un singur utilizator,
deci atta timp ct staia este blocat, ea nu va genera noi cadre. Modelele mai sofisticate permit
existena staiilor multiprogramate, care pot genera noi cadre n timp ce staia este blocat, dar
analiza acestor staii este mult mai complex.
Ipoteza canalului unic este de fapt inima problemei. Nu exist mijloace externe de comunicare.
Staiile nu pot ridica minile pentru a cere profesorului permisiunea de a vorbi.
Ipoteza coliziunii este, de asemenea, o ipotez de baz, dei n unele sisteme (ntre care
remarcm sistemele cu spectru larg de transmisie) ea este relaxat, cu rezultate surprinztoare. De
asemenea, unele LAN-uri, cum ar fi cele de tip token-ring, utilizeaz un mecanism de eliminare a
conflictelor, care elimin coliziunile..
Exist dou ipoteze alternative despre timp. Intr-una din ele timpul este continuu, iar n
cealalt este discret. Unele sisteme consider timpul ntr-un fel, altele n cellalt fel, aa c le
vom discuta i analiza pe amndou. Evident, pentru un sistem dat, numai una dintre ipoteze
este valabil.
n mod similar, o reea poate avea sau nu faciliti de detecie a purttoarei. Reelele LAN au n
general detecie de purttoare, dar reelele prin satelit nu (datorit ntrzierii mari de propagare).
Staiile din reelele cu detecie de purttoare i pot termina transmisia prematur, dac descoper c
au intrat n coliziune cu o alt transmisie. De notat c aici nelesul cuvntului purttoare" se refer
la semnalul electric de pe cablu i nu are nimic de a face cu vreun alt tip de purttoare.
fest-distrus, ascultnd canalul, la fel ca i ceilali utilizatori. ntr-o reea LAN, reacia este imediat;
ntr-o reea prin satelit, exist o ntrziere de 270 msec nainte ca emitorul s aie dac transmisia sa ncheiat cu succes. n cazul n care cadrul trimis a fost distrus, emitorul ateapt un interval
oarecare de timp i l trimite din nou. Timpul de ateptare trebuie s fie aleatoriu, altfel aceleai
cadre vor intra n coliziune iar i iar, blocndu-se reciproc la nesfrit. Sistemele n care mai muli
utilizatori partajeaz un canal comun ntr-un mod care poate duce la conflicte sunt cunoscute sub
numele de sisteme cu conflicte (contention systems).
n Fig. 4-1 este prezentat o schi de generare a cadrelor ntr-un sistem ALOHA. Am ales s
reprezentm cadre de aceeai lungime, pentru c productivitatea sistemelor ALOHA este
maximizat n cazul n care avem cadre de lungime uniform, fa de cazul n care avem cadre de
lungime variabil.
Utilizator
A
B
C
:"
D
Timp
Fig. 4-1. n ALOHA pur, cadrele sunt transmise la momente complet arbitrare.
Ori de cte ori dou cadre ncearc s ocupe canalul n acelai timp, se va produce o coliziune i
amndou vor fi denaturate. Dac primul bit al unui nou cadru se suprapune cu ultimul bit al unui
cadru aproape terminat, amndou cadrele vor fi total distruse i amndou vor trebui retransmise
mai trziu. Suma de control nu poate (i nu trebuie) s disting ntre o pierdere total i o ratare la
musta". Ceea ce este ru este ru.
O ntrebare foarte interesant este: care este eficiena unui canal ALOHA? Cu alte cuvinte, ce
fraciune din cadrele transmise nu intr n coliziune n aceste circumstane haotice? S considerm
mai nti o colectivitate infinit de utilizatori interactivi stnd n faa calculatoarelor (staiilor) lor.
Un utilizator este ntotdeauna ntr-una din cele dou stri: introduce caractere sau ateapt. Iniial,
toi utilizatorii sunt n prima stare, scriind. Cnd termin o linie, utilizatorul se oprete din scris,
ateptnd un rspuns. Atunci staia transmite pe canal un cadru coninnd linia i verific dac
transmisia s-a efectuat cu succes. Dac da, utilizatorul vede rspunsul i se apuc din nou de scris.
Dac nu? utilizatorul continu s atepte, iar cadrul va fi transmis n mod repetat, pn cnd
transmisia se va ncheia cu succes.
S numim interval de cadru" timpul necesar pentru a transmite un cadru standard, de lungime
fix (adic lungimea cadrului mprit la rata biilor). Vom presupune c populaia infinit de
utilizatori genereaz cadre noi conform unei distribuii Poisson cu media de S cadre pe interval de
cadru (ipoteza populaiei infinite este necesar pentru a ne asigura c 5 nu descrete pe msur ce
230
CAP. 4
utilizatorii se blocheaz). Dac S > 1, utilizatorii genereaz cadre cu o rat mai mare dect
capacitatea de transmisie a canalului i aproape fiecare cadru va suferi o coliziune. Pentru o
productivitate rezonabil ar trebui ca 0 < S < 1.
n plus fa de noile cadre, staiile mai genereaz i copii ale cadrelor care au suferit
anterior coliziuni. S presupunem n continuare c probabilitatea de a avea k ncercri de
transmisie pe interval de cadru, incluznd i retransmisiile, are de asemenea o distribuie
Poisson, cu media G pe interval de cadru. Evident, G > S. La ncrcare redus (adic S ~ 0),
vor fi puine coliziuni, deci puine retransmisii, aa c G ~ S. La ncrcare mare vor fi multe
coliziuni, deci G > S. Orice ncrcare am avea, productivitatea este chiar ncrcarea dat, G,
nmulit cu probabilitatea ca o transmisie s se ncheie cu succes - adic S = GPQ, unde Po este
probabilitatea ca un cadru s nu sufere coliziuni.
Intr n coliziune
cu nceputul
cadrului umbrit
Intr n coliziune
cu sfritul
cadrului umbrit
t o +3t Timp
Vulnerabil
-G
Gke
Pr[*] =
k\
(4-2)
deci probabilitatea generrii a zero cadre este doar e'G. ntr-o perioad de timp ct dou intervale de
cadru, media numrului de cadre generate este 2G. Astfel, probabilitatea ca nici o transmisie s nu
nceap n timpul perioadei de timp vulnerabile este dat de Po = e1G.
SEC. 4.2
231
S=Ge
-2G
Relaia dintre traficul oferit i productivitate este prezentat n Fig. 4-3. Productivitatea maxim
este obinut la G = 0.5, cu S = l/2e, adic aproximativ 0.184. Cu alte cuvinte, cea mai bun
performan la care putem spera este o utilizare a canalului de 18 procente. Acest rezultat nu este
prea ncurajator, dar, n situaia aceasta n care fiecare utilizator transmite la dorin, cu greu ne-am
fi putut atepta la o performan de sut la sut.
0.5
1.0
1.5
2.0
n 1972, Roberts a publicat o metod de dublare a capacitii unui sistem ALOHA (Roberts,
1972). Propunerea lui era s se mpart timpul n intervale discrete, fiecare interval corespunznd
unui cadru. Aceast abordare cere ca utilizatorii s cad de acord asupra mrimii cuantelor. O cale
de a obine sincronizarea ar fi ca o staie special s emit un bip" la nceputul fiecrui interval, ca
un tact de ceas.
n metoda lui Roberts, care a devenit cunoscut sub numele de ALOHA cuantificat (slotted
ALOHA), n contrast cu metoda lui Abramson - ALOHA pur (pure ALOHA), unui calculator nu i
este permis s emit ori de cte ori este apsat tasta Return". El este nevoit s atepte nceputul
urmtoarei cuante. Astfel, protocolul ALOHA pur este transformat din continuu n discret.
Deoarece acum perioada vulnerabil este njumtit, probabilitatea ca n intervalul cadrului nostru
de test s nu mai apar un alt trafic este e"6, ceea ce conduce la:
S = Ge -a
(4-3)
Aa cum reiese din Fig. 4-3, ALOHA cuantificat prezint un maxim la G = 1, cu o productivitate de
S = l/e, adic aproximativ 0.368, dublu fa de ALOHA pur. Dac sistemul opereaz la G = 1,
probabilitatea unei cuante neutilizate este 0.368 (din ecuaia 4-2). Cea mai bun performan la care
232
CAP: 4
ne putem atepta de la ALOHA cuantificat este: 37% din cuante neutilizate, 37% cadre transmise
cu succes i 26% coliziuni. Lucrul cu valori mai mari ale lui G reduce numrul cuantelor neutilizate,
dar l mrete exponenial pe cel al coliziunilor. Pentru a vedea cum se explic rapida cretere a
numrului coliziunilor odat cu G, s considerm transmisia unui cadru de test. Probabilitatea ca el
G
s evite o coliziune este e , adic probabilitatea ca toi ceilali utilizatori s nu transmit n acest
G
interval. Probabilitatea unei coliziuni este deci 1 - e' . Probabilitatea ca o transmisie s se efectueze
exact din k ncercri (adic dup k -1 coliziuni, urmate de un succes) este
Numrul de transmisii prognozat pentru fiecare apsare a tastei Return", E, este deci
k=l
k=\
Ca urmare a dependenei exponeniale a lui E faa de G, creteri mici ale ncrcrii canalului pot
reduce drastic performanele sale.
4.2.2 Protocoale cu acces multiplu i detecie de purttoare
Cu ALOHA cuantificat poate fi obinut o utilizare a canalului de maxim l/e. Acest lucru nu este
surprinztor, dac ne gndim c staiile transmit la dorin, fr a fi atente la ceea ce fac celelalte
staii i, n consecin, vor exista numeroase coliziuni. Oricum, n reelele locale, staiile pot detecta
ce fac celelalte staii i i pot adapta comportamentul n mod corespunztor. Aceste reele pot
obine o utilizare mult mai bun dect 1/e. n aceast seciune vom discuta cteva protocoale de
mbuntire a performanei.
Protocoalele n care staiile ascult pentru a detecta o purttoare (adic o transmisie) i
acioneaz corespunztor se numesc protocoale cu detecie de purttoare (carrier sense protocols).
Kleinrock i Tobagi (1975) au analizat n detalid cteva protocoale de acest tip. n continuare vom
prezenta cteva versiuni ale protocoalelor cu detecie de purttoare.
CSMA persistent i nepersistent
Primul protocol cu detecie de purttoare pe care l vom studia n acest material se numete
CSMA l-persistent (Carrier Sense Multiple Access - acces multiplu cu detecie de purttoare).
Atunci cnd o staie are date de transmis, mai nti ascult canalul pentru a vedea dac nu cumva
transmite altcineva n acel moment. n cazul n care canalul este ocupat, staia ateapt pn la
eliberarea sa. Atunci cnd staia detecteaz canalul liber, transmite un cadru. Dac se produce o
coliziune, staia ateapt o perioad aleatorie de timp i o ia de la nceput. Protocolul se cheam
l-persistent, pentru c staia transmite cu o probabilitate de 1 atunci cnd gsete canalul liber.
ntrzierea de propagare are o influen important asupra performanei protocolului. Exist o
oarecare ans ca, imediat dup ce o staie ncepe s transmit, o alt staie s devin pregtit de
transmisie i s asculte canalul. Dac semnalul primei staii nu a ajuns nc la cea de-a doua, aceasta
din urm va detecta canalul liber i va ncepe la rndul ei s emit, rezultnd o coliziune. Cu ct este
4=2
233
mai mare ntrzierea de propagare, cu att acest efect devine mai important, iar perfomianta
protocolului mai slab.
Chiar dac ntrzierea de propagare ar fi zero, tot s-ar mai produce coliziuni. Dac dou staii
devin gata de transmisie n timpul transmisiunii unei a treia staii, amndou vor atepta politicos
pn la sfritul ei, dup care vor ncepe s transmit simultan, producndu-se o coliziune. Dac ele
nu ar fi att de nerbdtoare, s-ar produce mai puine coliziuni. Chiar i aa, acest protocol este de
departe mai bun dect ALOHA pur, ntruct ambele staii au bunul sim s nu interfereze cu cadrul
celei de-a treia staii. Intuitiv, acest fapt va conduce la o performan mai bun dect ALOHA pur.
Acelai lucru este valabil i pentru ALOHA cuantificat.
Un al doilea protocol cu detecie de purttoare este CSMA nepersistent (nonpersistent CSMA).
n acest protocol, o ncercare contient de transmisie este mai puin lacom" dect n cel anterior,
nainte de a emite, staia ascult canalul. Dac nimeni nu emite, ncepe ea s emit. Dac ns
canalul este ocupat, staia nu rmne ncontinuu n ascultare, pentru a-1 ocupa imediat dup
detectarea sfritului transmisiei precedente. n schimb, ateapt o perioad aleatorie de timp i apoi
repet algoritmul. Intuitiv, acest algoritm ar trebui s conduc la o utilizare mai bun a canalului i la
ntrzieri mai mari dect la CSMA l-persistent.
Ultimul protocol este CSMA p-persistent (p-persistent CSMA). El se aplic la canalele
cuantificate i funcioneaz dup cum este descris n continuare. Cnd o staie este gata s emit, ea
ascult canalul. Dac acesta este liber, va transmite cu o probabilitate/?. Cu o probabilitate q = 1 -p,
ea va atepta urmtoarea cuant. Dac aceast cuant este de asemenea liber, sau va transmite, sau
va atepta din nou, cu probabilitile/? i q. Acest proces este repetat pn cnd cadrul este transmis
sau alt staie ncepe s transmit. n ultimul caz, staia se comport ca i cnd s-ar fi produs o
coliziune (adic ateapt o perioad aleatorie de timp i pornete iar). Dac iniial staia detecteaz
canalul ocupat, ateapt cuanta urmtoare i aplic algoritmul de mai sus. Figura 4-4 arat
productivitatea n funcie de traficul oferit pentru toate cele trei protocoale, precum i pentru
ALOHA pur i ALOHA cuantificat.
CSMA 0.01 persistent
CSMA nepersistent
CSMA 0.1-persistent
CSMA
<*""0.5-persistent
ALOHA
cuantificat
CSMA
3
4
5
6
G (ncercri pe interval de pachet)
234
CAP. 4
Cadru
Perioad de Perioad de
transmisie
conflict
Perioad
inactiv
Timp
Fig. 4-5. CSMA/CD se poate afla ntr-una din urmtoarele stri: conflict,
transmisie sau inactiv.
S privim acum mai ndeaproape detaliile algoritmului de tratare a conflictelor. S presupunem
c dou staii ncep s transmit simultan, exact la momentul t0. Ct timp le va lua ca s-i dea seama
c s-a produs o coliziune? Rspunsul la aceast ntrebare este vital pentru determinarea mrimii
perioadei de conflict, deci i a ntrzierii i a productivitii. Timpul minim de detectare a coliziunii
este chiar timpul necesar propagrii semnalului de la o staie la alta.
Bazndu-ne pe acest raionament, am putea crede c o staie care nu detecteaz nici o coliziune
ntr-o perioad de timp egal cu timpul de propagare pe toat lungimea cablului, perioad msurat
de la nceputul transmisiei, poate fi sigur c a ocupat canalul. Prin ocupat" nelegem c toate
celelalte staii tiu c ea transmite i nu vor interfera cu ea. Aceast concluzie este greit. S
considerm cazul cel mai defavorabil, descris n urmtorul scenariu. Fie x timpul de propagare a
SEC. 4.2
235
236
8 cuante de conflic t
0 1 234567
1
C:a<dre
/
/
>
1
3
CAP. 4
i cuante de conflict
1
0 12 3 4 5 6 7
0 1 234567
SEC 4.2
237
Pentru a evita conflictele, trebuie aplicat o regul de arbitrare: de ndat ce o staie observ c
unul dintre biii superiori ai adresei sale, coninnd un 0, a fost acoperit de un 1, renun s mai emit.
De exemplu, dac staiile 0010,0100,1001 i 1010. ncearc s obin canalul n acelai timp, n timpul
primului bit staiile transmit 0, 0,1 i, respectiv, 1. Aceti bii sunt combinai printr-o operaie SAU,
rezultnd un 1. Staiile 0010 i 0100 vd acest 1 i tiu c o staie cu o adres superioar ncearc s
obin canalul, aa c renun s mai emit n runda curent. Staiile 1001 i 1010 continu.
Urmtorul bit este 0 i ambele staii continu. Urmtorul bit este 1, aa c staia 1001 va renuna.
Ctigtoare este staia 1010, pentru c are adresa cea mai mare. Dup ce a ctigat licitaia, ea poate
transmite un cadru, dup care ncepe o nou rund de licitaii. Protocolul este ilustrat n Fig. 4-7.
Interval de bit
0 12 3
0 0 10
0 10 0
10 0 1
10 0
10
10
10
Rezultat
Staiile 0010
i 0100 vd acest 1
i renun
11
10 11
Staia 1001
vede acest 1
i renun
238
CAP. 4
preferat datorit ntrzierilor miei. Cu ct traficul crete, aceste metode devin tot mai puin atractive,
deoarece ncrcarea suplimentar asociat cu arbitrarea canalului, devine tot mai mare. Exact
inversul acestui efect este valabil pentru protocoalele fr coliziuni. La trafic slab, ele au ntrzieri
mari, dar, pe msur ce traficul crete, eficiena canalului se mbuntete, n loc s se
nruteasc, cum se ntmpl la protocoalele cu conflict.
Evident, ar fi frumos s putem combina cele mai bune proprieti ale protocoalelor cu
conflict cu cele ale protocoalelor fr coliziuni, obinnd un nou protocol care s utilizeze
varianta cu conflict la trafic sczut, pentru a avea ntrzieri mici, i varianta fr coliziuni la
trafic mare, pentru a putea oferi o eficien bun a canalului. Asemenea protocoale, pe care le
vom numi protocoale cu conflict limitat (limited contention protocols), exist i vor ncheia
studiul nostru despre reelele cu detecie de purttoare.
Pn acum, singurele protocoale cu conflict pe care le-am studiat au fost simetrice, adic fiecare
staie ncearc s obin canalul cu o probabilitate p, aceeai pentru toate staiile. Fapt destul de
interesant, performana global a sistemului poate fi uneori mbuntit utiliznd un protocol care
asociaz probabiliti diferite pentru staii diferite.
nainte de a trece la protocoalele asimetrice, s trecem succint n revist performanele cazului
simetric. S presupunem c exist k staii care concureaz pentru obinerea accesului la canal.
Fiecare are o probabilitate p de a transmite n timpul fiecrei cuante. Probabilitatea ca o staie s
obin canalul n timpul unei cuante este kp (1 -pf' \ Pentru a obine valoarea optim pentru p,
derivm n raport cup, egalm rezultatul cu zero i rezolvm pentru p. Vom obine c valoarea cea
mai bun a lui/? este l/k. Substituind/ = \jk, obinem probabilitatea
Pr[succes cu poptim] =
(klT
(4-4)
Aceast probabilitate este reprezentat n Fig. 4-8. Pentru un numr mic de staii ansele de succes
sunt mari, dar probabilitatea scade ctre o valoare asimptotic de l/e nainte chiar ca numrul
staiilor s ating valoarea cinci.
Din Fig. 4-8 reiese clar c probabilitatea ca o staie s obin canalul poate fi crescut doar
reducnd concurena. Protocoalele cu conflict limitat fac exact acest lucru. Mai nti, ele mpart staiile
n grupuri (nu neaprat disjuncte). Doar membrilor grupului 0 li se permite s concureze pentru
cuanta 0. Dac unul din ei reuete, ocup canalul i i transmite cadrul. n cazul n care cuanta
rmne nentrebuinat sau apare o coliziune, membrii grupului 1 vor concura pentru cuanta 1 etc.
Fcnd o mprire corect a staiilor n grupuri, numrul de conflicte pentru fiecare cuant poate fi
redus, aducnd performana corespunztoare fiecrei cuante ctre extrema stnga a Fig. 4-8.
Trucul const n modul n care asociem staiile cuantelor. nainte de a analiza cazul general, s
considerm cteva cazuri particulare. La o extrem, fiecare grup are un singur membru. O astfel de
mprire garanteaz c niciodat nu vom avea coliziuni, pentru c cel mult o staie concureaz
pentru o cuant. Am vzut astfel de protocoale anterior (de exemplu, numrtoarea invers binar).
Urmtorul caz particular este mprirea n grupuri de cte dou staii. Probabilitatea ca amndou
s ncerce s transmit n timpul unei cuante este p2, ceea ce pentru un p mic este o valoare
neglijabil. Pe msur ce unei cuante i sunt asociate mai multe staii, probabilitatea unei coliziuni
crete, n schimb lungimea pachetului de bii, necesar pentru a da fiecruia o ans, se micoreaz.
SEC. 4.2
Gazul limit.este un.singur grup coninnd toate staiile (adic ALQHA cuantificat). Ceea ce ne
trebuie este o cale de a asocia staii cuantelor n mod dinamic, cu multe staii pe cuant atunci cnd
traficul este sczut i puine staii pe euant (sau chiar una singur) atunci cnd traficul este mare.
1.0
0.8
o 0.6
1 0.4
JQ
Jg
8 0.2
Q.
0.0
10
15
Numrul staiilor gata de transmisie
20
25
O cale foarte simpl de a face o asociere bun este utilizarea algoritmului conceput de armata
Statelor Unite n scopul testrii pentru sifilis a soldailor n timpul celui de-al doilea rzboi mondial
(Dorfinan, 1943). Pe scurt, armata preleva eantioane de snge de la N soldai. O poriune din
fiecare eantion era pus n acelai tub de test. Acest eantion mixat era apoi testat pentru anticorpi.
Dac nu era gsit nici un anticorp, toi soldaii din grup erau declarai sntoi. Dac ns erau
prezeni anticorpi, erau preparate dou noi eantioane mixte, unul corespunztor soldailor de la 1
la N/2, iar altul corespunztor celorlali. Procesul era repetat recursiv pn cnd erau determinai
soldaii infectai.
Staii
240
CAP. 4
Pentru versiunea informatic a acestui algoritm (Capetanakis, 1979), cel mai simplu este s ne
nchipuim staiile ca fiind frunzele unui arbore binar, ca n Fig. 4-9. n prima cuant de conflict care
urmeaz dup un cadru transmis cu succes, i anume cuanta 0, toate staiile au permisiunea de a
ncerca ocuparea canalului. Dac numai una din ele ncearc, foarte bine. Dac s-a produs o
coliziune, atunci, n timpul cuantei 1, doar staiile de sub nodul 2 din arbore pot concura. Dac una
din ele obine canalul, cuanta care urmeaz cadrului ce va fi transmis este rezervat pentru staiile de
sub nodul 3. Dac, pe de alt parte, dou sau mai multe staii de sub nodul 2 vor s transmit, se va
produce o coliziune n timpul cuantei 1, caz n care va fi rndul nodului 4 n timpul cuantei 2.
n principiu, dac apare o coliziune n timpul cuantei 0, este cercetat ntregul arbore n adncime,
pentru a localiza toate staiile gata s transmit. Fiecare cuant de un bit este asociat unui nod
particular din arbore. Dac se produce o coliziune, cutarea este continuat recursiv cu fiii stng i
drept ai nodului. Dac o cuant de un bit este liber sau dac o singur staie transmite n timpul ei,
cutarea nodului pentru aceast cuant se poate opri, pentru c toate staiile gata s transmit au
fost localizate (dac erau mai multe dect una s-ar fi produs o coliziune).
Atunci cnd ncrcarea sistemului este mare, nu prea merit s dedicm cuanta 0 nodului
1, pentru c acest lucru ar avea sens doar n eventualitatea - destul de puin probabil - ca o
singur staie s aib un cadru de transmis. Similar, se poate argumenta c nodurile 2 i 3 pot fi
lsate la o parte din aceleai motive. n termeni mai generali, ntrebarea este: la ce nivel din
arbore ar trebui s nceap cutarea? Este clar c, cu ct traficul este mai mare, cu att
cutarea trebuie s nceap mai de jos. Vom considera c fiecare staie deine o estimare
corect a numrului de staii gata s transmit, de exemplu q, obinut din monitorizarea
traficului recent.
Pentru nceput, s numrm nivelurile arborelui ncepnd de la vrf, cu nodul 1 din Fig. 4-9
pe nivelul 0, nodurile 2 i 3 pe nivelul 1 etc. Observai c fiecare nod de pe nivelul i are
dedesubt o fraciune de 2~l din totalul staiilor. Dac cele q staii gata s transmit sunt uniform
distribuite, numrul celor care se afl sub un anumit nod de pe nivelul i este Tq. Intuitiv, ar
trebui ca nivelul optim de ncepere a cutrii s fie cel pentru care numrul mediu de staii
care vor s transmit n timpul unei cuante este 1, adic nivelul la care 2~lq = 1. Rezolvnd
aceast ecuaie vom gsi c i = log2g.
Au fost descoperite numeroase mbuntiri ale algoritmului de baz, care sunt discutate n
detaliu de Bertsekas i Gallager (1992). De exemplu, s considerm cazul n care staiile G iH vor
s transmit. La nodul 1 se va produce o coliziune, aa c va fi ncercat 2, care va fi gsit liber. Este
fr sens s ncercm nodul 3 pentru c este sigur c vom avea o coliziune (tim c dou sau mai
multe staii de sub 1 vor s transmit i nici una dintre ele nu se afl sub 2, deci toate sunt sub 3).
ncercarea lui 3 poate fi srit i se trece la 6. Dac nici aceast ncercare nu d nici un rezultat, 7
poate fi srit i este ncercat G n continuare.
4.2.5 Protocoale cu acces multiplu cu divizarea frecvenei
O abordare diferit a problemei alocrii canalului o reprezint mprirea acestuia n subcanale
utiliznd FDM, TDM, sau amndou, i alocarea lor dinamic dup necesiti. Astfel de metode
sunt frecvent utilizate n LAN-urile cu fibr optic pentru a permite ca transmisiuni diferite s
utilizeze lungimi de und (adic frecvene) diferite n acelai timp. n aceast seciune vom examina
un astfel de protocol (Humblet .a., 1992).
SEC. 4.2
241
~ O cale simpl de construire a urnii LAN cu fibr optic este utilizarea unui cuplor pasiv de tip
stea (vezi Fig. 2-10). Dou fibre de la fiecare staie intr ntr-un cilindru de sticl. O fibr este pentru
transmisia ctre cilindru iar cealalt pentru transmisia de la cilindru. Emisia de lumin de la oricare
din staii ilumineaz cilindrul i poate fi detectat de toate celelalte staii. Stelele pasive pot cupla
pn la sute de staii.
Pentru a permite transmisiuni multiple simultane, spectrul este divizat n canale (benzi de
frecven), ca n Fig. 2-24. n acest protocol, WDMA (Wavelength Division Multiple Access - acces
multiplu cu divizarea frecvenei), fiecrei staii i sunt asociate dou canale. Un canal ngust este
folosit drept canal de control pentru semnalizarea ctre staie, iar unul larg pentru ca staia s poat
trimite cadre de date prin el.
m cuante de timp
pentru control
Staie
Utilizat de B pentru
a transmite date
242
CAP. 4
Fiecare staie are doi emitori i doi receptori, dup cum urmeaz:
1. Un receptor cu lungime de und fix, pentru ascultarea propriului canal de control.
2. Un emitor reglabil pentru comunicarea pe canalul de control al altei staii.
3. Un emitor cu lungime de und fix pentru emisia cadrelor de date.
4. Un receptor reglabil pentru selectarea emitorului de ascultat.
Cu alte cuvinte, fiecare staie i ascult propriul canal de control pentru cererile care sosesc, dar
trebuie s se regleze pe frecvena emitorului pentru a primi datele. Reglarea frecvenei este
realizat cu un interferometru Fabry-Perot sau Mach-Zehnder, care elimin prin filtrare toate
frecvenele, cu excepia celei dorite.
S urmrim acum modul n care staia^ stabilete un canal de comunicaie de clas 2 cu staia B
pentru, s zicem, un transfer de fiiere. Mai nti, A i regleaz receptorul de date pe frecvena
canalului de date al lui B i ateapt cuanta de stare. Aceast cuant precizeaz care cuante de
control sunt ocupate i care sunt libere. De exemplu, n Fig. 4-10 se observ c din cele opt cuante de
control ale lui B, 0,4 i 5 sunt libere. Restul sunt ocupate (fapt indicat prin cruciulie).
A alege una din cele trei cuante de control, s zicem 4, i i insereaz mesajul CONNECT
REQUEST n ea. Cum B i ascult permanent canalul de control, vede cererea i o. aprob
acordnd cuanta 4 lui A. Aceast decizie este anunat n cuanta de stare a canalului de control.
Atunci cnd A vede anunul, va ti c s-a stabilit o conexiune unidirecional. Dac A cerea o
conexiune bidirecional, B ar fi trebuit s repete acelai algoritm cu A
Este posibil ca n timp ce A cuta s ocupe cuanta 4 de control a lui B, C s fac acelai
lucru. Nici o staie nu o va obine i amndou vor observa eecul supraveghind cuanta de
stare din canalul de date al lui B. Ele vor atepta n continuare un interval de timp aleatoriu,
dup care vor ncerca din nou.
n acest moment, fiecare parte are o cale fr conflicte pentru trimiterea de scurte mesaje de
control ctre cealalt. Pentru a realiza transferul de fiiere, A va trimite ctre B un mesaj de control,
spunnd, de exemplu, Te rog urmrete-mi urmtoarea cuant 3 de date de ieire. n ea se afl un
cadru de date pentru tine". Cnd B primete mesajul de control, i va regla receptorul pe canalul de
ieire al lui A pentru a citi cadrul de date. Bazndu-se pe un protocol de nivel mai nalt, B poate
utiliza acelai mecanism pentru a trimite napoi o confirmare, dac dorete.
De notat c apare o problem cnd A i C au conexiuni ctre B i fiecare i spune s se uite la
cuanta 3. B va alege una dintre ele la ntmplare, iar cealalt transmisie va fi pierdut.
La trafic constant este utilizat o variant a acestui protocol. Atunci candel cere o conexiune, ea
spune n acelai timp ceva de genul: este n regul dac i voi trimite cte un cadru n fiecare cuant
3? Dac B poate accepta (adic nu i-a luat nici un angajament pentru cuanta 3), este stabilit o
conexiune cu lrgime de band garantat. Dac nu, A poate ncerca din nou cu o alt propunere, n
funcie de cuantele de ieire libere.
Traficul de clas 3 (datagrame) utilizeaz o alt variant. n loc s scrie un mesaj
CONNECTION REQUEST n cuanta de control pe care tocmai a gsit-o (4), va scrie un mesaj
DATA FOR YOU N SLOT 3 (n cuanta 3 se afl date pentru tine). Dac B este liber n timpul
urmtoarei cuante 3 de date, transmisiunea va reui. Altfel, cadrul de date se va pierde. n acest fel
nu vom avea niciodat nevoie de conexiuni.
SEC. 4.2
243
. Simt posibile mai multe variante ale ntregului protocol De exemplu, n loc s i asigurm
fiecrei staii propriul canal de control, toate staiile pot partaja un singur canal de control. Fiecrei
staii i este asociat un bloc de cuante n fiecare grup, multiplexnd astfel mai multe canale virtuale
ntr-un singur canal fizic.
De asemenea ne putem descurca cu un singur emitor reglabil i un singur receptor reglabil pe
staie, diviznd canalul fiecrei staii n m cuante de control, urmate de n + 1 cuante de date.
Dezavantajul const n faptul c emitorii trebuie s atepte mai mult pentru a obine o cuant de
control, iar cadrele de date consecutive vor fi separate din cauza informaiilor de control de pe canal.
Au mai fost propuse i numeroase alte protocoale WDMA, care se deosebesc prin detalii. Unele
au un canal de control, altele au mai multe. Unele iau n considerare ntrzierea de propagare, altele
nu; unele consider timpul de reglare a frecvenei ca fcnd parte explicit din model, altele l ignor.
De asemenea protocoalele se deosebesc prin complexitatea prelucrrii, productivitate i
scalabilitate. Pentru mai multe informaii, vezi (Bogineni .a., 1993; Chen, 1994; Chen i Yum, 1991;
Jia i Mukherjee, 1993; Levine i Akyldiz, 1995; Williams .a., 1993).
4.2.6 Protocoale pentru reele LAN iar fir
Pe msur ce numrul de echipamente de calcul i comunicaie crete, acelai lucru se
ntmpl i cu nevoia lor de conectare la lumea exterioar. Chiar i primele telefoane portabile
aveau posibilitatea de a se conecta la alte telefoane. Primele calculatoare portabile nu au avut
aceast posibilitate, dar curnd dup aceea, modemurile au devenit un lucru obinuit. Pentru a
comunica, aceste calculatoare trebuia s fie conectate la o priz telefonic de perete.
Necesitatea unei conexiuni prin cablu la o reea fix nsemna c de fapt calculatoarele, dei
erau portabile, nu erau mobile.
Pentru a obine o adevrat mobilitate, calculatoarele portabile trebuie s utilizeze pentru
comunicaie semnale radio (sau infraroii). Astfel, utilizatorii dedicai pot citi sau trimite pota
electronic n timp ce merg cu maina sau cu vaporul. Un sistem de calculatoare portabile care
comunic prin radio poate fi privit ca un LAN fr fir. Aceste LAN-uri au proprieti oarecum
diferite fa de LAN-urile convenionale i necesit protocoale speciale pentru subnivelul MAC. n
aceast seciune vom examina cteva din aceste protocoale. Mai multe informaii despre LAN-urile
fr fir pot fi gsite n (Davis i McGuffin, 1995 i Nemzow, 1995).
O configuraie obinuit pentru un LAN fr fir este o cldire cu birouri, cu staiile de baz
amplasate strategic n jurul cldirii. Toate staiile de baz sunt interconectate prin cabluri de cupru
sau fibr optic. Dac puterea de emisie a staiilor de baz i a calculatoarelor portabile este reglat
la o raz de aciune de 3 sau 4 metri, atunci fiecare camer devine o singur celul, iar ntreaga
cldire devine un mare sistem celular, ca n sistemele de telefonie celular tradiional, pe care le-am
studiat n Cap. 2. ns, spre deosebire de sistemele de telefonie celular, fiecare celul are un singur
canal, acoperind ntreaga lrgime de band disponibil. n mod normal, lrgimea de band a
canalului este de 1-2 Mbps.
n discuia care urmeaz vom presupune, pentru simplificare, c toi emitorii radio au un
domeniu fix. Atunci cnd un receptor se afl n raza a doi emitori activi, semnalul rezultat va fi, n
general, amestecat i neutilizabil (cu cteva excepii care vor fi discutate mai trziu). E important s
ne dm seama c n unele LAN-uri fr fir nu toate staiile se afl n domeniul celorlalte, ceea ce
244
CAP. +
duce la o serie de complicaii. Mai mult, pentru LAN-uri de incint fr fir, prezena pereilor ntre
staii poate avea un impact major asupra domeniului efectiv al fiecrei staii.
O abordare naiv n construirea unui LAN fr fir o constituie ncercarea de utilizare a
CSMA: ascultarea celorlalte transmisiuni i transmisia numai n cazul n care nimeni nu
transmite. Problema este c acest protocol nu este chiar potrivit, pentru c ceea ce conteaz
este interferena la receptor, nu la emitor. Pentru a vedea natura problemei, s privim
Fig. 4-11, n care apar patru staii nelegate prin cablu. Pentru ceea ce vrem s artm nti
conteaz care sunt staii de baz i care sunt calculatoare portabile. Domeniul (de recepie)
radio are proprietatea c A i B sunt fiecare n domeniul celeilalte i pot interfera una cu
cealalt. i C poate s interfereze att cu B ct i cu D, dar nu cu A
vi/
/T\
*
Domeniul radio
(a)
'
(b)
SEC. 4.2
245
MACAiMACAW
Unul dintre primele protocoale concepute pentru LAN-uri fr fir este MACA (Multiple Access
with Collision Avoidance - acces multiplu cu evitarea coliziunii) (Karn, 1990). El a fost utilizat ca
baz pentru standardul de LAN fr fir IEEE 802.11. Ideea de baz care st n spatele su este ca
emitorul s stimuleze receptorul s emit un scurt cadru, astfel nct staiile apropiate s poat
detecta aceast transmisiune i s nu emit i ele pe durata cadrului (mare) de date care urmeaz.
MACA este ilustrat n Fig. 4-12.
Domeniul de transmisie al lui A
Domeniul de
transmisie al lui B
(a)
(b)
246
CAP. 4
n ciuda acestor precauii, nc mai pot aprea coliziuni. De exemplu, B i C ar putea transmite
simultan cadre RTS ctre .4. Ele vor intra n coliziune i se vor pierde. n eventualitatea unei
coliziuni, un emitor care nu a avut succes (adic unul care nu aude un CTS n intervalul de timp
prevzut) va atepta o perioad de timp aleatorie i va ncerca din nou. Algoritmul utilizat este cel d<
regresie exponenial binar, pe care l vom studia cnd vom ajunge la LAN-ul IEEE 802.3.
Bazat pe studii de simulare a MACA, Bharghavan .a. (1994) au reuit pn la urma s
mbunteasc performanele MACA i au redenumit noul lor protocol MACAW. La nceput, ei aii
observat c, fr confirmri ale nivelului legtur de date, cadrele pierdute nu erau retransmise pn
cnd, mult mai trziu, nivelul transport le observa absena. Au rezolvat aceast problem
introducnd un cadru de confirmare ACK dup fiecare cadru de date transmis cu succes. Tot ei au
mai observat c CSMA are o oarecare utilitate, i anume s opreasc o staie de la a transmite un
RTS concomitent cu o alt staie apropiat care face acelai lucru ctre aceeai destinaie, aa c a
fost adugat i detecia de purttoare. n plus, ei au mai decis s execute algoritmul de regresie
separat pentru fiecare flux de date (pereche surs-destinaie), iar nu pentru fiecare staie. Aceast
schimbare mbuntete echitatea protocolului. n final, pentru a mbunti performanele
sistemului, au mai adugat un mecanism ce permite staiilor s schimbe informaii despre congestia
reelei, precum i o cale de a face ca algoritmul de regresie s reacioneze mai puin violent la
problemele temporare.
4.2.7 Radioul celular digital
O a doua form de reele fr fir o reprezint radioul celular, succesor al sistemului AMPS, pe
care l-am studiat n cap.2. Radioul celular digital prezint un mediu oarecum diferit fa de LANurile fr fir i utilizeaz protocoale diferite. n particular, el este orientat ctre telefonie, care cere
mai degrab conexiuni de ordinul minutelor, dect al milisecundelor, deci este mai eficient alocarea
canalelor per convorbire, dect per cadru. Oricum, ambele termici sunt egal valabile n cazul
traficului de date. n aceast seciune vom trece n revist trei abordri radical diferite n alocarea
canalelor pentru sistemele radio digitale fr fir, i anume GSM, CDPD i CDMA.
GSM - sistem global pentru comunicaii mobile
Prima generaie de telefoane celulare a fost analogic, dup cum am descris n capitolul 2, dar
generaia actual este digital, utiliznd pachete radio. n cazul comunicaiilor mobile, transmisia
digital are cteva avantaje fa de cea analogic. Primul: vocea, datele i faxul pot fi integrate ntrun singur sistem. Al doilea: cu ct sunt descoperii algoritmi mai buni de compresie a vocii, cu att
este nevoie de o lrgime de band mai ngust pentru fiecare canal. Al treilea: pentru mbuntirea
calitii transmisiunii pot fi folosite coduri corectoare de erori. n fine, semnalele digitale pot fi
criptate, pentru asigurarea securitii.
Dei ar fi fost frumos ca ntreaga lume s fi adoptat acelai standard digital, acest lucru nu s-a
ntmplat. Sistemul Statelor Unite, IS-54, i sistemul japonez, JDC, au fost concepute pentru a fi
compatibile cu propriile sisteme analogice aflate n uz, astfel nct fiecare canal AMPS s poat fi
utilizat att pentru comunicaii analogice, ct i digitale.
n schimb, sistemul digital european, GSM (Global System for Mobile Communications), a
fost conceput de la nceput ca un sistem pur digital, fr vreun compromis de dragul
SEC. 4.2
247
compatibilitii napoi (de exemplu, utilizarea cuantelor de frecven existente). ntruct GSM
este mai naintat fa de sistemul Statelor Unite i este utilizat curent n peste 50 de ri din
Europa i din afara ei, l vom folosi ca exemplu de radio celular digital.
GSM a fost proiectat iniial pentru a fi utilizat n banda de 900 MHz. Mai trziu au fost alocate
frecvene i la 1800 MHz, iar un al doilea sistem, asemntor cu GSM, a fost instalat acolo. El a fost
numit DCS1800, dar, n esen, este GSM.
Standardul GSM are peste 5000 de pagini [sic!]. O bun parte din acest material se refer la
aspectele inginereti ale sistemului, n special la structura receptoarelor care permit propagarea pe
mai multe ci i la sincronizarea emitorilor i receptorilor.
Cadru TDM
Canal
124'
959.8 MHz
935.4 MHz
1 M MII
935.2 MHz I N I M I
1 ftM I I 1 1
I N I M I
1 11 II II
i II II
Baz
ctre mobil
1 11 II 1 1
II II 1 1 1
xo
124
914.8 MHz
890.4 MHz
890.2 MHz
N
I
W\ I
!,!
I i
Timp
III
pi
I
Mobil
ctre baz
248
CAP. 4
cmpuri de Informaie (Information) de cte 57 de bii, fiecare avnd un bit de control care ne arat
dac urmtorul cmp de Informaie este pentru voce sau date. ntre cmpurile de Informate se afl
un cmp (de pregtire) de 26 de bii, Sync, utilizat de receptor pentru a se sincroniza cu capetele
cadrului emitorului. Un cadru de date este transmis n 547 usec, dar un emitor are voie sa
transmit un cadru de date doar la fiecare 4.615 msec, ntruct mparte canalul cu alte apte staii.
Rata total a fiecrui canal este de 270 833 bps, mprit la opt utilizatori. Scznd ncrcarea
suplimentar, fiecare conexiune poate transmite un semnal de voce compresat sau 9600 bps de date.
Dup cum se poate vedea n Fig. 4-14, opt cadre de date formeaz un cadru TDM, iar 26 de
cadre TDM formeaz un multicadru de 120 msec. Din cele 26 de cadre TDM ale unui multicadru,
cuanta 12 este utilizat pentru control iar cuanta 25 este rezervat pentru utilizri viitoare, astfel
nct doar 24 sunt disponibile pentru traficul utilizatorilor.
Totui, pe lng cele 26 de cuante ale multicadrului din Fig. 4-14, este utilizat i un multicadru de
51 de cuante (care nu apare n figur). Unele dintre aceste cuante sunt utilizate pentru a pstra
cteva canale de control folosite la administrarea sistemului. Canalul de control al difuzrii
(broadcast control channel) este un flux continuu de date emis de staia de baz i conine
identitatea acesteia i starea canalului. Toate staiile mobile i urmresc cu atenie semnalul, pentru a
sti cnd au trecut ntr-o nou celul.
0 1 2 3
r
\:adru
l1 I1
II I1
4
....-"
Cadru de date
de 148 de bii emis n 547 usec
000 Informaie
Bii
/
Rezervat
pentru
57
Sync
viitoare
7
S
Timp de
siguran
de 8,25 bii
(30 usec)
Informaie 000
\ 26 /
57
Bit de voce/date
SEC, 4.2
,a detecta-. apelurile la. care ..trebuie s rspund.. Al; doilea jeste canalul cu acces aleatoriu
(random access channel), care funcioneaz pe principiul unui sistem ALOHA cuantificat, pentru a
permite staiilor mobile s cear o cuant pe canalul de control dedicat. Cu ajutorul acestei cuante, o
staie poate iniia o convorbire. Cuanta acordat este anunat pe cel de-al treilea subcanal, canalul
de acordare a accesului (access grant channel).
n concluzie, GSM este un sistem relativ complex. El asigur accesul la canal utiliznd o
combinaie de ALOHA cuantificat, FDM i TDM. Pentru mai multe informaii despre GSM,
inclusiv despre aspecte ale sistemului pe care nu le-am discutat, de exemplu arhitectura pe niveluri a
protocolului, vezi (Rahnema, 1993).
CDPD - pachete de date digitale celulare
GSM se bazeaz, n principal, pe comutare de circuite. Un calculator mobil cu un modem special
poate realiza un apel utiliznd un telefon GSM n acelai mod n care lLar realiza printr-un telefon
cablat. Totui, utilizarea acestei strategii nu este lipsit de probleme. Pe de o parte, schimbarea
staiei de baz este frecvent, uneori chiar i pentru utilizatorii staionari (staiile de baz i pot
transfera utilizatorii ntre ele, pentru echilibrarea ncrcrii), iar fiecare transfer nseamn o pierdere
de circa 300 msec de date. Pe de alt parte, GSM poate suferi de o rat nalt a erorilor. Tastarea
A
unui a" i afiarea lui ca m" devine suprtoare. In fine, apelurile fr fir sunt scumpe i nota de
plat crete rapid, deoarece taxarea se face pe minut de conectare, nu pe octet transmis.
O ncercare de rezolvare a acestor probleme este reprezentat de un serviciu de datagrame
digitale cu comutare de pachete numit CDPD (Cellular Digital Packet Data). El este construit
deasupra AMPS (vezi Cap. 2) i este pe deplin compatibil cu acesta. n principiu, orice canal liber de
30 KHz poate fi obinut temporar pentru transmisia de cadre de'date la o rat total de 19,2 Kbps.
Pentru c CDPD implic o mic ncrcare suplimentar, rata net a datelor se situeaz aproape de
9600 bps. Totui, un sistem de datagrame fr fir, neorientat pe conexiune, pentru transmisia, de
exemplu, a pachetelor IP, utiliznd actualul sistem de telefonie celular; este o propunere
interesant pentru muli utilizatori i de aceea utilizarea ei este tot mai frecvent.
CDPD urmeaz ndeaproape modelul OSI. Nivelul fizic se ocup cu detaliile modulaiei i
transmisiei radio, care nu ne intereseaz aici. De asemenea, exist protocoale pentru nivelurile
legtur de date, reea i transport, dar nici ele nu ne intereseaz n mod special. n schimb,
vom da o descriere general a sistemului, iar apoi vom descrie protocolul de acces la mediu.
Pentru mai multe informaii despre ntreg sistemul CDPD, vezi (Quick i Balachandran, 1993).
Un sistem CDPD este format din trei tipuri de staii: gazde mobile, staii de baz i staii de
baz de interfa (n jargon CDPD: sisteme finale mobile, sisteme de Base de date mobile i,
respectiv, sisteme intermediare de date mobile). Aceste staii interacioneaz cu gazdele
staionare i eu ruterele standard, de tipul celor care se gsesc n orice WAJNb Gazdele mobile
sunt calculatoarele portabile ale utilizatorilor. Staiile de baz sunt emitorii care emit ctre
gazdele mobile. Staiile de interfa.de baz sunt noduri speciale care interfaeaz toate staiile
de baz din zona unui furnizor de CDPD cu un ruter standard (fix), pentru a transmite mai
departe prin Internet sau alt WAN. Aceast configuraie este prezentat n Fig. 4-15.
n CDPD sunt definite trei tipuri de interfee. Interfaa E (E-interface), extern furnizorului de
CDPD,; conecteaz o zon CDPD la o reea fix. Aceast interfa trebuie bine definit, pentru a
permite CDPD, s se conecteze la o varietate de reele. Interfaa I (I-interface), intern furnizorului
250
CAP. 4
de GDPD, conecteaz dou zone CDPD. Ea trebuie s fie standardizat, pentru a permite
utilizatorilor s treac de la o zon la alta. A treia interfa este interfaa A (A-interface), interfaa
aerian, ntre staia de baz i gazdele mobile. Aceasta este cea mai interesant, aa c acum o vom
examina mai de aproape.
Ctre reeaua fix
Ctre reeaua fix
v
Interfaa
Ruter
Staia de
interfa
de baz
Interfaa A
Staie de
baz
Gazd
mobil
SEC
. 4.2
251
d&me; liber. ntr-un fel, se aseamn cu protocolul CSMA p-persistent discret, menionat anterior,
deoarece i el utilizeaz cuante de timp discrete pe ambele canale.
Necazul este c, n ciuda DSMA, nc mai este posibil o coliziune cu alt gazd mobil,
deoarece dou sau mai multe dintre ele pot alege aceeai cuant de timp pentru a ncepe
emisia. Pentru a permite gazdelor mobile s descopere dac au suferit sau nu o coliziune, un
bit indicator din fiecare microbloc arat dac microblocul precedent de pe canalul tur a fost
recepionat corect. Din nefericire, staia de baz nu poate determina acest lucru instantaneu
dup terminarea unui microbloc, astfel c recepia corect/incorect a microblocului n este
ntrziat pn la microblocul n + 2.
ntruct nu poate aprecia dac o transmisiune s-a efectuat cu succes, n cazul n care un emitor
are mai multe blocuri de transmis, le va transmite pur i simplu, fr a fi nevoit s capete din nou
canalul. Dac n cuanta de timp urmtoare constat c transmisia sa anterioar a euat, se oprete.
Altfel, va continua s transmit, pn la un anumit numr maxim de blocuri Reed-Solomon sau
pn cnd staia de baz seteaz un bit indicator pe canalul retur, pentru a-i spune c deocamdat a
auzit destul de la respectivul emitor.
O proprietate suplimentar a CDPD este c utilizatorii de date sunt un fel de ceteni de
categoria a doua. Atunci cnd o nou transmisiune de voce este pe cale s primeasc un canal
utilizat momentan pentru CDPD, staia de baz emite un semnal special pe retur, nchiznd canalul.
Dac staia de baz cunoate deja numrul noului canal CDPD, l anun. Altfel, pentru a-1 gsi,
gazdele mobile trebuie s a vneze dintr-o mulime cunoscut de poteniale canale CDPD. n acest
fel, CDPD poate absorbi orice capacitate liber dintr-o celul, fr a interfera cu vocea.
Ar trebui s rezulte clar din aceast descriere c CDPD a fost adugat sistemului de voce dup
ce acesta din urm era deja operaional, iar proiectarea sa era constrns de faptul c nu se puteau
efectua modificri asupra sistemului de voce. n consecin, atunci cnd se execut selecia canalului
pentru transmisiuni vocale, algoritmul nu ine cont de existena CDPD. Acesta este motivul pentru
care canalul CDPD este uneori confiscat brusc. Oricum, nimic nu ne mpiedic s avem canale
CDPD dedicate. Cu ct CDPD crete n popularitate, cu att este mai probabil ca furnizorii s
rezerve canale exclusiv pentru el.
252
CAP. 4
- -s,i; =0
(4-5)
;=i
Altfel spus, toate perechile care se pot forma sunt diferite ntre ele. Aceast proprietate de
ortogonalitate se va dovedi crucial mai trziu. De notat c dac S T = 0, atunci i S ~T este tot 0.
Produsul scalar normat al oricrei secvene de achii cu sine nsi este 1:
SEC. 4.2
A:0001 1 0 1 1
B: 0 01 01 1 1 0
C: 01:01 1 100
D: 01 0 0 0 0 1 0
253
A: (-1-1-1+1+1 -1+1+1)
B: (-1 -1 +1 -1 +1 +1 +1 -1)
C:(-1 +1 -1 +1 +1 +1-1 -1)
D: (-1 +1 -1 -1 -1 -1 +1 -1)
(a)
(b)
ase exemple:
1-1110-1011111
1101
C
B+C
A+B
A + B +C
A+B+C+D
A + B + C +D
S, = (-1+1-1+1+1+1-1-1)
S2 = (-2 0 0 0+2+2 0-2)
S 3 = (0 0-2+2 0-2 0+2)
S 4 = (-1+1-3+3-1-1-1+1)
S 5 = (-4 0-2 0+2 0+2-2)
S6 = (-2-2 0 - 2 0-2 + 4 0)
(c)
s,. c = (1+1+1+1+1+1+1
5 2 . C = (2 +0 +0 +0 +2 +2 +0 +2)/8 = 1
5 3 . C = (0 +0 +2 +2 +0 -2+0 -2)/8 = 0
5 4 . C = (1 +1 +3 +3 +1 -1 +1 -1)/8 = 1
5 5 . C = (4 +0 +2 +0+2 +0 -2 +2)/8 = 1
5 6 . C = (2 -2 +0 -2 +0 -2 -4 +0)/8 = -1
(d)
Fig. 4-16. (a) Secvenele de achii binare pentru patru staii, (b) Secvenele de achii bipolare,
(c) ase exemple de transmisii, (d) Recuperarea semnalului staiei C.
Acest lucru se ntmpl deoarece fiecare din cei m termeni ai produsului scalar este 1, astfel c
suma este m. De notat de asemenea c S " S = -1.
n timpul fiecrui interval de bit, o staie poate transmite un 1 emind propria secven de
achii, sau poate transmite un 0 emind complementul secvenei sale de achii, sau poate s nu
transmit nimic. Pentru moment vom presupune c toate staiile sunt sincronizate n timp, astfel c
toate secvenele de achii ncep n acelai moment.
Cnd dou sau mai multe staii transmit simultan, semnalele lor bipolare se adun liniar. De
exemplu, dac ntr-un interval de achie trei staii emit +1 i o staie emite -l, rezultatul este +2.
Putem privi aceasta ca pe o adunare de tensiuni: trei staii emit +1 volt i o staie emite -l volt,
rezultnd 2 voli.
n Fig. 4-16(c) avem ase exemple de una sau mai multe staii transmind simultan. n primul
exemplu, C transmite 1 bit 1, deci vom obine secvena de achii a lui C. n al doilea exemplu, att B
ct i C transmit bii de 1, deci vom obine suma secvenelor lor de achii bipolare, i anume:
(-1 -l +1 -l +1 +1 +1 -1) + (-1 +1 -l +1 +1 +1 -l -1) = (-2000+2 +20-2)
n cel de-al treilea exemplu, staia A emite un 1 iar staia B emite un 0. Celelalte tac. n al
patrulea exemplu, A i C emit cte un bit 1, n timp ce B emite un bit 0. n al cincilea exemplu, toate
cele patru staii emit cte un bit 1. n final, n ultimul exemplu, A, B, i D emit cte un bit 1, n timp
254
CAP. 4
ce C emite un bit 0. S notm c fiecare dintre cele ase secvene, Si pn la S6, date n Fig. 4-16(c)
reprezint durata unui singur bit.
Pentru a reface irul de bii al unei staii individuale, receptorul trebuie s cunoasc dinainte
secvena de achii a staiei. El face recuperarea calculnd produsul scalar normat ntre secvena de
achii recepionat (suma liniar a tuturor staiilor care au transmis) i secvena de achii a staiei al
crei ir de bii ncearc s l refac. Dac secvena de achii recepionat este S i receptorul
ncearc s asculte de la o staie a crei secven de achii este C, atunci va calcula doar produsul
scalar normat, S*C.
Pentru a vedea de ce se ntmpl aa, imaginai-v dou staii, A i C, ambele transmind un bit
1 n acelai timp n careB transmite un bit 0. Receptorul primete suma: S = A + ~B + Ci
calculeaz:
SC = (A + ~B + C)C = AC + -BC + O C = 0 + 0 + 1 = 1
Primii doi termeni dispar, deoarece toate perechile de secvene de achii au fost alese cu grij pentru
a fi ortogonale, ca n ecuaia (4-5). Acum ar trebui s fie clar de ce aceast proprietate trebuie
impus secvenelor de achii.
Un alt mod de a gndi relativ la aceast situaie este de a ne imagina toate cele trei secvene de
achii sosite separat, n loc s fie nsumate. Atunci receptorul ar calcula produsul scalar cu fiecare
separat i ar aduna rezultatele. Datorit proprietii de ortogonalitate, toate produsele interne n
afar de C C ar fi 0. Adunndu-le i apoi fcnd produsul lor scalar este, de fapt, acelai lucru cu
calculul produselor interne i adunarea acestora.
Pentru a face procesul de decodificare mai concret, s considerm din nou cele 6 exemple din
Fig. 4-16(d). S presupunem c receptorul este interesat n extragerea bitului trimis de staia C din
fiecare din cele ase sume de la Si la S6. Ea calculeaz acest bit prin nsumarea perechilor de produse
ntre vectorul S recepionat i vectorul C din Fig. 4-16(b), lund apoi 1/8 din rezultat (deoarece n
acest caz m - 8). Aa cum am artat, de fiecare dat este decodificat bitul corect. Este ca i cum s-ar
fi vorbit franceza.
ntr-un sistem CDMA ideal, fr zgomote, capacitatea (adic numrul de staii) poate fi mrit
arbitrar de mult, aa cum i capacitatea unui canal Nyquist fr zgomote poate fi mrit arbitrar de
mult prin utilizarea unui numr tot mai mare de bii pe eantion. n practic, limitrile fizice reduc
considerabil capacitatea. La nceput, am presupus c toate achiile sunt sincronizate n timp. n
realitate, aceasta este imposibil de realizat. Ceea ce se poate face este ca emitorul i receptorul s
se sincronizeze prin expedierea de ctre emitor a unei secvene de achii cunoscute, suficient de
lung pentru ca receptorul s o poat localiza. Astfel, toate celelalte transmisii (nesincronizate) sunt
percepute ca un zgomot aleatoriu. Dac ele nu sunt prea numeroase, algoritmul fundamental de
decodificare funcioneaz totui destul de bine. Exist multe situaii referitoare la suprapunerea
secvenei de achii cu nivelul de zgomot (Pickholtz .a., 1982). Aa cum v putei atepta, cu ct o
secven de achii este mai lung, cu att este mai mare probabilitatea detectrii ei corecte n
prezena zgomotului. Pentru o mai mare siguran, secvena de bii poate folosi un cod corector de
erori. Secvenele de achii nu folosesc niciodat coduri corectoare de erori.
O presupunere implicit n discuia anterioar este c nivelurile de putere ale tuturor staiilor sunt
aceleai cu cele percepute de receptor. Protocolul CDMA este folosit n mod obinuit pentru sistemele
fr fir cu o staie de baz fix i multe staii mobile la distane variabile de aceasta. Nivelurile de putere
SEC. 43
255
recepionate la staia de baz depind dest de departe sunt emt^toL^n acest caz, o euristic bun
este ca fiecare staie mobil s emit ctre staia de baz la un nivel invers de putere fa cel primit de
la staia de baz, astfel nct o staie mobil eare recepioneaz un semnal slab de la baz va folosi mai
mult putere dect una care primete un semnal puternic. De asemenea, staia de baz poate s
comande staiilor mobile s creasc sau s scad puterea lor de emisie.
De asemenea, am presupus c receptorul tie cine este emitorul. n principiu, avnd
suficient capacitate de calcul, receptorul poate asculta toi emitorii deodat, prin rularea
algoritmului de decodificare pentru fiecare dintre ei n paralel. n viaa real ns, este
suficient s spunem c este mai uor de zis dect de fcut. CDMA are nc i muli ali factori
complicai, care au fost trecui cu vederea nr aceast scurt introducere. Cu toate acestea,
CDMA este o strategie inteligent care este rapid introdus n comunicaiile mobile fr fir.
Cititorii care au cunotine solide de inginerie electric i care vor s aprofundeze studiul CDMA
pot citi (Viterbi, 1995). Q strategie alternativ de eantionare, n care eantionarea se face mai
degrab n timp dect n frecven, este descris n (Crespo .a., 1995).
43
Discuia noastr general asupra protocoalelor abstracte de alocare a canalelor s-a ncheiat, aa
c este timpul s vedem cum se aplic aceste principii sistemelor reale, n particular LAN-urilor. Aa
cum am discutat n seciunea 1.7.2, IEEE a produs cteva standarde pentru LAN-uri. Acestea,
cunoscute colectiv ca IEEE 802, includ CSMA/CD, token-bus i token-ring. Diversele standarde
difer la nivelul fizic i la subnivelul MAC, dar sunt compatibile la nivelul legturii de date.
Standardele IEEE 802 au fost adoptate de ANSI ca standarde naionale americane, de NIST ca
standarde guvernamentale i de ISO ca standarde internaionale (cunoscute ca ISO 8802). Ele sunt
surprinztor de inteligibile (fa de alte standarde).
Standardele sunt divizate n pri, fiecare parte fiind publicat ca o carte separat. Standardul
802.1 face o introducere n setul de standarde i definete primitivele de interfa. Standardul 802.2
descrie partea superioar a nivelului legtur de date, care folosete protocolul LLC (Logical Iink
Control - controlul legturii logice). Prile ntre 802.3 i 802.5 descriu trei standarde de LAN,
CSMA/CD, token-bus i, respectiv, token-ring. Fiecare standard acoper protocoalele de nivel fizic
i de subnivel MAC. Urmtoarele trei seciuni se refer la aceste trei sisteme. Informaii
suplimentare pot fi gsite n (Stallings, 1993b).
4.3.1 Standardul IEEE 8023 i ETHERNET
Standardul IEEE 802.3 este proiectat pentru un LAN CSMA/CD l-persistent. Pentru a trece n
revist ideea, atunci cnd o staie dorete s transmit, ascult cablul. Dac este ocupat, staia ateapt
pn cnd acesta devine liber; dac nu, transmite imediat Dac dou sau mai multe staii ncep s
transmit simultan pe un cablu liber, ele vor intra n coliziune. Toate staiile intrate n coliziune
ntrerup transmisia, ateapt o perioad de timp aleatorie i repet ntregul proces de la capt.
Standardul 802.3 are o istorie interesant. Adevratul nceput a fost sistemul ALOHA construit
pentru a permite comunicaii radio ntre calculatoarele mprtiate n insulele Hawaii. Mai trziu, a
fost adugat detecia purttoarei, iar Xerox PARC a construit un sistem CSMA/CD de 2.94 Mbps
.pentru a conecta peste 100 de staii de lucru personale pe cablu de 1 lan(Metcalfe iBoggs, 1976).
256
CAP. 4
Acest sistem a fost numit Ethernet^ dup eterni luminifer prin cate se credea cndva c se propag
radiaiile electromagnetice. (Cnd fizicianul britanic din secolul al nousprezecelea, James Qerk
Maxwell, a descoperit c radiaia electromagnetic poate fi descris printr-o ecuaie de unda,
savanii au presupus c spaiul este umplut cu un mediu eteric prin care se propag radiaia. Abia
dup faimosul experiment Michelson-Morley din 1887 fizicienii au descoperit c radiaia
electromagnetic se poate propaga n vid.)
Soluia Ethernet a firmei Xerox a fost att de reuit, nct Xerox, DEC i Intel au elaborat un
standard pentru Ethernet la 10 Mbps. Acest standard a constituit baza pentru 802.3. Standardul
802.3 publicat difer de specificaia Ethernet prin faptul c descrie o ntreag familie de sisteme
CSMA/CD l-persistente, lucrnd la viteze cuprinse ntre 1 i 10 Mbps n diverse medii. De
asemenea, cmpul de antet difer ntre cele dou (cmpul de lungime de la 802.3 este folosit n
Ethernet pentru tipul pachetului). Standardul iniial mai ofer i parametri pentru un sistem de 10
Mbps n banda de baz, folosind cablu coaxial de 50 de ohmi. Seturile de parametri pentru alte
medii i viteze au venit mai trziu.
Muli oameni utilizeaz (incorect) numele Ethernet" ntr-un sens general, pentru a se referi la
toate protocoalele CSMA/CD, chiar dac el se refer n realitate la un produs specific care, n mare,
implementeaz 802.3. n urmtoarele cteva paragrafe vom utiliza termenii 802.3" i CSMA/CD",
cu excepia cazului n care ne referim n mod special la produsul Ethernet.
Cablarea 802.3
ntruct numele Ethernet" se refer la cablu (eterul), s pornim discuia noastr de aici. n mod
obinuit, sunt utilizate cinci tipuri de cabluri, dup cum se arat n Fig. 4-17. Din punct de vedere
istoric, cablul 10Base5, numit popular i Ethernet gros (thick Ethernet), a fost primul. El se
aseamn cu un furtun galben de grdin cu semne la fiecare 2.5 metri pentru a arta unde vin
conectorii (Standardul 802.3 nu impune de fapt cabluri de culoare galben, dar sugereaz acest
lucru). Conexiunile cu el sunt fcute n general utiliznd conectori-vampir (vampire taps), la care un
pin este introdus cu grij pn n miezul cablului coaxial. Notaia 10Base5 nseamn c funcioneaz
la 10 Mbps, utilizeaz semnalizare n banda de baz i poate suporta segmente de pn la 500 metri.
Nume
10Base5
10Base2
10Base-T
10Base-F
Cablu
coaxial gros
coaxial subire
perechi torsadate
fibr optic
Seg. maxim
500 m
200 m
100 m
2000 m
Noduri / seg.
100
30
1024
1024
Avantaje
Bun pentru coloane vertebrale
Cel mai ieftin sistem
ntreinere uoar
Cel mai bun ntre cldiri
Fig. 4-17. Cele mai obinuite tipuri de LAN-uri 802.3 n banda de baz.
Istoricete vorbind, al doilea tip de cablu a fost 10Base2, sau Ethernet subire (thin
Ethernet), care, spre deosebire de Ethernet gros ca un furtun de grdin", se ndoaie uor.
Conexiunile cu el sunt fcute utiliznd conectori standard industriali BNC pentru a forma
jonciuni n T, mai curnd dect conectori-vampir. Ei sunt mai uor de folosit i mai siguri.
Ethernet-ul subire este mult mai ieftin i mai uor de instalat, dar el poate suporta lungimi ale
cablului de maxim 200 de metri i poate trata numai 30 de calculatoare pe segment de cablu.
SEC. 4.3
257
Controlor
Controlor
Cablul
transiverul ui
Conector-vampir
Miez
Transiver
o Q 0 Q Q (TOTl
Conector
Concentrator
(a)
(b)
(O
Fig. 4-18. Trei tipuri de cablare 802.3 . (a) 10Base5. (b) 10Base2. (c)lOBase-T.
La 10Base5, un cablu de transiver (transceiver cable) conecteaz transiverul cu o plac de
interfa din calculator. Cablul transiverului poate avea pn la 50 de metri lungime i conine 5
perechi torsadate izolate individual. Dou dintre perechi sunt pentru datele de intrare i respectiv
datele de ieire. Alte dou sunt pentru semnalele de control de intrare i de ieire. A cincea pereche,
care nu este ntotdeauna folosit, permite calculatorului s alimenteze electronica transiverului.
Pentru a reduce numrul de transivere necesare, unele transivere permit s le fie ataate pn la 8
calculatoare nvecinate.
Cablul transiverului se termin la placa de interfa din interiorul calculatorului. Placa de
interfa conine un cip controlor care transmite cadre ctre transiver i recepioneaz cadre de la
258
CAP. 4
ii
B
A
yo
Repetor
Coloan vertebral
(a)
(b)
(c)
(d)
Fig. 4-19. Topologii de cablu, (a) Liniar, (b) Coloan, (c) Arbore, (d) Segmentat.
Figura 4-19 arat diferite moduri de cablare a unei cldiri. n Fig. 4-19(a), un singur cablu
este erpuit din camer n camer, fiecare staie fiind conectat la el n punctul cel mai
apropiat. n Fig. 4-19(b), o coloan vertical suie de la parter pn la acoperi, cu cabluri
orizontale conectate la ea la fiecare etaj prin amplificatoare speciale (repetoare). n unele
cldiri, cablurile orizontale sunt subiri, iar coloana este groas. Cea mai general topologie
este cea de arbore, ca n Fig. 4-19(c), deoarece o reea cu dou ci ntre unele perechi de staii
ar suferi din cauza interferenei dintre cele dou semnale.
Fiecare versiune de 802.3 are o lungime maxim de cablu pe segment. Pentru a permite
reele mai largi, mai multe cabluri pot fi conectate prin repetoare (repeaters), aa cum se arat
n Fig. 4-19(d). Un repetor este un dispozitiv de nivel fizic. El recepioneaz, amplific i
retransmite semnale n ambele direcii. n ceea ce privete programarea, o serie de segmente
de cablu conectate prin repetoare nu prezint nici o diferen fa de un singur cablu (cu
excepia unei oarecare ntrzieri introduse de repetoare). Un sistem poate conine segmente
SEC. 4.3
multiple i repetoare multiple, dar dou transivere nu pot fi la o distan mai mare de
2 5 km i nici o cale ntre oricare dou transivere nu poate traversa mai mult de 4 repetoare.
Edificarea Manchester
Nici una din versiunile lui 802.3 nu folosete o codificare binar direct, cu 0 voli pentru un bit 0
si 5 voli pentru un bit 1, deoarece aceasta conduce la ambiguiti. Dac o staie trimite irul de bii
00010000, altele l-ar putea interpreta fals ca 10000000 sau 01000000 ntruct nu pot distinge
diferena ntre un emitor inactiv (0 voli) i un bit 0 (0 voli).
Ceea ce le trebuie receptorilor este un mijloc de a determina fr dubii nceputul, sfritul i
jumtatea fiecrui bit fr ajutorul unui ceas extern. Dou astfel de abordri se numesc codificarea
Manchester (Manchester encoding) i codificarea Manchester difereniala (diferential Manchester
encoding). n cazul codificrii Manchester, fiecare perioad a unui bit este mprit n dou
intervale egale. Un bit 1 este trimis stabilind un voltaj ridicat n timpul primului interval i sczut n
cel de-al doilea. Un 0 binar este trimis exact invers: nti nivelul sczut iar apoi cel ridicat. Aceast
strategie asigur c fiecare perioad a unui bit are o tranziie la mijloc, uurnd sincronizarea ntre
emitor i receptor. Un dezavantaj al codificrii Manchester este acela c necesit o lrgime de
band dubl fa de codificarea binar direct, deoarece impulsurile au durata pe jumtate.
Codificarea Manchester este prezentat n Fig. 4-20(b).
Flux de bii
Codificare binar
Codificare Manchester
Codificare Manchester
diferenial
Aceast tranziie
indic un 0
260
-**fljrf
Structura cadrului 802.3 (IEEE, 1985a) este prezentat n Fig. 4-21. Fiecare cadru ncepe cu un
Preambul (Preamble) de 7 octei, fiecare octet coninnd ablonul de bii 10101010. Codificarea
Manchester a acestui ablon furnizeaz o und dreptunghiular de 10 Mhz timp de 5.6 usec pentru a
permite ceasului receptorului s se sincronizeze cu cel al emitorului. Urmeaz un octet de nceput
de cadru (Start of frame), coninnd 10101011, pentru a semnala nceputul propriu-zis al cadrului. 'Cadrul conine dou adrese, una pentru destinaie i una pentru surs. Standardul permite
adrese pe 2 i pe 6 octei, dar parametrii definii pentru standardul n banda de baz de 10 Mbps
folosesc numai adrese pe 6 octei. Bitul cel mai semnificativ al adresei destinaie este 0 pentru
adresele obinuite i 1 pentru adresele de grup. Adresele de grup permit mai multor staii s asculte
de la o singur adres. Cnd un cadru este trimis la o adres de grup, toate staiile din grup l
recepioneaz. Trimiterea ctre un grup de staii este numit multicast (trimitere multipl). Adresa
avnd toi biii 1 este rezervat pentru broadcast (difuzare). Un cadru coninnd numai bii de 1 n
cmpul destinaie este distribuit tuturor staiilor din reea.
Octei
Preambul
t
1
2 sau 6
Adresa
destinaiei
Delimitator de nceput
de cadru
2 sau 6
Adresa
sursei
0-1500
{{
))
t
I
Date
fT
0-46
Cmp de
completare
4
Sum de
control
Lungimea cmpului
de date
SEC. 4.3
261
n Fig. 4-22. La momentul 0, staia^4, de la un capt al reelei, expediaz lin cadru. S notfii cu t
timpul de propagare al cadrului pn la cellalt capt. Exact nainte de sosirea cadrului la cellalt
capt (adic la momentul x - E), cea mai ndeprtat staie, B, ncepe s transmit. Cnd B observ c
primete mai mult putere dect emite, tie c a aprut o coliziune, prin urmare abandoneaz
transmisia i genereaz o rafal de 48 de bii de zgomot pentru a avertiza toate celelalte staii.
Aproximativ la momentul 2x, emitorul observ apariia zgomotului i i abandoneaz la rndul
su transmisia. Apoi ateapt un timp aleatoriu nainte de a ncerca din nou.
Dac o staie ncearc s transmit un cadru foarte scurt, este posibil s apar o coliziune,
dar transmisia se termin nainte ca zgomotul produs s se ntoarc la momentul 2x.
Emitorul va ajunge incorect la concluzia c transmisia cadrului s-a ncheiat cu succes. Pentru
a preveni apariia acestei situaii, transmisia fiecrui cadru trebuie s ia mai mult de 2x. Pentru
un LAN la 10 Mbps cu o lungime maxim de 2500 metri i patru repetoare (conform
specificaiei 802.3), cadrul minim permis trebuie s dureze 51.2 usec. Acest timp corespunde
unui numr de 64 de octei. Cadrele cu mai puini octei sunt completate pn la 64 octei.
Pachetul ajunge
aproape de B \
la momentul x-e
Pachetul pornete
/ l a momentul 0
(b)
(a)
Rafala de zgomot
/ ajunge napoi la A
la momentul 2%
(O
Coliziune la
momentul T
(d)
262
CAP. 4,
* Aa cum procedeaz antrenorul unui boxer cnd hotrte ca acesta s abandoneze lupta.
.SEC.43
263
(4-6)
A este maxim cnd/? = l/k, CVLA -> l/e atunci cnd k -> >. Probabilitatea ca intervalul de
conflict s aib exact/ cuante este A (1 - A) y'\ astfel c numrul mediu de cuante pe conflict
este dat de:
;=O
ntruct fiecare cuant dureaz-2% intervalul de conflict mediu, w, este 2%IA. Presupunnd/?
optim, numrul mediu de cuante de conflict nu este niciodat mai mare dect e, deci w este cel
mult 2TC = 5.4T.
Dac pentru a transmite un cadru de lungime medie sunt necesare P secunde pentru a fi
transmis, atunci cnd multe staii au cadre de transmis,
Eficienta canalului =
(4-7)
Aici vedem cum intr lungimea maxim a cablului dintre oricare dou staii n calculul
performanelor, sugernd i alte topologii dect cea din Fig. 4-19(a). Cu ct cablul este mai lung, cu
att intervalul de conflict este mai lung. Permind cel mult 2.5 km de cablu i patru repetoare ntre
oricare dou transiyere, timpul dus-ntors (round-trip time) poate fi limitat la 51.2 usec, care la
10 Mbps corespunde la 512 bii sau 64 de octei, lungimea minim a unui cadru.
Este instructiv s formulm ecuaia (4-7) n termeni lungime de cadru i7," lrgime de band a
reelei B, lungime a cablului L i vitez de propagare a semnalului c, pentru cazul optim cu e cuante
de conflict pe cadru. Cu P = F/B, ecuaia (4-7) devine:
Eficienta canalului =
\ + 2BLe/cF
(4-8)
'
Atunci cnd al doilea termen al numitorului este mare, eficiena reelei va fi mic. Mai precis,
creterea lrgimii de band sau a distanei (produsul BL) reduce eficiena pentru o lungime dat a
cadrului. Din nefericire, o mare parte din cercetarea n domeniul hardware-ului de reea a intit
exact creterea acestui produs. Oamenii doresc lrgime de band mare pe distane lungi (de
exemplu, MAN-urile cu fibr optic), ceea ce sugereaz c 802.3 poate s nu fie cel mai bun sistem
pentru aceste aplicaii.
In Fig. 4-23 este trasat eficiena canalului n funcie de numrul staiilor gata de transmisie,
pentru 2% = 51.2 usec i o rat de transmisie a datelor de 10 Mbps, folosind ecuaia (4-12). Cu o
mrime a cuantei de 64 de octei, nu este surprinztor faptul c nu sunt eficiente cadrele de 64 de
264
0.8
5 0.7
Cadre de 256 de octei
"5 0.6
0.5
0.4
0.3 -
Cadre de 64 de octei
0.2
0.1
0
_L
J_
2
4
8
16
32
64
128
Numrul staiilor care ncearc s transmit
256
SEC. 4.3
265
Pe msur ce la un LAN 802.3 sunt adugate tot mai multe staii, traficul va crete. n cele din
urm, LAN-ul se va satura. O cale de ieire din aceast situaie este mrirea vitezei, s zicem, de la
10 Mbps la 100 Mbps. Aceast soluie necesit renunarea la toate plcile de adaptoare de 10 Mbps
si cumprarea altora noi, ceea ce este scump. Dac cipurile 802.3 se afl pe plcile de baz ale
calculatoarelor, s-ar putea chiar ca nlocuirea lor s nu fie posibil.
Din fericire, este posibil o soluie diferit, mai puin drastic: un LAN 802.3 comutat ca cel din
Fig. 4-24. Inima acestui sistem este un comutator care conine un fund de sertar (backplane) de
mare vitez i, tipic, loc pentru 4 pn la 32 de plci de reea plug-n, fiecare avnd ntre unu i opt
conectori. Cel mai des, fiecare conector are o conexiune prin perechi torsadate de tip lOBase-T cu
un singur calculator gazd.
Comutator
Conector
Spre
gazde
LAN 802.3
Hub
I Spre
gazde
Spre
gazde
Conexiune
10Base-T'
Spre calculatoarele gazd
266
CAP. 4
n acelai timp, pentru operare full-duplex, n paralel. Odat ce un cadru a fost recepionat n
ntregime, placa poate verifica dac el este destinat pentru un alt port de pe aceeai plac, sau
A
pentru un port aflat la distan. In primul caz, el poate fi transmis direct la destinaie. In cel
de-al doilea, el trebuie transmis prin fundul de sertar ctre placa corespunztoare. n acest
mod, fiecare port este un domeniu de coliziune separat, deci nu se mai produc coliziuni.
Adesea productivitatea ntregului sistem poate fi mrit cu un ordin de mrime peste
10Base-5, care are un singur domeniu de coliziune pentru ntreg sistemul.
ntruct comutatorul st i ateapt cadre standard 802.3 pe fiecare port de intrare, putem folosi
unele porturi drept concentratori. n Fig. 4-24, portul din colul din dreapta sus este conectat nu la o
singur staie, ci la un concentrator cu 12 porturi. Pe msur ce cadrele sosesc la concentrator, ele
concureaz pentru LAN-ul 802.3 n mod obinuit, cu coliziuni i algoritm de regresie binar. Cadrele
transmise cu succes ajung la comutator, unde sunt tratate ca orice cadru de intrare: sunt ndreptate
ctre linia de ieire corect prin fundul de sertar de vitez mare. Dac toate porturile de intrare sunt
conectate la concentratoare, nu la staii individuale, comutatorul devine doar o punte ntre reele de
tip 802.3. Punile vor fi studiate mai trziu n acest capitol.
4.3.2 Standardul IEEE 802.4: LAN de tip jeton pe magistral
Dei 802.3 este larg utilizat n birouri, n timpul dezvoltrii standardului 802, cei de la General
Motors i din alte companii interesate n automatizarea fabricilor au avut serioase rezerve
referitoare la acesta. n primul rnd, datorit protocolului MAC probabilistic, cu puin neans o
staie ar putea atepta un timp nedefinit pentru a expedia un cadru (adic, cazul cel mai defavorabil
este nelimitat). n al doilea rnd, cadrele 802.3 nu au prioriti, ceea ce le face nepotrivite pentru
sistemele de timp real n care cadrele importante nu trebuie s atepte dup cele neimportante.
Un sistem simplu n care se cunoate cazul cel mai defavorabil este un inel n care staiile trimit
pe rnd cadre. Dac exist n staii, iar expedierea unui cadru dureaz T secunde, nici un cadru nu va
avea de ateptat vreodat mai mult de nT secunde pentru a fi transmis. Persoanelor din comitetul
802 nsrcinate cu automatizarea fabricilor le-a plcut ideea conceptual a unui inel, dar nu i
implementarea fizic, deoarece o ntrerupere n cablul inelului ar cauza cderea ntregii reele. Pe
deasupra, ei au observat c un inel se potrivete prea puin cu topologia liniar a majoritii liniilor
de asamblare. Ca rezultat, a fost dezvoltat un nou standard, avnd robusteea cablului de difuzare
802.3, dar comportarea cunoscut n cazul cel mai defavorabil a unui inel.
Cablu coaxial
de band larg,.
17
20
\ Inel logic
13
11
7
Direcia micrii
jetonului
Aceast staie
II nu face parte
19 din inelul logic
SEC. 4.3
267
, Acest standard, 802.4 (Dirvin i Miller, 1986; i IEEE, 1985b), descrie un LAN numit token-bus
(LAN cu jeton pe magistral). Din punct de vedere fizic, token-bus este un cablu liniar sau n form
de arbore, la care sunt ataate staiile. Din punct de vedere logic, staiile sunt organizate ntr-un inel
(vezi Fig. 4-25), fiecare staie cunoscnd adresele staiilor din stnga" sa i din dreapta" sa. Atunci
cnd inelul logic este iniializat, staia cu cel mai mare numr poate trimite primul cadru. Dup
aceea, transfer permisiunea de a transmite ctre vecinul imediat urmtor, emind ctre acesta un
cadru special de control numit jeton (token). Jetonul strbate circular inelul logic, numai deintorul
jetonului avnd permisiunea de a transmite cadre. ntruct o singur staie deine jetonul la un
moment dat, nu se produc coliziuni.
O observaie important de care trebuie s ne dm seama este c ordinea fizic n care staiile
sunt conectate la cablu nu are importan. Deoarece cablul este n esen un mediu de difuzare,
fiecare staie recepioneaz fiecare cadru, ignorndu-le pe cele care nu i sunt destinate. Atunci cnd
o staie transfer jetonul, ea emite un cadru jeton adresat special vecinului ei logic din inel,
indiferent unde se afl acesta localizat fizic pe cablu. Merit de asemenea s notm c, atunci cnd
staiile sunt pornite prima oar, ele nu se vor afla n inel (de exemplu, staiile 14 i 19 din Fig. 4-25),
deci protocolul MAC are prevzut posibilitatea de adugare i de eliminare a staiilor din inel.
Protocolul MAC 802.4 este foarte complex, fiecare staie trebuind s gestioneze zece ceasuri
diferite i peste dou duzini de variabile interne de stare. Standardul 802.4 este mult mai lung dect
802.3, umplnd mai mult de 200 de pagini. Cele dou standarde sunt, de asemenea, destul de
diferite ca stil, 802.3 oferind protocoalele ca proceduri Pascal, n timp ce 802.4 le d ca automate cu
stri finite, cu aciunile scrise n Ada .
Pentru nivelul fizic, token-bus utilizeaz cablul coaxial de band larg de 75 ohmi, utilizat la
televiziunea prin cablu. Sunt admise att sistemele cu cablu simplu ct i cele cu cabluri duale, cu sau
fr terminatori. Sunt permise trei scheme diferite de modulaie analogic: deplasare de frecven
cu faz continu, deplasare de frecven cu faz coerent i deplasare de faz cu modulaie de
amplitudine duo-binar multinivel. Sunt posibile viteze de 1, 5 i 10 Mbps. n plus, schemele de
modulaie nu furnizeaz doar modaliti de reprezentare pentru 0,1 i cablu liber, ci i trei alte
simboluri utilizate pentru controlul reelei. n concluzie, nivelul fizic este total incompatibil cu 802.3
i mult mai complicat.
Protocolul subnivelului MAC la token-bus
Atunci cnd este iniializat inelul, staiile sunt inserate n el n ordinea adreselor de staie, de la
cea mai mare la cea mai mic. Transferul jetonului se face de asemenea de la adresele mari la cele
mici. De fiecare dat cnd o staie capt jetonul, ea poate transmite cadre o anumit perioad de
timp; dup aceea trebuie s transfere jetonul mai departe. n cazul n care cadrele sunt destul de
scurte, pot fi trimise mai multe cadre con|qei|v. Dac staia nu are date de transmis, ea transfer
jetonul de ndat ce 1-a recepionat.
ii
Token-bus definete patru clase de prioriti: 0,2,4 i 6 pentru trafic, cu 0 cea mai mic i 6 cea
mai mare. Cel mai uor este s ne gndim c fiecare staie este mprit intern n patru substaii,
una pentru fiecare nivel de prioritate. Pe msur ce datele intr n subnivelul MAC venind de
deasupra, ele sunt verificate pentru a determina prioritatea i apoi dirijate ctre una din cele patru
substaii. Astfel, fiecare staie i pstreaz propria a coad de cadre de transmis.
268
CAP. 4
Atunci cnd jetonul sosete la staie prin cablu, el este transferat n interior substaiei cu
prioritatea 6, care poate ncepe s transmit cadre, dac are vreunul. Cnd a terminat (sau
cnd timpul su a expirat), jetonul este transferat intern substaiei cu prioritatea 4, care apoi
poate transmite cadre pn cnd timpul ei expir, moment n care jetonul este transferat
substaiei cu prioritatea 2. Acest proces se repet pn cnd substaia cu prioritatea 0 i-a
transmis toate cadrele sau timpul ei a expirat. n ambele cazuri, n acest moment jetonul este
trimis urmtoarei staii din inel.
Fr a intra n toate detaliile despre cum sunt gestionate diferitele ceasuri, ar trebui s fie clar c,
setnd corect ceasurile, putem fi siguri c o fraciune garantat din timpul total de deinere al
jetonului poate fi alocat traficului de prioritate 6. Prioritile mai mici vor fi nevoite s foloseasc
ceea ce a mai rmas. Dac substaiile cu prioriti mari nu au nevoie de ntreg timpul care le-a fost
alocat, substaiile cu prioriti mai mici pot beneficia de timpul rmas, deci acesta nu va fi pierdut.
Aceast schem de prioriti, care garanteaz traficului de prioritate 6 o fraciune cunoscut din
lrgimea de band a reelei, poate fi folosit pentru implementarea traficului de timp real. De
exemplu, s presupunem c parametrii unei reele de 50 de staii rulnd la 10 Mbps au fost reglai
pentru a da traficului de prioritate 61/3 din lrgimea de band. Atunci fiecare staie are garantai 67
Kbps pentru traficul de prioritate 6. Aceast lrgime de band poate fi utilizat pentru sincronizarea
roboilor pe o linie de asamblare sau pentru un canal digital de voce pe staie, iar puinul care a mai
rmas pentru informaiile de control.
Formatul cadrului token-bus este prezentat n Fig. 4-26. Din nefericire, acesta este diferit de
formatul cadrului 802.3. Preambulul este folosit pentru sincronizarea ceasului receptorului, ca la 802.3,
cu excepia faptului c aici poate fi i un singur octet. Cmpurile Delimitator de nceput (Starting
delimiter) i Delimitator de sfrit (Ending delimiter) sunt folosite pentru a marca limitele cadrului.
Ambele cmpuri conin codificarea analogic a simbolurilor, altele dect 0 sau 1, astfel nct ele nu pot
aprea accidental n datele utilizatorilor. n consecin nu este nevoie de cmp de lungime.
Octei > 1
1 1
2 sau 6
2 sau 6
Adresa
destinaiei
Adresa
sursei
0-8182
ff
Date
Sum de control
Controlul cadrului
Delimitator de nceput
Preambul
Delimitator
de sfrit
SEC 4.3
siy mecanismul care.; la noi staii s intre n inel, mecanismul care permite
staiilor prsirea inelului i aa mai departe. Notai c protocolul 802.3 nu are nici un cadru
de control. Tot ce face nivelul su MAC este s furnizeze o cale de a transmite cadre prin
cablu; nu i pas ce conin acestea.
Cmpurile Adres destinaie (Destination address) i Adres surs (Source address) sunt la fel ca
n 802.3 (ntr-adevr, cele dou grupuri au discutat ntre ele; dar nu prea au czut de acord). Ca i n
802.3, o reea dat trebuie s utilizeze numai adrese pe 2 octei sau numai adrese pe 6 octei, nu un
amestec pe acelai cablu. Standardul 802.4 iniial permite ambele dimensiuni. Adresarea individual
si de grup i desemnarea adreselor locale i globale sunt identice cu cele de la 802.3.
Cmpul Date (Data) poate avea pn la 8182 de octei atunci cnd sunt utilizate adrese de 2
octei i pn la 8174 de octei atunci cnd sunt utilizate adrese de 6 octei. Acesta este de mai mult
de 5 ori mai lung dect cadrul 802.3 maxim, care a fost fcut scurt pentru a preveni situaia n care o
staie ocup canalul prea mult. Cu token-bus, ceasurile pot fi utilizate ca o msur mpotriva
acaparrii, dar este bine s putem transmite cadre lungi atunci cnd traficul de timp real nu este o
cerin. Suma de control (Checksum) este folosit pentru detectarea erorilor de transmisie. Ea
folosete acelai algoritm i polinom ca i 802.3.
Cadrele de control ale token-bus-ului sunt prezentate n Fig. 4-27. Ele vor fi discutate n
continuare. Sigurul cadru pe care l-am vzut pn acum este cadrul jeton, folosit pentru a trece
jetonul de la o staie la alta. Majoritatea celorlalte cadre se refer la adugarea i eliminarea staiilor
din inelul logic.
Cmpul de control
al cadrului
00000000
00000001
00000010
00000011
00000100
00001000
00001100
Nume
Claimjoken (Cerejeton)
Solicit_successor_1
(Solicit_succesor_)
Solicitisuccessor_2
(Solcit_suecesor_2)
Whojollows (Cine_urmeaz)
Resolve_contention
(Rezolvare_conflict)
Token (Jeton)
Set_succesor (Stabilire_succesor)
Semnificaie
Cere jetonul la iniializarea inelului
Permite staiilor s intre n inel
Permite staiilor s intre n inel
-
Din cnd n cnd, unele staii sunt pornite i vor s se ataeze la inel. Altele sunt oprite i
vor s l prseasc. Protocolul subnivelului MAC furnizeaz o specificare detaliat a modului
n care este realizat exact acest lucru, meninnd n acelai timp limita cunoscut a rotaiei
jetonului n cazul cel rriai defavorabil. n continuare vom schia pe scurt mecanismele utilizate.
Odat ce inelul a fost stabilit, interfaa fiecrei staii pstreaz intern adresele staiilor
predecesoare i succesoare. Periodic, deintorul jetonului trimite unul din cadrele
SOLICIT_SUCCESSOR (solicit succesor) prezentate n Fig. 4-27, pentru a solicita cereri de la
staiile care doresc s se alture inelului. Cadrul ofer adresa expeditorului i adresa succesorului.
270
CAP. 4
Doar staiile cuprinse ntre aceste limite pot cere intrarea (pentru a menine inelul sortat
descresctor dup adresele staiilor).
Dac nici o staie nu cere s intre n timpul unei cuante (2r, ca n 802.3), fereastra de rspuns
(response window) este nchis, iar deintorul jetonului i continu activitatea normal. Dac exact
o staie se ofer s intre, ea este inserat n inel i devine succesorul deintorului jetonului.
Dac dou sau mai multe staii cer s intre, cadrele lor se vor ciocni i vor fi distruse, ca n 802.3.
Apoi deintorul jetonului va rula un algoritm de arbitrare, ncepnd cu difuzarea unui cadru
RESOLVE_CONTENTION (rezolvare conflict). Algoritmul este o variant a numrtorii inverse
binare, folosind doi bii deodat.
Mai mult, toate interfeele staiilor menin intern doi bii aleatorii. Aceti bii sunt utilizai pentru
a ntrzia toate cererile cu 0,1, 2 sau 3 cuante, pentru a reduce conflictele. Cu alte cuvinte, dou
staii intr n coliziune atunci cnd fac o cerere numai dac cei doi bii de adres cureni sunt identici
i se ntmpl s aib aceiai doi bii aleatorii. Pentru a prentmpina ca staiile care trebuie s
atepte 3 cuante s fie permanent dezavantajate, biii aleatorii sunt regenarai de fiecare dat cnd
sunt folosii sau periodic la fiecare 50 msec.
Solicitarea de noi staii nu poate interfera cu cazul cel mai defavorabil garantat pentru rotaia
jetonului. Fiecare staie are un ceas care este resetat ori de cte ori primete jetonul. Cnd sosete
jetonul, vechea valoare a acestui ceas (adic timpul de rotaie anterior al jetonului) este inspectat
chiar nainte ca ceasul s fie resetat. Dac el depete o anumit valoare de prag, nseamn c n
ultima vreme traficul a fost prea aglomerat, aa c acum nu mai poate fi solicitat nici o cerere de
alturare. Oricum, numai o singur staie poate intra la fiecare solicitare, pentru a limita timpul
consumat cu ntreinerea inelului. Nu exist nici o garanie n privina timpului de ateptare necesar
pentru ca o staie s se alture inelului atunci cnd traficul este aglomerat, dar n practic el nu ar
trebui s fie mai mare de cteva secunde. Aceast incertitudine este nefericit, fcnd 802.4 mai
puin potrivit pentru sistemele de timp real dect pretind adesea suporterii lui.
Prsirea inelului este uoar. O staie X, cu succesorul S i predecesorul P, prsete inelul prin
trimiterea ctre P a unui cadru SET_SUCCESOR (stabilire succesor) care i spune c de acum
ncolo succesorul lui va fi 5 n loc de X. Apoi X nceteaz transmisia.
Iniializarea inelului este un caz special de adugare de noi staii. Considerai un sistem inactiv,
cu toate staiile oprite. Atunci cnd prima staie pornete, ea observ c nu exist trafic o anumit
perioad de timp. Apoi emite un cadru CLAIM_TOKEN (cere jeton). Neauzind pe nimeni
concurnd pentru jeton, creeaz un jeton i iniializeaz un inel care o conine numai pe ea.
Periodic, solicit cereri pentru ca noi staii s se alture. Pe msur ce sunt pornite noi staii, ele vor
rspunde acestor solicitri i se vor altura inelului conform algoritmului de tratare a conflictelor
descris anterior. n cele din urm, fiecare staie care vrea s intre n inel va putea s o fac. Dac
primele dou staii sunt pornite simultan, protocolul rezolv acest lucru lsndu-le s cear jetonul
folosind algoritmul numrtorii inverse binare standard modificat i cei doi bii aleatorii.
Datorit erorilor de transmisie sau a problemelor hardware, se pot ivi probleme n legtur cu
inelul logic sau cu jetonul. De exemplu, ce se ntmpl dac o staie ncearc s transfere jetonul
unei staii care a czut? Soluia este simpl. Dup ce a transferat jetonul, o staie ascult s vad
dac succesorul ei transmite un cadru sau transfer jetonul. Dac nu face nici una, nici alta, jetonul
este transferat a doua oar.
Dac nici de data asta nu se ntmpl nimic, staia transmite un cadru WHO_FOLLOWS (cine
urmeaz), specificnd adresa succesorului ei. Cnd succesorul staiei czute vede un cadru
271
272
CAP. 4
octei ai jetonului, care se transform instantaneu n primii 3 octei ai unui cadru normal'de date.
Deoarece exist un singur jeton, numai o singur staie poate transmite la un moment dat, rezolvnd
astfel problema accesului la canal n acelai mod n care este rezolvat i de token-bus.
Staie
Interfaa
cu inelul
ntrziere Interfaa
de 1 bit cu inelul
(a)
(b)
(c)
Fig. 4-28. (a) O reea de tip inel. (b) Modul recepie, (c) Modul transmisie.
O consecin a proiectrii la token-ring este c inelul nsui trebuie s aib o ntrziere suficient
pentru a conine un jeton complet care s circule atunci cnd toate staiile sunt inactive. ntrzierea
are dou componente: o ntrziere de 1 bit introdus de fiecare staie i ntrzierea de propagare a
semnalului. n aproape toate inelele proiectanii trebuie s presupun c staiile pot fi oprite
oricnd, n special noaptea. Dac interfeele sunt alimentate de inel, nchiderea staiilor nu are efect
asupra lor, dar dac interfeele sunt alimentate extern, ele trebuie proiectate astfel, nct s
conecteze intrarea la ieire atunci cnd alimentarea este oprit, eliminnd astfel ntrzierea de 1 bit.
Aici ideea este c ntr-un inel scurt ar putea fi nevoie de introducerea unei ntrzieri artificiale
noaptea, pentru a fi siguri c ncape un jeton n el.
Interfeele inelului au dou moduri de operare, recepie i transmisie. n modul recepie, biii de
intrare sunt pur i simplu copiai la ieire, cu o ntrziere de 1 bit, aa cum se arat n Fig. 4-28(b). n
modul transmisie, n care se ajunge numai dup ce s-a primit jetonul, interfaa ntrerupe legtura
ntre intrare i ieire, introducnd propriile informaii pe inel. Pentru a putea comuta din modul
recepie n modul transmisie n interval de 1 bit, interfaa are nevoie, de obicei, s stocheze unul sau
mai multe cadre proprii, dect s le aduc de la staie ntr-un timp att de scurt.
Pe msur ce biii care s-au propagat pe inel se ntorc, ei sunt eliminai din el de ctre
emitor. Staia emitoare poate fie s i salveze, pentru a-i compara cu datele originale,
monitoriznd astfel sigurana transmisiei prin inel, fie s i elimine. Deoarece pe inel nu apare
niciodat ntregul cadru n acelai timp, aceast arhitectur de inel nu limiteaz dimensiunea
cadrelor. Dup ce o staie a terminat transmisia ultimului bit al ultimului su cadru, ea trebuie
s regenereze jetonul. Atunci cnd ultimul bit al cadrului a executat un tur i s-a ntors, el
SEC. 4.3
273
Cablu
Releu de ocolire
Conector
274
CAP. 4
absolute ntre 3.0 i 4.5 voli. n mod normal, codificarea Manchester diferenial utilizeaz
combinaii sus-jos sau jos-sus pentru fiecare bit, dar 802.5 utilizeaz i sus-sus i jos-jos n anumii
octei de control (de exemplu, pentru a marca nceputul i sfritul unui cadru). Aceste semnale
nepurttoare de informaie apar ntotdeauna n perechi consecutive, astfel nct s nu introduc o
component de curent continuu n voltajul inelului.
O problem cu reelele inel este c dac se ntrerupe cablul undeva, inelul moare. Aceast
problem poate fi rezolvat foarte elegant prin utilizarea unui centru de cablaj (wire center), aa
cum se arat n Fig. 4-29. Dei logic este un inel, din punct de vedere fizic fiecare staie este
conectat la centru de cablaj printr-un cablu coninnd (cel puin) dou perechi torsadate, una
pentru datele ctre staie i alta pentru datele de la staie
nuntrul centrului de cablaj se afl relee de ocolire ce sunt alimentate cu curent de la staii.
Dac inelul se ntrerupe sau o staie pic, pierderea de curent va decupla releul i va izola staia.
Releele pot fi dirijate i prin software pentru a permite programelor de diagnosticare s elimine
staiile pe rnd, pentru a gsi staiile i segmentele de inel vinovate. Inelul poate apoi s i continue
activitatea, segmentele defecte fiind ocolite. Dei standardul 802.5 nu cere oficial acest tip de inel,
denumit adesea inel cu configuraie de stea (star-shaped ring) (Saltzer .a., 1983), pentru a
mbunti sigurana i ntreinerea, majoritatea LAN-urilor 802.5 utilizeaz de fapt centre de cablaj.
Atunci cnd o reea const din multe grupuri de staii, grupuri aflate la mari distane, poate fi
utilizat o topologie cu mai multe centre de cablaj. Imaginai-v numai cum cablul ctre una din
staiile din Fig. 4-29 a fost nlocuit printr-un cablu ctre un centru de cablaj ndeprtat. Dei logic
toate staiile sunt pe acelai inel, cerinele cablrii sunt mult reduse. Un inel 802.5 care folosete un
centru de cablaj are o topologie similar cu o reea 802.3 lOBase-T bazat pe concentratoare, ns
formatele i protocoalele sunt diferite.
Protocolul subnivelului MAC la Token Ring
Funcia de baz a protocolului MAC este simpl. Atunci cnd pe inel nu exist trafic, un jeton de
3 octei circul la nesfrit, ateptnd ca o staie s l preia prin setarea unui bit specific de la 0 la 1,
convertind astfel jetonul n secvena nceput-de-cadru. Staia emite apoi restul unui cadru normal de
date, aa cum se arat n Fig. 4-30.
n condiii normale, primul bit al cadrului va nconjura inelul i se va ntoarce la emitor nainte
ca ntregul cadru s fi fost transmis. Numai un inel foarte lung va fi capabil s in chiar i un cadru
scurt. n consecin, staia emitoare trebuie s dreneze inelul n timp ce continu s transmit. Aa
cum este artat n Fig. 4-28(c), aceasta nseamn c biii care au fcut un tur complet al inelului se
ntorc la emitor i sunt eliminai.
O staie poate pstra jetonul pentru un interval de deinere a jetonului (token-holding
time), care este de 10 msec, dac nu cumva este fixat o valoare diferit la instalare. Dac
dup ce a fost transmis primul cadru a rmas destul timp pentru a expedia mai multe cadre,
acestea pot fi i ele transmise. Dup ce toate cadrele aflate n ateptare au fost transmise sau
dac transmisia unui alt cadru ar depi timpul de deinere a jetonului, staia regenereaz
cadrul jeton de 3 octei i l pune n inel.
SEC. 4.3
1
275
SDAC ED
(a)
Octei
11
SDAC FC
2 sau 6
2 sau 6
Nelimitat
Adresa
destinaiei
Adresa
sursei
Date
Controlul cadrului
Controlul accesului
1 1
Sum de control
-HK-
ED FS
Delimitator de sfrit
Stare cadru
Delimitator de nceput
276
CAP. 4
Delimitatorul de sfrit conine un bit E, care este setat atunci cnd o interfa detecteaz o eroare
(de exemplu, un ablon non-Manchester acolo unde nu este permis). El mai conine i un bit care
poate fi folosit pentru a marca ultimul cadru dintr-o secven logic, ca un fel de bit end-of-file
(sfrit de fiier).
Protocolul 802.5 are o strategie complex pentru tratarea cadrelor cu prioriti multiple. Cadrul
jeton de 3 octei conine n octetul din mijloc un cmp care d prioritatea jetonului. Atunci cnd o
staie vrea s transmit un cadru cu prioritatea n, el trebuie s atepte pn cnd poate captura un
jeton a crui prioritate este mai mic sau egal cu n. Mai mult, atunci cnd trece un cadru de date, o
staie poate ncerca s rezerve urmtorul jeton, scriind prioritatea cadrului pe care dorete s l
transmit n Biii de rezervare ai cadrului. Dac acolo a fost deja rezervat o prioritate mai mare,
staia nu mai poate face rezervarea. Atunci cnd cadrul curent s-a terminat, urmtorul jeton este
generat la prioritatea care a fost rezervat.
Gndindu-ne puin, vom vedea c acest mecanism acioneaz ca o prghie unidirecional,
ridicnd prioritatea rezervat din ce n ce mai sus. Pentru a elimina aceast problem, protocolul
conine cteva reguli complexe. Esena ideii este c staia care crete prioritatea este responsabil
pentru micorarea ei atunci cnd a terminat.
Notai c aceast schem de prioriti difer substanial de schema de la token-bus, n care
fiecare staie i primete ntotdeauna poriunea corect de lrgime de band, indiferent de ce fac
celelalte staii. La token-ring, o staie care are numai cadre cu prioritate sczut poate muri de
foame ateptnd apariia unui jeton cu prioritate sczut. Este clar, cele dou comitete au avut
gusturi diferite cnd au negociat ntre servicii bune pentru traficul de prioritate nalt i egalitate
pentru toate staiile.
A
ntreinerea inelului
Protocolul token-bus tinde ctre lungimi considerabile pentru a realiza ntreinerea inelului
ntr-un mod complet descentralizat. Protocolul token-ring realizeaz ntreinerea destul de
diferit. Fiecare token-ring are o staie monitor (monitor station) care supravegheaz inelul.
Dac monitorul cade, un protocol de tratare a conflictelor asigur c o alt staie este aleas
rapid ca monitor (fiecare staie are capacitatea de a deveni monitor). Ct timp monitorul
funcioneaz corect, numai el este responsabil de funcionarea corect a inelului.
Cmpul de control
00000000
00000010
00000011
00000100
00000101
00000110
Nume
Duplicate address test
(Test de adres duplicat)
Beacon
(Baliz)
Claim token
(Cere jeton)
Purge
(Epurare)
Active monitor present
(Exist monitor activ)
Standby monitor present
(Exist monitor n ateptare)
Semnificaie
Testeaz dac dou staii au aceeai adres
Utilizat la localizarea ntreruperilor din inel
ncercare de a deveni monitor
Reiniializeaz inelul
Emis periodic de monitor
Anun prezena unor poteniale monitoare
SEC. 4.3
271
ta crearea inelului sau atunci cnd o staie observ c nu mai exist monitor, ea poate
transmite un cadru de control CLAIM_TOKEN (cere jeton). Dac acest cadru nconjoar
inelul nainte ca s fie trimis un alt cadru CLAIMJTOKEN, emitorul devine noul monitor
(fiecare staie are ncorporat capacitatea de a deveni monitor). Cadrele de control ale
token-ring-ului sunt prezentate n Fig. 4-31.
Printre responsabilitile monitorului se afl aceea de a observa c jetonul nu s-a pierdut, dar i
preluarea iniiativei atunci cnd inelul se ntrerupe, curarea inelului atunci cnd apar cadre
deteriorate i supravegherea cadrelor orfane. Un cadru orfan apare atunci cnd o staie transmite n
ntregime un cadru scurt ntr-un inel mare i apoi cade sau este oprit nainte de absorbia cadrului.
Dac nu se face nimic, cadrul va circula la infinit.
Pentru a detecta jetoanele pierdute, monitorul are un ceas care este setat la cel mai lung interval
de timp posibil fr jeton: cel n care fiecare staie transmite pe ntregul interval de deinere a
jetonului. La expirarea intervalului de timp, monitorut golete Meiul i emite un nou jeton.
La apariia unui cadru deteriorat, monitorul l detecteaz datorit formatului su incorect sau a
sumei de control, deschide inelul pentru a-1 goli i emite un nou jeton atunci cnd inelul a fost
curat. n final, monitorul detecteaz cadrele orfane setnd bitul monitor din octetul de Control al
accesului ori de cte ori trec pe la el. Dac un cadru sosit are acest bit setat, nseamn c ceva este n
neregul, ntruct acelai cadru a trecut pe la monitor de dou ori fr s fi fost absorbit, aa c
monitorul l va absorbi.
O ultim funcie a monitorului vizeaz lungimea inelului. Jetonul are o lungime de 24 de bii,
ceea ce nseamn c inelul trebuie s fie destul de mare pentru a cuprinde 24 de bii. Dac
ntrzierile de 1 bit din staii plus lungimea cablului adunate dau mai puin de 24 de bii, monitorul
insereaz bii suplimentari de ntrziere pentru ca jetonul s poat circula.
O funcie de ntreinere care nu poate fi realizat de monitor este localizarea ntreruperilor n
inel. Dac o staie observ c unul dintre vecinii ei pare mort, trimite un cadru BEACON (baliz),
dnd adresa presupusei staii moarte. Cnd acest cadru s-a propagat ct de departe a putut, se poate
vedea cte staii sunt oprite i acestea sunt eliminate din inel, utiliznd releele de ocolire din centrul
de cablaj, totul realizndu-se fr intervenia operatorului.
Este instructiv s comparm abordrile alese pentru controlul token-bus-ului i cel al token-ringului. Comitetul 802.4 a fost speriat de moarte de ideea de a avea vreo component centralizat care
ar putea cdea pe neateptate i prbui i sistemul odat cu ea. De aceea ei au proiectat un sistem
n care deintorul curent al jetonului are puteri speciale (de exemplu, solicitarea cererilor de
alturare la inel), dar n care nici o staie nu este diferit n vreun fel de celelalte (de exemplu,
responsabilitatea administrativ atribuit curent pentru ntreinere).
Pe de alt parte, comitetul 802.5 a simit c avnd un monitor centralizat se pot trata mult mai
uor jetoanele pierdute, cadrele orfane i aa niai departe; n plus, ntr-un sistem normal, staiile
cedeaz foarte rar, aa c suportarea ocazional a concurenei pentru un nou monitor nu este o
mare dificultate. Preul pltit este c dac vreodat monitorul chiar o ia razna, dar continu s emit
periodic cadre de control ACTIVE MONITOR PRESENT (exist monitor activ), nici o staie nu-1
va nlocui. Monitoarele nu pot fi puse la ndoial.
Aceast diferen n abordri vine de la domeniile diferite de aplicaii avute n vedere de cele
dou comitete. Comitetul 802.4 se gndea la fabrici cu mase mari de metal micndu-se sub
controlul calculatorului. Cderile reelei puteau provoca pagube serioase i trebuia prevenite cu.
278
CAP. 4
orice pre. Comitetul 802.5 era interesat n automatizarea birourilor, unde cderi rare puteau fi
tolerate ca pre pentru un sistem mai simplu. Dac 802.4 este sau nu mai fiabil dect 802.5 rmne
un subiect controversat.
4.3.4 Comparaie ntre 8023,802.4 i 802.5
Datorit existenei a trei tipuri de LAN-uri diferite i incompatibile, fiecare cu proprieti
diferite, multe organizaii sunt confruntate cu ntrebarea: pe care ar trebui s-1 instalm? n aceast
seciune vom arunca o privire asupra tuturor celor trei standarde LAN 802, evideniind punctele lor
tari i slabe, asemnrile i deosebirile.
Pentru nceput, merit s notm c cele trei standarde LAN folosesc aproximativ aceeai
tehnologie i au performane relativ similare. In timp ce cercettorii i inginerii din domeniul
calculatoarelor pot discuta ore ntregi despre meritele cablului coaxial n comparaie cu cele ale
perechii torsadate, cei din departamentele de marketing, personal i contabilitate probabil c nu
sunt prea interesai n realitate de una sau alta dintre opiuni.
S ncepem cu avantajele lui 802.3. Este de departe tipul cel mai larg folosit n prezent, cu o baz
instalat imens i experien n funcionare considerabil. Protocolul este simplu. Staiile pot fi
instalate din mers, fr a opri reeaua. Este utilizat un cablu pasiv i nu sunt necesare modemuri.
Mai mult, ntrzierea la ncrcare sczut este practic nul (staiile nu trebuie sa atepte pentru un
jeton; ele pur i simplu transmit imediat). .
Pe de alt parte, 802.3 are o component analogic substanial. Fiecare staie trebuie s
fie capabil s detecteze semnalul celei mai slabe staii, chiar i atunci cnd ea nsi transmite,
iar toate circuitele de detectare a coliziunilor din transiver sunt analogice. Datorit posibilitii
de a avea cadre eliminate prin coliziune, cadrul corect minim este de 64 de octei, ceea ce
reprezint o ncrcare suplimentar substanial atunci cnd datele constau doar dintr-un
singur caracter de la un terminal.
Mai mult, 802.3 este nedeterminist, ceea ce adesea este inadecvat pentru lucru n timp real [dei
o oarecare funcionare n timp real este posibil simulnd prin software un token-ring
(Venkatramani i Chiueh, 1995)]. De asemenea, el nu are prioriti. Lungimea cablului este limitat
la 2.5 km (la 10 Mbps), ntruct lungimea dus-ntors a cablului determin mrimea cuantei, deci i
performana. Pe msur ce viteza crete, eficiena scade deoarece timpul de transmisie a cadrului
scade, dar intervalul de conflict nu (mrimea cuantei este 2x, indiferent care este rata datelor). Ca o
alternativ, cablul ar trebui scurtat. De asemenea, la ncrcare mare, prezena coliziunilor devine o
problem major i poate afecta serios productivitatea.
Acum s considerm standardul 802.4, token-bus. El utilizeaz echipament de televiziune prin
cablu de nalt fiabilitate, care este disponibil n stoc la numeroi furnizori. Este mai determinist
dect 802.3, dei pierderi repetate ale jetonului la momente critice pot introduce mai mult
nesiguran dect vor suporterii si s admit. Poate lucra cu cadre scurte de lungime minim.
De asemenea, token-bus suport prioriti i poate fi configurat s furnizeze o fraciune
garantat a limii de band pentru trafic de nalt prioritate, cum ar fi vocea digitizat. De
asemenea, are o excelent productivitate i eficien la ncrcare mare, devenind efectiv TDM. n
fine, cablul de band larg poate suporta mai multe canale, nu numai pentru date, dar i pentru voce
si televiziune.
SEG. 4.3
&r.
279
280
CAP. 4
Spre deosebire de toate celelalte protocoale de LAN 802,802.6 nu este lacom. n toate celelalte,
dac o staie are ansa s transmit, o va face. Aici, staiile se aeaz la coad n ordinea n care devin
pregtite s emit i transmit dup politica FIFO. Partea interesant din acest protocol este cum se
obine ordinea FTFO fr existena unei cozi centrale.
Regula de baz este c staiile sunt politicoase: ele cedeaz n favoarea celor aflate n aval de ele.
Aceast politee este necesar pentru a preveni situaia n care staia cea mai apropiat de capt
nha toate celulele goale care vin i le umple, nfometnd pe cei din aval. Pentru simplificare, vom
examina numai transmisia pe magistrala^!, dar acelai lucru se ntmpl i cu magistrala B.
Pentru a simula coada FIFO, fiecare staie menine dou contoare, RC i CD. RC (Request
Counter - contor de cereri) numr cererile din aval aflate n ateptare nainte de momentul n
care staia nsi are un cadru de transmis. n acel moment, RC este copiat n CD, RC este
resetat la 0 i numr acum cererile fcute dup ce staia a devenit pregtit. De exemplu,
dac pentru staia k CD = 3 i RC = 2, urmtoarele trei celule goale care trec pe la staia k
sunt rezervate pentru staiile din aval, dup care staia k poate emite, iar apoi nc dou celule
sunt rezervate pentru staiile din aval. Pentru a simplifica vom presupune c o staie poate
ave,a o singur celul gata de transmis la un moment dat.
Pentru a expedia o celul, o staie trebuie s fac mai nti o rezervare prin setarea bitului de
Cerere (request) ntr-o celul de pe magistrala de ntoarcere (adic pe magistrala B pentru o
transmisie care va avea loc mai trziu pe magistrala^). Pe msur ce aceast celul se propag pe
magistrala de ntoarcere, fiecare staie de-a lungul drumului ei o observ i i incrementeaz RC.
Pentru a ilustra acest concept, vom folosi un exemplu. Iniial toate contoarele RC sunt 0, iar n coad
nu exist nici o celul, aa cum se arat n Fig. 4-32(a). Apoi staia D face o cerere care determin
staiile C, B i A s i incrementeze contoarele RC, dup cum se arat n Fig. 4-32(b). Dup aceasta,
B face o cerere i copiaz valoarea curent din RC n CD, rezultnd situaia din Fig. 4-32(c).
n acest moment, captul de pe magistrala^ genereaz o celul goal. Cnd ea trece prinB, acea
staie vede c propriul CD>0, deci nu poate utiliza celula goal (cnd o staie are o celula n coad,
CD reprezint poziia sa n coad, 0 nsemnnd capul cozii). n schimb decrementeaz CD. Atunci
cnd celula nc goal ajunge la D, acea staie vede c CD - 0, nsemnnd c nimeni nu este n faa
ei n coad, aa c i pune datele n celul executnd un SAU ntre datele ei i celul i seteaz bitul
Ocupat. Dup ce a terminat transmisia, avem situaia din Fig. 4-32(d).
Atunci cnd este generat urmtoarea celul goal, staia B vede c este prima din coad i
ocup celula (prin setarea unui bit), aa cum este ilustrat n Fig. 4-32(e). n acest fel, staiile stau la
coad pentru a le veni rndul, fr s existe un administrator al unei cozi centralizate.
Sistemele DQDB sunt acum instalate de multe companii de telecomunicaii n orae ntregi. Ele
au pn la 160 km la viteze de 44.736 Mbps (T3).
4.3.6
Acum este probabil timpul s facem un pas napoi i s comparm ce am nvat n acest capitol
cu ce am studiat n cel anterior. n Cap. 3, am vzut cum dou maini pot comunica n siguran pe o
linie nesigur folosind diverse protocoale ale legturii de date. Aceste protocoale furnizau un control
al erorilor (folosind confirmri) i un control al fluxului (folosind o fereastr glisant).
SEC. 4.3
Capt
A
Magistrala A
'
RC = O
CD = O
=IC = O
(
:D = O
J i
C "
B "
RC = 0
I:D = O
- D "
LJJ
281
=IC = O
RC = 0
:D = o
:D = O
Capt
tI
Magistrala B
(a)
A a
- B '
r C
RC=1
CD = O
RC = 1
CD = O
RC=1
CD = 0
ir
V . "
'
CERERE
i D " ^^Pachet , E
RC = 0
CD = 0
1
RC = 0
CD = 0
(b)
i- A '
RC = 2
CD = O
V
r B "
RC = O
CD=1
Pachet V
C "
RC=1
CD = 0
iL
, D
- E
RC = 0
CD = 0
RC = 0
CD = 0
,.
CERERE
il
"
(0
Date
ir
B '
,Pachet - C "
u D "
RC = 1
CD = O
RC = O
CD = 6
RC = 0
CD = 0
RC = 0
CD = 0
ir
-"'ii
: '
\r
- ';
:'
.-"'
LU
v A "
RC = 0
CD = 0
i
i i
(d)
Date
RC = O
CD = O
\r
i D '
LU
i- A
C0-
(
RC = O
CD = O
RC = 0
CD = 0
RC = 0
CD = 0
RC = 0
CD = 0
Ji
l
V .
(_
Fig. 4-32, (a) Iniial reeaua MAN este inactiv, (b) Dup ce D face o cerere,
(c) Dup ce B face o cerere, (d) Dup ce D transmite, (e) Dup ce B transmite.
n schimb, n acest capitol nu am spus nici un cuvnt referitor la comunicaiile fiabile. Tot
ce ofer MAN-ul i LAN-urile 802 este un serviciu datagram de tipul best-efforts" (cea mai
bun ncercare). Uneori, acest serviciu este adecvat. De exemplu, pentru transportul
pachetelor IP, nu sunt cerute sau ateptate garanii. Un pachet IP poate fi pur i simplu inserat
ntr-un cmp de informaie util al 802 i trimis pe traseul su. Dac se pierde, asta este.
282
CAP. 4
Cu toate acestea, exist sisteme n care este de dorit un protocol al legturii de date cu control al
erorilor i al fluxului. IEEE a definit unul care poate sta deasupra tuturor protocoalelor MAN i
LAN 802. n plus, acest protocol, numit LLC (Logical Link Control), ascunde diferenele dintre
diferitele tipuri de reele 802 prin furnizarea unui singur format i a unei singure interfee pentru
nivelul reea. Formatul, interfaa i protocolul sunt strns legate de OSI. LLC formeaz jumtatea
superioar a nivelului legturii de date, cu subnivelul MAC sub el, aa cum se arat n Fig. 4-33.
Pachet j
;
Nivelul reea
Nivelul
legtur -s
dedate
LLC
LLC
\
Pachet
MAC
MAC LLC
Pachet
Nivelul fizic
Reea
(a)
(b)
]
MAC
4.4
PUNI
Multe organizaii au LAN-uri multiple i doresc s le conecteze. LAN-urile pot fi conectate prin
dispozitive numite puni (bridges), care opereaz la nivelul legturii de date. Aceasta nseamn c
punile nu examineaz antetul nivelului de reea i pot astfel s copieze la fel de bine pachete IP,
IPX i OSI. Dimpotriv, un ruter strict IP, IPX sau OSI poate lucra numai cu pachetele
corespunztoare protocolului su.
n urmtoarele seciuni vom analiza arhitectura punilor, n special pentru conectarea LANurilor 802.3,802.4 i 802.5. Pentru o tratare cuprinztoare a punilor i a altor subiecte nrudite, vezi
(Perlman, 1992). nainte de a intra n tehnologia punilor, merit s aruncm o privire asupra
ctorva situaii obinuite n care acestea sunt folosite. Vom meniona ase motive pentru care o
singur organizaie poate ajunge s aib LAN-uri multiple. n primul rnd, multe universiti i
departamente ale unor corporaii au propriile lor LAN-uri, n principal pentru a-i conecta
PUOT1
SEC. 4.4
H Server
I de fiier
Grup pe
un singur
LAN
Staie
de lucru
LAN
Fig. 4-34. LAN-uri multiple conectate printr-o coloan vertebral pentru a trata
un trafic total mai mare dect capacitatea unui singur LAN.
n al treilea rnd, pentru a face fa traficului poate fi necesar s desprim ceea ce logic este un
singur LAN n LAN-uri separate. La multe universiti, de exemplu, mii de staii de lucru sunt
disponibile pentru profesori i studeni. Fiierele sunt inute de obicei pe servere i sunt ncrcate pe
mainile utilizatorilor la cerere. Dimensiunea mare a acestui sistem mpiedic punerea tuturor
staiilor de lucru pe un singur LAN - lrgimea de band total necesar este mult prea mare. n
schimb sunt folosite LAN-uri multiple conectate prin puni, dup cum este artat n Fig. 4-34.
Fiecare LAN conine un grup de staii de lucru cu propriul su server de fiiere, astfel nct cea mai
mare parte a traficului este limitat la un singur LAN nencrcnd suplimentar coloana.vertebral.
n al patrulea rnd, n anumite situaii, un singur LAN ar fi potrivit n ceea ce privete traficul,
dar distana fizic ntre cele mai ndeprtate calculatoare este prea mare (de exemplu, mai mult de
2.5 km pentru 802.3). Chiar dac este uor de ntins cablul, reeaua nu ar funciona din cauza
ntrzierilor excesiv de mari pentru propagarea dus/ntors a semnalelor. Singura soluie este
partiionarea LAN-ului i instalarea de puni ntre segmente. Folosind punile, poate fi mfit
distana fizic total acoperit.
n al cincilea rnd, trebuie considerat problema siguranei. Pe un singur LAN, un nod defect,
care trimite tot timpul un ir continuu de date alterate, va compromite LAN-ul. Punile pot fi
284
CAP. 4'
inserate topunetecritice pentru a preveni ca un singur nod care funcioneaz defectuos s afecteze
ntregul sistem. Spre deosebire de un repetor, care doar copiaz ceea ce vede, o punte poate fi
programat s exercite un anumit control privind ceea ce trimite mai departe i ceea ce nu trimite.
n al aselea (i ultimul) rnd, punile pot contribui la securitatea organizaiei. Cele mai
multe interfee LAN au un mod transparent de lucru (promiscuous mode), n care toate
cadrele sunt transferate calculatorului, nu numai cele care sunt adresate acestuia. Spionilor si
bgreilor le place acest lucru. Prin inserarea punilor n diferite locuri i prin grija de a nu
transmite traficul de date senzitive, este posibil izolarea unor pri din reea, astfel nct
datele s nu cad n minile cui nu trebuie.
Gazd A
Gazd B
Reea
LANCSMA/CD
LANTokenbus
SEC. 4.4
PUNI
285
;. Fiecare dintre cele nou combinaii de 802 JC la 8O2.y prezinlisetul su unic de probleme. Totui,
nainte de a le considera pe fiecare n parte, s considerm cteva probleme generale comune
tuturor punilor. Pentru nceput, fiecare dintre LAN-uri folosete un format de cadru diferit (vezi
Fig. 4-36). Nu exist nici un motiv tehnic viabil pentru aceast incompatibilitate. Doar c niciuna
dintre corporaiile care promoveaz cele trei standarde (Xerox, GM, i IBM) nu au vrut s l
schimbe pe al ei. Drept care orice transfer ntre LAN-uri diferite cere reformatare, ceea ce consum
timp CPU, necesit o nou calculare a sumei de control i introduce posibilitatea erorilor
nedetectate datorat biilor eronai n memoria punii. Nimic dintre cele menionate nu ar fi fost
necesar dac cele trei comitete ar fi putut s cad de acord asupra unui singur format.
Adresele
surs
DelimitatorControl Control
i
Preambul start
acces cadru destinaie Lungime
Date
802.3
:
802.4
802.5
i
i
i
i
286
CAP^l
O problem evident apare atunci cnd un cadra lung trebuie transmis unui LAN care nu 8 "i
poate accepta. La acest nivel, mprirea cadrului iese din discuie. Toate protocoalele presupun
recepionarea total sau nu a cadrelor. Nu exist posibilitatea de reasamblare a cadrelor din uniti
mai mici. Aceasta nu nseamn c asemenea protocoale nu ar putea fi inventate. Ele pot fi i au fost.
Doar c 802 nu are aceast caracteristic. Fundamental, nu exist nici o soluie. Cadrele care sunt
prea lungi pentru a fi transmise trebuie eliminate. Cam att n ceea ce privete transparena.
S analizm acum, pe scurt, fiecare dintre cele nou cazuri de punte de la 802.x la 8O2.y, pentru a
vedea ce alte probleme se mai ascund n umbr. Pentru 802.3 la 802.4 este uor. Singura! lucru care
poate s mearg prost este ca LAN-ul destinaie s fie att de tare ncrcat, nct cadrele se tot
adun n punte, iar puntea nu poate scpa de ele. Dac aceast situaie dureaz suficient de mult,
puntea poate s rmn fr spaiu de memorie i s nceap s abandoneze cadre. Din moment ce
problema poate s apar ntotdeauna cnd se transmite spre un LAN 802.3, nu o vom mai aminti n
cele ce urmeaz. n cazul celorlalte dou LAN-uri fiecrei staii, inclusiv punii, i se garanteaz
obinerea periodic a jetonului aa nct nu poate fi dezactivat pentru mult timp.
De la 802.4 la 802.3 exist dou probleme. Prima: cadrele 802.4 conin bii de prioritate pe care
cadrele 802.3 nu i au. Drept urmare, dac dou LAN-uri 802.4 comunic printr-un LAN 802.3,
prioritatea va fi pierdut de LAN-ul intermediar.
O a dou problem este cauzat de o caracteristic special a lui 802.4: predarea temporar a
jetonului. Este posibil ca un cadra 802.4 s aib un bit din antet setat la 1 pentru a pasa temporar
jetonul destinaiei, permindu-i s trimit un cadra de confirmare. Totui, dac un asemenea cadru
este transmis de o punte, ce ar trebui s fac puntea? Dac trimite ea nsi un cadra de confirmare
minte, pentru c, n realitate, cadrai nu a fost livrat nc. De fapt, destinaia poate fi moart.
Pe de alt parte, dac nu genereaz confirmarea, expeditorul va concluziona mai mult ca sigur c
destinaia este moart i va raporta eec superiorilor si. Se pare c aceast problem nu are soluie.
De la 802.5 la 802.3 avem o problem similar. Formatul cadrului 802.5 are biii A i C n octetul
de stare al cadrului. Aceti bii sunt setai de ctre destinaie ca s-i spun expeditorului dac staia
adresat a vzut cadrul i dac 1-a copiat. Din nou puntea poate s mint i s anune copierea
cadrului, dar dac mai trziu rezult c destinaia este inactiv, pot aprea probleme serioase. n
esen, inserarea unei puni ntr-o reea a schimbat semantica biilor. Este greu de imaginat o soluie
potrivit acestei probleme.
De la 802.3 la 802.4 problema este: ce s punem n biii de prioritate. Se poate argumenta c
puntea trebuie s retransmit toate cadrele la cea mai mare prioritate, pentru c probabil au suferit
deja suficiente ntrzieri.
De la 802.4 la 802.4 singura problem este ce s facem n cazul predrii temporare a jetonului.
Cel puin aici avem posibilitatea ca puntea s reueasc transmiterea cadrului suficient de repede
pentru a primi rspuns nainte de expirarea timpului. Totui ne asumm un risc. Prin transmiterea
cadrului cu cea mai mare prioritate, puntea spune o minciun cusut cu a alb, dar mrete
probabilitatea primirii rspunsului la timp.
De la 802.5 la 802.4 avem aceeai problem cu biii A i C ca mai nainte. De asemenea, definiia
biilor de prioritate este diferit pentru cele dou LAN-uri, dar ceretorii nu au de ales. Cel puin
cele dou LAN-uri au acelai numr de bii de prioritate. Tot ceea ce poate s fac puntea este s
copieze biii de prioritate dintr-o parte n cealalt i s spere c totul va fi bine.
De la 802.3 la 802.5 puntea trebuie s genereze bii de prioritate, dar nu exist alte probleme
speciale. De la 802.4 la 802.5 o problem posibil este cea a cadrelor prea lungi i apare din nou
SEC. 4.4
PUNI
287
'- problema predrii jetonului. n sfrit, de la 8015;la 802.5 se jpuse problema tratrii biilor A i C.
Piferitele probleme pe care le-am discutat sunt rezumate n Fig 4-37.
LAN destinaie
802.3 (CSMA/CD) 802.4 (Token-bus) 802.4 (Token-ring)
802.3
UN
802.4
surs
802.5
1,4
1,2,4,8
1,5,8,9,10
1,2,3,8,9,10
1,2,5,6,7,10
1,2,3,6,7
6,7
Aciuni:
1. Reformateaz cadrele i calculeaz noua sum de control.
2. Inverseaz ordinea biilor.
3. Copiaz prioritatea, indiferent dac are sau nu nsemntate.
4. Genereaz o prioritate fictiv.
5. Elimin prioritatea.
6. Dreneaz inelul (n vreun fel).
7. Seteaz biii A i C (prin minciun).
8. Se ocup de congestie (LAN-uri rapide la LAN-uri lente}.
9. Se ocup de transferul jetonului,
confirmarea fiind ntrziat sau imposibil.
10. Se alerteaz n cazul unui cadru prea lung pentru
LAN-ul destinaie.
Parametrii presupui:
802.3: cadre de 1500 octei,
802.4: cadre de 8191 octei,
802.5: cadre de 5000 octei,
288
CAP. 4
viziunea lor, un sit cu LAN-url multiple ar trebui s fie capabil s se duc i s cumpere puni
proiectate dup standardul IEEE, s stabileasc conexiunile i totul s funcioneze perfect,
instantaneu. Nu ar trebui s fie nevoie de modificri de hardware, de modificri de software, de
setarea adreselor, de ncrcarea tabelelor sau parametrilor, nimic altceva. Se conecteaz numai
cablurile i funcioneaz. Mai mult, funcionarea LAN-urilor existente nu ar trebui s fie afectat n
nici un fel de puni. Destul de surprinztor, chiar au reuit.
O punte transparent opereaz n mod transparent (promiscuous mode), acceptnd orice cadru
transmis pe oricare dintre LAN-urile la care este ataat. De exemplu, s considerm configuraia
din Fig. 4-38. Puntea Bl este conectat la LAN-urile 1 i 2, iar puntea B2 este conectat la LANurile 2, 3 i 4. Un cadru destinat lui A de la LAN 1 care ajunge la puntea Bl poate fi eliminat
imediat, pentru c este deja pe LAN-ul care trebuie, dar un cadru care ajunge de la LAN 1 pentru C
sau F trebuie transmis.
La sosirea unui cadru, o punte trebuie s decid dac s fl elimine sau s l transmit mai departe,
iar dac l transmite, pe ce LAN s l pun. Aceast decizie este luat cutnd adresa destinaiei ntro tabel (de dispersie) mare din interiorul punii. Tabelul poate s includ fiecare destinaie posibil
i crei linii de ieire (LAN) i aparine. De exemplu, tabelul lui B2 ar include A ca aparinnd lui
LAN 2, din moment ce tot ce trebuie s tie B2 este pe care LAN s pun cadrele destinate lui A.
Nu prezint interes faptul c mai trziu, vor avea loc mai multe transmisii.
La prima conectare a punilor, toate tabelele de dispersie sunt vide. Niciuna dintre puni nu tie
unde se afl destinaiile, astfelnct folosesc algoritmul de inundare: orice cadru care vine pentru o
destinaie necunoscut este trimis pe toate LAN-urile la care este conectat puntea, cu excepia celui
de pe care a venit. Cu trecerea timpului, punile afl unde se gsesc destinaiile, dup cum este
descris n cele ce urmeaz. Odat ce o destinaie este cunoscut, cadrele destinate ei sunt puse pe
LAN-Ul care trebuie, n loc s fie inundate.
Algoritmul folosit de punile transparente este nvare regresiv (backward learning). Dup cum
a fost menionat anterior, punile lucreaz n mod transparent (promiscuous), astfel nct vd fiecare
cadru trimis pe oricare dintre LAN-urile lor. Uitndu-se la adresa sursei, ele pot spune care
calculator este accesibil pe care LAN. De exemplu, dac puntea Bl din Fig. 4-38 vede un cadru pe
LAN 2 venind de la C, tie c C trebuie s fie accesibil prin LAN 2, deci creeaz o intrare n tabela
de dispersie, n care noteaz c pentru cadrele care merg la C ar trebui s foloseasc LAN 2. Orice
cadru ulterior adresat lui C care vine pe LAN 1 va fi transmis, dar un cadru pentru C care vine pe
LAN 2 va fi abandonat.
Topologia se poate schimba dup cum calculatoarele i punile sunt n funciune sau nu, sau
mutate de colo-colo. Pentru a trata topologii dinamice, de cte ori se creeaz o intrare n tabela de
dispersie, n ea este notat timpul de sosire a cadrului. De cte ori sosete un cadru a crui destinaie
se afl deja n tabel, intrarea sa este adus la zi cu timpul curent. Astfel, timpul asociat fiecrei intrri
arat ultimul moment n care a fost primit un cadru de la respectivul calculator.
Periodic, un proces din punte scaneaz tabela de dispersie i cur toate intrrile mai
vechi de cteva minute. n acest fel, dac un calculator este scos din LAN-ul su, plimbat prin
cldire i reinstalat n alt parte, n cteva minute va reveni la funcionarea normal, fr vreo
intervenie manual. Acest algoritm semnific de asemenea c dac un calculator este inactiv
pentru cteva minute, orice trafic trimis spre el va trebui inundat, pn cnd calculatorul
respectiv va trimite un cadru.
PUNI
LAN 2
LAN1
LAN 3
Acest algoritm trebuie aplicat pentru fiecare cadru care sosete. Exist cipuri VLSI speciale
care realizeaz cutarea i actualizarea n tabela de dispersie, doar n cteva microsecunde.
Pentru a mri sigurana, unele situri folosesc dou sau mai multe puni n paralel ntre perechi de
LAN-uri, dup cum este artat n Fig. 4-39. Totui, acest aranjament introduce i unele probleme
suplimentare, ntruct creeaz bucle n topologie.
Cadru copiat
deB1\
Cadru copiat
/ d e B2
LAN 2
LANl
-Cadru iniial
290
CAP.4
Punte
(a)
LAN
Punte care
face parte
din arborele
de acoperire
H
Punte care
nu face parte
din arborele
de acoperire
(b)
SEC.4.4
PUNI
291
Punile pot fi folosite i pentru conectarea LAN-urilor aflate la mare distan. n acest model,
fiecare sit const dintr-o colecie de LAN-uri i puni, dintre care una are o legtur la un WAN.
Cadrele pentru LAN-urile ndeprtate circul prin WAN. Algoritmul arborelui de acoperire de baz
poate fi folosit, preferabil cu anumite optimizri, pentru a selecta un arbore care micoreaz volumul
traficului n WAN.
4.43 Puni cu dirijare de la surs
Punile transparente au avantajul de a fi uor de instalat. Le conectezi i pleci. Pe de alt
parte,, nu folosesc optim lrgimea de band, din moment ce nu folosesc dect un subset al
topologiei (arborele de acoperire). Importana relativ a acestor doi factori (i a altora) a dus
la o ruptur n interiorul comitetelor 802 (Pitt, 1988). Partizanii CSMAVCD i token bus au
ales puntea transparent, partizanii inelului (cu ncurajri de la IBM) au preferat o schem
denumit dirijare de la surs (source routing), pe care o s-b descriem n continuare. Pentru
detalii suplimentare, vezi (Dixon, 1987).
Redus la esen, dirijarea de la surs presupune c emitorul fiecrui cadru tie dac
destinaia este sau nu n propria reea local. Atunci cnd se trimite un cadru la o reea local
diferit, maina surs seteaz la 1 bitul cel mai semnificativ din adresa destinaie, pentru a
marca acel cadru. Mai mult, include n antetul cadrului traseul exact pe care acesta l va urma.
Acest drum este construit astfel: fiecare LAN are un numr unic, de 12 bii, iar fiecare punte are
un numr de patru bii care o identific n mod unic n contextul reelelor locale. Astfel, dou puni
ndeprtate pot avea ambele numrul trei, dar dou puni dintre aceleai dou LAN-uri trebuie s
aib numere diferite. Un drum este astfel o secven de numere de punte, LAN, punte, LAN ...
Referindu-ne kt Fig. 4-38, un drum de la A la D ar fi (LI, Bl, L2, B2, L3).
O punte de tip dirijare de Ia surs este interesata numai de acele cadre care au bitul cel mai
semnificativ al adresei destinaie setat la valoarea 1. Pentru fiecare astfel de cadru, puntea scaneaz
traseul cutnd numrul LAN-ului pe care a sosit cadrul; Dac acest numr de LAN este urmat de
ctre propriul numr de punte, puntea trimite mai departe cadrul spre LAN-ul al crui numr
urmeaz dup numrul ei. Dac numrul LAN-ului pe care a sosit cadrul este urmat de numrul
unei alte puni, puntea nu trimite mai departe cadrul.
Acest algoritm duce la trei implementri posibile:
1. Software: puntea lucreaz n mod transparent, copiind in memoria sa toate cadrele, pentru a
vedea dac au bitul cel mai semnificativ al adresei destinaie setat la 1. Dac da, cadrul este
inspectat n continuare, altfel, nu.
2. Hibrid: interfaa LAN a punii inspecteaz bitul cel mai semnificativ al adresei destinaie i
accept numai cadrele cuiaeest bit setat la 1. Interfaa este simplu de implementat n
hardware i reduce foarte mult numrul de cadre pe care trebuie s le inspecteze puntea.
1. Hardware: interfaa LAN a punii, nu numai c testeaz bitul cel mai semnificativ al adresei
destinaie, dar scaneaz i traseul pentru a vedea dac puntea trebuie s fac trimiterea mai
departe. Punii i sunt predate numai cadrele care trebuie trimise mai departe. Aceast
implementare necesit hardware-ul cel mai complex, dar n schimb nu ncarc unitatea
central a punii cu prelucrarea cadrelor nerelevante care sunt filtrate.
292
CAR4
Aceste trei implementri difer, prin costuri i performane. Prima, nu are costuri
suplimentare de hardware pentru interfa, dar pentru a putea trata toate cadrele poate
necesita o unitate central foarte rapid. Ultima necesit un cip special VLSI, dar preia de la
punte o mare parte din prelucrri,.astfel c poate fi folosit i o unitate central mai lent sau,
alternativ, puntea poate trata mai multe LAN-uri.
:
;...{.
n proiectarea dirijrii de la surs n mod implicit, orice main din inter-reea tie, sau poate
afla, drumul optim spre orice alt main. O parte important a algoritmului dirijm de la surs este
modul n care sunt descoperite aceste trasee. Ideea de baz este c dac destinaia este necunoscut,
sursa emite un cadru de difuzare pentru a aia unde se afl aceasta. Acest cadra de descoperire
(discoveiy frame) este trimis mai departe de fiecare punte astfel nct el ajunge la fiecare LAN din
inter-reea. La sosirea rspunsului, punile i nregistreaz identitatea n acesta, astfel nct
expeditorul iniial poate vedea traseul exact urmat i n cele din- urm alege cel mai buri traseu.
Punte
Gazd
Nivel
LAN
o
-o
/
\
-O-- o - -O- o - -o
\ /
/ \
PUNTI
SEC. 4.4
293
--.
Punte transparent
Orientare
Transparen
Configurare
Dirijare
Localizare
Eecuri
Complexitate
Fr conexiune
Complet transparent
Automat
Suboptimal
nvare regresiv
Tratate de puni
La nivelul punilor
Orientat conexiune
Netransparent
Manual
Optimal
Cadre de descoperire
Tratate de gazd
La nivelul gazdelor
294
CAP.4
LAN 2
LAN 3
Fig. 4-43. Puni aflate la distan folosite pentru a interconecta LAN-uri ndeprtate.
SEC. 4.5
295
Acest el poate fi atins punnd cte o punte fiecrui LAN i conectnd punile n perechi cu linii
punct-la-punet (de exemplu linii nchiriate de la o companie de telefoane). Un sistem simplu, cu trei
LAN-uri, este prezentat n Fig. 4-43. Aici se aplic algoritmul de dirijare obinuit. Cel mai simplu
este s se priveasc cele trei linii punct-la-punct ca LAN-uri. frclgazde. Adic, un sistem obinuit de
ase LAN-uri interconectate.prin patru puni. Nimic din ce am studiat pn acum nu spune c un
LAN trebuie s aib gazde.
Pe liniile punct-la-punct pot fi folosite diverse protocoale. O posibilitate este alegerea unui
protocol de legtur de date punct-la-punct standard, punnd cadre MAG complete n cmpul de
informaie util. Aceast strategie funcioneaz cel mai bine dac LAN-urile sunt identice i singura
problem este transmiterea cadrelor la LAN-ul care trebuie. Alt posibilitate este eliminarea
antetului i a ncheierii cadrelor MAC la puntea surs, punnd ceea ce a mi rmas n cmpul de
informaie util al protocolului punct-la-punct. Un nou antet i o nou ncheiere MAC pot fi apoi
generate la puntea destinaie. Un dezavantaj al acestei abordri este c suma de control care ajunge
la puntea destinaie nu este cea calculat de gazda surs, existnd posibilitatea ca erori cauzate de
bii eronai n memoria unei puni s nu fie detectai.
296
CAP. 4
poate fi utilizat uneori pentru a se conecta directIastai3e derhicm afe utffizatEBifer. Existpericolul
ca utilizatori curioi s scoat oc^anaieene^mlxfefiffqat^
a
vedea cum trec biii la 100 Mbps. Ctrimlasercurio^utiMzatoEar pHteasfii.ctLo:gaHr.n:retkv
LED-urile sunt prea slabe pentra a rnr 0ebM, darsu&aientrde ptttenriaeLpenrro a transporta: cu
10
acuratee date la 100 Mbps. Proiectarea FDDI spedSc'rBrmarrnnB: de o efoaran 23xlO bii.
Multe implementri se comport mult maibke.
Token-bus
Punte
Inei FDDI
Punte
Ethernet
Calculator
Token-ring
Ethernet
(a)
(b)
Fig. 4-45. (a) FDDI const din dou inele rotindu-se n sensuri opuse, (b) n eventualitatea
ntreruperii ambelor inele htr-un punct, ele pot fi legate pentru a forma un singur inel mai lung.
see.4-5
>8
2 sau 6
2 sau 6
Fr limit
Preambul
Adres
destinaie
Adres
surs
Date
1 1
Sum de control
Control cadru
Delimitator de sfrit
- Delimitator de nceput Stare cadru
Jt
prezentat n Fig. 4-46. Cmpurile Delimitator de nceput (Start delimiter) i Delimitator de sfrit (End
delimiter) marcheaz capetele cadrului. Cmpul Control cadru spune ce fel de cadru este (dat,
control etc). Octet-ul Stare cadru pstreaz bii de confirmare, similari cu aceia ai 802.5. Celelalte
cmpuri sunt analoage celor de la 802.5.
n plus fa de cadrele obinuite (asincrone), FDDI permite i cadre speciale sincrone pentru
date sincrone PCM prin comutare de circuite sau date ISDN. Cadrele sincrone sunt generate la
fiecare 125 microsecunde de o staie mater, pentru a furniza cele 8000 de eantioane pe secund de
298
CAP.$
care au nevoie sistemele PCM. Fiecare dintre aceste cadre are un antet, 16 octei de date transmii
fr comutare de circuite i cel mult 96 octei de date transmii cu comutare de circuite (adic pn
la 96 de canale PGM pe cadru).
Numrul 96 a fost ales pentru c permite ca ntr-un cadru s ncap patru canale TI (4x24) la
1.554 Mbps sau trei canale CCITT El (3x32) la 2.048 Mbps, fcndu-1 astfel potrivit oriunde n
lume. Un cadru sincron la fiecare 125 de microsecunde consum 6.144 Mbps de band pentru cele
96 de canale cu comutare de circuite. Un maxim de 16 cadre sincrone la fiecare 125 de
microsecunde permite cel mult 1536 canale PGM i consum 98.3 Mbps.
Odat ce o staie a dobndit una sau mai multe cuante de timp ntr-un cadru sincron, acele
cuante i sunt rezervate pn cnd sunt eliberate n mod explicit. Banda total nefolosit de cadrele
sincrone este alocat la cerere. n toate aceste cadre este prezent o masc indicnd cuantele
disponibile pentru alocare la cerere. Traficul nesincron este mprit n clase de prioriti, prioritile
mari findprimele care au acces la banda rmas.
Protocolul MAC FDDI folosete trei contoare de timp. Contorul de timp de reinere a
jetonului (token holding timer) determin ct timp poate continua s transmit o staie dup
ce a dobndit jetonul. Acest contor de timp previne situaia n care staia ar ocupa inelul la
nesfrit Contorul de timp de rotaie a jetonului (token rotation timer) este repornit la fiecare
trecere a jetonului. Dac acest contor de timp expir, nseamn c jetonul nu a fost vzut
pentru un interval prea lung. Probabil c a fost pierdut, astfel nct este iniiat procedura de
recuperare a jetonului, in sfrit, contorul de timp de transmisie corect (valid transmission
timer) este folosit la detectarea i recuperarea unor erori temporare n inel.
FDDI are, de asemenea, un algoritm de prioritate similar cu 802.4. El determin care clas
de prioritate va transmite la o anumit trecere a jetonului. Dac jetonul este n avans fa de
planificare, pot transmite toate clasele de prioritate, dar dac jetonul este n urm, pot
transmite numai clasele de prioritate ridicat.
4.5.2 Ethernet rapid
Se presupunea c FDDI va fi urmtoarea generaie de LAN, dar nu a ptruns mai departe de
piaa coloanelor vertebrale (unde continu s fie utilizat). Administrarea staiilor era prea
complicat, ceea ce a dus la cip-uri complexe i preuri mari. Costul substanial al cip-urilor FDDI i-a
fcut pe productorii de staii de lucru s nu o doreasc s devin reeaua standard, astfel nct nu sa trecut la producia de mas i FDDI nu a ptruns puternic pe pia. Lecia care trebuia nvat de
aici era KISS (Keep It Simple, Stupid), adic PLSP (pstreaz lucrurile simple, prostule).
n orice caz, eecul lui FDDI n a se impune a lsat loc unei varieti de LAN-uri la viteze mai
mari de 10 Mbps. Multe instalri necesitau mai mult band i de aceea aveau numeroase LAN-uri
de 10 Mbps conectate printr-un labirint de repetoare, puni, rutere i pori, dei administratorii de
reea aveau cteodat impresia c erau inute la un loc prin gum de mestecat.
n aceste condiii, IEEE a convocat din nou, n 1992, comitetul 802.3 instruindu-1 s proiecteze
un LAN mai rapid. O propunere era s se pstreze 802.3 identic, dar s fie fcut s mearg mai
repede. Alt propunere era ca 802.3 s fie total reproiectat, s i se dea o mulime de noi
caracteristici, cum ar fi trafic n timp real i voce digitizat, dar s i se pstreze vechiul nume (din
motive de marketing). Dup dispute zgomotoase, comitetul a decis s pstreze 802.3 aa cum era,
doar s-1 fac mai rapid. Cei din spatele propunerii respinse au fcut ceea ce ar fi fcut n aceste
SEC. 45
299
Reproiectarea s-a fcut repede (dup normele comitetelor de standarde) i rezultatul, 802.3u, a
fost aprobat oficial de IEEE n iunie 1995. Tehnic, 802.3u nu este un standard nou, ci o completare
la standardul-existent (pentru a sublinia compatibilitatea eu versiunea precedent). De vreme ce
toat lumea i spune Ethernet rapid (fast Ethernet), mai degrab dect 802.3u, aa vom face i noi.
Ideeade baz din spatele Ethemet-ului rapid era simpl: pstreaz toate vechile formate de
pachete, interfee i reguli procedurale, n schimb se reduce durata de bit de la 100 nsec la 10 nsec.
Tehnic, ar fi fost posibil s se copieze 10Base-5 sau 10Base-2 i s se detecteze coliziunile la timp
numai prin reducerea lungimii maxime a cablului de zece ori. Totui, avantajele cablrii lOBase-T au
fost att de copleitoare, nct Ethernet-ul rapid se Baseaz n ntregime pe acest mod de cablare.
Astfel toate sistemele Ethernet rapide folosesc concentratoare; nu sunt permise cablurile multipunct
cu conectori vampir sau BNC.
Cu toate acestea, tot mai trebuia luate anumite decizii, cea mai important fiind ce fel de
srm s fie folosit. O alternativ a fost reprezentat de perechi torsadate de categoria 3.
Argumentul era c practic fiecare birou occidental are cel puin patru fire torsadate categoria
3, mergnd de la el la o central telefonic aflat la cel mult 100 m, cteodat existnd chiar
dou asemenea cabluri. Astfel, folosirea perechilor torsadate de categoria 3 ar face posibil
legarea calculatoarelor de birou prin Etherne-ul rapid, fr s fie necesar o recablare a
cldirii, un avantaj enorm pentru multe organizaii.
Dezavantajul principal al firelor torsadate categoria 3 este incapacitatea lor de a purta semnale
de 200 Mbozi (100 Mbps cu codificarea Manchester) pe o distan de 100 m, distana maxim
calculator - concentrator specificat pentru lOBase-T (vezi Fig.4-17). n contrast, cablarea cu fire
torsadate categoria 5 poate s controleze uor 100 de metri, iar fibra merge i mai departe.
Compromisul ales a fost s se permit toate cele trei posibiliti, aa cum se arat n Fig. 4-47, dar s
se mbunteasc soluia cu categoria 3 pentru a i se da capacitatea de transport necesar.
Nume
100Base-T4
100Base-TX
100Base-F
;
Cablu
Fire torsadate
Fire torsadate
Fibr optic
Segment max.
100 m
100 m
2000 m
Avantaje
Folosete categoria 3UTP
Full duplex la 100 Mbps
Full dup[ex la 100 Mbps pentru distane mari
300
CAP. 4
cele 10 milioane n fiecare secund). Pentru a: dobndi banda necesar, lOOBase^ necesit patrii
perechi torsadate. Din moment ce de zeci de ani telefonia standard a folosit patru perechi torsadate
per cablu, cele mai multe dintre birouri pot s se descurce. Bineneles, nseamn abandonarea
telefonului de la birou, dar aceasta este desigur un pre mic pentru un e-mail mai rapid.
Dintre cele patru perechi torsadate, una este ntotdeauna nspre concentrator, una este
ntotdeauna dinspre concentrator, iar celelalte dou sunt comutabile n direcia transmisiei curente.
Pentru a obine banda necesar nu se folosete codificarea Manchester, dar cu ceasurile moderne i
asemenea distane scurte, nici nu este nevoie. n plus, sunt trimise semnale ternare, aa nct n
timpul unei singure perioade de tact firul poate conine un 0, un 1 sau un 2. Cu trei perechi torsadate
mergnd n direcia de transmitere i semnale ternare, oricare din cele 27 de simboluri posibile poate
fi transmis, fcnd posibil, cu o anumit redundan, transmiterea a 4 bii. Transmiterea a patru bii
n fiecare din cele 25 de milioane de perioade de tact pe secund d cei 100 Mbps necesari. n plus,
ntodeauna exist un canal invers de 33.3 Mbps care folosete perechea torsadat rmas. Aceast
schem, cunoscut ca 8B(7T (8 bii reprezint 6 trii), nu va ctiga premii pentru elegan, dar
funcioneaz cu cablarea existent.
Pentru cablajul categoria 5, arhitectura, lOOBase-TX, este mai simpl deoarece cablul
poate suporta frecvene de pn la 125 MHz i peste. Sunt folosite numai dou fire torsadate
pe direcie, unul mergnd la concentrator i unul venind de la concentrator. Mai degrab dect
s se foloseasc o codificare binar direct, la 125 MHz este folosit o schem numit 4B5B.
Fiecare grup de cinci perioade de tact este folosit pentru a trimite 4 bii, urmrind s asigure
redundana, s furnizeze suficiente tranziii pentru a permite o sincronizare simpl a
ceasurilor, s creeze abloane unice pentru delimitarea cadrelor i s fie compatibil cu FDDI
la nivelul fizic. n consecin, lOOBase-TX este un sistem full-duplex; staiile pot transmite la
100 Mbps i primi la 100 Mbps n acelai timp. n plus, poi avea dou telefoane n birou
pentru comunicaii adevrate n cazul n care calculatorul este ocupat cu navigarea pe Web.
Ultima opiune, lOOBase-FX, folosete dou fire de fibr multimod, cte unul pentru fiecare
direcie, aa nct i ea este full-duplex cu 100 Mbps n fiecare direcie. n plus, distana dintre staie
i concentrator poate fi pn la 2 km.
n cazurile 100Base-T4 i lOOBase-TX sunt posibile dou tipuri de concentratoare, reunite sub
numele lOOBase-T. ntr-un concentrator partajat, toate liniile care intra (sau cel puin toate liniile
care ajung la o plac "plug-n") sunt conectate logic, formnd un singur domeniu de coliziuni. Toate
regulile standard, inclusiv algoritmul de regresie binar n caz de coliziune (binary back-off), se
aplic, astfel nct sistemul funcioneaz ca 802.3. n particular, la un moment dat nu poate transmite
dect o singur staie.
ntr-un concentrator comutat, fiecare cadru sosit este memorat ntr-un modul de intrare. Dei
aceast caracteristic crete preul concentratorului, are proprietatea c toate staiile pot transmite
(i primi) n acelai timp, mbuntind semnificativ banda total a sistemului, de cele mai multe ori
cu un ordin de mrime sau chiar mai mult. Cadrele memorate sunt trecute printr-un fund de sertar
de vitez mare de la placa surs la placa destinaie. Fundul de sertar nu a fost standardizat i nici nu
trebuie s fie, din moment ce este ascuns adnc n interiorul comutatorului. Dac ne putem ghida
dup experiena trecut, comercianii de comutatoare se vor ntrece serios pentru a produce funduri
de sertar de i mai mare vitez, pentru a mbunti productivitatea sistemului. Deoarece cablurile
lOOBase-FX sunt prea lungi pentru algoritmul Ethernet de coliziune obinuit, ele trebuie conectate
SEC. 4.5
301
302
CAP/4
Memorie
de mare
capacitate
Supercalculator
2
comutator
matricial
4x4
Supercalculator
Supercalculator
4
50 pn la 100
de perechi torsadate
REELE DE SATELII
SEC.4.6
303
Canale de date
FC-4 HIPPI
IBM
Reele
SCSI
802
IP
FC-3
Servicii obinuite
FC-2
Protocol de cadru
FC-1
8/10 Codificare/Decodificare
FC-0
100
Mbps
200
Mbps
400
Mbps
800
Mbps
ATM
Nivel
["legtur
de date
Viitor
I Nivel
.[ fizic
304
CAP. 4
mare bazate pe satelii. De asemenea ne vom ocupa de unele dintre protocoalele care au fost create
pentru a le trata.
Sateliii de comunicaii au de obicei n jur de dousprezece sau mai multe transpondere. Fiecare
transponder are un fascicul care acoper o poriune din pmntul de dedesubt, variind de la un
fascicul larg cu diametrul de 10 000 km, la un fascicul localizat cu diametrul de numai 250 km.
Staiile din interiorul suprafeei acoperite de fascicul pot trimite cadre satelitului pe frecvena de
ridicare. Satelitul le retransmite apoi pe frecvena de coborre. Pentru ridicare i coborre se
folosesc frecvene diferite pentru a mpiedica transponderul s intre n oscilaie. Sateliii care nu fac
prelucrare local, ci doar amplific i retransmit orice aud (cei mai muli dintre ei) se numesc satelii
de tip conduct cotit (bent pipe).
Fiecare anten se poate orienta ctre o anumit suprafa, poate transmite cteva cadre, i apoi
reorienta ctre alt suprafa. Poziionarea (orientarea) se face electronic, dar tot dureaz un numr
de microsecunde. Timpul n care un fascicul st poziionat pe o suprafa dat se numete timp de
staionare (dwell time). Pentru eficien maxim, acesta nu trebuie s fie prea scurt, pentru c altfel
s-ar pierde prea mult timp cu mutarea fasciculului.
La fel ca i n cazul LAN-urilor, una dintre problemele cheie de proiectare este cum s fie
alocate canalele transponderelor. Totui, spre deosebire de LAN-uri, detectarea purttoarei este
imposibil, datorit unei ntrzieri de propagare de 270 msec. Cnd o staie detecteaz starea unui
canal de coborre, aude ce s-a ntmplat cu 270 msec n urm. Detectarea unui canal de ridicare este
n general imposibil. Drept rezultat, protocoalele CSMA/CD (care presupun c o staie care
transmite poate detecta coliziunile pe durata primilor bii transmii i apoi s se retrag dac are loc
o coliziune) nu pot fi folosite n cazul sateliilor. De aici nevoia de alte protocoale.
Pe canalul de acces multiplu (ridicare) sunt folosite cinci clase de protocoale: interogare,
ALOHA, FDM, TDM i CDMA. Dei le-am studiat pe fiecare dintre acestea, funcionarea
sateliilor adaug cteodat noi dificulti. Problema principal este cu canalul de ridicare,
deoarece canalul de coborre nu are dect un expeditor (satelitul) i nu are probleme de
alocare a canalului.
4.6.1 Interogare
Modul tradiional de a aloca un singur canal ntre utilizatori concureni utilizeaz interogarea
acestora. Este prohibitiv de costisitor ca satelitul s interogheze pe rnd fiecare staie pentru a vedea
dac are un cadru, din cauza timpului de 270 msec necesar pentru fiecare secven
ntrebare/rspuns.
Totui, dac toate staiile de la sol sunt legate la o reea de comutare de pachete (n mod obinuit
de band ngust), se poate concepe o variant a acestei idei. Ideea este s se aranjeze toate staiile
ntr-un inel logic, astfel nct fiecare staie s-i cunoasc succesorul. Prin acest inel terestru circul
un jeton, pe care satelitul nu l vede niciodat. Unei staii i este permis s transmit pe ridicare
numai atunci cnd a capturat jetonul. Dac numrul staiilor este mic i constant, dac timpul de
transmitere al jetonului este scurt i dac rafalele de date transmise pe canalul de ridicare sunt mult
mai lungi dect timpul de rotaie a jetonului, schema are o eficien moderat.
REELE DE SATELII
SEG.4.6
305
4.6.2 ALOHA
ALOHA simplu se implementeaz uor: fiecare staie transmite atunci cnd vrea.
Problema este c eficiena canalului nu se ridic peste 18%. n general, un asemenea factor de
utilizare redus este inacceptabil pentru satelii care cost zeci de milioane de dolari fiecare.
Satelit \
/
///////l/J/
Satelit \
////////////
/////////
(fv^^
ffj
Un canal
de
coborre
Dou canale
de
ridicare
306
CAP. 4
4.6.3 FDM
Multiplexarea prin divizarea frecvenei este cea mai veche i probabil nc cea mi folosit
metod de alocare a canalelor. Un transponder de 36-Mbps poate fi mprit static if 500
canale PCM de 64Kbps, fiecare opernd la frecvena sa unic, pentru a evita interferena cu
altele.
Dei simpl, FDM are anumite dezavantaje. n primul rnd, este nevoie de benzi de gard ntre
canale pentru a menine staiile separate. Aceast cerin exist pentru c nu este posibil
construirea unor emitori care emit toat energia n banda principal i nimic n benzile
laterale/secundare. Cantitatea de band risipit n benzile de gard poate reprezenta o fraciune
important din total.
n al doilea rnd, staiile trebuie controlate cu grij n ceea ce privete puterea semnalului de
ieire. Dac o staie emite putere prea mare n banda principal, va pune automat prea mult putere
n benzile secundare, revrsndu-se peste canalele adiacente i cauznd interferene. n sfrit, FDM
este n ntregime o tehnic analogic i nu este adecvat implementrii n software.
Dac numrul de staii este mic i fixat, canalele de frecven pot fi alocate static n avans. Totui,
dac numrul de staii sau ncrcarea pe fiecare dintre acestea poate fluctua rapid, este nevoie de o
form de alocare dinamic a benzilor de frecven. Un asemenea mecanism este sistemul SPADE
folosit pe civa satelii Intelsat timpurii. Fiecare transponder SPADE a fost mprit n 794 canale
de voce PCM mai simple (64-kbps) mpreun cu un canal obinuit de semnalizare, de 128-kbps.
Canalele PCM erau folosite n perechi pentru a oferi serviciu full-duplex. Banda total folosit de un
transponder era de 50 Mbps pentru poriunea de ridicare i de nc 50 Mbps pentru coborre.
Canalul obinuit de semnalizare era mprit n uniti de 50 msec. O unitate coninea 50 de
cuante de 1 msec (128 bii). Fiecare cuant "aparinea" cel mult uneia dintre cele 50 de staii
terestre. Cnd o staie terestr avea informaie de trimis, alegea la ntmplare un canal curent
nefolosit i scria numrul acelui canal n urmtoarea cuant de 128 de bii. n cazul n care canalul
selectat era n continuare nefolosit atunci cnd cererea era vzut pe coborre, canalul era
considerat alocat i toate celelalte staii se abineau de la a ncerca s-1 dobndeasc. Dac dou sau
mai multe staii ncercau s aloce acelai canal n acelai cadru, se producea o coliziune i trebuia s
ncerce din nou mai trziu. Atunci cnd o staie termina de folosit canalul, trimitea un mesaj de
eliberare a cuantei sale din canalul comun.
4.6.4 TDM
La fel ca FDM, TDM este bine neles i larg folosit n practic. Necesit sincronizarea cuantelor
de timp, dar aceasta poate fi oferit de o staie de referin, dup cum este descris pentru ALOHA
cuantificat de mai sus. Asemntor cu FDM, pentru un numr de staii mic i care nu variaz,
atribuirea cuantelor poate fi stabilit n avans i niciodat schimbat, dar pentru un numr variabil
de staii sau pentru un numr fixat de staii cu ncrcare variabil n timp, cuantele de timp trebuie
atribuite dinamic.
Atribuirea cuantelor se poate face n mod centralizat sau descentralizat. Ca exemplu de atribuire
centralizat de cuante, s considerm ACTS-ul experimental (Advanced Communication Tecnology
Satellite - Satelitul cu tehnologie avansat de comunicare), care a fost proiectat pentru cteva zeci de
staii (Palmer i White, 1990). ACTS a fost lansat n 1992 i are patru canale TDM independente de
REELE DE SATELIT!
SEC. 4.6
307
110 Mbps, dou de ridicare i dou de coborre. Fiecare canal este organizat ca o secven de cadre
de 1-msec, fiecare cadru coninnd 1728 cuante de timp. Fiecare cuant de timp are partea util de
64 bii, permind includerea unui canal de voce de 64 Kbps.
Fasciculele pot fi mutate de la o suprafa geografic la alta, dar din moment ce mutarea
consum cteva cuante de timp, n mod normal canalelor care au originea sau se termin n aceeai
arie geografic le sunt atribuite cuante de timp succesive, pentru a mri timpul de staionare i a
micora pierderea de timp datorat mutrii fasciculului. Astfel gestionarea cuantelor de timp
necesit o cunoatere n profunzime a amplasrii geografice a staiilor pentru a minimiza numrul
de cuante de timp risipite. Pentru acest motiv i pentru altele, gestiunea cuantelor de timp se face de
ctre una dintre staiile terestre, MCS (Mater Control Station - staia de control principal).
Funcionarea ACTS este un proces continuu n trei pai, fiecare pas lund 1 msec. n pasul 1,
satelitul primete un cadru i fl stocheaz ntr-un RAM cu 1728 intrri, aflat la bordul satelitului. n
pasul 2, un calculator (aflat la bord) copiaz fiecare intrare la ieirea corespunztoare (posibil pentru
o alt anten). n pasul 3, cadrul de ieire este transmis pe coborre.
Iniial, fiecrei staii i este atribuit cel puin o cuant de timp. Pentru a dobndi canale
suplimentare (pentru alte apeluri de voce), o staie trimite un scurt mesaj de cerere la MCS.
Aceste mesaje folosesc un numr mic de bii suplimentari i ofer un canal de control special
la MCS cu o capacitate de aproximativ 13 mesaje/sec pe staie. Canalele sunt dedicate; nu
exist dispute pentru ele.
Alocarea dinamic de cuante TDM este de asemenea posibil. n cele ce urmeaz vom discuta
trei scheme. n fiecare dintre acestea, cadrele TDM sunt mprite n cuante de timp, cu fiecare
cuant avnd un posesor (temporar). Cuanta de timp poate fi folosit numai de posesor.
Prima schem presupune c exist mai multe cuante dect staii, astfel nct fiecrei staii i
este atribuit o cuant implicit (Binder, 1975). Dac sunt mai multe cuante dect staii,
cuantele suplimentare nu sunt asociate nimnui. Dac posesorul unei cuante nu o dorete pe
durata ciclului curent, trece n ateptare. O cuant fr nimic este un semnal pentru toi
ceilali c posesorul ei nu are trafic. n timpul cadrului urmtor, cuanta devine disponibil
oricui o vrea, pe baz de concuren (ALOHA).
Subsloturi de rezervare
Proprietar G A F E B C D
m
D E
D E
A G
Grup 4 G A
B C D B
D D
ffi
Grup 3 G A A E
A F
Grup 2 G A
B C D
Grupi G A F
E B B
(a)
(b)
(O
Fig. 4-51. Scheme de rezervare, (a) Binder, (b) Crowther. (c) Roberts.
Ptrelele umbrite indic coliziuni. Pentru fiecare dintre cele trei scheme,
sunt artate patru grupuri consecutive de cuante.
308
CAP. 4;
Dac posesorul dorete s-i recupereze cuanta sa "implicit", trimite un cadru, fornd astfelo
coliziune (dac mai exist trafic). Dup coliziune, orice staie n afar de posesor trebuie s renune
s foloseasc cuanta n urmtorul cadru. Astfel posesorul poate ntotdeauna s nceap transmisia
ntr-un interval de dou cadre (n cel mai ru caz). La utilizare redus a canalelor sistemul nu are
performane la fel de bune ca ALOHA cuantificat normal din moment ce, dup fiecare coliziune,
staiile intrate n coliziune trebuie s se abin de la un cadru pentru a vedea dac posesorul vrea
cuanta napoi. Fig. 4-51(a) prezint un cadru cu opt cuante, dintre care apte sunt deinute de G, A,
F, E, B, C i, respectiv, D. Cea de-a opta cuant nu aparine nimnui i poate fi disputat.
O a doua schem este aplicabil, chiar dac numrul staiilor este necunoscut i este variabil
(Crowther .a., 1973). n aceast metod, cuantele nu au posesori permaneni, spre deosebire de
metoda lui Binder. n schimb, staiile concureaz pentru cuante folosind ALOHA cuantificat. De
cte ori o transmisie este reuit, staia care a fcut-o are dreptul la aceeai cuant i n urmtorul
cadru. Astfel, ct timp o staie are de trimis informaie, poate s o fac la nesfrit (supus unor
reguli tip Te-rog-nu-fii-mgar). n esen propunerea permite un amestec dinamic de ALOHA
cuantificat i TDM, cu numrul cuantelor atribuite fiecreia variind la cerere. Fig. 4-51(b) prezint
un cadru cu opt cuante. Iniial, E folosete ultima cuant, dar dup dou cadre, nu mai are nevoie de
aceasta. Trece n ateptare timp de un cadru, apoi D o culege i o pstreaz pn cnd termin.
O a treia schem, datorat lui Roberts (1973), impune ca staiile s fac cereri n avans,
nainte de a transmite. Fiecare cadru conine, s zicem, o cuant special (ultima din
Fig. 4-5 l(c)) care este mprit n V subcuante mai mici, folosite pentru a face rezervri.
Atunci cnd o staie vrea s trimit date, emite un scurt cadru de cerere ntr-o subcuant de
rezervare aleas la ntmplare. Dac rezervarea este reuit (adic nu au loc coliziuni), atunci
este rezervat urmtoarea cuant (sau cuante) obinuit. Toate staiile trebuie s in n
permanen evidena lungimii cozii (numrul de cuante rezervate), astfel ca, atunci cnd orice
staie face o rezervare reuit, s tie peste cte cuante trebuie s sar nainte de a transmite.
Staiile nu trebuie s in evidena celor aflai n coad; trebuie s cunoasc doar lungimea
cozii. Atunci cnd lungimea cozii scade la 0, toate cuantele se transform n subcuantele de
rezervare pentru a mri viteza procesului de rezervare.
Dei TDM este larg folosit, cu i fr schemele de rezervare, are i el unele defecte. n primul
rnd impune ca toate staiile s fie sincronizate n timp, ceea ce nu este aa de uor n practic din
cauz c sateliii au tendina de a aluneca pe orbit, ceea ce schimb timpul de propagare la fiecare
staie terestr. De asemenea necesit ca fiecare staie terestr s fie capabil de viteze rafal foarte
mari. De exemplu, chiar dac o staie ACTS poate avea numai un canal de 64 Kbps, ea trebuie s fie
capabil s emit o rafal de 64 bii ntr-o cuant de timp de 578 nsec. Cu alte cuvinte, trebuie de
fapt s opereze la 110 Mbps. n schimb, o staie FDM de 64 Kbps opereaz ntr-adevr la 64 Kbps.
4.6.5 CDMA
Ultima schem este CDMA. CDMA evit problema sincronizrii n timp i cea a alocrii
canalelor. Este complet descentralizat i n ntregime dinamic.
Totui, are trei dezavantaje principale. n primul rnd, capacitatea unui canal n prezena
zgomotelor i a staiilor necoordonate este n mod obinuit mai mic dect ce poate realiza TDM. n
al doilea rnd, cu 128 cipuri/bit (o valoare obinuit), dei rata de transfer nu este mare, rata de
cipuri este mare, necesitnd un emitor rapid i scump (la citire). n al treilea rnd, puini ingineri
REZUMAT
SEC. 4.7
309
neleg de faptCMDA, ceea ce n general nu crete ansele ca ei s-1 foloseasc, chiar dac este cea
mai bun metod pentru o anumit aplicaie. Cu toate acestea, CDMA a fost folosit de armat zeci
de ani i acum devine din ce n ce mai obinuit i n aplicaiile comerciale.
4.7
REZUMAT
Anumite reele au un singur canal care este folosit pentru toate comunicaiile. n aceste
reele, principala problem de proiectare este alocarea acestui canal ntre staiile concurente
care doresc s l foloseasc. Au fost pui la punct numeroi algoritmi de alocare a canalului.
Un rezumat al unora dintre cele mai importante metode de alocare a canalului este prezentat
nFig.4-52.
Metod
FDM
TDM
ALOHA pur
ALOHA cuantificat
CSMA1-persistent
CSMA nepersistent
CSMA p-persistent
CSMA/CD
Hart de bii (bit map)
Numrare binar invers
Parcurgere arborescent
Divizarea lungimii de und
MACA, MACAW
GSM
CDPD
CDMA
Ethernet
Token-bus
Token-rihg
DQDB
FDDI
HIPPI
Canal de fibr
SPADE
ACTS
Binder
Crowther
Roberts
Descriere
Dedic o band de frecven fiecrei staii
Dedic o cuant de timp fiecrei staii
Transmisie nesincronizat n orice moment
Transmisie aleatoare n cuante de timp bine definite
Acces multiplu standard cu detectarea purttoarei
ntrziere aleatoare cnd canalul este ocupat
CSMA cu probabilitatea de persisten p
CSMA cu oprire n cazul detectrii unei coliziuni
Utilizeaz o hart de bii pentru planificare de tip rulare prin rotaie
Urmtoarea este staia pregtit cu cel mai mare numr
Reduce conflictele prin activare selectiv
Schem FDM dinamic pentru fibre optice
Protocoale LAN fr fir
FDM plus TDM pentru telefonie celular
Comutare de pachete radio ntr-un canal AMPS
Toi vorbesc n acelai timp, dar n limbaj diferit
CSMA/CD cu algoritm cu regresie exponenial binar
Inel logic pe o magistral fizic
Trimite un cadru dup primirea jetonului
MAN cu dou magistrale utiliznd cozi distribuite de mesaje
Token-ring pe fibr optic
Comutator matricial care utilizeaz 50 -100 de perechi torsadate
Comutator matricial folosind fibr optic
FDM cu alocare dinamic a canalului
TDN cu alocarea centralizat a cuantelor
TDM cu ALOHA cnd deintorul cuantei nu este interesat
ALOHA cnd deintorul cuantei o pstreaz
Rezervarea n avans a canalului prin ALOHA
310
CAP. 4
Dac numrul staiilor este mare i variabil, iar traficul de tip rafal, atunci FDM i DM
nu sunt alegeri bune. Ca alternativ a fost propus protocolul ALOHA, cu sau fr cuantificare
i control. ALOHA i numeroasele sale variante i derivate a fost pe larg discutat, analizat i
folosit n sisteme reale.
Atunci cnd starea canalului poate fi detectat, staiile pot evita nceperea unei transmisii ct
timp transmite alt staie. Aceast tehnic, detectarea purttoarei, a condus la o diversitate de
protocoale care pot fi folosite pe LAN-uri i MAN-uri.
Exist o clas de protocoale care elimin total conflictele, sau cel puin le reduce considerabil.
Numrarea binar invers elimin complet conflictele. Protocolul de parcurgere arborescent le
reduce mprind dinamic staiile n dou grupuri disjuncte, unuia permindu-i-se s transmit iar
celuilalt nu. Acesta ncearc s fac mprirea astfel, nct transmisia s-i fie permis unei singure
staii dintre cele pregtite s trimit.
LAN-urile fr fir au propriile lor probleme i soluii. Cea mai mare problem este cauzat de
staii ascunse, astfel nct CSMA nu funcioneaz. O clas de soluii, tipizat de MACA,
intenioneaz s stimuleze transmisiile n jurul destinaiei, pentru a mbunti funcionarea CSMA.
Pentru calculatoare i telefoane mobile, tehnologia radio celular vine din urm. GSM, CDPD i
CDMA sunt larg folosite.
LAN-urile IEEE 802 sunt: CSMA/CD, token-bus i token-ring. Fiecare dintre acestea are
propriile sale avantaje i dezavantaje, fiecare i-a gsit propria sa comunitate de utilizatori i
probabil va continua s serveasc acea comunitate i n viitor. Convergena la un singur standard
LAN este un eveniment improbabil. O nou adugare la aceast familie este DQDB, vndut ca
MAN n multe orae.
O organizaie cu multe LAN-uri le conecteaz deseori prin puni. Atunci cnd o punte
conecteaz dou sau mai multe tipuri de LAN-uri, apar noi probleme, dintre care unele
nerezolvabile.
n timp ce 802 sunt caii de traciune ai zilei, caii de curse sunt FDDI, Ethernet-ul rapid, HIPPI i
canalul de fibre. Toate acestea ofer band n domeniul de 100 Mbps i peste.
n sfrit, reelele de satelii folosesc de asemenea canale de acces multiplu (pentru
ridicare). n acest caz se utilizeaz diferite metode de alocare a canalului, incluznd ALOHA,
FDM, TDM i CDMA.
4.8 PROBLEME
1.
Un grup de N staii folosesc n comun un canal ALOHA pur de 56 Kbps. Fiecare staie emite n
medie un cadru de 1000 de bii la fiecare 100 sec, chiar dac cel precedent nu a fost nc trimis
(de exemplu, staiile folosesc zone tampon). Care este valoarea maxim a lui N?
2.
Comparai ntrzierea unui canal ALOHA pur cu aceea a unui canal ALOHA cuantificat la
ncrcare mic. Care dintre ele este mai mic? Motivai rspunsul.
3.
Zece mii de staii de rezervare a biletelor de avion concureaz pentru folosirea unui singur canal
ALOHA cuantificat. O staie obinuit face 18 cereri/or. O cuant este de 125 usec. Care este
ncrcarea total aproximativ a canalului?
SEG.4.8
PROBLEME
311
Un LAN folosete versiunea lui Mpk i Ward pentru numrtoarea invers binar. La un
anumit moment, cele zece staii au numerele virtuale de staie 8, 2, 4, 5, 1, 7, 3, 6, 9 i 0.
Urmtoarele trei staii care trebuie s emit sunt 4, 3 i 9, n aceast ordine. Care sunt noile
numere virtuale de staie dup ce toate cele trei i-au terminat transmisiile?
8. aisprezece staii concureaz pentru folosirea unui canal comun folosind protocolul cu
parcurgere arborescent adaptiv. Dac toate staiile ale cror adrese sunt numere prime devin
brusc simultan disponibile, cte intervale de bit sunt necesare pentru a rezolva conflictul?
9. O colecie de 2n staii folosesc protocolul cu parcurgere arborescent adaptiv pentru a arbitra
accesul la un cablu comun. La un moment dat, dou dintre ele devin disponibile. Care este
numrul minim, maxim i mediu de cuante pentru a parcurge arborele
dac2n>>l?
10. LAN-urile fr fir pe care le-am studiat foloseau protocoale ca MACA n loc de CSMA/CD. n
ce condiii ar fi posibil s foloseasc CSMA/CD?
11. Care sunt caracteristicile comune ale protocoalelor de acces la canal WDMA i GSM?
12. Folosind structura de cadru GSM dat n figura 4-14, determinai ct de des un utilizator dat
poate trimite un cadru de date.
13. Presupunei c A, B i C transmit simultan bii 0 folosind un sistem CDMA cu secvenele de
achii din figura 4-16(b). Care este secvena de achii rezultat?
14. n discuia despre ortogonalitatea secvenelor de achii CDMA, se afirm c dac S*T=0,
atunci S~T=0. Demonstrai acest lucru.
15. S considerm un alt mod de a privi proprietatea de ortogonalitate a secvenelor de achii ale
CDMA Fiecare bit dintr-o pereche de secvene se poate potrivi sau nu. Exprimai proprietatea
de ortogonalitate n termeni de potriviri sau nepotriviri.
312
CAP. 4
16. Un receptor CDMA primete urmtoarele achii: (-1 +1-3 +1 -1-3 +1 +1). Considernd
secvenele de achii definite n figura 4-16(b), care staii au transmis i ce bii a trimis
fiecare staie?
17. O cldire cu 7 etaje are 15 birouri alturate pe fiecare etaj. Fiecare birou conine o priz de
perete pentru un terminal pe peretele din fa, astfel nct prizele formeaz o reea rectangular
n plan vertical, cu o distan de 4 m ntre prize, att pe orizontal ct i pe vertical.
Presupunnd c este posibil s se monteze cte un cablu direct ntre orice pereche de prize, pe
orizontal, vertical sau diagonal, ci metri de cablu sunt necesari pentru conectarea tuturor
prizelor folosind:
a) O configuraie stea cu un singur ruter n mijloc?
b) Un LAN 802.3?
c) O reea de tip inel (fr fir central)?
18. Care este viteza (n bauds) a unui LAN 802.3 standard de 10 Mbps?
19. Un LAN CSMA/CD de 10 Mbps (care nu e 802.3), lung de 1 km, are o vitez de propagare de
200 m/usec. Cadrele de date au o lungime de 256 bii, incluznd 32 de bii de antet, suma de
control i alte date suplimentare. Primul interval de bit dup o transmitere efectuat cu succes
este rezervat pentru receptor spre a ocupa canalul pentru a trimite un cadru de confirmare de
32 de bii. Care este viteza efectiv de date, excluznd ncrcarea suplimentar i presupunnd
c nu sunt coliziuni?
20. Dou staii CSMA/CD ncearc s transmit fiecare fiiere mari (multicadru). Dup ce
este trimis fiecare cadru, ele concureaz pentru canal folosind, algoritmul de regresie
exponenial binar. Care este probabilitatea terminrii conflictului la runda k, i care este
numrul mediu de runde per conflict?
21. S considerm cazul unei reele CSMA/CD de lGbps, cu un cablu mai lung de 1 km, fr
repetoare. Viteza semnalului pe cablu este de 200.000 km/sec. Care este dimensiunea
minim a cadrului?
22. Schiai codificarea Manchester pentru irul de bii: 0001110101.
23. Schiai codificarea Manchester diferenial pentru irul de bii din problema precedent.
Presupunei c linia este iniial n stare jos.
24. Un sistem token-bus funcioneaz n modul uftntor. Cnd un jeton ajunge la o staie, un ceas
este resetat la 0. Staia ncepe apoi s transmit cadre cu prioritate 6 pn cnd ceasul ajunge la
T6. Apoi ea trece la cadre de prioritate 4 pn cnd ceasul ajunge la T4. Acest algoritm este
apoi repetat pentru prioritatea 2 i prioritatea 0. Dac toate staiile au valorile ceasului de 40,
80,90 i 100 msec pentru T6 pn la T0, respectiv, ce fraciuni din limea total de band este
rezervat pentru fiecare clas de prioritate?
25. Ce se ntmpl ntr-o reea token-bus dac o staie accept jetonul dup care se blocheaz
imediat? Cum trateaz protocolul descris n capitol acest caz?
SEC. 4.8
PROBLEME
313
26. La o rat de. transmisie de 5 Mbps i o vitez de propagare de 200 m/usec, cu ci metri de cablu
este echivalent ntrzierea de 1 bit din interfaa token-ring?
27. ntrzierea din reeaua token-ring trebuie s fie suficient de mare pentru a conine ntregul
jeton. n cazul n care cablul nu este suficient de lung, trebuie introduse unele ntrzieri
artificiale. Explicai de ce este necesar aceast ntrziere suplimentar n conflictul unui jeton
de 24 bii i un inel cu doar 16 bii de ntrziere.
28. Un token-ring de 10 Mbps, lung de 1 km i foarte ncrcat, are viteza de propagare de 200
m/usec. Cincisprezece staii sunt uniform rspndite n jurul inelului. Cadrele de date sunt de
256 de bii, inclusiv 32 de bii de ncrcare suplimentar. Confirmrile sunt ataate la cadrele de
date i astfel incluse ca bii de rezerv n interiorul cadrelor de date i sunt efectiv gratuite.
Jetonul este de 8 bii. Este viteza de transfer efectiv a acestui inel mai mare sau mai mic dect
aceea a unei reele CSMA/CD de 10 Mbps?
29. ntr-un token-ring emitorul terge cadrul. Ce modificare a sistemului este necesar pentru ca
receptorul s tearg cadrul i care ar fi consecinele?
30. Un token-ring de 4 Mbps are un ceas pentru pstrarea jetonului cu valoarea de 10 msec. Care
este cel mai lung cadru care poate fi trimis n acest inel?
31. Are folosirea unui centru de cablaj vreo influen asupra performanelor unei reele token-ring?
32. O reea token-ring cu fibr optic folosit ca MAN are o lungime de 200 km i funcioneaz la
100 Mbps. Dup trimiterea unui cadru, o staie scoate cadrul din inel nainte de a regenera
jetonul. Viteza de propagare a semnalului prin fibr este de 200.000 km/sec, iar dimensiunea
maxim a cadrului este 1 Koctet. Care este eficiena maxim a inelului (ignornd orice alte surse
de ncrcare suplimentar) ?
33. n figura 4-32, staia D dorete s transmit o celul. Ctre ce staie vrea s o trimit?
34. 'Sistemul din figura 4-32 este n ateptare (liber). Puin mai trziu, staiile C, A i B devin
gata de transmitere, n aceast ordine i n succesiune rapid. Presupunnd c nici un
cadru de date nu este transmis nainte ca toate cele trei staii s emit cte o cerere, artai
care sunt valorile pentru RC i CD dup fiecare cerere i dup cele trei cadre de date.
35. Se spune uneori c Ethernet-ul nu este folositor pentru calcule n timp real datorit
faptului c intervalul de retransmitere n cazul cel mai defavorabil este nelimitat. n ce
situaii acest argument poate fi invocat n cazul token-ring? n ce condiii se poate
cunoate cazul cel mai defavorabil pentru reeaua token-ring? Presupunei c numrul de
staii n token-ring este fix i cunoscut.
36. Cadrele Ethernet trebuie s aib o lungime minim de 64 de octei pentru a avea sigurana c
emitorul nc mai emite, n cazul unei coliziuni la captul cellalt al cablului. Fast Ethernet-ul
are aceeai dimensiune minim a cadrului de 64 de octei, dar poate emite biii de zece ori mai
rapid. Cum este posibil s se menin aceeai dimensiune minim a cadrului?
314
CAP. 4
37. Imaginai-v.dou puni LAN, amndou conectnd o pereche de reele 802.4. Prima punte
primete 1000 de cadre pe secund cu o lungime de 512 octei, care trebuie transmise mai
departe. Cea de a doua punte primete 200 de cadre pe secund cu lungimea de 4096 octei.
Care punte credei c va avea nevoie de o UCP mai rapid? Justificai.
38. Presupunei c cele dou puni din problema precedent conectau fiecare un LAN 802.4 la un
LAN 802.5. Ar avea aceast modificare vreo influen asupra rspunsului precedent?
39. O punte ntre un LAN 802.3 i un LAN 802.4 are o problem legat de erorile intermitente de
memorie. Poate aceast problem s cauzeze erori nedetectate n cadrele transmise sau acestea
vor fi detectate de ctre sumele de control ale cadrelor?
40. Departamentul de informatic al unei universiti are 3 segmente Ethernet, conectate prin
dou puni transparente ntr-o reea liniar. ntr-o zi administratorul de reea
demisioneaz i este nlocuit temporar de ctre cineva de la centrul de calcul, centru care
este o reea token-ring IBM. Noul administrator, observnd c nu sunt conectate capetele
reelei, comand urgent o nou punte transparent i le conecteaz, construind un inel
nchis. Ce se va ntmpla dup aceea?
41. Un inel FDDI mare are 100 de staii i un timp de rotaie a jetonului de 40 msec. Timpul de
deinere a jetonului este de 10 msec. Ce eficien maxim poate fi atins n inel?
42. S considerm cazul interconectrii unor supercalculatoare folosind abordarea HIPPI, dar n
tehnologie modern. Calea pentru date are acum limea de 64 de bii, iar un cuvnt poate fi
trimis la fiecare 10 nsec. Care este lrgimea de band a canalului?
43. n acest capitol se afirm c un satelit cu dou canale ALOHA cuantificate unul de ridicare i
unul de coborre poate ajunge la o utilizare a canalului de coborre de 0.736, avnd la dispoziie
o cantitate infinit de spaiu tampon. Artai cum poate fi obinut acest rezultat.
NIVELUL REEA
Nivelul reea are ca sarcin preluarea pachetelor de la surs i transferul lor ctre destinaie.
Atingerea destinaiei poate presupune realizarea mai multor salturi prin rutere intermediare de-a
lungul drumului. Aceast funcie contrasteaz clar cu cea a nivelului legtur de date, care avea
scopul mult mai modest de a transfera cadre de la un capt al unui fir la cellalt. Astfel nivelul reea
este cel mai sczut nivel care are de-a face cu trarsrnisii capt la capt. Pentru mai multe informaii
despre aceasta, vezi (Huitema, 1995 i Perlman, 1992).
Pentru realizarea scopurilor propuse, nivelul reea trebuie s cunoasc topologia subreelei de
comunicaie (de exemplu mulimea tuturor ruterelor) i s aleag calea cea mai potrivit prin
aceasta. De asemenea trebuie s aleag cile de urmat astfel, nct s nu ncarce excesiv unele
legturi de comunicaie sau rutere n timp ce altele sunt inactive. n fine, cnd sursa i destinaia fac
parte din reele diferite, este sarcina nivelului reea s se ocupe de diferenele existente i s rezolve
toate problemele care decurg din acestea. n acest capitol vom studia toate aceste aspecte i le vom
exemplifica cu dou exemple n funciune la ora actual, Internet i ATM.
5.1
Vom prezenta, n continuare, o introducere a cerinelor pe care proiectantul nivelului reea trebuie
s le rezolve. Acestea includ serviciile furnizate nivelului transport i proiectarea intern a subreelei.
316
NIVELUL REEA
CAP. 5
adic este grania subreelei. De obicei furnizorul are controlul protocoalelor i interfeelor pn la
nivelul reea inclusiv. Sarcina sa este de a livra pachetele pe care clienii i le trimit. Acesta este
motivul pentru care aceast interfa trebuie s fie deosebit de bine definit.
Serviciile nivelului reea au fost proiectate avnd rfvedere urmtoarele scopuri:
1.
2.
SEC. 5.1
317
FTP
TCP
IP
ATM
Legtur de date
Fizic
318
NTVELULREpA
CAP.5
SEC. 5.1
319
spaiu. n reelele publice motivaia este alta (thestick rather ihan the carroi ): utilizatorii pltesc att
timpul de conectare ct i volumul datelor transmise. In plus, trebuie luate unele msuri de precauie
pentru a rezolva situaiile mainilor care termin circuitele virtuale forat, din cauza unor defeciuni,
m loc s le elibereze, politicos atunci cnd au terminat.
Att despre folosirea intern a circuitelor virtuale n cadrul subreelei. Cealalt posibilitate este
sa se foloseasc intern datagramele, caz n care ruterele nu dein o tabel cu o intrare pentru fiecare
circuit virtual deschis. n schimb, ele dispun de o tabel care precizeaz linia de ieire utilizat pentru
fiecare dintre ruterele destinaie. Aceste tabele sunt necesare i n cazul folosirii interne a circuitelor
virtuale pentru a stabili calea pe care o urmeaz pachetul iniial.
Fiecare datagram trebuie s conin adresa complet a destinaiei. Pentru o reea mare,
aceste adrese pot s fie destul de lungi (12 octei sau chiar mai mult). Cnd este recepionat un
pachet, ruterul stabilete linia de ieire care trebuie folosit i trimite pachetul pe acest drum.
De asemenea, stabilirea i eliberarea conexiunilor de nivel reea sau transport nu necesit nici
un efort deosebit din partea ruterului.
5.13 Comparaie ntre subretele bazate pe circuite virtuale i datagrame
Subreea datagram
Nu e necesar
Fiecare pachet conine adresa
complet pentru surs i destinaie
Subreeaua nu pstreaz informaii
de stare
Fiecare pachet este dirijat
independent
Nici unul, cu excepia pachetelor
pierdute n timpul defectrii
Dificil
Subreea CV
Obligatorie
Fiecare pachet conine un numr mic de
CV
Fiecare CV are nevoie de informaii
despre subreea
Calea este stabilit la iniierea CV; toate
pachetele urmeaz aceast rut
Toate circuitele virtuale care trec prin
ruterul defect sunt terminate
Simplu, dac se aloc n avans suficiente
zone tampon pentru fiecare CV
NIVELUL REEA
320
CAP. 5
a circuitelor virtuale este spaiul necesar pstrrii tabelei n ruter. Soluia mai ieftin este
determinat de raportul ntre costul circuitelor de comunicaie i cel al memoriei ruterului.
Alt compromis este cel ntre timpul necesar stabilirii circuitului i timpul de analiz a
adresei. Folosirea circuitelor virtuale presupune existena unei faze iniiale de stabilire a cii,
care cere timp i consum resurse. Oricum, este uor s ne imaginm ce se ntmpl cu un
pachet de date ntr-o subreea bazat pe circuite virtuale: ruterul folosete numrul circuitului
ca un index ntr-o tabel pentru a afla unde merge pachetul. ntr-o reea bazat pe datagrame,
se folosete o procedur mult mai complicat pentru a stabili unde merge pachetul.
Circuitele virtuale au unele avantaje n evitarea congestionrii subreelei, deoarece resursele pot
fi rezervate n avans, atunci cnd se stabilete conexiunea. La sosirea pachetelor, limea de band
necesar i capacitatea ruterului vor fi deja pregtite. Pentru o reea bazat pe datagrame, evitarea
congestionrii este mult mai dificil.
Pentru sistemele de prelucrare a tranzaciilor (de exemplu apelurile magazinelor pentru a
verifica cumprturi realizate cu cri de credit) overhead-ul necesar pentru stabilirea i
eliberarea unui circuit virtual reduce considerabil folosirea acestora. Dac majoritatea
traficului este de acest tip, folosirea intern a circuitelor virtuale comutate n cadrul subreelei
nu prea are sens. Pe de alt parte, ar putea fi de folos circuite virtuale permanente, stabilite
manual si care s dureze luni sau chiar ani.
Circuitele virtuale au o problem de vulnerabilitate. Dac un ruter se defecteaz (cade") i i
pierde coninutul memoriei, toate circuitele virtuale care treceau prin el sunt terminate forat, chiar
dac acesta.i revine dup o secund. Prin contrast, dac un ruter bazat pe datagrame cade, doar
acei utilizatori care aveau pachete memorate temporar n cozile de ateptare ale sale vor fi afectai i
e posibil ca numrul lor s fie i mai mic, n funcie de cte pachete au fost deja confirmate.
Pierderea liniei de comunicaie este fatal pentru circuitele virtuale care o folosesc, ns poate fi uor
compensat dac se folosesc datagrame. Datagramele permit de asemenea ruterului s echilibreze
traficul prin subreea, deoarece cile pot fi modificate oriunde de-a lungul conexiunii.
Este bine s subliniem c serviciul oferit (orientat pe conexiune sau fr conexiune) difer de
structura subreelei (circuit virtual sau datagram). Teoretic, toate combinaiile sunt posibile.
Evident, o implementare cu circuite virtuale a unui serviciu orientat pe conexiune sau o
implementare cu datagrame a unui serviciu fr conexiune sunt rezonabile. De asemenea,
implementarea unui serviciu orientat pe conexiune folosind datagrame are sens dac se dorete
furnizarea unui serviciu foarte robust.
Nivelul superior
Fr conexiune
Datagrame
UDP
peste
IP
Tip subreea
Circuite virtuale
UDP
peste
IP
peste
ATM
Orientate pe conexiune
TCP
peste
IP
ATMAAL1
peste
ATM
Fig. 5-3. Exemple ale diferitelor combinaii de servicii i structuri ale subreelei.
SEC. 5.2
ALGORITMI DE DIRIJARE
321
A patra posibilitate, serviciu fr conexiune, folosind o subreea bazat pe circuite virtuale, pare
ciudat, dar cu siguran apare. Un exemplu imediat este folosirea IP deasupra unei subretele ATM.
Aici s-a dorit folosirea unui protocol fr conexiune existent peste un nou serviciu reea orientat
conexiune. Aa cum s-a mai menionat deja, aceasta este mai degrab o soluie ad-hoc a problemei
dect o proiectare bun. ntr-un sistem nou, proiectat s lucreze peste o subreea ATM, nu s-ar
plasa n mod normal un protocol fr conexiune ca IP deasupra unui nivel reea orientat conexiune
ca ATM i apoi un nivel transport orientat conexiune deasupra acestui protocol neorientat pe
conexiune. Exemple din cele patru cazuri sunt prezentate n Fig. 5-3.
CAP. 5
NIVELUL REIEA
322
l
r
A1
B'
Algoritmii adaptivi, prin contrast, i modific deciziile de dirijare pentru a reflecta modificrile
de topologie i de multe ori i pe cele de trafic. Algoritmii adaptivi difer prin locul de unde i iau
informaia (de exemplu local, de la un ruter vecin sau de la toate ruterele), prin momentul la care
schimb rutele (de exemplu la fiecare AT secunde, cnd se schimb ncrcarea sau cnd se schimb
topologia) i prin metrica folosit pentru optimizare (de exemplu distana, numrul de salturi sau
timpul estimat pentru tranzit). In seciunile urmtoare, vom discuta o varietate de algoritmi de
dirijare, att statici ct i dinamici.
5.2.1 Principiul optimalitii
nainte de a intra n algoritmii specifici, ar fi poate folositor s observm c se poate face o
afirmaie despre rutele optimale fr a ne referi la topologia reelei sau la trafic. Aceast afirmaie
este cunoscut sub numele de principiul optimalitii. El stabilete c dac ruterul J este pe calea
optim de la ruterul I ctreruterul^K, atunci cajea^pjim deJaJJa Kje^te^e^e^TruTPerjSu a
vedea aceasta, snotm cu ri partea din cale de la I la J, iar cu r2 restul rutei. Dac ar exista o rut
mai bun dect r2 de la J la K, ea ar putea fi concatenat cu ri i ar mbunti ruta de la I la K, ceea
ce ar contrazice presupunerea c r^ este optimal.
ALGORITMI DE DIRIJARE
SEC. 5.2
323
B \
K
M O
(a)
(b)
S ncepem studiul algoritmilor de dirijare cu o tehnic des utilizat n multe forme deoarece
este simpl i uor de neles. Ideea este de a construi un graf al subreelei, fiecare nod al grafului
fiind un ruter, iar fiecare arc al grafului fiind o linie de comunicaie (numit adesea legtur). Pentru
a alege o cale ntre o pereche dat de rutere, algoritmul trebuie s gseasc calea cea mai scurt pe
graf ntre cele dou rutere.
Conceptul de cea mai scurt cale (shortest path routing) necesit unele explicaii. O modalitate
de a msura lungimea cii este numrul de salturi. Folosind aceast metric, cile ABC iABE din
Fig. 5-6 sunt la fel de lungi. O alt metric este distana geografic n kilometri, caz n care ABC este
clar mult mai mare dect ABE (presupunnd c figura este desenat la scar).
NIVELUL REEA
324
CAP. 5
Oricum, sunt posibile multe alte metrici n afar de salturi i dis^antaje^rafic. De exemplu,
fiecare arc poate fi etichetat cu valojile_rnedji ale ateptrii n coad i ntrzierii de transmisie
pentru anumite pachete standard de test, aa cum sunt determinate de msurtori care se fac dufor
n or. Cu aceast etichetare cea mai scurt cale este cea mai rapid, nu neaprat cea cu mai puine
arce sau kilometri.
n cazul cel mai general, etichetele de pe arce ar putea fi calculate ca funcii de distant, lrgime
de band, trafic mediu, cost al comunicaiei, lungime medie a cozilor de ateptare, ntrzieri
msurate i ali factori. Prin modificarea ponderilor, algoritmul ar putea calcula cea mai scurt"
cale, n conformitate cu oricare dintre aceste criterii sau cu combinaii ale acestor criterii.
C (oo, -)
B (2, A)
D (oo, -)
B (2, A)
G(6,A)
C (9, B)
B(2,A)
(b)
H(oo,-)
C (9, B)
D(oo,1)
G(6,A)
(0
H(oo,-)
G (5, E)
H (oo, -)
(d)
B(2,A)
C (9, B)
D (oo,-)
G (5, E)
H (9, G)
G (5, E)
(f)
/ H (8, F)
Fig. 5-6. Primii cinci pai folosii n calcularea celei mai scurte ci de la A la D.
Sgeile indic nodul curent.
Se cunosc mai muli algoritmi pentru calculul celei mai scurte ci ntre dou noduri dintr-un graf.
Cel mai cunoscut este cel propus de Dijkstra (1959). Fiecare nod este etichetat (n paranteze) cu
jjijana de la nodul surs pn la el, de-a lungul celei mai bune ci cunoscute. Iniial nu se, cunoate
nici o cale, aa c toate nodurile vor fi etichetate cu infinit. Pe msur ce se execut algoritmul i se
gsesc noi ci, etichetele se pot schimba, reflectnd ci mai bune. O etichet poate fi fie temporar,
fie permanent. Iniial toate etichetele sunt Jemp_orare. Atunci cnd se descoper c o etichet
SEC: 5-2
ALGORITMI DE DIRIJME
325
reprezint cea mai scurt cale posibil de la surs ctre acel nod, ea devine permanent i nu se mai
Pentru a ilustra cum funcioneaz algoritmul de etichetare, s ne uitm la graful neorientat,
etichetat din Fig. 5-6(a), unde etichetele reprezint, de exemplu, distana. Dorim s aflm cea mai
scurt cale de la/1 la D. ncepem prin rrmc^j^diAji^^rrnM^pLt, indicnd aceasta printr-un
0316 e s t e
cerc colorat. Apoi vom examina fiecjje^od^adiaffn SL,^ l
acum nodul curent),
reetichetnd fiecare nod cu distantajgre,^. De fiecare dat cnd un nod este reetichetat, l vom
eticheta i cu nodul de la care s-a fcut ncercarea, pentru a putea reface calea ulterior. Dup ce am
examinat toate nodurile adiacente ale lui A, vom examina toate nodurile cu etichet temporar din
ntregul graf i
fljacejnj^cjd^^^
cum se observ din Fig. 5-6(b).
Acest nod devine noul nod curent.
fe
C2 {iv)
Acum oeegejnjiini? i examinm toate nodurile sale adiacente. Dac suma ntre eticheta lui 1? i
este mai mic dect eticheta acelui nod, n&eamnFcTam gsit o
cale mai scurt i va trebui fcut xeetichetarea nodului.
Dup ce toate nodurile adiacente nodului curent au fost inspectate i au fost schimbate toate
etichetele temporare posibile, se reia cutarea n ntregul graf pentru a identifica nodul cu eticheta
temporar minim. Acest nod este fcut permanent i devine nodul curent al etapei urmtoare. Fig.
5-6 prezint cei cinci pai ai algoritmului.
Pentru a vedea de ce merge algoritmul, s privim Fig. 5-6(c). La momentul respectiv de abia am
fcut permanent nodul E. S presupunem c ar exista o cale mai scurt dect ABE, de exemplu
AXYZE. Exist dou posibiliti: fie nodul Z a fost deja fcut permanent, fie nc nu a fost. Dac a
fost, atunci E a fost deja examinat (la pasul imediat urmtor celui la care Z a fost fcut permanent),
astfel nct caleaAXYZE nu a fost ignorat.
S considerm acum cazul n care Z este nc etichet temporar. Atunci fie eticheta lui Z este
mai mare sau egal cu cea a lui E, caz n care ABE nu poate fi o cale mai scurt dect AXYZE, fie
este mai mic dect cea a lui E, caz n care Z i nu E va deveni permanent mai nti, permind lui E
s fie examinat din Z.
Algoritmul este prezentat n Fig. 5-7. Singura diferen ntre program i algoritmul descris mai
sus este aceea c n Fig. 5-7 calculm calea cea mai scurt pornind de la nodul terminal, t, n locul
nodului surs, s. Deoarece calea cea mai scurt de la Ha s ntr-un graf neorientat este exact aceeai
cu calea cea mai scurt de la s la t, nu conteaz la care capt ncepem (dect dac exist mai multe
ci scurte, caz n care, inversnd calea, am putea gsi alt drum). Motivul pentru care ncepem
cutarea de la nodul destinaie este acela c nodurile sunt etichetate cu predecesorul i nu cu
succesorul. Cnd copiem calea final n variabila de ieire, path, calea este inversat. Prin inversarea
cutrii, cele dou efecte se anuleaz, astfel nct rezultatul se obine n ordinea corect.
5.2.3 Inundarea
Un alt algoritm static este inundarea (flooding), n care fiecare pachet recepionat este trimis mai
departe pe fiecare linie de ieire, cu excepia celei pe care a sosit. Este evident c inundarea
genereaz un mare numr de pachete duplicate, de fapt un numr infinit dac nu se iau unele
msuri pentru a limita acest proces. O astfel de msur este pstrarea unui contor de salturi n
antetul fiecrui pachet, contor care este decrementat la fiecare salt i care face ca pachetul s fie
distrus cnd contorul atinge valoarea zero.
326
NIVELUL REEA
CAP. 5
i n t i , k, min;
struct state *p;
for (p = &state[0];-p < &state[n]; p++) {
/* i n i i a l i z r i
p->predecessor = - 1 ;
p->length = INFINITY;
p->label = temporar;
}
state[t].length = 0; state[t].labei = permanent;
k = t;
/* k este nodul i n i i a l de lucru
do {
/* exist vreo cale mai bun de la k?
for (i = 0; i < n; i++)
/* graful are n noduri
if ( d i s t [ k ] [ i ] != 0 && state[i].labei == temporar) {
if (statefk].length + d i s t [ k ] [ i ] < state[ij.length) {
state[i].predecessor = k;
state[i].length = state[k].length + d i s t [ k ] [ i ] ;
}
*/
*/
*/
'*/
SEC. 5.2
ALGORITMI DE DIRIJARE
327
scop este ca ruterul surs s plaseze un numr de secven n fiecare pachet pe care l primete
de la calculatorul gazd asociat. Fiecare ruter necesit meninerea unei liste pentru fiecare
ruter surs, cu numerele de secven iniiate de acel ruter surs i care au fost deja trimise mai
departe. Dac sosete un pachet care se afl n list, el nu mai este trimis mai departe.
Pentru a limita creterea lungimii listei, fiecare list trebuie nsoit de un contor, k, care
semnific faptul c toate numerele de secven pn la k au fost deja tratate. La recepia unui pachet
este uor s se verifice dac este sau nu un duplicat, caz n care este distrus. Evident, lista cu numere
mai mici dect k nu este necesar, deoarece k o rezum.
O variant a algoritmului de inundare, care este i ceva mai practic, este inundarea
selectiv. n acest algoritm ruterele nu trimit fiecare pachet recepionat pe fiecare legtur de
ieire, ci doar pe acele linii care duc aproximativ n direcia potrivit. De obicei sunt puine
motive pentru a trimite un pachet spre partea de vest a reelei folosind o legtur spre est,
excepie fcnd reelele cu topologii deosebite.
Inundarea nu este practic pentru majoritatea aplicaiilor, ns are destule utilizri. De exemplu,
n aplicaiile militare, unde un mare numr de rutere pot fi scoase din funcionare la orice moment,
robusteea extraordinar a inundrii este necesar. n aplicaiile de baze de date distribuite, este
uneori necesar s fie actualizate toate bazele de date concurent, caz n care inundarea poate fi
folositoare. O a treia utilizare posibil a inundrii este ca metric la care s se raporteze toi ceilali
algoritmi de dirijare. Inundarea alege ntotdeauna cea mai scurt cale, deoarece alege n paralel
toate cile posibile. n consecin, nici un alt algoritm nu poate produce o ntrziere mai redus
(dac ignorm suprancrcarea -overhead-ul- generat de nsui procesul de inundare).
5.2.4 Dirijarea bazat pe flux
Algoritmii studiai pn n acest moment luau n considerare doar topologia. Ei nu ineau
seama de ncrcare. Dac, de exemplu, n Fig. 5-6 exist ntotdeauna un trafic uria de la A la
B, atunci poate e mai bine s dirijm traficul de \a.A\d.C pe calea AGEFC, chiar dac aceast
cale este mult mai lung dect ABC. n aceast seciune, vom studia un algoritm static care
pentru dirijare ine cont att de topologie ct i de ncrcare. El se numete algoritm de
dirijare bazat pe flux (flow based routing).
n unele reele, fluxul mediu de date ntre fiecare pereche de noduri este relativ stabil i
previzibil. De exemplu, n reeaua unui lan de magazine en-detail", fiecare magazin trebuie
s trimit comenzi, rapoarte de vnzri, actualizri ale inventarului i alte tipuri de mesaje bine
definite ctre noduri prestabilite, respectnd un model predefinit, astfel nct volumul total al
traficului variaz puin de la o zi la alta. n condiiile n care traficul mediu de la i la j este
cunoscut n avans i, ntr-o aproximare rezonabil, constant n timp, este posibil analiza
matematic a fluxurilor pentru a optimiza dirijarea.
Ideea care st la baza analizei este aceea c pentru o anumit linie, dac se cunosc
capacitatea i fluxul mediu, este posibil s se calculeze ntrzierea medie a unui pachet pe linia
respectiv, folosind teoria cozilor. Pe baza ntrzierilor medii ale tuturor liniilor se poate
calcula imediat, ca medie ponderat dup flux, ntrzierea medie a unui pachet pentru
ntreaga subreea. Problema dirijrii se reduce apoi la gsirea algoritmului de dirijare care
produce ntrzierea medie minim pentru subreea. Fig. 5-8.
NIVELUL RE1EA
328
CAP. 5
Pentru a folosi aceast tehnic, trebuie cunoscute n avans anumite informaii. n primul rnd,
trebuie cunoscut topologia subreelei. n al doilea rnd, trebuie precizat matricea traficului, F^. n
al treilea rnd, trebuie s fie disponibil matricea capacitilor liniilor, Qp care precizeaz
capacitatea fiecrei linii, exprimat n bps. n final, se alege (cu titlu de ncercare) un anume algoritm
de dirijare.
Destinaie
A
iliilii
9
BA
20
AB
ABC
ABFD AE
AEF
BFD
BFE
BF
Sili BC
XD
M
CBA
CB
CD
CE
CEF
3
CO
DCE
DF
(a)
lllis
DFBA DFB
DC
EA
EFB
EC
ECD
FEA
FB
FEC
FD
FE
11115
EF
(b)
Linie
Ai
(pachete/sec)
Ci
(kbps)
1
2
3
4
5
6
7
8
AB
BC
CD
AE
EF
FD
BF
EC
14
12
6
11
13
8
10
8
20
20
10
20
50
10
20
20
(pachete/sec)
25
25
12.5
25
Ti
(msec)
91
77
154
71
20
62.5
12.5
2222
25
25
67
59
Pondere
0.171
0.146
0.073
0.134
0.159
0.098
0.122
0.098
Fig. 5-9. Analiza subreelei din Fig. 5-8 folosind pachete cu dimensiunea medie 800 bii.
Traficul invers (BA, CB etc.) este acelai cu traficul direct.
SEC. 5.2
ALGORITMI DE DIRBARE
329
Avnd aceste informaii, se calculeaz, imediat totalul pe linia /, X;. De exemplu, traficul B-D
contribuie cu 3 pachete/sec la traficul liniei BF i tot cu 3 pachete/sec la traficul liniei FD. Similar,
traficul A-D contribuie cu 1 pachet/sec, la fiecare dintre cele 3 linii. Traficul total n fiecare linie
orientat spre stnga (eastbound) este prezentat n coloana X; din Fig. 5-9. n acest exemplu traficul
este simetric, adic traficul XY este identic cu traficul YX, pentru toi X i Y. n reelele reale aceast
condiie nu este ndeplinit ntotdeauna. Figura prezint de asemenea numrul mediu de
pachete/sec pe fiecare linie, \iCu presupunnd dimensiunea medie a unui pachet 1/^=800 bii.
Penultima coloan din Fig. 5-9 conine'ntrzierea medie pentru fiecare linie, obinut din teoria
cozilor, cu formula:
piC-X
unde l/\i este dimensiunea medie n bii a unui pachet, C este capacitatea n kbps i X este fluxul
mediu n pachete/sec. De exemplu, cu o capacitate de \ = 25 pachete/sec i un flux curent X = 14
pachete/sec, ntrzierea medie este de 91 msec. Se observ ca, chiar dac facem X = 0, ntrzierea
medie este de 40 msec, deoarece capacitatea este de doar 25 pachete/sec. Cu alte cuvinte,
ntrzierea" cuprinde att ateptarea n cozi ct i timpul de servire.
Pentru a calcula ntrzierea medie pentru ntreaga subreea, vom considera suma ponderat a
celor opt linii, ponderea fiind fraciunea din traficul total folosit de acea linie. Efectund calculele,
obinem pentru acest exemplu valoarea 86 msec.
Pentru a evalua un alt algoritm de dirijare, putem repeta ntregul proces, folosind ns alte valori
ale fluxului pentru a obine o alt valoare a ntrzierii medii. Dac ne limitm doar la algoritmi de
dirijare cu cale unic (single path-routing), aa cum am fcut pn acum, exist un numr finit de
moduri n care putem dirija pachetele de la fiecare surs ctre fiecare destinaie. Astfel, ntotdeauna
este posibil s scriem un program care s ncerce fiecare variant, una dup alta, pentru a determina
care are cea mai mic ntrziere medie. Deoarece acest calcul poate fi fcut independent (off line) n
avans, consumul de timp nu reprezint o problem serioas. Se alege astfel cel mai bun algoritm de
dirijare. Bertsekas i Gallager (1992) prezint algoritmii bazai pe flux n detaliu.
5.2.5 Dirijare cu vectori distan
Reelele moderne de calculatoare folosesc de obicei algoritmi dinamici de dirijare n locul celor
statici, descrii mai sus. Cei mai folosii algoritmi dinamici sunt algoritmul de dirijare cu vectori
distan i algoritmul de dirijare bazat pe starea legturilor. n aceast seciune ne vom ocupa de
primul algoritm. n seciunea care urmeaz vom studia al doilea algoritm.
Algoritmul de dirijare cu vectori distan (distance vector routing) presupune c fiecare ruter
menine o tabel (de exemplu un vector) care pstreaz cea mai bun distan cunoscut spre
fiecare destinaie i linia care trebuie urmat pentru a ajunge acolo. Aceste tabele sunt actualizate
prin schimbul de informaii ntre nodurile vecine.
Algoritmul de dirijare cu vectori distan este cunoscut i sub alte nume, cum ar fi algoritmul
distribuit de dirijare Bellman-Ford sau algoritmul Ford-Fulkerson, dup numele cercettorilor care
l-au propus (Bellman, 1957; i Ford i Fulkerson, 1962). A fost algoritmul de dirijare folosit iniial n
NIVELUL REEA
330
CAP. 5
reeaua ARPANET, a fost folosit de asemenea n Internet sub numele de RIP si n versiunile
incipiente ale DECnet i Novell IPX. AppleTalk i Cisco folosesc versiuni mbuntite ale
protocolului vectorilor distan.
n dirijarea pe baza vectorilor distan, fiecare ruter pstreaz o tabel de dirijare indexat dup
i coninnd o intrare pentru fiecare ruter din subreea. Aceast intrare are dou pri: linia de ieire
preferat care se folosete pentru destinaia respectiv i o estimare a timpului sau distanei pn la
acea destinaie. Metrica folosit poate fi numrul de salturi, ntrzierea n milisecunde, numrul
total de pachete care ateapt n cozi de-a lungul cii, sau ceva asemntor.
Se presupune c ruterul cunoate distana" spre fiecare din vecinii si. Dac se folosete metrica
salturilor, distana este de doar un salt. Dac metrica folosit este cea a lungimilor cozilor de
ateptare, ruterul examineaz pur i simplu lungimile acestor cozi. Dac metrica este cea a
ntrzierilor, ruterul o poate msura direct prin pachete speciale ECHO, n care receptorul va marca
doar timpul curent (tampila de timp) i le va trimite napoi ct mai repede posibil.
Ca un exemplu, s presupunem c se folosete metrica ntrzierilor i c ruterul cunoate
ntrzierea spre fiecare dintre vecinii si. O dat la fiecare T msec fiecare ruter trimite spre fiecare
vecin o list a estimrilor proprii spre fiecare destinaie. De asemenea el recepioneaz o list
similar de la fiecare vecin. Sa presupunem c una dintre aceste tabele tocmai a sosit de la vecinul X,
cuZ; fiind estimarea lui X despre ct timp este necesar pentru a ajunge la ruterul i. Dac ruterul tie
c ntrzierea spre X este m msec, el tie de asemenea c poate atinge ruterul / trecnd prin X n X{
+ m msec. Fcnd aceste calcule pentru fiecare vecin, un ruter poate stabili care estimare pare a fi
cea mai bun, pentru a folosi aceast estimare, mpreun cu linia corespunztoare n noua tabel de
dirijare. De remarcat faptul c vechea tabel de dirijare nu se folosete pentru calcule.
Noua ntrziere
estimat de la J
Ruter
La A
(a)
0
12
25
40
14
23
18
17
21
9
24
29
JA
8
24
36
18
27
7
20
31
20
0
11
22
33
K
2T
20
31
19
8
30
19
6
0
14
7
22
9
28
36
24
22
40
31
19
22
10
0
9
intrzienle
Jl
10
JH
JK
12
Linia
8
20
28
20
17
30
18
12
10
0
6
15
A
A
I
H
I
I
H
H
I
K
K
Noua
tabel de
rutare
pentru J
Vectorii primii de la
cei patru vecini ai lui J
(b)
Fig. 5-10. (a) O subreea. (b) Intrri de la A, I, H i K i noua tabel de dirijare pentru J.
sEC
5.2
ALGORITMI DE DIRIJARE
331
Acest proces de actualizare este ilustrat n Fig. 5-10. Partea (a) pezint o subreea. Primele
patru coloane din partea (b) conin vectorii de ntrzieri primii de la vecinii ruterului /. v4
afirm c are 12 msec ntrziere spre B, 25 msec ntrziere spre C, 40 msec ntrziere spre D
etc. Presupunem c / i-a msurat sau estimat ntrzierea fa de vecinii si A, I, H i K,
obinnd valorile 8,10,12 i 16 msec, respectiv.
S vedem cum calculeaz / noua cale spre rutenii G. El tie c poate ajunge la A n 8 msec i A
pretinde c este n stare s ajung la G n 18 msec, astfel nct / poate conta pe o ntrziere de 26
msec spre G dac dirijeaz pachetul spre A Similar, el calculeaz ntrzierea spre G prin I,H,K ca
fiind 41 (31 + 10), 18 (6 + 12) i 37 (31 + 6) respectiv. Cea mai bun valoare este 18, deci el va
pregti o intrare n tabela de dirijare ctre G, care va avea ntrzierea 18 msec i care va specifica
linia de ieire care trebuie urmat prin H. Aceleai calcule se fac pentru toate destinaiile,
obinndu-se noua tabel de dirijare, care este prezentat n ultima coloan a figurii.
Problema numrrii la infinit
Dirijarea folosind vectori distan funcioneaz n teorie, ns n practic are o limitare
important: dei ea converge spre rezultatul corect, o face foarte lent. n particular, ea reacioneaz
rapid la vetile bune, dar foarte lent la cele rele. S considerm un ruter care are un cel mai bun
drum spre destinaia X foarte lung. Dac la urmtorul schimb de informaii, vecinul su A
raporteaz brusc o ntrziere mic spre X, rutenii va comuta i va folosi linia spre ,4 pentru a dirija
traficul spre X. Astfel, ntr-o singur schimbare a vectorului, vestea bun a fost luat n considerare.
A
00
1
1
1
1
oo
oo
2
2
2
oo
oo
oo
3
3
oo
co
oo
oo
4
(a)
Iniial
Dup 1 schimb
Dup 2 schimburi
Dup 3 schimburi
Dup 4 schimburi
12
3
3
5
5
7
7
2
4
4
6
6
8
3
3
3
5
5
7
7
4
4
4
4
6
6
8
oo
oo
oo
co
Iniial
Dup 1 schimb
Dup 2 schimburi
Dup 3 schimburi
Dup 4 schimburi
Dup 5 schimburi
Dup 6 schimburi
(b)
332
NIVELUL REEA
CAP. 5
stnga are o ntrziere nul spre A. Astfel, B creeaz o nou intrare n tabela sa, marcnd faptul c A
este la un singur salt distan, spre stnga. Toate celelalte rutere consider c A este nc oprit.
Intrrile tabelei de dirijare pentru A, la acest moment, sunt prezentate n a doua linie din Fig. 5ll(a). La urmtorul schimb, C afl c B are o cale de lungime 1 spre A, astfel nct i actualizeaz
tabela de dirijare pentru a indica o cale de lungime 2, ns D i E nu vor primi vestea cea bun dect
mai trziu. Evident, vestea cea bun se rspndete cu viteza de un salt la fiecare schimb. ntr-o
subreea avnd calea cea mai lung de lungime N salturi, dup N schimburi fiecare ruter va afla
despre liniile i ruterele nou aprute.
S considerm acum situaia din Fig. 5-1 l(b), n care toate liniile i ruterele sunt iniial n
funciune. Ruterele B, C,D iE au distanele spre A respectiv de 1, 2, 3, 4. Brusc, A se oprete
sau, alternativ, linia dintre A i B este ntrerupt, ceea ce reprezint efectiv acelai lucru din
punctul de vedere al lui B.
La primul schimb de pachete, B nu primete nimic de la A. Din fericire, C spune: Nici o
problem. Eu tiu o cale spre A de lungime 2." ns B nu tie c aceast cale a lui C trece prin B
nsui. Dup cunotinele lui B, C ar putea avea zece linii de ieire, toate pe ci independente de
lungime 2 spre A Prin urmare B va crede c poate ajunge la^4 prin C pe o cale de lungime 3. D i E
nu i actualizeaz intrrile proprii pentruyl la primul schimb.
La al doilea schimb, C remarc faptul c fiecare dintre vecinii si pretinde a avea o cale de
lungime 3 spre A. El va alege la ntmplare unul dintre aceti vecini i va nregistra noua distan
spre A ca fiind 4, aa cum se arat n linia a treia din Fig. 5-1 l(b). Schimburile urmtoare vor
produce succesiunea prezentat n continuare n Fig. 5-ll(b).
Din aceast figur se poate deduce de ce vetile rele circul mai lent: nici un ruter nu va avea
vreodat o valoare mai mare cu mai mult de unu dect valoarea minim a vecinilor si. Treptat,
toate ruterele vor ajunge la infinit, ns numrul de schimburi necesar depinde de valoarea numeric
folosit pentru a reprezenta valoarea infinit. Din aceast cauz este recomandat s se aleag
infinitul, ca fiind lungimea celei mai mari ci, plus 1. Dac metrica este ntrzierea n timp, atunci nu
este definit nici o limit superioar, astfel nct este necesar o valoare mare pentm a preveni
considerarea unui drum cu ntrziere mare ca fiind un drum defect. Nu e deloc surprinztor acum
de ce aceast problem se cheam problema numrrii la infinit (the count to infinit) problem).
Despicarea orizontului
n literatura de specialitate au fost propuse numeroase soluii ad-hoc ale problemei numrrii la
infinit, fiecare mai complicat i mai puin folositoare dect precedenta. Vom descrie aici doar una
dintre ele i apoi vom arta de ce i aceasta, la rndul ei, este greit. Algoritmul de despicare a
orizontului funcioneaz similar cu dirijarea folosind vectori distan, excepie fcnd faptul c
distana spre X nu este nregistrat pe linia pe care se trimit pachetele pentru X (de fapt, aceast
distan este considerat infinit). De exemplu, n starea iniial din Fig. 5-1 l(b), C i declar lui D
distana adevrat ctre A, ns C i declar lui B c lungimea cii spre A este infinit. Similar, D i
spune adevrul lui E, ns fl minte pe C.
S vedem acum ce se ntmpl dac A se oprete. La primul schimb, B descoper c linia direct
a czut, iar C raporteaz de asemenea o distan infinit ctre A. Deoarece nici unul dintre vecinii si
nu poate atinge A, B va atribui distanei proprii valoarea infinit. La urmtorul schimb, C afl c A
este inaccesibil pentru ambii si vecini, deci l va marca pe A ca fiind inaccesibil. Folosind aceast
SEC.5-
ALGORITMI DE DIRIJARE
333
metod, vetile rele se propag cu viteza de un salt pe schimb. Aceast vitez este mult-mai bun
dect cea fr despicarea orizontului.
Vestea cu adevrat proast este c aceast metod, dei larg utilizat, uneori greete. S
considerm de exemplu subreeaua de patru noduri din Fig. 5-12. Iniial, atM ct i B au ambele
distana 2 spre D, iar C are distana 1.
A.
.B
Ruter
Dirijarea folosind vectori distan a fost folosit n ARPANET pn n 1979, cnd a fost
nlocuit prin dirijarea folosind starea legturilor. Au fost dou probleme importante care au
cauzat aceast schimbare. n primul rnd, deoarece metrica folosit era lungimea cozilor de
ateptare, nu se lua n considerare limea de band la stabilirea rutei. Iniial toate liniile erau
de 56 kbps, astfel nct limea de band nu era o problem, ns dup ce cteva linii au fost
mbuntite la 230 kbps, iar altele la 1.544 Mbps, neluarea n considerare a limii de band a
devenit o problem major. Evident, era posibil s se schimbe metrica folosit pentru a
depinde i de limea de band, ns exista i o a doua problem i anume aceea c algoritmul
convergea destul de greu, chiar i cu trucuri de genul despicrii orizontului. De aceea, a fost
nlocuit cu un algoritm nou, numit algoritm de dirijare folosind starea legturilor (link state
routing)). Variantele acestui algoritm sunt actualmente foarte rspndite.
Ideea algoritmului bazat pe starea legturilor este simpl i poate fi formulat n 5 puncte.
Fiecare ruter trebuie:
1. Sa descopere care sunt vecinii si i afle adresele de reea ale acestora.
2. S msoare ntrzierea sau costul pn la fiecare din vecinii si.
3. S pregteasc un pachet prin care anun pe toat lumea c tocmai a terminat de cules
datele despre vecini.
4. S trimit acest pachet ctre toate celelalte rutere.
5. S calculeze cea mai scurt cale spre fiecare ruter.
NIVELUL REEA
334
CAP. 5
Ca urmare, ntreaga topologie i toate ntrzierile sunt msurate experimental i distribuite spre
fiecare ruter. Apoi se poate folosi algoritmul lui Dijkstra pentru a afla cea mai scurt cale ctre
fiecare ruter. n continuare vom analiza mai n detaliu aceti cinci pai.
Determinarea vecinilor
Cnd un ruter este pus n funciune, prima sa sarcin este s afle care sunt vecinii si. El
realizeaz aceasta prin trimiterea unui pachet special HELLO pe fiecare linie prin care este legat la
alt ruter. Rutenii de la cellalt capt trebuie s rspund anunnd ntr-un pachet identitatea sa.
Aceste nume trebuie s fie unice global, pentru c dac mai trziu un ruter afl c trei rutere sunt
conectate toate la F, este esenial ca acesta s poat determina dac cele trei se refer la acelai F.
Ruter
Fig. 5-13. (a) Nou rutere i o LAN. (b) Graful asociat punctului (a).
Cnd dou sau mai multe rutere sunt conectate printr-o LAN, situaia devine puin mai
complicat. Fig. 5-13(a) ilustreaz conectarea direct a trei rutere A, C i F la o LAN. Fiecare dintre
aceste rutere este conectat cu unul sau mai multe alte rutere, aa cum se arat.
O modalitate de a modela reeaua local este de a o considera ca un nod, aa cum se arat n Fig.
5-13 (b). Aici am introdus un nod nou, artificial, N, la cart A, C i F sunt conectate. Faptul c este
posibil s se mearg de fa A la C prin LAN este reprezentat aici de calea^VC.
Msurarea costului liniei
Algoritmul de dirijare bazat pe starea legturilor cere ca fiecare ruter s tie, sau cel puin s aib
o estimare rezonabil, a ntrzierii ctre fiecare din vecinii si. Cel mai direct mod de a afla acest
lucru este de a trimite un pachet special ECHO pe linie, cernd ca ruterul partener s-1 trimit
napoi imediat. Msurnd timpul n care pachetul se ntoarce (round-trip time) i mprindu-1 la
doi, ruterul iniiator poate avea o estimare rezonabil a ntrzierii. Pentru rezultate i mai bune,
testul poate fi repetat de mai multe ori, folosindu-se apoi valoarea medie obinut.
O problem interesant este dac s se considere sau nu ncrcarea reelei la msurarea
ntrzierii. Pentru a ine cont de ncrcare, timpul de revenire trebuie msurat din momentul n care
SEC. 5.2
ALGORITMI DEDIRIJARE
335
pachetul ECHO este pus n coad. Penttu a ignora ncrcarea, ceasul se poate porni n momentul n
care pachetul ECHO atinge prima poziie din coad.
Pot fi aduse argumente n favoarea ambelor variante. Dac se ine cont de ntrzierile provocate
de trafic la msurtori nseamn c dac un ruter trebuie s aleag ntre dou linii cu aceeai lime
de band, una dintre ele fiind puternic ncrcat tot timpul, iar cealalt nefiind foarte ncrcat,
atunci ruterul va desemna calea cea mai puin ncrcat ca fiind cea mai scurt. Aceasta alegere va
duce la mbuntirea performanelor.
Fig. 5-14. O subretea n care prile de Est i Vest sunt conectate prin dou linii.
Din pcate, exista i un argument mpotriva folosirii ncrcrii la calculul ntrzierii. S
considerm subreeaua din Fig. 5-14, care este divizat n dou zone, Est i Vest, conectate prin
dou linii, CF i EI. S presupunem c majoritatea traficului ntre Est i Vest folosete linia CF i
prin urmare, aceast linie este puternic ncrcat i are ntrzieri mari. Folosirea ntrzierilor n cozi
pentru calculul celei mai scurte ci va face ca drumul EI s fie preferat. Dup ce noile tabele de
dirijare au fost instalate, majoritatea traficului Est-Vest va trece acum prin EI, suprancrcnd-o. De
aceea, la urmtoarea actualizare, CF va prea a fi calea cea mai scurt. Prin urmare tabelele de
dirijare vor oscila puternic, conducnd la o dirijare fluctuant i facilitnd apariia multor probleme
poteniale. Dac nu se ine cont de ncrcare, lundu-se n considerare doar limea de band,
aceast problem nu mai apare. Alternativ, ncrcarea poate fi distribuit pe ambele linii, dar
aceast soluie nu folosete n ntregime calea cea mai bun.
Construirea pachetelor cu starea legturilor
De ndat ce a fost colectat informaia necesar pentru realizarea schimbului, se poate trece la
pasul urmtor, fiecare ruter construind un pachet care conine toate datele. Pachetul ncepe cu
identitatea expeditorului, urmat de un numr de secven, vrst (care va fi descris n continuare)
i o list a vecinilor. Pentru fiecare vecin se specific ntrzierea asociat. Un exemplu de subretea
este prezentat n Fig. 5-15(a), unde sunt marcate ntrzierile asociate liniilor. Pachetele cu starea
legturilor asociate tuturor celor ase rutere sunt prezentate n Fig, 5-15(b).
NIVELUL REEA
336
B
(a)
CAP. 5
Secv.
Secv.
Secv.
Secv.
Secv.
Secv.
Vrst
Vrst
Vrst
Vrst
Vrst
Vrst
_Bj 4
E 5
A 4
C 2
F 6
B 2
D 3
E 1
C 3
F 7
A 5
C 1
F 8
TT
6
7
E 8
(b)
Fig. 5-15. (a) O subreea. (b) Pachetele cu starea legturilor pentru aceast subreea.
Construirea pachetelor cu starea legturilor se face uor. Partea mai dificil este s se determine
cnd s fie construite ele. O posibilitate este ca ele s fie construite periodic, adic la intervale
regulate. O alt posibilitate este atunci cnd se produce un eveniment semnificativ, cum ar fi
scoaterea din funciune a unui vecin sau a unei linii, sau repunerea lor n funciune, sau modificarea
semnificativ a proprietilor lor.
Distribuirea pachetelor cu starea legturilor
Cea mai complicat parte a algoritmului este distribuirea sigur a pachetelor cu starea
legturilor. De ndat ce pachetele sunt distribuite i instalate, ruterele care primesc primele pachete
i vor schimba rutele. n consecin, rutere diferite ar putea folosi versiuni diferite ale topologiei,
ceea ce poate duce la apariia unor inconsistene, bucle, maini inaccesibile sau a altor probleme.
Pentru nceput vom descrie algoritmul de baz folosit pentru distribuie. Apoi vom
prezenta unele mbuntiri posibile. Ideea fundamental este folosirea inundrii pentru a
distribui pachetele cu starea legturilor. Pentru a avea controlul inundrii, fiecare pachet
conine un numr de secven care este incrementat la fiecare nou pachet trimis. Ruterele
pstreaz evidena tuturor perechilor (ruter surs, numr secven) pe care le vd. La sosirea
unui nou pachet cu starea legturilor, el este cutat n lista pachetelor deja vzute. Dac
pachetul este nou, el este retrimis pe toate liniile, cu excepia celei pe care a sosit. Dac este
un duplicat, pachetul este distrus. Dac pachetul sosit are un numr de secven mai mic dect
cel mai mare numr de secven detectat, atunci el este rejectat ca fiind nvechit.
Acest algoritm are cteva probleme, dar ele sunt tratabile. n primul rnd, dac numerele
de secven ating valoarea maxim posibil i rencep de la valori mici, se pot produce confuzii.
Soluia este folosirea numerelor de secven pe 32 bii. Considernd un pachet de starea
legturilor pe secund, ar trebui 137 ani pentru a se rencepe de la valori mici, astfel nct
aceast posibilitate poate fi ignorat.
n al doilea rnd, dac un ruter se defecteaz, el va pierde evidena numerelor de secven. Dac
va rencepe de la 0, urmtorul pachet va fi rejectat ca duplicat.
n al treilea rnd, dac numrul de secven este alterat i se recepioneaz 65540 n loc de 4
(eroare de modificare a unui bit), pachetele de la 5 la 65540 vor fi rejectate ca fiind nvechite,
deoarece se consider c numrul de secven curent este 65540.
Soluia tuturor acestor probleme este includerea vrstei pachetului dup numrul de secven i
decrementarea sa la fiecare secund. Cnd vrsta ajunge la zero, informaia de la rutenii respectiv
ALGORHM DE DIRIJARE
SEC. 5.2
337
este distrus. n"mod normal un nou pachet apare, s zicem, la fiecare 10 minute, astfel nct
informaia de la ruter expir doar dac rutenii este oprit (sau dac ase pachete consecutive s-au
pierdut, un lucru extrem de improbabil). Cmpul vrst este decrementat de asemenea de fiecare
ruter la nceputul procesului de inundare, pentru a se asigura c nici un pachet nu se poate pierde
sau nu poate supravieui o perioad nelimitat (un pachet avnd vrsta zero este distrus).
Unele mbuntiri ale algoritmului pot s-1 fac mai robust. Cnd un pachet cu starea
legturilor ajunge ntr-un ruter pentru inundare, el nu este pus n coada de transmisie imediat.
El este pus ntr-o zon de ateptare pentru o scurt perioad. Dac nainte de a fi trimis
sosete un alt pachet cu starea legturilor de la aceeai surs, numerele lor de secven sunt
comparate. Dac sunt identice, duplicatul este distrus. Dac sunt diferite, cel mai btrn este
ignorat. Pentru a prentmpina erorile pe linia ruter-ruter, toate aceste pachete sunt
confirmate. Dac linia nu este folosit, zona de ateptare este inspectat n manier roundrobin, pentru a selecta un pachet sau o confirmare de trimis.
Structura de date folosit de ruterul B pentru subreeaua din Fig. 5-15(a) este descris n
Fig. 5-16. Fiecare linie corespunde unui pachet cu starea legturilor sosit recent, dar nc
neprelucrat n ntregime. Se nregistreaz n tabel originea pachetului, numrul de secven,
vrsta i datele transportate. n plus mai exist unele indicatoare (flags) de trimitere i
confirmare pentru fiecare dintre cele trei linii ale lui B (respectiv ctre A, C, F). Indicatorul de
trimitere precizeaz c pachetul trebuie trimis pe linia indicat. Indicatorul de confirmare
precizeaz c respectivul pachet trebuie confirmat. .
ACK
Trimitere
Sursa
Secv.
Vrsta
21
60
21
60
21
59
20
60
21
59
Date
Fig. 5-16. Zona tampon pentru pachete a ruterului B din Fig. 5-15.
n Fig. 5-16, pachetul cu starea legturilor de la^4 sosete direct, astfel nct el trebuie trimis ctre
C i F i trebuie confirmat ctre A, aa cum precizeaz biii indicatori. Similar, pachetul de la F
trebuie trimis ctre A i C i confirmat ctre F.
Oricum, situaia celui de-al treilea pachet, de la E, este diferit. El sosete de dou ori, nti pe
calea EAB i apoi pe calea EFB. n consecin el trebuie trimis numai ctre C, ns trebuie confirmat
att \wA ct i lui F, aa cum indic i biii corespunztori.
Dac sosete un duplicat n timp ce pachetul este nc n zona tampon, biii trebuie modificai.
De exemplu, dac o copie a strii lui C sosete de la F nainte ca a patra intrare din tabel s fie
trimis, cei ase bii se vor schimba la 100011 pentru a preciza c pachetul trebuie confirmat ctre F,
dar nu trimis acolo.
338
NIVELUL REEA
CAP. 5
ALGORITMI DE DIRIJARE
SEC. 5.2
339
5,2.7 DiEpreierarhic
Pe msur ce reelele cresc n dimensiune, tabelele de dirijare cresc proporional. Pe lng
faptul c memoria ruterului este consumat de fiecare nou cretere a tabelelor, pentru
parcurgerea lor este necesar tot mai mult timp de calcul i se folosete tot mai mult din limea
de band pentru a trimite rapoartele de stare despre ele. La un moment dat, reeaua poate
crete pn la un punct la care nu mai este posibil ca fiecare ruter s dein o intrare pentru
fiecare alt ruter, astfel nct dirijarea trebuie fcut ierarhic, la fel ca n reeaua telefonic.
Atunci cnd se folosete dirijarea ierarhic, ruterele sunt mprite n ceea ce vom numi regiuni,
fiecare ruter tiind toate detaliile necesare pentru a dirija pachete spre destinaie n cadrul regiunii
sale, dar netiind nimic despre organizarea intern a celorlalte regiuni. Dac se leag reele diferite,
este natural s privim fiecare reea ca pe o regiune, pentru a elibera ruterele dintr-o reea de sarcina
de a cunoate structura topologic a celorlalte.
Pentru reele uriae, o ierarhie pe dou niveluri ar putea fi insuficient, ar putea fi necesar
s grupm regiunile n asociaii (clusters), asociaiile n zone, zonele n grupuri i aa mai
departe pn ce nu mai avem nume pentru aceste aglomerri. Ca un exemplu de ierarhie
multinivel, s considerm cum poate fi dirijat un pachet din Berkeley, California spre Malindi,
Kenya. Ruterul din Berkeley cunoate n detaliu topologia din California, aa c va trimite tot
traficul pentru exteriorul statului ctre ruterul din Los Angeles. Ruterul din Los Angeles este
capabil s dirijeze traficul spre alte rutere interne, dar va trimite tot traficul extern spre New
York. Ruterul din New York este programat s dirijeze traficul ctre ruterul din ara de
destinaie care se ocup de traficul extern, de exemplu n Nairobi. n final, pachetul va urma
calea sa, cobornd n arborele din Kenya pn ce ajunge la Malindi.
Tabela complet
pentru 1A
Oest. Linie Salturi
Regiune 1
Regiune 2
,"""B"-\
/2A 2 B \
1C/
\2C
V
4A
\ /"5B
3A
5A.~
*
3B A4B JlC/X
2D
5C
5D
1A
1B
IC
2A
2B
2C
2D
3A
3B
4A
4B
4C
5A
5B
5C
5D
5E_
(a)
1B
IC
1B
1B
1B
1B
IC
1C
1C
1C
1C
1C
IC
1
1
2
3
3
4
3
2
3
4
4
4
5
5
6
5
1B
1C
1C
(b)
Tabela ierarhic
pentru 1A
Det. Linie Salturi
IA
1B
IC
2
3
4
5
1B
1C
1B
1.C
IC
IC
(O
1
1
2
2
3
4
34
NIVELUL REEA
CAP. 5
Fig. 5-17 sugereaz un exemplu cantitativ al dirijrii ntr-o ierarhie pe dou niveluri, avnd
cinci regiuni. Tabela de dirijare complet a ruterului L4 are 17 intrri, aa cum se arat n Fig.
5-17 (b). Cnd dirijarea se face ierarhic, aa ca n Fig. 5-17(c), exist intrri pentru toate
ruterele locale, la fel ca i pn acum, ns toate celelalte regiuni au fost condensate ntr-un
singur ruter, astfel nct tot traficul pentru regiunea 2 va merge pe linia 1A-2B, iar restul
traficului la distan va merge pe linia 1C-3B. Dirijarea ierarhic a redus dimensiunea tabelei
de la 17 intrri la 7. Pe msur ce raportul ntre numrul de regiuni i numrul de rutere dintro regiune crete, se economisete tot mai mult spaiu de memorie.
Din pcate acest ctig de spaiu nu este gratuit. Trebuie pltit un pre i acesta este concretizat
n creterea lungimii cilor. De exemplu, cea mai bun cale de la L4 la 5C este prin regiunea 2, ns
n dirijarea ierarhic tot traficul ctre regiunea 5 este trimis spre regiunea 3, deoarece aa este mai
bine pentru majoritatea destinaiilor din regiunea 5.
Dac o reea unic devine prea mare, o ntrebare interesant este: Cte niveluri trebuie s aib
ierarhia? De exemplu, s considerm o subreea cu 720 rutere. n absena oricrei ierarhii, tabela de
dirijare a fiecrui ruter trebuie s conin 720 intrri. Dac subreeaua este partiionat n 24 regiuni
cu 30 de rutere fiecare, fiecare ruter necesit 30 de intrri locale plus 23 de intrri pentru celelalte
regiuni, deci un total de 53 intrri. Dac se alege o ierarhie pe trei niveluri, cu opt asociaii (clusters),
fiecare avnd 9 regiuni a cte 10 rutere fiecare, fiecare ruter are nevoie de 10 intrri pentru ruterele
locale, 8 intrri pentru celelalte regiuni din asociaia sa i de 7 intrri pentru celelalte asociaii, deci
un total de 25 intrri. Kamoun i Kleinrock (1979) au descoperit c numrul optim de niveluri
pentru o subreea cu N rutere este lnN, ceea ce necesit un total de e ln/V intrri pentru fiecare ruter.
Ei au artat de asemenea c creterea efectiv a lungimii medii a cilor provocat de dirijarea
ierarhic este suficient de mic pentru a fi acceptat.
5.2.8 Dirijarea pentru calculatoare gazd mobile
Milioane de oameni dein astzi calculatoare portabile i, de obicei, ei doresc s-i citeasc pota
electronic i s-i acceseze sistemele de fiiere uzuale din orice punct al lumii s-ar afla. Aceste
calculatoare mobile introduc o nou complicaie: pentru a dirija un pachet ctre un calculator mobil,
reeaua trebuie mai nti s-1 localizeze. Problema integrrii calculatoarelor mobile ntr-o reea este
foarte recent, dar n aceast seciune vom sugera unele abordri i vom da o posibil soluie.
Modelul lumii folosit de obicei de proiectanii de reele este cel prezentat n Fig. 5-18. Aici avem
o reea WAN format din rutere i calculatoare gazd. LA WAN sunt conectate LAN-uri, MAN-uri
i celule de comunicaie fr fir de tipul celor descrise n Cap. 2.
Utilizatorii care nu se mic niciodat se numesc staionari. Ei sunt conectai la reea prin fire de
cupru sau fibre optice. n contrast, putem distinge alte dou categorii de utilizatori. Utilizatorii
migratori sunt de fapt utilizatori staionari, dar care, din cnd n cnd, se mut dintr-un loc fixat n
altul i care folosesc reeaua doar atunci cnd sunt legai fizic. Utilizatorii cltori efectueaz calcule
n timp ce se deplaseaz i doresc s menin legtura n timpul deplasrii. Vom folosi termenul
utilizatori mobili pentru a desemna fiecare dintre ultimele dou categorii, adic toi utilizatorii care
sunt departe de cas.
Se presupune c toi utilizatorii au o locaie de domiciliu permanent (home location), care nu se
modific niciodat. Utilizatorii au de asemenea o adres personal permanent, care poate fi
folosit pentru a determina locaia de domiciliu, ntr-o manier similar celei n care numrul de
SEC 52
ALGORITMI DE DIRIJARE
341
telefon 1-212-5551212 indic Statele Unite (codul de ar 1) i Manhattan (212). Scopul dirijrii n
sistemele cu utilizatori mobili este de a face posibil s se trimit pachete spre utilizatorii mobili
folosind adresa lor personal permanent i s se asigure o trimitere eficient a pachetelor spre ei,
oriunde ar fi acetia. Problema este, bineneles, modul de localizare a lor.
Gazd mobil1
Agent
pentru strini'
,>
}\
\/
WAN
MAN
Fig. 5-18. O reea WAN la care sunt conectate reele LAN, MAN
i celule de comunicaie fr fir.
n modelul din Fig. 5-18, lumea este divizat (geografic) n uniti de dimensiune redus. S
denumim aceste uniti domenii, ele sunt de obicei LAN-uri sau celule de comunicaie fr fir. n
fiecare domeniu exist unul sau mai muli ageni pentru strini (foreign agent) care in evidena
tuturor utilizatorilor mobili care viziteaz domeniul. n plus, fiecare domeniu are un agent local
(local agent) care ine evidena utilizatorilor cu domiciliul n domeniul respectiv, dar care tocmai
viziteaz alte domenii.
Cnd un nou utilizator ptrunde ntr-un domeniu, fie prin conectarea la acesta (ataarea fizic la
LAN), fie prin plimbarea printr-o celul, calculatorul su trebuie s se nregistreze la agentul pentru
strini din domeniul respectiv. Procedura de nregistrare se desfoar de obicei astfel:
1. Periodic, fiecare agent pentru strini difuzeaz un pachet anunndu-i existena i adresa.
Un utilizator mobil nou sosit trebuie s atepte unul dintre aceste mesaje, ns dac nici unul
nu sosete ntr-un interval rezonabil de timp, calculatorul mobil poate difuza un pachet care
spune: Este vreun agent pentru strini prin zon?"
2. Calculatorul mobil se nregistreaz la agentul pentru strini preciznd adresa sa
permanent, adresa actual a nivelului legtur de date, precum i unele informaii de
securitate.
3. Agentul pentru strini contacteaz apoi agentul local al domeniului din care provine
utilizatorul mobil i i spune: Unul dintre calculatoarele tale gazd se afl chiar aici."
Mesajul agentului pentru strini ctre agentul local conine adresa de reea a agentului
pentru strini. El mai conine de asemenea i informaia de securitate, pentru a convinge
agentul local c gazda mobil este ntr-adevr acolo.
342
NIVELUL REEA
CAP. 5
4.
sE
C.5.2
ALGORITMI DE DIRIJARE
343
mobil (pasul 3). Pachetele urmtoare vor putea fi dirijate direct ctre utilizator, prin intermediul
agentului pentru strini (pasul 4), evitnd n ntregime trecerea prin locaia de domiciliu.
Diversele scheme propuse difer prin mai multe aspecte. n primul rnd, ct din acest protocol
este realizat de rutere i ct de calculatoarele gazd i, n aceast ultim situaie, pe care nivel de pe
calculatorul gazd. n al doilea rnd, unele scheme prevd rutere de-a lungul traseului care
nregistreaz adresele modificate, astfel nct s fie posibil interceptarea i redirectarea traficului
chiar nainte ca acesta s ajung la locaia de domiciliu. n al treilea rnd, n unele variante fiecare
vizitator primete o adres temporar unic; n altele adresa temporar se refer la un agent care se
ocup de toi vizitatorii.
n al patrulea rnd, variantele propuse difer prin modul de rezolvare a situaiei n care
pachetele adresate unei destinaii trebuie livrate n alt parte. O variant este schimbarea adresei
destinaie i retransmiterea pachetului modificat. Ca o alternativ, ntregul pachet, adresa de
domiciliu i toate celelalte pot fi ncapsulate n cmpul de informaie util (payload) al altui pachet
care este trimis spre adresa temporar. n fine, schemele difer prin aspectele legate de securitate. n
general, cnd un ruter sau calculator gazd primete un mesaj de forma ncepnd din acest
moment, v rog s trimitei toate mesajele de pot electronic ale lui Cayla ctre mine," el ar putea
avea dubii n legtur cu partenerul de dialog i dac este sau nu o idee bun s fac aa. Diferite
protocoale pentru calculatoare gazd mobile sunt discutate i comparate n (Ioannidis i Maguire,
1993; Myles i Skellern, 1993; Perkins, 1993; Teraoka .a., 1993; i Wanda .a., 1993).
5.2.9 Dirijarea prin difuzare
Pentru unele aplicaii, calculatoarele gazd au nevoie s trimit mesaje ctre mai multe sau ctre
toate celelalte calculatoare gazd. De exemplu, un serviciu de distribuire a rapoartelor
meteorologice, de actualizare a stocurilor pe pia sau transmisiuni radio n direct ar putea funciona
mai bine prin difuzarea datelor ctre toate mainile, fiind la latitudinea celor interesate de date s le
recepioneze. Trimiterea simultan a unui pachet ctre toate destinaiile se numete difuzare
(broadcast); au fost propuse mai multe metode pentru a o realiza.
O metod de difuzare care nu are cerine deosebite din partea reelei este ca sursa s trimit un
pachet distinct ctre fiecare destinaie. Metoda este nu numai consumatoare de lime de band, dar
ea cere ca sursa s dein o list complet a tuturor destinaiilor. S-ar putea ca n practic aceasta s
fie singura metod utilizabil, ns ea este metoda cea mai puin dorit.
Inundarea este un alt candidat evident. Dei inundarea este nepotrivit pentru comunicaia
obinuit capt la capt, pentru difuzare ar trebui luat serios n considerare, mai ales dac nici una
din metodele ce vor fi descrise n continuare nu este aplicabil. Problema folosirii inundrii ca
metod de difuzare este aceeai cu problema ivit la folosirea sa ca algoritm de dirijare capt la
capt: genereaz prea multe pachete i consum lime de band prea mare.
Al treilea algoritm este dirijarea multidestinaie. Dac se folosete aceast metod, fiecare
pachet conine fie o list a destinaiilor, fie o hart de bii care indic destinaiile dorite. Cnd un
pachet ajunge la un ruter, ruterul verific toate destinaiile pentru a determina setul liniilor de ieire
pe care trebuie trimis pachetul. (O linie de ieire este selectat dac este calea cea mai bun pentru
cel puin o destinaie.) Ruterul genereaz o nou copie a pachetului pentru fiecare linie de ieire
folosit i include n fiecare pachet doar acele destinaii care folosesc linia respectiv. Efectul este
partiionarea mulimii destinaiilor ntre liniile de ieire. Dup un numr suficient de salturi, fiecare
NIVELUL REEA
344
CAP. 5
pachet va conine o singur destinaie i poate fi tratat ca un pachet normal. Dirijarea multidestinaie
este asemntoare trimiterii separate a mai multor pachete ctre adresele destinaie, excepia fiind
faptul c dac mai multe pachete trebuie s urmeze aceeai cale, unul dintre ele pltete tot drumul,
iar celelalte cltoresc gratuit.
Al patrulea algoritm de difuzare utilizeaz explicit arborele de scufundare al ruterului care
iniiaz difuzarea sau orice alt arbore de acoperire util. Un arbore de acoperire (spanning tree) este
un subset al subreelei care include toate ruterele i nu conine bucle. Dac fiecare ruter cunoate
care din liniile sale particip la arborele de acoperire, el poate copia un pachet de difuzare
recepionat pe toate liniile de ieire care fac parte din arborele de acoperire, cu excepia celei pe care
a fost recepionat. Aceast metod asigur o utilizare deosebit de eficient a limii de band,
genernd numrul minim de pachete necesare pentru a rezolva problema. Singura problem este c,
pentru a fi aplicabil, fiecare ruter trebuie s dein cunotine despre un anume arbore de acoperire.
Uneori aceast informaie este disponibil (de exemplu la dirijarea bazat pe starea legturilor), iar
alteori nu este disponibil (de exemplu la dirijarea cu vectori distan).
Ultimul nostru algoritm cu difuzare este o ncercare de a aproxima comportamentul
precedentului, chiar i atunci cnd ruterele nu tiu absolut nimic despre arborele de acoperire. Ideea
este remarcabil de simpl odat ce a fost indicat. Cnd un pachet de difuzare ajunge la un ruter,
acesta verific dac pachetul a sosit pe linia pe care se trimit de obicei pachete ctre sursa difuzrii.
Dac este aa, este o ans foarte mare ca nsui pachetul de difuzare s fi urmat cea mai bun cale,
fiind astfel prima copie care ajunge la ruter. Aceasta fiind situaia, rutenii trimite pachetul pe toate
liniile de ieire, cu excepia celei pe care a sosit. Dac ns pachetul a sosit pe alt linie dect cea
preferat pentru a ajunge la surs, pachetul este distrus, fiind considerat un posibil duplicat.
M
(a)
(b)
(O
Fig. 5-20. Algoritmul cii inverse, (a) O subreea. (b) Un arbore de acoperire,
(c) Arborele construit de algoritmul cii inverse.
Un exemplu al algoritmului, numit trimiterea pe calea invers (inverse path forwarding), este
prezentat n Fig. 5-20. Partea (a) prezint subreeaua, partea (b) arat arborele de scufundare
pentru rutenii / al subreelei, iar partea (c) prezint cum funcioneaz algoritmul cii inverse. La
primul salt, / trimite pachete ctre F, H, J i N, aa cum se vede din al doilea nivel al arborelui.
Fiecare din aceste pachete ajunge pe calea preferat ctre / (presupunnd c ruta preferat face
SEC. 5.2
ALGORITMI DE DIRIJARE
345
parte din arborele de scufundate), lucru care este indicat printr-uncerc n jurul literei. La saltul
urmtor, se genereaz opt pachete, dou de ctre fiecare ruter care a primit un pachet la primul salt.
Aa cum se vede, toate aceste opt pachete ajung la rutere nc nevizitate i toate, cu excepia unuia,
ajung pe linia preferat. Dinte cele nou pachete generate la al treilea salt, doar dou sosesc pe linia
preferat (n C i L) i astfel doar ele genereaz pachete suplimentare. Dup cinci salturi i 24
pachete, difuzarea se termin, spre deosebire de patru salturi i 14 pachete necesare dac arborele
de scufundare ar fi fost urmat integral.
Principalul avantaj al folosirii cii inverse este acela c este rezonabil de eficient i este uor de
implementat. El nu cere ruterelor s cunoasc arborele de acoperire i nici nu are overhead-ul
algoritmului de adresare multidestinaie, care folosete o list de destinaii sau hart de bii la fiecare
difuzare. De asemenea, el nu necesit nici un mecanism special pentru a opri procesul, ca n cazul
inundrii (unde se folosete fie un contor al salturilor n fiecare pachet i o cunoatere a priori a
diametrului subreelei, fie o list de pachete deja vzute pentru fiecare surs).
5.2.10 Dirijarea cu trimitere multipl (multicast)
Pentru unele aplicaii, este necesar ca mai multe procese aflate la distane mari unele de altele s
lucreze n grup, de exemplu, un grup de procese care implementeaz o baz de date distribuit.
Adesea este necesar ca un proces s trimit un mesaj ctre toi ceilali membri ai grupului. Dac
grupul este mic, el poate trimite fiecrui partener un mesaj capt la capt. Dac grupul este mare,
aceast strategie este costisitoare. Uneori se poate folosi difuzarea, dar folosirea difuzrii pentru a
anuna 1000 de maini dintr-o reea cu un milion de noduri este ineficient, deoarece majoritatea
receptorilor nu sunt interesai (sau chiar mai ru, ei sunt chiar foarte interesai, dar nu e bine s
afle). De aceea avem nevoie de o modalitate de a trimite mesaje spre grupuri bine definite, care
conin un numr mare de noduri, dar totui redus fa de dimensiunea reelei ca un ntreg.
Trimiterea unui mesaj ctre un astfel de grup se numete multicasting, iar algoritmul de
dirijare asociat se numete dirijare multicast. In aceast seciune, vom descrie o modalitate de
a realiza dirijarea multicast. Pentru informaii adiionale, vezi (Deering i Cheriton, 1990;
Deering .a., 1994; Rajagopalan, 1992).
Pentru a realiza dirijarea multicast, este necesar gestiunea grupului. Trebuie s existe modaliti
de a crea i distruge grupuri i ca procesele s intre n grupuri sau s le prseasc. Cum se
realizeaz aceste funcii nu e treaba algoritmului de dirijare. Important pentru algoritmul de dirijare
este c atunci cnd un proces se ataeaz unui grup, el trebuie s informeze gazda sa despre aceasta.
Este foarte important ca un ruter s tie cror grupuri aparin calculatoarele gazd asociate. Fie
calculatoarele gazd trebuie s anune rutenii asociat la producerea unei modificri n alctuirea
grupurilor, fie rutenii trebuie s interogheze periodic aceste calculatoare gazd. n ambele cazuri,
rutenii determin care este apartenena la grupuri a calculatoarelor gazd. Ruterele i informeaz
vecinii, astfel c informaia se propag prin subreea.
Pentru a realiza dirijarea multicast, fiecare ruter calculeaz arborele de acoperire care
acoper toate celelalte rutere din subreea. De exemplu, n Fig. 5-21 (a) avem o subreea cu
dou grupuri, 1 i 2. Unele rutere sunt ataate la calculatoare gazd care aparin unuia sau
ambelor grupuri, aa cum se indic n figur. Un arbore de acoperire pentru cel mai din stnga
ruter este prezentat n Fig. 5-21(b).
346
CAP. 5
NIVELUL REEA
Atunci cnd un proces trimite un pachet multicast ctre un grup, primul ruter i examineaz
arborele de acoperire i l reteaz, eliminnd toate liniile care nu conduc ctre calculatoare gazd,
membre ale grupului. n exemplul nostru, Fig. 5-21(c) arat arborele de acoperire retezat pentru
grupul 1. Similar, Fig. 5-21(d) arat arborele de acoperire retezat pentru grupul 2. Pachetele
multicast sunt dirijate doar de-a lungul arborelui de acoperire corespunztor.
2
-
(d)
Fig. 5-21. (a) O subreea. (b) Arborele de acoperire pentru cel mai din stnga ruter.
(c) Arborele multicast al grupului 1. (d) Arborele multicast al grupului 2.
Sunt posibile mai multe moduri de retezare a arborelui de acoperire. Cel mai simplu se poate
folosi dac se utilizeaz dirijarea bazat pe starea legturilor i fiecare ruter cunoate ntreaga
topologie a subretelei, inclusiv apartenena calculatoarelor gazd la grupuri. Atunci arborele poate fi
retezat pornind de la sfritul fiecrei ci i mergnd spre rdcin, eliminnd toate ruterele care nu
aparin grupului respectiv.
n cazul dirijrii folosind vectori distan, trebuie aplicat o alt strategie pentru retezarea
arborelui. Algoritmul de baz folosit este trimiterea pe calea invers. Oricum, ori de cte ori
un ruter fr nici un calculator gazd interesat de un anume grup i fr nici o conexiune la
alte rutere primete un mesaj multicast pentru acel grup, el va rspunde cu un mesaj PRUNE
(retezare), anunnd expeditorul s nu i mai trimit mesaje multicast pentru acel grup. Cnd
un ruter care nu are printre calculatoarele gazd nici un membru al vreunui grup primete
astfel de mesaje pe toate liniile sale, el poate de asemenea s rspund cu un mesaj PRUNE,
n acest fel subreteaua este retezat recursiv.
SEC. 5.3
347
de transport a
subreelei
Pachete trimise
Fig. 5-22. Dac traficul este prea intens, apare congestia i performanele se
degradeaz puternic.
Congestia poate fi produs de mai muli factori. Dac dintr-o dat ncep s soseasc iruri de
pachete pe trei sau patru linii de intrare i toate necesit aceeai linie de ieire, atunci se va forma o
coad. Dac nu exist suficient memorie pentru a le pstra pe toate, unele se vor pierde.
Adugarea de memorie poate fi folositoare pn la un punct, Nagle (1987) descoperind c dac
ruterele ar avea o cantitate infinit de memorie, congestia s-ar nruti n loc s se amelioreze,
348
NIVELUL REEA
CAP. 5
deoarece n timpul petrecut de pachete pentru a ajunge la nceputul cozii ele au fost deja
considerate pierdute (timeout repetat) i s-au trimis mai multe duplicate. Toate aceste pachete vor fi
cu greu trimise ctre urmtorul ruter, crescnd ncrcarea de-a lungul cii ctre destinaie.
i procesoarele lente pot cauza congestia. Dac unitatea central (CPU) a ruterului este lent
n execuia funciilor sale (introducerea n cozi, actualizarea tabelelor etc), cozile pot crete,
chiar dac linia de comunicaie nu e folosit la capacitate. Similar i liniile cu lime de band
sczut pot provoca congestia. Schimbarea liniilor cu unele mai performante i pstrarea
aceluiai procesor sau vice-versa de obicei ajut puin, ns de cele mai multe ori doar deplaseaz
punctul critic. De asemenea, mbuntirea parial i nu total a sistemului cel mai adesea mut
punctul critic n alt parte. Adevrata problem este de multe ori o incompatibilitate ntre pri
ale sistemului. Ea va persista pn ce toate componentele sunt n echilibru.
Congestia tinde s se auto-alimenteze i s devin tot mai rea. Dac un ruter nu mai are
zone tampon libere, el trebuie s ignore mesajele noi pe care le recepioneaz. Cnd un pachet
este distrus, ruterul care 1-a trimis (un vecin) poate iniia retransmiterea sa pe motiv de
timeout de mai multe ori. Deoarece nu poate distruge pachetul pn ce nu a fost confirmat,
congestia de la receptor l va fora pe emitor s nu elibereze o zon tampon pe care n mod
normal ar fi eliberat-o. n felul acesta congestia se accentueaz, ca n cazul mainilor care se
apropie de un punct de taxare de pe autostrad.
Este important s subliniem diferena dintre controlul congestiei i controlul fluxului, deoarece
relaia este subtil. Controlul congestiei trebuie s asigure c subreeaua este capabil s transporte
ntreg traficul implicat. Este o problem global, implicnd comportamentul tuturor calculatoarelor
gazd, ale tuturor ruterelor, prelucrarea de tip memoreaz i trimite" (store-and-forward) din
rutere i toi ceilali factori care tind s diminueze capacitatea de transport a subreelei.
Controlul fluxului, prin contrast, se refer la traficul capt la capt ntre un expeditor i un
destinatar. Rolul su este de a mpiedica un expeditor rapid s trimit date continuu, la o vitez mai
mare dect cea cu care destinatarul poate consuma datele. Controlul fluxului implic aproape
ntotdeauna existena unui feed-back de la receptor ctre emitor, pentru a spune emitorului cum
se desfoar lucrurile la cellalt capt.
Pentru a vedea diferena dintre aceste dou concepte, s considerm o reea cu fibre optice cu o
capacitate de 1000 gigabii/sec pe care un supercalculator ncearc s transfere un fiier ctre un
calculator personal la 1 Gbps. Dei nu exist nici o congestie (reeaua nu are nici un fel de
probleme), controlul fluxului este necesar pentru a fora supercalculatorul s se opreasc des, pentru
a permite calculatorului personal s i respire.
La cealalt extrem, s considerm o reea de tip memoreaz i trimite" (store-and-forward), cu
linii de 1 Mbps i 1000 de calculatoare mari, din care jumtate ncearc s transfere fiiere la 100
kbps ctre cealalt jumtate. Aici problema nu apare datorit unui emitor rapid care surclaseaz
un receptor lent, ci pentru c traficul cerut depete posibilitile reelei.
Motivul pentru care controlul congestiei i controlul fluxului sunt adesea confundate este acela
c unii algoritmi pentru controlul congestiei funcioneaz trimind mesaje napoi ctre diferitele
surse, spunndu-le s ncetineasc atunci cnd reeaua are probleme. Astfel, un calculator gazd
poate primi un mesaj de ncetinire fie din cauz c receptorul nu suport ncrcarea, fie pentru c
reeaua este depit. Vom reveni asupra acestui punct mai trziu.
SE
C.5.3
AmORTIMIPENTRireONTROLUL CONGESTIEI
349
Vom ncepe studiul algoritmilor pentru controlul congestiei prin studiul unui model general al
congestiei. Apoi ne vom ocupa de principalele msuri pentru prevenirea sa. Dup aceea, vom vedea
o serie de algoritmi dinamici pentru tratarea congestiei odat ce a aprut.
5.3.1 Principii generale ale controlului congestiei
Multe din problemele care apar n sistemele complexe, cum ar fi reelele de calculatoare, pot fi
privite din punctul de vedere al unei teorii a controlului. Aceast abordare conduce la mprirea
tuturor soluiilor n dou grupe: n bucl deschis i n bucl nchis. Soluiile n bucl deschis
ncearc s rezolve problema printr-o proiectare atent, n esen s se asigure c problema nu
apare. Dup ce sistemul este pornit i funcioneaz, nu se mai fac nici un fel de corecii.
Instrumentele pentru realizarea controlului n bucl deschis decid cnd s se accepte
trafic nou, cnd s se distrug pachete i care s fie acestea, realizeaz planificarea deciziilor
n diferite puncte din reea. Toate acestea au ca numitor comun faptul c iau decizii fr a ine
cont de starea curent a reelei.
Prin contrast, soluiile n bucl nchis se bazeaz pe conceptul de reacie invers (feedback
loop). Aceast abordare are trei pri, atunci cnd se folosete pentru controlul congestiei:
1. Monitorizeaz sistemul pentru a detecta cnd i unde se produce congestia.
2. Trimite aceste informaii ctre locurile unde se pot executa aciuni.
3. Ajusteaz funcionarea sistemului pentru a corecta problema.
n vederea monitorizrii subreelei pentru congestie se pot folosi diverse metrici. Cele mai
utilizate sunt procentul din totalul pachetelor care au fost distruse din cauza lipsei spaiului temporar
de memorare, lungimea medie a cozilor de ateptare, numrul de pachete care sunt retransmise pe
motiv de timeout, ntrzierea medie a unui pachet, deviaia standard a ntrzierii unui pachet. n toate
cazurile, numerele mari indic creterea congestiei.
Al doilea pas n bucla de reacie este transferul informaiei legate de congestie de la
punctul n care a fost depistat la punctul n care se poate face ceva. Varianta imediat
presupune trimiterea unor pachete de la ruterul care a detectat congestia ctre sursa sau
sursele de trafic, pentru a raporta problema. Evident, aceste pachete suplimentare cresc
ncrcarea reelei exact la momentul n care acest lucru era cel mai puin dorit, subreeaua
fiind congestionat.
Exist ns i alte posibiliti. De exemplu, poate fi rezervat un bit sau un cmp n fiecare
pachet, pentru a fi completat de rutere dac congestia depete o anumit valoare de prag.
Cnd un ruter detecteaz congestie, el completeaz cmpurile tuturor pachetelor expediate,
pentru a-i preveni vecinii.
O alt abordare este ca ruterele sau calculatoarele gazd s trimit periodic pachete de prob
pentru a ntreba explicit despre congestie. Aceste informaii pot fi apoi folosite pentru a dirija
pachetele n zonele cu probleme. Unele staii de radio i trimit elicopterele s zboare deasupra
oraelor pentru a raporta congestiile de pe drumuri, n sperana c asculttorii lor i vor dirija
pachetele (mainile) astfel, nct s ocoleasc zonele fierbini.
n toate schemele cu feedback se sper c informarea asupra producerii congestiei va determina
calculatoarele gazd s ia msurile necesare pentru a reduce congestia. Pentru a funciona corect,
350
NIVELUL REEA
CAP. 5
duratele trebuie reglate foarte atent. Dac de fiecare dat cnd dou pachete sosesc ntr-o linie, un
ruter strig STOP i de fiecare dat cnd rutenii e liber mai mult de 20 usec el strig PLEAC,
atunci sistemul va oscila puternic i nu va converge niciodat. Pe de alt parte, dac el ateapt 30
minute pentru a fi sigur nainte de a spune ceva, mecanismul pentru controlul congestiei
reacioneaz prea lent pentru a fi de vreun folos real. Pentru a funciona corect sunt necesare unele
medieri, dar aflarea constantelor de timp cele mai potrivite nu este o treab tocmai uoar.
Se cunosc numeroi algoritmi pentru controlul congestiei. Pentru a oferi o modalitate de
organizare a lor, Yang i Reddy (1995) au dezvoltat o taxonomie pentru algoritmii de control al
congestiei. Ei ncep prin a diviza algoritmii n cei n bucl nchis i cei n bucl deschis, aa cum s-a
precizat mai sus. n continuare mpart algoritmii cu bucl deschis n unii care acioneaz asupra
sursei i unii care acioneaz asupra destinaiei. Algoritmii n bucl deschis sunt de asemenea
mprii n dou subcategorii, cu feedback implicit i cu feedback explicit. n algoritmii cu feedback
explicit, pachetele sunt trimise napoi de la punctul unde s-a produs congestia ctre surs, pentru a o
avertiza. n algoritmii implicii, sursa deduce existena congestiei din observaii locale, cum ar fi timpul
necesar pentru ntoarcerea confirmrilor.
Prezena congestiei nseamn c ncrcarea (momentan) a sistemului este mai mare dect
resursele gestionate de sistem. Pentru rezolvare vin imediat n minte dou soluii: sporirea resurselor
sau reducerea ncrcrii. De exemplu subreeaua poate ncepe s foloseasc linii telefonice pentru a
crete temporar limea de band ntre anumite puncte. n sisteme ca SMDS (vezi Cap. 1), se poate
cere furnizorului o suplimentare temporar a limii de band. n sistemele bazate pe satelii,
creterea puterii de transmisie asigur de regul creterea limii de band. Spargerea traficului pe
mai multe ci n locul folosirii doar a celei mai bune poate duce efectiv la creterea limii de band.
n fine, ruterele suplimentare, folosite de obicei doar ca rezerve pentru copii de siguran (backups)
(pentru a face sistemul tolerant la defecte), pot fi folosite pentru a asigura o capacitate sporit atunci
cnd apar congestii serioase.
Oricum, uneori nu este posibil creterea capacitii sau aceasta a fost deja crescut la limit.
Atunci singura cale de a rezolva congestia este reducerea ncrcrii. Sunt posibile mai multe metode
pentru reducerea ncrcrii, cum ar fi interzicerea unor servicii ctre anumii utilizatori, degradarea
serviciilor pentru o parte sau pentru toi utilizatorii i planificarea cererilor utilizatorilor ntr-o
manier mai previzibil.
Unele din aceste metode, pe care le vom studia pe scurt, pot fi aplicate cel mai bine circuitelor
virtuale. Pentru subreelele care folosesc intern circuite virtuale aceste metode pot fi utilizate la
nivelul reea. Pentru subretele bazate pe datagrame ele pot fi totui folosite uneori pentru conexiuni
la nivelul transport. n acest capitol, ne vom concentra pe folosirea lor n cadrul nivelului reea. n
urmtorul, vom vedea ce se poate face la nivelul transport pentru a controla congestia.
5.3.2 Politici pentru prevenirea congestiei
S ncepem studiul nostru asupra metodelor pentru controlul congestiei prin analiza
sistemelor cu bucl deschis. Aceste sisteme sunt proiectate astfel, nct s minimizeze
congestia, n loc s o lase s se produc i apoi s reacioneze. Ele ncearc s-i ating
scopul folosind politici corespunztoare, la diferite niveluri. n Fig. 5-23 sunt prezentate
diferite politici pentru nivelul legtur de date, reea i transport, care pot influena
congestia (Jain, 1990).
SEC. 5.3
Nivel
Politic
Transport
Politica de retransmisie
\
Politica de memorare temporar a pachetelor n afar de secven
(out-of-order caching)
Politica de confirmare
Politica de control al fluxului
Determinarea timeout-ului
Circuite virtuale contra datagrame n interiorul subreelei
Plasarea n cozi de ateptare a pachetelor i politici de servire
Politica de distrugere a pachetelor
Algoritmi de dirijare
Gestiunea timpului de via al pachetelor
Politica de retransmitere
Politica de memorare temporar a pachetelor n afar de secven
(out-of-order caching)
Politica de confirmare
Politica de control al fluxului
Reea
Legtur de date
351
352
NIVELUL REEA
CAP. 5
trimise inutil pachete suplimentare. Dac este prea mare, congestia se va reduce, ns timpul de
rspuns la pierderea unui pachet se va mri.
5.3.3 Formarea traficului
Una dintre principalele cauze ale congestiei este aceea c traficul este de obicei n rafal.
n cazul n care calculatoarele gazd ar putea fi fcute s transmit cu o rat uniform,
congestia nu ar mai fi ceva att de obinuit. O alt metod bucl deschis care ajuta la
controlul congestiei este impunerea unei rate previzibile cu care s fie transmise pachetele.
Aceast abordare a gestiunii congestiei este larg rspndit n reelele ATM i se numete
formarea traficului (traffic shaping).
Formarea traficului se ocup cu uniformizarea ratei medii de transmisie a datelor (atenuarea
rafalelor). n contrast, protocoalele cu fereastr glisant pe care le-am studiat anterior limiteaz
volumul de date n tranzit la un moment dat i nu rata la care sunt transmise acestea. La momentul
stabilirii unui circuit virtual, utilizatorul i subreeaua (clientul i furnizorul) stabilesc un anumit
model al traficului (form) pentru acel circuit. Att timp ct clientul i respect partea sa de
contract i trimite pachete conform nelegerii, furnizorul promite livrarea lor n timp util. Formarea
traficului reduce congestia i ajut furnizorul s-i in promisiunea. Astfel de nelegeri nu sunt
foarte importante pentru transferul de fiiere, ns sunt deosebit de importante pentru datele n timp
real, cum ar fi conexiunile audio sau video, care nu suport bine congestia.
Pentru formarea traficului clientul spune furnizorului: Modelul meu de transmisie arat cam
aa. Poi s te descurci cu el?" Dac furnizorul este de acord, problema care apare este cum poate
spune furnizorul dac clientul respect nelegerea i ce s fac dac nu o respect. Supravegherea
fluxului traficului se numete politica traficului (traffic policing.) Stabilirea unei forme a traficului i
urmrirea respectrii ei se fac mai uor n cazul subreelelor bazate pe circuite virtuale dect n cazul
subreelelor bazate pe datagrame. Cu toate acestea, chiar i n cazul subreelelor bazate pe
datagrame, aceleai idei pot fi aplicate la conexiunile nivelului transport.
Algoritmul gleii gurite
S ne imaginm o gleat cu un mic orificiu n fundul su, aa cum este prezentat n Fig. 524(a). Nu conteaz cu ce rat curge apa n gleat, fluxul de ieire va fi la o rat constant, p, dac
este o cantitate de ap n gleat i zero dac gleata e goal. De asemenea, odat ce gleata s-a
umplut, orice cantitate suplimentar de ap se va revrsa n afara pereilor i va fi pierdut (adic nu
se va regsi n fluxul de ieire de sub orificiu).
Aceeai idee poate fi aplicat i n cazul pachetelor, aa cum se arat i n Fig. 5-24 (b).
Conceptual, fiecare calculator gazd este conectat la reea printr-o interfa coninnd o
gleat gurit, n fapt o coad intern cu capacitate finit. Dac un pachet sosete n coad
atunci cnd aceasta este plin, el este distrus. Cu alte cuvinte, dac unul sau mai multe procese
de pe acel calculator gazd ncearc trimiterea unui pachet atunci cnd coada conine deja
numrul maxim de pachete, pachetele noi vor fi distruse n modul cel mai nepoliticos cu
putin. Acest aranjament poate fi implementat n interfaa hardware sau poate fi simulat de
ctre sistemul de operare gazd. A fost propus pentru prima dat de ctre Turner (1986) i
SEC. 5.3
353
numit algoritmul gleii gurite (Ihe leaky bucket algorithm). De fapt nu este altceva
dect un sistem de cozi cu un singur server i cu timp de servire constant.
Robinet
Pachet
Flux
neregulat
Gleat
gurit
Gleata
reine
pachetele
Interfa
coninnd
o gleat gurit
Flux
regularizat
Apa curge prin gaur
ntr-un flux constant
Reea
(a)
(b)
Fig. 5-24. (a) O gleat gurit umplut cu ap (b) O gleat gurit, cu pachete.
Calculatorul gazd poate pune pe reea cte un pachet la fiecare tact al ceasului. Din nou aceasta
poate fi implementat n hardware sau poate fi simulat de ctre sistemul de operare. Acest
mecanism transform un flux neregulat de pachete de la procesele de pe calculatorul gazd ntr-un
flux uniform de pachete care se depun pe reea, netezind rafalele i reducnd mult ansele de
producere a congestiei.
Dac pachetele au toate aceeai dimensiune (de exemplu celule ATM), algoritmul poate fi
folosit exact aa cum a fost descris. Dac se folosesc pachete de lungimi variabile, este adesea mai
convenabil s se transmit un anumit numr de octei la fiecare tact i nu un singur pachet. Astfel,
dac regula este 1024 bii la fiecare tact, atunci se pot transmite un pachet de 1024, dou de 512
octei, sau patru de 256 octei .a.m.d. Dac numrul rezidual de octei este sczut, urmtorul
pachet va trebui s atepte urmtorul tact.
Implementarea algoritmului iniial al gleii este o treab uoar. Gleata gurit const de fapt
dintr-o coad finit. Dac la sosirea unui pachet este loc n coad, el este adugat la sfritul cozii, n
caz contrar, este distrus. La fiecare tact se trimite un pachet din coad (bineneles dac aceasta nu
este vid).
Algoritmul gleii folosind contorizarea octeilor este implementat aproximativ n aceeai
manier. La fiecare tact un contor este iniializat la n. Dac primul pachet din coad are mai puini
octei dect valoarea curent a contorului, el este transmis i contorul este decrementat cu numrul
corespunztor de octei. Mai pot fi transmise i alte pachete adiionale, att timp ct contorul este
NIVELUL REEA
354
CAP. 5
suficient de mare. Dac contorul scade sub lungimea primului mesaj din coad, atunci transmisia
nceteaz pn la urmtorul tact, cnd contorul este rescris i valoarea sa pierdut.
.....
..
. ...-J.-...J
'
"' j/~"v
"
':
'|
'l
!....-;
:. .
500
:.,:
...-.4
[.. - . . ; . . . . - f
.,
: ,.., .
,: . . . . .
.;
.,.1,
,,
:......:
, ,
, .;
i .. i
x.. i
X..Z X X-X -i - i
Z'.,~l
'
":'.'.....:....,'.':.'.'.'".
.-
(b)
^fZz^z3.z^^^^%^!^$^~Z!!i^$^^.
-rr"-!1
-i"1, vV'"1i"""rV'"VT;XV"'*V^X"'X.V".t'.""'
;?
':
(d)
500
500
500
Timp (msec)-
500
Fig. 5-25. (a) Intrarea pentru o gleat gurit, (b) Ieirea pentru o gleat gurit, (c) - (e) Ieirea
pentru o gleat cu jeton de capacitate 250KB, 500KB, 750KB. (f) Ieirea pentru o gleat cu jeton
de capacitate 500KB care alimenteaz o gleat gurit de 10 MB/sec.
Ca un exemplu de gleat gurit, s ne imaginm un calculator care produce date cu rata
de 25 mjlioane octei/sec (200 Mbps) i o reea care funcioneaz la aceeai vitez. Cu toate
355
ruterele pot s gestioneze datele la aceast rat doar pentru un timp foarte scurt,
intervale mai mari ele lucreaz optim pentru rate care nu depesc valoarea de
2 milioane octei/sec. S presupunem acum c datele vin n rafale, 1 milion de octei, cte o
rafal de 40 msec n fiecare secund. Pentru a reduce rata medie la 2 MB/sec, putem folosi o
gleat gurit avnd p = 2 MB/sec i o capacitate, C, de 1 MB. Aceasta nseamn c rafalele
de pn la 1 MB pot fi gestionate fr pierderi de date i c acele rafale sunt mprtiate de-a
lungul a 500 msec, indiferent ct de repede sosesc.
n Fig. 5-25(a) vedem intrarea pentru gleata gurit funcionnd la 25 MB/sec pentru 40 msec.
n Fig. 5-25(b) vedem ieirea curgnd la o rat uniform de 2 MB/sec pentru 500 msec.
Algoritmul gleii cu jeton
Algoritmul gleii gurite impune un model rigid al ieirii, din punct de vedere al ratei medii,
indiferent de cum arat traficul. Pentru numeroase aplicaii este mai convenabil s se permit o
cretere a vitezei de ieire la apariia unor rafale mari, astfel nct este necesar un algoritm mai
flexibil, de preferat unul care nu pierde date. Un astfel de algoritm este algoritmul gleii cu jeton
(the token bucket algorithm). n acest algoritm, gleata gurit pstreaz jetoane, generate de un
ceas cu rata de un jeton la fiecare T sec. n Fig. 5-26(a) vedem o gleat pstrnd trei jetoane i
avnd cinci pachete care ateapt s fie transmise. Pentru ca un pachet s fie transmis, el trebuie s
captureze i s distrug un jeton. n Fig. 5-26(b) vedem c trei din cele cinci pachete au trecut mai
departe, n timp ce celelalte dou ateapt s fie generate alte dou jetoane.
Calculator
gazd
Calculator
gazd
D
D
La fiecare AT
este adugat
un jeton
n gleat
rj
r\
Gleata
, reine
/ jetoanele
I
ii
/
\
Reele
(a)
Reele
(b)
RE: !
356
NIVELUL REEA
CAP. 5
de transmitere pentru a trimite o rafal mai mare ulterior. Algoritmul gleii cu jeton permite
aceast acumulare, mergnd pn la dimensiunea maxim a gleii, n. Aceast proprietate permite
ca rafale de pn la n pachete s fie trimise simultan, permind apariia unor rafale la ieire,
asigurnd un rspuns mai rapid la apariia brusc a unor rafale la intrare.
O alt diferen ntre cei doi algoritmi este aceea c algoritmul gleii cu jeton arunc jetoanele
la umplerea gleii, dar niciodat nu distruge pachete. Prin contrast, algoritmul gleii gurite
distruge pachete la umplerea gleii.
i aici este posibil o variant, n care fiecare jeton reprezint dreptul de a trimite nu un pachet ci
k bii. Un pachet va putea fi trimis doar dac se dein suficiente jetoane pentru a-i acoperi lungimea n
bii. Pentru variantele viitoare se prevede folosirea jetoanelor fracionare.
Algoritmul gleii gurite i algoritmul gleii cu jeton pot fi folosite i pentru a uniformiza
traficul ntre rutere, la fel de bine cum pot fi folosite pentru a regla informaia de ieire a unui
calculator gazd, ca n exemplul prezentat. Oricum, o diferen evident este aceea c
algoritmul gleii cu jeton folosit pentru a regla ieirea unui calculator gazd l poate opri pe
acesta s trimit date atunci cnd apare vreo restricie. A spune unui ruter s opreasc
transmisiile n timp ce datele de intrare continu s soseasc, poate duce la pierderea de date.
Implementarea de baz a algoritmului gleii cu jeton se face printr-o variabil care numr
jetoane. Acest contor crete cu 1 la fiecare AT i scade cu 1 ori de cte ori este un pachet. Dac acest
contor atinge valoarea zero, nici un pachet nu mai poate fi trimis. n varianta la nivel de bii, contorul
este incrementat cu k bii la fiecare AT i decrementat cu lungimea pachetului trimis.
Caracteristica esenial a algoritmului gleii cu jeton este c permite rafalele, dar pn la o
lungime maxim controlat. Privii spre exemplu Fig. 5-25(c). Aici avem o gleat cu jeton, de
capacitate 250 KB. Jetoanele sosesc cu o rat care asigur o ieire de 2 MB/sec. Presupunnd
c gleata este plin cnd apare o rafal de 1 MB, ea poate asigura scurgerea la ntreaga
capacitate de 25 MB/sec pentru circa 11 milisecunde. Apoi trebuie s revin la 2 MB/sec pn
ce ntreaga rafal este trimis.
Calculul lungimii rafalei de vitez maxim este uor neltor. Nu este doar 1 MB mprit la 25
MB/sec deoarece, n timp ce rafala este prelucrat, apar alte jetoane. Dac notm S cu lungimea
rafalei n secunde, cu C capacitatea gleii n octei, cu p rata de sosire a jetoanelor n octei/secund,
cu M rata maxim de ieire n octei/secund, vom vedea c o rafal de ieire conine cel mult C +
pS octei. De asemenea, mai tim c numrul de octei ntr-o rafal de vitez maxim de S secunde
este MS. De aici avem
C + pS = MS
Rezolvnd aceast ecuaie obinem S = C / (M - p). Pentru parametrii considerai C = 250 KB,
M = 25 MB/sec i p = 2 MB/sec vom obine o durat a rafalei de circa 11 msec. Fig. 5-25(d) i Fig. 525(e) prezint gleile cu jeton de capaciti 500 KB i respectiv 750 KB.
O problem potenial a algoritmului gleii cu jeton este aceea c i el permite apariia unor
rafale mari, chiar dac durata maxim a unei rafale poate fi reglat prin selectarea atent a lui p i M.
De multe ori este nevoie s se reduc valoarea de vrf, dar fr a se reveni la valorile sczute
permise de algoritmul original, al gleii gurite.
O alt cale de a obine un trafic mai uniform este de a pune o gleat gurit dup cea cu jeton.
Rata gleii gurite va trebui s fie mai mare dect parametrul p al gleii cu jeton, ns mai mic
SEC. 5.3
357
dect rata maximi a reelei, Fig. 5-25(f) ilustreaz comportarea unei glei cu jeton de 500 KB,
urmat de o gleat gurit de 10 MB/sec.
Gestionarea tuturor acestor scheme poate fi puin mai special. n esen, reeaua trebuie s
simuleze algoritmul i s se asigure c nu se trimit mai multe pachete sau mai muli bii dect este
permis. Pachetele n exces sunt distruse sau pierdute, aa cum s-a discutat anterior.
5.3.4 Specificarea fluxului
Formarea traficului este eficient atunci cnd emitorul, receptorul i subreeaua sunt toi
de acord. Pentru a realiza nelegerea, este necesar s se specifice modelul traficului ntr-o
manier precis. O astfel de nelegere se numete specificarea fluxului. Ea const dintr-o
structur de date care descrie att modelul traficului introdus, ct i calitatea serviciului dorit
de aplicaie. O specificare a fluxului poate fi aplicat att pachetelor trimise pe un circuit
virtual, ct i unei secvene de datagrame trimise ntre o surs i o destinaie (sau chiar cu
destinaii multiple).
n aceast seciune vom descrie un exemplu de specificare a fluxului propus de Partridge
(1992). Ea este prezentat n Fig. 5-27. Ideea este c nainte de stabilirea unei conexiuni sau nainte
de trimiterea unei secvene de datagrame, sursa supune specificarea fluxului spre aprobare
subreelei. Subreeaua poate fie s o accepte sau rejecteze, fie s vin cu o contrapropunere (Nu
pot s-i ofer ntrziere medie de 100 msec; te mulumeti cu 150 msec? ). Dup ce emitorul i
subreeaua au ajuns la o nelegere, emitorul poate interoga receptorul dac este i el, de acord.
Caracteristicile intrrii
Dimensiunea maxim a pachetului (octei)
Rata gleii cu jeton (octei/sec)
Dimensiunea gleii cu jeton (octei)
Rata maxim de transfer (octei/sec)
Servicii dorite
Senzitivitate la pierderi (octei)
Interval de pierderi (nsec)
Senzitivitatea la pierderi a rafalei (pachete)
Cea mai mic ntrziere observat (jjsec)
Cea mai mare variaie a ntrzierii (\\sec)
Calitatea garaniei
358
NIVELUL REEA
CAP. 5
pierderilor (de exemplu 1 octet pe or). Senzitivitatea rafalei la pierderi stabilete cte pachete
consecutive pierdute pot fi tolerate.
Urmtorii doi parametri se ocup de ntrzieri. Cea mai mic ntrziere observat specific durata
de ntrziere la care aplicaia sesizeaz acest lucru. Pentru un transfer de fiiere ea ar putea fi 1
secund, dar pentru un flux audio limita ar fi 3 msec. Cea mai mare variaie a ntrzierii ncearc s
cuantifice faptul c anumite aplicaii nu sunt sensibile la ntrzieri, ns sunt foarte sensibile la
fluctuaii (jitter), adic variaia timpului de tranzit al pachetelor capt la capt. Este dublul
numrului de microsecunde cu care ntrzierea unui pachet poate varia fa de medie. Deci, o
valoare de 2000 nseamn c un pachet poate sosi mai devreme sau mai trziu cu cel mult 1 msec.
n fine, Calitatea garantei precizeaz dac aplicaia are ntr-adevr nevoie de aa ceva. Pe de o
parte, caracteristicile de pierdere i ntrziere pot fi scopuri ideale, fr s se ntmple nimic dac ele
nu sunt realizate. Pe de alt parte, ele ar putea fi aa de importante, nct dac nu pot fi atinse
aplicaia se termin. Sunt posibile, evident i situaii intermediare.
Dei am privit specificarea fluxului ca o cerere a aplicaiei pentru subreea, ea poate fi de
asemenea o valoare returnat care spune ce poate face subreeaua. Astfel, ea poate fi folosit pentru
o negociere mai extins a nivelului serviciului.
O problem inerent a oricrei aplicaii referitoare la specificarea fluxului este c aplicaia
ar putea s nu tie cu adevrat de ce are nevoie. De exemplu, un program aplicaie rulat la
New York ar putea fi mai mult dect fericit cu o ntrziere de 200 msec pn la Sydney, dar
total nefericit cu aceeai ntrziere pn la Boston. Aici "serviciul minim" este n mod clar
funcie de ce se crede c se poate.
5.3.5 Controlul congestiei n subreelele bazate pe circuite virtuale
Metodele pentru controlul congestiei descrise anterior sunt n principiu n bucl deschis:
ele ncearc n primul rnd, s previn apariia congestiei n primul rnd, n loc s o trateze
dup ce a aprut. n aceast seciune, vom descrie unele abordri ale controlului dinamic al
congestiei n subreelele bazate pe circuite virtuale. n urmtoarele dou, vom studia tehnici ce
pot fi folosite n orice subreea.
O tehnic larg rspndit pentru a controla congestia care tocmai s-a produs i de a o mpiedica
s se agraveze este controlul admisiei. Ideea este simpl: odat ce s-a semnalat apariia congestiei,
nu se mai stabilesc alte circuite virtuale pn ce problema nu s-a rezolvat. Astfel, ncercarea de a
stabili o nou conexiune la nivel transport eueaz. Lsnd tot mai muli utilizatori s stabileasc
conexiuni, nu ar face dect s agraveze lucrurile. Dei aceast abordare este crud, ea este simpl i
uor de ntreinut. n sistemul telefonic, dac o central devine supraaglomerat, ea practic
controlul admisiei, nemaifurniznd tonul.
O alternativ este de a permite stabilirea de noi circuite virtuale, dar de a dirija cu atenie aceste
noi circuite prin zonele cu probleme. De exemplu, s considerm subreeaua din Fig. 5-28(a), n care
dou rutere sunt congestionate, aa cum se poate observa.
S presupunem c un calculator gazd ataat ruterului^l dorete s stabileasc o conexiune cu un
altul, ataat rutenilui/. n mod normal, aceast conexiune ar trece prin unul dintre cele dou rutere
congestionate. Pentru a evita situaia aceasta, putem redesena subreeaua aa cum se arat n
Fig. 5-28(b), omind ruterele congestionate i toate liniile asociate. Linia punctat arat o posibil
cale pentru un circuit virtual, care evit ruterele congestionate.
SEC. 5.3
(a)
359
(b)
S ne oprim acum asupra unei abordri care poate fi folosit att n subreelele bazate pe circuite
virtuale ct i n cele bazate pe datagrame. Fiecare ruter poate gestiona cu uurin folosirea liniilor
sale de ieire precum i alte resurse. De exemplu, el poate asocia fiecrei linii o variabil real, u, a
crei valoare, ntre 0.0 i 1.0, reflect utilizarea recent a acelei linii. Pentru a menine o estimare ct
mai bun a lui u, periodic trebuie luate nite eantioane (fie 0, fie 1) ale utilizrii instantanee a liniei
/i apoi recalculat u cu formula:
360
NIVELUL REEA
CAP. 5
nu n starea de avertisment. Dac este aa, ruterul trimite un pachet de oc ctre calculatorul gazd
surs, dndu-i destinaia gsit n pachet. Pachetul original este marcat (un bit din antet este
comutat) pentru a nu se mai genera pachete de oc pe calea aleas, apoi este retrimis n acelai fel.
Un calculator gazd surs, care primete un pachet de oc afl astfel c trebuie s reduc traficul
trimis spre destinaia specificat cu X procente. Deoarece alte pachete trimise ctre aceeai
destinaie sunt deja pe drum i vor genera alte pachete de oc, calculatorul gazd ar trebui s ignore
pachetele de oc referitoare la destinaia respectiv o anumit perioad de timp. Dup ce perioada
s-a scurs, calculatorul gazd ateapt alte pachete de oc un alt interval. Dac sosete un astfel de
pachet, linia este nc congestionat, astfel nct calculatorul va reduce fluxul i mai mult i va
rencepe s ignore pachetele de oc. Dac pe perioada de ascultare nu sosesc pachete de oc, atunci
calculatorul gazd poate s creasc din nou fluxul. Reacia implicit a acestui protocol poate ajuta la
prevenirea congestiei, netrangulnd fluxul dect dac au aprut probleme.
Calculatorul gazd poate reduce traficul prin ajustarea parametrilor asociai politicii
folosite, de exemplu dimensiunea ferestrei sau rata de scurgere a gleii. De obicei, primul
pachet de oc determin scderea ratei datelor la 0.50 din valoarea anterioar, urmtoarea
reduce traficul la 0.25 i aa mai departe. Creterea valorilor are loc cu rate mai mici pentru a
preveni reinstalarea rapid a congestiei.
Au fost propuse mai multe variaii ale acestui algoritm pentru controlul congestiei. Pentru una
dintre acestea, fiecare ruter poate menine mai multe valori de referin (praguri). n funcie de
pragul depit, pachetul de oc poate conine un avertisment blnd, unul sever sau un ultimatum.
Alt variant prevede folosirea lungimilor cozilor sau a utilizrii zonelor tampon n locul utilizrii
liniilor, ca semnal de comutare. Evident, se poate folosi aceeai ponderare exponenial cu aceast
metric, la fel ca i cu u.
Cozi echitabile ponderate
O problem a folosirii pachetelor de oc este aceea c aciunea executat de calculatorul gazd
este voluntar. S presupunem c un ruter este sufocat de pachetele trimise de patru surse i el
trimite pachete de oc ctre fiecare din ele. Unul dintre calculatoare reduce numrul de pachete, n
timp ce celelalte continu n acelai ritm. Rezultatul este c cel care a fost cinstit primete o porie i
mai mic de lime de band dect avea nainte.
Pentru a rezolva aceast problem, fcnd astfel supunerea mai atractiv, Nagle (1987) a propus
algoritmul cozilor echitabile. Esena acestui algoritm este aceea c ruterele au cozi multiple pentru
fiecare linie de ieire, una pentru fiecare surs. Cnd o linie devine inactiv, ruterul inspecteaz cozile
n manier round robin, prelund primul pachet din urmtoarea coad. n acest fel, dac n
calculatoare concureaz pentru o anumit linie de ieire, fiecare va putea s transmit un pachet la
fiecare n pachete. Trimiterea unui numr mare de pachete nu va mbunti aceast fracie. Exist
unele comutatoare ATM care folosesc acest algoritm.
Dei este un nceput, algoritmul are o problem: acord mai mult lime de band
calculatoarelor gazd care folosesc pachete mari dect celor care folosesc pachete mai mici. Demers
.a. (1990) au propus o mbuntire n care parcurgerea round robin este realizat ca i cum ar
simula un round robin bit cu bit, n locul unui round robin de tip pachet cu pachet. n consecin el
inspecteaz cozile repetat, octet cu octet, pn cnd expir cuanta asociat sau pn ce pachetul s-a
SEC. 5.3
terminat. Pachetele sunt apoi sortate n ordinea terminrii lor i trimise n aceast ordine.
Algoritmul este ilustrat n Fig. 5-29.
1 6 11 _15j 19 20
2 7 12 16
13
3 8
Pachet
Timp de terminare
.B
16
17
4 9 13 17
18
5 10 14 18
20
u
t
(a)
(b)
La viteze mari i de-a lungul unor distane mari trimiterea unui pachet de oc ctre calculatorul
surs nu funcioneaz normal, reacia fiind ntrziat. S considerm, de exemplu, un calculator n
San-Francisco (ruter A n Fig. 5-30) care trimite trafic ctre un calculator din New York (ruter D n
Fig. 5-30) la 155 Mbps. Dac rutenii din New York rmne fr zone tampon, atunci pachetului de
oc i vor trebui circa 30 msec pentru ca s revin la San Francisco. Propagarea pachetului de oc
este prezentat ca al doilea, al treilea i al patrulea pas din Fig. 5-30(a). n aceste 30 msec, se pot
trimite 4.6 MB (adic peste 10000 celule ATM). Chiar dac calculatorul gazd din San Franciso se
oprete imediat, cei 4.6 MB din pipe vor trebui gestionai n continuare i vor scdea performanele.
De-abia n a aptea diagram din Fig. 5-30(a) ruterul din New York va observa reducerea fluxului.
O abordare alternativ este ca pachetele de oc s aib efect n fiecare salt prin care trec,
aa cum se arat n secvena din Fig. 5-30(b).
NIVELUL REEA
362
CAP. 5
Fluxul este
redus
(a)
In acest caz, de ndat ce pachetul de oc atinge JF, F trebuie s reduc fluxul spre D.
Procednd n acest fel, se cere din partea lui F alocarea mai multor zone tampon pentru flux,
SEC. 5.3
MS
n timp ce sursa continu s emit la vitez maxim, ns D simte imediat o uurare, la fel ca
ntr-o reclam TV pentru nlturarea durerii de Cap. La pasul urmtor, pachetul de oc va
atinge E, spunndu-i lui E s reduc fluxul spre D. Aceast aciune solicit puternic zonele
tampon ale lui E, ns are un efect benefic imediat asupra lui F, uurndu-i munca. n fine,
pachetul de oc atinge A, ceea ce face ca fluxul s scad puternic.
Efectul acestei scheme salt cu salt asupra reelei este asigurarea unei eliberri imediate la locul
congestiei cu preul folosirii mai multor zone tampon. In acest fel congestia poate fi redus pn la
eliminare, fr a se pierde nici un pachet. Ideea este discutat n amnunt n (Mishra i Kanakia,
1992), unde se furnizeaz i rezultatele unei simulri.
retrimiterea pachetelor de la 10 la 12. In contrast, pentru multimedia, un pachet nou este mult
mai important dect un pachet vechi. Prima politic (vechiul este mai bun dect noul) este
numit adesea a vinului, iar ultima (noul este mai bun dect vechiul) este numit a laptelui.
Un pas inteligent mai departe presupune cooperare din partea expeditorilor. Pentru multe
aplicaii, unele pachete sunt mai importante dect altele. De exemplu, unii algoritmi de compresia
imaginilor transmit periodic un cadru ntreg i apoi trimit urmtoarele cadre ca diferene fa de
ultimul cadru complet. n acest caz, aruncarea unui pachet care face parte dintr-o diferen este de
preferat aruncrii unuia care face parte dintr-un cadru ntreg. Ca un alt exemplu, s considerm
trimiterea documentelor care conin text ASCII i imagini. Pierderea unei linii de pixeli dintr-o
imagine este de departe mai puin duntoare dect pierderea unei linii dintr-un text.
Pentru a implementa o politic inteligent de distrugere a pachetelor, aplicaiile trebuie s
nscrie pe fiecare pachet clasa de prioritate din care face parte, pentru a indica ct de important este.
Dac ele fac aceasta, atunci cnd trebuie distruse unele pachete, ruterele vor ncepe cu cele din clasa
cea mai slab, vor continua cu cele din urmtoarea clas i aa mai departe. Evident, dac nu ar fi
nici un stimulent pentru a marca pachetele i altfel dect FOARTE IMPORTANT - A NU SE
DISTRUGE NICIODAT, SUB NICI UN MOTIV, nimeni nu ar face acest lucru.
Pentru a putea ncadra pachetele n clase de prioriti, este nevoie de un bit suplimentar n antet,
care s pstreze prioritatea. Celulele ATM au un astfel de bit rezervat n antet, astfel nct fiecare
364
NIVELUL REEA
CAP. 5
celul este marcat fie de prioritate ridicat, fie de prioritate sczut. Comutatoarele ATM chiar
folosesc acest bit cnd este cazul s ia o decizie de distrugere.
n unele reele, pachetele sunt grupate n uniti mai mari, folosite pentru retransmisii. De
exemplu, n reelele ATM, ceea ce numim pachete" sunt de fapt celule de lungime fix. Aceste
celule sunt doar fragmente ale mesajelor". Dac o celul este distrus, atunci ntregul mesaj va fi
retransmis, nu numai celula respectiv. n aceste condiii, un ruter care distruge o celul poate foarte
bine s distrug toate celelalte celule ale mesajului, deoarece transmisia lor consum lime de
band i nu aduce nici un ctig - chiar dac ele trec mai departe, vor fi retransmise ulterior.
Rezultatele simulrilor arat c dac un ruter sesizeaz ivirea unor probleme, este mai bine s
nceap distrugerea pachetelor mai devreme, dect s atepte pn ce se blocheaz complet (Floyd
i Jacobson,1993; Romanow i Floyd, 1994). Procednd astfel, se poate preveni congestia nc din
faza incipient.
5.3.8 Controlul fluctuaiilor
Pentru aplicaii de genul transmisiilor audio sau video, nu prea conteaz dac pachetele au
nevoie de 20 msec sau de 30 msec pentru a fi distribuite, att timp ct durata de tranzit este
constant. Dac unele pachete au nevoie de 20 msec i altele de 30 msec, se va produce sunet sau
imagine de calitate inegal. Astfel, nelegerea ar putea fi ca 99 procente din pachete s fie livrate cu
o ntrziere de la 24.5 msec pn la 25.5 msec. Evident, valoarea medie trebuie aleas cu atenie,
pentru a fi realizabil. Cu alte cuvinte, trebuie calculat o congestie medie.
Fluctuaiile pot fi limitate prin calcularea timpului de tranzit estimat pentru fiecare salt de-a
lungul cii. Cnd un pachet ajunge la ruter, rutenii verific s vad ct de mult este decalat pachetul
fa de planificarea sa. Aceast informaie este pstrat n pachet i actualizat la fiecare salt. Dac
pachetul a sosit naintea planificrii, el este inut suficient pentru a reveni n grafic. Dac pachetul
este ntrziat fa de planificare, rutenii ncearc s-1 trimit ct mai repede. De fapt, algoritmul
pentru determinarea pachetului care va merge mai departe dintr-un set de pachete care concureaz
pentru o linie de ieire, va alege ntotdeauna pachetul cu cea mai mare ntrziere fa de program. n
acest fel, pachetele care au ajuns mai repede sunt ncetinite, iar cele care sunt ntrziate vor fi
accelerate, n ambele cazuri reducndu-se diferenele fa de planificarea iniial.
5.3.9
SEC.5.3
365
O soluie interesant, care poate funciona ntr-un astfel de mediu, este protocolul
RSVP (Resource reSerVation Protocol) (Zhang .a., 1993). El permite emitorilor multipli s
transmit spre grupuri multiple de receptori, permite fiecrui receptor s schimbe canalul la alegere
si optimizeaz limea de band folosit, eliminnd n acelai timp congestia.
Emitori
(b)
(c)
Fig. 5-31. (a) O reea, (b) Arborele de acoperire multicast pentru calculatorul 1.
(c) Arborele de acoperire multicast pentru calculatorul 2.
n forma sa cea mai simpl, protocolul folosete dirijarea multicast cu arbori de acoperire,
aa cum s-a discutat anterior. Fiecare grup are asociat o adres de grup. Pentru a trimite unui
grup, un emitor pune adresa grupului n pachetele pe care le trimite. n continuare,
algoritmul standard de dirijare multicast va construi un arbore de acoperire care acoper toi
membri grupului. Algoritmul de dirijare nu este parte a RSVP. Singura diferen fa de
multicast-ul normal este o mic informaie suplimentar distribuit periodic grupului pentru a
spune ruterelor de-a lungul arborelui s menin anumite structuri de date.
Ca exemplu, s considerm reeaua din Fig. 5-31(a). Calculatoarele gazd 1 i 2 sunt emitori
multicast, iar calculatoarele gazd 3, 4, 5 sunt receptori multicast. n acest exemplu emitorii i
receptorii sunt disjunci, dar n general cele dou mulimi se suprapun. Arborii multicast pentru
mainile 1 i 2 sunt prezentai n Fig. 5-31(b), respectiv Fig. 5-31(c).
Pentru a avea o recepie mai bun i pentru a elimina congestia, fiecare dintre receptorii unui
grup trebuie s trimit un mesaj de rezervare n sus pe arbore spre emitor. Mesajul este propagat
NIVELUL REEA
366
CAP. 5
folosind algoritmul cii inverse discutat anterior. La fiecare salt, rutenii noteaz rezervarea i rezerv
limea de band necesar. Dac limea de band este insuficient, se raporteaz eroare. n timpul
n care mesajul se ndreapt spre surs, limea de band a fost rezervat pe tot drumul de la
emitor spre receptorul care a fcut rezervarea de-alungul arborelui de acoperire.
C
A
Lime de band
rezervat pentru
sursa 2
F
D*
Lime de band
rezervat sursei 1
(a)
(b)
(O
Fig. 5-32. (a) Calculatorul gazd 3 cere un canal ctre calculatorul gazd 1.
(b) Calculatorul gazd 3 cere un al doilea canal ctre calculatorul gazd 2.
(c) Calculatorul gazd 5 cere un canal ctre calculatorul gazd 1.
Un exemplu de astfel de rezervare este prezentat n Fig. 5-32(a). Aici calculatorul gazd 3 a
cerut un canal ctre calculatorul gazd 1. Odat ce acesta a fost stabilit, pachetele pot ajunge
de la 1 la 3 fr congestie. S vedem acum ce se ntmpl dac calculatorul 3 rezerv apoi un
canal ctre cellalt emitor, calculatorul gazd 2, astfel nct utilizatorul s poat urmri dou
posturi de televiziune simultan. Se rezerv o a doua cale, aa cum se ilustreaz n Fig. 5-32(b).
Observai c sunt necesare dou canale distincte de la calculatorul gazd 3 ctre ruterul E,
deoarece se transmit dou fluxuri independente.
n fine, n Fig. 5-32 (c) calculatorul gazd 5 decide s urmreasc programul de televiziune
transmis de 1 i face de asemenea o rezervare. Pentru nceput, se rezerv lime de band spre
ruterul H. Acest ruter observ c are deja o rezervare ctre 1, astfel nct dac limea de band
necesar a fost rezervat, nu mai trebuie s rezerve nimic. Se poate ntmpla ca 3 i 5 s cear limi
de band diferite (de exemplu, 3 are un sistem de televiziune alb-negru, astfel nct nu are nevoie de
informaia de culoare), caz n care capacitatea rezervat trebuie s fie suficient pentru a satisface
cererea cea mai mare.
La realizarea unei rezervri, un receptor poate (opional) alege una sau mai multe surse de la
care vrea s recepioneze. De asemenea, el mai poate specifica dac aceste alegeri sunt fixe pe
durata rezervrii sau dac receptorul dorete s-i pstreze opiunea de a modifica sursele ulterior.
SEC 5.4
INTERCONECTAREA REELELOR
367
Ruterele folosesc aceast infojmaie pentru a optimiza planificarea limii de band. n particular,
doi receptori pot s partajeze o cale doar dac ambii stabilesc s nu modifice sursele ulterior.
Motivul acestei strategii n cazul dinamic sut la sut este c rezervarea limii de band
este decuplat de la surs. Odat ce un receptor a rezervat lime de banda, el poate comuta
ctre alt surs i s pstreze poriunea din calea existent care este comun cu calea ctre
noua surs. Cnd calculatorul 2 transmite mai multe fluxuri video, de exemplu, calculatorul 3
poate comuta ntre ele dup dorin, fr a-i schimba rezervarea: pe ruter nu-1 intereseaz la
ce program se uit utilizatorul.
NIVELUL REEA
368
CAP. 5
Fig. 5-33 ilustreaz aceste patru tipuri de conexiuni cu linii punctate. n fiecare caz, este necesar
inserarea unei cutii negre" la jonciunea dintre dou reele, pentru a trata conversiile necesare
atunci cnd pachetele se mic dintr-o reea n alta.
Gazd
SEC. 5.4
INTERCONECTAREA REELELOR
369
Pentru comoditate, vom folosi cteodat termenul poart" pentru a desemna orice dispozitiv
care conecteaz dou sau mai multe reele de tipuri diferite.
Repetoarele sunt dispozitive de nivel sczut care doar amplific sau regenereaz semnalele slabe.
Ele sunt necesare pentru a oferi curentul necesar cablurilor lungi. In 802.3, de exemplu, proprietile
de timp ale protocolului MAC (valoarea aleas pentru x) permit folosirea de cabluri de pn la
2.5 km> dar circuitele transceiverelor pot oferi putere doar pentru cabluri pn la 500 m. Soluia este
s se foloseasc repetoare pentru a extinde lungimea cablului acolo unde este nevoie.
Spre deosebire de repetoare, care copiaz biii pe msur ce acetia apar, punile (bridges) sunt
echipamente de tip stocheaz-i-trimite. O punte accept un ntreg cadru i l transmite deasupra,
nivelului legtur de date, unde este verificat suma de control. Apoi cadrul este trimis n jos,
nivelului fizic, pentru a fi trimis ntr-o reea diferit. Punile pot face mici modificri asupra cadrului
nainte de a-1 trimite, cum ar fi adugarea sau eliminarea unor cmpuri din antetul cadrului.
Datorit faptului c sunt dispozitive de nivel legtur de date, ele nu trateaz antetele de la nivelul 3
n sus i nu pot face schimbri sau modificri care depind de aceste antete.
Ruterele multiprotocol sunt, conceptual, similare cu punile, cu excepia faptului c se afl la
nivelul reea. Ele doar preiau pachetele venite pe o linie i le transmit pe alta, aa cum fac toate
ruterele, dar liniile pot face parte din reele diferite i pot folosi protocoale diferite (de exemplu IP,
IPX i protocolul fr conexiune din OSI, CLNP). Asemenea tuturor ruterelor, ruterele
multiprotocol opereaz la nivelul reea.
Porile de transport (transport gateways) fac o conexiune ntre dou reele la nivelul transport.
Vom discuta aceast posibilitate mai trziu, cnd vom ajunge la circuite virtuale concatenate.
n final, porile de aplicaii (application gateways) conecteaz dou pri ale unei aplicaii n
cadrul nivelului aplicaie. De exemplu, pentru a trimite pot de la o main din Internet, folosind
formatul de pot Internet, ctre o cutie potal ISO MOTIS, un utilizator poate trimite mesajul
ctre o poart de pot. Poarta de pot va despacheta mesajul, l va converti la formatul MOTIS i
apoi l va trimite n a doua reea folosind protocoalele de reea i transport specifice acelei reele.
370
NIVELUL REEA
CAP. 5
Cnd o poart este ntre dou WAN-uri administrate de organizaii diferite, posibil n ri
diferite, operarea comun a unei maini din clasa staiilor de lucru poate duce la multe pasri de
responsabiliti. Pentru a elimina aceste probleme, se poate adopta o abordare un pic diferit.
Poarta este efectiv rupt la mijloc i cele dou pri sunt conectate printr-un cablu. Fiecare jumtate
este numit jumtate-de-poart (half-gateway) i fiecare este deinut i administrat de o
organizaie. Toat problema de conversie se reduce la acordul asupra unui protocol comun pentru
transmisia prin cablul de legtur, un protocol care este neutru i nu avantajeaz nici una din pri.
Fig. 5-34 ilustreaz att porile complete ct i jumtile de pori. Fiecare tip poate fi folosit la orice
nivel (de exemplu, exist i jumti de puni - half-bridgcs).
Acestea fiind spuse, situaia este mai tulbure n practic dect n teorie. Multe dispozitive
existente pe pia combin funcionalitatea punilor cu cea a ruterelor. Proprietatea cheie a unei
puni pure este c ea examineaz antetele cadrelor de la nivelul legtur de date i nu inspecteaz
sau modific pachetele de nivel reea din cadre. O punte nu poate spune i nu este interesat dac n
cmpul informaie util al cadrului pe care l transmite dintr-un LAN 802.x ntr-un 8O2.y exist un
pachet IP, IPX sau CLNP.
Din contr, un ruter cunoate foarte bine dac este un ruter IP, un ruter IPX, un ruter CLNP sau
toate trei combinate. El examineaz aceste antete i ia decizii bazate pe adresele gsite acolo. Pe de
alt parte, cnd un ruter pur nmneaz un pachet nivelului legtur de date, nu tie i nu se
preocup dac va fi transportat ntr-un cadru Ethernet sau token ring. Aceasta este responsabilitatea
nivelului legtur de date.
Confuzia n industrie provine din dou surse. Mai nti, funcional, punile i ruterele nu sunt att
de diferite. Ele accept PDU-urile (Protocol Data Units - uniti de date protocol) sosite,
examineaz cteva cmpuri din antet i iau decizii despre destinaia PDU-urilor pe baza
informaiilor din antet i a tabelelor interne.
n al doilea rnd, multe produse comerciale sunt vndute cu o etichet greit sau combin
funcionalitatea att a punilor ct i a ruterelor. De exemplu, punile cu dirijare pe baza sursei
(source routing bridges) nu sunt deloc puni, din moment ce ele implic un nivel de protocol plasat
deasupra nivelului legtur de date. Pentru o discuie clarificatoare asupra punilor fa de rutere,
vezi Cap. 12 din (Perlman, 1992).
5.4.1 Prin ce difer reelele
Reelele pot diferi n multe moduri. In Fig. 5-35, enumerm cteva din diferenele care pot
aprea la nivelul reea. Tabelul este o prezentare a diferenelor care fac interconectarea reelelor
mult mai dificil dect operarea ntr-o singur reea.
Cnd pachetele trimise de o surs ntr-o reea trebuie s tranziteze una sau mai multe reele
strine nainte de a ajunge n reeaua destinaie (care, de asemenea, poate fi diferit fa de reeaua
surs), pot aprea multe probleme la interfeele dintre reele. Pentru nceput, cnd pachetele dintr-o
reea orientat pe conexiuni trebuie s tranziteze o reea fr conexiuni, poate aprea o reordonare
a acestora, lucru la care emitorul nu se ateapt i cruia receptorul nu este pregtit s-i fac fa.
Vor fi necesare frecvente conversii de protocol, care pot fi dificile dac funcionalitatea cerut nu
poate fi exprimat. De asemenea, vor fi necesare conversii de adres, ceea ce poate cere un sistem
INTERCONECTAREA RETEDELOR
SEC. 5.4
371
de catalogare. Trecerea pachetelor de trimitere multipl printr-o reea care nu ofer trimitere
multipl necesit pachete separate pentru fiecare destinaie.
Element
Serviciu oferit
Protocol
Adresare
Trimitere multipl
Dimensiune pachet
Calitatea serviciului
Tratarea erorilor
Controlul fluxului
Controlul congestiei
Securitate
Parametri
Contabilizare
Cteva posibiliti
Orientat pe conexiuni fa de cel fr conexiune
IP, IPX, CLNP, AppIeTalk, DECnet etc.
Plat (802) opus celei ierarhice (IP)
Prezent sau absent (de asemenea, difuzarea total)
Fiecare reea i are propriul maxim
Poate fi prezent sau absent; multe tipuri diferite
Livrare fiabil, ordonat sau neordonat
Fereastr glisant, controlul ratei, altele sau nimic
Algoritmi gleat spart, pachete de oc etc.
Reguli de secretizare, criptare etc.
Diferite limitri de timp, specificri ale fluxului etc.
Dup timpul de conectare, dup pachet, dup octei sau fr.
Fig. 5-35. Cteva din multele moduri n care pot diferi reelele.
Diferena dintre dimensiunile maxime ale pachetelor folosite de diferite reele este o mare
durere de Cap. Cum vei trece un pachet de 8000 de octei printr-o reea a crei dimensiune maxim
este de 1500 de octei? Diferenele n calitatea serviciilor sunt o problem n momentul n care un
pachet care are constrngeri de livrare n timp real traverseaz o reea care nu ofer nici o garanie
de timp real.
Controlul erorilor, al fluxului i al congestiei difer frecvent ntre reele diferite. Dac sursa
i destinaia ateapt amndou ca toate pachetele s fie livrate n ordine fr erori, iar n plus
o reea intermediar elimin pachete oricnd miroase congestie la orizont sau pachetele pot
hoinri fr scop pentru un timp i apoi ajung brusc i sunt livrate, multe aplicaii se vor
comporta neprevzut. Diferite mecanisme de securitate, reglri de parametri, reguli de
contabilizare i chiar legi naionale referitoare la secrete pot, de asemenea, cauza probleme.
5.4.2 Circuite virtuale concatenate
372
NIVELUL REEA
CAP. 5
ATM
Ruter
multiprotocol
Ruter
Gazd
Modelul alternativ de interconectare este modelul datagram, prezentat n Fig. 5-37. n acest
model, singurul serviciu pe care nivelul reea l ofer nivelului transport este capacitatea de a injecta
datagrame n subreea n sperana c totul va merge bine. Nu exist nici o noiune de circuit virtual
la nivelul reea i uitai de concatenarea lor. Acest model nu necesit ca toate pachetele care aparin
unei conexiuni s traverseze aceeai secven de pori. n Fig. 5 - 37, sunt ilustrate datagramele de la
gazda 1 pentru gazda 2 care urmeaz rute diferite prin reeaua de interconectare. O decizie de
dirijare este fcut separat pentru fiecare pachet, eventual n funcie de traficul din momentul n
care este trimis pachetul. Aceast strategie poate utiliza rute multiple i atinge astfel o capacitate
SEC. 5.4
373
INTERCONECTAREA REELELOR
j B j m are dect modelul circuitelor virtuale eonctenate. Pe de alt parte, nu exist nici o garanie c
pachetele ajung la destinaie n ordine, presupunnd c ele ajung.
Ruter
multiprotocol
Gazd
NIVELUL REEA
374
CAP. 5
circuitelor virtuale ntr-o singur subreea: zonele tampon pot fi rezervate n prealabil, poate fi
garantat secvenialitatea, pot fi folosite antete scurte, iar necazurile cauzate de pachetele
duplicate ntrziate pot fi evitate.
El are, de asemenea, i dezavantaje: spaiul n tabele necesar n fiecare ruter pentru fiecare
conexiune deschis, lipsa unei dirijri alternative pentru a evita zonele congestionate i
vulnerabilitatea la defectarea ruterelor de pe parcurs. De asemenea, are dezavantajul de a fi
dificil, dac nu imposibil, de implementat n cazul n care una din reelele implicate este reea
nesigur de tip datagram.
Proprietile abordrii interconectrii reelelor prin datagrame sunt aceleai ca i cele ale
subreelelor de tip datagram: potenial de congestionare mai mare, dar de asemenea potenial mai
mare de adaptare la congestionri, robustee n cazul defectri ruterelor i lungime mai mare
necesar pentru antete. Sunt posibili diferii algoritmi de dirijare adaptiv ntr-o inter-reea, aa cum
sunt n cadrul unei singure reele de tip datagram.
Un avantaj major al abordrii interconectrii reelelor prin datagrame este c aceasta poate fi
folosit peste subretele care nu folosesc circuite virtuale n interior. Multe LAN-uri, reele mobile
(de exemplu flotele aeriene i navale) i chiar unele WAN-uri intr n aceast categorie. Cnd o
inter-reea include una din acestea, apar probleme serioase dac strategia de interconectare a
reelelor este bazat pe circuite virtuale.
5.4.4 Trecerea prin tunel
Rezolvarea cazului general de interconectare a dou reele diferite este extrem de dificil. Cu
toate acestea, exist un caz special uzual care este gestionabil. Acest caz apare cnd gazdele surs i
destinaie sunt n acelai tip de reea, dar ntre ele este o reea diferit. Ca exemplu, gndii-v la o
banc internaional cu o reea TCP/IP bazat pe Ethernet la Paris, o reea TCPAP bazat pe
Ethernet la Londra i un WAN PTT ntre, aa cum este prezentat n Fig. 5-38.
Cadru Ethernet
Ruter
multiprotocol
Tunel
Cadru Ethernet
SEC. 5.4
IN1ERC0NECTAREAREELJEL0R
375
Soluia acestei probleme este o tehnic numit trecerea prin tunele. Pentru a trimite un
pachet IP la gazda 2, gazda 1 construiete pachetul coninnd adresa IP a gazdei 2, l insereaz
ntr-un cadru Ethernet adresat ruterului multiprotocol parizian i apoi l trimite n reeaua
Ethernet. Cnd ruterul multiprotocol primete cadrul, extrage pachetul IP, l insereaz n
cmpul informaie util al pachetului de nivel reea WAN, pachet pe care l adreseaz cu
adresa ruterului multiprotocol londonez. Cnd ajunge acolo, ruterul londonez extrage
pachetul IP i l trimite gazdei 2 n interiorul unui cadru Ethernet.
WAN-ul poate fi vzut ca un mare tunel ce se ntinde de la un ruter multiprotocol la altul.
Pachetul IP doar traverseaz tunelul de la un capt la altul, aezat confortabil n frumosul su lca.
El nu trebuie s aib deloc grij de comportarea la nivel WAN. i nici gazdele din oricare Ethernet.
Numai ruterul multiprotocol trebuie s neleag i pachete IP i WAN. Ca rezultat, ntreaga
distan de la mijlocul unui ruter multiprotocol pn la mijlocul celuilalt acioneaz ca o linie serial.
M a
?in
Canalul Mnecii
"Calea ferat
Fig. 5-39. Utilizarea tunelului pentru o main trecnd din Frana n Anglia.
O analogie poate face utilizarea tunelelor mai clar. Considerai o persoan conducnd maina
de la Paris la Londra. n Frana, maina se deplaseaz sub aciunea propriei puteri, dar cnd ajunge
la Canalul Mnecii, este ncrcat ntr-un tren de mare vitez i transportat n Anglia prin Chunnel6
(mainile nu pot circula prin Chunnel). Efectiv, maina este purtat ca informaie util, cum este
prezentat n Fig. 5-39. La captul englez, maina este eliberat pe drumurile engleze i continu s se
deplaseze, nc o dat, cu propria putere. Utilizarea tunelelor printr-o reea necunoscut
funcioneaz n acelai mod.
5.4.5 Dirijarea n reele interconectate
Dirijarea printr-o reea interconectat este similar cu dirijarea ntr-o singur subreea, dar cu
cteva complicaii n plus. S considerm, de exemplu, interconectarea reelelor din Fig. 5-40(a) n
care cinci reele sunt conectate de ase rutere multiprotocol. Crearea unui graf ca model al acestei
situaii este complicat de faptul c fiecare ruter multiprotocol poate accesa direct (mai clar, poate
trimite pachete la) orice alt ruter conectat n orice reea cu care el este conectat. De exemplu, B din
Fig. 5-40(a) poate accesa direct A i C prin reeaua 2 i de asemenea D prin reeaua 3. Aceasta duce
la graful din Fig. 5-40(b).
N.T. Chunnel, ce provine de la Channel (canal) i Tunnel (tunel) este denumirea dat n englez tunelului de
sub Canalul Mnecii.
NIVELUL REEA
376
CAP. 5
Reea
(a)
(b)
INTERCONECTAREA REELELOR
SEC. 5.4
377
5.4.6 Fragmentarea
Fiecare reea impune cteva dimensiuni maxime asupra pachetelor sale. Aceste limite au diferite
cauze, printre ele fiind:
1.
2.
3.
4.
5.
6.
Reeaua 2
Pachet
Gi fragmenteaz
un pachet mare
G2
reasambleaz
fragmentele
G3 fragmenteaz
din nou
G4
reasambleaz
d i n n o u
(a)
Pachet
Gi fragmenteaz
un pachet mare
(b)
378
NIVELUL REEA
CAP. 5
tie orice printe al unui copil mic, convertirea unui obiect mare n fragmente mici este
considerabil mai uoar dect procesul invers. (Fizicienii chiar au dat nume acestui efect: legea
a doua a termodinamicii.) Reelele cu comutare de pachete au, de asemenea, probleme n
mbinarea pachetelor.
Exist dou strategii opuse pentru reconstituirea pachetului original din fragmente. Prima
strategie este de a face fragmentarea cauzat de o reea cu pachete mici" transparent pentru toate
reelele succesive prin care pachetul trebuie s treac pe calea ctre destinaia final. Aceast
opiune este prezentat n Fig. 5-41 (a). Cnd un pachet supradimensionat ajunge la poart, poarta l
sparge n fragmente. Fiecare fragment este adresat aceleiai pori de ieire, unde piesele sunt
recombinate. n acest mod, trecerea printr-o reea cu pachete mici a devenit transparent. Reelele
urmtoare nici mcar nu sunt contiente de fragmentarea fcut. Reelele ATM, de exemplu, au
hardware special pentru a oferi fragmentarea transparent a pachetelor n celule i apoi
reasamblarea celulelor n pachete. n lumea ATM, fragmentarea este numit segmentare; conceptul
este acelai, dar difer unele detalii.
Fragmentarea transparent este simpl, dar are cteva probleme. Un motiv este c poarta de
ieire trebuie s tie cnd a primit toate piesele, aa nct n fiecare pachet trebuie inclus fie un cmp
contor, fie un bit sfrit-de-pachet. Un alt motiv este c toate pachetele trebuie s ias prin aceeai
poart. Performanele se pot degrada nepermind ca unele pachete s urmreasc o cale ctre
destinaia final i alte pachete o cale diferit. O ultim problem este timpul suplimentar necesar
pentru reasamblarea i apoi refragmentarea repetat a unui pachet mare care traverseaz o serie de
reele cu pachete mici.
Cealalt strategie de fragmentare este de a nu recombina fragmentele la nici o poart
intermediar. O dat ce un pachet a fost fragmentat, fiecare fragment este tratat ca i cum ar fi un
pachet original. Toate fragmentele sunt trecute printr-o poart (sau pori) de ieire, aa cum se arat
n Fig. 5-41(b). Recombinarea are loc doar la gazda destinaie.
Fragmentarea netransparent are, de asemenea, unele probleme. De exemplu, necesit ca
fiecare gazd s fie capabil s fac reasamblarea. nc o problem este c atunci cnd un pachet
mare este fragmentat, suprancrcarea crete, deoarece fiecare fragment trebuie s aib un antet. Pe
ct vreme n prima metod aceast suprancrcare dispare de ndat ce se iese din reeaua cu
pachete mici, n aceast metod suprancrcarea rmne pentru restul cltoriei. Cu toate acestea,
un avantaj al acestei metode este c se pot folosi mai multe pori de ieire i se pot obine
performane mai bune. Desigur, dac se folosete modelul circuitelor virtuale concatenate, acest
avantaj nu este de nici un folos.
Cnd un pachet este fragmentat, fragmentele trebuie numerotate astfel, nct irul iniial de date
s poat fi reconstituit. O metod de numerotare a fragmentelor este bazat pe un arbore. Dac
pachetul 0 trebuie descompus, bucile sunt numite 0.0,0.1,0.2 etc. Dac aceste fragmente trebuie la
rndul lor, s fie fragmentate mai trziu, bucile sunt numerotate 0.0.0, 0.0.1, 0.0.2,..., 0.1.0, 0.1.1,
0.1.2 etc. Dac au fost rezervate n antet suficiente cmpuri pentru cel mai ru caz i nu sunt
generate duplicate n alt parte, aceast schem este suficient pentru a asigura c toate bucile pot
fi corect reasamblate la destinaie, neavnd importan ordinea n care ajung.
Cu toate acestea, dac o singur reea pierde sau elimin pachete, apare necesitatea unor
retransmisii capt-la-capt, cu efecte nefericite pentru schema de numerotare. S presupunem c un
pachet de 1024 bii este iniial fragmentat n patru fragmente de dimensiune egal, 0.0,0.1,0.2 i 0.3.
Fragmentul 0.1 este pierdut, dar toate celelalte pri ajung la destinaie. n cele din urm, la surs
INTERCONECTAREA REELELOR
SEC. 5.4
379
apare o depire de timp i retransmite pachetul original din nou, Dar de aceast dat calea trece
printr-o reea cu limita de 512 octei, deci sunt generate dou fragmente. Cnd noul fragment 0.1
ajunge la destinaie, receptorul va gndi c toate cele patru buci sunt ajunse i va reconstrui
pachetul incorect.
Un sistem de numerotare diferit (i mai bun) este ca protocolul de interconectare a reelelor s
defineasc o dimensiune de fragment elementar suficient de mic ca fragmentul elementar s poat
trece prin orice reea. Cnd un pachet este fragmentat, toate bucile sunt egale cu dimensiunea
fragmentului elementar, cu excepia ultimului, care poate fi mai scurt. Un pachet inter-reea poate
conine mai multe fragmente, din motive de eficien. Antetul inter-reea trebuie s ofere numrul
original al pachetului i numrul fragmentului (sau primului fragment) elementar coninut n pachet.
Ca de obicei, trebuie s existe un bit care s indice c ultimul fragment elementar coninut n
pachetul inter-reea este ultimul din pachetul original.
Aceast, abordare necesit dou cmpuri de secven n antetul inter-reea; numrul
pachetului original i numrul fragmentului. Exist clar un compromis' ntre dimensiunea
fragmentului elementar i numrul de bii din numrul fragmentului. Deoarece dimensiunea
fragmentului elementar este presupus a fi acceptabil pentru toate reelele, fragmentrile
ulterioare ale unui pachet inter-reea coninnd cteva fragmente nu cauzeaz probleme. n
acest caz, limita extrem este reprezentat de un fragment elementar de un bit sau octet,
numrul de fragment fiind reprezentat de deplasamentul bitului sau octetului n cadrul
pachetului original, aa cum se arat n Fig. 5-42.
Numrul primului fragment elementar din acest pachet
Bitu1 sfrit d(
pachet
Numr
pachet
'
27
1 octet
/
0 1 A
Antet
27
0 1 A
Antet
A |B
27
i E|
27
5 0 F
Antet
8 1 I
Antet
(b)
(a)
Antet
27
27
8 1 I
Antet
(O
380
NIVELUL REEA
CAP. 5
Cteva protocoale inter-reea extind aceast metod i, mai mult, consider ntreaga transmisie
pe un circuit virtual ca a unui pachet gigant, aa nct fiecare fragment conine numrul absolut de
octet al primului octet din fragment. Alte cteva aspecte legate de fragmentare sunt discutate n
(KentiMogul,1987).
Poart de
aplicaii
Ruter cu
filtrare de
pachete
Conexiuni ctre
reelele de
afar
Reeaua
corporaiei
Perimetru de
securitate
LAN
interior
LAN
exterior
Zid de
protecie
Fig. 5-43. Un zid de protecie format din dou filtre de pachete i o poart de aplicaii.
Zidurile de protecie sunt doar o adaptare modern a acelei vechi soluii de securitate medieval:
sparea unui an adnc de aprare n jurul castelului dvs. Acest proiect fora pe oricine dorea s
SEC. 5.4
INTERCONECTAREA REELELOR
381
intre sau s ias din castel s treac peste un singur pod mobil, unde puteau fi inspectai de poliia de
intrare/ieire. Cu reelele se poate face acelai truc: o companie poate avea multe LAN-uri conectate
n moduri arbitrare, dar tot traficul ctre sau de la companie este forat printr-un pod mobil
electronic (zidul de protecie), aa cum este prezentat n Fig. 5-43.
n aceast configuraie zidul de protecie are dou componente: dou rutere care fac filtrare de
pachete i o poart de aplicaii. Exist, de asemenea, configuraii i mai simple, dar avantajul acestui
proiect este c fiecare pachet trebuie s tranziteze dou filtre i o poart de aplicaie pentru a intra
sau iei. Nu exist alt rut. Este destul de clar c cititorii care consider c un singur punct de
verificare a securitii este suficient nu au fcut recent un zbor internaional cu o companie aerian.
Fiecare filtru de pachete este un ruter standard echipat cu unele funcii suplimentare. Acestea
permit inspectarea fiecrui pachet care intr sau iese. Pachetele care ndeplinesc anumite criterii
sunt transmise normal. Cele care nu trec testul sunt eliminate.
' n Fig. 5-43, este foarte probabil ca filtrul de pachete din interiorul LAN-ului s verifice
pachetele care ies, iar cel din exteriorul LAN-ului s verifice pachetele care intr. Pachetele care trec
de prima barier merg la poarta de aplicaii pentru o examinare ulterioar. Motivul introducerii a
dou filtre de pachete n reele diferite este de a asigura c nici un pachet nu intr sau iese fr a fi
obligat s treac prin poarta de aplicaii: nu exist nici o cale pe care s o ocoleasc.
Filtrele de pachete sunt, n mod tipic, dirijate de tabele configurate de administratorul de
sistem. Aceste tabele enumera sursele i destinaiile acceptabile, sursele i destinaiile care
sunt blocate i reguli implicite despre ce se face cu pachetele care vin sau se duc la alte maini.
n cazul uzual al configurrii Unix, o surs i o destinaie constau dintr-o adres IP i un port.
Porturile indic ce serviciu este dorit. De exemplu, portul 23 este pentru Telnet, portul 79 este
pentru Finger, iar portul 119 este pentru tirile USENET. O companie poate bloca toate pachetele
de intrare pentru toate adresele IP asociate cu unul din aceste porturi. n acest mod, nimeni din
afara companiei nu se poate conecta prin Telnet, sau s caute persoane folosind demonul de Finger.
Mai mult, compania va putea evita ca angajaii s-i petreac toat ziua citind tiri USENET.
Blocarea pachetelor care ies este mai complicat, deoarece, dei cele mai multe situri ader
la conveniile standard de numire a porturilor, nu sunt obligate s o fac. Mai mult, pentru
servicii importante, cum ar fi FTP (File Transfer Protocol - protocol de transfer fiiere),
numerele de port sunt atribuite dinamic. n plus, dei blocarea conexiunilor TCP este dificil,
blocarea pachetelor UDP este i mai grea datorit faptului c se tie foarte puin a priori
despre ce vor face. Multe filtre de pachete pur i simplu interzic n totalitate traficul UDP.
A doua jumtate a mecanismului de zid de protecie este poarta de aplicaie. n loc s trateze
pachete brute, o poart opereaz la nivelul aplicaie. O poart de pot electronic, de exemplu,
poate fi configurat s examineze fiecare mesaj care intr sau iese. Pentru fiecare mesaj, ea ia decizia
de a-1 transmite sau elimina pe baza cmpurilor din antet, a dimensiunii mesajului sau chiar a
coninutului (de exemplu, la o instalaie militar, prezena cuvintelor ca nuclear" sau bomb" pot
cauza generarea unor aciuni speciale).
Proiectele de instalare au libertatea de a configura una sau mai multe pori de aplicaie pentru
aplicaii specifice, dar nu este ieit din comun ca organizaii suspicioase s permit intrarea i ieirea
potei electronice i, probabil, folosirea World Wide Web, dar s interzic orice altceva ca fiind prea
riscant. Combinat cu criptarea i cu filtrarea de pachete, acest aranjament ofer o cantitate limitat
de securitate cu costul unor inconveniente.
NIVELUL REEA
382
CAP.5 <
O ultim observaie se refer la comunicaia fr fir i zidurile de protecie. Este uor de proiectat
un sistem care este complet sigur din punct de vedere logic, dar care, n practic, are scurgeri ca un ciur.
Aceast situaie poate aprea dac unele din maini sunt conectate fr fir i folosesc comunicaia
radio, care trece chiar peste zidul de protecie n ambele direcii.
5.5
La nivelul reea, Internet-ul poate fi vzut ca o colecie de subretele sau sisteme autonome
(AS-uri - Autonomous Systems) care sunt conectate mpreun. Nu exist o structur real, dar
exist cteva coloane vertebrale majore.
Linii nchiriate
spre Asia
Linii
nchiriate
transatlantice
Coloana vertebral a
Europei
Reea
naional
LAN IP cu jeton
pe magistral
LAN IP cu jeton
n inel
LANIP
Ethernet
SEC. 5.5
383
Comunicaia n Internet funcioneaz dup cum urmeaz. Nivelul transport preia iruri de date
si le sparge n datagrame. n teorie, datagramele pot avea fiecare pn la 64 Koctei, dar n practic,
ele sunt de obicei n jurul valorii de 1500 octei. Fiecare datagram este transmis prin Internet, fiind
eventual fragmentat n uniti mai mici pe drum. Cnd toate bucile ajung n sfrit la maina
destinaie, ele sunt reasamblate de nivelul reea n datagrama original. Datagrama este apoi pasat
nivelului transport, care o insereaz n irul de intrare al procesului receptor.
5.5.1 Protocolul IP
Un loc potrivit pentru a porni studiul nostru despre nivelul reea n Internet este nsui formatul
datagramelor IP. O datagram IP const dintr-o parte de antet i o parte de text. Antetul are o parte
fix de 20 de octei i o parte opional cu lungime variabil. Formatul antetului este prezentat n
Fig- 5-45. El este transmis n ordinea big endian (cel mai semnificativ primul): de la stnga la dreapta,
cu bitul cel mai semnificativ al cmpului Versiune trimis primul. (Procesorul SPARC este de tip big
endian; Pentium este de tip little endian (cel mai puin semnificativ primul)). Pe mainile de tip little
endian, este necesar o conversie prin program att la transmisie ct i la recepie.
*
32 de bii
,[
IHL
Versiune
Tip serviciu
Timp de via
Lungime total
identificare
Protocol
Deplasamentul fragmentului
Suma de control a antetului
Adresa sursei
Adresa destinaiei
Opiuni {0 sau mai multe cuvinte)
384
NIVELUL REEA
CAP. 5
Cmpul Tip serviciu permite gazdei s comunice subreelei ce tip de serviciu dorete. Sunt
posibile diferite combinaii de fiabilitate i vitez. Pentru vocea digitizat, livrarea rapid are
prioritate fa de transmisia corect. Pentru transferul de fiiere, transmisia fr erori este mult mai
important dect transmisia rapid.
Cmpul nsui conine (de la stnga la dreapta), un cmp de 3 bii Preceden, trei indicatori
(flags), D, T i R, plus 2 bii nefolosii. Cmpul Preceden este o prioritate, de la 0 (normal) la 7
(pachet de control al reelei). Cei trei bii indicatori permit gazdei s specifice ce o afecteaz cel mai
mult din mulimea {Delay (ntrziere), Throughput (Productivitate), Reliability (Fiabilitate)}. n
teorie, aceste cmpuri permit ruterelor s ia decizii ntre, de exemplu, o legtur prin satelit cu o
productivitate mare i o ntrziere mare sau o linie dedicat cu o productivitate sczut i o
ntrziere mic. n practic, ruterele curente ignor total cmpul Tip serviciu.
Lungimea total include totul din datagram - att antet ct i date. Lungimea maxim este de
65535 octei. n prezent, aceast limit superioar este tolerabil, dar n viitoarele reele cu capaciti
de gigaoctei vor fi necesare datagrame mai mari.
Cmpul Identificare este necesar pentru a permite gazdei destinaie s determine crei
datagrame aparine un nou pachet primit. Toate fragmentele unei datagrame conin aceeai
valoare de Identificare.
Urmeaz un bit nefolosit i apoi dou cmpuri de 1 bit. DF vine de la Don't Fragment (A
nu se fragmenta). Acesta este un ordin dat ruterelor s nu fragmenteze datagrama pentru c
destinaia nu este capabil s asambleze piesele la loc. De exemplu, cnd un calculator
pornete, memoria sa ROM poate cere s i se trimit o imagine de memorie ca o singur
datagram. Prin marcarea datagramei cu bitul DF, emitorul tie c aceasta va ajunge ntr-o
singur bucat, chiar dac aceasta nseamn c datagrama trebuie s evite o reea cu pachete
mai mici pe calea cea mai bun i s aleag o rut suboptimal. Este necesar ca toate mainile
s accepte fragmente de 576 octei sau mai mici.
MF vine de la More Fragments (fragmente adiionale). Toate fragmentele, cu excepia ultimului,
au acest bit activat. El este necesar pentru a ti cnd au ajuns toate fragmentele unei datagrame.
Deplasamentul fragmentului spune unde este locul fragmentului curent n cadrul datagramei.
Toate fragmentele dintr-o datagram, cu excepia ultimului, trebuie s fie un multiplu de 8 octei unitatea de fragmentare elementar. Din moment ce sunt prevzui 13 bii, exist un maxim de 8192
de fragmente pe datagram, obinndu-se o lungime maxim a datagramei de 65536 octei, cu unul
mai mult dect cmpul Lungime total.
Cmpul Timp de via este un contor folosit pentru a limita durata de via a pachetelor. Este
prevzut s contorizeze timpul n secunde, permind un timp maxim de via de 255 secunde. El
trebuie s fie decrementat la fiecare salt (hop - trecere dintr-o reea n alta) i se presupune c este
decrementat de mai multe ori cnd st la coad un timp ndelungat ntr-un ruter. n practic, el
contorizeaz doar salturile. Cnd ajunge la valoarea zero, pachetul este eliminat i se trimite napoi
la gazda surs un pachet de avertisment. Aceast facilitate previne hoinreala la infinit a
datagramelor, ceea ce se poate ntmpla dac tabelele de dirijare devin incoerente.
Cnd nivelul reea a asamblat o datagram complet, are nevoie s tie ce s fac cu ea.
Cmpul Protocol spune crui proces de transport trebuie s-1 predea. TCP este o posibilitate,
dar tot aa sunt i UDP i alte cteva. Numerotarea protocoalelor este global la nivelul
ntregului Internet i este definit n RFC 1700.
385
de control a antetului verific numai antetul. O astfel de sum de control este util pentru
detectarea erorilor generate de locaii de memorie proaste din interiorul unui ruter. Algoritmul este
dea. aduna toate jumtile de cuvinte, de 16 bii, atunci cnd acestea sosesc, folosind aritmetic n
complement fa de unu i pstrarea complementului fa de unu al rezultatului. Pentru scopul
eestui algoritm, suma de control a antetului este presupus a fi zero dup sosire. Acest algoritm este
mai robust dect folosirea unei adunri normale. Observai c suma de control a antetului trebuie
recalculat la fiecare salt, pentru c cel puin un cmp se schimb ntotdeauna (cmpul timp de
viata), dar se pot folosi trucuri pentru a accelera calculul.
- Adresa sursei i Adresa destinaiei indic numrul de reea i numrul de gazd. Vom discuta
adresele Internet n seciunea urmtoare. Cmpul Opiuni a fost proiectat pentru a oferi un
subterfugiu care s permit versiunilor viitoare ale protocolului s includ informaii care nu sunt
prezente n proiectul original, pentru a permite cercettorilor s ncerce noi idei i pentru a evita
alocarea unor bii din antet pentru informaii folosite rar. Opiunile sunt de lungime variabil.
Fiecare ncepe cu un cod de un octet care identific opiunea. Unele opiuni sunt urmate de un
cmp de un octet reprezentnd lungimea opiunii, urmat de unul sau mai muli octei de date.
Cmpul Opiuni este completat pn la un multiplu de 4 octei. In acest moment sunt definite cinci
opiuni, aa cum sunt listate n Fig. 5-46, dar nu toate ruterele le suport pe toate.
Opiune
Securitate
Dirijare strict pe baza sursei
Dirijare aproximativ pe baza sursei
nregistreaz calea
Amprent de timp
Descriere
Menioneaz ct de secret este datagrama
Indic calea complet de parcurs
Indic o list a ruterelor care nu trebuie srite
Face fiecare ruter s-i adauge adresa IP
Face fiecare ruter s-i adauge adresa i o amprent de timp.
386
CAP. 5
NIVELUL REEA
fost nfiinat, nici un pachet nu trecea vreodat prin mai mult de nou rutere, deci 40 de octei
pentru opiuni au fost destui. Asa cum s-a menionat anterior, acum dimensiunea este prea mic.
A
In sfrit, opiunea Amprent de timp este similar opiunii nregistreaz ruta, cu excepia
faptului c, n plus fa de nregistrarea adresei sale de 32 de bii, fiecare ruter nregistreaz i
o amprent de timp de 32 de bii. i aceast opiune este folosit n special pentru depanarea
algoritmilor de dirijare.
5.5.2 Adrese IP
Fiecare gazd i ruter din Internet are o adres IP, care codific adresa sa de reea i de gazd.
Combinaia este unic: nu exist dou maini cu aceeai adres IP. Toate adresele IP sunt de 32 de
bii lungime i sunt folosite n cmpurile Adres surs i Adres destinaie ale pachetelor IP.
Formatele folosite pentru adrese IP sunt ilustrate n Fig. 5-47. Acele maini care sunt conectate la
mai multe reele au adrese diferite n fiecare reea.
32 de bii
!
Clas
0
Reea
10
no
1110
11110
Intervalul adreselor
de gazd
De la 1.0.0.0 pn la
127.255.255.255
Gazd
Reea
De la 128.0.0.0 pn la
191.255.255.255
Gazd
Reea
Gazd
De la 192.0.0.0 pn la
223.255.255.255
De la 224.0.0.0 pn la
239.255.255.255
De la 240.0.0.0 pn la
247.255.255.255
SEC 5.5
387
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0
Staia gazd
00
O gazd din
reeaua local
00
Gazd
1 1 1 111 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Reea
127
1111
1111
(Orice)
Difuzare n
reeaua local
Difuzare ntr-o
reea la distan
Bucl local
Aa cum am vzut, toate gazdele dintr-o reea trebuie s aib acelai numr de reea. Aceast
proprietate a adresrii IP poate crea probleme cnd reeaua crete. De exemplu, s considerm o
companie care intr n Internet cu un LAN de clas C Pe msur ce timpul trece, poate achiziiona
mai mult de 254 de maini, deci are nevoie de o a doua adres de clas C. Ca o alt alternativ,
compania poate achiziiona un al doilea LAN de un tip diferit i dori o adres IP separat pentru
reea (LAN-urile pot fi interconectate prin puni pentru a forma o singur reea IP, dar punile au
propriile probleme). n cele din urm, se poate ajunge la multe LAN-uri, fiecare cu ruterul propriu
i fiecare cu propriul numr de reea de clas C.
Pe msur ce numrul de reele locale distincte crete, administrarea lor poate deveni o
adevrat durere de Cap. De fiecare dat cnd este instalat o nou reea, administratorul de sistem
trebuie s contacteze NIC pentru a obine un nou numr de reea. Apoi acest numr trebuie anunat
n toat lumea. Mai mult, mutarea unei maini dinr-un LAN n altul necesit schimbarea adresei
sale P, care poate nsemna la rndul su modificarea fiierelor de configurare i de asemenea
388
NIVELUL REEA
CAP. 5
anunarea n lume a noii adrese IP. Dac vreunei alte maini i este dat adresa IP abia eliberat,
acea main va primi pota electronic i alte date destinate mainii originale pn cnd adresa s-a
propagat n toat lumea.
Soluia acestor probleme este s se permit ca o reea s fie divizat n mai multe pri pentru uz
intern, dar pentru lumea exterioar s se comporte ca o singur reea. n literatura Internet, aceste
pri sunt numite subretele. Aa cum am menionat n Cap. 1, aceast utilizare intr n conflict cu
termenul subreea", care nseamn mulimea tuturor ruterelor i liniilor de comunicaie dintr-o
reea. Din fericire, va fi clar din context care semnificaie este atribuit. n aceast seciune, definiia
folosit va fi cea nou. Dac aceast companie n dezvoltare pornea cu o adres de clas B n loc de
una de clas C, putea ncepe simplu prin numerotarea gazdelor de la 1 la 254. Cnd sosea al doilea
LAN, se putea decide, de exemplu, s se mpart numrul de gazd de 16 bii ntr-un numr de
subreea de 6 bii i un numr de gazd de 10 bii, cum se arat n Fig. 5-49. Aceast mprire
permite 62 de LAN-uri (0 i -l sunt rezervate), fiecare cu pn la 1022 gazde.
32 de bii
1
Masca
d e subreea
10
1 1 1
Reea
1 1
Subreea
Gazd
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
Fig. 5-49. Una din cile de a crea o subreea dintr-o reea de clas B.
n afara reelei, mprirea n subretele nu este vizibil, astfel nct alocarea unei noi subretele nu
necesit contactarea NIC sau schimbarea unor baze de date externe. n acest exemplu, prima
subreea poate folosi adrese IP ncepnd de la 130.50.4.1, cea de-a doua poate ncepe de la
130.50.8.1 i aa mai departe.
i
Pentru a vedea cum funcioneaz subreelele, e necesar s explicm cum sunt procesate
i pachetele IP ntr-un ruter. Fiecare ruter are o tabel ce memoreaz u^numr_de_ adrese IP de forma
i (reea, 0) i un numr de adrese IP de forma (aceast-reea, gazd). Primul tip indic cum se ajunge
i lajretelele lajian. Al_doilea ip spuneLcum s^ ajunge la gazdele locale. Cu fiecare tabel este
asociat interfaa de reea care se folosete pentru a ajunge la destinaie i cteva alte informaii.
Cnd sosete un pachet IP, adresa destinaie este cutat n tabelade dirijare. Dac pachetul este
pentru o reea aflat la distan, el este trimis ruterului urmtor prin interfaa specificat n tabel.
Dac este o gazd local (de exemplu n LAN-ul ruterului), pachetul este trimis direct ctre
destinaie. Dac reeaua nu este prezent, pachetul este trimis unui ruter implicit care are tabele mai
extinse. Acest algoritm nseamn c fiecare ruter trebuie s memoreze numai reele i gazde, nu
perechi (reea, gazd), reducnd considerabil dimensiunea-tabelelor de dirijare.
Cnd este introdus mprirea n subretele, tabelele de dirijare sunt schimbate, adugnd intrri
de forma (aceast-reea, subreea, 0) i (aceast-reea, aceast-subreea, gazd). Astfel un ruter din
subreeaua A: tie cum s ajung la toate celelalte subretele i, de asemenea, cum s ajung la toate
gazdele din subreeaua k. El nu trebuie s tie detalii referitoare la gazde din alte subretele. De fapt,
tot ceea ce trebuie schimbat este de a impune fiecrui ruter s fac un I logic cu masca de subreea
SEC. 5.5
389
a. reelei (vezi Fig. 5-49), pentru a scpa de numrul de gazd i a cuta adresa rezultat n tabelele
sale (dup ce determin crei clase de reele aparine). De exemplu, asupra unui pachet adresat
ctre 130.50.15.6 care ajunge la un ruter din subreteaua 5 se face un I logic cu masca de subreea
din Fig- 5-49 pentru a obine adresa 130.50.12.0. Aceast adres este cutat n tabelele de dirijare
pentru a se gsi cum se ajunge la gazdele din subreteaua 3. Rutenii din subreteaua 5 este astfel
uurat de munca de a memora toate adresele de nivel legtur de date ale altor gazde dect cele din
subreteaua 5. mprirea n subretele reduce astfel spaiul tabelelor de dirijare prin crearea unei
ierarhii pe trei niveluri.
5.5.4 Protocoale de control n Internet
Pe lng IP, care este folosit pentru transferul de date, Internet-ul are cteva protocoale de
control la nivelul reea, incluznd ICMP, ARP, RARP i BOOTP. n aceast seciune vom arunca o
privire asupra fiecruia dintre ele.
Protocolul mesajelor de control din Internet
Operarea Internet-ului este strns monitorizat de ctre rutere. Atunci cnd se ntmpl ceva
neobinuit, evenimentul este raportat prin ICMP (Internet Control Message Protocol - protocolul
mesajelor de control din Internet), care este folosit i pentru testarea Internet-ului. Sunt definite
aproape o duzin de tipuri de mesaje ICMP. Cele mai importante sunt enumerate n Fig. 5-50.
Fiecare tip de mesaj ICMP este ncapsulat ntr-un pachet IP.
Tipul mesajului
Descriere
Destinaie inaccesibil
Timp depit
Problem de parametru
Oprire surs
Redirectare
Cerere de ecou
Rspuns ecou
Cerere de amprent de timp
Rspuns cu amprent de timp
NIVELUL REEA
390
CAP. 5
Mesajul OPRIRE SURS (SOURCE QUENCH) a fost folosit pe vremuri pentru a limita
traficul gazdelor care trimiteau prea multe pachete. Cnd o gazd primea acest mesaj, era de
ateptat s ncetineasc ritmul de transmisie. Este folosit arareori, deoarece cnd apare
congestie, aceste pachete au tendina de a turna mai mult gaz pe foc. Controlul congestiei n
Internet este acum fcut pe larg la nivelul transport i va fi studiat n detaliu n Cap. 6.
Mesajul REDIRECTARE (REDIRECT) este folosit cnd un ruter observ c un pachet pare a
fi dirijat greit. Este folosit de ruter pentru a spune gazdei emitoare despre eroarea probabil.
Mesajele CERERE ECOU (ECHO REQUEST) i RSPUNS ECOU (ECHO REPLY) sunt
folosite pentru a vedea dac o anumit destinaie este accesibil i activ. Este de ateptat ca la
recepia mesajului ECOU, destinaia s rspund printr-un mesaj RSPUNS ECOU. Mesajele
CERERE AMPRENT DE TIMP (TIMESTAMP REQUEST) i RSPUNS AMPRENT DE
TIMP (TIMESTAMP REPLY) sunt similare, cu excepia faptului c n rspuns sunt nregistrate
timpul de sosire a mesajului i de plecare a rspunsului. Aceast facilitate este folosit pentru a
msura performanele reelei.
Pe lng aceste mesaje, exist alte patru care trateaz adresarea n Internet, pentru a permite
gazdelor s descopere numerele proprii de reea i s trateze cazul n care mai multe LAN-uri
partajeaz o singur adres IP. ICMP este definit n RFC 792.
Protocolul de rezoluie a adresei
Dei fiecare main din Internet are una sau mai multe adrese IP, acestea nu pot fi folosite de
fapt pentru trimiterea pachetelor deoarece hardware-ul nivelului legturii de date nu nelege
adresele Internet. Astzi, cele mai multe gazde sunt ataate la un LAN printr-o plac de interfa
> care nelege adresele LAN. De exemplu, fiecare plac Ethernet fabricat pn acum vine cu o
adres Ethernet de 48 bii. Fabricanii plcilor Ethernet cer un spaiu de adrese de la o autoritate
central pentru a se asigura c nu exist dou plci cu aceeai adres (pentru a evita conflictele care
ar aprea dac cele dou plci ar fi n acelai LAN). Plcile trimit i primesc cadre pe baza adresei
Ethernet de 48 bii. Ele nu tiu absolut nimic despre adresele IP.
Ruterul are
2 adrese IP
192.31.65.7
192.31.65.5
E1
E2
Ruterul are
2 adrese IP
5
a
192.31.60.7
| 192.31.63.3
192.31.65)
Reea Ethernet
Facultatea de
Calculatoare
192.31.65.0
E3 A
^-^/ x
inelul FDDI
al campusului
192.31.60.0
E4
192.31.63.8
E5
E6
Reea Ethernet
Facultatea de
Inginerie Electric
192.31.63.0
Adrese
Ethernet
Fig. 5-51. Trei reele de clas C interconectate: dou reele Ethernet i un inel FDDI.
SEC 5.5
391
Se pune atunci ntrebarea: Cum sunt transformate adresele IP n adrese la nivelul legturii
dedate, ca de exemplu Ethernet? Pentru a explica care este funcionarea, vom folosi exemplul
din Fig- 5-51, n care este ilustrat o universitate mic ce are cteva reele de clas C. Avem
doua reele Ethernet, una n facultatea de Calculatoare, cu adresa IP 192.31.65.0 i una n
facultatea de Inginerie Electric, cu adresa IP 192.31.63.0. Acestea sunt conectate printr-un
inel FDDI la nivelul campusului, care are adresa IP 192.31.60.0. Fiecare main dintr-o reea
Ethernet are o adres Ethernet unic, etichetat de la El la E6, iar fiecare main; de pe inelul
FDDI are o adres FDDI, etichetat de la FI la F3.
S ncepem prin a vedea cum trimite un utilizator de pe gazda 1 un pachet unui utilizator de pe
gazda 2. Presupunem c expeditorul tie numele destinatarului, ceva de genul ary@eagle.cs.uni.edu.
primul pas este aflarea adresei IP a gazdei 2, cunoscut ca eagle.cs.uni.edu. Aceast cutare este
fcut de sistemul numelor de domenii (DNS), pe care l vom studia n Cap. 7. Pentru moment, vom
presupune c DNS-ul ntoarce adresa IP a gazdei 2 (192.31.65.5).
Programele de la nivelurile superioare ale gazdei 1 construiesc un pachet cu 192.31.65.5 n
cmpul adresa destinatarului pachet care este trimis programelor IP pentru a-1 transmite. Programele
IP se uit la adres i vd c desjimrtarjul se afl n propria reea, dar au nevoie de un mijloc prin care
s determine adresa Ethernet a destinatarului. O soluie este s avem undeva n sistem un fiier de
configurare care transform adresele IP n adrese Ethernet. Aceast soluie este posibil, desigur,
dar pentru organizaii cu mii de maini, meninerea fiierelor actualizate este o aciune
consumatoare de timp i care poate genera erori.
O soluie mai bun este ca gazda 1 s trimit un pachet de difuzare n reeaua Ethernet
ntrebnd: Cine este proprietarul adresei IP 192.31.65.5?". Pachetul de difuzare va ajunge la
toate mainile din reeaua Ethernet 192.31.65.0 i fiecare i va verifica adresa IP. Numai gazda
2 va rspunde cu adresa sa Ethernet (E2). n acest mod gazda 1 afl c adresa IP 192.31.65.5
este pe gazda cu adresa Ethernet E2. Protocolul folosit pentru a pune astfel de ntrebri i a
primi rspunsul se numete ARP (Address Resolution Protocol - Protocolul de rezoluie a
adresei). Aproape toate mainile din Internet l folosesc. El este definit n RFC 826.
Avantajul folosirii ARP fa de fiierele de configurare l reprezint simplitatea. Administratorul
de sistem nu trebuie s fac prea multe, dect s atribuie fiecrei maini o adres IP i s hotrasc
mtile subreelelor. ARP-ul face restul.
n acest punct, programele IP de pe gazda 1 construiesc un cadru Ethernet adresat ctre
E2, pun pachetul IP (adresat ctre 193.31.65.5) n cmpul informaie util i l lanseaz pe
reeaua Ethernet. Placa Ethernet a gazdei 2 detecteaz acest cadru, recunoate c este un
cadru pentru ea, l ia repede i genereaz o ntrerupere. Driverul Ethernet extrage pachetul IP
din informaia util i l trimite programelor IP, care vd c este corect adresat i l proceseaz.
Pentru a face ARP-ul mai eficient sunt posibile mai multe optimizri. Pentru nceput, la fiecare
execuie a ARP, maina pstreaz rezultatul pentru cazul n care are nevoie s contacteze din nou
aceeai main n scurt timp. Data viitoare va gsi local corespondentul adresei, evitndu-se astfel
necesitatea unei a doua difuzri. n multe cazuri, gazda 2 trebuie s trimit napoi un rspuns, ceea
ce o foreaz s execute ARP, pentru a determina adresa Ethernet a expeditorului. Aceast difuzare
ARP poate fi evitat oblignd gazda 1 s includ n pachetul ARP corespondena dintre adresa sa IP
i adresa Ethernet. Cnd pachetul ARP ajunge la gazda 2, perechea (192.31.65.7, El) este
memorat local de ARP pentru o folosire ulterioar. De fapt, toate mainile din reeaua Ethernet
pot memora aceast relaie n memoria ARP local.
392
NIVELUL REEA
CAP. 5
SEC. 5.5
393
Soluia este folosirea RARP-ului (Reverse Address Resolution Protocol - Protocol de rezoluie
invers a adresei) (definit n RFC 903). Acest protocol permite unei staii de lucru de-abia pornit s
difuzeze adresa sa Ethernet i s spun:,Adresa mea Ethernet de 48 de bii este14.04.05il8.01.25.
tie cineva adresa mea IP?" Serverul RARP vede aceast cerere, caut adresa Ethernet n fiierele
sale de configurare i trimite napoi adresa IP corespunztoare.
Folosirea RARP este mai bun dect introducerea unei adrese IP n imaginea de memorie,
pentru c permite ca aceeai imagine s fie folosit de toate mainile. Dac adresa IP ar fi fixat
nuntrul imaginii, atunci fiecare staie de lucru ar necesita imaginea sa proprie.
Un dezavantaj al RARP este c, pentru a ajunge la serverul RARP, folosete o adres destinaie
numai din l-uri (difuzare limitat). Cu toate acestea, asemenea difuzri nu sunt propagate de rutere,
asa nct este necesar un server RARP n fiecare reea. Pentru a rezolva aceast problem, a fost
inventat un protocol alternativ de pornire, numit BOOTP (vezi RFC-urile 951,1048 i 1084). Spre
deosebire de RARP, acesta folosete mesaje UDP, care sunt propagate prin rutere. De asemenea
furnizeaz unei staii de lucru fr disc informaii suplimentare, care includ adresa IP a serverului de
fiiere care deine imaginea de memorie, adresa IP a ruterului implicit i masca de subreea care se
folosete. BOOTP-ul este descris n RFC 951.
5.5.5 Protocolul de dirijare folosit de porile interioare: OSPF
Aa cum am menionat anterior, Internet-ul este construit dintr-un numr mare de sisteme
autonome. Fiecare AS este administrat de o organizaie diferit i poate folosi propriul
algoritm de dirijare n interior. De exemplu, reelele interne ale companiilor X, Y i Z ar fi
vzute ca trei AS-uri dac toate ar fi n Internet. Toate trei pot folosi intern algoritmi de
dirijare diferii. Cu toate acestea, existena standardelor, chiar i pentru dirijarea intern,
simplific implementarea la graniele dintre AS-uri i permite reutilizarea codului. n aceast
seciune vom studia dirijarea n cadrul unui AS. n urmtoarea, vom examina dirijarea ntre
AS-uri. Un algoritm de dirijare n interiorul unui AS este numit protocol de pori interioare;
un algoritm de dirijare' utilizat ntre AS-uri este numit protocol de pori exterioare.
Protocolul de pori interioare iniial n Internet a fost un protocol de dirijare pe baza vectorilor
distan (RIP) bazat pe algoritmul Bellman-Ford. El funciona bine n sisteme mici, dar mai puin
bine pe msur ce AS-urile se mresc. El suferea de asemenea de problema numr-la-infinit i de o
convergen slab n general, aa c a fost nlocuit n mai 1979 de un protocol bazat pe starea
legturilor. n 1988, Internet Engineering Task Force a nceput lucrul la un succesor. Acel succesor,
numit OSPF (Open Shortest Path First - protocol public (deschis) bazat pe calea cea mai scurt) a
devenit un standard n 1990. Muli productori de rutere ofer suport pentru el i va deveni
principalul protocol de pori interioare n viitorul apropiat. n cele ce urmeaz vom face o schi a
funcionrii OSPF. Pentru ntreaga poveste, vedei RFC 1247.
Dat fiind lunga experien cu alte protocoale de dirijare, grupul care a proiectat noul protocol a
avut o list lung de cerine care trebuia satisfcute. Mai nti, algoritmul trebuia publicat n
literatura public (open), de unde provine O" din OSPF. O soluie n proprietatea unei companii
nu era un candidat. n al doilea rnd, noul protocol trebuia s suporte o varietate de metrici de
distan, incluznd distana fizic, ntrzierea .a.m.d. n al treilea rnd, el trebuia s fie un algoritm
dinamic, care s se adapteze automat i repede la schimbrile n topologie.
3<M
NIVELULREEA
CAP. 5
n al patrulea rnd i nou pentru OSPF, trebuia s suporte dirijarea bazat pe tipul de serviciu,
Noul protocol trebuia s fie capabil s dirijeze traficul de timp real ntr-un mod, iar alt tip de trafic n
alt mod. Protocolul IP are cmpul Tip serviciu, dar nici un protocol de dirijare nu-1 folosea.
n al cincilea rnd i n legtur cu cele de mai sus, noul protocol trebuia s fac echilibrarea
ncrcrii, diviznd ncrcarea pe mai multe linii. Multe protocoale precedente trimit toate pachetele
pe cea mai bun cale. Calea de pe locul doi nu era folosit de loc. n cele mai multe cazuri, divizarea
ncrcrii pe mai multe linii duce la performane mai bune.
n al aselea rnd, era necesar suportul pentru sisteme ierarhice. Pn n 1988, Internet a crescut
att de mult, nct nu se poate atepta ca un ruter s cunoasc ntreaga topologie. Noul protocol de
dirijare trebuia s fie proiectat astfel, nct nici un ruter s nu fie nevoit s cunoasc toat topologia.
n al aptelea rnd, se cerea un minim de msuri de securitate, pentru a evita ca studenii iubitori
de distracii s pcleasc ruterele trimindu-le informaii de dirijare false. n fine, a fost necesar
luarea de msuri pentru a trata ruterele care au fost conectate la Internet printr-un tunel.
Protocoalele precedente nu tratau bine acest caz.
OSPF suport trei tipuri de conexiuni i reele:
1. Linii punct-la-punct ntre exact dou rutere.
2. Reele multiacces cu difuzare (de exemplu, cele mai multe LAN-uri).
3. Reele multiacces fr difuzare (de exemplu, cele mai multe WAN-uri cu comutare de
pachete).
O reea multiacces este o reea care poate s conin mai multe rutere, fiecare dintre ele putnd
comunica direct cu toate celelalte. Toate LAN-urile i WAN-urile au aceast proprietate.
Fig. 5-52(a) arat un AS care conine toate cele trei tipuri de reele. Observai c gazdele, n general,
nu joac un rol n OSPF.
OSPF funcioneaz prin abstractizarea coleciei de reele, rutere i linii reale ntr-un graf orientat
n care fiecare arc are atribuit un cost (distan, ntrziere etc). Apoi calculeaz cea mai scurt cale
bazndu-se pe ponderile arcelor. O conexiune serial ntre dou rutere este reprezentat de o
pereche de arce, cte unul n fiecare direcie. Ponderile lor pot fi diferite. O reea multiacces este
reprezentat de un nod pentru reeaua nsi plus un nod pentru fiecare ruter. Arcele de la nodul
reea la rutere au pondere 0 i sunt omise din graf.
Fig. 5-52(b) prezint graful pentru reeaua din Fig. 5-52(a). Fundamental, ceea ce face OSPF
este s reprezinte reeaua real ca un graf ca acesta i apoi s calculeze cea mai scurt cale de la
fiecare ruter la fiecare alt ruter.
Multe din AS-urile din Internet sunt foarte mari i nu sunt simplu de administrat. OSPF le
permite, s fie divizate n zone numerotate, unde o zon este o reea sau o mulime de reele
nvecinate. Zonele nu se suprapun i nu este necesar s fie exhaustive, n sensul c unele rutere pot
s nu aparin nici unei zone. O zon este o generalizare a unei subretele. n afara zonei, topologia i
detaliile sale nu sunt vizibile.
Orice AS are o zon de coloan vertebral, numit zona 0. Toate zonele sunt conectate la
coloana vertebral, eventual prin tunele, astfel nct este posibil s se ajung din orice zon din
AS n orice alt zon din AS prin intermediul coloanei vertebrale. Un tunel este reprezentat n
graf ca un arc i are un cost. Fiecare ruter care este conectat la dou sau mai multe zone
r
fc
SEC5i
395
ine coloanei vertebrale. Analog cu celelalte zone, topologia coloanei vertebrale nu este
rizibil din afara coloanei vertebrale.
WAN1
LAN1
LAN 2
(a)
WAN3
(b)
Fig. 5-52. (a) Un sistem autonom, (b) O reprezentare de tip graf a lui (a).
n interiorul zonei, fiecare ruter are aceeai baz de date pentru starea legturilor i
folosete acelai algoritm de cea mai scurt cale. Principala sa sarcin este s calculeze cea mai
scurt cale de la sine la fiecare alt ruter din zon, incluznd rutenii care este conectat la
coloana vertebral, din care trebuie s existe cel puin unul. Un ruter care conecteaz dou
zone are nevoie de bazele de date pentru ambele zone i trebuie s foloseasc algoritmul de
cale ct mai scurt separat pentru fiecare zona.
Modul n care OSPF trateaz dirijarea dupltipul de serviciu este utilizarea mai multor grafuri,
unul etichetat cu costurile pentru cazul n care metrica este ntrzierea, unul etichetat cu costurile n
cazul n care metrica este productivitatea i umil'etichetat cu costurile n cazul n care metrica este
sigurana. Dei aceasta tripleaz calculul necesar, el permite ci separate pentru optimizarea
n timpul operrii normale pot fi necesare trei tipuri de ci: intrazonale, interzonale i
interAS-uri. Rutele intrazonale sunt cele mai uoare, din moment ce ruterul surs tie
396
NIVELUL REEA
CAP. 5
ntotdeauna calea cea mai scurt spre rutenii destinaie. Dirijarea interzonal se desfoar
ntotdeauna n trei pai: drum de la surs la coloana vertebral; drum de-a lungul coloanei
vertebrale pn la zona destinaie; drum la destinaie. Acest algoritm foreaz o configuraie
de tip stea pentru OSPF, coloana vertebral fiind concentratorul (hub), iar celelalte zone fiind
spiele. Pachetele sunt dirijate de la surs la destinaie ca atare". Ele nu sunt ncapsulate sau
trecute prin tunel, cu excepia cazului n care merg spre o zon a crei unic conexiune la
coloana vertebral este un tunel. Fig. 5-53 arat o parte a Internet-ului cu AS-uri i zone.
AS1
Coloan vertebral
AS 2
Ruter de
coloan
vertebral
Zon
Protocolul EGP
conecteaz AS-urile
Ruter de
la grania
zonei
Este permis ca aceste clase s se suprapun. De exemplu, toate ruterele de grani fac parte n
mod automat din coloana vertebral. n plus, un ruter care este n coloana vertebral, dar nu face
parte din orice alt zon este de asemenea un ruter intern. Exemple din toate cele patru clase de
rutere sunt ilustrate n Fig. 5-53.
397
ferind un mter pornete, trimite mesajefELLO pe- toate liniile sale puact-la-punct i
mite multiplu (multicast) n LAN-urile grupului compus din toate celelalte rutere. n
^ | N - u r i , are nevoie de anumite informaii de configuraie, pentru a ti pe cine s contacteze,
aja^spunsurij fiecare ruter afl care sunt vecinii si.
' QSPF funcioneaz prin schimb de informaii ntre rutere adiacente, care nu este acelai
fecru. eu schimbul de informaii ntre ruterele vecine. n particular, este ineficient ca fiecare
juter dintr-un LAN s discute cu fiecare alt ruter din LAN. Pentru a evita aceast situaie, un
ruter este ales ca ruter desemnat. Se spune c el este adiacent cu toate celelalte rutere i
schimb informaii cu ele. Ruterele vecine care nu sunt adiacente nu schimb informaii ntre
ele. De asemenea, este actualizat n permanen i un ruter desemnat de rezerv pentru a
uura tranziia dac ruterul desemnat primar se defecteaz.
n timpul funcionrii normale, fiecare ruter inund periodic cu mesaje ACTUALIZARE
STARE LEGTUR (Link State Update) fiecare ruter adiacent. Acest mesaj indic starea sa
si furnizeaz costurile folosite n baza de date topologic. Mesajele de inundare sunt
confirmate pentru a le face sigure. Fiecare mesaj are un numr de secven, astfel nct un
ruter poate vedea dac un mesaj ACTUALIZARE STARE LEGTUR este mai vechi sau
mai nou dect ceea ce are deja. De asemenea, ruterele trimit aceste mesaje cnd o linie cade
sau i revine sau cnd costul acesteia se modific.
Mesajele DESCRIERE BAZA DE DATE (Database Description) dau numerele de secven
pentru toate intrrile de stare a liniei deinute actual de emitor. Prin compararea valorilor proprii
cu acelea ale emitorului, receptorul poate determina cine are cea mai recent valoare. Aceste
mesaje sunt folosite cnd o linie este refcut.
Fiecare partener poate cere informaii de stare a legturii de la cellalt folosind mesaje
CERERE STARE LEGTUR (Link State Request). Rezultatul concret al acestui algoritm este
c fiecare pereche de rutere adiacente verific s vad cine are cele mai recente date i astfel, noua
informaie este rspndit n zon. Toate aceste mesaje sunt trimise ca simple pachete IP. Cele cinci
tipuri de mesaje sunt rezumate n Fig. 5-54.
Tip mesaj
Hello
Actualizare Stare Legtur
Confirmare Stare Legtur
Descriere Baz de Date
Cerere Stare Legtur
Descriere
Folosit pentru descoperirea vecinilor
Emitorul furnizeaz vecinilor si costurile sale
Confirm actualizarea strii legturii
Anun ce actualizri are emitorul
Cere informaii de la partener
398
NIVELUL REEA
CAP. 5
Politicile sunt configurate manual n fiecare ruter BGP. Ele nu sunt parte a protocolului nsui.
Din punctul de vedere al unui ruter BGP, lumea const din alte rutere BGP i liniile care le
conecteaz. Dou rutere BGP sunt considerate conectate dac ele partajeaz o reea comun. Dat
fiind interesul special al BGP-ului pentru traficul n tranzit, reelele sunt grupate n trei categorii.
Prima categorie este cea a reelelor ciot (stub networks), care au doar o conexiune la graful BGP.
Acestea nu pot fi folosite pentru traficul n tranzit pentru c nu este nimeni la captul cellalt. Apoi
vin reelele multiconectate. Acestea pot fi folosite pentru traficul n tranzit, cu excepia a ceea ce ele
refuz. n final, sunt reele de tranzit, cum ar fi coloanele vertebrale, care sunt doritoare s
manevreze pachetele altora, eventual cu unele restricii.
Perechile de rutere BGP comunic ntre ele stabilind conexiuni TCP. Operarea n acest mod
ofer comunicaie sigur i ascunde toate detaliile reelelor traversate.
BGP este la baz un protocol bazat pe vectori distan, dar destul de diferit de majoritatea
celorlalte cum ar fi RIP. n loc s menin doar costul pn la fiecare destinaie, fiecare ruter
BGP memoreaz calea exact folosit. Similar, n loc s trimit periodic fiecrui vecin costul
su estimat ctre fiecare destinaie posibil, fiecare ruter BGP comunic vecinilor calea exact
pe care o folosete.
SEC 55
399
Ca exemplu, s considerm raterele BGP din Fig, 5-55(a), n particular, s considerm tabela de
dirijare a lui F. S presupunem c el folosete calea FGCD pentru a ajunge la D. Cnd vecinii i dau
informaiile de dirijare, ei ofer cile lor complete, ca n Fig. 5-55(b) (pentru simplitate, este artat
doar destinaia >).
(a)
(b)
Fig. 5-55. (a) O mulime de rutere BGP. (b) Informaia trimis lui F.
Dup ce sosesc toate cile de la vecini, F le examineaz pentru a vedea care este cea mai bun. El
elimin imediat cile de la / i E, din moment ce aceste ci trec chiar prin F. Alegerea este apoi ntre
B i G. Fiecare ruter BGP conine un modul care examineaz cile ctre o destinaie dat i le
atribuie scoruri, ntorcnd, pentru fiecare cale, o valoare pentru distana" ctre acea destinaie.
Orice cale care violeaz o constrngere politic primete automat un scor infinit. Apoi, rutenii
adopt calea cu cea mai scurt distan. Funcia de acordare a scorurilor nu este parte a protocolului
BGP i poate fi orice funcie doresc administratorii de sistem.
BGP rezolv uor problema numr-la-infinit care chinuie ali algoritmi bazai pe vectori
distan. De exemplu, s presupunem c G se defecteaz sau c linia FG cade. Atunci F primete ci
de la ceilali trei vecini rmai/Aceste rute sunt BCD, IFGCD i EFGCD. El poate observa imediat
c ultimele dou ci sunt inutile, din moment ce trec chiar prin F, aa c alege FBCD ca noua sa cale.
Ali algoritmi bazai pe vectori distan fac de multe ori alegerea greit, pentru c ei nu pot spune
care din vecinii lor au ci independente ctre destinaie i care nu. Definirea curent a BGP-ului este
n RFC 1654. Informaii suplimentare utile pot fi gsite n RFC 1268.
5.5.7
Comunicaia IP normal este ntre un emitor i un receptor. Cu toate acestea, pentru unele
aplicaii, este util ca un proces s fie capabil s trimit simultan unui numr mare de receptori.
Exemple sunt actualizarea bazelor de date distribuite multiplicate, transmiterea cotrilor de la burs
mai multor ageni de burs, manevrarea convorbirilor telefonice de tipul conferinelor digitale (de
exemplu, cu mai multe pri).
IP-ul suport trimiterea multipl (multicast), folosind adrese de clas D. Fiecare adres de clas
D identific un grup de gazde. Pentru identificarea grupurilor sunt disponibili douzeci i opt de bii,
aa nct pot exista n acelai moment peste 250 milioane de grupuri. Cnd un proces trimite un
400
NIVELUL REEA
CAP. 5
pachet unei adrese de clas D, se face cea mai bun ncercare pentru a-1 livra tuturor membrilor
grupului adresat, dar nu sunt date garanii. Unii membri pot s nu primeasc pachetul.
Sunt suportate dou tipuri de adrese de grup: adrese permanente i adrese temporare. Un grup
permanent exist ntotdeauna i nu trebuie configurat. Fiecare grup permanent are o adres de grup
permanent. Cteva exemple de adrese de grup permanente sunt
224.0.0.1 Toate sistemele dintr-un LAN.
224.0.0.2 Toate ruterele dintr-un LAN.
224.0.0.5 Toate ruterele OSPF dintr-un LAN.
224.0.0.6 Toate ruterele desemnate dintr-un LAN.
Grupurile temporare trebuie create nainte de a fi utilizate. Un proces poate cere gazdei sale s
intre ntr-un anume grup. De asemenea, el poate cere gazdei sale s prseasc grupul. Cnd ultimul
proces prsete un grup, acel grup nu mai este prezent pe calculatorul su gazd. Fiecare gazd
memoreaz cror grupuri aparin la un moment dat procesele sale.
Trimiterea multipl este implementat de rutere speciale de trimitere multipl, care pot
sau nu coabita cu ruterele standard. Cam o dat pe minut, fiecare ruter de trimitere multipl
face o trimitere multipl hardware (de exemplu, la nivel legtur de date) pentru gazdele din
LAN-ul su (adresa 224.0.0.1), cerndu-le s raporteze cror grupuri aparin procesele lor la
momentul respectiv. Fiecare gazd trimite napoi rspunsuri pentru toate adresele de clas D
de care este interesat.
Aceste pachete de ntrebare i rspuns folosesc un protocol numit IGMP (Internet Group
Management Protocol - Protocol de gestiune a grupurilor Internet), care se aseamn ntructva cu
ICMP. El are numai dou tipuri de pachete: ntrebare i rspuns, fiecare cu un format fix, simplu,
care conine unele informaii de control n primul cuvnt al cmpului informaie util i o adres de
clas D n al doilea cuvnt. El este descris n RFC 1112.
Dirijarea cu trimitere multipl este realizat folosind arbori de acoperire. Fiecare ruter de
dirijare multipl schimb informaii cu vecinii si, folosind un protocol modificat bazat pe vectori
distan cu scopul ca fiecare s construiasc pentru fiecare grup un arbore de acoperire care s
acopere toi membrii grupului. Pentru a elimina ruterele i reelele neinteresate de anumite grupuri,
se utilizeaz diverse optimizri de reducere a arborelui. Pentru evitarea deranjrii nodurilor care nu
fac parte din arborele de acoperire, protocolul folosete intensiv trecerea prin tunel.
5.5.8 IP mobil
Muli utilizatori ai Internet-ului au calculatoare portabile i vor s rmn conectai la
Internet atunci cnd viziteaz un sit Internet aflat la distan, chiar i pe drumul dintre cele
dou. Din nefericire, sistemul de adresare IP face lucrul la deprtare de cas mai uor de zis
dect de fcut. n aceast seciune vom examina problema i soluia. O descriere mai detaliat
este dat n (Johnson, 1995).
Problema apare chiar n schema de adresare. Fiecare adres IP conine trei cmpuri: clasa,
numrul de reea i numrul de gazd. De exemplu, s considerm maina cu adresa IP
160.80.40.20. Partea 160.80 indic clasa (B) i numrul de reea (8272); partea 40.20 este numrul de
gazd (10260). Ruterele din toat lumea au tabele de dirijare care spun ce linie se folosete pentru a
>
401
Fiecare gazda mobil trebuie sa fie capabil sa foloseasc adresa sa IP de baza oriunde.
Nu au fost permise schimbri de programe pentru gazdele fixe.
Nu au fost permise schimbri pentru programele sau tabelele ruterelor.
Cele mai multe pachete pentru gazdele mobile nu ar trebui s fac abateri pe drum.
Nu trebuie s apar nici o suprasolicitare cnd o gazd mobil este acas.
Soluia aleas este cea descris n seciunea 5.2.8. Pentru a o recapitula pe scurt, fiecare sit care
dorete s permit utilizatorilor si s se deplaseze trebuie s asigure un agent local. Fiecare sit care
dorete s permit accesul vizitatorilor trebuie s creeze un agent pentru strini. Cnd o gazd
mobil apare ntr-un sit strin, ea contacteaz gazda strin de acolo i se nregistreaz. Gazda
strin contacteaz apoi agentul local al utilizatorului i i d o adres a intermediarului, n mod
normal adresa IP proprie a agentului pentru strini.
Cnd un pachet ajunge n LAN-ul de domiciliu al utilizatorului, el vine la un ruter ataat la
LAN. Apoi ruterul ncearc s localizeze gazda n mod uzual, prin difuzarea unui pachet ARP
ntrebnd, de exemplu: Care este adresa Ethernet a lui 160.80.40.20?" Agentul local rspunde
la aceast ntrebare dnd propria adres Ethernet. Apoi ruterul trimite pachetele pentru
160.80.40.20 la agentul local. El, n schimb, le trimite prin tunel la adresa intermediarului prin
ncapsularea lor n cmpul informaie util al unui pachet IP adresat agentului pentru strini.
Dup aceasta, agentul pentru strini le desface i le livreaz la adresa de nivel legtur de date
a gazdei mobile. n plus, agentul de cas d emitorului adresa intermediarului, aa nct
viitoarele pachete pot fi trimise prin tunel direct la agentul pentru strini. Aceast soluie
rspunde tuturor cerinelor expuse mai sus.
;
Probabil c merit menionat un mic amnunt. n momentul n care gazda mobil se mut,
probabil c ruterul are adresa ei Ethernet (care n curnd va fi invalid) memorat n memoria
ascuns. Pentru a nlocui aceast adres Ethernet cu cea a agentului local, se folosete un truc numit
ARP gratuit. Acesta este un mesaj special, nesolicitat, ctre ruter pe care l determin s schimbe o
anumit intrare din memoria ascuns, n acest caz cea a gazdei mobile care urmeaz s plece. Cnd,
mai trziu, gazda mobil se ntoarce, este folosit acelai truc pentru a actualiza din nou memoria
ascuns a ruterului.
402
NIVELUL REEA
CAP. 5
Nu exist,nimic n proieet care s mpiedice o gazd mobil s fie propriul su agent pentru 1
strini, dar aceast abordare funcioneaz numai dac gazda mobil (n postura sa de agent pentru
strini) este conectat logic n Internet la situl su curent. De asemenea, ea trebuie s fie capabil s
obin pentru folosire o adres (temporar) de intermediar. Acea adres IP trebuie s aparin
LAN-ului n care este ataat n mod curent.
Soluia IETF pentru gazde mobile rezolv un numr de alte probleme care nu au fost
menionate pn acum. De exemplu, cum sunt localizai agenii? Soluia este ca fiecare agent s-i
difuzeze periodic adresa i tipul de serviciu pe care dorete s-1 ofere (de exemplu, agent local,
pentru strini sau amndou). Cnd o gazd mobil ajunge undeva, ea poate asculta ateptnd
aceste difuzri, numite anunuri. Ca o alternativ, ea poate difuza un pachet prin care i anun
sosirea i s spere c agentul pentru strini local i va rspunde.
O alt problem care trebuie rezolvat este cum s se trateze gazdele mobile nepoliticoase,
care pleac fr s spun la revedere. Soluia este ca nregistrarea s fie valabil doar pentru
un interval de timp fixat. Dac nu este remprosptat periodic, ea expir i ca urmare gazda
strin poate s-i curee tabelele.
O alt problem este securitatea. Cnd un agent local primete un mesaj care-i cere s fie
amabil s retrimit toate pachetele Norei la o anume adres IP, ar fi mai bine s nu se supun
dect dac este convins c Nora este sursa acestei cereri i nu altcineva ncercnd s se dea
drept ea. Pentru acest scop sunt folosite protocoale criptografice de autentificare. Vom studia
asemenea protocoale n Cap. 7.
Un punct final adresat de Grupul de Lucru se refer la nivelurile de mobilitate. S ne imaginm
un avion cu o reea Ethernet la bord folosit de ctre calculatoarele de navigare i de bord. n
aceast reea Ethernet exist un ruter standard, care discut cu Internet-ul cablat de la sol printr-o
legtur radio. ntr-o bun zi, unui director de marketing iste i vine ideea s instaleze conectoare
Ethernet n toate braele fotoliilor, astfel nct i pasagerii cu gazde mobile s se poat conecta.
Acum avem dou niveluri de mobilitate: calculatoarele proprii ale aeronavei, care sunt staionare
n raport cu reeaua Ethernet i calculatoarele pasagerilor, care sunt mobile n raport cu ea. n plus,
rutenii de la bord este mobil n raport cu ruterele de la sol. Mobilitatea n raport cu un sistem care
este la rndul su mobil este tratat folosind recursiv tunele.
5.5.9 CIDR - Dirijarea fr clase ntre domenii
IP este folosit intens de peste o decad. A funcionat extrem de bine, aa cum a fost
demonstrat de creterea exponenial a Internet-ului. Din nefericire, IP devine rapid o victim
a propriei populariti: i epuizeaz adresele. Acest dezastru fantomatic a generat foarte
multe discuii si controverse n cadrul comunitii Internet referitor la cum s fie tratat. n
aceast seciune vom descrie att problema ct i cteva soluii propuse. O descriere mai
complet este dat n (Huitema, 1996).
Prin 1987, civa vizionari au prezis c ntr-o zi Internet-ul poate crete pn la 100.000 de reele.
Cei mai muli experi s-au exprimat cu dispre c aceasta va fi peste decenii, dac va fi vreodat. Cea
de-a 100.000-a reea a fost conectat n 1996. Problema, expus simplu, este c Internet-ul i
epuizeaz rapid adresele IP. n principiu, exist peste 2 miliarde de adrese, dar practica organizrii
spaiului de adrese n clase (vezi Fig. 5-47) irosete milioane din acestea. n particular, necazul este
dat de reelele de clas B. Pentru cele mai multe organizaii, o adres de clas A, cu 16 milioane de
SEC. 55
403
adrese este prea mare, iar o reea de clas C, cu 256 de adrese, este prea mic. O reea de clas B, cu
65.536 adrese, este numai bun. n folclorul Internet, aceast situaie este cunoscut ca problema
celor trei uri (ca din Goldilocks and the ThreeBears).
n realitate, o adres de clas B este pe departe prea mare pentru cele mai multe
organizaii. Studii au artat c mai mult de jumtate din toate reelele de clas B au mai puin
de 50 de gazde. O reea de clas C ar fi fost suficient, dar fr ndoial c fiecare organizaie
care a cerut o adres de clas B a crezut c ntr-o zi ar putea depi cmpul gazd de 8 bii.
privind retrospectiv, ar fi fost mai bine s fi avut reele de clas C care s foloseasc 10 bii n
loc de opt pentru numrul de gazd, permind 1022 gazde pentru o reea. n acest caz, cele
mai multe organizaii s-ar fi decis, probabil, pentru o reea de clas C i ar fi existat jumtate
de milion dintre acestea (comparativ cu doar 16.384 reele de clas B).
Cu toate acestea, atunci ar fi aprut mult mai rapid o alt problem: explozia tabelelor de
dirijare. Din punctul de vedere al ruterelor, spaiul de adrese IP este o ierarhie pe dou
niveluri, cu numere de reea i numere de gazde. Ruterele nu trebuie s tie despre toate
gazdele, dar ele trebuie s tie despre toate reelele. Dac ar fi fost n folosin jumtate de
milion de reele de clas C, fiecare ruter din ntregul Internet ar fi necesitat o tabel cu o
jumtate de milion de intrri, una pentru fiecare reea, spunnd care linie se folosete pentru a
ajunge la respectiva reea, mpreun cu alte informaii.
Stocarea fizic efectiv a tabelelor cu jumtate de milion de intrri este probabil realizabil, dei
costisitoare pentru ruterele critice care trebuie s menin tabelele n RAM static pe plcile I/O. O
problem mai serioas este reprezentat de creterea complexitii diferiilor algoritmi referitori la
gestiunea tabelelor, care este mai rapid dect liniar. i mai ru, o mare parte din programele i
firmware-ul ruterelor existente a fost proiectat pe vremea cnd Internet-ul avea 1000 de reele
conectate i 10.000 de reele preau la deprtare de decenii. Deciziile de proiectare fcute atunci
sunt departe de a fi optime acum.
n plus, difejitijdgojitmi de dirijare necesit ca fiecare ruter s transmit tabelele sale
geriodic. Cu ct tabelele sunf mai mari, cu att este mai probabil ca anumite pri s se piard
pe drum, ducnd la date incomplete la cellalt capt i, posibil, la instabiliti de dirijare.
Problema tabelelor de dirijare ar.fi putut fi rezolvat prinadoparea unei ierarhii mai adnci. De
exemplu, ar fi mers dac s-ar fi impus ca fiecare adres s conin un cmp ar, jude, ora, reea i
gazd. Atunci fiecare ruter ar fi trebuit s tie doar cum s ajung la fiecare ar, la judeele i
provinciile din ara sa, oraele din statul su i reelele din oraul su. Din nefericire, aceast soluie
ar necesita mai mult de 32 de bii pentru adrese IP i ar folosi adresele ineficient (Liechtenstein ar fi
avut tot atia bii ca Statele Unite).
Pe scurt, cele mai multe soluii rezolv o problem, dar creeaz o alta. C soluie care se
implementeaz acum i care va da Internet-ului un pic de spaiu de manevr este CIDR (Classless
InterDomain Routing - Dirijarea fr clase ntre domenii). Ideea de la baza CIDR, care este descris
n RFC 1519, este de a aloca reelele de clas C care au mai rmas, care sunt aproape dou
milioane, n blocuri de dimensiune variabil. Dac un sit are nevoie, s zicem, de 2000 de adrese, i
este dat un bloc de 2048 adrese (opt reele de clas C contigue) i nu o adres plin de clas B.
Similar, un sit ce necesit 8000 de adrese primete 8192 adrese (32 de reele de clas C contigue).
n afar de folosirea blocurilor de reele de clas C contigue ca uniti, n RFC 1519 au fost
schimbate i regulile de alocare pentru adresele de clas C. Lumea a fost mprit n patru zone i
fiecreia i-a fost dat o poriune din spaiul de adrese de clas C. Alocarea a fost urmtoarea:
404
NIVELUL REEA
CAP.5
Masc
111111111111111111111000 00000000
111111111111111111110000 00000000
111111111111111111111100 00000000
S considerm acum ce se ntmpl cnd sosete un pachet adresat pentru 194.24.17.4, care n
binar este:
11000010 00011000 0001000100000100
Mai nti, adresa este nmulit logic cu masca de la Cambridge pentru a obine:
11000010000110000001000000000000
55
405
5.5.10 IPv6
n timp ce CIDR mai poate ctiga civa ani, toat lumea i d seama c zilele IP-ului n forma
curent (IPv4) sunt numrate. n plus fa de aceste probleme tehnice, exist un alt aspect ntrezrit
n fundal. Pn acum ctva timp, Internet-ul a fost folosit n mare msur de universiti, industria
de vrf i de guvernul Statelor Unite (n mod special de Departamentul Aprrii). O dat cu
explozia interesului fa de Internet ce a nceput la mijlocul anilor 1990, probabil c n urmtorul
mileniu el va fi folosit de un grup de persoane mult mai larg, n mod special oameni cu diferite
cerine. Un motiv ar fi c milioane de persoane cu portabile ce comunic fr fir l pot folosi pentru
a pstra contactul cu bazele lor. Un alt motiv este c o dat cu iminenta convergen a industriilor
calculatoarelor, comunicaiilor i a distraciilor, s-ar putea s nu mai fie mult pn cnd fiecare
televizor din lume va fi un nod Internet, producnd un miliard de maini folosite pentru video la
cerere. n aceste condiii, a devenit clar c IP-ul trebuie s evolueze i s devin mai flexibil.
Observnd aceste probleme la orizont, IETF a nceput s lucreze n 1990 la o nou versiune de
IP, una care s nu i epuizeze niciodat adresele, s rezolve o gam larg de alte probleme i s fie
totodat mai flexibil i mai eficient. Obiectivele majore au fost:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Pentru a gsi un protocol care s ndeplineasc toate aceste cerine, IETF a emis o cerere de
propuneri i discuii n RFC 1550. Au fost primite douzeci i unu de rspunsuri, nu toate din ele
propuneri complete. Pn n decembrie 1992, au ajuns pe masa discuiilor apte propuneri diferite.
406
NIVELUL REEA
CAP.Sj
sec.55
407
vor fi capabile s examineze acest cmp pentru a spune ce tip de pachet analizeaz. Ca un efect
lateral, acest test irosete cteva instruciuni pe drumul critic, aa nct multe implementri vor
ncerca s-1 evite prin folosirea unui cmp din antetul legturii de date ca s diferenieze pachetele
IPv4 de pachetele IPv6. n acest mod, pachetele pot fi transmise direct rutinei de tratare de nivel
reea corecte. Cu toate acestea, necesitatea ca nivelul legtur de date s cunoasc tipurile
pachetelor nivelului reea contravine complet principiul de proiectare care spune c fiecare nivel nu
trebuie s cunoasc semnificaia biilor care i sunt dai de ctre nivelul de deasupra. Discuiile dintre
taberele F-o corect" i F-o repede" vor fi, fr ndoial, lungi i virulente.
32 de bii
I
Versiune Prioritate
Eticheta fluxului
Urmtorul antet
Limita de salturi
Adresa surs
(16 octei)
Adresa destinaie
(16 octei)
408
NIVELUL REEA
CAP. 5
transmisie rezervat. Fluxul poate fi stabilit n avans i poate primi un identificator. Cnd apare un
pachet cu o Etichet afluxului diferit de zero, toate ruterele pot s o caute n tabelele interne pentru
a vedea ce tip de tratament special necesit. Ca efect, fluxurile sunt o ncercare de a combina dou
moduri: flexibilitatea unei subretele de datagrame i garaniile unei subretele cu circuite virtuale.
Fiecare flux este desemnat de adresa surs, adresa destinaie i numrul de flux, aa nct, la
acelai moment, pot fi active mai multe fluxuri ntre o pereche dat de adrese IP. De asemenea, n
acest mod, chiar dac dou fluxuri venind de la gazde diferite, dar cu acelai numr de flux trec prin
acelai ruter, rutenii va fi capabil s le separe folosind adresele surs i destinaie. Se ateapt ca
numerele de flux s fie alese aleator, n loc de a fi atribuite secvenial ncepnd cu 1, pentru a fi mai
uor ruterelor s le foloseasc n tabele de dispersie.
Cmpul Lungimea infoimaiei utile spune ci octei urmeaz dup antetul de 40 de octei din Fig.
5-56. Numele a fost schimbat fa de cmpul Lungime total din IPv4 deoarece semnificaia este uor
modificat: cei 40 de octei nu mai sunt parte a lungimii aa cum erau nainte.
Cmpul Antetul wmtor d de gol proiectanii. Motivul pentru care antetul a putut fi
simplificat este c exist antete de extensie suplimentare (opionale). Acest cmp spune care
din cele ase antete (actuale) de extensie, dac exist vreunul, urmeaz dup cel curent. Dac
acest antet este ultimul antet IP, cmpul Antetul wmtor spune crui tip de protocol (de
exemplu TCP, UDP) i se va transmite pachetul.
Cmpul Limita salturilor este folosit pentru a mpiedica pachetele s triasc venic. El
este, n practic, identic cu cmpul Timp de via din IPv4, i anume un cmp care este
decrementat la fiecare salt dintr-o reea n alta. n teorie, n IPv4 era un timp n secunde, dar
nici un ruter nu-1 folosea n acest mod, aa nct numele a fost modificat pentru a reflecta
modul n care este de fapt folosit.
Apoi urmeaz cmpurile Adres surs i Adres destinaie. Propunerea original a lui Deering,
SIP, folosea adrese de 8 octei, dar n timpul procesului de evaluare, multe persoane au simit c
adresele de 8 octei s-ar putea epuiza n cteva decenii, n timp ce adresele de 16 octei nu s-ar
epuiza niciodat. Alte persoane au argumentat c 16 octei ar fi un exces, n timp ce alii ncurajau
folosirea adreselor de 20 de octei pentru a fi compatibile cu protocolul datagram OSI. O alt
grupare dorea adrese de dimensiune variabil. Dup multe discuii, s-a decis c adresele cu lungime
fix de 16 octei sunt cel mai bun compromis.
Spaiul de adrese IPv6 este mprit aa cum este indicat n Fig. 5-57. Adresele care ncep cu 80
de zerouri sunt rezervate pentru adresele IPv4. Sunt suportate dou variante, difereniabile prin
urmtorii 16 octei. Aceste variante se refer la modul n care pachetele IPv6 vor fi transmise prin
tunele prin infrastructura IPv4 existent.
Folosirea de prefixe separate pentru adresele bazate pe furnizor i pentru cele pe baz
geografic este un compromis ntre dou viziuni diferite asupra viitorului Internet-ului.
Adresele bazate pe furnizor au sens dac v gndii c n viitor vor exista un numr de
companii ce ofer servicii Internet pentru clieni, similare cu AT&T, MCI, Sprint, British
Telecom i aa mai departe, care acum ofer servicii telefonice. Fiecare din aceste companii va
primi o fraciune din spaiul de adrese. Primii 5 bii care urmeaz prefixului 010 sunt folosii
pentru a indica la care registratur s fie cutat furnizorul. Acum funcioneaz trei registraturi,
pentru America de Nord, Europa i Asia. Ulterior pot fi adugate pn la 29 de registraturi.
SEC. 5.5
Prefix (n binar)
0000 0000
0000 0001
0000 001
0000 010
0000 011
00001
0001
001
010
011
100
101
110
1110
11110
1.111 10
1111110
1111 11101
1111 111010
1111 111011
11111111
Folosire
Rezervate (incluznd IPv4)
Neatribuite
Adrese OSINSAP
Adrese IPX Novell Netware
Neatribuite
Neatribuite
Neatribuite
Neatribuite
Adrese bazate pe furnizor
Neatribuite
Adrese pe baz geografic
Neatribuite
Neatribuite
Neatribuite
Neatribuite
Neatribuite
Neatribuite
Neatribuite
Adrese de legturi de uz local
Adrese de sit de uz local
Trimitere multipl (multicast)
409
Fraciune
1/256
1/256
1/128
1/128
1/128
1/32
1/16
1/8
1/8
1/8
1/8
1/8
1/8
1/16
1/32
1/64
1/128
1/512
1/1024
1/1024
1/256
. NIVELUL REEA
CAP.5
destinaia este un grup d^..d^@sey~.datr,. JHQ Jtoc.s ..s^-.;.ncaRae livrarea pachetului la toate adresele, se"
ncearc livrarea la una singur, de obicei cea mai apropiat. De exemplu, un client care dorete s
contacteze un grup de servere de fiiere care coopereaz poate folosi trimiterea ctre oricine pentru
a ajunge la cel mai apropiat server fr s trebuiasc s tie care este acesta. Trimiterea ctre oricine
folosete adrese obinuite de trimitere unic. Se las la alegerea sistemului de dirijare care este
fericita gazd care primete pachetul.
Pentru scrierea adreselor de 16 octei a fost inventat o nou notaie. Ele sunt scrise ca opt
grupuri de cte patru cifre hexazecimale cu semnul: (dou puncte) ntre grupuri, astfel:
8000:0000:0000:0000:0123:4567:89AB:CDEF
Din moment ce multe adrese vor avea multe zerouri n interiorul lor, au fost autorizate trei
optimizri. Mai nti, zerourile de la nceputul unui grup pot fi omise, astfel nct 0123 poate fi scris
ca 123. n al doilea rnd, unul sau mai multe grupuri de 16 zerouri pot fi nlocuite de o pereche de
semne dou puncte (:). Astfel, adresa de mai sus devine acum
8000::123:4567:89AB:CDEF
n final, adresele IPv4 pot fi scrise ca o pereche de semne dou puncte i un numr zecimal n vechea
form cu punct, de exemplu
::192.31.20.46
Probabil c nu este necesar s fim att de explicii asupra acestui lucru, dar exist o mulime de
adrese de 16 octei. Mai exact, sunt 2 1 2 8 adrese, care reprezint aproximativ 3xlO38. Dac ntreaga
planet, pmnt i ap, ar fi acoperite cu calculatoare, IPv6 ar permite 7xl(P adrese IP pe metru
ptrat. Studenii de la chimie vor observa c acest numr este mai mare dect numrul lui Avogadro.
Dei nu a existat intenia de a da fiecrei molecule de pe suprafaa planetei adresa ei IP, nu suntem
chiar aa de departe de aceasta.
n practic, spaiul de adrese nu va fi folosit eficient, aa cum nu este folosit spaiul de adrese al
numerelor de telefon (prefixul pentru Manhattan, 212, este aproape plin, dar cel pentru Wyoming,
307, este aproape gol). n RFC 1715, Huitema a calculat c, folosind alocarea numerelor de telefon
ca referin, chiar i n cel mai pesimist scenariu, vor fi totui mult peste 1000 de adrese IP pe metru
ptrat de suprafa planetar (pmnt sau ap). n orice scenariu credibil, vor fi trilioane de adrese
pe metru ptrat. Pe scurt, pare improbabil c vom epuiza adresele n viitorul previzibil. De asemenea
merit menionat c doar 28 de procente din spaiul de adrese a fost alocat pn acum. Celelalte 72
de procente sunt disponibile pentru scopuri viitoare nc neimaginate.
Este instructiv s comparm antetul IPv4 (Fig. 5-45) cu antetul IPv6 (Fig. 5-56) pentru a vedea ce
a fost eliminat n IPv6. Cmpul IUL este pierdut pentru c antetul IPv6 are o lungime fix. Cmpul
Protocol a fost scos pentru c n cmpul Antetul urmtor se indic ce urmeaz dup ultimul antet IP
(de exemplu, un segment TCP sau UDP).
Toate cmpurile referitoare la fragmentare au fost eliminate, deoarece IPv6 are o abordare
diferit a fragmentrii. Pentru nceput, toate gazdele i ruterele care sunt conforme cu IPv6
trebuie s suporte pachete de 576 octei. Aceast regul face ca, de la nceput, fragmentarea s
fie mai puin probabil. In plus, cnd o gazd trimite un pachet IPv6 care este prea mare,
SEC. 5.5
411
rutenii, care este incapabil de a-1 retransmite trimite napoi un mesaj de eroare n loc s
fragmenteze pachetul. Acest mesaj de eroare i spune gazdei s sparg toate pachetele viitoare
ctre acea destinaie. Este mai eficient s se oblige gazdele s trimit pachete corecte
dimensional de la nceput dect s se fragmenteze din zbor pachetele la rutere.
n sfrit, cmpul Sum de control este eliminat deoarece calculul acesteia reduce mult
performanele. Datorit reelelor fiabile folosite acum, combinate cu faptul c nivelurile de legtur
de date i de transport au n mod normal propriile sume de control, valoarea a nc unei sume de
control nu merita preul de performan cerut. Eliminarea tuturor acestor caracteristici a avut ca
rezultat un protocol de nivel reea simplu i eficient. Astfel, obiectivul lui IPv6 - un protocol rapid,
dar flexibil, cu o bogie de spaiu de adrese - a fost atins prin acest proiect.
Antete de extensie
Fr ndoial, cteva din cmpurile care lipsesc sunt nc necesare ocazional, astfel nct IPv6 a
introdus conceptul de antet de extensie (opional). Aceste antete pot fi furnizate pentru a oferi
informaii suplimentare, dar codificate ntr-un mod eficient. n prezent sunt definite ase tipuri de
antete de extensie, prezentate n Fig. 5-58. Fiecare este opional, dar dac sunt prezente mai multe,
ele trebuie s apar imediat dup antetul fix i, preferabil, n ordinea prezentat.
Antet de extensie
Opiuni salt-dup-salt
Dirijare
Fragmentare
Autentificare
Informaie de siguran criptat
Opiuni destinaie
Descriere
194
NIVELUL REEA
412
CAP. 5
Antetul salt-dup-alt este folosit pentru informaii eare trebuie examinate de toate ruterele de
pe cale. Pii'acum a fost definita o opiune: suportul pentru datagrame ce depesc de 64K
Formatul acestui antet este prezentat n Fig. 5-59.
Ca i toate antetele de extensie, acesta ncepe cu un octet care spune ce tip de antet este
urmtorul. Acest octet este urmat de unul care spune ct de lung este antetul salt-dup-salt n
octei, excluznd primii 8 octei, care sunt obligatorii. Urmtorii 2 octei indic faptul c
aceast opiune definete dimensiunea datagramei (codul 194) ca un numr de 4 octei.
Ultimii 4 octei dau dimensiunea datagramei. Dimensiunile mai mici de 65.536 nu sunt
permise i au ca rezultat eliminarea pachetului de ctre primul ruter, care va trimite napoi un
mesaj ICMP de eroare. Datagramele care folosesc acest antet de extensie sunt numite
jumbograme. Folosirea jumbogramelor este important pentru aplicaiile supercalculatoarelor
care trebuie s transfere gigaoctei de date eficient prin intermediul Internet-ului.
Antetul de dirijare enumera unul sau mai multe rutere care trebuie s fie vizitate pe calea spre
destinaie. Att dirijarea strict (este furnizat ntreaga cale) ct i dirijarea aproximativ (sunt
furnizate doar anumite rutere) sunt disponibile, dar ele sunt combinate. Formatul antetului de
dirijare este prezentat n Fig. 5-60.
Antetul urmtor
tp
ntre 1 i 24 de adrese
tp
SEC. 5.5
413
Antetul de autentificare ofer un mecanism prin care receptorul unui mesaj-poate fi sigur de cel
care 1-a trimis. Prin IPv4 nu este prezent nici o astfel de garanie. Informaia util de siguran
criptat face posibil criptarea coninutului unui pachet, astfel nct doar receptorul cruia i este
destinat poate s-1 citeasc. Aceste antete folosesc tehnici criptografice pentru a-i realiza misiunea.
Vom da scurte descrieri mai jos, dar cititorii care nu sunt familiarizai cu criptografia modern s-ar
putea s nu neleag ntreaga descriere acum. Ei ar trebui s revin dup citirea Cap. 7 (n special
seciunea 7.1), care trateaz protocoale criptografice.
Cnd un emitor i un receptor doresc s comunice sigur, ei trebuie mai nti s fie de acord cu
una sau mai multe chei secrete pe care le tiu doar ei. Cum se descurc ei nu intr n scopul IPv6.
Fiecare din aceste chei are atribuit un numr unic de cheie de 32 de bii. Numerele de cheie sunt
globale, aa nct dac Alice folosete cheia 4 pentru a discuta cu Bob, ea nu poate avea o cheie 4
pentru a vorbi cu Carol. Cu fiecare numr de cheie sunt asociai i ali parametri, cum ar fi durata de
via a cheii i aa mai departe.
Pentru a trimite un mesaj autentificat, emitorul construiete mai nti un pachet care const din
toate antetele IP i informaia util i apoi nlocuiete cmpurile care se modific pe drum (de
exemplu Limita salturilor) cu zerouri. Pachetului i se adaug apoi zerouri de umplere pn la un
multiplu de 16 octei. n mod similar, cheii secrete folosite i se adaug zerouri de umplere pn la un
multiplu de 16 octei. Acum este calculat o sum criptografic de control peste concatenarea
realizat din cheia secret umplut, pachetul umplut i, din nou, cheia secret umpluta. Utilizatorii
pot defini propriul lor algoritm pentru suma criptografic de control, dar utilizatorii fr pretenii
criptografice ar trebui s foloseasc algoritmul implicit, MD5.
Acum am ajuns la rolul antetului de autentificare. n principal, el conine trei pri. Prima
parte const din 4 octei ce pstreaz numrul urmtorului antet, lungimea antetului de
autentificare i 16 bii zero. Apoi urmeaz numrul de cheie de 32 de bii. La final este inclus
suma de control MD5 (sau o alt sum).
Receptorul folosete atunci numrul de cheie pentru a afla cheia secret. Versiunea
umplut a cheii este pus n faa i n spatele informaiei utile, cmpurile variabile ale antetului
sunt fcute zero i se calculeaz suma de control. Dac aceasta corespunde cu suma de control
inclus n antetul de autentificare, receptorul poate fi sigur c pachetul vine de la emitorul
cu care este partajat cheia secret i, de asemenea, poate fi sigur c pachetul nu a fost
modificat pe drum. Proprietile lui MD5 face computaional nerealizabil ca un intrus s
falsifice identitatea emitorului sau s modifice pachetul ntr-un mod care s nu fie detectat.
Este important s notm c informaia util a unui pachet autentificat este, trimis
necriptat. Orice ruter de pe drum poate s-i citeasc coninutul. Pentru multe aplicaii,
secretizarea nu este important, ci doar autentificarea. De exemplu, dac un utilizator d
ordin unei bnci s-i plteasc nota telefonic, probabil c nu exist o nevoie real pentru
secretizare, dar exist o nevoie foarte real din partea bncii de a fi absolut sigur c tie cine a
trimis pachetul care conine ordinul de plat.
Pentru pachetele care trebuie s fie trimise n secret, este folosit antetul de extensie informaie
util de siguran criptat. El ncepe cu un numr de cheie de 32 de bii, urmat de informaia util
criptat. Algoritmul de criptare este la alegerea emitorului i receptorului, dar implicit se folosete
DES n modul de nlnuire a blocurilor de cifrare (DES-CBC). Cnd este folosit DES-CBC,
cmpul informaie util ncepe cu un vector de iniializare (un multiplu de 4 octei), apoi informaia
414
NIVELUL REEA
CAP. 5
util, apoi umplutura pn la un multiplu de 8 octei. Dac sunt dorite att criptarea ct i
autentificarea, sunt necesare ambele antete.
Antetul opiuni destinaie este introdus pentru cmpuri care trebuie s fie interpretate doar la
gazda destinaie. n versiunea iniial a IPv6, singurele opiuni definite sunt opiunile nule pentru
alinierea acestui antet la un multiplu de 8 octei, astfel nct nu va fi folosit iniial. El a fost inclus
pentru a asigura c noile programe de dirijare i ale gazdelor pot s-1 manevreze, n cazul n care
cineva se va gndi vreodat la o opiune destinaie.
Controverse
Dat fiind deschiderea procesului de proiectare i opiniile ferm susinute ale multora din
persoanele implicate, nu ar trebui s fie o surpriz c multe din deciziile fcute pentru IPv6 au fost
foarte controversate. Vom rezuma cteva dintre acestea n cele ce urmeaz. Pentru toate
amnuntele tioase, vezi (Huitema, 1996).
Am menionat deja disputa legat de lungimea adresei. Rezultatul a fost un compromis: adrese
de lungime fix de 16 octei.
O alt lupt s-a dezvoltat n jurul lungimii cmpului Limita salturilor. O tabr a simit c
limitarea numrului maxim de salturi la 255 (implicare a folosirii unui cmp de 8 bii) ar fi o
greeal grosolan. Pn la urm, ci de 32 de salturi sunt obinuite n zilele noastre, iar n 10
ani de acum, pot fi obinuite ci mult mai lungi. Aceste persoane au argumentat c folosirea
unui spaiu de adrese enorm a fost clarviziune, dar folosirea unui contor minuscul de salturi a
fost miopie. Dup prerea lor, cel mai mare pcat pe care l poate comite un informatician
este s ofere prea puini bii ntr-un loc.
Rspunsul a fost c argumente pot fi aduse pentru lrgirea fiecrui cmp, conducnd la un antet
umflat. De asemenea, funcia cmpului Limita salturilor este de a mpiedica hoinreala pachetelor
pentru un timp ndelungat i 65.536 de salturi este mult prea mult. n cele din urm, pe msur ce
Internet-ul crete, se vor construi din ce n ce mai multe legturi de mare distan, fcnd posibil
ajungerea dintr-o ar n alta n cel mult o jumtate de duzin de salturi. Dac este nevoie de mai
mult de 125 de salturi pentru a ajunge de la surs sau destinaie la porile lor internaionale, ceva
este n neregul cu coloanele vertebrale naionale. Adepii celor 8 bii au ctigat aceast lupt.
O alt problem spinoas a fost dimensiunea maxim a pachetului. Comunitatea
supercalculatoarelor a dorit pachete mai mari de 64 KB. Cnd un supercalculator ncepe s
transfere, aceasta este ntr-adevr lucru serios i nu dorete s fie ntrerupt dup fiecare 64KB.
Argumentul mpotriva pachetelor mari este c dac un pachet de 1 MB ajunge la o linie TI de 1.5
Mbps, acel pachet va monopoliza linia pentru mai mult de 5 secunde, producnd o ntrziere
semnificativ pentru utilizatorii interactivi care partajeaz linia. Aici a fost atins un compromis:
pachetele normale au fost limitate la 64 KB, dar antetul de extensie salt-dup-salt poate fi folosit
pentru a permite jumbograme.
Un al treilea punct fierbinte a fost eliminarea sumei de control IPv4. Unele persoane au asimilat
aceast mutare cu eliminarea frnelor de la main. Fcnd acest lucru, maina devine mai uoar,
astfel nct poate merge mai repede, dar dac intervine ceva neateptat, ai probleme.
Argumentul mpotriva sumei de control a fost c orice aplicaie care are ntr-adevr grij de
integritatea datelor oricum trebuie s aib o sum de control la nivelul transport, aa nct
meninerea a nc o sum n IP (n plus fa de suma de control a nivelului legtur de date) este un
ggC.55
415
j s . Mai mult, experiena a artat c n IPv4 calculul sumei de.control IP era foarte costisitoare.
Tabra mpotriva sumei de control a nvins de aceast dat, deci IPv6 nu are o sum de control.
Gazdele mobile au fost de asemenea un punct de conflict. Dac un calculator portabil zboar
jumtate din drum n jurul lumii, el poate continua s opereze la destinaie cu aceeai adres IPv6
sau trebuie s foloseasc o schem cu ageni locali i ageni pentru strini? De asemenea, gazdele
mobile introduc asimetrii n sistemul de dirijare. Se poate foarte bine ntmpla ca un mic calculator
mobil s aud semnalul puternic trimis de un ruter staionar, dar ruterul staionar nu poate auzi
semnalul slab trimis de gazda mobil. n consecin, unele persoane au dorit s includ suport
explicit pentru gazde mobile n IPv6. Acest efort a euat cnd nu s-a putut ajunge la un consens
pentru o propunere concret.
.
Probabil c cea mai mare btlie a fost pentru securitate. Toat lumea a fost de acord c este
necesar. Rzboiul a fost pentru unde i cum. Mai nti unde. Argumentul pentru plasarea la nivelul
reea este c devine un serviciu standard pe care toate aplicaiile l pot folosi fr o planificare
prealabil. Argumentul contra este c aplicaiile cu adevrat sigure nu doresc n general nimic mai
mult dect criptare capt-la-capt, n care aplicaia surs cripteaz i aplicaia destinaie decripteaz.
Mai mult, utilizatorul este la mila unor implementri potenial pline de pene a nivelurilor reea,
implementri asupra crora nu are nici un control. Rspunsul la acest argument este c aceste
aplicaii pot s se abin de la folosirea facilitilor de securitate IP i s-i fac treaba ele nsele.
Replica la aceasta este c persoanele care nu au ncredere c reeaua face treaba cum, trebuie, nu
doresc s plteasc preul unor implementri de IP lente, greoaie, care au aceast facilitate, chiar
dac este dezactivat.
Un alt aspect al disputei unde s fie pus securitatea este n legtur cu faptul c multe ri (dar
nu toate) au legi de export severe referitoare la criptografie. Unele, notabil n Frana i Irak, reduc n
mare msur folosirea intern a criptografiei, aa nct oamenii nu pot avea secrete fa de poliie.
Ca rezultat, orice implementare de IP care utilizeaz un sistem criptografic suficient de puternic
pentru a fi de mare valoare nu poate fi exportat din Statele Unite (i multe alte ri) clienilor din
lumea ntreag. Necesitatea meninerii a dou seturi de programe, unul pentru uzul intern i unul
pentru export, este un fapt ce ntmpin o opoziie viguroas din partea firmelor de calculatoare.
O soluie potenial este ca toate firmele de calculatoare s-i mute laboratoarele de criptografie
ntr-o ar care nu reglementeaz criptografia, cum ar fi Finlanda sau Elveia. Programele de
criptografie puternic pot fi proiectate i produse acolo i apoi trimise legal n toate rile cu excepia
Franei sau Irak-ului. Problema acestei abordri este c proiectarea unei pri din programele unui
ruter ntr-o ar i a unei alte pri n alt ar poate duce la probleme de integrare.
Controversa final referitoare la securitate este legat de alegerea algoritmilor implicii care
trebuie suportai de toate implementrile. n timp ce s-a crezut c MD5 este relativ sigur, progresele
recente din criptografie pot s-1 slbeasc. Nici un criptograf serios nu crede c DES este sigur
mpotriva atacurilor guvernelor rilor importante, dar probabil c pentru moment este destul de
bun pentru a zdrnici chiar i atacurile celui mai precoce copil de 12 ani. Compromisul a fost s se
introduc securitatea n IPv6, s se foloseasc un algoritm de vrf de linie pentru calculul sumei de
control pentru o bun autentificare i un algoritm slbu pentru secretizare, dar s se dea
utilizatorilor posibilitatea de a nlocui aceti algoritmi cu cei proprii.
Un punct asupra cruia nu au existat controverse este c nimeni nu ateapt ca Internet-ul bazat
pe IPv4 s fie nchis ntr-o duminic dimineaa i s reporneasc ca un Internet bazat pe IPv6 luni
diminea. n schimb, vor fi convertite insule" izolate de IPv6, iniial comunicnd prin tunele. Pe
416
NIVELUL REEA
CAP. 5
msur ce insulele IPv6 cresc, ele vor fuziona n insule mai mari. Pn la urm, toate insulele vor
fuziona i Internet-ul va fi convertit complet. Dat fiind investiia masiv n rutere IPv4 n folosin
curent, procesul de conversie va dura probabil un deceniu. Din acest motiv s-a depus o enorm
cantitate de efort pentru a asigura c aceast tranziie va fi ct mai puin dureroas posibil.
Este suficient ct am spus, cititorul este prevenit de controversa existent aici, combinat cu o
important doz de pur subiectivitate.
Nivelul ATM este orientat pe conexiuni, att n termenii serviciilor oferite ct i n ceea ce
privete modul n care opereaz intern. Elementul de baz al nivelului ATM este circuitul virtual
(numit oficial canal virtual). Un circuit virtual este n mod normal o conexiune de la o surs pn la
SEG. 5-6
417
. .^destinaie, cu toate c sunt permise i conexiuni cu trimitere multipl^ Circuitele virtuale sunt
unidirecionale, dar o pereche de circuite poate fi creat n acelai timp. Amndou prile perechii
sunt adresate prin acelai identificator, astfel c un circuit virtual este efectiv duplex integral. Totui,
capacitatea canalului i alte proprieti pot fi diferite n cele dou direcii i pot fi chiar zero pentru
una din ele.
Nivelul ATM este neobinuit pentru un protocol orientat pe conexiuni, n sensul c nu pune la
dispoziie nici o confirmare. Motivul acestei proiectri este c ATM a fost destinat folosirii n reele
cu fibr optic, care sunt foarte fiabile. S-a considerat adecvat s se lase nivelurilor superioare
controlul erorilor. n definitiv, trimiterea de confirmri la nivelul legtur de date sau reea este
numai o optimizare. Este ntotdeauna suficient ca nivelul transport s trimit un mesaj i apoi s
trimit din nou ntregul mesaj, dac acesta nu este confirmat la timp.
Mai mult, reelele ATM sunt folosite frecvent pentru trafic n timp real, cum este cel audio i
video. Pentru acest fel de trafic, retransmiterea unei celule care s-a ntmplat s fie eronat este mai
periculoas dect ignorarea ei.
n ciuda lipsei confirmrilor, nivelul ATM ofer o garanie puternic: celulele trimise de-a
lungul circuitului virtual nu vor ajunge niciodat n alt ordine. Subreeaua ATM are voie s
nlture celule dac se produce congestie, dar sub nici un motiv nu poate s reordoneze
celulele trimise pe acelai circuit virtual. Cu toate acestea, nu exist nici o garanie cu privire la
ordonarea celulelor trimise pe circuite virtuale diferite. De exemplu, dac o gazd trimite o
celul pe circuitul virtual 10 i mai trziu trimite o celul cu aceeai destinaie pe circuitul
virtual 20, cea de-a doua celul poate ajunge prima. Dac cele dou celule au fost trimise pe
acelai circuit virtual, prima trimis va fi ntotdeauna prima sosit.
Circuit
virtual
Cale virtual
Cale de
transmisie
Fig. 5-61. O cale de transmisie poate conine ci virtuale multiple, fiecare dintre
acestea putnd conine circuite virtuale multiple.
Nivelul ATM asigur o ierarhie de conexiuni pe dou niveluri care este vizibil pentru nivelul
transport. De-a lungul fiecrei ci de transmisie de la o surs dat la, o destinaie dat, un grup de
circuite virtuale pot fi grupate n ceea ce se numete o cale virtual, aa cum este ilustrat n Fig. 5-61.
Conceptual, o cale virtual este ca un mnunchi de perechi torsadate: cnd este redirijat, toate
perechile (circuite virtuale) sunt redirijate mpreun. Vom considera mai trziu n detaliu
implicaiile acestei proiectri pe dou niveluri.
5.6.1 Formatele celulelor
La nivelul ATM, se disting dou interfee: UNI (User-Network Interface - Interfaa utilizatorreea) i NNI (Network-Network Interface - interfaa reea-reea). Prima definete frontiera dintre o
NIVELUL REEA
418
CAP. 5
gazd i o reea ATM (n multe cazuri, dintre client i purttor). Ultima se aplic la grania dintre
dou comutatoare (termenul ATM pentru rutere) ATM.
n ambele cazuri, celulele se compun dintr-un antet de 5 octei urmat de o informaie util de 48
de octei, dar cele dou antete sunt puin diferite. Antetele, aa cum sunt definite de Forumul ATM,
sunt ilustrate n Fig. 5-62. Celulele sunt transmise ncepnd cu octetul cel mai din stnga i cu cel mai
din stnga bit din octet.
40 de bii
1 1 1
i i
GFC
1 i i
VPI
VCI
1 1 1 1 1 1 !
PTI
C
L
P
HEC
PTI
C
L
P
HEC
(a)
VPI
VCI
(b)
GFC: General Flow Control (control general al fluxului)
VPI: Virtual Path Identifier (identificatorul cii virtuale)
VCI: Virtual Channel Identification (identificarea canalului virtual)
PTI: Payload Type (tipul ncrcrii utile)
CLP: Cell Loss Priority (prioritatea de eliminare a celulelor)
HEC: Header Error Check (suma de control a antetului)
Fig. 5-62. (a) Antetul nivelului ATM la UNI. (b) Antetul nivelului ATM la NNI.
Cmpul GFC este prezent numai n celulele transmise ntre o gazd i reea. El este rescris
de primul comutator la care ajunge, deci nu are semnificaie in comunicaia capt-la-capt i
nu este transmis destinaiei. Iniial, cnd a fost conceput, s-a crezut c va fi folositor pentru
controlul fluxului sau pentru prioritatea ntre gazde i reele, dar nici o valoare nu este definit
pentru el i reeaua l ignor. Cel mai bine este s fie considerat ca o greeal n standard.
Cmpul VPI este un ntreg mic care selecteaz o anumit cale virtual (vezi Fig. 5-61). Similar,
cmpul VCI selecteaz un anumit circuit virtual n cadrul cii virtuale alese. Deoarece cmpul VPI
are 8 bii (la UNI) i cmpul VCI are 16 bii, teoretic, o gazd poate avea pn la 256 de grupuri VC
(virtual circuit), fiecare coninnd pn la 65.536 de circuite virtuale. De fapt, sunt disponibile ceva
mai puine, pentru c unele FC/-uri sunt rezervate pentru funcii de control, cum ar fi stabilirea de
circuite virtuale.
Cmpul PTI definete tipul de informaie util pe care o conine celula, n conformitate cu
valorile date n Fig. 5-63. Aici tipurile de celule sunt furnizate de utilizator, dar informaia despre
congestie este furnizat de reea. Altfel spus, o celul trimis cu PTI 000 poate s ajung cu 010
pentru a preveni destinaia de problemele n curs de pe traseu.
cr
fi
419
Semnificaie
Stabilirea conexiunii
NIVELUL REEA
420
CAP. 5
SETUP
Apel sosit
CALL PROCEEDING
CONNECT
CONNECTACK
RELEASE
RELEASE COMPLETE
421
formatul 1. De asemenea, este permis i o form de adresare mai veche (GCITT E: 164) ce.
folosete numere telefonice ISDN, de 15 cifre zecimale.
Gazd
surs
Comutator #1
Comutator #2
Setup
Gaz
destinaie
Setup
.,
o.
E
Call proceeding_
(a)
Release
Release compjee_
Release
_
Releae_comfilee_
(b)
Fig. 5-65. (a) Stabilirea conexiunii ntr-o reea ATM. (b) Desfiinarea conexiunii.
422
NIVELUL REEA
CAP. 5
VPI, nu dup cmpul VCI, cu excepia dirijrii la saltul final din fiecare direcie, cnd celulele sunt:
trimise ntre un comutator i o gazd. ntre dou comutatoare, va fi utilizat numai calea virtual.
Folosirea exclusiv a ^/-urilor ntre comutatoarele interioare are mai multe avantaje. n primul
rnd, odat ce a fost stabilit o cale virtual de la o surs la o destinaie, orice circuit virtual
suplimentar de-a lungul cii poate pur i simplu s urmeze calea existent. Nu trebuie luat nici o
nou decizie de dirijare. Este ca i cum un mnunchi de perechi torsadate a fost deja montat ntre
surs i destinaie. Stabilirea unei noi conexiuni impune alocarea uneia dintre perechile nefolosite.
n al doilea rnd, dirijarea celulelor individuale este mai simpl atunci cnd toate circuitele
virtuale pentru o cale dat sunt ntotdeauna n acelai grup. Decizia de dirijare implic numai
examinarea unui numr de 12 bii, nu a unui numr de 12 bii i a unui numr de 16 bii. Vom
descrie mai jos cum se realizeaz comutarea de celule, dar chiar fr a intra n detalii, ar trebui
12
s fie evident c indexarea ntr-o tabel cu 2 intrri este realizabil, pe cnd indexarea ntr-o
28
tabel cu 2 intrri nu este.
n al treilea rnd, alegerea cilor virtuale ca baz a ntregii dirijri face mai uoar comutarea
unui ntreg grup de circuite virtuale. S considerm, de exemplu, ipotetica coloan vertebral ATM
pentru S.U.A. ilustrat n Fig. 5-66. n mod normal, circuitele virtuale dintre NY i SF trec prin
Omaha i Denver. Totui, s considerm o perturbaie aprut pe linia Omaha-Denver. Redirijnd
calea virtual Omaha-Denver ctre LA i apoi SF, toate circuitele virtuale (potenial pn la 65.535
de astfel de circuite) pot fi comutate ntr-o singur operaie, n loc de, probabil, mii de operaii.
Fig. 5-66. Redirijarea unei ci virtuale redirijaz toate circuitele virtuale ale acesteia.
n sfrit, cile virtuale fac ca purttorii s ofere mai uor grupuri nchise de utilizatori
(reele private) corporaiilor client. O companie poate stabili o reea de ci virtuale
permanente ntre diferitele birouri i apoi s aloce, la cerere, circuite virtuale n cadrul acestor
SEC. 5.6
423
ci. Nici un apel nu poate intra n reeaua privat din exterior i nici un apel nu poate prsi
reeaua privat, dect prin pori speciale. Multe companii agreeaz acest fel de securitate.
Rmne de vzut dac cmpul W/va fi ntr-adevr folosit de comutatoare pentru dirijare, aa
cum a fost planificat, sau va utiliza de fapt combinaia cmpurilor VPI i VCI (anulnd astfel toate
avantajele pe care tocmai le-am discutat). Semnalele iniiale din domeniu nu sunt ncurajatoare.
S vedem cum pot fi dirijate celulele printr-un comutator interior (acela care este legat numai cu
alte comutatoare, nu i cu gazde). Pentru a concretiza, s considerm comutatorul Omaha din Fig 566. Pentru fiecare dintre cele cinci linii de intrare, el are o tabel, vpijable, indexat dup VPI-mHe
care sosesc, care spune care dintre cele cinci linii de ieire s fie folosit i ce VPI s fie pus n
celulele care pleac. S presupunem c cele cinci linii sunt numerotate de la 0 la 4, n sensul acelor
de ceasornic, ncepnd cu Minneapolis. Pentru fiecare linie de ieire, comutatorul menine o hart
de bii indicnd ce VPI-wi sunt folosite curent pe linia respectiv.
Cnd comutatorul este pornit, toate intrrile din toate structurile tabelei vpijable sunt marcate
ca nefolosite. Similar, toate hrile de bii sunt marcate s indice c toate VPI-mite sunt disponibile
(cu excepia celor rezervate). Acum s presupunem c apelurile sosesc aa cum arat Fig. 5-67.
Sursa
NY
NY
LA
DC
NY
SF
DC
NY
SF
NY
Linie de
intrare
VPI de
intrare
1
1
SF
Denver
3
1
1
4
1
1
4
1
Destinaie
Minneapolis
LA
SF
DC
SF
3
5
2
5
1
Denver
Minneapolis
SF
Linie de
ieire
VPide
ieire
4
4
0
3
4
1
4
4
0
4
1
1
2
1
4
4
Cale:
Nou
Nou
Nou
Nou
Vechi
Nou
Nou
2
2
Vechi
Vechi
Nou
Fig. 5-67. Cteva trasee prin comutatorul Omaha din Fig. 5-66.
Pe msur ce fiecare cale virtual (i circuit virtual) este stabilit, sunt create intrri n tabele.
Vom presupune c circuitele virtuale sunt duplex integral, astfel c stabilirea fiecruia genereaz
dou intrri, una pentru traficul transmis de surs i una pentru traficul invers, dinspre destinaie.
Tabelele corespunztoare traseelor din Fig. 5-67 sunt prezentate n Fig. 5-68. De exemplu,
primul apel genereaz intrarea (4,1) pentru VPI 1 n tabela DC, deoarece se refer la celule intrnd
pe linia 1 cu VPI 1 i mergnd ctre SF. Cu toate acestea, este creat i o intrare n tabela pentru
Denver pentru VPI 1, care arat c celulele venind de la Denver cu VPI 1 ar trebui s ias pe linia 1
cu VPI 1. Acestea sunt celulele care circul n sens invers (de la SF la NY) pe aceast cale virtual.
Observai c, n unele cazuri, dou sau trei circuite virtuale mpart o cale comun. Pentru circuitele
virtuale suplimentare care conecteaz o surs i o destinaie ce au deja atribuit o cale nu mai sunt
necesare alte intrri n tabel.
Acum putem explica cum sunt prelucrate celulele n interiorul unui comutator. S presupunem
c o celul sosete pe linia 1 (DC) cu VPI 3. Hardware-ul sau software-ul comutatorului folosete 3
ca index n tabel pentru linia 1 i vede c celula ar trebui s plece pe linia 3 (LA) cu VPI 2. n
NIVELUL REEA
424
CAP. 5
cmpul VPI se nscrie 2, iar numrul liniei de ieire, 3, este nscris undeva n celul, de exemplu n
cmpul HEC, deoarece acesta trebuie s fie oricum recalculat mai trziu.
Acum se pune ntrebarea cum s obinem pe linia 3 celula din tamponul de intrare curent. Ins
acest subiect (dirijarea ntr-un comutator) a fost discutat n detaliu n Cap. 2 i am vzut cum se face
n comutatoarele knockout i Batcher-banyan.
n acest moment este evident cum poate fi redirijat un grup de circuite virtuale, aa cum se
procedeaz n Fig. 5-66. Schimbnd intrarea pentru VPI 1 n tabela DC de la (4, 1) la (3, 3),
celulele de la NY care se ndreapt spre SF vor fi deviate prin LA. Bineneles, comutatorul
LA trebuie anunat despre acest eveniment, prin urmare comutatorul trebuie s genereze i s
trimit un mesaj SETUP ctre LA pentru a stabili noua cale cu VPI 3. Odat ce aceast cale a
fost stabilit, toate circuitele virtuale dintre NY i SF sunt redirijate prin LA, chiar dac sunt
mii. Dac nu ar exista cile virtuale, atunci fiecare circuit virtual ar avea propria sa intrare n
tabel i ar trebui s fie redirijat separat.
Tabela VPI
pentru Minn.
Intrare
Ieire
VPI Line VPI
0
1 3
1
2 4
5
Tabela VPI
pentru DC
Tabela VPI
pentru Dallas
Tabela VPI
pentru LA
Tabela VPI
pentru Denver
Ieire
Line VPI
Ieire
Line VPI
Ieire
Line VPI
Ieire
Line VPI
5
2
0
1
6
7
8
4095
Linia 0
Linia 1
Linia 2
T
Linia 3
Linia 4
SEC. 5.6
425
comutatoarele pentru unele sau pentru toate aceste categorii. Categoriile de servicii care au fost
alese ra fiind irnportante sunt enumerate n Fig. 5-69,
Clasa
CBR
RT-VBR
NRT-VBR
ABR
UBR
Exerhplu
Descriere
Transmitere cu vitez constant
Transmitere cu vitez variabila: timp real
Transmitere cu vitez variabil: nu este de timp real
Transmitere cu vitez disponibil
Transmitere cu vitez nespecificat
circuit T1
Videoconferin de timp real
Pota electronic multimedia
Navigarea prin WEB
Transfer de fiiere n fundal
NIVELUL REEA
426
CAP. 5
ABR este singura categorie de servicii n care reeaua ofer transmitorului reacie la
viteza de transmisie, cerndu-i s ncetineasc cnd se produce congestie. Presupunnd c
transmitorul este de acord cu aceste cereri, este de ateptat ca pierderea de celule pentru
traficul ABR s fie sczut. Traficul de tip ABR seamn puin cu zborul cu list de ateptare:
dac au rmas locuri (capacitate n exces), atunci pasagerii n ateptare sunt transportai fr
ntrziere. n cazul unei capaciti insuficiente, ei trebuie s atepte (n afara cazului n care
este disponibil o parte din lrgimea de band minim).
n final, ajungem la UBR (Unspecified Bit Rate - transmitere cu vitez nespecificat), care
nu face nici o promisiune i nu reacioneaz n cazul congestiei. Aceast categorie este foarte
potrivit pentru trimiterea de pachete IP, pentru c nici IP nu face nici o promisiune despre
livrare. Toate celulele UBR sunt acceptate i dac exist capacitate disponibil, ele vor i
ajunge. Dac se produce congestie, celulele UBR vor fi eliminate, fr nici o reacie ctre
expeditor i fr sperana ca acesta s ncetineasc.
Pentru a ne continua analogia cu lista de ateptare n cazul UBR, toi pasagerii aflai n ateptare
urc la bord, dar, dac la jumtatea drumului spre destinaie pilotul observ c rmne fr
combustibil, acetia sunt aruncai fr menajamente prin ieirea de urgen. Pentru a face UBR-ul
tentant, purttorii tind s-1 fac mai ieftin dect celelalte clase. Pentru aplicaiile care nu au nici o
constrngere de livrare i doresc oricum s-i realizeze propriul control al erorilor i propriul
control al fluxului, UBR este o alegere perfect rezonabil. Transferul de fiiere, pota electronic,
sau tirile USENET sunt toi candidai poteniali pentru serviciul UBR, deoarece nici una dintre
aceste aplicaii nu are caracteristici de timp real.
Proprietile diferitelor categorii de servicii sunt rezumate n Fig. 5-70.
Caracteristica serviciului
Garanteaz lrgimea de band
Potrivit pentru trafic de timp real
Potrivit pentru trafic n rafal
Reacie despre congestie
CBR
Da
Da
Nu
Nu
RT-VBR
NRT-VBR
ABR
Da
Da
Nu
Nu
Da
Nu
Da
Nu
Opional
Nu
Da
Da
UBR
Nu
Nu
Da
Nu
Calitatea serviciului este o caracteristic important pentru reelele ATM, n parte pentru
c ele sunt folosite pentru trafic n timp real, cum este cel audio sau video. Cnd este stabilit
un circuit virtual, att nivelul transport (de regul un proces n maina gazd, clientul") ct i
nivelul reea ATM (de exemplu un operator de reea, purttorul") trebuie s fie de acord cu
contractul ce definete un serviciu. n cazul unei reele publice, acest contract poate avea
implicaii legale. De exemplu, dac purttorul este de acord s nu piard mai mult de o celul
la un miliard i pierde dou celule la un miliard, serviciul juridic al clientului poate s se
enerveze i s nceap s se agite serios, strignd nclcarea contractului."
5-6
427
NIVELUL REEA
428
CAP. 5
Acronim
PCR
SCR
MCR
CDVT
CLR
CTD
CDV
CER
SECBR
CMR
Semnificaie
Vitez maxim la care vor fi emise celulele
Media pe un timp lung a vitezei de transmitere a cel.
Vitez minim acceptat de transmitere a celulelor
Variaia maxim tolerat la emisa celulelor
Fracia de celule pierdute sau livrate prea trziu
Ct de mult dureaz livrarea (medie i maxim)
Variaia n timpii de livrare a celulelor
Fraciunea de celule livrate fr eroare
Fraciunea de blocuri mutilate
Fraciunea de celule livrate unei destinaii incorecte
Timp de transfer
SEC. 5.6
429
n mod normal, CDVva fi ales astfel, nct a, fraciunea de celule care sunt respinse pentru c au
10
ajuns prea trziu, s fie de ordinul IO' sau mai mic. CDV msoar dispersia timpilor de sosire.
Pentru traficul de timp real, acest parametru este adesea mai important dect CDT.
Ultimii trei parametrii QoS precizeaz caracteristicile reelei. n general ei nu sunt negociabili.
CER (Cell Error Ratio - fraciunea celulelor cu erori) este fracia de celule care sunt livrate cu unul
sau mai muli bii eronai. SECBR (Severely-Errored Cell Block Ratio - fraciunea blocurilor grav
eronate) este fracia de blocuri de N celule dintre care M sau mai multe celule conin o eroare. n
sfrit, CMR (Cell Misinsertion Rate - fraciunea celulelor prost plasate) este numrul de celule/sec
care sunt livrate unei destinaii incorecte datorit unei erori nedetectate din antet.
A treia parte a contractului de trafic precizeaz ce nseamn a respecta regulile. Dac clientul
trimite o celul prea devreme, anuleaz aceasta contractul? Dac purttorul nu reuete s respecte
una dintre cerinele de calitate pe o perioad de 1 ms, poate clientul s-1 urmreasc n justiie? De
fapt, aceast parte a contractului este negociat ntre pri i spune ct de strict vor fi respectate
primele dou pri ale contractului.
Calitatea ATM i Internet a modelelor de servicii difer ntructva, ceea ce se reflect n
implementrile fiecruia. Modelul ATM se bazeaz strict pe conexiune, n timp ce modelul Internet
folosete datagrame plus fluxuri (e.g. RSVP). O comparaie ntre aceste dou modele este oferit n
(Crowcroft.a.,1995).
NIVELUL REEA
430
CAP. 5
Timp-
Celul
(a)
(b)
(O
Cazul extrem.
Celula 2 sosete cu T sec. dup celula 1
Celula 3 este
^ ateptat la t2 + T
Emitor lent.
Celula 2 sosete cu mai mult de T sec.
dup celula 1
Celula 3 este
_
+\*^
ateptat
la t 2 + T
T
Emitor rapid.
Celula 2 ajunge mai devreme cu
pn la L sec.
-T-
Celula 3 este
ateptat la t, + 2T
Celula 3 este
ateptat la t, + T
431
SEC. 5.6
Timp
3T
2T
4T
5T
T-eT-e-
T-8"
T-e-
T-8
B84
xo
. - l .:.:..;.: .:;:
8|
Iii
c
a
8ai
c
3eh-
4E
5E
(a)
Marginea gleii
-T
IE
o
, "X
(b)
Fig.5-74. (a) Un emitor care ncearc s trieze, (b) Acelai model de sosire a celulelor, vzut
acum n termenii unei glei gurite.
Cnd este vzut n aceti termeni, algoritmul GCRA se numete algoritm de planificare virtual
(engl. virtual scheduling algorithm). Totui, privit altfel, el este echivalent cu un algoritm al gleii
gurite, aa cum este ilustrat n Fig. 5-74(b). S ne imaginm c fiecare celul conform care sosete
toarn T uniti ntr-o gleat gurit. Gleata pierde lichidul cu o vitez de 1 unitate/nsec, astfel c
dup T usec tot lichidul s-a scurs. Dac celulele sosesc exact la fiecare T nsec, fiecare sosire a unei
celule va gsi gleata golit (tocmai n acel moment) i o va reumple cu T uniti de lichid. Astfel,
nivelul lichidului crete la T cnd sosete o celul i scade liniar pn cnd ajunge la zero. Aceast
situaie este prezentat n Fig. 5-74(b) ntre 0 i T.
Dac lichidul se scurge liniar n timp, la un timp t dup sosirea unei celule, cantitatea de fluid
A
rmas este T -1. In momentul sosirii celulei 2, la T - s, n gleat mai sunt e uniti de lichid.
A
Adugarea unei noi celule crete aceast valoare la T + E. In mod similar, n momentul sosirii celulei
3, 2e uniti au rmas n gleat, deci sosirea noii celule ridic nivelul lichidului la T + 2E. Cnd
celula 4 sosete, nivelul crete la T + 3e.
Dac aceasta se repet la infinit, una dintre celule va crete nivelul peste capacitatea gleii
i prin urmare va fi respins. Pentru a vedea care este acea celul, s calculm acum care este
capacitatea gleii. Dorim ca algoritmul gleii gurite s dea acelai rezultat ca Fig. 5-74(a),
432
NIVELUL REEA
CAP. 5
deci vrem ca revrsarea s se produc cnd o celul sosete cu L usec mai devreme. Dac
fluidul rmas necesit L usec pentru a se scurge, cantitatea de fluid trebuie s fie L, deoarece
viteza de scurgere este 1 unitate/usec. Aadar, dorim o capacitate a gleii de L + T, astfel
nct orice celul ce va sosi mai devreme cu mai mult de L usec va fi respins datorit depirii
capacitii gleii. n Fig. 5-74(b), cnd sosete celula 5, adugarea a T uniti la cele 4e uniti
deja existente ridic nivelul gleii la T + 4e. Pentru c n acest exemplu folosim valoarea e =
0.3L, prin adugarea celulei 5, nivelul ar crete la T + 4e, astfel c celula este respins^nu se
mai adaug lichid i gleata se va putea goli n cele din urm.
Pentru un Jdat, dac alegem L foarte mic, capacitatea gleii va fi doar cu puin mai mare dect
T, deci toate celulele trebuie s fie emise la intervale uniforme. Pe de alt parte, dac cretem L la o
valoare mult mai mare dect T, gleata poate gzdui multe celule deoarece T + L >> T. Aceasta
nseamn c emitorul poate trimite o rafal de celule succesive, transmise cu viteza maxim i
acestea s fie totui acceptate.
Putem cu uurin s calculm numrul celulelor conforme, N, care pot s fie transmise succesiv
cu viteza maxim de transmitere (PCR = l/J). n timpul unei rafale de N celule, cantitatea total de
lichid adugat gleii este NT, deoarece fiecare celul adaug T. Totui, n timpul rafalei maxime,
lichidul se scurge din gleat cu viteza de 1 unitate pe intervalul de timp. S considerm c timpul de
transmitere al unei celule este de 8 uniti de timp. S observm c 5 < T pentru c este perfect
posibil ca un emitor pe o linie de 155,52 Mbps s fie de acord s trimit maxim 100.000 celule/sec,
caz n care 8 = 2.73 usec i T = 10 usec. n timpul rafalei de N celule, cantitatea scurs este (N -1)8,
deoarece scurgerea nu ncepe pn cnd prima celul nu a fost transmis n ntregime.
Pornind de la aceste observaii, obinem c n timpul rafalei maxime, creterea net de lichid din
gleat esteiVT- (N-1)8. Capacitatea gleii este T + L. Egalnd aceste dou cantiti, obinem:
NT-(N-l)b = T + L
Rezolvnd aceast ecuaie n N, obinem:
T-6
Totui, dac numrul nu este ntreg, el trebuie rotunjit inferior la un ntreg, pentru a preveni
revrsarea gleii. De exemplu, pentru PCR = 100.000 de celule/sec, 8 = 2,73 usec i
L = 50 usec, pot fi trimise apte celule succesive cu viteza de 155,52 Mbps fr a umple gleata. O a
opta celul nu ar fi acceptat.
Algoritmul GCRA este specificat n mod normal dac se dau parametrii TiL.T i PCR sunt
mrimi reciproce; L este CDVT. Algoritmul este folosit i pentru a asigura c viteza medie a
celulelor nu depete SCR pentru nici o perioad de timp mai ndelungat.
n acest exemplu am presupus c celulele sosesc uniform. n realitate nu se ntmpl aa.
Cu toate acestea, algoritmul gleii gurite poate fi folosit i n acest caz. La fiecare sosire a
unei celule, se verific dac este loc n gleat pentru T uniti suplimentare de lichid. Dac
este, celula este acceptabil; altfel nu.
n plus fa de stabilirea unei reguli referitoare la celulele acceptabile i la cele inacceptabile,
GCRA modeleaz de asemenea traficul pentru a elimina o parte din caracteristicile de rafal. Cu
SEC. 5.6
433
ct este mai mic CDVT, cu att este mai mare efectul de netezire, dar crete i ansa ca celulele s fie
eliminate ca necorespunztoare. Unele implementri combin gleata gurit GCRA cu o gleat
cu jetoane (token bucket), pentru a oferi o netezire mai mare.
Controlul admiterii
n reelele de vitez mic, este de obicei adecvat s se atepte pn la apariia congestiei i apoi,
ca reacie la aceasta, s i se spun sursei pachetelor s ncetineasc transmisia. n reelele de mare
vitez, aceast abordare nu d de obicei rezultate bune, deoarece n intervalul dintre trimiterea
notificrii i sosirea notificrii la surs, pot sosi mii de pachete suplimentare.
Mai mult, multe reele ATM au surse de trafic de timp real care produc date cu o vitez
intrinsec. A-i spune unei astfel de surse s ncetineasc transmisia poate s nu aib nici un efect
(imaginai-v un nou telefon digital care are un becule rou; cnd este semnalat congestia, lumina
roie se aprinde i vorbitorului i se cere s vorbeasc cu 25 la sut mai rar).
n consecin, reelele ATM pun accentul n primul rnd pe prevenirea apariiei congestiilor. Cu
toate acestea, pentru traficul CBR,VBR i UBR, nu exist nici un control dinamic al congestiei, deci
n aceast situaie o uncie de prevenire valoreaz ct o livr (de fapt, mai curnd ct o ton) de
vindecare. Un procedeu de baz pentru prevenirea congestiei este controlul admiterii. Cnd o gazd
dorete un nou circuit virtual, aceasta trebuie s descrie traficul care va fi oferit i serviciul ateptat.
Reeaua poate verifica apoi dac este posibil s trateze aceast conexiune fr a afecta negativ
conexiunile existente. Poate fi necesar s se analizeze multiple trasee posibile pentru a gsi unul
corespunztor. Dac nu poate fi gsit nici un traseu, cererea este respins.
Refuzul admiterii ar trebui s fie cinstit. Este drept ca un individ care penduleaz ntre zeci de
programe de televiziune s poat mtura 100 de persoane ocupate care ncearc s-i citeasc pota
434
NIVELUL REEA
CAP. 5
electronic? Dac nu se aplic nici un control, un numr mic de utilizatori de band larg pot afecta
sever muli utilizatori cu lrgimi de band mici. Pentru a preveni aceast situaie, utilizatorii ar trebui
s fie mprii n clase pe baza folosirii reelei. Probabilitatea refuzrii serviciului ar trebui s fie cam
aceeai pentru toate clasele (de exemplu, dac i se atribuie fiecrei clase propriile resurse).
Rezervarea resurselor
Strns legata de controlul admiterii este tehnica de rezervare a resurselor n avans, de
obicei la momentul stabilirii apelului. Deoarece descriptorul de trafic conine viteza maxim
de transmitere, reeaua are posibilitatea de a rezerva suficient lrgime de band de-a lungul
cii ca s suporte aceast vitez. Lrgimea de band poate fi rezervat dac mesajul SETUP
marcheaz lrgimea de band de-a lungul fiecrei linii pe care o traverseaz, asigurndu-se,
evident, c lrgimea de band total rezervat de-a lungul unei linii este mai mic dect
capacitatea acelei linii. Dac mesajul SETUP ntlnete o linie care este ocupat, el se va
ntoarce pe drumul pe care a venit i va cuta o alt cale.
Descriptorul de trafic poate conine, pe lng lrgimea de band maxim i lrgimea de band
medie. Dac o gazd dorete, de exemplu, o lrgime de band maxim de 100.000 de celule/sec, dar
lrgimea de band medie este de numai 20.000 de celule/sec, se pot multiplexa n principiu cinci
astfel de circuite pe acelai trunchi fizic. Problema este c cele cinci conexiuni pot fi inactive timp de
jumtate de or, ca apoi s nceap s transmit n rafal la viteza maxim, cauznd pierderi masive
de celule. ntruct traficul VBR poate fi multiplexat statistic, pot apare probleme cu aceast
categorie de servicii. Sunt studiate soluii posibile.
Controlul congestiei bazat pe vitez
Pentru traficul CBR i VBR, nu este n general posibil ca emitorul s ncetineasc, chiar
n cazul unei congestii, datorit particularitilor de timp real sau semi-real ale sursei de
informaie. Pentru UBR, nu conteaz; dac sunt prea multe celule, cele suplimentare sunt pur
i simplu eliminate.
Totui, pentru traficul ABR, este posibil i logic ca reeaua s anune unul sau mai muli
emitori i s le cear s ncetineasc temporar, pn cnd reeaua se poate reface. Este n
interesul emitorului s se conformeze, deoarece reeaua l poate pedepsi ntotdeauna,
eliminndu-i celulele (n exces).
Modul n care poate fi detectat, semnalat i controlat congestia pentru traficul ABR a
constituit un subiect disputat n timpul dezvoltrii standardului ATM, cu argumente puternice
pentru diferitele soluii propuse. S aruncm o privire rapid la unele dintre soluiile care au fost
repede respinse, nainte de o examina pe cea ctigtoare.
ntr-una din propuneri, de cte ori emitorul dorete s trimit o rafal de date, trebuie s
trimit mai nti o celul special pentru rezervarea lrgimii de band necesare. Dup ce se
primete confirmarea, rafala poate ncepe. Avantajul este c nu apare niciodat congestie,
deoarece lrgimea de band necesar este ntotdeauna disponibil acolo unde este nevoie de
ea. Forumul ATM a respins aceast soluie datorit ntrzierii mari care poate s intervin
nainte ca o gazd s poat ncepe s transmit.
O a doua propunere presupunea comutatoare care s trimit napoi celule de oc de cte ori
congestia ncepe s se produc. Se presupune c, la primirea unei astfel de celule, un emitor
SEC. 5.6
435
reduce la jumtate viteza curent de transmisie a celulelor. Au fost propuse diferite scheme pentru a
readuce viteza la valoarea sa anterioar atunci cnd congestia a fost rezolvat. Aceast tactic a fost
respins, deoarece celulele de oc se pot pierde n congestie i datorit faptului c pare necinstit
fa de utilizatorii mici. De exemplu, s considerm un comutator primind fluxuri de cte 100-Mbps
de la cinci utilizatori i un flux de 100-kbps de la alt utilizator. Muli membrii ai comisiei au
considerat incorect s i se spun utilizatorului cu 100 kbps s renune la 50 kbps pentru c producea
prea mult congestie.
O a treia propunere folosea faptul c frontierele pachetelor sunt marcate de un bit n ultima
celul. Ideea era s se elimine celule pentru a se micora congestia, dar eliminarea s fie foarte
selectiv. Comutatorul trebuia s exploreze fluxul de celule care intr, pn gsea sfritul
pachetului i apoi s nlture toate celulele din urmtorul pachet. Desigur, acest pachet va trebui
retransmis mai trziu, dar eliminarea tuturor celor k celule dintr-un pachet conduce n cele din urm
la retransmisia unui singur pachet, ceea ce este mult mai bine dect eliminarea la ntmplare a k
celule, care ar putea determina k retransmisii de pachete. Aceast schem a fost respins din raiuni
de echitate, deoarece urmtorul marcaj de sfrit de pachet ntlnit poate s nu aparin
emitorului care a ncrcat excesiv comutatorul. De asemenea, nu este nevoie ca schema s fie
standardizat. Oricare furnizor de comutatoare este liber s aleag celulele care vor fi eliminate
atunci cnd apare congestia.
Dup multe discuii, lupta s-a dat ntre doi pretendeni, o soluie bazat pe credite (Kung i
Morris, 1995) i o soluie bazat pe viteze (Bonomi i Fendick, 1995). Soluia bazat pe credite era n
principal un protocol dinamic cu fereastr glisant. El solicit ca fiecare comutator s menin, pe
circuit virtual, un credit - de fapt numrul de zone tampon rezervate pentru acel circuit. Att timp
ct fiecare celul transmis are un tampon care o ateapt, congestia nu va putea aprea niciodat.
Argumentul mpotriva soluiei a venit de la furnizorii de comutatoare. Ei nu doreau s fac toate
nregistrrile pentru a ine evidena tuturor creditelor i nu doreau s rezerve att de multe
tampoane n avans. S-a considerat c efortul suplimentar i risipa implicat sunt prea mari, aa c n
cele din urm a fost adoptat schema de control al congestiei bazat pe vitez. Aceasta funcioneaz
n felul urmtor.
Direcia fluxului de date
Emitor
.'
Calea urmat
de celulele RM
") Receptor
Comutator ATM
436
NIVELUL REEA
CAP. 5
n plus, sunt prevzute alte dou mecanisme de control al congestiei. Mai nti, comutatoarele
suprasolicitate pot genera n mod spontan celule RM i le pot trimite napoi la emitor. In al doilea
rnd, comutatoarele suprancrcate pot nscrie bitul PTI median pentru celulele de date ce se
deplaseaz de la emitor la receptor. Totui, nici una dintre aceste metode nu este n ntregime
fiabil, pentru c aceste celule pot fi pierdute n congestie fr ca cineva s sesizeze. n contrast,
emitorul va sesiza o celul RM pierdut cnd aceasta nu se ntoarce n intervalul de timp prevzut.
Pe de alt parte, bitul CLP nu este folosit pentru controlul congestiei ABR.
Controlul congestiei ABR se bazeaz pe ideea c fiecare emitor are o vitez curent, ACR
(Actual Cell Rate - viteza curent de transmisie a celulelor), care se situeaz ntre MCR i PCR.
Cnd apare congestia, ACR este redus (dar nu sub MCR). n absena congestiei, ACR este crescut
(dar nu peste PCR). Fiecare celul RM transmis conine viteza la care emitorul ar dori s
transmit n mod curent, eventual PCR, eventual mai mic. Aceast valoare este numit ER
(Explicit Rate - vitez explicit). Cnd celula RM trece prin diferite comutatoare pe drumul spre
receptor, acelea care sunt congestionate pot reduce ER. Nici un comutator nu l poate mri.
Reducerea poate fi fcut fie pe calea direct, fie pe cea invers. Cnd emitorul primete napoi
celula RM, el poate vedea care este viteza minim acceptabil n conformitate cu toate
comutatoarele aflate de-a lungul cii. El poate apoi s modifice ACR, dac este nevoie, pentru a-1
face s corespund cu ceea ce poate suporta comutatorul cel mai lent.
Mecanismul pentru congestii care folosete bitul PTI median este integrat n celulele RM
deoarece receptorul include acest bit (luat din ultima celul de date) n fiecare RM care este trimis
napoi. Bitul nu poate fi luat din celula RM pentru c toate celulele RM au acest bit poziionat tot
timpul, aa cum se vede n Fig. 5-63.
Nivelul ATM este destul de complicat. n acest capitol am evideniat numai o parte din
probleme. Pentru informaii suplimentare, vezi (De Prycker, 1993; McDysan i Spohn, 1995; Minoli
i Vitela, 1994; i La Porta .a., 1994). ns cititorul trebuie prevenit c toate aceste referine discut
standardul ATM 3 i nu standardul ATM 4, care nu a fost terminat pn n 1996.
5.6.8 LAN-uri ATM
Deoarece devine din ce n ce mai clar c va trece o foarte lung perioad de timp pn la
realizarea scopului iniial al ITU, de a nlocui reeaua telefonic comutat public printr-o reea
ATM, atenia se mut spre folosirea tehnologiei ATM pentru a conecta LAN-uri existente. n
aceast viziune, o reea ATM poate funciona fie ca un LAN, conectnd gazde individuale, fie ca o
punte, conectnd mai multe LAN-uri. Dei amndou conceptele sunt interesante, ele ridic unele
probleme pe care le vom discuta n continuare. Informaii suplimentare despre LAN-uri ATM se
pot gsi n (Chao .a., 1994; Newman, 1994; Truong .a.,1995).
Problema major care trebuie rezolvat este cumjs se pun la dispoziie servicii LAN fr
conexiuni peste o reea ATM orientat pe conexiuni. O^olutie^osibil este s introducem un server
&rnejduni.m reea. Fiecare gazd stabilete iniial o conexiune cu acest sever i trimite toate'
pachetele la el pentru retransmisie. Dei simpl, aceast soluie nu folosete ntreaga lrgime de
band a unei reele ATM, iar serverul fr conexiuni poate deveni cu uurin o gtuire.
O abordare alternativ, propus de Forumul ATM, este ilustrat n Fig. 5-76. Aici fiecare gazd
are un circuit ATM virtual (potenial) care o leag de fiecare alt gazd. Aceste circuite virtuale pot
fi stabilite i desfiinate n mod dinamic, dup cum sunt necesare, sau pot fi circuite virtuale
SEC.5.6
437
permanente. Pentru a trimite un cadru, o gazd surs ncapsuleaz mai nti pachetul n cmpul cu
informaia util al unui mesaj ATM AAL i l trimite ctre destinaie, la fel cum cadrele sunt trimise
pe reele Ethernet, token ring i alte LAN-uri.
azd
1
LES-ul realizeaz
cutarea
adreselor
-.
BUS-ul realizeaz
difuzarea
438
NIVELUL REEA
CAP. 5
prevzute n propunerea IETF. Modelul este descris n RFC 1483 i RFC 1577.0 alt surs bun de
informaii este (Corner, 1995).
In cazul metodei IETF, o mulime de gazde ATM pot fi grupate ntr-o subreea IP logic
(logical IP subnet). Fiecare LIS are propriul su server ATMARP. De fapt, un LIS se
comport ca un LAN virtual. Gazde din acelai LIS pot schimba pachete IP direct, dar gazde
de pe LIS-uri diferite trebuie s foloseasc un ruter. Motivul pentru care exist LIS-uri este c
fiecare gazd ce face parte dintr-un un LIS trebuie (potenial) s aib un circuit virtual deschis
ctre orice alt gazd de pe acelai IJS. Prin limitarea numrului de gazde per LIS, numrul
de circuite virtuale poate fi redus la o valoare uor de gestionat.
Alt utilizare a reelelor ATM este folosirea lor ca puni pentru conectarea LAN-urilor
existente. n aceast configuraie, numai o main aparinnd fiecrui LAN are nevoie de o
conexiune ATM. La fel ca toate punile transparente, puntea ATM trebuie s asculte
neselectiv toate LAN-urile la care este ataat, retransmind cadrele unde este necesar.
Deoarece punile folosesc numai adrese MAC (nu adrese IP), punile ATM trebuie s
construiasc un arbore de acoperire, la fel ca punile 802.
Pe scurt, cu toate c emularea LAN ATM este o idee interesant, exist ndoieli serioase n ceea
cejmyete performana i preul, iar LAN-urile i punile existente, care sunt bine stabilite i foarte
mult optimizitesunt n mod cert concureni puternici. Rmne de vzut dac LAN-urile i punile
ATM vor nlocui vreodat LAN-urile i punile 802.
5.7
REZUMAT
Nivelul reea furnizeaz servicii nivelului transport. El se poate baza fie pe circuite virtuale,
fie pe datagrame. n ambele cazuri, sarcina sa principal este dirijarea pachetelor de la surs la
destinaie. n subretele bazate pe circuite virtuale, o decizie de dirijare se ia cnd este stabilit
circuitul. n subretele bazate pe datagrame, decizia este luat pentru fiecare pachet.
n reelele de calculatoare sunt folosii muli algoritmi de dirijare. Dirijarea pe calea cea mai
scurt, inundarea, sau dirijarea bazat pe flux sunt algoritmi statici. Dirijarea dup vectorul
distanelor i dirijarea dup starea legturii sunt algoritmi dinamici. Cele mai noi reele folosesc unul
dintre aceti algoritmi. Alte subiecte importante legate de reele sunt: dirijarea ierarhic, dirijarea
pentru sisteme gazd mobile, dirijarea pentru difuzare i dirijarea multidestinaie.
Subreelele pot deveni congestionate, mrind ntrzierea i micornd productivitatea pentru
pachete. Proiectanii reelelor ncearc s evite congestia printr-o proiectare adecvat. Tehnicile
includ modelarea traficului, specificaia fluxului i rezervarea lrgimii de band. Dac apare
congestia, ea trebuie s fie tratat. Pot fi trimise napoi pachete de oc, ncrcarea poate fi eliminat
sau se pot aplica alte metode.
Reelele difer prin multe caracteristici, aa c atunci cnd se conecteaz mai multe reele, pot s
apar probleme. Uneori problemele pot fi evitate prin trecerea ca prin tunel a unui pachet printr-o
reea ostil, dar dac reeaua surs si cea destinaie difer, aceast abordare eueaz. Atunci cnd
reele diferite au dimensiunile maxime ale pachetelor diferite, se poate produce fragmentarea.
Internet-ul posed o mare varietate de protocoale legate de nivelul reea. Acestea includ
protocolul de transport al datelor, IP, dar i protocoalele de control ICMP, ARP i RARP i
protocoalele de dirijare OSPF i BGP. Internet-ul rmne foarte repede fr adrese IP, aa c s-a
dezvoltat o nou versiune de IP, IPv6.
SEC. 5.8
PROBLEME
439
5.8 PROBLEME
1.
Dai dou exemple de aplicaii pentru care este adecvat un serviciu orientat pe conexiune.
Apoi dai dou exemple pentru care un serviciu fr conexiuni este cel mai potrivit.
2. Exist anumite mprejurri n care un serviciu cu circuit virtual va (sau cel puin ar putea) livra
pachetele n alt ordine? Explicai.
3. Subreelele bazate pe datagrame dirijeaz fiecare pachet ca pe o unitate separat, independent
de toate celelalte. Subreelele bazate pe circuite virtuale nu trebuie s fac acest luciu, pentru c
fiecare pachet de date urmeaz o cale anterior determinat. Oare aceast observaie nseamn
c subreelele bazate pe circuite virtuale nu au nevoie de capacitatea de a dirija pachetele
izolate de la o surs arbitrar ctre o destinaie arbitrar? Explicai rspunsul dat.
4. Dai trei exemple de parametri ai protocolului care ar putea fi negociai atunci cnd este iniiat
o conexiune.
5.
6. Presupunnd c toate ruterele i gazdele funcioneaz normal i c ntregul software din rutere
i gazde nu conine nici o eroare, exist vreo ans, orict de mic, ca un pachet s fie livrat unei
destinaii greite?
7. Formulai o euristic simpl pentru gsirea a dou ci de la o surs dat la o destinaie
dat care pot supravieui pierderii oricrei linii de comunicaie (presupunnd c dou
astfel de ci exist). Ruterele sunt considerate suficient de fiabile, deci nu este necesar s
ne ngrijoreze posibilitatea cderii ruterelor.
8.
Considerai subreeaua din Fig. 5-15(a). Se folosete dirijarea dup vectorul distanelor i
urmtorii vectori tocmai au sosit la rutenii C: de la B: (5,0, 8,12, 6, 2); de la D: (16,12,6,
440
NIVELUL REEA
CAP. 5
15. Ca un posibil mecanism de control al congestiei ntr-o subreea ce folosete intern circuite
virtuale, un ruter poate amna confirmarea unui pachet primit pn cnd (1) tie c ultima sa
transmisie de-a lungul circuitului virtual a fost primit cu succes i (2) are un tampon liber.
Pentru simplitate, s presupunem c ruterele utilizeaz un protocol stop-and-wait (pas-cu-pas)
i c fiecare circuit virtual are un tampon dedicat pentru fiecare direcie a traficului. Dac este
nevoie de Tsec pentru a trimite un pachet (date sau confirmare) i sunt n rutere de-a lungul cii,
SEC. 5.8
PROBLEME
441
care este viteza cu care pachetele sunt livrate gazdei destinaie? Presupunem c erorile de
transmisie sunt rare, iar conexiunea gazd-ruter este infinit de rapid.
16. O subreea de tip datagram permite mterelor s elimine pachete de cte ori este necesar.
Probabilitatea ca un ruter s renune la un pachet este p. Considerm cazul unei gazde surs
conectate cu un mter surs, care este conectat cu un ruter destinaie i apoi cu gazda destinaie.
Dac oricare dintre rutere elimin un pachet, gazda surs va ncerca din nou, probabil dup
expirarea unui timp stabilit. Dac liniile gazd-ruter i ruter-ruter sunt amndou numrate ca
salturi, care este numrul mediu de:
a) salturi per transmisie pe care le face un pachet?
b) transmisii determinate de un pachet?
c) salturi necesare pentru un pachet primit?
17. Dai o explicaie pentru faptul c algoritmul gleii gurite permite un singur pachet per tact,
indiferent de ct de mare este pachetul.
18. ntr-un sistem oarecare este utilizat varianta cu numrarea octeilor algoritmului gleii
gurite. Regula este c pot fi trimise la fiecare tact un pachet de 1024 de octei, dou pachete de
512 octei etc. Formulai o limitare serioas a acestui sistem care nu a fost menionat n text.
19. O reea ATM utilizeaz pentru modelarea traficului o schem de tip gleat cu jetoane (token
bucket). La fiecare 5 usec n gleat este introdus un nou jeton. Care este viteza maxim net a
datelor (adic fr a se pune la socoteal biii antetului) care poate fi meninut?
20. Un calculator dintr-o reea de 6-Mbps este guvernat de o schem de tip gleat cu jetoane.
Aceasta se umple cu viteza de 1 Mbps. Ea este umplut iniial la capacitatea maxim, cu 8
megabii. Ct timp poate calculatorul s transmit cu ntreaga vitez de 6 Mbps?
21. Fig. 5-27 arat patru caracteristici de intrare pentru o specificaie a fluxului propus. S ne
imaginm c dimensiunea maxim a pachetului este de 1000 de octei, viteza gleii cu jetoane
este de 10 milioane de octei/sec, capacitatea ei este de 1 milion de octei i viteza maxim de
transmisie este de 50 de milioane de octei/sec. Ct timp poate dura o rafal la viteza maxim?
22. Un dispozitiv accept cadre de la Ethernet-ul la care este conectat. El obine pachetul din
interiorul fiecrui cadru, adaug informaie de ncadrare n jurul su i l transmite pe o linie
telefonic nchiriat (singura legtur a dispozitivului cu lumea exterioar) ctre un dispozitiv
identic aflat la cellalt capt. Acesta din urm nltur ncadrarea, introduce pachetul ntr-un
cadru token ring i l transmite unei gazde locale printr-un LAN de tip token ring. Cum ai numi
acest dispozitiv?
23. Este nevoie de fragmentare n reele concatenate bazate pe circuite virtuale sau numai n
sisteme cu datagrame?
24. Trecerea ca prin tunel printr-o subreea de circuite virtuale concatenate este simpl:
ruterul multiprotocol de la un capt stabilete circuitul virtual ctre cellalt capt i trece
pachetele prin el. Poate aceast trecere ca printr-un tunel s fie folosit i n subreelele
bazate pe datagrame? Dac da, cum?
442
NIVELUL REEA
CAP. 5
25. O datagram IP care folosete opiunea Dirijare strict la surs trebuie s fie fragmentat.
Credei c opiunea este copiat n fiecare fragment, sau este suficient s fie pus numai n
primul fragment? Explicai rspunsul.
26. S presupunem c n loc de a folosi 16 bii pentru partea ce specific reeaua unei adrese de
clas B, au fost utilizai 20 de bii. Cte reele de clas B ar fi existat?
27. Transformai adresa IP a crei reprezentare zecimal este C22F1582 ntr-o notaie zecimal cu
puncte.
28. O reea de clas B din Internet are masca de subreea 255.255.240.0. Care este numrul maxim
de gazde din subreea?
29. Tocmai i-ai explicat unui prieten protocolul ARP. Cnd ai terminat, el spune: Am neles.
ARP ofer un serviciu nivelului reea, deci face parte din nivelul legturii de date." Ce i vei
spune?
30. Att ARP ct i RARP realizeaz corespondena adreselor dintr-un spaiu n altul. Din acest
punct de vedere cele dou protocoale sunt similare. Totui, implementrile lor sunt
fundamental diferite. Care este diferena esenial dintre ele?
31. Descriei un procedeu pentru reasamblarea fragmentelor IP la destinaie.
32. Cei mai muli dintre algoritmii de reasamblare a datagramelor IP au un ceas pentru a evita ca
un fragment pierdut s in ocupate pentru totdeauna tampoanele de reasamblare. S
presupunem c o datagram este mprit n patru fragmente. Primele trei sosesc, dar ultimul
este ntrziat. Este posibil ca timpul s expire i cele trei fragmente s fie eliminate din memoria
receptorului. Puin mai trziu, sosete i ultimul fragment. Ce ar trebui fcut cu el?
33. Cele mai multe protocoale de dirijare IP folosesc numrul de salturi ca o mrime ce trebuie
minimizat cnd se fac calculele pentru dirijare. Pentru reelele ATM, numrul de salturi nu
este foarte important. De ce? Indicaie: Aruncai o privire la Cap. 2 pentru a vedea cum
funcioneaz comutatoarele ATM. Folosesc ele comutarea memoreaz-si-retransmite?
34. Att la IP ct i la ATM, suma de control acoper numai antetul, nu i datele. De ce credei c
s-a ales aceast soluie?
35. O persoan care locuiete n Boston cltorete la Minneapolis, lundu-i calculatorul
portabil cu sine. Spre surprinderea sa, LAN-ul de la destinaia din Minneapolis este un
LAN IP fr fir, deci nu trebuie s se conecteze. Este oare necesar s se recurg la
ntreaga poveste cu ageni locali i ageni strini pentru ca mesajele de pot electronic i
alte tipuri de trafic s-i parvin corect?
36. IPv6 folosete adrese de 16 octei. Dac un bloc de 1 milion de adrese este alocat la fiecare
picosecund, ct timp vor exista adrese disponibile?
37. Cmpul Protocol folosit n antetul IPv4 nu este prezent n antetul fix pentru IPv6. De ce?
SEC. 5.8
PROBLEME
443
3g. Cnd se introduce protocolul IPv6, protocolul ARP trebuie s fie modificat? Dac da,
modificrile sunt conceptuale sau tehnice?
39. n Cap. 1 am clasificat interaciunile dintre reea i gazd folosind patru clase de primitive:
request, indication, response i confirm. Clasificai mesajele SETUP i CONNECT din Fig. 5-65
n aceste categorii.
40. ntr-o reea ATM este stabilit un nou circuit virtual. ntre gazdele surs i destinaie se gsesc
trei comutatoare ATM. Cte mesaje (inclusiv confirmri) vor fi trimise pentru stabilirea
circuitului?
41. Raionamentul folosit pentru construcia tabelei din Fig. 5-67 este simplu: unei conexiuni i este
atribuit ntotdeauna cel mai mic VPI nefolosit. Dac este necesar un nou circuit virtual ntre NY
i Denver, ce VPI i va fi atribuit?
42. n Fig. 5-73(c), dac o celul sosete devreme, urmtoarea este ateptat tot la ti + 2T. S
presupunem c regula este diferit i anume c urmtoarea celul este ateptat la
t2 + T, iar emitorul folosete la maximum aceast regul. Ce vitez maxim de transmitere
poate s fie obinut n acest caz? Pentru T = 10 usec i L = 2 usec, calculai viteza maxim de
transmitere iniial i respectiv pe cea nou.
43. Care este lungimea maxim a rafalei pentru o conexiune ATM ABR la 155,52 Mbps, a crei
valoare PCR este 200.000 i a crei valoare L este 25 usec?
44. Scriei un program care s simuleze lirijarea prin inundare. Fiecare pachet ar conine un
contor care este decrementat la fiecare salt. Cnd contorul ajunge la zero, pachetul este
eliminat. Timpul este discret, iar fiecare linie manevreaz un pachet ntr-un interval de
timp. Realizai trei versiuni ale acestui program: toate liniile sunt inundate, sunt inundate
toate liniile cu excepia liniei de intrare, sau sunt inundate numai cele mai bune k linii
(alese statistic). Comparai inundarea cu dirijarea determinist (k = 1) n termenii
ntrzierii i lrgimii de band folosite.
45. Scriei un program care simuleaz o reea de calculatoare ce folosete un timp discret.
Primul pachet din coada de ateptare a fiecrui ruter face un salt per interval de timp.
Fiecare ruter are, numai un numr finit de zone tampon. Dac un pachet sosete i nu este
loc pentru el, el este eliminat i nu mai este retransmis. n schimb, exist un protocol
capt-la-capt, complet, cu limit de timp i pachete de confirmare, care va regenera n
cele din urm pachetul de la ruterul surs. Reprezentai grafic productivitatea reelei ca
funcie de limita de timp, parametrizat de rata erorilor.
444
NIVELUL REEA
CAP. 5
NIVELUL TRANSPORT
Nivelul transport nu este doar un alt nivel, el este miezul ntregii ierarhii de protocoale. Sarcina
sa este de a transporta date de la maina surs la maina destinaie ntr-o manier sigur i eficace
din punctul de vedere al costurilor, independent de reeaua sau reelele fizice utilizate. Fr nivelul
transport i-ar pierde sensul ntregul concept de ierarhie de protocoale. n acest capitol vom studia
n detaliu nivelul transport, incluznd serviciile, arhitectura, protocoalele i performanele sale.
6.1
n seciunile urmtoare vom face o prezentare a serviciilor oferite de nivelul transport. Vom
studia serviciile oferite nivelului aplicaie (sau sesiune, dac acesta exist) i, n mod special,
modalitile de caracterizare a calitii serviciilor oferite. Apoi vom studia modul n care aplicaiile
apeleaz serviciile de transport, altfel spus, cum este construit interfaa acestui nivel.
445
NIVELUL TRANSPORT
446
CAP. 6
Cele dou tipuri de servicii: servicii orientate pe conexiune sau datagram, existente n cadrul
nivelului reea, se regsesc i la acest nivel. Serviciul orientat pe conexiune de la nivel transport are
multe asemnri cu cel de la nivel reea: la ambele, conexiunile au trei faze (stabilirea conexiunii,
transferul de date i eliberarea conexiunii) i, n plus, adresarea i controlul fluxului sunt similare.
Mai mult, chiar i serviciile fr conexiune sunt foarte asemntoare la cele dou niveluri.
O ntrebare evident este urmtoarea: dac serviciile la nivel transport sunt att de
asemntoare cu cele de la nivel reea, de ce este nevoie de dou niveluri distincte? De ce nu este
suficient un singur nivel? Rspunsul este unul subtil, dar extrem de important, i ne cere s ne
ntoarcem la Fig. 1.16. n aceast figur am putut vedea c nivelul reea este parte component a
subretelei de comunicaie i este executat de mediul de transport (cel puin pentru reelele larg
rspndite geografic - WAN). Ce s-ar ntmpla dac nivelul reea ar oferi servicii orientate pe
conexiune, dar acestea ar fi nesigure? Dar dac acesta ar pierde frecvent pachete? Ce se ntmpl
dac din cnd n cnd rutenii cade?
Gazd
Gazd
Nivel aplicaie
{sau sesiune)
Nivel aplicaie
(sau sesiune)
Adres
transport
Entitate de
transport
Adres
reea
Nivel reea
Interfaa
aplicaie/transport
TPDU
Protocol
transport
Interfaa
transport/reea
Entitate de
transport
Nivel reea
SE
C . 6.1
447
fel, nct s fie independente de primitivele de la nivelul reea, care, de altfel, pot s varieze
considerabil de la o reea la alta (de exemplu, serviciile orientate pe conexiune hteo reea local pot
fi foarte diferite de serviciile orientate pe conexiune dintr-o reea larg rspndit.geografic). .
Mulumit nivelului transport, este posibil ca programele de aplicaie s fie scrisefolosind un set
standard de primitive, pentru a rula pe o mare varietate de reele, fr s aib de-a face cu diferite
interfee de subreea sau cu transmisii nesigure. Dac toate reelele reale ar fi perfecte i toate ar
avea acelai set de primitive, atunci probabil c nivelul transport nu ar mai fi fost necesar. Totui, n
realitate el ndeplinete funcia de a izola lumea real de tehnologia, arhitectura i imperfeciunile
nivelurilor inferioare.
Din aceast cauz se poate face o distincie ntre nivelurile de la 1 la 4, pe de o parte, i cel (cele)
de deasupra. Primele pot fi vzute ca furnizoare de servicii de transport, n timp ce ultimele ca
utilizatoare de servicii de transport. Aceast distincie ntre utilizatori i furnizori are un impact
considerabil n ceea ce privete proiectarea arhitecturii de niveluri i confer nivelului transpbrt o
poziie cheie, acesta fiind limita ntre furnizorul i utilizatorul serviciilor sigure de transmisie de date.
448
NIVELUL THANSPORT
CAP. 6
ntrzierea la stabilirea conexiunii este timpul scurs ntre cererea unui utilizator al nivelului
transport de alocare a unei conexiuni i primirea confirmrii de stabilire a conexiunii. Ea include
timpul de prelucrare al cererii n entitatea de transport aflat la distan. Ca la orice parametru care
msoar o ntrziere, cu ct aceasta este mai mic, cu att mai bun este serviciul.
Probabilitatea de insucces la stabilirea conexiunii este probabilitatea ca o conexiune s nu fie
stabilit ntr-un interval de timp maxim fixat. Cteva cauze ar putea fi: congestionarea reelei, lipsa
spaiului n tabelele unui nod al reelei sau alte probleme interne.
Rata de transfer msoar numrul de octei de date utilizator transferai de-a lungul unui interval
de timp. Rata de transfer este msurat separat pentru fiecare direcie.
ntrzierea msoar timpul scurs ntre trimiterea unui mesaj de ctre maina surs i
recepionarea acestuia la maina destinaie. Ca i pentru rata de transfer, fiecare direcie este
evaluat separat.
Rata rezidual a erorilor msoar procentul de pachete pierdute sau incorecte din totalul
pachetelor trimise. Teoretic, deoarece scopul nivelului transport este de a ascunde toate
erorile nivelului reea, rat rezidual a erorilor ar trebui s fie nul. n practic ea poate avea
i o valoare (mic) nenul.
Parametrul protecie furnizeaz utilizatorului o modalitate de a cere nivelului transport ca datele
transmise s fie protejate mpotriva accesului neautorizat (citire sau scriere) al terilor.
Parametrul prioritate furnizeaz utilizatorului o modalitate de a indica nivelului transport c
unele conexiuni sunt mai importante ca altele i c, n cazul unei congestii, conexiunile cu prioritate
mai mare trebuie servite preferenial.
n cele din urm reziliena indic probabilitatea ca nivelul transport nsui s nchid spontan o
conexiune datorit unor probleme interne sau datorit congestiilor.
Parametri de calitate sunt specificai de utilizatorul nivelului transport atunci cnd cere o
conexiune. Pot fi specificate att valorile dorite ct i cele minim acceptabile. n unele cazuri,
analiznd valorile acestor parametri, nivelul transport poate s-i dea seama imediat c
performanele cerute nu pot fi atinse i, n acest caz, cererea de conexiune eueaz chiar i fr a se
mai lua contact cu maina destinaie. n acest caz sunt raportate cauzele eecului.
n alte cazuri, nivelul transport tie c nu pot fi atinse performanele dorite (de exemplu, 600
Mbps rat de transfer), dar se pot obine performane mai mici i nc acceptabile (de exemplu, 150
Mbps). El trimite aceste noi valori i cele minim acceptabile mainii cu care se conecteaz la
distan, cerndu-i s stabileasc conexiunea. Dac maina cu care se conecteaz nu poate furniza
performanele cerute, dar poate obine unele superioare valorilor minime, ea va face o contraofert.
Dac mcar una din performanele minime nu poate fi ndeplinit, atunci cererea de conexiune este
refuzat. n cele din urm utilizatorul este informat dac conexiunea a fost stabilit sau refuzat i,
dac a fost stabilit, care sunt valorile parametrilor asupra crora s-a czut de acord.
Acest proces se numete negocierea opiunilor. Odat ce opiunile au fost negociate, ele rmn
aceleai pe toat durat conexiunii. Pentru a preveni lcomia" clienilor exist tendina ca serviciile
de o calitate mai bun s fie mai scumpe.
6.13 Primitivele serviciilor de transport
Primitivele serviciilor de transport permit utilizatorilor nivelului transport (de exemplu
programe de aplicaie) s acceseze serviciile. Fiecare serviciu de transport are primitivele sale.
SEC. 6.1
449
n acest capitol; vom examina mai nti un serviciu de transport simplu (ipotetic), dup care
vom analiza un exemplu real.
Serviciul transport este similar cu cel reea, dar exist i cteva diferene importante. Principala
diferen este c serviciul reea a fost conceput pentru a modela serviciile oferite de reelele reale.
Acestea pot pierde pachete, deci serviciile la nivel reea sunt n general nesigure.
n schimb, serviciile de transport (orientate pe conexiune) sunt sigure. Desigur, n reelele
reale apar erori, dar este exact scopul nivelului transport s furnizeze un serviciu sigur
deasupra unui nivel reea nesigur.
Ca exemplu, s considerm dou procese conectate prin 'pipe'-uri (tuburi) n UNIX. Acestea
presupun o conexiune perfect ntre ele. Ele nu vor s aib de-a face cu confirmri, pachete
pierdute, congestii sau altele asemntoare. Ele au nevoie de o conexiune sigur n proporie de
100%. Procesul A pune datele la un capt al tubului, iar procesul B le ia de la cellalt capt. Este
exact ceea ce face un serviciu orientat pe conexiune: ascunde imperfeciunile reelei, astfel nct
procesele utilizator pot s presupun existena unui flux de date fr erori.
In acelai timp nivelul transport furnizeaz i un serviciu nesigur, dar sunt puine de spus n
legtur cu acesta, aa c n acest capitol, ne vom concentra atenia asupra serviciului orientat
pe conexiune.
O a doua diferen ntre serviciul reea i cel de transport se refer la destinaiile lor. Serviciul
reea este folosit doar de entitile de transport. Puini utilizatori scriu ei nii entitile de transport,
si, astfel, puini utilizatori sau programe ajung s vad vreodat serviciile reea. n schimb, multe
programe (i programatori) folosesc primitivele de transport. De aceea, serviciul transport trebuie s
fie uor de utilizat.
Ca s ne facem o idee despre cum poate arta un serviciu de transport, s considerm cele
cinci primitive prezentate n Fig. 6-3. Aceast interfaa este ntr-adevr simpl,, dar prezint
trsturile de baz ale oricrei interfee orientate pe conexiune a nivelului transport. Ea
permite programelor de aplicaie s stabileasc, s utilizeze i s elibereze conexiuni, ceea ce
este suficient pentru multe aplicaii.
Primitiva
LISTEN
CONNECT
SEND
RECEIVE
DISCONNECT
Explicaii
Se blocheaz pn cnd un proces ncearc s se conecteze
ncearc s stabileasc conexiunea
Transmite informaie
Se blocheaz pn cnd primete date trimise
Trimis de partea care vrea s se deconecteze
Este momentul s facem cteva precizri n legtur cu terminologia. In lipsa unui termen mai
bun vom folosi acronimul TPDU (Transport Protocol Data Unit - unitate de date a protocolului de
NIVELUL TRANSPORT
450
CAP. 6
transport) pentru toate mesajele schimbate ntre dou entiti de transport corespondente. Astfel,
TPDU-urile (schimbate la nivelul transport) sunt coninute n pachete (utilizate de nivelul reea). La
rndul lor, pachetele sunt coninute n cadre (utilizate la nivelul legtur de date). Atunci cnd este
primit un cadru, nivelul legtur de date prelucreaz antetul cadrului i d coninutul util nivelului
reea. Entitatea reea prelucreaz antetul pachetului i paseaz coninutul util entitii de transport.
Aceas ierarhie este ilustrat n Fig. 6-4.
Antet
cadru
Antet
pachet
Antet
TPDU
SEC. 6.1
451
apel o primitiv DISCONNECT, ceea ce va avea ca rezultat trimiterea unui TPDU ISCONNECT
REQUEST entitii de transport aflat la distan. La sosirea acestuia conexiunea este eliberat.
n varianta simetric fiecare direcie este nchis separat, independent de cealalt. Atunci cnd
una din pri face un apel DISCONNECT, nsemnnd c nu mai sunt date de trimis, ea va putea
ne recepiona datele transmise de entitatea de transfer aflat la distan. n acest model
conexiunea este eliberat dac ambele pri au apelat DISCONNECT.
O diagram de stare pentru stabilirea i eliberarea conexiunilor folosind aceste primitive simple
este prezentat n Fig. 6-5. Fiecare tranziie este declanat de un eveniment: fie este executat o
primitiv de ctre utilizatorul local al nivelului transport, fie este primit un pachet. Pentru simplitate
vom presupune c fiecare TPDU este confirmat separat. Vom presupune de asemenea c este
folosit un model de deconectare simetric, clientul iniiind aciunea. Trebuie reinut c acesta este un
model foarte simplu, n seciunile urmtoare vom analiza modele reale.
TPDU: Cerere
de conectare
NEFOLOSIT
Execuie: CONNECT
1
i
>
STABILIRE DE
CONEXIUNE
ACTIV
STABILIRE DE
CONEXIUNE
PASIV
i
Execuie:CONNEC"r
CONEXIUNE
STABILITA
TPDU:Cerere i
de deconectare '
TPDU: Cerere
de conectare
Execuie:
DISCONNECT
DECONECTARE
ACTIV
DECONECTARE
PASIV
Execuie:
DISCONNECT
NEFOLOSIT
TPDU: Cerere
de deconectare
NIVELUL TRANSPORT
452
CAP. 6
mai multe caracteristici i flexibilitate. Nu vom detalia TPDU-urile existente; aceast discuie
mai are de ateptat pn n momentul cnd vom studia TCP, mai trziu, n acest capitol.
Primele patru primitive din tabel sunt executate, n aceasta ordine, de server. Primitiva SOCKET
creeaz un nou capt al conexiunii i aloc spaiu pentru el n tabelele entitii de transport. n
parametri de apel se specific formatul de adres utilizat, tipul de serviciu dorit (de exemplu,
transfer sigur de octei) i protocolul. Un apel SOCKET reuit ntoarce un descriptor de fiier (la fel
ca un apel OPEN) care va fi utilizat n apelurile urmtoare.
Primitiva
SOCKET
BIND
LISTEN
ACCEPT
CONNECT
SEND
RECEIVE
CLOSE
Funcia
Creeaz un nou punct de capt al comunicaiei
Ataeaz o adres local la un soclu
Anun capacitatea de a accepta conexiuni; determin mrimea cozii
Blocheaz apelantul pn la sosirea unei cereri de conexiune
Tentativ (activ) de a stabili o conexiune
Trimite date prin conexiune
Recepioneaz date prin conexiune
Elibereaz conexiunea
SEC. 6.2
453
Ruter
Subreea
Canal fizic de
comunicare
(a)
(b)
Fig. 6-7. (a) Mediul pentru nivelul legtur de date. (b) Mediul pentru nivelul transport.
n cazul legturii de date, pentru un ruter nu trebuie specificat cu care alt ruter vrea s comunice,
deoarece fiecare linie specific n mod unic o destinaie. In schimb, n cazul nivelului transport este
necesar adresarea explicit.
n plus, procesul stabilirii unei conexiuni prin cablul din Fig. 6-7(a) este simplu: cellalt capt este
ntotdeauna acolo (n afar de cazul n care nu a 'czut') i n nici unul din cazuri nu sunt prea multe
de fcut. Pentru nivelul transport ns, stabilirea iniial a conexiunii este mult mai complicat, aa
cum vom vedea.
O alt diferen ntre nivelurile legtur de date i transport, care genereaz multe probleme,
este existena potenial a unei capaciti de memorare a subreelei. Atunci cnd un ruter trimite un
cadru (nivel legtur de date),, acesta poate s ajung sau poate s se piard, dar nu poate s se
plimbe un timp ajungnd pn la captul lumii i s se ntoarc 30 de secunde mai trziu, ntr-un
moment nepotrivit. Dac subreeaua folosete datagrame i dirijare adaptiv, exist o posibilitate care nu poate fi neglijat - ca un pachet s fie pstrat pentru un numr oarecare de secunde i livrat
mai trziu. Consecinele acestei capaciti de memorare a subreelei pot fi uneori dezastruoase i
necesit folosirea unor protocoale speciale.
O ultim diferen ntre nivelurile legtur de date i transport este una de dimensionare i nu de
proiectare. Folosirea tampoanelor i controlul fluxului sunt necesare la amndou nivelurile, dar
prezena unui numr mare de conexiuni n cazul nivelului transport necesit o abordare diferit de
cea de la nivelul legtur de date. n capitolul 3, unele protocoale alocau un numr fix de tampoane
pentru fiecare linie, astfel nct atunci cnd sosea un cadru, exista ntotdeauna un tampon disponibil.
La nivel transport, numrul mare de conexiuni care trebuie s fie gestionate face ca ideea de a aloca
454
NIVELUL TRANSPORT
CAP. 6
tampoane dedicate s fie mai puin-atractiv. In urmtoarele seciuni, vom examina att aceste
probleme importante ct i altele.
6.2.1 Adresarea
Atunci cnd un proces aplicaie dorete s stabileasc o conexiune cu un proces aflat la distan,
el trebuie s specifice cu care proces dorete s se conecteze. (La protocoalele de transport
neorientate pe conexiune apare aceeai problem: cui trebuie trimis mesajul?). Metoda folosit n
mod normal este de a defini adrese de transport la care procesele pot s atepte cereri de conexiune.
n Internet acestea sunt perechi: adresa IP - port local; n schimb la reelele ATM perechile sunt
AAL - SAP. n continuare vom folosi pentru acestea termenul neutru TSAP (Transport Service
Access Point - punct de acces la serviciul de transport). Punctele similare n cazul nivelului reea
(adic adresele la nivel reea) sunt numite NSAP (Network Service Access Point). Adresele IP sunt
exemple de NSAP-uri.
Fig. 6-8 ilustreaz relaia ntre TSAP, NSAP, conexiunile reea i conexiunile transport pentru o
subreea orientat pe conexiune (de exemplu, ATM). Trebuie reinut c, n general, o entitate de
transport susine mai multe TSAP-uri. n unele reele exist mai multe NSAP-uri, dar n altele
fiecare main are un singur NSAP (de exemplu, o singur adres IP). Un scenariu posibil pentru
stabilirea unei conexiuni la nivel transport ntr-o reea orientat pe conexiune este urmtorul.
1.
2.
3.
4.
5.
Un proces server care furnizeaz ora exact i care ruleaz pe gazda 2 se ataeaz la TSAP
122 ateptnd un apel. Felul n care un proces se ataeaz la un TSAP nu face parte din
modelul de reea i depinde numai de sistemul de operare local. Poate fi utilizat un apel de
tip LISTEN din capitolul precedent.
Un proces aplicaie de pe gazda 1 dorete s afle ora exact; atunci el genereaz un apel
CONNECT specificnd TSAP 6 ca surs i TSAP 122 ca destinaie.
Entitatea de transport de pe gazda 1 selecteaz o adres de reea de pe propria main
(dac exist mai mult de una) i stabilete o conexiune reea. (La o subreea neorientat pe
conexiune nu s-ar face stabilirea acestei conexiuni la nivel reea). Folosind conexiunea la
nivel reea, entitatea de transport de la nivelul 1 poate s comunice cu entitatea de transport
de pe gazda 2.
Primul lucru pe care entitatea de transport de pe 1 l spune perechii sale de pe 2 este:
Salut, a dori s stabilim o conexiune transport ntre TSAP 6 la mine i TSAP 122 la
tine. Ce zici?"
Entitatea de transport de pe 2 ntreab serverul de or exact la TSAP 122 dac consimte s
accepte o nou conexiune. Dac da, conexiunea transport este stabilit.
Trebuie reinut c, la nivel transport, conexiunea leag un TSAP de altul, n timp ce conexiunea
reea leag dou NSAP-uri.
Figura 6-8 explic aproape tot, cu excepia unei mici probleme: cum tie procesul utilizator de pe
maina 1 c serverul de or exact este ataat la TSAP 122? O posibilitate este ca acest server de or
exact s se ataeze la TSAP 122 de ani de zile i, cu timpul, toi utilizatorii au aflat acest lucru. n
acest model serviciile au adrese TSAP fixe, care pot fi tiprite i date utilizatorilor noi atunci cnd
acetia intr n reea.
SEC. 6.2
455
Dar schema cu adrese de servicii fixe poate s funcioneze doar pentru un numr mic de
servicii cheie, a cror adres nu se schimb niciodat. ns, n general procesele utilizator vor
s comunice cu alte procese care exist numai pentru scurt timp i nu au o adres TSAP
dinainte cunoscut. Pe de alt parte, pot exista mai multe procese server, majoritatea utilizate
foarte rar, i ar fi neeconomic ca fiecare s fie activ i s asculte la o adres TSAP fix tot
timpul. Pe scurt, este necesar o soluie mai bun.
Gazda 1
Gazda 2
vv /
Nivel
r\
aplicaie V ^ S e r v e r
\ nceputul
conexiunii
transport
Nivel
transport
aplicaie
nceputul
conexiunii
reea
VsAP 122
y
^NSAP
Nivel
reea
NSAP
Nivel
legtur
de date
Nivel
fizic
Fizic
NIVELUL TRANSPORT
456
CAP. 6
Pentru a trata; aceast situaie, este des utilizat o soluie alternativ. n acest model exist un
proces special numit server de nume (name server sau, uneori, directory server). Pentru a gsi
adresa TSAP corespunztoare unui serviciu dat prin nume, aa cum este ora exact", utilizatorul
stabilete o conexiune cu serverul de nume (care ateapt mesaje la un TSAP cunoscut). Apoi
utilizatorul trimite un mesaj specificnd numele serviciului, iar serverul de nume i trimite napoi
adresa TSAP a acestuia. Dup aceasta, utilizatorul elibereaz conexiunea cu serverul de nume i
stabilete o nou conexiune cu serviciul dorit.
Gazda 2
Gazda 1
Gazda 1
Gazda 2
/Serven
pentru
l ora /
Nivel
Server dev--K
procese
/
TSAP
(a)
(b)
SEC. 6.2
457
Rspunsul depinde de structura adreselor TSAP. O posibilitate este ca adresele TAP s;fe
structurate ierarhic. n acest caz, o adres const dintr-o secven de cmpuri utilizate n aa fel,
nct s partiioneze disjunct spaiul de adrese. De exemplu, o adres cu adevrat universal ar putea
avea urmtoarea structur:
adres= <galaxie><stea><planet><ar><reea><calculator_gazd><port>
Utiliznd aceast schem, gsirea TSAP-ului dorit oriunde n univers este evident. La fel, dac
adresa TSAP este obinut prin concatenarea adresei NSAP i a unui identificator de port, atunci,
furnizndu-i-se entitii de transport o adres TSAP la care s se conecteze, ea va utiliza adresa
NSAP pentru a ajunge la entitatea de transport dorit.
Ca un exemplu simplu de adresare ierarhic, s considerm numrul de telefon 19076543210.
Acest numr poare fi citit ca 1-907-654-3210 unde 1 este codul de ar (Statele Unite), 907 este
prefixul regiunii (Alaska), 654 determin una din centralele din Alaska, iar 3210 determin un port
(linie abonat) n aceast central.
Alternativa spaiului de adrese ierarhic este un spaiu de adrese plat Dac adresele TSAP nu
sunt ierarhice, atunci un al doilea nivel de coresponden este necesar pentru a determina maina
indicat. Ar trebui s existe un server de nume care s primeasc adrese de la nivel transport i s
ntoarc adrese la nivel reea. n alte situaii ns (de exemplu, n reele locale) este posibil s se
difuzeze un mesaj, care i cere mainii destinaie s se identifice ea nsi prin trimiterea unui pachet.
6.2.2 Stabilirea unei conexiuni
Stabilirea unei conexiuni poate s par uoar dar, n realitate, este surprinztor de complicat.
La prima vedere, ar prea suficient ca o entitate de transport s trimit numai un TPDU
CONNECTION REQUEST i s atepte replica CONNECTION ACCEPTED . Problema apare
deoarece reeaua poate pierde, memora sau duplica pachete.
Putem imagina o subreea care este att de congestionat nct confirmrile ajung greu napoi, i,
din aceast cauz, fiecare pachet ajunge s fie retransmis de cteva ori. Putem presupune c
subreeaua folosete datagrame i fiecare pachet urmeaz un traseu diferit. Unele pachete pot s
ntlneasc o congestie local de trafic i s ntrzie foarte mult, ca i cum ar fi fost memorate de
subreea un timp i eliberate mai trziu.
Cel mai neplcut scenariu ar fi: un utilizator stabilete o conexiune cu o banc i trimite un mesaj
cernd transferul unei sume de bani n contul unei alte persoane n care nu poate avea ncredere.
Din nefericire, fiecare pachet din acest scenariu este duplicat i memorat n subreea. Dup ce
conexiunea a fost eliberat, pachetele memorate ies din subreea i ajung la destinatar, cernd bncii
s fac transferul (nc o dat). Banca nu poate s decid dac acestea sunt duplicate, ea trebuie s
presupun c este o tranzacie independent i va transfera banii nc o dat. n continuarea acestei
seciuni, vom studia problema duplicatelor ntrziate, punnd accentul n mod special pe algoritmii
pentru stabilirea sigur a conexiunilor, astfel nct scenarii ca cel de mai sus s nu poat s apar.
Dup cum am mai spus, punctul crucial al problemei este existena duplicatelor ntrziate.
El poate fi tratat n mai multe feluri, dar nici unul nu este ntr-adevr satisfctor. O
posibilitate este de a utiliza adrese de transport valabile doar pentru o singur utilizare. n
aceast abordare, ori de cte ori este necesar o adres la nivel transport, va fi generat una
458
NIVELUL TRANSPORT
CAP. 6
nou. Dup ce conexiunea este eliberat, adresa nu mai este folosit. Acest mecanism face
ns modelul cu server de procese din Fig. 6-9 imposibil.
O alt posibilitate este de a atribui fiecrei conexiuni un identificator (adic, un numr de
secven incrementat pentru fiecare conexiune stabilit), ales de cel care iniiaz conexiunea, i pus
n fiecare TPDU, inclusiv n cel care iniiaz conexiunea. Dup ce o conexiune este eliberat, fiecare
entitate de transport va completa o tabel cu conexiunile care nu mai sunt valide (perechi entitate de
transport, identificator conexiune). Ori de cte ori apare o cerere de conexiune se va verifica n
tabel c ea nu aparine unei conexiuni care a fost eliberat anterior.
Din nefericire, aceast schem are un defect important: ea necesit ca fiecare entitate de
transport s menin informaia despre conexiunile precedente un timp nedefinit. Dac o
main cade i i pierde datele din memorie, ea nu va mai ti care identificatori de conexiune
au fost deja utilizai.
Putem ncerca i o alt soluie. n loc s permitem pachetelor s triasc la nesfrit n subreea,
putem inventa un mecanism care s elimine pachetele mbtrnite. Dac suntem siguri c nici un
pachet nu poate s supravieuiasc mai mult de un anume interval de timp cunoscut, problema
devine ceva mai uor de rezolvat.
Durata de via a pachetelor poate fi limitat la un maxim cunoscut, folosind una din
urmtoarele tehnici:
1.
2.
3.
Prima metod include soluiile care mpiedic pachetele s stea n bucl, combinate cu
modaliti de a limita ntrzierile datorate congestiilor, pe orice cale din reea (indiferent de
lungime). A doua metod const n a aduga la fiecare pachet un contor incrementat la
trecerea prin orice nod. Protocolul de nivel legtur de date pur i simplu elimin pachetele al
cror contor a depit o anumit valoare. A treia metod necesit ca ceasurile de la fiecare
ruter s fie sincronizate, i aceast cerin n sine este destul de greu de ndeplinit (mai uor
este dac sincronizarea ceasurilor se obine din exteriorul reelei, de exemplu toate staiile
ascult periodic ora exact transmis la radio).
In practic, nu este suficient doar s garantm c pachetul este eliminat, ci trebuie garantat
i c toate confirmrile sale au fost eliminate, astfel nct vom introduce T, care va fi un
multiplu (mic) al duratei maxime de via a unui pachet. Depinde de protocol de cte ori T
este mai mare dect durata de via a unui pachet. Dac ateptm un timp T dup trimiterea
unui pachet putem fi siguri c toate urmele sale au disprut i nici el, nici vreo confirmare de-a
sa nu vor aprea din senin, doar ca s complice lucrurile.
Folosind durata de via limitat a pachetelor, exist metode de a obine conexiuni sigure a
cror corectitudine a fost demonstrat. Metoda descris n cele ce urmeaz este datorat lui
Tomlinson (1975). Ea rezolv problema, dar introduce cteva particulariti proprii. Metoda a
fost mbuntit de Sunshine i Dalai (1978). Variante ale sale sunt mult folosite n practic.
Pentru a ocoli problemele generate de pierderea tuturor datelor din memoria unei maini dup
o cdere, Tomlinson propune echiparea fiecrei maini cu un ceas. Nu este nevoie ca ceasurile de pe
maini diferite s fie sincronizate. Fiecare ceas va fi de fapt un contor binar care se
fsEG.6.2
459
L, ^giacrementeaz dup un anumit interval de timp. n plus, numrul de bii aijcontorului trebuie s
* fie cel puin egal cu numrul de bii al numerelor de secven. n cele din urm, i cei mai important,
- ceasul trebuie s continue s funcioneze chiar n cazul n care calculatorul gazd cade.
' Ideea de baz este de a fi siguri c dou TPDU numerotate identic nu pot fi generate n acelai
timp. Atunci cnd conexiunea este iniiat, k bii mai puin semnificativi ai ceasului sunt folosii ca
numr iniial de secven (tot k bii). Astfel, fiecare conexiune ncepe s-i numeroteze TPDU-urile
sale cu un numr de secven diferit. Spaiul numerelor de secven ar trebui s fie suficient de mare
pentru ca, n timpul scurs pn cnd contorul ajunge din nou la acelai numr, toate TPDU-urile
vechi cu acel numr s fi disprut deja. Aceast relaie ntre timp i numrul de secven iniial este
explicat n Fig. 6-10.
V
120
2-1
im
i *
o
3 80
70
| 60
Repornire dup
cdere cu numr
de secven 70
')
30
. 1 1 I 1
60 90 120 150 180
Timp
(a)
Numer e de secver
Mesaj
refuzat
//
Numere de
secven folosite
efectiv
Timp
(b)
460
NIVELUL TRANSPORT
CAP.S
SEC. 6.2
461
Gazda 2
Gazda 1
Gazda 2
Duplicat vechi
Gazda1
Gazda 2
Duplicat vechi
Duplicat vechi
^cr
% V)
(O
Fig. 6-11. Trei scenarii posibile de stabilire a conexiunii pentru un protocol cu nelegere n trei
pai. CR i ACK reprezint CONNECTION REQUEST i, respectiv, CONNECTION
ACCEPTED (a) Cazul normal, (b) Un duplicat vechi al unui mesaj CONNECTION
REQUEST apare cnd nu trebuie, (c) Sunt duplicate att CONNECTION REQUEST
ct i CONNECTION ACCEPTED.
n cel mai ru caz, att CONNECTION REQUEST ct i CONNECTION ACCEPTED
sunt copii ntrziate. Acest caz este prezentat n 6-1 l(c). Ca i n exemplul precedent, gazda 2
primete o CONNECTION REQUEST ntrziat i rspunde la ea. n acest moment este
NIVELULTRANSPORT
462
CAP. 6
Eliberarea unei conexiuni este mai uoar dect stabilirea ei. Totui, exist mai multe dificulti
dect ne-am atepta. Aa cum am mai amintit, exist dou moduri de a termina o conexiune:
eliberare simetric i eliberare asimetric. Sistemul telefonic folosete eliberarea asimetric: atunci
cnd unul din interlocutori nchide, conexiunea este ntrerupt. Eliberarea simetric privete
conexiunea ca pe dou conexiuni separate unidirecionale i cere ca fiecare s fie eliberat separat.
Gazda 1
Gazda 2
a
E
Datele nu mai
sunt livrate dup
o cerere de deconetare
SEC. 6.2
463
Eliberarea simetric este util atunci cnd fiecare proces are o cantitate fix d& date de trimis i
tie bine cnd trebuie s transmit i cnd a terminat. In alte situaii ns, nu este deloc uor de
determinat cnd trebuie eliberat conexiunea i cnd a fost trimis tot ce era de transmis. S-ar putea
avea n vedere un protocol de tipul urmtor: atunci cnd 1 termin, trimite ceva de tipul: Am
terminat. Ai terminat i tu?" Dac gazda 2 rspunde: Da, am terminat. nchidem!" conexiunea
poate fi eliberat n condiii bune.
Din nefericire, acest protocol nu merge ntotdeauna. Binecunoscuta problem a celor dou
armate este similar acestei situaii: s ne imaginm c armat alb i-a pus tabra ntr-o vale (ca n
Fig. 6-13) Pe amndou crestele care mrginesc valea sunt armatele albastre. Armata alb este mai
mare dect fiecare din cele dou armate albastre, dar mpreun armatele albastre sunt mai
puternice. Dac oricare din armatele albastre atac singur, ea va fi nfrnt, dar dac ele atac
simultan, atunci vor fi victorioase.
Armata
albastr #2
464
NIVELUL TRANSPORT
CAP. 6
SEC 6.2
Gazda 2
Gazda 1
Gazda 2
Trimite DR
+pornire ceas
Trimite DR
+pornire ceas
Trimite DR
+pornire ceas
Trimite DR
+pornire ceas
Eliberare
conexiune
Eliberare
conexiune
Trimite ACK
Eliberare
conexiune
"
Trimite ACK
(a)
Trimite DR
+pornire ceas
Trimite DR &
(Expirarea " ^ e r d u t | r
timpului)
trimite DR
+pornire ceas
Gazda 1
Trimite
DR &
1 I I I * V m^ * v^%
pornire ceas
Trimite DR &
pornire ceas
(Expirarea
timpului)
trimite DR
+pornire ceas
(O
Gazda 2
Trimite DR
+pornire ceas
pornire ceas
Eliberare
conexiune
ACK
Expirarea
timpului
Eliberare
conexiune
(b)
Gazda 2
Gazda 1
Trimite ACK
465
^PierdutC
Eliberare
conexiune
(Expirarea
timpului)
Eliberare
conexiune
(N Expirri
de timp)
Eliberare
conexiune
(d)
Fig. 6-14. Patru cazuri posibile la eliberarea conexiunii: (a)Cazul normal cu confirmare n trei
timpi. (b)Ultima confirmare este pierdut, (c) Rspunsul este pierdut.
(d) Rspunsul i urmtoarele cereri de deconectare sunt pierdute.
(DR=DISCONNECT REQUEST).
O alt posibilitate de a scpa de conexiunile pe jumtate deschise este de a aplica o regul de
tipul: dac nici un TPDU nu sosete ntr-un anumit interval de timp, atunci conexiunea este
eliberat automat. n acest fel, dac una din pri se deconecteaz, cealalt parte va detecta lipsa de
activitate i se va deconecta i ea. Desigur, pentru a implementa aceasta regul este nevoie ca fiecare
entitate de transport s aib un ceas cstre va fi fepornit la trimiterea oricrui TPDU. La expirarea
timpului, se transmite un TPDU vid, doar pentru a menine conexiunea deschis. Pe de alt parte,
466
NIVELUL TRANSPORT
CAP. 6 i
dac este aleas aceast soluie, i cteva TPDU-uri vide sunt pierdute la rnd pe o conexiune altfel .;
liber, este posibil ca, mai nti una din pri, apoi cealalt s se deconecteze automat.
Nu vom mai continua s detaliem acest subiect, dar probabil c acum este clar c eliberarea unei
conexiuni nu este att de simpl cum prea la nceput.
6.2.4 Controlul fluxului i memorarea temporar (buffering)
Dup ce am studiat n detaliu stabilirea i eliberarea conexiunii, vom arunca o privire asupra
modului n care sunt tratate conexiunile ct timp sunt utilizate. Una din problemele cheie a aprut i
pn acum: controlul fluxului. La nivel transport exist asemnri cu problema controlului fluxului
la nivel legtur de date, dar exist i deosebiri. Principala asemnare: la ambele niveluri este
necesar un mecanism (fereastr glisant sau altceva) pentru a mpiedica un emitor prea rapid s
depeasc capacitatea de recepie a unui receptor prea lent. Principala deosebire: un ruter are n
general puine linii, dar poate s aib numeroase conexiuni. Aceast diferen face nepractic
implementarea la nivel transport a strategiei de memorare temporar a mesajelor folosit la nivel
legtur de date.
n protocoalele pentru legtura de-date prezentate n capitolul 3, cadrele sunt memorate
temporar att de rutenii care emite ct i de cel care recepioneaz. n protocolul 6, de exemplu, att
emitorul ct i receptorul au alocate un numr de MaxSeq+1 tampoane pentru fiecare linie,
jumtate pentru intrri i jumtate pentru ieiri. Pentru un calculator gazd cu, s spunem, 64 de
conexiuni i numere de secven de 4 bii, acest protocol ar necesita 1024 tampoane.
La nivel legtur de date, emitorul trebuie s memoreze cadrele transmise, pentru c poate fi
necesar retransmiterea acestora. Dac subreeaua ofer un serviciu datagram, atunci entitatea de
transport emitoare va trebui s memoreze pachetele trimise din aceleai motive. Dac receptorul
tie c emitorul stocheaz toate TPDU-urile pn cnd acestea sunt confirmate, el poate s aloce
sau nu tampoane specifice fiecrei conexiuni. Receptorul poate, de exemplu, s rezerve un singur
grup de tampoane pentru toate conexiunile. La sosirea unui TPDU se face o ncercare de a obine
dinamic un nou tampon. Dac un tampon este liber, atunci TPDU-ul este acceptat, altfel, este
refuzat. Cum emitorul este gata s retransmit TPDU-urile pierdute de subreea, faptul c unele
TPDU-uri sunt refuzate nu produce nici o daun, dei n acest fel sunt risipite resurse. Emitorul
va retransmite pn cnd va primi confirmarea.
Pe scurt, dac serviciul reea nu este sigur, emitorul va trebui s memoreze toate TPDUurile trimise, la fel ca la nivel legtur de date. Totui, folosind un serviciu la nivel reea sigur
sunt posibile unele compromisuri. n particular, dac emitorul tie c receptorul are
ntotdeauna tampoane disponibile, atunci nu trebuie s pstreze copiile TPDU-urilor trimise.
Totui, dac receptorul nu poate garanta c orice TPDU primit va fi acceptat, emitorul va
trebui s pstreze copii. n ultimul caz, emitorul nu poate avea ncredere n confirmarea
primit la nivel reea, deoarece aceasta confirm sosirea TPDU-ului la destinaie, dar nu i
acceptarea lui. Vom reveni asupra acestui punct important mai trziu.
Chiar dac receptorul va realiza memorarea temporar a mesajelor primite, mai rmne
problema dimensiunii tamponului. Dac cea mai mare parte a TPDU-urilor au aceeai dimensiune
este natural organizarea tampoanelor ntr-o resurs comun care conine tampoane de aceeai
dimensiune, cu un TPDU per tampon, ca n Fig. 6-15(a). Dac ns dimensiunea TPDU-urilor
variaz de la cteva caractere tiprite la un terminal, la mii de caractere pentru un transfer de fiiere,
SEC. 6.2
467
TPDU1
TPDU 2
} TPDU 3
(a)
(b)
>- TPDU 4
Spaiu
nefolosit
.\
(0
Fig. 6-15. (a) Tampoane de dimensiune fix nlnuite, (b) Tampoane de
dimensiune variabil nlnuite, (c) Un tampon circular pentru fiecare conexiune.
O alt soluie este utilizarea unor tampoane de dimensiune variabil, ca n Fig. 6-15(b).
Avantajul este o mai bun utilizare a memoriei, cu preul unei gestiuni a tampoanelor mai
complicat. O a treia posibilitate este alocarea unui singur tampon circular pentru fiecare conexiune,
ca n Fig. 6-15(c). Aceast soluie are de asemenea avantajul unei utilizri eficiente a memoriei, dar
numai n situaia n care conexiunile sunt relativ ncrcate.
Compromisul optim ntre memorarea temporar la surs sau la destinaie depinde de tipul
traficului prin conexiune. Pentru un trafic n rafal cu o band de transfer ngust, ca traficul produs
de un terminal interactiv, este mai bine ca tampoanele s nu fie prealocate, ci mai curnd, alocate
dinamic. ntruct emitorul nu poate s fie sigur c receptorul va reui s aloce un tampon la sosirea
unui pachet, emitorul va fi nevoit s rein copia unui TPDU transmis pn cnd acesta va fi
confirmat. Pe de alt parte, pentru un transfer de fiiere sau pentru orice alt trafic care necesit o
band de transfer larg este mai bine dac receptorul aloc un set ntreg de tampoane, pentru a
permite urr flux de date la vitez maxim. Cu alte cuvinte, pentru un trafic n rafal cu o band de
transfer ngust este mai bine s fie folosite tampoane la emitor, n timp ce pentru un trafic
continuu cu o band de transfer larg, este mai eficient folosirea tampoanelor la receptor.
468
NIVELUL TRANSPORT
CAP. 6
SEC. 6.2
Mesajul
-*
6
7
8
*
-
9
10
~*
11
12
13
14
15
16
1
2
3
4
5
469
Comentarii
A cere 8 tampoane
B l acord tampoane numai de la 0 la 3
A mai are 3 tampoane libere
A mai are 2 tampoane libere
Mesaj pierdut, dar A crede c mai are un
singur tampon liber
B confirm 0 i 1 i permite 2-4
A mai are tampoane
A nu mai are tampoane libere i trebuie
s se opreasc
A retransmite la expirarea intervalului de timp
Toate mesajele sunt confirmate, dar A este
n continuare blocat
A poate s l trimit acum pe 5
B a mai gsit un tampon
A mai are un tampon liber
A este blocat din nou
A este blocat n continuare
Posibil interblocare
NIVELUL TRANSPORT
470
CAP. 6
subreelei i nu rata mic de emisie. Timpul necesar pentru ca un TPDU transmis s fie confirmat
poate fi msurat cu exactitate i media poate fi calculat continuu. Deoarece capacitatea de
transport a reelei depinde de trafic, dimensiunea ferestrei trebuie ajustat frecvent pentru a urmri
schimbrile n capacitatea de transport. Aa.cum vom vedea mai departe, n Internet se folosete un
mecanism similar.
6.2.5 Multiplexarea
Multiplexarea mai multor conversaii pe conexiuni, circuite virtuale i legturi fizice joac un rol
important n mai multe niveluri ale arhitecturii reelei. n cazul nivelului transport, multiplexarea
poate fi necesar din mai multe motive. De exemplu, n reelele care folosesc circuite virtuale n
subreea, fiecare conexiune consum spaiu n tabelele ruterelor pe toat durata de via a
conexiunii. Dac exist i tampoane dedicate circuitului virtual n fiecare ruter, atunci un utilizator
care las un terminal de teleprelucrare (remote terminal) deschis n timpul pauzei de cafea consum
resurse costisitoare. Dei aceast manier de implementare ignor unul din principalele motive care
au condus la comutarea de pachete, i anume c utilizatorul trebuie facturat pornind de la cantitatea
de date trimise i nu de la timpul de conectare, muli furnizori de servicii au ales aceast abordare
datorit asemnrii cu modelul comutrii de circuite pe care l-au folosit decenii de-a rndul.
Nivel
4
3
Adres la nivel
transport
/
|*
Adres la
nivel reea
A
Liniile
ruterului
(a)
(b)
SEC. 6.2
471
nivelului transport s grupeze mai multe conexiuni transport pe un numr minim de conexiuni reea.
Dac prea multe conexiuni transport corespund aceleiai conexiuni reea, atunci performanele vor
fi proaste, deoarece fereastra va fi n general plin i un utilizator va avea de ateptat pn s-i vin
rndul s transmit un mesaj. Dac unei conexiuni reea i corespund prea puine conexiuni
transport, atunci serviciul va fi scump. Atunci cnd multiplexarea n sus este utilizat mpreun cu
ATM, apare situaia ironic (tragic?) n care un cmp al antetului la nivel transport este folosit
pentru a identifica conexiunea, dei ATM furnizeaz, exact n acelai scop, mai mult de 400 numere
de circuite virtuale pentru o cale virtual.
Multiplexarea poate s fie util nivelului transport i din alt motiv, legat de deciziile tehnice
si nu de politica de preuri ca pn acum. S presupunem c un utilizator foarte important are
nevoie, din cnd n cnd, de o conexiune cu o lime de band mare. Dac subreeaua
realizeaz un control al fluxului cu fereastr glisant, cu un numr de .secven pe n bii, atunci
n
utilizatorul, trebuie s se opreasc cnd 2 -l pachete ateapt confirmare i trebuie s atepte
pn cnd pachetele sunt propagate ctre gazda aflat la distan i sunt confirmate. n cazul
n care conexiunea fizic se face prin satelit, utilizatorul este de fapt limitat la 2n-l pachete la
fiecare 540 msec. Pentru n=8 i pachete de 128 bii, limea de band utilizabil este de
aproximativ 484 Kbps, dei limea de band a canalului fizic este de 100 de ori mai mare.
O soluie posibil este ca nivelul transport s deschid mai multe conexiuni reea i s distribuie
traficul prin acestea (ntr-un sistem round-robin), la fel ca n Fig. 6-17(b). Acest mod de operare se
numete multiplexare n jos. n cazul a k conexiuni reea deschise limea de band real este
multiplicat cu un factor k. Folosind 4095 circuite virtuale, pachete de 128 bii i un numr de
secven pe 8 bii, este teoretic posibil s se obin rate de transfer care depesc 1.6 Gbps. Aceste
performane nu pot fi stabilite dect dac linia de ieire suport 1.6 Gbps, deoarece toate cele 4095
circuite sunt multiplexate pe aceeai linie fizic, cel puin n Fig. 6-17(b). Dac sunt disponibile mai
multe linii de ieire, multiplexarea n jos poate fi utilizat pentru a mri i mai mult performanele.
6.2.6 Refacerea dup cdere
n cazul n care calculatoarele gazd sau ruterele se ntmpl s cad, recuperarea dup o
astfel de cdere devine o problem. Dac entitatea de transport este n ntregime coninut de
calculatorul gazd, atunci revenirea dup o cdere a reelei sau a unui ruter este simpl. Dac
nivelul reea furnizeaz un serviciu datagram, atunci entitatea de transport tie s rezolve
problema TPDU-urilor pierdute. Dac nivelul reea furnizeaz un serviciu orientat pe
conexiune, atunci pierderea unui circuit virtual este tratat stabilind un circuit virtual nou i
apoi ntrebnd entitatea de transport aflat la distan care TPDU-uri a primit deja i ce
TPDU-uri nu. Acestea din urm pot fi retransmise.
Cderea unui calculator gazd pune o problem mult mai suprtoare. n particular,
clienii pot dori s continue s lucreze imediat dup ce serverul cade i repornete. Pentru a
ilustra aceast dificultate, s presupunem c o gazd (clientul) trimite un fiier lung unei alte
gazde (serverul) folosind un protocol simplu de tip pas-cu-pas (stop-and-wait). Nivelul
transport de pe server nu face dect s paseze utilizatorului TPDU-urile primite, unul cte
unul. Dac n timpul transmisiei serverul cade, la revenirea acestuia tabelele sunt reiniializate
i serverul nu va mai ti precis unde a rmas.
NIVELUL TRANSPORT
472
CAP. 6
ntr-o ncercare de a reveni n starea sa iniial, serverul ar putea s trimit cereri tuturor
celorlalte gazde anunnd c tocmai s-a refcut dup o cdere i cernd clienilor s-1 informeze
despre situaia tuturor conexiunilor deschise. Fiecare client poate fi n una din urmtoarele stri: un
TPDU neconfinnat (starea SI) sau nici un TPDU neconfirmat (starea SO). Bazndu-se numai pe
aceast informaie, clientul trebuie s decid dac s retransmit sau nu cel mai recent TPDU.
La prima vedere pare evident: atunci cnd afl de cderea i revenirea serverului, clientul trebuie
s retransmit doar dac are TPDU-uri neconfirmate (adic este n starea SI). Totui, o privire mai
atent descoper dificultile care apar n aceast abordare naiv. S considerm, ca exemplu,
situaia n care entitatea de transport de pe server trimite mai nti confirmarea i apoi, dup ce
confirmarea a fost trimis, paseaz datele procesului aplicaie. Trimiterea confirmrii i transferul
datelor procesului aplicaie sunt dou evenimente distincte, indivizibile i care nu pot avea loc
simultan. Dac o cdere a serverului are loc dup trimiterea confirmrii, dar nainte de transferul
datelor, clientul va primi confirmarea i se va afla n starea SO, atunci cnd anunul despre cdere
ajunge la el. n acest caz, clientul nu va mai retransmite (ceea ce este incorect), creznd c TPDU-ul
respectiv a fost recepionat. Aceast decizie a clientului va conduce la lipsa unui TPDU.
n acest moment s-ar putea spune: Nimic mai simplu! Tot ceea ce trebuie fcut este s
reprogramm entitatea de transport astfel, nct s transfere datele mai nti i s trimit
confirmarea dup aceea!". S vedem: dac transferul datelor a avut loc, dar serverul cade nainte s
trimit confirmarea, clientul va fi n starea SI, va retransmite i astfel vom avea un TPDU duplicat n
fluxul de date ctre procesul aplicaie.
Oricum ar fi proiectai emitorul i receptorul, ntotdeauna vor exista situaii n care revenirea
dup o cdere nu se va face corect. Serverul poate fi programat n dou feluri: s fac mai nti
confirmarea sau s transfere mai nti datele. Qientul poate fi programat n patru feluri: s
retransmit ntotdeauna ultimul TPDU, s nu retransmit niciodat, s retransmit numai n starea
SO, s retransmit numai n starea SI. Rezult astfel opt combinaii, dar, aa cum vom vedea, pentru
fiecare combinaie exist o anumit succesiune de evenimente pentru care protocolul nu
funcioneaz corect.
Strategia folosit de receptor
Mai nti confirm, apoi transfer
te-
Strategia folosit de
emitor
AC(T)
ATC
C(AT)
C(TA)
TAC
TC(A)
Retransmite ntotdeauna
OK
DUP
OK
OK
DUP
DUP
Nu retransmite niciodat
LOST
OK
LOST
LOST
OK
OK
Retransmite n SO
OK
DUP
LOST
LOST
DUP
OK
Retransmite n S1
LOST
OK
OK
OK
OK
DUP
SEC. 6.3
473
La server sunt posibile trei evenimente: trimiterea unei confirmri (A), transferul datelor la
procesul aplicaie (T) i cderea (C). Aceste trei evenimente pot s fie ordonate n 6 feluri: AC(T),
ATC, C(AT), C(TA), TAC i TC(A). Parantezele sunt folosite pentru a indica faptul c nici A, nici
T nu pot urma dup C (odat ce serverul a czut, e bun czut). Fig. 6-18 prezint toate cele opt
combinaii ale strategiilor clientului i serverului i prezint secvenele valide pentru fiecare din ele.
pe reinut c pentru orice strategie exist o secven de evenimente pentru care protocolul nu
funcioneaz corect. De exemplu, dac clientul retransmite ntotdeauna, secvena ATC va genera un
duplicat care nu poate fi detectat, n timp ce pentru celelalte dou secvene totul este n regul.
ncercarea de a reproiecta mai minuios protocolul nu ajut. Chiar dac clientul i serverul
schimb mai multe TPDU-uri nainte ca serverul s transfere datele, astfel nct clientul tie
exact ceea ce se petrece pe server, nu poate afla dac serverul a czut imediat nainte sau
imediat dup transferai datelor. Concluzia se impune de la sine: dat fiind condiia de baz ca
dou evenimente s nu fie simultane, revenirea dup o cdere nu poate fi fcut transparent
pentru nivelurile superioare.
n termeni mai generali, acest rezultat poate fi reformulat astfel: restartarea dup o cdere
a nivelului N nu poate fi fcut dect de ctre nivelul N + l , i aceasta doar dac nivelul
superior reine suficient informaie de stare. Aa cum am artat mai sus, nivelul transport
poate s revin dup erorile nivelului reea numai dac fiecare capt al conexiunii ine minte
unde a rmas.
Am ajuns astfel la problema definirii precise a ceea ce nseamn o confirmare capt-a-capt n
principiu, protocolul de transport este unul capt-la-capt i nu nlnuit ca la nivelurile de mai jos.
S considerm cazul unui utilizator care genereaz cereri de tranzacii pentru o baz de date de la
distan. S presupunem c entitatea de transport aflat la distan este programat s trimit mai
nti TPDU-ul nivelului superior i apoi s confirme. Chiar i n acest caz, primirea unei confirmri
de ctre maina utilizator nu nseamn neaprat c maina gazd de la distan a avut timp s
actualizeze baza de date. De fapt, o adevrat confirmare capt-la-capt, a crei primire arat c sau efectuat toate prelucrrile de ctre maina de la distan, este probabil imposibil de obinut.
Acest subiect este discutat n detaliu de Saltser .a. (1984).
474
NIVELUL TRANSPORT
CAP. 6
Atunci cnd un proces dorete s accepte conexiuni, el face un apel lisen specificnd un anumit
TSAP pe care l ascult. Dup aceasta, procesul este blocat pn cnd un proces aflat la distan
ncearc s stabileasc o conexiune cu TSAP-u la care ateapt.
De observat c acest model este asimetric. O parte este pasiv, executnd listen i ateptnd ca
ceva s se ntmple. Cealalt parte este activ i iniiaz conexiunea. O ntrebare interesant este: ce
trebuie fcut dac partea activ ncepe prima?. O posibilitate este ca ncercarea de conectare s nu
reueasc dac nu exist nici un proces care s asculte la TSAP-ul aflat la distan. O alt posibilitate
este ca iniiatorul s se blocheze (eventual pentru totdeauna) pn cnd apare un proces care s
asculte Ia TSAP-ul aflat la distan.
Un compromis folosit n exemplul nostru este pstrarea cererii de conexiune la receptor pentru
un anumit interval de timp. Dac un proces de pe acest calculator gazd apeleaz lisen nainte ca
timpul s expire, atunci conexiunea este stabilit, altfel conexiunea este refuzat i apelantul este
deblocat ntorcnd un cod de eroare.
Pentru a elibera o conexiune vom folosi un apel disconnect. Atunci cnd ambele pri s-au
deconectat, conexiunea este eliberat. Cu alte cuvinte, folosim un modei de deconectare simetric.
Transmisia de date are exact aceeai problem ca i stabilirea conexiunii: emitorul este activ,
dar receptorul este pasiv. Vom folosi aceeai soluie pentru transmisia de date ca i pentru stabilirea
conexiunii, adic un apel activ sen care trimite datele i un apei pasiv receive care blocheaz pn
cnd sosete un TPDU.
Definiia concret a serviciului const astfel din cinci primitive: CONNECT, LSTEN,
DISCONNECT, SEND i RECEVE. Fiecare primitiv corespunde unei funcii de bibliotec
care execut acea primitiv. Parametrii pentru primitive i funciile de bibliotec sunt:
connum = LlSTEN(local)
connum = CONNECT (local, remote)
staus = SEND(connum, buffer, bytes)
satus = RECEIVE(connum, buffer, byesj
staus = DISCONNECT(connum)
Primitiva LISTEN anun disponibilitatea serverului de a accepta cereri de conexiune ia TSAPul indicat. Utilizatorul primitivei este blocat pn cnd se face o ncercare de conectare la TSAP-u
specificat. Blocarea poate s fie definitiv.
Primitiva CONNECT are doi parametri, un TSAP local (adic o adres la nivel transport) i un
TSAP aflat la distant si ncearc s stabileasc o conexiune ntre acestea dou. Dac reuete, ea
ntoarce connum, un numr nenegativ utilizat pentru a identifica conexiunea. Dac nu reuete,
motivul este pus n connum ca un numr negativ. n modelul nostru (destul de simplu), fiecare
TSAP poate s participe la cel mult o singur conexiune de transport, deci un motiv pentru refuzul
unei cereri de conectare poate fi c adresa la nivel transport este deja folosit. Cteva alte motive
pot fi: gazda de la distan czut, adres local incorect sau adres de la distan incorect.
Primitiva SEND trimite coninutul unui tampon ca un mesaj pe conexiunea indicat, eventual
divizndu-1 n mai multe uniti, dac este prea mare. Erorile posibile, ntoarse n status, pot fi: nu
exist conexiune, adres de tampon invalid sau numr de bii negativ.
Primitiva RECEIVE indic faptul c apelantul ateapt s recepioneze date. Dimensiunea
mesajului este plasat n cmpul byes. Dac procesul aflat la distan a eliberat conexiunea sau
SEC. 6.3
475
dac adresa pentru tampon este incorect (de exemplu, n afara spaiului de adrese ai
programului utilizator), funcia va ntoarce un cod de eroare indicnd natura problemei.
Primitiva DISCONNECT pune capt unei conexiunii transport indicate prin parametrul
connum. Erori posibile sunt: connum aparine de fapt altui proces sau connum nu este un
identificator valid de conexiune. Codul de eroare sau 0 pentru succes sunt returnate n staus.
6.3.2 Entitatea de transport aleas ca exemplu
nainte de a studia programul aferent entitii de transport, trebuie spus c acesta este un
exemplu similar celor din capitolul 3: este prezentat mai mult n scop pedagogic dect pentru a fi
utilizat. Mai multe detalii tehnice (precum detectarea extensiv a erorilor) care ar fi necesare unui
produs real au fost lsate deoparte pentru simplitate.
Nivelul transport utilizeaz primitivele serviciului reea pentru a trimite i recepiona TPDU-mi.
Trebuie s alegem primitivele serviciului reea pe care Ie vom utiliza pentru acest exemplu. O
posibilitate ar fi fost: un serviciu datagram nesigur. Nu am fcut aceast aiegere pentru a pstra
simplitatea exemplului. Folosind un serviciu datagram nesigur, codul pentru entitatea de transport
ar fi devenit foarte mare i complicat, n cea mai mare parte legat de pachete pierdute sau ntrziate.
Mai mult, cea mai mare parte a ideilor au fost deja discutate n capitolul 3.
Am ales n schimb un serviciu reea sigur, orientat pe conexiune. n acest fel ne putem concentra
asupra problemelor puse de nivelul transport care nu apar n nivelurile inferioare. Acestea includ,
ntre altele, stabilirea conexiunii, eliberarea conexiunii i gestiunea tampoanelor. Un serviciu de
transport simplu, construit peste un nivel reea ATM, ar putea s semene cu acesta.
n general, entitatea de transport poate s fie parte a sistemului de operare a!
calculatorului gazd sau poate s fie un pachet de funcii de bibliotec n spaiul de adrese
utilizator. De asemenea, ea poate s fie coninut de un cip coprocesor sau de placa de reea.
Pentru simplitate, exemplul nostru a fost programat ca i cum entitatea de transport ar fi un
pachet de funcii de bibliotec, dar schimbrile necesare pentru a o face parte a sistemului de
operare sunt minime (fiind n principal legate de modul cum sunt adresate tampoanele).
Merit remarcat faptul c, n acest exemplu, entitatea de transport nu este o entitate separat, ci
este o parte a procesului utilizator. Mai precis, atunci cnd utilizatorul folosete o primitiv blocant,
de exemplu LISTEN, se blocheaz toat entitatea de transport. n timp ce aceast arhitectur este
potrivit pentru un calculator gazd cu un singur proces utilizator, pentru un calculator gazd cu mai
muli utilizatori este normai ca entitatea de transport s fie un proces separat, distinct de toate
celelalte procese.
Interfaa cu nivelul reea se face prin intermediul procedurilor tojie i fromjiet. Fiecare are
ase parametri. Primul este identificatorul conexiunii, care este n coresponden bijectiv cu
circuitul virtual la nivel reea. Apoi urmeaz biii Q i M care, atunci cnd au valoarea 1, indic
mesaje de control i, respectiv, faptul c mesajul continu i n urmtorul pachet. Dup acestea
urmeaz tipul pachetului, ales dintr-un set de ase tipuri de pachete prezentate n Fig. 6-19. La
sfrit se gsete un indicator ctre zona de date i un ntreg care indic numrul de octei de date.
La apelurile to_ne, entitatea de transport completeaz toi parametrii pentru ca nivelul reea s-i
poat citi; la apelurile fromjiet nivelul reea dezasambleaz un pachet sosit pentru entitatea de
transport. Transferul informaiei sub forma unor parametri ai unei proceduri i nu a pachetului de
trimis sau de recepionat protejeaz nivelul transport de toate detaliile protocolului nivelului reea.
NIVELUL TRANSPORT
:AP.6
Dac entitatea de transport ncearc s trimit un pachet atunci cnd fereastra corespunztoare a
circuitului virtual este plin, ea va fi blocat ntr-un apel tojiet pn cnd va fi spaiu n fereastr.
Mecanismul este transparent pentru entitatea de transport i este controlat de nivelul reea prin
comenzi ca enabkjransportjayer i disablejransportjayer, anaioage celor descrise n protocoalele
din capitolul 3. Gestionarea ferestrei de pachete este fcut de nivelul reea.
Tip pachet
CALL_REQUEST
CAIL.ACCEPTED
CLEAR_REQUEST
CIEAFLCQNRRMTSON
DATA
CREDIT
Explicaii
Trimis pentru a stabili conexiunea
, Rspuns Ia CALL_ REQUEST
Trimis pentru a elibera conexiunea
___
CLEAR_REQUEST
Pentru transport de dae
Pachet de control pentru gestionarea ferestrei
#include
#i!ic]ude
#include
#include
#inc1ude
#inc1ude
MAX_C0NN 32
MAX_MSG_SIZE 8192
MAX_PKT_SIZE 512
TIMEOUT 20
CRED 1
OK 0
#indude
#inc!ude
#indude
#include
ERRJULL -l
ERRJEJECT -2
ERR_CLOSED -3
LOW ERR -3
SEC. 6.3
477
struct conn {
transport_address local_address5 remote_address;
cstate state;
/* starea conexiunii */
unsigned char *user_buf_addr;
/* indicator la ablonul de recepie */
int byte_count;
/* contor de emisie/recepie*/
int clr_req_received;
/* setat atunci cnd este primit un pachet CLEAR_REQ*/
int timer;
^
/* folosit pentru a evita ateptrile infinite */
.int credits;
/* numrul de mesaje care poate fi trimis */
}; conn[MAX_CONN]
/* prototipuri */
void sleep(void);
void wakeup(void);
void to_net(int cid, int q5 int m pkt_type pt, unsigned char *p, int bytes);
void from net(int *cids int *q s int *m pkt_type *pt s
unsigned char *p 9 int *bytes);
int listen (transport_address t)
{
/* Utilizatorul vrea stabileasc o
int i=I, found=G;
for (i=l; i<= MAX_CONN; i++)
if (conn[i].state == QUEUED &&
found = i;
break;
}
if (found == 0) {
/*
unul
listen_address = t; sleepQ; i
conn[i].state = ESTABLISHED;
conn[i].timer = 0
listen_conn = 0 ;
to_net(is 0s 0s CALL_ACCS 0 ) ;
return(i);
*/
*/
*/
*/
*/
478
NIVELUL TRANSPORT
CAP. 6
*/
*/
*/
*/
*/
*/
*/
*/
*/
SEC. 6.3
479
cptr->state = ESTABLISHED;
return(cptr->clr_req_received ? ERR_CLOSED : OK);
}
}
return (OK);
}
void packet_arrival (void)
{ /* A sosit un pachet; urmeaz prelucrarea lui */
int cid;
/* conexiunea pe care a sosit pachetul */
int count, i q5 m;
pkt_type ptype;
unsigned char data [MAX_MKT_SIZE];
/* date din pachetul care sosete */
struct conn *cptr;
from_net(&sid, &q, &ptypr, data, &count);
/* preia pachetul */
cptr = &conn[cid];
switch (ptype) {
case CALL_REQ:
/* utilizatorul de la distan vrea s stabileasc o conexiune */
cptr->local_address = data[0];
cptr->remote_address = data[l];
if (cptr->loca1_address ==. listen_address) {
listen_conn = cid;
cptr->state = ESTABLISHED;
wakeupO;
480
NIVELUL TRANSPORT
CAP. 6
} else {
cptr->state = QUEUED;
cptr->timer = TIMEOUT;
}
cptr->clr_req_received = 0;
cptr->credits = 0;
case CALL_ACC:
/* u t i l i z a t o r u l de la distan a acceptat CALL_REQ trimis */
cptr->state = ESTABLISHED;
wakeupO;
case CLEAR_REQ:
/* utilizatorul de la distan vrea s se deconecteze sau s refuze un apel */
cptr->clr_req_received = 1;
if (cptr->state == DISCONN) cptr->state = IDLE;
if (cptr->state == WAITING || cptr->state == RECEIVING
|| cptr->state == SENDING) wakeupO;
case CLEAR_CONF:
/* u t i l i z a t o r u l de la distan accept deconectarea */
cptr->state = IDLE;
if (cptr->state == SENDING) wakeupO;
case CREDIT:
cptr->credits +=data[l];
case DATA_PKT:
for (i=0; i<count; i++)
cptr->user_buff_addr[cptr->byte_count + i] = d a t a [ i ] ;
cptr->byte_count += count;
if (m == 0) wakeupO;
int i;
/* ceasul funciona */
/* timpul a expirat */
SEC/6.3
481
YoiajpE.esupuie. cLafie^je/a^MLAin^jniei^^
o alt
procedur a entitii de transport. Acestea pot fi _exeeutt<numai atunci eand^rejcesul utilizator este
n ateptare sau att timp ct.el ruleaz n afara.entitii de transport. Aceast proprietate este
crucial pentru funcionarea corect a entitii 4& tr-ansport.
Existena bitului Q n antetul pachetului ne permite s evitm timpul suplimentar introdus de
antetul protocolului de transport. Mesajele dedate obinuite sunt trimise ca pachete de date cu
(2=0. Mesajele legate de protocolul de transport, dintre care exist numai unul (CREDIT) n
exemplul nostru, sunt trimise ca pachete de date cu Q = l . Aceste mesaje de control sunt detectate i
prelucrate de entitatea de transport receptoare.
Structura de date de baz folosit de entitatea de transport este vectorul conn, care are cte o
nregistrare pentru fiecare conexiune posibil. n nregistrare sunt meninute starea conexiunii,
incluznd adresa de nivel transport la fiecare capt, numrul de mesaje trimise i recepionate pe
conexiune, starea curent, un indicator (pointer) la tamponul utilizator, numrul de octei ai
mesajului trimis sau recepionat, un bit indicnd dac utilizatorul aflat la distan a apelat
DISCONNECT, un ceas, un contor folosit pentru a permite transmiterea mesajelor. Nu toate aceste
cmpuri sunt folosite n exemplul nostru simplu, dar o entitate de transport complet ar avea nevoie
de toate, poate chiar de mai multe. Fiecare element din conn este iniializat cu starea IDLE.
Atunci cnd un utilizator apeleaz CONNECT, nivelului reea i se va cere s trimit un
pachet C A L L R E Q U E S T ctre maina de la distan i utilizatorul este blocat. Atunci cnd
CALLREQUEST ajunge de partea cealalt, entitatea de transport este ntrerupt pentru a
executa packetjinival, care verific dac utilizatorul local ascult la adresa specificat. Dac
da, atunci este trimis napoi un pachet CALL_ACCEPTED i utilizatorul de la distan este
trezit; dac nu, atunci cererea CALL_REQUEST este pus ntr-o coad pentru un interval de
timp TIMEOUT. Dac n acest interval este fcut un apel LISTEN, atunci conexiunea este
stabilit; dac nu, conexiunea este refuzat la sfritul intervalului de timp. Mecanismul este
necesar pentru a preveni blocarea iniiatorului conexiunii pentru un timp nedefinit n cazul n
care procesul aflat la distan nu vrea s se conecteze.
Dei am eliminat antetul pentru protocolul de transport, mai trebuie gsit o modalitate pentru a
determina crei conexiuni transport i aparine un anumit pachet, deoarece mai multe conexiuni pot
coexista simultan. Cea mai simpl soluie este folosirea numrului de circuit virtual de la nivel reea
i ca numr de conexiune transport. n plus, numrul de circuit virtual poate fi folosit i ca index n
vectorul conn. Atunci cnd un pachet sosete pe circuitul virtual k la nivel reea, elni va aparine
conexiunii k a crei stare este pstrat mconhfk]. La iniierea unei conexiuni^ numrul de conexiune
este ales de entitatea de transport care a iniiat-o. Pentru cerere de conexiune, nivelul reea alege ca
numr de conexiune orice numr de circuit virtual care nu a fost nc folosit.
Pentru a evita gestionarea tampoanelor n interiorul entitii de transport, este folosit un
mecanism de gestiune a fluxului diferit de fereastra-glisant tradiional. Atunci cnd un utilizator
apeleaz RECEIVE, este trimis un mesaj de credit entitii de transport de pe maina care va
transmite i este nregistrat n vectorul conn. Atunci cnd este apelat SEND, entitatea de transport
verific dae vreun credit a sosit pe conexiunea respectiv. Dac da, mesajul este trimis (chiar i n
mai multe pachete, dac este cazul) i credit este decrementat; dac nu, atunci entitatea de transport
se blocheaz pn la sosirea unui credit. Mecanismul garanteaz c nici un mesaj nu este trimis
dect dac cealalt parte a apelat deja RECEIVE. Ca rezultat, ori de cte ori sosete un mesaj,
482
NIVELUL TRANSPORT
CAP. 6
exist cu siguran un tampon disponibil pentru ei. Aceast schem poate fi uor generalizat pentru
a permite receptorilor s ofere tampoane multiple i s cear mai multe mesaje.
Trebuie reinut simplitatea codului din Fig. 6-20.0 entitate de transport real ar verifica n mod
normal validitatea tuturor parametrilor furnizai de utilizator, ar putea s revin dup cderea
reelei, ar putea rezolva coliziunile la apel i ar susine un serviciu transport mult mai general, care ar
include faciliti cum sunt ntreruperile, datagramele i versiunile nonblocante ale primitivelor
SENDiRECEIVE.
33
Scrierea unei entiti de transport este o munc dificil i riguroas, n special pentru
protocoalele reale. Pentru a reduce probabilitatea de apariie a unei erori, adeseori este util s
reprezentm protocolul ca un automat finit.
Am vzut deja c protocolul nostru folosit ca exemplu are apte stri pentru fiecare conexiune.
Este de asemenea posibil s izolm cele dousprezece evenimente care pot s apar pentru a
schimba starea unei conexiuni. Cinci dintre aceste evenimente sunt cele cinci primitive ale serviciului
de transport. Alte ase sunt reprezentate de sosirile celor ase tipuri distincte de pachete. Ultimul
este expirarea intervalului de timp stabilit. Fig. 6-21 arat aciunile principale ale protocolului sub
forma unei matrice. Pe coloane sunt prezentate strile, iar pe linii cele 12 evenimente.
Fiecare intrare n matrice (adic n automatul finit) din Fig. 6-21 are pn la trei cmpuri:
un predicat, o aciune i o nou stare. Predicatul indic condiiile n care aciunea este
executat. De exemplu, pentru intrarea din colul snga-sus, dac este executat un LI STEN i
nu mai exist spaiu n tabele (predicatul PI), atunci LISTEN eueaz i starea rmne
aceeai. Pe de alt parte, dac un pachet CALLJREQUEST a sosit deja 3a adresa de nivel
transport la care se face LISTEN (predicatul P2), atunci conexiunea este stabilit imediat. O
alt posibilitate este ca P2 s fie fals, adic nici un CALLJREQUEST nu a fost primit, caz n
care conexiunea rmne n starea /DLEn ateptarea unui pachet CALLJREQUEST.
Merit s subliniem c alegerea strilor folosite n matrice nu este n ntregime determinat de
protocolul nsui. n acest exemplu, nu exist nici o stare LISTENING, care ar urma n mod normal
apelului LISTEN. Nu a fost introdus o stare LISTENING deoarece o stare este asociat cu o intrare
n tabela de conexiuni i dup un ape! LISTEN nu exist nc nici o conexiune. De ce? Pentru c ani
decis s folosim identificatorii circuitelor virtuale de la nivel reea ca identificatori pentru conexiune
i, pentru un apel LISTEN, numrul circuitului virtual este n cele din urm ales de nivelul reea
atunci cnd sosete un CALLJREQUEST.
Aciunile de la Al la A12 sunt aciuni importante, precum trimiterea pachetelor sau rearmarea
ceasurilor. Nu sunt menionate toate aciunile minore, cum ar fi iniializarea unor cmpuri aie
nregistrrii ataate conexiunii. Dac o aciune implic trezirea unui proces n ateptare, atunci
aciunile care urmeaz trezirii procesului sunt considerate i ele. De exemplu, dac un pachet
CALL_REQUEST sosete i exist un proces adormit care l ateapt, atunci transmiterea
pachetului CALL_ACCEPT este considerat ca fcnd parte din aciunea care urmeaz recepiei
lui CALL_REQUEST. Dup ce este efectuat fiecare aciune, conexiunea ajunge ntr-o nou stare,
aa cum apare i n Fig. 6-21.
SEC. 6.3
483
State
Idle
LISTEN
P1:~1/ldle
P2: AI/Estab
P2: A2/ldle
CONNECT
P1:-/ldle
P1:A3/Wait
Waiting
Queued
DiSCONNECT
P4:A5/ldle
P4: A6/Disc
SEND
P5: A7/Estab
P5:AS/Send
RECEIVE
A9/Receiving
Call_req
Ca!l_acc
CC
Q_
i Clear_req
Sending
Receiving Disconnecting
-/Estab
Q.
'(O
Established
P3: AI/Estab
P3:A4/Que'd
-/Estab
AIC/Estab
-/Idle
AlO/Estab
AlO/Estab
Clear_conf
-/Idie
DataPkt
A12/Estab
Credit
co r
co I Timeout
<
-/Idle
AII/Estab
A7/Estab
~/ldle
Predicate
P1: Tabela de conexiuni plin
P2: Cerere de conexiune n
ateptare
P3: Apel LISTEN n ateptare
P4: Pachet Clear_req n
ateptare
P5: Credit disponibil
Aciuni
A1: Trimite Ca!l_acc
A7: Trimite mesaj
A2: Ateapt Call_req A8: Ateapt credit
A9: Trimite credit
A3: Trimite Call_req
A4: Pornete ceasul
A10: Seteaz indicator
A5: Trimite Ciear_conf Clr_req_received
A6: Trimite Clear_req A11: nregistreaz credit
A12: Accept mesajul
Fig. 6-21. Protocolul ales ca exemplu, reprezentat ca un automat finit. Fiecare intrare are un
predicat opional, o aciune opional i o nou stare. Caracterul tilda indic faptul c nici o
aciune important nu este efectuat. Bara deasupra predicatului este reprezentarea pentru
predicatul negat. Intrrile vide corespund unor secvene de evenimente imposibile sau eronate.
Avantajul reprezentrii protocolului ca o matrice este ntreit. n primul rnd, n aceast
form este mult mai simplu pentru programator s verifice sistematic fiecare combinaie stare/
eveniment/ aciune. n implementrile reale, unele combinaii vor fi folosite pentru tratarea
erorilor. n Fig. 6-21 nu s-a fcut nici o distincie ntre situaiile imposibile i cele care sunt
484
NIVELUL TRANSPORT
CAP. 6
SEC. 6.4
485
NIVELUL TRANSPORT
486
CAP. 6
Numerele de port mai mici dect 256 se numesc porturi general cunoscute i sunt rezervate
serviciilor standard. De exemplu, orice proces care dorete s stabileasc o conexiune cu o main
gazd pentru a transfera un fiier utiliznd FTP, se poate conecta la portul 21 al mainii destinaie
pentru a contacta demonul su FTP. Similar, portul 23 este folosit pentru a stabili o sesiune de lucru
la distan utiliznd TELNET. Lista porturilor general cunoscute este coninut n RFC 1700.
Toate conexiunile TCP sunt duplex integral i punct-la-punct. Duplex integral nseamn c
traficul se poate desfura n ambele sensuri n acelai timp. Punct-a-punct indic faptul c
fiecare conexiune are exact dou puncte finale. TCP nu suport difuzarea parial sau total.
O conexiune TCP este un flux de octei i nu un flux de mesaje. Dimensiunile mesajelor nu se
conserv de la un capt la cellalt. De exemplu, dac procesul emitor execut patru scrieri de cte
512 octei pe un canal TCP, aceste date pot fi livrate procesului receptor ca patru fragmente
(cfaunks) de 512 octei, dou fragmente de 1024 octei, un singur fragment de 2048 octei (vezi Fig. 623) sau n orice alt mod. Nu exist posibilitatea ca receptorul s determine numrul de uniti n care
a fost scris informaia.
n UNIX, aceeai proprietate o au i fiierele. Cititorul unui fiier nu poate spune dac fiierul a
fost scris bloc cu bloc, octet cu octet sau tot dintr-o dat. Ca i un fiier UNIX, programele TCP nu au
nici cea mai vag idee despre semnificaia octeilor i nici cel mai mic interes pentru a afla acest
lucru. Un octet ese pur i simplu un octet.
Antet 1P
Antet TCP
B C
fa)
(b)
Fig. 6-23. (a) Patru segmente de 512 octei au fost trimise ca datagrame P separate,
(b) Livrarea celor 2048 octei ctre aplicaie, printr-un singur apel read.
Atunci cnd o aplicaie trimite date ctre TCP, TCP-ul le poate expedia imediat sau ie
poate reine ntr-un tampon (n scopul colectrii unei cantiti mai mari de informaie pe care
s o expedieze toat odat), dup bunul su plac. Cu toate acestea, cteodat, aplicaia dorete
explicit ca informaia s fie expediat imediat. De exemplu, s presupunem c un utilizator
este conectat la o main de la distan. Dup ce a fost terminat o linie de comand i s-a
tastat Return, este esenial ca linia s fie imediat expediat ctre maina de la distan i s nu
fie memorat pn la terminarea urmtoarei linii. Pentru a fora expedierea, aplicaia poate
folosi indicatorul PUSH, care i semnaleaz TCP-ului s nu ntrzie procesul de transmisie.
Unele din primele aplicaii foloseau indicatorul PUSH ca un fel de marcaj pentru a
delimita marginile mesajelor. Dei acest truc funcioneaz cteodat, uneori el eueaz
datorit faptului c, la recepie, nu toate implementrile TCP-ului transmit aplicaiei
indicatorul PUSH. Mai muit dect att, dac mai multe indicatoare PUSH apar nainte ca
primul s fi fost transmis (de exemplu, pentru c linia de legtur este ocupat), TCP-ul este
liber s colecteze toat informaia referit de ctre aceste indicatoare ntr-o singur datagram
IP, fr s includ nici un separator ntre diferitele sale pri.
O ultim caracteristic a serviciului TCP care merit menionat aici const n informaia
SEC. 6.4
487
urgent. Atunci cnd un utilizator apas tasta DEL sau CTRL-C pentru a ntrerupe o prelucrare la
distan, aflat deja n execuie, aplicaia emitor plaseaz o informaie de control n fluxul de date
i o furnizeaz TCP-ului mpreun cu indicatorul URGENT. Acest eveniment impune TCP-ului
ntreruperea acumulrii de informaie i transmisia imediat a ntregii informaii disponibile deja
pentru conexiunea respectiv.
Atunci cnd informaia urgent este recepionat la destinaie, aplicaia receptoare este
ntrerupt (de ex. prin emisia unui semnai, n terminologie UNIX), astfel nct, eliberat de orice alt
activitate, aplicaia s poat citi fluxul de date i s poat regsi informaia urgent. Sfritul
informaiei urgente este marcat, astfel nct aplicaia s tie cnd se termin informaia. nceputul
informaiei urgente nu este marcat. Este sarcina aplicaiei s determine acest nceput. Aceast
schem furnizeaz de fapt un rudiment de mecanism de semnalizare, orice alte detalii fiind lsate la
latitudinea aplicaiei.
6=4.2 Protocolul TCP
n aceast seciune vom prezenta un punct de vedere general asupra protocolului TCP,
pentru a ne concentra apoi, n seciunea care i urmeaz, asupra antetului protocolului, cmp
cu cmp. Fiecare octe al unei conexiuni TCP are propriul su nurnr de secven, reprezentat
pe 32 bii. Pentru o main care utilizeaz la viteza maxim o reea local de lOMbps, dei este
teoretic posibi ca numerele, de secven s depeasc valoarea maxim reprezentabii pe 32
de bii ntr-o singur or, n realitate dureaz mai mult. Numerele de secven sunt utilizate
att pentru confirmri ct i pentru mecanismul de secveniere, acesta din urm utiliznd
cmpuri separate de 32 de bii din antet.
Entitile TCP de transmisie i de recepie interscnimb informaie sub form de segmente.
Un segment const dintr-un antet de exact 20 de octei (plus o parte opional) urmat de zero
sau mai muli octei de date. Programul TCP este cel care decide ct de mari trebuie s fie
aceste segmente. El poate acumula informaie provenit din mai multe scrieri ntr-un singur
segment sau poate fragmenta informaia provenind dintr-o singur scriere n mai multe
segmente. Exist dou limite care restricioneaz dimensiunea unui segment. n primul rnd,
fiecare segment, inclusiv antetul TCP, trebuie s ncap n cei 65.535 de octei de informaie
util IP. n al doilea rnd, fiecare reea are o unitate maxim de transfer sau MTU (Maximum
Transfer Unit), deci fiecare segment trebuie s ncap n acest MTU. n realitate, MTU este n
general de cteva mii de octei, definind astfel o limit superioar a dimensiunii unui segment.
Dac un segment parcurge o secven de reele fr a fi fragmentat i ajunge apoi la o reea ai
crui MTU este mai mic dect dimensiunea segmentului, ruterul de la frontiera acelei reele
fragmenteaz segmentul n dou sau mai multe segmente mai mici.
Un segment care este prea mare pentru o reea pe care o tranziteaz poate fi spart de ctre ruter
n mai multe segmente. Fiecare nou segment obine propriile antete TCP i IP, astfel nct
fragmentarea realizat de ctre rutere mrete ncrcarea total n reea (deoarece fiecare segment
este mrit cu antetul de 40 de octei de informaie suplimentar).
Protocolul de baz utilizat de ctre entitile TCP este protocolul cu fereastr glisant. Atunci
cnd un emitor transmite un segment, el pornete un cronometru. Atunci cnd un segment ajunge
la destinaie, entitatea TCP receptoare trimite napoi un segment (cu informaie util, dac aceasta
exist sau fr, n caz contrar) care conine totodat i numrul de secven urmtor pe care aceasta
488
NIVELUL TRANSPORT
CAP. 6
se ateapt s-1 recepioneze. Dac cronometrul emitorului depete o anumit valoare naintea
primirii confirmrii, emitorul retransmite segmentul neconfirmat.
Dei acest protocol pare simplu, pot aprea multe situaii particulare pe care le vom prezenta
mai jos. De exemplu, avnd n vedere c segmentele pot fi fragmentate, este posibil ca o parte a
segmentului s fie recepionat i confirmat de ctre entitatea TCP receptoare, n timp ce restul s
fie pierdut. De asemenea, segmentele pot ajunge ntr-o ordine arbitrar, de exemplu octeii 30724095 pot fi recepionai, dar nu pot fi confirmai datorit absenei octeilor 2048-3071. Segmentele
pot de asemenea ntrzia pe drum un interval de timp suficient de mare pentru ca emitorul s
detecteze o depire a cronometrului i s le retransmit. Dac segmentul retransmis parcurge o
cale diferit de cea parcurs de segmentul original i este fragmentat n mod diferit, atunci unii bii
sau unele poriuni, att din segmentul original ct i din segmentul duplicat, pot fi recepionate
sporadic, ceea ce impune o tratare atent, astfel nct fluxul de octei s fie fiabil. In sfrit, cu attea
reele care compun Internetul, este posibil ca un segment s ntlneasc n drumul su o reea
congestionat sau chiar temporar nefuncional.
TCP trebuie s fie pregtit s fac fa unor astfel de situaii i s le rezolve ntr-o manier
eficient. Un efort considerabil a fost dedicat optimizrii performanelor fluxurilor TCP, inndu-se
cont inclusiv de probleme legate de reea. n continuare vor fi prezentai un numr de algoritmi
utilizai de numeroase implementri TCP.
n figura 6-24 este prezentat structura unui segment TCP. Fiecare segment ncepe cu un
antet format dintr-o structur fix de 20 de octei. Antetul fix poate fi urmat de un set de
opiuni asociate antetului. In continuarea opiunilor, dac ele exist, pot urma pn ia 65.535 20 - 20 = 65.515 de octei de date, unde primul 20 reprezint antetul IP, iar al doilea antetul
TCP. Segmente care nu conin octei de date sunt nu numai permise, dar i utilizate n mod
frecvent pentru confirmri i mesaje de control.
^
32 bii
Port surs
>-
Port destinaie
Numr de secven
Numr de confirmare
| Lungimea
I antetului
TCP
A P R S F
R C S S Y I
G K H T N N
Dimensiunea ferestrei
Sum de contrai
indicator urgent
SEC. 6.4
489
S disecm acum structura antetului TCP, cmp cu cmp. Cmpurile Poit surs i Port
destinaie identific punctele finale ale conexiunii. Fiecare main poate decide pentru sine
modalitatea de alocare a porturilor sale mai mari de 256. Un port formeaz mpreun cu
adresa IP a mainii sale un unic TSAP de 48 de bii. Conexiunea este identificat de ambele
numere ale soclurilor surs i destinaie.
Cmpurile Numr de secven i Numr de confirmare au semnificaia funciilor lor uzuale.
Trebuie notat c cel din urm indic octetul urmtor ateptat i nu ultimul octet recepionat n mod
corect. Ambele cmpuri au lungimea de 32 de bii, deoarece ntr-un flux TCP fiecare bit de
informaie este numerotat.
Lungimea antetului TCP indic numrul de cuvinte de 32 de bii care sunt coninute n antetul
TCP. Aceast infomiatie este util, deoarece cmpul Opiuni este de lungime variabil, proprietate
pe care o transmite astfel i antetului. Tehnic vorbind, acest cmp indic n realitate nceputul
datelor din segment, msurat n cuvinte de 32 de bii, dar cum acest numr este identic cu lungimea
antetului n cuvinte, efectul este acelai.
Urmeaz un cmp de ase bii care este neutilizat. Faptul c acest cmp a supravieuit intact mai
mult de un deceniu, este o mrturie despre ct de bine a fost proiectat TCP-ul. Protocoale mai prost
concepute ar fi avut nevoie de el pentru a corecta erori ale proiectrii iniiale.
Urmeaz acum ase indicatori de cte un bit. URG este poziionat pe 1 dac Indicatorul
Urgent este valid. Indicatoml Urgent este folosit pentru a indica deplasamentul n octei fa de
numrul curent de secven la care se gsete informaia urgent. O astfel de facilitate
suplinete mesajele de ntrerupere. Aa cum am menionat deja anterior, aceast facilitate
reprezint esena modului n care emitorul poate transmite un semnal receptorului fr ca
TCP-ul n sine s fie cauza ntreruperii.
Bitul ACK este poziionat pe 1 pentru a indica faptul c Numrul de confiimare este valid. n
cazul n care ACK este poziionat pe 0, segmentul n discuie nu conine o confirmare i cmpul
Numr de confiimare este ignorat.
Bitul PSH indic informaia FORAT. Receptorul este rugat respectuos s livreze aplicaiei
informaia respectiv imediat ce este recepionat i s nu o memoreze n ateptarea umplerii
tampoanelor de comunicaie (lucru care, altminteri, ar fi fcut din raiuni de eficien).
Bitul RST este folosit pentru a desfiina o conexiune care a devenit inutilizabil datorit
defeciunii unei maini sau oricrui alt motiv. El este de asemenea utilizat pentru a refuza un
segment invalid sau o ncercare de deschidere a unei conexiuni. n general, recepionarea unui
segment avnd acest bit poziionat indic o problem care trebuie tratat n funcie de context.
Bitul SYN este utilizat pentru stabilirea unei conexiuni. Cererea de conexiune conine SYN
= 1 i ACK = 0 pentru a indica faptul c acel cmp suplimentar de confirmare nu este utilizat.
Rspunsul la o astfel de cerere conine o confirmare, avnd deci SYN = 1 i ACK - 1. n
esen, bitul SYN este utilizat pentru a indica o CERERE DE CONEXIUNE i o CONEXIUNE
ACCEPTAT, bitul ACK fcnd distincia ntre cele dou posibiliti.
Bitul FIN este folosit pentru a ncheia o conexiune. El indic faptul c emitorul nu mai are nici
o informaie de transmis. Cu toate acestea, dup nchiderea conexiunii, un proces poate recepiona
n continuare date pe o durat nedefinit. Ambele segmente, SYN i FIN, conin numere de
secven i astfel este garantat faptul c ele vor fi prelucrate n ordinea corect.
n TCP, fluxul de control este tratat prin ferestre glisante de dimensiune variabil. Cmpul
Fereastr indic numrul de octei care pot fi trimii, ncepnd de la octetul confirmat. Un cmp
490
NIVELUL TRANSPORT
CAP. 6
Fereastr de valoare 0 este perfect legal i spune c octeii pn ia Numr de confirmare -1 inclusiv
au fost recepionai, dar receptorul dorete cu ardoare o pauz, aa c mulumete frumos, dar
pentru moment nu dorete continuarea transferului. Permisiunea de expediere poate fi acordat
ulterior prin trimiterea unui segment avnd acelai Numr de confirmare, dar un cmp Fereastr cu o
valoare nenui.
Este de asemenea prevzut o Sum de control, n scopul obinerii unei fiabiliti extreme.
Aceast sum de control este calculat pentru antet, informaie i pseudo-antetul conceptual
prezentat n Fig. 6-25. n momentul calculului, Suma de control TCP este poziionat pe zero,
iar cmpul de date este completat cu un octet suplimentar nul dac lungimea sa este un
numr impar. Algoritmul de caicul al sumei de control este simplu, el adunnd toate cuvintele
de 16 bii n complement fa de i aplicnd apoi nc o dat complementul fa de i asupra
sumei. n acest mod, atunci cnd receptorul aplic aceiai caicul asupra ntregului segment,
inclusiv asupra Sumei de control, rezultatul ar trebui s fie 0.
32 Bii
1
<
>
Adres surs
Adres destinaie
i
0GQ0Q000
Protocoi = 5
SEC. 6.4
491
Gazd 1
Gazd 1
Gazd 2
Q.
E
F
V+l)
(a)
(b)
Fig. 6-26. (a) Stabilirea unei conexiuni TCP n cazul normal, (b) Coliziunea apelurilor.
492
NIVELUL TRANSPORT
CAP. 6
Atunci cnd sosete la destinaie un segment, entitatea TCP receptoare verific dac nu cumva
exist un proces care a executat LISTEN pe numrul de port specificat n cmpul Port destinaie. n caz
contrar, trimite un rspuns cu bitul RST poziionat, pentru a refuza conexiunea.
Dac exist vreun proces care ascult la acel port, segmentul TCP recepionat va fi dirijat ctre
procesul respectiv. Acesta poate accepta sau refuza conexiunea. Dac o accept, trimite napoi
expeditorului un segment de confirmare. n Fig. 6-26(a) este reprezentat secvena de segmente
TCP transferate n caz de funcionare normal. De notat c un segment SYN consum un octet din
spaiul numerelor de secven, astfel nct confirmarea s poat fi fcut fr ambiguiti.
Secvena de evenimente ilustrat n Fig. 6-26(b) reprezint cazul n care dou maini ncearc
simultan s stabileasc o conexiune ntre aceleai dou porturi. Rezultatul acestor evenimente este
c doar o conexiune ajunge s fie stabilit i nu dou, deoarece conexiunile sunt identificate prin
punctele lor terminale. Dac prima iniializare conduce ia crearea unei conexiuni identificat prin (x,
y) i acelai lucru l face i cea de-a doua iniializare, atunci este construit o singur intrare de tabel,
n spe pentru (x, y).
Numrul iniial de secven asociat unei conexiuni nu este 0, din motivele discutate anterior. Se
utilizeaz o schem bazat pe un ceas cu o btaie la fiecare 4 jisec. Pentru sigurana suplimentar,
atunci cnd o main se defecteaz, este posibil ca ea s nu fie reiniializat n timpul de via
maxim al unui pachet (120 sec), garantndu-se astfel c pachetele unei conexiuni anterioare nu se
plimb nc pe undeva prin Internet.
Dei conexiunile TCP sunt bidirecionale, pentru a nelege cum sunt desfiinate conexiunile, cel
mai bine este s ni ie imaginm sub forma unei perechi de legturi unidirecionale. Fiecare legtur
unidirecional este eliberat independent de perechea sa. Pentru eliberarea unei conexiuni, orice
partener poate expedia un segment TCP avnd bitul FIN poziionat, lucru care indic faptul c nici o
informaie nu mai urmeaz s fie transmis. Atunci cnd FIN-xil este confirmat, sensul respectiv de
comunicare este efectiv oprit. Cu toate acestea, informaia poate fi transferat n continuare,
nedefinit, n cellalt sens. Conexiunea este desfiinat atunci cnd ambele direcii au fost oprite. n
mod normal, pentru a elibera o conexiune sunt necesare patru segmente TCP: cte un FIN i un
ACK pentru fiecare sens. Cu toate acestea, este posibil ca primul ACK i cel de-a! doilea FIN s fie
cuprinse n acelai segment reducnd astfel numrul total ia trei.
La fel ca n conversaiile telefonice, n care ambele persoane pot spune la revedere" i pot
nchide telefonul simultan, ambele capete ale unei conexiuni TCP pot expedia segmente FIN n
acelai timp. Acestea sunt confirmate ca de obicei, conexiunea fiind astfel eliberat. Nu exist de
fapt nici o diferen esenial ntre cazurile n care mainile elibereaz conexiunea secvenial
respectiv simultan.
Pentru a evita problema celor dou armate, sunt utilizate cronometre. Dac un rspuns la un
FIN nu este recepionat pe durata a cei mult dou cicluri de maxime de via ale unui pachet,
emitorul FIN-uhii elibereaz conexiunea. Cealalt parte va observa n final c nimeni nu mai pare
s asculte la cellalt capt al conexiunii, datorit expirrii unui interval de timp. Aceast soluie nu
este perfect, dar avnd n vedere faptul c o soluie perfect este teoretic imposibil, va trebui s ne
mulumim cu ce avem. n realitate astfel de probleme apar foarte rar.
Paii necesari stabilirii unei conexiuni pot fi reprezentai printr-un automat cu stri finite, cele 11
stri ale acestuia fiind prezentate n Fig. 6-27. n fiecare stare pot aprea doar anumite evenimente.
Atunci cnd are loc un astfel de eveniment, este ndeplinit o aciune specific. Atunci cnd se
produce un eveniment a crui apariie nu este legal n starea curent, este semnalat o eroare.
SEC. 6.4
493
Fiecare conexiune debuteaz n starea NCHIS. Aceast stare este prsit dac urmeaz s se
stabileasc o conexiune pasiv (LISTEN) sau activ (CONNECr). Dac partenerul stabilete o
conexiune de tipul opus, starea devine STABILIT. Desfiinarea conexiunii poate fi iniiat de oricare
din parteneri, odat cu eliberarea conexiunii revenindu-se n starea NCHIS.
Stare
Descriere
CLOSED (NCHIS)
LISTEN (ASCULTARE)
ESTABLISHED (STABILIT)
Fig. 6-27. Strile utilizate n automatul cu stri finite pentru controlul conexiunii TCP.
Automatul cu stri finite este reprezentat n Fig. 6-28. Cazul cel mai comun, al unui client
conectndu-se activ la un server pasiv, este reprezentat prin linii groase - continue pentru client i
ntrerupte pentru server. Liniile subiri reprezint secvene de evenimente mai puin obinuite, dar
posibile. Fiecare linie din Fig. 6-28 este etichetat cu o pereche eveniment/aciune. Evenimentul
poate fi unul iniiat de ctre utilizator printr-un apel sistem (CONNECr, LISTEN, SEND sau CLOSE),
recepionarea unui segment (SYN, FIN, ACK sau RST) sau, ntr-un singur caz, expirarea unui
interval de timp egal cu dublul ciclului de via a unui pachet. Aciunea const n expedierea unui
segment de control (SYN, FIN sau RST) sau nici o aciune", lucru reprezentat prin .
Comentariile sunt incluse ntre paranteze.
Diagrama poate fi neleas cel mai bine urmrind de la bun nceput calea urmat de un
client (linia groas continu) i apoi calea urmat de un server (linia groas ntrerupt). Atunci
cnd o aplicaie de pe maina client genereaz o cerere CONNECT, entitatea TCP local
creeaz o nregistrare de conexiune, o marcheaz ca fiind n starea SYN SENT i trimite un
segment SYN. De observat c mai multe conexiuni pot fi deschise (sau n curs de a fi deschise)
n acelai timp spre folosul mai multor aplicaii, astfel nct o stare este asociat unei conexiuni
i este nregistrat n nregistrarea asociat acesteia. La recepia unui SYN + ACK, TCP
expediaz ultima confirmare (ACK) din nelegerea n trei pai" i comuta n starea
STABILIT. Din acest moment, informaia poate fi att expediat ct i recepionat.
Atunci cnd se termin o aplicaie, se apeleaz primitiva CLOSE care impune entitii TCP locale
expedierea unui segment FIN i ateptarea ACK-vlui corespunztor (dreptunghiul figurat cu linie
. ntrerupt i etichetat nchidere activ"). Atunci cnd ACK-\A este recepionat, se tranziteaz n
starea ATEPTARE FIN 2, unul din sensuri fiind n acest moment nchis. Atunci cnd cellalt sens
este la rndul su nchis de partenerul de conexiune, se recepioneaz un FIN care este totodat i
confirmat. n acest moment, ambele sensuri sunt nchise, dar TCP-ul ateapt un interval de timp
egal cu dublul duratei de via a unui pachet, garantnd astfel c toate pachetele acestei conexiuni
NIVELUL TRANSPORT
494
CAP. 6
au murit i c nici o confirmare nu a fost pierdut. Odat ce acest interval de timp expir, TCP-ul
terge nregistrarea asociat conexiunii.
(Start)
CONNECT/SYN
NCHIS
CLOSE/LISTEW-
CLOSE/-
SYN/SYN + ACK
ASCULTARE
SYN
PRIMIT
RST/
SEND/SYN
SYN/SYN + ACK
SYN
{deschidere simultan)
TRMIS
STABiLIT
CLOSE/FSN i
SYN + ACK/ACK
(Pasu 3 din "nelegerea n trei pai"!
(nchidere 'i,
(nchidere activai
ACK/
ACK/
Ateptare
2
i NCHIDE i
ATEAPT
n curs de
NCHIDERE
Ateptare
'FIN I
+ ACK/ACK
Pasiv)
CLOSE/F1N
Ateptare
Temporizat
CONFIRMARE
{Depire de timp/l
SNCHiS
ACK/
(Revenire Sa nceput)
FIg. 6-28. Automatul cu stri finite pentru controlul conexiunii TCP. Linia groas continu este
calea normal pentru client. Linia groas ntrerupt este calea normal pentru server. Liniile
subiri sunt evenimente neuzuale.
S examinm acum gestiunea conexiunii din punctul de vedere al server-ului. Acesta execut.
LISTEN i se aeaz" fiind totodat atent pentru a vedea cine se ridic n picioare". La
receptionarea unui SYN, acesta este confirmat i serverul comut n starea SYNRCVD. Atunci cnd
SKV-ul server-ului este la rndul su confirmat, nelegerea n trei pai" este complet, serverul
comutnd n starea STABILIT. De acum, transferul informaiei poate ncepe.
SEC. 6.4
495
Atunci cnd s-a sturat", clientul execut CLOSE, ceea ce conduce la atenionarea server-ului
prin recepionarea unui FIN (dreptunghiul figurat cu linie ntrerupt i etichetat nchidere pasiv").
Atunci cnd i acesta execut un CLOSE, se trimite un FIN ctre client. Odat cu primirea
confirmrii clientului, serverul desfiineaz conexiunea i terge nregistrarea asociat.
6.45 Politica TCP de Transmisie a datelor
Administrarea ferestrei n TCP nu este direct legat de confirmri, aa cum se ntmpl la cele
mai multe protocoale de nivel legtur de date. De exemplu, s presupunem c receptorul are un
tampon de 4096 octei, aa cum se vede n Fig. 6-29. Dac emitorul transmite un segment de 2048
de octei care este recepionat corect, receptorul va confirma segmentul. Deoarece acum tamponul
acestuia din urm mai are liberi doar 2048 octei (pn cnd aplicaia terge nite date din acest
tampon), receptorul va anuna o fereastr de 2048 octei ncepnd de la urmtorul octet ateptat.
Acum, emitorul transmite ali 2048 octei, care sunt confirmai, dar fereastra oferit este 0.
Emitorul trebuie s se opreasc pn cnd procesul aplicaie de pe maina receptoare a ters nite
date din tampon, moment n care TCP poate oferi o fereastr mai mare.
Atunci cnd fereastra este 0, n mod normal emitorul nu poate s transmit segmente, cu dou
A
excepii. In primul rnd, informaia urgent trebuie trimis, de exemplu pentru a permite
utilizatorului s opreasc procesele rulnd pe maina de la distan. n al doilea rnd, emitorul
poate trimite un segment de un octet pentru a determina receptorul s reanune urmtorul octet
ateptat i dimensiunea ferestrei. Standardul TCP prevede n mod explicit aceast opiune pentru a
preveni interblocarea n cazul n care se ntmpl ca anunarea unei ferestre s fie vreodat pierdut.
Emitorii nu transmit n mod obligatoriu date de ndat ce acest lucru este cerut de ctre
aplicaie. Nici receptorii nu trimit n mod obligatoriu confirmrile de ndat ce acest lucru este
posibil. De exemplu, n Fig. 6-29, atunci cnd sunt disponibili primii 2K octei, TCP, tiind c
dispune de o fereastr de 4K octei, va memora informaia n tampon pn cnd ali 2K octei devin
disponibili i astfel se va putea transmite un segment cu o ncrcare util de 4K octei. Aceast
facilitate poate fi folosit pentru mbuntirea performanelor.
S considerm o conexiune TELNET cu un editor interactiv care reacioneaz la fiecare
apsare a tastelor. n cel mai ru caz, atunci cnd un caracter sosete la entitatea TCP
emitoare, TCP creeaz un segment TCP de 21 octei, pe care l furnizeaz IP-ului pentru a fi
transmis ca o datagram IP de 41 octei. De partea receptorului, TCP transmite imediat o
confirmare de 40 octei (20 octei antet TCP i 20 octei antet IP). Mai trziu, cnd editorul a
citit caracterul, TCP transmite o actualizare a ferestrei, deplasnd fereastra cu un octet la
A
dreapta. Acest pachet este de asemenea de 40 octei. In final, cnd editorul a prelucrat
caracterul, transmite ecoul sub forma unui pachet de 41 octei. Cu totul, sunt folosii 162 octei
din lrgimea de band i sunt trimise patru segmente pentru orice caracter tiprit. Atunci cnd
lrgimea de band este redus, aceast metod de lucru nu este recomandat.
O abordare folosit de multe implementri TCP pentru optimizarea acestei situaii const n
ntrzierea confirmrilor i actualizrilor de fereastr timp de 500ms, n sperana apariiei unor
informaii la care s se ataeze pentru o cltorie pe gratis. Presupunnd c editorul are un ecou de
50 ms, este necesar acum un singur pachet de 41 octei pentru a fi trimis utilizatorului de la distan,
reducnd numrul pachetelor i utilizarea lrgimii de band la jumtate.
NIVELUL TRANSPORT
496
Aplicaia
execut o
scriere de
2 octei
Emitor
CAP. 6
Receptor Tamponul
j
receptorului
4k
Aplicaia
citete
2 K octei
Emitorul
poate trimite !
pn la 2K octei
SEC. 6.4
497
O alt problem care poate ruina performana TCP este sindromul ferestrei stupide. (Clark,
1982). Aceast problem apare atunci cnd informaia este furnizat entitii TCP emitoare n
blocuri mari, dar la partea receptoare o aplicaie interactiv citete datele octet cu octet. Pentru a
nelege problema, s analizm Fig. 6-30. Iniial, tamponul TCP al receptorului este plin i
emitorul tie acest fapt (adic are o fereastr de dimensiune 0). Apoi, aplicaia interactiv citete
un caracter de pe canalul TCP. Aceast aciune face fericit entitatea TCP receptoare, deci ea va
trimite o actualizare de fereastr ctre emitor dndu-i astfel dreptul de a mai trimite un octet.
ndatorat, emitorul trimite un octet. Cu acesta, tamponul este plin i receptorul confirm
segmentul de 1 octet, dar repoziioneaz dimensiunea ferestrei la 0. Acest comportament poate
continua la nesfrit.
Antet
Octet
498
NIVELUL TRANSPORT
CAP. 6
Algoritmul lui Nagle i soluia lui Clark pentru sindromul ferestrei stupide sunt complementare.
Nagle a ncercat s rezolve problema furnizrii datelor ctre TCP octet cu octet, cauzat de aplicaia
emitoare. Clark a ncercat s rezolve problema extragerii datelor de la TCP octet cu octet, cauzat
de ctre aplicaia receptoare. Ambele soluii sunt valide i pot lucra mpreun. Scopul este ca
emitorul s nu trimit segmente mici, iar receptorul s nu cear astfel de segmente.
Receptorul TCP face, pentru mbuntirea performanelor, mai mult dect simpla actualizare a
ferestrei n uniti mari. Ca i emitorul TCP, el are posibilitatea s memoreze date, astfel nct s
poal bloca o cerere de READ a aplicaiei pn cnd i poate furniza o cantitate semnificativ de
informaie. Astfel se reduce numrul de apeluri TCP, deci suprancrcarea. Bineneles. n acest
mod va crete i timpul de rspuns, dar pentru aplicaii care nu suni interactive, aa cum este
transferul de fiiere, eficiena poate fi mai important dect rspunsul n timp la cereri individuale.
O alt problem de discutat despre receptor se refer la ce trebuie s fac acesta cu segmentele
care nu sosesc n ordine. Ele pot fi reinute sau descrcate, dup placul receptorului. Bineneles,
confirmrile pot fi trimise numai atunci cnd toat informaia pn ia octetul confirmat a fost
recepionat. Dac receptorul primete segmentele 0,1, 2, 4,5, 6 i 7, el poate confirma totul pn
ia ultimul octet din segmentul 2 inclusiv. Atunci cnd emitorul constat o depire de timp, el va
retransmite segmentul 3. Dac receptorul a memorat n tampon segmentele 4 pn la 7, odat cu
recepia segmentului 3 el poae confirma toi octeii pn Ia sfritul segmentului 7.
6.46
Atunci cnd ncrcarea la care este supus o reea este mai mare dect poae aceasta s
suporte, apare o cretere a congestiei. nternet-ui nu face excepie. In aceast seciune, vom
discuta algoritmi care se ocup cu astfel de congestii i care au fost dezvoltai pe parcursul
ultimelor decenii. Dei nivelul reea ncearc de asemenea s controleze congestia, cea mai
mare parte a muncii este fcut de TCP, i aceasta deoarece adevrata soluie a congestiei
const n micorarea ratei de transfer a informaiei.
Teoretic, congestia poate fi controlat pe baza unui principiu mprumutat din fizic: iegea
conservrii pachetelor. Ideea de baz este de a nu injecta un nou pachet n reea pn cnd un
pachet mai vechi nu o prsete (de exemplu este furnizat receptorului). TCP ncearc s ating
acest scop prin manipularea dinamic a dimensiunii ferestrei.
Primul pas n controlul congestiei este detecia ei. Mai demult, detecia congestiei era
dificil. O depire de timp datorat pierderii unui pachet putea fi cauzat fie de (1) zgomotul
de pe linia de transmisie, fie de (2) descrcarea pachetului pe un traseu congestionat.
Diferenierea celor dou cazuri era dificil.
In zilele noastre, pierderea pachetului din pricina erorilor de -transmisie este destul de rar,
deoarece cele mai multe din trunchiurile principale de comunicaie sunt din fibr (dei reelele fr
fir sunt o poveste separat). In consecin, cele mai multe depiri ale timpilor de transmisie pe
Internet se datoreaz congestiilor. Toi algoritmii TCP din Internet presupun c depirile de timp
sunt cauzate de congestii i monitorizeaz aceste depiri pentru a detecta problemele.
nainte de a discuta despre modalitatea n care TCP reacioneaz la congestii, s descriem n
primul, rnd modul n care se ncearc prevenirea apariiei lor. Atunci cnd se stabilete o conexiune,
trebuie s se aleag o fereastr de o dimensiune potrivit. Receptorul poae specifica o fereastr
bazndu-se pe dimensiunea tamponului propriu. Dac emitorul accept aceast dimensiune a
SEC. 6.4
499
ferestrei, nu mai pot aprea probleme datorit depirii tamponului la recepie, dar pot aprea n
schimb datorit congestiei interne n reea.
n Fig. 6-31, putem vedea interpretarea hidraulic a acestei probleme. n Fig. 6-31 (a),
observm o conduct groas care duce la un receptor de dimensiune mic. Atta timp ct
emitorul nu trimite mai mult ap dect poate conine gleata, apa nu se va pierde. n figura
6-3l(b), factorul de limitare nu mai este capacitatea gleii, ci capacitatea de transport a
reelei. Dac vine prea repede prea mult ap, ea se va revrsa i o anumit cantitate se va
pierde (n acest caz prin umplerea plniei).
Ajustarea
ratei de
transmisie
Reeaua de
transmisie
Receptor
i capacia
mic
a)
(b)
500
NIVELUL TRANSPORT
CAP. 6
spune: Trimite 8K" i emitorul tie c o rafal de 32K poate strbate fr efort reeaua, el va
trimite toi cei 8K cerui.
La stabilirea conexiunii, emitorul iniializeaz fereastra de congestie la dimensiunea celui
mai mare segment utilizat de acea conexiune. El trimite apoi un segment de dimensiune
maxim. Dac acest segment este confirmat naintea expirrii timpului, mai adaug un
segment ia fereastra de congestie, fcnd-o astfel de dimensiunea a dou segmente de
dimensiune maxim, i trimite dou segmente. Odat cu confirmarea fiecruia din aceste
segmente, fereastra de congestie este redimensionat cu nc un segment de dimensiune
maxim. Atunci cnd fereastra de congestie este de n segmente, dac toate cele n segmente
sunt confirmate n timp util, ea este crescut cu numrul de octei corespunztor celor n
segmente. De fapt, fiecare rafal confirmat cu succes dubleaz fereastra de congestie.
Fereastra de congestie crete n continuare exponenial pn cnd sau se produce o depire de
timp, sau se atinge dimensiunea ferestrei receptorului. Ideea este ca dac rafale de dimensiune, s
spunem, 1024,2048 i 4096 de octei funcioneaz fr probleme, dar o rafal de 8192 octei duce la
o depire de timp, fereastra de congestie va fi stabilit la 4096 de octei pentru a evita congestia.
Atta timp ct fereastra de congestie rmne la 4096, nu va fi transmis nici o rafal mai mare de
aceast valoare, indiferent ct de mult spaiu de fereastr este oferit de ctre receptor. Acest
algoritm este numit algoritmul startului lent, fr a fi ns ctui de puin lent (Jacobson, 1988). Este
exponenial. Este de ateptat ca toate implementrile TCP s l suporte.
Depire de timp
10
12
14
16
18
20
Nurnr de transmisie
22
24
SEC. 6.4
501
502
NIVELUL TRANSPORT
CAP. 6
destinaie. Chiar i cnd acesta este cunoscut, stabilirea intervalului de depire este de asemenea
dificil. Dac intervalul este prea scurt, s spunem Tj n Fig. 6-33(b), vor aprea retransmisii inutile,
aglomernd Internet-ul cu pachete fr rost. Dac este prea lung, (T2), performanele vor avea de
suferit datorit unei retransmisii ntrziate de fiecare dat cnd se pierde un pachet. Mai mult dect
att, media i varianta distribuiei sosirii confirmrilor se pot schimba cu rapiditate pe parcursul a
ctorva secunde atunci cnd apare sau se rezolv o congestie.
la momentul ateptat nseamn, n general, pierderea cadrului de confirmare.
0.3
0.31
0.2
0.1 h
20
30
40
50
! cltoriei dus-ntors (msec)
20
30
40
50
cltoriei dus-ntors fmsec)
(b)
Fij
Soluia este de utilizare a unui algoritm profund dinamic care ajusteaz constant intervalul
de depire bazndu-se pe msurtori continue ale performanei reelei. Algoritmul general
utilizat de ctre TCP este datorat lui lacobsen (1988) i este descris mai jos. Pentru fiecare
conexiune, TCP pstreaz o variabil, RTT, care este cea mai bun estimare a circuitului dusntors ctre destinaia in discuie. Atunci cnd este trimis un segment, se pornete un contor,
att pentru a vedea ct de mult dureaz pn la primirea confirmrii ct i pentru a iniia o
retransmisie n cazul scurgerii unui interval prea lung. Dac se primete confirmarea naintea
expirrii contorului, TCP msoar ct de mult i-a trebuit confirmrii s soseasc, fie acest timp
M. n continuare el actualizeaz RTT, dup formula:
RTT = aRTT + (l-a)M
unde a este un factor de netezire care determin ponderea dat vechii valori. Uzual, a=7/8.
Chiar presupunnd o valoare bun a lui RTT, alegerea unui interval potrivit de
retransmisie nu este o sarcin uoar. n mod normal, TCP utilizeaz $RTT, dar problema
const n alegerea lui (3. n implementrile iniiale, (3 era ntotdeauna 2, dar experiena a artat
c o valoare constant este inflexibil deoarece nu corespunde n cazul creterii variantei.
n 1988, Jacobson a propus ca j3 s fie aproximativ proporional cu deviaia standard a funciei de
densitate a probabilitii timpului de primire a confirmrilor, astfel nct o variant mare implic un
SEC. 6.4
503
504
CAP.fr
NIVELUL TRANSPORT
maxime ale unui pachet, pentru a se asigura c, atunci cnd o conexiune este nchis, toate pachetele
create de aceasta au murit.
6.4.8 UDP
Setul de protocoale Internet suport de asemenea un protocol de transport fr conexiune,
UDP (User Data Protocol - protocol pentru informaia utilizator). UDP ofer aplicaiilor o
modalitate de a trimite datagrame IP neprelucrate ncapsulate i pe care le transmite fr a stabili o
conexiune. Multe aplicaii client-server n care o parte emite cereri i cealalt parte emite rspunsuri
folosesc, mai curnd UDP dect s se complice s stabileasc i apoi s elibereze o conexiune. UDP
este descris n RFC 768.
- 32 Bii
Port surs
Port destinaie
Lungime UDP
SEC. 6.4
505
Ideea din spatele acestei abordri const n reducerea ncrcrii reelei i n diminuarea astfel
a suferinei cauzate de congestie.
Din nefericire, legturile bazate pe transmisia fr fir sunt profund nefiabile. Ele pierd tot timpul
pachete. Pentru a controla aceast pierdere a pachetelor, abordarea corect este s se retrimit ct
mai repede posibil. ncetinirea ritmului nu face dect s nruteasc lucrurile. Dac presupunem
c, atunci cnd emitorul transmite 100 de pachete pe secund, 20% din totalul pachetelor se
pierde, productivitatea este de 80 pachete/sec. Dac emitorul ncetinete ritmul la 50 pachete/sec,
productivitatea scade la 40 pachete/sec.
Atunci cnd se pierde un pachet pe o reea cu cabluri, emitorul ar trebui s ncetineasc ritmul.
Atunci cnd se pierde un pachet pe o reea fr fir, emitorul ar trebui s se strduiasc i mai tare.
Dac emitorul nu tie despre ce tip de reea este vorba, luarea unei decizii este dificil.
n mod frecvent, calea de la emitor la receptor este eterogen. Primii 1000 km pot s fie
ntr-o reea cu cabluri, dar ultimul kilometru poate s fie fr fir. Acum, luarea unei decizii n
situaia unei depiri de timp este i mai dificil, dat fiind c intervine i locul n care apare
problema. O soluie propus de Bakne i Badrinath (1995), TCP indirect, const n spargerea
conexiunii TCP n dou conexiuni separate, ca n Fig. 6-35. Prima conexiune pleac de la
emitor la staia de baz. Cea de-a doua leag staia de baz de receptor. Aceast staie de
baz nu face dect s copieze pachetele din cele dou conexiuni n ambele direcii.
TCP
Emitor
Staie de
Baz
TCP
Gazda
mobil
Ruter
Antena
506
NIVELUL TRANSPORT
CAP. 6
genereaz o retransmisie i atunci cnd observ confirmri duplicate din partea gazdei mobile^
lucru care indic invariabil faptul c aceasta a pierdut ceva. Confirmrile duplicate sunt
descrcate pe loc, pentru a evita ca sursa s le interpreteze ca un semn de congestie.
Cu toate acestea, uii dezavantaj al acestei transparene este acela c, dac legtura fr fir
pierde multe pachete, sursa poate depi limita de timp n ateptarea unei confirmri i poate
invoca n consecin algoritmul de control al congestiei. n cazul TCP-ului indirect, algoritmul
de control al congestiei nu va fi niciodat iniiat dac nu apare ntr-adevr o situaie de
congestie n partea cablat" a reelei.
Algoritmul Balakrishnan ofer de asemenea o soluie problemei pierderii segmentelor generate
de ctre gazda mobil. Atunci cnd staia de baz constat o pauz n interiorul domeniului
numerelor de secven, aceasta genereaz o cerere pentru o repetare selectiv a octetului lips,
utiliznd o opiune TCP. Prin aceste dou corecturi, legtura fr fir devine mai fiabil n ambele
direcii fr ca sursa s tie acest lucru i fr modificarea semanticii TCP.
Dei UDP-ul nu sufer de aceleai probleme ca i TCP-ul, comunicaia fr fir induce i pentru
el anumite dificulti. Principala problem este aceea c programele utilizeaz UDP ateptndu-se
ca acesta s fie foarte fiabil. Ele tiu c nu este furnizat nici o garanie, dar cu toate acestea se
A
SEC. 6.5
una dup cealalt. Nu dispune de un control al erorii, control al fluxului i de nici un alt control. n
consecin, el nu este foarte potrivit pentru cerinele celor mai multor aplicaii.
Pentru a rezolva problema, n Recomandarea 1363, TU a definit un nivel capt-la-capt
deasupra nivelului ATM. Acesta, numit AAL (ATM Adaptation Lavei- - nivel de adaptare ATM),
are o istorie zbuciumat, plin de erori, revizuiri i lucruri lsate neterminate. n seciunile care
urmeaz, vom arunca o privire asupra acestuia i asupra modului su de proiectare.
Scopul AAL-ului este de a furniza un serviciu util programelor de aplicaie protejndu-le de
automatismul decuprii datelor n celule, la surs, i de reasamblarea !or la destinaie. Atunci cnd a
nceput definirea AAL, TU a realizat c diferite aplicaii au diferite cerine, astfel nct a organizat
spaiul de servicii de-a lungul a trei axe:
1. Serviciu de timp real / serviciu de timp non-real.
2. Serviciu de transmisie cu vitez constant / serviciu de transmisie cu vitez variabil.
3. Serviciu orientat pe conexiuni / serviciu fr conexiuni.
n principiu, cu trei axe i dou valori pe fiecare ax pot fi definite opt servicii distincte, aa
cum arat Fig. 6-36. ITU a intuit c doar patru din acestea erau utile i le-a numit clasele A, B,
C i D, conform figurii. Celelalte nu au fost implementate. ncepnd cu- ATM 4.0, Fig. 6-36
este oarecum nvechit, astfel c ea a fost prezentat aici mai mult ca informaie fundamental
pentru a nelege de ce protocoalele AAL au fost proiectate astfel. n locui acestor clase de
servicii, diferenierea major se face acum ntre clasele de trafic, studiate n capitolul 5 (ABR5
CBR, NRT-VBR, RT-VBR i UBR).
D
smponzare
sta Di
Timp
rea!
Fr
Constant
Timp
rea!
Fr
Variabil
Timp
,
rea!
i ,_
i rara
Constant
Timp
rea!
Fr
Variabil
Fr conectivitate
Fig. 6-36. Clasele de servicii originale, suportate de ctre AAL (acum nvechite).
Pentru a controla aceste patru clase de servicii, ITU a definit patru protocoale, respectiv AAL 1
pn la AAL 4. Cu toate acestea, s-a descoperit n cele din urm c cerinele tehnice ale claselor C i
D erau att de apropiate, nct AAL 3 i AAL 4 au fost combinate n AAL 3/4. Ulterior, industria de
calculatoare - care cam adormise n timpul acestei schimbri - a realizat c nici unul dintre ele nu era
folositor. Problema a fost rezolvat prin simpla definire a unui alt protocol, AAL 5. Vom arunca o
privire sumar asupra tuturor celor patru protocoale. De asemenea, vom examina un protocol de
control interesant, utilizat pe sistemele ATM.
508
6.5.1
NIVELUL TRANSPORT
CAP. 6
Nivelul de adaptare ATM este divizat n dou pri principale, una dintre ele fiind mprit mai
departe, conform Fig. 6-37.
Partea superioar a nivelului de adaptare ATM este numit subnivelul de convergen. Sarcina
sa este de a furniza o interfa pentru aplicaie. Ea const dintr-o parte comun tuturor aplicaiilor
(pentru un protocol AAL dat) i o parte specific fiecrei aplicaii. Funciile fiecreia din aceste pri
sunt dependente de protocol, dar pot include ncadrarea mesajelor i detecia erorii.
Nivel de
adaptare
ATM
Discutat n
capitolui 6
Discutat n
capitolul 5
Discutat n
capitolul 3
509
SEC. 6.5
Generat de aplicaie
Mesaj
ncheiere
Generat de
subnivelul de
convergen
Generat de
subnivelul
SAR
cs
A
R
Generat de
nivelul ATM
A S W/y
T A
M R
S
A
W//AR
'//////,
V777/AV
A S W///,
T A
M R
cs
Antet ATM
Antet
SAR
S
A
Nefolositi
Antetul
ncheiere
subnivelului
SAR
de convergen
Octei
ncheierea
subnivelului de
convergen
Fig. 6-38. ntr-o reea ATM mesajelor le pot fi adugate antete i ncheieri.
Subnivelul SAR dispune de asemenea de unele funcii adiionale pentru unele clase de servicii
(dar nu pentru toate). Mai precis, el se ocup uneori de detecia i multiplexarea erorilor. Subnivelul
SAR este prezent n majoritatea claselor de servicii fiind mai mult sau mai puin solicitat, n funcie
de specificul protocolului.
Comunicaia ntre aplicaie i nivelul AAL utilizeaz primitivele standard OSI de cerere i
indicare, pe care le-am discutat n Cap. 1. Comunicaia ntre subnivele utilizeaz alt gen de primitive.
6.5.2
AAL1
AAL 1 este protocolul utilizat pentru transmisia traficului de clas A, adic traficul orientat pe
conexiuni, cu viteza de transmisie constant, de timp real, de exemplu trafic audio i video
necomprimat. Biii sunt produi de ctre aplicaie la o vitez de transmisie constant i trebuie s fie
livrai la captul ndeprtat cu aceeai rat constant, cu un minimum de ntrziere, fluctuaie i
suprancrcare. Intrarea este un ir de bii fr nici o limit de mesaj. Pentru acest trafic,
protocoalele de detecie a erorii, de exemplu pas-cu-pas, nu sunt utilizate datorit faptului c
ntrzierile introduse prin depirea limitei de timp i prin retransmisii nu sunt acceptabile. Cu toate
acestea, celulele lips sunt semnalate aplicaiei care trebuie s ia propriile msuri (dac e cazul)
pentru a le recupera.
AAL 1 utilizeaz un subnivel de convergen i un subnivel SAR. Subnivelul de convergen
detecteaz celulele pierdute i inserate greit. (O celul greit inserat este o celul care este livrat
unei destinaii eronate ca rezultat al unei erori nedetectate n identificatorii proprii de circuit virtual
sau cale virtual). Acest subnivel netezete de asemenea traficul de intrare pentru a asigura o livrare
CAP. 6
NIVELUL TRANSPORT
510
A
non-P 0 SN SNP
jj
\
Paritate par
! SN SNP
>
f(
Pointer
Jj
46-Octei informaie util
ff
48 Octei
SEC. 6.5
511
adecvat pentru fluxuri audio i video necomprimate pure sau pentru orice alt tip de fluxuri de date n
care civa bii distorsionai din cnd n cnd nu creeaz o problem.
Pentru fluxuri audio i video comprimate, viteza de transfer poate varia puternic n timp. De
exemplu, multe scheme de compresie transmit periodic un cadru video complet, i apoi transmit
doar diferenele dintre cadrele intermediare i ultimul cadru complet, pentru mai multe cadre.
Atunci cnd camera este staionar i nimic nu se mic, diferenele dintre cadre sunt minore, dar
cnd camera este deplasat rapid, diferenele sunt importante. De asemenea, limitele mesajelor
trebuie respectate, astfel nct s poat fi recunoscut nceputul cadrului complet urmtor chiar n
cazul unor pierderi de celule sau unor date eronate. Din aceste motive este necesar un protocol
aparte. AAL 2 a fost proiectat n acest scop.
-1 O c t e t
SN
IT
2 Octei L
CRC
48 Octei
AAL 3/4
La nceput, ITU a avut diferite protocoale pentru clasele C i D, serviciu orientat pe conexiuni i
serviciu fr conexiuni pentru transport de date sensibil la pierderi sau erori, dar care nu este
dependent de timp. Apoi ITU a descoperit c n realitate nu erau necesare dou protocoale i, prin
urmare, ele au fost combinate ntr-un singur protocol, AAL 3/4.
AAL 3/4 poate opera n dou moduri: flux sau mesaj. n modul mesaj, fiecare apel dinspre
aplicaie spre AAL 3/4 injecteaz un mesaj n reea. Mesajul este livrat ca atare, altfel spus, limitele
512
NIVELUL TRANSPORT
CAP. 6
mesajului sunt respectate. In modul flux, limitele nu sunt respectate. Discuia urmtoare se va
concentra asupra modului mesaj. n fiecare mod este asigurat transportul fiabil i nefiabil (de
exemplu fr garanie).
O caracteristic a lui AAL 3/4 care nu este prezent n nici unul din celelalte protocoale
este multiplexarea. Acest aspect al lui AAL 3/4 permite sesiunilor multiple (de exemplu
conectare de la distan) de la o singur gazd s circule pe aceiai circuit virtual i s fie
separate la destinaie, ca n Fig. 6-41.
Circuit
/virtual 1
Cale virtual
/
Trei sesiuni
muIipSexae
pe circuitul
virtual 2
sesiuni
1
Btag
3-3
Dimensiune
Antet CS
BA
Informaie util
11 Ia 65535 oct.)
Umplu-
1
Etag
jime
(0-65535)
ncheiere CS
SEC. 6.5
513
Cmpul CPI (Common Part Indicator - indicatorul prii comune) furnizeaz tipul
mesajului i unitatea de numrare pentru dimensiunea BA i cmpul Lungime. Cmpurile Btag
si Etag sunt utilizate pentru a ncadra mesajele. Cei doi octei trebuie s fie identici i sunt
incrementai cu unu de fiecare dat cnd se trimite un nou mesaj. Acest mecanism verific
pierderile i inserrile eronate de celule. Cmpul dimensiune BA este utilizat pentru alocarea
tamponului. El spune receptorului ct de mult spaiu s aloce n avans pentru memorarea
mesajului care urmeaz s soseasc. Cmpul Lungime indic din nou lungimea ncrcrii utile,
n modul mesaj, el trebuie s fie egal cu dimensiune BA, putnd diferi ns n modul flux.
ncheierea mai conine de asemenea i un octet neutilizat.
Dup ce subnivelul de convergen a construit i a adugat un antet i o ncheiere la mesaj,
conform Fig. 6-42., mesajul este ncredinat subnivelului SAR, care l decupeaz n segmente
de cte 44 octei. S observm c, pentru a suporta multiplexarea, subnivelul de convergen
poate construi intern mai multe mesaje n acelai timp i poate trimite segmente de cte 44
octei ctre subnivelul SAR, mai nti dintr-un mesaj, apoi din altul, n orice ordine.
Subnivelul SAR insereaz fiecare segment de 44 de octei n ncrcarea util a unei celule,
al crei format este dat de Fig. 6-43. Aceste celule sunt apoi transmise ctre destinaie, unde
sunt reasamblate, apoi este verificat suma de control i se acioneaz conform rezultatului.
Bii
2 4
10
S S
T N
MID
00 Mijloc
01 Sfrit
10 nceput
11 Mesaj de o singur celul
10
LI
CRC
1-44
48 Octei
NIVELUL TRANSPORT
514
CAP. 6
6.5.5 AAL 5
Protocoalele AAL 1 pn la AAL 3/4 au fost proiectate n mare parte de ctre industria de
telecomunicaie i standardizate de ctre ITU, fr ca industria de calculatoare s participe prea
mult. Atunci cnd, n cele din urm, industria de calculatoare s-a trezit i a nceput s neleag
implicaiile din Fig. 6-42, s-a instaurat un sentiment de panic. Complexitatea i ineficienta generat
de dou nivele de protocoale, combinat cu suma de control surprinztor de scurt (doar 10 bii) a
impulsionat civa cercettori s inventeze un nou protocol de adaptare. El a fost numit SEAL
(Simple Efficient Adaptation Layer - nivel de adaptare simplu i eficient), lucru care sugereaz
faptul c proiectanii l-au comparat cu vechile protocoale. Dup cteva discuii, Forumul ATM a
acceptat SEAL i i-a atribuit numele AAL 5. Pentru mai multe informaii asupra AAL 5 i asupra
diferenelor acestuia fa de AAL 3/4, se poate consulta (Suzuki, 1994).
AAL 5 ofer aplicaiilor sale mai multe tipuri de servicii. O posibilitate este serviciul fiabil (de
exemplu, livrarea garantat cu control al fluxului pentru a prentmpina supraaglomerrile). O alt
posibilitate este serviciul nefiabi (de exemplu, nici o garanie de livrare), cu alternativele de a
descrca sau de a transmite aplicaiei (cu avertismentul de eroare) celulele cu erori n suma de
control. Este suportat att comunicaia de tip uni-destinaie ct i de tip multi-destinaie, dar multidestinaia nu garanteaz livrarea.
La fel ca i AAL 3/4, AAL 5 suport att modul mesaj ct i modul flux. n modul mesaj, o
aplicaie poate transmite, nivelului AAL o datagram de lungime ntre 1 i 65535 octei astfel nct
fie se garanteaz sosirea datagramei la destinaie, fie se ncearc livrarea ei n condiii ct mai bune.
Odat cu sosirea l subnivelui de convergen, mesajul este aliniat i completat cu o ncheiere, aa
cum se arat n Fig. 6-44. Numrul de octei adugai pentru aliniere (de la 0 la 47 de octei) este
astfel ales, nct ntregul mesaj, inclusiv ncheierea i octeii n discuie, s fie un multiplu de 48. AAL
5 nu are un antet al subnivelului de convergen, ci doar o ncheiere de 8 octei.
1
Octei
Informaie util (1 la 65,535 octei)
UU
1
Lungime
CRC
SEC. 6.5
515
un bit n cmpul PTI al ultimei celule, astfel nct s se respecte limitele de mesaj. S-ar putea spune
c acest lucru este o amestecare incorect a nivelurilor de protocoale, deoarece nivelul AAL nu ar
trebui s utilizeze bii din antetul nivelului ATM. Procednd astfel, se violeaz principiul de baz al
ingineriei protocoalelor, sugerndu-se c proiectarea nivelurilor ar fi trebuit probabil s fie realizat
ntr-o alt manier.
Principalul avantaj al lui AAL 5 asupra lui AAL 3/4 const ntr-o eficien mult mai mare. Dac
AAL 3/4 adaug doar 4 octei per mesaj, AAL 5 adaug de asemenea 4 octei per celul, reducnd
capacitatea informaiei utile la 44 de octei, ceea ce reprezint o pierdere de 8 procente pentru
mesajele lungi. AAL 5 are o ncheiere ceva mai mare (8 octei), dar nu adaug suprancrcare la
nivelul fiecrei celule. Lipsa unui numr de secven n celule este compensat printr-o sum de
control mai mare, care poate detecta pierderile, inserrile eronate sau celulele lips fr a folosi
numerele de secven.
n comunitatea Internet, se prognozeaz c interfaa cu reelele ATM se va realiza prin
transportul pachetelor IP care conin un cmp ncrcare util de tipul AAL5. Diferite abordri aie
acestei idei sunt discutate n RFC 1483 i RFC 1577.
6.5.6 O comparaie a protocoalelor AL
Dac, n acest moment, cititorul consider c diferitele protocoale AAL sunt inutil de similare
unul altuia i superficial concepute, faptul este de neles. deea de a avea subnivele SAR i de
convergen distincte st de asemenea sub semnul ntrebrii, mai ales dac avem n vedere c AAL 5
nu conine nimic n subnivelul SAR. O mic mbuntire a antetului nivelului ATM ar fi fost
suficient pentru secveniere, multiplexare i ncadrare.
Element
Clasa de serviciu
Multiplexare
Delimitarea mesajelor
Alocarea n avans a tampoanelor
Octei utilizator disponibili
Umplutur CS
Suprancrcare de protocol CS (octei)
Sum de control CS
Octei SAR de ncrcare util
Suprancrcare de protocol SAR (octei)
Sum de control SAR
AAL1
A
Nu
Absent
Nu
0
0
0
Absent
46-47
1-2
Absent
AAL 2
B
Nu
Absent
Nu
0
0
0
Absent
45
3
Absent
AAL 3/4
C/D
Da
Btag/Etag
Da
0
Cuvn pe 32 bii
8
Absent
44
4
10 bii
AAL 5
C/D
Nu
Bit n PT1
Nu
1
0-47 octei
8
32 bii
48
0
Absent
516
NIVELUL TRANSPORT
CAP. 6
Viitorul ncepe cu AAL 5, dar i aici mai este loc pentru mbuntiri. Mesajele AAL 5 ar fi
trebuit s aib un numr de secven i un bit pentru a distinge ntre mesajele de date i mesajele de
control, astfel nct ele s poat fi folosite ntr-un protocol fiabil de nivel transport. Pentru acestea ar
fi putut fi utilizat chiar spaiul liber din ncheiere. Ct despre transportul fiabil, suprancrcarea
adiional a nivelului transport este cerut n partea superioar a sa, dei ar fi putut fi evitat. Dac
ntregul Comitet AAL ar fi concretizat munca sa ntr-un proiect de semestru, foarte probabil c
profesorul l-ar fi dat napoi cu cererea de a-1 pune la punct i de a-1 preda atunci cnd este finalizat.
Mai multe critici ale ATM-ului pot fi gsite n (Sterbenz . a., 1995).
6.5.7 SSCOP - protocol orientat pe conexiuni, specific serviciului
n ciuda attor protocoale AAL diferite, nici unul din ele nu ofer conexiuni de transport
capt-la-capt fiabile i simple. Pentru aplicaiile care necesit acest lucru exist un alt
protocol AAL: SSCOP (Service Specific Connection Oriented Protocol - protocol orientat pe
conexiuni, specific serviciului). Cu toate acestea, SSCOP este utilizat doar pentru control, nu i
pentru transmisie de date.
Utilizatorii SSCOP transmit mesaje, la fiecare din ele atandu-se un numr de secven de
24 de bii. Mesajele pot conine pn la 64K octei i nu sunt fragmentate. Ele trebuie s fie
livrate n ordine. Spre deosebire de alte protocoale fiabile de transport, mesajele lips sunt
ntotdeauna retransmise prin repetare selectiv mai curnd dect prin protocol cu reluare n.
SSCOP este n principal un protocol cu fereastr glisant dinamic. Pentru fiecare conexiune,
receptorul pstreaz o fereastr de numere de secven ale mesajelor pe care este pregtit s le
recepioneze i o hart de bii care marcheaz mesajele deja deinute. Aceast fereastr i poate
schimba dimensiunea n timpul operrii protocolului.
Lucrul neobinuit la SSCOP este modul n care controleaz confirmrile: nu exist nici o
acumulare nainte de ataare. In locul acesteia, emitorul investigheaz periodic receptorul
cerndu-i s-i trimit napoi harta de bii care indic starea ferestrei. Bazndu-se pe acest rezultat,
emitorul descarc mesajele care au fost acceptate i actualizeaz propria fereastr. SSCOP este
descris n detaliu n (Henderson, 1995).
SEC. 6.6
ELEMENTE DE PERFORMANA
517
Nivelul transport nu este singurul loc unde apar elemente legate de performan. Am vzut
unele elemente la nivelul reea, n capitolul precedent. Fr nici un dubiu, nivelul reea tinde s fie
preocupat n mare msur de rutare i controlul congestiei. Mai general, elementele orientate sistem
tind s fie legate de nivelul transport, aa c acest capitol este locul potrivit pentru a le examina.
n urmtoarele cinci seciuni vom examina cinci aspecte de performan ale reelei:
1.
2.
3.
4.
5.
Probleme de performan.
Msurarea performanei reelei.
Proiectarea de sistem pentru performane mai bune.
Prelucrarea rapid TPDU.
Protocoale pentru reele viitoare de mare performan.
NIVELUL TRANSPORT
518
CAP. 6
Chiar n absena unei suprancrcri sincrone i chiar atunci cnd sunt suficiente resurse
disponibile, performanele pot fi slabe datorit unei proaste reglri a sistemului. De exemplu,
dac o main are suficient memorie i putere de prelucrare, dar nu a fost alocat suficient
spaiu pentru tampoane, vor aprea aglomerri i se vor pierde TPDU-uri. Similar, dac
algoritmul de planificare nu acord o prioritate suficient de mare prelucrrii TPDU-urilor care
sunt recepionate, unele din ele se vor pierde.
Un alt element de reglare este potrivirea corect a intervalelor de limit de timp. Atunci cnd
este trimis un TPDU, n mod normal se poziioneaz un contor pentru a evita pierderea sa. Dac
limita de timp este prea scurt, se vor produce retransmisii inutile, obturnd cablurile. Dac limita
de timp este prea lung, se vor introduce ntrzieri inutile dup pierderea unui TPDU. Ali
parametri de reglare includ lungimea intervalului de timp dup care datele acumulate sunt
confirmate si numrul de retransmisii nainte de renunare.
(a)
(b)
(O
(d)
SEC. 6.6
ELEMENTE DE PERFORMAN
519
520
NIVELUL TRANSPORT
CAP. 6
Aceti pai se repet pn la atingerea unor performane suficient de bune sau pn cnd este
clar c i ultima mbuntire posibil a fost pus n aplicare.
Msurarea poate fi fcut n multe moduri i n multe locuri (att fizic ct i n stiva de
protocoale). Cel mai important mod de msurare este iniializarea unui contor la nceputul unei
activiti i observarea timpului necesar pentru ndeplinirea acelei sarcini. De exemplu, un element
cheie n msurare este aflarea timpului necesar unui TPDU pentru a fi confirmat. Alte msurtori
sunt fcute cu contoare care nregistreaz frecvena de apariie a unor evenimente (de exemplu,
numrul de TPDU-uri pierdute). n final, unii pot fi interesai s afle valorile unor mrimi, ca de
exemplu numrul de octei prelucrai ntr-un anume interval de timp.
Msurarea performanelor i a parametrilor reelei ascunde multe capcane poteniale. n cele ce
urmeaz, enunm doar cteva din acestea. Orice ncercare sistematic de a msura performanele
reelei trebuie s le evite.
Dimensiunea testului trebuie s fie suficient de mare
Timpul necesar pentru a trimite un TPDU nu trebuie msurat o singur dat, ci n mod repetat,
s zicem, de un milion de ori, lundu-se n considerare media valorilor rezultate. Un test de
dimensiune mare va reduce gradul de incertitudine n media i deviaia standard a msurtorii.
Aceast incertitudine poate fi calculat pe baza formulelor statistice obinuite.
Testele trebuie s ie reprezentative
Ideal ar fi ca ntreaga secven a celor un milion de msurtori s fie repetat n diferite
momente ale zilei i ale sptmnii pentru a pune n eviden efectul diferenelor de ncrcare a
sistemului asupra mrimii msurate. Msurtorile de congestie, de exemplu, nu sunt prea utile dac
sunt fcute ntr-un moment n care nu exist nici o congestie. Uneori rezultatele pot corespunde
iniial intuiiei, de exemplu congestii importante a orele 10,11, sau 1,2 dup amiaz, dar se poate ca
Ia amiaz congestia s lipseasc (cnd toi utilizatorii au pauz de prnz).
SEC. 6.6
ELEMENTE DE PERFORMAN
521
urmtoare. Similar, dac vreun cercettor se decide s conduc o videoconferin n reea, n timpul
testelor poate fi obinut un rezultat alterat. Cel mai bine este ca testele s fie rulate pe un sistem
complet inactiv, ntreaga sarcin fiind construit n vederea testrii. Chiar i aceast abordare are
propriile-i capcane. Dei ne-am atepta ca nimeni s nu utilizeze reeaua la ora 3 dimineaa, acesta
poate s fie chiar momentul n care un program de salvare automat ncepe s copieze coninutul
tuturor discurilor pe band video. Mai mult dect att, s-ar putea s existe un trafic important pentru
minunatele pagini de Web de pe reea, situate n zone aflate pe alte meridiane orare.
Lucrul cu memoria tampon (ascuns) poate distruge msurtorile
Pentru a msura timpul de transfer al fiierelor, calea cea mai evident este de a deschide un
fiier de dimensiune mare, de a-1 citi n ntregime i de a-1 nchide, urmnd a vedea ct de mult a
durat toat operaia. Se repet apoi operaia de mult mai multe ori, pentru a obine o medie corect.
Problema este c sistemul poate memora fiierul n memoria tampon, astfel nct doar prima
msurtoare s fi invocat traficul n reea. Restul nu sunt dect accese la memoria tampon local.
Rezultatele unei astfel de msurtori sunt, n esen, fr nici o valoare (doar dac nu cumva se
dorete msurarea performanelor memoriei tampon).
De obicei, se poate ocoli memoria tampon prin simpla ei suprancrcare. De exemplu, dac
memoria tampon este de 10 M octei, ciclul de test ar putea deschide, citi i nchide dou fiiere de
10 M octei la fiecare bucl, n tentativa de a fora rata de succes n accesul la memoria tampon la 0.
Cu toate acestea, dac nu se nelege cu absolut precizie algoritmul de manipulare a memorie
tampon, trebuie procedat cu grij.
Memorarea datelor n tampoane poate avea acelai efect. Se cunoate un program utilitar
popular pentru msurarea performanelor TCP/IP care raporteaz performane ale UDP-ului
substanial mai mari dect o permit liniile fizice. Cum se ntmpl acest lucru? Un apel ctre UDP
ntoarce n mod normal controlul odat ce mesajul a fost acceptat de ctre nucleu i adugat la
coada de transmisie. Dac este suficient spaiu n tampon, msurarea a 1000 de apeluri UDP nu
nseamn neaprat c informaiile au fost transmise. Cea mai mare a informaiilor poate s se afle
nc n nucleu, dar instrumentul de msurare interpreteaz c ele au fost toate deja transmise.
Trebuie neles ceea ce se msoar
Atunci cnd se msoar timpul necesar pentru a citi un fiier de la distan, msurtorile depind
de reea, de sistemele de operare de la ambele capete - client i server, de tipul de echipament al
plcii de interfa utilizat, de programele care le controleaz i de ali factori. Procednd cu atenie,
putem determina n ultim instan timpul de transfer al fiierului pentru configuraia utilizat. Dac
scopul l reprezint reglarea acestei configuraii particulare, atunci msurtorile sunt n regul.
Cu toate acestea, dac, n scopul alegerii unei interfee de reea pentru a fi cumprat, sunt
fcute msurtori similare pe trei sisteme diferite, rezultatele pot fi complet bulversate n cazul n
care unul din programele care controleaz echipamentul este de-a dreptul ngrozitor i utilizeaz
doar 10% din performanele plcii.
NIVELUL TRANSPORT
522
CAP. 6
h
(O
5SO
-o
Q.1
3.7
0.8
ncrcare
SEC. 6.6
ELEMENTE DE PERFORMAN
523
524
NIVELUL TRANSPORT
Controlor
de reea
'
/ \
CAP. 6
Preoces
receptor
A
f
4
1(
Spaiu
utilizator
Spaiu
nucleu
SEC. 6.6
ELEMENTE DE PERFORMAN
525
Regula #5: Oricnd se poate cumpra mai mult lrgime de band, dar niciodat
o ntrziere mai mic.
Urmtoarele trei reguli se ocup de comunicaie mai mult dect de prelucrarea protocolului.
Prima regul stabilete c, dac se dorete o lime de band mai mare, este suficient s o cumperi.
Dac se pune o a doua fibr alturi de prima, se dubleaz lrgimea de band, dar nu se micoreaz
deloc ntrzierile. Micorarea ntrzierilor presupune mbuntirea programului de protocol, a
sistemului de operare sau a interfeei cu reeaua. Chiar dac toate acestea sunt ndeplinite,
ntrzierea nu se va reduce dac gtuirea const n timpul de transmisie.
NIVELUL TRANSPORT
526
CAP. 6
interiorul procesului emitor. n Fig. 6-49, pentru a executa SEND-ul, procesul emitor intr
n mod nucleu prin acionarea unei capcane. Primul lucru pe care l face entitatea transport
este de a testa dac nu cumva este vorba de cazul normal: starea este STABILIT, nici o parte
nu ncearc s nchid conexiunea, un TPDU ntreg este n curs de a fi transmis (de exemplu,
nu este n afara limitelor) i este disponibil un spaiu fereastr suficient la receptor. Dac toate
condiiile sunt ndeplinite, nici un test suplimentar nu mai este necesar i poate fi acaparat
calea rapid prin entitatea de transport emitoare.
Proces receptor
Proces
emitor
(S
!_J
l .|
[.
Reea
Fig. 6-49. Calea rapid de la emitor la receptor este indicat printr-o linie groas.
Paii de prelucrare ai acestei ci sunt reprezentai prin dreptunghiuri umbrite.
In cazul normal, antetele mai multor date TPDU consecutive sunt n mare parte identice.
Pentru a profita de acest lucru, n interiorul entitii transport se memoreaz un antet
prototip. La nceputul cii rapide, el este copiat ct de repede posibil ntr-un tampon special,
cuvnt cu cuvnt. Acele cmpuri care ulterior se modific de la un TPDU la altul sunt
suprascrise n tampon. In mod frecvent, aceste cmpuri sunt uor de derivat din variabilele de
stare, de exemplu urmtorul numr de secven. Apoi este pasat nivelului reea un indicator
spre ntregul antet TPDU, mpreun cu un indicator spre informaia utilizator. i aici se poate
urma aceeai strategie (caz neacoperit de Fig. 6-49). In final, nivelul reea furnizeaz pachetul
rezultat nivelului legtur de date, n vederea transmisiei.
Pentru a exemplifica modul n care opereaz acest principiu n practic, s considerm cazul
TCP/IP-ului. Fig. 6-50(a) arat antetul TCP. Cmpurile umbrite sunt identice ntre dou TPDU-uri
consecutive, pe un flux ntr-un singur sens. Tot ce are de fcut entitatea transport este s copieze cele
cinci cuvinte dintr-un antet prototip n tamponul care urmeaz s fie transmis, s completeze
urmtorul numr de secven (prin copierea lui dintr-un cuvnt din memorie), s calculeze suma de
control i s incrementeze numrul de secven din memorie. Entitatea poate nmna apoi antetul,
mpreun cu datele aferente, unei proceduri IP speciale, n vederea transmisiei obinuite a unui
TPDU de dimensiune maxim. n continuare IP copiaz cele cinci cuvinte ale antetului su prototip
ELEMENTE DE PERFORMANTA
SEC. 6.6
527
[vezi Fig. 6-50(b)] n tampon, completeaz cmpul Identificare i calculeaz suma sa de control.
Pachetul este acum gata pentru transmisie.
i
Port destinaie
Port surs
Numr de secven
Numr de confirmare
Lg.
Neutil.
Dim. fereastr
Indicator urgent
Sum de control
(a)
VER. IHL
TOS
Lungime total
Identificare
TTL
Depl. fragment
Sum de control
a antetului
Protocol
Adres surs
Adres destinaie
(b)
Fig. 6-50. (a) Antetul TCP. (b) Antetul IP. n ambele cazuri, cmpurile umbrite
se obin din prototip, fr nici o modificare.
S aruncm o privire asupra prelucrrii pe calea rapid n cazul receptorului din Fig. 6-49.
Pasul 1 const n localizarea nregistrrii de conexiune din TPDU-ul recepionat. n cazul
ATM, determinarea nregistrrii de conexiune este uoar: cmpul VPI poate fi utilizat ca
index n tabela cilor pentru a obine tabela circuitului virtual pentru acea cale, iar VCI poate
fi utilizat ca index al nregistrrii de conexiune. n cazul TCP, nregistrarea de conexiune poate
fi memorat ntr-o tabel de dispersie pentru care cheia poate fi o funcie simpl aplicat celor
dou adrese IP i celor dou porturi. Odat ce nregistrarea de conexiune a fost localizat,
corectitudinea sa trebuie verificat prin compararea ambelor adrese i ambelor porturi.
O optimizare care accelereaz i mai mult determinarea nregistrrii de conexiune const
n meninerea unui indicator ctre ultima nregistrare utilizat, urmnd ca aceasta s fie prima
nregistrare testat. Clark .a. (1989) au aplicat aceast idee i au observat o rat de succes
care depete 90%. Alte euristici de cutare sunt descrise n (McKenney i Dove, 1992).
n continuare, TPDU-ul este verificat pentru a determina dac este vorba de cazul normal:
starea este STABILIT, niciuna din pri nu ncearc nchiderea conexiunii, este un TPDU complet,
nici un indicator special nu este poziionat i numrul de secven este cel ateptat. Aceste teste
nseamn doar cteva instruciuni. Dac toate condiiile sunt ndeplinite, este invocat o procedur
TCP pentru cale rapid.
Calea rapid actualizeaz nregistrarea de conexiune i copiaz informaia ctre utilizator.
Totodat, suma de control este calculat chiar pe parcursul copierii, eliminnd astfel trecerile
suplimentare pe secvena de date. Dac suma de control este corect, nregistrarea de conexiune
este actualizat i se trimite o confirmare. Schema general care const ntr-un control rapid la
nceput, pentru a vedea dac antetul este cel ateptat, precum i n existena unei proceduri speciale
care trateaz cazul respectiv, se numete predicia antetului. Schema este utilizat n multe din
implementrile TCP. Atunci cnd aceast optimizare este utilizat mpreun cu celelalte optimizri
discutate n acest capitol, este posibil ca TCP-ul s ating la execuie 90% din viteza de copiere
local memorie - memorie, presupunnd c mediul de comunicaie este suficient de rapid.
Alte dou domenii unde se pot obine ctiguri importante n performane sunt controlul
tampoanelor i al contoarelor de timp. n controlul tampoanelor, ideea const n evitarea copierilor
NIVELUL TRANSPORT
528
CAP.6
inutile, aa cum s-a menionat anterior. Controlul contoarelor de timp este important, deoarece
aproape nici un contor nu expir de fapt. Acestea sunt poziionate astfel, nct s ne pzeasc
mpotriva pierderii de TPDU-uri, dar majoritatea TPDU-urilor, ca i confirmrile lor, de altfel,
ajung corect la destinaie. Este deci important s se optimizeze controlul contoarelor de timp pentru
cazul n care acestea expir rar.
Poziie
0
1
7
8
10
11
12
13
14
15
-*
Timpul curent, T
SEC. 6.6
ELEMEN1E DE PERFORMAN
Cu fiecare impuls de ceas indicatorul de timp curent este avansat cu o poziie (circular). Dac
intrarea indicat este neniil, sunt prelucrate toate contoarele asociate ei. Mai multe variatiuni pe
aceast tem sunt discutate n (Varghese i Lauck, 1987).
La nceputul anilor '90 au nceput s apar reele gigabit. Prima reacia a oamenilor a fost s
utilizeze pentru ele vechile protocoale, lucru care a pus n scurt timp diferite probleme. Vom discuta
n aceast seciune cteva din aceste probleme, precum i direciile urmate de noile protocoale
pentru a le soluiona. Alte informaii pot fi gsite n (Baransei . a., 1995; i Partridge, 1994).
Prima problem este c multe protocoale utilizeaz secvene de numere de 16 sau 32 de bii. Mai
32
demult, 2 reprezenta o aproximare bun a infinitului. Acest lucru s-a schimbat. La o rat de 1 Gbps
sunt necesare aproximativ 32 de secunde pentru transmisia a 232 octei. Dac numerele de secven
se refer la octei, aa cum se ntmpl n TCP, atunci un emitor poate ncepe transmisia octetului
0, apoi s transmit ca vntul, i 32 de secunde mai trziu s se ntoarc la octetul 0. Chiar
presupunnd c toi octeii au fost confimiai, emitorul nu poate s transmit n siguran noua
informaie etichetat de ia 0, deoarece se pot afla n suspensie pe undeva pachete vechi. n Internet,
de exemplu, pachetele pot avea o via de 120 sec. Dac numerele se refer la pachete n loc de
octei, problema este mai puin serioas, excepie fcnd numerele de secven reprezentate pe 16
bii, caz n care problema este chiar mai grav.
Problema este c muli proiectani de protocoale au plecat de ia presupunerea c timpul
necesar consumrii spaiului numerelor de secven depete cu mult timpul maxim de via
ai unui pachet. n consecin, nu era nici mcar nevoie s i fac griji c duplicate vechi pot s
existe nc undeva atunci cnd numerele de secven au revenit la vechile valori. La viteze
gigabit aceast presupunere cade.
O a doua problem este aceea c viteza de comunicaie a crescut mult mai repede dect viteza
de prelucrare. (Not pentru inginerii de calculatoare: Ieii n strad i batei-i pe inginerii de
comunicaii! Ne bazm pe voi.) n anii 70, ARPANET-ui opera ia 56 Kbps i avea calculatoare care
funcionau la aproape 1 MIPS. Pachetele erau de 1008 bii i astfel ARPANET-ui putea livra
aproximativ 56 pachete/sec. Avnd disponibile 18 msec pentru fiecare pachet, o main gazd putea
s-i permit s iroseasc 18000 instruciuni pentru prelucrarea unui pachet. Desigur, dac ar fi fcut
astfel, ar fi asfixiat complet procesorul, dar putea renuna la doar 9000 instruciuni per pachet i tot iar mai fi rmas jumtate din puterea procesorului pentru celelalte prelucrri.
S comparm aceste numere cu calculatoarele moderne de 100 MIPS care interschimb pachete
de 4K octei pe o linie gigabit. Pachetele pot curge cu o vitez de peste 30000 pe secund, astfel
nct, dac vrem s rezervm jumtate din puterea procesorului pentru aplicaii, prelucrarea unui
pachet trebuie s se ncheie n 15 fisec. In 15 jisec, un calculator de 100 MIPS poate executa doar
1500 instruciuni, doar 1/6 din ceea ce i putea permite un calculator gazd ARPANET. Mai mult
dect att, instruciunile RISC moderne fac mai puine lucruri per instruciune dect o fceau
vechile instruciuni CISC, deci problema este chiar mai grav dect pare. n concluzie: exist mult
mai puin timp pentru prelucrarea efectuat de protocol dect exista altdat, deci protocoalele
trebuie s devin mai simple.
O a treia problem este aceea c protocolul cu reluare n are performane slabe pe linii cu un
produs lrgime de band-ntrziere de valoare mare. S considerm de exemplu o linie de 4000 km
NIVELUL TRANSPORT
530
CAP. 6
opernd la 1 Gbps. Timpul de transmisie dus-ntors este de 40 msec, timp n care un emitor poate
transmite 5 megaoctei. Dac se detecteaz o eroare, atunci vor fi necesare 40 msec nainte ca
emitorul s fie avertizat de acest lucru. Dac este utilizat algoritmul cu reluare n, emitorul nu va
avea de retransmis doar pachetul eronat, ci i toi cei 5 megaoctei care i-au succedat. n mod clar,
are loc o risip de resurse.
1000 sec
jjj
100 sec -
'-
10 sec
1 sec %
c
+3100 msec
05
T3
10 msec 1 msec
J_
10
10*
10*
10
10'
10
Rata datelor (bps)
10"
1010
10n
10
12
SEC. 6.6
ELEMENTE DE PERFORMAN
531
Principiul de baz pe care toi proiectanii de reele gigabit ar trebui s-1 nvee pe de rost
este:
Proiectai astfel, nct s optimizai viteza, nu limea de band.
Protocoalele vechi au fost de regul proiectate pentru a minimiza numrul de bii de pe fir, prin
utilizarea frecvent a cmpurilor de dimensiuni mici i prin mpachetarea lor n octei i cuvinte. n
zilele noastre, exist suficient de mult lime de band. Problema o reprezint prelucrrile
efectuate de protocoale, deci acestea trebuie reduse la minim.
O modalitate tentant pentru accelerarea lucrurilor este de a construi intefee rapide cu reeaua
sub form de echipamente fizice. Dificultatea acestei strategii const n aceea c, n lipsa unui
protocol extrem de simplu, un nou echipament nseamn conectarea unei noi plci, cu un al doilea
procesor i cu propriul program. Pentru a evita ca un co-procesor de reea s aib un pre
comparabil cu al procesorului principal, el este de regul o component mai lent. Consecina
acestei soluii este c mult timp, procesorul principal (rapid) este inactiv, ateptnd ca al doilea
procesor (cel lent) s fac toat munca critic. Este o naivitate s crezi c procesorul principal ar
avea altceva de fcut n acest timp. Mai mult dect att, atunci cnd comunic dou procesoare
independente, pot aprea curse critice, fiind deci necesare protocoale complexe, pentru
sincronizarea lor corect. n general, cea mai bun abordare este de a concepe protocoalele ct mai
simplu i de a lsa procesorul principal s fac toat treaba.
S studiem acum noiunea de reacie n protocoalele de mare vitez. Datorit buclei de
ntrziere (relativ) lung, reacia ar trebui evitat: receptorului i ia prea mult timp pentru a anuna
emitorul. Un exemplu de reacie este controlul vitezei de transfer prin utilizarea unui protocol cu
fereastr glisant. Pentru a evita ntrzierile (ndelungate) inerente atunci cnd receptorul trimite
emitorului actualizrile de fereastr, cel mai bine este s se utilizeze o rat de transfer dictat de
protocol. ntr-un astfel de protocol, emitorul poate trimite tot ceea ce dorete el s trimit, cu
condiia s nu o fac mai repede dect s-a convenit iniial cu receptorul.
Un al doilea exemplu de reacie este algoritmul startului lent al lui Jacobson. Acest algoritm face
interogri multiple pentru a determina ct de mult poate suporta reeaua. n reelele de mare vitez
utilizarea a jumtate de duzin de interogri scurte pentru testarea rspunsul reelei conduce la
irosirea unei pri imense din limea de band. O schem mai eficient este ca emitorul,
receptorul i reeaua s rezerve resursele necesare n momentul stabilirii conexiunii. Rezervarea n
avans a resurselor are de asemenea avantajul diminurii fluctuaiilor. Pe scurt, migrarea spre viteze
mari mpinge inexorabil proiectarea spre operaii orientate pe conexiuni sau spre ceva foarte
apropiat de acestea.
n reelele gigabit, o importan deosebit trebuie acordat aspectului pachetelor. Antetul ar
trebui s conin ct mai puine cmpuri cu putin pentru a reduce timpul de prelucrare, iar aceste
cmpuri ar trebui s fie suficient de mari pentru a-i face munca i pentru a fi aliniate la cuvnt, fiind
astfel mai uor de prelucrat. n acest context, suficient de mari" nseamn eliminarea problemelor
precum revenirea numerelor de secven la valori vechi ct timp exist nc pachete vechi,
incapacitatea receptorilor de a oferi suficient spaiu de fereastr datorit unei dimensiuni prea mici a
cmpului fereastr .a.m.d.
Antetul i informaia ar trebui s fie prevzute cu sume de control separate, din dou motive. n
primul rnd, pentru a face posibil calcularea sumei de control a antetului, dar nu i a datelor. n al
doilea rnd, pentru a determina corectitudinea antetului naintea nceperii copierii datelor n spaiul
532
NIVELUL TRANSPORT
CAP. 6
utilizator. Este de dorit s se calculeze suma de control a datelor la momentul copierii lor n spaiul
utilizator, dar dac antetul este incorect, copierea poate s se fac n spaiul unui alt proces. Pentru a
evita o copiere incorect, dar pentru a permite i calculul sumei de control a datelor n timpul
copierii, este esenial ca cele dou sume de control s fie separate.
Dimensiunea maxim a datelor ar trebui s fie mare pentru a permite operaii eficiente chiar i
n situaia transferului la distane mari. De asemenea, cu ct este mai mare blocul de informaie, cu
att este mai mic fraciunea din totalitatea limii de band alocat antetului.
O alt caracteristic important este posibilitatea de a trimite o cantitate rezonabil de
informaie odat cu cererea de conexiune. In acest fel se poate salva un timp de comunicaie
dus-ntors.
In sfrit, sunt utile cteva cuvinte despre programul de protocol. Cea mai mare atenie trebuie
acordat cazului de succes. Multe din protocoalele vechi aveau tendina de a evidenia ce este de
fcut atunci cnd ceva nu mergea cum trebuie (de exemplu pierderea unui pachet). Pentru a face
protocoalele s mearg mai repede, proiectanii ar trebui s aib ca scop minimizarea timpului de
prelucrare atunci cnd totul funcioneaz corect. Minimizarea timpului de prelucrare n caz de
eroare trebuie s treac pe planul doi.
O a doua noiune legat de programe este minimizarea timpului de copiere. Aa cum am vzut
mai devreme, copierea datelor este n general o surs de suprancrcare. Ideal ar fi ca echipamentul
fizic s depoziteze n memorie fiecare pachet recepionat ca un bloc contiguu de date. Programul ar
trebui apoi s copieze acest pachet n tamponul utilizator printr-o singur copiere de bloc. n funcie
de modul de lucru al memoriei tampon, ar fi de dorit chiar s se evite copierea n bucl. Cu alte
cuvinte, cel mai rapid mod de a cooia 1024 de cuvinte este de a avea 1024 de instruciuni MOVE
una dup cealalt (sau 1024 de perechi mcrcare-memorare). Rutina de copiere este critic ntr-o
asemenea msur, nct, dac nu exist alt modalitate de a pcli compilatorul ca s produc cu
precizie codul optimal, ea ar trebui scris cu mna, cu mult atenie, direct n cod de asamblare.
Spre sfritul anilor '80, a existat o scurt adiere de interes n ceea ce privete protocoalele
speciale rapide precum NETBLT (Clark . a., 1987), VTMP (Cheriton i Wiiliamson 1989) i
XTP (Chesson, 1989). O trecere n revist se poate gsi n (Doeringer i alii, 1990). Cu toate
astea, tendina actual este de a simplifica protocoalele complexe pentru a le face i pe acestea
mai rapide. ATM prezint multe din caracteristicile discutate rnai sus, la fel ca i IPv6.
SEC. 6.8
PROBLEME
533
Chiar i n cazul unui nivel reea complet fiabil, nivelul transport are suficient de mult de lucru,
aa cum am vzut n exemplul nostru. El trebuie s controleze toate primitivele de serviciu, toate
conexiunile i contoarele de timp i trebuie s aloce i s utilizeze credite.
Principalul protocol de transport n Internet este TCP. El utilizeaz un antet de 20 de octei
pentru toate segmentele. Segmentele pot fi fragmentate de mter n interiorul Internet-ului, deci
calculatoarele gazd trebuie s fie pregtite s le reasambleze. S-a depus un mare efort pentru
optimizarea performanelor TCP-ului, utiliznd algoritmii Nage, Clark, Jacobson, Karn i alii.
ATM are patru protocoale la nivelul AAL. Toate acestea fragmenteaz mesajele n celule, la
surs i reasambleaz celulele n mesaje la destinaie. Subnivelele CS i SAR adaug propriile antete
i ncheieri n diferite moduri, lsnd o informaie util per celul ntre 44 i 48 octei.
Performanele reelei sunt dominate n mod tipic de protocol i de tratarea suprancrcrii
TPDU-urilor, situaie care se nrutete la viteze mari. Protocoalele ar trebui proiectate astfel,
nct s minimizeze numrul de TPDU-uri, copierile lor repetate i comutrile de context. Pentru
reelele gigabit sunt de dorit protocoale simple, care se bazeaz mai curnd pe viteza fluxului de
control dect pe creditul fluxului de control.
6.8
PROBLEME
1.
n exemplele noastre de primitive de transport din Fig. 6-3, LISTEN este un apel blocant. Este
acest lucru strict necesar? Dac nu, explicai cum ar putea fi utilizat o primitiv neblocant. Ce
avantaje ar avea aceasta pentru schema descris n text?
2.
n modelul pe care se bazeaz Fig. 6-5 se presupune c pachetele pot fi pierdute de ctre
nivelul reea i trebuie deci s fie confirmate individual. S presupunem c nivelul reea este
100% fiabil i nu pierde pachete niciodat. Ce modificri sunt necesare (dac sunt necesare) n
Fig. 6-5?
3.
Imaginai o problem generalizat a celor n armate, n care acordul dintre oricare dou armate
este suficient pentru victorie. Exist un protocol care i permite albastrului s ctige?
4.
5.
De ce este necesar ca timpul maxim de via al unui pachet, T, s fie suficient de mare pentru a
acoperi nu numai dispariia pachetului, dar i a confirmrii?
6.
534
NIVELUL TRANSPORT
CAP. 6
7.
S considerm problema recuperrii dup defectarea unei maini gazd (de exemplu
Fig. 6-18). Dac intervalul dintre scrierea i trimiterea unei confirmri, sau vice-versa, poate fi
fcut relativ scurt, care sunt cele mai bune strategii emitor-receptor pentru minimizarea
ansei de defectare a protocolului?
8.
9.
Din pur curiozitate, programatorul entitii transport din Fig. 6-20 a decis s pun contoarele
n interiorul procedurii skep, pentru a colecta astfel statistici despre vectorul conn. ntre acestea
se afl i numerele de conexiuni din fiecare dintre cele apte stri posibile Z/,- (Z=1,. .., 7). Dup
scrierea unui program FORTRAN serios pentru a analiza datele, programatorul nostru a
descoperit c relaia Int = MAX_C0NN pare s fie totdeauna adevrat. Exist i ali
invariani care s implice doar aceste apte variabile?
10.
Ce se ntmpl dac utilizatorul entitii transport din Fig. 6-20 trimite un mesaj de iungime 0?
Discutai semnificaia rspunsului.
11.
Pentru fiecare eveniment care poate aprea n entitatea transport din Fig. 6-20. spunei dac
este sau nu permis atunci cnd utilizatorul ateapt n starea transmisie.
12.
13.
14
15.
Informaia util maxim dintr-un segment TCP este de 65515 octei. De ce a fost ales un
numr att de straniu?
16.
17.
Prezentai un dezavantaj potenial al algoritmului Nagle atunci cnd este utilizat ntr-o reea
puternic congestionat.
18.
19.
SEC. 6.8
PROBLEME
535
20. Dac timpul circuitului TCP dus-ntors, RTT, este la un moment dat 30 msec i urmtoarele
confirmri sosesc dup 26, 32 i, respectiv, 24 msec, care este noul RTT estimat? Utilizai
<x=0.9.
21. O main TCP trimite cadre de 65535 octei pe un canal de 1 Gbps pentru care ntrzierea pe
un singur sens este de 10 msec. Care este productivitatea maxim care poate fi atins? Care
este eficiena liniei?
22. ntr-o reea care are dimensiunea maxim a TPDU-urilor de 128 octei, timpul maxim de via
al unui TPDU de 30 sec i numrul de secven de 8 bii, care este rata maxim de date per
conexiune?
23. De ce exist UDP? Nu ar fi fost suficient ca procesul utilizator s fie lsat s trimit pachete
blocIP?
24. Un grup de N utilizatori localizai n aceeai cldire utilizeaz acelai calculator aflat la distan
printr-o reea ATM. Utilizatorul mediu genereaz n medie L linii de trafic (intrare + ieire)
pe or, lungimea medie a liniei fiind de P octei, exclusiv antetee ATM. Compania care asigur
transmisia pachetelor factureaz C ceni pentru fiecare octet transmis, plus X ceni pe or
pentru fiecare circuit virtual ATM deschis. n ce condiii este avantajos din punctul de vedere al
costului s se multiplexeze toate cele N conexiuni de transport pe acelai circuit virtual ATM,
dac o astfel de multiplexare adaug 2 octei la fiecare pachet de date? Se presupune c un
singur circuit virtual ATM are suficient lime de band pentru toi utilizatorii.
25. Poate AAL 1 s controleze mesaje mai scurte de 40 de octei utiliznd schema cu cmp
Indicatori Explicai rspunsul.
26. Ghicii dimensiunile cmpurilor din AAL 2 nainte ca ele s fie extrase din standard.
27. AAL 3/4 permite ca sesiuni multiple s fie multiplexate pe un singur circuit virtual. Dai un
exemplu de situaie n care acest lucru nu are nici o valoare. Presupunei c un singur circuit
virtual are suficient lime de band pentru a transporta tot traficul. Indicaie: Gndii-v la
cile virtuale.
28. Care este dimensiunea informaiei utile pentru mesajele care intr ntr-o singur celul
AAL 3/4?
29. Care este eficiena transmisiei unui mesaj de 1024 octei prin intermediul lui AAL 3/4? Cu alte
cuvinte, ce fraciune din biii transmii sunt bii utili de date? Aceeai problem i pentru AAL 5.
30. Un dispozitiv ATM transmite mesaje de o singur celul la 600 Mbps. O celul dintr-o sut
este complet eronat din cauza zgomotului aleatoriu. Cte erori nedetectate pe sptmn pot
fi ateptate cu o sum de control AAL 5 de 32 bii?
31. Un client trimite cereri de 128 de octei ctre un server localizat la 100 km deprtare, printr-un
cablu optic de 1 gigabit. Care este eficiena liniei n timpul apelului de procedur la distan?
536
NIVELUL TRANSPORT
CAP. 6
32. S considerm din nou situaia din problema precedent. Calculai timpul minim posibil de
rspuns att pentru linia de 1 Gbps anterioar ct i pentru o linie de 1 Mbps. Ce concluzie
putei trage?
33. S presupunem c msurai timpul necesar recepionrii unui TPDU. Atunci cnd apare o
ntrerupere, se citete timpul sistem n milisecunde. Cnd TPDU-ul este complet prelucrat, se
citete din nou timpul sistem. S-au nregistrat 0 msec de 270000 de ori i 1 de 730000 de ori.
Care este timpul de recepie al unui TPDU?
34. Un procesor execut instruciuni la o vitez de 100 MIPS. Informaia poate fi copiat cte 64
de bii odat, fiecare copiere a unui cuvnt costnd ase instruciuni. Dac un pachet
recepionat trebuie s fie copiat de dou ori, poate fi controlat de ctre sistem o linie de 1
Gbps? Pentru a simplifica, presupunem c toate instruciunile, inclusiv acelea de citire/scriere
din memorie, ruleaz la viteza maxim de 100 MIPS.
35. Pentru a evita problema revenirii numerelor de secven la valori iniiale n timp ce exist nc
pachete vechi, s-ar putea utiliza numere de secven pe 64 de bii. Cu toate acestea, teoretic, un
cablu optic poate opera la 75 Tbps. Care este durata maxim de via pe care trebuie s o aib
un pachet pentru ca viitoarele reele de 75 Tbps s nu se loveasc de aceeai problem a
revenirii numerelor de secven chiar i n cazul reprezentrii lor pe 64 bii? Presupunei, ca i
TCP-ul,, c fiecare octet are propriul su numr de secven.
36. In text am calculat c o linie gigabit livreaz unei maini gazd 30000 de pachete pe secund,
permindu-i doar 1500 de instruciuni pentru a prelucra un pachet i lsnd doar jumtate din
capacitatea procesorului pentru aplicaii. Acest calcul presupune pachete de 4 K. Refacei
Iul pentru pachetele ARPANET de dimensiune de 128 octei.
37. Pentru o reea care opereaz la 1 Gbps pe o distan de 4000 km, factorul limitator nu este dat
de lrgimea de band, ci de ntrziere. Considerm un MAN cu sursa i destinaia situate n
medie la 20 km una de cealalt. La ce vitez de date ntrzierea circuitului dus-ntors datorat
vitezei luminii egaleaz ntrzierea de transmisie pentru un pachet de 1 Kocte?
38. Modificai programul din Fig. 6-20 pentru a asigura revenirea din erori. Adugai un nou tip de
pachet, reset, care poate ajunge doar dup ce conexiunea a fost deschis de ambele pri i n-a
fost nchis de niciuna. Acest eveniment, care are loc simultan la ambele capete ale conexiunii,
indic faptul c orice pachet care era n tranzit a fost sau distrus, sau livrat, n orice caz el
nemaiafindu-se n subreea.
39. Scriei un program care simuleaz controlul tampoanelor ntr-o entitate transport, utiliznd un
flux de control cu fereastr glisant i nu un control al fluxului cu credite, ca n Fig. 6-20. Lsai
procesele de pe nivelul superior s deschid conexiuni, s trimit date i s nchid .conexiuni n
mod aleatoriu. Pentru a pstra programul ct mai simplu, facei ca toat informaia s
cltoreasc doar de la maina A la maina B i deloc n sens invers. Experimentai cu diferite
strategii de alocare a tampoanelor la nivelul mainii B, ca, de exemplu, tampoane dedicate unei
anume conexiuni fa de tampoane preluate dintr-un depozit comun i msurai
productivitatea total atins n ambele cazuri.
NIVELUL APLICAIE
Dup ce am terminat toate preliminariile putem aborda nivelul aplicaie unde pot fi gsite
toate aplicaiile interesante. Nivelurile de sub nivelul aplicaie servesc la asigurarea unui
transport sigur, dar nu ndeplinesc nici o funcie concret pentru utilizatori. n acest capitol
vom studia cteva aplicaii reale.
Totui, chiar i la nivelul aplicaie, apare necesitatea unor protocoale suport care s
permit funcionarea aplicaiilor reale. nainte de a ncepe studiul aplicaiilor, vom aborda trei
dintre acestea. Primul subiect l reprezint securitatea, care nu este un singur protocol, ci un
mare numr de concepte i protocoale ce pot fi folosite pentru asigurarea securitii acolo
unde este necesar. Al doilea este DNS, care se ocup de conveniile de nume n Internet. Al
treilea protocol suport este cel destinat administrrii reelei. Dup aceea vom examina patru
aplicaii reale: pota electronic, USENET (reeaua de tiri), World Wide Web (lumea ca o
pnz de pianjen) i, n final, multimedia.
7.1
SECURITATEA REELEI
n primele decenii ale existenei lor, reelele de calculatoare au fost folosite de cercettorii din
universiti pentru trimiterea potei electronice i de ctre funcionarii corporaiilor pentru a partaja
imprimantele. n aceste condiii, problema securitii nu atrgea de loc atenia. Dar acum, cnd
milioane de ceteni obinuii folosesc reelele pentru operaiuni bancare, cumprturi i plata
taxelor, securitatea reelei apare la orizont ca o mare problem potenial. n urmtoarele seciuni,
vom studia securitatea reelei din mai multe unghiuri, evideniind numeroase pericole i discutnd
muli algoritmi destinai a face reelele mai sigure.
537
NIVELUL APLICAIE
CAP. 7
Securitatea este un subiect vast i acoper o multitudine de imperfeciuni. n forma sa cea mai
simpl, ea asigur c persoane curioase nu pot citi sau, i mai ru, modifica mesajele destinate altor
destinatari. Se ocup de cei care ncearc s apeleze servicii la distan pe care nu sunt autorizai s
le foloseasc. De asemenea, securitatea implic verificarea dac un mesaj, ce pretinde c vine de la
IRS i spune: Pltete pn vineri", provine ntr-adevr de la IRS sau de la Mafie. Securitatea se
ocup de problemele legate de capturarea i falsificarea mesajelor autorizate i de cei ce ncearc s
nege faptul c au trimis anumite mesaje.
Majoritatea problemelor de securitate sunt cauzate intenionat de persoane ruvoitoare ce
ncearc s obin anumite beneficii sau s provoace ru cuiva. Civa dintre cei care comit n mod
obinuit astfel de fapte sunt menionai n Fig. 7-1. Din aceast list trebuie s rezulte clar c
realizarea unei reele sigure implic ceva mai mult dect pstrarea ei fr erori de programare.
Aceasta implic surciasarea unor adversari adeseori inteligeni, dedicai i uneori bine dotai
material. Trebuie de asemenea s fie clar c msurile care pot stopa inamici accidentali vor avea un
impact redus asupra unor adversari serioi.
Adversar
Scop
Pentru
a
se
distra
furnd
pota
electronic
a celorlali
Student
Pentru a testa securitatea sistemului cuiva; pentru a fura date
Sprgtor
Pentru a pretinde c reprezint toat Europa, nu numai ndorra
Responsabil de vnzri
Pentru a descoperi panul strategic de marketing al competitorului
Om de afaceri
Fost funcionar
Pentru a se rzbuna c a fost concediat
Contabil
j Pentru a sustrage bani de ia o companie
[ Agent de vnzri
j Pentru a nega o promisiune fcut clientului prin pot eiectronic
Sariatam
Pentru a fura numere de cri de credit si a le vinde
Spion
j Pentru a afla puterea militar a inamicului
Terorist
[ Pentru a fura secrete legate de ostiliti armate
SEC. 7.1
SECURITATEA REELEI
539
fotocopie. Observai diferena din comportamentul bncii. Cu cecuri electronice, originalul i copia
nu sunt distinctibile. Va trece ceva vreme pn ce bncile se vor obinui cu aceasta.
Oamenii autentific ali oameni prin recunoaterea feelor, vocilor i scrisului lor. Dovada
semnrii se face prin semnturi pe scrisori cu antet, sigilii etc. Falsificarea poate fi de obicei detectat
prin scris, hrtie i experi n grafologie. Nici una din aceste opiuni, nu este disponibil electronic.
Evident, sunt necesare alte soluii.
nainte de a intra n prezentarea acestor soluii, merit s consumm cteva minute pentru a
stabili unde anume n stiva de protocoale se situeaz securitatea reelei. Exist probabil mai mult
dect un singur loc. Fiecare nivel are o oarecare contribuie la aceasta. n nivelul fizic, ascultarea
firelor poate fi zdrnicit prin nchiderea liniilor de transmisie n tuburi sigilate coninnd gaz de
argon la presiuni nalte. Orice ncercare de a sfredeli tubul va duce ia pierderi de gaz, reducnd
presiunea i trgnd alarma. Anumite sisteme militare folosesc aceast tehnic.
La nivelul legtur de date, pachetele transmise pe o linie punct-la-punct pot fi codificate cnd
prsesc una dintre maini i decodificate cnd intr n cealalt. Toate detaliile pot fi manipulate ia
nivelul legtur de date, fr ca nivelurile mai nalte s aib cunotin de ceea ce se petrece.
Aceast soluie eueaz, totui, atunci cnd pachetele trebuie s traverseze mai multe rutere,
deoarece pachetele trebuie decriptate n fiecare mter, fcndu-ie astfel vulnerabile ia atacurile din
interiorul rutereior. De asemenea, ea nu permite ca anumite sesiuni s fie protejate (de exemplu,
acelea ce implic cumprturile on-line prin cri de credit), iar altele nu. Cu toate acestea, criptarea
legturii (link enayption), cum este numit aceast metod, poate fi adugat cu uurin la orice
reea si este adeseori util.
La nivelul reea, pot fi instalate ziduri de protecie pentru a pstra pachetele n interior sau
pentru a pstra pachetele n afara acestuia. Am studiat zidurile de protecie n Cap. 5. La nivelul
transport, conexiuni ntregi pot fi criptate, de la un capt la cellalt, adic de ia un proces ia cellalt.
Cu toate c aceste soluii conduc la realizarea confidenialitii si muli oameni muncesc din greu
pentru a ie mbunti, nici una dintre ele nu soluioneaz problema autentificrii sau nerepudierii
ntr-un mod suficient de generai. Pentru a rezolva aceste probleme, soluiile trebuie s se gseasc ia
nivelul aplicaie, motiv pentru care ele sunt studiate n cadrul acestui capitol.
7.1.1
Criptografia tradiional
Criptografia are o istorie lung i pitoreasc. In aceast seciune, vom schia doar cteva dintre
aspecte, ca informaii de baz pentru ceea ce urmeaz. Pentru o istorie complet se recomand a fi
citit cartea lui Kahn (1967). Pentru o tratare detaliat a situaiei actuale n domeniu a se vedea
(Kaufiman .a. 1995; Schneier, 1996; i Stinson, 1995).
Din punct de vedere istoric, la arta criptografiei au contribuit patru grupuri de oameni: armata,
corpurile diplomatice, cei ce au inut jurnale i ndrgostiii. Dintre acestea, armata a avut rolul cel
mai important i a structurat domeniul. In interiorul organizaiilor militare, mesajele ce trebuiau
criptate erau de obicei date unor funcionari codori prost pltii, pentru criptare i transmitere.
Volumul de mesaje nu permitea ca aceast munc s fie fcut doar de civa specialiti de elit.
Pn Ia apariia calculatoarelor, una din marile constrngeri ale criptografiei a fost capacitatea
funcionarilor codori de a realiza transformrile necesare, adeseori pe cmpul de lupt, cu
echipament redus. O constrngere suplimentar a fost dificultatea de comutare rapid de ia o
metod criptografic ia alta, deoarece aceasta implica reantrenarea unui numr mare de oameni.
NIVELUL APLICAIE
CAP. 7
Totui, pericolul ca un cod s fie capturat de ctre un inamic a fcut s devin esenial posibilitatea
de a schimba metoda criptografic imediat, n caz de nevoie. Aceste necesiti antagoniste au dat
natere modelului din Fig. 7-2.
Mesajele ce trebuie criptate, cunoscute sub numele de text dar (plain text), sunt transformate
printr-o funcie parametrizat de o cheie (key). Ieirea procesului de criptare, cunoscut sub numele
de text cifrai (ciphertex), este apoi transmis, adeseori prin curier sau radio. Presupunem c inamicul
ascult i copiaz cu acuratee ntreg textul cifrat. Totui, ei nu tie care este cheia de decriptare i
astfel nu poate decripta prea uor textul cifrat. Uneori intrusul poate nu numai s asculte canalul de
comunicaie (intrus pasiv), ci i s nregistreze mesajele i s le retransmit mai trziu, s injecteze
propriile sale mesaje sau s modifice mesajele legitime nainte ca ele s fi fost preluate de receptor
(intms activ). Arta de a sparge cifruri se numete criptanaliz (ayptanalysis). Arta de a concepe
cifruri (criptografia) i cea de a le sparge (cripanaliza) sunt cunoscute sub numele colectiv de
rus
irtrus
ssre doar
ascult
Fsxt clar, P-
care poate
modifica
mesaiele
Metod de
eripsre
Metod de
decriptare
Cheie de
criptare, k
Cheie de
decriptare
Text dar
DK(EK(P))=P
Aceast notaie sugereaz c E i D sunt funcii matematice, ceea ce, de altfel, i sunt. Singurul
artificiu este acela c ambele sunt funcii cu doi parametrii iar noi arn scris unul din parametrii
(cheia) ca indice, nu ca argument, pentru a face distincie ntre ei i mesaj.
O regui fundamental a criptografiei este aceea c trebuie presupus cunoaterea de ctre orice
criptanalist a metodei generale utilizate pentru criptare. Cu alte cuvinte, criptanalistul tie cum
lucreaz metoda de criptare E din Fig. 7-2. Cantitatea de efort necesar pentru a inventa, testa i
SEC. 7.1
SECURITATEA REELEI
541
instala o metod nou, ori de cte ori vechea metod este compromis sau se crede a fi
compromis, a fcut ntotdeauna nepractic a o pstra secret i a o crede secret atunci cnd nu este;
face mai mult ru dect bine.
Aici apare cheia. Cheia const dintr-un ir (relativ) scurt care selecteaz una dintre mai multe
criptri poteniale. In contrast cu metoda general, care poate fi schimbat doar la civa ani, cheia
poate fi schimbat orict de des este nevoie. Astfel modelul nostru de baz este stabil i metoda
general, cunoscut de toat lumea, este parametrizat cu o cheie secret i uor de schimbat.
Caracterul nesecret al algoritmului nu poate fi subliniat suficient. Prin publicarea algoritmului,
criptograful d libertatea ca acesta s fie consultat de un numr larg de criptoiogi din mediul
academic, pasionai s sparg sistemul pentru a putea publica articole care s demonstreze ct de
detepi sunt ei. Dac muli experi au ncercat s sparg algoritmul timp de 5 ani dup publicarea sa
i nici unul nu a reuit, probabil c algoritmul este destul de solid. .
Adevratul secret este cheia, iar lungimea sa reprezint un aspect foarte important. S
considerm o simpl combinaie de seif. Principiul general este c se introduc cifre n secven.
Oricine tie aceasta, dar cheia este secret. O lungime a cheii de dou cifre nseamn c exist 100
de posibiliti. O lungime a cheii de trei cifre nseamn 1000 de posibilti i o lungime a cheii de
ase cifre nseamn un milion. Cu ct cheia este mai lung, cu att este mai mare volumul de munc
(work factor) cu care are de-a face criptanalistul. Factorul de munc pentru a sparge sistemul prin
cutare exhaustiv n spaiul cheilor este exponenial n raport cu lungimea cheii. Secretul provine
din a avea un algoritm puternic (dar public) i o cheie lung. Pentru a-i mpiedica fratele mai mic
s-i citeasc pota electronic, sunt suficiente chei de 64 de bii. Pentru a pstra la distan inamici
puternici, sunt necesare chei de cel puin 256 de bii.
Din punctul de vedere al criptanalistului, problema sa are trei variante principale. Cnd are
la dispoziie o cantitate de text cifrat i nici un fel de text clar, el este confruntat cu problema
textului cifrat (ciphertext only problem). Criptogramele care apar la seciunea de enigme a
ziarelor pun acest tip de problem. Cnd criptanalistul are ceva text clar i textul criptat
corespunztor, problema este cunoscut sub numele de probiema textului clar cunoscut
(known plaintextproblem). n sfrit, atunci cnd criptanalistul poate cripta buci de text clar
la propria sa alegere, avem de-a face cu problema textului clar ales (chosen plaintext problem).
Criptogramele din ziare ar putea fi sparte ntr-un mod evident dac criptanalistului i s-ar
permite s pun ntrebri de genul: Care este criptarea pentru ABCDE?
Novicii n domeniul criptografiei presupun adeseori c dac un cifru poate rezista unui atac
ciphertext only", el este sigur. Aceast presupunere este foarte naiv. n multe cazuri criptanalistul
poate ghici unele pri din textul clar. De exemplu, primul lucru pe care multe sisteme cu divizarea
timpului (timesharing) 1 spun cnd sunt invocate este PLEASE LOGIN". Avnd cteva perechi
text clar - text criptat, sarcina criptanalistului devine mult mai uoar. Pentru a realiza securitatea,
criptograful trebuie s fie prudent i s se asigure c sistemul este rezistent, chiar dac inamicul su
poate cripta cantiti arbitrare de text clar ales.
Metodele de criptare au fost istoric mprite n dou categorii: cifruri cu substituie i cifruri cu
transpoziie. Vom studia acum pe scurt pe fiecare dintre aceste cifruri, ca informaie fundamental
pentru nelegerea criptografiei moderne.
542
NIVELUL APLICAIE
CAP. 7
Girurile cu substituie
ntr-un cifru cu substituie fiecare liter sau grup de litere este nlocuit() pentru deghizare cu
alt liter sau grup de litere. Unul dintre cele mai vechi cifruri cunoscute este Cifirul toi Caesar,
atribuit lui Julius Caesar. n aceast metod, a devine D, b devine E, c devine F,.... z devine C. De
exemplu, cuvntul attack devine DWIVDFN. In exemple textul clar va fi scris cu litere mici, iar textul
cifrat va fi scris cu majuscule.
O mic generalizare a cifrului Iui Caesar permite alfabetului textului cifrat s fie deplasat cu Ic
litere, n loc de a fi deplasat ntotdeauna cu 3. n acest caz, k devine o cheie pentru metoda general
a alfabetelor deplasate circular. Cifrul Caesar poate s fi nelat pe Cartaginezi, dar de atunci el nu
mai neal pe nimeni.
Urmtoarea mbuntire este de a stabili pentru fiecare simbol din textul clar, s spunem pentru
simplitate cele 26 de litere, o coresponden cu o alt liter. De exemplu:
textul clar:
textul cifrat:
abcdefghijklmnopqrstuvwxyz
Q W E R T Y U i O? A S D F G H J K L Z X C VBNM
Sistemul generai este numit substituie monoaifahetic (monoalphabetic substitution), cheia fiind
irul de 26 de litere corespunznd ntregului alfabet. Pentru cheia anterioar, textul clar attack va fi
transformat n QZZQEA.
La prima vedere, acesta ar putea fi considerat un sistem sigur deoarece, dei criptanalistul
cunoate sistemul general (substituie liter cu liter), el nu cunoate care dintre cele 26!=4xlO26
chei posibile este folosit. Spre deosebire de cifrul lui Caesar, ncercarea tuturor acestora nu este o
abordare prea promitoare. Chiar i la lusec per soluie, unui calculator i-ar trebui 10 b ani pentru
a ncerca toate cheile.
Totui, dndu-se o cantitate surprinztor de mic de text cifrat, cifrul poate fi spart cu uurin.
Atacurile de baz folosesc ca informaie proprietile statistice ale limbajelor naturale. n englez, de
exemplu, e este cea mai frecvent liter, urmat de t, o, a, n, i etc. Cele mai comune combinaii de
dou litere, sau 'digrame (digrams), sunt th, n, er, re i an. Cele mai comune combinaii de trei litere,
sau irigrame (trigrams), sunt the, ing, and i ion.
Un criptanalist ce ncearc s sparg un cifru monoalfabetic va ncepe prin a numra frecvenele
relative ale tuturor literelor din textul cifrat. Dup aceea el trebuie s ncerce s asocieze cea mai
frecvent liter cu e, urmtoarea cu t. Apoi el trebuie s caute trigramele, s o gseasc pe cea mai
comun de forma tXe, care sugereaz puternic c X este h. Similar, dac apare frecvent ablonul
ihY, probabil c Feste a. Cu aceast informaie, el poate cuta apariiile frecvente ale trigramelor
de forma aZW, care sunt asemntoare cu and. Prin astfel de presupuneri fcute asupra celor mai
comune litere, digrame, trigrame i cu ceva cunotine despre abloanele asemntoare de vocale i
consoane, criptanalistul construiete liter cu liter o variant de text clar.
O alt abordare este aceea de a ghici un cuvnt sau o expresie probabil. De exemplu,
considerai urmtorul text cifrat provenind de la o firm de contabilitate (mprit n blocuri de cte
cinci caractere):
CTBMN BYCTC BTJDS QXBNS GSTJC BTSWX CTQTZ CQVUI
QJSGS TJQZZ MNQJS VLNSZ VSZJU JDSTS JQUUS JUBXJ
DSKSU JSNTK BGAQJ ZBGYQ TLCTZ BNYBN QJSW
SEC. 7.1
SECURITATEA REELEI
543
2 4 5 1 2 8 3 6
p
e a s e t
a n s f e r o n
i \ \ i o n
e m
d
o m y s w
b
pleasetransferonemilliondollarsto
myswissbankaccountsixwotwo
r s
T e x t c l a r
t w
T e x c i f r a t
AFLLSKSOSELAWAIATOOSSCTCLNMOMANT
ESILYNTWRNNTSOWDPAEDOBUOERIRICXB
o t w o a b c d
544
NIVELULAPUCAE
CAP. 7
(adic sunt vertical adiacente n coloana 4) deoarece ele sunt separate n expresia probabil de o
distan egal cu lungimea cheii. Dac a fost folosit o cheie de lungime 7, n locul acestora ar fi
trebuit s apar digramele MD, IO, LL, LL, IA, OR i NS. De fapt, pentru fiecare lungime a cheii, n
textul cifrat sunt produse seturi diferite de digrame. Prin vnarea diferitelor posibiliti, criptanalistul
poate determina cu uurin lungimea cheii.
Pasul care a rmas este ordonarea coloanelor. Cnd numrul de coloane, k, este mic, poate fi
examinat fiecare dintre cele k(k-l) perechi de coloane pentru a vedea dac diagrama de frecvene
se potrivete diagramei pentru textul clar n englez. Perechea cu cea mai bun potrivire se
presupune c este corect poziionat. Acum fiecare coloan ce a rmas este ncercat a fi succesorul
acestei perechi. Coloana pentru care frecvena digramelor i trigramelor se potrivete cel mai bine
se presupune a fi corect. Coloana precedent este gsit n acelai mod. Exist anse ca textul clar
s devin recognoscibil n acest punct (de exemplu, dac apare milloin, este clar ce erori exist n el).
Anumite cifruri cu transpoziie accept un bloc de lungime fix la intrare i produc un bloc de
lungime fix la ieire. Aceste cifruri pot fi descrise complet dndu-se doar o list n care s se
precizeze ordinea n care caracterele vor fi trimise la ieire. De exemplu, cifrul din Fig. 7-3 poate fi
vzut ca un cifru bloc pe 64 de caractere. Ieirea sa este 4,12,20,28,36,44,52,60,5,13,..., 62. Cu
alte cuvinte, cel de-al patrulea caracter de la intrare, a, este primul ce va fi trimis la ieire, urmat de
al doisprezecelea,/ .a.m.d.
Chei acoperitoare
Construirea unui cifru imposibil de spart este actualmente destul de simpl; tehnica este
cunoscut de decenii. n primul rnd alegei un ir aleatoriu de bii pe post de cheie. Apoi convertii
textul clar ntr-un ir de bii, de exemplu folosind reprezentarea ASCII. n final, calculai XOR ntre
cele dou iruri, bit cu bit. Textul cifrat rezultat nu poate fi spart, deoarece orice text clar posibil este
n mod egal un probabil candidat. Textul cifrat nu d criptanalistului absolut nici o informaie.
Pentru un eantion suficient de mare de text cifrat, fiecare liter va aprea la fel de des, de asemenea
i orice digram sau trigram.
Aceast metod, cunoscut sub numele de metoda cheilor acoperitoare {one-time pad) are, din
nefericire, numeroase dezavantaje n practic. Unul dintre dezavantaje este faptul c nu poate fi
memorat cheia, astfel nct att transmitorul ct i receptorul trebuie s poarte cu ei o copie scris
a acesteia. Dac vreunul dintre ei este capturat, evident c existena cheilor scrise nu este de dorit. n
plus, cantitatea total de date care poate fi transmis este limitat de dimensiunea cheii disponibile.
Dac spionul d lovitura i descoper o comoar de date, el nu va fi capabil s le transmit napoi la
cartierul general deoarece cheia a fost epuizat. O alt problem este senzitivitatea metodei la
pierderea sau inserarea de caractere. Dac transmitorul i receptorul pierd la un moment dat
sincronizarea, toate datele de aici ncolo vor aprea ca fiind eronate.
Odat cu apariia calculatoarelor, metoda cheilor acoperitoare poate deveni practic
pentru anumite aplicaii. Sursa unei chei poate fi un CD special care conine civa gigabii de
informaie i care, transportat ntr-o cutie de CD pentru muzic, precedai de cteva cntece,
nu va da niciodat de bnuit. Desigur, la viteza reelei de ordinul gigabiilor, a trebui s
introduci un nou CD la fiecare 5 secunde poate deveni suprtor. Din acest motiv, vom ncepe
acum studiul algoritmilor de criptare moderni, care pot prelucra cantiti de text clar de
dimensiune arbitrar.
SEC. 7.1
7,1.2
SECURITATEA REELEI
545
Dei n paginile ce vor urma vom studia diferite sisteme criptografice, pentru toate acestea exist
dou principii de baz a cror nelegere este important. Primul principiu este acela c toate
mesajele criptate trebuie s conin informaie redundant, adic informaie ce nu este necesar
pentru nelegerea mesajului. Un exemplu poate clarifica de ce este nevoie de aceasta. S
considerm o companie ce se ocup cu comenzile prin pot, CC, cu 60000 de produse. Creznd c
vor fi foarte eficieni, programatorii de ia CC au decis c mesajele de comand trebuie s conin un
nume de client pe 16 octei, urmat de un cmp de date pe 3 octei (1 octet pentru cantitate i 2 octei
pentru numrul produsului). Ultimii 3 octei vor fi criptai folosind o cheie foarte lung, cunoscut
doar de client i de CC.
La prima vedere sistemul pare sigur i, ntr-un anumit sens, chiar este, deoarece intruii pasivi nu
pot decripta mesajele. Din nefericire, exist o slbiciune fatal a acestui sistem, care l face de
neutilizat. S presupunem c o funcionar recent concediat vrea s se rzbune pe CC pentru c a
dat-o afar. Chiar nainte de a pleca, ea ia (o parte din) lista clienilor. Ea lucreaz n timpul nopii i
scrie un program care genereaz comenzi fictive folosind nume de clieni reali. Deoarece nu
posed lista cheilor, ea pune numere aleatorii n ultimii 3 octei i trimite sute de comenzi la CC.
Cnd sosesc aceste mesaje, calculatorul CC folosete numele clientului pentru a localiza
cheia i a decripta mesajul. Din nefericire pentru CC, aproape fiecare mesaj de 3 octei este
valid, iar calculatorul ncepe s tipreasc instruciunile trimise. Dei pare ciudat ca un client
s comande 137 de seturi de leagne pentru copii sau 2^-0 de cutii cu nisip, calculatorul poate
crede c acesta plnuiete s deschid o mulime de locuri de joac. In acest mod, un intrus
activ (ex-funcionara) poate cauza probleme imense, chiar dac ea nu poate nelege mesajele
pe care le genereaz calculatorul ei.
Problema poate fi rezolvat prin adugarea unor informaii redundante tuturor mesajelor.
De exemplu, dac mesajele de comand sunt extinse la 12 octei, dintre care primii 9 trebuie s
fie zerouri, atunci acest atac nu ar mai fi funcional, deoarece ex-funcionara nu mai poate
genera un ir mare de mesaje valide. Morala povestirii este aceea c toate mesajele trebuie s
conin o cantitate considerabil de informaie redundant, astfel nct intruii activi s nu
poat trimite gunoaie aleatorii care s fie interpretate ca mesaje valide.
Totui, adugarea informaiei redundante uura spargerea mesajelor de ctre cripanaliti. S
presupunem c afacerea de comenzi prin pot este foarte competitiv i competitorul principal al
companiei CC, ST, ar vrea tare mult s tie cte cutii de nisip vinde CC. n consecin, ei ascult linia
telefonic a CC. In schema original, cu mesaje de 3 octei, criptanaliza era aproape imposibil,
deoarece dup ghicirea unei chei, criptanalistul nu avea cum s-i dea seama dac a ghicii corect. Cu
noua schem de 12 octei, este uor pentru criptanalist s disting un mesaj valid de unui invalid.
Astfel, principiul criptografic numrul unu este ca toate mesajele s conin informaie
redundant pentru a mpiedica intruii activi s nele receptorul trimindu-i un mesaj fals. Cu
toate acestea, aceeai redundan faciliteaz intruilor pasivi spargerea sistemului, deci aici apar
unele probleme. Mai mult dect att, redundana nu trebuie niciodat s fie folosit sub forma a n
zerouri la nceputul sau sfritul unui mesaj, deoarece trecerea unor astfel de mesaje prin anumii
algoritmi criptografici d rezultate predictibile, simplificnd criptanaiiza. Un ir aleatoriu de cuvinte
englezeti ar fi o alegere mult mai bun pentru redundan.
NIVELUL APLICAIE
546
CAP. 7
Cel de-al doilea principiu criptografic este acela c trebuie luate anumite msuri pentru a
mpiedica intruii activi s retransmit mesaje mai vechi. Dac nu se iau nici un fel de astfel de
msuri, ex-funcionara noastr ar putea asculta linia telefonic a CC i ar putea retransmite mesajele
valide trimise anterior. O astfel de msur este de a include n fiecare mesaj o amprent de timp
valid doar pentru, s spunem, 5 minute. Receptorul trebuie doar s pstreze mesajele primite n
ultimele 5 minute, pentru a compara mesajele nou sosite cu anterioarele i pentru a filtra
duplicatele. Mesajele mai vechi de 5 minute pot fi aruncate, deoarece orice rspuns trimis mai trziu
de 5 minute va fi refuzat ca fiind prea vechi. Alte msuri n afara amprentelor de timp vor fi
discutate mai trziu.
7.
Cifru produs
Cutie S
s 8i
S,
s,
1
(a)
'2
! c
I 6
S10|
(O
Fig. 7-4. Elemente de baz ale cinurilor produs, (a) Cutie P. (b) Cutie S. (c) Produs.
Substituiile sunt realizate de cutiile S, dup cum este artat n Fig. 7-4(b). In acest exemplu este
introdus un text clar de 3 bii, iar la ieire este furnizat un text cifrat pe 3 bii. Intrarea de 3 bii
selecteaz una dintre cele opt linii ce ies din primul nivel i o poziioneaz pe 1; toate celelalte linii
sunt 0. Cei de-al doilea nivel este o cutie P. Ce de-al treilea nivel codific din nou n binar linia
selectat la intrare. Cu cablajul artat, dac opt numere scrise n octal 01234567 ar fi fost introduse
unul dup cellalt, secvena de ieire ar fi 24506713. Cu alte cuvinte, 0 a fost nlocuit cu 2,1 a fost
nlocuit cu 4 etc. Din nou, prin cablarea corespunztoare a cutiei P n interiorul cutiei S, poate fi
realizat orice substituie.
Puterea real a acestor elemente de baz devine vizibil doar atunci cnd conectm n cascad o
serie ntreag de cutii pentru a forma un cifru produs, dup cum este artat n Fig. 7-4(c). n acest
SECURITATEA REIELEI
SEC. 7.1
547
exemplu, 12 linii de intrare au fost transpuse de primul nivel. Teoretic, ar fi posibil s avem ca al
doilea nivel o cutie S care s pun n coresponden un numr de 12 bii cu alt numr de 12 bii.
i2
Totui, un astfel de dispozitiv ar necesita 2 =4096 cabluri ncruciate la nivelul su din mijloc. In
schimb, intrarea este mprit n patru grupuri de 3 bii, fiecare fiind substituit independent de
celelalte. Cu toate c aceast metod este mai puin general, ea este nc puternic. Prin includerea
unui numr suficient de mare de niveluri n cifrul produs, ieirea poate deveni o funcie extrem de
complicat de intrare.
n ianuarie 1977, guvernul SUA a adoptat ca standard oficial pentru informaiile nesecrete un
cifru produs i dezvoltat de IBM. Acest cifru, DES (Data Encryption Standard - Standard pentru
Criptarea Datelor), a fost larg adoptat n industrie pentru a fi utilizat n produsele de securitate. El
nu mai este de mult sigur n forma sa original (Wayner, 1995), dar ntr-o form modificat el este
nc util. Vom explica acum cum lucreaz DES.
L=,
f i i f T
Transpoziia iniial
Iteraia 1
| .o
IO
i.2
Iteraia 2
I 03
iO
iteraia 16
T
V I
|_ Interschimbarea 32 bii j
f t T t
Transpoziia invers
f
T ?
Text cifrat 64 bii
(a)
b)
Fig. 7-5. Cifrul DES. (a) Schem general, (b) Detalierea unei iteraii.
O prezentare general a DES este fcut n Fig. 7-5(a). Textul clar este criptat n blocuri de cte
64 de bii, rezultnd blocuri de 64 de bii de text cifrat. Algoritmul, care este parametrizat cu o cheie
de 56 de bii, are 19 runde distincte. Prima rund este o transpoziie independent de cheie, aplicat
asupra textului clar de 64 de bii. Ultima rund este exact inversa acestei transpoziii. Penultima
NIVELUL APLICAIE
548
CAP. 7
rund schimb cei mai din stnga 32 de bii cu cei mai din dreapta 32 de bii. Cele 16 runde rmase
sunt funcional identice dar sunt parametrizate de funcii de cheie diferite. Algoritmul a fost
proiectat pentru a permite ca decriptarea s se fac cu aceeai cheie ca i criptarea, dar paii sunt
parcuri n ordine invers.
Funcionarea unuia dintre paii intermediari este ilustrat n Fig. 7-5(b). Fiecare rund ia dou
intrri de 32 de bii i produce dou ieiri de 32 de bii. Ieirea din stnga este o simpl copie a
intrrii din dreapta. Ieirea din dreapta rezult n urma unui SAU EXCLUSIV (XOR) bit cu bit
ntre intrarea din stnga i o funcie depinznd de intrarea din dreapta i de o cheie pentru aceast
rund, Kt. Toat complexitatea rezid n aceast funcie.
Funcia const din patru pai, parcuri n secven. n primul rnd, este construit un numr de 48
de bii, E, prin expandarea celor 32 de bii ai lui R i 4 n concordan cu o transpoziie fix i o regul
de duplicare. n al doilea rnd, E i Kt sunt combinate prin XOR. Ieirea este apoi mprit n opt
grupuri de cte 6 bii i fiecare dintre acestea este introdus ntr-o cutie S diferit. Fiecare dintre cele
64 de intrri posibile ntr-o cutie S este pus n coresponden cu o ieire de 4 bii. n final, aceti 4x8
bii sunt trecui printr-o cutie P.
n fiecare din cele 16 iteraii este folosit o cheie diferit. nainte de nceperea algoritmului este
aplicat o transpoziie de 56 de bii asupra cheii. Chiar nainte de nceperea fiecrei iteraii, cheia
este partiionat n dou uniti de cte 28 de bii, fiecare dintre ele este rotit a stnga cu un numr
de bii depinznd de numrul iteraiei. Kt este derivat din aceast cheie rotit prin aplicarea unei
transpoziii pe 56 de bii asupra ei. La fiecare rund este extras i permutat o alt submulime de
48 de bii din cei 56 de bii.
n ciuda complexitii sale, DES este, la baz, un cifru cu substituie monoaifabetic, folosind
caractere pe 64 de bii. Ori de cte ori se cifreaz acelai bloc de text clar, la ieire se va obine acelai
bloc de text cifrat. Un criptanalist poate exploata aceast proprietate pentru a sparge DES-ul.
Funcie
Nume
A d a m s
|L e s
B ! a cjk
|R
C O|l
D a
i s| ,
Octei -*-
i n
t
C|l|e
b i n
K i m
S|,
, n
O
bjb i e
OJ
r k
s s
Prim
j
:$:
$ 5 0 0 , |0 0|0
M| a i n a 9 eji"
j ajnj i
oi r i
1 3
$|
4
! . ]
::
16-
Fig. 7-6. Texul clar al unui fiier criptat ca ansamblu de 16 blocuri DES.
Pentru a vedea cum poate fi folosit aceast proprietate a cifrului cu substituie monoaifabetic
pentru a submina DES-ul, s considerm cea mai evident metod de criptare a unui mesaj lung:
prin spargerea n blocuri consecutive de 8 octei (64 de bii) i prin criptarea lor unul dup altul, cu
aceeai cheie. Dac este nevoie, ultimul bloc este umplut pn la 64 de bii. Tehnica este cunoscut
ca modul cu carte de coduri electronic (Electronic Code Book).
SECURITATEA REELEI
SEC. 7.1
549
n Fig. 7-6 este prezentat nceputul fiierului coninnd primele anuale ale unei companii
care s-a decis s-i premieze angajaii. Fiierul const din nregistrri de 32 de octei, cte o
nregistrare pentru fiecare angajat, n formatul artat: 16 octei pentru nume, 8 octei pentru
funcia ocupat i 8 octei pentru prim. Fiecare din cele 16 blocuri de 8 octei (numerotate de
la 0 la 15) este criptat cu DES.
Leslie a avut o controvers cu eful i nu ateapt prea mult de la aceast prim. n schimb
Kim este favorita efului i oricine tie asta. Leslie poate avea acces la fiier dup ce el a fost
criptat, dar nainte de a fi trimis la banc. Poate Leslie s rectifice aceast situaie nedreapt,
dat fiind doar fiierul criptat?
Nici o problem. Tot ceea ce are Leslie de fcut este s realizeze o copie a blocului de text cifrat
11 (care conine prima lui Kim) i s-1 foloseasc pentru a nlocui blocul de text cifrat cu numrul 3
(care conine prima lui Leslie). Chiar i fr a ti ce cuprinde blocul 11, Leslie se poate atepta s
aib un Crciun mai fericit anul acesta. (Copierea blocului de text cifrat 7 este de asemenea o
posibilitate, dar este mai probabil s fie descoperit; n plus, Leslie nu este o persoan lacom).
Pentru a para acest tip de atac, DES (i toate cifrurile bloc) trebuie nlnuite n diferite
moduri astfel nct nlocuirea unui bloc n modul n care a fcut-o Leslie s conduc la situaia
n care textul clar decriptat, ncepnd cu blocul nlocuit, s fie gunoi. Un mod de nlnuire
este nlnuirea blocurilor cifrate {Cipher block chaining). n aceast metod, prezentat n
Fig. 7-7, fiecare bloc de text clar este combinat prin XOR (#) cu blocul anterior de text cifrat,
A
Key D
Cutie de
/criptare
Cutie de
decriptare
#)
\
SAU
p exclusiv
Cheie
(b)
CAP. 7
NIVELUL APUCATE
550
prim al lui Leslie. Pentru un ofier de securitate perspicace, aceast caracteristic poate sugera de la
cine s porneasc investigaia.
nlnuirea blocurilor cifrate are de asemenea avantajul c acelai bloc de text clar nu va rezulta
niciodat n acelai bloc de text cifrat, fcnd criptanaliza mai dificil. De fapt, acesta este principalul
motiv pentru care este folosit.
Cu toate acestea, nlnuirea blocurilor cifrate are dezavantajul de a necesita ca un ntreg bloc de
64 de bii s soseasc nainte ca decriptarea s poat ncepe. Acest mod este nepotrivit pentru
folosirea n cazul terminalelor interactive, unde oamenii pot introduce linii mai scurte de 8 caractere
i apoi se pot opri n ateptarea unui rspuns. Pentru criptrile octet-cu-octet poate fi utilizat modul
cu reacie cifrat (Cipher feedback mode), artat n Fig. 7-8. n aceast figur, starea mainii de
criptare este artat dup ce octeii 0 pn la 9 au fost criptai i trimii. Cnd sosete blocul 10 din
textul clar, dup cum este ilustrat n Fig. 7-8(a), algoritmul DES opereaz asupra registrului de
deplasare 64 de bii pentru a genera 64 de bii de text cifrat. Octetul cel mai din stnga al textului
cifrat este combinat prin XOR cu Pl0. Acest octet este transmis pe linie. n plus, registml de
deplasare este deplasat cu 8 bii la stnga, provocnd ieirea lui C2 pe la captul din stnga i
inserarea lui C/o n poziia care tocmai a rmas vacant la dreapta lui Cy. Coninutul registrului de
deplasare depinde de ntreaga istorie anterioar a textului clar, astfel nct un ablon care se repet
de mai multe ori n textul clar va fi criptat de fiecare dat diferit n textul cifrat. Ca i la nlnuirea
blocurilor cifrate, este necesar un vector de iniializare pentru a porni rostogolirea mingii.
Decriptarea n modul cu reacie cifrat face acelai lucru ca i criptarea. In particular, coninutul
registrului de deplasare este criptat, nu decriptai, astfel nct octetul selectat care este combinat prin
XOR cu Cio pentru a obine Plo este acelai cu cel ce a fost combinat prin XOR cu PI0 pentru a-1
obine pe Clo prima dat. Atta vreme ct cele dou registre de deplasare rmn identice,
decriptarea lucreaz corect.
Reg. de deplasare pe 64 bii
c 2 c 3 r 'r
c2
r ! r
1
"8| U 9
C 3 |C 4
c5
Ce
c7 c8
9
JJ
Cutie de
criptare
Cheie-
Sei. octetul
cei mai din
stnga
criptare
'10
Sel. octetul
ce! mai din
stnga
'10
10"
'10'
SAU exclusiv
(a)
(b)
SEC 7.1
SECURITATEA REELEI
551
deplasare vor fi n ntregime alterai. Odat ce octetul eronat este mpins afar din registrul de
deplasare, va fi generat iari un text clar corect. Astfel, efectul unui singur bit inversat este relativ
localizat i nu va ruina tot restul mesajului.
Cu toate acestea, exist aplicaii n care a avea o eroare de transmisie de 1 bit care s strice 64 de
bii de text clar reprezint o pierdere prea mare. Pentru aceste aplicaii exist o a patra opiune,
modul cu reacie de Ia ieire (Output Feedback mode). Acesta este identic cu modul cu reacie
cifrat, cu excepia faptului c octetul ce va fi introdus pe la captul din dreapta n registrul de
deplasare va fi extras de acolo chiar nainte de a fi combinat prin XOR i nu dup aceasta.
Modul cu reacie de la ieire are proprietatea c o eroare de 1 bit n textul cifrat cauzeaz o
eroare de un singur bit n textul clar rezultat. Pe de alt parte, este mai puin sigur dect alte moduri
i trebuie evitat utilizarea sa n scopuri generale. De asemenea, modul cu carte electronic de
coduri trebuie evitat, cu excepia unor mprejurri speciale (de exemplu, criptarea unui singur numr
aleatoriu, cum ar fi o cheie de sesiune). Pentru operaii normale, atunci cnd la intrare sosesc uniti
de cte 8 octei (de exemplu, pentru criptarea fiierelor de pe disc), trebuie utilizat modul cu
nlnuirea blocurilor cifrate, iar pentru iruri de intrare neregulate, cum ar fi intrarea de la tastatur,
trebuie folosit modul cu reacie cifrat.
Spargerea DES-ului
DES a fost implicat n numeroase controverse nc din ziua n care a fost lansat. El se baza pe un
cifru dezvoltat i brevetat de IBM, numit Lucifer, cu excepia faptului c acest cifru al IBM-ului
folosea o cheie de 128 de bii n locul uneia de 56 de bii. Atunci cnd guvernul federal al SUA a
dorit s standardizeze un cifru ca nefiind secret, el a invitat" IBM-ul s discute" aceast problem
cu NSA, agenia sprgtoare de coduri a guvernului, care utilizeaz cel mai mare numr de
matematicieni i criptologi din lume. NSA este att de secret, nct n industrie a aprut
urmtoarea glum:
: Ce nseamn NSA?
R: No Such Agency (Nu exist o astfel de agenie).
De fapt, NSA vine de la National Security Agency (Agenia Naional de Securitate).
Dup ce au avut loc aceste discuii, IBM a redus cheia de la 128 de bii la 56 de bii i a decis s
pstreze secret procesul prin care a fost proiectat DES-ul. Muli oameni suspecteaz faptul c
lungimea cheii a fost redus pentru a exista sigurana c NSA poate sparge DES-ul, dar nici o
organizaie cu un buget mai mic nu poate face asta. Pstrarea secretului proiectrii a fost fcut
probabil pentru a ascunde o trap (u ascuns) care ar putea uura spargerea DES-ului de ctre
NSA. Cnd un angajat al NSA a atenionat discret IEEE s abandoneze conferina planificat pe
teme de criptografie, acesta nu i-a fcut pe oameni s se simt mai bine.
n 1977, doi cercettori n criptografie de la Stanford, Diffie i Hellman (1977), au proiectat
o main pentru a sparge DES-ul i s-a estimat c ea poate fi construit cu un buget de 20 de
milioane de dolari. Dat fiind o mic bucat de text clar i textul cifrat corespunztor, aceast
main ar putea s gseasc cheia, prin cutarea exhaustiv a 2 56 intrri din spaiul cheilor, n
mai puin de o zi. n prezent, o astfel de main ar costa probabil 1 milion de dolari. O
552
NIVELUL APLICAIE
CAP. 7
proiectare detaliat pentru o main ce poate sparge DES-ul prin cutare exhaustiv n
aproape patru ore este prezentat n (Wiener, 1994).
Aici exist o alt strategie. Dei criptarea software este de 1000 de ori mai lent dect
criptarea hardware, cel mai scump calculator personal poate face aproape 250 000 criptri/sec
n software i este probabil nefolosit 2 milioane de secunde/lun. n acest timp, n care nu este
folosit, el poate fi utilizat pentru a sparge DES-ul. Dac cineva ar trimite un mesaj spre unul
dintre cele mai populare grupuri de tiri din Internet, nu ar fi greu s nrolezi 140 000 de
6
oameni pentru a verifica 7x10' chei ntr-o lun.
Probabil cea mai inovatoare idee pentru spargerea cifrului DES este Loteria Chinezeasc
(Quisquater i Girault, 1991). n acest proiect, fiecare aparat de radio i televizor trebuie echipat cu
un cip DES capabil s realizeze 1 milion de criptri/secund n hardware. Presupunnd c fiecare
din cei 1.2 miliarde de oameni din China posed un aparat de radio, ori de cte ori guvernul chinez
vrea s decripteze un mesaj criptat cu DES, el rspndete perechea text clar/text cifrat i fiecare
dintre cele 1.2 miliarde de tipuri ncepe cutarea n seciunea sa prestabilit din spaiul cheilor. n
60 de secunde, vor fi gsite una (sau mai multe) potriviri. Pentru a asigura c aceste potriviri vor fi
raportate, tipurile pot fi programate s afieze pe ecran sau s anune mesajul:
FELICITRI! TOCMAI AI CTIGAT LOTERIA CHINEZEASCA.
PENTRU A RIDICA PREMIUL,'V RUGM S SUNAI LA 1-900-MARELE-PREMIU
Concluzia care trebuie tras din aceste argumente este aceea c DES-ul nu mai trebuie folosit
pentru criptarea documentelor importante. Cu toate c 25fi este un nesemnificativ 7 x IO16, 2 112 este
un impuntor 5xlO33. Chiar cu un miliard de tipuri DES executnd un miliard de operaii pe
secund, ar trebui 100 de milioane de ani pentru a cuta exhaustiv ntr-un spaiu de chei pe 112 bii.
Astfel apare ideea de a rula DES-ul de dou ori, cu dou chei diferite pe 56 de bii.
Din nefericire, Merkle i Hellman (1981) au dezvoltat o metod care face ca dubla criptare s
devin suspect. Aceasta poart numele de atacul ntlnlrea-la-mijloc (meet-n-the-middle) i
lucreaz astfel (Hellman, 1980). S presupunem c cineva a dublu-criptat o serie de blocuri de text
clar, folosind modul carte electronic de coduri. Pentru cteva valori ale lui i, criptanalistui posed
perechile (Ph C), unde:
Ci=Ek2(tkllri;;
Dac aplicm acum funcia de decriptare DJQ pentru fiecare membru ai ecuaiei, obinem:
D k 2 (Q)=E k l (P i )
deoarece criptarea lui x i decriptarea luix cu aceeai cheie dau tot A:.
Atacul ntlnirea-la-mijloc" folosete aceast ecuaie pentru a gsi cheile DES, Kl i K2, dup
cum urmeaz:
1.
Se calculeaz i?(-=;(Pi) pentru toate cele 256 valori ale lui /, unde E este funcia de criptare a
DES-ului. Acest tablou se sorteaz cresctor dup JR,-.
SECURITATEA REELEI
SEC. 7.1
553
2. Se calculeaz Sj=Dj(Ci) pentru toate cele 256 valori ale lui /, unde D este funcia de
decriptare a DES-ului.. Acest tablou este sortat cresctor dup 5,.
3. Se parcurge primul tablou cutnd un JR,- care se potrivete cu un Sj din al doilea tablou.
Atunci cnd este gsit o prtrivire, avem o pereche de chei (/,;), astfel nct DfCi)=Ej{Pt). i
este un potenial Kl i; este un potenial K2.
4. Se verific dac Ej(Ei{P2)) este egal cu C2. Dac da, se ncearc toate celelalte perechi (text
clar, text cifrat). Dac nu, continu cutarea potrivirilor n cele dou tablouri.
Cu siguran c nainte ca adevratele chei s fie localizate, vor aprea multe alarme false, dar, n
cele din urm, acestea vor fi gsite. Atacul necesit doar 2 57 operaii de criptare sau decriptare
(pentru a construi cele dou tablouri), mult mai puine dect 2112. Totui, este de asemenea necesar
un total de 260 octei de memorie pentru cele dou tablouri, astfel c atacul nu este realizabil n
forma de baz, dar Merkle i Hellman au artat diferite optimizri i compromisuri ce permit un
spaiu de memorare mai mic la un cost de calcul mai mare. Avnd n vedere toate acestea, probabil
c dubla criptare folosind DES nu este mult mai sigur dect criptarea simpl.
Tripla criptare este o alt problem. Chiar din 1979, IBM a realizat c lungimea cheii DES era
prea mic i a conceput un mod de a o crete efectiv, folosind tripla criptare (Tuchman, 1979).
Metoda aleas, care de atunci a fost ncorporat n Standardul Internaional 8732, este ilustrat n
Fig. 7-9. Aici sunt folosite dou chei i trei runde. n prima rund textul clar este criptat cu K^ n a
doua rund, este rulat DES n mod de decriptare, folosind cheia K2. n final, este efectuat o alt
criptare cu Ki.
K2
i i i
K,
LLI
K,
K2
(a)
K,
(b)
554
NIVELUL APLICAIE
CAP. 7
Nu este cunoscut nici o metod care s fi spart triplul-DES n modul EDE. Van Oorschot
i Wiener (1988) au prezentat o metod pentru a mri viteza cutri EDE cu un factor al lui
16, dar chiar i cu acest atac, EDE este foarte sigur. Pentru oricine care dorete doar ce-i mai
bun, este recomandat EEE cu trei chei distincte de 56 de bii (168 de bii n total).
nainte de a prsi subiectul DES, merit cel puin s menionm dou progrese recente n
criptanaliz. Primul progres este criptanaliza diferenial (Biham i Sharnir, 1993). Aceast tehnic
poate fi folosit pentru a ataca orice cifru bloc. Lucreaz la nceput cu o pereche de blocuri de text
clar care difer doar printr-un numr mic de bii i studiaz cu grij ceea ce se ntmpl ia fiecare
iteraie intern pe msur ce criptarea avanseaz. n multe cazuri, anumite combinaii apar mai des
dect altele i aceast observaie conduce ia un atac probabilistic.
Cellalt progres, mai puin important, este criptanaliza liniar (Matsui, 1994). Aceasta poate
43
sparge DES-ul cu doar 2 texte clare cunoscute. Lucreaz prin combinarea XOR a anumitor bii din
textul clar i din textul cifrat pentru a genera un bit. Cnd aceasta se efectueaz repetat, jumtate din
bii trebuie s fie 0 i jumtate s fie 1. Totui, adeseori, cifruriie introduc o deviaie ntr-o direcie
sau n alta i aceast deviaie, cu toate c este rnic, poate fi exploatat pentru a reduce factorul de
munc. Pentru mai multe detalii a se vedea lucrarea lui Matsui.
IDEA
Poate toat aceast agitaie asupra ntrebrii de ce este DES-ul nesigur este ca i o frecie la un
picior de lemn, dar realitatea este c DES-ui, n varianta sa de criptare singular este nc foarte
folosit n aplicaii de securizare, cum ar fi cele bancare folosind maini de raportare automat. Dei
alegerea lui a fost probabil potrivit ia momentul respectiv, cu zece sau mai muli ani n urm, ea nu
mai este demult adecvat.
La acest punct, probabil c cititorul se ntreab pe buc dreptate: Dac DES-ul este att de
siab, de ce nu a inventat nimeni alt cifru bloc mai bun?". Adevrul este c au fost propuse multe
cifruri bloc, printre care BLOWFISH (Schneier, 1994), Crad (Kalinski i Robshaw, 1991), EEAL
(Shimizu i Miyaguchi, 1988), KHAFRE (Metkle, 1991), L0KI91 (Brown .a., 1991), xNEWDES
(Scott, 1985), REDOC-II (Cusick i Wood, 1991) i SAFER K64(Massey, 1994). Schneier (1996) Ie
prezint pe toate acestea i nenumrate altele. Probabil c cel mai interesant i mai important dintre
cifruriie bloc post-DES este IDEA (International Data EncrypioE Algorifam) (Lai i Massey, 1990;
i Lai, 1992). S studiem acum IDEA mai n detaliu.
IDEA a fost proiectat de doi cercettori din Elveia, astfel nct este probabil n afara oricrei
directive" trasate de NSA, care ar fi putut s introduc o u secret (trap). Cifrul folosete o cheie
pe 128 de bii, care i face imun pentru deceniile care urmeaz la atacurile prin for brut, cele de
tipul loteria Chinezeasc" i ntlnirea-la-mijioc". A fost de asemenea proiectat pentru a rezista la
criptanaliza diferenial. La momentul actual, nu este cunoscut nici o tehnic sau main care s fie
capabile s sparg IDEA.
Structura de baz a algoritmului seamn cu DES-ul prin aceea c blocurile de la intrare, de 64
de bii de text clar, sunt alterate printr-o secven de iteraii parametrizate pentru a produce la ieire
blocuri de 64 de bii de text cifrat, dup cum este artat i n Fig. 7-10(a). Dat fiind alterarea
extensiv ia nivel de bit (pentru fiecare iteraie, fiecare bit de ieire depinde de fiecare bit de intrare),
opt iteraii sunt suficiente. Ca toate cifruriie bloc, DEA poate fi utilizat att n modul cu reacie
cifrat (CFB) ct i n toate celelalte moduri de nlnuire prezentate la DES.
SEC. 7.1
SECURITATEA REELEI
555
Detaliile unei iteraii sunt prezentate n Fig. 7-10(b). Sunt folosite trei operaii, toate asupra unor
16
numere fr semn pe 16 bii. Aceste operaii sunt XOR, adunare modulo 2 i nmulire modulo
16
2 +1. Toate acestea trei pot fi uor realizate pe un microcalculator pe 16 bii, ignornd prile cele
mai semnificative ale rezultatului. Operaiile au proprietatea c oricare dou perechi nu se supun
legii de asociativitate sau distributivitate, fcnd criptanaliza i mai dificil. Cheia pe 128 de bii este
folosit pentru a genera 52 de subchei de cte 16 bii fiecare, 6 pentru fiecare din cele 8 iteraii i 4
pentru transpoziia final. Decriptarea folosete acelai algoritm, dar cu chei diferite.
Text clar 64 bii
iliilii
Iteraia 1
Iteraia 2
Iteraia 7
V
i>
\<
Iteraia 8
u
i'
Transformare
f t T ?
Text cifrat 64 bii
al
(b)
Istoric, distribuia cheilor a fost ntotdeauna punctul slab al multor criptosisteme. Indiferent de
ct de puternic era un criptosistem, dac un intrus a putut fura cheia, sistemul i-a pierdut valoarea.
556
NIVELUL APLICAIE
CAP. 7
Deoarece toi criptologii au considerat ntotdeauna ca de la sine neles faptul c att pentru criptare
ct i pentru decriptare se folosete aceeai cheie (sau una uor derivabil din cealalt) i c aceasta
trebuie distribuit tuturor utilizatorilor sistemului, prea a exista ntotdeauna urmtoarea problem
inerent: cheile trebuia protejate contra furtului dar, n acelai timp, ele trebuiau distribuite, astfel
nct ele nu puteau fi sechestrate ntr-un seif de banc. n 1976, doi cercettori de la Universitatea
Stanford, Diffie i Hellman (1976), au propus un tip radical nou de criptosistem n care cheile de
criptare i decriptare sunt diferite, iar cheia de decriptare nu poate fi dedus din cheia de criptare. n
propunerea lor, algoritmul (cheia) de criptare, E, i algoritmul (cheia) de decriptare, D, trebuiau s
satisfac trei cerine. Aceste cerine pot fi exprimate simplificat dup cum urmeaz:
1. D(E(P))=P
2. Este mai mult dect dificil a se deduce D din E.
3. E nu poate fi spart printr-un atac cu text clar ales.
Prima cerin spune c, dac se aplic D unui mesaj criptat, E(P), se obine textul clar original, P.
Cea de-a doua cerin este clar. Cea de-a treia cerin este necesar deoarece, dup cum vom
vedea la un moment dat, intruii pot experimenta i testa algoritmul dup pofta inimii. In aceste
condiii, nu exist nici un motiv pentru ca E, cheia de criptare, s nu poat fi fcut public.
Metoda lucreaz astfel: o persoan, s spunem Alice, dorind s primeasc mesaje secrete,
concepe mai nti cei doi algoritmi EA i DA ce satisfac cerinele de mai sus. Algoritmul de criptare i
cheia, EA, sunt fcui apoi publici, de unde i numele de criptografie cu cheie public (n contrast cu
criptografia cu cheie secret). Aceasta poate fi realizat prin punerea lor ntr-un fiier pe care oricine
dorete poate s l citeasc. Alice public algoritmul de decriptare (pentru a putea fi liber consultat),
dar pstreaz cheia de decriptare secret. Astfel, EA este public, dar DA este privat.
S vedem acum dac putem rezolva problema stabilirii unui canal sigur ntre Alice i Bob, care
nu au mai avut niciodat vreun contact anterior. Att cheia de criptare a Alicei, EA, ct i cea a lui
Bob, EB, sunt presupuse a se gsi ntr-un fiier ce poate fi citit de oricine. (De fapt se ateapt ca toi
utilizatorii reelei s-i publice cheile lor de criptare imediat ce se conecteaz n reea). Acum Alice
ia primul ei mesaj, P, calculeaz EB(P) i l trimite lui Bob. Bob l decripteaz aplicndu-i cheia sa
secret DB [adic, el calculeazDB(EB (P))=P\. Nimeni altcineva nu poate citi mesajul criptat, EB(P),
deoarece sistemul de criptare este presupus puternic i deoarece este prea greu s se deduc DB(P)
din EB(P) public cunoscut. Alice i Bob pot comunica acum ntr-o manier sigur.
n acest punct ar fi poate util o observaie asupra terminologiei. Criptografia cu cheie
public necesit ca fiecare utilizator s aib dou chei: o cheie public, folosit de toat lumea
pentru a cripta mesajele ce-i sunt trimise, i o cheie secret, de care utilizatorul are nevoie ca
s-i decripteze mesajele. Ne vom referi n mod constant la aceste chei ca fiind cheia public i,
respectiv, cheia privat i le vom deosebi de cheile secrete folosite att pentru criptare ct i
pentru decriptare n criptografia convenional (numit i criptografie cu cheie simetric).
Algoritmul RSA
Singura problem este aceea c avem nevoie de algoritmi care s satisfac complet toate
cele trei cerine. Datorit posibilelor avantaje ale criptografiei cu chei publice, muli
cercettori au lucrat din greu la acest subiect i au fost deja publicai civa algoritmi. O
SEC. 7.1
SECURITATEA REELEI
557
metod bun a fost descoperit de un grup de la MIT (Rivest .a., 1978). Ea este cunoscut
prin iniialele numelor celor trei descoperitori (Rivest, Shamir, Adelman): RSA. Metoda lor
este bazat pe cteva principii din teoria numerelor. Vom rezuma mai jos modul n care se
folosete aceast metod; pentru detalii, a se consulta articolul.
1. Se aleg dou numere prime,p i q, (de obicei mai mari dect IO100).
2.
Se calculeaz n=pxqiz = (p- l)x(q-l).
3. Se alege un numr relativ prim cu z i este notat cu d.
4. Se gsete e astfel nct e x d = 1 mod z.
Cu aceti parametri calculai n avans, suntem gata s ncepem criptarea. mprim textul clar
(privit ca ir de bii) n blocuri, astfel nct fiecare mesaj de text clar, P, s intre n intervalul 0 < P <
n. Aceasta poate fi fcut grupnd textul clar n blocuri de cte k bii, unde k este cel mai mare
numr ntreg pentru care inegalitatea 2k < n este adevrat.
Pentru a cripta mesajul P, se calculeaz C = F (mod n). Pentru a decripta C, se calculeaz P =
Cf (mod n). Se poate demonstra c pentru toi P din intervalul specificat, criptarea i decriptarea
sunt funcii inverse una alteia. Pentru a realiza criptarea este nevoie de e i n. Pentru a realiza
decriptarea este nevoie de d i n. De aceea, cheia public const din perechea (e, n) iar cheia privat
din perechea (d, n).
Securitatea metodei este bazat pe dificultatea factorizrii numerelor mari. Dac un criptanalist
ar putea factoriza numrul n (public cunoscut), el ar putea gsi/? i q, iar din acestea pe z. Cu z i e
cunoscui, criptanaistul l poate calcula pe d folosind algoritmul lui Euclid. Din fericire,
matematicienii au ncercat s factorizeze numere mari de cel puin 300 de ani i experiena
acumulat sugereaz c aceasta este o problem mai mult dect dificil.
In conformitate cu Rivest i colegii si, factorizarea unui numr de 200 de cifre necesit un timp
de calcul de 4 miliarde de ani; factorizarea unui numr de 500 de cifre necesit IO25 ani. n ambele
cazuri ei presupun c se folosete cel mai bun algoritm de factorizare i un calculator cu timp de
execuie a unei instruciuni de 1 usec. Chiar dac viteza calculatoarelor va continua s sporeasc cu
un ordin de mrime pe deceniu, vor mai trece secole pn cnd factorizarea unui numr de 500 de
cifre va deveni realizabil, moment n care descendenii notri vor alege pur i simplu/ i q mai mari.
Un exemplu didactic banal pentru algoritmul RSA este dat n Fig. 7-11. Pentru acest
exemplu am alesp = 3 i q = 11, rezultnd n = 33 i z = 20. O valoare potivit pentru d este
d = 7, deoarece 7 i 20 nu au factori comuni. Cu aceste alegeri, e poate fi gsit prin rezolvarea
ecuaiei le = 1 (mod 20), care d e - 3. Textul cifrat, C, pentru textul clar al mesajului, P, este
dat de C = P3 (mod 33). Textul cifrat este decriptat de ctre receptor dup regula P = C7
(mod 33). Figura prezint ca exemplu criptarea i decriptarea textului clar SUZANNE".
Deoarece numerele prime alese pentru acest exemplu sunt prea mici, P poate fi mai mic dect
33, astfel nct blocul de text clar poate conine doar un singur caracter. Rezultatul este un
cifru cu substituie monoalfabetic, nu foarte impresionant. Dac n locul acestora am fi ales j?
i q = 10100, am fi avut n = IO200, astfel nct fiecare bloc poate fi de pn la 664 bii
664
200
(2 = 10 ) sau 83 de caractere de 8 bii, fa de 8 caractere pentru DES.
NIVELUL APLICAIE
558
Textclar(P)
P3
P3 (mod 33)
19
21
26
6859
9261
17576
14
14
05
2744
2744
125
28
21
20
1
5
5
Simbolic Numeric
S
U
Z
A
N
N
E
01
26
CAP. 7
Dup decriptare
c7
C7 (mod 33)
13492928512
1801088541
1280000000
78125
78125
8031810176
19
21
26
1
14
14
5
Simbolic
S
U
A
N
N
E
SEC. 7.1
SECURITATEA REELEI
559
sunt considerate ca fiind autentic dificile deoarece matematicienii le studiaz de muli ani fr vreun
progres notabil.
7,1.5
Protocoale de Autentificare
Autentificarea (autfientication) este tehnica prin care un proces verific dac partenerul su de
comunicaie este cel presupus a fi i nu un impostor. Verificarea identitii unui proces de la
distan, n cazul unui intrus activ i ruvoitor, este surprinztor de dificil i necesit protocoale
complexe bazate pe criptografie. In aceast seciune, vom studia cteva din multele protocoale de
autentificare folosite n reelele nesigure de calculatoare.
Ca fapt divers, anumii oameni confund autorizarea cu autentificarea. Autentificarea are de-a
face cu chestiunea dac comunici sau nu cu un anumit proces. Autorizarea se ocup cu ceea.ce i
este permis unui proces s fac. De exemplu, un proces client contacteaz un server de fiiere i
spune: Eu sunt procesul lui Scott i vreau s terg fiierul cookbookoid", Din punctul de vedere ai
serverului de fiiere, trebuie gsit rspunsul la dou ntrebri:
1.
2.
Doar dup ce s-a rspuns afirmativ, fr ambiguitate ia ambele ntrebri poate avea loc
aciunea cerut. ntrebarea de mai nainte este cu adevrat una cheie. Odat ce serverul de
fiiere tie cu cine vorbete, verificarea autorizrii este doar o problem de cutare n intrrile
din tabelele locale. Din acest motiv, n aceast seciune ne vom concentra asupra autentificrii.
Modelul genera! pe care l folosesc toate protocoalele de autentificare este urmloru. Un
utilizator iniiator (de fapt un proces), s spunem Alice, vrea s stabileasc o conexiune sigur cu un
al doilea utilizator, Bob. Alice i Bob sunt numii uneori protagoniti (principals), personajele
principale din povestirea noastr. Bob este un bancher sau un centra autorizat de distribuire a
cheilor (KDC - Key DistrlfentioK Center), care este ntotdeauna credibil. Urmeaz.alte cteva
schimburi de mesaje n diferite direcii. n timp ce aceste mesaje sunt transmise, un intrus mecher.
Trudy+, poate intercepta, modifica sau rspunde a mesaje n scopul de a-i nela pe Alice i Bob sau
doar pentru a ncurca treburile. Cu toate acestea, ia ncheierea protocolului de comunicare, Alice
este sigur c a vorbit cu Bob, iar acesta este sigur c a vorbit cu Alice. Mai mult dect att. n cele
mai multe protocoale, cei doi vor fi stabilit i o chele secret de sesiune, pentru folosirea n
conversaiile viitoare. In practic, din motive de performan, tot traficul de date este criptat folosind
criptografia cu cheie secret, n timp ce criptografia cu cheie public este larg folosit n protocoale
de autentificare i pentru stabilirea unei chei de sesiune.
Motivul pentru utilizarea unei chei de sesiune noi, aleas aleatoriu pentru fiecare conexiune este
de a minimiza cantitatea de trafic care este transmis cu cheile secrete sau cheile publice ale
utilizatorilor, pentru a reduce cantitatea de text cifrat pe care intrusul o poate obine i pentru a
reduce stricciunile care se pot produce dac un proces eueaz, iar vidajul su de memorie (core)
cade n mini rele. Este de sperat c singura cheie prezent va fi cheia de sesiune. Toate cheile
permanente trebuie s fie anulate cu grij dup stabilirea sesiunii.
+
Mulumesc lui Kaufmai! .a.23 (1995) pentru a fi dezvluit numele ei. (n.a.)
NIVELUL APLICAIE
56
CAP. 7
3 KAB{Fy
4
5
Bob
Alice
K A B (R A )
SECURITATEA REELEI
SEC. 7.1
561
Cu toate c protocolul din Fig. 7-12 funcioneaz, el conine mesaje n plus. Acestea pot fi
eliminate, dup cum este ilustrat n Fig. 7-13. Aici Alice iniiaz protocolul provocare-rspuns, n loc
de a-1 atepta pe Bob s o fac. Similar, n timp ce rspunde la provocarea Alicei, Bob o trimite pe a
sa. ntregul protocol poate fi redus la trei mesaje n loc de cinci.
Bob
Alice
1 A,R
A
RB, K A B (R A )
K A B (R B )
udy
A, RT
A,R B
Prima sesiune
_Q
O
K AB (RB)
A doua sesiune
Prima sesiune
NIVELUL APLICATE
562
CAP. 7
Bob
aiege y
] n, g, g mod n j-
1<
H g mod n f-
Alice calculeaz
f g v mod n) x
xy
= g mod n
ca
Bob calculeaz
{g x mod n) v
= g x y mod n
SECURITATEA REELEI
SEC. 7.1
563
Alice iniiaz protocolul de schimb al cheii trimindu-i lui Bob un mesaj ce conine (n, g, g* mod
n), dup cum se arat n Fig. 7-15. Bob rspunde trimindu-i lui Alice un mesaj ce conine g mod n.
Acum Alice are numrul pe care i 1-a trimis Bob i l ridic la puterea x pentru a obine (/ mod rif.
Bob efectueaz o operaie similar pentru a obine (f mod rif. Din legile aritmeticii modulare,
ambele calcule duc hgxy mod n. Iat cum Alice i Bob partajeaz acum o cheie secret/ 7 mod n.
Este evident c Trudy vede ambele mesaje. Ea cunoate pe g i pe n din mesajul 1. Dac ea ar
putea calcula x i y ar putea s descopere cheia secret. Necazul este c, dat fiind doar g* mod n, ea
nu poate afla pe x. Nu este cunoscut nici un algoritm practic pentru calculul logaritmilor discrei
modulo un numr prim foarte mare.
Pentru a face exemplul anterior mai concret, vom folosi (complet nerealist) valorile n = 47 ig =
3. Alice alegex = 8 i Bob alegea = 10. Ambele chei sunt pstrate secrete. Mesajul lui Alice ctre
Bob este (47, 3, 28) deoarece 3S mod 47 este 28. Mesajul lui Bob ctre Alice este (17). Alice
calculeaz 178 mod 47, care este 4. Bob calculeaz 28 10 mod 47, care este 4. Alice i Bob au
determinat independent cheia secret care este 4. Trudy are de rezolvat ecuaia 3* mod 47 = 28 care
poate fi fcut prin cutare exhaustiv n cazul unor numere mici ca acestea, dar nu i atunci cnd
toate numerele sunt lungi de sute de bii. Toi algoritmii cunoscui la ora actual iau prea mult timp,
chiar i atunci cnd sunt rulai folosind un supercalculator masiv paralel.
n ciuda eleganei algoritmului Diffie-Hellman, exist o problem: cnd Bob ia tripletul (47, 3,
28), cum tie el c este de la Alice i nu de la Trudy? Nu exist nici o modalitate pentru aceasta. Din
nefericire Trudy poate exploata acest fapt pentru a-i nela att pe Alice ct i pe Bob, dup cum este
ilustrat n Fig. 7-16. Aici, cnd Alice i Bob l aleg pe x, respectiv pe y, Trudy alege propriul su
numr aleatoriu, z. Alice trimite mesajul 1, destinat lui Bob. Trudy l intercepteaz i trimite mesajul
2 lui Bob, folosind g i n coreci (care sunt disponibili public), dar cu al su z n loc de x. De
asemenea ea trimite mesajul 3 napoi lui Alice. Mai trziu Bob i trimite lui Alice mesajul 4, pe care
Trudy l intercepteaz din nou i l pstreaz.
Alice
alege x
Trudy
aiege z
Bob
aege y
n, g, g mod n
0)
n,g,g modn
g modn
g y mod n
Acum fiecare efectueaz aritmetica modular. Alice calculeaz cheia secret ca fiind g*
mod n i la fel face i Truly (pentru mesajele lui Alice). Bob calculeaz /z mod n i la fel face i
Trudy (pentru mesajele iui Bob). Alice crede c vorbete cu Bob, aa c ea stabilete o sesiune
de cheie (cu Trudy). La fel face i Bob. Fiecare mesaj pe care Alice l trimite n sesiunea
criptat este capturat de Trudy, memorat, modificat la dorin i apoi (opional) transmis lui
Bob. Similar n cealalt direcie. Trudy vede orice i poate modifica toate mesajele la dorin,
n timp ce att Alice ct i Bob triesc cu iluzia c au un canal de comunicaie sigur de la unul
564
NIVELUL APLICAIE
CAP. 7
la cellalt. Acest atac este cunoscut sub numele de atacul gleata brigzii de pompieri (bucket
brigade attack), deoarece el seamn vag cu un departament de pompieri de pe vremuri
trecnd din mn n mn gleile de-a lungul liniei de la maina de pompieri la foc. El se mai
numete i atacul omul-din-mijloc (men-n-the-middle) i nu trebuie confundat cu atacul
ntlnirea-la-mijloc (mee-n-the-middle) asupra cifrurilor bloc.
Din fericire, algoritmi mai compleci pot para acest atac.
Autentificarea Folosind un Centru de Distribuia Cheilor
Stabilirea unui secret partajat cu un strin a mers destul de bine, dar nu n ntregime. Pe de
alt parte, probabil c nici nu merit s fie fcut (atacul strugurilor acri). Pentru a vorbi cu n
oameni n acest mod ar fi necesare n chei. Pentru persoanele foarte cunoscute, gestiunea
cheilor ar deveni o adevrat pacoste, n special dac fiecare cheie trebuie stocat separat pe
cte o bucat de cartel de plastic.
0 abordare diferit o reprezint introducerea unui centru autorizat de distribuie a cheilor
(iCpC - Key Distribution Center). n acest model, fiecare utilizator are o singur cheie partajat cu
fCDC. Autentificarea i gestiunea cheilor de sesiune merg acum prin intermediul KDC. Cel mai
ijmplu i mai cunoscut protocol de autentificare KDC este broasca-oi-gura-mare (wide-mouth frog)
flSurrows .a., 1990) (aceasta era porecla inventatorului su, Burrows, cptat n timpul facultii).
Acest protocol este ilustrat n Fig. 7-17.
1
A,KAB,KS
( }
K l& K \
!\g {Pi, \}
*~ O
SECURITATEA REELEI
SEC. 7.1
565
banc. Aa c Alice stabilete o cheie de sesiune cu bancherul ei, Bob. Apoi ea i trimite lui Bob un
mesaj prin care cere ca banii respectivi s fie transferai n contul lui Trudy. In acelai timp, Trudy se
ntoarce la vechile ei obiceiuri, furturile prin reea. Ea copiaz att mesajul 2 din Fig. 7-17, ct i
cererea de transferare a banilor care l urmeaz. Mai trziu ea le trimite lui Bob. Bob le ia i
gndete: Alice probabil c a angajat-o din nou pe Trudy. Cu siguran c ea lucreaz bine." Bob
transfer din nou o cantitate de bani egal cu prima din contul lui Alice n al lui Trudy. La ctva timp
dup cea de-a 50-a pereche de mesaje pe care o primete, Bob alearg afar din biroul su pentru a
o gsi pe Trudy i a-i oferi un mprumut mare astfel ca ea s-i poat extinde afacerea ce se
dovedete a fi att de plin de succes. Problema se numete atacul prin replic.
Sunt cteva soluii posibile la atacul prin replic. Prima este de a include n fiecare mesaj o
amprent de timp. Astfel, dac cineva primete un mesaj expirat, l ignor. Necazul cu aceast
abordare este c ntr-o reea ceasurile nu sunt niciodat perfect sincronizate, astfel nct va exista un
ntreg interval de timp n care o amprent de timp este valid. Trudy poate rspunde la mesaj n
timpul acestui interval i s scape.
Cea de-a doua soluie este s se pun, n fiecare mesaj, un numr de mesaj unic, folosibil o
singur dat, numit n general momentan (nonce). Fiecare parte trebuie s-i rememoreze toate
numerele momentane folosite anterior i s rejecteze orice mesaj ce conine un numr momentan
folosit deja. Dar numerele momentane trebuie rememorate la nesfrit, chiar i atunci cnd Trudy
ncearc s rspund la un mesaj vechi de 5 ani. De asemenea, dac o main cade i i pierde lista
de numere momentane, ea va fi din nou vulnerabil la un atac prin replic. Amprentele de timp i
numerele momentane pot fi combinate pentru a limita timpul n care acestea din urm nu trebuie
terse, dar este evident c protocolul devine ceva mai complicat. O abordare i mai sofisticat a
autentificrii este folosirea unui protocol provocare-rspuns multici. Un exemplu binecunoscut de
astfel de protocol este protocolul de autentificare Needham-Schroeder (Needham i Schroeder,
1978). O variant a acestuia este prezentat n Fig. 7-18.
RA, A, B
K A (R A , B, Ks, KB(A, K s ))
O
CQ
-1), RB
KS(RB-1)
NIVELUL APLICAIE
566
CAP. 7
care lui Trudy i vine amuzanta idee s nlocuiasc J5-ul din mesajul 1 cu propria sa identitate,
astfel nct KDC s cripteze tichetul de la sfritul mesajului 2 cu KT n loc de KB. Tichetul
criptat cu KB este inclus n interiorul mesajului criptat, pentru a o mpiedica pe Trudy s-1
nlocuiasc cu altceva pe drumul su napoi spre Alice.
Acum Alice i trimite tichetul lui Bob, mpreun cu un nou numr aleatoriu, RA2, cripta! cu cheia
de sesiune, Ks. n mesajul 4, Bob trimite napoi KS(RA2 -1) pentru a-i dovedi lui Alice c vorbete cu
adevratul Bob. Trimiterea napoi a lui KS(RA2) nu ar fi mers, deoarece ar fi fost posibil ca Trudy
tocmai s-1 fi furat din mesajul 3.
Dup primirea mesajului 4, Alice este convins c vorbete cu Bob i c pn n acest moment nu
s-au folosit replici falsificate. In plus, ea tocmai a generat RA2 cu cteva milisecunde mai nainte.
Scopul mesajului 5 este de a-1 convinge pe Bob c este chiar Alice cea cu care vorbete i c nu s-au
folosit replici falsificate. Posibilitatea oricrui tip de atac prin replic este eliminat, deoarece fiecare
parte genereaz o provocare i rspunde ia ea.
Cu toate c protocolul pare a fi destul de solid, el are o mic scpare. Dac Trudy reuete
s obin o cheie de sesiune veche n text dar, ea poate s iniieze o nou sesiune cu Bob
rspunznd la mesajul 3 corespunztor cheii compromise i convingndu-1 pe acesta c ea este
Alice (Denning i Sacco, 1981). De aceast dat ea poate prda contul din banc al lui Alice
fr s execute nici o operaie autorizat.
Needham i Schroeder au publicat un protocol care corecteaz aceast problem (Needhani i
Schroeder, 1987). n acelai numr al aceluiai jurnal, Otway i Rees (1987) au publicat de asemenea
un protocol care rezolv problema pe o cale mai scurt. Figura 7-19 ilustreaz un protocol OtwayRees uor modificat.
A, B, R, K A (A, B, R, RA)
.2
<
A, K A { , B , R, RA),
8, KB (A, B, R, RJ
K,{RB, IC)
K A {R A , K s ;
SEC. 7.1
SECURITATEA REELEI
567
NIVELUL APLICAIE
568
1
2
CAP. 7
A
<
MKs'Kres^Ks
Conectare
CD
O
Ua-
; (B, KAB''
), K
* BB (A,
' " ' K
* AB
AB
X
(A, K A B ), K A B (t)
K iR (t+1}
Obine
un tichet
.ucreaz
SECURITATEA REELEI
SEC. 7.1
569
tichetelor i va elibera tichete postdatate. n plus, cei puin n teorie, nu este dependent de DES, cum
este V4, i suport domenii multiple.
Autentificarea Folosind Criptografia cu Cheie Public
Autentificarea mutual poate fi realizat i cu ajutorul criptografiei cu cheie public. Pentru
nceput, s presupunem c Alice i Bob i cunosc deja unul altuia cheile publice (pentru ca
problema s nu fie banal). Ei vor s stabileasc o sesiune n care s foloseasc apoi criptografia cu
cheie secret, deoarece aceasta este de obicei de 1000 pn la 100 de ori mai rapid dect
criptografia cu cheie public. Scopul schimbului iniial este deci de a se autentifica unul pe cellalt i
de a se pune de acord asupra unei chei secrete.
Acest nceput poate fi fcut n diferite moduri. Un mod tipic este cel artat n Fig. 7-21. Aici
Alice ncepe prin a-i cripta identitatea i un numr aleatoriu, RA, folosind cheia public a lui Bob,
EB. Cnd primete acest mesaj, Bob nu are nici o idee dac mesajul provine de la Alice sau de ia
Trudy, ns intr n joc i i trimite napoi lui Alice un mesaj coninnd RA, propriul su numr
aleatoriu, RB, i o propunere de cheie de sesiune Ks.
E B (A,R A ) h
05
E A (R A , RB, Ks}
1 o
! 03
570
NIVELUL APLICAIE
CAP. 7"
Schimbul iniial de chei publice poate fi evitat avnd toate cheile publice memorate ntr-o
baz de date. Atunci Alice i Bob pot extrage cheia public a celuilalt din baza de date. Din
nefericire, Trudy mai poate nc s dea drumul la atacuri de tipul gleata brigzii de
pompieri" prin interceptarea cererilor ctre baza de date i prin trimiterea de rspunsuri
simulate coninnd propria sa cheie public. In final, cum tiu Alice i Bob c rspunsul vine
de la baza de date real i nu de la Trudy?
Rivest i Shamir (1984) au conceput un protocol care mpiedic atacul de tipul gleata brigzii
de pompieri" din partea lui Trudy. n protocolul lor cu interbiocare (interiock), dup schimbul de
chei publice, Alice i trimite lui Bob doar jumtate din mesajul ei, s spunem doar biii pari (rezultaidup o criptare). Bob i rspunde cu biii si pari. Dup ce primete biii pari ai lui Bob, Alice trimite
biii si impari, lucru pe care-1 face i Bob.
Ideea aici este c dac ia biii pari ai lui Alice, Trudy nu poate decripta mesajul, chiar dac ea
are cheie privat. In consecin, ea nu este capabil s recripteze biii pari folosind cheia public a lui
Bob. Dac i va trimite ceva fr sens lui Bob, protocolul va continua, dar Bob va descoperi n scurt
timp c mesajul asamblat complet nu are nici un sens i i va da seama c a fost nelat.
7.1.6
Semnturi Digitale
Autenticitatea multor documente legale, financiare i de alt gen este determinat de prezena
sau absena unor semnturi autorizate scrise de mn. Iar fotocopiile nu sunt valabile. Pentru
sistemele de mesaje computerizate, care urmresc nlocuirea transportului fizic al documentelor
scrise cu cerneal pe hrtie, trebuie gsit o soluie la problema autentificrii.
Problema de a concepe un nlocuitor pentru semnturile scrise de mn este destul de dificil.
De fapt, ceea ce este necesar este un sistem prin care una din pri poate trimite mesaje semnate"
celeilalte pri astfel nct:
1.
2.
3.
Prima cerin este necesar, de exemplu, n sistemele financiare. Atunci cnd calculatorul
unui client ordon calculatorului unei bnci s cumpere o ton de aur, calculatorul bncii
trebuie s poat s se asigure c acel calculator care d ordinul aparine ntr-adevr companiei
al crei cont va fi debitat.
A doua cerin este necesar pentru a proteja banca mpotriva fraudei. S presupunem c
banca cumpr o ton de aur i imediat dup aceea preul aurului scade vizibil. Un client
necinstit poate s acuze banca, pretinznd c el nu a emis niciodat vreun ordin de cumprare
de aur. Cnd banca prezint mesajul n faa curii, clientul neag faptul c l-ar fi trimis.
Cea de-a treia cerin este necesar pentru a proteja clientul n eventualitatea c preul aurului
explodeaz i banca ncearc s construiasc un mesaj n care clientul cere cumprarea unui lingou
de aur n locul unei tone.
SECURITATEA REELEI
SEC. 7.1
571
X!
O
CD
NIVELUL APLICAIE
572
CAP. 7
poate citi toate mesajele semnate. Cei mai logici candidai pentru a juca roiul lui Big Brother
sunt guvernul, bncile, oamenii legii. Aceste organizaii nu inspir ns ncredere total tuturor
cetenilor. De aceea ar fi frumos dac semnarea documentelor nu ar necesita existenta unei
astfel de autoriti de ncredere.
Din fericire, criptografia cu cheie public i poate aduce aici o important contribuie. S
presupunem c algoritmii de criptare i decriptare cu cheie public au proprietatea c
E(D(P))=P n plus fa de proprietatea uzualD(E(P))=P. (RSA are aceast proprietate, deci
presupunerea nu este nerezonabil). S presupunem c Alice poate trimite un text clar
semnat, P, lui Bob transmind EB(DA(P)). O observaie important aici este aceea c Alice
cunoate att propria sa cheie secret ct i cheia public a iui Bob, EB, astfel nct construcia
acestui mesaj este pentru Alice un lucru realizabil
Cnd Bob primete mesajul, el l transform, folosindu-i cheia privat, ca de obicei, rezultnd
DA(P), dup cum este artat i n Fig. 7-23. Ei memoreaz acest text ntr-un loc sigur i apoi l
decripteaz, folosind EA, pentru a obine textul clar original.
Linia de transmisie
Cheia pubi
a iui
Cheia privat
a iui Bob,
F.
Cheia public
s Iul Mice, - P
E B {D A (P))
SEC. 7.1
SECURITATEA REELEI
573
poate fi sau nu rspunztoare legal, n special dac pretinde c a descoperit spargerea cnd sa ntors acas de la munc, la cteva ore mai trziu.
O alt problem cu schema de semntur este ce se ntmpl dac Alice decide s-i schimbe
cheia. A face acest lucru este evident legal i este probabil o idee bun s o fac periodic. Dac n
justiie apare mai trziu un caz, aa cum s-a povestit mai sus, judectorul va aplica actualul EA la
DA(P) i va descoperi c nu se obine P. Bob va fi atunci ntr-o situaie delicat. n consecin, apare
necesitatea ca o autoritate s nregistreze toate schimbrile de chei i datele acestora.
In principiu, orice algoritm cu cheie public poate fi folosit pentru semnturi digitale. Standardul
de facto n industrie este algoritmul RSA. Multe produse pentru securitate l folosesc. Totui, n 1991,
NIST (National Institute of Standards and Technology) a propus o variant a algoritmului cu cheie
public. Ei Gamal pentru noul lor standard DSS (Digital Signafare Standard - Standard pentru
Semntur Digital). El Gamal i bazeaz securitatea pe dificultatea calculului logaritmilor discrei
i nu pe dificultatea factorizrii numerelor mari.
Ca de obicei, cnd guvernul ncearc s impun standarde criptografice, s-a iscat o reacie
antagonist de mas. DSS a fost criticat pentru a fi:
1.
2.
3.
4.
Dup o revizuire ulterioar, cei de-al patrulea motiv a fost eliminat fiindc s-au permis chei de
pn la 1024 bii. Nu este nc clar dac DSS va prinde sau nu. Pentru mai multe detalii, a se vedea
(Kaufman .a., 1995; Schneier, 1996; i Stinson, 1995).
Rezemate de mesaje
O critic adus schemelor de semntur este aceea c adeseori cupleaz dou funcii distincte:
autentificare si confidenialitate. Adesea, autentificarea este necesar, dar confidenialitatea eu.
Deoarece criptarea este lent, adeseori se dorete s existe posibilitatea de a se trimite documente
ca text n clar, ns semnate. Mai jos vom descrie o schem de autentificare care nu necesit
criptarea ntregului mesaj (De Jonge i Chaum, 1987).
Schema este bazat pe ideea unei funcii de dispersie neinversabile care preia o bucat de text
clar de lungime arbitrar din care calculeaz un ir de bii de lungime fix. Funcia de dispersie,
adeseori numit rezumat (digest) al mesajului, are trei proprieti importante:
1.
2.
3.
Pentru a satisface criteriul 3, rezumatul trebuie s aib cel puin 128 de bii lungime, de preferat
Calcului rezumatului unui mesaj dintr-o bucat de text clar este mult mai rapid dect criptarea
unui text clar cu un algoritm cu cheie public. Pentru a vedea cum lucreaz, s considerm din nou
CAP. 7
NIVELUL APLICAIE
574
protocolul de semntur din Fig. 7-22. In loc de a semna P cu KBB(A, t, P), BB calculeaz acum
rezumatul mesajului aplicnd MD lui P, rezultnd MD(P). BB mpacheteaz apoi KBB(A, t, MD(P))
ca al cincilea element n lista criptat cu KB care este trimis lui Bob, n Ioc de KBB(A, i, P).
In disputa ce apare, Bob poate aduce ca argumente att P c i KBB(A, t, MD(P)). Dup ce Big
Brother 1-a decriptat pentru judector, Bob are MD(P), care este garantat a fi original i pretinsul P.
Totui, deoarece este efectiv imposibil ca Bob s gseasc un alt mesaj care s aib acest rezumat,
judectorul va fi convins uor c Bob spune adevrul. Folosirea rezumatelor mesajelor n acest mod
economisete att timpul de criptare ct i costurile pentru transport i memorare.
P, D {MD(P
Bob
Alice
Calculul rezumatelor mesajelor funcioneaz i n criptosistemele cu chei publice, dup cum este
artat i n Fig. 7-24. Aici, Alice calculeaz mai nti rezumatul de mesaj pentru textul su clar. Apoi
ea semneaz rezumatul i trimite att textul clar ct i semntura lui Bob. Dac Trudy S nlocuiete
pe P n timpul transferului, Bob va vedea aceasta atunci cnd va calcula el nsui MD(P).
SEC. 7.1
SECURITATEA REELEI
575
prelucreaz datele de intrare n blocuri de cte 512 bii, dar, spre deosebire de MD5,
genereaz un rezumat de mesaj de 160 de bii. ncepe prin a umple mesajul, adugnd apoi
lungimea pe 64 de bii pentru a obine un multiplu de 512 bii. Apoi iniializeaz tamponul de
ieire de 160 bii. Pentru fiecare bloc de intrare, tamponul de ieire este actualizat folosind
blocul de intrare de 512 bii. Nu este folosit o tabel de numere aleatorii (sau de valori ale
funciei sinus), dar pentru fiecare bloc sunt calculate 80 de runde, rezultnd un amestec
complet. Fiecare grup de 20 de runde folosete funcii de amestecare diferite.
Deoarece lungimea rezumatului SHA este cu 32 de bii mi mare dect a rezumatului MD5,
32
toate celelalte elemente fiind identice, SHA este cu un factor de 2 mai sigur dect MD5. Totui,
faptul c este mai lent dect MD5 i acela c are o lungime a rezumatului care nu este putere a lui 2
pot fi uneori inconveniente. Altfel, cele dou sunt aproximativ identice din punct de vedere tehnic.
Ca politic, MD5 este definit ntr-un RFC i folosit foarte mult n Internet. SHA este un standard
guvernamental i este utilizat de companiile care trebuie s l foloseasc, deoarece guvernul le-o
impune, sau de cele ce doresc o securitate suplimentar. O versiune revizuit, SHA-1, a fost
aprobat ca standard de ctre NIST.
Atacul ziua de natere"
n lumea criptografiei, nimic nu este ceea ce pare a fi. Cineva poate gndi c sunt necesare 2m
operaii pentru a falsifica un rezumat de m bii. De fapt, 2ml2 sunt suficiente dac se folosete atacul
zilei de natere, o abordare publicat de Yuval (1979) n lucrarea sa How to Swindle Rabin" (Cum
s-1 jefuieti pe Rabin).
Ideea acestui atac vine de la o tehnic pe care profesorii de matematic o folosesc adeseori
n cursurile lor de teoria probabilitilor. ntrebarea este: Ci studeni trebuie s fie ntr-o
clas pentru ca probabilitatea de a exista doi studeni cu aceeai dat de natere s fie 1/2?
Muli studeni se ateapt ca rspunsul s fie ceva peste 100. De fapt, teoria probabilitilor
spune c trebuie s fie exact 23. Fr a face o analiz riguroas, intuitiv, cu 23 de oameni se
pot forma (23x23)/2 = 253 perechi diferite, fiecare dintre ele avnd o probabilitate de 1/365 s
fie cea potrivit. n aceast lumin, rezultatul nu mai este deloc surprinztor.
Mai general, dac exist o coresponden ntre intrri i ieiri cu n intrri (oameni, mesaje etc.) i
k ieiri (zile de natere, rezumate etc), exist n(n-2)/2 perechi de intrare. Dac n(n-2)/2 > k, ansa
de a avea cel puin o potrivire este destul de mare. Astfel, cu aproximaie, o potrivire corespunde la
n> yjk . Acest rezultat nseamn c un rezumat de 64 de bii poate fi probabil spart prin generarea
a aproape 2 32 mesaje i cutnd dou cu acelai rezumat.
S vedem acum un exemplu practic. Departamentul de tiina Calculatoarelor de la
Universitatea de Stat are disponibil un post de profesor titular i exist doi candidai la el, Tom
i Dick. Tom a fost angajat cu doi ani naintea lui Dick, aa c el merge primul la verificare.
Dac reuete, Dick are ghinion. Tom tie c efa departamentului, Marylin, are o impresie
bun despre activitatea sa, aa c o roag s i scrie o scrisoare de recomandare pentru decan,
cel care va decide n cazul su. Odat trimise, toate scrisorile devin confideniale.
Marylin spune secretarei, Ellen, s scrie Decanului o scrisoare, subliniind ceea ce dorete. Cnd
este gata, Marylin o va revizui, va calcula i va semna un rezumat de 64 de bii i l va trimite
decanului. Ellen poate trimite scrisoarea mai trziu, prin pot electronic.
576
NIVELUL APLICAIE
CAP. 7
Din nefericire pentru Tom, Ellen are o idil cu Dick i i-ar plcea s l fac pe Tom
s eueze, aa c ea scrie o scrisoare cu urmtoarele 32 de opiuni cuprinse ntre
paranteze drepte.
Dear Dean Smith,
This [letter \ message] is to give my [honest \ frank] opinion of Prof. Tom Wilson, who is [a
candidate j up] for tenure [now \ thisyear]. I have [known \ worked with] Prof. Wilson for [about \
almost] six years. He is an [outstanding | excellent] researcher of great [talent | ability] known
[worfdwide j internationally] for his [biilliant | creative] insights into [rnany \ a wide variety of] [difficult
| challenging] problems.
He is also a [highly \ greatly] [respected \ admired] [teacher j educator]. His students give his
[classes | courses] [rave \ spectacular] reviews. He is [our \ the Department's] [mostpopular \ bestloved] [teacher | instructor].
[n addition | Additionally] Prof. Wilson is a [gifted \ effective] fund raiser. His [grants j contracts]
have brought a [large \ substantial] amount of money into [the | our] Department. [This money has \
Thesefunds have] [enabled j permitted] us to [pursue j cairy oui] many [special \ important] programs,
[such as | for example] your State 2000 program. Without these funds we would [be enable \ not be
able] to continue this program which is so \important \ essential] to both of us. 1 strongly urge you to
grant him ternure.
Din nefericire pentru Tom, imediat dup ce Ellen termin de alctuit i introdus mesajul, ea
scrie de asemenea un al doilea mesaj:
Dear Dean Smith,
This [letter j message] is to give my [honest \ frank] opinion of Prof. Tom Wilson, who is [a
candidate j up] for tenure [now \ thisyear]. I have [known \ worked with]. Prof. Wilson for [about \
almost] six years. He is an [poor \ weak] researcher not well known n this [field j area]. His research
[hardly ever j rarely] shows [insight n \ understanding of} the [key j major] problems of [the \ our] day.
Furthermore, he is not a [respected \ admired] [teacher \ educator]. His students give his {classes \
courses] [poor \ bad] reviews. He is [our | the Department's] leasf popular [teacher j instructor],
known [mostly j primarly] within [our \ the] Department for his [tendency \ propencity] to [ridicule
embarass] students [foolish \ imprudent] enough to ask questions n his classes.
[In addition \ Additionally] Tom is a [poor \ marginal] fund raiser. His [grants j contracts] have
brought only a [meager j insignificant] amount of money into [the | our] Department. Unless new
[money is \ funds are] quickly located, we must have to cancel essential programs such as your State
2000 program. Unfortunately, under these [conditions j circumstances]. I cannot n good [conscience
| faith] recommend him to you for [ternure | a permanent position].
Ellen pune calculatorul s calculeze n timpul nopii 2 32 rezumate de mesaj pentru fiecare
scrisoare. Exist anse ca un rezumat al primei scrisori s se potriveasc cu un rezumat al celei
de-a doua scrisori. Dac nu, ea poate s adauge mai multe opiuni i s ncerce din nou n
timpul weekend-ului. S presupunem c gsete o potrivire. S notm scrisoarea bun" cu A
i scrisoarea rea" cu B.
SEC. 7.2
577
Ellen trimite acum scrisoarea A lui Marilyn pentru aprobare. Desigur c Marilyn o aprob,
calculeaz rezumatul de 64 de bii, semneaz rezumatul si trimite rezumatul semnat decanului
Smith. Independent, Ellen i trimite decanului Smith scrisoarea B.
Dup ce primete scrisoarea i rezumatul semnat, decanul ruleaz algoritmul de calcul al
rezumatului pentru scrisoarea B, vede c se potrivete cu ceea ce i-a trimis Marilyn i l d
afar pe Tom. (Sfrit opional: Ellen i povestete lui Dick ceea ce a fcut. Dick este revoltat
i rupe relaia cu ea. Ellen este furioas i se confeseaz lui Marilyn. Marilyn l sun pe Decan.
Tom obine pn la urm postul). Atacul zilei de natere este nefezabil la MD5 deoarece,
64
chiar i la un miliard de rezumate pe secund, ar trebui peste 500 de ani pentru a calcula 2
rezumate pentru cele dou scrisori, cu 64 de variante fiecare, succesul nefiind garantat.
7.1.7 Implicaii sociale
Implicaiile securitii reelei pentru securitatea individual i a societii n general sunt ocante.
Mai jos vom meniona doar cteva din cele mai importante consecine.
Guvernelor nu le plac cetenii care au secrete fa de ele. n unele ri (de exemplu,
Frana) orice criptografie neguvernamental este pur i simplu interzis, cu excepia cazului n
care guvernul primete toate cheile utilizate. Dup cum au punctat Kahn (1980) i Selfridge i
Schwartz (1980), interceptarea de ctre guvern s-a practicat la o scar mult mai mare dect iar putea imagina majoritatea oamenilor, iar pentru eforturile lor, guvernele doresc ceva mai
mult dect o grmad de bii indescifrabili.
Guvernul SUA a propus o schem de criptare pentru viitoarele telefoane digitale care include o
caracteristic special ce permite poliiei s asculte i s decripteze toate apelurile telefonice din
SUA. Guvernul promite s nu foloseasc aceast caracteristic fr un ordin de la curtea de justiie,
dar muli oameni nc i mai amintesc cum fostul director al FBI, J. Edgar Hoover asculta ilegal
telefoanele lui Martin Luther King, Jr. i ale altor persoane n ncercarea de a-i neutraliza. Poliia
spune c au nevoie de aceast putere pentru a prinde criminalii. Exprimndu-ne moderat, putem
spune c dezbaterea este vehement de ambele pri. O discuie asupra tehnologiei implicate
(Clipper) este prezentat n (Kaufman .a., 1995). Un mod de a evita aceast tehnologie i de a
trimite mesaje ntr-un mod n care guvernul s nu le poat citi este descris n (Blaze, 1994; i
Schneier, 1996). Declaraii de opinie ale tuturor prilor sunt prezentate n (Haffman, 1995).
Statele Unite au o lege (22 U.S.C. 2778) care interzice cetenilor s exporte muniii (material de
rzboi), cum ar fi tancuri i avioane cu reacie, fr autorizarea DoD. Prin aceast lege, software-ul
criptografic este clasificat ca muniie. Phil Zimmermann, care a scris PGP (Pretty Good Privacy), un
program pentru protecia potei electronice, a fost acuzat c a nclcat aceast lege, chiar dac
guvernul admite c el nu 1-a exportat (dar 1-a dat unui prieten pentru a-1 pune pe Internet de unde
putea fi obinut de strini). Muli oameni au privit acest incident larg mediatizat ca o nclcare total
a drepturilor unui cetean american ce lucreaz pentru mbuntirea siguranei oamenilor.
7.2
Programele se refer rareori la sisteme gazd, cutii potale i alte resurse prin adresa lor binar
(din reea). n loc de numere binare, se utilizeaz iruri ASCII, cum ar fi tana@ait.ucsb.edu. Cu
toate acestea, reeaua nelege numai adrese binare, deci este necesar un mecanism care s
578
NIVELUL APLICAIE
CAP. 7
converteasc irurile ASCII n adrese de reea. n seciunea urmtoare se va studia cum este
realizat aceast conversie n Internet.
nc de la ARPANET exista un fiier host.txt care cuprindea toate sistemele gazd i
adresele lor IP. n fiecare noapte, toate gazdele l preluau de la situl unde era pstrat. Pentru o
reea format din cteva sute de maini mari, cu divizarea timpului, aceast abordare era
destul de rezonabil.
Totui, atunci cnd la reea au fost conectate mii de staii de lucru, toi i-au dat seama c aceast
abordare nu putea s funcioneze la nesfrit. n primul rnd dimensiunea fiierului ar deveni prea
mare. Cu toate acestea i chiar mai important, conflictele de nume de sisteme gazd ar aprea n
permanen dac nu ar fi administrate centralizat, ceva de negndit ntr-o reea internaional de
dimensiuni uriae. Pentru a rezolva aceste probleme, a fost inventat DNS (Domain Name System Sistemul numelor de domenii).
Esena DNS-ului const dintr-o schem ierarhic de nume de domenii i a unui sistem de
baze de date distribuite pentru implementarea acestei scheme de nume. In principal este
utilizat pentru a pune n coresponden numele sistemelor gazd i adresele destinaiilor de
e-mail cu adresele IP, dar poate fi utilizat i pentru alte scopuri. DNS este definit n RFC-urile
1034 i 1035.
Foarte pe scurt, DNS este utilizat dup cum urmeaz. Pentru a stabili corespondena dintre un
nume i o adres IP, programul de aplicaie apeleaz o procedur de bibliotec numit resoiver,
transferndu-i numele ca parametru. Resolver-ul trimite un pachet UDP la server-ul DNS local,
care caut numele i returneaz adresa IP ctre resoiver, care o returneaz apelantului. narmat cu
adresa IP, programul poate stabili o conexiune TCP cu destinaia sau i poate trimite pachete UDP.
7.2.1 Spaiul de nome DNS
Administrarea unui volum mare de nume n permanent schimbare nu este o problem
prea uoar. n sistemul potal, administrarea numelor este realizat impunnd ca pe o
scrisoare s se specifice (implicit sau explicit) ara, statul sau provincia, oraul, strada i restul
adresei destinatarului. Utiliznd o astfel de adresare ierarhic, nu exist nici o confuzie ntre
Marvin Anderson de pe Main St. din White Plains, N.Y. i Marvin Anderson de pe Main St.
din Austin, Texas. DNS lucreaz n acelai mod.
Conceptual, Inernetul este divizat n cteva sute de domenii de nivel superior, fiecare
domeniu cuprinznd mai multe sisteme gazd. Fiecare domeniu este partiionat n subdomenii
i acestea sunt, la rndul lor, partiionate .a.m.d. Toate aceste domenii pot fi reprezentate ca
un arbore, aa cum se arat n Fig. 7-25. Frunzele arborelui reprezint domenii care nu au
subdomenii (dar, bineneles, conin sisteme). Un domeniu frunz poate conine un singur
sistem gazd sau poate reprezenta o firm, deci s conin mii de sisteme gazda.
Domeniile de pe primul nivel se mpart n dou categorii: generice i de ri. Domeniile generice
sunt corn (comercial), edu (instituii educaionale), gov (guvernul federal al SUA), int (organizaii
internaionale), mii (forele armate ale SUA) i org (organizaii nonprofit). Domeniile de ri includ
o intrare pentru fiecare ar, cum se definete n ISO 3166.
Fiecare domeniu este denumit de calea n arbore pn la rdcin. Componentele sunt separate
prin punct. Astfel, departamentul de inginerie de la SUN poate fi eng.sun.com n loc de numele n
stil UNIX /com/sun/eng. De notat c aceast atribuire ierarhic de nume nseamn c eng.sun.com
SEC. 7.2
579
nu intr n conflict cu posibila utilizare a lui eng n eng.yale.edu, care poate fi folosit de departamentul
de Englez de la Yale.
Generice
int
corn
edu
sun
yale
eng cs
ai
eng
gov
ri
mii
ora
/ \
acrn
jack
leee
jill
linda
robot
net
~jp
/ \
ac
co
keio
nec
cs
I
!
csl
ni
oce
/ \
vu
cs
/ \
flits
fluit
pc24
NIVELUL APLICAIE
580
CAP. 7
administratorului domeniului edu s-i atribuie unsd.edu. n acest mod sunt evitate conflictele
de nume i fiecare domeniu poate ine evidena tuturor subdomeniilor sale. Odat ce un nou
domeniu a fost creat i nregistrat, el poate crea subdomenii, cum ar fi cs.unsd.edu, fr a cere
permisiunea de la cineva din partea superioar a arborelui.
Atribuirea de nume respect graniele organizaionale, nu pe cele ale reelelor fizice. De
exemplu, dac departamentele de tiina calculatoarelor i de inginerie electric sunt localizate
n aceeai cldire i folosesc aceeai reea local, ele pot avea totui domenii distincte. Similar,
dac departamentul de tiina calculatoarelor este mprit n dou cldiri (Babbage Hali i
Turing Hali), toate sistemele gazd din ambele cldiri aparin aceluiai domeniu.
7.2.2
A.
nregistrri de resurse
Fiecrui domeniu, fie c este un singur calculator gazd, fie un domeniu de nivel superior, i
poate fi asociat o mulime de nregistrri de resuse (resourse records). Pentru un singur sistem
gazd, cea mai obinuit nregistrare de resurs este chiar adresa IP, dar exist multe alte tipuri de
nregistrri de resurse. Atunci cnd procedura resolver trimite un nume de domeniu DNS, ceea ce
va primi ca rspuns sunt nregistrrile de resurse asociate acelui nume. Astfel, adevrata funcie a
DNS este s realizeze corespondena dintre numele de domenii i nregistrrile de resurse.
O nregistrare de resurs este un 5-tuplu. Cu toate c, din raiuni de eficien, nregistrrile
de resurse sunt codificate binar, n majoritatea expunerilor ele sunt prezentate ca text ASCII,
cte o nregistrare de resurs pe linie. Formatul pe care l vom utiliza este urmtorul:
Nume_Domeniu Timp_de_via Tip Clas Valoare
Nume_domeniu (domain_name) precizeaz domeniul cruia i se aplic aceast nregistrare. In
mod normal exist mai multe nregistrri pentru fiecare domeniu i fiecare copie a bazei de date
pstreaz informaii despre mai multe domenii. Acest cmp este utilizat ca cheie de cutare primar
pentru a satisface cererile. Ordinea nregistrrilor n baza de date nu este semnificativ. Cnd se face
o interogare despre un domeniu, sunt returnate toate nregistrrile care se potrivesc cu clasa cerut.
Cmpul Timp_de_yiaa (time_to_live) d o indicaie despre ct de stabil este nregistrarea.
Informaia care este foarte stabil are asigurat o valoare mare, cum ar fi 86400 (numrul de
secunde dintr-o zi). Informaiei instabile i este atribuit o valoare mic, cum ar fi 60 (1 minut). Vom
reveni la acest punct mai trziu, cnd vom discuta despre utilizarea memoriei ascunse.
Cmpul Tip precizeaz tipul nregistrrii. Cele mai importante tipuri sunt prezentate n Fig. 7-26.
Tip
SOA
A
MX
NS
CNAME
PTR
HINFO
TXT
Semnificaie
Start autoritate
Adresa IP a unui sistem gazd
Schimb de pot
Server de Nume
Nume canonic
Pointer
Descriere sistem gazd
Text
Valoare
Parametrii pentru aceast zon
ntreg pe 32 de bii
Prioritate, domeniu dispus s accepte pot electronica
Numele serverului pentru acest domeniu
Numele domeniului
Pseudonim pentru adresa IP
Unitate central i sistem de operare n ASCII
Text ASCII neinterpretat
SEC. 7.2
581
O nregistrare SOA furnizeaz numele sursei primare de informaie despre zona serverului
de nume, adresa de e-mail a administratorului, un identificator unic i diveri indicatori i
contoare de timp.
Cel mai important tip de nregistrare este nregistrarea^ (adres). Ea pstreaz adresa IP
de 32 de bii a sistemului gazd. Fiecare sistem gazd Internet trebuie s aib cel puin o
adres IP, astfel nct alte maini s poat comunica cu el. Unele sisteme gazd au dou sau
mai multe conexiuni n reea, caz n care vor avea cte o nregistrare de tip A pentru fiecare
conexiune (i astfel pentru fiecare adres IP).
Urmtoarea ca importan este nregistrarea MX. Aceasta precizeaz numele domeniului
pregtit s accepte pota electronic pentru domeniul specificat. O utilizare obinuit a acestei
nregistrri este s permit unei maini care nu este n Internet s primeasc pot de la situri
Internet. Livrarea este realizat avnd un sit non-Internet care face un aranjament cu un sit
Internet s accepte pota electronic ce i este adresat i s i-o transmit mai departe,
utiliznd orice protocol agreat de ambele pri.
De exemplu, s presupunem c studenta Cathy de la departamentul de calculatoare din
UCLA, dup ce primete diploma n AI, nfiineaz o companie, Electrobrain, n vederea
comercializrii ideilor ei. Pentru moment ea nu i poate permite s stabileasc o legtur
Internet i face un aranjament cu UCLA s-i permit ca pota electronic s-i fie trimis acolo.
Ea va suna de cteva ori pe zi i o va prelua.
Ulterior Cathy i nregistreaz compania n domeniul corn i i se atribuie domeniul
electrobrain.com. Atunci ea poate cere administratorului domeniului corn s adauge n baza de date
corn urmtoarea nregistrare MX:
electrobrain.com 86400 N MX 1mailserver.cs.ucla.edu
n acest fel, pota electronic va fi transmis la UCLA, de unde ea o poate prelua. Pe de alt
parte, UCLA poate s o sune i s transfere pota electronic prin orice protocol asupra cruia s-a
czut de acord.
nregistrrile NS specific numele serverului. De exemplu, fiecare baz de date DNS are n mod
normal o nregistrare NS pentru fiecare domeniu de pe primul nivel, astfel nct pota electronic
poate fi trimis n zone ndeprtate ale arborelui de nume. Vom reveni la acest aspect mai trziu.
nregistrrile CNAME permit crearea pseudonimelor. De exemplu, o persoan familiarizat cu
atribuirea numelor n Internet, care dorete s trimit un mesaj unei persoane al crei nume de
conectare la un sistem de calcul din departamentul de calculatoare de la M.I.T. este paul poate
presupune c adresapaul@cs.mit.edu este corect. De fapt aceast adres nu este corect, deoarece
domeniul departamentului de calculatoare de la M.I.T. este lcs.mit.edu. Totui, ca un serviciu pentru
cei care nu tiu acest lucru, M.I.T. poate crea o intrare CNAME, pentru a dirija persoanele i
programele n direcia corect. O astfel de intrare poate fi:
cs.mit.edu 86400 N CNAME lcs.mit.edu
Ca i CNAME, PTR indic spre un alt nume. Totui, spre deosebire de CNAME, care este
n realitate numai o macrodefiniie, PTR este un tip de date DNS a crui interpretare depinde
de contextul n care este utilizat. n practic este aproape ntotdeauna utilizat pentru asocierea
NIVELUL APLICAIE
582
CAP. 7
unui nume cu o adres P, pentru a permite cutarea adresei P i obinerea numelui mainii
corespunztoare.
nregistrrile HNFO permit aflarea tipului de main i de sistem de operare crora le
corespunde domeniul. n sfrit, nregistrrile TXT permit domeniilor s se autoidentifice ntr-un
mod arbitrar. Aceste dou tipuri de nregistrri sunt pentru comoditatea utilizatorului. Nici una
dintre ele nu este necesar, astfel nct programele nu pot conta pe obinerea lor (i probabil c dac
Ie obin nu le pot trata).
Revenind la structura nregistrrilor de resurse, al patrulea cmp al fiecrei nregistrri este clasa.
Pentru informaia Internet, ea este ntotdeauna IN. Pentru informaia non-Intemet, pot fi utilizate
alte coduri.
n final ajungem la cmpul Valoare. Acest cmp poate fi un numr, un nume de domeniu
sau un ir ASCII. Semantica depinde de tipul de nregistrare. O scurt descriere a cmpurilor
Valoare pentru fiecare dintre principalele tipuri de nregistrri este dat n Fig. 7-26.
Ca exemplu de informaie ce se poate gsi n baza de date DNS a unui domeniu vezi Fig. 7-27.
Aceast figur prezint o parte (semi-ipotetic) a bazei de date pentru domeniu! cs.vu.nl prezentat
n Fig. 7-25. Baza de date conine apte tipuri de nregistrri de resurse.
;Baza de dae pentru cs.vu.n!
cs.vu. ni
86400 IN SOA
cs.vu.n!
86400 N TXT
cs.vu.n!
86400 N TXT
cs.vu.nl
86400 N MX
cs.vu.n!
86400 S
M MX
flis.cs.vu.ni
fis.cs.vu.o
flits.cs.vu.nl
flits.cs.vu.nl
flis.cs.vu.ni
fiits.cs.vu.n!
www.cs.vu.ni
ftp.cs.vu.nl
rowboat
86400
86400
86400
86400
86400
86400
86400
86400
N
N
N
N
N
N
N
\H
N
N
N
N
HIIMFO
A
A
MX
MX
MX
CNAME
CNAME
A
MX
MX
HiNFO
rowboat
N A
N HINFO
130.37.62.23
Mac MacOS
faserje
N A
N HiNFO
192.31.231.216
HP Laserie IHSi" Proorietarv
Fig. 7-27. O parte dintr-o posibil baz de date DNS pentru cs.vu.nl.
SEC. 7.2
583
Prima linie necomentat din Fig. 7-27 d cteva informaii de baz despre domeniu, de care nu ne
vom ocupa. Urmtoarele dou linii furnizeaz informaii textuale despre amplasarea domeniului.
Urmeaz dou intrri care specific primul i al doilea loc unde se ncearc s se livreze pota
electronic trimis pentrupersoana@cs.vu.nl. Mai nti se ncearc trimiterea la maina zephyr. Dac
aceasta eueaz, atunci trebuie s se ncerce la top.
Dup o linie liber, adugat numai pentru claritate, urmeaz linii care spun cflits este o staie
de lucru SUN care lucreaz sub UNIX i se specific ambele sale adrese IP. Urmeaz trei variante
de tratare a potei electronice trimise hflits.cs.vu.nl. Prima alegere este, n mod natural, chiar flits, iar
dac nu se reuete, se ncearc la zephyr i apoi la top. Urmeaz un pseudonim, www.cs.vu.nl, astfel
ca aceast adres s poat fi utilizat fr a specifica o anumit main. Crearea acestui pseudonim
permite ca cs.vu.nl s schimbe serverul www fr invalidarea adresei folosite n mod curent pentru
adresarea lui. Un argument similar este valabil pentru, ftp.cs.vu.nl.
Urmtoarele patru linii conin o nregistrare tipic pentru o staie de lucru, n acest caz
rowboat.cs.vu.nl. Informaia furnizeaz adresa IP, destinaia primar i secundar pentru pota
electronic i informaii despre main. Urmeaz o intrare pentru un sistem non-UNIX care
nu este capabil s primeasc pota el nsui, urmat de o intrare pentru o imprimant laser.
Ceea ce nu este artat (i nu exist n acest fiier) sunt adresele IP utilizate pentru a cuta
adresele domeniilor de pe primul nivel. Acestea sunt necesare pentru a cuta sistemele gazd aflate
la distan, dar, deoarece ele nu fac parte din domeniul cs.vu.nl, nu se gsesc n acest fiier. Ele sunt
furnizate de serverele rdcin ale cror adrese IP sunt prezentate n fiierul de configurare a
sistemului i sunt ncrcate n memoria ascuns DNS atunci cnd este pornit serverul DNS. Ele au
un timp de expirare foarte mare, astfel nct odat ncrcate, nu sunt eliminate niciodat din
memoria ascuns.
7.2.3 Servere de nume
Teoretic, un singur server de nume poate conine ntreaga baz de date DNS i poate s
rspund tuturor cererilor. n practic, acest server poate fi att de ncrcat, nct s devin de
neutilizat. n afar de aceasta, dac se defecteaz, va fi afectat ntregul Internet.
Pentru a evita problemele asociate cu existena unei singure surse de informaie, spaiul de nume
DNS este mprit n zone care nu se suprapun. O posibil cale de mprire a spaiului de nume din
Fig. 7-25 este artat n Fig. 7-28. Fiecare zon conine cte o parte a arborelui precum i numele
serverelor care pstreaz informaia autorizat despre acea zon. Normal o zon va avea un server
de nume primar, care preia informaia dintr-un fiier de pe discul propriu i unul sau mai multe
servere de nume secundare, care iau informaiile de pe serverul primar. Pentru a mbunti
fiabilitatea, unele servere pentru o zon pot fi plasate n afara zonei.
Plasarea limitelor unei zone este la latitudinea administratorului ei. Aceast decizie este luat n
mare parte bazndu-se pe cte servere de nume sunt dorite i unde s fie plasate. De exemplu, n
Fig. 7-28, Yale are un server pentru yale.edu care administreaz eng.yale.edu, dar nu i cs.yale.edu,
care este o zon separat cu propriile servere de nume. O astfel de decizie poate fi luat atunci cnd
un departament ca cel de englez nu dorete s aib propriul server de nume, n schimb
departamentul de calculatoare dorete. n consecin cs.yale.edu este o zon separat, n timp ce
zona eng.yale.edu nu este separat.
NIVELUL APLICAIE
584
CAP. 7
Fig. 7-28. O parte din spaiul numelor DNS prezentnd mprirea n zone.
Atunci cnd un resolver are o cerere referitoare la un nume de domeniu, el transfer cererea
unuia din serverele locale de nume. Dac domeniul este sub jurisdicia serverului de nume, cum ar fi
ai.cs.yale.edu, care este sub cs.yale.edu, el rentoarce nregistrri de resurse autorizate. O nregistrare
autorizat (authoritative record) este cea care vine de la autoritatea care administreaz nregistrarea
i astfel este ntotdeauna corect. nregistrrile autorizate se deosebesc de nregistrrile din memoria
ascuns, care pot fi expirate.
Dac, totui, domeniul se afl la distan, iar local nu este disponibil nici o informaie despre
domeniul cerut, atunci serverul de nume trimite un mesaj de cerere la serverul de nume de pe
primul nivel al domeniului solicitat. Pentru a clarifica acest proces s considerm exemplul din Fig.
7-29. Aici resolverul de peflits.cs.vu.nl dorete s tie adresa IP a sistemului gazd linda.cs.yale.edu.
n pasul 1 trimite o cerere la serverul de nume local cs.vu.nl. Aceast cerere conine numele de
domeniu cutat, tipul (A) i clasa (N).
Iniiator
flits.cs.vu.nl
Server de nume
Server de nume
Server de nume
Server de nume
VU CS
Edu
Yale
.
Yale CS
cs.vu.nl
edu-server.net
yale.edu
cs.yale.edu
Fig. 7-29. Modul n care un resolver caut un nume aflat la distan, n opt pai.
S presupunem c serverul local de nume nu a avut niciodat o cerere pentru acest domeniu i
nu tie nimic despre el. Poate solicita informaii de la cteva servere de nume din apropriere, dar
dac nici unul dintre ele nu tie, va trimite un pachet UDP la serverul pentru edu specificat n baza
de date (vezi Fig. 7-29), edu-seiver.net. Este puin probabil ca acest server s cunoasc adresa
linda.cs.yale.edu i probabil nu cunoate nici adresa cs.yale.edu, dar trebuie s cunoasc adresele fiilor
din subarbore, astfel c va transmite cererea la serverul de nume yale.edu (pas 3). Acesta va
transmite cererea mai departe ctre cs.yale.edu (pas 4), care trebuie s aib nregistrrile autorizate
SEC. 7.3
585
de resurse. Deoarece fiecare cerere este de la client la server, nregistrarea de resurs cerut
parcurge paii 5 pn la 8.
Odat ce aceste nregistrri de resurse ajung napoi la serverul de nume cs.vu.nl, ele vor fi depuse
n memoria ascuns, pentru a fi folosite ulterior. Totui, aceast informaie nu este autorizat,
deoarece orice schimbare fcut la cs.yale.edu nu se va propaga spre toate serverele care au folosit-o.
Din acest motiv intrrile n memoria ascuns nu ar trebui s aib via prea lung. Acesta este
motivul pentru care cmpul Timp_de_yia este inclus n fiecare nregistrare de resurs. El
informeaz serverele de nume aflate la distan ct timp s menin nregistrrile n memoria
ascuns. Dac o anumit main are de ani de zile aceeai adres IP, aceast informaie ar putea fi
pstrat timp de o zi. Pentru infonnaii mai volatile este mai sigur ca nregistrrile s fie eliminate
dup cteva secunde sau un minut.
De menionat c metoda de interogare descris aici este cunoscut ca metoda de interogare
recursiv (recursive query), deoarece fiecare server care nu are informaia cerut o caut n alt
parte i raporteaz. Este posibil i o alt variant. In acest caz, atunci cnd o cerere nu poate fi
rezolvat local, cererea eueaz, dar este returnat numele urmtorului server de pe calea ce trebuie
ncercat. Aceast procedur d clientului mai mult control asupra procesului de cutare. Unele
servere nu implementeaz interogarea recursiv i ntorc ntotdeauna numele urmtorului server la
care s se ncerce.
De asemenea merit menionat faptul c atunci cnd un client DNS nu reuete s
primeasc un rspuns nainte de expirarea timpului de cutare, data viitoare va ncerca un alt
server. Se presupune c serverul este probabil nefuncional, nu c cererea sau rspunsul s-au
pierdut.
NIVELUL APLICAIE
586
CAP. 7
Dei SNMP-ul a fost creat n ideea de a fi simplu, cel puin un autor a reuit s scrie o carte de
600 de pagini despre el (Stellings, 1993a). Pentru o descriere mai compact (450-550 de pagini)
consultai crile lui Rose (1994) i Rose i McQoghrie (1995), ambii numrndu-se printre
proiectanii SNMP. Alte referine sunt Feit (1995) i Hein i Griffiths (1995).
7.3.1 Modelul SNMP
Modelul SNMP de administrare a reelei este format din 4 componente:
1.
2.
3.
4.
Noduri administrate.
Staii de administrare.
Informaii de administrare.
Un protocol de administrare.
Staie de
administrare
Proces de
administrare
Ruter
Gazd
Imprimanta
protocoi SNMP
Pune
SEC. 7.3
587
588
NIVELUL APLICAIE
CAP. 7
CNJ
Semnificaie
Tipuri primitive
1NTEGER
BITSTRING
OCTET STRING
NULL
Rezervat
OBJECTIDENTIFIER
SEC. 7.3
589
SNMP are o serie de convenii sintactice pe care le vom urmri. Acestea nu sunt totui n
totalitate cele folosite de ASN.l. Tipurile de date predefinite sunt scrise cu majuscule (de exemplu
INTEGER). Tipurile definite de utilizator ncep cu majuscul, dar trebuie s conin cel puin un
caracter diferit de majuscul. Identificatorii pot conine litere mici i mari, cifre, liniu, dar trebuie
s nceap cu o liter mic (de exemplu counter). Caracterele de spaiere (tab, caniage return etc.)
nu sunt semnificative. Comentariile ncep cu -- i continu pn la urmtoarea apariie-a secvenei -.
Tipurile de baz ASN.l permise n SNMP sunt prezentate n Fig. 7-31. (n general vom ignora
caracteristici ale ASN.l, cum ar fi tipurile BOOLEAN i REAL, care nu sunt permise n SNMP).
Utilizarea codurilor va fi descris mai trziu.
O variabil de tipul INTEGER poate, din punct de vedere teoretic, s ia orice valoare
ntreag, dar alte reguli SNMP limiteaz intervalul. Pentru a exemplifica folosirea tipurilor, s
vedem cum este declarat i (opional) iniializat cu 100 variabila count de tip INTEGER n
ASN.l:
count INTEGER ::=100
Deseori este necesar un subtip ale crui variabile sunt limitate la o anumit valoare sau la un
interval. Acestea pot fi declarate dup cum urmeaz:
Status ::= INTEGER{up(1), down(2), unknown(3)}
PackeSize ::= INTEGER(O..1O23)
joint-iso-ccitt (2)
standard (0)
registrationauthority (1)
memberbody (2)
identifiedorganization (3)
dod (6)
directoryO)
snmpv2 (6)
mib-2(1)
system (1) interface (2) ip (4) icmp (5) tcp (6) udp (7) egp (8) transmission (10)sampIe (11)
590
NIVELUL APLICATE
CAP. 7
Variabilele de tipul BIT STRING i OCTET' STRING conin zero sau mai muli bii i, respectiv,
octei. Un bit este 0 sau 1. Un octet este cuprins ntre 0 i 255 inclusiv. Pentru ambele tipuri pot fi
specificate lungimea irului i o valoare iniial. Tipul OBJECT IDENTIFIER furnizeaz o metod
de identificare a obiectelor. n principiu, fiecare obiect definit n fiecare standard oficial poate fi
identificat n mod unic. Mecanismul folosit este de a defini un arbore de standardizri i de a plasa
fiecare obiect i fiecare standard ntr-un loc unic n arbore. Partea de arbore care conine SNMP
MIB este prezentat n Fig. 7-32.
Primul nivel din arbore conine toate organizaiile importante de standardizare din lume (n
viziunea ISO) i anume ISO i CCITT (acum ITU) precum i combinaia celor dou. Din nodul iso
sunt definite patru arce, din care unul este pentru identified-organization, ceea ce reprezint concesia
ISO c pot exista i alte organizaii implicate n standarde. Ministerului Aprrii al Statelor Unite
(DoD) i-a fost atribuit un loc n acest subarbore, iar ministerul a atribuit numrul 1 din ierarhia sa
Internetului. n ierarhia Internet, SNMP MIB are codul 1.
Fiecare arc din Fig. 7-32 are att o etichet ct i un numr, astfel nct nodurile pot fi
identificate prin intermediul unei liste de arce, folosind etichet (numr) sau numere. n consecin,
toate obiectele din SNMP MIB sunt identificate prin etichete de forma:
{iso identified-organization(3) dod(6) internetd) mgmt(2) mib-2(1)...}
sau, echivalent, {13 6121...}. De asemenea sunt permise i forme mixte. De exemplu, identificarea
anterioar poate fi scris i sub forma:
{internet(1)2 1 ...}
definesc dou tipuri diferite n cadrul unei aplicaii, amndou fiind ntregi fr semn pe 32 bii, dar
fiind din punct de vedere conceptual diferite. Primul dintre ele ar putea, de exemplu, ca odat ajuns
la valoarea maxim s continue cu valoarea 0, n timp ce cel de-al doilea ar continua s ntoarc
valoarea maxim pn cnd va fi decrementat sau iniializat.
SEC. 7.3
591
Un tip redeclarat poate avea cuvntul cheie IMPLICIT dup paranteza dreapt nchis atunci
cnd tipul a ceea ce urmeaz reiese din context (ceea ce de exemplu, nu este adevrat n cadrul unui
CHOICE). Procednd astfel permitem o mai eficient codificare a biilor, din moment ce marcajul
nu mai trebuie transmis. ntr-un tip care implic o alegere (CHOICE) ntre dou tipuri diferite,
trebuie transmis un marcaj care s spun receptorului ce tip este prezent.
ASN.l definete un mecanism complex de macrodefinire, care este folosit din pin n SNMP. O
macrodefiniie poate fi folosit ca un fel de prototip pentru a genera o mulime de tipuri i valori noi,
fiecare cu sintaxa proprie. Fiecare macrodefiniie definete cteva cuvinte cheie (eventual
opionale), care sunt folosite n apel pentru a identifica parametrii (adic parametrii
macrodefiniiilor sunt identificai prin cuvinte cheie, nu prin poziie). Detaliile despre cum
funcioneaz macrodefiniiile ASN.l nu fac obiectul acestei cri. Este suficient s spunem c o
macrodefiniie este apelat menionnd numele su, urmat de (o parte din) cuvintele cheie i
valorile lor pentru respectivul apel. Cteva exemple de macrodefiniii vor fi citate n cele ce urmeaz.
Sintaxa de transfer ASN.l
Sintaxa de transfer (transfer syntax) ASN.l definete modul n care valorile tipurilor ASN.l
sunt convertite neambieuu ntr-o secven de octei care vor fi transmii (si decodificai neambieuu
ia cellalt capt). Sintaxa de transfer folosit de ASN.l se numete BER (Basic Eacoding Riiles reguli de codificare de baz). ASN.l are sintaxe de transfer pe care SNMP nu le folosete. Regulile
sunt recursive, deci codificarea unui obiect structurat este concatenarea codificrilor componentelor
obiectului. Astfel toate obiectele pot fi reduse la o secven bine definit de obiecte primitive
codificate. La rndul su, codificarea acestor obiecte este definit de BER.
Principiul de baz aflat n spatele regulilor de codificare este c orice valoare transmis, fie c
este primitiv sau construit, este format din cel mult patru cmpuri:
1.
2.
3.
4.
Ultimul cmp este permis de ASN.l, dar interzis explicit de SNMP, deci vom presupune c
lungimea datelor este ntotdeauna cunoscut.
Primul cmp identific elementul care urmeaz. La rndul su are trei subcmpuri, ca n Fig. 733. Primii doi bii identific tipul marcajului. Urmtorul bit arat dac valoarea este primitiv (0) sau
nu (1). Biii de identificare sunt 00,01,10 i 11 pentru UNIVERSAL, APPLICATION, specific
contextului i, respectiv, PRIVATE. Urmtorii cinci bii pot fi folosii pentru codificarea valorii
marcajului, dac aceasta este n intervalul 0..30. Dac marcajul este 31 sau mai mare, ultimii cinci bii
conin 11111, iar valoarea concret se gsete n urmtorul octet sau n urmtorii octei.
Regula folosit la codificarea marcajelor mai mari ca 30 a fost proiectat s funcioneze pentru
numere orict de mari. Fiecare octet identificator care urmeaz dup primul conine 7 bii de date.
Primul bit are valoarea 0 n toi octeii, cu excepia ultimului. Deci marcajele cu valori pn ia 27-l
pot fi reprezentate cu doi octei, iar cele pn ia 214-1, cu 3 octei.
592
NIVELUL APUCATE
Bii
Marcaj
00 Universal
01 n cadrul aplicaiei
10 Specific contextului
11 Privat
CAP. 7
5
Numr
0 Tip primitiv
1 Tip construit
Fig. 7-33. Primul octet din fiecare element trimis n sintaxa de transfer ASN.l.
Codificarea tipului UNIVERSAL este direct. Fiecrui tip primitiv i-a fost atribuit un cod,
prezentat n cea de-a treia coloan din Fig. 7-31. SEQUENCE i SEQUENCE OF au acelai cod, 16.
CHOICE nu are alocat un cod, din moment ce orice valoare trimis va avea un tip specific. Celelalte
coduri sunt pentru tipuri care nu sunt folosite n SNMP.
Dup cmpul identificator de 1 octet urmeaz un cmp care precizeaz ci octei ocup datele.
Lungimile mai mici de 128 octei sunt codificate direct ntr-un octet care are bitul cel mai din stnga
0. Pentru lungimi mai mari de 128 de octei se folosesc mai muli octei, dintre care primul conine 1
n bitul cel mai semnificativ i lungimea cmpului (pn la 127 de octei) H urmtorii 7 bii. De
exemplu, dac lungimea datelor este de 1000 octei, primul octet conine 130 pentru a arta c
urmeaz un cmp cu lungimea de doi octei. Apoi urmeaz doi octei ce conin valoarea 1000,
octetul cel mai semnificativ fiind primul.
Codificarea cmpului de date depinde de tipul de date existent. ntregii sunt codificai n
complement fa de doi. Un ntreg mai mic dect 128 necesit un octet, un ntreg mai mic dect
32768 necesit doi octei i aa mai departe. Cel mai semnificativ octet este transmis primul.
irurile de bii sunt codificate ca atare. Singura problem este cum s le indicm lungimea.
Cmpul lungime precizeaz ci octei are valoarea, nu ci bii. Soluia este ca naintea irului
de bii s se transmit un octet care s specifice ci bii (0 pn la 7) din octetul final nu sunt
utilizai. Astfel codificarea irului de 9 bii '010011111' va fi 07,4F,80 (hexazecimal).
irurile de octei se codific simplu. Octeii din ir sunt transmii ncepnd cu cel mai semnificativ
(big endian), de la stnga la dreapta.
Valoarea nuli este indicat punnd lungimea irului pe 0. Nu este transmis nici o valoare
numeric.
Un OBJECTIDENTIFIER este codificat prin secvena de ntregi pe care o reprezint. De
exemplu, Internet este {1,3, 6,1}. Totui, deoarece primul numr nu poate fi dect 0,1 sau 2,
iar al doilea este mai mic dect 40 (prin definiie ISO nu va recunoate categoria 41), primele
dou numere, a i b, sunt codificate printr-un octet cu valoarea 40a+b. Pentru Internet acest
numr este 43. Aa cum tim, numerele mai mari ca 127 sunt codificate pe mai muli octei,
primul avnd cel mai semnificativ bit setat 1 i numrul de octei n urmtorii 7 bii.
Ambele tipuri de secvene sunt transmise ncepnd cu tipul sau marcajul, apoi lungimea total a
codificrii, urmat de cmpuri. Cmpurile sunt transmise n ordine.
Codificarea unei valori CHOICE este aceeai cu codificarea structurii de date efectiv transmise.
SEC. 7.3
593
Tip
Numr
identificator identificator
Lungime
ntreg 49
Valoare
i r u l de b i i " 1 1 0 ! [ 0 o|o|O 0 0 1 1| | 00 0 00 0 1 Q| [ 0 0 0 0 0 1 0 1J [1 1 Q O O Q O Q j
Siru! de octei
"xy"
Obiect Internet
Gauge32 1 4
00000000
0 0 0 0 0 1 10
00000011
00101011
01000010
00000001
0 0 0 0 1 1 10
00000110
000000 01
NIVELUL APUCATE
594
CAP. 7
suporte toate grupurile acestuia, deoarece este posibil ca unele s nu fie aplicabile
echipamentului.
;
Toate modulele MIB ncep cu un apel al macrodefiniiei MODULE-IDENTTY.
Parametrii si furnizeaz numele i adresa celui care 1-a implementat, istoricul reviziilor i alte
informaii administrative. De obicei, acest apel este urmat de apelul macrodefiniiei OBJECTIDENTITIY, care precizeaz unde este amplasat modulul n cadrul arborelui din Fig. 7-32.
Urmeaz apoi unul sau mai multe apeluri ale macrodefiniiei OBJECT-TYPE, care indic
variabilele administrate i le specific proprietile. Gruparea variabilelor n grupuri este fcut prin
convenie; n ASN.l sauSMI nu exist instruciuniBEGIN-GROUP si END-GROUP.
Macrodefiniia OBJECT-TYPE are patru parametri obligatorii i patru parametri opionali.
Primul parametru obligatoriu este SYNTAX i definete tipul variabilei, dintre cele listate n Fig. 735. n cea mai mare parte, aceste tipuri sunt autoexplicate, cu comentariile urmtoare. Sufixul 32
este folosit atunci cnd se dorete un numr pe 32 de bii, chiar dac toate mainile considerate au
uniti centrale pe 64 de bii. Tipurile Gauges difer de counter prin aceea c, atunci cnd i ating
limita superioar, nu revin la valoarea minim, ci rmn nemodificate. Dac un ruter a pierdut exact
2 32 pachete, este mult mai bine ca el s raporteze 232-l dect 0. SMI suport i vectori, dar nu vom
discuta despre acest subiect. Pentru detalii consultai (Rose,1994)
Nume
INTEGER
Counter32
Gauge32
Uinteger32
Integer32
Counter64
TimeTicks
BIT STRING
OCTET STRING
Tip
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
String
String
Opaque
String
OBJECT
IDENTIFIER
IpAddress
NsapAddress
Octei
4
4
4
4
4
8
4
4
>0
Semnificaie
String
>0
>0
String
String
4
<22
SEC. 7.3
595
Ultimul parametru obligatoriu este DESCRIPTION, care este un ir ASCII ce descrie rolul
variabilei. Dac un administrator cumpr un echipament nou i sclipitor, l interogheaz de la staia
de administrare i afl c acesta ine evidena pktCnt7, cmpul DESCRIPTION ar trebui s-i dea o
indicaie despre tipul pachetelor numrate. Acest cmp este destinat numai factorului uman
(nicidecum calculatorului).
lostPacketsOBJECTTYPE
- folosete un contor pe 32 de bii
SYNTAX Counter32
MAX-ACCESS read-on!y
- staia de administrare nu o poate modifica
STATUS current
-- variabila nu este de nvechit (nc)
DESCRIPTION
Numrul de pachete pierdute de la ultima pornire"
::= {experimental 20}
Fig. 7-36. Un exemplu de variabil SNMP.
Un exemplu simplu de declaraie OBIECT TYPE este dat n Fig. 7-36. Variabila se numete
iosiPackets i poate fi folosit de ctre un rater sau orice alt echipament care administreaz pachete.
Valoarea de dup semnul ::= o plaseaz n arbore.
7.3=4 MDB - Baza de informaii de administrare
Colecia de obiecte administrate de SNMP este definit n MIB. Pentru uurin, aceste obiecte
sunt grupate (n mod obinuit) n zece categorii, care corespund celor zece noduri de sub mib-2 din
Fig. 7-32. (Not: mib-2 corespunde lui SNMPv2 i obiectul 9 nu mai apare). Cele zece categorii au
menirea s ofere baza pentru ceea ce ar trebui s neleag o staie de administrare. Cu certitudine
n viitor vor fi adugate noi categorii i obiecte, iar productorii sunt liberi s defineasc obiecte n
plus pentru produsele lor. Cele zece categorii sunt prezentate n Fig. 7-37.
Grup
Sistem
Interfee
AT
IP
ICMP
TCP
UDP
EGP
Transmisie
SNMP
Numr
obiecte
7
23
3
42
26
19
6
20
0
29
Descriere
Numele, amplasarea i descrierea echipamentului
Interfee de reea si traficul lor
Traducerea adresei (depit)
Statistici pentru pachetele IP
Statistici despre mesajele ICMP primite
Algoritmi, parametri i statistici TCP
Statistici de trafic UDP
Statistici de trafic pentru protocoale de poart exterioar
Rezervat pentru MIB-uri specifice mediului de transmisie
Statistici de trafic SNMP
596
NIVELUL APLICAIE
CAP. 7
Dei limitrile de spaiu nu ne permit s intrm n detaliile tuturor celor 175 de obiecte definite
n MIB II, cteva comentarii sunt totui utile. Grupul sistem permite administratorului s afle
denumirea echipamentului, cine 1-a produs, ce hardware i software conine, unde se afl i ce ar
trebui s fac. De asemenea, sunt furnizate timpul ultimei porniri i numele i adresa persoanei de
contact. Aceast informaie permite ca o companie s se poat angaja s administreze sistemul unei
alte companii, care se afl ntr-un alt ora i i permite celei din urm s afle ce configuraie are
sistemul i cu cine poate lua legtura n cazul n care apar probleme cu diferite echipamente.
Grupul interfee se ocup de adaptoarele de reea. Memoreaz numrul de pachete i de
bii trimii i primii de pe reea, numrul de pachete respinse, numrul de transmisii i
dimensiunea cozii de ieire.
Grupul AT a fost prezent i n MIB-I i furniza informaii despre corespondena dintre
adrese (de exemplu de la Ethernet la IP). n SNMPv2 aceast informaie a fost mutat n
MIB-uri specifice protocoalelor.
Grupul IP se ocup de traficul IP din i spre nod. Este bogat n contoare care memoreaz
numrul de pachete respinse pentru o diversitate de motive (de exemplu traseu ctre destinaie
necunoscut sau penurie de resurse). De asemenea sunt disponibile statistici despre fragmentarea i
reasamblarea datagramelor. Toate aceste elemente sunt deosebit de importante pentru
administrarea ruterelor.
Grupul ICMP se refer la mesajele de eroare IP. De fapt, are un contor pentru fiecare mesaj
ICMP, contor care nregistreaz cte mesaje de acel tip au fost ntlnite.
Grupul TCP monitorizeaz numrul curent i cumulat de conexiuni deschise, segmente trimise i
primite, precum i diferite statistici referitoare la erori.
Grupul UDP ine evidena numrului de datagrame UDP trimise i primite i cte din ultima
categorie nu au fost livrate datorit unui port necunoscut sau din alt motiv.
Grupul EGP este folosit de ruterele care suport protocolul de poart exterioar. ine evidena
numrului de pachete de un anumit tip care au plecat, au venit i au fost corect retransmise sau au
venit i au fost eliminate.
Grupul transmisie este rezervat pentru MIB-uri specifice mediului de transmisie. De exemplu,
statisticile specifice Ethernet pot fi pstrate aici. Scopul includerii unui grup vid n cadrul MIB-II
este acela de a rezerva identificatorul {Internet 219} pentru astfel de scopuri.
Ultimul grup este cel care colecteaz statisticile despre funcionarea SNMP-ului: cte mesaje au
fost transmise, de ce tip sunt acestea .a.m.d.
MIB-II este definit formai n cadrul RFC 1213. RFC 1213 const din 175 de apeluri de
macrodefiniii similare celor din Fig. 7-36, cu comentarii care delimiteaz cele zece grupuri. Pentru
fiecare dintre cele 175 de obiecte definite este furnizat tipul de date mpreun cu un text n limba
englez care descrie la ce este folosit variabila. Pentru informaii mai detaliate asupra MIB-II,
cititorul este rugat s consulte acest RFC.
7.3.5
Protocolul SNMP
Am vzut pn acum c modelul pe care se sprijin SNMP-ul este o staie de administrare care
trimite cereri ctre agenii din nodurile administrate, interesndu-se de cele 175 de variabile, despre
care tocmai am discutat, i multe alte variabile specifice echipamentelor. Ultimul punct pe care l
POSTA ELECTRONICA
SEC. 7.4
597
vom discuta este protocolul pe care l folosesc staia de administrare i agenii pentru a comunica.
Protocolul este definit n RFC 1448.
Mesaj
Get-request
Get-next-request
Get-bulk-request
Set-reques
Inform-reques
SNMPv2-trap
Descriere
NIVELUL APLICAIE
2.
3.
4.
5.
6.
CAP. 7
Mesajele nu aveau structur intern, fcnd astfel dificil prelucrarea lor cu ajutorul
calculatorului. De exemplu, dac un mesaj trimis mai departe cu forward era inclus n
corpul altui mesaj, extragerea prii incluse din mesajul primit era dificil.
Iniiatorul (transmitorul) nu tia niciodat dac mesajul a ajuns sau nu.
Dac cineva avea n plan s plece n cltorie de afaceri pentru mai multe sptmni i
dorea ca toat pota primit n acest timp s fie preluat de ctre secretar, acest luau nu
era uor de realizat.
Interfaa utilizator era slab integrat cu sistemul de transmisie, cernd utilizatorilor ca
nti s editeze un fiier, apoi s prseasc editorul i s apeleze programul de transfer
de fiiere.
Nu era posibil transmiterea de mesaje care s conin o combinaie de text, desene, facsimil
si voce.
% msur ce s-a ctigat experien, au fost propuse sisteme de pot electronic mai
complicate, n 1982 au fost publicate propunerile cu privire la e-mail ale ARPANET, sub numele de
RFC821 (protocolul de transmisie) i RFC822 (formatul mesajelor). n prezent acestea au devenit
standardele de faco ale Internetului. Doi ani mai trziu, CQTT a emis recomandarea X.400, care a
fost preluat ulterior ca baz pentru MOTIS de ctre OSI. n 1988, CCI1T a modificat
recomandarea X.400 pentru a o alinia la MOTIS. MOTIS urma s fie aplicaia principal, nava
amiral" pentru OSI, un sistem care urma s fie de toate pentru toi.
Dup un deceniu de. competiie, sistemele de pot electronic bazate pe RFC822 sunt larg
rspndite, n timp ce acelea bazate pe X.400 au disprut dincolo de linia orizontului. Modu! n care
un sistem ncropit de o mn de absolveni de tiina calculatoarelor a btut un standard
internaional oficial, puternic susinut de ctre toate PTT-urile din lumea ntreag, de multe guverne
i de o parte substanial a industriei calculatoarelor, ne aduce n minte povestea biblic a lui David
i Goliat. Motivul succesului lui RFC822 nu este dat de faptul c ar fi att de bun, ci c X.400 este
att de slab proiectat i att de complex, nct nimeni nu l-ar putea implementa bine. Avnd de ales
ntre un sistem nesofisticat, dar care funcioneaz, cum este cel bazat pe RFC822 i sistemul de email_X.400} presupus cu adevrat minunat, dar nefuncional, majoritatea organizaiilor l-au ales pe
primul. Pentru o diatrib ampl la adresa sistemului de e-mail bazat pe X.400 a se vedea anexa C din
(Rose, 1993). Prin urmare, discuia noastr cu privire la pota electronic se va focaliza asupra
RFC821 i RFC822, aa cum sunt folosite n Intemet.
7.4.1 Arhitectur i servicii
n aceast seciune vom furniza o prezentare de ansamblu a ceea ce pot face sistemele de pot
electronic i cum sunt ele organizate. Aceste sisteme constau de obicei din dou subsisteme:
geni-utilizator, care permit utilizatorilor s citeasc i s trimit scrisori prin pota electronic i
ageaii de transfer de mesaje, care transport mesajele de la surs la destinaie. Agenii-utilizator
sunt programe locale, care furnizeaz o metod de a interactiona cu sistemul de e-mail bazat pe
comenzi, meniuri sau grafic. Agenii de transfer de mesaje sunt, n mod tipic, demoni de sistem,
care se execut n fundal i transfer mesajele prin sistem.
In general, sistemele de pot electronic pun la dispoziie cinci funcii de baz, descrise mai jos.
SEC. 7.4
POTA ELECTRONIC
599
600
NIVELUL APLICAIE
CAP. 7
mare dect una stupid, venit de la un vicepreedinte executiv. Unele companii au estimat c
pota electronic le-a mbuntit productivitatea cu pn la 30% (Perry and Adam, 1992).
O idee cheie n toate sistemele moderne de e-mail este distincia dintre plic i coninutul su.
Plicul ncapsuleaz mesajul. Conine toat informaia necesar pentru transportul mesajului, cum ar
fi destinaia, adresa, prioritatea, nivelul de securitate, toate acestea fiind distincte de mesajul n sine.
Agenii de transfer de mesaje folosesc plicul pentru rutare (dirijare), aa cum face i oficiul potal.
Mesajul din interiorul plicului conine dou pri: antetul i corpul. Antetul conine informaie
de control pentru agenii utilizator. Corpul mesajului se adreseaz n ntregime utilizatorului uman.
Plicurile i mesajele sunt ilustrate n Fig. 7-39.
7.4.2 Agentul utilizator
Sistemele de pot electronic au, aa cum am vzut, dou pri eseniale: agenii-utilizator
i agenii de transfer de mesaje. n aceast seciune ne vom uita la agenii utilizator. Un agent
utilizator este de obicei un program (uneori numit cititor de pot) care accept o varietate de
comenzi pentru compunerea, primirea i rspunsul la mesaje, ct i pentru manipularea
cutiilor potale. Unii ageni-utilizator au o interfa sofisticat, dirijat prin meniuri sau
icoane, care necesit un maus, n timp ce altele accept comenzi de cte un caracter, date de la
tastatur. Funcional ns, toi acetia sunt identici.
Trimiterea potei electronice
Pentru a trimite un mesaj prin pota electronic, un utilizator trebuie s furnizeze mesajul,
adresa - destinaie, i eventual ali civa parametri (de exemplu, prioritatea sau nivelul de
securitate). Mesajul poate fi produs cu un editor de texte de sine-stttor, cu un program de
procesare de text sau, eventual, cu un editor de texte construit n interiorul agentului utilizator.
Adresa de destinaie trebuie s fie ntr-un format cu care agentul utilizator s poat lucra. Muli
ageni-utilizator solicit adrese de forma cutie_potal@locaie. Deoarece aceste lucruri au fost
studiate anterior n acest capitol, nu vom relua materialul respectiv aici.
Oricum, merit notat c exist i alte forme de adresare. n particular, adresele X.400 arat
radical diferit de cele DNS. Ele sunt compuse din perechi de forma anbut-valoare. De exemplu:
/C=US/SP=MASSACHUSETTS/L=CAMBRIDGE/PA=360 MEMORIAL DR./CN=KEN SMITH/
Aceast adres specific o ar, un stat, o localitate, o adres personal i un nume obinuit (Tom
Smith). Sunt posibile multe alte atribute, astfel nct poi trimite mesaje cuiva al crui nume nu-1 tii,
atta timp ct tii suficiente alte atribute (de exemplu, compania i funcia). Muli consider aceast
form de adresare considerabil mai puin convenabil dect numele DNS.
Pentru a fi neprtinitori, trebuie totui s menionm c proiectanii lui X.400 au presupus c
utilizatorii vor folosi pseudonime (aliases - iruri scurte de caractere asignate de utilizator) pentru a
identifica receptorii, astfel nct utilizatorii nici nu vor vedea mcar vreodat adresa ntreag. Totui,
programele necesare pentru acest lucru nu au fost niciodat disponibile pe scar larg, aa c,
adesea, cei care trimiteau mesaje ctre utilizatori ale cror adrese erau de tip X.400 trebuia s scrie
iruri ca cel de mai sus. n schimb, majoritatea sistemelor de e-mail pentru Internet au permis
ntotdeauna utilizatorilor s aib fiiere de pseudonime.
POSTA ELECTRONICA
SEC. 7.4
601
Majoritatea sistemelor de e-mail accept liste de pot, astfel c un utilizator poate trimite, cu o
singur comand, un acelai mesaj tuturor persoanelor dintr-o list. Dac lista de pot este pstrat
local, agentul-utilizator poate pur i simplu s trimit cte un mesaj separat fiecruia dintre
receptorii dorii. Dac lista este pstrat la distan, atunci mesajele vor fi expandate acolo. De
exemplu, dac un grup de admiratori de psri au o list de pot numit birders, instalat la
meadowlarkarizona.edu, atunci orice mesaj trimis la birders@meadowlarkarizona.edu va fi dirijat
ctre Universitatea din Arizona i expandat acolo n mesaje individuale pentru toi membrii listei de
pot, oriunde ar fi ei n lume. Utilizatorii acestei liste de pot nu pot determina c aceasta este o
list de adrese. Ar putea fi la fel de bine cutia potal personal a Prof. Gabriel O. Birders.
lic -
Q.
Plic
United Gizmo
180 Main St
Boston, MA 02120
*-
Q)
C
<
Sept. 1,1996
Subject: Invoice 1081
Dear Mr. Dumkopf,
Our computer records
show that you still have
not paid the above invoice
of $0.00. Please send us a
check for $0.00 promptiy.
Q.
Yours truly
United Gizmo
Mesaj
Yours truly
United Gizmo
(a)
(b)
n mod obinuit, cnd este lansat un agent-utilizator, nainte de a afia ceva pe ecran, el se
va uita n cutia potal a utilizatorului dup mesajele care sosesc. Apoi poate anuna numrul
de mesaje din cutie, sau poate afia pentru fiecare mesaj cte un rezumat de o linie, pentru ca
apoi s atepte o comand.
NIVELUL APLICATE
602
#
1
2
3
4
5
6
7
8
Marcaje
K
KA
KF
Octei
1030
6348
4519
1236
103610
1223
3110
1204
Transmitor
asw
radia
Amy N. Wong
bal
kaashoek
emilyE.
saniya
dmr
CAP. 7
| Subiect
ChangestoMINIX
Comments on material you sent me
Request for information
Deadline for grant proposal
Text of DCS paper
Pointerto WWW page
Referee reports forthe paper
Re: My student's visit
Parametru
#
#
adres
#
#
#
#
#
#
cutie_potal
Descriere
Afieaz antetul (antetele) pe ecran
Afieaz doar antetul curent
Afieaz mesajul (mesajele) pe ecran
Trimite un mesaj
Trimite mai departe mesajul (mesajele) primite
Rspunde la mesaj (mesaje)
terge mesajul (mesajele)
Reface mesajul (mesajele) terse anterior
Mut mesajul (mesajele) ntr-o alt cutie potal
Pstreaz mesajul (mesajele) la ieire
Citete o nou cutie potal
Se deplaseaz la urmtorul mesaj i-l afieaz
Se deplaseaz la mesajul precedent i-l afieaz
Se deplaseaz la un mesaj specificat fr a-l afia
Prsete sistemul de mail i actualizeaz cutia potal
SEC. 7.4
POSTA ELECTRONIC
Dup ce au fost afiate antetele, utilizatorul poate executa oricare dintre comenzile disponibile.
O colecie tipic de comenzi este prezentat n Fig. 7-41. Unele dintre comenzi necesit un
parametru. Semnul # precizeaz c este cerut numrul unui mesaj (sau poate ale mai multora).
Alternativ, litera a poate fi utilizat pentru a se referi la toate mesajele.
Exist nenumrate programe de e-mail. Exemplul nostru l are ca modei pe cei utilizat_de
sistemul UNIX Mmdf. deoarece este foarte direct. Comanda h afieaz unul sau mai multe anee n
formatul din Fig.7-40. Comanda c tiprete antetul mesajului curent. Comanda * tiprete (adic
afieaz pe ecran) mesajul sau mesajele solicitate. Comenzi posibile sunt: 13 pentru a tipri mesajul
3,14-6 pentru a tipri mesajele de la 4 la 6 i ta pentru a afia toate mesajele.
Urmtorul grup de trei comenzi se ocup mai mult cu trimiterea mesajelor, dect cu primirea
lor. Comanda s trimite un mesaj, apelnd un editor potrivit (de exemplu, specificat n profilul
utilizatorului) pentru a permite utilizatorului s compun acest mesaj. Programe specializate n a
realiza verificri de ortografie sau gramatic, sau chiar n a face cutri n dicionar, pot stabili dac
mesajul este sintactic corect. Din nefericire, generaia actual de programe de pot electronic nu
au programe de control care s constate dac transmitorul tie despre ce vorbete. Cnd mesajul
este terminat, el este pregtit pentru transmiterea la agentul de transfer de mesaje.
Comanda/transmite mai departe un mesaj din cutia potal, cernd o adres ia care s-1 trimit.
Comanda a extrage adresa surs din mesajul a care se rspunde i apeleaz editorul oentra a
permite utilizatorului s compun replica.
Urmtorul grup de comenzi este util pentru manipularea cutiilor potale. De obicei utilizatorii
au, pe lng cutia pentru scrisorile sosite, pe care am vzu-o deja, cte o cutie potai pentru fiecare
utilizator cu care corespondeaz. Comanda d terge un mesaj din cutia potai, n timp ce comanda
u anuleaz tergerea (mesajul nu este ters efectiv nainte de ieirea din programul de pot).
Comanda m mut un mesaj ntr-o alt cutie potal. Aceasta este metoda uzual de a salva scrisorile
importante dup ce au fost citite. Comanda k pstreaz n cutia potai mesajul indicat, chiar i dup
ce a fost citit. Dac un mesaj este citit, dar nu este pstrat explicit, ia ieirea din programul de e-rnaii
se execut nite aciuni implicite, cum ar fi mutarea- sa ntr-o cutie potal special, implicit. L n
sfrit, comanda r este utilizat pentru a prsi cutia potai curent i a trece ia citirea alteia.
Comenzile n, b i g servesc ia deplasarea n cadrul cutiei potale curente. Este un lucru
obinuit pentru un utilizator s citeasc mesajul 1, s rspund la el, s-i mute .sau s-1 tearg
i apoi s tasteze n pentru a-i obine pe urmtorul. Valoarea acestei comenzi este c
utilizatorul nu trebuie s-i pstreze urma pe unde trece. Este posibil s se ntoarc folosind 6,
sau s se deplaseze pe un mesaj dat, cu comanda g.
In sfrit, comanda e produce ieirea din programul de e-maii i face toate modifieriie cerate, ca
de exemplu tergerea unor mesaje i marcarea altora, ca fiind pstrate. Aceast comand suprascrie
cutia potal. nlocuindu-i coninutul.
n sistemele de pot electronic proiectate pentru nceptori, fiecare dintre aceste comenzi este
n mod normai asociat cu o iconi de pe ecran, aa c utilizatorul nu are nevoie s in minte c a
nseamn rspuns. In schimb, el trebuie s-i aminteasc faptul c mica poz a unei persoane cu gura
deschis nseamn rspuns i nu afiare de mesaj.
Ar trebui s fie clar din acest exemplu c pota electronic a parcurs un dram lung din momentul
cnd era doar transfer de fiiere. Ageni-utilizator sofisticai fac posibil manevrarea unui volum
mare de pot. Pentru persoane cum este autorul, care (fr tragere de inim) primete i trimite mii
de mesaje pe an, asemenea instrumente sunt nepreuite.
NIVELUL APLICAIE
604
CAP. 7
Coninut
Adresatele) de e-mail afle) receptorului(ilor) primar(i)
Adresa(ele) de e-mail afle) receptorului(ilor) secundar(i)
Adresa(ele) de e-mail pentru blind carbon copy"
Persoana sau persoanele care au creat mesajul
Adresa de e-mail a transmitorului curent
Linie adugat de fiecare agent de transfer de-a lungul traseului
Poate fi folosit pentru a identifica o cale de ntoarcere la transmitor
Fig. 7-42. Cmpurile antet ale lui RFC 822, legate de transportul de mesaje.
SEC. 7.4
POTA ELECTRONICA
605
O linie coninnd Received: este adugat de fiecare agent de transfer de mesaje de pe traseu.
Linia conine identitatea agentului, data i momentul de timp la care a fost primit mesajul i alte
informaii care pot fi utilizate pentru gsirea defeciunilor n sistemul de dirijare.
Cmpul Retwn-Path: este adugat de agentul final de transfer de mesaje i are n intenie s
indice cum se ajunge napoi la transmittor. n teorie, aceast informaie poate fi adunat din toate
antetele Received: (cu excepia numelui cutiei potale a transmitorului), dar rareori este
completat aa i de obicei conine chiar adresa transmitorului.
n plus fa de cmpurile din Fig. 7-42, mesajele RFC 822 pot conine de asemenea o
varietate de cmpuri antet, t'oiosite de agenii-utilizator sau de receptorii umani. Cele mai des
ntlnite dintre ele sunt prezentate n Fig. 7-43. Majoritatea lor se explic de la sine, deci nu
vom intra n detaliu a toate.
Antet
Date:
Reply-To:
Message-d:
in-Repy-To:
References:
' Keywords:
Subject:
Coninut
Data i momentul de timp ia care a fost trimis mesajul
Adresa de e-maiS la care ar trebui trimise rspunsurile
Numr unic, utilizat ulterior ca referin pentru acest mesaj (identificator)
Identificatorul mesajului al crui rspuns este mesajul curent
Ali identificatori de mesaje relevani
Cuvinte cheie alese de utilizator
Scurt cuprins al mesajului, afiabil pe o singur linie
606
NIVELUL APLICAIE
CAP. 7
Coninut
Identific versiunea de MIME
ir adresat utilizatorului care spune ce este n mesa]
identificator unic
Cum este mpachetat corpul pentru transmisie
Natura mesajului
\
POSTA ELECTRONICA
SEC. 7.4
607
merge prost. Mesajele utiliznd codificarea de 8 bii trebuie nc s respecte lungimea maxim a
liniei, care este standard.
Este chiar mai ru n cazul mesajelor care utilizeaz codificare binar. Aceste mesaje sunt fiiere
binare arbitrare, care nu numai c utilizeaz toi cei 8 bii, dar nu respect nici limita de linie de 1000
de caractere. Programele executabile intr n aceast categorie. Nu se acord nici o garanie c
mesaje binare vor ajunge corect, dar muli le trimit oricum.
Modalitatea corect de a codifica mesaje binare este de a utiliza codificarea n baz 64,
numit uneori armur ASCII. n aceast schem, grupuri de cte 24 de bii sunt mprite n
patru uniti de cte 6 bii, fiecare dintre aceste uniti fiind transmis ca un caracter ASCII
legal. Codificarea este A" pentru 0, B" pentru 1, .a.m.d., urmate de cele 26 de litere mici,
cele 10 cifre, i n cele din urm + i / pentru 62 i respectiv 63. Secvenele = = i = sunt
utilizate pentru a arta c ultimul grup a coninut doar 8 sau respectiv 16 bii. Se ignor
secvenele carriage return i line feed, astfel c ele pot fi inserate dup dorin, pentru a pstra
liniile suficient de scurte. Utiliznd aceast schem pot fi trimise sigur texte binare arbitrare.
"Pentru mesajele care sunt aproape n ntregime ASCII i conin puine caractere ne-ASCII,
codificarea n baz 64 este oarecum ineficient. n locul acesteia se utilizeaz o codificare
numit quoted-prtntable-encoding (codificare afiabil marcat). Aceasta este o codificare de
tip ASCII pe 7 bii, avnd toate caracterele cu cod mai mare de 127 codificate sub forma unui
semn egal urmat de valoarea caracterului reprezentat prin dou cifre hexazecimale.
Rezumnd, datele binare ar trebui trimise codificate n baz 64 sau sub form quoied-printable.
Cnd exist motive ntemeiate pentru a nu utiliza una dintre aceste scheme, este posibil s se
specifice n antetul Content-Transfer-Encoding: o codificare definit de ctre utilizator.
Ultimul antet nfiat n Fig. 7-44 este cu adevrat ce! mai interesant. EI specific natura
corpului mesajului. n RFC 1521 sunt definite apte tipuri, fiecare avnd unul sau mai multe
subtipuri. Tipul i subtipul sunt separate printr-o bar oblic (slash), ca n:
Conten-Type: video / mpeg
Tip
Text
Image
Audio
Video
Application
Message
Muitipart
Subtip
Piain
Richtext
Gif
Jpeg
Basic
Mpeg
Octe-stream
Postscript
Rfc822
Prtia!
External-body
Mixed
Alternative
Parallel
Digest
Descriere
Text neformatat
Text incluznd comenzi simple de formatare
imagini fixe n format GiF
Imagini fixe n format JPEG
Sunet
Film n format MPEG
Secven neinterpretat de octei
Un document afiabil n PostScript
Un mesaj MIME RFC 822
Mesajul a fost fragmentat pentru transmisie
Mesajul n sine trebuie adus din reea
Pri independente n ordine specificat
Acelai mesaj n formate diferite
Prile trebuie vizualizate simultan
Fiecare parte este un mesaj RFC 822 compiet
Fig. 7-45. Tipurile i sub tipurile aparinnd MIME definite n RFC 1521.
608
NIVELUL APLICAIE
CAP. 7
Subtipul trebuie precizat explicit n antet; nu sunt furnizate valori implicite. Lista iniial de tipuri
i subtipuri specificate n RFC 1521 este prezentat n Fig. 7-45. De atunci au fost adugate multe
altele, introducndu-se intrri adiionale de fiecare dat cnd a devenit necesar.
S parcurgem acum lista tipurilor. Tipul text este utilizat pentru text simplu. Combinaia text/plain
este folosit pentru mesaje obinuite care pot fi afiate de ndat ce sunt primite, fr codificare sau
procesare ulterioar. Aceast opiune permite ca mesajele obinuite s fie transportate n MIME
adugnd doar cteva antete suplimentare.
Subtipul text/richtext permite includerea n text a unui limbaj simplu de marcare. Acest limbaj
furnizeaz o modalitate independent de sistem pentru a exprima scrierea cu caractere aldine sau
cursive, dimensiunile, alinierea, distanele dintre rnduri, folosirea de indici superiori sau inferiori i
paginarea simpl. Limbajul de marcare se bazeaz pe SGML, Standard Generalized Markup
Language (limbajul standard generalizat de marcare), folosit de asemenea ca baz pentru HTML,
utilizat n World Wide Web. De exemplu mesajul
The <bold> time </bold> has come the <italic> walrus </italic> said ...
ar fi afiat sub forma:
The time has come the wahns said...
Depinde de sistemul receptor s aleag inteipretarea potrivit. Dac sunt disponibile caractere
aldine i cursive, acestea vor putea fi folosite; altfel, pentru a scoate n eviden se pot utiliza culori,
scriere cu clipire sau video-invers etc. Sisteme diferite pot face alegeri diferite.
Urmtorul tip MIME este image, utilizat pentru trimiterea de imagini fixe. n zilele noastre
sunt utilizate multe formate, att cu, ct i fr compresie, pentru a pstra i transmite imagini.
Dou dintre acestea, GIF i JPEG, sunt subtipuri oficiale, dar cu siguran c ulterior vor fi
adugate i altele.
Tipurile video i audio sunt pentru imagini n micare i respectiv pentru imagini crora li se
asociaz i sunet. Trebuie notat c video include doar informaia video, nu i coloana sonor. Dac
trebuie transmis un film cu sunet, s-ar putea ca poriunile audio i video s trebuiasc s fie
transmise separat, depinznd de sistemul de codificare utilizat. Singurul format video definit pn n
prezent este cel inventat de cei ce se intituleaz modest Moving Picture Experts Group (MPEG Grupul de experi n imagini n micare).
Tipul application este utilizat pentru formatele care necesit prelucrare extern, neacoperit de
nici unul dintre celelalte tipuri. Un flux de octei este chiar o secven de octei neinterpretai. La
primirea unui asemenea flux, un agent-utilizator ar trebui probabil s-1 afieze, sugerndu-i
utilizatorului s-1 copieze ntr-un fiier i cerndu-i un nume pentru acesta. Procesarea ulterioar
este apoi la latitudinea utilizatorului.
Cellalt subtip definit este postscript, care se refer la limbajul PostScript, produs de Adobe
Systems i larg utilizat pentru descrierea paginilor imprimate. Multe imprimante au nglobate
interpretoare PostScript. Dei un agent-utilizator poate pur i simplu s apeleze un interpretor
PostScript extern pentru a interpreta fiierele PostScript primite, acest lucru nu este lipsit de
pericole. PostScript este un ntreg limbaj de programare. Dndu-i-se destul timp, o persoan
SEC. 7.4
POTA ELECTRONICA
609
610
NIVELUL APLICAIE
CAP. 7
n sfrit, subtipul diges este utilizat cnd multe mesaje sunt mpachetate mpreun, ntr-unui
compus. De exemplu, nite grupuri de dialog de pe Internet pot aduna mesaje de la abonaii lor i
apoi s le trimit n afar ca un singur mesaj de tip nwlpart/digest.
7.4.4
Transfer de mesaje
--qwereyuiopasdghjkizxcvbRrr!
Conten-Type: text/richtext
Happy birthday to you
Happy birthday to you
Happy birthday dear <boid> Carolyn </boid>
Happy birthday o you
Content-1 ype: message/extemal-body;
access-type=anon-fp'"";
site=bicyc!e. abc.com";
direcory= f ,pub";
name= birthday.snd;
conten-type: audio/basic
content-transfer-encoding: base64
--qweryuiopasdfghjklzxcvbnm
SEC. 7.4
POTA ELECTRONIC
611
SMTP este un protocol simplu de tip ASCII. Dup stabilirea conexiunii TCP la portul 25, maina
transmitoare, opernd n calitate de client, ateapt ca maina receptoare, opernd ca server, s
vorbeasc prima. Serverul ncepe prin a trimite o linie de text, declarndu-i identitatea i spunnd
dac este pregtit sau nu s primeasc mesaje. Dac nu este, clienii elibereaz conexiunea i
ncearc din nou mai trziu.
Dac serverul este dispus s primeasc e-mail, clientul anun de la cine vine scrisoarea i cui i
este adresat. Dac un asemenea receptor exist la destinaie, serverul i acord clientului
permisiunea s trimit mesajul. Apoi clientul trimite mesajul i serverul l confirm. n general nu
este necesar ataarea unei sume de control deoarece TCP furnizeaz un flux sigur de octei. Dac
mai exist i alte mesaje, acestea sunt trimise tot acum. Cnd schimbul de mesaje, n ambele direcii,
s-a ncheiat, conexiunea este eliberat. n Fig.7-47 este prezentat o mostr de dialog referitoare la
trimiterea mesajului din Fig.7-46, incluznd codurile numerice utilizate de SMTP. Liniile trimise de
client sunt marcate cu C:, iar cele trimise de server cu S.\
Cteva comentarii n legtur cu Fig.7.47 ar putea fi utile. Prima comand a clientului este ntradevr HELO. Din cele dou posibile abrevieri de patru caractere ale cuvntului HELLO, aceasta
are numeroase avantaje fa de concurenta sa. Motivul pentru care toate comenzile trebuia s aib
patru caractere s-a pierdut n negura vremii.
n Fig.7.47, mesajul este trimis la un singur receptor i de aceea este utilizat o singur comand
RCPT. Mai multe asemenea comenzi sunt permise pentru a trimite un singur mesaj mai multor
receptori. Fiecare dintre ele este confirmat sau rejectat individual Chiar dac unii dintre receptori
sunt rejectai (deoarece ei nu exist ia destinaie), mesajul poate fi trimis celor rmai.
n sfrit, dei sintaxa comenzilor de patru caractere de la client este rigid specificat, sintaxa
replicilor este mai puin rigid. Doar codul numeric conteaz cu adevrat. Fiecare implementare
poate pune dup cod ce iruri de caractere vrea.
Chiar dac protocolul SMTP este bine definit (de RFC 821), mai pot aprea cteva
probleme. O problem este legat de lungimea mesajelor. Unele implementri mai vechi nu
pot s lucreze cu mesaje mai mari de 64KB. O alt problem se refer la expirri de timp
(timeout). Dac acestea difer pentru server i client, unul din ei poate renuna n timp ce
cellalt este nc ocupat, ntrerupnd conexiunea n mod neateptat. n sfrit, n rare situaii,
pot fi lansate schimburi infinite de mesaje. De exemplu, dac maina 1 pstreaz lista de pot
A i maina 2 lista de pot B i fiecare list conine o intrare pentru cealalt, atunci orice
mesaj trimis oricreia dintre cele dou liste va genera o cantitate nesfrit de trafic de e-mail.
Pentru a atinge cteva dintre aceste probleme, n RFC 1425 s-a definit protocolul SMTP extins
(ESMTP). Clienii care doresc s-1 utilizeze trebuie s trimit iniial un mesaj EHLO n loc de
HELO. Dac acesta este rejectat, atunci serverul este unul standard de tip SMTP i clientul va trebui
s procedeze n modul obinuit. Dac EHLO este acceptat, nseamn ca sunt permise noile comenzi
i noii parametri. Standardizarea acestor comenzi i parametri este un proces n desfurare.
Pori de e-mail
Pota electronic utiliznd SMTP lucreaz cel mai bine cnd att transmitorul ct i receptorul
se gsesc n Internet i pot accepta conexiuni TCP ntre transmitor i receptor. Cu toate acestea,
multe maini care nu sunt n Internet doresc s trimit i s primeasc mesaje de la situri Internet.
NIVELUL APLICAIE
CAP. 7
De exemplu, multe companii, din motive de securitate, nu doresc s fie conectate la Internet. Unele
se elimin chiar de pe Internet, ridicnd ziduri de netrecut fa de acesta.
S: 220 xyz.com SMTP service ready
C: HELO abc.com
S: 250 xyz.com says hello to abc.com:
C: MAIL FROM: <elinor@abc.com>
S: 250 sender ok
C: RCPTTO: <carolyn@xyz.com>
S: 250 recipient ok
C: DATA
S: Trimite maii; terminat cu ." pe anie nou
C: From: ellnor@abc.com
C: To: caroiyn@xyz.com
C: MIME-Version: 1.0
C: P.essage-fd: <0704760941.AA00747@abc.com>
C: Content-Type: rnulspar/aiternative; boLtidary=qwertyuiopasdfghjkJ2xcvbnnn
C:Subject Pmntul nconioar soarele de un nmrnr ntreg de ori
r^.
C:cess este preambiHuL AgenuJ ironizator i ignor. C zi bun,
\*.
C:-qweryuiopasdfghikzxcvbRm
C:Conent-Type: text/richtex
C:
C:Happy birhday to you
C:Happy bsrthday to you
C:Happy birthday to yom
C:-qvs/erty!Jopasdfghjklzxcvbnm
CiConemt-Type: message/exteria-body;
C:
access-ype=,.anon-ftp";
C:
site=bicyeie. abc.com";
C:
directory=pub";
C:
name=birthday.snd;
C:content-type: audio/basic
Cicontent-transfer-encoding: base-84
C:-qwertyuIopasdfghjk!zxcvbnm
C:.
S: 250 message accepted
C:QUIT
S: 221 xyz.com cbsing connection
Fig.7,47. Transferul unui mesaj de la eiinor@abc.corn ia carolyn@zxy.corn.
O alt problem apare cnd transmitorui nelege doar RFC 822 i receptorul doar X.
sau un protocol de e-rnail corespunznd unui standard de proprietar. Atta timp ct oat
POSTA ELECTRONICA
SEC. 7.4
613
Gazd
Bufer de
mesaje
Gazd 2
Reea
614
NIVELUL APUCATE
CAP.iR
necoriectate la Internet i incapabile s trimit sau s primeasc pot din afara companiei.
schimb firma are unul sau mai multe servere de e-mail, care potprimi i trimite e-mail. Pentru
a primi sau a trimite un mesaj, un PC trebuie s comunice cu un server de e-mail folosind un
fel de protocol de livrare.
Un protocol simplu, utilizat pentru aducerea mesajelor dintr-o cutie potal aflat la
distan, este POP3 (Post Office Protocol - protocol de pot) i este definit n RFC 1225.
Posed comenzi pentru conectarea i deconectarea utilizatorilor, aducerea i tergerea
mesajelor. Scopul lui POP3 este s aduc e-mail de la distan i s-1 depoziteze pe maina
local a utilizatorului, spre a fi citit mai trziu.
IMAP (Interactive Mail Access Protocol - protocol interactiv de acces la pot) este un protocol
de livrare mai sofisticat, definit n RFC 1064. A fost proiectat pentru a ajuta utilizatorii care folosesc
mai multe calculatoare, ca de exemplu o staie de lucru la birou, un PC acas i un calculator
portabil pe drum. Ideea de baz aflat n spatele IMAP este ca serverul de e-mail s pstreze un
depozit central de mesaje la care accesul s poat fi realizat de pe oricare main. Astfel, spre
deosebire de POP3, IMAP nu copiaz e-mailul pe maina personal a utilizatorului, deoarece acesta
poate avea mai multe.
IMAP are multe trsturi, cum ar fi capacitatea de a adresa un mesaj nu prin numrul de sosire,
cum se face n Fig. 7-40, ci utiliznd atribute (de exemplu: d-mi primul mesaj de la Sam). n aceast
abordare, o cutie potal este mai mult ca un sistem de baze de date relaionale dect ca o secven
liniar de mesaje.
Un al treilea protocol de livrare este DMSP (Distributed Mail System Protocol - protocol
distribuit pentru sistemul de pot), parte a sistemului PCMAIL, descris n RFC 1056. Acesta nu
presupune c tot e-mailul se afl la nivelul unui singur server, ca la POP i IMAP. n schimb, permite
utilizatorilor s descarce e-mailul de la server la o staie de lucru, PC sau portabil, i apoi s se
deconecteze. Utilizatorul poate citi mesajele i scrie rspunsurile ct timp este deconectat de la
server. Ulterior, cnd se reconecteaz, pota este retransferat i sistemul este resincronizat.
Independent de faptul c e-mailul este livrat direct la staia de lucru a utilizatorului
sau la un server aflat la distan, multe sisteme furnizeaz faciliti pentru procesarea
suplimentar a mesajelor primite. Un instrument deosebit de valoros pentru muli
utilizatori de e-mail este reprezentat de capacitatea de a construi filtre. Acestea sunt
reguli care se verific la sosirea mesajelor sau la pornirea agentului utilizator. Fiecare
regul specific o condiie i o aciune. De exemplu, o regul ar putea spune c orice
mesaj de la Andrew S. Tanenbaum trebuie afiat cu fonturi ngroate, de culoare rou
strlucitor (sau, alternativ, s fie aruncat imediat fr comentarii).
O alt caracteristic a livrrii, pus la dispoziie adesea, este posibilitatea de a retrimite
(temporar) pota la o adres diferit. Aceast adres poate fi i un calculator utilizat de un
serviciu comercial de comunicaii, care va contacta utilizatorul prin radio sau satelit, afird
Subject: linie pe pagerul su.
O alt trstur comun a livrrii finale este abilitatea de a instala un demon de vacan. Acesta
este un program care examineaz fiecare mesaj sosit i trimite o replic insipid cum ar fi:
Salut. Sunt n vacan. M ntorc pe 24 august. O zi bun.
SEC. 7.4
POTA ELECTRONIC
615
Asemenea rspunsuri pot s specifice, de asemenea, cum s fie tratate problemele urgente,
alte persoane care pot fi contactate pentru probleme specifice etc. Majoritatea demonilor de
vacan pstreaz urma celor crora le-au trimis replici i se abin de la a trimite unei aceleiai
persoane o a doua asemenea replic. Demonii buni verific i dac mesajul sosit a fost trimis
de la o list de mail i n acest caz, nu mai rspund deloc. (Cei care trimit mesaje n timpul
verii la liste mari de e-mail, probabil c nu doresc s primeasc sute de replici n care s le fie
detaliate planurile de vacan ale fiecruia.)
Autorul s-a lovit recent de o form extrem de prelucrare a livrrii cnd a trimis o scrisoare
unei persoane care pretinde c primete 600 de mesaje pe zi. Identitatea sa nu va fi
deconspirat aici, ca nu cumva jumtate dintre cititorii acestei cri s-i trimit i ei scrisori.
S-1 numim n continuare John.
John i-a instalat un robot de e-mail care verific fiecare mesaj sosit, ca s vad dac este de ia un
nou corespondent. Dac este aa, trimite napoi o replic standard n care explic faptul c nu mai
poate s citeasc personal toate mesajele. In schimb a produs un document FAQ (Frequently Asked
Questions) personal, unde rspunde la multe ntrebri care i se pun de obicei. n mod normal,
grupurile de tiri i nu persoanele au documente FAQ.
Documentul FAQ al lui John d adresa acestuia, numrul de fax i numerele de telefon i
spune cum poate fi contactat firma sa. Arat cum poate fi chemat ca vorbitor i explic cum
pot fi obinute lucrrile sale i alte documente. Furnizeaz de asemenea referine la
programele scrise de el, o conferin pe care o organizeaz, un standard al crui editor este i
aa mai departe. E posibil ca aceast abordare s fie necesar, dar poate c un FAQ personal
reprezint simbolul final al statutului.
7.4.5 Confidenialitatea potei electronice
Cnd un mesaj de e-mail este trimis ntre dou locaii situate la distan, acesta va trece n
drumul su pe la un numr mare de maini. Oricare dintre acestea poate s citeasc i s
nregistreze mesajul pentru utilizare ulterioar. Confidenialitatea este inexistent, n ciuda a
ceea ce muli oameni cred (Weisband and Reining, 1995). Cu toate acestea, multora le-ar
plcea s poat trimite mesaje care s fie citite doar de cei crora le sunt adresate i de nimeni
altcineva: nu de eful lor, nu de hackeri i nici chiar de guvern. Aceast dorin a stimulat mai
multe persoane i grupuri s aplice principiile criptografiei, studiate de noi anterior, la pota
electronic, pentru a produce un sistem de e-mail sigur. n seciunile urmtoare vom studia
dou sisteme de e-mail sigur, larg utilizate, PGP i PEM. Pentru informaii suplimentare a se
vedea (Kaufman et al, 1995; Schneier, 1995; Stallings, 1995b; i Stallings, 1995c).
PGP-Pretiy Good Privacy (confidenialitate destui de bun)
Primul nostru exemplu, PGP (Pretty Good Privacy) este n cea mai mare parte rodul gndirii
unei singure persoane, Phil Zimmerman (Zimmerman, 1995a, 1995b). Este un pachet complet de
securitate a e-mailului, care furnizeaz confidenialitate, autentificare, semnturi digitale i
compresie, toate ntr-o form uor de utilizat. Pe deasupra, pachetul complet, incluznd toate"
sursele, este distribuit gratuit prin Internet, sisteme de informare n reea i reele comerciale.
Datorit calitii sale, preului (zero) i simplei disponibiliti pe platformele MS-DOS/Windows,
NIVELUL APLICAIE
CAP. 7
UNIX i Macintosh, acesta este larg utilizat astzi. Pentru acele companii care necesit sprijin, este
disponibil i o variant comercial.
PGP a fost implicat i n diferite controverse (Levy, 1993). Deoarece este distribuit liber pe
Internet, guvernul Statelor Unite a pretins c posibilitatea strinilor de a-i obine constituie o violare
a legilor privind exportul de muniie. Versiunile ulterioare au fost produse n afara Statelor Unite
pentru a ocoli aceast restricie. O alt problem a inclus o pretins nclcare a patentului RSA, dar
aceasta a fost rezolvat odat cu apariia versiunilor ncepnd cu 2.6. Totui, nu toi agreeaz ideea
c oamenii pot s-i pstreze secretele fa de ei, astfel c dumanii PGP pndesc din umbr,
ateptnd s atace. In conformitate cu toate acestea, moto-u lui Zlmmerman este: Dac dreptul la
confidenialitate este n afara legii, atunci doar cei aflai n afara legii vor avea confidenialitate."
In mod intenionat PGP utilizeaz algoritmi de criptare existeni, n loc s inventeze unii noi. Se
bazeaz n principal pe RSA, IDEA i MD5, algoritmi care au fost supui unor numeroase analize
amnunite i nu au fost proiectai sau influenai de vreo agenie guvernamental pentru a-i slbi.
Pentru cei care au tendina s nu aib ncredere n guvern, aceast proprietate este un mare avantaj.
PGP permite compresie de text, asigurarea secretului mesajelor i semnturi digitale i
furnizeaz de asemenea faciliti de management extensiv al cheilor. Pentru a vedea cum
lucreaz PGP, s considerm exemplul din Fig. 7-49. Aici, Alice vrea s-i trimit lui Bob, ntr-o
manier sigur, un mesaj text simplu, semnat, P. Alice i Bob au cheile private (Dx)
RSA publice (Ex). S presupunem c
trziu de administrarea cheilor.
KM : Chsie unic de mesaj, pentru IDEA
Cheia \
ea
: Concatenare
Cheia RS privat, z iui !ice
;heie RSA, D,
A EV1D5 [A RSA i
n text clar,
de la Alice
Concatenarea Iul P i a
'islui de dispersie coptat
Concatenarea !ii
P1.Z cripto! eu IDEA
i KM cripta! cu Es
SEC. 7.4
POTA ELECTRONIC
617
lui Alice, puterea lui MD5 garanteaz c este nerealizabil computaional producerea unui alt mesaj
care s aib acelai cod MD5.
Codul de dispersie criptat i mesajul original sunt acum concatenate ntr-un singur mesaj PI i
comprimate apoi cu programul ZIP, care utilizeaz algoritmul Ziv-Lempel (Ziv i Lempel, 1977).
Numim ieirea obinut la acest pas Pl.Z.
Apoi, PGP i cere lui Alice introducerea unui ir de caractere oarecare. Att coninutul acestuia
ct i viteza de tastare sunt utilizate pentru a genera o cheie de mesaj de tip IDEA, de 128 de bii, KM
(numit cheie de sesiune n literatura PGP, dar numele este cu adevrat nepotrivit atta timp ct nu
exist nici o sesiune). KM este acum utilizat pentru a cripta Pl.Z cu IDEA, prin metoda de tip reacie
cifrat. n plus, KM este criptat cu cheia public a lui Bob, EB- Aceste dou componente sunt apoi
concatenate i convertite n baz 64, aa cum s-a discutat n seciunea despre MIME. Mesajul
rezultat conine numai litere, cifre i simbolurile +, / i =, ceea ce nseamn c poate fi pus ntr-un
corp de RFC 822 i c ne putem atepta s ajung nemodificat la destinaie.
Cnd Bob primete mesajul, l reconvertete din baz 64 i decripteaz cheia IDEA utiliznd
cheia sa RSA privat. Utiliznd aceast cheie, decripteaz mesajul pentru a obine Pl.Z. Dup
decompresia acestuia, Bob separ textul simplu de codul cifrat i decripteaz codul de
dispersie utiliznd cheia public a lui Alice. Dac codul textului clar cade de acord cu calculul
fcut de ei utiliznd MD5, el tie c P este mesajul corect i c vine de la Alice.
Merit observat c RSA este utilizat doar n dou locuri aici: pentru a cifra codul de
dispersie de 128 de bii generat de MD5 i pentru a cifra cheia IDEA de 128 de bii. Dei RSA
este lent, are de criptat doar 256 de bii i nu un volum mare de date. Mai mult, toi cei 256 de
bii de text simplu sunt generai extrem de aleatoriu, astfel nct numai pentru a determina
dac o cheie ghicit este corect, Trudy ar trebui s depun o cantitate nsemnat de munc.
Criptarea de mare putere este realizat de IDEA, care este cu cteva ordine de mrime mai
rapid dect RSA. Astfel, PGP asigur securitate, compresie i o semntur digital i face
acest lucru ntr-o manier chiar mult mai eficient dect schema ilustrat n Fig. 7-23.
PGP accept trei lungimi de chei RSA. Rmne la latitudinea utilizatorului s o aleag pe cea
mai potrivit. Lungimile disponibile sunt:
1.
2.
3.
Obinuit (384 bii): poate fi spart n ziua de azi de ctre cei cu bugete mari.
Comercial (512 bii): ar putea fi spart de organizaii cu nume din trei litere (care se ocup
cu securitatea statului).
Militar (1024): Nici un pmntean nu o poate sparge.
Au existat unele discuii referitoare ia o a patra lungime: extraterestr (2048 bii), care s
nu poat fi spart de nimeni i de nimic din univers, dar aceasta nu a fost nc adoptat. Din
moment ce RSA este folosit doar pentru dou calcule mici, probabil c toat lumea ar trebui
s foloseasc ntotdeauna chei de lungime militar, excepie fcnd poate doar PC-XT-urile
nvechite.
Formatul unui mesaj PGP este prezentat n Fig. 7-50. Mesajul are trei pri, coninnd cheia
IDEA, semntura i respectiv mesajul. Partea care conine cheia mai include, de asemenea, un
identificator de cheie, deoarece utilizatorilor li se permite s aib mai multe chei publice.
Partea cu semntura conine un antet, de care nu ne vom ocupa aici. Antetul este urmat de
o amprent de timp, identificatorul pentru cheia public a emitorului, care este folosit
NIVELUL APLICAIE
618
CAP. 7
pentru a decripta codul semnturii, unele informaii care identific algoritmul folosit (pentru a
permite folosirea algoritmilor MD6 i RSA2 atunci cnd acetia vor fi inventai) precum si
codul de dispersie criptat.
Partea de mesaj conine de asemenea un antet, numele implicit care va fi folosit pentru fiier n
cazul n care utilizatorul dorete s-1 salveze pe disc, o amprent de timp pus la crearea mesajului i,
n sfrit, mesajul n sine.
Cheia de
mesaj
in
din
ER
Incriptat
cu
KM
Semntura
Antet
T
i
m
P
Baz 64
Compresat, ncripta cu IDEA
Messaju!
Nume T
ID T
Codif.
Antet
i
i
de
lui
MD5
msg.
m
fiier
EA P
P
Mesaj
r
DA
SEC. 7.4
POTA ELECTRONIC
619
persoane, el genereaz un rspuns coninnd cheia public, o tampil de timp i data de expirare a
cheii. E! amestec apoi acest rspuns cu MD5 i semneaz rspunsul cu cneia sa privat, astfel nct
cel care a fcut cererea s poat verifica proveniena rspunsului. Rmne ia latitudinea
utilizatorului s asocieze un nivel de ncredere cheilor meninute de administratorul loca! de sistem.
de compania de telefoane, de ACM, de Asociaia Bar, de guvern sau de oricine altcineva:
s intre in afacerea meninerii de chei publice.
PSM-PdYaey Eatiaacedi Mai (pest oi cideffitalttafe sporit)
Spre deosebire de PGP, care a fost iniial opera unui singur om, cel de-al doilea exemplu ai
nostru, PEM {Privacy Esfeaaeed'Mal!), este un standard oficia! Internet i este descris n patru
RFC-uri: RFC 1421 pn la RFC 1424. Foarte pe scurt, PEM acoper acelai teritoriu ca i
PGP: secretul i autentificarea sistemelor de e-mail bazate pe RFC 822. Cu toate acestea, ei
prezint i unele diferene fa de abordarea i tehnologia PGP. IR continuare vom descrie
PEM i apoi i vom compara i pune n contrast cu PGP. Pentru mai multe informaii despre
Mesajele trimise folosind PEM sunt mai nti convertite ntr-o form canonic, astfel nct ele au
aceleai convenii referitoare la spaii albe (de exemplu tab-uri, spaiile de ia sfrit de text) i
folosirea caracterelor line feed i carriage return. Aceast transformare este fcut pentru a elimina
efectele agenilor de transfer de mesaje, care modific mesajele care nu sunt pe placul lor. Fr
aducere n form canonic, astfel de modificri ar putea afecta codurile de dispersie construite din
mesaje la destinaiile lor.
Apoi este calculat un cod ai mesajului, folosind MD2 sau MD5. Acest pas nu este opional ca n
PGP. Dup aceasta, concatenarea codului de dispersie i a mesajului este cripta folosind DES. I~
lumina cunoscutei slbiciuni a unei chei de 56 de bii, aceast alegere este n mod sigur suspect.
Mesajul cripta poate fi apoi codificat utiliznd o codificare n baza 64 i transmis destinatarului,
listele de pot sunt acceptate n mod explicit.
Ca i n PGP, fiecare mesaj este criptat cu o cheie unic, indus i ea n mesaj. Cheia poate fi
protejat fie cu RSA, fie cu DES triplu folosind EDE. In practic toat lumea folosete RSA, aa c
ne vom concentra asupra acestuia. De fapt, suntem obligai: PEM nu spune cum se face
administrarea cheilor cu DES.
n PEM administrarea cheilor este mult mai structurat dect n PGP. Cheile sunt certificate oe
o aaforitate de cerfiicare sub forma unui certificat care conine numele utilizatorului, cheia public
i data de expirare a cheii. Fiecare certificat are un numr de serie unic, necesar pentru identificarea
lui. Certificatele includ o codificare prin dispersie de tip MD5, semnat cu cheia privat a autoritii
de certificare. Ele se conformeaz recomandrilor ITU X.509 pentru certificarea de chei publice i,
prin urmare, folosesc nume X.400 ca exemplu! cu Tom Srnith dat mai nainte.
PGP are o schem similar (fr a folosi X.509), dar are o problem: Trebuie utilizatorul s
se ncread n autoritatea de certificare? PEM rezolv aceast problem confirmnd
autoritile de certificare prin aa-numitele PCA-uri (Policy Cerificatioii Aathorities autoriti de certificare a politicii). Acestea, la rndul lor sunt certificate de IPRA (Inferaeti
pstratioE Autlaority - autoritatea de nregistrare a politicii din internet), arbitrul
)rem, care decide cine este bun i cine este ru.
NIVELUL APLICAUE
620
CAP. 7
Suport criptare?
Suport autentificare?
Suport nerepudiere?
Suport compresie?
Suport trecerea n form canonic?
Suport lista de pot?
Folosete codificarea base64?
Algoritm de criptare a datelor curente
Lungimea cheilor pentru criptarea datelor
Algoritm curent pentru gestiunea cheilor
Lungimea cheilor pentru gestiunea cheilor
Spaiul numelui utilizatorului
Conform cu X.509?
Trebuie s avei ncredere n cineva?
Certificarea cheilor
Revocarea cheilor
Pot cei care ascult s citeasc mesajele?
Pot cei care ascult s citeasc semnturile?
Standard Internet?
Realizat de
PGP
Da
Da
Da
Da
Nu
Nu
Da
IDEA
128
RSA
384/512/1024
Definit de utilizator
Nu
Nu
Adhoc
hazard
Nu
Nu
Nu
Mici echipe
PEM
Da
Da
Da
Nu
Da
Da
Da
DES
56
RSA sau DES
Variabil
X.400
Da
Da (IPRA)
Ierarhia IPRA/PCA/CA
Mai bun
Nu
Da
Da
Comitete de standard
SEC. 7.5
SURI USENET
proces este analog celui n care un vnztor verific lista crilor de credit furate, nainte de a fi
acceptat. Criticii PEM-ului susin c verificarea aceasta fcut tot timpul nseamn prea mult
munc i c nimeni nu se va obosi s o fac. Suporterii susin c nite calculatoare nu obosesc
niciodat; dac sunt programate s verifice ntotdeauna, ele o vor face.
Unele dintre similitudinile i diferenele dintre PGP i PEM sunt prezentate n Fig. 7-51.
Majoritatea acestor subiecte au fost discutate, dar asupra ctorva merit s facem unele comentarii.
Autentificarea pare mai important n PEM dect n PGP, deoarece este obligatorie ia primul i
opional Ia al doilea. PEM poart de asemenea informaia de autentificare n afara plicului cripat,
ceea ce nseamn c reeaua poate verifica originea fiecrui mesaj. Ca o consecin, indiscreii pot
conoriza cine trimite cui, chiar dac nu pot citi mesajele.
Lsnd toate aceste diferene tehnice ia o parte, exist de asemenea o diferen cultural
surprinztoare. PGP, care nu este un standard Internet oficial, are cultura Internetului. PEM, care
este oficial standard Internet, nu o are. PGP se bazeaz pe ceea ce Dave Clark a numit consens
generai i cod care ruleaz". Cineva (Zimmermann) s-a gndit la o soluie a unei probleme bine
cunoscute, a implementat-o bine i a distribuit-o tuturor sub form de cod surs. PEM a nceput ca o
ptrime de standard oficial, folosind ASN. pentru a defini structuri, X.400 pentru a defini nume i
X.5G9 pentru definirea certificatelor. El folosete o structur organizaionai rigid, aezat pe trei
niveluri, pentru tipuri multiple de autoriti de certificare, completat cu nite reglementri oficiale
de oolltlc a certificrii si necesitatea ca toi s se ncread n IPRA. Implementrile au aprut mai
L
ii.
jl
trziu i erau cu mult n urma PGP din punct de vedere al calitii, cantitii i disponibilitii pe
diferite platforme. Pe scurt, PGP arat ca un pachet tipic Internet, pe cnd PEM prezint
majoritatea caracteristicilor unui standard OSI, pe care oamenii din Internet i ursc, iar PTT-urile l
iubesc. V putei nchipui.
planetar de grupuri de tiri numit ns aews (reea de tiri). Deseori, ne referim ia reeaua de tiri
drept USENET, care duce cu gndul la o reea fizic UNIX-ia-UNIX, care pe vremuri gestiona
traficul folosind un program numit Eeqp. n zilele noastre, o mare parte din trafic este transmis prin
Internet, dar USENET i Internet nu sunt aceiai lucru. Unele situri Internet nu primesc tiri, iar
altele primesc tiri fr a fi n Internet.
In seciunile urmtoare, vom descrie USENET. nti S vom trata din punctul de vedere ai
utilizatorului. Apoi, vom descrie cum este implementat.
75 USENET din punctul de vedere si atilIzatoraSel
Un grup de tiri este un forum universal de discuii pe teme specifice. Oamenii interesai de acest
subiect pot subscrie" ia un grup de tiri. Cei care au subscris ia un grup pot folosi un tip special de
agent utilizator, un program de citire de tiri (news reader - cititor de tiri), pentru a citi toate
articolele (mesajele) trimise ntr-un grup de tiri. De asemenea, oamenii pot s trimit articole unui
grup de tiri. Fiecare articol trimis unui grup de tiri este transmis automat tuturor celor care aparin
grupului respectiv, oriunde ar fi ei n lume. Transmiterea poate dura de la cteva secunde ia cteva
ore, depinznd de ct de departe se afl de calea obinuit transmiorui i receptorul. De fapt, un
CAP. 7
5
i grupurilor ce tiri este aa OC mare ^probabil peste iuVJuuj5 meat EU rost aranjate ntr-o
Ierarhie pentru a putea gestionate. Figura 7-52 ara nivelele din vrful ierarhilor oficiale". Exist
i alte Ierarhii, dar acestea sunt sau centru utilizri regionale, sau n alte limbi, diferite de englez.
010,01 c
^^6
r ii o i r
-"w undite
ti.dL
c:'.
vW'v
iii.iiJL
-*; ! r ' I
Sci
Humanities
News
Rec
Mise
Soc
"al!:
i . ; .
.. ' i
. ' I i 1
^-
'i
^.
.'.
calculatorul, riecare om Qiscuii.e renrnee sunt legate ce riaroware-ui sau soit\are-ui caicuaomiui.
lCi^s 'Jl^'
^ iil
0orsTfr
& es^e
^ i <=>'*
SEC. 7.5
IR USENE
programare c. dar .c poate ii nlocui: cu orice ai iimoaj de programare pentru a genera numele
IuI de tiri corespunztor.
i
hume
\ Comp.ai
1 Comp.daabases
\ Comp.iang.c
\ Comp.os.minix
i Comp.os.ms-windows.yideo
\ Sci.bio.entomoiogyJepidoptera
' Sci.geo.earthquakes
; Sci.med.arthopedics
\ HumanitiesJitauthors.shakespeare
News.groups
[ News.iists
i Recarts.poems
! Recfood.chocoiate
Rec.hunoriunny
Rec.rrusic.foSk
Misc.iobs.offered
Misc.he3ith.diabets3
Soc.cuture.estonia
! Soc.singles
, Soc.coupie
; Ta'k.abortion
Taik.rurnors
Altaiieri.visiors
:
A!.bermuda.trianals
Ai.sex.voyeurisrr
it.ty.sifHPSons
i
Subiecte acoperite
j inteligen artificial
\ Proiectare i impiementare a sistemelor de baze de date
Limbajul de programare C
Sistemul de operare didactic MEMIX al iui Tanersbaum
| Hardware i software video pentru Windows
i Cercetri asupra fluturilor i muteior
l Geologie, seismologie i cutremure
1 Chirurgia ortopedic
| Piesee_j poeziile iui Shakespeare
l Grupuri de discuii poteniai noi
l Liste relative ia USENET
i Poezie liber
| Yurnyitm
Ai auzit gluma despre fermierui care ...
l Discisii despre muzica popular
! Anunuri despre posturi disponibile
Sfaturi pentru diabetic;
\ Via i cultur n Estonia
\ interesele celibatarilor
i bsotveni ai Soasingie
J Muit zgomot pentru nimic
|_De aici virs zvonurile
l Loc pentru raportarea raiduriSor farfuriilor zburtoare
l Dac citeti vei disprea !n mister
Dac eti curios vezi i singur
! Bart si ceiiati
1
i
;
!
;
:
;
\
[
;
;
i.'^i'^
:Lci^
afieaz un rezumat cu o linie Dentru fiecare articol din primul grup de tiri care nu a fost nc citit i
ateapt ca utilizatorul s selecteze un articol sau mai multe pentru citire. Articolele selectate sunt
iiiwl^a. CiatOiii sje u i i fjwillin UuiiAalOiii^i bc SdOSCiiC i S< iCliuxiS ia au
entru anumite grupuri de tiri. Schimbarea unei subscrieri nseamn editarea fiierului local
P
n care apar grupurile de tiri Ia care utilizatorul a subscris. Pentru
a face o analogie,
un giup oe s^iii v
i,Wv iZjiLiiiW
iii
iivv
i ia iGi
rff-r; ^
i i l i Li
ti Ci Ci iiJ.iAii;LV leX
; t
_7P
O
selecteaz o imagine pentru a-I trimite pe calea aleas. Peste o zi, mesajul va ajunge ia aproape toi
cei care fceau parte din grupul de tiri spre care fusese transmis. Este posibil ca s
NIVELUL APLICAIE
624
CAP. 7
ncruciat (crosspost) un mesaj, adic s-1 trimitem mai multor grupuri de tiri cu o singur
comand. De asemenea este posibil s se restricioneze distribuia geografic a potei. Anunarea
colocviului din ziua de joi la Stanford s-ar putea s nu-i intereseze prea mult, s zicem, pe cei din
Hong Kong, aa c pota poate fi restricionat la California.
Sociologia USENET-ului este unic i uor de neles. Niciodat nainte nu a fost posibil ca
mii de oameni care nu se cunosc personal, s poarte discuii pe o vast varietate de teme. De
exemplu, acum i se poate oferi posibilitatea cuiva care are o problem, s o transmit pe reea.
Ziua urmtoare, transmitorul s-ar putea s aib 18 soluii pentru acea problem i, cu puin
noroc, doar 17 dintre ele s fie greite.
Din nefericire, unii folosesc noua putere descoperit pentru a comunica cu un grup larg de
oameni n mod iresponsabil. Cnd cineva trimite prin pot un mesaj spunnd: Oamenii ca
tine ar trebui mpucai", spiritele se nfierbnt i urmeaz un torent de mesaje abuzive,
numit rzboi de foc (flamewar).
Aceast situaie poate fi atacat n 2 moduri, unul individual i altul colectiv. In mod
individual, utilizatorii pot instala un fiier de ucidere (killfile), care specific ce articole cu un
subiect anume sau de la o anumit persoan vor fi eliminate dup sosire, nainte de a fi afiate.
Majoritatea cititorilor de tiri permit ca un fir individual de discuie s fie omort. Aceast
trstur este util cnd o discuie tinde s intre ntr-o bucl infinit.
Dac destui dintre cei care au subscris la un grup devin plictisii de poluarea datorat tirilor din
grup, ei pot propune ca grupul de tiri s fie moderat. Un grup de tiri moderat (moderated
newsgroup) este un grup n care o singur persoan, moderatorul, poate trimite prin pot articolele
grupului de tiri. Toate mesajele ctre un grup de tiri moderat sunt trimise automat moderatorului,
care le transmite pe cele bune i le elimin pe cele rele. Unele subiecte au att un grup de tiri
moderat ct i unul nemoderat.
Deoarece n fiecare zi, mii de oameni subscriu la USENET pentru prima dat, aceleai
ntrebri sunt puse iar i iar, de toi nceptorii. Pentru a reduce acest trafic, multe grupuri de
tiri i-au construit un document FAQ (Frequently Asked Questions - ntrebri puse frecvent)
care ncearc s rspund tuturor ntrebrilor pe care le pun nceptorii. Unele dintre ele sunt
foarte detaliate i se ntind pe mai mult de 100 de pagini. Cel ce le gestioneaz e trimite prin
pot o dat sau de dou ori pe lun.
Smiley
:-)
:-(
:-|
;-)
:-(0)
:-(*)
Semnificaie
Sunt fericit
Sunt trist, suprat
Sunt apatic
Fac cu ochiul
Tip
Vomit
Smiley
=h-)
*<:-)
<:-(
(-:
:-)X
Semnificaie
Abe Lincoln
Smiley
Unchiul Sam
Semnificaie
Nas mare
Gu
Santa Claus
Musta
:+)
Pr
Dunce
Australian
8-)
Om cu botine
C:-)
Poart ochelari
Cap mare
SEC. 7.5
TIRI USENET
625
de grade, n sensul acelor de ceasornic, le face mai clare. Pentru o minicarte care furnizeaz peste
650 de smileys, vedei (Sanderson i Dougherty, 1993).
Dei majoritatea oamenilor folosesc numele real la transmiterea potei, unii doresc s rmn
anonimi, n special cnd trimit pota unor grupuri de tiri controversate sau cnd trimit prin pot
grupurilor de tiri anunuri personale, pentru gsirea de parteneri. Aceast dorin a condus la
crearea retransmitorilor (remailers) anonimi, care sunt servere ce au acces la mesajele de pot
electronic i care schimb cmpurile From:, Sender., i Reply-To:, pentru a le face s includ
referine ctre retransmittor n loc de transmittor. Civa dintre retransmittori asociaz un numr
fiecrui utilizator i transmit mai departe pota adresat acestor numere, aa c oamenii pot
rspunde scrisorilor primite de la transmitorii anonimi precum SWF 25 caut SWM/DWM 20-30
...". Nu este sigur dac aceti retransmittori pot pstra secretul despre identitatea anumiilor
utilizatori cnd poliia local devine interesat (Bariow, 1995).
Deoarece din ce n ce mai muli oameni subscriu la USENET, exist o cerere constant pentru
noi i ot mai specializate grupuri de tiri. Ca urmare, a fost stabilit o procedur de creare a unor
noi grupuri de tiri. S presupunem c cineva prefer gndacii de buctrie i dorete s vorbeasc
cu un alt fan al acestora. El trimite un mesaj la news.givups, numind grupul propus, s zicem,
rec.anirnals.wildlife.cockroaches i descriind de ce este aa de important (gndacii de buctrie sunt
fascinani, sunt 3500 de specii; au culorile rou, galben, verde, maro i negru; au aprut pe pmnt cu
mult naintea primilor dinozauri; au fost probabil primele animale zburtoare .a.rn.d.). De
asemenea, el specific dac grupul trebuie sau nu s fie moderat.
Urmeaz apoi discuia. Momentul desfiinrii se stabilete prin vot, prin pot. Voturile sunt
trimise, identificnd cine a votat i cum (pentru prevenirea fraudelor). Dac da-urile depesc nuurile mai mult de 2:1 i dac sunt cu cel puin 100 mai multe da-uri dect nu-uri, moderatorul unui
news.givups trimite un mesaj, acceptnd noul grup de tiri. Acest mesaj este un semnai pentru
administratorii de sistem din lume c noul grup de tiri a primit binecuvntarea i acum este oficial.
Crearea noului grup este mai puin formal n ierarhia alt, acesta fiind motivul pentru care exist
alt. Unele din grupurile de tiri care sunt aproape de limita legal i moral tolerabil nu vor fi
acceptate ntr-un vot public. Adic, oamenii care-i populeaz, trec peste procedura normal i i
creeaz o ierarhie proprie. Cu toate acestea, o mare parte din ierarhia alt este convenional.
7.5=2 Cum este implementat USENET
Cteva dintre micile grupuri de tiri sunt implementate ca liste de pot. Pentru a trimite prin
pot un mesaj unei astfel de liste, cineva l trimite la adresa listei de pot, care realizeaz copii
trimise la fiecare adres din lista de pot.
Cu toate acestea, dac jumtate din studenii unei mari universiti se nscriu la altsex, serverele
se prbuesc sub numrul imens de mesaje sosite. n consecin, n general USENET nu este
implementat folosind liste de pot. n schimb, fiecare sit (campus universitar, companie, sau
furnizor de servicii Internet) memoreaz scrisorile venite ntr-un singur catalog, s-i zicem news, cu
subcataloage pentru comp, sci etc. Acestea, la rndul lor, conin subcataloage precum
news/cornp/os/minbc. Toate tirile primite sunt depozitate n catalogul corespunztor. Cititorii de tiri
i iau articolele de acolo, cnd au nevoie de ele. Acest aranjament face ca fiecare sit s nu necesite
dect o singur copie a fiecrui articol tire, necontnd numrul celor care au subscris la un anumit
grup de tiri. Dup cteva zile, articolelor le expir timpul i sunt eliminate de pe disc.
626
NIVELUL APLICAIE
CAP. 7
Pentru acces la USENET, un sit trebuie s aib un newsfeed (surs de tiri) de la un alt sit
din USENET. Se poate considera c toate siturile care primesc tiri sunt ca nite noduri ale
unui graf orientat. Liniile de transmitere care conecteaz perechile de noduri formeaz arcele
grafului. Graful ese USENET. Remarcai c a fi n internet nu este nici necesar, nici suficient
pentru a fi n USENET.
Periodic, fiecare sit care vrea tiri poate testa propria surs (sau propriile surse), ntrebnd dac
au venit tiri noi de ia conectarea precedent. Dac da, tirile sunt coiectate i depozitate n catalogul
adecvat din news. n acest fel, tirile se difuzeaz peste tot n reea. Este ia fel de posibil ca sursa, mai
degrab dect receptorul, s preia iniiativa i s stabileasc contactele cnd sunt tiri noi. Iniial, cele
mai multe situri i trimiteau prin pot sursele, dar acum se folosete rnai mult cealalt variant.
Acum fiecare sit are toate grupurile de tiri. Exist rnai multe motive pentru care se
ntmpl aa. nti, totalul de surse depete 500 MB pe zi i crete rapid. Pentru memorarea
tuturor acestora este necesar un spaiu mare pe disc. n a! doilea rnd, timpul de transmitere i
costul sunt importante. La 28,8 Kbps, dureaz 39 de ore i o linie telefonic dedicat pentru
transmiterea tirilor importante din ultimele 24 de ore. Chiar ia 56 Kbps, obinerea tuturor
tirilor necesit aproape 20 ore avnd o linie dedicat. De fap, volumul total a crescut aa de
mult c au fost create surse prin satelit.
In al treilea rnd, nu fiecare sit este interesat de fiecare subiect. De exemplu, este puin probabil
ca majoritatea oamenilor de ia companiile din Finlanda s vrea s citeasc rec.arts.manga (despre
crile cu glume japoneze). Ie sfrit, cteva grupuri de tiri nu sunt pe gustul administratorilor de
sistem, care ie interzic, n duda interesului considerabil local In decembrie 995, reeaua
CompuServe a oprit (temporar) toate grupurile de tiri care aveau n nume cuvntul sex", deoarece
un mrunt oficial german a crezut c n acest mod s-ar putea combate pornografia. A urmat o zarv
instantanee, imens i atotcuprinztoare.
Articolele de tiri au aceiai format ca mesajele de pot electronic RFC 822, dar cu adugarea
unor noi antete. Aceast proprietate ie face uor de transportat i compatibile cu marea majoritate a
software-uiui de pot existent. Anteteie de tiri sunt definite n RFC 1036. Un exemplu de articol
este redat n Fig. 7-55.
From: yogeS@nyo.edu
[Vi8SS3ge-id:<54731@nyii.edi:>
Subject: Bird Sighing
!
Path: cs.vu.n!sun4nnEU,netinews.spnri!!nk.net!r2.UL .netipcH4.nysj:.ecSu!nsws
Newsgroups: rec.birds
FoSiowup-To: rec.birds
Distrbiition: wor!d
Mntp-Posting-host: nuthaeh.bio.nyia.edu
References:
Qrganization: New York Unsveraly
Lines: 4
Summary: Guess what! saw?
s just saw an osrich on 52nd St and Fifth Ave. n SMew York. s his their migration season? Did snybody
else see it?
Jan Vogel
SEC. 7.5
TIRI USENET
627
Cteva cuvinte despre anteteie de tiri sunt, poate, necesare n continuare. Antetul Path: este o
list de noduri pe care mesajele le traverseaz pentru a ajunge de la surs la destinaie. La fiecare
nod, maina care-1 transmite mai departe i pune numele n list la nceput. Aceast list furnizeaz
calea napoi spre transmitor. Folosirea semnelor de exclamaie (pronunat: bang) se leag de
adresa USENET, care precede DNS-ul.
Antetul NewsGroup: arat cror grupuri de tiri le aparine mesajul. El poate conine chiar mai
mult de un singur nume de grup de tiri. Orice mesaj transmis unor grupuri de tiri multiple conine
toate numele acestora. Deoarece numele multiple sunt permise aici, antetul Followup-To: este
necesar pentru a anuna oamenii unde s trimit comentariile i reaciile, pentru a pune toate
discuiile ulterioare ntr-un singur grup de tiri.
Antetul Distribution: spune ct de departe s difuzeze pota. Poate conine unul sau mai multe
state sau coduri de ri, numele unui sit sau al unei reele, sau world".
Antetul Nntp-Posting-Host: este analog antetului Sender. din RFC 822. Acesta spune care main
a transmis de fapt mesajul, chiar dac el a fost compus pe o main diferit (protocolul NNTP este
protocolul de tiri, descris mai jos).
Antetul References: arat c acesta este rspunsul unui mesaj anterior i furnizeaz ID-ul acelui
articol. Acesta este cerat n toate mesajele care urmeaz i interzis cnd ncepe o nou discuie.
Antetul Organization: poate fi folosit pentru a spune la ce companie, universitate sau agenie se
afl afiliat transmitorul. Articolele care completeaz acest cmp au adesea la sfrit un anun c
dac mesajul este neserios, nu este vina organizaiei.
Antetul Lines: d lungimea corpului mesajului. Liniile din antete i cele albe care separ mesajul
de antete nu se numr.
Liniile Subject: leag subprocesele de discuii mpreun. Muli cititori de tiri au o comand care
permite utilizatorului s vad urmtorul articol pe acelai subiect, mai degrab dect urmtorul
mesaj care sosete. De asemenea, fiierele de ucidere i comenzile kill folosesc acest antet pentru a
ti ce s rejecteze.
In sfrit, antetul Summary: este folosit n mod normal s rezume mesajul care urmeaz. In
mesajele care urmeaz, antetul Subiect, conine Re:" urmat de subiectul original.
NNTP-ProtocoI de transfer al tirilor pria reea
S ne uitm acum la modul n care mesajele sunt difuzate n lume. Algoritmui iniial transmitea
mesajele pe fiecare linie folosit de USENET. Dup ce acesta a fost folosit o perioad, volumul
traficului a fcut aceast schem nepractic, aa nct a trebuit s se realizeze ceva mai bun.
Aceast schimbare a fost reprezentat de protocolul NNTP (Network News Transfer
Protocol - protocol de transfer ai tirilor), care a fost definit n RFC 977. NNTP seamn cu
SMTP; cu un client care transmite comenzi n ASC i un server care transmite rspunsuri ca
numere zecimale codificate n ASCII. Majoritatea mainilor USENET folosesc acum NNTP.
NNTP a fost proiectat n dou scopuri. Primul scop a fost s permit mesajelor de tiri s se
propage de la o main la alta peste o conexiune fiabil (de exemplu, TCP). Al doilea scop a fost s
permit utilizatorilor al cror calculator nu poate primi tiri, s le citeasc la distan. Ambele sunt
larg folosite, dar noi ne vom concentra asupra modului n care mesajele de tiri sunt transmise prin
reea folosind NNTP.
628
NIVELUL APLICAIE
CAP. 7
Aa cum am menionat anterior, sunt posibile dou abordri generale. n prima, extragere de
tiri, clientul cheam una dintre sursele sale i cere noi veti. n a doua variant, introducere de tiri,
sursa cheam clientul i-1 anun c are veti. Comenzile NNTP suport la fel de bine ambele
modaliti, ca si citirea la distant a tirilor.
Pentru achiziionarea unor noi mesaje, un client trebuie nti s stabileasc o conexiune TCP cu
portul 119 pe una din surse. n spatele acestui port se afl un demon NNTP, care fie este acolo tot
timpul ateptnd clienii, fie este creat n momentul n care este necesar. Dup ce conexiunea a fost
stabilit, clientul i serverul comunic folosind o secven de comenzi i rspunsuri. Aceste comenzi
i rspunsuri sunt folosite pentru a asigura clientul c va primi toate articolele pe care le solicit, dar
nu duplicate, indiferent ct de multe surse sunt folosite. Principalele comenzi folosite pentru
mutarea articolelor ntre demonii de tiri sunt prezentate n Fig. 7-56.
Comand
LIST
NEWSGROUPS data ora
GROUP grp
NEWNEWS grps data timp
ARTICLE id
POST
IHAVE id
QUIT
Semnificaie
D-mi o list a tuturor grupurilor de tiri i a tuturor articolelor pe care le ai
D-mi lista grupurilor de tiri create dup data/ora
D-mi o list a tuturor articolelor din grupul grp
D-mi o list a noilor articolelor din grupurile specificate
D-mi articolul specificat
Am pentru tine un articol care a fost expediat aici
Am articolul id. II vrei?
Termin sesiunea
SURI USENET
SEC. 7.5
S: <43222@bio.rlce.edu>
S:.
C: ARTiCLE <43222@bio.rice.edu>
S: 220<43222@bio.rice.edu> folows
S:
S:.
C:NEWNEWS 960901 030000
S: 231 2 new group follow
S: rec.pets
S: rec.nude
S:.
C:NEWNEWS rec.pets 0 0
S: 230 List of 1 article folows
S: <124@fido.net>
S:.
C: ARTICLE <]24@fido.ne>
S: 220 <124@fido.net> follows
S:
S:.
C: POST
S:340
C:
S:240
C: IHAVE <5321@foo.com>
S:435
C: QUIT
629
(un artico! de la Rice)
(sfritul listei)
(te rog d-mi articolul Rice)
S:205
(O zi bun)
NIVELUL APLICAIE
CAP. 7
folosete abordarea extragerii de tiri (clientul iniiaz conexiunea pentru a cere tirile). Remarcile
dintre paranteze sunt comentarii care nu fac parte din protocolul NNTP.
n aceast sesiune, wholesorne.com ntreab nti dac acolo este vreo tire pentru
soc.couples. Cnd i se spune c are dou articole, el le adaug pe amndou i le memoreaz n
news/soc/couples ca fiiere separate. Fiecare fiier este numit prin numrul de articol. Apoi,
wkolesome.com ntreab despre miscMds i i se spune dac acolo este un articol. El l adaug i
pe aceia i i pune n news/misc/Mds.
Avnd toate tirile despre grupurile pe care ie are, acum verific noile grupuri i i se spune c au
aprut dou noi grupuri care au fost create de ia ultima sesiune. Unul dintre ele arat promitor,
aa c articolele sale sunt adugate. Cellalt pare nfiortor, aa c nu este luat n considerare
(Wholesonie.com a fcut o mare investiie n software-ul AI pentru a face posibil s hotrasc ce s
transmit uitndu-se la nume).
Dup ce a achiziionat toate mesajele dorite, wholesome.com ofer feeder.com-uM un nou articol
trimis prin pot de altcineva la situl su. Oferta este acceptat i mesajul este transferat. Acum
whoiesome.com ofer alt mesaj, unui care vine de la cealalt surs a sa. Deoavecefeeder.com l are
deja, l refuz. n sfrit, whoiesome.com termin sesiunea i elibereaz conexiunea TCP.
Metoda de introducere a tirilor este similar. Ea ncepe cu apelul sursei ctre o main ce
trebuie s recepioneze tiri. Sursa pstreaz n mod normal listele grupurilor de tiri ale
clienilor si i ncepe prin anunarea primului mesaj n primul dintre aceste grupuri de tiri,
folosind comanda HAVE. Recipientul potenial verific apoi tabelele proprii pentru a vedea
dac deja conine articolul i i poate accepta sau rejeca. Dac articolul este acceptat, ei este
transmis, urmat de o linie coninnd un punct. Apoi sursa anun ai doilea mesaj i aa mai
departe, pn cnd toate tirile au fost transferate.
O problem legat de ambele metode, de punere, respectiv scoatere de tiri, este c ele
folosesc metoda oprete-te i atept. n mod tipic, 100 msec sunt pierdute ateptnd un
rspuns la o ntrebare. Cu 100.000 sau mai multe mesaje de tiri pe zi, acest timp pierdut se
adun, ajungnd ia valori substaniale.
SEC. 7.6
631
Propunerea iniial pentru crearea unei colecii de documente avnd legturi ntre ele
(web) a fost fcut de fizicianul Tim Berners-Lee, fizician la CERN, n martie 1989. Primul
prototip (bazat pe text) era operaional 18 luni mai trziu. n decembrie 1991, s-a fcut o
demonstraie public la conferina Hypertex'91 n San Antonio, Texas. Aciunea a continuat n
anul urmtor, fiind ncununat cu realizarea primei interfee grafice, Mosaic, n februarie 1993
(Vetter .a, 1994).
Mosaic a fost att de popular nct un an mai trziu, autorul su, Marc Andreessen, a
prsit NCSA (Centrul naional pentru aplicaiile supercalculatoareor), unde Mosaic-ul a fost
dezvoltat, pentru a forma o nou companie, Netscape Communications Corp., care se ocupa
cu dezvoltarea de software pentru Web. Cnd Netscape a devenit o companie public n 1995,
investitorii, care probabil c au crezut c este vorba de un fenomen de tip Microsoft, au pltit
1,5 miliarde de dolari pentru aciunile companiei. Acest record a fost cu att mai neateptat cu
ct compania avea un singur produs, opera n deficit i anunase probabilii investitori c nu se
ateapt la beneficii n viitorul apropiat.
n 1994, CERN i M.I.T. au semnat o nelegere pentru a forma Consoriul World Wide Web, o
organizaie care are ca obiectiv dezvoltarea Web-ului, standardizarea protocoalelor, i ncurajarea
interoperabilitii ntre situri. Berners-Lee a devenit director. De atunci, sute de universiti i
companii au intrat n consoriu. M.I.T. coordoneaz partea american a consoriului n timp ce
centrul de cercetri francez, INRIA, coordoneaz partea european. Dei exist foarte multe cri
despre Web, cel mai bun loc pentru gsirea unor informaii la zi despre el este (n mod natural) chiar
Web-ul. Pagina consoriului are adresa http:llwww.w3.org. Cititorii interesai vor gsi acolo legturi
la pagini care acoper toate documentele i activitile consoriului.
n urmtoarele seciuni, vom descrie cum se prezint Web-ul utilizatorilor, dar mai ales modul
de funcionare intern. Deoarece Web-ul este un sistem client-server, vom discuta att aspectele
referitoare la client (adic utilizator) ct i cele referitoare la server. n continuare vom examina
limbajele n care sunt scrise paginile de Web (HTML i Java). n final, se prezint cum se poate gsi
o informaie pe Web.
7.6.1 Aspectele privind clientul
Din punctul de vedere al utilizatorului, Web-ul const dintr-o colecie imens de documente
rspndite n toat lumea, numite pagini. Fiecare pagin poate s conin legturi (indicatori) ia alte
pagini, aflate oriunde n lume. Utilizatorii pot s aleag o legtur (de exemplu prin execuia unui
clic) care i va aduce la pagina indicat de legtur. Acest proces se poate repeta la nesfrit, fiind
posibil s se traverseze n acest mod sute de pagini legate ntre ele. Despre paginile care indic spre
alte pagini se spune c utilizeaz hipertext.
Paginile pot s fie vzute cu ajutorul unui program de navigare (browser). Mosaic i Netscape
sunt cele mai cunoscute programe de navigare. Programul de navigare aduce pagina cerut,
interpreteaz textul i comenzile de formatare coninute n text i afieaz pagina, formatat
corespunztor, pe ecran. Un exemplu este prezentat n figura 7-58(a). Ca majoritatea paginilor de
Web, ncepe cu un titlu, conine informaii i se termin cu adresa de pot electronic a celui care
menine pagina. irurile de caractere care reprezint legturi la alte pagini, se numesc hiperlegturi, sunt afiate n mod diferit, fiind subliniate i/sau colorate cu o culoare special. Pentru a
selecta o legtur, utilizatorul va plasa cursorul pe zona respectiv (utiliznd mausul sau sgeile de
632
NIVELUL APLICA1IE
CAP. 7
pe tastatur) i comand selecia (cu ajutorul mausului sau apsnd tasta ENTER). Dei exist
programe de navigare fr interfa grafic, ca de exemplu Lynx, ele nu sunt att de utilizate ca
programele de navigare grafice, astfel nct n continuare ne vom referi numai la ultimele. Au fost
dezvoltate i programe de navigare bazate pe voce.
WELLCOME TO THE UNIVERSTY OF EAST PODUNK'S WWW HOME PAGE
Campus Information
D
Admissions information
Campus map
Directions to campus
Academic Departments
D Department of Animal Psychology
n
Graduate students
Nonacademic staff
QResearch Projects
Positions available
Our most popular courses
D
Horse management
Fig. 7-58. (a) O pagin de Web. (b) pagina ia care se ajunge dac se selecteaz
Department of Animal Psychology
Utilizatorii care sunt interesai s afle mai multe despre Department of Animai Psichoiogy" vor
selecta numele respectiv (apare subliniat). Programul de navigare va aduce pagina la care este legat
numele respectiv i o va afia, aa cum se vede n Fig. 7-58(b). irurile subliniate aici pot s fie
selectate la rndul lor pentru a aduce alte pagini i aa mai departe. Noua pagin se poate afla pe
aceeai main ca i prima sau pe o main aflat undeva pe glob la polul opus. Utilizatorul nu va ti.
Aducerea paginilor este realizat de ctre programul de navigare, fr nici un ajutor din partea
SEC. 7.6
633
utilizatorului. Dac utilizatorul se va ntoarce la prima pagin, legturile care au fost deja utilizate
vor fi afiate altfel dect celelalte (subliniate cu linie punctat sau utiliznd o alt culoare) pentru a fi
deosebite de cele care nu au fost nc selectate. De notat c selecia liniei Campus Infotmation din
prima pagin nu are nici un efect. Nu este subliniat, ceea ce nseamn c este pur i simplu un text
care nu este legat de o alt pagin.
Majoritatea programelor de navigare au numeroase butoane i opiuni care ajut navigarea
prin Web. Multe au un buton pentru revenirea la pagina anterioar, un buton pentru a merge
la pagina urmtoare (acest buton este operaional numai dup ce utilizatorul s-a ntors napoi
dintr-o pagin) i un buton pentru selecia paginii personale (home page). Majoritatea
programelor de navigare au un buton sau un meniu pentru nregistrarea unei adrese de pagin
(bookmark) i un altul care permite afiarea unor adrese nregistrate, fcnd astfel posibil
revenirea la o pagin cu ajutorul unei simple selecii realizate cu mausul. Paginile pot s fie
salvate pe disc sau tiprite. Sunt disponibile numeroase opiuni pentru controlul ecranului i
configurarea programului de navigare conform dorinelor utilizatorului. O comparaie a nou
programe de navigare este prezentat n (Berghel, 1996).
n afar de text obinuit (nesubliniat) i hipertext (subliniat), paginile de Web pot s
conin iconie, desene, hri, fotografii. Fiecare dintre acestea poate s fie, n mod opional,
legat la alt pagin. Dac se selecteaz unul dintre aceste elemente, programul de navigare va
aduce pagina respectiv i o va afia, aa cum se ntmpl n cazul selectrii unui text. Pentru
imaginile care sunt fotografii sau hri, alegerea paginii care se aduce poate s depind de
regiunea din imagine pe care se face selecia.
Nu toate paginile sunt afiabile. De exemplu, pot s existe pagini care conin nregistrri audio,
clip-uri video sau ambele. Dac paginile de hipertext sunt combinate cu alte tipuri de pagini,
rezultatul se numete hiper-media. Numai o parte din programele de navigare pot s afieze orice
tip de hiper-media. Cele care nu pot verific un fiier de configurare ca s afle cum s trateze datele
primite. n mod normal, fiierul de configurare conine numele unui program de vizualizare extern
sau al unui program auxiliar pentru aplicaie, care va fi utilizat pentru a interpreta coninutul paginii
aduse. Dac un astfel de program nu este specificat, atunci programul de navigare poate s cear
utilizatorului s specifice un program de vizualizare. Dac nu exist un astfel de program, utilizatorul
poate s indice programului de navigare s salveze pagina adus ntr-un fiier pe disc sau s o
abandoneze. Utilizarea unui generator de voce ca program auxiliar permite chiar i utilizatorilor orbi
s acceseze Web-ul. Alte programe auxiliare conin interpretoare pentru limbaje speciale pentru
Web, permind aducerea i execuia programelor din paginile de Web. Acest mecanism permite
extinderea funcionalitii Web-ului.
Multe pagini de Web conin imagini de dimensiuni mari, pentru care ncrcarea dureaz mult.
De exemplu, aducerea unei imagini necompresate de 640 x 480 (VGA) cu 24 de bii pe pixel (922
KB) dureaz cam 4 minute, dac se utilizeaz o linie de modem de 28.8 Kbps. Unele programe de
navigare trateaz problema ncrcrii lente ncrcnd i afind mai nti textul i apoi imaginile.
Aceast strategie ofer utilizatorului ceva de citit ct timp ateapt, i n acelai timp i permite s
renune la pagina respectiv dac nu este destul de interesant ca s merite ateptarea. O alt
strategie este de a oferi opiunea de a dezactiva aducerea i afiarea automat de imagini.
Unii creatori de pagini de Web ncearc s trateze altfel problema utilizatorilor plictisii, afind
imaginile ntr-un mod special. Mai nti apare rapid o imagine ntr-o rezoluie foarte sczut. Apoi
se mbuntete calitatea imaginii. Pentru utilizator apariia imaginii dup cteva secunde, chiar i
634
NIVELUL APLICAIE
CAP. 7
ia o rezoluie sczut, este de multe ori de preferat fa de situaia n care acesta urmrete modul n
care se deseneaz imaginea linie cu linie.
Unele pagini de Web conin formulare care cer utilizatorului s introduc informaii. Aplicaiile
tipice pentru formulare sunt cutri ntr-o baz de date pentru o intrare specificat de utilizator,
comandarea unui produs sau participarea la un sondaj de opinie. Alte pagini de Web conin hri
care permit utilizatorilor s selecteze poriuni pentru a obine informaii despre anumite zone
geografice sau pentru a realiza o mrire sau o micorare a imaginii afiate. Utilizarea formularelor i
a imaginilor cu zone seiectabile necesit prelucrri mai sofisticate dect pur i simplu aducerea unei
pagini. O s descriem mai trziu cum sunt implementate aceste faciliti.
Unele programe de navigare utilizeaz discul local pentru a memora temporar paginile pe care
Ie aduc. nainte ca o pagin s fie adus, se verific dac ea nu se gsete deja n memoria
temporar. Dac da, se verific numai dac pagina este nc actual. In caz afirmativ, nu mai este
necesar readucerea paginii. Ca rezultat, selecia butonului BACK pentru a vedea pagina
precedent are un efect foarte rapid.
Pentru a permite utilizarea unui program de navigare n Internet, un calculator trebuie s fie
legat direct n Internet sau cel puin s aib o conexiune SLIP sau PPP la un ruter sau la un alt
calculator care este legat direct n Intemet. Aceast cerin apare deoarece aducerea unei pagini de
ctre un program de navigare presupune stabilirea unei conexiuni TCP cu calculatorul pe care este
memorat pagina, i apoi transmiterea unui mesaj, utiliznd conexiunea, pentru a cere pagina.
Corespunztor, programul de navigare nu poate s lucreze dac nu se poate stabili o conexiune TCP
spre un calculator din Internet.
Eforturile pe care ie fac unii utilizatori pentru a avea acces la Web sunt uneori surprinztoare.
Exist cel puin o companie care ofer servicii de tip Web-Fax. Un client fr acces la Intemet poate
s se conecteze ia serverul de Web-Fax prin intermediul unui telefon cu tastatur digital. Indicnd
prin intermediul tastaturii digitale codul unei pagini de Web o va primi prin Fax.
Pentru orice server de Web un proces ascult portul 80 TCP pentru conexiuni iniiate de ctre
clieni (n mod normai programe de navigare). Dup ce s-a stabilit o legtur, clientul trimite o
cerere i serverul trimite un rspuns. Apoi conexiunea este eliberat. Protocolul care descrie cererile
i rspunsurile permise se numete HTTP. Vom studia acest protocol n detaliu n continuare, dar
un exemplu simplu poate s ofere o idee referitoare ia modul n care funcioneaz servereie de Web.
Figura 7-59 prezint modul n care diferitele componente ale modelului Web lucreaz mpreun.
Pentru acest exemplu putem s considerm c utilizatorul tocmai a selectat un text sau o iconi
care indic spre pagina ai crei nume (URL - Uniform Resource Locator - adresa uniform pentru
localizarea resurselor) estehttp://www.w3.or%/h)pertext/WWW/TlwProject. html.
Vom explica ce nseamn URL mai trziu, n cadrul capitolului curent. Deocamdat, este
suficient s tim c un URL are trei pri: numele protocoiului (htp), numele calculatorului pe care
se gsete pagina (www.w3.org) i numele fiierului care conine pagina hypertextJWWW/
theProjecthtml).
SEC. 7.6
Server
abc.com
Client
635
Server
xyz.com
Pagin curent
afiat de programul
de navigare
Hiper-legtur
spre abc.com
Programul
de navigare
Pe aceast conexiune
este utilizat HTTP
636
NIVELUL APLICAIE
CAP. 7
C: tenet www.w3.org 80
T:Trying 18.23.0.23 ...
T: Connected o www.w3.org
C: GET/hypertext/WWW/TheProjec.hml HTTP/1.0
C:
S: HTTP/1.0 200 Document follows
S:M!ME-Version:1.0
S: Server: CERN/3.0
S:Conent-Type: text/html
S:Conten Lengh: 8247
S:
S:<HEADxTITLE> The World Wide Web Consorium (W3C) </TITLEx/HEAD>
S:<BODY>
S:<H1xlMG ALIGN=MIDDLE> ALT="W3C" SRC="lcons/WWW/w3c_96x67.gif">
S:The World Wide Web Consortium </H1/> <P>
S:
S:The World Wide Web is the universe of network-accessible informaticii.
S:The <A HREF="Consortium/"> World Wide Web Consortium </A>
S:exist to realize he full potenial of he Web. <P>
S:
S:<BODY>
Fig. 7-60. O sesiune simpl de obinere a unei pagini de Web.
Deoarece HTTP este un protocol ASCII ca i SMTP, este foarte simplu pentru o persoan aflat
la un terminal (deci nu program de navigare) s discute direct cu un server Web. Este nevoie numai
de o conectare TCP pe portul 80 al serverului. Cel mai simplu mod de a obine o astfel de conexiune
este utilizarea programului Telnet. Figura 7-60 prezint o sesiune n care se realizeaz o astfel de
discuie. In acest exemplu, liniile marcate cu C: sunt introduse de ctre utilizator (client), liniile
SEC. 7.6
637
marcate cu T: sunt afiate de ctre programul Telnet, iar liniile marcate cu S: sunt produse de ctre
serverul de la M.I.T.
Cititorii sunt ncurajai s ncerce aceast sesiune (de preferat dintr-un sistem UNIX, deoarece n
alte sisteme nu se obine starea conectrii). n linia GET trebuie respectate spaiile i numrul de
versiune a protocolului, de asemenea este necesar o linie goal dup comanda GET. Ca rezultat,
textul care se obine va diferi de cel prezentat n Fig. 7-60 din trei motive. Primul motiv - exemplul a
fost scurtat ca s ncap ntr-o singur pagin. Al doilea motiv - textul a fost curat puin pentru ca
s nu l pun ntr-o situaie dificil pe autorul fiierului HTML, care, dei se ateapt ca zeci de mii
de oameni s viziteze i s examineze pagina afiat, nu se ateapt ca cineva s se uite i la textul
HTML care o creeaz. Al treilea motiv - coninutul paginii este foarte des actualizat. n orice caz,
exemplul ofer o imagine rezonabil asupra modului n care funcioneaz HTTP.
Exemplul indic urmtoarele. Clientul, n cazul nostru o persoan, dar n mod normal un
program de navigare, se conecteaz nti la un server i apoi transmite o comand cernd o anumit
pagin i specificnd protocolul i versiunea care se vor utiliza (HTTP/1.0). n linia 7 serverul
rspunde cu o linie de stare care descrie ce protocol va utiliza (acelai cu al clientului) i codul 200,
care arat c operaia decurge corect. Pe linia urmtoare se transmite un mesaj conform RFC 822
MIME, din care sunt prezentate numai primele cinci linii de antet (urmtoarele au fost omise
pentru a face economie de spaiu). Urmeaz o linie goal i corpul mesajului. Pentru a transmite o
poz, cmpul Content-Type poate s conin:
Content-Type:lmage/GIF
n acest mod, tipurile MIME permit transmiterea unor obiecte arbitrare n modul
standard. Cmpul MIME Content-Transfer-Encoding nu este necesar, deoarece TCP permite
irurilor de octei s fie transmise, chiar i poze, fr modificri. Semnificaia comenzilor
cuprinse ntre paranteze unghiulare utilizate n pagina de exemplu o s fie precizat mai trziu
n cadrul capitolul curent.
Nu orice server tie HTTP. n particular, multe servere vechi utilizeaz FTP, Gopher sau alte
protocoale. Deoarece multe informaii utile sunt disponibile pe servere FTP sau Gopher, unul dintre
obiectivele proiectrii Web-ului este s fac aceste informaii disponibile i pentru utilizatorii
acestuia. O soluie este ca programul de navigare s utilizeze protocoalele respective atunci cnd
discut cu servere de FTP sau Gopher. Unele dintre ele, utilizeaz de fapt aceast soluie, dar a face
programele de navigare s neleag orice protocol posibil nseamn ca acestea s devin mult prea
mari n mod nejustificat.
Se utilizeaz o alt soluie: servere intermediare (proxy) (Luotonen and Altis, 1994). Un
server intermediar este un fel de poart (gateway) care utilizeaz protocolul HTTP pentru
comunicaia cu programul de navigare i FTP, Gopher sau alte protocoale cu serverul. El
accept cereri HTTP i le traduce n, de exemplu, cereri FTP, astfel c programul de navigare
nu trebuie s tie dect HTTP. Un server intermediar poate s fie un program care ruleaz pe
aceeai main ca i programul de navigare sau poate s fie executat pe o alt main din
reea, care deservete mai multe programe de navigare. Figura 7-61 prezint diferena ntre un
program de navigare care tie FTP i unul care utilizeaz un intermediar.
638
NIVELUL APLICAIE
HTTP
Cerere FTP
Program de
navigare
Rspuns FTP
HTTP
Cerere HTTP
Program de
navigare
Rspuns HTTP
CAP. 7
Server
FTP
Intermediar
FTP
Rspuns FTP
Server
FTP
SEC. 7.6
639
Toate versiunile noi de HTTP suport dou tipuri de cereri: simple i complete. O cerere simpl
este doar o linie GET n care se indic pagina dorit, fr specificarea versiunii de protocol.
Rspunsul este format numai din pagin, fr antete, fr MIME, fr nici o codificare. Pentru a
vedea cum funcioneaz, se poate ncerca o conexiune la portul 80 pentru www.w3.org (aa cum se
indic n prima linie din figura Fig. 7-60) dup care se scrie:
GET hypertext/WWW/TheProject.html
LINK
UNL1NK
Descriere
640
NIVELUL APLICAIE
CAP. 7
informaii pentru indexare, sau numai pentru a verifica corectitudinea unui URL. Nu exist comenzi
HEAD condiionate.
Metoda PUT este inversa metodei GET: n loc s se citeasc o pagin, scrie pagina. Aceast
metod permite s se construiasc o colecie de pagini de Web pe un server la distan. Corpul
cererii conine pagina. Pagina poate s fie codificat utiliznd MIME, caz n care liniile care
formeaz comanda PUT pot s includ Content-Type i anete de autentificare, pentru a demonstra
c ntr-adevr cel care face cererea are dreptul s o fac.
Metoda POST este similar cu metoda PUT. i ea conine un URL, dar n loc s nlocuiasc
date existente, noile date se vor aduga ntr-un mod general. De exemplu, se poate transmite un
mesaj la un grup de tiri sau aduga un fiier la un sistem de informare n reea (BBS). Este clar c n
acest mod se dorete ca Web-ul s preia i funcionalitatea sistemului de tiri USENET.
DELETE realizeaz ceea ce indic numele su: tergerea unei pagini. Ca i la PUT,
autentificarea i drepturile de acces joac aici un rol important. Nu exist nici o garanie c operaia
reuete, deoarece chiar dac serverul dorete s execute tergerea, fiierul poate s aib atribute
care s interzic serverului HTTP s l modifice sau s l tearg.
Metodele LINK i UNLINK permit conectarea pentru stabilirea unor conexiuni ntre pagini i
alte resurse. Fiecare cerere primete un rspuns constnd din linia de stare i informaii
suplimentare (de exemplu, o parte sau toat pagina Web). Linia de stare poate s conin codul 200
(operaie terminat' corect), sau un cod de eroare, de exemplu 304 (nemodifica), 400 (cerere
eronat) sau 403 (interzis).
Standardele HTTP descriu n detaliu anteteie i corpul mesajelor. Sunt foarte asemntoare cu
mesjale MIME conforme cu RFC 822, aa c nu le vom mai discuta aici.
Paginile de Web sunt scrise ntr-un limbaj numit HTML (Hypertext Markup Langaage - limbaj
de marcare hipertext). HTML permite utilizatorilor s produc pagini care includ texte, grafic i
indicatori la alte pagini de Web. Vom ncepe s studiem HTML cu aceti indicatori, pentru c ei
reprezint tocmai mecanismul care ine Web-ul conectat.
Am spus de mai multe ori c o pagin de Web poate s conin referine ia alte pagini. S
explicm cum sunt implementate aceste referine. nc de la crearea Web-ului, a fost clar c pentru a
avea o pagin care s indice spre alt pagin este necesar un mecanism care s permit numirea i
regsirea paginilor. n particular, sunt trei ntrebri la care trebuie s se rspund nainte de a se
putea afia o pagin:
1. Cum se numete pagina ?
2. Cum este localizat pagina ?
3. Cum se face accesul la pagin ?
Dac fiecare pagin ar avea un nume unic, atunci nu ar exista nici o ambiguitate n identificarea
paginilor. Totui, problema nu este nc rezolvat. S considerm de exemplu o paralel ntre
SEC. 7.6
641
oameni i pagini. n SUA aproape fiecare persoan are un numr de asigurare social, care este un
identificator unic, astfel nct nu exist dou persoane cu acelai numr. Totui, cunoscnd numai
numrul respectiv, nu exist nici o posibilitate de a gsi adresa persoanei respective i sigur nu se
poate afla dac persoanei respective trebuie s i se scrie n Englez, Spaniol sau Chinez. Web-ul
are practic acelai fel de probleme.
Soluia aleas identific paginile ntr-un mod care rezolv toate trei problemele n acelai timp.
Fiecare pagin are un URL (Uniform Resource Locater - adresa uniform pentru localizarea
resurselor) care funcioneaz ca nume al paginii general valabil. Un URL are trei componente:
protocolul, numele DNS al mainii pe care este memorat fiierul i un nume local, care indic n
mod unic pagina (de obicei numele fiierului care conine pagina). De exemplu, URL-ul
departamentului din care face parte autorul este:
http://www.cs.vu.nl/welcome.html
Acest URL este format din trei componente: protocolul (htp), numele DNS al serverului
(www.cs.vu.nl) i numele fiierului (welcome.html), cu semnele de punctuaie corespunztoare.
Se utilizeaz notaii care reprezint prescurtri standard. De exemplu ~user/ poate s fie pus n
coresponden cu directorul WWW al utilizatorului user, folosind convenia c o referin la
directorul respectiv implic un anumit fiier, de exemplu indexMml. De exemplu, pagina autorului
poate s fie referit ca:
http://www.cs.vu.nl/~ast/
chiar dac de fapt numele fiierului este diferit. Pe multe servere un nume de fiier nul indic
implicit pagina organizaiei creia i aparine serverul.
Acum ar trebui s fie clar cum funcioneaz hipertextul. Pentru a face o poriune de text
selectabil, cel care scrie pagina trebuie s furnizeze dou elemente: textul prin care se face
selecia i URL-ul paginii care trebuie adus, dac textul este selectat. Cnd se face selecia,
programul de navigare caut numele serverului utiliznd DNS-ul. Pe baza adresei IP a
serverului, programul de navigare stabilete o conexiune TCP spre server. Utiliznd aceast
conexiune, se transmite numele fiierului utiliznd protocolul specificat. Bingo. Acum sosete
pagina. Este exact ce s-a vzut n Fig. 7-60.
Nume
http
ftp
file
news
news
gopher
mailto
telnet
Utilizat pentru
Hipertext (HTML)
FTP
Fiier local
Grup de tiri
Articol de tiri
Gopher
Trimitere de pota electronic
Conectare la distan .
Exemple
http://Www.cs.vu.nl/~ast
ftp://ftp.cs.vu.nl/pub/minix/README
/usr/suzanne/prog.c
news:AA0134223112@cs.utah.edu
news:AA0134223112@cs.utah.edu
gopher://gopher.tc.umn.edu/11/libraries
mailto:kim@acm.org
telnet://www.w3.org:80
642
NIVELUL APLICAIE
CAP. 7
Aceast schem URL este deschis n sensul c este simplu s se utilizeze alte protocoale. De
fapt au fost definite URL-uri pentru protocoalele obinuite, i multe programe de navigare neleg
aceste protocoale. Forme simplificate ale celor mai obinuite sunt prezentate n Fig. 7-63.
S parcurgem lista rapid. Protocolul http este protocolul nativ pentru Web, el este utilizat de
ctre serverele de HTTP. Suport metodele prezentate n Fig. 7-62, ca i orice alte metode care vor
deveni necesare pentru obiecte.
Protocolul ftp este utilizat pentru accesul la fiiere prin FTP (File Transfer Protocol prooco pentru transferai de fiiere), protocolul Internet de transfer de fiiere. FTP este
utilizat de peste douzeci de ani i este foarte rspndit. Numeroase servere de FTP din toat
lumea permit ca de oriunde din Internet s se fac o conectare i s se aduc orice fiier plasat
pe un server FTP. Web-ul nu aduce schimbri aici. face doar ca obinerea fiierelor s se fac
mai uor, pentru c FTP are o interfa mai puin prietenoas. In viitor, probabil c FTP-ul va
disprea, deoarece nu exist nici un avantaj pentru o organizaie s aib un server de FTP n
ioc de un server de HTTP, care poate s fac tot ce face un server de FTP, i chiar mai mult
(desigur mai exist nite argumente legate de eficien).
Este posibil s se fac acces la un fiier local ca la o pagin de Web, fie utiliznd protocolul
file (fiier), fie pur i simplu utiliznd numele fiierului. Aceast abordare este similar
utilizrii protocolului FTP, dar ne implic existena unui server. Desigur funcioneaz numai
pentru fiiere locale.
Protocolul nevv's permite unui utilizator de Web s citeasc un articol din tiri ca i curn ar fi
o pagin de Web. Aceasta nseamn c un program de navigare este n aceiai imp i un cititor
de tiri. De fapt, multe programe de navigare au butoane sau elemente de meniu care permit
citirea tirilor USENET rnai uor dect dac se utilizeaz cititoare de tiri obinuite.
Protocolul news admite dou formate. Primul format specific un grup de tiri i poate s fie
utilizat pentru a obine o list de articole de la un server de tiri preconfigurat. Al doilea format cere
identificatorul unui articol, de QxempluAA0134223112@cs.utah.edu. Programul de navigare aduce
articolul de ia serverul corespunztor utiliznd protocolul NNTP.
Protocolul gopher este utilizat de sistemul Gopher, care a fost proiectat la universitatea
Minnesota. Numele este cel ai echipei atletice a universitii, the Goiden Gopher (de asemenea
acest nume este utilizat n argou pentru go for, adic o comand de aducere). Gopher-ul a
precedat Web-ul cu civa ani. Este o metod de regsire a informaiei, similar conceptual cu cea
utilizat de Web, dar acceptnd numai text i imagini. Cnd un utilizator se conecteaz la un server
de Gopher, va avea la dispoziie un meniu de fiiere i directoare, fiecare intrare putnd s fie
conectat ia orice meniu de Gopher oriunde n lume.
Marele avantaj ai Gopher-ului n raport cu Web-ui este c funcioneaz foarte bine cu terminale
ASCII care afieaz 25 x 80 caractere i din care exist nc foarte multe n lume. Pentru c este
bazat pe text, Gopher este foarte rapid. De aceea n lume exist mii de servere de Gopher.
Utilizatorii de Web pot s acceseze un server de Gopher i s vad fiecare meniu Gopher ca o
pagin Web cu intrri seectabile. Dac nu ai lucrat cu Gopher-ul, ncercai exemplul din Fig. 7-63
sau utilizai maina favorit de cutare n Web pentru a cuta cuvntul gopher".
Dei exemplele considerate nu utilizeaz aceast facilitate, este posibil s se trimit o cerere de
cutare complet unui server de Gopher utiliznd un protocol gopher+. Ce se va afia este rezultatul
cererii transmise serverului de Gooher.
SEC. 7.6
643
Ultimele dou protocoale nu sunt de fapt protocoale pentru aducerea unor pagini de Web i nu
sunt suportate de orice program de navigare, dar sunt utile. Protocolul mailto permite transmiterea
de pot dintr-un program de navigare. Pentru a face aceast operaie, se selecteaz butonul OPEM
i se specific un URL constnd din mailto: urmat de adresa destinatarului. Majoritatea programelor
de navigare vor rspunde cu un formular care are intrri corespunztoare subiectului i altor
informaii din antet i spaiu pentru mesaj.
Protocolul telnet este utilizat pentru stabilirea unei conexiuni pe o main aflat Ia distan. Se
utilizeaz n acelai fel ca i programul Telnet, ceea ce nu constituie o surpriz, deoarece majoritatea
programelor de navigare utilizeaz programul Telnet. Ca exerciiu, ncercai din nou sesiunea din
Fig. 7-60, dar utiliznd un program de navigare.
Pe scurt URL-urile au fost proiectate nu numai pentru a permite utilizatorilor s navigheze prin
Web, dar i pentru a utiliza FTP, news, Gopher, e-mail i telnet, ceea ce face inutile interfeele
specializate pentru aceste protocoale integrnd astfel ntr-un singur program, navigatorul n Web,
aproape toate tipurile de acces n Internet. Dac metoda nu ar fi fost proiectat de un fizician, ar fi
putut s par produsul departamentului de publicitate ai unei companii de software.
n ciuda tuturor acestor proprieti, creterea Web-ului scoate n eviden i o slbiciune a
metodei utilizrii URL-urilor. Pentru o pagin care este foarte des referit, ar fi de preferai s existe
mai multe copii pe servere diferite, pentru a reduce traficul n reea. Problema este c URL-riie nu
ofer nici o posibilitate de indicare a unei pagini fr s se specifice unde este localizat pagina
respectiv. Nu exist nici o metod pentru a spune ceva de genul: Vreau pagina xyz, dar nu m
intereseaz de unde o aduci". Pentru a rezolva aceast problem i a permite multiplicarea Daginilor
IETF lucreaz la un sistem de URI (Universal Resource Identifiers - identificatori universali de
resurse). Un URI poate s fie privit ca un URL generalizat. Acest subiect este n curs de cercetare.
Dei am discutat numai despre URL-uri absolute, exist i URL-uri relative. Diferena es:e
similar cu diferena dintre un nume de fiier absolut /usr/ast/foobar i pur i simplu foobar, aiunci
cnd contextul este definit n mod neambiguu.
HTML-HyperText Markup Language
Acum, dac tim cum funcioneaz URL-urile, putem s examinm limbajul HTML, Acest
limbaj este o aplicaie a standardului ISO 8879, SGML (Standard Generaiized Markup Language ~
limbajul standard generalizat de marcare), specializat pentru hipertext i adaptat la Web.
Dup cum s-a mai menionat, HTML este un limbaj de marcare, un limbaj care descrie cum
trebuie s fie formatate textele. Termenul de marcare" provine din timpurile vechi, cnd editorii
fceau marcaje pe documente pentru a indica tipografului - n acele timpuri un om - ce font-uri s
foloseasc .a.m.d. Limbajele de marcare conin comenzi explicite pentru formatare. De exemplu,, n
HTML, <B> nseamn nceput de mod aldin, i </B> nseamn terminarea utilizrii modului
aldin. Avantajul utilizrii unui limbaj de marcare fa de unul n care nu se utilizeaz marcarea
explicit const din faptul c este simplu de scris un program de navigare care s interpreteze
comenzile de marcare. TeX i troff sunt dou exemple foarte cunoscute de limbaje de marcare.
Documentele scrise ntr-un limbaj de marcare pot s fie comparate cu cele obinute
utiliznd procesoare de text de tip WYSIWYG (What You See s What You Get - Ce vezi este
ceea ce obii), cum sunt MS-Word sau Word-Perfect. Acest tip de sisteme pot s memoreze
fiierele utiliznd marcaje ascunse pentru ca formatarea s se poat reface ulterior. Nu toate
644
NIVELUL APLICAIE
CAP.?
SEC. 7.6
645
We are so happy that you have chosen to visit Amalgamated Widget's home page. We hope
you wiil find all the information you need here.
Below we have links to info.rmation about our many fine products. You can order electronically
(by WWW), by telephone, or by FAX.
Product Information
Big widgets
Littie widgets
Telephone numbers
1-800-WIDGETS
1-415-765^321
(b)
NIVELUL APLICAIE
CAP. 7
este un marcaj, <IMG>, avnd parametrul SRC cu valoarea abc i parametrul ALT cu valoarea
foohar. Pentru fiecare marcaj, standardul HTML ofer o list a parametrilor care pot s fie utilizai,
dac este cazul i care este semnificaia lor. Deoarece parametrii au nume, ordinea n care se dau
valorile parametrilor nu este semnificativ.
Din punct de vedere tehnic, documentele HTML sunt scrise utiliznd setul de caractere ISO
8859-1 Latin-1, dar pentru utilizatorii ale cror tastaturi suport numai codul ASCI, se pot utiliza
secvene de caractere pentru reprezentarea caracterelor speciale cum ar fi e. Lista caracterelor
speciale este precizat n standard. Toate ncep cu caracterul &" i se termin cu ;". De exemplu
è produce e iar é produce e. Deoarece <, > i & au semnificaii speciale, pot s fie
reprezentate numai utiliznd secvenele speciale de caractere corespunztoare, < > i &.
Principalul element din zona de cap este titlul care este cuprins ntre <TITLE> i </TTLE>,
dar pici pot s apar i alte tipuri de informaii. Titlul nu este afiat pe pagin. Unele programe de
navigare l utilizeaz pentru a eticheta fereastra n care se afieaz pagina respectiv.
S analizm si alte particulariti prezente n exemplul din Fig. 7-64. Toate marcajele utilizate n
Fig. 7-64 i nc alte cteva sunt prezentate n Fig. 7-65.
Descriere
Marcaj
Delimiteaz textul scris n HTML
<HTML>... </HTML>
<READ>... </HED>
j Delimiteaz zona de cap
<T!TLE>... </TITLE> | Definete titlul (nu este afiat de programul de navigare)
Delimiteaz zona de corp
<BODY>... </BODY>
Delimiteaz un titlu de nivel n
<Hn>... </Hn>
<B>... </B>
Textul... o s fie afiat cu aldine
Textul... o s fie afiat cu cursive
<!> ...</i>
Delimiteaz o list neordonat
<UL>... </UL>
<OL>... </OL>
Delimiteaz o iist ordonat (numerotat)
Delimiteaz un meniu cu elemente marcate cu <LJ>
<MENU>... ^?MENU>
<L!>
inceput de element de list (nu exist </L!>
<BR>
Trecere la linie nou
<P>
inceput de paragraf
Linie orizontal
<PRE>... </PRE>
Text preformata; nu se formateaz
Se ncarc o imagine
<!MG SRC=...">
<AHREF=...">,..</A>
Ss definete o hiper-legtur
SEC. 7.6
647
reprezenta, de exemplu utiliznd diferite culori sau video-invers. In loc de a utiliza stiluri fizice,
autorii pot s utilizeze stiluri logice, cum sunt <DN> (definiie), <EM> (evideniere),
<STRONG> (evideniere accentuat) i <VAR> (variabile de program). Stilurile logice sunt
definite ntr-un document numit pagin de stil. Avantajul utilizrii unei pagini de stil const n faptul
c la schimbarea unei definiii, se vor schimba toate variabilele, nlocuind de exemplu cursivele
printr-un font cu dimensiuni constante.
Limbajul HTML ofer diferite mecanisme pentru construirea de liste, inclusiv liste coninute n
alte liste. Marcajul <UL> indic nceputul unei liste neordonate. Elementele individuale, care sunt
marcate n surs cu <LI>, sunt reprezentate precedate de buline (). O variant a acestui
mecanism este <OL>, care descrie o list ordonat. Cnd se utilizeaz acest marcaj, textele
precedate de <LI> sunt numerotate de ctre programul de navigare. O a treia opiune este
<MENU>, care n mod normal produce o reprezentare mai compact pe ecran, fr buline i fr
numere. Marcajele <UL>, <OL> i <MENU> au aceeai sintax i efecte asemntoare.
Mai exist alte dou mecanisme pentru descrierea listelor, care merit s fie prezentate n afara
celor din Fig. 7-65. <DIR> este utilizat pentru construirea de tabele scurte. De asemenea <DL> i
</DL> creeaz liste de definiii (glosare) cu elemente formate din dou componente, definite
respectiv de <DT> i <DD>. Primul marcaj este utilizat pentru nume, al doilea pentru
semnificaia asociat. Aceleai construcii se pot realiza ns utiliznd mecanismul de descriere a
tabelelor, care este mult mai general i pe care l vom descrie ulterior.
Marcajele <BR>, <P> i <HR> indic o separare ntre diferitele pri ale textului.
Formatul precis este descris n pagina de stil. Marcajul <BR> foreaz trecerea la linie nou.
De obicei programele de navigare nu insereaz o linie liber dup <BR>. Marcajul <P>
reprezint un nceput de paragraf, pentru care se va insera o linie nou i eventual se va face o
indentare. (n mod teoretic, exist i </P> pentru a indica sfritul de paragraf, dar este foarte
rar utilizat; majoritatea celor care scriu n HTML nici nu tiu c acest marcaj exist). Ultimul
marcaj, <HR>, foreaz trecerea la linie nou i deseneaz o linie orizontal.
HTML 1.0 nu are nici o facilitate pentru descrierea tabelelor sau a altor informaii
formatate. Mai ru chiar, dac cineva care scrie n HTML descrie o tabel utiliznd spaii i
caractere de trecere la linie nou, programele de navigare vor ignora aceast formatare.
Pentru a mpiedica programele de navigare s modifice o astfel de formatare, au fost
prevzute marcajele <PRE> i </PRE>. Ele reprezint indicaii pentru programele de
navigare, care trebuie s afieze textul cuprins ntre cele dou marcaje aa cum este, caracter
cu caracter, fr s schimbe nimic. Pe msur ce sunt prevzute tabele i alte faciliti elegante
de formatare, necesitatea marcajului <PRE> o s scad, cu excepia textelor programelor,
pentru care majoritatea programatorilor nu vor accepta o formatare diferit de cea proprie.
HTML permite includerea de imagini n paginile de Web. Marcajul <IMG> arat c pe
poziia curent din pagin se va include o imagine. Marcajul poate s aib o serie de
parametri. Parametrul SRC indic URL-ul (sau URI-ul) imaginii. n practic, toate
programele de navigare accept fiiere n format GIF, multe pot lucra i cu fiiere n format
JPEG. Programele de navigare pot s lucreze i cu alte formate, dar o astfel de extensie este o
sabie cu dou tiuri. Dac, de exemplu un utilizator este obinuit cu un program de navigare
care suport fiiere n format BMP, este posibil ca el s includ astfel de fiiere n pagina sa de
Web i s fie uimit c alte programe de navigare ignor imaginile sale minunate.
648
NIVELUL APLICAIE
CAP. 7
Ali parametri pentru <IMG> sunt ALLIGN, care controleaz modul n care se aliniaz
imaginea fa de limita de jos a textului (TOP, MIDDLE, BO1TOM), ALT, care furnizeaz textul
afiat n locul imaginii dac utilizatorul dezactiveaz opiunea de afiare a imaginilor i ISMAP, un
indicator care anun c imaginea este o hart selectabil.
In sfrit, s considerm hiper-legturile, care utilizeaz marcajele < A > (anehor) i </A>. Ca i
< I M G > , < A > are diveri parametrii, printre care HREF (URL-ul), NAME (numele hiperlegturii) i METHODS (metodele de acces). Textul cuprins ntre < A > i </A> este afiat. Dac
este selectat, atunci se utilizeaz hiper-legtura pentru a se aduce o nou pagin. In locul textului se
poate pune i un marcaj < I M G > , caz n care, cu un clic pe imagine, se va activa legtura.
De exemplu, s considerm urmtorul fragment HTML:
<A HREF=http://www.nasa.gov">NASA's home page </A>
Cnd se afieaz acest fragment, pe ecran apare:
NASA's home page
Dac utilizatorul execut un clic pe acest text, programul de navigare aduce i afieaz pagina al
crei URL este http://www.nasa.gov .
Ca al doilea exemplu, s considerm
<AHREF=http://www.nasa.gov"><IMG SRC=shuttle.gif"ALT=NASA"x/A>
Cnd se afieaz pagina va aprea o imagine (o navet spaial). Executnd un clic pe
imagine, se va aduce pagina NASA, la fel ca i n cazul n care n exemplul anterior a fost
selectat textul. Dac utilizatorul a dezactivat opiunea de afiare a imaginilor, atunci n loc de
imagine va fi afiat textul NASA.
Pentru marcajul < A> se poate utiliza parametrul NAME pentru a fixa o hiper-lcgtur, care s
fie referit din pagin. De exemplu, unele pagini de Web ncep cu o tabel de coninut selectabil.
Prin execuia unui clic pe o intrare n tabela de coninut, se va trece direct la seciunea
corespunztoare din pagin.
Una dintre facilitiilc care lipsesc din HTML 2.0, pe care muli autori de pagini HTML o
doreau, era posibilitatea de a construi tabele ale cror intrri s fie legturi selectabile.
Corespunztor, o cantitate mare de munc a fost depus pentru a aduga tabelele la
HTML 3.0. n continuare, o s prezentm o scurt introducere n tabele, doar ca s prezentm
caracteristicile generale.
O tabel HTML este format din una sau mai multe linii, fiecare fiind format din una sau mai
multe celule. Celulele pot s conin diferite tipuri de informaii, inclusiv text, figuri i chiar tabele.
Celulele pot s fie alipite, de exemplu un titlu poate s se ntind peste mai multe coloane. Autorii
paginilor au control asupra modului n care se face afiarea, inclusiv alinierea, stilul bordurii,
marginile celulelor, dar programul de navigare este cel care hotrte de fapt cum se face afiarea.
O descriere n HTML a unei tabele este prezentat n Fig. 7-66(a), iar efectul posibil este
prezentat n Fig. 7-66(b). Acest exemplu prezint cteva din facilitile de descriere a tabelelor n
HTML. Tabelele ncep cu marcajul <TABLE>. Se pot specifica informaii suplimentare pentru a
descrie proprietile generale ale tabelei.
SEC. 7.6
649
Item
X
X
X
X
X
(b)
650
NIVELUL APLICAIE
CAP. 7
Formulare
HTML 1.0 funciona ntr-o singur direcie. Utilizatorii puteau s aduc o pagin de la furnizorii
de informaie, dar era foarte dificil s se transmit informaie n sens invers. Pe msur ce tot mai
multe organizaii comerciale au nceput s utilizeze Web-ul, a aprut o puternic cerere pentru
comunicaia n dublu sens. De exemplu, multe companii vor s poat prelua comenzi pentru
produse utiliznd paginile lor de Web, furnizorii de software vor s distribuie programe prin
intermediul Web-ului, clienii s i completeze fiele de nregistrare prin acelai mijloc, iar
companiile care ofer servicii de cutare n Web au nevoie ca utilizatorii de servicii s poat s
introduc cuvintele pe baza crora se face cutarea.
Acest gen de cereri a dus la includerea formularelor ncepnd cu HTML 2.0. Formularele
conin casete i butoane care permit utilizatorilor s completeze informaii sau s fac selecii
i apoi s transmit informaiile la proprietarul paginii. n acest scop se utilizeaz marcajul
<INPUT>. Acesta are o varietate de parametri care determin mrimea, tipul, i modul de
afiare a casetei utilizate. Cele mai obinuite sunt cmpuri n care utilizatorul poate s
introduc text, casete care pot s fie selectate, hri active, butoane SUBMIT. Exemplul din
Fig. 7-67 prezint cteva dintre aceste posibiliti.
S ncepem discuia parcurgnd exemplul Ca orice formular, i acesta este cuprins ntre
marcajele <FORM> i </FGRM>. Textele care nu sunt incluse ntre marcaje sunt afiate, ntrun formular poate s fie utilizat orice marcaj obinuit (de exemplu <B>) In acest formular sunt
utilizate trei tipuri de casete.
Prima caset din formular apare dup textul Name". Caseta are limea de 46 de
caractere i utilizatorul va introduce un ir care va fi memorat n variabila customer pentru
prelucrri ulterioare. Marcajul <P> indic programului de navigare s afieze ceea ce
urmeaz pe o linie nou, chiar dac mai este loc pe linia curent. Utiliznd <P> i alte
marcaje care controleaz dispunerea textului, creatorul paginii poate s controleze cum arat
formularul pe ecran.
Pe linia urmtoare se solicit adresa utilizatorului, avnd cel mult 40 de caractere, pe o linie
separat. Urmeaz o linie pe care se solicit oraul, statul i ara. Aici nu se utilizeaz marcajul <P>,
deci programul de navigare o s ie afieze pe toate pe aceeai linie, dac nCap. Din punctul de
vedere al programului de navigare, paragraful curent conine ase elemente: trei iruri alternnd cu
trei casete. El ie afieaz pe aceeai linie de la stnga la dreapta, trecnd la o linie nou ori de cte
ori pe linia curent nu mai ncape urmtorul element. Astfel, este posibil ca pe un ecran 1024 x 768
s ncap toate cele trei iruri i casetele corespunztoare, n timp ce pe un ecran 640 x 480 ele pot s
fie distribuite n dou linii. n cazul cel mai defavorabil cuvntul Country este ia captul liniei, iar
caseta asociat este la nceputul liniei urmtoare. Nu exist nici o posibilitate de a fora programul
de navigare s afieze caseta lng text.
Urmtoarea linie solicit numrul crii de credit i data sa de expirare. Transmiterea numerelor
crilor de credit prin Internet trebuie s se fac numai dac s-au luat msurile de securitate
adecvate. De exemplu, unele programe de navigare, dar nu toate, pot s cifreze informaiile
transmise de ctre utilizatori. Chiar i atunci, comunicaia sigur i gestionarea cheilor sunt subiecte
complicate i sunt deschise atacurilor de multe feluri, aa cum am vzut mai nainte.
SEC. 7.6
651
State
Credit crd #
Widget size Big
Expires
Country
M/C O Visa O
Submit order
Thank you for ordering an AWI widget, the best widget money can buy!
(b)
652
NIVELUL APLICAIE
CAP. 7
SEC. 7.6
653
Formularele pot s fie transmise n trei moduri: utiliznd butonul SUBMIT, executnd un clic pe
o hart activ sau utiliznd tasta ENTER pentru un formular care conine numai un singur cmp de
tip TEXT. Cnd se transmite un formular, trebuie s se execute o aciune. Aciunea corespunztoare
este specificat n parametrii marcajului <FORM>. Parametrul ACTION precizeaz URL-ul (sau
URI-ul) pentru a indica unde se face transmiterea, iar METHOD specific ce metod se utilizeaz.
Ordinea acestor parametri (ca i a celorlali) nu conteaz.
Modul n care variabilele din formular sunt transmise napoi la posesorul paginii depinde de
valoarea parametrului METHOD. Pentru GET, se utilizeaz un truc. i anume se adaug la URL,
separndu-le prin semne de ntrebare. Aceast abordare poate conduce la URL-uri formate din mii
de caractere. Totui, pentru c este simpl, aceast soluie este frecvent utilizat.
Dac se utilizeaz metoda POST (vezi Fig. 7-62), corpul mesajului va conine variabilele din
formular i valorile lor. Pentru a separa cmpurile se utilizeaz caracterul &; caracterul + reprezint
spaiu. De exemplu, rspunsul la formular poate s fie:
customer=John+Doe&address=100+Main+St.&ciy=White+Pain&
state=NY&country=USA&cardno=1234567890&expires6/98&cc=mastercard&
product=cheap&express=on
irul va fi transmis la server ca o singur linie, nu ca trei. Dac un CHECKBOX nu este selectat,
el este omis din ir. Este problema serverului s interpreteze irul respectiv.
Din fericire exist un standard pentru tratarea datelor din formulare. Se numete CGI (Common
Gateway Interface - interfa comun de conversie). S considerm un exemplu simplu de utilizare a
sa. S presupunem c cineva are o baz de date interesant (de exemplu un index de pagini de Web
organizat pe cuvinte cheie i subiecte) i vrea s o fac disponibil pentru utilizatorii Web. Se va scrie
un program sau un script (un fiier de comenzi) care realizeaz interfaarea ntre baza de date i
Web. Scriptului i se atribuie un URL, n mod obinuit n subdirectorul cgi-bin. Serverele HTl'P tiu
(sau li se poate spune) c dac trebuie s invoce o metod dintr-o pagin coninut n cgi-bin,
nseamn c trebuie s considere c numele de fiier este numele unui script executabil sau al unui
program i l vor lansa n execuie.
S presupunem c un utilizator i aduce formularul din exemplul considerat i l afieaz. Dup
ce completeaz formularul, va executa un clic pe butonul SUBMT. In urma acestei aciuni,
programul de navigare stabilete o conexiune TCP cu URL-ul care este indicat n parametrul
ACTION - scriptul din directorul cgi-bin. Apoi programul de navigare execut operaia indicat de
parametrul METHOD, care este de obicei POST. Ca rezultat al acestei operaii, scriptul este pornit
i primete ca argument (prin intermediul conexiunii TCP, pe intrarea standard) irul prezentat
anterior. De asemenea sunt actualizate cteva variabile de context. De exemplu variabila
CONTENT_LENGTH indic lungimea irului de intrare.
In aceast faz, majoritatea script-urilor trebuie s analizeze irul de intrare i s l transforme
ntr-o form mai convenabil. Aceast transformare se realizeaz utiliznd una dintre numeroasele
proceduri de bibliotec sau de script existente. Acum scriptul poate s interacioneze cu baza sa de
date n orice mod dorete. De exemplu, hrile active utilizeaz scripturi CGI pentru a executa
aciuni diferite n funcie de zona pe care a indicat-o utilizatorul.
Scripturile CGI pot s produc ieiri i s execute multe alte lucruri n afar de prelucrarea
formularelor. Dac o hiper-legtur indic spre un script CGI, atunci cnd legtura este
654
NIVELUL APOCAE
CAP. 7
selectat se iniiaz execuia scriptului, avnd o serie de variabile de context fixate pentru a
oferi informaii despre utilizator. Scriptul va produce apoi un fiier (de exemplu un fiier
HTML) pe ieirea standard, care este apoi transmis programului de navigare care l va
interpreta. Acest mecanism permite unui script s genereze practic instantaneu pagini Web
corespunztoare dorinei utilizatorului.
La bine i la ru, anumite servere de Web care pot s rspund la cereri au n baza de date
reclame, care pot s fie incluse n pagini de Web care se construiesc, n funcie de ce caut
utilizatorul. Astfel, dac utilizatorul face o cutare utiliznd cuvntul car" (main), atunci poate s
apar o reclam de la General Motors, n timp ce o cutare dup cuvntul vacation" (vacan)
poate s produc un anun de la compania United Airlines. Aceste reclame conin texte i poze pe
care se pot face selecii.
7.6.4 Java
Utiliznd HTML se pot afia pagini de Web statice, care includ tabele i poze. Utiliznd
mecanismul de script-uri CGI, exist i o posibilitate limitat de a avea interaciune n dublu sens
(formulare, etc). Nu este posibil ns interaciunea rapid cu pagini scrise n HTML. Un altfel de
mecanism este necesar pentru a face posibile pagini Web puternic interactive. n seciunea curent,
vom descrie un astfel de mecanism, limbajul i interpretorul Java.
Java a aprut atunci cnd civa programatori de la Sun Microsystems au ncercat s dezvolte un
limbaj nou de programare destinat aparaturii electronice. Ulterior a fost reorientat spre WWW.
Dei Java a utilizat multe idei i sintaxa de la C i C + + , el este un limbaj nou, orientat pe obiecte,
incompatibil cu ambele. Se spune c n general Java este ca limbajul Smalltalk, iar n particular ca
limbajul C sau C + + .
Principala idee de a utiliza Java pentru pagini Web interactive este c o pagin Web poate s
indice spre un mic program scris n Java, numit applet. Dac este ntlnit de un program de navigare,
applet-ul este adus pe maina client i se face execuia sa ntr-o manier sigur. Trebuie s fie
imposibil pentru applet s scrie i s citeasc fiiere la care nu are drept de acces. Trebuie s fie
imposibil pentru applet s introduc virui sau s produc alte stricciuni. Din aceste motive, dar i
pentru a realiza portabilitatea pe diferite calculatoare, applet-urile sunt compilate dup ce sunt
scrise i depanate, producndu-se un cod intermediar. Paginile Web vor indica ctre astfel de
programe ntr-o manier similar n care se indic imaginile. Cnd este adus un applet, el este
executat interactiv ntr-un mediu sigur.
nainte de a ajunge la detaliile limbajului Java, merit s spunem cteva cuvinte despre utilitatea
ntregulursistem Java i de ce se dorete includerea applet-urilor Java n pagini de Web. Un motiv ar
fi faptul c Java permite ca paginile Web s fie interactive. De exemplu, o pagin Web care conine o
tabl pentru tic-tac-toe sau ah poate s joace un joc cu utilizatorul. Programul de joc (scris n Java)
este adus mpreun cu pagina de Web. Un alt exemplu, formulare complicate (de exemplu de tip
formular de calcul) pot s fie afiate, utilizatorul completnd intrri i programul calculnd alte
intrri practic instantaneu.
Este posibil ca n timp, modelul n care utilizatorul cumpr un program, l instaleaz i l execut
local s fie nlocuit de un model n care utilizatorul execut un clic ntr-o pagin Web, aduce un
applet care execut prelucrarea eventual n legtur cu o baz de date sau un server aflat la distan.
n locs se completeze declaraia de venituri cu mna sau utiliznd un program special, oamenii vor
SEC. 7.6
655
putea s selecteze pagina RS pentru a aduce un applet pentru impozite. Acest appet poate s pun
cteva ntrebri, apoi s ia legtura cu patronul persoanei respective, cu banca i agentul de burs
pentru a afla salariul, dobnda i dividendele, s completeze intrrile din formularul de impozitare i
s l afieze pentru verificare i expediere.
Un alt motiv pentru execuia unui applet pe maina clientului este posibilitatea de a aduga
animaie i sunete la paginile de Web fr a utiliza programe de vizualizare externe. Sunete pot s fie
produse atunci cnd se aduce o pagin, ca muzic de fundai, sau cnd apar anumite evenimente (de
exemplu, cnd se execut un clic pe pisic, aceasta miaun). Acelai lucru este valabil pentru
animaie. Deoarece applet-ul se execut local, chiar dac este interpretat, ei poate s scrie peste tot
ecranul (sau numai peste o parte a ecranului) n orice mod, cu o vitez foarte mare (comparat cu
un script de tip cgi-bin de la distan).
Sistemul Java este format din trei pri:
1. Un compilator Java-cod main virtual (bj'tecod)
2. Un program de navigare care nelege applet-uri
3. Un interpretor de cod main virtual
Programatorul scrie applet-ul n Java i l compileaz. Pentru a include produsul compilrii
ntr-o pagin Web, se utilizeaz un nou marcaj, <APPLET>. Utilizarea tipic este:
<APPLET CODE=game.class WiDTH=100 HESGHT=200> </APPLET>
!
i
Interpretei-1-iTML
JPEG
GIF
SMTP
NNTP
Gophe
Tel net
PostS(
o.
i t
(5
LU
_i
LL
CD
<
9=
applet
applet
applet
applet
applet
udi
nterpretor Java
interpretor Java
""
Sistem de operare
Sistem de operare
Sistem de operare
(a}
(b)
(O
656
NIVELUL APLICAIE
CAP. 7
ntr-un fel, marcajul <APPLET> este analog cu marcajul <IMG>. n ambele cazuri,
programul de navigare se duce i preia un fiier pe care l transmite unui interpretor loca pentru a-1
afia ntr-o zon limitat de pe ecran. Dup aceea continu prelucrarea paginii de Web.
Pentru aplicaiile care necesit performane deosebite, unele interpretoare Java pot s compileze
codul mainii virtuale la codul obiect al mainii respective.
Ca o consecin a acestui model, programele de navigare bazate pe Java sunt extensibile ntr-un
mod diferit de cel al primei generaii de programe de navigare. Prima generaie de programe de
navigare sunt interpretoare HTML, care conin module care tiu diferite protocoale ca de exemplu:
HTi'P 1.0, FTP etc, ca i decodificatoare pentru diferite formate de fiiere care conin imagini. Un
exemplu este prezentat n Fig. 7-68(a). Dac cineva inventeaz sau popularizeaz un nou format, ca
de exemplu audio sau MPEG-2, aceste programe de navigare vechi nu sunt n stare s citeasc
paginile care ie utilizeaz. Cel mult, utilizatorul poate s gseasc, s aduc i s instaleze un
program de vizualizare extern corespunztor.
Cu un program de navigare bazat pe Java, situaia este diferit. La pornire, programul de
navigare este doar o main virtual Java, goal aa cum se vede n Fig. 7-68(b). Prin aducerea de
applet-uri HTML sau HTTP, el devine capabil s citeasc pagini Web standard. Desigur, pe msur
ce noi protocoale i decodificatoare sunt necesare, clasele respective sunt ncrcate dinamic,
eventual prin reea, de pe servere specificate n paginile de Web. Dup o vreme, programul de
navigare va arta ca n Fig. 7-68(c).
Astfel, dac cineva inventeaz un format nou, tot ce trebuie s fac aceast persoan este
s includ URL-ul unui applet care tie s lucreze cu el ntr-o pagin de Web, i programul de
navigare va aduce i va ncrca applet-ul. Nici un program de navigare din prima generaie nu
este capabil s aduc i s instaleze automat programe externe de vizualizare noi. Posibilitatea
de a aduce applet-uri n mod dinamic nseamn c se pot face experimente cu formate noi,
fr s aib loc ntlniri de standardizare fr sfrit pentru a se ajunge ia un consens.
Acest gen de standardizare se aplic i la protocoale. Pentru unele aplicaii, sunt necesare
protocoale speciale, de exemplu sunt necesare protocoale sigure pentru bnci sau comer. Cu Java,
astfel de protocoale sunt ncrcate dinamic cnd sunt necesare, i nu este necesar o standardizare
universal. Pentru a comunica cu compania X, trebuie s se aduc applet-ul corespunztor. Pentru a
se comunica cu compania Y, trebuie s se aduc protocolul corespunztor. Nu este nevoie ca X i Y
s fie de acord cu un protocol standard.
iniiere n limbaje! Java
Obiectivele considerate anterior au condus la un limbaj cu tipuri sigure, orientat pe obiecte,
utiliznd fire de execuie i care nu are dependene de sistem sau faciliti nedefinite. Ceea ce
urmeaz este o descriere foarte simplificat a limbajului Java, doar pentru a oferi o idee. Numeroase
faciliti, detalii, opinii i cazuri speciale au fost omise pentru a menine prezentarea ct mai scurt.
Specificaiile complete i multe alte informaii despre Java sunt disponibile pe Web (normal) la
http://Java.sun.com. Pentru manuale de Java vezi (Camione i Wairatn, 1996; i Van der Linden,
1996). Pentru a afla ntreaga poveste, vezi (Arnold i Gosling, 1996; i Gosling .a., 1996). Pentru o
scurt comparaie ntre Java i reacia Microsoft la el (Blackbird), vezi (Singleton, 1996).
Aa cum am menionat deja, n esen Java este similar cu C i C + + . Regulile de formare a
atomilor lexicali sunt practic aceleai (de exemplu atomii lexicali sunt delimitai de spaii albe, ntre
SEC. 7.6
657
doi atomi lexicali se pot intercala oricte linii albe). Comentariile se pot introduce utiliznd fie
sintaxa C (/*... 7), fie sintaxa C+ + (//...).
Java are opt tipuri primitive de date, aa cum se vede n Fig. 7-69. Fiecare tip are o dimensiune
specific, independent de implementarea local. n acest mod, spre deosebire de C, unde un ntreg
poate s fie reprezentat pe 16,32 sau pe 64 de bii, n funcie de arhitectura mainii, n Java un ntreg
(int) are ntodeauna 32 bii, nici mai muli nici mai puini, indiferent de maina pe care se execut
interpretorul. Aceast regul este esenial, pentru c acelai applet trebuie s se execute" pe o
main cu 16 bii, 32 de bii si 64 bii si s produc aceleai rezultate.
Type
Byte
Short
Int
Long
Float
Double
Boolean
Char
Size
1 octet
2 octei
4 octei
8 octei
4 octei
8 octei
1 bit
2 octei
Description
pentru a aloca un vector cu 1024 elemente. Nu este necesar (i de fapt nici posibil) s se fac
eliberarea vectorilor care nu mai sunt necesari; mecanismul de colectare a spaiului disponibil
(garbage colection) se ocup de ei. n acest mod funciile de bibliotec malloc ifree, care pot s fie
destul de uor utilizate incorect, nu mai sunt utilizate petru gestiunea memoriei.
Vectorii pot s fie iniializai i, ca i n C, se pot utiliza vectori de vectori pentru a obine matrice
cu mai multe dimensiuni. irurile de caractere sunt obiecte n loc de vectori de caractere, care se
termin cu un octet cu valoarea zero.
NIVELUL APLICAIE
658
CAP. 7
Instruciunile de control din Java sunt prezentate n Fig. 7-70. Primele nou instruciuni au
practic aceeai sintax i semantic ca i n C, numai c acolo unde este necesar o expresie de
tip Boolean nu se poate utiliza alt tip. De asemenea instruciunile break i continue pot s
utilizeze etichete pentru a preciza care dintre ciclurile etichetate este abandonat sau reluat.
instruciune
Atribuire
Descriere
Atribuie o valoare
Exemplu
n=i+j ;
ff
Alegere booleana
Switch
Selecie
if (k < 0) k = 0; elsc k = 2* k;
Switch (b) {case 1: n + + ; casc 2: n-;}
For
Iteraie
Whife
Ciclu
while (n < k) n + = i;
Do
Ciclu
Break
break eticheta;
Retum
return n;
Continue
Urmtoarea iteraie
continue eticheta;
Throw
Produce o excepie
Domeniu de valabilitate pentru o excepie
Excludere mutual
)Try
Synchronized
Fig. 7-71, Un program Java pentru caicului i tiprirea valorilor ntre 0! i 20!
SEC. 7.6
659
Instruciunea synchronized este nou i este necesar pentru c n Java pot s existe mai multe
fire de execuie. Pentru a evita apariia curselor, aceast instruciune este utilizat pentru a delimita
o secven de cod (sau o procedur ntreag) care nu trebuie s fie executat dect de un singur fir
de execuie activ la un moment dat. Astfel de secvene de cod se numesc regiuni critice. Firul de
execuie care execut instruciunea synchronized, trebuie s ocupe zvorul asociat regiunii critice,
iar dup execuia regiunii critice, s elibereze zvorul. Dac zvorul nu este disponibil, firul de
execuie ateapt pn la eliberarea zvorului. Oricnd procednd n acest mod i utiliznd variabile
de condiie, programatorii au la dispoziie ntreaga putere a monitoarelor (Hoare, 1974).
Programele Java pot s fie apelate cu argumente. Preluarea liniei de comand este similar
C-ului, cu excepia faptului c vectorul de argumente se numete args n loc de argv i args[0]
este primul argument i nu numele programului. Figura 7-71 prezint un program Java care
calculeaz o tabel de factoriali.
Dei att Java ct i C+ + sunt limbaje orientate pe obiecte bazate pe C, Java i C+ +
difer n cteva privine. O serie de faciliti au fost eliminate din Java pentru a asigura
sigurana tipurilor sau pentru a face programele mai uor de citit. n lista eliminrilor apar:
#define, typedef, enums, unions, struct, ncrcarea operatorilor, pointeri explicii,
variabilele globale, funcii n afara claselor sau funciile prieten (friend functions). Este de Ia
sine neles c instruciunea goto a fost eliminat. Alte faciliti au fost adugate pentru a oferi
Imbajului mai mult putere. Facilitile adugate includ colectarea spaiului disponibil
(garbage collection), fire de execuie multiple (multithreading), interfee pentru obiecte i
biblioteci (packages).
Orientare obiect n Java
n limbajele procedurale clasice cum sunt Pascal-ul sau C-ul, un program const dintr-o colecie
de variabile i proceduri, fr un principiu general de organizare. Prin contrast, ntr-un limbaj
orientat pe obiecte (aproape) orice este un obiect. Un obiect conine n mod normal variabile de
stare interne (ascunse) mpreun cu proceduri publice numite metode, care permit accesul la
acestea. Programele care utilizeaz obiectul au acces la variabile numai prin intermediul metodelor.
n acest mod, cel care a descris obiectul controleaz modul n care programele utilizeaz informaia
coninut n obiect. Acest principiu se numete ncapsulare i reprezint suportul programrii
orientate pe obiecte.
Java ncearc s utilizeze tot ce este mai bun n cele dou lumi. Poate s fie utilizat ca limbaj
procedural tradiional sau ca limbaj orientat pe obiecte. Exemplul scris n Java din Fig. 7-71, poate s
fie scris n C, i practic va arat la fel. n acest mod, un subset de Java poate s fie considerat ca fiind
o versiune C curat. n acelai timp, pentru a scrie pagini pentru Web, Java poate s fie privit ca un
limbaj orientat pe obiecte, astfel nct n seciunea curent, vom studia acest aspect.
Un program Java const din una sau mai multe biblioteci (packages), fiecare din ele coninnd
cteva definiii de clase. Bibliotecile pot s fie accesate de la distan prin reea, de aceea cele care
urmeaz s fie utilizate pe o scar larg trebuie s aib nume unice. De obicei se utilizeaz ierarhii
de nume prefixate cu inversul numelui DNS al mainii, de exemplu:
660
NIVELUL APLICAIE
CAP. 7
EDU.univ.cs.catie.games.chess
O clas definete un ablon pentru producerea de instane de obiecte, fiecare coninnd aceleai
variabile de stare i aceleai metode ca i orice alt instan de obiect din aceeai clas. Valorile
variabilelor de stare din diferite obiecte sunt independente. Clasele sunt similare formelor pentru
prjituri: ele nu sunt prjituri, dar pot fi utilizate pentru a produce prjituri cu structur identic. O
dat ce prjiturile au fost produse, ele sunt independente.
Obiectele Java sunt produse dinamic n timpul execuiei, de exemplu:
object = new ClassnameO;
Aceste obiecte sunt memorate n heap i sunt eliminate de mecanismul de colectare a memoriei
disponibile atunci cnd nu mai sunt necesare. In acest mod, gestiunea memoriei n Java este
realizat de ctre sistem, fr s se mai utilizeze procedurile malloc smifree, sau pointeri explicii.
Fiecare clas se bazeaz pe o alta. O clas nou definit se numete subclasa celei pe care se
bazeaz i care este superclas. O clas motenete ntotdeauna metodele superclasei. Ea poate avea
sau nu acces direct la variabilele interne ale superclasei, n funcie de modul n care a fost definit
superclas. De exemplu, dac o superclas, A, are metodele Ml, M2 i M3, iar o subclas, B,
definete o nou metod, M4, atunci obiectele create din B, vor avea metodele Ml, M2, M3 i M4.
Proprietatea prin care o clas preia n mod automat toate metodele superclasei sale se numete
motenire i reprezint o proprietate important a limbajului Java. Adugarea de noi metode la cele
ale superclasei se numete extinderea superclasei. Unele limbaje orientate pe obiect permit unei
clase s moteneasc metode de la dou sau mai multe superclase (motenire multipl), dar
proiectanii limbajului Java au considerat c aceast proprietate este prea complex i au eliminat-o
n mod deliberat.
Deoarece fiecare clas Java are o singur superclas imediat, mulimea claselor dintr-un
program Java formeaz un arbore. Clasa rdcin este numit Object. Toate clasele motenesc
metodele clasei Object. Orice clas pentru care nu se declar explicit superclas este o subclas
a clasei Object.
S considerm un exemplu care s ilustreze conceptele prezentate pn acum. n Fig. 7-72 este
prezentat o bibliotec ce definete dou clase, ComplexNumber, pentru definirea i utilizarea
numerelor complexe (numere care au o component real i una imaginar), i test, care indic cum
se poate utiliza clasa ComplexNumber.
Similar cu clasa ComplexNumber, clasa Factorial se bazeaz pe clasa Objeci, deoarece n definiia
sa nu este specificat alt superclas. Fiecare obiect din clasa CompkxNumber reprezint un numr
complex. Fiecare obiect din aceast clas conine dou variabile ascunse, re i im, ambele numere n
virgul mobil reprezentate pe 64 de bii, reprezentnd partea real i partea imaginar a numrului.
Ele nu pot s fie accesate din afara clasei sau a subclaselor acesteia pentru c au fost declarate cu
atributul protected. Dac ar fi fost declarate cu atributul pri vate, atunci ar fi fost accesibile numai
din metodele clasei ComplexNumber i inaccesibile din orice subclas. Deocamdat atributul
private ar fi putut fi utilizat, dar urmeaz s definim o subclas pentru ComplexNumber. Dac
variabilele ar fi fost declarate cu atribut pubi ic ar fi fost accesibile de oriunde din bibliotec, ceea ce
ar fi distras orientarea pe obiecte. Totui, exist situaii n care este necesar s se poat face acces la
starea intern a obiectului.
SEC. 7.6
class ComplexNumber{
// date ascunse
protected double re, im;
661
// Definirea unei subclase a clasei Object
// partea reala i cea imaginara
produce invocarea interpretorului pentru limbajul Java utiliznd clasa test ca parametru.
Interpretorul caut n aceast clas o metod main, i, dup ce o gsete, o execut. Rezultatul
execuiei apare tiprit sub forma liniei:
Modulul numrului c este 5
Acum putem s definim o subclas a clasei ComplexNumber, numai pentru a vedea cum
funcioneaz. Se ncepe prin importul clasei iniiale, pentru a afla ce face i care sunt metodele sale.
Se definete apoi o extensie a clasei ComplexNumber, pe care o vom numi HairyNumber. Noua clas
motenete cele cinci metode ale superclasei. Pentru a face lucrurile mai interesante n subclas,
vom defini a asea metod, AddTo, care adun un numr complex la obiectul curent, crescnd
partea real i cea imaginar.
Definiia clasei este prezentat n Fig. 7-73, mpreun cu un alt program de test, care arat
cum se poate utiliza un obiect care aparine clasei HairyNumber. Cnd se va executa noul
program se va obine:
h = (-0.5, 6)
NIVELUL APLICAIE
CAP. 7
S ne amintim c cele ase metode pot s fie aplicate asupra obiectelor aih, indiferent de
locul unde este definit fiecare dintre metode. Dac definim acum o subclas bazat pe
HaiiyNumber, creia i adugm s zicem trei noi metode, atunci obiectele instaniate din ea
vor avea nou metode valide.
n afar de adugarea de noi metode la ceie ale superclasei, o subclas poate nlocui metode
existente redefinindu-le. n acest mod, este posibil ca pentru o subclas s se redefineasc toate
metodele motenite de la supercias, astfel nct obiectele care aparin celor dou clase nu mai au
nimic n comun. Aa ceva nu este o tehnic corect de programare i trebuie evitat.
O clas Java poate s defineasc mai multe metode cu acelai nume, dar avnd parametri diferii
i definiii diferite. Atunci cnd compilatorul ntlnete o invocare de metod cu numele respectiv,
va utiliza tipurile parametrilor pentru a identifica pe care dintre definiii trebuie s o utilizeze.
Aceast proprietate se numete suprancrcare (overloading) sau polimorfism (polymorphism). Spre
deosebire de C++, unde pot s fie suprancrcai i operatorii, n Java pot s fie suprancrcate
numai metodele pentru a face programele mai simplu de neles.
import ComplexNumber;
dasstest2{
public s t a t i c void main(String args[]){
HairyNumber as h;
a = new H y
h = new HairyNumberQ;
a.Complex(1.0, 2,0);
h.Complex(-1.5, 4);
h.AddTo(a);
System.out.pnnt!n(h
+ h.ReaiQ
h
a
h
h
Fig. 7-73. O subclas a clasei ComplexNumber pentru care se definete o nou metod.
In afar de limbajul de baz, proiectanii limbajului Java au definit i implementat aproximativ
200 de clase pentru distribuia iniial. Metodele coninute n aceste clase formeaz un fel de mediu
standard pentru cei care dezvolt programe Java. Clasele sunt scrise n Java, astfel nct sunt
portabile pe orice platform i sistem de operare.
Dac o discuie referitoare ia toate aceste clase i metode depete cadrul acestei cri, totui o
scurt prezentare poate s fie de interes. Ceie 200 de clase sunt grupate n apte biblioteci de mrimi
diferite, fiecare focalizat pe un anumit subiect. Applet-urile care au nevoie de o anumit bibliotec
pot s o includ utiliznd instruciunea import. Metodele coninute pot s fie utilizate conform
SEC. 7.6
663
necesitilor. Acest mecanism nlocuiete fiierele de antet din C. De asemenea sunt nlocuite
bibliotecile statice, deoarece bibliotecile (package) sunt ncrcate dinamic pe parcursul execuiei,
atunci cnd sunt referite.
Bibliotec
java.lang
java.io
jaya.net
java.util
java.appiet
java.awt
java.awtimage
java.awt.peer
Exemple de funcionalitate
664
NIVELUL APLICAIE
CAP. 7
linii, figuri geometrice, texte, meniuri, butoane, bare de defilare i multe altele. Programatorii Java
apeleaz aceste metode pentru a realiza afiarea pe ecran. Depinde apoi de biblioteca java. awt s
fac apelurile corespunztoare la sistemul de operare local pentru a obine efectul dorit. Aceast
strategie presupune c&java.awi trebuie s fie rescris pentru fiecare platform nou, dar applet-urile
sunt independente de platform, ceea ce este mai important.
O alt aciune important pentru aceast bibliotec este tratarea evenimentelor. Majoritatea
sistemelor de ferestre sunt controlate prin evenimente. Aceasta nseamn c sistemul de operare
detecteaz apsarea tastelor, micarea mausului, apsarea i eliberarea butoanelor, ca i alte
evenimente pe care le convertete n apeluri de proceduri utilizator. n cazul Java, rn.java.awt exist
o colecie bogat de metode pentru tratarea unor astfel de evenimente. Utilizndu-le, este mai
simplu s se scrie programe care interacioneaz cu sistemul local de ferestre i n aceiai timp se
obine o portabilitate complet ntre maini cu sisteme de ferestre sau sisteme de operare diferite.
O parte din aceste aciuni sunt coninute mjava.awiimage, ca de exemplu gestiunea ferestrelor,
i mjava.awt.peei; care permite accesul la sistemul de ferestre local.
Securitate
Proprietile legate de securitate constituie unul dintre cele mai importante aspecte legate de
Java. Cnd se aduce o pagin de Web care conine un applet, se face execuia automat a applet-ului
pe calculatorul clientului. Ar fi de preferat ca execuia acestuia s nu produc o defectare a mainii
pe care se execut.
Mai mult, nu este nevoie de prea mult imaginaie pentru a prevedea cum un student
ntreprinztor produce o pagin de Web coninnd un joc nou foarte drgu, dup care i face
public pe scar larg adresa (URL-ul) (de exemplu publicnd-o pe fiecare grup de tiri).
Ceea ce nu se menioneaz n anun este faptul c pagina conine i un applet care dup
lansare ncepe imediat s ncripteze toate fiierele de pe disc. Cnd termin, appiet-ul anun
ce a fcut i n mod politicos menioneaz utilizatorilor care vor s cumpere cheia cu care se
poate face decriptarea c preul este de 1000$ n bancnote cu valori mici, nemarcate, ce
trebuie trimise la o csu potal din Panama.
n afar de astfel de scheme de tip cum-s-ne-mbogim-rapid, exist i alte pericole n cazul n
care se permite execuia de cod strin" pe maina proprie. Un applet poate s caute informaii
interesante" (mesaje salvate, fiierul cu parole, iruri de caractere din mediul local etc.) i s le
transmit prin reea. De asemenea poate s consume resurse (s umple discul), s afieze imagini
pornografice sau mesaje politice pe ecran sau s produc sunete neplcute utiliznd placa de sunet.
Desigur, proiectanii limbajului au fost contieni de aceste probleme i au ridicat o serie de bariere
mpotriva lor. Prima linie de aprare este faptul c limbajul are tipuri sigure. Java este strong typed, se
face verificarea limitelor vectorilor i nu exist pointeri. Aceste restricii nu permit ca ntr-un program
Java s se construiasc un pointer pentru a citi sau scrie la o adres arbitrar n memorie.
Totui, Trudy, care tocmai a renunat s mai ncerce s sparg protocoale ncriptate i a trecut la
o tem mai interesant, scrierea de applet-uri Java ruvoitoare, poate s scrie sau s modifice un
compilator de C pentru a produce cod pentru maina virtual Java (bytecode), trecnd astfel peste
toate precauiile prevzute n limbaj i n compilatorul pentru Java.
A doua linie de aprare const din verificarea applet-urilor aduse utiliznd un verificator de cod
de main virtual. Verificatorul se uit dac exist ncercri de construire de pointeri, de execuie
SEC. 7.6
665
NIVELUL APLICAIE
CAP. 7
Cu toate c pe Web se gsete o cantitate foarte mare de informaii, gsirea unei anumite
informaii nu este foarte simpl. Pentru a facilita gsirea paginilor care pot s fie utile, o serie de
cercettori au scris programe pentru a realiza indexarea Web-ului n diferite moduri. Unele dintre
soluii au devenit att de populare, nct s-au transformat n soluii comerciale. Programele care
realizeaz cutarea pe Web se numesc maini de cutare (searcfe eagines, spiders, crawlers, worms,
koowhots (knowledge robots)). n seciunea curent, oferim o introducere scurt la acest subiect.
Pentru mai multe informaii, vezi (Pinkerton, 1994 i McBryan, 1994).
Dei Web-ul este imens, dac l reducem la esen, este un grai imens avnd pagini n noduri i
hiper-legturi ca arce. Algoritmii pentru vizitarea tuturor nodurilor unui graf sunt foarte bine
cunoscui. Ceea ce face dificil indexarea Web-ului este cantitatea imens de informaie care trebuie
gestionat i faptul c aceast informaie este n continu schimbare.
S ncepem discuia cu un singur obiectiv: indexarea tuturor cuvintelor cheie n toate titlurile
paginilor de Web. Pentru algoritmul nostru avem nevoie de trei structuri de date. nti, un vector
liniar, udjable, care conine milioane de intrri, de fapt cte una pentru fiecare pagin de Web.
Trebuie pstrat n memoria virtual, astfel nct prile care sunt mai puin utilizate s fie scrise
automat pe disc. Fiecare intrare conine doi pointeri, unul ia URL-ul paginii i un altui ctre titlul
paginii. Ambele elemente sunt iruri de caractere cu lungimi variabile i pot s fie pstrate ntr-un
heap (o poriune nestructurat de memorie virtual la care se adaug iruri de caractere). Heap-ul
reprezint a doua structur de date pe care o utilizm.
A treia structur de date este o tabel de dispersie avnd n intrri. Este utilizat n modul
urmtor. Orice URL poate s fie trecut printr-o funcie de dispersie pentru a produce un
numr pozitiv mai mic dect n. Toate URL-urile care dau valoarea de dispersie k sunt legate
intr-o list nlnuit ncepnd din intrarea k a tabelei de dispersie. Ori de cte ori un URL
este introdus n tabela udjable, este introdus i n tabela de dispersie. Principalul scop al
tabelei de dispersie este s permit regsirea rapid a unui URL n udjable. Structurile de
date respective sunt prezentate n Fig. 7-75.
Pointeri Pointeri
spre
spre
URL-uri titluri
memone iruri
Lanun ae
deplrs
oispersi
-+-*!
H19I-- 8
H 21
Ur! table
Heap
tabel de dispersie
SEC. 7.6
667
Construirea index-ului necesit dou faze: cutarea i indexarea. S considerm iniial o main
simpl de cutare. Nucleul mainii de cutare este o procedur recmsiv processjirl, care primete
un ir URL ca intrare. El opereaz n modul urmtor. nti aplic funcia de dispersie URL-ului,
pentru a verifica dac este deja prezent n urljable. Dac da, a terminat i se ntoarce imediat.
Fiecare URL este prelucrat o singur dat.
Dac URL-ul nu este deja cunoscut, i se aduce pagina. URL-ul i titlul sunt apoi copiate n heap
i pointerii la aceste dou iruri de caractere sunt introdui n urljable. URL-ul este de asemenea
introdus n tabela de dispersie.
n sfrit, process_ud extrage toate hiper-legturile din pagin i apeleaz processjirl pentru
fiecare legtur, transmind URL-ul hiper-legturii ca parametru.
Execuia mainii de cutare nseamn execuia processjui ncepnd cu un URL de plecare.
Cnd se termin cutarea, toate paginile care pot s fie accesate din URL-ul respectiv au fost
introduse n ud table si faza de cutare s-a terminat.
Dei proiectarea este simpl i corect din punct de vedere teoretic, totui are o deficien
serioas pentru un sistem att de mare cum este Web-ul. i anume algoritmul execut o cutare de
tip n adncime", ceea ce nseamn c va intra n recursivitate de un numr de ori egal cu lungimea
celei mai lungi ci neciclice din Web. Nimeni nu tie ct de lung este aceast cale, dar probabil c
este format din mii de hiper-legturi. Ca o consecin, orice main de cutare care utilizeaz o
astfel de abordare o s depeasc dimensiunea stivei nainte de a termina cutarea.
n practic, mainile de cutare actuale colecteaz mai nti toate hiper-legturile din fiecare
pagin citit, le terge pe cele deja prelucrate i le salveaz pe cele rmase. Se face apoi o cutare n
lime"; adic, este urmat fiecare legtur ctre o pagin, sunt colectate toate hiper-legturile din
toate paginile indicate, dar ele nu sunt tratate n ordinea n care au fost obinute.
A doua faz realizeaz indexarea pe cuvinte cheie. Procedura de indexare trece liniar prin
urljable, prelucrnd pe rnd fiecare intrare. Pentru fiecare intrare, examineaz titlul i selecteaz
toate cuvintele care nu sunt coninute ntr-o list special (stop list) care conine prepoziii,
conjuncii, articole i alte cuvinte care apar des, dar nu au valoare. Pentru fiecare cuvnt selectat,
scrie ntr-un fiier o linie constnd din cuvntul respectiv urmat de numrul intrrii n urljable.
Indexul trebuie s fie memorat pe disc i poate s fie utilizat n modul urmtor. Utilizatorul
completeaz un formular indicnd unul sau mai multe cuvinte cheie, dup care apas pe
butonul SUBMIT. Aceast aciune produce trimiterea unei cereri POST pentru un script CGI
pe maina pe care este localizat indexul. Acest script (sau mai curnd un program) caut
cuvintele cheie n index, pentru a afla mulimea de indici n urljable pentru fiecare dintre ele.
Dac utilizatorul cere I-ul logic (BOOLEAN AND) al cuvintelor cheie atunci se calculeaz
mulimea intersecie a mulimilor construite. Dac se dorete SAU-ul logic (BOOLEAN OR),
se calculeaz reuniunea mulimilor respective.
Scriptul caut n urljable pentru a afla toate titlurile i toate URL-urile. Acestea sunt apoi
combinate pentru a produce o pagin de Web care este transmis utilizatorului ca rspuns la cererea
POST. Programul de navigare o s afieze pagina, permind utilizatorului selecia oricrui element
care pare interesant.
Pare uor? Nu este. n orice sistem practic trebuie s fie rezolvate urmtoarele probleme:
1.
2.
Unele URL-uri nu mai sunt valabile (indic spre pagini care nu mai exist).
Unele calculatoare pot s devin temporar inaccesibile.
668
NIVELUL APLICAIE
3.
4.
5.
6.
7.
8.
CAP. 7
URL-urile care nu mai sunt valabile deranjeaz, dar serverul pe care ar fi trebuii s se gseasc
rspunde imediat cu un cod de eroare. Mult mai neplcute sunt situaiile n care serverul este
inaccesibil, deoarece tot ce se observ este un interval de timp foarte lung pentru stabilirea
conexiunii TCP. Pentru a preveni situaia n care se ateapt la nesfrit trebuie s se utilizeze un
interval de limit de timp. Dac intervalul este ales prea scurt, se pot rata URL-uri corecte. Dac
este prea lung, procesul de cutare devine prea lent.
Alegerea URL-ului iniial este o problem major. Dac maina de cutare pornete cu URL-ul
paginii unui astrofizician, s-ar putea s gseasc tot ce se poate despre astronomie, fizic, chimie,
tiina spaiului, dar va pierde complet paginile legate de medicin veterinar i rock'n roii. Aceste
mulimi pot s fie pur i simplu disjuncte. O soluie este s se plece de la un set mare de URL-uri
care s fie utilizate fiecare ca pagin de start. Paginile de start pot s fie obinute din articole de tiri
USENET i din versiunea de sptmna trecut a udjable, deoarece unele din aceste pagini pot s
se fi schimbat recent (de exemplu un astrofizician s-a cstorit cu un veterinar i au hotrt s i
modifice paginile personale pentru a indica una spre cealalt).
Indexarea funcioneaz bine pe texte, dar tot mai multe pagini conin alte elemente dect texte,
inclusiv grafic sau audio sau video. O abordare posibil este s se ncerce pentru fiecare URL nou
metoda HEAD, pentru a obine antetul MIME. Orice nu este de tipul text nu este parcurs.
Peste 20% din paginile de Web nu au titluri i multe au titluri practic nesemnificative (..Pagina
lui Joe"). O mbuntire important a indexului se obine dac n loc de titlu se consider tot
hipertextul. n acest caz, cnd se parcurge o pagin sunt nregistrate i toate legturile, mpreun cu
pagina din care provin i cu pagina spre care indic. Dup faza de cutare, toate hiper-cuvintele pot
s fie i ele indexate.
i mai ambiios este s indexezi toate cuvintele importante din fiecare pagin. Pentru a aia care
sunt cuvintele importante, se calculeaz frecvena cuvintelor care nu fac parte din lista de cuvinte
care se ignor (stop list) pentru fiecare pagin de Web. Probabil c primele 10 sau 20 de cuvinte
merit s fie indexate. n fond, dac ficat" este cel mai utilizat cuvnt ntr-o pagin, exist o ans ca
pagina respectiv s fie interesant pentru un chirurg (sau pentru un buctar). Unele maini de
cutare (de exemplu Lycos) utilizeaz aceast strategie.
n fine, maina de cutare poate s epuizeze spaiul de memorie sau timpul afectat. O posibilitate
este s se reproiecteze algoritmii utilizai cu mai mare atenie. O abordare complet diferit este cea a
lui Harvest, care permite mprirea muncii (Bowman .a., 1994, 1996). n particular, Harvest ofer
un program care se execut pe servere care coopereaz. Acest program face cutarea local i
transmite napoi fiierul index local. Pe serverul central se face mixarea indecilor, obinndu-se
indexul global. Aceast abordare reduce cu cteva ordine de mrime dimensiunea memoriei, timpul
de unitate central i banda de reea necesar, dar prezint dezavantajul major de a cere serverelor
Web s coopereze, executnd software strin. Considernd posibilitatea problemelor legate de virui
SEC. 7.7
MULTIMEDIA
669
sau viermi, atunci cnd unui administrator de sistem i se adreseaz cererea: Vrei s execui acest
program pe maina ta pentru mine?" probabil c va refuza.
Este necesar acum o simpl precizare. Dac scrierea unei maini de cutare pare o sarcin
simpl, o main care funcioneaz prost poate s blocheze reeaua, genernd un numr mare de
cereri inutile, pentru care nu numai c se consum n mod inutil din banda reelei, dar se pot bloca
serverele datorit suprancrcrii. Dac nu v putei abine s scriei propria main de cutare, o
simpl cerin de politee n reea presupune limitarea la domeniul DNS local pn cnd este total
pus la punc.
7.7 MULTIMEDIA
Multimedia reprezint sarea i piperul reelelor de calculatoare. Minile ascuite vd
imense provocri tehnice n furnizarea de video (interactiv) la cerere n fiecare cas. Gulerele
albe vd un profit imens n acestea. Nici o carte despre reele nu va fi complet fr cel puin o
introducere n subiect. Dat fiind lungimea de pn acum a acestei cri, introducerea noastr
va fi scurt. Pentru informaii adiionale despre acest subiect fascinant i potenial profitabil,
vezi (Buford, 1994; Deloddere .a., 1994; Dixit i Skelly, 1995; Fluckiger, 1995; Minoli, 1995; i
Steimetz i Nahrstedt, 1995).
Literal, multimedia nseamn dou sau mai multe media. Dac editorul acestei cri voia s se
alture interesului ia mod despre multimedia, el putea anuna c lucrarea folosete tehnologia
multimedia. n fond, aceasta conine dou media: textul i grafica (desenele). Cu toate acestea,
atunci cnd majoritatea oamenilor se refer la multimedia, de fapt ei se refer la combinarea ntre
dou sau mai multe media continue (continuous media), adic media care trebuie s se desfoare
ntr-un interval bine definit, de obicei folosind interaciunea cu utilizatorul. n practic, cele dou
media sunt audio i video, adic sunete plus filme. Din acest motiv, vom ncepe studiul cu o
introducere n tehnologia audio i video. Apoi, le vom combina i vom trece la sisteme adevrate
multimedia, incluznd video la cerere i sistemul multimedia al Internetului, MBone.
7.71
Audio
O und (sunet) audio este o und cu o dimensiune acustic (presiune). Atunci cnd o und
acustic intr n ureche, pavilionul vibreaz, fcnd ca oasele urechii interne s vibreze o dat cu el,
transmind vibraii nervoase creierului. Aceste vibraii sunt percepute drept sunete de ctre
asculttor. ntr-un mod similar, atunci cnd o und acustic lovete un microfon, acesta genereaz
un semnal electric, reprezentnd amplitudinea sunetului ca funcie de timp. Reprezentarea,
procesarea, memorarea, i transmisia acestor semnale audio constituie prile majore ale studiului
sistemelor multimedia.
Intervalul de frecven pentru urechea uman este cuprins ntre 20 Hz i 20.000 Hz, dei unele
animale, n special cinii, pot percepe frecvene mai nalte. Urechea percepe sunetele n mod
logaritmic, aa nct raportul a dou semnale cu amplitudinile A i B este exprimat convenional n
dB (decibeli) n concordan cu formula:
dB = 201ogio(4/B)
670
NIVELUL APUCATE
CAP. 7
2
Dac definim limita inferioar de audibilitate (o presiune de circa 0,0003 dyne/cm ) pentru
o und sinusoidal de 1 KHz ca 0 dB, o conversaie obinuit este n jur de 50 dB i pragul de
durere este n jur de 120 dB, un interval dinamic cu un factor de 1 milion. Pentru a evita orice
confuzie, A i B de mai sus sunt numite amplitudini. Dac trebuie s folosim nivelul puterii,
care este proporional cu ptratul amplitudinii, coeficientul logaritmului va fi 10, nu 20.
Urechea este surprinztor de sensibil la variaii ale sunetului care dureaz doar cteva
milisecunde. Ochiul, n schimb, nu poate observa schimbrile de nivel "ridicat care dureaz doar
cteva milisecunde. Rezultatul acestei observaii const n faptul c o variaie de numai cteva
milisecunde din timpul unei transmisii multimedia afecteaz calitatea sunetului perceput mai mult
dect afecteaz calitatea imaginii percepute.
(b)
(O
SEC. 7.7
MULTIMEDIA
671
CD-urile audio sunt digitale, cu o rat de eantionare de 44.100 eantioane/sec, suficient pentru
a putea capta frecvenele pn la 22.050 Hz, care sunt bune pentru oameni, dar rele pentru cini.
Eantioanele au fiecare 16 bii i sunt liniare n domeniul amplitudinii. Observai c eantioanele pe
16-bii permit doar 65.536 valori distincte, chiar dac limita dinamic a urechii este de 1 milion
atunci cnd se msoar n uniti de cel mai mic sunet audibil. Astfel, folosind doar 16 bii pe
eantion, se introduce un zgomot de cuantizare (dei ntreaga rat dinamic nu este acoperit - CDurile se presupune c nu rnesc). Cu 44.100 eantioane/sec pe 16 bii fiecare, un CD audio are
nevoie de o lrgime de band de 705,6 Kbps pentru mono i de 1,411 Mbps pentru stereo. Dei
acesta este mai sczut dect necesit video-ul (vezi mai jos), poate acapara aproape un canal ntreg
TI pentru transmiterea necomprimat a sunetului stereo de calitate pentru CD.
Sunetele digitizate pot fi procesate uor de calculatoare, prin programe. Exist zeci de programe
pentru calculatoarele personale care permit utilizatorilor s nregistreze, s afieze, s editeze, s
amestece i s memoreze undele sonore de la surse multiple. Practic, toate nregistrrile, editrile de
sunete profesioniste sunt n prezent digitale.
Multe instrumente muzicale au acum o interfa digital. Atunci cnd instrumentele digitale au
aprut pentru prima dat, fiecare a avut o interfa proprie, dar dup un timp, s-a ales un standard,
MIDI (Music Instrument Digital Interface - interfa digital pentru instrumente muzicale), care a
fost dezvoltat i adoptat de aproape ntreaga industrie muzical. Acest standard specific conectorul,
cablul i formatul mesajului. Fiecare mesaj MID const dintr-un bit de stare urmat de zero sau mai
muli bii de date. Un mesaj MDI transmite un singur eveniment muzical semnificativ. Evenimente
tipice sunt apsarea unei taste, mutarea unui poteniometru, eliberarea unei pedale pentru picior.
Bitul de stare indic evenimentul i biii de date dau parametrii, cum ar fi tasta eliberat i cu ce
vitez s-a micat.
Fiecare eveniment are un cod MIDI asociat. De exemplu, un pian cu coad are asociat 0, un
marimbophon 12 i o vioar 40. Aceasta este necesar pentru a evita ca un concert de flaut s fie
reprodus ca un concert de tub. Numrul de instrumente" definite este 127. Cu toate acestea, unele
nu sunt instrumente, ci efecte speciale ca psri ciripitoare, elicoptere sau aplauze, care nsoesc
multe programe de televiziune.
Inima fiecrui sistem MIDI este un sintetizator (deseori un calculator) care accept
mesajele i genereaz muzica pentru ele. Sintetizatorul nelege toate cele 127 de instrumente
i genereaz un spectru diferit de putere pentru un do central la o trompet fa de un xilofon.
Avantajul transmiterii muzicii folosind MIDI, comparat cu transmiterea unei forme de und
digitizat, este reducerea enorm n lrgime de band, deseori cu un factor de 1000.
Dezavantajul lui MIDI este c receptorul necesit un sintetizator MIDI pentru a reconstrui
muzica i diferite sintetizatoare pot furniza diferite interpretri.
Muzica este desigur un caz special de audio, dar unul important. Alt caz important este discursul.
Discursul uman tinde s fie ntre limitele de 600 Hz i 6000 Hz. Discursul este format din vocale i
consoane, care au proprieti diferite. Vocalele sunt produse atunci cnd coardele vocale sunt
neobstrucionate, producnd, rezonane ale cror frecvene fundamentale depind de dimensiunea i
forma sistemului vocal i de poziia limbii vorbitorului i a gurii. Aceste sunete sunt aproape
periodice pentru intervale n jur de 30 msec. Consoanele sunt produse atunci cnd coarda vocal
este parial blocat. Aceste sunete sunt mai puin regulate dect vocalele.
NIVELUL APUCATE
672
CAP. 7
Cteva sisteme de generare i transmisie de voce pot folosi modelele de sisteme vocale pentru a
reduce vocea la civa parametri (de exemplu, mrimile i formele diferitelor caviti), mai degrab
dect de a eantiona forma de und pentru voce.
7.7.2 Video
Ochiul uman are proprietatea c atunci cnd o imagine este adus pe retin, este reinut un
numr de milisecunde nainte de dispariie. Dac o secven este afiat la 50 sau mai multe
imagini/sec, ochiul nu sesizeaz c se uit la imagini discrete. Toate sistemele video (de exemplu,
televiziunea) exploateaz acest principiu pentru producerea filmelor.
Sisteme analogice
Pentru a nelege sistemele video, este bine s pornim cu vechea televiziune simpl, alb-negru.
Pentru a reprezenta imaginile bidimensionale din faa ei ca o tensiune unidimensional funcie de
timp, camera (de luat vederi) scaneaz imaginea cu o raz electronic, rapid de-a latul i lent n josul
ei, nregistrnd intensitatea luminoas aa cum vine. La sfritul scanrii, numit cadru (frame), raza
reia traseul. Aceast intensitate este difuzat ca funcie de timp, iar receptorii repet procesul de
scanare pentru reconstrucia imaginii. Modelul de scanare folosit de amndoi, att de camer ct i
de receptor, este prezentat n Fig. 7-77. (Camerele CCD integreaz mai degrab dect scaneaz, dar
unele camere i toate monitoarele scaneaz.)
Urmtorul cmp
Linie de scanare. 'ncepe aici
Linie de scanare
' desenat pe ecran
1
3
5
7
9
o.
11
E
P
13
15
483
Revenire
orizontal
Revenire/*'
vertical
SEC. 7.7
MULTIMEDIA
673
674
NIVELUL APLICAIIE
CAP. 7
SEC. 7.7
MULTIMEDIA
675
640x480 (VGA), 800x600 (SVGA), 1024x768 (XGA). Un afiaj XGA cu 24 de bii pe pixel i 25 de
cadre/sec necesit s fie alimentat la 472 Mbps. Chiar OC-9 nu este destul de bun i de altfel rularea
unui purttor OC-9 SONET n casa fiecruia nu este exact la ordinea zilei. Dublarea acestei rate
pentru evitarea plpirii este cu att mai puin atractiv. O soluie mai bun este de a transmite 25
de cadre/sec i calculatorul s le memoreze i s le afieze de dou ori. Televiziunea obinuit nu
folosete aceast strategie, deoarece televizoarele nu au memorie i, n orice caz, semnalele
analogice nu pot fi memorate n RAM fr o conversie prealabil n form digital, care necesit
hardware n plus. Ca o consecin, ntreeserea este necesar pentru televiziunea obinuit, dar nu i
pentru video digital.
7.7.3 Compresia datelor
Ar trebui s fie evident acum c transmisia materialului multimedia n form necomprimat nu
intr n discuie. Singura speran este ntr-o compresie puternic. Din fericire, numeroase cercetri
de cteva decenii au ajuns la mai multe tehnici de compresie i algoritmi care fac posibil transmisia
de multimedia. n aceast seciune vom studia cteva metode pentru compresia datelor multimedia,
n special imagini. Pentru mai multe detalii, vezi (Fluckiger, 1995; i Steinmetz i Nahrstedt, 1995).
Toate sistemele de compresie necesit doi algoritmi: unul pentru comprimarea datelor la surs i
altul pentru decomprimarea lor la destinaie. n literatur, aceti algoritmi sunt numii algoritmi de
codificare i decodificare. Vom folosi i aici aceast terminologie.
Aceti algoritmi au cteva asimetrii a cror nelegere este important. Mai nti, pentru multe
aplicaii, un document multimedia, s zicem un film, va fi codificat o dat (atunci cnd este memorat
pe un server multimedia), dar va fi decodificat de milioane de ori (atunci cnd este vizualizat de
clieni). Aceast asimetrie nseamn c este acceptabil ca algoritmul de codificare s fie lent i s
necesite un hardware suplimentar scump, cu condiia ca algoritmul de decodificare s fie rapid i s
nu cear un hardware costisitor. Mai mult, operatorul unui server multimedia ar putea dori s
nchirieze un supercalculator paralel pentru cteva sptmni, pentru a-i codifica ntreaga
videotec, dar a cere clienilor s nchirieze un supercalculator pentru 2 ore, pentru a vedea un video
nu va avea mare succes. Multe sisteme de compresie fac eforturi pentru ca decodificarea s fie
rapid i simpl, chiar cu preul ncetinirii i complicrii codificrii.
Pe de alt parte, pentru multimedia n timp-real, precum conferine video, codificarea lent este
inacceptabil. Codificarea trebuie fcut din mers, n timp-real. n consecin, multimedia de timpreal folosete algoritmi sau parametri diferii fa de cei utilizai pentru memorarea video-urilor pe
disc, deseori cu mult mai puin compresie.
A doua asimetrie este c procesul de codificare/decodificare nu trebuie sa fie inversabil. Adic,
atunci cnd se comprim un fiier, acesta se transmite i apoi este decomprimat, utilizatorul
ateptnd s-1 obin pe cel original, exact pn la ultimul bit. Cu multimedia, aceast cerin nu
exist. De obicei, este acceptabil s avem un semnal video dup codificare i apoi decodificarea s fie
un pic diferit de original. Atunci cnd ieirea decodificat nu este egal exact cu intrarea original,
sistemul se spune c este cu pierderi (lossy). Dac intrarea i ieirea sunt identice, sistemul este fr
pierderi (lossless). Sistemele cu pierderi sunt importante, deoarece acceptarea unui numr mic de
informaii pierdute poate oferi un avantaj imens n termenii de rat de compresie posibil.
676
NIVELUL APLICAIE
CAP. 7
Codificarea entropic
Schemele de compresie pot fi mprite n dou categorii generale: codificarea entropic i
codificarea sursei. Le vom discuta pe fiecare n parte.
Codificarea entropic (entropy encoding) trateaz irurile de bii fr a se uita la ce nseamn
biii respectivi. Este o tehnic general, fr pierderi i complet reversibil, aplicabil tuturor datelor.
O vom ilustra prin trei exemple.
Primul nostru exemplu de codificare entropic este codificarea n funcie de lungimea
succesiunilor (run-length encoding). n multe tipuri de date, irurile de simboluri repetate (bii,
numere etc.) sunt frecvente. Acestea pot fi nlocuite de un marcaj special care nu este permis n date,
urmat de simbolul care se repet i de numrul apariiilor. Dac marcajul nsui apare n date, el este
duplicat (ca n inserarea caracterelor). De exemplu, considerm urmtorul ir de cifre zecimale:
3150000000000008458711111111111116354674000000000000000000000065
Dac acum introducem A ca marcaj i folosim numere de dou cifre pentru numrarea repetrii,
putem codifica irul de bii de mai sus ca
315A01284587A1131635467 4A02265
677
MULTIMEDIA
SEC. 7.7
encoding), n care o secven de valori (de exemplu, discretizri audio) sunt codificate prin
reprezentarea fiecrei valori ca diferen fa de valoarea precedent. Modularea diferenial a
impulsurilor n cod, pe care am vzut-o n Cap. 2, este un exemplu al acestei tehnici. Este cu pierderi,
deoarece semnalul poate varia att de mult ntre dou valori consecutive, nct diferena s nu poat
fi reprezevtat n cmpul furnizat pentru exprimarea diferenelor i ca urmare se va nregisra cel
puin o valoare incorect, iar o parte din informaie se va pierde.
Codificarea diferenial este un fel de codificare a sursei, deoarece profit de faptul c nu sunt
probabile salturi mari ntre puncte consecutive de date. Nu toate secvenele de numere au aceste
proprieti. Un exemplu fr aceast proprietate este o list generat de calculator cu numere
aleatorii de telefon, care s fie folosit de specialitii n marketing din televiziune pentru a deranja
oamenii de la cin. Diferenele ntre numerele consecutive de telefon din list vor lua tot atia bii
pentru reprezentare ca numerele nsele.
Al doilea exemplu de codificare a sursei const n transformri (transformations). Prin
transformarea semnalelor de la un domeniu la altul, compresia poate deveni mult mai uoar.
S considerm, de exemplu, transformata Fourier din Fig. 2-l(e). Aici o funcie de timp este
reprezentat ca o list de amplitudini. Date fiind valorile exacte ale tuturor amplitudinilor,
funcia original poate fi reconstruit perfect. Cu toate acestea, fiind date doar valorile pentru
primele, s zicem, opt amplitudini rotunjite la dou zecimale, va putea fi posibil s reconstruim
semnalul iniial astfel, nct asculttorul s nu sesizeze c o parte a informaiei a fost pierdut.
Ctigul const n faptul c transmiterea a opt amplitudini cere mai puini bii dect transmisia
unei forme de und eantionat.
Transformrile sunt, de asemenea, aplicabile datelor pentru imagini bidimensionale. S
presupunem c matricea de 4x4 din Fig. 7-78(a) reprezint valorile din scara de gri dintr-o imagine
monocrom. Putem transforma aceste date scznd valoarea din colul stnga-sus din toate
elementele, exceptndu-1 pe el nsui, aa cum se arat n Fig. 7-78(b). Aceast transformare poate fi
util dac se folosete codificarea de lungime variabil. De exemplu, valorile ntre -7 i +7 pot fi
codificate cu numere de 4 bii i valorile ntre 0 i 255 pot fi codificate ca un cod special de 4 bii (-8)
urmat de un numr de 8 bii.
4 pixeli
Valoare pixel
160
-2
-1
(a)
(b)
Fig, 7-78. (a) Valorile pixelilor pentru o parte a unei imagini, (b) O transformare n care
elementul din colul stnga-sus este sczut din toate elementele, cu excepia lui nsui.
NIVELUL APLICAIE
678
CAP. 7
Dei aceast transformare simpl este fr pierderi, altele, mai utile dect ea, nu sunt fr
pierderi. O important transformare spaial bidimensional ese DCT (Discrete Cosine
Transformat!!! - transformarea cosinusoidal discret) (Feig i Winograd, 1992). Aceast
transformare are proprietatea c pentru imagini fr discontinuiti brute, majoritatea puterii
spectrului este n primii civa termeni, permind ca ceilali s fie ignorai fr o pierdere mare de
informaie. Vom reveni la DCT n curnd.
Al treilea exemplu de codificare a sursei este cuantificarea vectorului (vector quantization), care
este direct aplicabil imaginilor. n acest caz, imaginea este mprit n dreptunghiuri de
dimensiune fix. In plus fa de imagine, avem nevoie de o tabel de dreptunghiuri, de aceeai
dimensiune cu dreptunghiurile imaginii (posibil construite din imagine). Aceast tabel se numete
cartea codurilor (code book). Fiecare dreptunghi este transmis cutnd n cartea codurilor i
transmind doar indexul n iocul ntregului dreptunghi. Atunci cnd cartea codurilor este construit
dinamic (adic, pentru fiecare imagine), trebuie transmis i ea. Evident, dac un numr mic de
dreptunghiuri domin imaginea, sunt posibile mari economii n lrgime de band.
Un exemplu de cuantificare a vectorului este artat n Fig. 7-79. n Fig. 7-79(a), avem o gril de
dreptunghiuri de dimensiune nespecificat. n Fig. 7-79(b). avem cartea codurilor. irul de ieire
este exact lista ntregilor 0G1G22G322G04G0 artat n Fig. 7-79(c). Fiecare reprezint o intrare n
cartea codurilor.
ntr-un sens, cuantificarea vectorului ese o generalizare bidimensional a CLUT-uM. Diferena
real const n ceea ce se ntmpl dac nu este gsit o potrivire. Sunt posibile trei strategii. Prima
strategie este folosit pentru gsirea celei mai bune potriviri. A doua strategie este pentru cea mai
bun potrivire i adugarea informaiilor despre cum s se mbunteasc potrivirea (de exemplu,
adugarea valorii medii adevrate). A treia strategie este folosirea celei mai bune potriviri i
adugarea a ceea ce este necesar pentru ca decodificatorui s reconstruiasc daeie exact. Primele
dou strategii sunt cu pierderi, dar permit comprimri mari. A treia strategie este fr pierderi, dar
este mai puin eficient ca un algoritm de comprimare. Din nou, vedem c a codificare (potrivirea
abloanelor) se consum mai mult timp dect la decodificare (indexare ntr-o tabel).
Ptrat cu muti olxss
Cartea
d.
i 2
(ci
MULTIMEDIA
SEC. 7.7
679
Standardul JPEG
Standardul JPEG (Joint Photographic Experts Group - grupul comun al experilor fotografi)
pentru comprimarea imaginilor cu tonuri continue (de exemplu, fotografii), a fost dezvoltat de
experii n fotografii lucrnd sub auspiciile ITU, ISO i IEC, un alt organism de standarde. Este
important pentru multimedia deoarece la o prim aproximare, standardul multimedia pentru filme.
MPEG, este codificarea JPEG a fiecrui cadru separat, plus cteva caracteristici pentru
comprimarea ntre cadre i detectarea micrii. JPEG este definit n Standardul International 10918.
JPEG are patru moduri i multe opiuni. Standardul este mai asemntor cu o list de
cumprturi dect cu un algoritm simplu. Pentru scopurile noastre, doar modul secvenial cu
pierderi este relevant, iar acesta este ilustrat n Fig. 7-80. Cu toate acestea, ne vom concentra asupra
modului n care JPEG este folosit n mod normal pentru codificarea imaginilor video de 24-bii
RGB i vom lsa la o parte detalii minore pentru simplitate.
Intrare
Transformarea j
|i
i cosinusoidal rH Cuantificarea ( I
discret
j |
Pregtirea
blocului
Cuantificarea
diferenial
| Codificarea I
-l funcie de j
] lungime |
Codificarea
statistic
a ieirii
Ieire
Pentru PAL, crominanele sunt notate cu U i V i coeficienii difer, dar ideea este aceeai.
SECAM difer att de NTSC ct si de PAL.
Y
840
RGB
-640
32C
9*!
>
>
>
e e
!
I
!
! 8J|fl
.
Pixe! de 8 bii
1 Bloc
00
9Ofteo
/
Pixel de 24 bii
Bioc 4799
(b)
Fig. 7-81, (a) Date de intrare RGB. (b) Dup pregtirea blocului.
NIVELUL APLICAIE
680
CAP. 7
Pentru YJ i Q sunt construite matrici separate, fiecare cu elemente ntre 0 i 255. Apoi, blocuri
ptrate de patru pixei sunt aranjate n matricele I i Q pentru a le reduce la 320x240. Aceast
reducere este cu pierderi, dar ochiul abia dac observ, deoarece el rspunde la luminan mai mult
dect la crominan. Cu toate acestea, datele sunt comprimate cu un factor de doi. Acum se scade
128 din fiecare element al celor trei matrice pentru a aduce zero la mijlocul intervalului. n fine,
fiecare matrice este divizat n blocuri de 8x8. Matricea Y are 4800 blocuri; celelalte dou au 1200 de
blocuri fiecare, aa cum se arat n Fig. 7-81(b).
/ / / / / |7T// 7
7/
. / / / / /X V I I
O
Q
[IIIIIJIILJZTZLJ
7 / / /
Fx
MULTIMEDIA
SEC. 7.7
Coeficieni DCT
150 80 40 14
92 75 36 10
52 38 26 8
12 8 6 4
Coeficieni cuantificai
6
7
0
0
150 80 20 4
92 75 18 3
4
1
26 19 13 2
3 2 2 1
2 2
1 1
1 0
0
0
0
0
681
1 0
0
0
0
0
0 0
0 0
0
0
0
0
0
0
0
0
Tabela de cuantificare
1
8 16 32 64
8 16 32 64
8 16 32 64
8 16 32 64
8 16 32 64
16 16 16 16 16 16 32 64
32 32 32 32 32 32 32 64
4
64 64 64 64 64 64 64 64
150- :>80
92
75
2e
3
of'
0
0 '*
x'
18 ,3
13
.2
O"''
2
!
-0
0"
:0
X y
X
X
o"
,0
0'
o'-
,0
,0
X
y
0
fi
A'
682
NIVELUL APLICAIE
CAP. 7
JPEG poate prea complicat, pentru c el este cu adevrat complicat. Cu toate acestea, deoarece
produce o compresie de 20:1 sau mai bun, este larg folosit. Decodificarea unei imagini JPEG cere
execuia algoritmului invers. Spre deosebire de ceilali algoritmi de compresie pe care i-am studiat,
JPEG este simetric: decodificarea ia acelai timp ca i codificarea.
Destul de interesant, datorit proprietilor matematice ale DCT-ului, este posibil s se execute
anumite transformri geometrice (de exemplu, rotaia imaginii) direct asupra matricei transformate,
fr regenerarea imaginii iniiale. Aceste transformri sunt discutate n (Shen i Sethi, 1995).
Proprieti similare se aplic de asemenea ia MPEG audio comprimat (Broadhead i Owen, 1995).
Standardul MPEG
In fine, ajungem la miezul lucrurilor: standardele MPEG (Motion Picture Experts Group grupul experilor n filme). Acetia sunt algoritmii principali folosii pentru compresia video i
sunt standarde internaionale din 1993. Deoarece filmele conin att imagini ct i sunete,
MPEG le poate comprima pe amndou, dar deoarece video ia mai mult lrgime de band i
de asemenea conine mai mult redundan dect audio, ne vom concentra nti asupra
compresiei video MPEG.
Primul standard finalizat a fost MPEG-1 (Standard International 11172). Scopul lui a fost de a
produce ieire video de calitatea video recorder-elor (352x240 pentru NTSC) folosind o rat de bii
de 1,2 Mbps. Deoarece am vzut anterior c video necomprimat poate ajunge la 472 Mbps,
reducerea lui la 1,2 Mbps nu este n ntregime nensemnat, chiar i la aceast rezoluie sczut.
MPEG-1 poate fi transmis pe linii torsadate la distane modeste. MPEG-1 este de asemenea folosit
pentru memorarea filmelor pe CD-ROM-uri n formate CD-I i CD-Video.
Urmtorul standard din familia MPEG a fost MPEG-2 (Standard International 13818), care a
fost proiectat iniial pentru comprimarea video de calitate de difuzare ntre 4 i 6 Mbps, ca s se
potriveasc ntr-un canai de difuzare NTSC sau PAL. Mai trziu, MPEG-2 a fost extins pentru a
suporta rezoluii nalte, incluznd HDTV. MPEG-4 este pentru video conferine de rezoluie medie
cu cadre de vitez sczut (10 cadre/sec) i la lrgimi sczute de band (64 Kbps). Aceasta permite
ca video-conferinele s fie inute pe un singur canal N-ISDN B. Dat fiind aceast numerotare,
cineva poate crede c urmtorul standard este MPEG-8. De fapt, ISO le numeroteaz liniar, nu
exponenial. Original, MPEG-3 exist de fapt. A fost creat pentru HDTV, dar proiectul a fost anulat
mai trziu i HDTV a fost adugat la MPEG-2.
Principiile de baz ale lui MPEG-1 i MPEG-2 sunt similare, dar detaliile sunt diferite. La o
prim aproximare, MPEG-2 este un superset al lui MPEG-1, cu posibiliti, formate de cadre i
opiuni de codificare suplimentare. Se pare c MPEG-1 va domina filmele de pe CD-ROM-uri i
MPEG-2 va domina transmisia video pe distane mari. Vom discuta MPEG-1 nti i apoi MPEG-2.
MPEG-1 are trei pri: audio, video i sistem, care le integreaz pe celelalte dou, aa cum este
artat n Fig. 7-85. Codificatoarele audio i video lucreaz independent, ceea ce ridic ntrebarea
cum se sincronizeaz cele dou fluxuri la receptor. Aceast problem se rezolv avnd un ceas
sistem de 90-kHz, care afieaz timpul curent pentru ambele codificatoare. Aceste valori sunt pe 33
de bii, pentru a permite filmelor s ruleze 24 de ore fr depirea valorii maxime. Aceste amprente
de timp sunt incluse n ieirea codificat i propagate spre receptor, care le poate folosi pentru
sincronizare ntre irurile video si audio.
SEC. 7.7
MULTIMEDIA
683
Ceas
<
NIVELUL APLICAIE
684
CAP. 7
Este nevoie de ceva care s compenseze micarea. Aceasta este exact ceea ce face MPEG; este
principala diferen ntre MPEG i JPEG.
Ieirea MPEG-1 const din patru tipuri de cadre:
1.
2.
3.
4.
Cadrele I sunt imagini codificate folosind JPEG, folosind de asemenea luminana cu rezoluie
complet i crominana cu jumtate de rezoluie de-a lungul fiecrei axe. Este necesar s facem ca
aceste cadre I s apar periodic n irul de ieire din trei motive. nti, MPEG-1 poate fi folosit
pentru o transmisie cu trimitere multipl, cu vizualizatori care le acordeaz dup dorin. Dac toate
cadrele depind de predecesoarele lor pn la primul cadru, cineva care a pierdut primul cadru nu va
putea decodifica cadrele succesive. n al doilea rnd, dac un cadru a fost recepionat eronat, nu este
posibil decodificarea n continuare. n al treilea rnd, fr cadre I, atunci cnd se face un avans sau
o revenire rapid, decodificatorul ar trebui s calculeze fiecare cadru peste care trece, aa nct s
tie valoarea complet a cadrului pe care este oprit. Din aceste motive, cadrele I sunt inserate la
ieire o dat sau de dou ori pe secund.
Cadrele P, n contrast, codific diferenele ntre cadre. Ele se bazeaz pe ideea de macroblocuri
(macroblocks), care acoper 16x16 pixeli n spaiul luminanei i 8x8 pixeli n spaiul crominanei. Un
macrobloc este codificat prin cutarea cadrului precedent sau ceva care difer foarte puin de el.
Un exemplu unde se folosesc cadrele P este redat n Fig. 7-86. Aici vedem trei cadre consecutive
care au acelai fundal, dar difer prin poziia unei singure persoane. Macroblocurile care conin
scena fundalului se vor potrivi exact, dar macroblocurile coninnd persoana vor fi afiate la o poziie
cu o deplasare de valoare necunoscut i va trebui s fie nregistrate.
\
te
SS
/
JU
ia r
\
rf
11
JU
I)s 1
ii
K
\
J-
M-
A n
HM
SEC. 7.7
MULTIMEDIA
685
Dac este gsit un macrobloc, acesta este codificat lund diferena fa de valoarea sa din cadrul
anterior (pentru luminan i pentru cele dou crominane). Aceste matrice diferene sunt apoi
subiectul unei transformri cosinusoidale discrete, sunt cuantificate, codificate cu lungimea
succesiunilor i codificate Huffman, la fel ca i cu JPEG. Valoarea pentru macrobloc n fluxul de
ieire este vectorul de micare (ct de departe s-a micat macroblocul din poziia lui precedent pe
fiecare direcie), urmat de lista codificat Huffman a numerelor. Dac macroblocul nu este
localizat n cadrul precedent, valoarea curent este codificat cu JPEG, la fel ca n cadrul I.
Evident, algoritmul este puternic asimetric. O implementare este liber s ncerce fiecare poziie
plauzibil din cadrul precedent, dac vrea s-o fac, ntr-o ncercare disperat de a localiza fiecare
ultim macrobloc. Aceast tratare va minimiza fluxul MPEG-1 codificat, cu preul unei codificri
foarte lente. Aceast abordare poate fi bun pentru o singur codificare a unei filmoteci, dar va fi
groaznic pentru o video conferin n timp-real.
Similar, fiecare implementare este liber s decid ce nseamn un macrobloc gsit".
Aceast libertate permite implementatorilor s concureze prin calitatea i viteza algoritmilor
proprii, dar ntotdeauna produce MPEG-1. Indiferent de ce algoritm de cutare este folosit,
ieirea final este ori codificarea JPEG a macroblocului curent, ori codificarea JPEG a
diferenei ntre macroblocul curent i unul din cadrul precedent la o deplasare specificat fa
de cel curent.
Pn acum, decodificarea MPEG-1 este direct. Decodificarea cadrelor I este la fel ca
decodificarea imaginilor JPEG. Decodificarea cadrelor P cere decodificatorului s memoreze cadrul
precedent i apoi s construiasc noul cadru ntr-un nou tampon bazat pe macroblocuri codificate
complet i macroblocuri care conin diferene fa de cadrul precedent. Noul cadru este asamblat
macrobloc cu macrobloc.
Cadrele B sunt similare cadrelor P, cu excepia faptului c ele permit ca macroblocul de referin
s fie sau ntr-un cadru precedent sau n cel urmtor. Aceast libertate suplimentar permite o
compensare mbuntit a micrii i este de asemenea util atunci cnd obiectele trec naintea sau
n spatele altor obiecte. Pentru a codifica cadrele B, codificatorul trebuie s in n memorie
simultan trei cadre decodificate: cel vechi, actualul i viitorul. Dei cadrele B furnizeaz cea mai
bun compresie, nu toate implementrile le suport.
Cadrele D sunt folosite doar pentru a face posibil afiarea imaginilor de rezoluie mic
atunci cnd se face o revenire sau o naintare rapid. Realizarea decodificrii MPEG-1
normal n timp-real este destul de dificil. Cernd ca decodificatorul s-o fac atunci cnd se
mic prin video de zece ori mai repede dect normal, este prea mult. n schimb, cadrele D
sunt folosite pentru a produce imagini de joas rezoluie. Fiecare intrare a cadrului D este
valoarea medie a unui bloc, fr codificare ulterioar, fcnd posibil afiarea n timp-real.
Aceast facilitate este important pentru a permite oamenilor s caute prin video, la vitez
mare o anumit scen.
Terminnd tratarea lui MPEG-1, s trecem la MPEG-2. Codificarea MPEG-2 este fundamental
similar cu codificarea MPEG-1 cu cadre I, P, i B. Cadrele D nu sunt suportate. De asemenea,
transformarea cosinusoidal discret este de 10x10 n loc de 8x8, pentru a avea cu 50% mai muli
coeficieni i implicit o calitate mai bun. Deoarece este folosit n televiziune i n aplicaiile CDROM, MPEG-2 suport att imagini progresive ct i ntreesute, n timp ce MPEG-1 suport doar
imagini progresive. Sunt i alte detalii minore care difer n cele dou standarde.
NIVELUL APLICAIE
686
CAP. 7
n loc de a suporta doar un singur nivel de rezoluie, MPEG-2 suport patru: sczut (352x240),
principal (720x480), nait-1440 (1440x1152) i nalt (1920x1080). Rezoluia sczut este pentru VCRuri i compatibilitate cu MPEG-1. Principalul nivel este cel normal pentru difuzarea NTSC.
Celelalte dou sunt pentru HDTV.
n afar de faptul c are patru niveluri de rezoluie, MPEG-2 mai suport cinci profite (profiles).
Fiecare profil marcheaz anumite zone ale aplicaiei. Profilul principal este de uz general i probabil
c majoritatea cipurilor vor fi optimizate pentru profilul principal i nivelul de rezoluie principal.
Profilul simplu este similar celui principal, cu excepia excluderii folosirii cadrelor B, pentru a face
codificarea i decodificarea software mai uoar. Celelalte profile folosesc scalabiliatea i HDTV-ul.
Profilele difer n termenii prezenei sau absenei cadrelor B, rezoluiei crominanei i scalabilitii
fluxului de bii codificat la alte formate.
Rata de compresie a datelor pentru fiecare combinaie de rezoluie i profile este diferit.
Acestea variaz ntre 3 Mbps i 100 Mbps pentru HDTV. Cazul normal este de la 3 la 4 Mbps. Date
despre performanele MPEG sunt date n (Pancha i El Zarki, 1994).
MPEG-2 are un mod mai general de multiplexare audio i video dect modelul MPEG-1 din
Fig. 7-85. El definete un numr nelimitat de fluxuri elementare, incluznd video i audio, dar
incluznd de asemenea fluxurile de date care trebuie sincronizate cu audio i video, de exemplu,
subtitlurile n mai multe limbi. Fiecare flux este mpachetat cu amprente de timp. Un exemplu
simplu de dou fluxuri este artat n Fig. 7-87.
Flux
elementar
mpachetat
Video
Codificator
video
Ceas
Audio
mpachetator
*- (Pachete de lungime
variabil,
baz de timp comun}
Codificator
audio
elementar
mpachetat
SEC. 7.7
MULTIMEDIA
687
stream) al lui MPEG-2 este similar cu fluxul sistem al lui MPEG-1 din Fig. 7-85. Este folosit pentru
multiplexarea ansamblului fluxurilor elementare care au o baz de timp comun i care trebuie
afiate ntr-un mod sincronizat. Fluxul de program folosete pachete cu lungime variabil.
Cellalt flux MPEG-2 este fluxul de transport (transport stream). Este folosit pentru
multiplexarea fluxurilor (incluznd fluxurile de program) care nu folosesc o baz de timp comun.
Pachetele fluxului de transport au lungime fix (188 de bii), pentru a face mai uoar limitarea
efectelor pachetelor eronate sau pierdute n timpul transmisiei.
Este bine de observat c toate schemele de codificare despre care am discutat se bazeaz
pe modelul de codificare cu pierderi, urmat de o transmisie fr pierderi. Nici JPEG, nici
MPEG, de exemplu, nu pot recupera, ntr-un mod convenabil, pachetele pierdute sau eronate.
O abordare diferit pentru transmisia imaginilor este de a transforma imaginile ntr-un mod n
care se separ informaia important de cea mai puin important (cum face DCT, de
exemplu). Apoi se adug o cantitate de redundan (chiar pachete duplicate) la informaia
important i niciuna celei mai puin importante. Dac unele pachete sunt pierdute sau
deformate, este posibil s afim imagini rezonabile fr retransmisie. Aceste idei sunt descrise
n detaliu n (Danskin .a., 1995). Ele sunt n special aplicabile la transmisiile cu trimitere
multipl, unde reacia invers de la fiecare receptor este imposibil.
7.7.4 Video Ia Cerere
Video la cerere este cteodat comparat cu un magazin de nchiriere a casetelor video.
Utilizatorul (clientul) selecteaz unul dintr-un numr mare.de video-uri pe care le are la dispoziie i
l ia acas pentru a-1 viziona. Doar c pentru video la cerere, selecia este fcut acas folosind
telecomanda televizorului i caseta video ncepe imediat. Nu este necesar o excursie la magazin.
Este inutil s spunem c implementarea video-uui la cerere este un pic mai complicat dect
descrierea lui. n aceast seciune vom face o prezentare a ideilor de baz i a implementrii lor. O
descriere a unei implementri reale poate fi gsit n (Nelson i Linton, 1995). O tratare mai
general a televiziunii interactive poate fi gsit n (Hodge, 1995). Alte referine interesante sunt
(Chang .a., 1994; Hodge .a., 1993; i Little i Venkatesh, 1994).
Este video la cerere ntr-adevr precum nchirierea unei casete video sau mai degrab
precum alegerea unui film pentru vizionare la sisteme de televiziune prin cablu cu 500 sau
5000 de canale? Rspunsul are importante implicaii tehnice. n particular, utilizatorii de
casete video nchiriate sunt obinuii cu ideea s opreasc un film, s se duc la buctrie sau
ia baie i apoi s continue din locul n care caseta video a fost oprit. Telespectatorii nu se
ateapt s opreasc un program.
Pentru a concura cu succes cu magazinele de nchiriere, video-ul la cerere ar trebui s poat opri,
porni i relua casetele video la dorin. Asigurarea acestei posibiliti oblig furnizorul de video s
transmit o copie separat fiecrui utilizator.
Pe de alt parte, dac video-ul la cerere este vzut mai mult ca o televiziune avansat, atunci este
suficient ca furnizorul de casete video s porneasc fiecare video popular la fiecare 10 minute i s
ruleze non-stop. Un utilizator care dorete s vad un astfel de film trebuie s atepte cel mult 10
minute pentru ca el s nceap. Dei oprirea i repornirea nu este posibil aici, o persoan care se
ntoarce n camer dup o scurt pauz, poate comuta pe un alt canal, care prezint aceeai caset
video, dar cu o ntrziere de 10 minute. Ceva se va repeta dar nu va fi pierdut nimic. Aceast schem
NIVELUL APLICAIE
688
CAP. 7
este numit video aproape la cerere (near video on demand). El ofer posibilitatea unui cost mult
mai sczut, deoarece acelai semnal de la furnizorul de casete video poate ajunge la mai muli
utilizatori odat. Diferena ntre video la cerere i video aproape la cerere este similar cu diferena
ntre a circula cu maina proprie i a lua autobuzul.
Privitul filmelor aproape la cerere este numai unul dintr-o gam larg de noi servicii posibile de
cnd este disponibil reeaua n band larg. Modelul general pe care muli l folosesc este ilustrat n
Fig. 7-88. n centrul sistemului se afl o reea cu coloan vertebral de arie larg (naional sau
internaional) cu lrgime de band mare. La ea sunt conectate mii de reele de distribuie local,
cum ar fi cabluri TV sau sisteme distribuite ale companiei de telefoane. Sistemele de distribuie
local ajung n casele oamenilor, unde se opresc n cutii de conectare (set-top boxes), care sunt, de
fapt, calculatoare personale specializate.
Mii de furnizori de informaie sunt ataai la coloana vertebral prin fibre optice de lrgime
de band mare. Unii dintre acetia vor oferi video plat-pe-vizualizare sau CD audio plat-peascultare. Altele vor oferi servicii specializate, precum cumprturi de la domiciliu (cu
posibilitatea de a roti o cutie de sup i a mri lista de ingrediente sau de a vedea un video-clip
despre cum s conduc o main de cosit). Fr ndoial c n curnd vor deveni disponibile
sporturile, tirile, relurile I Love Lucy", accesul la WWW i nenumratele alte posibiliti.
Server
video
Casa
Reea de distribuie j clientului
local
Server
audio
Server
local de
virtualizare
Reea de distribuie
local
SEC. 7.7
MULTIMEDIA
689
Video-Servere
Pentru a avea video (aproape) la cerere, avem nevoie de video-servere (video servers) capabile s
memoreze si s transmit simultan un numr mare de filme. Numrul total de filme realizate este
estimat la 65.000 (Minoli, 1995). Atunci cnd este comprimat n MPEG-2, un film normal ocup n
jur de 4 GB, aa c 65.000 de filme ar necesita n jur de 260 terabii. Adugai la aceasta toate
programele vechi de televiziune care au fost vreodat realizate, filmele de sport, jurnalele sonore,
cataloagele vorbitoare pentru cumprturi etc. i este clar c ne confruntm cu o problem de
nmagazinare foarte dificil.
Cea mai ieftin soluie pentru memorarea unui volum mare de informaie este pe band
magnetic. Acesta a fost mereu cazul i probabil va continua s fie. O band DAT poate
memora 8 GB (dou filme) la un cost de circa 5 dolari/gigabii. Actualmente sunt
comercializate servere mari, mecanice, de benzi care pstreaz mii de benzi i au un bra
robotic pentru extragerea fiecrei benzi i inserarea ei ntr-o unitate de band. Problema cu
aceste sisteme este timpul de acces (n special pentru al doilea film de pe band), viteza de
transfer i numrul limitat de uniti de band (pentru a servi n filme deodat, unitatea
necesit n uniti).
Din fericire, experiena cu magazinele de nchiriat video, bibliotecile publice i alte astfel
de organizaii arat c nu toate produsele sunt la fel de populare. Experimental, atunci cnd
sunt disponibile N filme, fracia tuturor cererilor pentru filmul care ocup locul k n topul
popularitii este de aproximativ C/k (Chervenak, 1994). Aici C este calculat pentru a
normaliza suma la 1, cu formula:
C=1/(1+1/2+1/3+1/4+1/5+...+1/N)
Astfel, filmul de pe primul loc este de apte ori mai popular dect filmul de pe locul apte. Acest
rezultat este cunoscut drept legea lui Zipf (Zipf, 1949).
Faptul c unele filme sunt mai populare dect altele sugereaz o soluie posibil n
forma ierarhiei de memorare, aa cum se arat n Fig. 7-89. Aici, performana crete cu
ct se urc n ierarhie.
RAM
RAID
Disc optic
Arhiv pe band magnetic
690
NIVELUL APLICAIE
CAP. 7
de 10 msec), costul lor sczut i fiabilitatea ridicat fac din automatele optice care conin mii de CDROM-uri o alternativ bun fa de band n cazul filmelor cel mai mult folosite.
Urmeaz discurile magnetice. Acestea au timp de acces mic (10 msec), viteza de transfer
mare (10 MB/sec), i capaciti substaniale (10 GB), care le fac potrivite pentru memorarea
filmelor care sunt transmise efectiv (spre deosebire de simpla memorare pentru cazul c
cineva ar dori vreodat s le vad). Marele lor inconvenient este costul ridicat pentru
memorarea filmelor care sunt rar accesate.
n vrful piramidei din Fig. 7-89 este RAM. RAM-ul este cel mai rapid mediu de stocare,
dar i cel mai scump. Este potrivit pentru filmele ale cror pri sunt transmise ctre destinaii
diferite n acelai timp (de exemplu, adevratele video la cerere pentru 100 de utilizatori care
au pornit la diferite momente de timp). Atunci cnd preurile la RAM ajung la 10
dolari/megaoctet, un film de 4-GB va ocupa RAM n valoare de 40.000 de dolari, aa c
existena a 100 de filme n RAM va costa 4 milioane de dolari pentru 400 GB de memorie. n
plus, pentru un video-server de 10 milioane de dolari, aceast cheltuial ar putea fi justificat
dac fiecare film are suficieni clieni care pltesc simultan.
Deoarece un video-server nu este dect un imens dispozitiv de I/O n timp-real, el necesit o alt
arhitectur hardware i software dect un PC sau o staie de lucru UNIX. Arhitectura hardware a
unui video-server tipic este prezentat n Fig. 7-90. Serverul are una sau mai multe uniti centrale
RISC de nalt performan, fiecare cu memorie local, o memorie principal partajat, o memorie
tampon RAM de mare capacitate pentru filmele populare, o varietate de echipamente de stocare
pentru pstrarea filmelor i hardware de conectare n reea, n mod normal o interfa optic cu o
reea ATM (sau SONET) la viteza unui OC-3 sau mai ridicat. Aceste subsisteme sunt conectate
printr-o magistral de foarte mare vitez (cel puin de 1 GB/sec).
CPU
RAM
local
Memorie
cache(RAM)
pentru filme
Memorie
principal
Magistral
de vitez mare
Controler
de band
magnetic
Arhiv benzi
Controler
de disc
optic
Tonomat optic
Controler
de disc
magnetic
a R R R
Q e e e
e e e e
e e e e
Interfa
de reea
Ctre
comutator
ATM
RAID
SEC. 7.7
MULTIMEDIA
691
clienilor, i multe alte funcii. Unele dintre acestea nu sunt critice n timp, dar multe altele sunt, aa
c unele, dac nu toate unitile centrale, va trebui s ruleze un sistem de operare de timp-real, cum
ar fi un micronucleu de timp-real. n mod normal aceste sisteme mpart munca n operaii mai
simple, fiecare cu un termen final cunoscut. Atunci planificatorul poate rula un algoritm de tip
alege termenul cel mai apropiat" sau un algoritm monoton al vitezelor (Liu i Layland, 1973).
Software-ul unitii centrale definete i natura interfeei pe care serverul o prezint clienilor
(servere de virtualizare i cutii de conectare). Exist dou tipuri populare. Primul este un sistem de
fiiere tradiional, n care clienii pot deschide, citi, scrie i nchide fiiere. Spre deosebire de
complicaiile introduse de ierarhia de memorii i consideraiile de timp-real, un astfel de server
poate avea un sistem de fiiere modelat dup cel din UNIX.
Al doilea tip de interfa este bazat pe modelul video-recorderului. Comenzile adresate
serverului solicit deschiderea, rularea, oprirea, derularea rapid nainte i napoi a fiierelor.
Diferena fa de modelul UNIX este c atunci cnd este dat o comand PLAY, serverul continu
s transmit date la o vitez constant, fr a necesita comenzi noi.
Inima software-ului video-serverului este sistemul de gestiune a discului. Acesta are dou misiuni
principale: plasarea filmelor pe discul magnetic atunci cnd trebuie extrase de pe band sau din
memoria optic i tratarea cererilor ctre disc pentru multiplele fluxuri de ieire. Plasarea filmelor
este important, deoarece poate afecta foarte mult performanele.
Dou modaliti de organizare a memorrii pe disc sunt ferma de discuri i irul de discuri. In
cazul fermei de discuri (disk farm), fiecare unitate pstreaz doar cteva filme ntregi. Din motive de
performan i fiabilitate, fiecare film trebuie s fie prezent pe cel puin dou uniti, poate chiar mai
multe. Cealalt organizare de memorare este cea de tablou de discuri (disk array) sau RAID
(Redundant Array of Inexpensive Disks - tablou redundant de discuri ieftine), n care fiecare film
este mprit pe mai multe uniti, de exemplu blocul 0 pe unitatea 0, blocul 1 pe unitatea 1, i aa
mai departe, cu blocul n -1 pe unitatea n-l. Dup aceasta, ciclul se repet, cu blocul n pe unitatea 0
i aa mai departe. Aceast organizare este numit repartizare (striping).
Un ir de discuri repartizat are mai multe avantaje dect o ferm de discuri. Mai nti, toate cele
n uniti pot rula n paralel, mrind performana cu factorul n. n al doilea rnd, poate fi fcut
redundant prin adugarea unei uniti n plus la fiecare grup de n, unde unitatea redundant conine
SAU EXCLUSIV bloc-cu-bloc ale celorlalte uniti, pentru a permite recuperarea complet a
datelor n cazul n care o unitate se defecteaz. n sfrit, problema echilibrrii ncrcrii este
rezolvat (nu este necesar plasarea manual pentru evitarea plasrii tuturor filmelor populare pe
aceeai unitate). Pe de alt parte, organizarea de tip ir de discuri este mai complicat dect ferma
de discuri i mai sensibil la defecte multiple. De asemenea este nepotrivit pentru operaii ale
video-recorder-ului, cum ar fi derularea rapid a unui film nainte sau napoi. Un ctudiu de simulare
care compar cele dou organizri este prezentat n (Chervenak .a., 1995).
Strns legat de plasarea blocurilor este gsirea blocurilor de pe discuri. Schema UNIX cu un
arbore neechilibrat de blocuri de disc referite de i-nod este de obicei inacceptabil, deoarece
fiierele video sunt imense, aa c majoritatea blocurilor pot fi localizate printr-un bloc indirect
triplu, care nseamn multe accese suplimentare la disc (Tanenbaum, 1992). n schimb, este
obinuit legarea blocurilor ntr-o list simplu sau dublu nlnuit. Cteodat, pentru a permite
accesul aleatoriu, se utilizeaz i un index stil UNIX (i-node).
Cealalt misiune a software-ului de disc este de a servi toate fluxurile de ieire de timp-real i de
a respecta constrngerile de timp ale acestora. Un flux video MPEG-2 la 25 cadre/sec trebuie s
NIVELUL APLICAIE
692
CAP. 7
preia i s transmit n jur de 14 KB la fiecare 40 msec, dar valoarea efectiv variaz considerabil,
deoarece cadrele I, P i B au rate de compresie diferite. n consecin, pentru a menine o rat de
ieire uniform, este necesar s se realizeze o memorare la ambele capete ale fluxului.
n Fig. 7-91 se prezint o scar artnd scalabilitatea total de date aduse de pe disc pentru un
flux de video dat (presupunnd c filmul este pe disc). Acesta se mic n salturi discrete, un salt
pentru fiecare bloc citit. Cu toate acestea, transmisia trebuie s se realizeze la o rat uniform, astfel
nct procesul de citire trebuie s devanseze procesul de transmitere. Aria umbrit din figur arat
datele care au fost preluate de pe disc, dar nu au fost nc transmise.
n mod normal, discurile sunt planificate folosind algoritmul liftului, care pornete braul i-1
mic spre interior i continu pn cnd ajunge la ultimul cilindru interior, prelucrnd toate cererile
pe care le primete n ordinea cilindrilor. Atunci cnd ajunge ct de departe poate, braul i
inverseaz micarea i ncepe s se mite spre exterior, prelucrnd toate cererile n ordinea dat.
Dei minimizeaz timpul de cutare, acest algoritm nu garanteaz performane de timp-real, deci nu
este folositor pentru un video-server.
Cantitatea de date
citit de pe disc
u
co
o
Ol
CD
Date memorate
n tampon
SEC. 7.7
MULTIMEDIA
693
fi capabil s le gseasc fr decodificarea ntregului flux, iar n mod normal serverele nu fac
decodificare MPEG n timpul transmiterii. Pentru MPEG-2 este necesar un alt mecanism, cel puin
pentru a simplifica gsirea i decodificarea cadrelor I.
n sfrit, alt aspect este criptarea. Atunci cnd filmele sunt difuzate ctre destinaii multiple (de
exemplu, dac reeaua de distribuie local este un sistem de TV prin cablu), criptarea este necesar
pentru a asigura c filmele pot fi vzute doar de clieni care pltesc. Sunt posibile dou abordri:
precriptarea i criptarea din mers. Dac filmele sunt memorate criptate, atunci oricine afl cheia
filmului ar putea s priveasc filmul pe gratis pentru c de fiecare dat se utilizeaz aceeai cheie.
Criptarea separat pentru fiecare flux este mai sigur, dar i mai costisitoare n ceea ce privete
resursele de calcul.
Gestiunea cheilor este de asemenea o problem. Abordarea uzual este de criptare din mers cu
un algoritm simplu, dar cu schimbarea frecvent a cheii, aa nct dac un intrus poate sparge cheia
n 10 min, aceasta va fi deja nvechit.
Reeaua de distribuie
Reeaua de distribuie este un set de comutatoare si linii ntre surs si destinaie. Asa cum vedem
n Fig. 7-88, ea const dintr-o coloan vertebral SONET sau ATM (sau ATM peste SONET)
conectat la o reea de distribuie local. n mod obinuit, coloana vertebral este comutat, dar
reeaua local nu.
Principalele cerine impuse coloanei vertebrale sunt lrgimea de band mare i fluctuaia
sczut. Pentru o coloan vertebral pur SONET, acestea sunt simplu de atins - lrgimea de band
este garantat i fluctuaia este zero deoarece reeaua este sincron. Pentru o coloan vertebral
ATM, sau ATM peste SONET, calitatea serviciului este foarte important. Ea este gestionat de un
algoritm al gleii gurite i de toate celelalte tehnici pe care le-am studiat n detaliu n Cap. 5, aa
nct nu vom repeta discuia aici. Pentru informaii suplimentare despre MPEG de timp-real prin
coloana vertebral ATM, vezi (Dixit i Skelly, 1995; i Morales .a., 1995). n cele ce urmeaz ne vom
concentra asupra reelei de distribuie, un subiect pe care de abia l-am atins pn acum.
Distribuia local este haotic, cu diferite companii ncercnd diferite reele n diferite
regiuni. Companiile telefonice, companiile de TV prin cablu i noii intrai sunt convini
cu toii c cel care ajunge primul va fi ctigtorul cel mare, aa nct asistm la o
proliferare a tehnologiilor instalate. Cele patru scheme principale de distribuie local
pentru video la cerere sunt identificate prin acronimele ADSL, FTTC, FTTH i HFC. Le
vom explica pe fiecare pe rnd.
ADSL (Asymmetric Digital Subscriber Line - linie de abonat digital asimetric) a fost primul
reprezentant al industriei telefonice n domeniul distribuiei locale (Chen i Waring, 1994). Ideea
este c fiecare cas din Statele Unite, Europa i Japonia are deja o pereche torsadat de cupru
(pentru servicii telefonice analogice). Dac aceste fire pot fi folosite pentru video la cerere,
companiile telefonice ar putea s elimine concurena.
Problema, desigur, este c aceste fire nu pot suporta nici chiar MPEG-1 pe lungimea lor tipic de
10 km, ca s nu mai vorbim de MPEG-2. Soluia ADSL profit de avantajul progreselor n
prelucrarea semnalului digital pentru eliminarea electronic a ecourilor i a altor zgomote. Aa cum
se arat n Fig. 7-92, fiecare abonat la ADSL are o unitate de abonare ADSL la domiciliu coninnd
un cip de prelucrare a semnalelor digitale. Telefonul i cutia de conectare se conecteaz la unitatea
NIVELUL APLICAIE
694
CAP. 7
ADSL. La cellalt capt al buclei locale este ataat o alt unitate ADSL. Aceasta poate s fie ntrun oficiu final al companiei telefonice sau, dac bucla local este prea lung, la captul unei fibre
optice din cartierul casei.
I Unitate d e , ~
r e e a
ADSL
Conexiune de fibr
optic spre oficiu final
\-~-
L.-
1
__J
Unitate de
abonat
ADSL
SEC. 7.7
MULTIMEDIA
695
urmtoarea. Cablurile coaxiale actuale de la 300 la 450 MHz vor fi nlocuite prin cabluri coaxiale la
750 MHz, mbuntind capacitatea de la 50 la 75 canale de 6 MHz la 125 canale de 6-MHz.
aptezeciicinci din cele 125 de canale vor fi folosite pentru transmiterea televiziunii analogice.
Cele 50 de canale noi vor fi modulate folosind QAM-256, care furnizeaz n jur de 40 Mbps pe
canal, dnd un total de 2 Gbps de lrgime de band nou. Capetele vor fi mutate n cartier, aa nct
fiecare cablu este pentru 500 de case. Simpla mprire arat c fiecrei case i poate fi alocat un
canal dedicat de 4 Mbps, care poate fi folosit pentru o combinaie de programe MPEG-1, programe
MPEG-2, flux de date ascendente, telefonie digital i analogic i aa mai departe.
Dei sun minunat, se cere furnizorilor de cabluri s le nlocuiasc pe cele existente cu cabluri
coaxiale de 750 MHz, sa instaleze noile capete de distribuie i s elimine toate amplificatoarele
unidirecionale - pe Scurt, s nlocuiasc ntregul sistem de TV prin cablu. n consecin, volumul de
infrastructur nou este comparabil cu ceea ce este necesar companiilor telefonice pentru FTTC. n
ambele cazuri, furnizorul reelei locale trebuie s instaleze fibra optic n cartierele rezideniale. Din
nou, n ambele cazuri, fibra se termin la un convertor optic-electric. n FTTC, segmentul final este
o bucl local punct-la-punct care folosete perechi torsadate. In HFC, segmentul final este un cablu
coaxial partajat. Tehnic vorbind, aceste dou sisteme nu sunt chiar att de diferite pe ct vor s le
prezinte creatorii lor.
Cu toate acestea, exist o diferen real care merit s fie amintit. HFC folosete un mediu
partajat fr comutare sau dirijare. Orice informaie transmis prin cablu poate fi preluat de orice
abonat fr mult zarv. FTTC, care este complet comutat, nu are aceast proprietate. Ca rezultat,
operatorii HFC vor ca video-serverele s trimit fluxuri criptate, aa nct clienii care nu au pltit
pentru un film, s nu-1 poat vedea. Operatorii FTTC nu doresc criptarea deoarece mrete
complexitatea, scade performana i nu furnizeaz securitate suplimentar n sistemul lor. Din
punctul de vedere al unei companii care ruleaz un video-server, este o bun idee s se cripteze sau
nu? Un server folosit de o companie telefonic sau unul din subsidiarii sau partenerii si poate s
decid s nu cripteze video-urile, pretinznd eficiena ca motiv, dar de fapt pentru a cauza pierderi
economice competitorilor HFC.
Pentru toate reelele locale de distribuie, este clar c fiecare cartier va fi echipat cu unul sau mai
multe servere de virtualizare. Acestea sunt, de fapt, doar versiuni mai mici ale video-serverelor
despre care am discutat nainte. Marele avantaj al acestor servere locale este c, deoarece reelele
locale distribuite sunt scurte i n general nu sunt comutate, ele nu introduc fluctuaie, aa cum face
o reea cu coloan vertebral ATM.
Ele pot fi prencrcate cu filme fie dinamic, fie prin rezervare. De exemplu, atunci cnd un
utilizator selecteaz un film, primul minut ar putea fi transmis ctre un server local n mai
puin de 2 secunde la OC-3. Dup 55 secunde, urmtorul minut ar fi expediat ctre serverul
local n 2 secunde i aa mai departe. n acest fel, traficul prin coloana vertebral ATM nu mai
trebuie s fie fr fluctuaii, fcnd posibil utilizarea serviciului ABR n loc de serviciul CBR,
care este mai scump.
Dac oamenii spun furnizorului n avans ce filme doresc, ele pot fi transferate pe serverul local n
orele care nu sunt de vrf, rezultnd economii i mai mari. Aceast observaie orienteaz operatorii
de reea spre atragerea personalului de la companiile aeriene pentru stabilirea, tarifelor. Se pot
imagina tarife n care filmele cerute cu 24 pn la 72 de ore n avans pentru a fi vizionate marea sau
joia nainte de 6 seara sau dup 11 seara, primesc o reducere de 27 la sut. Filmele comandate n
696
NIVELUL APLICAIE
CAP. 7
prima duminic a lunii nainte de 8 dimineaa pentru a fi vizionate miercuri dup-amiaza, ntr-o zi a
crei dat este un numr prim, beneficiaz de o reducere de 43 la sut i aa mai departe.
Alegerea stivei de protocoale utilizate pentru video la cerere este nc n lucru. ATM este clar
tehnologia care trebuie aleas, dar ce protocol de adaptare ar trebui folosit? AAL 1 a fost proiectat
pentru video, aa nct este un candidat puternic, dar el corespunde categoriei de servicii CBR.
Dedicnd maximul posibil de lrgime de band este costisitor, n special de cnd MPEG este inerent
pentru un trafic VBR, aa nct circuitul virtual trebuie s fie supradimensionat.
AAL 2 nu este terminat (i probabil nu va fi niciodat) i AAL 3/4 este prea stngaci, aa
nct AAL'5 este singurul concurent rmas. El nu este legat de serviciul CBR i trimiterea unui
bloc mare de MPEG n fiecare mesaj ar fi extrem de eficient, ajungnd pn la 100% din
lrgimea de band a utilizatorului pentru fluxul video. Pe de alt parte, AAL 5 face detectarea
erorilor. Eliminarea unui ntreg bloc datorit unei erori de 1 bit nu este deloc atractiv, n
special deoarece majoritatea erorilor sunt erori de un singur bit la mijlocul datelor. Ca o
consecin, exist o micare pentru a modifica AAL 5 pentru a permite aplicaiilor s cear
toate blocurile, mpreun cu un bit care s spun dac suma de control a fost sau nu corect.
Stiva de protocoale a video-ului la cerere schiat anterior este ilustrat n Fig. 7-93. Deasupra
nivelului AAL, exist programul MPEG i nivelul de flux de,transport. Apoi ajungem ia codificarea
i decodificarea audio i video MPEG. n sfrit, pe nivelul cel mai de sus avem aplicaia.
Aplicaii
audio MPEG
video MPEG
PS
TS
AAL1
AAL 5
MPEG-
Nivel ATM
SEC. 7.7
MULTIMEDIA
697
monitor de mare rezoluie nentreesut, are o interfa utilizator sofisticat, orientat pe maus i
poate fi integrat uor cu WWW i alte surse de informaii i de distracie orientate pe calculatoare.
Pe de alt parte, PC-urile au de obicei ecrane mici, se afl n birouri n loc de camere de zi i sunt
folosite n mod tradiional de o singur persoan la un moment dat. Ele emit i mult mai puin
lumin dect televizoarele.
n a doua abordare, operatorul de reea local nchiriaz sau vinde utilizatorului o cutie de
conectare (set-top box) la care sunt conectate reeaua i televizorul. Aceast abordare are avantajul
c oricine are un televizor, dar nu toi au un calculator, sau multe persoane au
PC-uri vechi, speciale sau, cu alte cuvinte, nepotrivite pentru decodificarea MPEG. n afar de
acestea, televizorul se afl deseori ntr-o camer destinat unui grup de privitori.
Pe de alt parte, monitorul are un afiaj cu rezoluie redus ntreesut (fcndu-1 nepotrivit
pentru material sub form de text, precum este WWW). n plus, are o interfa primitiv cu
utilizatorul (telecomand), pentru utilizatori fiind imposibil s fac altceva dect s selecteze
opiunile din meniuri. Chiar introducerea numelui unui film este chinuitoare, ca s nu mai vorbim
despre angajarea unui dialog cernd serverului cutarea tuturor filmelor realizate de un anumit
actor, regizor sau o companie de producie ntr-o anumit perioad de timp. n sfrit, cutiile de
conectare cu performana cerut nu sunt uor de realizat la un pre acceptabil (gndit s fie de
cteva sute de dolari).
Odat considerai toi aceti factori, majoritatea sistemelor video la cerere au optat pentru
modelul cu cutii de conectare, n primul rnd pentru c productorii de mas le displace s exclud
orice cumprtor posibil (persoane fr PC). De asemenea, se pot ctiga bani prin nchirierea sau
vnzarea cutiilor de conectare. Cu toate acestea, piaa de plci atasabile este suficient de mare, aa
nct aceste plci vor fi de asemenea produse.
CPU
RAM
ROM
1/0
/
MPEG
Reea
Ctre reea
H: Telecomand
Televizor
698
NIVELUL APLICAIE
CAP. 7
utilizatorul. Funcii suplimentare pot include interfaarea cu stereo-mi, telefoane i alte aparate. O
btlie important se d n industrie n legtur cu numrul de funcii ce trebuie ndeplinite de cutia
de conectare i respectiv de reea. Rmne de vzut ce se va ntmpla.
O arhitectur posibil pentru o cutie de conectare simpl este prezentat n Fig. 7-94. Aparatul
const din CPU, ROM, RAM, controlor I/O, decodificator MPEG i interfaa de reea. Opional,
poate fi adugat i un cip de securitate pentru decriptarea filmelor primite i criptarea mesajelor
transmise (numerele crilor de credit pentru cumprturi etc).
Un aspect important pentru video la cerere este sincronizarea audio/video i gestiunea
fluctuaiilor. Adugarea a 500 KB suplimentari de RAM permite memorarea MPEG-2 pentru o
secund, dar conduce la o cheltuial suplimentar pentru un aparat pe care productorii sper s-1
vnd pentru cel mult cteva sute de dolari.
Deoarece cutia de conectare este doar un calculator, va necesita programe, probabil un sistem de
operare de timp-real bazat pe un micronucleu pstrat n ROM. Pentru a furniza flexibilitate i
adaptabilitate, probabil c este o idee bun s se dea posibilitatea ncrcrii altor programe din
reea. Aceast posibilitate ridic problema despre ce se ntmpl atunci cnd proprietarul unei cutii
de conectare bazat pe MIPS vrea s joace un joc scris pentru o cutie de conectare bazat pe
SPARC? Utilizarea unui limbaj interpretat precum Java rezolv problema compatibilitii, dar
reduce drastic performana n mediul de timp-real, unde performana nalt este crucial.
Standarde
Aspectele economice ale video-uiui la cerere nu pot fi ignorate. Un video-server mare poate
costa mai mult dect un calculator, adic 10 milioane dolari. S presupunem c el servete 100.000
de case, fiecreia nchiriindu-i o cutie de conectare ia 300 dolari. Acum adugai echipament de
reea n valoare de 10 milioane de dolari i o perioad de depreciere de 4 ani i rezult c sistemul
trebuie s genereze 10 dolari pe lun pe cas. La 5 dolari/film fiecare trebuie s cumpere dou filme
pe lun pentru ca operatorul s-i acopere cheltuielile (excluznd salariile, marketingul i alte
costuri). Nu este evident dac acest lucru se ntmpl sau nu.
Ce tehnologie va fi foiosit pentru coloana vertebral (SONET, ATM, SONET + ATM)?
La ce vitez va funciona coioana vertebral (OC-3, OC-12)?
Cum se va face distribuia local (HFC, FTTQ?
Ce iungime de band va exista pentru fluxul de intrare (16 Kbps, 1.5 Mbps)?
Vor fi criptate filmele i dac da, cum?
Se va face corectarea erorilor (obligatoriu, opional, va lipsi)?
Cine va fi proprietarul cutiei de conectare (utilizator, operator de reea)?
Telefonia va face parte din sistem (analog, N-ISDN)?
Aplicaiile hipertext de rezoluie mare vor fi suportate (de exemple, WWW)?
SEC. 7.7
MULTIMEDIA
699
700
NIVELUL APLICAIE
CAP. 7
Tunelurile sunt configurate manual. n mod uzual, un tunel este o cale pentru care exist o
conexiune fizic, dar aceasta nu este o cerin. Dac, accidental, calea fizic asociat unui tunel se
defecteaz, m-mterele care folosesc tunelul nu vor obsei'va, deoarece Intemet-ul va redirija automat
ntregul trafic IP dintre ele prin alte linii.
m-ruter
Staie de iucr
A
nsula de trimitere
multipl
7.1 6. MBone const din insule de trimitere multipl conectate prin tunek
Atunci cnd apare o nou insul i dorete s se ataeze la MBone, precum G din Fig. 7-96,
administratorul su trimite un mesaj anunnd existena acesteia ctre lista de pot a MBoneului. Administratorii siturilor apropiate l contacteaz pentru a stabili tunelurile. Cteodat
tunelurile existente sunt reconfigurate, astfel nct s profite de noua insul pentru a optimiza
topologia. La urma urmelor, tunelurile nu au existen fizic. Ele sunt definite prin tabele n
m-rutere i pot fi adugate, terse, sau mutate prin simpla schimbare a acestor tabele. Tipic,
fiecare ar din MBone are o coloan vertebral cu insule regionale ataate acesteia. In mod
normal, MBone este configurat cu unul sau dou tuneluri care traverseaz oceanele Atlantic i
Pacific, aducnd MBone-ul la scar global.
Astfel, n orice moment, MBone const dintr-o topologie specific constnd din insule i
tuneluri, independent de numrul adreselor de trimitere multipl utilizate curent i de cine le ascult
sau le urmrete. Aceast situaie este foarte asemntoare cu cea a unei subretele normale (fizice),
aa nct i se aplic algoritmii normali de dirijare. n consecin, MBone a folosit iniial un algoritm
de dirijare, DVMRP (Distance Vector Multicast Routing Protocol - dirijare multi-destinaie dup
vectorul distanelor) bazat pe algoritmul vectorului distanelor al lui Bellman-Ford. De exemplu, n
Fig. 7-96, insula C poate dirija ctre A prin B sau prin E (sau prin D). i alege varianta lund valorile
pe care i le dau nodurile despre distanele de la ele pn la^4 i apoi adugnd distana proprie pn
la ele. n acest mod, fiecare insul determin ruta optim ctre fiecare alt insul. Totui, rutele nu
sunt de fapt folosite n acest mod, ci aa cum vom vedea n curnd.
S considerm acum modul n care se realizeaz trimiterea multipl. Pentru a transmite la mai
multe destinaii un program audio sau video, o surs trebuie s achiziioneze mai nti o adres de
SEC. 7.7
MULTIMEDIA
701
destinaie multipl de clas D, care acioneaz ca o frecven de staie sau un numr de canal.
Adresele de clas D sunt rezervate prin folosirea unui program care caut ntr-o baz de date adrese
de destinaie multipl libere. Multe trimiteri multiple pot s se desfoare n acelai timp, iar un
calculator gazd poate s se acordeze" pe cea de care este interesat prin ascultarea adrese de
destinaie multipl potrivite.
Periodic, fiecare m-ruter trimite un pachet de difuzare IGMP limitat la insula lui, ntrebnd cine
este interesat de ce canal. Calculatoarele gazd care doresc s (continue s) primeasc unul sau mai
multe canale trimit alt pachet IGMP napoi drept rspuns. Aceste rspunsuri sunt dispersate n timp
pentru a evita suprancrcarea LAN-ului local. Fiecare m-ruter pstreaz o tabel cu canalele care
trebuie puse n LAN-ul propriu, pentru a evita pierderea de lrgime de band prin canale de
transmitere multipl pe care nu le vrea nimeni.
Trimiterile multiple se propag prin MBone dup cum urmeaz. Cnd o surs audio sau
video genereaz un nou pachet, l difuzeaz ctre insula sa local folosind facilitile hardware
de trimitere multipl. Acest pachet este preluat de un m-ruter local, care l copiaz pe toate
tunelurile cu care este conectat.
Fiecare m-ruter care primete un astfel de pachet printr-un tunel verific dac pachetul a
venit pe cea mai bun rut, adic cea pe care tabela proprie i spune s o foloseasc pentru a
ajunge la surs (ca i cum ar fi o destinaie). Dac pachetul a venit pe ruta cea mai bun,
m-ruterul l copiaz la toate celelalte tuneluri. Dac pachetul a ajuns pe o cale care nu este cea
optimal, el este eliminat. Astfel, de exemplu, n Fig. 7-96, dac tabela lui C spune s se
foloseasc B pentru a ajunge la. A, atunci cnd un pachet cu trimitere multipl de la^4 ajunge
la C prin B, el este copiat la D i E. Cu toate acestea, atunci cnd un pachet cu trimitere
multipl de la A ajunge la C prin E (nu este calea cea bun), el este eliminat. Acest algoritm
este algoritmul retransmiterii pe calea invers prezentat n Cap. 5. Dei nu este perfect, este
destul de bun i foarte uor de implementat.
n plus fa de folosirea algoritmului de cutare pe calea invers, pentru prevenirea
inundrii Internet-ului, de asemenea, pentru a limita domeniul trimiterii multiple, este folosit
cmpul IP Timejojive (timp de via). Fiecare pachet pleac cu o anumit valoare
(determinat de surs). Fiecrui tunel i se asociaz o pondere. Un pachet este trecut printr-un
tunel dac are o pondere suficient. Altfel este eliminat. De exemplu, tunelurile transoceanice
sunt configurate n mod obinuit cu o pondere de 128, aa nct pachetele pot fi limitate la
continentul de origine dndu-li-se un timp de via iniial mai mic sau egal cu 127. Dup
trecerea printr-un tunel, cmpul Time to live este decrementat cu ponderea tunelului.
De cnd funcioneaz algoritmul de dirijare MBone, s-au fcut multe cercetri pentru a-1
mbunti. O propunere pstreaz ideea dirijrii dup vectorul distanelor, dar face algoritmul
ierarhic, prin gruparea siturilor MBone n regiuni i dirijarea n prima etap ctre acestea
(Thyagarajan i Deering, 1995).
O alt propunere este de a folosi o form modificat a dirijrii n funcie de starea legturilor, n
loc de dirijare dup vectorul distanelor. n particular, un grup de lucru IETF se ocup de
modificarea OSPF pentru a-1 face potrivit pentru trimitere multipl n cadrul unui singur sistem
autonom. Trimiterea multipl OSPF rezultat este numit MOSPF (Moy, 1994). Modificrile se
refer la crearea de ctre MOSPF a unei hri complete care, n plus fa de informaia vizual de
dirijare, s in evidena insulelor de trimitere multipl i a tunelurilor. narmat cu aceast
702
NIVELUL APLICAIE
CAP. 7
topologie complet, este uor s calculm cea mai bun cale de la fiecare insul ctre fiecare alt
insul folosind tunelurile. De exemplu, poate fi folosit algoritmul lui Dijkstra.
A doua arie de cercetare este dirijarea inter-AS. Aici un alt grup de lucru ETF dezvolt un
algoritm numit PIM (Protocol Independent Multicast - transmitere multipl independent de
protocol) (Huitema, 1995). PIM are dou versiuni, dup cum insulele sunt dense (aproape
oricine vrea s se uite) sau rare (aproape nimeni nu vrea s se uite). Ambele versiuni folosesc
tabele de dirijare standard cu trimitere unic n loc de a crea o topologie suprapus, aa cum
fac DVMRP sau MOSPF.
n PIM-dens, ideea este de a tia cile inutile. Tierea funcioneaz n modul urmtor.
Atunci cnd un pachet cu trimitere multipl ajunge printr-un tunel greit", un pachet de
tiere este trimis napoi prin tunel, spunnd emitorului s nu-i mai transmit pachete prin
sursa respectiv. Cnd un pachet ajunge prin tunelul bun", este copiat pe toate celelalte
tuneluri care nu s-au auto-tiat anterior. Dac toate celelalte tuneluri s-au auto-tiat i canalul
din insula local nu este interesat, m-ruterul trimite un mesaj de tiere napoi prin canalul
bun". n acest fel, trimiterea multipl se adapteaz automat i merge doar unde este dorit.
PIM-rar lucreaz diferit. Aici ideea este de a preveni saturarea Internetului, dac trei
persoane din Berkeley vor s in o conferin peste o adres de clas D. PIM-rar funcioneaz
prin fixarea unor puncte de ntlnire. Fiecare dintre sursele dintr-un grup cu trimitere multipl
PIM-rar i trimite pachetele la punctele de ntlnire. Orice sit interesat n ataare, cere unui
punct de ntlnire s-i seteze un tunel n acest mod, tot traficul PIM-rar este transportat pe
direcie unic n Ioc de multipl.
In concluzie, multimedia este un domeniu foarte interesant, care evolueaz rapid. Zilnic
sunt anunate noi tehnologii i aplicaii, dar ntregul domeniu va rmne important i n
deceniile urmtoare,
7.8
REZUMAT
Reelele de calculatoare sunt inerent nesigure. Pentru a pstra informaia secret, ea trebuie
criptat. Protocoalele de criptare se mpart n dou clase generale: cu chei secrete (de exemplu,
DES, IDEA) i cu chei publice (de exemplu RSA). Folosirea acestor protocoale este uoar; partea
dificil este reprezentat de gestiunea cheilor.
n afar de confidenialitate, protocoalele de criptare pot furniza i autentificarea, adic atunci
cnd Alice crede c vorbete cu Bob, ea chiar vorbete cu el i nu cu Trady. n sfrit, criptografia
poate fi folosit i pentru a permite semnarea mesajelor, astfel nct cel care le-a transmis s nu le
poat repudia dup ce le-a transmis.
Atribuirea numelor n Internet folosete un sistem de baze de date distribuite, DNS. DNS
pstreaz nregistrri cu adresele IP, centre de mesagerie i alte informaii. Prin interogarea unui
DNS, un proces poate stabili corespondena dintre un nume de domeniu Internet i o adres IP
folosit pentru a comunica cu acel domeniu.
Pe msur ce reelele devin tot mai mari, administrarea lor devine tot mai grea. Din acest motiv,
au fost create protocoale i sisteme speciale de administrare a reelelor, cel mai popular fiind SNMP.
Acest protocol permite administratorilor s comunice cu agenii din echipamente pentru a le citi
starea si a le transmite comenzi.
SEC. 7.9
PROBLEME
703
Patru aplicaii majore de reea sunt pota electronic, tirile USENET, World Wide Web i
multimedia (video la cerere i Mbone). Majoritatea sistemelor de pot folosesc sistemul de pot
definit n RFC 821 i 822. Mesajele trimise n acest sistem folosesc antete ASCII de sistem pentru
definirea proprietilor mesajului. Aceste mesaje sunt transmise folosind SMTP. Exist dou sisteme
de pot sigur, PGM i PEM.
tirile USENET constau din mii de grupuri de tiri referitoare la tot felul de subiecte. Oamenii
se pot nscrie n grupuri de tiri locale i pot trimite mesaje peste tot n lume, folosind protocolul
NNTP, care se aseamn cu SMTP.
World Wide Web este un sistem pentru legarea documentelor hipertext. Fiecare document este
o pagin scris n HTML, cu posibile hiper-legturi la alte documente. Un program de navigare
poate afia un document prin stabilirea unei conexiuni TCP cu serverul propriu, cernd documentul
i apoi nchiznd conexiunea. Atunci cnd utilizatorul selecteaz o hiper-legtur, documentul
respectiv poate fi preluat n acelai mod. n acest fel, documentele din toat lumea sunt legate ntr-o
gigantic plas de pianjen.
Multimedia este ultima stea care apare pe firmamentul reelelor. Se permite ca semnalele video
i audio s fie digitizate i transportate electronic pentru afiare. Majoritatea proiectelor multimedia
folosesc standardele MPEG i transmit datele prin conexiuni ATM. Mbone este un serviciu
experimental, din Internet, bazat pe televiziunea i radioul digital.
7.9
1.
PROBLEME
Spargei minatorul cifru monoalfabetic. Textul n clar, constnd numai din litere, este un
fragment dintr-o poezie a lui Lewis Carroll.
kfd ktbd fzm eubd kd pzyiom mztx ku kzyg ur bzha kfthcm
ur mfudm zhx mftnm zhx mdzythc pzq ur ezsszcdm zhx gthcm
zhx pfa kfd mdz tm sutyhc fuk zhx pfdkfdi ntcm fzid pthcm
sok pztk z stk kfd uamkdim eitdx sdruid pd fzid uoi efzk
rui mubd ur om zid uok ur sidzkf zhx zyy ur om zid rzk
hu foiia mztx kfd ezindhkdi kfda kfzhgdx ftb boef rui kfzk
2.
Spargei urmtorul cifru de transpoziie pe coloane. Textul este luat dintr-o carte despre
calculatoare, astfel nct computer" este un cuvnt probabil. Textul const numai din litere
(fr spaii). Pentru claritate, textul cifrat este mprit n blocuri de 5 caractere.
aauan cvlre rurnn dltme aeepb ytust iceat npmey iicgo gorch srsoc
nntii imiha oofpa gsivttpsit IborI otoex
3.
In Fig. 7-4, blocurile P i S alterneaz. Dei acest aranjament este plcut, este mai sigur s avem
mai nti toate blocurile P i apoi toate blocurile S?
4.
S presupunem c un mesaj a fost criptat folosind DES n nlnuirea blocurilor cifrate. Un bit
al textului cifrat n blocul C,- este tranformat accidental din 0 n 1 n timpul transmisiei. Ct de
mult text va fi deformat ca urmare a acestui fapt?
704
NIVELUL APLICAIE
CAP. 7
5.
S considerm din nou nlnuirea blocurilor cifrate. Un bit 0 este inserat n fluxul textului cifrat
dup blocul Q, n loc de transformarea unui bit 0 n 1. Ct de mult text va fi deformat?
6.
Proiectai un atac la DES bazat pe faptul c textul const numai din litere mari ASCII,
plus spaiu, virgul, punct i virgul, enter i linie nou. Nu se tie nimic despre biii de
paritate ai textului.
7.
8=
9.
Schimbarea de chei Diffie-Hellman este folosit pentru stabilirea unei chei secrete ntre Alice i
Bob. Alice i trimite lui Bob (719, 3, 191). Bob rspunde cu (543). Numrul secret al lui Alice
este x=16. Care este cheia secret?
10. Schimbai puin un mesaj n protocolul din Fig. 7-14 ca s devin rezistent la atacurile de
reflectare. Explicai de ce funcioneaz modificarea.
11. n protocolul broasca cu gur mare, de ce A este transmis n text mpreun cu cheia de sesiune
criptat?
12. n protocolul broasca cu gur mare, am atras atenia c prezena a 32 bii de 0 la nceputul
fiecrui mesaj implic un risc. S presupunem c fiecare mesaj ncepe cu un numr aleatoriu
pentru fiecare utilizator, de fapt o a doua cheie secret cunoscut doar de utilizator i de KDC.
Elimin aceasta binecunoscutul atac la text?
13. n protocolul Needharn-Schroeder, Alice genereaz 2 provocri, RA i RA2. Aceasta seamn cu
o exagerare. Nu ar fi fost suficient una singur?
14 n protocolul de autentificare de chei publice din Fig. 7-21, n mesajul 3, RB este criptat cu Ks.
Este aceast criptare necesar, sau ar fi fost potrivit s fie trimis ca text clar?
15. Protocolul de semntur din Fig. 7-22 are urmtoarele puncte slabe. Dac Bob se stric, el
poate pierde coninutul RAM-ului propriu. Ce probleme pot aprea i cum pot fi prevenite?
16. Dup ce Ellen s-a confesat Iui Marilyn c a pclit-o n ceea ce-1 privete pe Torn, Marilyn
a reuit s evite aceast problem dictnd mesajele viitoare unei maini de dictat, urmnd
ca noua secretar s e introduc ulterior. Marilyn a plnuit s examineze mesajele de pe
terminalul ei dup ce au fost editate pentru a fi sigur c acestea i conin propriile
cuvinte. Poate noua secretar s foloseasc atacul zilei de natere, ca s falsifice un mesaj
i dac da, cum? Indicaie: Poate.
SEC. 7.9
PROBLEME
705
17. Terminalele de puncte de vnzare care folosesc cartele cu band magnetic i coduri PIN au un
defect fatal: un negustor ruvoitor poate modifica cititorul de coduri propriu pentru a captura i
a memora toat informaia de pe cartel precum i codul PIN n scopul de a transmite n viitor
tranzacii suplimentare (falsificate). Urmtoarea generaie de terminale de puncte vnzare va
folosi cartele cu uniti centrale complete, tastatur i monitor pe cartel. Implementai un
protocol pentru acest sistem, pe care negustorii ruvoitori s nu-1 poat sparge.
18. n conformitate cu informaiile din Fig. 7-27, little-sister.cs.vu.nl este ntr-o reea de clas
A, B, sau C?
A
706
NIVELUL APLICAIE
CAP. 7
30. Presupunnd c toi cei din Internet folosesc PGP, poate fi transmis un mesaj PGP la o adres
arbitrar Internet i decodificat corect de cei interesai? Discutai rspunsul.
31. PGP nu suport canonizarea ca PEM-ul. De ce nu?
32. Ghicii ce nseamn smiley-ul :-X (scris cteodat :-#).
33. Ct de mult timp dureaz s distribui tirile dintr-o zi printr-un canal de satelit de 50-Mbps?
34. Care din comenzile din Fig. 7-56 sunt teoretic redundante?
35. O reea mare conine o gril de nxn maini. Toate nodurile interioare au patru vecini; cei
din coluri au doar trei (doi) vecini. Dac un mesaj de m-bii este transmis la una din
maini folosind NNTP-ul, ct de muli octei de lrgime de band sunt consumai pentru
a-1 transmite la toate celelalte maini (ignornd timpul suplimentar de sistem al NNTPului i numrnd doar biii mesajelor).
36. Repetai problema anterioar, dar acum aflai lrgimea de band aproximativ necesar
pentru distribuia mesajului folosind o list de pot. Cu ct este mai mare dect n
problema anterioar?
37. Cnd sunt transmise pagini Web, ele sunt prefixate de antete MIME. De ce?
38. Cnd sunt necesare programe de vizualizare externe? Cum tie un program de navigare pe care
s-1 foloseasc?
39. Imaginai-v c cineva de la Departamentul CS din Stanford a scris un nou program pe care
vrea s-1 distribuie prin FTP. El pune programul n catalogul ftp/pub/fi-eebiesfnewprog.c. Care
este URL-ul probabil pentru acest program?
40. n Fig. 7-60, n marcajul <IMG> apare parametrul ALT. n ce condiii este folosit de
programul de navigare i cum?
41. Cum realizai o imagine selectabil n HTML? Dai un exemplu.
42. Artai ce marcaj <A> este necesar pentru a face ca irul ACM" s fie o hiper-legtur la
http://www.acm.org.
43. Proiectai un formular pentru o nou companie, InterBurger, care permite comanda
hamburgerilor prin Internet. Formularul trebuie s conin numele clientului, adresa, oraul, ca
i o opiune asupra dimensiunii (ori gigant, ori imens) i o opiune pentru brnz. Burger-ii
urmeaz a fi pltii la livrare cu bani ghea, aa c nu este necesar nici o informaie despre
cartea de credit.
44. Java nu are structuri ca n C sau nregistrri ca n Pascal. Exist o alt cale pentru a obine
acelai efect de unire a mai multor variabile diferite, ntr-un singur tip de date? Dac da, care
este acesta?
SEC. 7.9
PROBLEME
707
45. S presupunem c n efortul de a deveni orientat pe pia, KGB devine comercial i angajeaz o
agenie publicitar ca s-i proiecteze o pagin de Web. Compania dumneavoastr a fost
angajat drept consultant extern pentru a o implementa. Scriei textul HTML ce este necesar
pentru a produce pagina de Web de mai jos.
WELCOME TO THE KGB"S WWW HOME PAGE
As a consequence of its recent privatization, the KGB is pleased to announce trie commercial
availability of many fine products and services previously available only to major gpvemments.
Competitive prices! Discreet service ensured!
Products
a Nuclear weapons (small, medium, large, jumbo)
Spy satellites (keep tabs on your neiahbors)
Low-radar-profile supersonic aircraft (buzz your friends' houses unseen)
Services
Mole placement n the organization of vour choice
Q Coups (corporate as well as aovernmental)
Assistance n settinq up your very own qerm-warfare laboratorv
Bargain basement specials
a The collected works of Felix Dzerhinskv (limited edition)
Aerial photoqraphs of Afahanistan (ca. 1984)
Quality Bulgarian-made tanks (95 percent discoun)
Webmaster@kgb.ru
46. Folosind structurile de date din Fig. 7-75, listai paii exaci care trebuie urmai pentru
verificarea unui nou URL pentru a vedea dac el este deja ntr-o urljable.
47. n C i C++, dimensiunea unui ntreg nu este specificat n limbaj. n Java ea este. Dai un
argument n favoarea C-ului i unul n favoarea Java-ei.
48. S presupunem c Web conine 10 milioane de pagini, fiecare n medie cu 10 hiper-legturi.
Aducerea unei pagini ia 100 msec. Care este timpul minim pentru a indexa ntregul Web?
49. Un compact disc memoreaz 650 MB de date. Este folosit compresia pentru CD-uri audio?
Explicai raionamentul.
50. Care este rata pe bii pentru transmiterea necomprimat a culorii VGA cu 8 bii/pixei ia 40
cadre/sec?
51. n Fig. 7-76(c) zgomotul de cuantificare apare datorit folosirii de eantioane pe 3 bii. Primul
eantion, la 0, este exact, dar cteva dintre urmtoarele nu. Care este procentul de eroare la
1/32,2/32 i 3/32 din perioad?
52. Poate o eroare de l-bit ntr-un cadru MPEG s afecteze mai mult dect cadrul n care a aprut
eroarea? Explicai rspunsul vostru.
708
NIVELUL APLICAIE
CAP. 7
BIBLIOGRAFIE l RECOMANDRI
DE LECTUR
Aici se ncheie studiul nostru despre reelele de calculatoare, dar aceast lucrare este doar
un nceput. Multe subiecte interesante nu au fost tratate la nivelul de detaliu pe care l-ar fi
meritat, iar altele au fost omise n totalitate, din lips de spaiu. Pentru cititorii care doresc s
continue studiul reelelor de calculatoare furnizm n acest capitol cteva sugestii de lecturi
posibile, precum i o list bibliografic.
710
CAP. 8
Symposium. De asemenea IEEE a publicat mai multe colecii de articole despre reele, selectate i
retiprite n form adecvat.
Enumerm n continuare, n ordinea capitolelor crii, cteva sugestii de lecturi suplimentare.
8.1.1
SEC. 8.1
711
712
CAP. 8
Acest articol este foarte potrivit ca o introducere scurt i plcut n sistemele de comunicaie
portabile personale. Una din cele nou pagini conine o list de 70 de acronime folosite n celelalte
opt pagini.
Partridge, Gigabit Networking
In plus fa de descrierea mai multor feluri de comutatoare ATM, capitolul 5 compar
memorarea temporar la intrare i la ieire i deduce formule pentru performanele fiecreia.
Spragins .a., Telecommunications Protocol and Design
Capitolul 2 conine o bun introducere n tehnologia transmisiei, incluznd cabluri de cupru,
fibr optic, radio celular i satelii. De asemenea, el conine descrieri extinse despre limitele Nyquist
i Shannon i despre implicaiile lor.
8.1.3 Nivelul legtur de date
Black, Data Link Protocols
Iat o carte ntreag despre nivelul legturii de date. Ea are accent practic, cu o cantitate mare de
material despre HDLC, LLC, PPP i alte protocoale comerciale importante.
Holzmann, Design and Validation of Computer Protocols
Cititorii interesai n aspectele mai formale ale protocoalelor legturii de date (i similare) ar
trebui s vad aceast carte. Sunt prezentate aici specificarea, modelarea, corectitudinea i testarea
acestor protocoale.
Spragins .a., Telecommunications Protocols and Design
Cei interesai s afle mai multe despre codurile detectoare i corectoare de erori ar trebui s
caute n capitolul 6 al crii lui Spragins. Ea acoper, de asemenea, principiile protocoalelor
elementare pentru legtura de date la un nivel apropiat de cel al crii de fa. Capitolul 7 duce
discuia mai departe i analizeaz n detaliu diferite protocoale pentru legtura de date.
Walrand, Communication Networks: A First Course
Capitolul 4 acoper protocoalele legturii de date, cu accent pe analiza performanei. Totodat,
sunt tratate abordrile corectitudinii protocoalelor prin automate finite i reele Petri.
8.1.4 Subnivelul de control al accesului Ia mediu
Abeysundara i Kamal, High-Speed Local Area Networks and Their Performance"
Deoarece reelele locale rapide sunt interesante datorit vitezei lor mari, un articol care discut
i analizeaz performana este binevenit. In acesta, accentul este pus pe diferite LAN-uri de tip
magistral, inel, arbore i stea, precum i pe caracteristicile relative la ntrziere i utilizare.
Jain, FDDI Handbook - High-Speed Networking Using Fiber and other Media
Pentru o tratare atent a FDDI-ului (incluznd ndrumri practice agreabile despre fibra optic
i SONET) aceast carte este o alegere bun. In plus fa de lungile seciuni despre echipamentele i
programele FDDI, ea are o seciune despre performane i chiar sfaturi despre cumprarea
cablurilor de fibr optic.
SEC. 8.1
713
714
CAP. 8
reacie explicit i bucl nchis cu reacie implicit. Ei folosesc aceast taxonomie pentru a descrie i
clasifica 23 de algoritmi existeni.
8.1.6 Nivelul transport
Corner, Internetworking with TCP/1P, Voi. 1, ediia a 3-a
Aa cum s-a mai menionat, Corner a scris lucrarea decisiv despre suita de protocoale TCP/IP.
Capitolul 12 se refer la UDP, iar capitolul 13 la TCP.
Mogul, IP Network Performance"
n ciuda titlului acestui articol, el trateaz cel puin, dac nu ceva mai mult, performanele TCPului i ale reelelor n general, apoi performanele IP-ului n particular. Este plin de ndrumri utile i
reguli de aur.
Stallings, Data and Computer Communications, ediia a 4-a
Capitolul 12 se refer la protocoalele de transport i descrie la un nivel abstract, serviciile i
mecanismele de transport, iar n detaliu protocoalele de transport OSI i TCP.
Stevens, TCP/IP Illustrated, Voi. 1
Capitolele 17-24 furnizeaz o tratare cuprinztoare a TCP-ului, ilustrat prin exemple.
8.1.7 Nivelul aplicaiei
Anderson, R., Why Cryptosystems Fail"
Dup Anderson, securitatea sistemelor bancare este firav, dar nu datorit intruilor
inteligeni care sparg DES-ul pe PC-urile lor. Problemele reale sunt foarte variate, de la
angajai necinstii (un angajat de banc schimbnd adresa de pot a unui client cu a sa, pentru
a intercepta numrul crii de credit i numrul PIN) la erori de programare (acordarea
aceluiai cod PIN tuturor clienilor). Este deosebit de interesant rspunsul dat de banc atunci
cnd se confrunt cu o eroare: sistemul nostru este perfect i, ca urmare, toate greelile trebuie
s se datoreze erorilor clienilor sau fraudelor.
Berghel, The Client Side of the Web"
O introducere comod n programele de navigare Web i n caracteristicile lor. Principalele
subiecte sunt conformitatea ntre HTML i HTTP, performanele, reconfigurabilitatea, integrarea
cu calculatoarele personale i programele de navigare. Sunt comparate, conform acestor aspecte,
nou programe de navigare mai rspndite.
Berners-Lee .a., The World Wide Web"
O perspectiv asupra Web-ului i a direciei sale de evoluie prezentat de persoanele care l-au
inventat. Articolul se concentreaz asupra arhitecturii Web, HTTP i HTML, ca i asupra direciilor
de dezvoltare viitoare.
Carl-Michell i Quarterman, Practicai Internetworking with TCP/IP and UNIX
Capitolul 5 prezint o introducere drgu n atribuirea numelor i n DNS, inclusiv autoriti de
numire, arhitectura operaional i baza de date DNS.
SEC. 8.1
715
716
CAP. 8
Dei oarecum haotic, cartea acoper o mare parte din multimedia. Subiectele tratate pe larg
includ audio, fotografii i filme, compresia, memorarea optic, sisteme de operare multimedia,
reele, hipertext, sincronizarea fluxurilor i aplicaii multimedia.
Van der Linden, Just Java
Atunci cnd capitolul 1 al unei cri este intitulat Vino n camera mea, a spus pianjenul
mutei", mai mult ca sigur c ea este o poveste feeric pentru copii sau despre World Wide Web.
Aceasta este despre Web, mai precis despre limbajul Java i mediul su. Pentru cei care doresc s se
joace cu Java, cartea se livreaz cu tot sistemul Java pe CD-ROM.
8.2
ABEYSUNDARA, B.W. i KAMAL, A.E.: "High-Speed Local Area Networks and Their Performance"
Computing Surveys, voi. 23, pag. 221-264, iunie 1991.
ABRAMSON, N.: "Development of the ALOHANET," IEEE Trans. On Inforaiation Theory, voi. IT-31, pag.
119-123, martie 1985.
ADAM, JA.: "Privacy and Computers," IEEE Spectrum, voi. 32, pag.46-52, dec. 1995.
ADAMS, N., GOLD, R, SCHDLT, B.N., TSO, M.M i WANT, R: "An Infrared Network for Mobile
Computers," Proc. USENIX Mobile and Location-Independent Computing Symposium, USENIX,
pag. 41-51,1993.
ANDERSON, R.J.: "Why Qyptosystems Fail," Commun. of the ACM, voi. 37, pag. 32 -40. nov. 1994.
ARMBRUSTER, H.t "The Flexibility of ATM: Supporting Future Multimedia and Mobile Communications,"
IEEE Commun. Magazine, voi. 33, pag. 76-84, febr. 1995.
ARMITAGE, G.J. i ADAMS, KM.: "How Efficient is IP over ATM Anyway?" IEEE Network Magazine, voi. 9,
pag. 18-26, ian'./febr. 1995.
ARNOLD, K. i GOSLING, J.: The Java Programming Language, Reading, MA: Addison-Wesley, 1996.
AT&T i BELLCORE: "Observations of Error Characteristics of Fiber Optic Transmission Systems," CQTT SG
XVIII, San Diego, ian. 1989.
AWDEH, RY. i MOUFTAH, H.T.: "Survey of ATM Switch Architectures," Computer Networks and ISDN
Systems, voi. 27, pag. 1567-1613, nov. 1995.
BAKNE, A. i BADRINATH, B.R.: "I-TCP: Indirect TCP for Mobile Hosts," Proc. Fifteenth Intl. Conf. on
Distr. Computer Systems, IEEE, pag. 136-143,1995.
BALAKRISHNAN, H., SESHAN, S i KATZ, R.H.: "Improving Reliable Transport and Handoff Performance n
Cellular Wireless Networks," Proc.
ACM Mobile Computing and Networking Conf., ACM,
pag. 2-11,1995.
SEC. 8.2
717
BALLARDIE, T., FRANCIS, P. i CROWCROFR, J.: "Core Based Trees (CBT)," Proc. SIGCOMM '93 Conf.,
ACM, pag. 85-95,1993.
BANTZ, D.F. i BAUCHOT, F.J.: "Wireless LAN Design Alteraatives," IEEE Network Magazine, voi. 8, pag.
43-53, martie/aprilie, 1994.
BARANSEL, G, DOBOSIEWICZ, W. i GBURZYNSKI, R: "Routing n Multihop Packet Switching Networks:
Gb/s Challenge," IEEE Network Magazine, voi. 9, pag. 38-61, mai/iunie, 1995.
BARLOW, J.P.: "Property and Speech: Who Owns What You Say n Cyberspace," Commun. of the ACM, voi.
38, pag. 19-22, dec. 1995.
BATCHER, KE.: "Sorting Networks and Their Applications," Proc. AFIPS Spring Joint Computer Conf., voi.
32, pag. 307-315,1968.
BATES, RJ.: Wireless Networked Communications, New York: McGraw-Hill, 1994
BELLAMY, J.: Digital Telephony, New York: John Wiley, 1991.
BELLMAN, R.E.: Dynamic Progiwnming, Princeton, NJ: Princeton University Press, 1957.
BELSNES, D.: "Flow Control n the Packet Switching Networks," Communications Networks, Uxbridge,
England: Online, pag. 349-361,1975.
BERGHEL, H.L.: "The Client Side of the Web," Commun. of the ACM, voi. 39, pag. 33-40, ian. 1996.
BERNERS-LEE, T, CAELLAU, A., LOUTONEN, A., NIELSEN, H.F. i SECRET, A.: "The World Wide Web,"
Commun. of the ACM, voi. 37, pag. 76-82, aug. 1994.
BERTSEKAS, D. i GALLAGER, R.: Data Networks, ediia a doua, Englewood Cliffs, NJ: Prentice Hali/1992.
BHARGHAVAN, V., DEMERS, A., SHENKER, S. i ZHANG, L: "MACAW: A Media Access Protocol for
Wireless LANs," Proc. SIGCOMM '94 Conf. ACM, pag. 212-225,1994,
BIHAM, E. i SHAMIR, A.: Differential Cryptanalysis of the Data Enayption Standard, New York: SpringerVerlag, 1993.
BINDER, R.: "A Dynamic Packet Switching System for Satellite Broadcast Channels," Proc. Intl. Conf. on
Commun., pag. 41 -l pn la 41-5a, 1975.
BLACK, XJ.D.:Data LinkProtocob, Englewood Cliffs, NJ: Prentice Hali, 1993.
BLACK, U.D.: Emerging Communications Technologies, Englewood Cliffs, NJ: Prentice Hali, 1994.
BLACK, U.D.: TCP/IP and Related Protocob, New York: McGraw-Hill, 1995.
BLAZE, M.: "Protocol Failure n the Escrowed Encryption Standard," Proc. Second ACM Conf. on Computer
and Commun. Security, ACM, pag. 59-67,1994.
718
CAP. 8
SEC. 8.2
719
CHANG, Y.-EL, COGGINS, D., POT, D., SKELLERN, D., THAPAR, M., i VENKATRAMAN, C: "An OpenSystem Approach to Video on Demand," IEEE Commun. Magazine, voi. 32, pag. 68-80, mai 1994.
CHAO, JJ., GHOSAL, D., SAHA, D. i TTUPATHI, S.K.: "IP on ATM Local Area Networks," IEEE Commun.
Magazine, voi. 32, pag. 52-59, aug. 1994.
CHAPMAN, D.E. i ZWICKY, E.D.: Building Internet Firewalls, Sebastopol, CA: O'Reilly, 1995.
CHEN, K.-G: "Medium Access Control of Wireless LANs for Mobile Computing," IEEE Network Magazine,
voi. 8, pag. 50-63, sept./oct. 1994.
CHEN, M. i YUM, T.-S.: "A Conflict-Free Protocol for Optical WDMA Networks," Proc. Globecom '91,
pag. 1276-1281,1991.
CHEN, W.Y. i WARING, D.L.: "Applicability of ADSL to Support Video Dial Tone n the Copper Loop,"
IEEE Commun. Magazine, voi. 32, pag. 102-106, mai 1994.
CHERITON, D. i WILLAMSON, C: "VMTP as the Transport Layer for High-Performance Distributed
Systems," IEEE Commun. Magazine, voi. 27, pag. 37-44, iunie 1989.
CHERVENAK, A.L., PATTERSON, D.A. i KATZ, R.H.: "Choosing the Best Storage System for Video Service,"
Procof ACM Multimedia '95, ACM, pag. 109-119,1995.
CHERVENAK, A.L.: Tertiary Storage: An Evaluation of New Applications, tez de doctorat, CSD, Univ. of
California at Berkeley, 1994.
CHESSON, G.L.: "XTP/PE Design Considerations," IFIP Workshop on Protocols for High-Speed Networks,
IFIP, pag. 27-33,1989.
CHESWICK, W.R. i BELLOVIN, S.M.: Firewalls and Inteiwalb-RepeUing the Wilfy Hacker, Reading, MA:
Addison-Wesley, 1994.
CHOUDBURY, A.K., MAXEMCHUK, N.F., PAUL, S. i SCHULZRINNE, H.G.: "Copyright Protection for
Electronic Publishing on Computer Networks," IEEE Network Magazine, voi. 9, pag. 12-20, mai/iunie,
1995.
CLARK, D.D., DAVIE, B.S., FARBER, D.J., GOPAL, I.S., KADABA, B.K., SINCOSKIE, W.D., SM1TH, J.M. i
TENNENHOUSE, D.L.: "The Aurora Gigabit Testbed," Computer Networks and ISDN Systems, voi. 15,
pag. 599-621, ian. 1993.
CLARK, D.D., JACOBSON, V., ROMKEY, J. i SALWEN, H.: "An Analysis of TCP Processing Overhead,"
IEEE Commun. Magazine, voi. 27, pag. 23-29, iunie 1989.
CLARK, D.D., LAMBERT, M. i ZHANG, L.: "NETBLT: A High Throughput Transport Protocol," Proc.
SIGCOMM '87 Conf, ACM, pag. 353-359,1987.
CLARK, D.D.: "NETBLT: A Bulk Data Transfer Protocol," RFC 998,1987.
CLARK, D.D.: "The Design Philosophy of the DARPA Internet Protocols," Proc. SIGCOMM '88 Conf, ACM,
pag. 106-114,1988.
720
CAP. 8
CLARK, D.D.: "Window and Acknowledgement Strategy n TCP," RFC 813, iulie 1982.
CLOS, C: "A Study of Non-Blocking Switching Networks," Bell System Tech. J, voi. 32, pag. 406-424,
martie 1953.
COMER, D.E.: Intemetworking with TCP/IP, voi. 1, ediia a treia, Englewood Cliffs, NJ: Prentice Hali, 1995.
COMER, D.E.: The Internet Book, Englewood Cliffs, NJ: Prentice Hali, 1995.
COOK, A. i STERN, J.: "Optical Fiber Access-Perspectives Toward the 21st Century," IEEE Commun.
Magazine, voi. 32, pag. 78-86, febr. 1994.
COOPER, E.: BroadbandNetwork Technology, Englewood Cliffs, NJ: Prentice Hali, 1986.
COULOURIS, G.F., DOLLMORE, J i KINDBERG, T.: Distributed Systems Concepts and Design, ediia a
doua, Reading, MA: Addison-Wesley, 1994.
CRESPO, P.M., HONIG, M.L. i SALEHL J.A.: "Spread-Time Code-Division Multiple Access," IEEE Trans.
on Commun., voi. 43, pag. 2139-2148, iunie 1995.
CRONIN, W.J., HUTCHINSON, J.D, RAMAKRISHNAN, K.K. i YANG, H.: "A Comparison of High Speed
LANs," Proc. Nineteenth Conf. on Local Computer Networks, IEEE, pag. 40-49,1994.
CROWCROFT, J., WANG, Z., SMITH, A. i ADAMS, J.: "A Rough Comparison of the IETF and ATM Service
Models," IEEE Network- Magazine voi. 9, pag. 12-16, nov./dec. 1995.
CROWTHER, W., RETTBERG, R., WALDEN, D., ORNSTEIN, S. i HEART, F.: "A System for Broadcast
Communication: Reservation-Aloha," Proc. Sixth Hawaii Int. Conf. System Sci., pag. 371-374,1973.
CUSICK, T.W. i WOOD, M.C.: "The REDOC-II Cryptosystem," Advances n Cryptology-CRYPTO '90
Proceedings, NY: Springer-Verlag, pag. 545-563,1991.
DAGDEVIREN, N, NEWELL, J.A., SPINDEL, LA. i STEFANICK, M.J.: "Global Networking with ISDN,"
IEEE Commun. Magazine, voi. 32, pag. 26-32, iunie 1994.
DANSKIN, J.M., DAVIS, G.M. i SONG, X.: "Fast Lossy Internet Image Transmission," Proc. of ACM
Multimedia '95, ACM, pag. 321-332,1995.
DANTHINE, A.A.S.: "Protocol Representation with Finite-State Models," IEEE Trans. on Commun.,
voi. COM-28, pag. 632-643, aprilie 1980.
DAVIS, P.T. i McGUFFIN, C.R.: Wireless LocalArea Networks New York: McGraw-Hill, 1995.
DAY, J.D. i ZMMERMANN, H.: "The OSI Reference Model," Proc. of the IEEE, voi. 71, pag. 1334-1340,
dec. 1983.
DAY, J.D.: "The (Un)Revised OSI Reference Model," Computer Commun. Rev., voi. 25, pag. 39-55, oct. 1995.
DE JONGE, W. i CHAUM, D.: "Some Variations on RSA Signatures and Their Security," n Advances n
Cryptology-CRYPTO '86 Proceedings, Odlyzko, A.M. (Ed.), New York: Springer Verlag, 1987.
SEC. 8.2
721
DE PRYCKER, M:.Asynchrous Transfer Mode, ediia a doua, New York: Ellis Horwood, 1993.
DEAN, D. i WALLACH, D.S.: "Security Flaws n the HotJava Web Browser," Technical Report 502, Dept. of
Computer Science, Princeton Univ., 1995.
DEERING, S.E. i CHERITON, D.R.: "Multicast Routing n Datagram Internetworks and Extended LANs,"
ACM Trans. On Computer Systems, voi. 8, pag. 85-110, mai 1990.
DEERING, S.E., ESTRIN, D., FARINACCI, D., JACOBSON, V., LIU C.-G. i WEI, L: "An Architecture for
Wide-Area Multicast Routing," Proc. SIGCOMM '94 Conf., ACM, pag. .126-135,1994.
DEERING, S.E.: "SIP: Simple Internet Protocol," IEEE Network Magazine, voi. 7, pag. 16-28, mai/iunie 1993.
DELODDERE, D., VERBIEST, W. i VERHILLE, H.: "Interactive Video on Demand," IEEE Commun.
Magazine, voi. 32, pag. 82-88, mai 1994.
DEMERS, A., KESHAV, S. i SHENKER, S.: "Analysis and Simulation of a Fair Queueing Algorithm,"
Internetwork: Research and Experience, voi. 1, pag. 3-26, sept. 1990.
DENNING, D.E. i SACCO, G.M.: "Timestamps n Key Distribution Protocols," Commun. of the ACM, voi. 24,
pag 533-536,'aug. 1981.
DIFFIE, W. i HELLMAN M.E.: "New Directions n Cryprografy," IEEE Trans. on Information Theory, vol.IT22, pag 644-654, nov. 1976.
DIFFIE, W. i HELLMAN, M.E.: "Exhaustive Qyptanalysis of the Data Encryption Standard," IEEE Computer
Magazine, val. 10, pag 7-84, iunie 1997.
DUKSTRA, E.W.: "A Note on Two Problems n Connexion with Graphs," Number. Math., voi. 1, pag. 269-271,
oct. 1959.
DIRVIN, R.A. i MILLER, A.R.: "The MC68824 Token Bus Controller: VLSI for the Factory LAN," IEEE
Micro Magazine, voi. 6, pag. 15-25, iunie 1986.
DIXIT, S. i SKELLY, P.: "MPEG-2 over ATM for Video Dia Tone Network," IEEE Network Magazine voi. 9,
pag. 30-40, sept./oct. 1995.
DIXON,R.C: "Lore of the Token Ring," IEEE Network Magazine voi. 1, pag. 11-18, ian./febr. 1987.
DOERINGER, WA, DYKEMAN, D., KAISERSWERTH, M., MEISTER, B.W., RUDIN, H. i WILLIAMSON,
R.: "A Survey of Light-Weight Transport Protocols for High-Speed Networks," IEEE Trans. On Commun,
voi. 38, pag. 2025-2039, nov. 1990.
DORFMAN, R.: "Detection of Defective Members of a Large Population," Annals Math. Statistic, voi. 14, pag.
436-440,1943.
ECKBERG, A.E., DOSHI, B.T. i ZOCCOLILLO, R.: "Controlling Congestion n B-ISDN/ATM: Issues and
Strategies," IEEE Commun. Magazine, voi. 29, pag. 64-70, sept. 1991.
722
CAP. 8
ECKBERG, A.E.: "B-ISDN/ATM Traffic and Congestion Control," IEEE Network Magazine, voi. 6, pag. 28-37,
sept./oct. 1992.
EDWARDS, A. i MUIR, S.: "Experience Implementing a High-Performance TCP n User-Space," Proc.
SIGCOMM''95 Conf., ACM, pag. 197-205,1995.
EL GAMAL, T.: "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms" IEEE
Trans. on Information Theory, voi. IT-31, pag. 469-472, iulie 1985.
ERIKSSON, H.: "MBone: The Multicast Backbone," Commun. of the ACM, voi. 37, pag. 54-60, aug. 1994.
ESTRIN, D., REKHNER, Y. i HOTZ, S.: "Scalable Inter-Domain Routing Architecture," Proc. SIGCOMM '92
Conf, ACM, pag. 40-52,'l992.
FEIG, E i WINOGRAD, S.: "Fast Algorithms for Discrete Cosine Transformations," IEEE Trans. on Signal
Processing, voi. 40, sept. 1992.
FEIT, F.: SNMP-A Guide to Network Management, New York: McGraw-Hill, 1995.
FIORINI, D., CHANI, M., TRALLI. V. i SALATX, C: "Problems with HDLC," Computer Commun. Rev.,
voi. 15, pag. 61-80, oct. 1995.
FISCHER, W., WALLMEIER, E., WORSTER, T., DAVIS, S.P., HAYTER, A.: "Data Communications Using
ATM: Architectures, Protocols, and Resource Management," IEEE Comniun. Magazine, voi. 32,
pag. 24-33, aug. 1994.
FLOYD, S. i JACOBSON, V.: "Random Early Detection for Congestion Avoidance," IEEE/ACM Trans. on
Networking, voi. 1, pag. 397-413, aug. 1993.
FLUCKIGER, F.: Understanding Networked Multimedia, Englewood Cliffs, NJ: Prentice Hali, 1995.
FORD, L.R., Jr. i FULKERSON, D.R.: Flows n Networks, Princeton, NJ: Piinceton University Press, 1962.
FORD, P.S., REKHTER, Y. i BRAUN, H.-W.: "Improving the Routing and Addressing of IP," IEEE Network
Magazine, voi. 7, pag. 10-15, mai/iunie 1993.
FORMAN, G.H. i ZAHORJAN, J.: "The Chaileges of Mobile Computing," IEEE Computer Magazine, voi. 27,
pag. 38-47, aprilie 1994.
FRANCIS, P.: "A Near-Term Architecture for Deployin Pip," IEEE Network Magazine, voi 7, pag. 30-37,
mai/iunie 1993.
FRASER, A.G.: "Early Experiments with Asynchronous Time Division Networks," IEEE Network Magazine voi.
7, pag. 12-27, ian./febr. 1993.
FRASER, A.G.: "Towards a Universal Data Transport System," n Advances n Local Area Networks,
Kummerle, K., Tobagi, F. i Limb, J.0. (Eds.), New York: IEEE Press, 1987.
FURHT, B., KALRA, D., KITSON, F.L., RODRIGUEZ i WALL, W.E.: "Design Issues for Interactive
Televisions Systems," IEEE Computer Magazine, voi 28, pag. 25-39, mai 1995.
SEC. 8.2
723
724
CAP. 8
HODGE, W.W., Martin, S., POWERS, J.T., Jr.: "Video on Demand: Architectures, Systems, and Applications,"
Society of Motion Picture and Television Engineers Journal, voi. 102, pag. 791-803, sept. 1993.
HODGE, W.W.: Interactive Television, New York: McGraw-Hill, 1995.
HOFFMAN, LJ. (ed.): Building n Big Brother: Tlie Cryptogmphic Policy Debate, New York: Springer-Verlag,
1995.
HOLFELDER, W.: "MBone VCR-Video Conference Recording on the MBone," Proc. of ACM Multimedia '95,
ACM, pag. 237-238,1995.
HOLZMANN, G.J.: Design and Validation of Computer Pivtocols, Englewood Cliffs, NJ: Prentice Hali, 1991.
HONG, D. i SUDA, T.: "Congestion Control and Prevention n ATM Networks," IEEE Network Magazine,
Voi. 5, pag. 10-16, iulie/aug. 1991.
HUANG, A. i KNAUER, S.: "Starlite: A Wideband Digital Switch," Proc. Globecom '84, pag. 121-125,1984.
HUGHES, J.P. i FRANA, W.R.: "Geographic Extension of HIPPI Channels," IEEE Network Magazine, voi. 8,
pag. 42-53, mai/iunie 1994.
HUI, J.: "A Broadband Packet Switch for Multi-rate Services," Proc. Intl. Conf. on Communications IEEE,
pag. 782-788,1987.
HUITEMA, C: IPv: Tlie New Internet Pivtocol, Englewood Cliffs, NJ: Prentice Hali, 1996.
HUITEMA, G: Routing n the Internet, Englewood Cliffs, NJ: Prentice Hali, 1995.
HUMBLET, P A , RAMASWAMI, R. i SIVARAJAN, K.N.: "An Efficient Communication Protocol for HighSpeed Packet-Switched Multichannel Networks," Proc. SIGCOMM '92 Conf, ACM,
pag. 2-13,1992.
IEEE- 802.5: Token Ring Access Method, New York: IEEE, 1985c.
IEEE: 8023: CanierSense Multiple Access with Collision Detection,NtwYork: IEEE, 1985a.
IEEE: 802.4: Token-Passing Bus Access Method, New York: IEEE, 1985b.
IEEE: Communications Magazine, voi 33, ian. 1995.
IOANNIDIS, J. i MAQUIRE, G.Q., Jr.: "The Design and Implementation of a Mobile Internetworking
Architecture," Proc. Winter USENIX Conf., USENX, pag. 491-502, ian. 1993.
IRMER, T.: "Shaping Future Telecommunications: The Challenge of Global Standardization," IEEE Commun.
Magazine, voi. 32, pag. 20-28, ian. 1994.
IVANCIC, W.D., SHALKHAUSER, M.J. i QUINTANA, J.A.: "A Network Architecture for a Geostationary
Communication Satellite," IEEE Commun. Magazine, voi. 32, pag. 72-84, iulie 1994.
JABBARI, B., COLOMBO, G., NAKAJEVIA, A. i KULKARNI, J.: "Network Issues for Wireless
Communications," IEEE Commun. Magazine, voi. 33, pag. 88-98, ian. 1995.
SEC. 8.2
725
JACOBSON, V.: "Congestion Avoidance and Control," Proc. SIGCOMM '88 Conf., ACM, pag. 314-329,1988..
JAIN, R.: "Congestion Control and Traffic Management n ATM Networks: Recent Advances and a Survey,"
Computer Networks and ISDN Systems, voi. 27, nov. 1995.
JAIN, R.: "Congestion Control n Computer Networks: Issues and Trends," IEEE Network Magazine, voi 4,
pag. 24-30, mai/iunie 1990.
JAIN, R: FDD Handbook-High-Speed Networking Using Fiber and other Media, Reading, MA:
Addison-Wesley, 1994.
JAIN, R.: TleAit of Computer Systems PerfonnanceAnafysis, New York: John Wiley, 1991.
JIA, F. i MUKHERJEE, B.: "The Receiver Collision Avoidance (RCA) Protocol for a Singe-Hop WDM'
Lightwave Network," Journal of Lightwave Technology, voi. 11, pag. 1053-1065, mai/iunie 1993.
JOHNSON, D.B.: "Scalable Support for Transparent Mobile Host Internetworkmg," Wireless Networks, voi. 1,
pag. 311-321, oct. 1995.
JOHNSON, H.W.: Fast Ethemet-Dawn of a New Network, Englewood Cliffe, NJ: Prentice H I , 1996.
KHN, D.: "Cryptoogy Goes Public," IEEE Commun. Magazine, voi. 18, pag. 19-28, martie 1980.
KAHN. D.: Vie Codebreakers, New York: Macmillan, 1967.
KALISKI, B.S. i ROBSHAW, M.J.B.: "Fast Block Cipher Proposa," Proc. Cambridge Security Workshop,
Springer-Verlag, pag. 26-39,1994.
KAMOUN, F. i KLEINROCK, L: "Stochastic Performance Evaluation of Hierarchical Routing for Large
Networks," Computer Networks, voi. 3, pag. 337-353, nov. 1979.
KARN, P.: "MACA-A New Channel Access Protocol for Packet Radio," ARRL/CRRL Amateur Radio Ninth
Computer Networking Conf., pag. 134-140,1990.
KAROL, M.l, HLUCHYJ, M.G. i MORGAN, S.P.: "Input Versus Output Queueing on a Space-DivisiOn
Packet Switch," IEEE Trans. on Commun, voi. 35, pag. 1347-1356, dec. 1987.
KARSHMER, AI. i THOMAS, J.N.: " Computer Networking on Cable TV Plants," IEEE Commun.
Magazine, voi. 30, pag. 32-40, nov. 1992.
KATZ, D., FORD, P.S.: "TUBA: Replacing IP with CLNP," IEEE Network Magazine, voi. 7, pag. 38-47,
mai/iunie 1993.
KATZ, E.D., BUTTLER, M. i McGRATH, R.: "A Scalable FTITP Server: The NCSA Prototype," Computer
Networks and ISDN Systems, voi. 27, pag. 155-164, nov. 1994.
KAUFMAN, C, PERLMAN, R. i SPECINER, M.: Network Security, Englewood Cliffc, NJ: Prentice HaU, 1995.
KAVAK, N.: Data Communication n ATM Networks," IEEE Network Magazine, voi. .9, pag. 28-37,
mai/iunie 1995.
726
CAP. 8
KENT, CA. i MOGUL, J.C.: "Fragmentation Considered Harmful," Proc. SIGCOMM '87 Conf. ACM, pag.
390-401,1987.
KENT, S.T.: "Internet Privacy Enhanced Mail," Commun. of the ACM, voi. 36, pag. 48-60, aug. 1993.
KESSLER, G.C. i TRAIN, D.: Metropolitan Arca Networks: Concepts, Standards, and Services, New York:
McGraw-Hill,' 1992.
KESSLER, G.C: ISDN, ediia a doua, New York: McGraw-Hill, 1993.
KM, J.B., SUDA, T. i YOSHIMURA, M.: "International Standardization of B-ISDN," Computer Networks
and ISDN Systems, voi. 27, pag. 5-27, oct. 1994.
KLEINROCK, L. i TOBAGI, F.: "Random Access Techniques for Data Transmission over Packet-Switched
Radio Channels," Proc. Nat. Computer Conf, pag. 187-201,1975.
KOHNO, R., MEIDAN, R. i MILSTEIN; L.B.: "Spread Spectrum Access Methods for Wireless
Communication," IEEE Commun. Magazine, voi. 33, pag. 58-67, ian. 1995.
KUMAR, V.: MBone: Interactive Multimedia on the Internet Indianapolis, N: New Riders, 1996.
KUNG, H.T. i MORRIS, R.: "Credit-Based Flow Control for ATM Networks," IEEE Network Magazine, voi.
9, pag. 40-48, martie/aprilie 1995.
KWAN, T.T., McGRATH, R.E. i REED, DA: "NCSA's WWW Server: Design and Performance," IEEE
Computer Magazine, voi. 28, pag. 68-74, nov. 1995.
KWOK, T.: "A Vision for Residential Broadband Service: ATM to the Home," IEEE Network Magazine voi. 9,
pag. 14-28, sept./oct. 1995.
KYAS, O:. ATM Networks, London: International Thomson Publishing, 1995.
LA PORTA, T.F., VEERARAGHAVAN, M., AYANOGLU, E, KAROL, M., i GITLIN, R.D.: "BISDN: A
Technological Discontinuity," IEEE Commun. Magazine, voi. 32, pag. 84-97, oct. 1994.
LAI, X. i MASSEY, J.: "A Proposal for a New Block Encryption Standard," Advances n Cryptology-Eurocrypt
'90 Proceedings, New York: Springer-Verlag, pag. 389-404,1990.
LAI, X.: On the Design andSecurity of Block Ciphers, Konstanz, Germany: Hartung-Gorre, 1992.
LAMPSON, B.W.: "A Note on the Confinement Problem," Commun. Of the ACM, voi. 10, pag. 613-615,
oct. 1973.
LANDAU, S.: "Zero-Knowledge and the Department of Deferise," Notices of the American Mathematical
Society, voi. 35, pag. 5-12, ian. 1988.
LANGSFORD, A.: "The Open System User's Programming Interfaces," Computer Networks voi. 8,
pag. 3-12,1984.
LATIF, A., ROWLANCE, E.J. i ADAMS, R.H.: "The IBM 8209 LAN Bridge," IEEE Network Magazine, voi. 6,
pag. 28-37, mai/iunie 1992.
SEC. 8.2
727
LAUDON, K.C.: "Ethical Concepts and Information Technology," Commun. of the ACM, voi. 38, pag. 33-39,
dec. 1995.
LE BOUDEC, J.-Y.: "The Asynchronous Transfer Mode: A Tutorial," Computer Networks and ISDN Systems,
voi. 24, pag. 279-309, mai 1992.
LEINER, B.M., COLE, R., POSTEL, J. i MILLS, D.: "The DARPA Internet Protocol Suite," IEEE Commun.
Magazine, voi. 23, pag. 29-34, martie 1985.
LEVINE, DA i AKYILDIZ, I A : "PROTON: A Media Access Control Protocol for Optical Networks with
Star Topology," IEEE/ACM Trans. on Networking, voi. 3, pag. 158-169, aprilie 1995.
LEW, S.: "Crypto Rebeis," Wired, pag. 54-61, mai/iunie 1993.
LIN, F., CHU, P. i LIU, ML: "Protocol Verification Using Reachability Analysis: The State Space Explosion
Problem and Relief Strategies," Proc. SIGCOMM '87 Conf., ACM, pag. 126-135,1987.
LIPPER, E.H. i RUMSEWICZ, M.P.: "Teletraffic Considerations for Widespread Deployment of PCS," IEEE
Network Magazine voi. 8, pag. 40-49, sept./oct. 1994.
LITTLE, T.D.C. i VENKATESH, D.: "Prospects for Interactive Video on Demand," IEEE Multimedia
Magazine, voi. 1, pag. 14-24, toamna 1994.
LIU, C.L. i LAYLAND, J.W.: "Scheduiing Algorithms for Multiprogramming n a Hard Real-Time
Environment," Journal of the ACM, voi. 20, pag. 46-61, ian. 1973.
LUOTONEN, A. i ALTIS, K.: "World Wide Web Proxies," Computer Networks and ISDN Systems, voi. 27,
pag. 147-154, nov. 1994.
MACARIO, R.C.V.: Cellular Radio-Piinciples and Desigii, New York: McGraw-Hill, 1993.
MACEDONIA, M.R. i BRUTZMAN, D.P.: "MBone Provides Audio and Video Across the Internet," IEEE
Computer Magazine, voi. 27, pag. 30-36, aprilie 1994.
MASSEY, J.L.: "SAFER K-64: A Byte-Oriented Block Ciphering Algorithm," Proc. Cambridge Security
Workshop, Springer-Verlag, pag. 1-17,1994.
MATSUI, M.: "Linear Cryptanalysis Method for DES Cipher," Advances n Cryptology-Eurocrypt '93
Proceedings, New York: Springer-Verlag, pag. 386-397,1994.
McBRYAN, O.: "GENVL and WWW: Tools for Taming the Web," Proc. First Intl. WWW Conference, pag.
79-90,1994.
McDYSAN, D.E. i SPOHN, D.L.: ATM-Theoiy and Application, NY: McGraw-Hill, 1995.
McKENNEY, P.E. i DOVE, K.F.: "Eficient Demultiplexing of Incoming TCP Packets," Proc. SIGCOMM '92
Conf., ACM, pag. 269-279,1992.
MENEZES, A.J. i VANSTONE, SA: "Elliptic Curve Cryptosystems and Their Impiementation," Journal of
Cryptology, voi. 6, pag. 209-224,1993.
728
CAP. 8
MERKLE, R.C. i HELLMAN, M.: "Hiding and Signatures n Trapdoor Knapsacks," IEEE Trans. on
Information Theory, voi. IT-24, pag. 525-530, sept. 1978.
MERKLE, R.C. i HELLMAN, M.: "On the Security of Multiple Encryption," Commun. of the ACM, voi. 24,
pag. 465-467, iulie 1981.
MERKLE, R.C.: "Fast Software Encryption Functions," Advances n Cryptology-CRYPTO '90 Proceedings,
New York: Springer-Verlag, pag. 476-501,1991.
METCALFE, R.M. i BOGGS, D.R.: "Ethernet: Distributed Packet Switching for Local Computer Networks,"
Commun. of the ACM, voi. 19, pag. 395-404, iulie 1976.
METCALFE, R.M.: "Computer/Network Interface Design: Lessons from Arpanet and Ethernet," IEEE Journal
on Selected Areas n Commun., voi. 11, pag. 173-179, febr. 1993.
METCALFE, R.M.: "On Mobile Computing," Byte, voi. 20, pag. 110, sept. 1995.
MIKL T.: "The Potenial of Photonic Networks," IEEE Comraun. Magazine, voi. 32, pag. 23-27, dec. 1994a.
MKI, T.: "Toward he Service-Rich Era," IEEE Commun. Magazine, voi. 32, pag. 34-39, febr. 1994b.
MINOLI, D. i VTTELLA, M.-.ATM& CellRelay for Coiporate Enviwwnents, New York: McGraw-Hill, 1994.
MINOLI, D.: Video Dialtone Technology, New York: McGraw-Hill, 1995.
MMCHANDANI, S. i KHANNA. R. (eds): FDDI Technologies and Applications, New York: John Wiley, 1993.
MISHRA, P.P. i KANAKIA, H.: "A Hop by Hop Rate-Based Congestion Control Scheme," Proc. SIGCOMM
'92 Conf., ACM, pag. 112-123,1992.
MOCHIDA, Y.: "Technologies for Loca-Access Fibering," IEEE Commun. Magazine, voi. 32, pag. 64-73,
febr. 1994.
i, J.C.: "IP Network Performance," n Internet System Handbook, Lynch, D.C. i Rose, M.T. (eds.),
Reading, MA: Addison-Wesley, pag. 575-675,1993.
J.C.: "The Case for Persistent-Connection HTTP," Proc. SIGCOMM '95 Conf., ACM,
pag. 299-314,1995.
MOK, AX i WARD, SA: "Distributed Broadcast Channel Access," Computer Networks, voi. 3, pag. 327-335,
nov. 1979.
MORALES, J, PATKA, A., CHOA, P i KUI, J.: "Video Dial Tone Sessions," IEEE Network Magazine, voi. 9,
pag. 42-47, sept./oct. 1995.
MOY, J.: "Multicast Routing Extensions," Commun. of the ACM, voi. 37, pag. 61-66, aug. 1994.
MULLENDER, SJ. (ed.): Distributed Systems, ediia a doua, New York: ACM Press, 1993.
MYLES, A. i SKELLERN, D.: "Comparison of Mobile Host Protocols for IP," Computer Networks and ISDN
Systems, voi. 26, pag. 349-355, dec. 1993.
SEC. 8.2
729
NAGLE, J.: "Congestion Control n TCP/IP Internetworks," Computer Commun. Rev., voi. 14, pag. 11 - 17,
oct. 1984.
NAGLE, J.: "On Packet Switches with Infinite Storage," IEEE Trans. on Commun., voi. COM-35, pag. 435-438,
aprilie 1987.
NEEDHAM, R.M. i SCHROEDER, M.D.: "Authentication Revisited," Operating Systems Rev., voi. 21, pag. 7,
ian. 1987.
NEEDHAM, R.M. i SCHROEDER, M.D.: "Using Encryption for Authentication n Large Networks of
Computere," Commun. of the ACM, voi. 21, pag. 993-999, dec. 1978.
NELSON, M.N. i LINTON, M.: "A Highly Availabie, Scalable ITV System," Proc. Fifteenth Symp. on
Operating Systems Prin., ACM, pag. 54-67,1995.
NEMETH, E., SNYBER, G., SEEBASS, S. i HEN, T.R.: UNIX System Adininistration Handbook, Englewood
Cliffs, NJ: Prentice Hali, 1995.
NEMZOW, M.: Implementing Wireless Networks, New York: McGraw-Fil, 1995.
NEUMAN, B.C. i TS'O, T.: "Kerberos: An Authentication Service for Computer Networks," IEEE Commun.
Magazine, voi. 32, pag, 33-38, sept. 1994.
, P.: "ATM Local Area Networks," IEEE Commun. Magazine, voi. 32, pag. 86-98, martie 1994.
, P.: "Traffic Management for ATM Local Area Networks," IEEE Commun. Magazine, voi. 32,
pag. 44-50, aug. 1994.
NIST: "Secure Hash Algorithm," U.S. Government Federal Information Processing Standard 180,1993.
OMTOYAR, C.G. i ALDRIDGE, A.: "Introduction to SDH/SONET," IEEE Commun. Magazine voi. 31,
pag. 30-33, sept. 1993.
OTWAY, D. i REES, O.: "Efficient and Timely Mutual Authentication." Operating System Rev. pag. 8- 10,
ian. 1987.
PBGEI, J.E., GUNTHER, C.G. i HATTORL T.: "Overview of Wireless Personal Communications," IEEE
Cornrnun. Magazine voi. 33, pag. 28-41, ian. 1995.
PAFF, A.: "Hybrid Fiber/Coax n the Public Telecommunications Infrastrucure," IEEE Commun. Magazine,
voi. 33, pag. 40-45, aprilie 1995.
PAHLAVN, K., PRQBERT, T.H. i CHASE, M.E.: "Trends n Local Wireless Networks," IEEE Commun.
Magazine, voi. 33, pag. 88-95, martie 1995.
PALIS, J.C.: Fiber Optic Commun, ediia a treia, Englewood Cliffs, NJ: Prentice Hali, 1992.
PALMER, L.C. i WHITE, L.W.: "Demand Assignment n the ACTS LBR System," IEEE Trans. on Commun,
voi. 38, pag. 684-692, mai 1990.
730
CAP. 8
PAN, D.: "A Tutorial on MPEG/Audio Compression." IEEE Multimedia Magazine voi. 2, pag. 60-74,
Summer 1995.
PANCHA, P. i EL ZARKL M.: "MPEG Coding for Variable Bit Rate Video Transmission," IEEE Commun.
Magazine, voi. 32, pag. 54-66, mai 1994.
PANDYA, R.: "Emerging Mobile and Personal Communication Systems," IEEE Commun. Magazine voi. 33,
pag. 44-52, iunie 1995.
PARULKAR, G., SCHMIDT,D.C. iTURNER, J.S.: "AITPM: AStrategyfor IntegratingIPwith ATM,"Proc.
SIGCOMM '95 Conf, ACM, pag. 49-58,1995.
PATRIDGE, C, HUGHES, J. i STONE, J.: "Performance of Checksums and CRCs over Real Data," Proc.
SIGCOMM '95 Conf., ACM, pag. 68-76,1995.
PATRIDGE, G: "A Proposed How Specification," Internet RFC 1363, sept. 1992.
PATRIDGE, G: Gigabit Networldng, Reading, MA: Addison-Wesley, 1994.
PAXSON, V. i FLOYD, S.: "Wide-Area Traffic: The Failure of Poisson Modeiing," Proc. SIGCOMM '94 Conf.,
ACM, pag. 257-268,1995.
PAXSON, V.: "Growth Trends n Wide-Area TCP Connections," IEEE Network Magazine, voi. 8, pag. 9- 17,
iulie/aug. 1994.
PERKINS, G: "Providing Continuous Network Access to Mobile Hosts Using TCP/IP," Computer Networks
and ISDN Systems, voi. 26, pag. 357-370, nov. 1993.
*
PERLMAN, R.: Network Layer Protocols with Byzanthine Robustness, tez de doctorat, M.I.T., 1988.
PERRY, T.S. i ADAM, JA.:" E-Mail: Pervasive and Persuasive," IEEE Spectmm, voi. 29, pag. 22-28, oct. 1992.
PETERSON, W.W. i BROWN, D.T.: "Cyclic Codes for Error Detection," Proc. IRE, voi. 49, pag. 228-235,
ian. 1961.
PICKHOLTZ, R L , SCHILLING, D.L. i MBLSTEN, L.B.: "Theory of Spread Spectrum Communication-A
Tutorial," IEEE Trans. On Commun., voi. COM-30, pag. 855-884, mai 1982.
* PIERCE, J.: "How Far Can Data Loops Go?" IEEE Trans. on Commun., voi. COM-20, pag. 527-530,
iunie 1972.
PINKERTON, B.: "Finding What People Want: Experiences with the WebCrawler," Proc. First Intl.
WorldWide Web Conference, 1994.
PISCITELLO, D.M. i CHAPN, AJL: Open Systems Networldng: TCP/IP and OSI, Reading, MA:
Addison-Wesley, 1993.
PJTT, D A : "Bridging-The Double Standard," IEEE Network Magazine, voi. 2, pag. 94-95, ian. 1988.
SEC. 8.2
731
QUICK, R. F., Jr. i BAIACHANDRAN, K: "An Overview of the Ceilular Digital Packet Data (CDPD)
System," Fourth Int'l Symp. on Personal, Indoor, and Mobile Radio Commun., pag. 338-343,1993.
QUISQUATER, J.-J. i GIRAULT., M.: "Chinese Lotto as an Exhaustive Code-Breaking Machine," IEEE
Computer Magazine, voi. 24, pag. 14-22, nov. 1991.
RABIN, M.O.: "Digital Signatures and Public-Key Functions as Intractable as Factorization," Technical Report
LCS-TR-212, M.I.T, ian. 1979.
RAHNEMA, M.: "Overview of the GSM System and Protocol Architecture," IEEE Commun. Magazine, voi. 31,
pag. 92-100, aprilie 1993.
RAJAGOPALAN, B.: "Reliability and Scaling Issues n Multicast Communication," Proc. SIGCOMM '92 Conf.,
ACM, pag. 188-198,1992.
RANSOM, M.N.: "The VISTAnet Gigabit Network Testbed," Journal of High Speed Networks, voi. 1,
pag. 49-60,1992.
RAO, S.K. i HATAMIAN, M.: "The ATM Physical Layer," Computer Commun. Rev., voi. 25, pag. 73-81,
aprilie 1995.
RTVEST, R.L. i .SHAMIR, A.: "How to Expose an Eavesdropper," Commun. of the ACM, voi. 27, pag. 393-395,
aprilie 1984.
RIVEST, R.L, SHAMIR, A. i ADLEMAN, L: "On a Method for Obtaining Digital Signatures and Public Key
Cryptosystems," Commun. of the ACM, voi. 21, pag. 120-126, febr. 1978.
RVEST, R.L.: "The MD5 Message-Digest Algorithm," RFC 1320, aprilie 1992.
ROBERTS, L.: "Dynamic Allocation of Satellite Capacity through Packet Reservation," Proc. NCC, AFIPS,
pag. 711-716,1973.
ROBERTS, L: "Extensions of Packet Communication Technology to a Hand Held Personal Terminal," Proc.
Spring Joint Computer Conference, AFIPS, pag. 295-298,1972.
ROMANOW, A. i FLOYD, S.: "Dynamics of TCP Traffic over ATM Networks," Proc. SIGCOMM '84 Conf.,
ACM, pag. 79-88,1994.
ROSE, MX i McCLOGHRBE, K.: How to Manage Your Network Using SNMP, Englewood Oiffs, NJ: Prentice
Hali, 1995.
ROSE, M.T.: The Internet Message, Englewood Cliffs, NJ: Prentice Hali, 1993.
ROSE, M.T.: The Simple Book, Englewood Cliffs, NJ: Prentice Hali, 1994.
ROSS, RE. i HAMSTRA, J.R.: "Forging FDDI," IEEE Journal on Selected Areas n Commun., voi. 11,
pag. 181-190, febr. 1993.
SADIKU, M.N.O. i ARVTND, A.S.: "Annotated Bibliography on Distributed Queue Dual Bus (DQDB),"
Computer Commun. Rev., voi. 24, pag. 21-36, ian. 1994.
732
CAP. 8
SALTZER, J.H., POGRAN, K.T. i CLARK, D.D.: "Why a Ring?" Computer Networks, voi. 7, pag. 223-230,
aug. 1983.
SALTZER, J.H., REED, D.P. i CLARK, D.D.: "End-to-End Arguments n System Design," ACM Trans. on
Computer Systems, voi. 2, pag. 277-288, nov. 1984.
SANDERSON, D.W. i DOUGHERTY, D.: Smileys, Sebastopol, CA: O'Reilly, 1993.
SANTIFALLER, M.: 'TCP/IP and ONC/NFS," Reading, MA: Addison-Wesley, 1994.
SCHNEIER, B.: "Description of a New Variable-Length Key, 64-Bit Block Cipher [Biowfish]," Proc. of the
Cambridge Security Workshop, Springer-Verlag, pag. 191-204,1994.
SCHNEIER, B.: Applied Cryptography, ediia a doua, New York: John Wiley, 1996.
SCHNEIER, B.: E-Mail Security, New York: John Wiley, 1995.
SCHNORR, CP.: "Efficient Signature Generation for Smart Cards," Journal of Cryptology, voi. 4, pag. 161-174,
1991.
SCHOLTZ, RA.: "The Origins of Spread-Spectrum Communications," IEEE Trans. on Commun., voi COM30, pag. 822-854, mai 1982.
SCOTT, R: "Wide Open Encryption Design Offers Flexible Implementations," Cryptologia, voi. 9, pag. 75-90,
ian. 1985.
SELFRTOGE, O.G. i SCHWARTZ, RT.: "Telephone Technology and Privacy," Technology Rev., voi. 82, pag.
56-65, mai 1980!
SEYBOLD, A.M.: Using Wireless Communications n Business, New York: Van Nostrand Reinhold, 1994.
SHACHAM, N. i McKENNEY, P.: "Packet Recovery n High-Speed Networks Using Coding and Buffer
Management," Proc. INFOCOM '90, IEEE, pag. 124-130,1990.
SHAH, A. i RAMAKRISHNAN, G.: "FDDI-A High Speed Network, Englewood Cliffs, NJ: Prentice Hali, 1994.
SHANNON, C: "A Mathematical Theory of Communication," Bell System Tech. J, voi. 27, pag. 379-423, iulie
1948; i pag. 623-656, oct. 1948.
SHEN, B. i SETHI, I.K.: "Inner-Block Operations on Compressed Images," Proc. of ACM Multimedia '95,
ACM,'pag. 489-498,1995.
SHIMIZU, A. i IVnYAGUCHI, S.: "Fast Data Encipherment Algorithm FEAL," Advances n CryptologyEurocrypt '87 Proceedings, NY: Springer-Verlag, pag. 267-278,1988.
SHREEDHAR, M. i VARGHESE, G.: "Efficient Fair Queueing Using Deficit Round Robin," Proc.
SIGCOMM '95 Conf, ACM, pag. 231-243,1995.
SINGLETON, A.: "Wired on the Web," Byte, voi. 21, pag. 77-80, ian. 1996.
SEC. 8.2
733
SIPIOR, J.C. i WARD, B.T.: "The Ethical and Legal Quandary of Email Privacy," Commun. of the ACM, voi.
38, pag. 48-54, dec. 1995.
SIU, K.-Y. i JAIN, R.: "A Brief Oveiview of ATM: Protocol Layers, LAN Emulation, and Traffic
Management," Computer Commun. Rev., voi. 25, pag. 6-20, aprilie 1995.
SMITH, P.: Frame Reky, Reading, MA: Addison-Wesley, 1993.
SOHA, M. i PERLMAN, R.: "Comparison of Two LAN Bridge Approaches," IEEE Network Magazine, voi. 2,
pag. 37-43, ian./febr. 1988.
SPAFFORD, E.H.: "The Internet Worm: Crisis and Aftermath," Commun. of the ACM, voi. 32, pag. 678-687,
iunie 1989.
SPRAGINS, J.D., cu HAMMOND, J.L i PAWLIKOWSKI, K.: Telecgmmunications Pivtocols and Desigii,
Reading, MA: Addison-Wesley, 1991.
STALLINGS, W.: Data and Computer Communications, ediia a patra, New York: Macmillan, 1994.
STALLINGS, W.: ISDN and Broadband ISDN with Frame Reky and ATM, Englewood Cliffs, NJ: Prentice Hali,
1995a.
STALLINGS, W.: Local and MetivpolitanArea Networks, ediia a patra, New York: Macmillan. 1993b.
STALLINGS, W.: Network and Intemetwork Security, Englewood Cliffs, NJ: Prentice Hali, 1995b.
STALLINGS, W.: Pivtect YourPiivacy: The PGP Usei's Guide, Englewood Cliffs, NJ: Prentice Hali, 1995c.
STALLINGS, W.: SNMP, SNMPv2, and CMIP, Reading, MA: Addison-Wesley, 1993a
STEELE, R., WHITEHEAD, J. i WONG, W.C.: "System Aspecte of Cellular Radio," IEEE Commun.
Magazine, voi. 33, pag. 80-86, ian. 1995a.
STEELE, R., WILLIAMS, J., CHANDLER, D., DEHGHAN, S. i COLLARD, A.: 'Teletraffic Performance of
GSM900/DCS1800 n Street Microcells," IEEE Commun. Magazine, voi. 33, pag. 102-108, martie 1995b.
STEINER, J.G., NEUMAN, B.C. i SCHILLER, J.I.: "Kerberos: An Authentication Service for Open Network
Systems," Proc. Winter USENIX Conf, USENIX, pag. 191-201,1988.
STEINMETZ, R. i NAHRSTEDT, K.: Multimedia: Computing, Communications and Applications, Englewood
Cliffs, NJ: Prentice Hali, 1995.
STEPHENS, W.E. i BANWELL, T.C.: "155.52 Mb/s Data Transmission on Category 5 Cable Plant IEEE
Commun. Magazine, voi. 33, pag. 62-69, aprilie 1995.
STERBENZ, J.P.G., SCHULZRINNE, H.G. i TOUCH, J.D.: "Report and Discussion of the IEEE ComSoc
TCGN Gigabit Networking Workshop 1995," IEEE Network Magazine, voi. 9, pag. 9-29, iulie/aug. 1995.
STEVENS, W.R.: TCP/IP Illustrated, Voi. 1, Reading, MA: Addison-Wesley, 1994.
<-
734
CAP. 8
STDXER, B.: "A Survey of UNI Signaling Systems and Protocols," Computer Commun. Rev., voi. 25,
pag. 21-33, aprilie 1995.
ST1NSON, D.R.: Qyptography Theory and Practice, Boca Raton, FL: CRC Press, 1995.
THYAGARAJAN, A.S. i DEERING, S.E.: "Hierarchical Distance-Vector Multicast Routing for the MBone,"
Proc. SIGCOMM '95 Conf, ACM, pag. 60-66,1995.
TQKORO, M. i TAMARU, K.: "Acknowledging Ethernet Compcon, IEEE, pag. 320-325, Fall 1977.
TOLMIE, D.E. i RENWICK, J.: "HIPPI: Simplicity Yields Success," IEEE Network Magazine, voi. 7,
pag. 28-32, ian./febr. 1993.
* TOLMIE, D.E.: "Gigabit LAN Issues-HIPPI, Fibre Channel, and ATM," n Proc. High-Performance Computing
and Networking, Hertzberger, B. i Serazzi, G. (Eds.), Berlin: Springer Verlag, pag. 43-53,1995.
* TOLMIE, D.E.: "Gigabit Networking," IEEE LTS, voi. 3, pag. 28-36, mai 1992.
TOMLINSON, R.S.: "Selecting Sequence Numbers." Proc. SIGCOMM/SIGOPS Interprocess Commun.
Workshop, ACM, pag. 11-23,1975.
TOUCH,.J.D.: "Performance Analysis of MD5," Proc. SIGCOMM '95 Conf. ACM. pag. 77-86,1995.
TRUONG, H.L., ELLINGTON, W.W. Jr., LE BOUDEC, J.-Y., MEIER, AX i PACE, J.W.: "LAN Emulation
on an ATM Network," IEEE Commun. Magazine voi. 33, pag. 70-85, mai 1995.
TUCHMAN, W.: "Hellman Presents No Shortcut Solutions to DES," IEEE Spectrum, voi. 16, pag. 40-41,
iulie 1979.
TURNER, J.S.: "New Directions n Communications (or Which Way to the Information Age)," IEEE Commun.
Magazine, voi. 24, pag. 8-15, oct. 1986.
, VAN DER LINDEN, P.: Just Java, Englewood Cliffs, NJ: Prentice Hali, 1996.
VAN OORSCHOT, P.C. i WIENER, M.J.: "A Known-Plaintext Attack on Two-Key Triple Encryption,"
Advances n Cryptology-CRYPTO '88 Proceedings, New York: Springer-Vertag, pag. 119-131,1988.
VAN RENESSE, R., VAN STAVEREN, H. i TANENBAUM, A.S.: "Performance of the World's Fastest
Distributed Operating System," Operating Systems Rev., voi. 22, pag. 25-34, oct. 1988.
SEC. 8.2
735
VARGHESE, G. i LAUCK, T.: "Hashed and Hierarchica! Timing Wheels: Data Structures for the Efficient
Implementation of a Timer Facility," Proc. Eleventh Symp. on Operating Systems Prin., ACM,
pag. 25-38,1987.
VENKATKAMNI, C. i CHIUEH, T.: "Design, Implementation, and Evaluation of a Software-Based RealTime Ethernet Protocol," Proc. SIGCOMM '95 Conf, ACM, pag. 27-37,1995.
VETTER, R.J.S SPELL, C i WARD, C: "Mosaic and the World-Wide Web," IEEE Computer Magazine,
voi. 27, pag. 49-57, oct. 1994.
VELLAMIZAN, G i SONG, C: "High Performance TCP n ANSNET," Computer Commun. Rev., voi. 25,
pag. 45-60, oct. 1995.
VTTERB, AJ.: CDMA Piincipks ofSpread Spectium Communications, Reading, MA: Addison-Wesley, 1995.
WB, H., YOZAWA, T., OHNISH, T. i TANAKA, Y.: "Mobile Computing Environment Based on Internet
Packet Forwarding," Proc. Winter USENIX Conf, USENIX, pag. 503-517, ian. 1993.
WALRAND, J.: Comrnunication Networks: A First Course, Homewood, L: nvia, 1991.
WATSON, R.W.: "Timer-Based Mechanisms n Reliable Transport Protocol Connection Management,"
Computer Networks, voi. 5, pag. 47-56, febr. 1981.
WAYNER, R: "Picicing the Crypto Lock," Byte, pag. 77,80, oct. 1995.
WESBAND, S.P. i REINIG, BA.: "Managing User Perceptions of Email Privacy," Commun. of the ACM, voi.
38, pag. 40-47, dec. 1995.
WIENER, M.J.: "Efficient DES Key Search," Technical Report TR-244, School of Computer Science, Careon
Univ., Oiawa, 1994.
WHIIAMS, KA, M M , T.Q. i DU, DJH.-C: "A Media Access Protocol for Time and Wavelength-Division
Multiplexed Passive Star Networks," IEEE Journal on Selected Areas n Commun., voi. 11. pag. 560-567,
mai 1993.
WIXINGER, W., TAQQU, M.S., SHERMAN, R. l WILSGN, D.V.: "Seif-Similarity through High Variabilii}':
Statistica! Anaysis of Ethernet LAN Traffic at the Source Level," Proc. SIGCOMM '95 Cont, ACM, pag.
100-113,1995.
W0LTE8, M.S.: "Fiber Distributed Data Interface-ATutoriai," ConneXions, pag. 16-26, oct. 1990.
YNG, C.-Q. i REDDY, A.V.S.: "A Taxonomy for Congestion Control Algorithms n Packet Switching
Networks," IEEE Network Magazine, voi. 9, pag. 34-45, iulie/aug. 1995.
YEH, Y,-S.5 HLUCHYJ, M.G. i ACAMPORA, A.S.: "The Knockout Switch: A Simple, Modular Architecture
for High-Perfonnance Packet Switching," IEEE Journal on Selected Areas n Commun., voi. 5,
pag. 1274-1283, oct. 1987.
YQUSSEF, A.M., KALMAN, E., BENZON, L.: "Technico-Economic Methods of Radio Specrum
Assignment," IEEE Commun. Magazine, voi. 33, pag. 88-94, iunie 1995.
736
CAP. 8
YUVAL, G.: "How to Swindle Rabin," Cryptologia, voi. 3, pag. 187-190, iulie 1979.
ZHANG, L: "Comparison of Two Bridge Routing Approaches," IEEE Network Magazine, voi. 2, pag. 44-48,
ian./feb. 1988.
ZHANG, L.: "RSVP A New Resource ReSerVation Protocol," IEEE Network Magazine, voi. 7, pag. 8-18,
sept./oct. 1993.
*
ZMMERMANN, P.R.: PGP: Source Code and Intemals, Cambridge, MA: M.I.T. Press, 1995b.
ZMMERMANN, P.R.: The Official PGP User*s Guide, Cambridge, MA: M.I.T. Press, 1995a.
ZEPF, G.K.: Hwnan Behavbr and the Principie ofLeast Effort: An Introduction to Hurnan Ecology, Cambridge,
MA: Addison-Wesley, 1949.
ZIV, J. i LEMPEL, Z.: "A Universal Algorithm for Sequential Data Compression," IEEE Trans. on
Information Theory, voi. LT-23, pag. 337-343, mai 1977.
DICIONAR
A-side carrier
Furnizor de tip A
Access charge
Tax de acces
Access control
Acknowledge (ACK)
Confirmare pozitiv
Acknowledgement frame
Cadru de confirmare
Active map
Hart activ
Adapter board
Plac adaptoare
Adapter plug
Fi de adaptare
Address mapping
Advanced communication
technology satellite
737
738
DICIONAR
Affrmative acknowledgement
Confirmare pozitiv
Alias
Pseudonim
Amount of variability
Amplitude modulation
Modulaie n amplitudine
Anonymous remailer
Anycasting
Appliances
Utiliti
Application gateway
ASCnarmor
Armur ASCII
Async
Asincron
Authentication
Autentificare
Authoritative record
Auto-dial
Decuplare automat
B
B-side carrier
Furnizor de tip B
Backbone
Coloan vertebral
Background
Fundal
Background job
Background task
Proces de fundal
ADV...-BAC.
BAC... - BOO...
DICIONAR
B
Backing store
Memorie de salvare
Backplane
Fund de sertar
Backward channe!
Canal invers
Balanced error
Eroare echiprobabil
Balanced transmission
Transmisie echilibrat
Basic rate
Vitez primar
Batched communication
Baud rate
Vitez de transmisie
Big endian
Binary countdown
Binary synchronous
communication (BSC)
Biquinary code
Birttdav atack
Bit stuffing
nserare de bii
Hart de bii
Copie confidenial
Block cipher
Cifrare pe blocuri
Block marker
Marcaj de bloc
Body, email
Bookmark
Adres de pagin
739
740
DICIONAR
Bridge
Punte
Broadband cable
Broadcast
Difuzare
Broadcast address
Adres de difuzare
Broadcast network
Reea cu difuzare
Broadcast routing
Broadcast storm
Furtun de difuzare
Browse
Rsfoire
Browser
Program de navigare
Buffer
Tampon
Built-n check
Test incorporat
Burstiness
Bus network
Reea cu magistral
L,
Cache
Caching
Caii duration
Durata comunicaiei
Called party
Apelat (subst)
Caller
Apelant
Cancel character
Caracter de anulare
Cancellation
Anulare
Care-of address
Adres a intermediarului
Carrier
Purttor
Carrier
Companie de telecomunicaii
BRL.-BUS..
CAR...-CLE...
DICIONAR
Carrier signalling
Semnalarea purttoarei
Cell relay
Releu de celule
Certification authority
Autoritate de certificare
Challenge-response protocol
Protocol provocare-rspuns
Character stuffing
Inserare de caractere
Check point
Chip
Cip
Chip
Circuit integrat
Chip
Achie
Chip sequence
Secven de cip
Choke cell
Celul de oc
Chunks
Fragmente
Ciphertext
Text cifrat
Circuit switching
Comutare de circuite
Clicking
Cleartosend(CTS)
Gata de transmisie
741
742
DICIONAR
Clocked signals
Semnale sincronizate
Cluster
Grup
Guter
Asociaie, ciorchine
Cluster controller
Code book
Carte de coduri
Coder/decoder (codec)
Codificator/decodificator
Collision detection
Detecia coliziunilor
Collision-free protocol
Protocol fr coliziuni
Common carrier
Purttoare comun
Compliance requirements
Clauze contractuale
Computer animation
Computer network
Reea de calculatoare
Computer services
Servicii de calcul
Confirmed service
Serviciu confirmat
Congestion
Congestie
Connection setup
Stabilirea conexiunii
Contention
Conflict
Contention bus
Magistral cu conflicte
Congestion threshold
Pragul congestiei
Conection establishment
Stabilirea conexiunii
Connection release
Connection setup
Configurarea conexiunii
CLO... - CON..
CON...-DAT...
DICIONAR
Connection-oriented service
Conectionless
Connectionless service
Serviciu fr conexiune
Contention delay
Convergence sublayer
Subnivel de convergen
Copyright status
Count-to-infinity problem
Crossbar switch
Comutator matricial
D
Data carrier detect(DCD)
Data circuit-terminaing
equipment
Data link
Data set ready(DSR)
Data switching exchange
Data terminal equipment (DTE)
Data terminal ready (DTR)
Datagram
Datagram subnets
Dataset
DC signalling
Deadlock
Delta modulation
Designated router
Dial-n modem
Digital sense multiple access
Digital signature
Legtur de date
Modem pregtit (semnal)
Comutator de date
Echipament terminal (de date)
Terminal pregtit (semnal)
Datagram
Subretele de tip datagram
Modem
Semnalizare n curent continuu
Interblocare
Modulare delta
Ruter desemnat
Modem apelabil
Acces multiplu cu detecie digital
Semntur digital
743
744
DICIONAR
DIG...-EXP..
D
Digitized voice
Voce digitizat
Disk farm
Ferm de discuri
Distant network
Dumb terminal
Terminal neinteligent
E
E-mail
Post electronic
Echo canceller
Echo suppressor
Electronic mail
Pot electronic
Electronic publishing
Emoticon
Encapsulation
ncapsulare
End offce
Oficiu final
End point
Capt
End point
Punct final
End system
Sistem final
End to end
Capt-la-capt
End user
Utilizator final
Envelope, email
nfurtoare, email
Error recovery
Error trapping
Captarea erorilor
Explicit rate
Vitez explicit
EXT... - GEN...
DICIONAR
E
Exterior gateway protocol
Externai viewer
F
Fiber cable
Fiber optics
Fibr optic
Fiber socket
Fibre chaneel
Firewall
Zid de protecie
Fil character
Caracter de umplere
Fiat address
Adres nestructurat
FSooding
Inundare
FIow control
Controlul fluxului
FSow specificatioe
Specificaia fluxului
Flow-based routing
Foregroond
Prim-plan
ForeigB ageai
Frame
Cadru
Frame relay
Releu de cadre
Framing information
Informaia de ncadrare
Frequency modulation
Modulaie n frecven
FuII duplex
Duplex integral
Gateway
Poart
745
746
DICIONAR
H
Half-duplex communication
Comunicaie semi-duplex
Helper application
High-end networks
High-performance parallel
interface
Home agent
Agent local
Home page
Pagin personal
Hop
Salt (hop)
Host
(Calculator) gazd
Hub
Hyperlink
Hiper-legtur
Hypermedia
Hiper-media
Hypertext
Hipertext
I
Icon
Iconi
Idle
Inactiv
Illegal vaiue
Valoare nepermis
n-band signalling
Semnalizare n band
Information network
Reea informaional
Interlaced video
Video ntreesut
Intermediate system
Sistem intermediar
ICO...-INE.
NT...-LOA...
DICHONAR
International Standards
Organization
International telecommunication
union
Internet backbone
Internetwork
nter-retea
Interconectarea reelelor
Trunchi inter-oficii
Trunchi ntre oficii de taxare
Fluctuaie
Load stiedding
mprtierea ncrcrii
747
748
DICIONAR
Long-haul trunks
Loopback
Bucl local
Low-endPC
Low-speed Communications
M
Mailbox
Cutie potal
Mailing list
Mapped
Pus n coresponden
(MAC)
Message digest
Message framing
Midsplit cable
Moderated newsgroup
Rezumatul mesajului
mprirea mesajelor n cadre
Cablu cu njumtim
Grup de tiri cu moderator
Monoalphabetic substitution
cipher
Mrouter
M-ruter
Multicast addresses
Multicast group
Multicasting
Trimitere multipl
Multidestination routing
Dirijare multidestinaie
Multihop
Multisalt
Multimedia
Multimedia
LOC...-MUL...
NET...-NET...
DICIONAR
Mutimode fiber
Fibr multimod
Multipath fading
Atenuare multi-ci
avoidance
Multipoint
Multipunct
Multiprotocol router
Ruter multiprotocol
extensions
N
Name server
Server de nume
Narrowband ISDN
Technology
National Security Agency
Commettee
de Televiziune
Negative achknowledgement
Confirmare negativ
(NAK)
Network (to)
A lega n reea
Network architecture
Arhitectura reelei
Network controller
Controlor de reea
Network hardware
Echipamente de reea
Network layer
Nivelul reea
Network manager
Network management
Gestiunea reelei
749
750
DICIONAR
N
Network news (USENET)
tiri
Network topology
Topologia reelei
Newsfeed
Surs de tiri
Newsgroup
Nuli modem
Modem nul
O
Office automation (OA)
Automatizarea birourilor
One-time pad
Cheie acoperitoare
Optical carrier
Purttor optic
Overhead
Suprancrcare
Packet assembler/disassembler
(PAD)
Asamblor/dezasamblor de pachete
Packet switching
Comutare de pachete
Padded
Aliniat
Paging channel
Canal de avertizare
Paging system
Sistem de paginare
Passive star
Stea pasiv
Payload
Informaie util
NET...-PAY..
PEA...-PRO...
DICnONAR
Peakcellrate
Peakcellrate
Peer
Pereche, similar
Phase modulation
Modulaie de faz
Photonic sublayer
Subnivel fotonic
Piggybacking
Pipeline
Band de asamblare
Plaintext
Pointofpresence
Point-of-sale terminals
Point-to-point network
Reea punct-la-punct
Point-to-point protocol
Protocol punct-la-punct
Polling
Interogare
Predictive encoding
Codificare predictiv
Presentation layer
Nivel prezentare
Primaryrate
Viteza primar
Privacy of data
Confidenialitatea datelor
Comutator privat
Promiscuous mode
Mod transparent
751
752
DICIONAR
Protocol hierarchy
Ierarhie de protocoale
Protocol stack
Stiv de protocoale
Protocol standard
Standard de protocol
Protocol verification
Verificarea protocoalelor
Proxy server
Server intermediar
Public domain(PD)
Domeniul public
Public-key criptography
Puise stream
Tren de (im)pulsuri
Puise train
Tren de (im)pulsuri
Push-to-talk system
0
Quadrature amplitude modulation
Quantization noise
Zgomot de cuantizare
R
Race conditions
Condiii de curs
Radio transmission
Transmisie radio
Rate
Vitez, rat
Reachability analysis
Analiza accesibilitii
PRO... - REA...
RE...-RES...
DICIONAR
R
Re-route
Receiver
Receptor
Receiving window
Fereastr de recepie
Recode (to)
A recodifica
Recoverable error
Eroare corectabil
Recoverable error
Eroare reparabil
Recovery
Recuperare
Recovery
Reparare
Recovery
Restaurare
Recovery procedure
Recursive query
Interogare recursiv
Redundancy checking
Redundant character
Redundant code
Cod redundant
Punct de referin
Reference station
Staie de referin
Reflection attack
Releasing a connection
Remote login
Acces de la distan
Remote login
Conectare la distan
Remote terminal
Terminal de teleprelucrare
Repeater
Repetor
Replay attack
Request-reply service
Serviciu cerere-rspuns
Resolver, DNS
Rezolvitor, DNS
753
754
DICIONAR
R
Resource record
nregistrare de resurse
Resource reservation
Rezervare de resurse
Response frame
Cadru de rspuns
Reverse channel
Canal de rspuns
Ringbacksystem
Sistem cu reapelare
Ring network
Reea n inel
Rounding trip
Dus/ntors
Routing
Dirijare
Routing
Rutare
Routing algorithm
Algoritm de dirijare
S-box
Bloc S (substituie)
Satellite computer
Calculator satelit
Satellite network
Reea satelit
Secret-key cryptography
Selective flooding
Inundare selectiv
Self-checking code
Cod autotestabil
Sender
Emitor, expeditor
RES...-SEN..
SEN...-SIM...
DICIONAR
Sendingwindow
Fereastr de transmitere
Sequence check
Serial line IP
IP de linie serial
Service primitive
Primitiv de serviciu
Service provider
Furnizor de servicii
Service user
Utilizator de servicii
Session key
Cheie de sesiune
Set-top box
Cutie de conectare
Shared access
Acces partajat
Shell account
Shieldcable
Cablu ecranat
Signal conditioning
755
756
DICT10NAR
Single-bit
Mono-bit
Single errors
Erori singulare
Single-hop
Mono-salt
Single-mode fber
Fibr mono-mod
Site
Sit, sediu
Site - server
Smart terminal
Terminal inteligent
Smiley
Snooping agent
Agent ascuns
Socket
Soclu
Source encoding
Source routing
Dirijare de la surs
Split horizon
Orizont mprit
Spool
Virtualizare
Star-shaped ring
Star network
Statistical encoding
Codificare statistic
Status poli
Testarea strii
Stop-and-wait
Pas-cu-pas
Storage hierarchy
Ierarhie de memorii
Store-and-forward
Memorare si retransmitere
Striping
Repartizare
SIN...-STR..
STR...-TIM...
DICIONAR
Structure of management
information
Stub network
Reea-ciot
Style sheet
Foaie de stil
Subsplit cable
Cablu submprit
Substitution cipher
Cifru cu substituie
Supervisoiy frame
Cadru de supervizare
Switched etheraet
Ethernet comutat
Switching centre
Centru de comutare
Schem de comutare
Tandem office
Tap
Conexiune, pin
Telematics
Telematic
Thin ethernet
Ethernet gros
Third part
Thread
Subproces
Three-way handshake
Throughput
Productivitate
757
758
DICIONAR
TTM...-TWL.
Timeout
Expirarea timpului
Token
Jeton
Tool office
Oficii de taxare
Traffic descriptor
Descriptor de trafic
Traffic policing
Traffic shaping
Modelarea traficului
Trailer
Transceiver
Transiver
Transit network
Reea de tranzit
Transponder, satellite
Transponder, satelit
Transport entity
Entitate de transport
Transport gateway
Transport layer
Nivel transport
Transport stream
Flux de transport
Transposition cipher
Cifru cu transpoziie
Trap,SNMP
Trap, SNMP
Tributary, SONET
Aservit, SONET
Trunk
Trunchi de magistral
Tunneling
Twisted pair
Pereche torsadat
UNB...-WID...
DICIONAR
u
Unbalanced transmission
Transmisie neechilibrat
Unconfirmed service
Serviciu neconfirmat
Unnumbered frame
Cadru nenumerotat
Urgent data
Date urgente
User agent
Agent utilizator
User profite
Profilul utilizatorilor
V
Vacation daemon
Demon de vacan
Vector quantization
Cuantizare de vectori
Video on demand
Video la cerere
Voice-grade line
Linie telefonic
w
Wavelenght division multiple
access
Web
ncrengtur
Web page
Pagin de Web
Well-known ports
Protocolul broasca-cu-gura-mare
759
760
DICIONAR
W
Wire center
Centru de cablaj
(Wo)men-n the-middle
Omul-din-mijloc
Wireline carrier
Working
n funciune
Workstation
Staie de lucru
Worm
Vierme
WIR...-WOR.,
INDEX
ARPANET, 32,41,44,45,46,47,48,65,80,
330,333,385,529,536,578,585,598,
605
ARQ, 186
ASN.l, 588,589,590,591,592,593,594,597,
621
ATM, xv, xvi, 41,56,57,58,59,60,61,66,67,
70,71,116,117,119,132,133,135,
136,137,138,139,143,158,162,208,
217,218,220,221,223,301,303,315,
317,320,321,352,353,360,361,363,
364,367,377,378,416,417,418,419,
420,421,422,424,425,426,427,429,
433,434,436,437,438,439,441,442,
443,454,470,475,506,507,508,509,
514,515,516,517,527,532,533,535,
638
B
BGP, xvi, 398,399,406,438
BITNET, 49
Blanca, 51
BOC, 97
761
762
C-H
INDEX
BOOTP, 389,393
BUS, 437
DSMA, 250,251
DSS,573
DTE, 105,106
E
CASA, 52
CBR, 425,426,427,433,434,507
CDMA, xvi, 246,251,252,254,255,304,308,
309,310,311,312
CDPD, xvi, 14,246,249,250,251,309,310,338
CDV,428
CER, 428,429
CGI, 653,654,667
CIDR, 402,403,405
CLR, 428
CLUT,676
CMR, 428,429
Consiliul Arhitecturii Internet, 65
CSMA, xvi, 232,233,234,235,237,244,246,
251,255,256,262,265,291,304,309,
310,311,312,313
CSMA/CD, 234,235,255,256,265,291,304,
309,310,311,312,313
CSNET, 46
CTD, 428
CVDT, 427
D
DCE, iv, 105,106
DCS,247,602
DES, 413,415,547,548,549,550,551,552,553,
554,557,558,569,574,619,620
DMSP, 614
DNS, xvi, 35,46,391,406,537,577,578,580,
581,582,583,584,585,600,604,635,
641,659,669
domeniu, 5,15,37,51,64,101,109,110,132,
153,159,222,227,243,244,265,266,
300,301,321,341,342,368,406,409,
420,423,539,568,578,579,580,581,
582,583,584,652,677
.j ;
DQDB, xvi, 10,52,53,56,61,68,279,280,309,
310
EARN,49
ER, 436
G
GCRA, 429,431,432
Gopher, 637,641,642,643
GSM, xvi, 150,151,246,247,248,249,251,309,
310,311
H
HDLC, xvi, 67,208,210,211,214,215,219,221,
222,223,282
HDTV, 133,674,682
HEC, xvi, 217,218,219,220,419,424
HEPNET, 49
fflPPI, xvi, 301,302,303,309,310,314
HTML xvi, 608,631,637,640,641,643,644,
645,646,647,648,649,650,651,654,
656
HTTP, 35,634,636,637,638,639,640,642,
644,653,656
INDEX
I-M
763
ITU-R,63,88
IBM, 9,38,40,42,47,54,62,77,208,271,273,
285,291,303,314,398,547,551,553
ITU-T,63,64,65
IXC, 98,99
K
KDC, 559,564,565,566,567
Kerberos, 567,568
IMP, 43,44,45,47
IMTS, 146,147
IP, xv, 26,32,33,34,35,36,37,38,39,40,42,
46,47,48,49,54,58,66,68,69,136,
212,213,214,216,223,249,281,282,
303,317,320,321,338,367,369,370,
371,373,374,375,377,381,382,383,
385,386,387,388,389,390,391,392,
393,394,397,399,400,401,402,403,
405,406,408,410,413,414,415,416,
426,437,438,440,442,454,485,486,
487,488,489,490,491,495,503,504,
515,521,526,527,534,535,578,580,
581,582,583,584,585,593,595,596,
613,635,641,663
LAN, 9,10,11,14,15,41,43,46,52,53,58,68,
85,129,135,169,211,225,226,227,
228,229,234,241,243,244,245,255,
261,265,266,267,271,278,279,280,
282,283,284,285,286,287,288,289,
290,291,292,293,294,295,298,301,
302,309,310,311,312,314,316,334,
338,341,342,369,370,387,388,390,
397,400,401,416,424,436,437,438,
440,441,442
IPRA, 619,620,621
LCP, 213,214,215,216
Pv4,405,406,408,409,410,412,413,414,415,
442
IPv5,406
IPX, 42,214,282,330,338,367,369,370,371,
373,409
ISDN, xvi, 52,56,116,120,128,129,130,131,
132,133,144,158,161,295,297,421
ISDN de band ngust, 133,158
ISDN de band larg, xvi, 52,56,120,132,133,
158
IS-IS, 338
ISO, xvi, 26,27,38,64,65,66,208,255,338,
369,578,590,592,643,646,679,682
LAP, 208
LATA, xvi, 98
LEC,98,99
LES, 437
LS, 438
LLC, 255,282,284
M
MAC, xvi, 225,234,235,243,255,260,266,267,
269,274,282,284,295,297,298,369,
376,438
MACA, xvi, 245,246,309,310,311
MACAW,245,246,309
764
N-S
INDEX
PAD, 55
MCR, 427,428,436
MD5,413,415,574,575,577,616,617,619
PBX, 130,131,132
PCA, 620
MIDI, 671
MILNET, 46
MNP, 103
PCS,xvi, 151,155,156,158,162
PDU, 21
MOllS, 369,598
MPEG, 425,607,608,609,679,682,683,684
PGP, xvi, 577, 615, 616, 617, 618, 619, 620, 621
MTSO, 147,148,149
MTU, 487
POP3, 614
POTS, 56
N
NAK, 201, 222
NAP, xvi, 48
NCP, 42,43,213,214,215,216,367
NETBLT, 532
PPP, xvi, 67, 212, 213, 214, 215, 221, 223, 634
PSTN, xvi, 94
PTT, xvi, 62, 63,129,374
PVC, xvi
NIC, 386,387,388
NIST, 65,255,573,574,575
NREN, 48,51
NSA, xvi, 551,554,573,574
RSVP, 365,429
O
OAM, 115, 218
OC, 118
T-X
765
INDEX
SEAL, 514
SECAM, 673, 679
SGML, 608,643
SHA, xvi, 574,575
URI, 643
SMTP, 35,610,611,612,613,627,636
SIPP, 406
V.24, 63,105
V.32,102,103
VBR, 425,433,434
SPADE, 306,309
VISTAnet, 52
SPN, 49
SPE, 116,117,118,119, 219
SPX,xvi,42
SSCOP, 516
w
WAN, 11,12,15, 47,166,225, 249, 291, 303,
316,340,341,369,374,375,392,446
WARC, xvi, 88
WDM,xvi, 110,158
TCP, xv, xvi, 26, 32, 33, 34, 35, 36, 37, 38, 39, 40,
42,46, 47, 48, 49,58, 66, 67, 68, 69,
212, 213, 317, 320, 367, 372, 374, 381,
384, 398, 406, 408, 410, 451, 452,455,
485, 486, 487, 488,489, 490, 491,492,
493,494,495,496,497,498,500,501,
502,503, 504,505,506,516, 517,521,
526,527,529,533,534,535,578,593,
595,596,610, 611,613, 627, 628,630,
634, 635, 636, 637, 638, 641, 653,668
TDM, 109,115,150,158,160,227,240,247,
248, 249, 251, 252, 278, 304, 306,307,
308, 309, 310, 377
TIP, 45
X.21,55
X.3,55
X.400,598,600,612,613,619,620,621