Sabtu, 26 Maret 2011

Instalasi Paket diLinux


Instalasi Paket di Linux
Instalasi-paket-linux 

Instalasi di linux meskipun sebenarnya tidak terlalu sulit, terkadang menjadi masalah bagi pengguna baru (pemula). Tidak seperti di Windows yang biasanya paket instalasi mempunyai extensi .EXE atau .MSI, cara instalasinya pun tinggal next, next, next.. dan viola.. program pun terinstal.
Pada edisi tips trik kali ini, akan dijelaskan bagaimana menginstal paket-paket di linux agar paket tersebut dapat terinstal dengan baik dikomputer. Setiap paket mempunyai teknik teknik yang berbeda-beda, tergantung jenis paket tersebut. Secara umum ekstensi paket-paket instalasi di linux antara lain .DEB, .RPM, .BIN, .RUN, .SH, .TAR.GZ, .TAR.BZ2

1. Paket .DEB
Paket ini biasanya dikhususkan bagi pengguna Linux Debian, Mepis, Ubuntu, Kubuntu, Edubuntu, Xubuntu. Cara instalasi paket ini, boleh di bilang mudah, karena cukup klik dua kali pada paket tersebut, kemudian jendela instalasipun akan terbuka.
2. Paket .RPM
Paket ini biasanya dikhususkan bagi pengguna Linux Red Hat, Fedora, CentOS, Mandriva, SUSE. Instalasi paket ini boleh dibilang susah-susah gampang, ada beberapa teknik tapi yang paling sederhana adalah dengan menggunakan perintah :
# rpm -ivh nama_file.rpm
3. Paket .BIN
Paket ini merupakan paket instalasi untuk semua jenis linux. Cara instalasinya dapat dilakukan dengan menggunakan perintah di konsol linux. Jangan lupa login terlebih dahulu sebagai root, berikut caranya
a) Ubah file.bin agar dapat di eksekusi dengan menggunakan perintah
# chmod +x nama_file.bin
b) kemudian instal dengan menggunakan perintah
# ./nama_file.bin
4. Paket .RUN
Sama seperti paket .bin, paket ini merupakan paket untuk semua jenis linux, Caranya cukup dengan mengetikkan perintah dibawah ini di konsol linux :
./nama_file.run
5. Paket .RUN
Paket dengan extensi sh adalah file script yang isinya text file ASCII. file bash script ini biasanya hanya berisi kumpulan-kumpulan perintah. Cara menjalankannya :
a) Ubah file.sh agar dapat di eksekusi dengan menggunakan perintah
# chmod +x nama_file.sh
b) kemudian instal dengan menggunakan perintah
# sh nama_file.bin atau ./namafile.sh
6. Paket .TAR.GZ & .TAR.BZ2
Paket .TAR.GZ & .TAR.BZ2 itu merupakan hasil dari sebuah file kompresi. seperti rar atau zip di windows, cara instalasinya :
a) Ekstrak file dengan mengetikkan perintah sebagai berikut :
# tar xvzf nama_file.tar.gz atau tar xvjf nama_file.tar.bz2
b) Kemudian masuk ke direktori paket yang telah diinstal
# cd package
c) Kemudian konfigurasi paket dengan perintah
# ./configure
d) kemudian compile paket tersebut dengan perintah
# make
e) terakhir instal paket tersebut
# make install

Kamis, 10 Maret 2011

PC Routers


     ROUTER adalah suatu alat pada dunia komputer yang berguna untuk membelokkan data dari suatu sistem jaringan ke sistem yang lain. Logikanya sebuah sistem jaringan tidak dapat berpindah ke sistem yang lain. Exp Sis A. Menggunakan IP 192.168.1.1 dan Sis B. Menggunakan IP 192.168.2.1 Maka Kompi yang menggunakan Sis A tidak dapat melakukan komunikasi dengan Sis B tanpa Router.
