TCP/IP kompiuteriniai tinklai

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 nnėra kompiuteriniai tinklai.

KOMPIUTERINIŲ TINKLŲ 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 – kklientai. Kliento – serverio modelis, užklausa – atsakymas.

· Galimybė nesunkiai plė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 11990 m. kompiuteriniai tinklai pradėjo teikti paslaugas privatiems asmenims į namus. Pagrindinė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Ų AAPARATINĖS PRIEMONĖS

Du svarbūs požymiai:

· Perdavimo technologija

· Dydis

Pagal perdavimo technologiją tinklai skirstomi į du tipus:

· Transliacinio tipo tinklai (Broadcast networks).

· 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 ssistemos palaiko perdavimą tik tam tikram kompiuterių poaibiui.

Taškas – taškas. Sudaryti iš daugelio sujungimų tarp individualių kompiuterių porų. Paketai nueina 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 llaikas 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 duomenis 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 vversija. 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) srautą. 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) pperduoda 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) aarba 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 tturi 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ą pperduodami į 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ų ssą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 nnorima 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 ggali 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 – IISO7498. 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 rriba

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 ppatenka į 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 bbū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 kkitame 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 aarba 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 ppaslauga – 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 llygis 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 į nnutolusius 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 mmodeliai, 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 ppakankamai 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 nnuo 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ų pperduoti 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 yyra 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 ggali 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 kkitomis 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 llygis

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 ppadvigubė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 ssukurta Interneto bendruomenė (Internet Society), padedanti naudotis Internetu ir jį valdanti.

Tradiciškai egzistuoja keturi pagrindiniai Internet taikymai:

1. Elektroninis paštas (Email). Galimybė siųsti ir gauti laiškus egzistuoja nuo pirmųjų ARPANET dienų ir yra nepaprastai populiari.

2. Naujienos. Naujienų grupės – tai specializuoti forumai, kuriuose vartotojai, tturį tam tikrų interesų, gali keistis pranešimais. Egzistuoja tūkstančiai naujienų grupių. Kiekviena iš jų – turi savo stilių ir taisykles, kurias pažeidinėti nevalia.

3. Prisijungimas prie nutolusio kompiuterio (Remote login). Naudojant Telnet, Rlogin ar kitas programas, vartotojai bet kur Internete gali prisijungti prie kompiuterio, kuriame yra užregistruoti.

4. Failų perdavimas.

Iki 80-tųjų pradžios Internetu daugiausia naudojosi akademiniai, valstybiniai ir pramoniniai tyrinėtojai. WWW (World Wide Web) iš esmės tą paskirstymą pakeitė – milijonai neakademinių vartotojų atėjo į Internetą. WWW išrado CERN’o fizikas Tim Berners-Lee. Tai nekeitė esminių Interneto savybių, o supaprastino naudojimąsi jomis. WWW puslapių peržiūros programa Mosaic parašyta superkompiuterių taikymo nacionaliniame centre (National Center for Supercomputer Applications). Per pirmus metus nuo Mosaic sukūrimo WWW serverių kiekis išaugo nuo 100 iki 7000. Augimas tęsiasi. Manoma, kad ttai bus Interneto technologijos ir naudojimo varomoji jėga sekančiame tūkstantmetyje.

TINKLŲ PAVYZDŽIAI

Gigabitiniai tinklai

Gigabitiniai tinklai praplečia dažnių juostą, tačiau mažai pagerina signalų vėlinimą. Pvz.: 1-Kbit paketas 1 Mb/s greičiu per JAV keliauja 20 ms. Taigi, 1 ms reikia išsiųsti bitus ir 20 ms sudaro vėlinimas. Viso 21 ms. 1Gb/s tinklas gali tai sumažinti tik iki 20.001 ms. Greitis šviesolaidyje ~200000 Km/s ir nepriklauso nuo duomenų perdavimo spartos. Taigi, ten, kur vėlinimas labai svarbus, gigabitai ne ką padeda. Tačiau yra daug taikymų, kkur dažnių juostos plotis labai svarbus.

