5/08/2014

Internet Control Message Protocol (ICMP)

Internet Control Message Protocol (ICMP) adalah salah satu protokol inti dari keluarga protokol internet. ICMP utamanya digunakan oleh sistem operasi komputer jaringan untuk mengirim pesan kesalahan yang menyatakan, sebagai contoh, bahwa komputer tujuan tidak bisa dijangkau.
ICMP berbeda tujuan dengan TCP dan UDP dalam hal ICMP tidak digunakan secara langsung oleh aplikasi jaringan milik pengguna. salah satu pengecualian adalah aplikasi ping yang mengirim pesan ICMP Echo Request (dan menerima Echo Reply) untuk menentukan apakah komputer tujuan dapat dijangkau dan berapa lama paket yang dikirimkan dibalas oleh komputer tujuan.
Internet Control Message Protocol ICMP 
Internet Control Message Protocol (ICMP) adalah salah satu protokol inti dari keluarga protokol internet. ICMP utamanya digunakan oleh sistem operasi komputer jaringan untuk mengirim pesan kesalahan yang menyatakan, sebagai contoh, bahwa komputer tujuan tidak bisa dijangkau. 
ICMP berbeda tujuan dengan TCP dan UDP dalam hal ICMP tidak digunakan secara langsung oleh aplikasi jaringan milik pengguna. salah satu pengecualian adalah aplikasi ping yang mengirim pesan ICMP Echo Request (dan menerima Echo Reply) untuk menentukan apakah komputer tujuan dapat dijangkau dan berapa lama paket yang dikirimkan dibalas oleh komputer tujuan. 


Gambaran Teknis 
Internet Control Message Protocol (ICMP) adalah bagian dari keluarga protokol Internet dan didefinisikan di dalam RFC 792. Pesan-pesan ICMP umumnya dibuat sebagai jawaban atas kesalahan di datagram IP (seperti yang dispesifikasikan di RFC1122) atau untuk kegunaan pelacakan atau routing. Versi ICMP terkini juga dikenal sebagai ICMPv4, yang merupakan bagian dari Internet Protocol versi 4. 
Dalam suatu sistem connectionless setiap gateway akan melakukan pengiriman, perutean datagram yang dating tanpa adanya koordinasi dengan pengirim pertama. Tidak semua sistem berjalan dengan lancar. Kegagalan dapat saja terjadi. misalnya line komunikasi, prosesor atau dikarenakan mesin tujuan tidak sedang aktif, ttl dari counter habis, atau ketika terjadi kemacetan sehingga gateway tidak lagi bisa memproses paket yang datang. 
Dalam koneksi dengan internet pengirim tidak dapat memberitahukan & tidak tahu sebab kegagalan suatu koneksi. Untuk mengatasinya diperlukan suatu metode yang mengijinkan gateway melaporkan error atau menyediakan informasi mengenai kejadian yang tidak diinginkan sehingga dipakai mekanisme ICMP.
Pesan ICMP merupakan bagian dari datagram IP. Tujuan akhir dari suatu pesan ICMP bukan merupakan program atau user melainkan software internet-nya. Ketika pesan ICMP hadir software ICMP akan menanganinya.ICMP mengijinkan gateway untuk mengirim pesan error ke gateway lain atau host. ICMP menyediakan komunikasi antar software protocol Internet.
Pada dasarnya terdapat dua macam pesan ICMP : ICMP Error Message & ICMP Query Message. ICMP error message digunakan pada saat terjadi kesalahan pada jaringan, sedangkan query message adalah jenis pesan yang dihasilkan oleh protokol ICMP jika pengirim paket menginginkan informasi tertentu yang berkaitan dengan kondisi jaringan.
IP software menyediakan layanan pengiriman datagram yang unreliable, connectionless dengan mengandalkan router-router untuk membawa datagram ke final destination. Jika router tidak dapat mengirimkan datagram atau mendeteksi adanya kondisi yang mempengaruhi kemampuannya membawa datagram (mis. kongesti), router harus memberi tahu original source agar mengambil tindakan untuk mengatasi masalah yang timbul.
Control and error messaging 
Physical-based networks dapat melaporkan error melalui perangkat keras. Software-based networks (the Internet) tidak dapat melakukan hal di atas sehingga memerlukan mekanisme untuk pengendalian kesalahan. Agar router mampu mengirimkan pesan error atau pesan pengendali (control) ke router atau host yang lain, ditambahkanlah protokol Internet Control Message Protocol (ICMP)
ICMP adalah mekanisme pelaporan error (erro reporting mechanism) ICMP hanya digunakan untuk melaporkan error ke original source
Jika error terjadi akibat masalah pada suatu router, ICMP tidak bisa digunakan untuk memberi tahu router tersebut tentang error yang timbul. Original source tidak bertanggung jawab atas pengendalian router-router yang bermasalah, bahkan sebenarnya original source tidak mampu menentukan router yang menimbulkan masalah tersebut
Mengapa ICMP hanya digunakan untuk berkomunikasi dengan original source?
Karena pada datagram IP hanya tercantum IP address orignal source dan final destination
Tidak ada informasi tentang router-router yang dilalui oleh datagram (kecuali untuk kasus tertentu ketika record route option diaktifkan) Karena router dapat membuat dan mengganti tabel ruting sendiri-sendiri maka tidak ada informasi global mengenai rute-rute yang ditempuh. Jika suatu datagram sampai ke suatu router, maka tidaklah mungkin untuk mengetahui rute yang sudah ditempuh datagram ter sebut. Jika suatu router mendeteksi adanya masalah, dia tidak dapat mengetahui router-router yang sudah dilalui datagram tersebut sehingga tidak mampu memberitahukan masalah ke router-router tsb

