TCP/IP kompiuteriniai tinklai

1079 0

TCP/IP KOMPIUTERINIAI TINKLAI

Saulius

Vilnius

ĮVADAS

Kiekvienas amžius turi vieną ar keletą dominuojančių technologijų. Viena iš svarbiausių 20-ojo amžiaus technologijų – informacijos rinkimas, apdorojimas, platinimas – glaudžiai susijusi su ryšių bei kompiuterinės technikos neprecedentiniu vystymusi. Ryšių ir kompiuterių apjungimas iš esmės pakeitė kompiuterinių sistemų organizavimo principus. Kompiuterinių centrų funkcijas dažnai atlieka daug atskirų, tačiau tarpusavyje sujungtų kompiuterių.

Kompiuterinis tinklas – tai tarpusavyje sujungtų autonominių kompiuterių rinkinys. Du kompiuteriai yra sujungti į tinklą, jeigu jie gali keistis informacija. Griežto pavaldumo sistemos, taip pat paskirstytos kompiuterinės sistemos nėra kompiuteriniai tinklai.

KOMPIUTERINIŲ TIINKLŲ TAIKYMAI

Tinklai kompanijoms

· Bendras resursų naudojimas. Toli vienas nuo kito esantys kompanijos kompiuteriai apjungti į tinklą. Informacija nuo vartotojo gali būti labai toli. Ją gali naudoti daug darbuotojų tuo pačiu metu.

· Didelis patikimumas. Duomenų failai turi po keletą kopijų skirtinguose kompiuteriuose. Kai vienas sugenda, galima naudotis kitais, neprarandant duomenų.

· Pinigų taupymas. Vienas didelis kompiuteris (mainframe) yra brangesnis už daug mažų, sujungtų į tinklą ir atliekančių tą patį darbą. Duomenys saugomi viename arba keliuose bendro naudojimo failų serveriuose. Vartotojai – klientai. Kliento – serverio modelis, užklausa – atsakymas.

· Galimybė nesunkiai pllėsti tinklą, pajungiant naujus vartotojus ir naujus serverius pagal poreikius.

· Galinga toli esančių darbuotojų bendravimo priemonė, atliekant bendrą darbą. Kartais tai yra svarbiau už anksčiau minėtus privalumus.

KOMPIUTERINIŲ TINKLŲ TAIKYMAI

Tinklai žmonėms

Pradedant nuo 1990 m. kompiuteriniai tinklai pradėjo teikti paslaugas privatiems asmenims į namus. Pa

agrindinės priežastys:

· Priėjimas prie nutolusios informacijos. Finansinės institucijos. Parduotuvės. Vaizdi informacija apie prekes. Elektroniniai laikraščiai. Mokslo žurnalai, bibliotekos. Pasaulio voratinklis (World Wide Web), kur galima rasti informacijos beveik apie viską. Visa tai – asmens ir nutolusios duomenų bazės sąveika.

· Asmenų bendravimas. Tai 21-mojo amžiaus atsakas į 19-tojo telefoną. Elektroninis paštas – naudojasi milijonai žmonių. Galima pasiųsti beveik viską : tekstus, vaizdus, garsus, failus. Trūksta tik kvapo.

Toli vienas nuo kito esančių žmonių virtualūs susirinkimai – videokonferencijos. Nuotolinis mokymas, medicininė pagalba.

Pasaulinės naujienų grupės.

· Interaktyvios pramogos. Video pagal pareikalavimą. Bet kokį bet kur padarytą filmą galima gauti tuoj pat. Interaktyvūs filmai (pasirenkant kokią nori siužeto kryptį). Interaktyvios televizijos laidos. Žaidimai. Trimatė virtuali realybė.

TINKLŲ APARATINĖS PRIEMONĖS

Du svarbūs požymiai:

· Perdavimo technologija

· Dydis

Pagal perdavimo technologiją tinklai skirstomi į du tipus:

· Transliacinio tipo tinklai (Broadcast neetworks).

· Taškas – taškas tipo tinklai (Point-to-point networks).

Transliaciniai. Turi vieną ryšio kanalą, kurį bendrai naudoja visi kompiuteriai tinkle. Kompiuteriai siunčia trumpus pranešimus, vadinamus paketais (packets). Siunčia vienas, gauna visi. Adreso laukas pakete nurodo, kam paketas adresuotas. Gavęs paketą, kompiuteris patikrina adreso lauką ir apdoroja paketą, jei jis yra skirtas minėtam kompiuteriui. Yra galimybė paketą adresuoti visiems adresatams, nurodant specialų kodą adreso lauke. Kai kurios sistemos palaiko perdavimą tik tam tikram kompiuterių poaibiui.

Taškas – taškas. Sudaryti iš daugelio sujungimų tarp individualių kompiuterių porų. Paketai nu

ueina adresatui per keletą tarpinių stočių. Kadangi paketui yra skirtingo ilgio keliai, tai reikalingi maršrutizacijos algoritmai, kurie yra labai svarbūs taškas – taškas tinkluose. Dažniausiai maži, geografiškai lokalizuoti tinklai yra transliaciniai, o dideli – taškas – taškas tipo.

TINKLŲ APARATINĖS PRIEMONĖS

Tinklų klasifikacija pagal dydį

Atstumas tarp procesorių Procesoriai išdėstyti bendrame(oje) Pavyzdys

0,1 m plokštėje Duomenų srautų mašinos (Data flow machines)

1 m sistemoje Multikompiuteriai

10 m kambaryje Vietiniai tinklai (VT)

100 m pastate (Local Area Networks, LAN)

1 km kvartale

10 km mieste Miesto tinklai (Metropolitan Area Networks, MAN)

100 km valstybėje Globalieji tinklai

1000 km kontinente (Wide Area Networks, WAN)

10000 km planetoje Internet

Duomenų srautų mašinos – daugiaprocesoriniai lygiagretaus veikimo kompiuteriai su daugeliu funkcinių vienetų, dirbantys pagal vieną programą.

Multikompiuteriai – sistemos, besikeičiančios pranešimais per trumpas, labai greitas magistrales.

Tikrieji tinklai – tai kompiuteriai, bendraujantys per ilgesnius kabelius. LAN, MAN, WAN.

Keleto tinklų sujungimas yra vadinamas tarptinkliniu ryšiu (Internetwork). Pasaulinis Internetas – gerai žinomas tarptinklinių ryšių pavyzdys.

Atstumas labai svarbus klasifikacinis požymis, kadangi, priklausomai nuo jo, yra naudojama skirtinga technika tinklams realizuoti.

TINKLŲ APARATINĖS PRIEMONĖS

Vietiniai tinklai

Dažniausiai įrengiami viename pastate. Dydis – iki kelių kilometrų. Plačiai naudojami asmeninių kompiuterių ir darbo stočių sujungimui kompanijų, įstaigų kontorose bendram resursų naudojimui ir apsikeitimui informacija. Skiriasi nuo kitų tinklų dydžiu, perdavimo technologija, topologija.

Vietiniai tinklai riboto dydžio. Perdavimo laikas yra ribotas ir žinomas. Tai leidžia panaudoti tam tikrus metodus, kurie negalimi kitomis sąlygomis. Dažnai naudojamas vienas kabelis, prie kurio prijungti visi kompiuteriai.

Duomenų perdavimo sparta 10 – 100 Mb/s, mažas vėlinimas (dešimtys ms), nedaug klaidų. Tuo pačiu metu du

