Pengertian Open System Interconnection (OSI)
Open System Interconnection adalah model atau acuan arsitektural utama untuk network yang mendeskripsikan bagaimana data dan informasi network di komunikasikan dari sebuah aplikasi komputer ke aplikasi komputer lain melalui sebuah media transmisi, sehingga mempermudah pengertian, penggunaan, desain, pengolahan data dan keseragaman standar vendor dan juga sebagai panduan bagi vendor agar devicenya dapat berjalan di jaringan.
OSI layer dibagi jadi 7 lapisan / layer, yaitu sebagai berikut :
Model referensi OSI jaringan terbuka atau OSI Reference Model untuk Open jaringan adalah model arsitektur yang dikembangkan oleh International Organization for Standardization untuk Standardisasi (ISO) di Eropa pada tahun 1977. OSI adalah singkatan dari “Open System Interconnection”. Model ini juga disebut model “tujuh lapisan model OSI” (OSI tujuh lapisan model).
Sebelum munculnya model referensi OSI, sistem jaringan komputer sangat tergantung pada pemasok (vendor). OSI berupaya membentuk umum jaringan komputer standar untuk mendukung interoperabilitas antara pemasok yang berbeda.
- Layer Physical
Layer phisical adalah layer yang paling sederhana; berkaitan dengan electrical (dan optical) koneksi antar peralatan. Data biner dikodekan dalam bentuk yang dapat ditransmisi melalui media jaringan, sebagai contoh kabel, transceiver dan konektor yang berkaitan dengan layer Physical. Peralatan seperti repeater, hub dan network card adalah berada pada layer ini.
Baca Juga : Sistem Operasi Jaringan
- Layer Data-link
Suatu Layer yang menyediakan transfer data yang lebih nyata. Sebagai penghubung antara media network dan layer protocol yang lebih high-level, layer data link bertanggung-jawab pada paket akhir dari data binari yang berasal dari level yang lebih tinggi ke paket diskrit sebelum ke layer physical. Akan mengirimkan frame (blok dari data) melalui suatu network..
Ethernet (802.2 & 802.3), Tokenbus (802.4) dan Tokenring (802.5) adalah protocol pada layer Data-link dan juga sebagai penentu protokol untuk pertukaran frame data yang lewat melalui kabel. Serta pengambilan dan pelepasan paket data dari dan ke kabel, deteksi, dan koreksi kesalahan, serta pengiriman ulang data.
- Layer Network
Tugas utama dari layer network adalah menyediakan fungsi routing sehingga paket dapat dikirim keluar dari segment network lokal ke suatu tujuan yang berada pada suatu network lain. IP, Internet Protocol, umumnya digunakan untuk tugas ini.
Protocol lainnya seperti IPX, Internet Packet eXchange. Perusahaan Novell telah memprogram protokol menjadi beberapa, seperti SPX (Sequence Packet Exchange) & NCP (Netware Core Protocol). Protokol ini telah dimasukkan ke sistem operasi Netware.dan juga untuk merutekan paket ke tujuan yang seharusnya. Pengendalian operasi subnetdan mengatasi semua masalah yang ada pada jaringan sehingga memungkinkan jaringan – jaringan yang berbeda bisa saling terkoneksi.
- Layer Transport
Layer transport data, menggunakan protocol seperti UDP, TCP dan/atau SPX (Sequence Packet eXchange, yang satu ini digunakan oleh NetWare, tetapi khusus untuk koneksi berorientasi IPX). Layer transport adalah pusat dari mode-OSI. Layer ini menyediakan transfer yang reliable dan transparan antara kedua titik akhir, layer ini juga menyediakan multiplexing, kendali aliran dan pemeriksaan error serta memperbaikinya.
Baca Juga : Topologi Bus – Karakteristik, Cara, Kelebihan & Kekurangan
- Layer Session
Layer Session, sesuai dengan namanya, sering disalah artikan sebagai prosedur logon pada network dan berkaitan dengan keamanan. Layer ini menyediakan layanan ke dua layer diatasnya, Melakukan koordinasi komunikasi antara entiti layer yang diwakilinya. Beberapa protocol pada layer ini: NETBIOS: suatu session interface dan protocol, dikembangkan oleh IBM, yang menyediakan layanan ke layer presentation dan layer application.
NETBEUI, (NETBIOS Extended User Interface), suatu pengembangan dari NETBIOS yang digunakan pada produk Microsoft networking, seperti Windows NT dan LAN Manager. ADSP (AppleTalk Data Stream Protocol). PAP (Printer Access Protocol), yang terdapat pada printer Postscript untuk akses pada jaringan AppleTalk.
- Layer Presentation
Layer presentation dari model OSI melakukan hanya suatu fungsi tunggal: translasi dari berbagai tipe pada syntax sistem. Sebagai contoh, suatu koneksi antara PC dan mainframe membutuhkan konversi dari EBCDIC character-encoding format ke ASCII dan banyak faktor yang perlu dipertimbangkan. Kompresi data (dan enkripsi yang mungkin) ditangani oleh layer ini.
Baca Juga : Perangkat Keras Komputer
- Layer Application
Layer ini adalah yang paling ‘cerdas’, gateway berada pada layer ini. Gateway melakukan pekerjaan yang sama seperti sebuah router, tetapi ada perbedaan diantara mereka (baca bagian berikutnya untuk informasi yang lebih jelas tentang kedua hal tersebut).
Layer Application adalah penghubung utama antara aplikasi yang berjalan pada satu komputer dan resources network yang membutuhkan akses padanya. Layer Application adalah layer dimana user akan beroperasi padanya, protocol seperti FTP, telnet, SMTP, HTTP, POP3 berada pada layer Application.
Dalam makalah ini penulis akan membahas lebih lanjut tentang salah satu dari 7 OSI tersebut. Yang akan dibahas adalah OSI lapisan ke-dua,yaitu Layer Data-Link.
Pengertian Data Link
Data link layer adalah lapisan kedua dari bawah dalam model OSI, yang dapat melakukan konversi frame-framejaringan yang berisi data yang dikirimkan menjadi bit-bit mentah agar dapat diproses oleh lapisan fisik. Lapisan ini merupakan lapisan yang akan melakukan transmisi data antara perangkat-perangkat jaringan yang saling berdekatan di dalam sebuah wide area network (WAN), atau antara node di dalam sebuah segmen local area network (LAN) yang sama. Lapisan ini bertanggung jawab dalam membuat frame, flow control, koreksi kesalahan dan pentransmisian ulang terhadap frame yang dianggap gagal. MAC address juga diimplementasikan di dalam lapisan ini. Selain itu, beberapa perangkat sepertiNetwork Interface Card (NIC), switch layer 2serta bridge jaringan juga beroperasi di sini.
Lapisan data-link menawarkan layanan pentransferan data melalui saluran fisik. Pentransferan data tersebut mungkin dapat diandalkan atau tidak: beberapa protokol lapisan data-link tidak mengimplementasikan fungsi Acknowledgment untuk sebuah frameyang sukses diterima, dan beberapa protokol bahkan tidak memiliki fitur pengecekan kesalahan transmisi (dengan menggunakanchecksumming). Pada kasus-kasus tersebut, fitur-fitur acknowledgment dan pendeteksian kesalahan harus diimplementasikan pada lapisan yang lebih tinggi, seperti halnyaprotokol Transmission Control Protocol (TCP)(lapisan transport).
Tugas utama dari data link layer adalah sebagai fasilitas transmisi data mentah dan mentransformasi data tersebut ke saluran yang bebas dari kesalahan transmisi. Sebelum diteruskan ke Network Layer, lapisan data link melaksanakan tugas ini dengan memungkinkan pengirim memecah-mecah data input menjadi sejumlah dataframe (biasanya berjumlah ratusan atau ribuan byte).
Baca Juga : Topologi Jaringan adalah
Kemudian lapisan data link mentransmisikan frame tersebut secara berurutan dan memproses acknowledgementframe yang dikirim kembali oleh penerima. Karena lapisan fisik menerima dan mengirim aliran bit tanpa mengindahkan arti atau arsitektur frame, maka tergantung pada lapisan data-link-lah untuk membuat dan mengenali batas-batas frame itu. Hal ini bisa dilakukan dengan cara membubuhkan bitkhusus ke awal dan akhir frame.
Protokol Data Link Layer
Dalam Data Link Layer terdapat 3 protokol utama yang dapat dijelaskan berdasarkan pengirim dan penerimanya. Protokol – protocol tersebut antara lain :
- Unstircted Simplex Protokol
Dalam protokol ini tugas dari pengirim data dan penerima data dibedakan atas :
-
Pengirim
Dalam kegiatan ini pengirim mengambil paket dari NL dimana oleh proses dalam protocol di bentuk menjadi sebuha frame dan dikirimkan ke PL. Disini selanjutnya data siap untuk diterima oleh penerima.
- Penerima
Ketika ada frame yang sampai di PL maka Penerima akan segera beraksi dan mengambil frame tersebut dari PL. Lalu paket yang terbungkus oleh frame diambil lalu diolah. Ketika ada proses pengambilan tersebut maka penerima juga mengirimkan paket sehingga penerima disini berubah menjadi pengirim.
Dalam Unstircted Simplex Protokol data yang ditransmisikan hanya ke satu arah saja dengan catatan NL baik di sisi Penerima dan Pengirim sudah siap. Protokol ini tidak terbatas dengan waktu karena waktu proses diabaikan. Buffer yang dimilikipun memiliki kapasitas yang tidak terhingga dan dengan kemampuan ini maka tidak ada frame yang rusak ataupun hilang.
- Simplex stop and wait protocol
Perbedaan dengan protocol yang diatas adalah buffernya terbatas. Tetapi protocol ini memiliki saluran komunikasi yang error free dan trafik datanya : simplex. Dikarenakan buffer yang dimilikii terbatas maka kecepatan prosesnya pun terbatas pula. Protokol ini merupakan protocol dimana pengirim mengirimkan satu frame dan kemudian menunggu ack sebelum melanjutkan pengiriman.
Berikut aktivitas pengirim dan penerima data :
-
Pengirim
Data yang telah terbungkus dalam paket diambil dari NL kemudaia dibentuk menjadi frame dan menggunu ack untuk pengirimannya. Ketika ack sudah ada maka frame terbut akan dikirimkan ke PL.
- Penerima
Penerima akan merespon ketika ada frame yang datang dengan mengambilnya dari PL. Frame yang telah diambil di buka dan diambil paketnya. Paket tadi kemudian dip roses dan dilewatkan ke NL dan kirim ack kembali.
Baca Juga : VPN adalah
- Protokol Simplex untuk Kanal yang bernoise
Protokol ini digunakan untuk situasi yang seseungguhnya karena sebenarnya Kanal itu pasti bernoise. Dikarenakan kanalnya bernoise maka frame bias rusak atauoun hilang. Untuk mencegah kehilangan data maka protocol ini terdapat fasilitas checksum dimana akan mendeteksi frame – frame apa saja yang rusak dan hilang.
Berikut aktivitas pengirim dan penerima data :
-
Pengirim
Data yang ada di NL diambil kemudia membentuk frame dimana frame tersebut adalah DLL. Lalu frame dikirimkan lewat PL. Ketika ada ack atau pemberitahuan dari penerima maka pengirim akan mengirimkan frame yang berikutnya dan bila tidak ada maka frame akan dikirimkan ulang. Begitu seterusnya hingga selesai.
- Penerima
Data yang diterima dari PL diproses dengan melakukan error checking. Kalau terjadi error maka data dibuang dan tidak mengirimkan ack, tetapi jika datanya bagus dan tidak ada error maka ack akan dikirimkan untuk mendapaatkan frame lagi dari pengirim.
Services / Layanan Data Link Layer
Fungsi dari lapisan data link adalah menyediakan layanan bagi lapisan jaringan. Layanannya yang penting adalah pemindahan data dari lapisan jaringan pada node sumber ke lapisan jaringan di pada node yang dituju. Tugas lapisan data link adalah menstransmisikan bit-bit ke komputer yang dituju, sehingga bit-bit tersebut dapat diserahkan ke lapisan jaringan.
Transmisi aktual yang mengikuti lintasan akan lebih mudah lagi jika dianggap sebagai proses dua lapisan data-link yang berkomunikasi menggunakan protokol data link (Gambar 2). Lapisan data-link dapat dirancang sehingga mampu menyediakan bermacam-macam layanan. Layanan aktual yang ditawarkan suatu sistem akan berbeda dengan layanan sistem yang lainnya. Tiga layanan yang disediakan adalah sebagai berikut :
-
layanan unacknowledged connectionless
-
layanan acknowledged connectionless
-
layanan acknowledged connection-oriented
Setiap layanan yang diberikan data link layer akan dibahas satu persatu.
Baca Juga : Sistem Operasi
- Layanan Unacknowledged Connectionless
Layanan jenis ini mempunyai arti di mana node sumber mengirimkan sejumlah frame ke node lain yang dituju dengan tidak memberikan acknowledgment bagi diterimanya frame-frame tersebut. Tidak ada koneksi yang dibuat baik sebelum atau sesudah dikirimkannya frame.
Bila sebuah frame hilang sehubungan dengan adanya noise, maka tidak ada usaha untuk memperbaiki masalah tersebut di lapisan data-link. Jenis layanan ini cocok bila laju kesalahan (error rate) sangat rendah, sehingga recovery bisa dilakukan oleh lapisan yang lebih tinggi. Sebagian besar teknologi [LAN] meggunakan layanan unacknowledgment connectionless pada lapisan data link.
- Layanan Acknowledged Connectionless
Pada layanan jenis ini berkaitan dengan masalah reabilitas. Layanan ini juga tidak menggunakan koneksi, akan tetapi setiap frame dikirimkan secara independen dan secara acknowledged. Dalam hal ini, si pengirim akan mengetahui apakah frame yang dikirimkan ke komputer tujuan telah diterima dengan baik atau tidak. Bila ternyata belum tiba pada interval waktu yang telah ditentukan, maka frame akan dikirimkan kembali. Layanan ini akan berguna untuk saluran unreliable, seperti sistem nirkabel.
- Layanan acknowledged connection-oriented
Layanan jenis ini merupakan layanan yang paling canggih dari semua layanan yang disediakan oleh lapisan data-link bagi lapisan jaringan. Dengan layanan ini, node sumber dan node tujuan membuat koneksi sebelum memindahkan datanya. Setiap frame yang dikirim tentu saja diterima. Selain itu, layanan ini menjamin bahwa setiap frame yang diterima benar-benar hanya sekali dan semua frame diterima dalam urutan yang benar.
Sebaliknya dengan layanan connectionless, mungkin saja hilangnya acknowledgment akan meyebabkan sebuah frame perlu dikirimkan beberapa kali dankan diterima dalam beberapa kali juga. Sedangkan layanan connection-oriented menyediakan proses-proses lapisan jaringan dengan aliran bit yang bisa diandalkan.
Pada saat layanan connection oriented dipakai, pemindahan data mengalami tiga fase. Pada fase pertama koneksi ditentukan dengan membuat kedua node menginisialisasi variabel-variabel dancounter-counter yang diperlukan untuk mengawasi frame yang mana yang diterima dan yang belum diterima. Dalam fase kedua, satu frame atau lebih mulai ditransmisikan dari node sumber kenode tujuan. Pada fase ketiga, koneksi dilepaskan, pembebasan variabel, buffer dan sumber daya yang lain yang dipakai untuk menjaga berlangsungnya koneksi.
Baca Juga : Arsitektur Komputer
Switching
Dalam switching dikenal dua hal, yaitu sebagai berikut :
- Cicuit Switching
Circuit Switching adalah jaringan simpul-simpul komunikasi yang secara fisik dirancang untuk melaksanakan pemindahan data dari satu simpul ke simpul yang lain hingga tujuan dicapai,
Ada simpul yang terhubung ke simpul lain, tugasnya semata-mata hanya untuk switching data. Simpul lain terhubung ke stasiun, tugasnya selain untuk switching juga untuk menerima data dari stasiun. Jalur-jalur simpul biasanya di-multipleks, baik FDM (frequency division multiplexing) maupun TDM (time division multiplexing). Biasanya jaringan tidak sepenuhnya dikoneksikan, untuk menjaga reliabilitas jaringan, selalu disediakan kelebihan jalur.
Komunikasi melalui jaringan simpul meliputi tiga tahap, yaitu:
-
Pembangunan Circuit : circuit atau jaringan simpul yang akan dilewati dari satu stasiun ke stasiun lainnya ditetapkan, misalnya untuk mengirim data dari stasiun A ke stasiun E (lihat gambar yang menyertai posting ini), dapat ditetapkan jalur yang melewati simpul 4, simpul 5, dan simpul 6.
-
Transfer data : data kemudian di-transfer melalui circuit yang sudah ditetapkan.
-
Diskoneksi Circuit : setelah semua data selesai ditransfer maka sinyal dirambatkan ke simpul 4,5, dan 6 untuk membebaskan simpul tersebut agar bisa dipakai oleh stasiun lain.
- Packet Switching
Sebuah metode yang digunakan untuk memindahkan data dalam jaringan internet. Dalam packet switching, seluruh paket data yang dikirim dari sebuah node akan dipecah menjadi beberapa bagian. Setiap bagian memiliki keterangan mengenai asal dan tujuan dari paket data tersebut. Hal ini memungkinkan sejumlah besar potongan-potongan data dari berbagai sumber dikirimkan secara bersamaan melalui saluran yang sama, untuk kemudian diurutkan dan diarahkan ke rute yang berbeda melalui router.
Framing
Untuk melayani lapisan jaringan, lapisan data-link harus menggunakan layanan yang disediakan oleh lapisan fisik. Apa yang dilakukan lapisan fisik adalah menerima aliran bit-bit mentah dan berusaha untuk mengirimkannya ke tujuan. Aliran bit ini tidak dijamin bebas dari kesalahan. Jumlah bit yang diterima mungkin bisa lebih sedikit, sama atau lebih banyak dari jumlah bit yang ditransmisikan dan juga bit-bit itu memiliki nilai yang berbeda-beda. Bila diperlukan, lapisan data-link juga dapat diserahi tanggung jawab untuk mendeteksi dan mengoreksi kesalahan yang terjadi.
Pendekatan yang umum dipakai adalah lapisan data link memecah aliran bit menjadi frame-frame dan menghitung nilai checksum untuk setiap frame-nya. Memecah-mecah aliran bit menjadi frame-frame lebih sulit dibandingkan dengan apa yang kita kira. Untuk memecah-mecah aliran bit ini, digunakanlah metode-metode khusus. Ada empat buah metode yang dipakai dalam pemecahan bit menjadi frame, yaitu :
-
Karakter penghitung
-
pemberian karakter awal dan akhir, dengan pengisian karakter
-
Pemberian flag awal dan akhir, dengan pengisian bit
-
Pelanggaran pengkodean Physical layer
Berikut ini akan disajikan pembahasan mengenai metode-metode ini.
- Karakter Penghitung
Metode ini menggunakan sebuah field pada header untuk menspesifikasi jumlah karakter di dalam frame. Ketika data link layer pada komputer yang dituju melihat karakter penghitung, maka data link layer akan mengetahui jumlah karakter yang mengikutinya dan kemudian juga akan mengetahui posisi ujung framenya. Teknik ini bisa dilihat pada gambar 3 di bawah ini, dimana ada empat buah frame yang masing-masing berukuran 5,5,8 dan 8 karakter.
Masalah yang akan timbul pada aliran karakter ini apabila terjadi error transmisi. Misalnya, bila hitungan karakter 5 pada frame kedua menjadi 7 (Gambar 4), maka tempat yang dituju tidak sinkron dan tidak akan dapat mengetahui awal frame berikutnya. Oleh karena permasalahan ini, metode hitungan karakter sudah jarang dilakukan.
- Pemberian Karakter Awal dan Akhir
Metode yang kedua ini mengatasi masalah resinkronisasi setelah terjadi suatu error dengan membuat masing-masing frame diawali dengan deretan karakter DLE, STX, ASCII dan diakhiri dengan DLE, ETX. DLE adalah Data Link Escape, STX adalah Start of Text, ETX adalah End of Text. Dalam metode ini, bila tempat yang dituju kehilangan batas-batas frame, maka yang perlu dilakukan adalah mencari karakter-karakter DLE, STX, DLE dan ETX.
Masalah yang akan terjadi pada metode ini adalah ketika data biner ditransmisikan. Karakter-karakter DLE, STX, DLE dan ETX yang terdapat pada data akan mudah sekali mengganggu framing. Salh satu car untuk mengatasi masalah ini adalah dengan membuat data link layer, yaitu pengirim menyisipkan sebuah karajter DLE ASCII tepat sebeum karakter DLE pada data. Teknik ini disebut character stuffing (pengisian karakter) dan cara pengisiannya dapat dilihat pada gambar 5.
- Pemberian Flag Awal dan akhir
Teknik baru memungkinkan frame data berisi sejumlah bit dan mengijinkan kod karakter dengan sejumlah bit per karakter. Setip frame diawali dan diakhiri oleh pola bit khusus, 01111110, yang disebut byte flag. Kapanpun data link layer pada pengirim menemukan lima buah flag yang berurutan pada data, maka data link layer secara otomatis mengisikan sebuah bit 0 ke aliran bit keluar.
Pengisian bit analog dengan pengisian karakter, dimana sebuah DLE diisikan ke aliran karakter keluar sebelum DLE pada data (Gambar 6). Ketika penerima melihat lima buah bit 1 masuk yang berurutan, yang diikuti oleh sebuah bit 0, maka penerima secara otomatis menghapus bit 0 tersebut. Bila data pengguna berisi pola flag, 01111110, maka flag ini ditrnsmisikan kembali sebagai 011111010 tapi akan disimpan di memori penerima sebagai 01111110.
- Pelanggaran Pengkodean Physical Layer
Metode yang terakhir hanya bisa digunakan bagi jaringan yang encoding pada medium fisiknya mengandung pengulangan. Misalnya, sebagian LAN melakukan encode bit 1 data dengan menggunakan 2 bit fisik. Umumnya, bit 1 merupakan pasangan tinggi rendah dan bit 0 adalah pasangan rendah tinggi. Kombinasi pasangan tinggi-tinggi dan rendah-rendah tidak digunakan bagi data.
Kontrol Aliran
Flow control adalah suatu teknik untuk menjamin bahwa sebuah stasiun pengirim tidak membanjiri stasiun penerima dengan data. Stasiun penerima secara khas akan menyediakan suatu buffer data dengan panjang tertentu. Ketika data diterima, dia harus mengerjakan beberapa poses sebelum dia dapat membersihkan buffer dan mempersiapkan penerimaan data berikutnya.
Bentuk sederhana dari kontrol aliran dikenal sebagai stop and wait, dia bekerja sebagai berikut. Penerima mengindikasikan bahwa dia siap untuk menerima data dengan mengirim sebual poll atau menjawab dengan select. Pengirim kemudian mengirimkan data.
Flow control ini diatur/dikelola oleh Data Link Control (DLC) atau biasa disebut sebagai Line Protocol sehingga pengiriman maupun penerimaan ribuan message dapat terjadi dalam kurun waktu sesingkat mungkin. DLC harus memindahkan data dalam lalu lintas yang efisien.
Jalur komunikasi harus digunakan sedatar mungkin, sehingga tidak ada stasiun yang berada dalam kadaan idle sementara stasiun yang lain saturasi dengan lalu lintas yang berkelebihan. Jadi flow control merupakan bagian yang sangat kritis dari suatu jaringan. Berikut ini ditampilkan time diagram Flow control saat komunikasi terjadi pada kondisi tanpa error dan ada error.
Mekanisme Flow control yang sudah umum digunakan adalah Stop and Wait dan Sliding window, berikut ini akan dijelaskan kedua mekanisme tersebut.
- Stop and wait
Protokol ini memiliki karakteristik dimana sebuah pengirim mengirimkan sebuah frame dan kemudian menunggu acknowledgment sebelum memprosesnya lebih lanjut. Mekanisme stop and wait dapat dijelaskan dengan menggunakan gambar 8, dimana DLC mengizinkan sebuah message untuk ditransmisikan (event 1), pengujian terhadap terjadinya error dilakukan dengan teknik seperti VCR (Vertical Redundancy Check) atau LRC (Longitudinal Redundancy Check) terjadi pada even 2 dan pada saat yang tepat sebuah ACK atau NAK dikirimkan kembali untuk ke stasiun pengirim (event 3). Tidak ada messages lain yang dapat ditransmisikan selama stasiun penerima mengirimkan kembali sebuah jawaban. Jadi istilah stop and wait diperoleh dari proses pengiriman message oleh stasiun pengirim, menghentikan transmisi berikutnya, dan menunggu jawaban.
Pendekatan stop and wait adalah sesuai untuk susunan transmisi half duplex, karena dia menyediakan untuk transmisi data dalam dua arah, tetapi hanya dalam satu arah setiap saat. Kekurangan yang terbesar adalah disaat jalur tidak jalan sebagai akibat dari stasiun yang dalam keadaan menunggu, sehingga kebanyakan DLC stop and wait sekarang menyediakan lebih dari satu terminal yang on line.
Terminal-terminal tetap beroperasi dalam susunan yang sederhana. Stasiun pertama atau host sebagai penaggung jawab untuk peletakkan message di antara terminal-terminal (biasanya melalui sebuah terminal pengontrol yang berada di depannya) dan akses pengontrolan untuk hubungan komunikasi.
Urutan sederhana ditunjukkan pada gambar 8 dan menjadi masalah yang serius ketika ACK atau NAK hilang dalam jaringan atau dalam jalur. Jika ACK pada event 3 hilang, setelah habis batas waktunya stasiun master mengirim ulang message yang sama untuk kedua kalinya.
Transmisi yang berkelebihan mungkin terjadi dan menciptakan sebuah duplikasi record pada tempat kedua dari file data pengguna. Akibatnya, DLC harus mengadakan suatu cara untuk mengidentifikasi dan mengurutkan message yang dikirimkan dengan berdasarkan pada ACK atau NAK sehingga harus dimiliki suatu metoda untuk mengecek duplikat message.
- Efek delay propagasi dan kecepatan transmisi
Kita akan menentukan efisiensi maksimum dari sebuah jalur point-to-point menggunakan skema stop and wait. Total waktu yang diperlukan untuk mengirim data adalah :
di mana:
-
TI = waktu untuk menginisiasi urutan = tprop + tpoll + tproc
-
TF = waktu untuk mengirim satu frame
-
TF = tprop + tframe + tproc + tprop + tack + tproc
-
tprop = waktu propagasi
-
tframe = waktu pengiriman
-
tack = waktu balasan
Untuk menyederhanakan persamaan di atas, kita dapat mengabaikan term. Misalnya, untuk sepanjang urutan frame, TI relatif kecil sehingga dapat diabaikan. Kita asumsikan bahwa waktu proses antara pengiriman dan penerimaan diabaikan dan waktu balasan frame adalah sangat kecil, sehingga kita dapat mengekspresikan TD sebagai berikut:
Dari keseluruhan waktu yang diperlukan hanya n x t frame yang dihabiskan selama pengiriman data sehingga utilization (U) atau efisiensi jalur diperoleh :
Untuk menyederhanakan persamaan di atas, kita dapat mengabaikan term. Misalnya, untuk sepanjang urutan frame, TI relatif kecil sehingga dapat diabaikan. Kita asumsikan bahwa waktu proses antara pengiriman dan penerimaan diabaikan dan waktu balasan frame adalah sangat kecil, sehingga kita dapat mengekspresikan TD sebagai berikut:
Dari keseluruhan waktu yang diperlukan hanya n x t frame yang dihabiskan selama pengiriman data sehingga utilization (U) atau efisiensi jalur diperoleh.
- Sliding window control
Sifat inefisiensi dari stop and wait DLC telah menghasilkan teknik pengembangan dalam meperlengkapi overlapping antara message data dan message control yang sesuai. Data dan sinyal kontrol mengalir dari pengirim ke penerima secara kontinyu, dan beberapa message yang menonjol (pada jalur atau dalam buffer penerima) pada suatu waktu.
DLC ini sering disebut sliding windows karena metode yang digunakan sinkron dengan pengiriman nomer urutan pada header dengan pengenalan yang sesuai. Stasiun transmisi mengurus sebuah jendela pengiriman yang melukiskan jumlah dari message (dan nomor urutannya) yang diijinkan untuk dikirim. Stasiun penerima mengurus sebuah jendela penerimaan yang melakukan fungsi yang saling mengimbangi. Dua tempat menggunakan keadaan jendela bagaimana banyak message dapat/ menonjol dalam suatu jalur atau pada penerima sebelum pengirim menghentikan pengiriman dan menunggu jawaban.
Logical Link Control
Logical Link Control (LLC) adalah sub-layer tingkat atas dari Data Link Layer (dimana Layer Datalink sendiri adalah layer 2, diatas Layer Phisycal) pada tujuh layer OSI. Datalink menyediakan berbagai mekanisme yang memungkinkan untuk beberapa network protokol (IP, IPX) dapat berdampingan dengan multipoint network and ditranportasikan melewati media jaringan yang sama, dan dapat juga memberikan mekanisme flow control. LLC sub-layer berjalan sesperti sebuah interface antara sub – layer Media Access Control (MAC) dan network layer.
Penggunaan protokol untuk LLC pada jaringan IEEE 802, seperti IEEE 802.3 / Ethernet (jika field EtherType tidak digunakan), IEEE 802.5, dan IEEE 802.11, dan pada beberapa jaringan bukan IEEE802 seperti FDDI, yang dispesifikasikan dengan IEEE 802.2 standard.
Beberapa protokol bukan IEEE 802 dapat diterima selama dapat dibagi dua ke dalam layer MAC dan LLC. Sebaggai contoh, dengan HDLC menspesifikasikan antara fungsi MAC (membuat frame dari paket) dan fungsi LLC (multiplexing protokol, flow control, detection, dan error control, menyiapkan sebuah pentrasmisian kembali dari kegagalan paket ketika terindikasi), beberapa protokol seperti Cisco HDLC dapat menggunakan HDLC seperti pemberian frame dan protokkol LLC mereka sendiri.
Contoh lainnya daari Layer Data Link dimana yang terbagi antara LLC (untuk flow dan error control) dan MAC (untuk multiple access) adlah standard ITU – T G.hn, dimana yang menyediakan jaringan lokal berkecpatan tinggi melalui pengkabelan rumahan yang sudah ada (saluran power, saluran telepon, dan kabel coaxial).
Sebuah LLC header memberi tahu layer Data ink apa yang harus dilakukan dengan sebuah paket saat frame diterima. Dia bekerja seperti ini : Host akan menerima sebuah frame dan melihat pada header LLC untuk mencari dimana paket ditujukan, sebagai contoh, IP protokol pada layer Network atau IPX.
Media Access Control
Pada umumnya ada dua bentuk dari MAC : yaitu mendistribusikan dan memusatkan. Keduanya mungkin membandingkan untuk mengkomunikasikan antara personal orang. Dalam sebuah jaringan yang dibuat oleh pembicaran manusia contohnya dialog, kita melihat petunjuk – petunjuk dari teman – teman kita yang berbicara, terlihat jika salah satu dari mereka muncul untuk berbicara. Jika dua orang berbicara pada saat yang bersamaan, mereka akan kembali dan memulai pada permainan yang sudah lama yang mengatakan “tidak anda duluan”.
MAC juga menentukan mana data frame yang berakhir dan selanjutnya mana yang mulai yang selanjutnya dikenal frame synchronization. Ada 4 pengertian dari frame synchronization : berdasarkan waktu, penghitungan karakter, kesanggupan byte, kesanggupan bit.
- Berdasarkan waktu secara sederhana meletakkan sebuah spesifikasi jumlah waktu antara frame dengan frame yang lain. Kekurangan utama dari hal ini adalah sebuah celah baru dapat dikenalkan atau celah lama dapat hilang disebabkan oleh pengaruh luar.
- Penghitungan karakter secara sederhana mencatat pencatatan sisa karakter pada header frame. Metode ini, bagaimanapun, secara mudah menggaggu jika field mendapatkan kesalahan dalam perjalanan, sehingga membuatnya sulit untuk menjaga sinkronisasi.
- Kesanggupan Byte mematokkan frame dengan sebuah byte sekuensial khusus dan menggatikannya dengan DLE ETX. Kemunculan dari DLE (nilai byte 0×10) yang telah keluar dengan DLE lainnya. Tanda start dan stop dideteksi pada penerima dan dipindahkan sebagaimana pemasukan karakter DLE.
- Hampir sama, kesanggupan bit menempatkan tanda start dan stop dengan bendera dari pola bit yang khusus. Peristiwa ini pada pentransmisian data adalah dihindari dengan memasukkan sebuah bit. Sebagai contoh, dimana bendera dari bit 01111110, sebuah 0 dimasukkan setelah lima angka 1 berurutan pada aliran data. Bendera dan pemasukan 0 dipindahkn pada penerimaan berakhir. Ini membuat untuk fram secara acak yang panjang dan mudah pensinkronisasian untuk peneriman. Perlu dicatat bahwa kesanggupan bit ini adalah penambahan even jika data yang mengikutinya adalah 0, dimana tidak boleh salah untuk sebuah sekuensial sinkronisasi, sehingga penerima dapat secara tanpa ambigu membudakan kesanggupan dari bit – bit yang normal.
Deteksi Dan Koreksi Error
Sebagai akibat proses-proses fisika yang menyebabkannya terjadi, error pada beberapa media (misalnya, radio) cenderung timbul secara meletup (burst) bukannya satu demi satu. Error yang meletup seperti itu memiliki baik keuntungan maupun kerugian pada error bit tunggal yang terisolasi. Sisi keuntungannya, data komputer selalu dikirim dalam bentuk blok-blok bit.
Anggap ukuran blok sama dengan 1000 bit, dan laju error adalah 0,001 per bit. Bila error-errornya independen, maka sebagian besar blok akan mengandung error. Bila error terjadi dengan letupan 100, maka hanya satu atau dua blok dalam 100 blok yang akan terpengaruh, secara rata-ratanya. Kerugian error letupan adalah bahwa error seperti itu lebih sulit untuk dideteksi dan dikoreksi dibanding dengan error yang terisolasi.
- Kode-kode Pengkoreksian Error
Para perancang jaringan telah membuat dua strategi dasar yang berkenaan dengan error. Cara pertama adalah dengan melibatkan informasi redundan secukupnya bersama-sama dengan setiap blok data yang dikirimkan untuk memungkinkan penerima menarik kesimpulan tentang apa karakter yang ditransmisikan yang seharusnya ada.
Cara lainnya adalah dengan hanya melibatkan redundansi secukupnya untuk menarik kesimpulan bahwa suatu error telah terjadi, dan membiarkannya untuk meminta pengiriman ulang. Strategi pertama menggunakan kode-kode pengkoreksian error (error-correcting codes), sedangkan strategi kedua menggunakan kode-kode pendeteksian error (error-detecting codes).
Untuk bisa mengerti tentang penanganan error, kita perlu melihat dari dekat tentang apa yang disebut error itu. Biasanya, sebuah frame terdiri dari m bit data (yaitu pesan) dan r redundan, atau check bits. Ambil panjang total sebesar n (yaitu, n=m+r). Sebuah satuan n-bit yang berisi data dan checkbit sering kali dikaitkan sebagai codeword n-bit.
Ditentukan dua buah codeword: 10001001 dan 10110001. Disini kita dapat menentukan berapa banyak bit yang berkaitan berbeda. Dalam hal ini, terdapat 3 bit yang berlainan. Untuk menentukannya cukup melakukan operasi EXCLUSIVE OR pada kedua codeword, dan menghitung jumlah bit 1 pada hasil operasi. Jumlah posisi bit dimana dua codeword berbeda disebut jarak Hamming (Hamming, 1950). Hal yang perlu diperhatikan adalah bahwa bila dua codeword terpisah dengan jarak Hamming d, maka akan diperlukan error bit tunggal d untuk mengkonversi dari yang satu menjadi yang lainnya.
Pada sebagian besar aplikasi transmisi data, seluruh 2m pesan data merupakan data yang legal. Tetapi sehubungan dengan cara penghitungan check bit, tidak semua 2n digunakan. Bila ditentukan algoritma untuk menghitung check bit, maka akan dimungkinkan untuk membuat daftar lengkap codeword yang legal. Dari daftar ini dapat dicari dua codeword yang jarak Hamming-nya minimum. Jarak ini merupakan jarak Hamming bagi kode yang lengkap.
Sifat-sifat pendeteksian error dan perbaikan error suatu kode tergantung pada jarak Hamming-nya. Untuk mendeteksi d error, anda membutuhkan kode dengan jarak d+1 karena dengan kode seperti itu tidak mungkin bahwa error bit tunggal d dapat mengubah sebuah codeword yang valid menjadi codeword valid lainnya. Ketika penerima melihat codeword yang tidak valid, maka penerima dapat berkata bahwa telah terjadi error pada transmisi. Demikian juga, untuk memperbaiki error d, anda memerlukan kode yang berjarak 2d+1 karena hal itu menyatakan codeword legal dapat terpisah bahkan dengan perubahan d, codeword orisinil akan lebih dekat dibanding codeword lainnya, maka perbaikan error dapat ditentukan secara unik.
Sebagai sebuah contoh sederhana bagi kode pendeteksian error, ambil sebuah kode dimana parity bit tunggal ditambahkan ke data. Parity bit dipilih supaya jumlah bit-bit 1 dalam codeword menjadi genap (atau ganjil). Misalnya, bila 10110101 dikirimkan dalam parity genap dengan menambahkan sebuah bit pada bagian ujungnya, maka data itu menjadi 101101011, sedangkan dengan parity genap 10110001 menjadi 101100010. Sebuah kode dengan parity bit tunggal mempunyai jarak 2, karena sembarang error bit tunggal menghasilkan sebuah codeword dengan parity yang salah. Cara ini dapat digunakan untuk mendeteksi erro-error tunggal.
Sebagai contoh sederhana dari kode perbaikan error, ambil sebuah kode yang hanya memiliki empat buah codeword valid :
Kode ini mempunyai jarak 5, yang berarti bahwa code tersebut dapat memperbaiki error ganda. Bila codeword 0000011111 tiba, maka penerima akan tahun bahwa data orisinil seharusnya adalah 0000011111. Akan tetapi bila error tripel mengubah 0000000000 menjadi 0000000111, maka error tidak akan dapat diperbaiki.
Bayangkan bahwa kita akan merancang kode dengan m bit pesan dan r bit check yang akan memungkinkan semua error tunggal bisa diperbaiki. Masing-masing dari 2m pesan yang legal membutuhkan pola bit n+1. Karena jumlah total pola bit adalah 2n, kita harus memiliki (n+1)2m £ 2n.
Dengan memakai n = m + r, persyaratan ini menjadi (m + r + 1)£2r. Bila m ditentukan, maka ini akan meletakkan batas bawah pada jumlah bit check yang diperlukan untuk mengkoreksi error tunggal.
Dalam kenyataannya, batas bawah teoritis ini dapat diperoleh dengan menggunakan metoda Hamming (1950). Bit-bit codeword dinomori secara berurutan, diawali dengan bit 1 pada sisi paling kiri. Bit bit yang merupakan pangkat 2 (1,2,4,8,16 dan seterusnya) adalah bit check. Sisanya (3,5,6,7,9 dan seterusnya) disisipi dengan m bit data.
Setiap bit check memaksa parity sebagian kumpulan bit, termasuk dirinya sendiri, menjadi genap (atau ganjil). Sebuah bit dapat dimasukkan dalam beberapa komputasi parity. Untuk mengetahui bit check dimana bit data pada posisi k berkontribusi, tulis ulang k sebagai jumlahan pangkat 2. Misalnya, 11=1+2+8 dan 29=1+4+8+16. Sebuah bit dicek oleh bit check yang terjadi pada ekspansinya (misalnya, bit 11 dicek oleh bit 1,2 dan 8).
Ketika sebuah codeword tiba, penerima menginisialisasi counter ke nol. Kemudian codeword memeriksa setiap bit check, k (k=1,2,4,8,….) untuk melihat apakah bit check tersebut mempunyai parity yang benar. Bila tidak, codeword akan menambahkan k ke counter. Bila counter sama dengan nol setelah semua bit check diuji (yaitu, bila semua bit checknya benar), codeword akan diterima sebagai valid.
Bila counter tidak sama dengan nol, maka pesan mengandung sejumlah bit yang tidak benar. Misalnya bila bit check 1,2, dan 8 mengalami kesalahan (error), maka bit inversinya adalah 11, karena itu hanya satu-satunya yang diperiksa oleh bit 1,2, dan 8. Gambar 12 menggambarkan beberapa karakter ASCII 7-bit yang diencode sebagai codeword 11 bit dengan menggunakan kode Hamming. Perlu diingat bahwa data terdapat pada posisi bit 3,5,6,7,9,10,11.
Kode Hamming hanya bisa memperbaiki error tunggal. Akan tetapi, ada trick yang dapat digunakan untuk memungkinkan kode Hamming dapat memperbaiki error yang meletup. Sejumlah k buah codeword yang berurutan disusun sebagai sebuah matriks, satu codeword per baris. Biasanya, data akan ditransmisikan satu baris codeword sekali, dari kiri ke kanan. Untuk mengkoreksi error yang meletup, data harus ditransmisikan satu kolom sekali, diawali dengan kolom yang paling kiri.
Ketika seluruh k bit telah dikirimkan, kolom kedua mulai dikirimkan, dan seterusnya. Pada saat frame tiba pada penerima, matriks direkonstruksi, satu kolom per satuan waktu. Bila suatu error yang meletup terjadi, paling banyak 1 bit pada setiap k codeword akan terpengaruh. Akan tetapi kode Hamming dapat memperbaiki satu error per codeword, sehingga seluruh blok dapat diperbaiki. Metode ini memakai kr bit check untuk membuat km bit data dapat immune terhadap error tunggal yang meletup dengan panjang k atau kurang.
- Kode-kode Pendeteksian Kesalahan
Kode pendeteksian error kadang kala digunakan dalam transmisi data. Misalnya, bila saturan simplex, maka transmisi ulang tidak bisa diminta. Akan tetapi sering kali deteksi error yang diikuti oleh transmisi ulang lebih disenangi. Hal ini disebabkan karena pemakaian transmisi ulang lebih efisien. Sebagai sebuah contoh yang sederhana, ambil sebuah saluran yang errornya terisolasi dan mempunyai laju error 10 –6 per bit.
Anggap ukuran blok sama dengan 1000 bit. Untuk melaksanakan koreksi error blok 1000 bit, diperlukan 10 bit check; satu megabit data akan membutuhkan 10.000 bit check. Untuk mendeteksi sebuah blok dengan error tunggal 1-bit saja, sebuah bit parity per blok akan mencukupi. Sekali setiap 1000 blok dan blok tambahan (1001) akan harus ditransmisikan. Overhead total bagi deteksi error + metoda transmisi ulang adalah hanya 2001 bit per megabit data, dibanding 10.000 bit bagi kode Hamming.
Bila sebuah bit parity tunggal ditambahkan ke sebuah blok dan blok dirusak oleh error letupan yang lama, maka probabilitas error dapat untuk bisa dideteksi adalah hanya 0,5 hal yang sangat sulit untuk bisa diterma. Bit-bit ganjil dapat ditingkatkan cukup banyak dengan mempertimbangkan setiap blok yang akan dikirim sebagai matriks persegi panjang dengan lebar n bit dan tinggi k bit. Bit parity dihitung secara terpisah bagi setiap kolomnya dan ditambahkan ke matriks sebagai baris terakhir. Kemudian matriks ditransmisikan kembali baris per baris. Ketika blok tiba, penerima akan memeriksa semua bit parity, Bila ada bit parity yang salah, penerima meminta agar blok ditransmisi ulang.
Metoda ini dapat mendeteksi sebuah letupan dengan panjang n, karena hanya 1 bit per kolom yang akan diubah. Sebuah letupan dengan panjang n+1 akan lolos tanpa terdeteksi. Akan tetapi bila bit pertama diinversikan, maka bit terakhir juga akan diinversikan, dan semua bit lainnya adalah benar. (Sebuah error letupan tidak berarti bahwa semua bit salah; tetapi mengindikasikan bahwa paling tidak bit pertama dan terakhirnya salah). Bila blok mengalami kerusakan berat akibat terjadinya error letupan yang panjang atau error letupan pendek yang banyak, maka probabilitas bahwa sembarang n kolom akan mempunyai parity yang benar adalah 0,5. Sehingga probabilitas dari blok yang buruk akan bisa diterima adalah 2 –n.
Walaupun metoda di atas kadang-kadang adekuat, pada prakteknya terdapat metode lain yang luas digunakan: Kode polynomial (dikenal juga sebagai cyclic redundancy code atau kode CRC). Kode polynomial didasarkan pada perlakuan string-string bit sebagai representatsi polynomial dengan memakai hanya koefisien 0 dan 1 saja. Sebuah frame k bit berkaitan dengan daftar koefisien bagi polynomial yang mempunyai k suku, dengan range dari xk-1 sampai x0.
Polynomial seperti itu disebut polynomial yang bertingkat k-1. Bit dengan orde tertinggi (paling kiri) merupakan koefisien dari xk-1; bit berikutnya merupakan koefisien dari xk-2, dan seterusnya. Misalnya 110001 memiliki 6 bit, maka merepresentasikan polynomial bersuku 6 dengan koefisien 1,1,0,0,0 dan 1:x5+x4+x0.
Aritmetika polynomial dikerjakan dengan modulus 2, mengikuti aturan teori aljabar. Tidak ada pengambilan untuk pertambahan dan peminjaman untuk pengurangan. Pertambahan dan pengurangan identik dengan EXCLUSIVE OR, misalnya :
Pembagian juga diselesaikan dengan cara yang sama seperti pada pembagian bilangan biner, kecuali pengurangan dikerjakan berdasarkan modulus 2. Pembagi dikatakan “masuk ke” yang dibagi bila bilangan yang dibagi mempunyai bit sebanyak bilangan pembagi.
Saat metode kode polynomial dipakai, pengirim dan penerima harus setuju terlebih dahulu tentang polynomial generator, G(x). Baik bit orde tinggi maupun bit orde rendah dari generator harus mempunyai harga 1.
Untuk menghitung checksum bagi beberapa frame dengan m bit, yang berkaitan dengan polynomial M(x), maka frame harus lebih panjang dari polynomial generator. Hal ini untuk menambahkan checksum keakhir frame sedemikian rupa sehingga polynomial yang direpresentasikan oleh frame berchecksum dapat habis dibagi oleh G(x). Ketika penerima memperoleh frame berchecksum, penerima mencoba membaginya dengan G(x). Bila ternyata terdapat sisa pembagian, maka dianggap telah terjadi error transmisi.
Algoritma untuk perhitungan checksum adalah sebagai berikut :
- Ambil r sebagai pangkat G(x), Tambahkan bit nol r ke bagian orde rendah dari frame, sehingga sekarang berisi m+r bit dan berkaitan dengan polynomial xrM(x).
- Dengan menggunakan modulus 2, bagi string bit yang berkaitan dengan G(x) menjadi string bit yang berhubungan dengan xrM(x).
- Kurangkan sisa (yang selalu bernilai r bit atau kurang) dari string bit yang berkaitan dengan xrM(x) dengan menggunakan pengurangan bermodulus 2. Hasilnya merupakan frame berchecksum yang akan ditransmisikan. Disebut polynomial T(x).
Tiga buah polynomial telah menjadi standard internasional:
Ketiganya mengandung x+1 sebagai faktor prima.CRC-12 digunakan bila panjang karakternya sama dengan 6 bit. Dua polynomial lainnya menggunakan karakter 8 bit. Sebuah checksum 16 bit seperti CRC-16 atau CRC-CCITT, mendeteksi semua error tunggal dan error ganda, semua error dengan jumlah bit ganjil, semua error letupan yang mempunyai panjang 16 atau kurang, 99,997 persen letupan error 17 bit, dan 99,996 letupan 18 bit atau lebih panjang.
Kendali Kesalahan
Tujuan dilakukan pengontrolan terhadap error adalah untuk menyampaikan frame-frame tanpa error, dalam urutan yang tepat ke lapisan jaringan. Teknik yang umum digunakan untuk error control berbasis pada dua fungsi, yaitu:
Error detection, biasanya menggunakan teknik CRC (Cyclic Redundancy Check) Automatic Repeat Request (ARQ), ketika error terdeteksi, pengirim meminta mengirim ulang frame yang terjadi kesalahan.
Mekanisme Error control meliputi :
- Ack/Nak : Provide sender some feedback about other end
- Time-out: for the case when entire packet or ack is lost
- Sequence numbers: to distinguish retransmissions from originals
Untuk menghindari terjadinya error atau memperbaiki jika terjadi error yang dilakukan adalah melakukan perngiriman message secara berulang, proses ini dilakukan secara otomatis dan dikenal sebagai Automatic Repeat Request (ARQ). Pada proses ARQ dilakukan beberapa langkah di antaranya :
- Error detection
- Acknowledgment
- Retransmission after timeout
- Negative Acknowledgment
Demikian penjelasan artikel diatas tentang Kepanjangan OSI – Pengertian, Fungsi, Cara Kerja, Physical Layer semoga bisa bermanfaat bagi pembaca setia kami.