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.
Gambar 2.1. Model Referensi OSI
Model OSI memiliki tujuh layer. Prinsip-prinsip yang digunakan bagi ketujuh layer tersebut adalah :
1. Sebuah layer harus dibuat bila diperlukan tingkat abstraksi yang berbeda.
2. Setiap layer harus memiliki fungsi-fungsi tertentu.
3. Fungsi setiap layer harus dipilih dengan teliti sesuai dengan ketentuan standar protocol internasional.
4. Batas-batas layer diusahakan agar meminimalkan aliran informasi yang melewati interface.
5. 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.
Di
bawah 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.
2.1 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
|
Tabel 2.1 Pemisahan Lapisan atas dan Lapisan bawah pada model OSI
2.2 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.
2.3 Lapisan-lapisan Model OSI
2.3.1 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.
2.3.2 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.
Masalah mengenai data link control akan diuraikan lebih detail lagi pada bab tiga.
2.3.3 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.
2.3.4 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.
2.3.5 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.
2.3.6 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.
2.3.7 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.
2.4 Transmisi Data Pada Model OSI
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.
Gambar 2.2 Contoh tentang bagaimana model OSI digunakan
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.
Tidak ada komentar:
Posting Komentar