Powered By Blogger

Selasa, 29 Desember 2009

PERBEDAAN HUB DAN SWITCH DITINJAU SECARA KONSEPTUAL

Jaringan komputer berkembang dengan sangat cepat. Salah satu pemicunya adalah kebutuhan untuk berbagi pakai alat (device) maupun data baik pada lokasi yang sama ataupun lokasi yang berbeda. Jaringan komputer yang berada pada lokasi yang sama dengan jarak yang tidak jauh disebut dengan jaringan komputer local (LAN). Topologi yang biasa digunakan pada jaringan lokal ini adalah topologi star seperti pada gambar 1. Ini berarti dibutuhkan satu alat tambahan yang disebut dengan hub atau switch (Lammle, 2004).Gambar 1. Topologi star.
Saat ini hub sudah banyak ditinggalkan dan diganti dengan switch. Alasan penggantian ini biasanya adalah karena hub mempunyai kecepatan transfer data yang lebih lambat daripada switch. Hub dan switch mempunyai kecepatan transfer data sampai dengan 100 Mbps bahkan switch sudah dikembangkan sampai kecepatan 1 Gbps. Penulis mencoba mengukur kecepatan transfer data antara hub dan switch dengan melakukan suatu percobaan kecil. Percobaan ini menggunakan satu notebook dengan sistem operasi Windows XP, satu server ftp dengan sistem operasi FreeBSD, hub 10/100, dan switch 10/100. Hub dan switch ini mempunyai kecepatan transfer data yang sama, yaitu 10/100 Mbps yang akan dipasang bergantian pada topologi yang digunakan, yaitu topologi star. Gambaran topologi percobaan ini adalah sebagai berikut:
Gambar 2.a. Percobaan dengan switch.


Gambar 2.b. Percobaan dengan hub.
Percobaan ini meng-upload suatu file movie sebesar 66.540 KB (66 MB) dari notebook ke server ftp menggunakan software cuteFTP. Hasil yang diperoleh adalah sebagai berikut:
Tabel hasil percobaan di atas memberikan gambaran yang lebih jelas tentang perbedaan hub dengan switch dalam hal kecepatan transfer data maupun kecepatan inisialisasi. Orang awam akan membedakan hub dengan switch hanya dari kecepatan transfer data saja tanpa mengetahui penyebabnya. Secara teknis perbedaan ini tidak bermasalah karena secara fisik bentuk hub dan switch sangat mirip bahkan seringkali sulit dibedakan. Orang awam hanya tinggal mengganti hub dengan switch saja untuk meningkatkan kinerja jaringannya. Tetapi secara konseptual ada banyak hal yang harus dimengerti mengapa kedua perangkat tersebut berbeda kecepatan transfer datanya. Tulisan ini akan mengkaji perbedaan hub dan switch secara konseptual.
Repeater dan Hub.
Repeater merupakan perangkat jaringan yang akan mengulang-ulang (repeat) sinyal yang berupa paket data dari satu port ke port yang lain yang saling terhubung (Berg,1998). Repeater tidak menyaring atau menerjemahkan sesuatu, hanya mengulang (me-generate kembali) sinyal ke semua arah. Repeater beroperasi di layer Physical (layer 1) karena tidak membutuhkan informasi dari layer di atasnya untuk me-generate kembali suatu sinyal. Fungsi utama Repeater hanya sebagai penguat sinyal saja, yaitu untuk mengatasi batasan jarak dari media transmisi yang digunakan.
Hub sebenarnya merupakan repeater dengan banyak port sehingga apa yang dialami oleh repeater juga dialami oleh hub (Mansfield, 2003).
Hub/Repeater mempunyai kelemahan yaitu akan terus mengulang-ulang sinyal yang berupa paket data ke semua arah (jalur yang ada) walaupun sebenarnya paket data tersebut sudah diterima oleh komputer tujuan, seperti pada gambar 3 (Mansfield, 2003). Hal ini akan menyebabkan frekwensi collision lebih sering terjadi.