pc router
Kali ini saya mencoba untuk meng-koneksi-kan keempat komputer dimana terdapat dua buah network id, artinya terdapat dua jaringan berbeda yang dihubungkan oleh sebuah router (PC yang telah disulap menjadi router). Agar terlihat sedikit agak rumit, saya mencoba untuk menggunakan 2 OS yg cukup beken yakni Windows dan Linux Gentoo. Langkah – langkahnya adalah :

1. Pertama, saya melakukan setting pada PC windows (host 4) di jaringan 192.168.15.0/24 dengan memberi IP address 192.168.15.2 netmask 255.255.255.0, kemudian gateway-nya diarahkan ke alamat 192.168.15.1 (alamat PC router yang berhubungan dengan network 192.168.15.0/24). Caranya adalah :
- masuk ke menu Local Area Connetion Properties -> Internet Protocol (TCP/IP) Properties -> setting IP address, subnetmask, dan default gateway-nya
2. Sebelum melakukan setting pada PC Router, terlebih dahulu saya melakukan setting pada jaringan 192.168.12.0/24 yaitu dengan memberi IP address pada PC Linux (host 1) dengan alamat 192.168.12.4, karena pake Linux maka NIC (Network Interface Card) atau yang lazim dikenal LAN Card akan terdeteksi sebagai ethx (eth0 atau eth1), asumsi bahwa yang terdeteksi ialah eth0 maka cara setting :
# ifconfig -a (melihat interface yang terdeteksi)
# ifconfig eth0 192.168.12.4 netmask 255.255.255.0 (setting IP address)
3. Langkah selanjutnya yaitu melakukan setting pada PC windows (host 2) di jaringan 192.168.12.0/24. Di host 2 tersebut terpasang dua buah NIC yang akan menghubungkan antara host 1 dengan PC Router (bisa juga menggunakan switch untuk menghubungkan host 1, host 2, dan PC Router) yang nantinya akan dibuat sebuah bridge. Step-stepnya yaitu setting IP address 192.168.12.3 pada NIC 1 dan 192.168.12.2 pada NIC 2. Kemudian drag keduanya, klik kanan pilih Bridge Connection. Setelah itu kasih IP address pada bridge, misal 192.168.12.5 subnet 255.255.255.0, lalu arahkan gateway ke alamat 192.168.12.1 (alamat PC Router yang berhubungan dengan network 192.168.12.0/24). Cara teknis sama dengan cara pertama diatas.
4. The next step I setup the PC Router. Pada PC Router telah terpasang dua buah NIC. Karena menggunakan Linux maka NIC akan terdeteksi sebagai eth0 dan eth1, asumsi bahwa eth0 berhubungan langsung dengan jaringan 192.168.15.0/24 sedangkan eth1 berhubungan langsung dengan jaringan 192.168.12.0/24 maka ketikan perintah melalui konsole :
# ifconfig eth0 192.168.15.1 netmask 255.255.255.0
# ifconfig eth1 192.168.12.1 netmask 255.255.255.0
setelah itu cobalah melakukan ping dalam satu jaringan, jika sudah berhasil maka kita tinggal menyeting proses peroutingannya, yaitu :
# route add -net 192.168.15.0 netmask 255.255.255.0 dev eth0
# route add -net 192.168.12.0 netmask 255.255.255.0 dev eth1
kemudian jangan lupa untuk mengaktifkan ip_forwarding-nya :
# echo “1″ > /proc/sys/net/ipv4/ip_forwarding
5. Langkah terakhir setting pada host 1 dan host 4 agar mampu routing melalui gateway PC Router, untuk Windows :
- masuk cmd.exe ketikkan route add 192.168.12.0 mask 255.255.255.0 192.168.15.1
(untuk mengetahui lebih lengkap keterangannya ketikkan route –help)
pade host 1 (Linux) :
# route add default gw 192.168.12.1
6. Proses terakhir, saya mencoba menge-ping antara host 1 dengan host 4 dan hasilnya Reply. maka berhasil berhasil horray . . .

Selasa, 08 Maret 2011

