Lapisan-lapisan Model OSI
Lapisan-lapisan Model
OSI
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 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.
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.
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.
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.
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.
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.