Gambar . Pengiriman data melalui hub
Misalnya ketika ada pengiriman paket data dari port A ke port B dan pada saat yang sama ada pengiriman paket data dari port C ke port D, maka akan terjadi tabrakan (collision) karena menggunakan jalur yang sama (jalur broadcast yang sama) sehingga paket data akan menjadi rusak yang mengakibatkan pengiriman ulang paket data. Jika hal ini sering terjadi maka collison yang terjadi dapat mengganggu aktifitas pengiriman paket data yang baru maupun ulangan.
Hal ini mengakibatkan penurunan kecepatan transfer data. Oleh karena itu secara fisik, hub mempunyai lampu led yang mengindikasikan terjadi collision. Ketika paket data dikirimkan melalui salah satu port pada hub, maka pengiriman paket data tersebut akan terlihat dan terkirim ke setiap port lainnya sehingga bandwidth pada hub menjadi terbagi ke seluruh port yang ada. Semakin banyak port yang tersedia pada hub, maka bandwidth yang tersedia menjadi semakin kecil untuk setiap port. Mansfield (2003) menggambarkannya sebagai berikut:
Gambar . Gambaran jalur transfer data di hub.
Bridge dan Switch.
Bridge mengirimkan paket data berdasarkan MAC address pada NIC (Network Interface Card) masing-masing komputer sehingga bridge mengetahui komputer mana yang menjadi tujuan. Bridge bekerja pada layer DataLink (layer 2) di model OSI (Lammle, 2004). Switch sebenarnya merupakan bridge yang mempunyai lebih banyak port sehingga apa yang dialami oleh bridge juga dialami oleh switch (Mansfield, 2003).
Switch/Bridge akan mengirimkan paket data ke alamat tujuan secara pasti karena memiliki informasi alamat tujuannya, yaitu MAC address sehingga jika ada collision yang terjadi merupakan collision pada port-port yang sedang saling berkirim paket data. Misalnya ketika ada pengiriman paket data dari port A ke port B dan pada saat yang sama ada pengiriman paket data dari port C ke port D, maka tidak akan terjadi tabrakan (collision) karena alamat yang dituju berbeda dan tidak menggunakan jalur yang sama (Mansfield, 2003). Semakin banyak port yang tersedia pada switch, tidak akan mempengaruhi bandwidth yang tersedia untuk setiap port.
Ketika paket data dikirimkan melalui salah satu port pada switch, maka pengiriman paket data tersebut tidak akan terlihat dan tidak terkirim ke setiap port lainnya sehingga masing-masing port mempunyai bandwidth yang penuh. Mansfield (2003) menggambarkannya sebagai berikut:
Gambar . Gambaran jalur transfer data di switch.
Dengan kata lain pengiriman data dari port A ke port B hanya akan terlihat oleh kedua port tersebut, hal ini digambarkan sebagai berikut (Mansfield, 2003) :
Gambar . Pengiriman data melalui switch.
FUNGSI HUB DAN SWITCH HUB
Dalam Jaringan komputer kita perlu hub yang berfungsi untuk menggabungkan beberapa komputer menjadi satu buah kelompok jaringan. Mungkin bila kita hanya akan menghubungkan dua buah PC kita hanya akan memerlukan Kabel UTP dengan Crimping dengan metode cross cable. Tapi bagaimana halnya dengan 10 PC ? atau 20 PC ? disinilah fungsi hub bekerja dimana komputer2 tersebut akan dihubungkin dengan UTP Straight Cable yang dicolokkan ke port2 yang ada di hub dan diset dengan IP dengan alamat jaringan yang sama, maka kita akan berada di dalam jaringan komputer yang terdiri lebih dari 2 buah PC.
Sekarang ini banyak orang menilai hub sudah cukup untuk mengatasi problema seperti itu, tetapi dilihat dari sisi lain ternyata hub memiliki sedikit kejelekan dimana dia akan membroadcast semua paket yang akan dikirim ke salah satu IP Tujuan. Hal ini mungkin tidak akan terasa bila kita hanya memiliki 10 buah PC yang terkoneksi dalam satu jaringan. Tetapi bagaimana dengan ratusan ? atau bahkan mungkin ribuan? disinilah fungsi switch sebenarnya bekerja.Di bidang jaringan komputer seringkali kita mendengar kata hub dan switch, bentuknya mirip dan fungsinya dasarnya juga sama yaitu untuk transfer data dari dan ke komputer-komputer dalam suatu jaringan. Beberapa waktu yang lalu penulis mendapati pertanyaan sederhana mengenai perbedaan antara hub dan switch dari beberapa rekan penulis. Melalui artikel kali ini penulis akan bahas secara singkat mengenai perbedaannya. Dari tampak luar, sebuah hub atau switch terlihat sama, keduanya memiliki jack RJ-45 untuk berhubungan dengan suatu device. Sebelum berbicara mengenai mengenai perbedaan antara keduanya maka ada baiknya kita lihat sejenak mengenai keterbatasan suatu (non switched) ethernet, yaitu hanya satu device yang dapat mentransmit data ke suatu segment pada suatu waktu tertentu. Jika lebih dari satu device berusaha mentransmit data pada waktu yang bersamaan maka akan terjadilah collision. Setelah collision terjadi maka setiap device tadi harus melakukan proses pengiriman data kembali (re-transmit). Dapat dibayangkan jika jumlah segment dalam jaringan semakin bertambah maka otomatis kemungkinan akan terjadinya collision akan semakin besar, dan karena akibat collision ini semua device akan melakukan proses re-transmit maka otomatis traffic jaringan akan menjadi relatif lebih lambat. Sebelum ditemukannya teknologi switch, suatu jaringan dapat dibagi-bagi ke dalam beberapa segment dengan suatu device yang dinamakan bridge. Bridge memiliki dua buah port ethernet. Jika ada traffic ke dalam jaringan maka secara otomatis bridge akan mengamati device-device yang terlibat di dalamnya dari kedua sisi (melihat berdasarkan MAC address-nya). Bridge kemudian akan mampu membuat keputusan untuk mem-forward atau tidak mem-forward setiap paket data menuju ke device tujuan.
Hub
Sama seperti switch, tetapi perbedaannya adalah hub tidak memiliki faslitas routing. Sehingga semua informasi yang datang akan dikirimkan ke semua komputer (broadcast).
Hub adalah istilah umum yang digunakan untuk menerangkan sebuah central connection point untuk komputer pada network. Fungsi dasaryang dilakukan oleh hub adalah menerima sinyal dari satu komputer danmentransmisikannya ke computer yang lain.sebuah Hub bisa active atau
passive. Active hub bertindak sebagai repeater: ia meregenerasi dan mengirimkan sinyal yang diperkuat. Passive hub hanya bertindak sebagai kotak sambungan; ia membagi/memisahkan sinyal yang masuk untuk ditransmisikan ke seluruh network.Hub adalah central untuk topologi star dan mengijinkan komputer untuk ditambahkan atau dipindahkan pada
network dengan relatif mudah.Kapabilitas yang disediakan hub. Fungsi tambahan selain sebagai central connection point, hub menyediakan kemampuan berikut :
• Memfasilitasikan penambahan penghilangan atau penambahan workstation
• Menambah jarak network ( fungsi sebagai repeater )
• Menyediakan fleksibilitas dengan mensupport interface yang berbeda ( Ethernet, Toket ring, FDDI )
• Menawarkan featur yang fault tolerance ( Isolasi Kerusakan )
• Memberikan menegement yang tersentralisasi ( koleksi informasi, diagnostic)
Kekurangannya, hub cukup mahal, membutuhkan kabel tersendiri untuk berjalan, dan akan mematikan seluruh network jika ia tidak berfungsi.
Cara kerja Hub
Pada dasarnya adalah sebuah pemisah sinyal (signal splitter). Ia mengambil bit-bit yang datang dari satu port dan mengirimkan copynya ke tiap-tiap port yang lain. Setiap host yang tersambung ke hub akan melihat paket ini tapi hanya host yang ditujukan saja yang akan
memprosesnya. Ini dapat menyebabkan masalah network traffic karena paket yang ditujukan ke satu host sebenarnya dikirimkan ke semua host (meskipun ia hanya diproses oleh salah satu yang ditujukannya saja).
Switch
Biasanya switch banyak digunakan untuk jaringan LAN token star. Dan switch ini digunakan sebagai repeater/penguat. Berfungsi untuk menghubungkan kabel-kabel UTP ( Kategori 5/5e ) komputer yang satu dengan komputer yang lain. Dalam switch biasanya terdapat routing, routing sendiri berfungsi untuk batu loncat untuk melakukan koneksi dengan komputer lain dalam LAN.
Switch adalah hub pintar yang mempunyai kemampuan untuk menentukan tujuan MAC address dari packet. Daripada melewatkan packet ke semua port, switch meneruskannya ke port dimana ia dialamatkan. Jadi switch dapat secara drastic mengurangi traffic network. Switch memelihara daftar MAC address yang dihubungkan ke port-portnya yang ia gunakan untuk menentukan kemana harus mengirimkan paketnya. Karena ia beroperasi pada MAC address bukan pada IP address, switch secara umum lebih cepat daripada sebuah router.
Gambarannya adalah seperti ini :
Kenapa Switch Lebih Baik?
Di dalam hub tidak ada proses apa-apa dalam menangani traffic jaringan. Hub hanya mengulang sinyal yang masuk ke seluruh port yang ada pada hub tersebut. Ini akan sangat berbeda dengan switch, di dalam switch setiap port berfungsi juga sebagai suatu bridge. Jika suatu port terhubung dengan suatu device maka secara prinsipal setiap device akan bersifat independen terhadap device lainnya. Perbedaan lainnya lagi adalah bahwa 10/100 ethernet hub hanya bekerja secara half-duplex, ini artinya adalah sebuah device hanya dapat mengirim atau menerima data pada suatu waktu tertentu. Switch mampu bekerja secara full-duplex yang artinya mampu menerima dan mengirimkan data pada saat yang bersamaan.
Sebagai contoh misalnya ada suatu switch yang pada port-nya terpasang beberapa device berikut ini:
-Computer1
-Computer2
-Computer3
-Printer
-FileServer
- Uplink ke internet
Perbedaan lainnya lagi adalah bahwa 10/100 ethernet hub hanya bekerja secara half-duplex, ini artinya adalah sebuah device hanya dapat mengirim atau menerima data pada suatu waktu tertentu. Switch mampu bekerja secara full-duplex yang artinya mampu menerima dan mengirimkan data pada saat yang bersamaan.
Pada kasus ini, Computer 1 dapat melakukan proses print (cetak) dokumen, sementara itu Computer 2 bisa mengakses file server, dan sementara itu pula Computer 3 dapat melakukan akses ke Internet. Ini semua bisa dilakukan karena switch dapat secara pintar melakukan forward traffic paket data khusus hanya kepada device-device yang terlibat saja. Ini juga yang disebut dengan hubungan antar device yang simultan dan bersifat independen. Jadi kesimpulannya di dalam switch terdapat suatu mekanisme filtering dan forwarding terhadap traffic jaringan yang melewatinya.
Switch jaringan (atau switch untuk singkatnya) adalah sebuah alat jaringan yang melakukan bridging transparan (penghubung segementasi banyak jaringan dengan forwarding berdasarkan alamat MAC).
Switch jaringan dapat digunakan sebagai penghubung komputer atau router pada satu area yang terbatas, switch juga bekerja pada lapisan data link, cara kerja switch hampir sama seperti bridge, tetapi switch memiliki sejumlah port sehingga sering dinamakan multi-port bridge.

