Kompiuterių komunikavimas labaratorinis
5 (100%) 1 vote

Kompiuterių komunikavimas labaratorinis



Kompiuterių komunikavimo laboratoriniai darbai bus atliekami Kompiuterių katedros personalinių kompiuterių laboratorijoje. Bus dirbama su programine įranga, kuri atlieka tinklo paketų skanavimą ir analizavimą. Norint sėkmingai atlikti laboratorinį darbą studentai turi būti įsisavinę teorinę medžiagą pateiktą žemiau. Laboratorinių darbų metu studentai atliks įvairių protokolų paketų struktūros analizę ir galės pagilinti teorines žinias. Laboratorinis darbas bus atliekami pagal iš anksto sudarytą grafiką. Studentai privalo laikytis nurodyto grafiko, nes kompiuterių klasės apkrovimas yra didelis ir nebus galimybės pakartoti darbo. Neatlikus laboratorinio darbo bus mažinamas viso kurso įvertinimas.

Grupių seniūnai prašome atsiųsti savo elektroninio pašto adresus į vstak@viesulas.ktu.lt. Tai palengvins tolesnį tarpusavio bendravimą. Šiuo adresu taip pat galite siųsti klausimus susijusius su laboratoriniais darbais.

Laboratorinių darbų laiką praneš dėstytojas. Tada grupių seniūnai turės sudaryti laboratorinio darbo atlikimo grafiką ir atsiųsti juos nurodytu adresu. Grafike turi būti nurodyta kokiu laiku kiekvienas studentas ateis atlikti laboratorinio darbo.

1. OSI modelis

1.1 Įvadas į OSI modelį

Panagrinėkime tokį pavyzdį. Tarkime vienas žmogus, kitam žmogui siunčia elektroniniu paštu žinutę. Informacija esanti žinutėje paprastai būna tekstas, kurį supranta žmonės. Tuo tarpu tinklu perduodama informacija yra vienetų – nulių sekos. Taigi žinutė siunčiama elektroniniu paštu turi virsti iš teksto į vienetų – nulių sekas. Kompiuteris priėmęs žinutę iš vienetų – nulių sekos turi atstatyti pradinį tekstą. Taip žinutė turėjo pereiti du apdorojimo etapus – iš teksto į dvejetainę seką ir iš dvejetainės sekos į tekstą. Kadangi paprastai kompiuterių tinklai apima daugelį tarpinių mazgų, tai žinutė turėjo kažkokiu būdu surasti adresatą. Taip pat galima daryti prielaidą, kad kompiuteriai tarp kurių buvo persiųstas elektroninis paštas naudoja skirtingą programinę įrangą. Be abejo kompiuteriai taip pat gali būti ir skirtingų gamintojų. Todėl gamintojai tiekiantis tinklinius produktus – aparatinę ir programinę įrangą privalo laikytis tam tikrų taisyklių aprašančių informacijos perdavimo procesą, bei standartų aprašančių tikslias tinklinių produktų specifikacijas.

1980 jų pradžioje tarptautinė standartizavimo organizacija (International Standartization Organization – ISO) pripažino vieningo tinklo modelio poreikį, kuris padėtų tinklo produkcijos gamintojams sukurti tarpusavyje suderinamus tinklinius produktus. ISO 1984 metais patvirtino OSI (Open System Interconnection – ryšys tarp atvirų sistemų) modelį. Šis modelis išsprendė problemas susijusias su tinklų suderinamumu. OSI modelis greitai tapo pagrindiniu architektūriniu modeliu tarpsisteminiams ryšiams aprašyti. Buvo sukurti ir kiti modeliai, bet dauguma tinklo produktų gamintojų susieja savo produkciją su OSI modeliu. OSI modelio paskirtis yra aprašyti informacijos perdavimo procesą funkciniame lygyje, t.y. nusakomos visos funkcijos, kurios vykdomos vykstant informacijos mainams tarp sistemų. Tai nėra kažkoks konkretus standartas, o tik modelis. Remiantis šiuo modeliu, yra aprašomi tinklinių produktų standartai, kurie konkrečiai aprašo produkto specifikacijas.

