Rabu, 06 Januari 2010

ARP, ICMP, HUB n SWITCH

1.Address Resolution Protocol (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)



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.


2.Internet Control Message Protocol

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.
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 (error reporting mechanisme). 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 tersebut. 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.

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.




3.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.
Hub bekerja pada layer 1 OSI yang berfungsi untuk memperluas distribusi media (dalam hal ini Ethernet) dari hanya satu kabel menjadi beberapa kabel untuk didistribusikan. Semua peralatan yang tersambung dengan hub berarti dalam satu collision domain dan satu broadcast domain. Semua peralatan yang tersambung dengan hub saling berbagi bandwidth. Semakin banyak host yang terhubung, maka semakin besar terjadinya collision (tabrakan) untuk itu perlu diterapkan teknologi CSMA/CD (Carrier Sense Multiple Access/Collision Detector)
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.
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.
Switch adalah peralatan layer 2 OSI yang digunakan sebagai Frame Forwarder. Switch mempunyai fungsi yang sama dengan Bridge. Switch dapat disebut sebagai pengembangan dan penerus Bridge. Tugas utama dari Bridge adalah menerima frame dari port asal (incoming/source) dan meneruskannya ke tujuan (destination port).
Bridge menyiapkan MAC Address Table yang membantu Bridge untuk mengetahui ke port mana frame tersebut harus diteruskan. Pada saat dihidupkan, tabel Mac ini kosong. Setelah menyiapkan tabel pada Content Addressable Memory (CAM), Bridge mulai mendengar (listen) frame yang masuk pda port.
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.

Senin, 21 Desember 2009

(CARRIER SENSE MULTIPLE ACCESS PROTOCOLS)

CSMA

Suatu teknik kontrol akses media untuk media transmisi multiple access. Sebuah stasiun yang ingin melakukan transmisi pertama-tama harus mengetahui kondisi media dan baru bisa melakukan transmisi bila media dalam satu idle.
  • Propagasi waktu sangat sedikit dibanding waktu transmisi
  • Semua stasiun mengetahui bahwa suatu transmisi telah dimulai hampir dengan seketika
  • Pertama dengarkan untuk medium jelas bersih (pengangkut merasakan)
  • Jika medium kosong, memancarkan
  • Jika dua stasiun start pada saat yang bersamaan, terjadi benturan
  • Nunggu waktu layak ( perjalanan pulang pergi ACK perkelahian lebih)
  • Tidak ada ACK kemudian memancarkan kembali
  • Max Pemanfaatan tergantung pada waktu propagasi ( panjangnya medium) dan membingkai panjangnya
  • Bingkai lebih panjang dan propagasi lebih pendek memberi pemanfaatan lebih baik
Dengan CSMA, sebuah station yang ingin melakukan transmisi, pertama-tama menentukan terlebih dahulu apakah station yang lain sedang menggunakan kanal. Bila medianya sedang digunakan, station harus menunggu. Bila media tidak dalam keadaan sibuk, barulah station bisa melakukan transmisi.yang akan terjadi adalah dua station atau lebih akan berusaha melakukan transmisi pada saat yang sama. Bila hal ini terjadi, maka muncullah collision, data dari kedua transmisi tersebut akan kacau dan tidak bisa diterima dengan baik. Untuk menghindari hal ini, station menunggu beberapa saat yang memungkinkan setelah melakukan transmisi agar mendapat balasan. Bila tidak ada balasan, station mengasumsikan telah terjadi collision dan harus dilakukan transmisi ulang.



Gambar CSMA/CD


Addressing (pengalamatan)

Setiap komputer, device atau stasion dalam LAN memiliki NIC (Network Interface Card). NIC ini memiliki 6-byte alamat fisik (physical address).

Data rate (laju data)

Ethernet LAN dapat mendukung laju data antara 1 sampai 10 Mbps, sedangkan Fast Ethernet mendukung hingga 100 Mbps dan yang terakhir GigaBit Ethernet hingga 1Gbps.

Frame Format (format bingkai)