uomenis gali siųsti tik vienas kompiuteris. Reikalingas tam tikras konfliktus sprendžiantis mechanizmas, kai tuo pačiu metu duomenis nori siųsti keletas kompiuterių. Mechanizmas centralizuotas arba paskirstytas. Ethernet su magistraline topologija – tinklo su decentralizuotu valdymu pavyzdys.

Kitas transliacinio tinklo topologijos pavyzdys – žiedas. IBM token ring – populiarus žiedo pavidalo vietinis tinklas. Sparta 4 ir 16 Mb/s.

Transliaciniai tinklai toliau skirstomi į statinius ir dinaminius, priklausomai nuo to, kaip skiriamas kanalas. Statiniai, kai kiekvienam kompiuteriui yra skiriamas tam tikras laiko intervalas, kada jis gali siųsti (slot). Neproduktyviai panaudojamas kanalas, kai ne visos stotys turi ką siųsti. Dėl to dažniau naudojamos dinaminės sistemos, kai kanalas skiriamas dinamiškai pagal pareikalavimą. Yra centralizuoti ir decentralizuoti kanalo skyrimo metodai. Pirmuoju atveju yra vienas arbitražo įrenginys, kuris nusprendžia, kas perduos sekantis. Tai galima daryti priimant užklausas ir sprendžiant pagal tam tikrą algoritmą. Decentralizuotu atveju kiekviena stotis turi nuspręsti pati – siųsti ar ne. Yra įvairūs algoritmai kaip šiuo atveju išvengti chaoso.

TINKLŲ APARATINĖS PRIEMONĖS

Miesto tinklai (MAN)

Tai didesnė vietinio tinklo versija. Miesto tinklas turi vieną arba du kabelius ir neturi komutatorių. Sukurtas specialus standartas – DQDB ( Distributed Queue Dual Bus – paskirstytos eilės dviguba magistralė). Du vienkrypčiai kabeliai, prie kurių prijungti visi kompiuteriai. Kiekviena magistralė (kabelis) turi galinį įrenginį, inicijuojantį siuntimą.

Galiniai įrenginiai generuoja pastovų 53 baitų ilgio ląstelių (cells) sr

rautą. Ląstelės keliauja į magistralės galą ir ten dingsta. Duomenų laukas 44 baitų. Kai ląstelė užimta, tą rodo Busy bitas. Bitas Request prilyginamas 1, kai stotis nusiunčia užklausą galimam duomenų išsiuntimui. Sudaroma eilė siųsti duomenis pagal pasiruošimo siųsti laiką. Išsiunčiama FIFO(First In First Out) tvarka. Eilei sudaryti kiekvienoje stotyje yra du skaitliukai: RC (Request Counter) ir CD. RC skaičiuoja, kiek yra išsiųsta užklausų iš visų stočių esančių prieš duotąją stotį, iki to momento, kai stotyje atsiranda celė siuntimui. Tada RC kopijuojamas į CD ir prilyginamas nuliui. Toliau RC skaičiuoja, kiek atėjo užklausų po celės paruošimo siuntimui. Pvz.: CD = 3, RC = 2. Tris tuščias ląsteles stotis praleidžia, po to siunčia ir po siuntimo dar 2 ląstelės lieka rezervuotos stotims, išsiuntusioms užklausas. Prieš siunčiant paruoštą ląstelę, stotis turi išsiųsti užklausą priešinga kryptimi. Tą užklausą mato visos stotys pakeliui ir padidina savo RC.

TINKLŲ APARATINĖS PRIEMONĖS

Galinis įrenginys Magistralė A

1

2

3

Kompiuteris Kompiuteris

Magistralė B Galinis įrenginys

1 pav. Miesto tipo tinklo DQDB architektūra. IEEE 802.6 standartas.

TINKLŲ APARATINĖS PRIEMONĖS

Globalieji tinklai (WAN)

WAN užima didelę teritoriją (šalis, kontinentas). Į jį įeina kompiuteriai (hosts), kur vykdomos vartotojų programos, ir komunikacijų potinklis (communication subnet), kurio pagalba kompiuteriai sujungti į tinklą (2 pav.) Potinklis perneša pranešimus nuo vieno kompiuterio prie kito. Atskiriant grynai komunikacinius aspektus nuo taikomųjų, tinklų kūrimas supaprastėja.

Daugumoje WAN potinkliai susideda iš dviejų skirtingų komponenčių – perdavimo linijų ir komutacinių elementų. Linijos (circuits, channels, trunks) perduoda bitus iš vieno kompiuterio į kitą. Komutaciniai elementai yra specializuoti kompiuteriai, naudojami sujungti keletą linijų. Jie vadinami: paketų komutacijos mazgai, tarpinės sistemos, maršrutizatoriai (routers). Potinklis (subnet) dabar turi ir kitą reikšmę, susijusią su adresavimu tinkle.

Kai paketas yra persiunčiamas iš vieno maršrutizatoriaus į kitą, jis gali praeiti per daugelį tarpinių maršrutizatorių. Kiekviename iš jų paketas priimamas ir saugomas, kol atsilaisvina reikalingas išėjimas. Potinklis, naudojantis šį principą, yra vadinamas taškas – taškas (point to point), išsaugoti ir persiųsti (store and forward) arba potinklis su paketų komutacija (packet switched subnet). Beveik visi WAN’ai (išskyrus satelitinius) turi tokius potinklius. Kai paketai yra maži ir fiksuoto dydžio, jie dažnai vadinami ląstelėmis. Yra įvairios taškas – taškas potinklių organizavimo topologijos (3 pav.). Vietiniai tinklai paprastai turi simetrinę topologiją. Globalieji tinklai dažniausiai yra nereguliarios topologijos.

Dar yra palydoviniai tinklai ir antžeminės radijo sistemos. Kiekvienas maršrutizatorius turi anteną, per kurią priima ir perduoda. Visi arba tik kai kurie maršrutizatoriai gali priimti signalą iš palydovo.

TINKLŲ APARATINĖS PRIEMONĖS

Potinklis (Subnet) Maršrutizatorius

Kompiuteris (Host)

Vietinis tinklas (LAN)

2 pav. Ryšiai tarp kompiuterių (hosts) ir komunikacinio potinklio.

3 pav. Keletas galimų taškas – taškas potinklio topologijų.

TINKLŲ PROGRAMINĖ ĮRANGA

Protokolų hierarchija

Daugelis tinklų yra suorganizuoti kaip lygių arba sluoksnių rinkiniai, sudėti vienas ant kito. Kiekvieno lygio paskirtis – suteikti tam tikrą paslaugą aukštesniam lygiui. Lygis n viename kompiuteryje bendrauja su n lygiu kitame. Taisyklės ir susitarimai, naudojami šiam bendravimui, yra vadinami n lygio protokolu.

Fiziškai duomenys yra perduodami iš aukštesnio lygio į žemesnį, pasiekia fizinį lygį ir per fizinę aplinką perduodami į kitą kompiuterį. Ten pakyla iki atitinkamo lygio. Vienoduose lygiuose esantiems procesams susidaro įspūdis, kad jie bendrauja “horizontaliai”, naudodami savo lygio protokolą.

Tarp kiekvienos lygių poros yra sąsaja (interfeisas), nusakantis, kokiu būdu perduoti informaciją iš vieno į kitą. Kai sąsaja aiškiai apibrėžta, lengviau vieną lygio realizaciją pakeisti kita.

