OSI modelis

**OSI modelis** () arba **lygmeninis tinklų modelis** – abstraktus ryšio protokolų, naudojamų ryšio ir kompiuteriniuose tinkluose, aprašymas.

## Idėja
OSI modelis aprašo 7 sluoksnius – funkcijų, naudojamų protokoluose, grupes. Kiekvienas sluoksnis naudojasi žemesnio sluoksnio paslaugomis ir teikia paslaugas aukščiau esančiam sluoksniui (pagal tradiciją, pirmas sluoksnis yra vaizduojamas apačioje). Kadangi bendravimas vyksta tik tarp gretimų sluoksnių, tai gerokai supaprastina sudėtingų komunikacijos sistemų kūrimą.

## Lygių aprašymas

### Fizinis
*I lygis* () – aprašo fizinius perduodamo signalo ir terpės, kuria jis perduodamas, parametrus (dažnius, moduliacijas, reikalavimus kabeliams, jungtims, duomenų vertimą į/iš fizinio signalo ir pan.). Pagrindinė jo funkcija – atskirti *0* ir *1*. Pvz.: UTP kabeliai ir kita fizinė tinklo įranga. Fizinis lygis specifikuoja elektrines, mechanines, procedūrines ir funkcines fizinio ryšio tarp sistemų charakteristikas. Pvz: įtampos lygiai, laikinės ch-os, didžiausias 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.

### Ryšio (kanalinis)
*II lygis* () – aprašo ryšį tarp gretimų (tiesiogiai bendraujančių) tinklo komponentų, pavyzdžiui, kadrų struktūrą. Pagrindinė funkcija – atskirti bitų sekas, jų pradžią, pabaigą. Pvz.: Ethernet. 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 duomenys 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ą.

### Tinklo
*III lygis* () – aprašo, kaip duomenų sekos turi būti perduodamos visame tinkle. Pvz.: IP. 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ą. 

### Transporto
*IV lygis* () – tiekia skaidrų duomenų perdavimą tarp tinklo vartotojų su norimomis patikimumo garantijomis. Pvz.: TCP, UDP.
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ų.

### Sesijos
*V lygis* () – aprašo duomenų apsikeitimo tarp galinių sistemų taisykles vienos jungties ribose. Pvz.: FTP protokolo komandų srautas arba duomenų srautas. 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, X-Window, RPC.
Prieš 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ą.

### Atvaizdavimo
*VI lygis* () – nusako duomenų kodavimo sesijos metu taisykles. Pvz.: MIME. 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.

### Taikymo (programų)
*VII lygis* () – aukščiausias lygis, apibrėžiantis tinklo teikiamas paslaugas vartotojo programoms. Pvz.: telnet, FTP, IRC. 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).

## Šaltiniai