Pada Gambar berikut ini dapat dilihat sebuah Ethernet frame. Sebagai catatan tambahan, bahwa Ethernet tidak menyediakan suatu mekanisme untuk acknowledge frame yang diterima, sehingga hal ini bisa dikatakan sebagai media yang unreliabel. Namun demikian acknowledgement diimplementasikan pada layer di atasnya. Sebagai keterangan isi bingkai ethernet adalah sbb:

  • Preamble : memuat 7 byte (56 bit) rangkaian bolak-balik bit 0 dan 1. Kegunaannya untuk sinkronisasi pada komputer penerima.
  • Start frame delimiter : berisi 1 byte dengan nilai (10101011). Digunakan sebagai flag dan sinyal mulainya frame.
  • Destination address : Berisi 6 byte yang memuat physical address untuk komputer yang dituju.
  • Source address : Berisi 6 byte yang memuat physical address untuk komputer pengirim.
  • Type : berisi informasi yang menentukan jenis data yang dibungkus (encapsulated) pada frame.
  • Data : berisi data dari lapisan di atasnya. Panjang data harus berkisar antara 46 dan 1500 byte. Apabila data yang didapat dari lapisan di atasnya kurang dari 46 byte, maka ditambahkan byte2 yg disebut padding sehingga melengkapi jumlah minimum yakni 46 byte. Namun apablia besar data lebih dari 1500 byte, maka lapisan di atasnya harus mengfargmentasikannya dalam pecahan-pecahan 1500 byte.
  • Cyclic redudancy check : berisi 4 byte sebagai error detection. Jenis CRC yang digunakan adalah CRC-32.

GAMBAR Format Frame Ethernet



Operasi CSMA/CD

CSMA meskipun lebih efisien dibanding ALOHA dan slotted ALOHA, masih memiliki satu inefisiensi yang menyolok. Bila dua frame saling bertabrakan, media menjadi tidak bisa digunakan selama durasi pentransmisian frame-frame yang mengalami kerusakan. Untuk frame-frame yang panjang, yang dibandingkan dengan waktu perambatan, jumlah kapasitas yang terbuang percuma bisa dipertimbangkan. Kapasitas yang terbuang percuma ini bisa dikurangi jika station terus memperhatikan media sembari melakukan transmisi.
Hal ini membawa beberapa aturan untuk CSMA/CD:
  • Bila media dalam status tidak sibuk, lakukan transmisi, jika sibuk, langsung ke tahap 2.
  • Bila media dalam keadaan sibuk, terus memperhatikan sampai kanal dalam status tidak sibuk, kemudian lakukan transmisi.
  • Bila collision terdeteksi selama masa transisi, sinyal gangguan singkat ditransmisikan untuk memastikan bahwa seluruh station mengetahui bahwa telah terjadi collision dan transmisi berhenti.
  • Setelah mentransmisikan sinyal gangguan, menunggu beberapa waktu random, kemudian barulah berupaya melakukan transmisi lagi (mulai dari tahap 1 lagi).

Minggu, 25 Oktober 2009

TCP dan UDP

TCP (Transmission Control Protocol)

TCP memiliki karakteristik sebagai berikut:

Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan (kontigu). Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference Model), yang harus menerjemahkan byte stream TCP ke dalam "bahasa" yang ia pahami.
Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat "macet" jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
Mengirimkan paket secara "one-to-one": hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.


Beberapa port dalam TCP




Fungsi TCP

TCP bertugas memecah pesan-pesan menjadi beberapa segment, menyatukan kembali (reassemble) pada stasiun tujuan, mengirimkan kembali apapun yang tidak diterima, dan menyatukan kembali pesan-pesan tersebut dari beberapa segment.
TCP menyediakan sirkuit virtual antara aplikasi end-user.

Keuntungan:

Menawarkan suatu teknologi untuk menghubungkan sistem-sistem yang tidak serupa. TCP/IP
termasuk routable dan dapat dihubungkan ke jaringan-jaringan berbeda melalui gateway.
Memungkinkan untuk melakukan server framework atau client yang termasuk cross-platform,
scalable, dan robust. Microsoft TCP/IP menawarkan WinSock interface, yang sangat ideal untuk
mengembangkan aplikasi-aplikasi client/server yang dapat beroperasi pada WinSock-compliant
stack dari vendor-vendor lain.
Memberikan suatu metode untuk memperoleh akses ke Internet. Dengan berhubungan ke
Internet, sebuah VPN (virtual private network) atau extranet dapat ditentukan, yang bisa
menghasilkan akses jarak jauh yang tidak mahal.

