Internet control message protocol version 4

17
Internet Control Message Protocol Version 4 (ICMPv4) Tujuan : Mendiskusikan alasan keberadaan ICMP. Menunjukkan bagaimana pesan ICMP dibagi menjadi dua kategori: melaporkan kesalahan dan pesan permintaan. Membahas tujuan dan format pesan kesalahan pelaporan. Membahas tujuan dan format pesan permintaan. Menunjukkan bagaimana checksum dihitung untuk pesan ICMP. Menunjukkan bagaimana alat debugging menggunakan protokol ICMP. Menunjukkan bagaimana pengaturan sebuah paket perangkat lunak sederhana yang mengimplementasikan ICMP. 1. Pengantar Protokol IP tidak memiliki sistem pelaporan kesalahan atau mekanisme koreksi kesalahan. Protokol IP juga tidak memiliki mekanisme untuk host dan manajemen permintaan. Internet Control Message Protocol (ICMP) telah dirancang untuk mengkompensasi kekurangan tersebut. Position ICMP pada layar network

Transcript of Internet control message protocol version 4

Page 1: Internet control message protocol version 4

Internet Control Message Protocol Version 4 (ICMPv4)

Tujuan :

Mendiskusikan alasan keberadaan ICMP.

Menunjukkan bagaimana pesan ICMP dibagi menjadi dua kategori: melaporkan

kesalahan dan pesan permintaan.

Membahas tujuan dan format pesan kesalahan pelaporan.

Membahas tujuan dan format pesan permintaan.

Menunjukkan bagaimana checksum dihitung untuk pesan ICMP.

Menunjukkan bagaimana alat debugging menggunakan protokol ICMP.

Menunjukkan bagaimana pengaturan sebuah paket perangkat lunak sederhana

yang mengimplementasikan ICMP.

1. Pengantar

Protokol IP tidak memiliki sistem pelaporan kesalahan atau mekanisme koreksi

kesalahan. Protokol IP juga tidak memiliki mekanisme untuk host dan manajemen

permintaan. Internet Control Message Protocol (ICMP) telah dirancang untuk

mengkompensasi kekurangan tersebut.

Position ICMP pada layar network

Enkapsulasi Paket ICMP

Page 2: Internet control message protocol version 4

2. Messages

Pesan ICMP dibagi menjadi dua kategori: Pesan error report dan query messages. Pesan

error report melaporkan masalah yang terdapat pada router atau host (tujuan) mungkin

terjadi ketika proses pengiriman paket IP. Query Messages, yang terjadi pada

pemasangan, membantu host atau manajer jaringan mendapatkan informasi dari router

atau host lain.

Format Pesan

Pesan ICMP memiliki header 8 byte dan bagian ukuran variabel data. 4 byte pertama

yang umum untuk semua jenis pesan. Gambar 9.3 menunjukkan, field pertama, jenis

ICMP, mendefinisikan jenis pesan. Kolom kode menentukan alasan untuk jenis pesan

tertentu. Bidang umum terakhir adalah bidang checksum. Sisa header spesifik untuk

setiap jenis pesan.

Page 3: Internet control message protocol version 4

Pesan Error Report

Salah satu peran penting ICMP untuk melaporkan kesalahan. ICMP tidak memperbaiki

kesalahan, ICMP hanya melaporkan kesalahan. Koreksi kesalahan diserahkan kepada

protokol-tingkat yang lebih tinggi. Pesan kesalahan selalu dikirim ke sumber asli karena

satu-satunya informasi yang tersedia di datagram tentang rute adalah sumber dan tujuan

alamat IP. ICMP menggunakan alamat IP sumber untuk mengirim pesan kesalahan ke

sumber (originator) dari datagram.

Lima jenis kesalahan yang ditangani : destination unreachable, source quench, time

exceeded, parameter problems, and redirection

a. Destination Unreachable

Ketika sebuah router tidak dapat menemukan sebuah datagram atau sebuah host

tidak dapat mengirimkan sebuah datagram, maka datagram tersebut akan dibuang

dan router atau host mengirimkan pesan destination-unreachable kepada host

yang diinisiasi oleh datagram.

Pesan Destination-unreachable dengan code 2 atau 3 hanya bisa dibuat dari

destination host. Pesan destination-unreachable hanya bisa dibuat dengan satu

routers.

b. Source Quench