Informacijos mainų tarp kompiuterių procesas OSI modelyje yra padalintas į septynis mažesnius ir todėl lengviau išsprendžiamus uždavinius (funkcijas). Kiekvienas iš septynių uždavinių atitinka OSI modelio tam tikrą lygį. Dauguma tinklo sistemų apima visus septynis modelio lygius, tačiau sistemos gali ir neturėti kai kurių lygių. Du žemutiniai OSI modelio lygiai pagrinde įgyvendinti aparatinėm priemonėm, 5 viršutiniai modelio lygiai pagrinde įgyvendinami programiškai. OSI modelis aprašo kaip vyksta informacijos mainai tarp taikomųjų programų esančių skirtingose sistemose apjungtose tinklu. Pirmame pavyzdyje pateikta OSI modelio struktūrinė schema. Šioje struktūrinėje schemoje nėra detalizuoti atskiri lygiai, bei paaiškintos lygių atliekamos funkcijos. Šioje schemoje atvaizduota kaip informacija iš vienos sistemos patenka į kitą, bei kaip sąveikauja skirtingi OSI lygiai tarpusavyje.

1 pav. OSI modelis.

Čia yra pavaizduotos dvi sistemos A ir B (pavyzdžiui personaliniai kompiuteriai) apjungtos tinklu. Tarp sistemos A ir B informacijos mainai vyksta per jas jungiantį tinklą, tačiau informacijai prieš patenkant į tinklą ji yra apdorojama kiekvienoje iš šių sistemų. Informacijos apdorojimas atliekamas tam tikra aparatine ir programine įranga. Tarkime sistema A turi susisiekti su sistema B. Taikomoji programa sistemoje A bendrauja su sistemos A 7 lygiu. Sistemos A 7 lygis bendrauja su tos pačios sistemos 6 lygiu ir t.t. Sistemos A 2 lygis bendrauja su tos pačios sistemos 1 lygiu. Taip informacija palaipsniui pereidama visus lygius iš taikomosios programos patenka į sistemos A pirmą lygį. Tada informacija siunčiama per tinklą ir patenką į sistemos B pirmą lygį. Po to informacija keliauja sistemos B lygiais aukštyn ir pasiekia sistemos B taikomąją programą. Informacijai pereinant nuo aukštesnio lygio į žemesnį, ji tampa vis mažiau panaši į žmonėms panašią kalbą ir pereina į informacijos seką suprantamą kompiuteriui. Ką tik
aprašytas informacijos keliavimo procesas apibūdina vertikalius informacijos srautus. Kiekvienas sistemos A lygis susietas su kaimyniniais tos pačios sistemos lygiais.

Pagrindinis A sistemos 1 lygio tikslas bendrauti su B sistemos 1 lygiu, nes abejuose sistemose šie lygiai atlieka tas pačias funkcijas. Tą patį galima pasakyti ir apie kitus lygius: kiekvienas lygis gali apdoroti ir suprasti tik būtent tam lygiui skirtą informaciją. Pavyzdžiui žmogus turi suprasti tik tekstą gautą elektroniniu paštu, bet žmogus nesupranta ir jam nebūtina suprasti dvejetainės sekos pasiųstos ryšio linija. Taigi tarp dviejų sistemų egzistuoja ne tik vertikalūs ryšiai, bet ir horizontalūs ryšiai tarp atitinkamų lygių.

1.2 Duomenų srautai

Kaip sistemos B ketvirtas lygis žino ko nori sistemos A ketvirtas lygis, t.y. kaip atitinkami lygiai gali bendrauti tarpusavyje? Kiekvienas lygis turi papildyti siunčiamus duomenis tam tikra valdymo informacija, kuri suprantama kitos sistemos atitinkamam lygiui. Tarkime, kad sistema A nori perduoti informaciją sistemai B. Tada informacija perduodama iš taikomosios programos sistemos A viršutiniam lygiui. Sistemos A septintas lygis turi bendrauti su sistemos B tuo pačiu lygiu. Sistemos A septintas lygis papildo perduodama informacija tam tikra valdymo informacija. Ši informacija perduodama sistemos A šeštam lygiui, kuris savo ruožtu prideda savo valdymo informaciją. Taip informacija keliauja iki sistemos A pirmo lygio, kuriuo perduodama bitų seką į sistemą B. Sistemos B pirmas lygis pašalina sistemos A pirmo lygio valdymo informaciją. B sistema analizuoja šią valdymo informaciją ir žino kaip apdoroti gautus duomenis. Kai informacija pasiekia taikomąją programą, informacija turi savo pradinį formatą. Antras OSI lygis kaip matome dar be valdomos informacijos turi kontrolės lauką, kuris užtikrina patikimą duomenų perdavimą per fizines ryšio linijas.