Lygių ir protokolų rinkinys vadinamas tinklo architektūra. Architektūros specifikacija turi turėti pakankamai informacijos, kad būtų galima parašyti programas arba padaryti aparatūrą kiekvienam lygiui. Nei realizacijos detalės, nei sąsajų specifikacijos nėra architektūros dalis. Protokolų sąrašas, naudojamas sistemoje, vienas protokolas vienam lygiui, yra vadinamas protokolų steku.

Pranešimą M suformuoja taikomasis procesas 5-tame lygyje ir perduoda į 4-tąjį išsiuntimui. Čia uždedama antraštė H4 prieš M ir viskas perduodama į 3-čiąjį lygį. Antraštėje yra valdanti informacija, tokia kaip eilės numeris. Kitame kompiuteryje 4-tasis lygis pagal numerius galės pranešimus perduoti eilės tvarka, jei to neužtikrina žemesnieji lygiai. Pranešimų antraštės įvairiuose lygiuose gali turėti informaciją apie dydį, laiką ir t.t.

Daugelyje tinklų pranešimų dydis neribojamas 4-tame lygyje. Tačiau beveik visur ribojamas 3-čiame lygyje . Dėl to trečias lygis pranešimus gali sukarpyti į dalis, suteikiant kiekvienai daliai antraštę. 2-asis lygis duoda ne tik antraštę, bet ir pabaigą ir viską perduoda į fizinį lygį. Priimančioje pusėje viskas vyksta atvirkščia tvarka. Svarbus yra ryšys tarp virtualaus ir realaus perdavimo, taip pat skirtumas tarp sąsajos ir protokolo. Lygiaverčiai procesai (peers) 4-tajame lygyje galvoja, kad jų bendravimas “horizontalus”, naudojantis 4-tojo lygio protokolą. Lygiaverčių procesų abstrakcija yra labai svarbi visų tinklų kūrimui. Ją panaudojant galima didelį sunkiai valdomą viso tinklo kūrimo uždavinį sudalyti į keletą mažesnių ir paprastesnių, skirtų kiekvienam lygiui.

Kompiuteris 1 Kompiuteris 2

Lygis 5 < – – – – – – – – – 5 – to lygio protokolas – – – – – – – – – – > Lygis 5

4/5 lygių sąsaja

Lygis 4 < – – – – – – – – – 4 – to lygio protokolas – – – – – – – – – – > Lygis 4

3/4 lygių sąsaja

Lygis 3 < – – – – – – – – – 3 – čio lygio protokolas – – – – – – – – – – > Lygis 3

2/3 lygių sąsaja

Lygis 2 < – – – – – – – – – 2 – ro lygio protokolas – – – – – – – – – – > Lygis 2

1/2 lygių sąsaja

Lygis 1 < – – – – – – – – – 1 – mo lygio protokolas – – – – – – – – – – > Lygis 1

Fizinė aplinka

4 pav. Lygiai, protokolai, sąsajos

Lygis

5

M < – – – – – – 5 – to lygio protokolas – – – – – – – > M

4

H4 M < – – – – – – 4 – to lygio protokolas – – – – – – – – > H4 M

3 3 – čio lygio

H3 H4 M1 H3 M2 <- protokolas – – -> H3 H4 M1 H3 M2

2 – ro lygio

2 protokolas

H2 H3 H4 M1 T2 H2 H3 M2 T2 < – > H2 H3 H4 M1 T2 H2 H3 M2 T2

Siuntiklis Gaviklis

5 pav. Informacijos perdavimo 5-ame lygyje pavyzdys

TINKLŲ PROGRAMINĖ ĮRANGA

Lygių kūrimo ypatumai

Kiekvienam lygiui reikalingas siuntiklio ir gaviklio identifikavimo mechanizmas. Taip pat reikalingas adresavimas, nurodantis, kokiam procesui kompiuteryje yra skirtas pranešimas.

Svarbios yra duomenų perdavimo taisyklės. Gali būti :

1. Vienkryptis perdavimas (simplex communication).

2. Dvikryptis nevienalaikis perdavimas (half-duplex communication).

3. Dvikryptis vienalaikis perdavimas (full-duplex communication).

Klaidų kontrolė. Abi pusės turi naudoti tą patį klaidų radimo ar taisymo būdą. Gaviklis turi galėti pranešti, ar duomenys atėjo be klaidų ar su klaidomis.

Pranešimų eiliškumas. Pranešimai gali būti sunumeruoti. Kaip elgtis su ne laiku atėjusiais pranešimais?

Siuntiklio ir gaviklio veikimo spartos suderinimas. Vienas iš būdų – informuoti siuntiklį apie susidariusią situaciją gaviklyje, kad siuntiklis galėtų pakeisti duomenų išsiuntimo spartą.

Pranešimų ilgis. Dažnai ilgus pranešimus reikia išskaidyti, persiųsti ir vėl surinkti kitoje pusėje. Kartais yra efektyviau keletą pranešimų apjungti į vieną ir gaviklyje vėl išskaidyti.

Maršruto parinkimas, kai perdavimo kelių yra daug.

TINKLŲ PROGRAMINĖ ĮRANGA

Paslaugų primityvai

Paslauga formaliai nusakoma primityvų (operacijų) rinkiniu, kuriuo gali pasinaudoti vartotojas ar procesas. Primityvai skirstomi į keturias klases:

1. Request (Reikalavimas, paklausimas). Prašoma paslaugos atlikti tam tikrą darbą.

2. Indication (Indikacija). Procesas informuojamas apie įvykį.

3. Response (Atsakymas, reakcija). Noras atsakyti, reaguoti į įvykį.

4. Confirm (Patvirtinimas). Atsakymas į ankstesnį reikalavimą (Request)

Pvz.: Susijungimas ir atsijungimas. CONNECT.

Pasiunčiamas paketas CONNECT.request iš susijungimo iniciatoriaus. Gaviklis gauna CONNECT.indication, pranešantį, kad procesas iš kažkur reikalauja susijungimo. Gaviklis su CONNECT.response pasako, ar jis nori užmegzti ryšį ar ne. Siuntiklis sužino, kas atsitiko (priimtas pasiūlymas ar ne), per CONNECT.confirm primityvą.

Primityvai gali turėti parametrus. CONENCT.request gali būti nurodyta, prie kokios mašinos norima jungtis, koks reikalingos paslaugos tipas, maksimalus pranešimo ilgis. CONNECT.indication gali turėti kviečiančiojo identifikacinę informaciją, reikalingos paslaugos tipą, siūlomą maksimalų pranešimo ilgį. Jei gaviklis nesutinka su tokiu pranešimo ilgiu, tai alternatyvusis pasiūlymas gali būti atsakymo primityve, kuris gaunamas per CONNECT.confirm. Derybų detalės yra protokolo dalis. Pvz.: gali būti pasirinktas mažiausias pranešimo ilgis iš pasiūlytųjų.

Paslaugos gali būti patvirtintosios arba nepatvirtintosios. Pirmuoju atveju naudojami visi keturi primityvai. Antruoju atveju yra tik Request ir Indication. CONNECT yra visada patvirtinama paslauga. Duomenų perdavimas gali būti kaip patvirtintasis taip ir ne, priklausomai nuo siunčiančiosios pusės pareikalavimo. Tinkluose naudojami abu šie tipai.

BAZINIAI MODELIAI

OSI bazinis modelis

Sukurtas pagal ISO (International Standards Organization) pasiūlymą kaip pirmas žingsnis, einant į protokolų, naudojamų įvairiuose lygiuose, tarptautinį standartizavimą.

Pavadintas ISO OSI (Open Systems Interconnection) Reference Model.

