Saturday, May 24, 2014

Membangun sebuah Jaringan Komputer

Seperti yang diketahui bahwa jaringan komputer alias computer network merupakan kumpulan dari komputer (hardware component / device) yang saling terhubung dan saling berbagi sumber daya. Ketika kita ingin membangun suatu computer network, ada beberapa hal yang harus diperhatikan karena membangun suatu infrastruktur jaringan komputer tidak semudah menghubungkan dua atau lebih komputer menggunakan peer-to-peer atau ad-hoc, apalagi membangun jaringan komputer untuk suatu organisasi besar.
Berdasarkan modul CNAP (Cisco Networking Academy Program) – CCNA Exploration Module 1 Network Fundamental, ada beberapa hal yang harus diperhatikan ketika membangun suatu jaringan komputer.
Pertama,  yang harus diperhatikan adalah FAULT TOLERANCE. Fault-tolerant menggambarkan sistem komputer atau komponen dirancang sedemikian rupa sehingga, dalam hal komponen gagal, komponen cadangan atau prosedur yang segera dapat mengambil tempatnya tanpa hilangnya layanan. Toleransi kesalahan dapat diberikandengan perangkat lunak, atau tertanam dalam perangkat keras, atau disediakan oleh beberapa kombinasi.
Dalam implementasi perangkat lunak, sistem operasi menyediakan antarmuka yang memungkinkan seorang programmer untuk "pos pemeriksaan" data penting di pra-ditentukanpoin dalam transaksi. Dalam implementasi perangkat keras (misalnya, dengan Stratus dan sistem operasi VOS), programmer tidak perlu menyadari fault-tolerant kemampuan mesin.
Pada tingkat hardware, toleransi kesalahan dicapai dengan duplexing setiap komponenhardware. Disk adalah cermin. Beberapa prosesor adalah "kunci-melangkah" bersama-samadan output mereka dibandingkan untuk kebenaran. Ketika anomali terjadi, komponen yang rusak ditentukan dan dibawa keluar dari layanan, tapi mesin tetap berfungsi seperti biasa.
2. Rollback
Rollback artinya pembatalan transaksi yang sedang berjalan ketika terjadi transaksi antara client & server terjadi crash maka untuk menghindari rusaknya data integrity maka dilakukan rollback pada transaksi yang mengalami crash. Rollback merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.
Kita dapat membatalkan seluruh perubahan data yang masih menggantung dengan menggunakan statement ROLLBACK. Hal-hal yang mengikuti ROLLBACK:
- Seluruh perubahan data dibatalkan.
- Keadaan data sebelumnya dikembalikan seperti semula.
- Penguncian terhadap baris-baris data yang diubah akan dibebaskan, baris-baris data tersebut sekaran tersedia kembali bagi user lain untuk melakukan perubahan data berikutnya.
Contoh:
Ketika berusaha menghapus satu record pada table TEST, secara tidak sengaja menghapus seluruh table. Betulkan kesalahan tersebut, lalu jalankan perintah yang sesuai, dan buatlah seluruh perubahan data menjadi permanen.

3. Firewall
Firewall adalah suatu perangkat lunak (software) yang dipasang dalam sebuah jaringan komputer dan berfungsi sebagai penghalang dari pembobolan akses untuk kepentingan tertentu layaknya sebuah saringan. Semua aktivitas masuk dan keluar ke suatu jaringan harus melalui penyaringan ini sehingga akses yang berbahaya bisa dibatasi. Saringan ini juga bisa digunakan untuk mencegah adanya pencurian data berharga dari jaringan dari pihak luar jaringan tersebut.
Firewall didesain untuk mengijinkan trusted data atau data yang dipercaya lewat, menolak layanan yang mudah diserang, mencegah jaringan internal dari serangan luar yang bisa menembus firewall setiap waktu.

Fungsi Firewall
1. Mengontrol dan mengawasi paket data yang mengalir di jaringan Firewall harus dapat mengatur, memfilter dan mengontrol lalu lintas data yang diizin untuk mengakses jaringan privat yang dilindungi firewall. Firewall harus dapat melakukan pemeriksaan terhadap paket data yang akan melawati jaringan privat. Beberapa kriteria yang dilakukan firewall apakah memperbolehkan paket data lewati atau tidak, antara lain :
  1. Alamat IP dari komputer sumber.
  2. Port TCP/UDP sumber dari sumber.
  3. Alamat IP dari komputer tujuan.
  4. Port TCP/UDP tujuan data pada komputer tujuan
  5. Informasi dari header yang disimpan dalam paket data.