PC ROUTERS

     ROUTER adalah suatu alat pada dunia komputer yang berguna untuk membelokkan data dari suatu sistem jaringan ke sistem yang lain. Logikanya sebuah sistem jaringan tidak dapat berpindah ke sistem yang lain. Exp Sis A. Menggunakan IP 192.168.1.1 dan Sis B. Menggunakan IP 192.168.2.1 Maka Kompi yang menggunakan Sis A tidak dapat melakukan komunikasi dengan Sis B tanpa Router.
        MikroTik RouterOS™ adalah sistem operasi dan yang dapat digunakan untuk menjadikan komputer manjadi router network yang handal, mencakup berbagai fitur lengkap untuk network dan wireless.
Prinsip Kerja router sangat mudah yakni membelokkan data dari satu Sis ke Sis yang lain. Untuk konfigurasi Router dengan menggunakan PC ( OS WIN Xp ) sangatlah Mudah :
1. Pastikan Kompi anda memiliki minimal 2 buah LAN Card ( Apabila anda hanya menggunakan 2 Sis )
2. Berikan konfigurasi jaringan sesuai Sis yang anda gunakan pada setiap LAN Card. ( Pastikan tiap lan menggunakan Sis yang berbeda )
3. Ping atau test koneksi ke tiap Sis, dari router. pastikan Semua koneksi dalam keadaan Baik
4. Share Lan card Anda dengan cara :
- Klik kanan pada Lan Card Kemudian pada Tab Advance Pastikan ada pilihan use another network to bla bla bla dst.
- Setelah itu coba lakukan ping dari komputer lain ( Antar client yang berbeda Sis ), Pastikan Jawaban Replay. Selesai...



Selasa, 01 Maret 2011

ISO OSI


ISO OSI


http://upload.wikimedia.org/wikipedia/id/9/98/OSI-DARPA-TCP.png



Hubungan antara OSI Reference Model, DARPA Reference Model dan stack protokol TCP/IP

Model referensi jaringan terbuka OSI atau OSI Reference Model for open networking adalah sebuah model arsitektural jaringan yang dikembangkan oleh badan International Organization for Standardization (ISO) di Eropa pada tahun 1977. OSI sendiri merupakan singkatan dari Open System Interconnection. Model ini disebut juga dengan model "Model tujuh lapis OSI" (OSI seven layer model).

Sebelum munculnya model referensi OSI, sistem jaringan komputer sangat tergantung kepada pemasok (vendor). OSI berupaya membentuk standar umum jaringan komputer untuk menunjang interoperatibilitas antar pemasok yang berbeda. Dalam suatu jaringan yang besar biasanya terdapat banyak protokol jaringan yang berbeda. Tidak adanya suatu protokol yang sama, membuat banyak perangkat tidak bisa saling berkomunikasi.

Model referensi ini pada awalnya ditujukan sebagai basis untuk mengembangkan protokol-protokol jaringan, meski pada kenyataannya inisatif ini mengalami kegagalan. Kegagalan itu disebabkan oleh beberapa faktor berikut:


* Standar model referensi ini, jika dibandingkan dengan model referensi DARPA (Model Internet) yang dikembangkan oleh Internet Engineering Task Force (IETF), sangat berdekatan. Model DARPA adalah model basis protokol TCP/IP yang populer digunakan.
* Model referensi ini dianggap sangat kompleks. Beberapa fungsi (seperti halnya metode komunikasi connectionless) dianggap kurang bagus, sementara fungsi lainnya (seperti flow control dan koreksi kesalahan) diulang-ulang pada beberapa lapisan.
* Pertumbuhan Internet dan protokol TCP/IP (sebuah protokol jaringan dunia nyata) membuat OSI Reference Model menjadi kurang diminati.
http://upload.wikimedia.org/wikipedia/commons/d/d3/Osi-model-jb.png



Pemerintah Amerika Serikat mencoba untuk mendukung protokol OSI Reference Model dalam solusi jaringan pemerintah pada tahun 1980-an, dengan mengimplementasikan beberapa standar yang disebut dengan Government Open Systems Interconnection Profile (GOSIP). Meski demikian. usaha ini akhirnya ditinggalkan pada tahun 1995, dan implementasi jaringan yang menggunakan OSI Reference model jarang dijumpai di luar Eropa.

