OSI (Open System Interconnection)
Model OSI adalah suatu dekripsi abstrak mengenai desain
lapisan-lapisan komunikasi dan protokol jaringan komputer yang dikembangkan
sebagai bagian dari inisiatif Open Systems Interconnection (OSI). Model ini
disebut juga dengan model “Tujuh lapisan OSI” (OSI seven layer model).
Ketujuh lapisan dalam model ini adalah:
Lapisan fisik (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.
Lapisan koneksi data (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.
Lapisan jaringan (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.
Lapisan transpor (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.
Lapisan sesi (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.
Lapisan presentasi (presentation 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.
Lapisan aplikasi (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.