Atvirųjų sistemų tarpusavio sujungimo bazinis modelis.

Sudarytas iš 7 lygių (sluoksnių). Jų kūrimui naudoti principai:

1. Kiekvienas lygis turi vykdyti gerai apibrėžtas funkcijas.

2. Kiekvieno lygio funkcija turi būti pasirinkta orientuojantis į tarptautinių protokolų standartų sukūrimą.

3. Lygių ribos turi būti pasirinktos taip, kad minimizuotų informacijos srautą per sąsają.

4. Lygių skaičius turi būti pakankamai didelis, kad skirtingos funkcijos nepatektų be reikalo į tą patį lygį, ir pakankamai mažas, kad architektūra nepasidarytų griozdiška.

OSI modelis – tai ne tinklo architektūra, kadangi jis nenurodo tikslių paslaugų ir protokolų, kurie turi būti naudojami kiekviename lygyje. Jis tik pasako, ką kiekvienas lygis turi daryti. Tačiau ISO yra sukūrusi standartus visiems lygiams, nors jie nėra bazinio modelio dalis. Kiekvienas yra paskelbtas kaip atskiras tarptautinis standartas.

Pagrindinis ISO standartas OSI modeliui – ISO7498. Yra dar daug kitų ISO standartų, papildančių pagrindinį.

OSI BAZINIS MODELIS

Lygis Apsikeitimo

vieneto

pavadinimas

7

Taikomasis Taikomasis APDU

(Aplication ) < – – Taikomojo lygio protokolas – – > (Aplication )

6

Vaizdavimo Vaizdavimo PPDU

(Presentation) < – – -Vaizdavimo lygio protokolas – – – > (Presentation)

Sąsaja

5

Sesijinis Sesijinis SPDU

(Session) < – – – Sesijinio lygio protokolas – – – – – > (Session)

Sąsaja

4

Transportinis Transportinis TPDU

(Transport) < – – – Transportinio lygio protokolas – – > (Transport)

Ryšių potinklio riba

3 Vidinis potinklio protokolas

Tinklinis Tinklinis Paketas

(Network) < – – – – – – >Tinklinis <—->Tinklinis <- – – – – -> (Network) (Packet)

2

Kanalinis Kanalinis Kadras

(Data link) < – – – – – ->Kanalinis<—->Kanalinis< – – – – – -> (Data link) (Frame)

1

Fizinis Fizinis Bitas

(Physical) <- – – – – – > Fizinis <—-> Fizinis < – – – – – -> (Physical)

Kompiuteris A Kompiuteris B

Tinklinio lygio kompiuteris – maršrutizatorius protokolas

Kanalinio lygio kompiuteris – maršrutizatorius protokolas

Fizinio lygio kompiuteris – maršrutizatorius protokolas.

6 pav. OSI bazinis modelis

BAZINIAI MODELIAI

Fizinis lygis

Susijęs su bitų srauto perdavimu per ryšio kanalą. Kai viena pusė siunčia 1, tai kita turi gauti taip pat 1, o ne 0. Tipiški klausimai fiziniame lygyje. Kiek voltų reiškia 1, kiek voltų reiškia 0? Kokia bito trukmė? Ar perdavimas gali vykti į abi puses vienu metu? Kaip vykdomas pradinis susijungimas ir kaip jis užbaigiamas, kai abi pusės baigia siųsti? Kiek išvadų turi tinklinė jungtis, kam yra naudojamas kiekvienas išvadas? Projektavimas čia susijęs daugiausia su mechaninėmis, elektrinėmis ir procedūrinėmis sąsajomis, o taip pat su fizine perdavimo aplinka, kuri yra žemiau fizinio lygio.

Kanalinis lygis

Pagrindinė kanalinio lygio užduotis paimti neapdorotą perduodamą duomenų srautą ir transformuoti jį į eilutę, kuri patenka į tinklinį lygį be klaidų. Tai yra padaroma siunčiančioje dalyje suskaldant duomenis į duomenų kadrus, perduodant kadrus nuosekliai ir apdorojant patvirtinimo kadrus, atsiųstus atgal iš imtuvo. Kadangi fizinis lygis priima ir perduoda bitų srautą be jokio prasmės ar struktūros aiškinimosi, tai kanalinio lygio užduotis – sukurti ir atpažinti kadrų ribas. Tai gali būti padaryta, pridedant kadro pradžioje ir gale specialų bitų rinkinį. Jei tas rinkinys netyčia pasitaiko duomenyse, specialiomis priemonėmis jis atpažįstamas ir netraktuojamas kaip kadro riba.

Kanalinio lygio programinė įranga gali perduoti kadrą iš naujo, jei įvyko klaida ir nebuvo atsiųstas gavimo patvirtinimo kadras. Jeigu dingsta patvirtinimo kadras, gali būti išsiųstas duomenų kadro dublikatas. Taigi, kanalinis lygis turi išspręsti problemas, susijusias su kadrų pažeidimu, praradimu, dubliavimu. Kanalinis lygis gali teikti keleto klasių paslaugas tinkliniam lygiui, skirtingos kokybės ir už skirtingą kainą.

Srauto valdymas (flow control), kai siųstuvas greitesnis už imtuvą. Paprastai srauto reguliavimas ir klaidų taisymas yra integruoti.

Transliaciniuose tinkluose įvedamas papildomas polygis MAC (Media Access Control – kreipties į aplinką valdymas) priėjimui prie bendro kanalo kontroliuoti.

BAZINIAI MODELIAI

Tinklinis lygis

Tinklinis lygis susijęs su potinklio (subnet) darbo valdymu. Svarbiausias dalykas yra apibrėžti, kaip paketai maršrutizuojami nuo šaltinio iki tikslo. Maršrutai gali būti paremti statinėmis lentelėmis, kurios retai keičiamos. Taip pat maršrutai gali būti nustatyti ryšio pradžioje. Galų gale jie gali būti dinaminiai, nustatomi kiekvienam paketui, atspindint realų tinklo apkrovimą tuo momentu.

Jei paketų labai daug potinklyje, jie gali sudaryti kamščius. Tokių perkrovimų reguliavimas priklauso tinkliniam lygiui.

Paketui pereinant iš vieno tinklo į kitą gali kilti daug problemų. Adresavimas, naudojamas antrajame tinkle, gali būti kitoks. Antroji pusė gali iš viso nepriimti paketo, kadangi jis per didelis. Protokolai gali skirtis ir t.t. Visas šias problemas turi išspręsti tinklinis lygis.

Transportinis lygis

Pagrindinė transportinio lygio funkcija – priimti iš sesijinio lygio duomenis, jei reikia padalyti į mažesnes dalis, perduoti į tinklinį lygį, užtikrinti, kad visos dalys teisingai pasiektų kitą pusę. Visa tai turi būti padaryta efektyviai, tokiu būdu, kad aukštesni lygiai būtų apsaugoti nuo neišvengiamų aparatūros pasikeitimų.

Paprastai transportinis lygis sukuria atskirą tinklinį sujungimą kiekvienam transportiniam sujungimui, kurio reikalauja sesijinis lygis. Jei reikia, transportinis lygis gali sukurti keletą tinklinių sujungimų vienam transportiniam. Ir atvirkščiai.

Populiariausias transportinio lygio sujungimas yra be klaidų kanalas taškas-taškas, kuris pristato pranešimus arba baitus tokia tvarka, kaip jie buvo išsiųsti. Tačiau viena iš transporto paslaugos rūšių gali būti izoliuotų pranešimų perdavimas be garantijos apie pristatymo eilę, o taip pat pranešimų tiražavimas į daugelį vietų.