Pesan Source-quench di ICMP dirancang untuk menambah jenis kontrol aliran

dan kontrol kongesti untuk IP. Ketika sebuah router atau host membuang

datagram karena kemacetan, ia akan mengirimkan pesan source-quench kepada

pengirim datagram. Pesan ini memiliki dua tujuan. Pertama, itu memberitahu

sumber yang datagram telah dibuang. Kedua, ia memperingatkan source bahwa

ada kemacetan di suatu tempat di jalan dan bahwa souce harus memperlambat

proses pengiriman.

Page 4: Internet control message protocol version 4

c. Time Exceeded

Time Exceeded secara umum memiliki dua case:

a. Setiap sebuah router mendiscremen sebuah datagram dalam satu nilai time-

to-live ke nol, berarti membuang satu datagram dan mengirim sebuah pesan

time-exceeded ke original source.

b. Ketika destinasi akhir tidak menerima semua fragmen pada satu waktu,

berarti membuang fragmen yang diterima dan mengirim pesan time-exceeded

ke original source.

d. Parameter Problems

Sebuah pesan parameter-problem bisa dibuat oleh router atau destination host.

e. Redirection

Sebuah host biasanya memulai dengan routing table yang kecil, yang secara

bertahap ditambah dan diperbarui. Salah satu alat untuk mencapai hal ini adalah

pesan redirection.

Query Messages

Echo Request and Reply

Echo-request dan echo-reply messages dirancang untuk tujuan diagnostik.

Manajer jaringan dan pengguna memanfaatkan pasangan pesan ini untuk

mengidentifikasi masalah jaringan. Kombinasi pesan echo-request dan echo-reply

menentukan apakah dua sistem (host atau router) dapat berkomunikasi satu sama

lain.

Pesan echo-request dapat dikirim oleh host atau router. Pesan echo-reply dikirim

oleh host atau router yang menerima pesan echo-request.

Pesan Echo-request dan echo-reply dapat digunakan oleh manajer jaringan untuk

memeriksa operasi protokol IP.

Pesan Echo-request dan echo-reply dapat menguji reachability dari host. Hal ini

biasanya dilakukan dengan menerapkan perintah ping.

Timestamp Request and Reply

hosts atau routers dapat menggunakan timestamp-request dan timestamp-reply

messages untuk waktu round-trip yang dibutuhkan untuk datagram IP untuk

perjalanan antara mereka. Hal ini juga dapat digunakan untuk singkronisasi

waktu pada dua mesin.

Page 5: Internet control message protocol version 4

Pesan Timestamp-request dan timestamp-balasan dapat digunakan untuk

menghitung satu arah atau waktu pulang-pergi yang diperlukan untuk datagram

untuk pergi dari sumber ke tujuan dan kemudian kembali lagi. Formulanya

adalah :

sending time = receive timestamp - original timestamp

receiving time = returned time - transmit timestamp

round-trip time = sending time + receiving time

Checksum

Perhitungan checksum

Pengirim mengikuti langkah-langkah menggunakan hitungan aritmatika:

Bidang checksum diatur ke nol.

Jumlah semua kata 16-bit (header dan data) dihitung.

Jumlah ini dilengkapi untuk mendapatkan checksum.

Checksum disimpan di bidang checksum.

Pengujian checksum

Penerima mengikuti langkah-langkah menggunakan hitungan aritmatika:

Jumlah semua kata-kata (header dan data) dihitung.

Jumlah ini dilengkapi.

Jika hasil yang diperoleh pada langkah 2 adalah 16 0, pesan akan

diterima; jika tidak, berarti ditolak.

3. Debugging Tools

Ping

Kita dapat menggunakan program ping untuk menemukan sebuah host aktif dan

merespon.

Traceroute

Program traceroute di UNIX atau tracert pada Windows dapat digunakan untuk

melacak rute dari paket dari sumber ke tujuan.

4. ICMP Package

a. Input Module

Modul input menangani semua pesan ICMP. Modul ini dipanggil saat sebuah

paket ICMP dikirim ke modul dari lapisan IP. Jika paket yang diterima

Page 6: Internet control message protocol version 4

adalah permintaan, modul membuat balasan dan mengirimkannya keluar. Jika

paket yang diterima adalah pesan pengalihan, modul menggunakan informasi

untuk memperbarui tabel routing. Jika paket yang diterima adalah pesan

kesalahan, modul menginformasikan protokol tentang situasi yang

