Selasa, 25 Maret 2014

jaringan komputer

Khusus bagian ini, sepertinya lebih enak kalo saya cerita-cerita aja pengalaman waktu saya belajar tentang jaringan komputer dari nol. Seperti biasa, cara berpikir saya selalu konseptual (halah..) maksudnya saya selalu berpikir tentang sesuatu dari hal yang paling terkecilnya. Peduli amat orang lain yang kalo belajar jaringan suka loncat sana loncat sini. Bahkan ada yang langsung belajar hacking… (huh, ngerti opooo kamu kalo ditanya konsep hacking tersebut wahai anak muda??)

Oke pertama-tama, waktu itu ada suatu hal yang membuat saya tertarik dengan dunia networking. (penting nih.. semoga passion kita terhadap jaringan komputer sama ya! hehe) Yaitu disinilah inti dari ilmu konektivitas (bener gitu nulisnya? atau koneksitivitas? Hahaha). Mulai dari bagaimana mengirim informasi dari satu komputer hingga bisa nyampe ke komputer yang lain, iseng me-redirect (mengubah jalur) paket, sampai masalah manipulasi dan mengintip data yang lalu-lalang di dalam jaringan. For Your Info: sebenarnya ada disiplin ilmu yang lain di dunia komputer. Contoh saja: Programming, Multimedia, Database, Artificial Intelligence, Information System Analyst & Developer, dsb… Tapi saya tetap tertarik dengan dunia Networking karena motivasi klasik anak muda jaman sekarang, yaitu pengen jadi Hacker.. hehe… dan sampe sekarang keinginan ini belum kesampaian.. Apakah bidang lain seperti misalnya programming, ga bisa jadi hacker? Oh, jadi bingung juga nih saya.. haha. Ya bisa lah! Asal tau aja, sebenarnya hacking itu adalah suatu tindakan yang membuat sesuatu menjadi indah atau sesuai keinginan kita. Kalo mau pake contoh kasar nih.. hacking itu seperti masang N.O.S. di mobil Anda. Itu bisa dikategorikan sebagai Engine Accelerator Hacking (hahaha) atau contoh kasar yang lainnya, nyalain motor yang koncinya hilang pake konci “T” (wahahaha). Catat boy, ini cuma contoh kasar… Sebelum lupa nih, ada pesen… prinsip hacking adalah tidak ada keterbatasan berkreasi! Titik! Jadi, jika kita nge-gas mobil tapi kecepatan segitu-gitu aja, terus kita pengen coba-coba “berkreasi” untuk ngebut, timbullah ide hacking mobil pake N.O.S ‘kan?? Hehehe… Lanjut…
Sebenarnya istilah hacking lebih lumrah digunakan dalam dunia maya daripada dunia nyata. Nah kalo contoh hacking di dunia maya (ini baru contoh hacking yg pada tempatnya!!!) yaitu: melakukan optimasi pada kernel sistem operasi, memby-pass login yang mengganggu bagi kita (hihi) , melakukan audit kemanan sistem kita sendiri, dan sebagainya. Perlu untuk diketahui, hacking bukan suatu tindakan yang merusak, bukan juga berarti membuat sistem anda tetap sehat (berdasar contoh tadi, bisa jadi klo pake N.O.S terus, bahan bakar cepet abis.. rugi kan?! Hihi..). Kalau untuk tindakan hacking yang merusak, para kaum Elite Hacker yang baik hati lebih sering mendiskreditkan mereka, dan menyebut mereka sebagaiCracker. Ok, kembali ke pertanyaan tadi… Seorang programmer tentu bisa menjadi seorang hacker! Setelah anda mengerti apa arti hacking tadi, mestinya anda sudah bisa membayangkan, misalnya ada seorang programmer yang mengetes bug (kelemahan) aplikasinya. Contoh nya: ada sebuah aplikasi yang cuma bisa menerima input bertipe data integer (angka). Suatu saat sang programmer ini melakukan hacking terhadap aplikasinya dengan mencoba memasukkan data bukan integer, tapi bertipe char: “halo” ke sistem aplikasinya. Kemudian aplikasinya menjadi error dan hang. Inilah hacking (dan serendah-rendahnya hacking sepertinya.. hihi) dan sang programmer sudah bisa di akui sebagai hacker kalau menurut hemat saya. Lah gitu-gitu dia juga udah melakukan application hacking. Hacker ‘kan orang yang melakukan tindakan hacking!!
Oke, sekarang saatnya kita ke fundamental jaringan komputer itu sendiri. Waktu itu saya mulai belajar dari banyak referensi. Mikir ala saya adalah mikir dari hal tersimpel… Ini berarti:
  • Komputer itu sebenernya bisa berdiri sendiri (dikenal dengan istilah STANDALONE) tanpa jaringan ke komputer-komputer lain..
  • Komputer bisa dikoneksikan dengan komputer lain (dan mulai dari sinilah bahasan jaringan komputer)
  • Oo.. ternyata device-device yang lain, asal saling terkoneksi, juga dianggap suatu jaringan… Jadi untuk komputer, printer, atau alat-alat lain yg terkoneksi dalam jaringan biasa disebut dengan istilah NODE