Transportinis lygis yra tikras “end-to-end” lygis nuo šaltinio iki tikslo. Programa šaltinio kompiuteryje bendrauja su kita analogiška programa kitame sujungimo gale, naudodama pranešimo antraštes ir valdymo pranešimus. Žemesniuose lygiuose protokolai yra tarp kompiuterio ir jo artimiausių kaimynų, o ne tarp šaltinio ir tikslo, kurie gali būti atskirti daugeliu maršrutizatorių.

BAZINIAI MODELIAI

Daugelis kompiuterių yra daugiaprogramiai. Tai reiškia, kad vienu metu gali egzistuoti daug sujungimų. Reikia nurodyti, koks pranešimas kokiam sujungimui priklauso. Transporto antraštė yra ta vieta, kur ši informacija patalpinama.

Reikalingas tam tikras vardų mechanizmas, nusakantis, koks procesas viename kompiuteryje nori bendrauti su kitu kitame kompiuteryje. Turi būti srauto valdymo mechanizmas, kad būtų suderintas apsikeitimas duomenimis tarp greito ir lėto kompiuterio (flow control).

Sesijinis lygis

Šis lygis leidžia vartotojams tarp skirtingų kompiuterių organizuoti sesijas. Sesijos leidžia paprastą duomenų padavimą kaip ir transportinis lygis. Be to jos užtikrina pagerintas papildomas paslaugas, reikalingas kai kuriems taikymams. Sesija gali būti panaudota vartotojui įeiti į nutolusią sistemą (log into) arba perduoti failą tarp dviejų kompiuterių.

Viena iš paslaugų yra valdyti dialogą. Sesijos gali leisti duomenims eiti abiem kryptim tuo pačiu metu arba tik viena kryptimi.

Dar viena paslauga – žymės valdymas. Kai reikia užtikrinti, kad sesijos metu nebus bandoma atlikti tą pačią operaciją iš abiejų pusių. Šiam procesui valdyti padaroma žymė (token). Tik ta pusė, kuri turi žymę, gali atlikti kritinę operaciją.

Kita paslauga – sinchronizacija. Pvz.: perduodant ilgą failą nepatikimu kanalu. Nutrūkus ryšiui, kitą kartą galima pratęsti siuntimą nuo tos vietos, kur jis buvo nutrauktas, jei į duomenų srautą yra įterpiami specialūs patikrinimo taškai.

BAZINIAI MODELIAI

Vaizdavimo lygis

Skirtingai nuo žemesniųjų lygių, kurie domisi tik patikimu bitų perdavimu iš vienos vietos į kitą, vaizdavimo lygis susijęs su perduodamos informacijos sintakse ir semantika.

Tipiška paslauga – duomenų kodavimas. Dauguma vartotojų programų nesikeičia atsitiktinėmis bitų eilutėmis. Jos keičiasi žmonių vardais, datomis, pinigų kiekiais ir t.t. Šie dalykai pateikiami kaip ženklų eilutės, sveiki skaičiai, skaičiai su slankiu kableliu ir t.t. Skirtingi kompiuteriai turi skirtingus kodus vaizduoti simbolių eilutes (pvz.: ASCII, UNICODE) ir t.t. Kad skirtingi kompiuteriai galėtų keistis duomenimis, duomenų struktūros turi būti pateiktos tam tikru abstrakčiu būdu. Vaizdavimo lygis valdo šias abstrakčias duomenų struktūras ir verčia kompiuteryje naudojamą pateikimo būdą į standartinį, naudojamą tinkle, ir atvirkščiai.

Taikomasis lygis

Vienas iš plačiai naudojamų taikymų – terminalo emuliavimas. Egzistuoja daugybė realių ir labai skirtingų terminalų. Terminalo emuliavimo programa leidžia sumodeliuoti tam tikrą abstraktų terminalą realiai egzistuojančiame. Visa virtualaus terminalo programinė įranga yra taikomajame lygyje.

Kita taikomojo lygio funkcija – failų perdavimas. Skirtinguose kompiuteriuose skirtingos failų sistemos. Taikomasis lygis turi išspręsti visas nesuderinamumo problemas. Šiam lygiui taip pat priklauso elektroninis paštas, užduočių įvedimas į nutolusius kompiuterius, katalogų peržiūra ir daug kitų taikomųjų dalykų.

BAZINIAI MODELIAI

TCP/IP bazinis modelis

Vienas iš sukūrimo tikslų – galimybė sujungti daug tinklų be aiškiai matomų siūlių. Kitas tikslas – ryšiai neturi nutrūkti tol, kol egzistuoja siuntiklis ir gaviklis, nors tuo metu didelė potinklio aparatūros dalis jau nedirba (išgyventi atominio karo metu). Reikalinga lanksti architektūra, nes numatomas labai platus taikymo spektras, pradedant failų siuntimu ir baigiant kalbos perdavimu realiame laike. TCP/IP pirmą kartą apibrėžtas 1974 m. Toliau buvo nuolat tobulinamas.

Tarptinklinis (Internet) lygis. Aukščiau minėti reikalavimai vedė prie tinklo su paketų komutacija su tarptinkliniu lygiu, neorientuotu į sujungimus. Šis lygis, kaip rišamoji medžiaga, laiko visą architektūrą. Jo darbas yra leisti kompiuteriams injektuoti paketus į tinklą. Paketai keliauja į tikslą nepriklausomai vienas nuo kito (galbūt į kitą tinklą). Jie gali atkeliauti kitokia eilės tvarka negu buvo išsiųsti. Aukštesniųjų lygių reikalas juos sustatyti į savo vietas.

Tarptinklinis lygis apibrėžia paketų formatą ir protokolą, pavadintą IP (Internet protocol). Pagrindiniai dalykai – paketų maršrutizavimas ir tinklo užsikimšimų likvidavimas (avoiding congestion). Labai panašu į OSI tinklinį lygį.

Transportinis lygis – tai lygis virš tarptinklinio TCP/IP modelyje. Jis leidžia bendrauti lygiaverčiams lygiams abiejose pusėse kaip OSI transportinis lygis. Čia apibrėžti du end-to-end protokolai. TCP (Transport Control Protocol – perdavimo valdymo protokolas) – patikimas, orientuotas į sujungimą protokolas. Jis fragmentuoja ateinantį baitų srautą į atskirus pranešimus ir kiekvieną jų perduoda į tarptinklinį lygį. Priimančioje pusėje atitinkamas TCP apjungia visus pranešimus. TCP taip pat palaiko srauto valdymą (flow control), kad greitas siųstuvas neperkrautų lėto imtuvo.

UDP (User Datagram Protocol – vartotojo deitagramų protokolas). Nepatikimas, be sujungimų protokolas taikymams, kuriems nereikia TCP eiliškumo tvarkymo ar srauto valdymo ir kurie linkę tvarkyti patys. Jis plačiai taikomas kliento-serverio tipo klausimas-atsakymas atvejams, taip pat taikymams, kai greitas pristatymas yra svarbesnis už pristatymą be klaidų.

BAZINIAI MODELIAI

OSI TCP/IP

7 Taikomasis Taikomasis

6 Vaizdavimo Modelyje

5 Sesijinis neegzistuoja

4 Transportinis Transportinis

3 Tinklinis Tarptinklinis(Internet)

2 Kanalinis Kompiuteris –

1 Fizinis tinklas (Host to network)

7 pav. TCP/IP bazinis modelis