menyebabkan kesalahan.

b. Output Module

Modul output bertanggung jawab untuk membuat permintaan, permohonan,

atau pesan kesalahan yang diminta oleh tingkat yang lebih tinggi atau

protokol IP. Modul ini menerima permintaan dari IP, UDP, atau TCP untuk

mengirim salah satu pesan kesalahan ICMP. Jika permintaan dari IP, modul

keluaran pertama harus memeriksa bahwa permintaan diperbolehkan. Ingat,

pesan ICMP tidak dapat dibuat untuk empat situasi: sebuah paket IP yang

membawa pesan ICMP error, paket IP terfragmentasi, paket IP multicast,

atau alamat IP paket IP memiliki 0.0.0.0 atau 127.XY Z. output modul juga

dapat menerima permintaan dari sebuah program aplikasi untuk mengirim

salah satu pesan permintaan ICMP.

Kesimpulan

- Internet Control Message Protocol (ICMP) mendukung unreliable dan

connectionless Internet Protocol (IP).

- Pesan ICMP diringkas dalam datagrams IP. Ada dua kategori pesan ICMP: error-

report dan query messeges. Pesan error-report melaporkan masalah dari router

atau host (tujuan) mungkin terjadi ketika proses paket IP. Query messeges, yang

terjadi pada pairs, membantu host atau manajer jaringan mendapatkan informasi

dari router atau host lain.

- The checksum untuk ICMP dihitung menggunakan kedua header dan bidang data

pesan ICMP.

- Ada beberapa tool yang dapat digunakan oleh internet untuk debugging. Kita

dapat menemukan jika host atau router masih aktif dan berjalan. Dua alat ini

adalah ping dan traceroute.

- Desain ICMP sederhana dapat terdiri dari modul input yang menangani paket

ICMP yang masuk dan modul output yang menangani permintaan layanan ICMP.

Exercises

Page 7: Internet control message protocol version 4

1. Host A mengirimkan pesan timestamp-request ke host B dan tidak pernah

menerima balasan. Apa penyebabnya?

Jawab :

- Pesan asli hilang dalam perjalanan. Pengirim dapat mengulang pengiriman pesan

kembali.

- Jawabannya hilang dalam perjalanan. Pengirim dapat mengulang pengiriman

pesan kembali.

- Pesan asli rusak dan dibuang. Pengirim dapat mengulang pengiriman pesan

kembali.

2. Mengapa ada pembatasan pada generation dari pesan ICMP dalam

menanggapi pesan kesalahan ICMP?

Jawab :

Pembatasan ini mencegah paket ICMP agar tidak memenuhi jaringan. Tanpa

pembatasan ini aliran paket ICMP tak berulang akan terjadi.

3. Host A mengirim sebuah datagram ke host B. Host B tidak pernah menerima

datagram dan host A tidak menerima peringatan kegagalan . berikan dua

penjelasan berbeda dari apa yang mungkin terjadi.

Jawab : Itu bisa saja terjadi apabila host B tidak ditemukan (unreachable). Pesan

kesalahan yang dihasilkan oleh router bisa hilang dalam perjalanan kembali ke host

A. Atau mungkin datagram terhapus karena kemacetan dan pesan kesalahan yang

dihasilkan oleh hilang diperjalanan.

4. Apa tujuan dari diikutkan IP header dan 8 bytes awal dari datagram dalam

pesan kesalahan pada pesan ICMP?

Jawab : IP header diikutkan dalam pesan kesalahan karena IP header berisi IP

address dari sumber originalnya.

8 bit awal dari data dimasukkan karena bit tersebut berisi seksi pertama dari TCP

atau UDP header yang berisi informasi port numbers (TCP dan UDP) dan sequence

number (TCP). Informasi ini mengizinkan sumber langsung ke pesan ICMP untuk

mendapatkan kebenaran aplikasi

5. Berapa nilai maksimum bidang pointer dalam pesan parameter-problem?

Jawab : Nilai maksimum adalah 59 karena pointer menunjuk ke byte di suatu tempat

di header IP asli (maksimal 60 byte). Offset 0 akan menunjuk ke pertama byte,

sehingga offset 59 akan menunjuk ke byte ke-60.

Page 8: Internet control message protocol version 4

6. Berikan contoh situasi di mana host tidak akan pernah menerima pesan

redirection.