Kemudian setelah itu baru saya belajar soal pengklasifikasian item jaringan:
  • Ada yang dikategorikan sebagai Network-Device: yaitu node-node pada end-point jaringan. Kalo dengan gambar topologi, letak node ini di titik-titik ujung. Tidak ada percabangan dari node ini. Contohnya adalah: Workstation (PC), Laptop, IP-Cam, Server, dsb
  • Ada yang dikategorikan sebagai Network-Communication-Device: yaitu node-node yang menjadi tempat transit dan relay proses komunikasi antara Network-Device. Contohnya adalah: Hub, Switch, Router, Access Point, Repeater, dsb
  • Ada yang dikategorikan sebagai Network-Medium: yaitu media fisik tempat lalu-lalangnya paket dalam jaringan. Yang menghubungkan antara Network-Device dengan Network-Communication-Device. Contohnya adalah: Wired (kabel) dan Wireless (nirkabel/memanfaatkan gelombang radio)
    Wired sendiri dibagi menjadi beberapa bagian… ada yang kabel tembaga, kabel serat optik, dsb. Wireless juga dibagi sesuai teknologinya dan kelebihan masing-masing. Ada Infra-red, bluetooth, WiFi, WiMAX, GPRS, 1X, EVDO, dst… Sebenarnya semua yang saya sebutkan tadi adalah Wireless! (Suka gak nyadar ya? Miriknya Wireless tu cuman WiFi Hotspot kampus doang.. hehe) Yang membedakan satu dengan yang lainnya adalah TEKNOLOGInya. Paham?
  • Ada yang dikategorikan sebagai Network-Interface: yaitu antarmuka yang menerima segala paket data dari Network-Medium. Contohnya adalah: LAN Card, Wireless Card, TokenRing Card, dan jangan salah, antena receiver handphone anda juga adalah sebuah Network-Interface!!
  • Terakhir, ada yang dikategorikan sebagai Network-Operating-System, yaitu segala jenis software (program) yang dapat membuat proses kerja komunikasi antara node-node menjadi mungkin terjadi. Coba anda pikirkan aja, kalo ga ada Network-Operating-System semua node-node yang telah terhubung di point-point sebelumnya hanyalah rongsokan yang mungkin “hanya” saling mentransfer listrik yang tak bermakna hehe… Contohnya adalah: seluruh protokol komunikasi (DNS, HTTP, TCP, UDP, IP, ICMP, ARP, MAC Address, dkk), juga termasuk Sistem Operasi tiap node (ex: GNU/Linux, CISCO IOS, Microsoft Windows, Apple, dsb)
Untuk contoh dengan gambarnya (biar lebih jelas) adalah sebagai berikut:
Contoh Topologi Jaringan Sederhana
Contoh Topologi Jaringan Sederhana
Dari gambar ini, kita bisa mengklasifikasikan:
  • Network-Device: PC, IP-Cam (CCTV), Server, Laptop
  • Network-Communication-Device: Switch, Router, Access Point
  • Network-Medium: Kabel UTP, Kabel Fiber Optic, WiFi 802.11b
  • Network-Interface: LAN Card (PC, IP-Cam, Router), F.O. Modulator (Server, Router), Wireless Card (Laptop)
  • Network-Operating-System: Susah dijelaksan dari gambar hehe.. tapi konkritnya adalah misal kita dari Laptop melakukan perintah “ping” (kirim paket kecil untuk mengetes koneksi) menuju ke PC terus mendapat balasan, sebenarnya itu adalah hasil kerja dan bantuan dariNetwork-Operating-System dengan protokol ICMP nya. Betul kan? Hehe…
Seinget2 saya waktu itu setelah memahami pengklasifikasian suatu item dalam jaringan, barulah saya mulai cari-cari informasi tentang bagaimana cara node-node ini saling berkomunikasi (memperdalam ilmu tentang tugas2 dari protokol-protokol dalam Network-Operating-System…)
Karena sebenarnya tugas protokol itu tidak gampang. Mereka adalah sebagai penerjemah dari node-node yang berkomunikasi. Tiap node belum tentu sama sistemnya. Misalnya, ada sistem Windows yang ingin mengakses sistem Linux. Sudah menjadi tugas protokol untuk menjadi “penerjemah” kedua node tersebut. Analoginya adalah ketika orang Jepang berkomunikasi dengan orang Arab… tentu harus ada standar bahasa agar mereka bisa berkomunikasi secara global (pake bahasa Inggris kamsudna.. haha)
Sekitar tahun 1960an (kalo saya gak salah) dicetuskanlah standarisasi komunikasi data oleh ISO. Dengan menggunakan Layer OSI (singkatan Open System Interconnection gitu?? hihi lupa) seluruh vendor pembuat mesin komputer mengambil referensi untuk komunikasi di jaringan dari situ. ISO/OSI membagi proses komunikasi ke dalam 7 layer… tiap layernya memiliki fungsi tertentu dan independen. Ke-tujuh layer ISO/OSI tersebut adalah:
  1. Layer Fisik
  2. Layer Data-Link
  3. Layer Network
  4. Layer Transport
  5. Layer Session
  6. Layer Presentation
  7. Layer Application