2. Melakukan autentifikasi terhadap akses. 
3. Aplikasi proxy Firewall mampu memeriksa lebih dari sekedar header dari paket data, kemampuan ini menuntut firewall untuk mampu mendeteksi protokol aplikasi tertentu yang spesifikasi.
4. Mencatat setiap transaksi kejadian yang terjadi di firewall. Ini Memungkinkan membantu sebagai pendeteksian dini akan penjebolan jaringan
Fault tolerance atau toleransi kesalah merupakan suatu pemahaman dimana ketika membangun suatu jaringan, bagaimana seluruh infrastruktur yang dibangun dapat terus berjalan tanpa adanya gangguan. Dan ketika ada gangguan yang mungkin menyebabkan kesalahan dan kegagalan operasional, sistem tetap berjalan semestinya tanpa mengalami penurunan performa maupun berhentinya aktivitas sistem. Fault tolerance dilakukan dengan melakukan redundancy terhadap jaringan yang akan kita bangun. Redundansi dapat dilakukan dengan cara menduplikasi jalur (path) yang digunakan untuk mentrasmisikan informasi baik secara physical maupun logical. Contoh dari redundansi yang dapat dilakukan terhadap suatu jaringan komputer dapat dilihat pada gambar berikut.

http://proferyk.files.wordpress.com/2012/01/faultolerance.png?w=332&h=185
Jika kita perhatikan gambar di atas, nampak 4 buah router yang dihubungkan secara redundan. Router di kanan dan kiri masing-masing memiliki 2 link dimana hal ini bertujuan untuk mengantisipasi jika salah satu router terluar mati, maka koneksi dari netwok yang sejalur dengan router yang mati tersebut dapat terus berjalan. Pada gambar, walaupun router luar sebelah kiri mengalami kegagalan, namun network yang ada di sebelah kiri masih tetap bisa melakukan koneksi ke luar karena router dalam sebelah kiri memiliki link ke router luar sebelah kanan.
Fault tolerance juga berkaitan dengan failover cluster dan load balancing. Secara sederhana, failover cluster merupakan kumpulan dari device (misalnya server) yang saling terhubung dimana ketika salah satu server mengalami kegagalan operasional, maka server-server lain yang sedang aktif maupun menunggu trigger dari failed-server akan mengambil alih proses yang sedang dihandle oleh server yang mengalami kegagalan sistem tersebut. Sedangkan pengertian  load balancing secara sederhana, merupakan kumpulan dari device (misalnya server) yang saling terhubung dan saling berbagi sumber daya untuk menyeimbangkan (balance) beban kerja (workload) dalam mengelola proses. Berikut adalah definisi load balancing menurut Wikipedia.
Load balancing is a computer networking methodology to distribute workload across multiple computers or a computer cluster, network links, central processing units, disk drives, or other resources, to achieve optimal resource utilization, maximize throughput, minimize response time, and avoid overload. “

Kedua, yang harus diperhatikan ketika membangun suatu jaringan komputer adalah SCALABILITY. sebuah server harus dapat ditingkatkan kemampuannya, yaitu dari sisi performa, fungsi & penambahan jumlah klien. Scalability dibagi menjadi dua, yaitu :
  • Scale-Up, yaitu kemampuan server untuk di-upgrade komponen & periferalnya (misal : Processor atau RAM) sehingga performa-nya secara keseluruhan akan meningkat dan waktu penggunaan (life-cyle) bisa lebih lama.
  • Scale-Out, yaitu kemampuan unit server untuk ditambah (misal dari satu menjadi tiga unit) agar beban kerja pemrosesannya dapat dibagi rata dan lebih optimal. Misalnya : sebuah perusahaan membuat memisahkan fungsi web e-commerce pada server (Web Server) terpisah dari server database-nya. Salah satu implementasi dari Scale-Out adalah pada server rackmount dan blade system yang akan diterangkan selanjutnya.