2 pav. Duomenų srautas per OSI modelio lygius.

Čia:

Data – duomenys;

VI – valdymo informacija;

K – kontrolės laukas.

1.3 OSI modelio lygiai

Kaip jau buvo minėta aukščiau, OSI modelis sudarytas iš septynių lygių:

Taikymo lygis (Application layer) – atitinka 7 OSI lygį;

Atvaizdavimo lygis (Presentation layer) – atitinka 6 OSI lygį;

Sesijos lygis (Session layer) – atitinka 5 OSI lygį;

Transporto lygis (Transport layer) – atitinka 4 OSI lygį;

Tinklo lygis (Network layer) – atitinka 3 OSI lygį;

Ryšio lygis (Link layer) – atitinka 2 OSI lygį;

Fizinis lygis (Physical layer) – atitinka 1 OSI lygį.

3 pav. OSI modelio lygiai.

Toliau bus nagrinėjamos kiekvieno lygio atliekamos funkcijos.

1.3.1 Taikymo lygis (Application layer)

Tai OSI lygis esantis arčiausiai vartotojo. Jis nuo kitų lygių skiriasi tuo, kad nėra servisas jokiam kitam OSI lygiui. Šis lygis apibrėžia taikomąsias programos, kurioms reikia siųsti informaciją tinklu, t.y. normaliam darbui reikalingi tinklo resursai. Jei taikomajai programai nereikalingas duomenų siuntimas, tai tinklo resursai jai nereikalingi ir ji nepriklauso šiam lygiui. Skiriamos tokios taikomųjų programų rūšys: tinklo taikomosios programos (network applications) ir tarptinklinės taikomosios programos (internetwork applications) taikymai. Tinklo taikomųjų programų pavyzdžiai:

Elektroninis paštas;

Failų siuntimas;

Kliento/serverio procesai;

Tinklo valdymas ir t.t.

Tarptinklinių taikomųjų programų pavyzdžiai:

Elektroninis duomenų apsikeitimas (Electronic Data Exchange) – specializuoti standartai ir procesai pagreitinantys apskaitą, perdavimą, inventorizaciją tarp firmų;

WWW – hipertekstinė informacija turinti įvairius atvaizdavimo formatus: tekstas, grafika, vaizdas, garsas, konferencijos – vaizdo, garso ir pan.;

Konferencijos – vaizdo, garso ir t.t.

1.3.2 Atvaizdavimo lygis (Presentation layer)

Užtikrina, kad informacija pasiųsta vienos sistemos taikymo lygio, būtų priimta kitos sistemos taikymo lygio. Atvaizdavimo lygyje atliekamas informacijos formato keitimas ir vertimas. Informacijos formato keitimas užtikrina, kad taikomoji programa gaus naudingą ir prasmingą informaciją, kurią galės apdoroti. Jei reikia, šiame lygyje atliekamas vertimas iš skirtingų duomenų formatų (pavyzdžiui tekstinė informacija verčiama iš ASCII formato į EBCDIC formatą). Atvaizdavimo lygyje, gali būti atliekamas duomenų šifravimas taip apsaugant informaciją nuo neautorizuoto gavėjo. Informacija gali būti spaudžiama, verčiama į grafinius, vaizdo, garso formatus. Šiame lygyje atliekami ne tik vartotojo duomenų formato pakeitimai, bet ir duomenų struktūrų, kurias naudoja taikomosios programos, pakeitimai.

1.3.3 Sesijos lygis (Session layer)