Mari kita bahas satu-satu secara singkat ajah…
  • Layer Fisik: bertugas untuk mengirim dan menerima bit-bit listrik (Skip… Ini mah maenannya orang elektro.. hehe)
  • Layer Data-Link: bertugas untuk menyediakan transmisi fisik dari data, menangani notifikasi error, informasi topologi jaringan, flow control, menerjemahkan bit-bit agar menjadi paket-paket untuk layer Network, menerjemahkan paket-paket agar menjadi bit-bit untuk layer Fisik
  • Layer Network: bertugas untuk mengelola pengalamatan suatu paket
  • Layer Transport: bertugas untuk melakukan segmentasi, menyatukan data yang tersegmentasi, melakukan hubungan logic dengan node yang lain dalam jaringan
  • Layer Session: bertugas untuk membentuk, mengelola, dan memutuskan sesi transport dari dan ke layer presentation
  • Layer Presentation: bertugas untuk menyajikan data untuk layer paling atas (Layer Application), melakukan encode format file, program, data, dsb
  • Layer Application: bertugas sebagai tempat untuk berintarksi dengan program (aplikasi) pada komputer . Program (aplikasi) tersebut yang tentu saja nantinya akan diakses oleh manusia (user)
Nah, sebetulnya ini hanya merupakan standar de-jure dari komunikasi data. Atau dengan kata lain, ISO/OSI menjadi tempat mengacu standarisasi komunikasi data. Tapi pada kenyataannya, (de-facto) TCP/IP adalah protokol yang dipakai untuk berkomunikasi antar node.
TCP/IP adalah protokol yang dikembangkan oleh ARPA, sebuah organisasi riset dibawah Dept. Pertahanan Amerika (klo ga salah). ARPA ini yang “menemukan” dan “menciptakan” internet (INTERconnection-NETworking, sebuah metode untuk saling mengkoneksikan antar Network/Jaringan lokal), dan berkomunikasi antar node di internet itu dengan menggunakan protokol TCP/IP. Sampai saat ini, protokol TCP/IP adalah protokol yang paling populer digunakan untuk berkomunikasi antar node di internet. Saya juga yakin 99,0939938%, saat ini anda menggunakan protokol TCP/IP ketika mengakses web ini dari Internet… Oh iya perlu untuk diketahui, jangan salah kaprah dengan internet “i” kecil dengan Internet “I” besar. “Internet” adalah sebuah produk yang hebat dari “internet”. Yang mana kita ketahui sebelumnya, metode “internet” yang ditemukan oleh ARPA itu diimplementasikan di seluruh dunia ini, sehingga saya yang ada di Bandung ini, bisa berkomunikasi dengan anda yang lagi ada di Zimbabwe, eh.. salah? Anda dimana dong? Hahahah…. Ah, tapi suka males nulis “i” gede… Biarin ah.. terserah aja lah kalo gitu! Hehehe…
Selain TCP/IP ada juga protokol yang dikembangkan oleh berbagai organisasi atau tim riset (atau apalah…) di dunia ini. Diantaranya :
  • IPX/SPX
  • NETBEUI
  • saya lupa lagi.. hahahahahahaha…
Sebelum tulisan bagian 1 ini saya akhiri, saya akan menjelaskan sedikit tentang protokol terpopuler itu.. yang tadi telah saya sebutkan namanya… TCP/IP.. TCP/IP juga tetep ngikutin layer ISO/OSI… Oke? Jadi dalam TCP/IP ada 5 layer (Layer 5,6,7 pada ISO/OSI dijadikan 1 Layer pada TCP/IP):
  1. Layer Fisik. Contoh: mm.. listriknya maybe.. hahah..
  2. Layer Data-Link. Contoh: MAC Address, ARP, dst……………..
  3. Layer Network. Contoh: IP, ICMP, dst……………..
  4. Layer Transport. Contoh: TCP, UDP, dst……………..
  5. Layer Application. Contoh: DNS, HTTP, dst……………..
Oke saya rasa cukup dulu sampai disini. Semoga anda semakin cinta dengan jaringan. Dan mengerti konsep jaringan itu ternyata rumit juga jobdesctiap-tiap protokolnya. Haha… Tunggu kotrat-kotret kedua saya tentang TCP/IP… Mari kita perdalam yang populer aja… :P

Tidak ada komentar:

Posting Komentar