Telemedicina. Kai atsiranda rimta medicininė problema, laboratorijos testai, rentgeno nuotraukos ir kiti paveiksliukai gali būti pasiųsti specialistui, kuris gali diagnozuoti. Daktarai nenoriai diagnozuoja, jei perduotų nuotraukų kokybė blogesnė už originalą. Tai reiškia, kad perdavimui reikia 4K x 4K taškų su 24 bitais kiekvienam taškui. Daugeliui testų reikia iki 100 vaizdų (įvairūs organų pjūviai). Vienam tyrimui susidaro 40Gbitų. Jei viskas juda (plaka širdis), duomenų stipriai padidėja. Suspaudimas kažkiek gelbsti, tačiau prarandama kokybė, ko nenori daktarai. Visi vaizdai turi būti kaupiami ir saugomi daug metų, kad būtų galima pasinaudoti, kai tik prireiks. Taigi, reikalingi labai greiti duomenų perdavimo kanalai.

Virtualūs susirinkimai. Kiekviename kambaryje yra sferinė kamera ir vienas ar daugiau žmonių. Bitų srautai iš kiekvienos kameros apdorojami ir pateikiami taip, kad atrodo, jog visi yra viename kambaryje. Galima niekur nekeliauti. Tam reikalingi labai didelė duomenų perdavimo sparta.

Nuo 1989 m. buvo realizuota daug bandomųjų projektų, kur duomenų perdavimo sparta siekia gigabitus (Aurora, Blanca, CASA, Nectar, VISTAnet)

TINKLŲ STANDARTIZAVIMAS

Telekomunikacijos

1886 m. daugelio Europos vyriausybių atstovai susitiko ir įkūrė šiuolaikinio ITU (International Telecommunication Union) pirmtaką. Tada buvo tik telegrafijos standartizavimas. Kai tik atsirado telefonas, į ITU buvo įtrauktas ir jo standartizavimas. 1947 m. ITU tapo Jungtinių Tautų agentūra.

Trys pagrindiniai ITU sektoriai:

1. Radijo kkomunikacijų sektorius (ITU-R).

2. Telekomunikacijų standartizacijos sektorius (ITU-T).

3. Vystymo sektorius (ITU-D).

ITU-R susijęs su radijo dažnių skirstymu pasaulyje.

ITU-T susijęs su telefonų ir duomenų perdavimo sistemomis. Nuo 1956 m. iki 1993 m. buvo vadinamas CCITT.

ITU-T užduotis – kurti technines rekomendacijas apie telefono, telegrafo ir duomenų perdavimo sąsajas. Jos dažnai tampa tarptautiniu mastu pripažintais standartais. De jure – tai yra tik rekomendacijos, nebūtinos vykdyti kiekvienoje šalyje. De facto – tai standartai. Paruošiama apie 5000 puslapių rekomendacijų per metus.

Tarptautiniai standartai

ISO (International Standards Organization), įkurta 1946 m. Jos nariais yra nacionalinės standartų organizacijos iš 89 šalių narių. Tai ANSI (U.S.), BSI (Didžioji Britanija), AFNOR (Prancūzija), DIN (Vokietija) ir kitos.

Yra sukurta apie 5000 standartų, įskaitant OSI. ISO turi apie 200 techninių komitetų, padalintų į pakomitečius, kurie padalinti į darbo grupes. Realus darbas daromas šiose grupėse (apie 100000 žmonių).

Vienas iš svarbiausių OSI narių – ANSI. ANSI standartai dažnai adaptuojami kaip ISO tarptautiniai standartai. Adaptavimo procedūra prasideda, kai viena iš nacionalinių standartų organizacijų jaučia tarptautinio standarto poreikį kokioje tai srityje. Suformuojama darbo grupė, kuri sukuria CD (Commitee Draft). Apie 6 mėn. Tą CD svarsto visi nariai ir kritikuoja. Jei dauguma pritaria, revizuotas dokumentas pavadinamas DIS (Draft International Standard) ir paliekamas komentavimui bei balsavimui. Rezultate yra paruošiamas galutinis tekstas kaip IIS (International Standard), aprobuojamas ir publikuojamas. Procesas gali užtrukti keletą metų.

TINKLŲ STANDARTIZAVIMAS