OSI Reference Model pun akhirnya dilihat sebagai sebuah model ideal dari koneksi logis yang harus terjadi agar komunikasi data dalam jaringan dapat berlangsung. Beberapa protokol yang digunakan dalam dunia nyata, semacam TCP/IP, DECnet dan IBM Systems Network Architecture (SNA) memetakan tumpukan protokol (protocol stack) mereka ke OSI Reference Model. OSI Reference Model pun digunakan sebagai titik awal untuk mempelajari bagaimana beberapa protokol jaringan di dalam sebuah kumpulan protokol dapat berfungsi dan berinteraksi.
Struktur tujuh lapis model OSI, bersamaan dengan protocol data unit pada setiap lapisan

OSI Reference Model memiliki tujuh lapis, yakni sebagai berikut
Lapisan ke- Nama lapisan Keterangan
7 Application layer Berfungsi sebagai antarmuka dengan aplikasi dengan fungsionalitas jaringan, mengatur bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan kesalahan. Protokol yang berada dalam lapisan ini adalah HTTP, FTP, SMTP, dan NFS.
6 Presentation layer Berfungsi untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi ke dalam format yang dapat ditransmisikan melalui jaringan. Protokol yang berada dalam level ini adalah perangkat lunak redirektor (redirector software), seperti layanan Workstation (dalam Windows NT) dan juga Network shell (semacam Virtual Network Computing (VNC) atau Remote Desktop Protocol (RDP)).
5 Session layer Berfungsi untuk mendefinisikan bagaimana koneksi dapat dibuat, dipelihara, atau dihancurkan. Selain itu, di level ini juga dilakukan resolusi nama.
4 Transport layer Berfungsi untuk memecah data ke dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadp paket-paket yang hilang di tengah jalan.
3 Network layer Berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, dan kemudian melakukan routing melalui internetworking dengan menggunakan router dan switch layer-3.
2 Data-link layer Befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub, bridge, repeater, dan switch layer 2 beroperasi. Spesifikasi IEEE 802, membagi level ini menjadi dua level anak, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC).
1 Physical layer Berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.

Lapisan aplikasi adalah suatu terminologi yang digunakan untuk mengelompokkan protokol dan metode dalam model arsitektur jaringan komputer. Baik model OSI maupun TCP/IP memiliki suatu lapisan aplikasi.

Dalam TCP/IP, lapisan aplikasi mengandung semua protokol dan metode yang masuk dalam lingkup komunikasi proses-ke-proses melalui jaringan IP (Internet Protocol) dengan menggunakan protokol lapisan transpor untuk membuat koneksi inang-ke-inang yang mendasarinya. Sedangkan dalam model OSI, definisi lapisan aplikasi lebih sempit lingkupnya, membedakan secara eksplisit fungsionalitas tambahan di atas lapisan transpor dengan dua lapisan tambahan: lapisan sesi dan lapisan presentasi. OSI memberikan pemisahan modular yang jelas fungsionalitas lapisan-lapisan ini dan memberikan implementasi protokol untuk masing-masing lapisan.

Penggunaan umum layanan lapisan aplikasi memberikan konversi semantik antara proses-proses aplikasi yang terkait. Contoh layanan aplikasi antara lain adalah berkas virtual, terminal virtual, serta protokol transfer dan manipulasi kerja.

Lapisan presentasi (Inggris: presentation layer) adalah lapisan keenam dari bawah dalam model referensi jaringan terbuka OSI. Pada lapisan ini terjadi pembuatan struktur data yang didapatnya dari lapisan aplikasi ke sebuah format yang dapat ditransmisikan melalui jaringan. Lapisan ini juga bertanggungjawab untuk melakukan enkripsi data, kompresi data, konversi set karakter (ASCII, Unicode, EBCDIC, atau set karakter lainnya), interpretasi perintah-perintah grafis, dan beberapa lainnya. Dalam arsitektur TCP/IP yang menggunakan model DARPA, tidak terdapat protokol lapisan ini secara khusus.