Jadi ICMP hanya memberi tahu original source mengenai error yang muncul
Dengan harapan network administrator akan memperbaiki kesalahan yang ada.

Enkapsulasi ICMP message 




Datagram yang membawa ICMP message dirutekan seperti datagram yang biasa (tidak diprioritaskan) Bisa hilang. Pada kondisi kongesti, bisa menambah kondisi kongesti
Bila datagram yang mengandung ICMP mengalami error maka tidak akan dibangkitkan ICMP error message Meskipun dibungkus (encapsulated) dan dikirimkan menggunakan datagram IP, ICMP bukanlah protokol layer yang lebih atasPosisi ICMP pada network layer


Format umum ICMP message 
Setiap error message memiliki format tertentu, tetapi selalu diawali oleh tiga field berikut
Ketika melaporkan error, ICMP message menyertakan keseluruhan header dan 64 bit pertama datagram IP yang menyebabkan masalah Sehingga, pada TCP/IP, protokol-protokol layer yang lebih atas dirancang untuk menangani informasi kritis yang ada pada 64 bit pertama dari datagram.

ICMP Unreachable Destinations Message 
Digunakan ketika router tidak dapat mengirimkan sebuah datagram IP (dikembalikan ke original source)Host Unreachable for Type of Service
ICMP Unreachable Destination Message Format 
Network Unreachable errors biasanya berhubungan dengan kegagalan routing Host Unreachable errors biasanya akibat kegagalan pengiriman (delivery failures)
Bila mekanisme subnetting diterapkan, pesan ICMP host unreachable akan dikirimkan jika terjadi kegagalan ruting subnet (subnet routing failure)

Kegagalan bisa disebabkan:
·         Tujuan sedang mati
·         Alamat tujuan tidak ada (A nonexistent destination address)
·         Router tidak memiliki rute ke arah tujuan
·         Router tidak dapat mendeteksi keseluruhan error yang mungkin muncul
ICMP Source Quench 
Source-Quenching digunakan pada saat terjadi kongesti atau untuk keperluan flow control
·         Congestion adalah issue global (global to the whole network)
·         Flow-Control adalah issue end-to-end dan/atau issue point-to-point.
Beberapa metoda congestion control menggunakan pesan Source-Quench :
Pemantauan kondisi kongesti,Router membangkitkan pesan Source-Quench untuk setiap datagram yang dibuang.Pesan Source-Quench dikirimkan bila antrian mulai terisi (sebelum kongesti terjadi)

ICMP Time Exceeded 

Akibat routing cycles (beberapa router terus menerus mengirimkan paket secara loop antar mereka) akan terjadi hal-hal berikut :
Field TTL (hop count) akan menjadi nol sehingga datagram akan dibuang
Bila time-out tercapai ketika menunggu potongan (fragments) datagram maka datagram akan dibuang
Pesan time exceeded dikirimkan pada kedua kasus tersebut di atas

0 = TTL count exceeded.
1 = Fragment reassembly time exceeded
ICMP Parameter Problem 
Pesan ICMP Parameter Problem dikirimkan jika informasi header datagram tidak benar atau bila timbul masalah parameter lain (selain masalah yang sudah kita bahas sebelumnya)
Digunakan pada masalah yang berat (severe problems)POINTER (8-bits):

Mengindetifikasi oktet yang bermasalah di dalam datagram
CODE (8-bits):

1 = Digunakan untuk melaporkan tidak adanya option yang diperlukan; Pada kondisi ini POINTER tidak digunakan
ICMP Redirect Message 
Redirect Message dikirimkan router ke host agar mengganti rutenya karena rute yang dipilih tidak optimal.Router diasumsikan mengetahui rute yang benar.Pada awalnya hosts memiliki informasi routing (pada tabel ruting) yang minimal (yang mungkin sudah tidak valid) tetapi kemudian host meng-update tabel ruting mereka dengan informasi rute baru yang diberikan default routers.Secara umum redirect tidak memecahkan masalah propagasi rute .
Misalnya router R1 salah memilih rute sehingga memutuskan untuk mengrimkan datagram dari Source (S) ke Destination (D) melalui R1, R2, R3, R5 (seharusnya mengambil jalur dengan jumlah hop terkecil yaitu melalui R4). R5 tidak dapat mengirimkan redirect message ke R1 karena R5 tidak mengetahui alamat R1
ROUTER INTERNET ADDRESS : alamat router yang harus digunakan oleh host untuk mencapai tujuan yang tercantum pada header datagram Router hanya mengirimkan ICMP-Redirect messages ke hosts
Echo Request/Reply 
Digunakan sebagai debugging tool ,Echo requests dikirimkan oleh suatu source yang kemudian akan menerima Echo Replies yang dikirimkan oleh destination yang dapat dicapai dan merespons Sebagai optional, suatu sample data packets (56K) dikirimkan dan diterima oleh program yang menerapkan echo request and reply ICMP messages (PING) Echo Requests and Replies digunakan untuk meyakinkan bahwa sistem transport bekerja dengan baik. Sistem transport itu meliputi :
Format diawali dengan 3 field :
8 bit : field TYPE yang mengidentfikasikan pesan
8 bit : field CODE yang menyediakan informasi lebih jauh tentang tipe pesan

16 bit : field CHECKSUM untuk pengecekkan pesan ICMP

0 komentar:

Post a Comment