NIST (National Institute of Standards and Technology) yra U.S. komercijos departamento agentūra. Anksčiau buvo žinomas kaip Nacionalinis standartų biuras (National Bureau of Standards).

Dar vienas svarbus pasaulinių standartų institutas – IEEE (Institute of Electrical and Electronics Engineers). Tai – didžiausia profesionali organizacija pasaulyje. Gerai žinomas IEEE 802 standartas – yra vietinių tinklų pagrindas.

Internetas

Turi savo standartizavimo mechanizmą, stipriai besiskiriantį nuo ITU-T ir ISO.

Sukūrus ARPANET, buvo įsteigta IAB (Internet Architecture Board). Kai prireikdavo naujo standarto, IAB nariai nuodugniai jį apsvarstydavo ir paskelbdavo. Realizuodavo daugiausia studentai. Bendravimas vyko per techninių ataskaitų serija, vadinamą RFC (Request for Comments). RFC sunumeruoti chronologine tvarka ir yra visiems prieinami. Šiuo metų jų yra virš 2000.

Internetui išaugus (1989 m.), IAB buvo perorganizuotas. Atsirado IRTF (Internet Research Task Force) ir IETF (Internet Engineering Task Force).

IRTF užsiima ilgalaikiais tyrimais. IETF – trumpalaikiais inžinieriniais. Sukurtas panašus į ISO standartizavimo procesas. Prieš sukuriant standartą – siūlymą (Proposed Standard), jo pagrindinė idėja turi būti pilnai išaiškinta RFC ir ja turi būti pakankamai susidomėta. Juodraštinis standartas (Draft Standard) sukuriamas tik po to, kai veikianti realizacija yra testuota 4 mėn. ne mažiau kaip dviejose vietose. Jei viskas gerai, yra paskelbiama apie naują Interneto standartą.

KANALINIS LYGIS

Paslaugos, teikiamos tinkliniam lygiui

Paslaugos, siūlomos tinkliniam lygiui, gali būti įvairios ir priklauso nuo konkrečios sistemos. Trys dažniausiai naudojamos galimybės:

1. Paslauga be pristatymo patvirtinimo ir be sujungimo.

2. Paslauga su pristatymo patvirtinimu, bet be sujungimo.

3. Orientuota į sujungimą paslauga su pristatymo patvirtinimu.

Pirmas variantas – nepatikima paslauga. Iš vieno kompiuterio į kitą yra siunčiami nepriklausomi kadrai be jų pristatymo patvirtinimo. Jei kadras dingsta, kanaliniame lygyje nebandoma jo atstatyti. Ši paslaugų klasė yra tinkama tada, kai klaidų tikimybė yra maža ir jų taisymas paliekamas aukštesniems lygiams. TTaip pat gali tikti duomenų perdavimui realiame laike (kalba, video), kai pavėlavę duomenys yra blogesni už klaidingus. Dauguma vietinių tinklų naudoja šį paslaugos tipą kanaliniame lygyje.

Sekantis žingsnis, gerinant perdavimo patikimumą, yra paslauga su pristatymo patvirtinimu, be sujungimų. Šiuo atveju siuntiklis žino, ar kadras iki gaviklio nukeliavo sėkmingai. Jei per tam tikrą laiką gavimo patvirtinimas neateina, kadras gali būti išsiųstas pakartotinai. Ši paslauga naudinga, naudojant nepatikimus kanalus, tokius kaip bevielės sistemos.

Gavimų patvirtinimai kanaliniame lygyje yra daugiau optimizacija negu būtinybė. Transportinis lygis ggali pasiųsti pranešimą ir laukti jo gavimo patvirtinimo. Nesulaukus, pranešimą galima pakartoti. Blogai yra tai, kad pranešimas gali būti sudarytas pvz.: iš 10 kanalinio lygio kadrų, iš kurių tik vienas dingo. Geriau pakartoti jį, negu iš naujo siųsti pranešimą transportiniame llygyje.

