Rabu, 30 Desember 2009

Hub Vs Switch,ICMP,ARP

1. Hub Vs Switch

Gambar 1 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. [1]

2. Internet Control Message Protocol


Gambar 2 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. [2]

3. Address Resolution Protocol disingkat ARP
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) [3]


Gambar 3 Address Resolution Protocol

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) [4]

Daftar Pustaka:
[1] http://opensource.telkomspeedy.com/wiki/index.php/WNDW:_Hub_vs._Switch
[2] http://id.wikipedia.org/wiki/Internet_Control_Message_Protocol
[3] http://id.wikipedia.org/wiki/Address_Resolution_Protocol
[4] http://www.bestlib.co.cc/2009/07/mengenal-address-resolution-protocol.html

Selasa, 23 Juni 2009

CISC, RISC n SUPERSCALAR

Reduced Instruction Set Computer (RISC) Complex Instruction Set Computer (CISC)


Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
1. Arsitektur komputer dengan kumpulan perintah yang rumit (Complex Instruction Set Computer = CISC)
2. Arsitektur komputer dengan kumpulan perintah yang sederhana (Reduced Instruction Set Computer = RISC)

CISC dimaksudkan untuk meminimumkan jumlah perintah yang
diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit)

Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan, tetapi konsep ini menyulitkan dalam penyusunan kompiler bahasa pemrograman tingkat tinggi. Dalam CISC banyak terdapat perintah bahasa mesin.

RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam
penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi.

Konsep arsitektur RISC banyak menerapkan proses eksekusi pipeline. Meskipun jumlah perintah tunggal yang diperlukan untuk melakukan pekerjaan yang diberikan mungkin lebih besar, eksekusi secara pipeline memerlukan waktu yang lebih singkat daripada waktu untuk melakukan pekerjaan yang sama dengan menggunakan perintah yang lebih rumit.
Mesin RISC memerlukan memori yang lebih besar untuk
mengakomodasi program yang lebih besar.
IBM 801 adalah prosesor komersial pertama yang menggunakan pendekatan RISC.


Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat tentang karakteristik eksekusi instruksi.

Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.:
Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat tentang karakteristik eksekusi instruksi.

Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.: Operasi-operasi yang dilakukan:
Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya dengan memori.
Operand-operand yang digunakan:

Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya.
Pengurutan eksekusi:

Hal ini akan menentukan kontrol dan organisasi pipeline. Eksekusi Instruksi
Waktu eksekusi dapat dirumuskan sbb.:

Waktu eksekusi = N x S x T

Dengan
N adalah jumlah perintah
S adalah jumlah rata-rata langkah per perintah
T adalah waktu yang diperlukan untuk melaksanakan satu langkah

Kecepatan eksekusi dapat ditingkatkan dengan menurunkan nilai dari ketiga varisbel di atas.
Arsitektur CISC berusaha menurunkan nilai N, sedangkan Arsitektur RISC berusaha menurunkan nilai S dan T.
o Proses pipeline dapat digunakan untuk membuat nilai efektif S
mendekati 1 (satu) artinya komputer menyelesaikan satu perintah dalam satu siklus waktu CPU.
o Nilai T dapat diturunkan dengan merancang perintah yang sederhana.

Operand
Penelitian yang dilakukan Patterson terhadap frekuensi dinamik terjadinya kelas-kelas variabel dalam program pascal dan C menunjukkan bahwa mayoritas referensi menuju ke variable-variable skalar. Lebih dari 80% skalar bersifat variabel lokal. Penelitian tersebut menyatakan bahwa jenis arsitektur berpengaruh pada kecepatan pengaksesan operand.
Procedure Calls Prosedur call dan return merupakan aspek yang penting dalam program-
program HLL. Tabel 4.2 menunjukkan bahwa prosedur call dan return merupakan
operasi yang paling banyak membutuhkan waktu dalam program-program yang dikompilasi. Dua aspek yang lain adalah jumlah parameter dan variabel yang berkaitan dengan prosedur, dan kedalaman pensarangan (nesting).