Senin, 28 Desember 2009

Tugas Jarkom:HUB vs SWITCH, ARP dan ICMP

1. HUB vs SWITCH

Gambar: Sebuah hub hanya mengulang semua trafik ke semua port, sementara switch akan membuat sambungan sementara antara port yang membutuhkan komunikasi.

Hub dianggap perangkat yang sederhana, karena hub secara tidak efisien membroadcast semua trafik ke setiap port. Kesederhanaan ini menyebabkan penalty dari sisi kinerja maupun keamanan. Secara keseluruhan kinerja menjadi lebih lambat, karena bandwidth yang tersedia harus dibagi antara semua port. Karena semua lalu lintas terlihat oleh semua port, semua host di jaringan dapat dengan mudah memantau seluruh lalu lintas jaringan.

Switch membuat sambungan virtual antara port penerima dan pengirim. Ini menghasilkan kinerja yang lebih baik karena banyak sambungan virtual dapat dibangun secara bersamaan. Switch yang lebih mahal dapat men-switch trafik dengan menginspeksi paket di tingkat yang lebih tinggi (di lapisan aplikasi atau lapisan transport), memungkinkan pembuatan VLAN, melaksanakan dan fitur tingkat lanjutan lainnya.

Sebuah hub dapat digunakan jika dibutuhkan pengulangan traffik ke semua port; misalnya, bila anda ingin sebuah mesin melakukan pemantauan untuk melihat semua lalu lintas pada jaringan. Kebanyakan switch menyediakan fungsi untuk memonitor port yang memungkinkan pengulangan traffik dari sebuah port tertentu yang ditugaskan secara khusus untuk tujuan ini.