Pati sudėtingiausia – orientuota į sujungimą paslauga su pristatymo patvirtinimu. Šiuo atveju tarp dviejų kompiuterių yra organizuojamas sujungimas prieš siunčiant duomenis. Kiekvienas išsiųstas kadras yra numeruojamas ir kanalinis lygis garantuoja, kad kiekvienas išsiųstas kadras yra gaunamas. Taip pat garantuojama, kad kiekvienas kadras bus gautas tik vieną kartą ir kad visi kadrai gaunami eilės tvarka.

KANALINIS LYGIS

Kai naudojamas susijungimas, perdavimą galima suskirstyti į tris fazes. Pirmojoje fazėje įvyksta susijungimas, kurio metu abi pusės inicializuoja kintamuosius ir skaitliukus, kad būtų galima sekti, kurie kadrai buvo priimti, o kurie ne. Antrojoje fazėje persiunčiamas vienas arba keli kadrai. Trečiojoje fazėje atsijungiama, atlaisvinami kintamieji, buferiai ir kiti resursai, naudoti sujungimo palaikymui

Kadrų ribų nustatymas

Kanalinis lygis suteikia paslaugas tinkliniam lygiui, naudodamasis fizinio lygio paslaugomis. Fizinis lygis perduoda iir priima bitų srautą be garantijos, kad nebus klaidų. Kanalinio lygio užduotis – surasti klaidas ir, jei reikia, jas ištaisyti. Paprastai tai yra daroma, suskaidant bitų srautą į atskirus kadrus ir suskaičiuojant kontrolinę sumą kiekvienam kadrui. Gaviklyje suma suskaičiuojama iš naujo ir, jeigu nesutampa su įrašyta kadre, laikoma, kad kadras blogas ir jis atmetamas.

Kadrų atribojimui naudojami šie metodai:

1. Simbolių skaičiavimas.

2. Pradžios ir galo ženklai su simbolių įterpimu.

3. Pradžios ir galo vėliavos su bitų įterpimu.

4. Fizinio lygio kodavimo pažeidimai.

Pirmuoju atveju kadro antraštėje yra laukas, kuriame nnurodyta, kiek simbolių turi kadras. Pagal šio lauko reikšmę gaviklyje nustatoma, kur yra kadro pabaiga. Kai simbolių skaičius antraštėje sugadinamas perdavimo metu, praktiškai neįmanoma teisingai nustatyti kadro ribas. Dėl šios priežasties metodas beveik nenaudojamas.

Antruoju atveju kiekvienas kadras prasideda dviejų ASCII simbolių seka DLE STX, o baigiasi DLE, ETX. (DLE – Data Link Escape, STX – Start of Text, ETX – End of Text). Šiuo atveju, praradus kadro pradžią, užtenka surasti sekančią porą DLE STX arba DLE ETX.

Rimta problema, kai siunčiami dvejetainiai duomenys, o ne tekstas. DLE STX, DLE ETX būna duomenyse. Tada prieš kiekvieną DLE duomenyse yra įdedamas dar vienas DLE. Gaviklyje papildomas DLE išmetamas.

KANALINIS LYGIS

Aprašytas būdas blogas tuo, kad yra susietas su konkrečiu 8 bitų ASCII simbolių kodavimu ir galima duomenis perdavinėti tik baitais, o ne bitais. Dėl to vis dažniau yra naudojami bitiniai protokolai, kai kadre gali būti bet koks bitų skaičius ir ženklai gali būti koduojami bet kokiu bitų skaičiumi. Tai jau trečias atvejis.

Trečiu atveju kiekvienas kadras prasideda ir baigiasi specialiu bitų rinkiniu 01111110, vadinamu vėliava. Kai duomenyse pasitaiko 5 vienas po kito einantys vienetai, išsiunčiant yra įterpiamas 0. Gaviklyje po 5 vienetų esantis nulis yra išmetamas. Tokiu būdu duomenyse esanti vėliavos bitų kombinacija visada būna ssu įterptu nuliu po 5 vienetų ir niekada nesumaišoma su kadro riba.