Implikasi Hasil-hasil penelitian secara umum dapat dinyatakan bahwa terdapat tiga
buah elemen yang menentukan karakter arsitektur RISC. Pertama, penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand. Kedua, diperlukan perhatian bagi perancangan pipeline instruksi.
Karena tingginya proporsi instruksi pencabangan bersyarat danprosedur call, pipeline instruksi yang bersifat langsung dan ringkasakan menjadi tidak efisien. Ketiga, terdapat set instruksi yang disederhanakan (dikurangi). Keinginan untuk mengimplementasikan keseluruhan CPU dalam keping tunggal akan merupakan solusi Reduced Instruction Set.

Penggunaan File Register Besar
Terdapat statement assignment yang jumlahnya banyak dalam program-program HLL, dan banyak diantaranya berupa statement assignment sederhana seperti A = B.
Di samping itu, terdapat pula akses operand per statement HLL dalam jumlah yang cukup besar.
Apabila kita menghubungkan kedua di atas dengan kenyataan bahwa sebagian besar akses adalah menuju ke skalar-skalar lokal, maka sangat mungkin kita memerlukan penyimpanan register yang besar. Alasan diperlukannya penyimpanan register adalah register merupakan
perangkat penyimpanan yang paling cepat, yang lebih cepat dibandingkan dengan memori utama dan memori cache. Dimungkinkan untuk menerapkan dua buah pendekatan dasar, yaitu
berdasarkan perangkat lunak dan perangkat keras. Pendekatan perangkat lunak mengandalkan kompiler untuk memaksimalkan pemakaian register. Pendakatan ini membutuhkan
algoritma analisis program yang canggih. Pendekatan perangkat keras dilakukan hanya dengan
memperbanyak jumlah register sehingga akan lebih banyak variabel yang dapat ditampung di dalam register dalam periode waktu yang lebih lama.

Register Windows
Jendela register dibagi menjadi tiga buah daerah yang berukuran tetap. Register-register parameter menampung parameter-parameter yang dilewatkan dari prosedur.
Register-register lokal
Digunakan untuk variable lokal, setelah di-assign oleh kompiler. Register-register tenporer
Digunakan untuk pertukaran parameter. verlap ini memungkinkan parameter-parameter dapat dilewatkan tanpa perpindahan aktual data.
label-variabel Globaleknik Register Windows memberikan organisasi yang efisien untuk
enyimpanan variable skalar lokal di dalam register. kan tetapi teknik ini tidak dapat memenuhi kebutuhan penyimpanan
variabel global, yang diakses oleh lebih dari sebuah prosedur (misalnya, variabel COMMON dalam FORTRAN). terdapat dua pilihan untuk memenuhi hal tersebut. Pertama,
Variabel-variabel yang dideklarasikan sebagai global pada HLL dapat disediakan lokasi-lokasi oleh kompiler. Namun, bagi yang sering mengakses variabel-variabel global, teknik tersebut tidaklah efisien. Alternatifnya adalah melibatkan kumpulan register global di dalam
CPU. Register-register ini harus memiliki jumlah yang tetap dan dapat dipakai oleh semua prosedur.
mengapa CISC?mlah instruksi yang banyak dan instruksi yang lebih kompleks. ua alasan utama yang menjadi motivasi kecenderungan ini : adanya keinginan untuk menyederhanakan kompiler dan keinginan untuk peningkatkan kinerja. lasan penting lainnya adalah harapan bahwa CISC akan menghasilkan yang terbaru, yang dikenal sebagai Pentium, memiliki beberapa karakteristik RISC.

Ciri-ciri RISC:Instruksi berukuran tunggal Ukuran yang umum adalah 4 byte. Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima
buah. Tidak terdapat pengalamatan tak langsung. Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmetika (misalnya, penambahan dari memori, penambahan ke memori).