Sesijos lygyje užmezgamos, valdomos ir nutraukiamos sesijos tarp taikomųjų programų. Šis lygis sinchronizuoja dialogą tarp atvaizdavimo lygių ir valdo jų duomenų mainus. Papildomai, be sesijų valdymo (užmezgimo, nutraukimo) turi išskirtinę teisę pranešti apie penkto, šešto ir septinto lygio problemas.

Sesijos lygio protokolų pavyzdžiai:

NFS (Network File System) – tinklo failų sistema, t.y. paskirstyta. Vartotojai turi skaidrų priėjimą per TCP/IP protokolą prie UNIX operacinės sistemos failų sistemų.

X-Window sistema – intelektualūs terminalai darbui su UNIX operacine sistema.

RPC (Remote Procedure Call) – nutolusių procedūrų
ieš užmezgant sesiją, abu komunikuojantys taškai turi suderinti ryšio parametrus, kaip greitis, klaidų kontrolė ir pan. Bet kuris iš galinių taškų gali pareikalauti pakeisti šiuos parametrus. Taip pat atlieka vartotojų identifikavimą.

1.3.4 Transporto lygis (Transport layer)

Riba tarp sesijos ir transporto lygių gali būti traktuojama kaip riba tarp taikymo lygio protokolų ir žemutinio lygio protokolų. Viršutiniai trys lygiai yra susiję su taikomosiomis programomis, tuo tarpu žemutiniai lygiai susiję su duomenų perdavimu. Transporto lygis užtikrina patikimą duomenų siuntimą. Šiame lygyje atliekamas aukštesnių lygių taikomųjų programų segmentavimas ir išskyrimas į vieną bendrą transporto lygio duomenų srautą. Taip pat sukuriamas loginis ryšys tarp dviejų siuntimo taškų.

1.3.5 Tinklo lygis (Network layer)

Atlieka kelio parinkimą tarp dviejų sistemų, kurios gali būti geografiškai skirtinguose potinkliuose. Šiuo atveju potinklis (Subnet) faktiškai yra vienas tinklo kabelis. Kadangi dvi sistemas gali skirti didelis atstumas ir daug potinklių, tai šis lygis atlieka maršrutizavimo uždavinį, t.y. parenka optimalų kelią tarp dviejų sistemų remiantis tam tikrais kriterijais. Suformavus kelią informacija perduodama per šį kelią. Plačiau apie maršrutizavimą bus kalbama kituose skyriuose.

1.3.6 Ryšio lygis (Link layer)

Ryšio lygis dar vadinamas duomenų ryšio lygiu (Data Link Layer), užtikrina duomenų transportą per fizinį ryšį. Ryšio lygis susietas su fiziniu adresavimu, tinklo topologija, klaidų notifikacija (pranešimus apie klaidas), paketų sutvarkymu ir duomenų srauto kontrole. Čia duomenis suskirstomi į freimus (Frame), aptinkamos ir ištaisomos perdavimo klaidos, nustatomi fiziniai adresai. Skirtingai nei kituose lygiuose duomenų freimas turi ne tik antraštę, bet ir freimo pabaigoje, kontrolinę sumą arba jos porūšį – CRC (Cyclic Redundancy Check – CRC), kuri suranda ir ištaiso informacijos perdavimo klaidas. Kontrolinė suma gali nustatyti duomenų iškraipymą arba praradimą.

1.3.7 Fizinis lygis (Physical layer)

Fizinis lygis specifikuoja elektrines, mechanines, procedūrines ir funkcines fizinio ryšio tarp sistemų charakteristikas. Pvz: įtampos lygiai, laikinės ch-os, maksimalus duomenų perdavimo ilgis, fizinės jungtys ir pan. Fizinis lygis ryšio kanalu perduoda dvejetainę informacijos seką tam tikru būdu.

Ryšio kanalas – tai fizinės linijos ir aparatinės priemonės užtikrinančios informacijos perdavimą nuo vieno ryšio mazgo iki kito. Fizinė linija – tai erdvė arba medžiaga užtikrinanti signalo sklidimą. Pagrindinės ryšio kanalo charakteristikos, tai pralaidumas ir duomenų perdavimo patikimumas. Tinklo pralaidumas matuojamas ribiniu informacijos kiekiu (paprastai bitais), perduodamu kanalu per laiko vienetą. Duomenų perdavimo patikimumas – bito iškraipymo tikimybė perdavimo metu. Pagrindinė iškraipymo priežastis – įvairūs trikdžiai į ryšio liniją bei vidiniai duomenų perdavimo aparatūros triukšmai.