Lapisan sesi atau Session layer adalah lapisan kelima dari bawah dalam model referensi jaringan OSI, yang mengizinkan sesi koneksi antara node dalam sebuah jaringan dibuat atau dihancurkan. Lapisan sesi tidak tahu menahu mengenai efisiensi dan keandalan dalam transfer data antara node-node tersebut, karena fungsi-fungsi tersebut disediakan oleh empat lapisan di bawahnya dari dalam model OSI (lapisan fisik, lapisan data-link, lapisan jaringan dan lapisan transport). Lapisan sesi bertanggung jawab untuk melakukan sinkronisasi antara pertukaran data antar komputer, membuat struktur sesi komunikasi, dan beberapa masalah yang berkaitan secara langsung dengan percakapan antara node-node yang saling terhubung di dalam jaringan. Lapisan ini juga bertanggung jawab untuk melakukan fungsi pengenalan nama pada tingkat nama jaringan logis dan juga menetapkan [[[port TCP|port-port komunikasi]]. Sebagai contoh, protokol NetBIOS dapat dianggap sebagai sebuah protokol yang berjalan pada lapisan ini.

Lapisan sesi dari model OSI tidak banyak diimplementasikan di dalam beberapa protokol jaringan populer, seperti halnya TCP/IP atau IPX/SPX. Akan tetapi, tiga lapisan tertinggi di dalam model OSI (lapisan sesi, lapisan presentasi, dan lapisan aplikasi) seringnya disebut sebagai sebuah kumpulan yang homogen, sebagai sebuah lapisan aplikasi saja.

Lapisan transpor atau transport layer adalah lapisan keempat dari model referensi jaringan OSI. Lapisan transpor bertanggung jawab untuk menyediakan layanan-layanan yang dapat diandalkan kepada protokol-protokol yang terletak di atasnya. Layanan yang dimaksud antara lain:

* Mengatur alur (flow control) untuk menjamin bahwa perangkat yang mentransmisikan data tidak mengirimkan lebih banyak data daripada yang dapat ditangani oleh perangkat yang menerimanya.
* Mengurutkan paket (packet sequencing), yang dilakukan untuk mengubah data yang hendak dikirimkan menjadi segmen-segmen data (proses ini disebut dengan proses segmentasi/segmentation), dan tentunya memiliki fitur untuk menyusunnya kembali.
* Penanganan kesalahan dan fitur acknowledgment untuk menjamin bahwa data telah dikirimkan dengan benar dan akan dikirimkan lagi ketika memang data tidak sampai ke tujuan.
* Multiplexing, yang dapat digunakan untuk menggabungkan data dari bebeberapa sumber untuk mengirimkannya melalui satu jalur data saja.
* Pembentukan sirkuit virtual, yang dilakukan dalam rangka membuat sesi koneksi antara dua node yang hendak berkomunikasi.

Contoh dari protokol yang bekerja pada lapisan transport adalah Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP) yang tersedia dari kumpulan protokol TCP/IP.

Lapisan jaringan atau Network layer adalah lapisan ketiga dari bawah dalam model referensi jaringan OSI. Lapisan ini bertanggung jawab untuk melakukan beberapa fungsi berikut:

* Pengalamatan logis dan melakukan pemetaan (routing) terhadap paket-paket melalui jaringan.
* Membuat dan menghapus koneksi dan jalur koneksi antara dua node di dalam sebuah jaringan.
* Mentransfer data, membuat dan mengkonfirmasi penerimaan, dan mengeset ulang koneksi.

Lapisan jaringan juga menyediakan layanan connectionless dan connection-oriented terhadap lapisan transport yang berada di atasnya. Lapisan jaringan juga melakukan fungsinya secara erat dengan lapisan fisik (lapisan pertama) dan lapisan data-link (lapisan kedua) dalam banyak implementasi protokol dunia nyata.

Dalam jaringan berbasis TCP/IP, alamat IP digunakan di dalam lapisan ini. Router IP juga melakukan fungsi routing-nya di dalam lapisan ini.