UDP (User Datagram Protocol)
 

UDP adalah sebuah connectionless transport protocol yang tidak memiliki connection setup, flow control, congestion control dan juga tidak reliable. Terlepas dari ketidakreliableannya, UDP mampu mengirim data dengan rate berapa saja walaupun tentu saja tidak djiamin data pasti akan sampai di penerima (ada kemungkinan terjadi data loss).

UDP memiliki karakteristik sebagai berikut:

Membutuhkan response yang cepat. UDP tidak memiliki connection state dan connection establishment sehingga mampu memberikan response yg cepat atas setiap request dari client.
Mentolerir data loss. Beberapa applikasi tidak terlalu sensitive terhadap kehilangan data (selama kehilangan tersebut tidak significant), sehingga ketidak reliablean UDP tidak begitu masalah bagi applikasi seperti ini
Membutuhkan kontrol yang lebih baik atas apa yang akan dikirim dan kapan data akan dikirim. Mekanisme kontrol koneksi yg dimiliki TCP akan membuat applikasi menjadi tidak luwes untuk menentukan kapan saat yg tepat untuk mengirim data sehingga bisa menimbulkan delay yg tidak dapat ditoleransi. Di samping itu, TCP akan tetap berusaha mengirimkan data (walaupun akan membutuhkan waktu yg lama) ketika terjadi kongesti, padahal beberapa aplikasi membutuhkan rate pengiriman yang
Memerlukan pengiriman data pada lebih dari 1 client, baik applikasi broadcast ataupun multicast. TCP tidak mampu melakukan broardcast ataupun multicast.

Beberapa port dalam UDP



Fungsi UDP sebagai berikut:
Protokol yang “ringan” (lightweight): Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol lapisan aplikasi Domain Name System.
Protokol lapisan aplikasi yang mengimplementasikan layanan keandalan: Jika protokol lapisan aplikasi menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari protokol seperti ini adalah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS)
Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.

Keuntungan:

UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah byte tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat dibebaskan lebih cepat.


Perbedaan antara TCP dan UDP


Senin, 05 Oktober 2009

DNS, Telnet, SMPT, TFTP

DNS (Domain Name System)

Merupakan layanan di Internet untuk jaringan yang menggunakan TCP/IP. Layanan ini digunakan untuk mengidentifikasi sebuah komputer dengan nama bukan dengan menggunakan alamat IP (IP address). Singkatnya DNS melakukan konversi dari nama ke angka. DNS dilakukan secara desentralisasi, dimana setiap daerah atau tingkat organisasi memiliki domain sendiri. Masing-masing memberikan servis DNS untuk domain yang dikelola. Suatu sistem database yang mengizinkan aplikasi TCP/IP menterjemahkan nama host ke dalam satu IP address. DNS (Domain Name Service) merupakan servis di Internet untuk network yang menggunakan TCP/IP. Servis ini digunakan untuk mengidentifikasi sebuah komputer dengan nama bukan dengan menggunakan nomor (alamat Internet). Komputer di Internet diidentifikasikan dengan angka, yaitu nomor IP. Misalnya, sebuah komputer memiliki nomor IP {192.168.1.1}. Komputer lebih mudah bekerja dengan angka, sedangkan manusia lebih mudah mengingat nama. Komputer dalam contoh ini dapat diberi nama {gareng}, misalnya. Singkatnya DNS melakukan konversi dari nama ke angka.
DNS dilakukan secara desentralisasi, dimana setiap daerah atau tingkat organisasi memiliki domain sendiri. Masing-masing memberikan servis DNS untuk domain yang dikelola. Untuk mengetahui nomor IP dari sebuah mesin (komputer) di Internet dapat digunakan beberapa program. Di sistem UNIX ada program host, Nslookup, dan dig.




TELNET ( Terminal Emulation)