Hub lebih murah daripada switch. Namun, harga akan berkurang secara drastis di tahun-tahun belakangan ini. Oleh karena itu, jaringan yang menggunakan hub lama sebaiknya diganti dengan switch yang baru jika memungkinkan.

Hub dan switch mungkin menawarkan layanan yang dikelola (managed servis). Beberapa dari layanan ini meliputi kemampuan untuk mengatur kecepatan link (10baseT, 100baseT, 1000baseT, full duplex atau half duplex) per port, memungkinkan untuk memperhatikan kejadian di jaringan (seperti perubahan alamat MAC atau paket yang tidak baik / salah), dan biasanya termasuk penghitung trafik pada port untuk memudahkan bandwidth akunting. Sebuah managed switch yang menyediakan perhitungan upload dan download byte untuk setiap port fisik sehingga dapat sangat menyederhanakan pemantauan jaringan. Layanan ini biasanya tersedia melalui SNMP, atau dapat diakses melalui telnet, ssh, interface web, atau alat konfigurasi khusus[4]

Berita terkait

Hub dan Switch merupakan salah satu alat yang digunakan dalam membangun suatu jaringan komputer yang biasanya jaringan tersebut terdiri dari 2 atau lebih komputer. Biasanya alat ini digunakan dalam membangun jaringan LAN (Local Area Network). Topologi yang menggukan kedua device ini adalah topologi star. Berikut ini adalah penjelasan kedua alat tersebut.

  • Hub

Hub merupakan suatu device pada jaringan yang secara konseptual beroperasi pada layer 1 (Physical Layer). Maksudnya, hub tidak menyaring menerjemahkan sesuatu, hanya mengetahui kecepatan transfer data dan susunan pin pada kabel. Cara kerja alat ini adalah dengan cara mengirimkan sinyal paket data ke seluruh port pada hub sehingga paket data tersebut diterima oleh seluruh computer yang berhubungan dengan hub tersebut kecuali computer yang mengirimkan. Sinyal yang dikirimkan tersebut diulang-ulang walaupun paket data telah diterima oleh komputer tujuan. Hal ini menyebabkan fungsi colossion lebih sering terjadi.

Misalnya ketika ada pengiriman paket data dari port A ke port B dan pada saat yang sama ada pengiriman paket data dari port C ke port D, maka akan terjadi tabrakan (collision) karena menggunakan jalur yang sama (jalur broadcast yang sama) sehingga paket data akan menjadi rusak yang mengakibatkan pengiriman ulang paket data. Jika hal ini sering terjadi maka collison yang terjadi dapat mengganggu aktifitas pengiriman paket data yang baru maupun ulangan. Hal ini mengakibatkan penurunan kecepatan transfer data. Oleh karena itu secara fisik, hub mempunyai lampu led yang mengindikasikan terjadi collision.

Ketika paket data dikirimkan melalui salah satu port pada hub, maka pengiriman paket data tersebut akan terlihat dan terkirim ke setiap port lainnya sehingga bandwidth pada hub menjadi terbagi ke seluruh port yang ada. Semakin banyak port yang tersedia pada hub, maka bandwidth yang tersedia menjadi semakin kecil untuk setiap port.

Hal ini membuat pengiriman data pada hub dengan banyak port yang terhubung pada komputer menjadi lambat.

  • Switch

Switch merupakan suatu device pada jaringan yang secara konseptual berada pada layer 2 (Datalink Layer). Maksudnya, switch pada saat pengirimkan data mengikuti MAC address pada NIC (Network Interface Card) sehingga switch mengetahui kepada siapa paket ini akan diterima. Jika ada collision yang terjadi merupakan collision pada port-port yang sedang saling berkirim paket data. Misalnya ketika ada pengiriman paket data dari port A ke port B dan pada saat yang sama ada pengiriman paket data dari port C ke port D, maka tidak akan terjadi tabrakan (collision) karena alamat yang dituju berbeda dan tidak menggunakan jalur yang sama. Semakin banyak port yang tersedia pada switch, tidak akan mempengaruhi bandwidth yang tersedia untuk setiap port.

Ketika paket data dikirimkan melalui salah satu port pada switch, maka pengiriman paket data tersebut tidak akan terlihat dan tidak terkirim ke setiap port lainnya sehingga masing-masing port mempunyai bandwidth yang penuh. Hal ini menyebabkan kecepatan pentransferan data lebih terjamin.

Dari keterangan diatas dapat disimpulkan bahwa switch lebih baik daripada hub baik secara perbandingan konseptual maupun secara prinsip kerjanya yang dapat membuat terjadinya collosion.

berita terkait

2. ARP (ADDRESS RESOLUTION PROTOCOL)



Address Resolution Protocol disingkat ARP adalah sebuah protokol dalam TCP/IP Protocol Suite yang bertanggungjawab dalam melakukan resolusi alamat IP ke dalam alamat Media Access Control (MAC Address). ARP didefinisikan di dalam RFC 826.