Ryšio linijos dažnumų juosta F=fv-fa, nusako diapazoną tų dažnumų, kurie pradedant apatiniu fa ir baigiant viršutiniu fv, efektyviai perduodami ryšio linijoje.

Informacijos perdavimui gali būti naudojamos:

Telefoninės linijos – neseniai buvo ribinis greitis 28.8 Kbitų/s dabar apie 56 Kbitai/s (esant tam tikrom sąlygom);

Koaksialiniai kabeliai – apie 10 Mbitų/s;

Suktos poros kabeliai – iki 100 Mbitų/s;

Šviesolaidžiai – šviesai laidžios plastmasės ir stiklo gijos – Gbitų/s;

Infraraudoni spinduliai;

Mikrobangų ryšio sistema.

1.4 Svarbūs terminai naudojami toliau tekste

Kompiuterio adresas tinkle yra labai svarbi tinklo komponentė. Yra daug adresavimo schemų ir adresavimo būdas priklauso nuo protokolo šeimos, t.y. pavyzdžiui TCP/IP protokolo adresavimo schema skiriasi nuo IPX/SPX protokolo adresavimo schemos, kuri savo ruožtu skiriasi nuo OSI adresavimo ir t.t. Du svarbūs adresų tipai yra ryšio lygio adresas ir tinklo lygio adresas. Ryšio lygio adresai dar vadinami fiziniais (Physical) arba aparatiniais (Hardware) adresais. Jie yra unikalūs kiekvienam tinklo įrenginiui. Faktiškai daugumai lokalių tinklų, ryšio lygio adresai talpinami interfeiso (tinklo plokštėje) schemoje ir priskirti organizacijos, kuri aprašo protokolo standartą, kuriuo naudojasi interfeisas. Kadangi dauguma personalinių kompiuterių turi vieną fizinį interfeisą, jie turi tik vieną ryšio lygio adresą. Ryšio lygio adresai naudojami antrame OSI modelio lygyje (ryšio lygyje). Tinklo lygio adresai dar vadinami virtualiais (Virtual) arba loginiais (Logical) adresais ir naudojami trečiame OSI modelio lygyje. Jų forma priklauso nuo protokolo šeimos.

Tinklų literatūroje nėra bendros terminologijos apibūdinti informacijos vienetus perduodamus tarp kompiuterinių sistemų. Terminai Frame, Packet, Protocol Data Unit, Segment, Message, ir t.t. yra plačiai paplitę ir jų naudojimas nuo protokolo specifikacijų kūrėjo.

Frame – informacijos vienetas, kurio šaltinis ir paskirties vieta aprašoma ryšio lygio adresu.

Packet – informacijos vienetas, kurio šaltinis ir paskirties vieta aprašoma tinklo lygio adresu.

Message – informacijos vienetas, kurio šaltinis ir paskirties vieta aprašoma aukštesniame nei tinklo lygyje

PDU – Protocol Data Unit. Protokolo duomenų vienetas (matas), apsikeičiami
tarp įrenginių, viduje specifinio OSI lygio.

Datagram – Loginis informacijos grupavimas, persiunčiamos kaip tinklo lygio vienetas, persiunčiamas tinklu be ryšio užmezgimo.

Protokolas – formalus aprašymas taisyklių, kurios nustato kaip įrenginiai tinkle keičiasi informacija.

Interfeisas – ryšys tarp dviejų sistemų arba įrenginių. Taip pat riba tarp kaimyninių OSI modelio lygių.

2. LAN protokolai

2.1 Ethernet/ IEEE 802.3 protokolai

