mengenal jaringan, edisi ARP!

beberapa pekan lalu ada project yang cukup besar. namun ternyata terkendala oleh salah satu kekurangan saya. yaitu jaringan!!. mungkin kalau menggunakan komputer atau minimal tablet os android, mungkin project ini akan bisa kekejar. namun sayangnya penggunaan akan komputer sangat besar biasanya. jadinya adalah harus menggunakan interfacing ethernet langsung ke mikrokontroller. nah, ini masalah bagi saya. hehe

saya sangat terkaget-kaget. benar-benar sebuah tantangan yang sangat keren. saya harus bisa komunikasi tcp-ip dengan menggunakan layer yang sangat dekat dengan pisical layer. jadi, hampir keseluruhan komunikasi yang terjadi pada tcp-ip benar2 harus diketahui dahulu.

nah, untuk malam ini saya akan berbagi tentang arp dahulu. apa itu arp? silahkan ke wikipedia. disini hanya akan dibahas apa sesungguhnya yang terjadi. hehe….

oia, sebelum kita berlanjut jauh, apa sih tujuan dari arp?. kalau simpelnya mungkin untuk mengetahui mac adress perangkat tujuan. maksudnya? bukankah sudah ada ip tujuan?. nah itu masalahnya, untuk berkomunikasi kita mesti tau mac addressnya. ip gak cukup. :p

nah, bagaimana jika kita tidak tahu mac address tujuan? bisakah kita mengirim data ke ip tersebut?

kalau secara embed sih, bisa bisa saja. tapi kalau sudah layer sekelas tcp yang gak bisa. hehe…. :p :p

lalu, solusinya?

nah, solusinya adalah arp!.

jadi, arp semacam komunikasi untuk mengetahui mac address perangkat yang memiliki ip tertentu.

apa yang terjadi sesungguhanya yang terjadi dengan arp?

oke, to the point saja.

anggep kita punya jaringan seperti berikut:

start 

seumpama pc0(sender) akan mengirim data ke pc3 dan belum tau mac address dari pc3. nah, pc0 akan membroadcast arp get.

profile pc0 dan pc3:

  pc0 pc3
ip 192.168.1.122 192.168.1.179
mac address 9C:B7:0D:B7:47:A5 48:5D:60:A7:4C:00
     

nah, pc0 akan membaroadcast/menyiarkan/mengirim kesemua komputer arp get. formatnya seperti berikut:

FF FF FF FF FF FF 9C B7 0D B7 47 A5 08 06 00 01 08 00 06 04 00 01 9C B7 0D B7 47 A5 C0 A8 01 7A 00 00 00 00 00 00 C0 A8 01 B3

Keterangan:

FF FF FF FF FF FF = Tujuan pesan(mac address). untuk membroadcast agar dibaca oleh semua komputer maka di isi dengan FF FF FF FF FF FF.

 9C B7 0D B7 47 A5 = ini adalah mac address sender dalam hal ini adalah mac addresnya pc0.

08 06 = code kalau pesan ini adalah pesan arp.

00 01 =  tipe hardwarenya adalah ethernet. kalau yang lain saya belum tau.

08 00 = tipe protokolnya adalah ip.

06 04 = 06 hardware size dan 04 protokol size. nah, keduanya saya belum mengerti. hehe…

00 01 = opcode, ini kode yang bilang kalau pesan ini pesan request.

C0 A8 01 7A = ip yang sender(pc0), atau kalau di desimalkan akan menjadi: 192.168.1.122.

00 00 00 00 00 00 = target mac addressnya. nah, berhubung gak tau, ya di nolin saja. oia, jangan yang lain ya. nol aja. hehe…

C0 A8 01 B3 = nah, ini adalah ip target yang ditanya mac adressnya(dalam desimal akan menjadi 192.168.1.179, alias ip pc3). jadi, nantinya yang merasa punya ip ini mesti jawab dari arp ini sesuai mac adressnya. 🙂

nah, siapa yang menerima pesan tersebut?

yang menerima pesan tersebut adalah semua pc. yaitu pc0 hingga pc5.  setiap komputer akan mengecek apakah ip C0 A8 01 B3 sama dengan ip mereka masing masing. jika sama maka pc tersebut wajib hukumnya menjawab. kalau tida menjawab maka pc0 akan beranggapan bahwa ip tersebut tidak valid dan akan beanggapan kalau pc tersebut tidak ada. nah, dalam kasus ini ternyata ada yang memiliki ip C0 A8 01 B3, yaitu pc3. pertanyaan selanjutnya adalah seperti apa kiranya jawaban yang semestinya dikirim oleh pc3?

jawabannya kira2 seperti berikut:

9C B7 0D B7 47 A5 48 5D 60 A7 4C 00 08 06 00 01 08 00 06 04 00 02 48 5D 60 A7 4C 00 C0 A8 01 B3 9C B7 0D B7 47 A5 C0 A8 01 7A

masih butuh penjelasan?

saya kira sudah sangat jelas jawaban dari pc3. mungkin yg butuh di jelaskan adalah opcodenya saja. yaitu sekarang bernilai 00 002. ini untuk menandakan bahwa pesan tersebut adalan pesan jawaban. 🙂

oke saya rasa sudah cukup untuk malam ini. semoga bermanfaat. dan tidak gagal project karena hal ini seperti yang saya alami. 😀

oia, jika dalam penulisan ini ada kesalahan. saya harap dikoreksi. karena ilmu ini hanya ilmu bacaan saja dari beberapa web. khususnya di http://www.erg.abdn.ac.uk/. nah, untuk lebih jelasnya ke web yang bersangkutan saja. 🙂

koreksi bisa langsung dikomentar, di email mosleim@gmail.com atau via fb/twitter dengan user mosleim. kalau telfon dan sms jangan. saya jarang ngaktipin hape. hehe…

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s