Lapisan data-link (data link layer) adalah lapisan kedua dari bawah dalam model OSI, yang dapat melakukan konversi frame-frame jaringan 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 bertanggungjawab 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 seperti Network Interface Card (NIC), switch layer 2 serta 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 frame yang sukses diterima, dan beberapa protokol bahkan tidak memiliki fitur pengecekan kesalahan transmisi (dengan menggunakan checksumming). Pada kasus-kasus tersebut, fitur-fitur acknowledgment dan pendeteksian kesalahan harus diimplementasikan pada lapisan yang lebih tinggi, seperti halnya protokol 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 data frame (biasanya berjumlah ratusan atau ribuan byte). Kemudian lapisan data link mentransmisikan frame tersebut secara berurutan dan memproses acknowledgement frame 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 bit khusus ke awal dan akhir frame.
Daftar isi
[sembunyikan]

* 1 Layanan yang disediakan bagi lapisan jaringan
o 1.1 Layanan unacknowledged connectionless
o 1.2 Layanan acknowledged connectionless
o 1.3 Layanan acknowledged connection-oriented
* 2 Framing
o 2.1 Karakter Penghitung
o 2.2 Pemberian Karakter Awal dan Akhir
o 2.3 Pemberian Flag Awal dan akhir
o 2.4 Pelanggaran Pengkodean Physical Layer
* 3 Kontrol Aliran
o 3.1 Stop and wait
+ 3.1.1 Efek delay propagasi dan kecepatan transmisi
o 3.2 Sliding window control
o 3.3 Deteksi Dan Koreksi Error
+ 3.3.1 Kode-kode Pengkoreksian Error
+ 3.3.2 Kode-kode Pendeteksian Kesalahan
o 3.4 Kendali kesalahan

[sunting] Layanan yang disediakan bagi lapisan jaringan

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. Berkas:Heru1.GIF

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 :

1. layanan unacknowledged connectionless
2. layanan acknowledged connectionless
3. layanan acknowledged connection-oriented

Setiap layanan yang diberikan data link layer akan dibahas satu persatu.
[sunting] 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.
[sunting] 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.
[sunting] 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 dan counter-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 ke node tujuan. Pada fase ketiga, koneksi dilepaskan, pembebasan variabel, buffer dan sumber daya yang lain yang dipakai untuk menjaga berlangsungnya koneksi.
[sunting] 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 :

1. Karakter penghitung
2. pemberian karakter awal dan akhir, dengan pengisian karakter
3. Pemberian flag awal dan akhir, dengan pengisian bit
4. Pelanggaran pengkodean Physical layer

Berikut ini akan disajikan pembahasan mengenai metode-metode ini.
[sunting] 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.
[sunting] 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
[sunting] 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.
[sunting] 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.
[sunting] 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.
[sunting] 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 diantara 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.

Pada gambar 9 ditunjukkan bagaimana urutan pendeteksian duplikasi message bekerja, pada event 1 stasiun pengirim mengirikan sebuah message dengan urutan 0 pada headernya. Stasiun penerima menjawab dengan sebuah ACK dan sebuah nomor urutan 0 (event 2). Pengirim menerima ACK, memeriksa nomor urutan 0 di headernya, mengubah nomor urutan menjadi 1 dan mengirimkan message berikutnya (event 3).

Stasiun penerima mendapatkan message dengan ACK 1 di event 4. Akan tetapi message ini diterima dalam keadaan rusak atau hilang pada jalan. Stasiun pengirim mengenali bahwa message di event 3 tidak dikenali. Setelah batas waktu terlampau (timeout) stasiun pengirim mengirim ulang message ini (event 5). Stasiun penerima mencari sebuah message dengan nomor urutan 0. Dia membuang message, sejak itu dia adalah sebuah duplikat dari message yang dikirim pada event 3. Untuk melengkapi pertang-gung-jawaban, stasiun penerima mengirim ulang ACK 1 (event 6).
[sunting] 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 :

Td = TI + nTF

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:

TD = n(2tprop + t frame)

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:

TD = n(2tprop + t frame)

Dari keseluruhan waktu yang diperlukan hanya n x t frame yang dihabiskan selama pengiriman data sehingga utilization (U) atau efisiensi jalur diperoleh.
[sunting] 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.

Sebagai contoh pada gambar 10 suatu penerima dari ACK dari message 1 mengalir ke Station A untuk menggeser jendela sesuai dengan urutan nomor. Jika total message 10 harus dalam jendela, Station A dapat menahan pengiriman message 5,6,7,8,9,0, dan 1. (menahan message-message 2,3 dan 4 dalam kondisi transit). Dia tidak harus mengirim sebuah message menggunakan urutan 2 sampai dia menerima sebuah ACK untuk 2. Jendela melilitkan secara melingkar untuk mengumpulkan nomor-nomor set yang sama. Untuk lebih jelasnya dapat dilihat gambar berikut menampilkan lebih detail mekanisme sliding window dan contoh transmisi messagenya.
[sunting] 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.
[sunting] 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 :

0000000000,0000011111,1111100000 dan 1111111111

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  2n.£jumlah total pola bit adalah 2n, kita harus memiliki (n+1)2m

2r. Bila m£Dengan memakai n = m + r, persyaratan ini menjadi (m + r + 1) 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.
[sunting] 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 :

1. 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).
2. Dengan menggunakan modulus 2, bagi string bit yang berkaitan dengan G(x) menjadi string bit yang berhubungan dengan xrM(x).
3. 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).

Gambar 14 menjelaskan proses perhitungan untuk frame 1101011011 dan G(x) = x4 + x + 1. Jelas bahwa T(x) habis dibagi (modulus 2) oleh G(x). Dalam sembarang masalah pembagian, bila anda mengurangi angka yang dibagi dengan sisanya, maka yang akan tersisa adalah angka yang dapat habis dibagi oleh pembagi. Misalnya dalam basis 10, bila anda membagi 210.278 dengan 10.941, maka sisanya 2399. Dengan mengurangkan 2399 ke 210.278, maka yang bilangan yang tersisa (207.879) habis dibagi oleh 10.941.

Sekarang kita menganalisis kekuatan metoda ini. Error jenis apa yang akan bisa dideteksi ? Anggap terjadi error pada suatu transmisi, sehingga bukannya string bit untuk T(x) yang tiba, akan tetapi T(x) + E(X). Setiap bit 1 pada E(x) berkaitan dengan bit yang telah diinversikan. Bila terdapat k buah bit 1 pada E(x), maka k buah error bit tunggal telah terjadi. Error tunggal letupan dikarakterisasi oleh sebuah awalan 1, campuran 0 dan 1, dan sebuah akhiran 1, dengan semua bit lainnya adalah 0.

Begitu frame berchecksum diterima, penerima membaginya dengan G(x); yaitu, menghitung [T(x)+E(x)]/G(x). T(x)/G(x) sama dengan 0, maka hasil perhitungannya adalah E(x)/G(x). Error seperti ini dapat terjadi pada polynomial yang mengandung G(x) sebagai faktor yang akan mengalami penyimpangan, seluruh error lainnya akan dapat dideteksi.

Bila terdapat error bit tunggal, E(x)=xi, dimana i menentukan bit mana yang mengalami error. Bila G(x) terdiri dari dua suku atau lebih, maka x tidak pernah dapat habis membagi E(x), sehingga seluruh error dapat dideteksi.

Bila terdapat dua buah error bit-tunggal yang terisolasi, E(x)=xi+xj, dimana i > j. Dapat juga dituliskan sebagai E(x)=xj(xi-j + 1). Bila kita mengasumsikan bahwa G(x) tidak dapat dibagi oleh x, kondisi yang diperlukan untuk dapat mendeteksi semua error adalah bahwa G(x) tidak dapat habis membagi xk+1 untuk sembarang harga k sampai nilai maksimum i-j (yaitu sampai panjang frame maksimum). Terdapat polynomial sederhana atau berorde rendah yang memberikan perlindungan bagi frame-frame yang panjang. Misalnya, x15+x14+1 tidak akan habis membagi xk+1 untuk sembarang harga k yang kurang dari 32.768.