Ketika sebuah aplikasi yang mendukung teknologi protokol jaringan TCP/IP mencoba untuk mengakses sebuah host TCP/IP dengan menggunakan alamat IP, maka alamat IP yang dimiliki oleh host yang dituju harus diterjemahkan terlebih dahulu ke dalam MAC Address agar frame-frame data dapat diteruskan ke tujuan dan diletakkan di atas media transmisi (kabel, radio, atau cahaya), setelah diproses terlebih dahulu oleh Network Interface Card (NIC). Hal ini dikarenakan NIC beroperasi dalam lapisan fisik dan lapisan data-link pada tujuh lapis model referensi OSI dan menggunakan alamat fisik daripada menggunakan alamat logis (seperti halnya alamat IP atau nama NetBIOS) untuk melakukan komunikasi data dalam jaringan.

Jika memang alamat yang dituju berada di luar jaringan lokal, maka ARP akan mencoba untuk mendapatkan MAC address dari antarmuka router lokal yang menghubungkan jaringan lokal ke luar jaringan (di mana komputer yang dituju berada) [1]. IP dan MAC (Media Access Control) address merupakan elemen dalam protokol ARP yang digunakan untuk pengalamatan dalam jaringan komputer. Ketika satu komputer masuk ke dalam jaringan, ia akan mengumumkan kehadirannya kepada semua komputer dalam jaringan (melakukan broadcast) melalui nomor IP dan MAC address-nya, atau sering disebut dengan istilah hardware address.

Address Resolution Protocol

Informasi tentang MAC address akan disimpan dalam keping RAM (Random Access Memory) dan sifatnya temporer dengan umurnya yang hanya dua menit, namun dapat diperbarui. Ruang simpan dalam RAM ini disebut ARP (Address Resolution Protocol) cache. ARP akan selalu memeriksa ARP cache. Jika ARP berhasil menemukan nomor IP tetapi tidak menemukan MAC address pasangannya, maka ARP akan mengirim request ke jaringan.

Prinsip dari ARP adalah tidak boleh ada lebih dari satu nomor IP memakai satu MAC address yang sama. Jadi, kita tidak bisa menggunakan nomor IP yang sedang dipakai oleh komputer lain, dan tidak bisa menggunakan MAC address yang telah dipasangkan dengan IP lain.

Protokol ARP bersifat stateless, ia akan mengirim request MAC address dan mengirimkan pemberitahuan kepada komputer anggota jaringan jika terjadi ketidakberesan dalam pengalamatan, walaupun tidak ada komputer di jaringan yang memintanya. Protokol ARP juga bersifat non-routable, ia hanya bekerja pada satu segmen jaringan lokal.

ARP Spoofing

Ancaman keamanan muncul ketika ada upaya manipulasi terhadap pengalamatan nomor IP dan MAC address. Proses ini biasa disebut dengan istilah ARP spoofing atau ARP poisoning, bertujuan untuk mencari mana saja komputer yang terhubung dengan koneksi terbuka (saling percaya). Misalnya, komputer B dengan alamat hardware BB:BB percaya terhadap komputer C yang beralamat hardware CC:CC. Komputer penyerang ada di komputer A dengan MAC address AA:AA. Maka, penyerang akan berupaya mengirimkan pemberitahuan kepada komputer B bahwa MAC address komputer C adalah AA:AA.

Salah satu contoh aplikasi yang dapat digunakan untuk memanipulasi MAC address adalah WinArpSpoof. Sebelum mengistalnya, terlebih dulu kita harus menginstal paket WinCap untuk menangkap paket data di jaringan.

Payahnya, sistem operasi selalu mengecek ARP cache dan akan mengirim request pengalamatan jika terjadi perubahan, atau jika ia mendeteksi adanya lebih dari satu IP dengan MAC address yang sama dalam ARP cache. Untuk menghentikan proses ini, biasanya cracker akan membuat program untuk menjawab bahwa tidak ada perubahan dalam ARP cache.

Dengan ARP spoofing, penyerang dapat mengatur lalu lintas data pada jaringan. Paket data yang dikirim target B ke target C akan berbelok dahulu ke komputer penyerang (komputer A). Setelah mengetahui isi data, bisa saja si penyerang mengirim pesan palsu ke komputer C, seakan-akan berasal dari komputer B. Model serangan semacam ini dikenal dengan istilah "man the middle attack". Lain jadinya, jika penyerang memasangkan MAC address yang tidak dikenal di dalam jaringan kepada komputer target. Ini akan menyebabkan komputer target tidak dikenali oleh jaringan dan akan mengalami penolakan saat mengirim request layanan, istilahnya "denial of service (DoS)".

Untuk mengetahui terjadinya upaya spoofing, kita bisa mengecek isi routing table menggunakan protokol Reverse ARP (RARP). Jika ada lebih dari satu alamat IP menggunakan MAC address yang sama, kemungkinan terjadi sesuatu yang tidak beres. Jika tidak ada yang salah dengan routing table, kita bisa mengirim paket ICMP (Internet Control Message Control) atau yang dikenal dengan ping ke komputer. Jika muncul pesan error (unreachable), kita harus curiga dan segera menyelidiki sistem.

Protokol ARP dapat dimanipulasi untuk tujuan jahat, namun juga dapat dimanfaatkan untuk tujuan yang baik. Contohnya untuk mengecek keanggotaan dalam suatu fasilitas akses internet. Sekarang banyak orang mengakses internet melalui jaringan Wi-Fi yang memanfaatkan gelombang radio. Di jaringan tersebut, protokol ARP bisa digunakan untuk mengecek MAC address komputer-komputer yang terhubung dengan internet. (PCplus, 292) [2]