BAZINIAI MODELIAI

Taikomasis lygis. Čia visi aukšto lygio protokolai. Nuo seno ten yra virtualus terminalas (TELNET), failų perdavimas (FTP – File Transfer Protocol) ir elektroninis paštas (SMTP – Simple Mail Transfer Protocol). Veliau atsirado DNS (Domain Name Service), surišantis kompiuterių vardus su jų tinkliniais adresais. NNTP (Network News Transfer Protocol) – naujienų straipsnių perdavimui. HTTP (Hyper Text Transfer Protocol) – WWW puslapių perdavimui. Ir daug kitų protokolų.

Lygis kompiuteris-tinklas. Čia gana neapibrėžta situacija. Galima naudoti bet ką, kad tik IP paketai būtų perduoti per tinklą. Vėliau atsirado SLIP (Serial Line Internet Protocol) ir PPP (Point-to-Point Protocol). Tai protokolai atitinkantys OSI kanalinį lygį.

OSI ir TCP/IP bazinių modelių palyginimas

Lyginami baziniai modeliai, bet ne atitinkami protokolų stekai. OSI modelyje centriniai yra trys dalykai: paslaugos, sąsajos, protokolai. Jie labai aiškiai yra atskirti. Paslaugos apibrėžimas pasako, ką lygis daro, o ne kaip procesai virš jo jį pasiekia arba kaip lygis dirba. Lygių sąsaja pasako procesams virš lygio, kaip jį pasiekti. Jis lemia, kokie yra parametrai ir kokių rezultatų reikia tikėtis. Sąsaja taip pat nepasako, kaip lygis veikia.

Protokolai, naudojami lygyje, yra lygio reikalas. Protokolai gali būti įvairūs, svarbu, kad būtų suteikta reikalinga paslauga aukštesniajam lygiui. Pakeitimai protokole nekeičia programinės įrangos, dirbančios kituose lygiuose.

TCP/IP neturi aiškaus paslaugos, sąsajos ir protokolo atribojimo. Protokolai OSI modelyje labiau paslėpti ir gali būti palyginus lengvai pakeisti, kai keičiasi technologija. Tai yra labai svarbu.

OSI modelis buvo išrastas ankščiau negu protokolai. Jis nebuvo paremtas vienu kokiu nors protokolų steku. Dėl to OSI yra pakankamai bendro pobūdžio. Tačiau OSI kūrėjai neturėjo labai didelio patyrimo ir neturėjo aiškių minčių, į kokį lygį, kokias funkcijas dėti. Pvz. MAC polygis kanaliniame lygyje iš pradžių visai neegzistavo. Jis neišvengiamai turėjo atsirasti plintant vietiniams tinklams, kurie yra transliacinio pobūdžio.

Su TCP/IP buvo atvirkščia situacija. Protokolai atėjo pirmieji, o modeliai buvo tik egzistuojančių protokolų aprašymas. Protokolai puikiai atitiko modelį, tačiau į modelį neįsipaišė jokie kiti protokolų stekai.

BAZINIAI MODELIAI

OSI turi 7 lygius, TCP/IP – keturis. Trys maždaug sutampa (tarptinklinis, transportinis, taikomasis). Kiti skiriasi.

Apie 1989 m. daugeliui ekspertų atrodė, kad OSI ir atitinkami protokolai greitai nustums visus kitus į šoną. Taip neatsitiko. Dabar atvirkščiai, atrodo, kad OSI bankrutuoja. Kol buvo bandoma realizuoti OSI, TCP/IP toliau masiškai plito, ypač, pradedant nuo 1990 metų. OSI modelio ir protokolų sudėtingumas privedė prie to, kad pradinės realizacijos buvo didžiulės, griozdiškos ir lėtos. Skirtingai nuo OSI, viena iš pirmųjų TCP/IP realizacijų buvo Berklio UNIX’o dalis ir pakankamai gera. Žmonės labai greitai pradėjo ją naudoti, vartotojų skaičius išaugo. Tai vedė prie įvairių patobulinimų, kas, savo ruožtu, dar padidino vartotojų bendruomenę.

Nežiūrint visų šių problemų, OSI modelis (minus sesijinis ir vaizdavimo lygis) yra labai naudingas, kalbant apie kompiuterių tinklus. Priešingai, OSI protokolai netapo populiariais. Su TCP/IP yra atvirkščiai. Modelis praktiškai neegzistuoja, bet protokolai yra plačiai naudojami.

ATM bazinis modelis

Didelė problema telefonų kompanijoms – tinklų įvairovė. Senieji telefonų tinklai, SMDS ir Frame Relay, naudojantys savo tinklą su paketų komutacija. DQDB skiriasi nuo jų, o vidinis telefonų kompanijos kvietimų valdymo tinklas (SSN 7) yra vėl kitoks. Šių visų tinklų palaikymas yra pakankamai sudėtingas dalykas.

Akivaizdus sprendimas – išrasti vieną naują tinklą ateičiai, kuris pakeistų visą telefonų sistemą ir visus specializuotus tinklus ir galėtų perduoti visų rūšių informaciją. Šis tinklas turės žymiai didesnę spartą, lyginant su visais ankstesniais, ir galės duoti daug naujų paslaugų.

Nauja plataus masto paslauga vadinama B-ISDN (Broadband Integrated Services Digital Network – Plačiajuostis visuminių paslaugų skaitmeninis tinklas). Jis duos video pagal norus, tiesioginę televiziją iš daugelio šaltinių, elektroninį paštą su judančiais objektais, CD kokybės muziką, vietinių tinklų sujungimą, didelę duomenų perdavimo spartą, reikalingą moksle ir pramonėje ir daugelį kitų paslaugų, kurių dar neįmanoma įsivaizduoti. Viskas per telefono linijas.

Technologija, paverčianti B-ISDN realybe, yra vadinama ATM (Asynchronous Transfer Mode – Asinchroninė perdavimo moda).

BAZINIAI MODELIAI

Pagrindinė idėja – visą informaciją perduoti mažais fiksuoto ilgio paketais – ląstelėmis (cells). Ląstelės ilgis – 53 baitai, iš kurių 5 baitai skirti antraštei ir 48 baitai duomenims (8 pav.).

ATM yra tiek technologija (paslėpta nuo vartotojo), tiek paslauga (matoma vartotojui). Kartais paslauga vadinama ląstelių retransliacija (cell relay) pagal analogiją su frame relay. Ląstelių komutavimo technologija – didžiulis atotrūkis nuo 100 metų naudojamo grandinių komutavimo telefonų sistemos viduje.

Pagrindiniai argumentai ląstelių komutacijos naudai:

1. Technologija labai lanksti, palaiko tiek pastovios spartos srautą (audio, video), tiek kintamos spartos (duomenys) labai paprastai.

2. Esant labai didelėms spartoms (gigabitai/s) skaitmeninė ląstelių komutacija yra paprastesnė už tradicinę sutankinimo techniką, ypač naudojant šviesolaidžius.

3. Televizijai yra svarbu transliavimas (broadcasting). Tai gali daryti ląstelių komutacija, o ne grandinių komutacija.

ATM tinklai orientuoti sujungimams. Pirmiausiai įvyksta susijungimas, po to siunčiamos ląstelės tuo pačiu keliu. Pristatymas negarantuojamas, tačiau eilės tvarka garantuojama.