Beberapa elemen penting pada arsitektur RISC : Set instruksi yang terbatas dan sederhana Register general-purpose yang berjumlah banyak, atau penggunaan
teknologi kompiler untuk mengoptimalkan pemakaian registernya. Penekanan pada pengoptimalan pipeline instruksi.........



SUPERSCALAR
Definisi dan Perkembangan Superscalar[1]

Superscalar adalah arsitektur prosessor yang memungkinkan eksekusi yang bersamaan (parallel) dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain.

Pipeline sendiri adalah meningkatkan kinerja komputer dengan cara saling overlap tahapan dari instruksi yang berbeda.

Pada pipenline untuk melakukan proses (stages) overlapping dibutuhkan paling tidak setengah clock. Sedangkan superscalar mengijinkan proses untuk bekerja secara bersamaan pada saat clock yang sama.

Superscalar ini menerapkan suatu bentuk paralel disebut-tingkat instruksi paralel dalam satu prosesor, sehingga memungkinkan lebih cepat. Sebuah prosesor superscalar melaksanakan lebih dari satu instruksi selama satu jam secara bersamaan dengan siklus dispatching beberapa petunjuk ke membazir fungsional unit pada prosesor. Setiap unit fungsional tidak terpisah CPU inti, tetapi sebuah sumber daya eksekusi dalam satu CPU seperti aritmetika logis unit, sedikit Shifter, atau kelipatan.

Perkembangan superscalar pertama kali diawali oleh Seymour Cray's CDC 6600 dari 1965 sering disebut sebagai pertama superscalar desain. Intel i960CA (1988) dan seri AMD 29000-29050 (1990) mikro yang komersial pertama chip tunggal superscalar mikro. CPU RISC seperti ini membawa konsep superscalar untuk mikro komputer RISC karena hasil desain yang sederhana inti, agar mudah instruksi dispatch dan keterlibatan beberapa unit fungsional (seperti ALUs) pada satu CPU dalam rancangan peraturan yang terpaksa waktu. Ini adalah alasan yang RISC desain yang lebih cepat dari CISC desain melalui ke dalam tahun 1980-an dan 1990-an.[2]

Kecuali untuk digunakan dalam beberapa CPU-daya baterai perangkat, pada dasarnya semua tujuan-CPU umum dikembangkan sejak 1998 adalah superscalar. Diawali dengan "P6" (Pentium Pro dan Pentium II) pelaksanaan, Intel x86 arsitektur mikro yang telah menerapkan CISC pada set instruksi RISC superscalar mikro. Kompleks petunjuk yang diterjemahkan secara internal ke-RISC seperti "micro-ops" set instruksi RISC, prosesor yang memungkinkan untuk mengambil keuntungan dari performa yang lebih tinggi-prosesor yang melandasi tetap kompatibel dengan prosesor Intel sebelumnya.[2]

Contoh Penerapan Superscalar [1]

Contoh CPU yang telah menerapkan arsitektur superscalar :

Intel Processors
• 486, Pentium, Pentium Pro

Superscalar Processor Design
• Use PowerPC 604 as case study
• Speculative Execution, Register Renaming, Branch Prediction

More Superscalar Examples
• MIPS R10000
• DEC Alpha 21264

Berikut perbandingan superscalar dengan system i386
Cycles Per Instruction
Instruction Type 386 Cycles 486 Cycles
Load 4 1
Store 2 1
ALU 2 1
Jump taken 9 3
Jump not taken 3 1
Call 9 3

Superscalar dapat mengeksekusi instruksi 1 (I1) dan instruksi 2 (I2) secara pararel dengan syarat
– Keduanya instruksi yang sederhana
– I1 tidak melakukan proses jump
– Tujuan (destination) dari I1 bukan sumber (source) dari I2
– Tujaun (destinition) dari I1 bukan tujuan (destination) dari I2

Jika kondisi diatas tidak dapat dipenuhi
– I1 melakukan proses U-pipe
– I2 dijalankan di cycle berikutnya.


Pustaka:
[1] Superscalar VS Pipelining
[2] Superscalar Processor