Jawab : Sebuah host tidak akan menerima pesan redirection jika hanya ada satu

router yang menghubungkan jaringan lokal ke dunia luar

7. Buatlah tabel yang menunjukkan pesan ICMP dikirim oleh router, yang

dikirim oleh host nondestination, dan yang dikirim oleh host tujuan

Jawab :

Category Type CodeNon-

Destination Host

RouterDestination

Host

Error

Destination Unreachable

0 V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V

Source Quench 0 V V

Time Exceeded0 V1 V

Parameter Problem 0 V VRedirection 0 V

Query

Echo Request 0 V V V

Echo Reply 0 V V VTimestamp Request 0 VTimestamp Reply 0 V

8. Dapatkan kita menghitung sending time, receiving time atau round trip time

memiliki nilai negatif ? kenapa atau kenapa tidak ? Berikan contoh

Jawab :

Waktu pengiriman yang dihitung bisa negatif jika waktu station’s clock berjalan

cepat dibadingkan station's clock penerima lebih dari waktu transmisi antara

keduanya. Dalam hal ini, perhitungan nya adalah sending time = receive

Page 9: Internet control message protocol version 4

timestamp-original timestamp hasil nya didalam angka negatif. Waktu penerimaan

dapat negatif jika waktu station’s clock yang berjalan sebelum waktu station’s clock

permintaan lebih dari waktu transmisi. Maka perhitungannya receiving time = time

packet is returned – transmit timestamp hasil dalam angka negatif. Round trip

time tidak akan pernah memiliki nilai negatif karena perhitungannya adalah round

trip time = sending time + receiving time. termasuk perbedaan antara 2 jam dua

kali: sekali sebagai perbedaan positif dan sekali sebagai selisih negatif, sehingga

membatalkan kesalahan dalam perhitungan. Waktu round trip akan selalu menjadi

angka positif yang benar milidetik diambil untuk perjalanan satu putaran lengkap.

9. Kenapa isn’t one-way time untuk sebuah packet tidak hanya round-trip time dibagi

dua?

Jawab : One way time tidaklah round trip dibagi 2 karena packet yang di request

mungkin dilewati oleh route yang berbeda dengan packet response. Pada masalah

ini, waktu transmisi pada satu arah mungkin berbeda dengan waktu transmisi pada

arah lainnya.

10. Berapa ukuran minimum dari paket ICMP? Berapa ukuran maksimum dari paket

ICMP?

Jawab : Ukuran minimum dari paket ICMP adalah 8 byte (router solicitation packet). Ukuran terbesar dari paket ICMP adalah paket iklan router dengan sampai 255 daftar. Ukuran maksimum 255 listings 8 bytes/listing + 8 bytes for the ICMP header = 2048 bytes

11. Berapa ukuran minimum size dari paket IP yang dibawa sebuah paket ICMP? berapa

ukuran maksimum?

Jawab : Ukuran minimum IP Paket yang dibawa paket ICMP akan dibawa 28 byte (a

header IP 20 byte + 8 byte router solicitation packet). Ukuran maksimum akan 2068

byte (a header IP 20 byte + 2048 byte router advirstment packet).

12. Berapa ukuran minimum dari Ethernet frame yang dibawa IP packet yang pada

gilirannya membawa sebuah paket ICMP? Berapa ukuran maksimum?

Jawab : Ukuran minimum akan menjadi 64 byte jika kita tidak mempertimbangkan

pembukaan dan bidang SFD, yang ditambahkan pada physical layer. Ukuran

maksimum akan 1516 bytes, jika tidak mempertimbangkan pembukaan dan bidang

SFD. Meskipun ukuran maksimum paket ICMP bisa jauh lebih dari 1500 byte (untuk

router adverstment packet), Ethernet hanya dapat membawa 1500 byte saja.

13. Bagaimana kita bisa menentukan apakah sebuah paket IP membawa sebuah paket

ICMP?

Page 10: Internet control message protocol version 4

Jawab : Nilai dari field protokol IP dari sebuah paket yang dibawa paket ICMP adalah 1.

14. Hitung checksum untuk paket ICMP berikut:

Jenis: Echo Request Identifier: 123 Urutan Nomor: 25 Pesan: Hello

Jawab :

8 0 0

123 25

H e l l

o