3. ICMP (INTERNET CONTROL MESSAGE PROTOCOL)

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. [3]

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.

Error & Query Reporting

Secara teknis ICMP adalam mekanisme error reporting untuk gateway sehingga dapat memberitahu sumber mengenai kesalahan yang terjadi. Sedangkan untuk koreksinya diserahkan pada program aplikasi yang ada pada pengirim.

Pesan ICMP ini selalu dikirimkan kepada gateway awal. Jika suatu datagram yang melewati beberapa gateway mengalami kegagalan & kesalahan tujuan di intermediate gatewaynya maka tidak dapat dideteksi gateway mana yang gagal tersebut.

Ada beberapa jenis pesan error diantaranya :

  • destination unreachable

pesan ini dihasilkan oleh router jika pengiriman paket mengalami kegagalan akibat masalah putusnya jalur, baik fisik maupun lojik. Pesan ini dapat dibagi menjadi beberapa tipe :

o network unreachable

jika jaringan tujuan tidak dapat dihubungi

o host unreachable

jika host tujuan tidak bisa dihubungi

o protocol at destination is unreachable

jika di tujuan tidak tersedia protokol tersebut

o port is unreachable

jika tidak ada port yang dimaksud pada tujuan

o destination network is unknown

jika network tujuan tidak diketahui

o destination host is unknown

jika host tujuan tidak diketahui

  • time exceeded

dikirimkan jika is field TTL dalam paket IP sudah habis masa aktifnya dan paket belum juga sampai ke tujuannya

  • parameter problem

pesan ini dikirim jika terjadi kesalahan parameter pada header paket IP

  • source quench

jika router atau tujuan mengalami kemacetan, sebagai respon terhadap pesan ini maka pihak penerima harus memperlambat pengiriman paket

  • redirect

dikirimkan jika router merasa host mengirimkan paket IP melalui router yang salah.

Sedangkan untuk pesan query diantarannya adalah :

  • Echo & Echo Reply

Bertujuan untuk memeriksa apakah sistem tujuan dalam keadaan aktif. Program ping merupakan program pengiriman paket ini. Responder harus mengembalikan data yang sama dengan data yang dikirimkan

  • Timestamp & Timestamp Reply

menghasilkan informasi waktu yang diperlukan sistem tujuan untuk memproses suatu paket

  • Address Mask

Untuk mengetahui berapa netmask yang harus digunakan oleh suatu host dalam suatu network.

Pengiriman ICMP Message

ICMP memerlukan dua level enkapsulasi seperti pada gambar dibawah ini :


Setiap pesan ICMP merupakan bagian dari datagram IP yang juga merupakan bagain dari suatu frame data. Datagram yang membawa pesan ICMP mendapat perlakuan yang sama dengan datagram lain dalam hal reliability & priority-nya. Pengecualian prioritas didapat untuk menghindari masalah : mendapat pesan error mengenai pesan error. Prioritas tersebut menentukan bahwa pesan tidak dibangkitkan untuk error yang disebabkan oleh datagram yang membawa pesan error.

Format Pesan ICMP

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

ICMP yang berisi pesan error terdiri dari header dan 64 bit pertamanya berisi penyebab error yang terjadi. Type field yang ada :

id.wikipedia.org

[1] http://id.wikipedia.org/wiki/Address_Resolution_Protocol

[2] http://www.bestlib.co.cc/2009/07/mengenal-address-resolution-protocol.html

[3] http://id.wikipedia.org/wiki/Internet_Control_Message_Protocol

Rabu, 24 Juni 2009

Perbedaan CISC dan RISC

Perbedaan CISC dan RISC

Ditinjau dari perancangan perangkat instruksinya, ada dua arsitektur prosesor yang menonjol saat ini, yakni arsitektur RISC (Reduce Instruction Set Computer) dan CISC (Complex Instruction Set Computer). Prosesor CISC memiliki instruksi-instruksi kompleks untuk memudahkan penulisan program bahasa assembly, sedangkan prosesor RISC memiliki instruksi-instruksi sederhana yang dapat dieksekusi dengan cepat untuk menyederhanakan implementasi rangkaian kontrol internal prosesor. Karenanya, prosesor RISC dapat dibuat dalam luasan keping semikonduktor yang relatif lebih sempit dengan jumlah komponen yang lebih sedikit dibanding prosesor CISC. Perbedaan orientasi di antara kedua prosesor ini menyebabkan adanya perbedaan sistem secara keseluruhan, termasuk juga perancangan kompilatornya.

Sistem mikrokontroler selalu terdiri dari perangkat keras (hardware) dan perangkat lunak (software). Perangkat lunak ini merupakan deretan perintah atau instruksi yang dijalankan oleh prosesor secara sekuensial. Instruksi itu sendiri sebenarnya adalah bit-bit logik 1 atau 0 (biner) yang ada di memori program. Angka-angka biner ini jika lebarnya 8 bit disebut byte dan jika 16 bit disebut word. Deretan logik biner inilah yang dibaca oleh prosesor sebagai perintah atau instruksi. Supaya lebih singkat, angka biner itu biasanya direpresentasikan dengan bilangan hexa (HEX). Tetapi bagi manusia, menulis program dengan angka biner atau hexa sungguh merepotkan. Sehingga dibuatlah bahasa assembler yang direpresentasikan dengan penyingkatan kata-kata yang cukup dimengerti oleh manusia.

Bahasa assembler ini biasanya diambil dari bahasa Inggris dan presentasinya itu disebut dengan Mnemonic. Masing-masing pabrik mikroprosesor melengkapi chip buatannya dengan set instruksi yang akan dipakai untuk membuat program.