Paskutinis būdas yra įmanomas tuose tinkluose, kur kodavimas fiziniame lygyje yra perteklinio pobūdžio. Kai kuriuose vietiniuose tinkluose vienas bitas yra koduojamas dviem fiziniais bitais pvz.: vienetas yra perėjimas iš aukšto į žemą lygį, o nulis – perėjimas iš žemo lygio į aukštą. Kombinacijos žemas-žemas ir aukštas-aukštas duomenims nenaudojamos. Šis neteisingų fizinių kodų panaudojimas yra IEEE 802 standarto vietiniams tinklams dalis.

Dauguma kanalinio lygio protokolų naudoja pirmojo metodo kombinaciją su kuriuo nors kitu didesnio patikimumo užtikrinimui. Ženklų skaičiaus laukas yra naudojamas kadro galo suradimui. Jeigu ten randamas reikalingas kadrų atskyriklis ir kontrolinė suma teisinga, kadras laikomas geru.

Srauto valdymas (flow control)

Problema, kai siuntiklis siunčia kadrus dažniau negu gaviklis gali priimti. Ji sprendžiama kanaliniame ir kituose lygiuose. Dėl spartos nesuderinimo gali būti prarandami be klaidų nukeliavę kadrai.

Srauto valdymo mechanizmas turi perspėti siuntiklį, kad jis siųstų tam tikra sparta, ne didesne už gaviklio spartą. Protokole turi būti griežtos taisyklės, nusakančios, kada siuntiklis gali siųsti kitą kadrą. Pvz.: kai susijungiama, gaviklis gali pasakyti, kad dabar galima išsiųsti n kadrų, o po to reikia laukti, kol bus duotas leidimas tolimesniam siuntimui.

KANALINIS LYGIS

Klaidų suradimas ir taisymas

Dvi pagrindinės strategijos, naudojamos apdorojant klaidas:

1. Kiekvieną siunčiamą duomenų bloką papildyti pertekline iinformacija, pagal kurią gaviklis galėtų nustatyti koks iš tikrųjų turi būti atsiųstas kiekvienas simbolis.

2. Kiekvieną siunčiamą duomenų bloką papildyti pertekline informacija, pagal kurią būtų galima nustatyti, kad siunčiant atsirado klaida ir bloką reikia siųsti iš naujo.

Pirmoji strategija naudoja klaidų taisymo kodus, antroji – klaidų suradimo kodus.

Klaidų korekcijos kodai, gali būti naudingi tada, kai ryšys vienkryptis ir gaviklis negali informuoti siuntiklį apie klaidingą duomenų bloką.

Duomenų perdavimo sistemose dažniausiai yra naudojami klaidų suradimo kodai ir bloko siuntimo pakartojimas. Klaidų suradimui reikia žymiai mažiau papildomų bitų, negu klaidų taisymui.

Atskirų (vienbičių) klaidų suradimui galima naudoti lyginumo bitą, pridedamą prie perduodamo duomenų bloko.

Praktikoje dažniausiai naudojami cikliniai pertekliniai kodai (CRC – Cyclic Redundancy Code) arba polinominiai kodai. Bitų eilutės traktuojamos kaip polinomo koeficientai. Pvz.: 110001 atitinka polinomą x5 + x4 + x0. Skaičiuojant CRC, naudojami taip vadinami generaciniai polinomai G(x). Jeigu G(x) laipsnis yra k, tai perduodamos bitų eilutės gale prirašoma k+1 nulių ir eilutę atitinkantis dvejetainis skaičius dalinamas pagal dviejų modulį iš dvejetainio skaičiaus, atitinkančio G(x). Dalybos liekana yra CRC, kuri pakeičia papildomai prirašytus prie bitų eilutės nulius. Gaviklis priima bitų eilutę su CRC gale ir viską dalina iš skaičiaus, atitinkančio tą patį generacinį polinomą G(x). Jeigu dalinasi be liekanos, tai reiškia, kad klaidos duomenyse nėra.

Trys

polinomai yra tapę tarptautiniais standartais:

CRC – 12 = x12 + x11 + x3 + x2 + x1 + 1

CRC – 16 = x16 + x15 + x2 + 1

CRC – CCITT = x16 + x12 + x5 + 1

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 bbitų 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 iiš 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 llaiko 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ą. SSiuntiklis 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. GGaviklis 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 iiš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