Telnet adalah aplikasi remote login Internet. Telnet digunakan untuk login ke komputer lain di Internet dan mengakses berbagai macam pelayanan umum, termasuk katalog perpustakaan dan berbagai macam database. Telnet memungkinkan pengguna untuk duduk didepan komputer yang terkoneksi ke internet dan mengakses komputer lain yang juga terkoneksi ke internet. Dengan kata lain koneksi dapat terjadi ke mesin lain di satu ruangan, satu kampus, bahkan setiap komputer di seluruh dunia. Setelah terkoneksi, input yang diberikan pada keyboard akan mengontrol langsung ke remote computer tadi. Akan dapat diakses pelayanan apapun yang disediakan oleh remote machine dan hasilnya ditampilkan pada terminal lokal. Dapat dijalankan session interaktif normal (login, eksekusi command), atau dapat diakses berbagai service seperti: melihat catalog dari sebuah perpustakaan, akses ke teks dari USA today, dan masih banyak lagi service yang disediakan oleh masing-masing host pada di network. Telnet menggunakan 2 program, yang satu adalah client (telnet) dan server (telnetd). Yang terjadi adalah ada dua program yang berjalan, yaitu software client yang dijalankan pada komputer yang meminta pelayanan tersebut dan software server yang dijalankan oleh computer yang menghasilkan pelayanan tadi.




Gambar 1. Interaksi TELNET (Parker, 1994:117)




Gambar 2. Koneksi mesin ketika terjadi TELNER (Parker, 1994:118)



Tugas dari client adalah:
• Membuat koneksi network TCP (Transfer Control Protocol) dengan server.
• Menerima inputan dari user
• Menformat kembali inputan dari user kemudian mengubah dalam bentuk format standard
dan dikirim ke server.
• Menerima output dari server dalam format standard.
• Mengubah format output tadi untuk ditampilkan pada layar.

Sedangkan tugas dari server adalah:
• Menginformasikan software jaringan bahwa komputer itu siap menerima koneksi.
• Menunggu permintaan dalam bentuk format standard.
• Melaksanakan permintaan tersebut.
• Mengirim kembali hasil ke client dalam bentuk format standard.
• Menunggu permintaan selanjutnya.



SMTP (Simple Mail Transport Protocol)


SMTP (Simple Mail Transport Protocol) mendefinisikan cara bagaimana suatu Message Transport Agent (MTA) saling menukar e-mail dengan MTA yang lain. Prosesnya dapat dijelaskan sebagai berikut: pemakai (user) berinteraksi dengan User Agent (UA), yang kemudian pada gilirannya UA ini akan berinteraksi dengan MTA. MTA inilah yang kemudian akan meneruskan e-mail kepada MTA lainnya, dan juga MTA ini akan menerima pesan dari MTA lain untuk diserahkan kepada pemakai (user) melalui User Agent (UA).
E-mail client membuka sesi dengan melakukan inisialisasi sirkuit TCP/IP ke port 25, server SMTP kemudian memberikan respon dengan sebuah nomor ID dan status. Jika server tersedia untuk mentransfer pesan maka client dapat meneruskan sesi dan mentransfer pesan. Setelah koneksi TCP diinisialisasikan kemudian e-mail client mengirim perintah "HELO" bersama-sama dengan nama domainnya, hal ini bertujuan untuk memperkenalkan identitasnya kepada server sehingga bila server menerima perintah ini maka server akan menjawab bersama-sama dengan nama domainnya. Kemudian e-mail client akan mengirim perintah "MAIL FROM:". Selanjutnya e-mail client akan mengirimkan perintah "RCPT TO:".
Bila seluruh alamat e-mail dari penerima telah dikirim dan diterima oleh server, client kemudian mengirim perintah "DATA". Pesan tersebut akan dikirim oleh client jika server telah memberikan konfirmasi yang menyatakan siap untuk menerima data dari pesan e-mail tersebut. Bila telah selesai, selanjutnya client akan mengirim perintah terakhir yang akan menunjukkan bahwa pesan telah dikirim yaitu berupa titik("."), setelah server mengirimkan jawaban yang menyatakan bahwa pesan telah diterima maka client akan diberikan kesempatan untuk mengirim pesan lagi atau mengakhiri sesi tersebut yaitu dengan perintah "QUIT".


TFTP (Trivial File Transfer Protocol)