Ethernet protokolas buvo sukurtas Xerox korporacijos Palo Alto tyrimų centre 7 dešimtmetyje. Ethernet buvo technologinės bazės pagrindas IEEE 802.3 specifikacijai, kuri buvo išleista 1980m. Šią specifikaciją patvirtino IEEE institutas – (Institute of Electrical and Electronics Engineers) (įkurtas 1963m. JAV). Netrukus po IEEE 802.3 specifikacijos išleidimo Dec, Intel ir Xerox bendromis pastangomis sukūrė ir išleido naują Ethernet specifikaciją šiandien vadinamą Ethernet II versija, kuri yra suderinama su IEEE 802.3. Ethernet ir IEEE 802.3 kartu apima didžiausią lokalių tinklų rinkos dalį. Šiandien terminas Ethernet naudojamas apibūdinti visus CSMA/CD tipo tinklus. CSMA/CD – Carier Sense Multiple Access/Colission Detection (Nešančiajai jautrus su kreipiniais vienu metu/Kolizijos aptikimas).

2.1.1 Kolizijos aptikimas ir atsistatymas

Ethernet ir IEEE 802.3 specifikuoja panašias technologijas, t.y. jie labai panašūs. Kaip jau minėta abu jie yra CSMA/CD lokalūs tinklai. Kompiuteriai esantys tokiame tinkle gali kreiptis į LAN bet kuriuo metu. Prieš pasiunčiant duomenis kompiuteris “klausosi” tinklo stengdamasi nustatyti ar nėra tuo metu tinkle perduodama informacija, t.y. nustato ar tinklas yra laisvas. Jei tinklas laisvas, kompiuteris siunčia duomenis, jei tinklas užimtas, kompiuteris laukia ir po kurio laiko vėl tikrina tinklą. Dabar aptarsime kada gali įvykti kolizija. Tarkime du kompiuteriai klausosi tinkle. Abu nustato, kad tinklas yra neužimtas ir vienu metu išsiunčia informaciją. Šiuo atveju abiejų kompiuterių pasiųsta informacija prarandama, t.y. įvyko kolizija ir sistemos turi pakartoti siuntimą po tam tikro laiko tarpo. CSMA/CD tipo lokalūs tinklai gali nustatyti įvykusias kolizijas ir todėl žino, kad reikia pakartoti siuntimą. Laiko tarpą po kurio bus pakartotas siuntimas paprastai apsprendžia specialus algoritmas vadinamas Backoff. Backoff algoritmas paprastai generuoja atsitiktinius laiko tarpus.

2.1.2 Adresavimas

Kiekvienas kompiuteris Ethernet tinkle (arba tiksliau kiekviena tinklo plokštė) turi savo adresą. Jei kompiuteryje keičiama tinklo plokštė, tai keičiasi ir kompiuterio Ethernet adresas.

Jei kuris nors kompiuteris pasiunčia freimą tinklu, tai visi kompiuteriai Ethernet tinkle turi analizuoti freimo adreso dalį ir pasitikrinti ar freimas yra skirtas jam. Jei freimas nėra jam skirtas, kompiuteris freimą ignoruoja. Jei kompiuteris nustato, kad freimas skirtas jam, tai jis freimą perduoda aukštesnio lygio protokolam tolimesniam apdorojimui. Ethernet adresas yra 48 bitų ilgio. Paprastai šis adresas yra kietai įsiūtas į tinklo plokštę. Todėl šis adresas vadinamas aparatiniu arba fiziniu adresu (arba dar kitaip MAC adresu – apie MAC terminą skaitykite 2.1.3 skyrelyje). Ethernet adresas gali būti trijų tipų:

Vienos tinklo plokštės adresas (kompiuteris gali turėti ne vieną tinklo plokštę);

Šiuo metu Jūs matote 31% šio straipsnio.
Matomi 2709 žodžiai iš 8754 žodžių.
Peržiūrėkite iki 100 straipsnių per 24 val. Pasirinkite apmokėjimo būdą:
El. bankininkyste - 1,45 Eur.
Įveskite savo el. paštą (juo išsiųsime atrakinimo kodą) ir spauskite Tęsti.
SMS žinute - 2,90 Eur.
Siųskite sms numeriu 1337 su tekstu INFO MEDIA ir įveskite gautą atrakinimo kodą.
Turite atrakinimo kodą?
Po mokėjimo iškart gausite atrakinimo kodą, kurį įveskite į laukelį žemiau:
Kodas suteikia galimybę atrakinti iki 100 straispnių svetainėje ir galioja 24 val.