ATM tinklai organizuoti kaip tradiciniai WAN su linijomis ir komutatoriais (maršrutizatoriais). Tipinė sparta 155 Mb/s ir 622 Mb/s su galimybe padidinti iki gigabitų. 155 Mb/s paimta dėl to, kad to reikia didelės raiškos televizijos signalui perduoti. Tikslus pasirinkimas – 155.52 Mb/s suderinimui su SONET/SDH.

ATM bazinis modelis skiriasi kaip nuo OSI, taip ir nuo TCP/IP modelio (9 pav.).

Fizinis lygis. Fizinė aplinka, įtampos, bitai ir kt. ATM ląstelės gali būti perduodamos į aplinką pačios arba gali būti kitų sistemų paketų viduje. Kitaip sakant, ATM yra sukonstruotas taip, kad būtų nepriklausomas nuo perdavimo aplinkos.

ATM lygis. Ląstelės ir jų perdavimas. Lemia ląstelių struktūrą, nusako antraštės laukų prasmę. Virtualiųjų grandinių sukūrimas ir atlaisvinimas. Perkrovos kontrolė (congestion control) taip pat čia.

Kadangi dauguma taikomųjų programų su ląstelėmis nedirba, tai lygis virš ATM yra tam, kad vartotojas galėtų siųsti paketus, didesnius už ląstelę. Jis segmentuoja paketus ir perduoda ląsteles, surenka paketus kitoje pusėje. Tai yra ATM adaptacijos lygis AAL (ATM Adaptation Layer).

BAZINIAI MODELIAI

Skirtingai nuo ankstesniųjų dvimačių bazinių modelių, ATM yra trimatis. Vartotojo plokštuma susijusi su duomenų perdavimu, srauto valdymu, klaidų taisymu ir kitomis vartotojo funkcijomis. Valdymo plokštuma susijusi su susijungimų valdymu. Lygio ir plokštumų valdymo funkcijos susiję su resursų valdymu ir tarplygine koordinacija.

PDM (Physical Medium Dependent) polygis susijęs su realiu kabeliu. Jis perduoda bitus į kabelį, nustato bito trukmę. Skirtingiems nešliams ir kabeliams šis polygis skirtingas.

TC (Transmission Convergence) polygis. Kai ląstelės yra siunčiamos, TC polygis persiunčia jas kaip bitų srautą į PDM. Tai paprasta. Kitoje pusėje TC polygis gauna iš PDM bitų srautą, kurį reikia paversti į ląstelių srautą ATM lygiui. Tai gana sudėtinga. OSI modelyje ir daugelyje kitų suskirstymą į kadrus ir atvirkščiai atlieka kanalinis lygis.

ATM lygis tvarko ląsteles, jas generuoja ir perduoda. Daugiausia įdomių ATM aspektų yra čia. Tai yra OSI tinklinio ir kanalinio lygio mišinys, tačiau į polygius jis nedalinamas.

AAL lygis padalintas į SAR (Segmentation and Reassembly) polygį ir CS (Convergence Sublayer). Žemesnysis polygis suskaldo paketus į ląsteles perduodančioje pusėje ir sulipdo atgal priimančioje pusėje. Aukštesnysis polygis suteikia galimybę ATM sistemoms teikti skirtingų rūšių paslaugas skirtingiems taikymams (pvz.: failų persiuntimas ir video pagal poreikį turi skirtingus reikalavimus klaidų taisymui ir kt.).

BAZINIAI MODELIAI

Baitai 5 48

Antraštė Vartotojo

duomenys

8 pav. ATM ląstelės struktūra.

Plokštumų valdymas

Lygių valdymas

OSI Valdymo Vartotojo

lygis plokštuma plokštuma

Aukštesnieji Aukštesnieji

lygiai lygiai

ATM adaptavimo lygis

3/4 CS

SAR

2/3 ATM lygis

Fizinis lygis

2 TC

1 PMD

9 pav. B-ISDN ATM bazinis modelis.

CS – konvergavimo polygis (Convergence),

SAR – segmentacijos ir surinkimo polygis (Segmentation and reassembly),

TC – perdavimo konvergavimo polygis (Transmission convergence),

PDM – polygis, priklausantis nuo fizinės aplinkos (Physical medium dependent).

TINKLŲ PAVYZDŽIAI

ARPANET

ARPANET – visų globaliųjų tinklų pirmtakas. Šešiasdešimtųjų viduryje, šaltojo karo įkarštyje JAV gynybos departamentui prireikė valdymo tinklo, kuris išgyventų atominį karą. Tradiciniai telefonų tinklai tam netiko. Departamentas kreipėsi į ARPA (Advanced Researchs Projects Agency), kuri buvo sukurta kaip atsakas į 1957 m. paleistą pirmąjį palydovą. Po diskusijų su įvairiais ekspertais ARPA nutarė, kad tinklas turi būti su paketų komutacija, susidedantis iš kompiuterių (hosts) ir potinklio (subnet). Potinklyje kiekvienas mazgas sujungiamas su mažiausiai dviem kitais mazgais. Jeigu linija yra pažeidžiama, paketai automatiškai nukreipiami į tikslą per kitus mazgus. Tinklas buvo sukurtas ir pavadintas ARPANET. Jam išsiplėtus ir susikūrus kitiems tinklams, iškilo jų apjungimo problema, kuri buvo išspręsta TCP/IP modelio ir protokolų pagalba 1974 m. Vėliau TCP/IP buvo integruotas į Berklio UNIX’ą, sukurta daug taikomųjų ir tinklo valdymo programų.

1983 m. ARPANET turėjo 200 potinklio mazgų ir šimtus kompiuterių. Gana greitai tinklas išaugo, prisijungė daug vietinių tinklų. Pasidarė sunku surasti kompiuterį tinkle. Buvo sukurta DNS (Domain Naming System), sugrupuojant kompiuterius į grupes-domenus, surišant kompiuterio vardą su jo IP adresu. Nuo tada DNS tapo bendro pobūdžio paskirstyta duomenų bazė.

Apie 1990 metus ARPANET buvo pakeistas naujesniais tinklais. Išliko tik karinė dalis MILNET.

Internet

Tinklų, kompiuterių ir vartotojų, prisijungusių prie ARPANET kiekis augo labai greitai po to, kai TCP/IP tapo vieninteliu oficialiu protokolu 1983 m. sausio 1 d. Kai ARPANET ir NSFNET buvo sujungti, augimas pasidarė eksponentinis. Taip atsirado Internet, kuris iki 1990 m. išaugo iki 3000 tinklų ir 200000 kompiuterių. 1992 m. buvo prijungtas milijoninis kompiuteris. Internet dydis padvigubėja kasmet. Yra daugybė transatlantinių ryšių nuo 64Kb/s iki 2Mb/s.

TINKLŲ PAVYZDŽIAI

Rišančioji Internet medžiaga yra TCP/IP bazinis modelis ir TCP/IP protokolų stekas. Kompiuteris yra Internete, jeigu jame veikia TCP/IP protokolų stekas, jis turi IP adresą ir gali siųsti IP paketus visiems kitiems kompiuteriams Internete. Galimybės siųsti ir gauti elektroninį paštą neužtenka, kadangi paštas per šliuzus nueina ir į tinklus, neesančius Internete. Tie, kurie dirba per modemą, laikomi esančiais Internete tol, kol yra prijungti prie Interneto paslaugų tiekėjo maršrutizatoriaus.

1992 m. buvo sukurta Interneto bendruomenė (Internet Society), padedanti naudotis Internetu ir jį valdanti.

Tradiciškai e

. . .

KANALINIS LYGIS

