You are on page 1of 2

Cyclic Redundancy Checks (CRC) Direct Connection Network Goal algoritma error detection:

Powerful: Maksimalkan kemampuan mendeteksi kesalahan (jumlah bit yang salah) dengan minimal jumlah redundant bits. Cepat => implementasi pada hardware
Operasi algoritma CRC merupakan operasi binary division (XOR dan shift) => rangkaian dijital, gate. Feasible: CRC code bagian dari hardware network adaptor.

(Error Detection: CRC Code)

Jaringan Komputer

Fakultas Ilmu Komputer Universitas Indonesia


Semester 2003/2004 Versi: 1.01 2
Versi: 1.1

CRC: Basic Algorithm (1) CRC => konsep matematis untuk operasi polynomial (persamaan tingkat tinggi).
Messages (M) sebanyak (n + 1) bit, dapat diwakili oleh polynomial degree n; dimana pangkat tertinggi adalah n; mis. x n. Koefisien polinomial diwakili oleh nilai bit binary.
Misalkan string messages: 110001 (6 bit, n = 5) Representasi koefisien polynomial: 1,1, 0, 0, 0, 1 +x0 Polinomial: M(x) = x5 + x 4
3
Versi: 1.1

CRC: Basic Algorithm (2)


Pembentukan kode
Tambahkan Check Bits: R(x), berdasarkan data M(x)

Sender: Kirim => P(x) = M (x) + R(x) Receiver: Terima <= P(x)
Lakukan operasi pembagian P(x) dengan C(x). Jika terdapat sisa (reminder) maka error. Jika tidak terdapat sisa (zero) maka tidak ada error.

Q: Bagaimana menghasilkan check bits R(x)? Q: Bagaimana memilih C(x)? Q: Kemampuan CRC?
4
Versi: 1.1

CRC: Basic Algorithm (3) Sender & Receiver:


Menggunakan standar C(x) => generator polynomial dengan degree tertentu (k). Contoh:
Standard CRC-16: x16 + x15 + x2 + 1 k = 16 C(x) => polynomial dengan derajat 16.

CRC: Basic Algorithm (4) Sender: Pembentukan kode


1.

Kalikan M(x) dengan xk


k = degree dari C(x) T(x) = M(x) xk => tingkatkan degree M(x) sebanyak k, atau tambahkan sebanyak k bits 0 pada message M.

2.

Bagi T(x) dengan C(x) => Sisa hasil bagi (R(x))


Pembagian R(x) = T(x) / C(x) => terdapat sisa hasil bagi. Derajat polinomial sisa hasil bagi maximum: k 1. Hasil pengurangan P(x) = T(x) R(x) ; pasti dapat dibagi oleh C(x).
Versi: 1.1

Implementasi protokol (mis. Ethernet, HDLC) spesifikasi generator polynomial yang digunakan:
Peer protokol sender dan receiver sama => menggunakan C(x) yang sama untuk error detection.
5
Versi: 1.1

Kurangi T(x) dengan R(x) => P(x)

Example: Calculating a CRC


Contoh: M= 110101 (n=5), G = 1001 (k=3)

CRC: Basic Algorithm (5) Kirim frame P(x) Penerima:


Menerima frame P(x) Lakukan pembagian P(x) dengan C(x) Periksa sisa hasil bagi:
Jika habis dibagi (sisa 0): tidak ada kesalahan Jika ada sisa (tidak habis dibagi): terdapat kesalahan transmisi.

1001 110101000 1001 1000 1001 0011 0000 0110 0000 1100 1001 1010 1001 011

T=110101 011

Versi: 1.1

Versi: 1.1

Frame: Message + CRC code

Efektifitas CRC Mampu mendeteksi:


Semua kesalahan bit tunggal. Semua kesalahan bit ganda, selama C(x) memiliki min 3 suku. Semua kesalahan dgn jumlah bit ganjil, selama C(x) mengandung faktor (x+1). Semua deretan kesalahan (burst error) dgn panjang < k, pangkat tertinggi C(x). Sebagian besar burst error yg lebih panjang (99,9 %).
10
Versi: 1.1

R
r

M m bits Message terdiri dari: n+1 bits, n = degree M(x) MSB

Check bits : k bits (CRC Code), k = degree C(x)

Versi: 1.1

You might also like