Biner Hexa Mnemonic

10110110 B6 LDAA ...

10010111 97 STAA ...

01001010 4A DECA ...

10001010 8A ORAA ...

00100110 26 BNE ...

00000001 01 NOP...

01111110 7E JMP ...

*) Sebagian set instruksi 68HC11

Pada awalnya, instruksi yang tersedia amat sederhana dan sedikit. Kemudian desainer mikroprosesor berlomba-lomba untuk melengkapi set instruksi itu selengkap-lengkapnya. Jumlah instruksi itu berkembang seiring dengan perkembangan desain mikroprosesor yang semakin lengkap dengan mode pengalamatan yang bermacam-macam. Mikroprosesor lalu memiliki banyak instruksi manipulasi bit dan seterusnya dilengkapi dengan instruksi-instruksi aritmatik seperti penjumlahan, pengurangan, perkalian dan pembagian. Seperti contohnya 68HC11 banyak sekali memiliki set instruksi untuk percabangan seperti BNE, BLO, BLS, BMI, BRCLR, BRSET dan sebagainya.

Perancang mikroprosesor juga memperkaya ragam instruksi tersebut dengan membuat satu instruksi tunggal untuk program yang biasanya dijalankan dengan beberapa intruksi. Misalnya pada 80C51 untuk contoh program berikut ini:

LABEL: ...

...

DEC R0

MOV A,R0

JNZ LABEL

*) Program 'decrement' 80C51

Program ini adalah program pengulangan yang mengurangi isi register R0 sampai register R0 menjadi kosong (nol). Intel menambah set instruksinya dengan membuat satu instruksi khusus untuk keperluan seperti ini:

LABEL: ....

DJNZ R0,LABEL

*) Instruksi 'decrement jump not zero' 80C51

Kedua contoh program ini hasilnya tidak berbeda. Namun demikian, instruksi kompleks seperti DJNZ mempermudah pembuat program. Set instruksi yang lengkap diharapkan akan semakin membuat pengguna mikroprosesor leluasa menulis program dalam bahasa assembler yang mendekati bahasa pemrograman level tinggi. Intel 80C51 yang dikembangkan dari basis prosesor 8048 dirilis pada tahun 1976 memiliki tidak kurang dari 111 instruksi. Tidak ketinggalan, 68HC11 dari Motorola yang populer di tahun 1984 dilengkapi dengan 145 instruksi. Karena banyak dan kompleksnya instruksi yang dimiliki 68HC11 dan 80C51, kedua contoh mikrokontroler ini disebut sebagai prosesor CISC.

Untuk melihat bagaimana perbedaan instruksi RISC dan CISC, mari kita lihat bagaimana keduanya melakukan perkalian misalnya c = a x b. Mikrokontroler 68HC11 melakukannya dengan program sebagai berikut:

LDAA #$5

LDAB #$10

MUL

*) Program 5x10 dengan 68HC11

Cukup tiga baris saja dan setelah ini accumulator D pada 68HC11 akan berisi hasil perkalian dari accumulator A dan B, yakni 5 x 10 = 50. Program yang sama dengan PIC16CXX, adalah seperti berikut ini:

MOVLW 0x10

MOVWF Reg1

MOVLW 0x05

MOVWF Reg2

CLRW

LOOP: ADDWF Reg1,0

CFSZ Reg2,1

GOTO LOOP

*) Program 5x10 dengan PIC16CXX

Prosesor PIC16CXX yang RISC ini, tidak memiliki instruksi perkalian yang khusus. Tetapi perkalian 5x10 itu sama saja dengan penjumlahan nilai 10 sebanyak 5 kali. Kelihatannya membuat program assembly dengan prosesor RISC menjadi lebih kompleks dibandingkan dengan prosesor CISC. Tetapi perlu diingat, untuk membuat instruksi yang kompleks seperti instruksi MUL dan instruksi lain yang rumit pada prosesor CISC, diperlukan hardware yang kompleks juga. Dibutuhkan ribuan gerbang logik (logic gates) transistor untuk membuat prosesor yang demikian. Instruksi yang kompleks juga membutuhkan jumlah siklus mesin (machine cycle) yang lebih panjang untuk dapat menyelesaikan eksekusinya. Instruksi perkalian MUL pada 68HC11 memerlukan 10 siklus mesin dan instruksi pembagiannya memerlukan 41 siklus mesin.

Sebagai perbandingan jumlah instruksi pada prosesor RISC, COP8 hanya dilengkapi dengan 58 instruksi dan PIC12/16CXX hanya memiliki 33 instruksi saja. Untuk merealisasikan instruksi dasar yang jumlah tidak banyak ini, mikroprosesor RISC tidak memerlukan gerbang logik yang banyak. Karena itu dimensi dice IC dan konsumsi daya prosesor RISC umumnya lebih kecil dibanding prosesor CISC. Bukan karena kebetulan, keluarga mikrokontroler PICXX banyak yang dirilis ke pasar dengan ukuran mini. Misalnya PIC16C54s adalah mikrokontroler DIP 18 pin.

Sekarang kita akan membandingkan lamanya eksekusi program persamaan y=ax2 + bx + c dengan memperlihatkan proses-proses yang terjadi didalamnya. Dibawah ini akan ditampilkan program dengan intruksi RISC dan CISC:

Program CISC dengan 80C51:

MOV A, VAR_a à IF De DF E

MOV B, VAR_x à IF De DF E

MUL AB à IF De E

MOV B, VAR_x à IF De DF E