Checksum nya adalah : 1101001110011001.8 dan 0 00001000000000000 0000000000000000123 000000000111101125 0000000000011001H dan e 0100100001100101l dan l 0110110001101100o dan pad 0110111100000000Jumlah 0010110001100110Checksum 1101001110011001

15. Router A menerima sebuah paket IP dengan alamat IP sumber 130.45.3.3 dan IP alamat tujuan 201.23.4.6. Router tidak dapat menemukan alamat IP tujuan dalam tabel routing. Isi kolom (sebanyak yang Anda bisa) untuk pesan ICMP yang dikirim.

Jawab : 3 7 Destination

unreachable

0

4 IP Header dari

paket asli130.45.3.3

201.23.4.68 Bytes pertama dari muatan dari paket asli

16. TCP menerima segmen dengan port tujuan alamat 234. cek TCP dan tidak dapat

menemukan port terbuka untuk tujuan ini. Isi pada kolom untuk pesan ICMP

dikirim.

3 3 Destination unreac0

Page 11: Internet control message protocol version 4

hable4 IP Header

dari paket asli

6

8 Bytes pertama dari muatan dari paket asli

17. Sebuah pesan ICMP sampai dengan header (dalam heksadesimal): 03 0310 20

00 00 00 00 Apa jenis pesan? Apa kode? Apa tujuan pesan?

Jawab : Jenis dalam pesan ini adalah 3, yang artinya adalah pesan destination

unreachable. Kode dalam pesan ini adalah 3, yang berarti bahwa port target tidak

bisa diakses. Tujuan dari pesan ini adalah untuk menginformasikan pengirim bahwa

port tujuan tidak tersedia pada host tujuan saat ini.

18. Pesan ICMP telah sampai dengan header (dalam heksadesimal): 05 00 11 12 11

0B 03 02 Apa jenis pesannya? Berapa kodenya? Apa tujuan dari pesan? Berapa

nilai 4 byte terakhir? Apa yang ditandakan oleh byte terakhir?

Jawab : Jenis dalam pesan ini adalah 5, yang artinya adalah pesan redirection. Kode

dalam pesan ini adalah 0, yang berarti bahwa pesan adalah pengalihan untuk rute

jaringan tertentu. Nilai 4 byte terakhir adalah 17.11.3.2, yang merupakan alamat IP

dari router lain pada jaringan. Tujuan dari pesan ini adalah untuk menginformasikan

kepada pengirim bahwa data yang dikirim ke tujuan awalnya harus dikirim ke router

dengan alamat IP 17.11.3.2.

19. Sebuah komputer mengirimkan permintaan timestamp. Jika jam

menunjukkan pukul 05:20:30 (Universal Time), tunjukkan entri untuk pesan.

Jawab :

13 0 Checksum

Identifier Sequence Number

19,230,000

0

0

20. Ulangi latihan 19 untuk jam 3:40:30 P.M. (Universal Time).

Page 12: Internet control message protocol version 4

Jawab :

13 0 Checksum

Identifier Sequence Number

56,340,000

0

0

21. Sebuah komputer menerima permintaan timestamp dari komputer lain di

14:34:20 Nilai timestamp asli 52.453.000. Jika jam pengirim adalah 5 ms

lambat, berapa waktu one-way?

Jawab :

2:34:20 PM = 52,460,000 ms

52,460,000 ms - 52,453,000 ms = 7000 ms

7000 ms + 5 ms = 7005 milliseconds

22. Sebuah komputer mengirimkan permintaan timestamp ke komputer lain.

Komputer menerima timestamps yang balasan pada pukul 03:46:07

Nilaioriginal timestamps, receive timestamp, dan transmit timestamp masing-

masing 13.560.000, 13.562.000, dan 13564300,. Berapa waktu pengiriman?

Berapa waktu penerimaan? Berapa waktu round-trip? Berapa perbedaan

waktu antara jam pengirim dan penerima?

Waktu pengiriman = 13,562,000 – 13,560,000 = 2,000 milliseconds

Waktu penerimaan = 13,567,000 – 13,564,300 = 2,700 milliseconds

Waktu Round trip = 2,000 + 2,700 = 4,700 milliseconds

Perbedaan Jam = 13,562,000 – [13,560,000 + (4,700 / 2))] = – 350 milliseconds

Artinya jam pengiriman adalah 350 milidetik sebelum jam penerima. Ini

mengasumsikan bahwa waktu transmisi satu cara adalah salah satu setengah dari

putaran waktu transmisi trip.