Model referensi OSI (Open System Interconnection)
menggambarkan bagaimana informasi dari suatu software aplikasi di sebuah
komputer berpindah melewati sebuah media
jaringan ke suatu software aplikasi di komputer lain.
Model referensi OSI secara konseptual terbagi ke
dalam 7 lapisan dimana masing-masing lapisan memiliki fungsi jaringan yang
spesifik, seperti yang dijelaskan oleh gambar 2.1 (tanpa media fisik). Model
ini diciptakan berdasarkan sebuah proposal yang dibuat oleh the International
Standards Organization (ISO) sebagai langkah awal menuju standarisasi protokol
internasional yang digunakan pada berbagai layer . Model ini disebut ISO OSI
(Open System Interconnection) Reference Model karena model ini ditujukan bagi
pengkoneksian open system. Open System dapat diartikan sebagai suatu sistem
yang terbuka untuk berkomunikasi dengan sistem-sistem lainnya. Untuk
ringkas-nya, kita akan menyebut model tersebut sebagai model OSI saja.
Model
OSI memiliki tujuh layer. Prinsip-prinsip yang digunakan bagi ketujuh layer
tersebut adalah :
- Sebuah layer harus dibuat bila diperlukan tingkat abstraksi yang berbeda.
- Setiap layer harus memiliki fungsi-fungsi tertentu.
- Fungsi setiap layer harus dipilih dengan teliti sesuai dengan ketentuan standar protocol internasional.
- Batas-batas layer diusahakan agar meminimalkan aliran informasi yang melewati interface.
- Jumlah layer harus cukup banyak, sehingga fungsi-fungsi yang berbeda tidak perlu disatukan dalam satu layer diluar keperluannya. Akan tetapi jumlah layer juga harus diusahakan sesedikit mungkin sehingga arsitektur jaringan tidak menjadi sulit dipakai.
Dibawah
ini kita membahas setiap layer pada model OSI secara berurutan, dimulai dari
layer terbawah. Perlu dicatat bahwa model OSI itu sendiri bukanlah merupakan
arsitektur jaringan, karena model ini tidak menjelaskan secara pasti layanan
dan protokolnya untuk digunakan pada setiap layernya. Model OSI hanya
menjelaskan tentang apa yang harus dikerjakan oleh sebuah layer. Akan tetapi
ISO juga telah membuat standard untuk
semua layer, walaupun standard-standard ini bukan merupakan model referensi itu
sendiri. Setiap layer telah dinyatakan sebagai standard internasional yang
terpisah.
Karakteristik Lapisan OSI
Ke tujuh lapisan dari model referensi OSI dapat
dibagi ke dalam dua kategori, yaitu lapisan atas dan lapisan bawah.Lapisan atas dari model
OSI berurusan dengan persoalan aplikasi dan pada umumnya diimplementasi hanya
pada software. Lapisan tertinggi (lapisan applikasi) adalah lapisan penutup
sebelum ke pengguna (user), keduanya, pengguna dan lapisan aplikasi saling berinteraksi
proses dengan software aplikasi yang berisi sebuah komponen komunikasi. Istilah
lapisan atas kadang-kadang digunakan untuk menunjuk ke beberapa lapisan atas
dari lapisan lapisan yang lain di model OSI.
Lapisan bawah dari
model OSI mengendalikan persoalan transport data. Lapisan fisik dan lapisan
data link diimplementasikan ke dalam hardware dan software. Lapisan-lapisan
bawah yang lain pada umumnya hanya diimplementasikan dalam software. Lapisan
terbawah, yaitu lapisan fisik adalah lapisan penutup bagi media jaringan fisik
(misalnya jaringan kabel), dan sebagai penanggung jawab bagi penempatan
informasi pada media jaringan. Tabel berikut ini menampilkan pemisahan kedua
lapisan tersebut pada lapisan-lapisan model OSI.
Application
|
Application
|
Lapisan Atas
|
Presentation
|
||
Session
|
||
Transport
|
Data Transport
|
Lapisan Bawah
|
Network
|
||
Data Link
|
||
Physical
|
Protokol
Model OSI menyediakan secara konseptual kerangka
kerja untuk komunikasi antar komputer, tetapi model ini bukan merupakan metoda
komunikasi. Sebenarnya komunikasi dapat terjadi karena menggunakan protokol
komunikasi. Di dalam konteks jaringan data, sebuah protokol adalah suatu aturan
formal dan kesepakatan yang menentukan bagaimana komputer bertukar informasi
melewati sebuah media jaringan. Sebuah protokol mengimplementasikan salah satu
atau lebih dari lapisan-lapisan OSI. Sebuah variasi yang lebar dari adanya
protokol komunikasi, tetapi semua memelihara pada salah satu aliran group:
protokol LAN, protokol WAN, protokol jaringan, dan protokol routing. Protokol
LAN beroperasi pada lapisan fisik dan data link dari model OSI dan
mendefinisikan komunikasi di atas macam-macam media LAN. Protokol WAN
beroperasi pada ketiga lapisan terbawah dari model OSI dan mendefinisikan
komunikasi di atas macam-macam WAN. Protokol routing adalah protokol lapisan
jaringan yang bertanggung jawab untuk menentukan jalan dan pengaturan lalu
lintas. Akhirnya protokol jaringan adalah berbagai protokol dari lapisan teratas yang ada dalam
sederetan protokol.
Physical Layer
Physical
Layer berfungsi dalam pengiriman raw bit ke channel komunikasi. Masalah desain
yang harus diperhatikan disini adalah memastikan bahwa bila satu sisi mengirim
data 1 bit, data tersebut harus diterima oleh sisi lainnya sebagai 1 bit pula,
dan bukan 0 bit. Pertanyaan yang timbul dalam hal ini adalah : berapa volt yang
perlu digunakan untuk menyatakan nilai 1? dan berapa volt pula yang diperlukan
untuk angka 0?. Diperlukan berapa mikrosekon suatu bit akan habis? Apakah
transmisi dapat diproses secara simultan pada kedua arahnya? Berapa jumlah pin
yang dimiliki jaringan dan apa kegunaan masing-masing pin? Secara umum
masalah-masalah desain yang ditemukan di sini berhubungan secara mekanik,
elektrik dan interface prosedural, dan media fisik yang berada di bawah
physical layer.
Data Link Layer
Tugas
utama data link layer adalah sebagai fasilitas transmisi raw data dan
mentransformasi data tersebut ke saluran yang bebas dari kesalahan transmisi.
Sebelum diteruskan kenetwork layer, data link layer melaksanakan tugas ini
dengan memungkinkan pengirim memecag-mecah data input menjadi sejumlah data
frame (biasanya berjumlah ratusan atau ribuan byte). Kemudian data link layer
mentransmisikan frame tersebut secara berurutan, dan memproses acknowledgement
frame yang dikirim kembali oleh penerima. Karena physical layer menerima dan
mengirim aliran bit tanpa mengindahkan arti atau arsitektur frame, maka
tergantung pada data link layer-lah untuk membuat dan mengenali batas-batas
frame itu. Hal ini bisa dilakukan dengan cara membubuhkan bit khusus ke awal
dan akhir frame. Bila secara insidental pola-pola bit ini bisa ditemui pada
data, maka diperlukan perhatian khusus untuk menyakinkan bahwa pola tersebut
tidak secara salah dianggap sebagai batas-batas frame.
Terjadinya
noise pada saluran dapat merusak frame. Dalam hal ini, perangkat lunak data
link layer pada mesin sumber dapat mengirim kembali frame yang rusak tersebut.
Akan tetapi transmisi frame sama secara berulang-ulang bisa menimbulkan
duplikasi frame. Frame duplikat perlu dikirim apabila acknowledgement frame
dari penerima yang dikembalikan ke pengirim telah hilang. Tergantung pada layer
inilah untuk mengatasi masalah-masalah yang disebabkan rusaknya, hilangnya dan
duplikasi frame. Data link layer menyediakan beberapa kelas layanan bagi
network layer. Kelas layanan ini dapat dibedakan dalam hal kualitas dan
harganya.
Masalah-masalah
lainnya yang timbul pada data link layer (dan juga sebagian besar layer-layer
di atasnya) adalah mengusahakan kelancaran proses pengiriman data dari pengirim
yang cepat ke penerima yang lambat. Mekanisme pengaturan lalu-lintas data harus
memungkinkan pengirim mengetahui jumlah ruang buffer yang dimiliki penerima
pada suatu saat tertentu. Seringkali pengaturan aliran dan penanganan error ini
dilakukan secara terintegrasi.
Saluran
yang dapat mengirim data pada kedua arahnya juga bisa menimbulkan masalah.
Sehingga dengan demikian perlu dijadikan bahan pertimbangan bagi software data
link layer. Masalah yang dapat timbul di sini adalah bahwa frame-frame
acknoeledgement yang mengalir dari A ke B bersaing saling mendahului dengan
aliran dari B ke A. Penyelesaian yang terbaik (piggy backing) telah bisa
digunakan; nanti kita akan membahasnya secara mendalam.
Jaringan
broadcast memiliki masalah tambahan pada data link layer. Masalah tersebut
adalah dalam hal mengontrol akses ke saluran yang dipakai bersama. Untuk
mengatasinya dapat digunakan sublayer khusus data link layer, yang disebut
medium access sublayer.
Network Layer
Network layer berfungsi
untuk pengendalian operasi subnet. Masalah desain yang penting adalah bagaimana
caranya menentukan route pengiriman paket dari sumber ke tujuannya. Route dapat
didasarkan pada table statik yang “dihubungkan ke” network. Route juga dapat
ditentukan pada saat awal percakapan misalnya session terminal. Terakhir, route
dapat juga sangat dinamik, dapat berbeda bagi setiap paketnya. Oleh karena itu,
route pengiriman sebuah paket tergantung beban jaringan saat itu.
Bila pada saat yang sama dalam sebuah subnet terdapat
terlalu banyak paket, maka ada kemungkinan paket-paket tersebut tiba pada saat
yang bersamaan. Hal ini dapat menyebabkan terjadinya bottleneck. Pengendalian
kemacetan seperti itu juga merupakan tugas network layer.
Karena operator subnet
mengharap bayaran yang baik atas tugas pekerjaannya. seringkali terdapat beberapa
fungsi accounting yang dibuat pada network layer. Untuk membuat informasi
tagihan, setidaknya software mesti menghitung jumlah paket atau karakter atau
bit yang dikirimkan oleh setiap pelanggannya. Accounting menjadi lebih rumit,
bilamana sebuah paket melintasi batas negara yang memiliki tarip yang berbeda.
Perpindahan paket dari
satu jaringan ke jaringan lainnya juga dapat menimbulkan masalah yang tidak
sedikit. Cara pengalamatan yang digunakan oleh sebuah jaringan dapat berbeda
dengan cara yang dipakai oleh jaringan lainnya. Suatu jaringan mungkin tidak
dapat menerima paket sama sekali karena ukuran paket yang terlalu besar.
Protokolnyapun bisa berbeda pula, demikian juga dengan yang lainnya. Network
layer telah mendapat tugas untuk mengatasi semua masalah seperti ini, sehingga
memungkinkan jaringan-jaringan yang berbeda untuk saling terinterkoneksi.
Transport Layer
Fungsi
dasar transport layer adalah menerima data dari session layer, memecah data
menjadi bagian-bagian yang lebih kecil bila perlu, meneruskan data ke network
layer, dan menjamin bahwa semua potongan data tersebut bisa tiba di sisi
lainnya dengan benar. Selain itu, semua hal tersebut harus dilaksanakan secara
efisien, dan bertujuan dapat melindungi layer-layer bagian atas dari perubahan
teknologi hardware yang tidak dapat dihindari.
Dalam
keadaan normal, transport layer membuat koneksi jaringan yang berbeda bagi
setiap koneksi transport yang diperlukan oleh session layer. Bila koneksi
transport memerlukan throughput yang tinggi, maka transport layer dapat membuat
koneksi jaringan yang banyak. Transport layer membagi-bagi pengiriman data ke
sejumlah jaringan untuk meningkatkan throughput. Di lain pihak, bila pembuatan
atau pemeliharaan koneksi jaringan cukup mahal, transport layer dapat
menggabungkan beberapa koneksi transport ke koneksi jaringan yang sama. Hal
tersebut dilakukan untuk membuat penggabungan ini tidak terlihat oleh session
layer.
Transport
layer juga menentukan jenis layanan untuk session layer, dan pada gilirannya
jenis layanan bagi para pengguna jaringan. Jenis transport layer yang paling
populer adalah saluran error-free point to point yang meneruskan pesan atau
byte sesuai dengan urutan pengirimannya. Akan tetapi, terdapat pula jenis
layanan transport lainnya. Layanan tersebut adalah transport pesan terisolasi
yang tidak menjamin urutan pengiriman, dan membroadcast pesan-pesan ke sejumlah
tujuan. Jenis layanan ditentukan pada
saat koneksi dimulai.
Transport
layer merupakan layer end to end sebenarnya, dari sumber ke tujuan. Dengan kata
lain, sebuah program pada mesin sumber membawa percakapan dengan program yang
sama dengan pada mesin yang dituju. Pada layer-layer bawah, protokol terdapat
di antara kedua mesin dan mesin-mesin lain yang berada didekatnya. Protokol tidak
terdapat pada mesin sumber terluar atau mesin tujuan terluar, yang mungkin
dipisahkan oleh sejumlah router. Perbedaan antara layer 1 sampai 3 yang
terjalin, dan layer 4 sampai 7 yang end to end. Hal ini dapat dijelaskan
seperti pada gambar 2-1.
Sebagai
tambahan bagi penggabungan beberapa aliran pesan ke satu channel, transport
layer harus hati-hati dalam menetapkan dan memutuskan koneksi pada jaringan.
Proses ini memerlukan mekanisma penamaan, sehingga suatu proses pada sebuah
mesin mempunyai cara untuk menerangkan dengan siapa mesin itu ingin
bercakap-cakap. Juga harus ada mekanisme untuk mengatur arus informasi, sehingga arus informasi dari host yang cepat tidak membanjiri host
yang lambat. Mekanisme seperti itu disebut pengendalian aliran dan memainkan
peranan penting pada transport layer (juga pada layer-layer lainnya).
Pengendalian aliran antara host dengan host berbeda dengan pengendalian
aliran router dengan router. Kita akan
mengetahui nanti bahwa prinsip-prinsip yang sama digunakan untuk kedua jenis
pengendalian tersebut.
Session Layer
Session
layer mengijinkan para pengguna untuk menetapkan session dengan pengguna
lainnya. Sebuah session selain
memungkinkan transport data biasa, seperti yang dilakukan oleh transport
layer, juga menyediakan layanan yang istimewa untuk aplikasi-aplikasi tertentu.
Sebuah session digunakan untuk memungkinkan seseorang pengguna log ke remote
timesharing system atau untuk
memindahkan file dari satu mesin kemesin lainnya.
Sebuah
layanan session layer adalah untuk melaksanakan pengendalian dialog. Session
dapat memungkinkan lalu lintas bergerak
dalam bentuk dua arah pada suatu saat, atau hanya satu arah saja. Jika
pada satu saat lalu lintas hanya satu arah saja (analog dengan rel kereta api
tunggal), session layer membantu untuk menentukan giliran yang berhak
menggunakan saluran pada suatu saat.
Layanan
session di atas disebut manajemen token. Untuk sebagian protokol, adalah
penting untuk memastikan bahwa kedua pihak yang bersangkutan tidak melakukan
operasi pada saat yang sama. Untuk
mengatur aktivitas ini, session layer menyediakan token-token yang dapat
digilirkan. Hanya pihak yang memegang token yang diijinkan melakukan operasi
kritis.
Layanan
session lainnya adalah sinkronisasi. Ambil contoh yang dapat terjadi ketika
mencoba transfer file yang berdurasi 2 jam dari mesin yang satu ke mesin
lainnya dengan kemungkinan mempunyai selang waktu 1 jam antara dua crash yang
dapat terjadi. Setelah masing-masing
transfer dibatalkan, seluruh transfer mungkin perlu diulangi lagi dari awal,
dan mungkin saja mengalami kegagalan lain. Untuk mengurangi kemungkinan
terjadinya masalah ini, session layer dapat menyisipkan tanda tertentu ke
aliran data. Karena itu bila terjadi crash, hanya data yang berada sesudah
tanda tersebut yang akan ditransfer ulang.
Pressentation Layer
Pressentation
layer melakukan fungsi-fungsi tertentu yang diminta untuk menjamin penemuan
sebuah penyelesaian umum bagi masalah tertentu. Pressentation Layer tidak
mengijinkan pengguna untuk menyelesaikan sendiri suatu masalah. Tidak seperti
layer-layer di bawahnya yang hanya melakukan pemindahan bit dari satu tempat ke
tempat lainnya, presentation layer memperhatikan syntax dan semantik informasi
yang dikirimkan.
Satu
contoh layanan pressentation adalah encoding data. Kebanyakan pengguna tidak
memindahkan string bit biner yang random. Para pengguna saling bertukar data
sperti nama orang, tanggal, jumlah uang, dan tagihan. Item-item tersebut
dinyatakan dalam bentuk string karakter, bilangan interger, bilangan floating
point, struktur data yang dibentuk dari beberapa item yang lebih sederhana.
Terdapat perbedaan antara satu komputer dengan komputer lainnya dalam memberi
kode untuk menyatakan string karakter (misalnya, ASCII dan Unicode), integer
(misalnya komplemen satu dan komplemen dua), dan sebagainya. Untuk memungkinkan
dua buah komputer yang memiliki presentation yang berbeda untuk dapat
berkomunikasi, struktur data yang akan dipertukarkan dapat dinyatakan dengan
cara abstrak, sesuai dengan encoding standard yang akan digunakan “pada
saluran”. Presentation layer mengatur data-struktur abstrak ini dan
mengkonversi dari representation yang digunakan pada sebuah komputer menjadi
representation standard jaringan, dan sebaliknya.
Application Layer
Application
layer terdiri dari bermacam-macam
protokol. Misalnya terdapat ratusan jenis terminal yang tidak kompatibel di
seluruh dunia. Ambil keadaan dimana editor layar penuh yang diharapkan bekerja
pada jaringan dengan bermacam-macam terminal, yang masing-masing memiliki
layout layar yang berlainan, mempunyai cara urutan penekanan tombol yang
berbeda untuk penyisipan dan penghapusan teks, memindahkan sensor dan
sebagainya.
Suatu
cara untuk mengatasi masalah seperti di ata, adalah dengan menentukan terminal
virtual jaringan abstrak, serhingga editor dan program-program lainnya dapat
ditulis agar saling bersesuaian. Untuk menangani setiap jenis terminal, satu
bagian software harus ditulis untuk memetakan fungsi terminal virtual jaringan
ke terminal sebenarnya. Misalnya, saat editor menggerakkan cursor terminal
virtual ke sudut layar kiri, software tersebut harus mengeluarkan urutan
perintah yang sesuai untuk mencapai cursor tersebut. Seluruh software terminal
virtual berada pada application layer.
Fungsi
application layer lainnya adalah
pemindahan file. Sistem file yang satu dengan yang lainnya memiliki konvensi
penamaan yang berbeda, cara menyatakan baris-baris teks yang berbeda, dan
sebagainya. Perpindahan file dari sebuah sistem ke sistem lainnya yang berbeda
memerlukan penanganan untuk mengatasi adanya ketidak-kompatibelan ini. Tugas
tersebut juga merupakan pekerjaan appication layer, seperti pada surat
elektronik, remote job entry, directory lookup, dan berbagai fasilitas
bertujuan umum dan fasilitas bertujuan khusus lainnya.
Gambar
1-17 menjelaskan sebuah contoh tentang bagaimana data dapat ditransmisikan
dengan menggunakan model OSI. Proses pengiriman memiliki data yang akan
dikirimkan ke proses penerima. Proses pengirim menyerahkan data ke application
layer, yang kemudian menambahkan aplication header, AH (yang mungkin juga
kosong), ke ujung depannya dan menyerahkan hasilnya ke presentation layer.
Pressentation
layer dapat membentuk data ini dalam berbagai cara dan mungkin saja menambahkan
sebuah header di ujung depannya, yang diberikan oleh session layer. Penting
untuk diingat bahwa presentation layer tidak menyadari tentang bagian data yang mana yang diberi tanda AH
oleh application layer yang merupakan data pengguna yang sebenarnya.
Proses
pemberian header ini berulang terus sampai data tersebut mencapai physical
layer, dimana data akan ditransmisikan ke mesin lainnya. Pada mesin tersebut,
semua header tadi dicopoti satu per satu sampai mencapai proses penerimaan.
Yang
menjadi kunci di sini adalah bahwa walaupun transmisi data aktual berbentuk
vertikal seperti pada gambar 1-17, setiap layer diprogram seolah-olah sebagai
transmisi yang bersangkutan berlangsung secara horizontal. Misalnya, saat
transport layer pengiriman mendapatkan pesan dari session layer, maka transport
layer akan membubuhkan header transport layer dan mengirimkannya ke transport
layer penerima.
Jangan lupa tinggalin saran dan kritik yang bermanfaat untuk ini blog. Untuk teman-teman yang hendak mencopy artikel ini untuk dipasang pada blog atau web-nya, dengan sangat diharapkan untuk mencantumkan Link keblog ini (http://dp082010.blogspot.com) sebagai sumber artikel sekaligus sebagai backlink untuk blog ini. Terima kasih untuk pengertian dan kerjasamanya, mari berkembang bersama