TFTP (Trivial File Transfer Protocol) adalah sebuah aplikasi File Transfer dengan menggunakan protokol UDP. Aplikasi ini dapat dipakai sebagai Server File Transfer Protokol dimana kita bisa menyimpan beberapa file, contohnya seperti menyimpan Running-config ataupun CISCO IOS dari peralatan Jaringan seperti CISCO. Selain itu TFTP juga banyak sekali keuntungannya, antara lain:
Trivia File Transfer Protocol (TFTP) merupakan dua file transfer protocol yang populer di dalam jaringan IP
TFTP melakukan perbaikan satu blok data application layer pada satu waktu
TFTP menggunakan kode lebih sedikit. Ia didesain agar sederhana (trivial), dengan jumlah memory yang sedikit untuk menjalankan kodenya. Karena protokol ini sangatlah sederhana, maka implementasi protokol ini dalam komputer yang memiliki memori yang kecil sangatlah mudah. Hal ini memang pertimbangan yang sangat penting pada saat itu. Akhirnya, TFTP pun digunakan untuk melakukan booting komputer seperti halnya router jaringan komputer yang tidak memiliki perangkat penyimpanan data. Protokol ini kini masih digunakan untuk mentransfer berkas-berkas kecil antar host di dalam sebuah jaringan, seperti halnya ketika terminal jarak jauh X Window System atau thin client lainnya melakukan proses booting dari sebuah host jaringan atau server

Minggu, 21 Juni 2009

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

CISC (Complex Instruction Set Computing)

Definisi dan Perkembangan CISC [1]

Complex Instruction Set Computing disingkat CISC (baca : “sisk”) merupakan rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang kompleks. Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi. Untuk tujuan contoh kita kali ini, sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang kita beri nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yag berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar.

MULT dalam hal ini lebih dikenal sebagai “complex instruction”, atau instruksi yang kompleks. Bekerja secara langsung melalui memori komputer dan tidak memerlukan instruksi lain seperti fungsi baca maupun menyimpan.
Satu kelebihan dari sistem ini adalah kompailer hanya menerjemahkan instruksi-instruksi bahasa tingkat-tinggi ke dalam sebuah bahasa mesin. Karena panjang kode instruksi relatif pendek, hanya sedikit saja dari RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut.

Pada dasarnya CISC merupakan kebalikan dari RISC, biasanya digunakan pada keluarga processor untuk PC (AMD, Cyrix). Para pesaing Intel seperti Cyrix dan AMD juga telah menggunakan chip RISC tetapi ia telah dilengkapi dengan penukar (converter) CISC.

Para perancang mikroprosesor mencari kinerja lebih bagus di dalam keterbatasan teknologi kontemporer. Pada tahun 1970-an misalnya, memori diukur dengan kilobyte dan sangat mahal saat itu. CISC merupakan pendekatan dominan karena menghemat memori.
Pada arsitektur CISC seperti Intel x86, yang diperkenalkan pada tahun 1978, bisa terdapat ratusan instruksi program - perintah-perintah sederhana yang menyuruh sistem menambah angka, menyimpan nilai dan menampilkan hasilnya. Bila semua instruksi panjangnya sama, instruksi sederhana akan memboroskan memori. Instruksi sederhana membutuhkan ruang penyimpanan 8 bit, sementara instruksi yang paling kompleks mengkonsumsi sebanyak 120 bit.

Walaupun instruksi dengan panjang bervariasi lebih sulit diproses oleh chip, instruksi CISC yang lebih panjang akan lebih kompleks. Bagaimanapun, untuk memelihara kompatibilitas software, chip x86 seperti Intel Pentium III dan AMD Athlon harus bekerja dengan instruksi CISC yang dirancang pada tahun 1980-an, walaupun keuntungan awalnya yaitu menghemat memori tidaklah penting sekarang.

Perbedaan RISC dan CISC[2]

Secara umum perbedaan antara RISC dan CISC dapat terlihat pada tabel di bawah ini:




