Bila terdapat jumlah bit yang ganjil dalam error, E(x) terdiri dari jumlah suku yang ganjil (misalnya,x5+x2+1, dan bukannya x2+1). Sangat menarik, tidak terdapat polynomial yang bersuku ganjil yang mempunyai x + 1 sebagai faktor dalam sistem modulus 2. Dengan membuat x + 1 sebagai faktor G(x), kita akan mendeteksi semua error yang terdiri dari bilangan ganjil dari bit yang diinversikan.

Untuk mengetahui bahwa polynomial yang bersuku ganjil dapat habis dibagi oleh x+1, anggap bahwa E(x) mempunyai suku ganjil dan dapat habis dibagi oleh x+1. Ubah bentuk E(x) menjadi (x+1)Q(x). Sekarang evaluasi E(1) = (1+1)Q(1). Karena 1+1=0 (modulus 2), maka E(1) harus nol. Bila E(x) mempunyai suku ganjil, pensubtitusian 1 untuk semua harga x akan selalu menghasilkan 1. Jadi tidak ada polynomial bersuku ganjil yang habis dibagi oleh x+1.

Terakhir, dan yang terpenting, kode polynomial dengan r buah check bit akan mendeteksi semua error letupan yang memiliki panjang <=r. Suatu error letupan dengan panjang k dapat dinyatakan oleh xi(xk-1 + .....+1), dimana i menentukan sejauh mana dari sisi ujung kanan frame yang diterima letupan itu ditemui. Bila G(x) mengandung suku x0, maka G(x) tidak akan memiliki xi sebagai faktornya. Sehingga bila tingkat ekspresi yang berada alam tanda kurung kurang dari tingkat G(x), sisa pembagian tidak akan pernah berharga nol. Bila panjang letupan adalah r+1, maka sisa pembagian oleh G(x) akan nol bila dan hanya bila letupan tersebut identik dengan G(x). Menurut definisi letupan, bit awal dan bit akhir harus 1, sehingga apakah bit itu akan sesuai tergantung pada bit pertengahan r-1. Bila semua kombinasi adalah sama dan sebanding, maka probabilitas frame yang tidak benar yang akan diterima sebagai frame yang valid adalah ½ r-1. Dapat juga dibuktikan bahwa bila letupan error yang lebih panjang dari bit r+1 terjadi, maka probabilitas frame buruk untuk melintasi tanpat peringatan adalah 1/2r yang menganggap bahwa semua pola bit adalah sama dan sebanding. Tiga buah polynomial telah menjadi standard internasional: CRC-12 = X12 + X11 + X3 + X2 + X1 + 1 CRC-16 = X16 + X15 + X2 + 1 CRC-CCITT= X16 + X12 + X5 + 1 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. [sunting] 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 diantaranya (1): * Error detection * Acknowledgment * Retransmission after timeout * Negative Acknowledgment * Macam-macam error control adalah: Lapisan fisik (Inggris: physical layer atau PHY Layer) adalah lapisan pertama dalam model referensi jaringan OSI (lapisan ini merupakan lapisan terendah) dari tujuh lapisan lainnya. Lapisan ini mendefinisikan antarmuka dan mekanisme untuk meletakkan bit-bit data di atas media jaringan (kabel, radio, atau cahaya). Selain itu, lapisan ini juga mendefinisikan tegangan listrik, arus listrik, modulasi, sinkronisasi antar bit, pengaktifan koneksi dan pemutusannya, dan beberapa karakteristik kelistrikan untuk media transmisi (seperti halnya kabel UTP/STP, kabel koaksial, atau kabel fiber-optic). Protokol-protokol pada level PHY mencakup IEEE 802.3, RS-232C, dan X.21. Repeater, transceiver, kartu jaringan/network interface card (NIC), dan pengabelan beroperasi di dalam lapisan ini.