CRC – 12 naudojama, kai simbolio ilgis 6 bitai. Kiti du naudojami 8 bitų ilgio simboliams. CRC – 16 arba CRC – CCITT suranda visas viengubas ir dvigubas klaidas, visas klaidas su nelyginiu bitų skaičiumi, visas 16 ir mažiau bitų ilgio klaidas, 99.997% 17 bitų klaidų ir 99.998% 18 ir daugiau bitų klaidų.

Kanalinio lygio protokolų pavyzdžiai

Neapribotas vienkryptis (simplex) protokolas. Pats paprasčiausias protokolas. Duomenys siunčiami tik viena kryptimi. Siuntiklio ir gaviklio tinkliniai lygiai visada pasiruošę darbui. Apdorojimo laikas ignoruojamas. Buferio dydis neribotas. Ryšio kanale kadrai nedingsta. Naudojamos dvi procedūros. Viena siuntiklyje, kita gaviklyje. Siuntiklis yra begaliniame cikle ir perduoda duomenis į liniją maksimaliu greičiu. Cikle tik trys veiksmai: paimti paketą iš tinklinio lygio, sukonstruoti kadrą, išsiųsti kadrą. Gaviklis toks pat paprastas. Atėjus kadrui, jis paimamas iš fizinio lygio, panaikinamos kadro pradžios ir galo žymės, antraštė, ir duomenų paketas perduodamas į tinklinį lygį. Laukiama sekančio kadro.

Vienkryptis protokolas “sustoti ir palaukti”. Viskas tas pats, išskyrus tai, kad tinklinis lygis negali priiminėti duomenis begaline sparta. Jeigu reikia Dt laiko paimti kadrą iš fizinio lygio ir perduoti jį į tinklinį, tai siuntiklis per Dt neturi išsiųsti daugiau negu vieną kadrą. Galima apriboti siuntiklio darbo spartą, įvedant papildomą vėlinimą. Tačiau kanalinio lygio pasiruošimo priimti kadrą trukmė gali būti atsitiktinė, ypač tuo atveju, kai lygis dirba su keliomis linijomis vienu metu. Įvedus maksimalų galimą vėlinimą, kanalo panaudojimas bus neoptimalus.

Daug geresnis sprendimas – suorganizuoti grįžtamąjį ryšį. Po paketo perdavimo į tinklinį lygį, gaviklis išsiunčia siuntikliui trumpą kadrą, kuris yra leidimas siųsti sekantį duomenų kadrą. Tokie protokolai vadinami “sustok ir lauk”. Čia duomenų perdavimas vienkryptis, tačiau kadrai keliauja į abi puses. Reikalingas nevienalaikis dvikryptis kanalas (half-duplex).

Vienkryptis protokolas kanalui su triukšmais. Kadrai gali būti pažeisti arba visiškai prarasti. Pažeisti kadrai atpažįstami, suskaičiuojant kontrolinę sumą. Siuntiklis kažkiek laiko laukia ir išsiunčia kadrą dar kartą. Kartojama tol, kol kadras nueina nepažeistas. Šio protokolo trūkumas – kadro dublikato perdavimas į tinklinį lygį, jeigu patvirtinantysis kadras dingsta.

KANALINIS LYGIS

Vienas iš problemos sprendimo būdų – siunčiamojo kadro antraštėje patalpinti kadro numerį. Gaviklis pagal tą numerį nustato, ar nėra kadras pakartotas be reikalo. Numeracijai užtenka vieno bito. Svarbu, kad skirtųsi dviejų vienas po kito siunčiamų kadrų numeriai. Po nulinio kadro turi būti gautas pirmas. Jeigu vėl ateina nulinis, jis atmetamas. Gaviklis siunčia kiekvieno kadro gavimo patvirtinimą. Po kadro su numeriu “1” yra laukiamas kadras su numeriu “0” ir t.t.

Protokolai, kuriuose siuntiklis laukia patvirtinančiojo kadro, prieš išsiųsdamas sekantį, dažnai vadinami PAR (Positive Acknowledgement with Retransmission – teigiamas gavimo patvirtinimas su siuntimo pakartojimu). Arba ARQ (Automatic Repeat reQuest). Duomenys keliauja tik viena kryptimi. Siuntiklio laukimo trukmė turi būti pakankama. Kitaip gali būti išsiųstas dublikatas anksčiau laiko. Po to atėjęs patvirtinantysis kadras bus suprastas kaip dublikato gavimo patvirtinimas. Jeigu po to sekantis kadras nenueis iki gaviklio, tai tikrasis dublikato gavimo patvirtinimas bus suprastas kaip po jo ėjusio ir prarasto kadro gavimo patvirtinimas. Dingęs kadras nebus pakartotas. Šito galima išvengti, įdedant į patvirtinančiuosius kadrus numerius, tuo pasakant, kurio kadro gavimo patvirtinimas atkeliavo.

Siuntiklyje po kadro išsiuntimo startuoja taimeris ir atskaičiuoja tiek laiko, kiek reikia kadrui nukeliauti iki gaviklio, jį ten apdoroti ir nusiųsti patvirtinantįjį kadrą į siuntiklį. Tik šiam laikui pasibaigus, galima kartoti siuntimą.

Slankiojančiojo lango protokolai (Sliding Window Protocols)

Tą pačią liniją galima panaudoti ne tik patvirtinančiųjų, bet ir duomenų kadrų perdavimui. Šiuo atveju gavimo patvirtinimus galima siųsti kartu su duomenimis, pažymint tai specialiame ACK lauke. Gavus duomenų kadrą, patvirtinantysis kadras nesiunčiamas tuojau pat, o laukiama, kol iš tinklinio lygio bus perduotas duomenų paketas. Gavimo patvirtinimas išsiunčiamas kartu su šiuo kadru. Tai vadinama piggybacking. Taip geriau panaudojamas kanalas, nes nereikia konstruoti specialaus patvirtinančiojo kadro su savo antrašte, atskyrikliais ir kontroline suma. ACK laukas duomenų kadre užima nedaug vietos.

KANALINIS LYGIS

Šiam protokolui realizuoti reikalingas dar vienas skaitliukas, kuri nustato, kiek laiko galima laukti duomenų iš tinklinio lygio prieš išsiunčiant ACK kartu su duomenų kadru. Jeigu duomenys iš tinklinio lygio laiku nepasirodo, išsiunčiamas atskiras patvirtinantysis kadras. Čia vis dar gali būti problemų, susijusių su priešlaikiniu kadro pakartojimu, kai vėluoja patvirtinantysis kadras. Žymiai stabilesni tuo požiūriu yra slankiojančiojo lango protokolai.

Visuose slankiojančiojo lango protokoluose kiekvienas kadras turi numerį nuo 0 iki tam tikro maksimalaus 2n – 1. Slankiojančiojo lango protokolas “sustok ir lauk” naudoja n = 1. Bendru atveju gali būti bet koks n.

Bet kuriuo laiko momentu yra tam tikra seka numerių, atitinkančių kadrus, kuriuos galima išsiųsti (siuntimo langas). Gaviklyje, atitinkamai, yra priėmimo langas – kadrų numeriai, kuriuos leidžiama gauti. Bendru atveju siuntimo ir priėmimo langai yra nevienodi ir netgi gali keistis, kai kadrai išsiunčiami arba priimami.

Numeriai siuntimo lange atitinka išsiųstus, bet dar be gavimo patvirtinimo kadrus. Kai ateina paketas iš tinklinio lygio, jam suteikiamas didžiausias numeris ir lango viršutinė riba padid

Join the Conversation

×
×