Terlihat beberapa perbedaan yang mencolok antara keduanya, pada daya yang dibutuhkan RISC membutuhkan sedikit daya dibandingkan dengan CISC. Kecepatan komputasi CISC jauh lebih unggul, kemudian dengan metode pengalamatan RISC lebih unggul dalam kecepatan dengan menggunakan pengalamatan secara langsung. Harga CISC puluhan kali lipat dari RISC karena kompleksotas dari CISC. Keduanya mengemisikan panas hanya saja pada CISC dibutuhkan sistem pendinginan. Untuk interrupt pada RISC lebih mudah diterapkan dan lebih cepat. Keuntungan dari CISC pada sistem operasi yang lebih mudah pengimplementasiannya dibandingkan dengan RISC.

Secara umum kelebihan dari RISC yaitu kesederhanaan dari instruksinya. Dengan jumlah instruksi yang lebih sedikit maka jumlah transistor yang dibutuhkan semakin sedikit yang tentu saja berujung pada murahnya sistem ini dibandingkan dengan seterunya. Selain itu dengan lebih sedikitnya instruksi hanya pada instruksi yang sering digunakan saja maka waktu komputasi computer akan semakin sedikit. Kelebihan utama dari RISC adalah fasilitas prefatch dan pipe line, untuk CISC sendiri eksekusi dilakukan secara sekuensial. Sedangkan untuk CISC, kelebihannya terdapat dalam pengimplementasian menggunakan software dimana akan lebih memudahkan programmer, dimana untuk RISC software yang dibuat akan jauh lebih kompleks dikarenakan instruksinya yang sedikit.


Pustaka :
[1] Kamus Komputer dan Teknologi Informasi
[2] RISC VS CISC

RISC (Reduced Instruction Set Computing)

Definisi dan Perkembangan RISC [1]

Pada dasarnya RISC merupakan rancangan arsitektur CPU yang mempunyai arti filosofi bahwa setiap prosesor dibuat dengan arsitektur yang tidak rumit dengan membatasi jumlah instruksi hanya pada instruksi dasar yang diperlukan saja. Rancangan ini berawal dari pertimbangan dan analisa model perancangan yang kompleks sehingga harus ada pengurangan set instruksinya. Konsep RISC pertama kali dikembangkan oleh IBM pada era 1970-an. Komputer pertama yang menggunakan RISC adalah komputer mini IBM 807 yang diperkenalkan pada tahun 1980. Dewasa ini, RISC digunakan pada keluarga processor buatan Motorola (PowerPC) dan SUN Microsystems (Sparc, UltraSparc).

RISC dikembangkan melalui seorang penelitinya yang bernama John Cocke, beliau menyampaikan bahwa sebenarnya kekhasan dari komputer tidaklah menggunakan banyak instruksi, namun yang dimilikinya adalah instruksi yang kompleks yang dilakukan melalui rangkaian sirkuit.

Pada desain chip mikroprosesor jenis ini, pemroses diharapkan dapat melaksanakan perintah-perintah yang dijalankannya secara cepat dan efisien melalui penyediaan himpunan instruksi yang jumlahnya relatif sedikit, dengan mengambil perintah-perintah yang sangat sederhana, akibatnya arsitektur RISC membatasi jumlah instruksinya yang dipasang ke dalam mikroprosesor tetapi mengoptimasi setiap instruksi sehingga dapat dilaksanakan dengan cepat.

Dengan demikian instruksi yang sederhana dapat dilaksanakan lebih cepat apabila dibandingkan dengan mikroprosesor yang dirancang untuk menangan susunan instruksi yang lebih luas.

Dengan demikian chip RISC hanya dapat memproses instruksi dalam jumlah terbatas, tetapi instruksi ini dioptimalkan sehingga cepat dieksekusi. Meski demikian, bila harus menangani tugas yang kompleks, instruksi harus dibagi menjadi banyak kode mesin, terutama sebelum chip RISC dapat menanganinya. Karena keterbatasan jumlah instruksi yang ada padanya, apabila terjadi kesalahan dalam pemrosesan akan memudahkan dalam melacak kesalahan tersebut.

Pada tahun 1980-an kapasitas modul memori meningkat dan harganya turun. Penekanan pada desain CPU bergeser ke kinerja, dan RISC menjadi trend baru. Contoh arsitektur RISC meliputi SPARC dari Sun Microsystems; seri MIPS Rxxxx dari MIPS Technologies; Alpha dari Digital Equipment; PowerPC yang dikembangkan bersama oleh IBM dan Motorola; dan RISC dari Hewlett-Packard.