Analogi :
  • Bayangkan sebuah PC rakitan yang akan di-upgrade dengan HDD kapasitas lebih besar. Kemampuan PC tersebut untuk mengakomodasi HDD lebih dari satu unit dan kapasitas yang lebih besar berarti disebut “Scalability Scale-Up”
  • Pada sebuah mainan Lego (balok bersusun), maka kita bisa menambah balok-balok baru dengan bentuk tertentu sehingga secara keseluruhan akan membuat lego model baru. Ini salah satu contoh dari “Scalability Scale-Out”.
Inti dari scalable adalah bagaimana menjaga performa dari jaringan komputer agar tidak berkurang ketika akan melakukan ekspansi jaringan( penambahan user dan netwok ).  Hal ini yang sering dialami oleh service provider (misalnya ISP) dimana walaupun pengguna ISP bertambah banyak, ISP harus tetap dapat menjaga performa dari jaringan yang dibangun.
http://proferyk.files.wordpress.com/2012/01/scalability.png?w=353&h=249
Ketiga, hal yang harus diperhatikan ketika membangun suatu jaringan komputer adalahQUALITY OF SERVICE. Berdasarkan Wikipedia, ” The quality of service (QoS) refers to several related aspects of telephony and computer networks that allow the transport of traffic with special requirements“. Nah kata kuncinya adalah requirement alias kebutuhan. Inti dari QoS dalam jaringan komputer adalah bagaimana kita membagi-bagi “jatah” resource sesuai dengan kriteria yang ditentukan dalam suatu organisasi, misalnya berdasarkan posisi jabatan atau departemen. Contoh simple dari QoS adalah seperti yang ditunjukkan gambar berikut.
http://proferyk.files.wordpress.com/2012/01/qos.png?w=366&h=239
Diasumsikan suatu perusahaan memiliki 3 layanan yang convergence, yaitu voice, financial transaction, dan web page. Ketika ketiga layanan ini digunakan secara bersama-sama dengan user yang sangat sedikit atau saling bergantian, maka performa dari jaringan akan seperti biasa, bahkan mungkin lebih cepat ketika kita sendirian yang menggunakannya. Namun ketika secara bersama-sama ketiganya dipakai oleh jumlah user yang banyak, apa yang terjadi? Ya, harus ada yang dikorbankan :D Jika tidak menerapkan QoS, maka mungkin tidak jelas layanan mana yang akan terkena imbasnya. Namun dengan menerapkan QoS, berarti kita menerapkan prioritas. Berdasarkan gambar di atas, VoIP memiliki prioritas yang paling tinggi. Finansial transaction medium priority, dan web page low priority. Dari priority yang diterapkan sudah jelas bahwa VoIP yang paling stabil jika ketiga layanan digunakan secara bersamaan.  Jadi semua jenis komunikasi melalui media yang sama, namun dengan prioritas yang berbeda.
Keempat, hal yang ahrus diperhatikan ketika membangun suatu jaringan komputer adalah SECURITY. Security alias keamanan dari jaringan kadang luput dari pengawasan kita dan bahkan terkesan kurang diperhatikan. Intinya adalah bagaimana membuat jaringan komputer yang kita bangun aman baik dari internal attacker maupun external attacker. Dalam security, ada 3 hal yang haus diperhatikan yaitu CIA (Confidentiality, Integrity, Availability).
Confidentiality = Bagaimana kerahasiaan dari informasi dan komunikasi bisa terjaga dan hanya user dengan privilege tertentu yang dapat mengaksesnya.
Intergrity = Bagaimana integritas dari suatu informasi dan komunikasi dapat dipertanggungjawabkan dan dipercaya, sehingga andaikan informasi berisi “A” maka harus sampai tujuan dengan isi “A” pula tanpa adanya perubahan secara ilegal.
Availabilty = Bagaimana suatu informasi dan komunikasi dapat selalu tersedia walaupun terjadi interverensi misalnya ketika jaringan terkena serangan DDoS dan virus, informasi yang diproses harus tetap tersedia meskipun infrastruktur jaringan baik secara fisik maupul logical mungkin terkena imbasnya. Availability juga berarti memiliki kepastian akses yang tepat dan dapat diandalkan untuk layanan data untuk pengguna yang berwenang.


sumber : http://proferyk.wordpress.com/



No comments:

Post a Comment