Open System Interconnection
(OSI)
Abstrak
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.
I. Pendahuluan
Secara umum lapisan protokol dalam jaringan komputer dapat dibagi atas tujuh lapisan. Lapisan ini dapat dilihat pada gambar 1. Dari lapisan terbawah hingga tertinggi dikenal physical layer, link layer, network layer, transport layer, session layer, presentation layer dan application layer. Masing-masing lapisan mempunyai fungsi masing-masing dan tidak tergantung antara satu dengan lainnya.
II. Model Referensi OSI
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 :
- 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.
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.
II.a. 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
II.b. 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.
III. Lapisan-lapisan Model OSI
III.a. 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
III.b. 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.
III.c. 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.
III.d. 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.
III.e. 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.
III.f. 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.
III.g. 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.
IV. 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.
V. Daftar Pustaka
- Stallings, W. Local Network, Macmillan Publishing Company, 1985.
- Raj Jain, Professor of CIS The Ohio State University Columbus, OH 43210 Jain@ACM.Org
http://www.cis.ohio-state.edu/~jain/cis677-98/
- Cisco Press
http://www.cicso.com/cpress/cc/td/cpress/fund/ith2nd/it2401.html
- Jaringan Komputer, Data link, network and issue,
http://www.bogor.net/idkf/idkf-2/buku-jaringan-komputer-data-link-network-dan-issue-12-2000.doc.
7. Jaringan Komputer Menggunakan Protokol TCP/IP, Onno W. Purbo.