Karekteristik RISC[2]

RISC mempunyai beberapa karakteristik, antara lain adalah

  • Siklus instruksi, merupakan siklus mesin yang ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU dan menyimpan hasil operasi ke dalam register. Dan instruksi ini biasa dibatasi dengan instruksi dasar saja.

  • Operasi Pertukaran Data, pertukaran data ini biasanya berbentuk register ke register yang mana mengoptimalkan penggunaan memori register agar siklus operasinya semakin cepat. Penggunaan register ini dikarenakan register merupakan memori yang paling cepat dibandingkan cache maupun memori utama.

  • Mode pengalamatan, fitur rancangan ini juga dapat menyederhanakan sel instruksi dan unit control. Yang mana dengan mode pengalamatan yang sederhana akan didapatkan operasi pengambilan data dan penyimpanan data semakin cepat.

  • Format instruksi, umumnya hanya digunakan sebuah format atau beberapa format saja untuk menyederhanakan implementasi perangkat kerasnya.


Ciri - Ciri RISC:[2]

  1. Instruksi berukuran tunggal.

  2. Ukuran yang umum adalah 4 byte.

  3. Jumlah pengalamatan data sediki, biasanya kurang dari 5 buah.

  4. Tidak terdapat pengalamatan tidak langsung yang mengharuskan melakukan sebuah akses memori agar memperoleh alamat operand lainnya dalam memori.

  5. Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika, seperti penambahan ke memori dan penambahan dari memori.

  6. Tidak terdapat lebih dari satu operand beralamat memori per instruksi.

  7. Tidak mendukung perataan sembarang bagi data untuk operasi load/store.

  8. Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuh instruksi.

  9. Jumlah bit bagi integer register spesifier sama dengan 5 atau lebih, artinya sedikitnya 32 buah register integer dapat direferensikan sekaligus secara eksplisit.

  10. Jumlah bit floating point register spesifier sama dengan 4 atau lebih, artinya sedikitnya 16 register floating point dapat direferensikan sekaligus secara eksplisit.




KELEBIHAN DAN KEKURANGAN TEKNOLOGI RISC[2]
RISC mempunyai beberapa kelebihan dan kekurangan, antara lain:


KELEBIHAN

  • Berkaitan dengan penyederhanaan kompiler, dimana tugas pembuat kompiler untuk menghasilkan rangkaian instruksi mesin bagi semua pernyataan HLL.

  • Instruksi mesin yang kompleks seringkali sulit digunakan karena kompiler harus menemukan kasus-kasus yang sesuai dengan konsepnya.

  • Pekerjaan mengoptimalkan kode yang dihasilkan untuk meminimalkan ukuran kode, mengurangi hitungan eksekusi instruksi, dan meningkatkan pipelining jauh lebih mudah apabila menggunakan RISC dibanding menggunakan CISC.

  • Arsitektur RISC yang mendasari PowerPC memiliki kecenderungan lebih menekankan pada referensi register dibanding referensi memori, dan referensi register memerlukan bit yang lebih sedikit sehingga memiliki akses eksekusi instruksi lebih cepat.

  • Kecenderungan operasi register ke register akan lebih menyederhanakan set instruksi dan menyederhanakan unit kontrol serta pengoptimasian register akan menyebabkan operand-operand yang sering diakses akan tetap berada dipenyimpan berkecepatan tinggi.

  • Penggunaan mode pengalamatan dan format instruksi yang lebih sederhana.

KEKURANGAN

  • Program yang dihasilkan dalam bahasa simbolik akan lebih panjang (instruksinya lebih banyak).

  • Program berukuran lebih besar sehingga membutuhkan memori yang lebih banyak, ini tentunya kurang menghemat sumber daya.

  • Program yang berukuran lebih besar akan menyebabkan menurunnya kinerja, yaitu instruksi yang lebih banyak artinya akan lebih banyak byte-byte instruksi yang harus diambil. Selain itu,Pada lingkungan paging akan menyebabkan kemungkinan terjadinya page fault lebih besar.





Pustaka :
[1] Kamus Komputer dan Teknologi Informasi
[2] ARSITEKTUR REDUCED INSTRUCTION
SET COMPUTERS (RISC)