MUL AB à IF De E

MOV R0, A à IF De E

MOV A, VAR_b à IF De DF E

MOV B, VAR_x à IF De DF E

MUL AB à IF De E

ADD A, R0 à IF De E

ADD A, VAR_c à IF De DF E

MOV VAR_y, A à IF De E S

*) Program diatas diasumsikan nilai y-nya tidak akan lebih dari 1 byte.

Program RISC dengan PIC16CXX:

MOVF VAR_x, 0 à IF De E

MOVWF VAR_temp à IF De E S

MOVWF VAR_temp2 à IF De E S

CLRW à IF De E

LOOP: ADDWF VAR_a,0 à IF De E

CFSZ VAR_temp,1 à IF De E

CFSZ VAR_temp2,1 à IF De E

GOTO LOOP à IF De E

MOVWF VAR_ax2 à IF De E S

CLRW à IF De E

(1) (2) (1) (2)

LOOP2:ADDWF VAR_b, 0 à IF De E

CFSZ VAR_temp,1 à IF De E

GOTO LOOP2 à IF De E

ADDWF VAR_ax2, 0 à IF De E

ADDWF VAR_c, 0 à IF De E

MOVWF VAR_y à IF De E S

*) Prosesor RISC ini mempunyai RAM yang sebenarnya adalah merupakan register. Jadi, tidak memerlukan Data Fetch (DF) untuk proses pengambilan data dalam prosesor ini. Asumsi VAR_temp dan VAR_temp2 adalah 1 sehingga tidak terjadi looping.

Dengan beranggapan bahwa Instruction Fetch (IF), Data Fetch (DF), dan Store (S) membutuhkan waktu yang jauh lebih lama dari Decode (De) dan Execute (E) maka dapat diperhitungkan waktu yang dibutuhkan tiap prosesor jika x=1:

CISC dengan 8051:

12(IF) + 12(De) + 6(DF) + 12(E) + 1(S) à (parameter waktu: A >>> B)

maka waktu yang dibutuhkan,

A(12+6+1) + B(12+12) 19A + 24B

RISC dengan PIC16CXX:

Dengan mengambil waktu terlama dari tiap cycle-nya maka waktu yang dibutuhkan, misal jika dalam suatu cycle (menurun dalam satu kolom) terdapat IF, De, E, S; yang dalam waktu dapat ditulis A, B, B, A maka yang diambil adalah A (waktu terlama). Kedua A tidak dijumlah karena bekerja dalam sistem pipeline, yang dapat dilakukan secara bersamaan dalam satu cycle (syarat: dalam sistem ini tidak boleh ada proses yang sama pada satu cycle). Sehingga waktu yang dibutuhkan,

A(16+1) + B(1+1) 17A + 2B

Dari hasil diatas dapat dilihat bahwa walaupun program dengan instruksi RISC lebih panjang daripada program dengan instruksi CISC. Namun lama waktu yang dibutuhkan RISC untuk menjalankan program dan mendapatkan hasil akhir yang diinginkan, jauh lebih singkat dibandingkan dengan CISC. Dengan begitu, terbukti sudah bahwa prosesor RISC mampu beroperasi lebih cepat dibandingkan dengan prosesor CISC.

setstats1

RISC (Apple) versus CISC (Intel) adalah topic yang cukup populer ketika diperbincangkan di Net. CISC (sisk-red), merupakan kepanjangan dari Complex Instruction Set Computer. Kebanyakan PC menggunakan CPU berdasarkan arsitektur CISC ini, seperti contoh AMD CPU dan Intel. Chip CISC memiliki jumlah chip yang berbeda dan instruksi yang complex. Filosofi CISC berada di balik hardware yang selalu lebih cepat berkembang dibanding software. Untuk itu, diperlukan set instruksi yang powerful, yang dapat menyediakan programmer, beberapa instruksi assembly dengan program pendek. Pada umumnya, chip CISC berjalan lebih lambat per instruksi dibandingkan RISC, namun menggunakan sedikit instruksi ketimbang RISC.

RISC (risk-red), merupakan kepanjangan dari Reduced Instruction Set Computer. Chip RISC dibangun mulai pertengahan tahun 1980 sebagai pengganti chip CISC. Filosofi RISC berada dalam tidak satu pun chip yang menggunakan bahasa instruksi assembly yang complex, seperti yang digunakan di CISC. Contoh penggunaan chip RISC adalah pada CPU Apple. Untuk itulah, instruksi yang simple dan lebih cepat akan lebih baik daripada besar, complex dan lambat seperti CISC. Keuntungan RISC lainnya karena adanya instruksi yang simple, maka chip RISC hanya memiliki beberapa transistor, yang akan membuat RISC mudah didesain dan murah untuk diproduksi untuk menulis compiler yang powerful.

RISC memberikan kemudahan di hardware, namun lebih kompleks di software. Pengembang software di RISC harus menulis banyak line untuk task yang sama. Oleh karena itu, desain arsitektur RISC mungkin bukan yang terbaik di masa depan, setelah kemunculan chip CISC yang lebih cepat dan lebih murah. Namun, RISC telah eksis lebih dari 10 tahun dan telah menghantam pasar CISC. Menurut tomax7.com, sekitar 75 persen processor berbasis arsitektur CISC, dan kebanyakan dari mereka adalah standard x86. Namun, sekarang ini chip RISC juga memiliki instruksi yang banyak, hampir sama dengan chip CISC. Sebagai contoh, PowerPC 601 berbasis arsitektur RISC, support lebih banyak instruksi dibandingkan Pentium yang menggunakan chip CISC. (h_