Lowongan Kerja Skripsi Gratis Jurnal Online STMIK AKBA STMIK AKBA YouTube LinkedIn Facebook Twitter Google+ RSS Desain Login

JARINGAN

LATAR BELAKANG DAN SEJARAH JARINGAN KOMPUTER

Ok. . , saat ini saya akan mencoba mengulas sedikit tetantang sejarah dan perkembangan Jaringan Komputer., Sejarah jaringan komputer global ( dunia ), dimulaipada tahun 1969, ketika Departemen Pertahan Amerika, membentuk Defense Advance Research Projects Agency ( DARPA ) yang bertujuan mengadakan riset mengenai ‘cara menghubungkan sejumlah komputer sehingga membentuk jaringan organik’.

Program riset ini kemudian dikenal dengan nama ARPANET ( Advance Research projects Agency Network ). pada tahun 1970, lebih dari 10 komputer telah berhasil dihubungkan ( satu dengan yang lain ), saling berkomunikasi, dan membentuk sebuah jaringan. pada atahun 1972, Roy Tomlinson berhasil menyempurnakan program e-mail yang ia ciptakan setahun yang lalu untuk riset ARPANET.

Program e-mail tersebut begitu mudah dan lansung populer saat itu. pada tahun yang sama, icon [@] diperkenalkan sebagai lambang yang menunjukkan “at” atau “pada”. Tahun 1973, jaringan komputer yang diberi nama ARPANET mulai dikembangkan meluas sampai luar Amerika Serikat. komputer di University College di London merupakan komputer diluar Amerika yang menjadi anggota jaringan ARPANET. pada tahu yang sama pula, dua orang ahli komputer Vinton Cerf dan Bob Khan mempresentasikan sebuah gagasan yang lebih besar yang menjadi cikal bakal pemikiran International Network. ide ini dipresentasikan untuk pertama kalinya di Sussex University.
Hari bersejarah berikutnya terjadi pada tanggal 26 Maret 1976. ketika itu, ratu Inggris berhasil mengirimkan sebuah e-mail dari Royal Signals and Radar Establishment di Malvern. setahun kemudian, lebih dari 100 komputer telah bergabung dalam system ARPANET dan membentuk sebuah jaringan atau Network.
Pada tahun 1979, Tom Truscott, Jim Ellis, dan Steve Bellovin menciptakan Newsgroups pertama yang diberi nama USENET ( User Network ). pada tahun 1981, France Telecommenciptakan sebuah gebrakan baru dengan meluncurkan telepon televisi pertama dunia ( orang dapat saling menelepon sambil berinteraksi denagan Video link ).
seiring dengan bertambahnya komputer yang membentuk jaringan, dibutuhkan sebuah protokol resmi yang dapat diakui dan diterima oleh semua jaringan. untuk itu, pada tahun 1982 dibentuk sebuah komisi Transmission Control Protocol ( TCP ) atau lebih dikenal dengan sebutan Internet Protocol ( IP ) yang kita kenal hingga saat ini. sementara itu, didaratan Eropa muncul sebuah jaringan tandingan yang dikenal dengan Europe Network ( EUNET ) yang meliputi wilayah Belanda, Inggris, Denmark, dan Swedia. Jaringan eunet ini menyediakan jasa e-mail dan newsgroup USENET.

Untuk menyeragamkan alamat jaringan komputer yang sudah ada, pada tahun 1984 diperkenalkan system dengan nama DOMAIN yang lebih dikenal dengan Domain Name System ( DNS ). dengan system DNS, komputer yang tersambung dengan jaringan melebihi 1.000 komputer. pada tahun 1987 diperkirakan komputer yang tersambung ke jaringan tersebut melonjak 10 kali lipat menjadi 10.000 komputer lebih.
Tahun 1988, Jarkko Oikarinen berkebangsaan Finlandia menemukan sekaligus memperkenalkan Internet Relay Chat atau lebih dikenal dengan IRC yang memungkinkan dua orang atau lebih pengguna komputer dapat berinteraksi secara langsung dengan pengiriman pesan ( Chatting ). akibatnya, setahun kemudian jumlah komputer yang saling berhubungan melonjak 10 kali lipat. tak kurang dari 100.000 komputer membentuk sebuah jaringan.pertengahan tahun 1990 merupakan tahun yang paling bersejarah, ketika Tim Berners Lee merancang sebuah programe editor dan browser yang dapat menjelajai komputer yang satu dengan yang lainnya dengan membentuk jaringan. programe inilah yang disebut WWW atau World Wide Web.

Tahun 1992, komputer yang saling tersambung membentuk jaringan sudah melampaui lebih dari stau juta komputer. pada tahun yang sama muncul satu istilah yang beken, yaitu Surfing ( Menjelajah ). tahun 1994, situs-situs Dunia mulai tumbuh dengan subur ( setidaknya, saat itu terdapat 3.000 alamat halaman ) dan bentuk pertama kalinya Virtual Shopping atau e-retail muncul diberbagai situs. Dunia langsung berubah dengan diluncurkannya perusahaan Search Engine Pertama, yaitu Yahoo!. yang dibangun oleh David Filo dan Jerry yang pada bulan April 1994. Netscape Navigator 1.0. diluncurkan dipenghujung tahun 1994.


Pengalamatan Pada TCP / IP


A. Pengalamatan

Untuk mengatur alamat masing-masing komputer pada suatu jaringan, digunakanlah IP Address. IP Address adalah suatu alamat yang diberikan ke peralatan jaringan komputer untuk dapat diidentifikasi oleh komputer yang lain. Dengan demikian masing-masing komputer dapat melakukan proses tukar-menukar data / informasi, mengakses internet, atau mengakses ke suatu jaringan komputer dengan menggunakan protokol TCP/IP. IP Address digunakan untuk mengidentifikasi interface jaringan pada host dari suatu mesin (komputer). IP Address terdiri dari sekelompok bilangan biner 32 bit yang dibagi menjadi 4 bagian. Masing-masing bagian terdiri dari 8 bit, yang berarti memiliki nilai desimal dari 0 sampai 255. Tiap 8 bit ini disebut sebagai oktet. Bentuk IP Address adalah sebagai berikut: 
 
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Setiap tanda simbol “x” dapat kita gantikan oleh angka 0 dan 1, misal :
11000000.10101000.00000000.00000001.
Notasi IP Address dengan bilangan biner seperti di atas tidak mudah kita baca dan hafalkan. Oleh karena itu, untuk memudahkan dalam membaca dan mengingat suatu alamat IP dalam jaringan, IP Address sering ditulis sebagai 4 bilangan desimal yang masing-masing dipisahkan oleh sebuah titik. Setiap bilangan desimal tersebut merupakan nilai dari satu oktet (8 bit) IP Address, misalnya :

11000000.10101000.00000000.00000001
192 . 168 . 0 . 1

IP Address dapat dipisahkan menjadi dua bagian, yaitu host ID dan network ID. Host ID berfungsi untuk mengidentifikasi host dalam suatu jaringan. Sedangkan Network ID berfungsi untuk mengidentifikasikan suatu jaringan dari jaringan yang lain. Hal ini berarti seluruh host yang tersambung di dalam jaringan yang sama memiliki network ID yang sama pula. Sebagian dari bit-bit bagian awal dari IP Address merupakan network ID atau network number, sedangkan sisanya untuk host. Garis pemisah antara bagian network dan host tidak tetap (konstan), tergantung pada kelas network yang kita gunakan. Terdapat beberapa kelas IP Address yang digunakan dalam TCP/IP dalam suatu jaringan, yaitu kelas A, kelas B, kelas C, kelas D, dan kelas E.B. Kelas-Kelas IP Address
 
 a. Kelas A

Pada jaringan IP Address kelas A, bit pertama dari IP address tersebut adalah 0. Bit pertama dan 7 bit berikutnya (8 bit per¬tama) merupakan network ID, sedangkan 24 bit terakhir merupakan host ID. Maka pada kelas A hanya terdapat 128 network IP Address dengan jangkauan dari 0.xxx.xxx.xxx sampai 126.xxx.xxx.xxx.

b. Kelas B

Pada jaringan IP Address kelas B, 2 bit pertama dari IP address adalah 10. Dua bit ini dan bit berikutnya (16 bit pertama) merupakan network ID. Sedangkan 16 bit terakhir merupakan host ID. Maka pada kelas B terdapat 16384 network IP Address dengan jangkauan dari 128.0.xxx.xxx sampai 191.255.xxx.xxx.

c. Kelas C

Pada jaringan IP Address kelas C, 3 bit pertama dari IP Address adalah 110. Tiga bit ini dan 21 bit berikutnya (24 bit pertama) merupakan network ID. Sedangkan 8 bit terakhir merupakan host ID. Maka pada kelas C terdapat lebih dari 2 juta network IP Address dengan jangkauan dari 192.0.0.xxx sampai 223.255.255.xxx.

d. Kelas D

Pada jaringan IP Address kelas D, 4 bit pertama dari IP Address ini adalah 1 1 1 0. Sedangkan bit sisanya digunakan untuk grup host pada jaringan dengan range IP antara 224.0.0.0 – 239.255.255.255. IP Address Kelas D digunakan untuk multicasting, yaitu pemakaian aplikasi secara bersama-sama oleh sejumlah komputer. Multicasting berfungsi untuk mengirimkan informasi pada nomor host register. Host-host dikelompokkan dengan meregistrasi atau mendaftarkan dirinya kepada router lokal dengan menggunakan alamat multicast dari range alamat IP Address kelas D. Salah satu penggunaan multicast address pada internet saat ini adalah aplikasi real time video conference yang melibatkan lebih dari dua host (multipoint) dengan menggunakan Mbone (Multicast Backbone).

e. Kelas E

Pada jaringan IP Address kelas E, 4 bit pertama dari IP Address ini adalah 1 1 1 1. IP address kelas E mempunyai range antara 240.0.0.0 – 254.255.255.255. IP Address kelas E merupakan kelas IP address eksperimen yang dipersiapkan untuk penggunaan IP Address di masa yang akan datang.
2.10.1.8 IP Private Dan IP Public

Berdasarkan jenisnya IP address dibedakan menjadi 2 macam yaitu IP Private dan IP Public.
IP Private adalah suatu IP address yang digunakan oleh suatu organisasi yang diperuntukkan untuk jaringan lokal. Sehingga organisasi lain dari luar organisasi tersebut tidak dapat melakukan komunikasi dengan jaringan lokal tersebut. Contoh pemakaiannya adalah pada jaringan intranet. Sedangkan Range IP Private adalah sebagai berikut :

Kelas A : 10.0.0.0 – 10.255.255.255
Kelas B : 172.16.0.0 – 172.31.255.255
Kelas C : 192.168.0.0 – 192.168.255.255
IP Public adalah suatu IP address yang digunakan pada jaringan lokal oleh suatu organisasi dan organisasi lain dari luar organisasi tersebut dapat melakukan komunikasi langsung dengan jaringan lokal tersebut. Contoh pemakaiannya adalah pada jaringan internet. Sedangkan range dari IP Public : range IP address yang tidak termasuk dalam IP Private. 
 
C. Subnetting

Subnetting adalah pembagian suatu kelompok alamat IP menjadi beberapa network ID lain dengan jumlah anggota jaringan yang lebih kecil, yang disebut subnet (subnetwork). Subnet Mask merupakan angka biner 32 bit yang digunakan untuk :
• Membedakan antara network ID dengan host ID.
• Menunjukkan letak suatu host, apakah host tersebut berada pada jaringan luar atau jaringan lokal.
Tujuan dalam melakukan subnetting ini adalah :
• Membagi satu kelas netwok atas sejumlah subnetwork dengan arti membagi suatu kelas jaringan menjadi bagian-bagian yang lebih kecil.
• Menempatkan suatu host, apakah berada dalam satu jaringan atau tidak.
• Untuk mengatasi masalah perbedaaan hardware dengan topologi fisik jaringan.
• Penggunaan IP Address yang lebih efisien.

Ada dua pendekatan dalam melakukan pembentukan subnet, yaitu :
1. Berdasarkan jumlah jaringan yang akan dibentuk.
2. Berdasarkan jumlah host yang dibentuk dalam jaringan.

Kedua-duanya akan dipakai untuk menentukan efisiensi penomoran IP dalam suatu lingkungan jaringan. Pada subnetmask seluruh bit yang berhubungan dengan host ID diset 0. Sedangkan bit yang berhubungan dengan network ID diset 1. Untuk menentukan suatu host berada pada jaringan luar atau pada jaringan lokal, kita dapat melakukan operasi AND antara subnet mask dengan IP Address asal dan IP Address tujuan, serta membandingkan hasilnya sehingga dapat diketahui ke mana arah tujuan dari paket IP tersebut. Jika kedua hasil operasi tersebut sama, maka host tujuan terletak di jaringan lokal dan paket IP dikirim langsung ke host tujuan. Jika hasilnya berbeda, maka host terletak di luar jaringan lokal, sehingga paket IP dikirim ke default router.


  KOMPUTER NETWORKING ( FUNDAMENTAL EDITION)
 
Hyahah.. judulnya serem gitu… tapi semoga gak se-serem isinya.. :) Oke deh, selamat datang kepada semua blogwalker. Salam blogger!! Kepada semua pembaca blog ini, selamat datang di dunia paling menyenangkan dalam teknologi internet, inilah dia… sang Jaringan Komputer… Di blog Networking Fundamental pertama ini, saya akan membagi sedikit ilmu dan pengalaman saya dulu ketika baru pertama kali mengenal jaringan komputer. Bagi yang sudah minimal tau sedikit aja tentang jaringan komputer, ga usah baca bagian ini… hehe 
:)

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 sebagai Cracker.

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 dari Network-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 jobdesc tiap-tiap protokolnya. Haha… Tunggu kotrat-kotret kedua saya tentang TCP/IP… Mari kita perdalam yang populer aja… 
:P


 COMPUTER NETWORKING (TCP/IP EDITION)
 
Di postingan sebelumnya, saya sudah sedikit memberikan perkenalan kepada yang belum kenal sama jaringan komputer.. Hehe.. Nah, sekarang saya ingin sedikit berbagi seputar TCP/IP. Seperti yang kita ketahui di posting saya sebelumnya, TCP/IP adalah protokol yang populer digunakan/diimplementasikan untuk saling mengkoneksikan jaringan lokal dengan metode “internet” (inget i-nya kecil… = interconnect networking). Sampai pada suatu saat, seluruh jaringan-jaringan yang ada di dunia ini telah terkoneksi, sehingga lahirlah produk hebat dari internet bernama The Internet. (Tapi sekali lagi saya tegaskan, banyak orang, termasuk saya, yang maksudnya nulis “internet” malah jadi “Internet”. Atau sebaliknya, maksudnya menulis “Internet” malah jadi “internet”. Gapapa lah, soalnya sekarang internet & Internet emang udah mengcover seluruh dunia ‘kan…). Mari kita bongkar dan berkarya wisata ke layer-layer pada TCP/IP!!!

Biar lebih jelas, pertama-tama saya kasih gambar ini nih.. Semua obrolan kita di postingan ini mengacu pada gambar ini:
Layer-Layer dan Protokolnya Pada TCP/IP
Layer-Layer dan Protokolnya Pada TCP/IP
Gambar ini diambil dari situs Wikipedia. Ini adalah 4 layer teratas (layer 5, 4, 3, dan 2) dari layer-layer TCP/IP. Sedangkan layer 1 (Layer Fisik) TCP/IP gak dimasukkan dalam gambar ini..
TCP/IP disebut juga TCP/IP Suite, atau seperangkat protokol komunikasi data. Jadi sebenernya yang disebut protokol itu siapa? Apakah “TCP/IP” nya ATAU protokol-protokol yang ada di tiap layer itu sihh? (Coba lihat gambar)
Jyah, ini mah sama aja kayak analogi begini:
Microsoft Office Suite 2010 adalah produk office dari Microsoft. Didalam Microsoft Office Suite 2010, terdapat:
  • Aplikasi word processing, menggunakan Microsoft Word
  • Aplikasi worksheet, matematik, dan matriks, menggunakan Microsoft Excel
  • Aplikasi membuat database, menggunakan Microsoft Access
  • dan seterusnya
Kalo pake analogi begini, anggap aja satu bundel Microsoft Office ini adalah “TCP/IP”-nya… sedangkan Microsoft Word, Excel, Access, Outlook, dkk sebagai protokol-protokol di tiap layernya.. Paham? Okede…
Ada pertanyaan bagus dari adik kelas, kenapa nama protokol komunikasi yang dikembangkan ARPA ini disebut “TCP/IP”? Wah, pertanyaan yang sangat fundamental (haha). Langsung aja saya jawab begini:
  1. Tanya ke ARPA, dijamin dapet jawaban yang jelas.. hehehe…
  2. Kalo kita ga bisa ke Amerika ketemu salah satu Researcher ARPA, mending kita maen tebak-tebak buah manggis… Kalo kata tebak2an.. menurut saya kenapa dinamakan “TCP/IP” adalah karena dua protokol TCP, dan IP ini (Coba lihat lagi gambarnya.. TCP ada di layer 4, dan IP ada di layer 3) adalah protokol yang paling sering digunakan dan jadi primadona dalam komunikasi data… Mungkin TCP dan IP sudah dianggap maskot dari sekumpulan geng protokol ini, sehingga dijadikan nama geng nya.. hehehe…
Oke saatnya karya wisata ke Layer 1 (Layer Fisik)………(1 jam kemudian)…..
*Sopir bisnya gak tau tempat-tempat di Layer Fisik… jadi kita langsung ke Layer 2 (Layer Data-Link) aja ya anak-anak??! Iya paaakkk…*

Layer 2 (Layer Data-Link)

Kita karya wisata ke salah satu protokol yang ada di layer ini, ARP:
ARP & RARP (Address Resolution Protocol & Reverse/Inverse Address Resolution Protocol): adalah protokol yang bertugas untuk memetakan IP Address menjadi alamat MAC (Media Access Control) juga untuk sebaliknya, memetakan MAC Address menjadi IP Address.
Untuk melihat alamat IP (Layer 3) dan alamat fisik MAC (Layer 2). Pada shell Linux, ketik perintah “ifconfig” dan untuk cmd Windows, ketik perintah “ipconfig”
root@eniac:/home/inan# ifconfig
eth0 Link encap:Ethernet  HWaddr 00:1b:24:2a:3e:e0
inetaddr:192.168.0.2 Bcast:192.168.0.255 Mask 255.255.255.0
UP BROADCAST MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Interrupt:20 Base address:0xa000
wlan0 Link encap:Ethernet  HWaddr 00:19:7e:45:99:eb
inetaddr:217.0.0.7 Bcast:217.0.0.255 Mask 255.255.255.0
UP BROADCAST MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Yang saya garis bawah adalah alamat MAC (alamat device) dan yang saya bold adalah alamat IP (Layer 3). Penting nih.. tiap alamat MAC (alamat device) tidak ada yang sama di dunia ini. Seperti juga contohnya alamat MAC LAN card saya (eth0) dan Wireless card saya (wlan0). Ini aja udah beda… Apalagi dengan komputer lain :P
Nah, sekarang… tugas ARP pada komputer saya adalah mengabarkan kepada seluruh node di dalam jaringan WLAN saya bahwa IP 217.0.0.7 mempunyai alamat MAC 00:19:7e:45:99:eb begitu juga untuk LAN, ARP akan membroadcast informasi ke tiap node bahwa alamat 192.168.0.2 mempunyai alamat MAC00:1b:24:2a:3e:e0.

Sebenarnya untuk apa alamat MAC? Alamat MAC diperlukan untuk transfer data yang secara fisik dalam satu jaringan. Kalau begitu untuk apa alamat IP? Wogh… Alamat IP digunakan sebagai alamat logic tiap node untuk kebutuhan pengalamatan jaringan-jaringan karena (nanti akan dijelaskan ketika kita berkarya wisata ke Layer 3 hehehe…). Kalo peran ARP dalam komunikasi di jaringan lokal?? Jika anda pernah mengkoneksikan komputer anda ke sebuah jaringan (pake switch misalnya) maka tanpa peran ARP, mungkin komputer anda tidak akan pernah mendapatkan paket data karena “kesasar” di jaringan lokal. Hehe.. Switch bekerja pada layer 2. Sebenernya switch memiliki “database” ARP table di dalam switch tersebut. Isinya kurang lebih (contoh) seperti ini:

IP Address MAC Address Lewat port switch…
192.168.0.1 00:1b:cc:c0:bd:e0 Port 1 switch
192.168.0.2 00:1b:24:2a:3e:e0 Port 2 switch
192.168.0.3 00:1c:13:dd:a2:bb Port 3 switch
192.168.0.4 00:1c:25:1c:ae:4e Port 4 switch

Tabel ARP pada Switch 4 port yang terisi penuh menuju node-node.
Cara switch bekerja adalah dengan membaca ARP Table nya. Baris-baris pada table tersebut selalu di update oleh protokol ARP secara periodik. Misalnya ada paket datang ke switch dari IP 192.168.0.1 yang akan menuju 192.168.0.2. ARP akan me-resolv alamat 192.168.0.2 menjadi 00:1b:24:2a:3e:e0, sehingga switch mengerti maksud alamat logic (IP) tersebut maksudnya adalah alamat fisik tertentu yang berada di port mana, kemudian switch akan meneruskan paket tersebut menuju port nomer 2 pada switch (ke komputer dengan alamat MAC 00:1b:24:2a:3e:e0 atau beralamat logic 192.168.0.2). Untuk selanjutnya paket dari 192.168.0.1 tersebut di proses secara lokal oleh komputer 192.168.0.2….

Layer 3 (Layer Network)

Kita karya wisata ke salah satu protokol yang ada di layer ini, IP:
IP (Internet Protocol): adalah protokol yang bertugas untuk pengalamatan logic node. Selain pengalamatan fisik, diperlukan juga pengalamatan logic. Mungkin anda berpikir, untuk apa pengalamatan logic, kenapa kita tidak ber-internet dengan menggunakan alamat fisik (Layer 2) saja? Toh, alamat fisik tiap Network-Interface-Card berbeda-beda di dunia ini… Jadi ga kan ketuker-tuker kalo misal saya berinternet dengan alamat fisik saja…

Ok… ini karena alamat fisik tidak bisa di masking. Alamat fisik komputer 00:1b:24:2a:3e:e0 tidak bisa di masking menjadi 00:1b:24:2a:3e:XX… Karena bisa saja 00:1b:24:2a:3e:e0 tidak berada di network yang sama dengan komputer beralamat fisik 00:1b:24:2a:3e:aa misalnya… (perhatikan bagian terakhir “e0” diganti menjadi “aa”)
Jadi untuk mengetahui alamat jaringan, tidak bisa dengan menggunakan alamat fisik. Alamat fisik spesifik untuk pengalamatan langsung untuk host tertentu saja (Direct-Delivery).
Agar ngerti maksudnya, bisa saya jelaskan bersamaan dengan intro di layer 3 ini…
Routing Antar Dua Jaringan
Routing Antar Dua Jaringan
Dari gambar ini, routing table pada ROUTER bisa saya jelaskan seperti ini:
Source Network Destination Network Interface
192.168.0.X (byte terakhir terserah, asal masih berada di sub-net 192.168.0) 192.168.1.X m0
192.168.1.X 192.168.0.X m1
Sekarang, bisa anda bayangkan jika alamat fisik (host-spesific) yang harus di-handle oleh router… Butuh berapa entry baris agar router bisa mengerti jika harus ke interface 00:1b:24:2a:3e:e0 harus kemana. (Ini masih interkoneksi dua jaringan… bagaimana nanti kalo sebesar Internet??? Hadohhhhh) Ok, sudah cukup berandai-andai. Untuk itu alamat logic SANGAT diperlukan…

Layer 4 (Layer Transport)

Kita karya wisata ke salah satu protokol yang ada di layer ini, TCP dan UDP:
TCP (Transmission Control Protocol): adalah protokol yang bertugas untuk membentuk koneksi antar node. Sifat TCP adalah connection-oriented. TCP baru akan membuat koneksi jika kedua belah pihak telah setuju. Karenanya, TCP dianggap reliable (dapat diandalkan). Berbeda dengan UDP (User Datagram Protocol) yang connectionless, transmisi data yang berbasis UDP akan bersifat nothing-to-lose (hehe) karena tidak ada kesepakatan dulu antar node yang bertransmisi.

Kalau kita beranalogi, misalnya kita mau mengirimkan barang dari Bandung ke Surabaya dengan menggunakan jasa si Upin (TCP) atau Ipin (UDP) nih yah?! Untuk diketahui, Upin lebih teliti dalam mengirimkan barang. Upin suka nelpon dulu orang yang akan dikirimkan barang di Surabaya itu, apakah rumahnya di Surabaya bisa dikunjungi atau engga… 

Kalau bisa dikunjungi, Upin baru mulai ngirim barangnya… Selain itu, Upin juga memikirkan jalur yang akan ditempuh, apakah lewat jalur Pantura atau lewat jalur selatan. Terakhir, Upin bertanggung jawab dalam mengirimkan barang. Upin suka ngasih tau ke kita bahwa barang yang kita kirimkan udah sampai ke Surabaya dengan selamat atau engga. Kalau engga, akan dikirimkan lagi dari Bandung. Secara periodik Upin memberitahukan ke kita sebagai pengirim di Bandung… Kalau Ipin, dia sih maen berangkat-berangkat aje…

Tapi secara waktu, memang Ipin lebih cepat prosesnya. Karena mungkin sewaktu Upin masi sibuk nelpon-nelpon ke Surabaya, si Ipin udah nyampe Cirebon.. Jadi Ipin mah ga mikirin orang di Surabaya-nya bisa dikunjungi atau tidak, terus ga mikirin lewat jalur mana aja, yang penting sampe Surabaya.. mo lewat Garut juga ayo-ayo ajahh.. jyahahahahah…
Pada kenyataannya, TCP digunakan untuk transmisi yang sifatnya kritikal dan tentu saja, butuh kehandalan. Sedangkan UDP digunakan untuk komunikasi antar proses yang tidak begitu memerlukan kehandalan, justeru membutuhkan kecepatan respon.

Layer 5 (Layer Application)

Kita karya wisata ke salah satu protokol yang ada di layer ini, DNS:
DNS (Domain Name Service): adalah protokol yang tugasnya memetakan nama domain yang gampang diingat manusia menjadi alamat IP yang gampang diproses komputer (sesuai dengan framework TCP/IP).
DNS Server (Node yang melakukan pemetaan alamat domain menjadi alamat IP) tentu saja mempunyai “database” nama domain ke alamat IP nya. Sesuai pada tabel berikut:

Nama Domain Alamat IP
onyon.com 117.231.21.223
gorilla.com 193.112.125.88

NB: nama domain dan alamat IP-nya ngasal… tapi ini bukan untuk tujuan menyindir atau apapun… hanya biar contohnya jelas… hehehe..
Jadi ketika kita menggunakan DNS Server yang memiliki database seperti ini, dan ketika kita browsing ke gorilla.com, sebenernya kita sama saja dengan melakukan query ke DNS Server untuk me-resolv nama gorilla.com menjadi IP 193.112.125.88 kemudian membuat koneksi HTTP ke 193.112.125.88 (ngerti kan?)

Apakah seluruh nama domain di Internet terekam di DNS Server? Jawabannya Ya, tapi tidak semua nama domain di rekam (record) di satu komputer yang segede Gaban… Tapi dimanfaatkanlah distributed system. Bisa saja ada DNS Server yang tidak tau alamat onyon.com, tapi ketika nanya ke DNS server kita, ter-resolv IP 117.231.21.223. Tiap baris DNS sebenarnya selalu di update tiap subuh waktu GMT. Ada DNS-Root di Internet yang menghandle gTLD (Top Level Domain) dan ccTLD (country-code Top Level Domain). Contoh TLD yaitu: com, net, org, edu, mil. Contoh ccTLD yaitu: co.id, go.uk, or.jp. DNS-Root ini “hanya” mengatur Top Level Domain… Untuk SLD (Second Level Domain) di TLD tersebut ada Name Server-Name Server lain yang pastinya lebih tau. Contoh SLD: google, yahoo, tibandung, detik, kaskus, dsb….
Mungkin analoginya gini aja lah ya (step by step).. Telah di query sama Mr. Lampard seseorang dari Inggris alamat sbb: Gg Mawar no. 12c, Jl. Soekarno-Hatta, Kota Bandung, Provinsi Jabar, Negara Indonesia
  • Pertama-tama yang dilakukan Mr. Lampard adalah nanya ke “Nameserver” PBB.. dimana sih negara Indonesia?? PBB kemudian ngasih jawabannya…
  • Mr. Lampard kemudian ke Indonesia dan nanya ke “Nameserver” di sana. Dimana sih provinsi Jabar? “Nameserver” Indonesia kemudian ngasih tau jawabannya… (Untuk dipahami, jika Mr. Lampard nanya ke PBB, BELUM TENTU PBB tau dimana provinsi Jabar. Betul tidak??)
  • Terus nanya ke “Nameserver” di Jabar, dimana sih Kota Bandung? Terus “Nameserver” tersebut ngasih tau jawabannya… (Untuk dipahami, jika Mr. Lampard nanya ke Indonesia, BELUM TENTU Indonesia tau dimana Kota Bandung. Betul tidak??)
  • Terus nanya ke “Nameserver” di Bandung, dimana sih Jl. Soekarno-Hatta…
  • Terus nanya ke “Nameserver” di Jl. Soekarno-Hatta, dimana sih Gang Mawar…
  • Terus nanya ke “Nameserver” warga di Jl. Mawar, dimana sih rumah no. 12c…
  • Akhirnya Mr. Lampard tau alamat tempat bakal tujuannya. Lah, ngapain Lampard nanya-nanya Bandung euy? Pengen ngabela PERSIB inih teh? Hahahah..
Protokol DNS menggunakan layanan Ipin.. eh.. maksudnya layanan UDP. Yang membutuhkan kecepatan dalam respon ketimbang masalah kehandalan. Bisa dilihat sendiri, kenapa lebih membutuhkan kecepatan respon ketimbang kehandalan. Lah, data yang diquery-in juga cuma masalah nama domain… Lagian, banyak node yang mungkin harus di lewati untuk pemecahan nama domain.. Bisa lama nungguinnya nehhh…
Contoh “DNS Client” adalah aplikasi kecil bernama “nslookup”. Ini adalah contoh ketika saya melakukan query “google.co.id” ke aplikasi ini…
inan@eniac:~$ nslookup
> server
Default server: 192.168.255.3
Address: 192.168.255.3#53
Default server: 10.88.77.6
Address: 10.88.77.6#53
> google.co.id
Server:         192.168.255.3
Address:        192.168.255.3#53
Non-authoritative answer:
Name:   google.co.id
Address: 64.233.181.104
> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> google.co.id
Server:         8.8.8.8
Address:        8.8.8.8#53
Non-authoritative answer:
Name:   google.co.id
Address: 64.233.181.104
> exit
inan@eniac:~$
Sedikit keterangan:
Baris 1: saya mengetikkan perintah “nslookup”
Baris 2: saya ingin tau, siapa yang jadi default nameserver di nslookup saya…
Ternyata hasilnya adalah primary adalah 192.168.255.3 dan secondary 10.88.77.6
Ini nameserver punya provider ISP saya…
Baris 7: saya coba query “google.co.id” ke nameserver saya tersebut…
Baris 12: ada jawaban alamat IP google.co.id… yang ngasih jawaban adalah primary NS saya..
Baris 13: coba nanya pake NS yang lain 8.8.8.8 (public DNSnya Google Inc.)
Baris 16: saya coba query “google.co.id” ke nameserver saya tersebut…
Baris 21: ada jawaban alamat IP google.co.id… yang ngasih jawaban adalah 8.8.8.8
Baris 22: keluar dari program “nslookup”

Oke deh… Ini sedikit karya wisata kita ke tiap layer-layer TCP/IP. Untuk selanjutnya bisa diperdalam lagi jobdescdari protokol dan manfaat dari jobdesc protokol tersebut untuk protokol-protokol yang lainnya. Ingat, mereka semua bekerja secara independen, tapi sesungguhnya hasil kerja mereka merupakan satu kesatuan mekanisme yang kompleks agar komunikasi data bisa berlangsung.

 COMPUTER NETWORKING ( TOPOLOGY EDITION)

Setelah kita mengetahui jobdesc tiap-tiap protokol di tiap layer dari posting-posting sebelumnya, sekarang mari kita belajar mendesign topologi jaringan. Untuk contoh kali ini, kita menggunakan topologi standar untuk belajar, yaitu menggunakan Ehternet, topologi star, hehehe…
Ceritanya kita mendesign suatu ruangan yang terdiri dari 3 komputer. Apa yang kita butuhkan untuk membuat mereka semua bisa saling terkoneksi di jaringan? Dan apa yang kita butuhkan untuk membuat mereka semua bisa saling terkoneksi dengan jaringan lain?
Setelah anda mengetahui pengklasifikasian jaringan dari posting saya yang lalu, mari kita membagi kebutuhan untuk contoh kasus kali ini:

Network-Device: 3 buah komputer
Network-Communication-Device: 1 buah Hub
Network-Medium: 3 buah Kabel UTP yang ujungnya di cremp dengan konektor RJ-(Registered Jack)-45. Dengan implementasi straight, karena untuk PC ke Hub.
Network-Interface-Card: 3 buah LAN Card / Ethernet Card
Network-Operating-System: 3 Sistem Operasi yang kernelnya mendukung protokol komunikasi TCP/IP
Dan kita pasang deh… yak.. jadi! Gambarnya seperti ini:
Topologi LAN Lab Warkop
Topologi LAN Lab Warkop
Mungkin ada pertanyaan dalam hati… Kenapa sih IP jaringan lokal biasanya berawalan 192.x.x.x atau 10.x.x.x? Hm… itu ada ketentuannya dari RFC… jadi ada alamat IP yang dialokasikan untuk kebutuhan tertentu. Seperti 192.x.x.x digunakan untuk jaringan lokal. IP 127.x.x.x digunakan untuk menunjuk host itu sendiri (loopback). Coba aja ketika komputer anda sedang mode STANDALONE, lakukan perintah “ping 127.65.32.23” (ngasal masukinnya, tepi mestinya ngefek hehe)… dijamin tetep ada reply. (Soalnya itu emang nge-ping ke diri sendiri.. hehe)
Untuk subnet, IP 192.x.x.x adalah termasuk IP kelas C. Apaan itu kelas IP?? Yah, lagi-lagi ini masalah standarisasi. TIPS: Untuk tau lebih jauh aturan-aturan di jaringan, browsing2 aja ya.. hehe.. Ga usah panik atau bingung.. Ikutin aja.. hihi.. IP kelas C mempunya default mask 255.255.255.0 yang berarti seluruh host yang ada di IP itu selama masih berada di network 192.168.0.X berarti masih dalam satu jaringan atau satu subnet.
Saya membuat konfigurasi tiap NetDevice seperti ini. Dan seharusnya, ini sudah membuat mereka berhasil saling berkomunikasi. Misalnya Dono melakukan “ping” ke Kasino. Mestinya ini sudah ada reply:
dini@dono:~$ ping 192.168.0.2
PING 192.168.0.2 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.040 ms
64 bytes from 127.168.0.2: icmp_seq=2 ttl=64 time=0.031 ms
^C
--- 192.168.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 3001ms
Sekarang bagaimana caranya agar Dono, Kasino, Indro, bisa internet-an? Caranya adalah dengan ditambahkan Router. Syaratnya, Router harus memiliki 2 interface card. Yang interface satu mutlak harus Ethernet Card yang sama dengan jaringan ini. Terus yang interface dua mutlak harus sama dengan Card jaringan eksternalnya… Begitu pula IP address nya.. IP address untuk interface satu harus sama dengan net/subnet jaringan ini, kemudian IP address untuk interface dua harus sama dengan net/subnet jaringan eksternalnya… Bingung? Hehe.. langsung aja nih, pake gambar…
Topologi LAN 2 Lab
Topologi LAN 2 Lab
Biar gampang, contoh interface untuk router tersebut dibuat sama2 pake Ethernet Card… hehe.. baik itu untuk interface 1 (m0) atau untuk interface 2 (m1). Mungkin digambar itu ada yang belum saya masukin… Yaitu Routing table. Padahal ini penting untuk Router… Hehe.. Yap, ini dia routing tablenya:
Source Network from… to Destination Network… via Interface…
192.168.0.X 10.X.X.X m1
10.X.X.X 192.168.0.X m0
Dengan design seperti ini, mestinya anda sudah berhasil membuat para pengguna Lab Warkop (eh.. maksudnya PC-PC Dono, Kasino, Indro) yang sudah bisa terhubung dengan Lab Bikin Bottom (eh.. maksudnya PC-PC Spongebob & Patrick). Untuk mengecek koneksi, coba aja ping dari PC Dono misalnya, ke komputer Patrick (10.41.251.23)
dini@dono:~$ ping  10.41.251.23
Oh, perlu dicatat… PC Dono, Kasino, dan Indro untuk contoh kasus ini semuanya udah di set tuh, Default Gateway nya… Default Gateway untuk apa sih? Default Gateway adalah alamat IP yang menjadi “rujukan” jika IP tersebut ketika di proses dengan subnetmask ternyata di dapat IP yang tidak satu network/satu subnet dengan PC yang melakukan proses itu. Jadi, dari contoh di atas, ketika PC Dono melakukan perintah: ping10.41.251.23 sebenarnya yang dilakukan Dono sebelum ping komputer Patrick adalah (step by step):
  • Mengekstrak alamat IP tujuan dengan subnetmask Dono (255.255.255.0). Sehingga didapatkan sebagai berikut: 10.41.251.23 AND 255.255.255.0 => didapatkan network tujuan adalah 10.41.251.X
  • PC Dono bingung dweh: “10.41.251.X tu jaringannya siape?! Gue cuma tau jaringan 192.168.0.X cuy, karena kalo IP gue di AND dengan subnetmask gue, dapetnya 192.168.0.X ntu… Lah, jadi ini alamat sape??” kata Dono… akhirnya dia ngecek, apakah settingan di komputer Dono (dirinya) ada Default Gateway atau tidak…
  • Eh ternyata ada settingan untuk Default Gateway (untung tadi Anda masukin.. hehe)
  • Terusin aja paket ping ICMP-nya ke Default Gateway itu.. Yang alamatnya ada di 192.168.0.100…
  • Paket sampai di router nih.. Router Supermen kemudian menerima dan membaca header packet.. Ini paket dari mana mo ditujuin ke siapa… Oo.. si Dono 192.168.0.1 mau ke Patrick 10.41.251.23
  • Router lalu melakukan proses terhadap network address itu dengan konfigurasi yang diberikan pada dirinya: 10.41.251.23 AND 255.0.0.0 ==> didapatkan network tujuan adalah 10.X.X.X
  • Setelah itu router membaca routing table yang saya bilang tadi ntu… Ada entry ke network 10.X.X.X gak? Kalo ada lewat mana? Ada! Lewat interface m1…
  • Dari interface m1 diputuskan deh, bahwa ternyata alamat IP m1 dan subnet nya sama dengan alamat IP dan subnet tujuan. Berarti ini Direct Delivery (ga disuru lewat router lagi.. atau lewatin gateway lagi.. gitu..)
  • Udah deh.. paket ping request nyampe ke Patrick
  • Patrick siap ngebales dengan ping reply….
  • Patrick mengekstrak IP tujuan (IP si Dono).. Dia bingung, 192.168.0.0 tu jaringan siapa? Dia cuma tau jaringan 10.0.0.0… jadi dia ngasi aja ke Default Gateway nya dia…
  • dan seterusnya hehehehe…
Nah, sampai sini kita sudah bisa implementasi internet (interconnect-network). Sekarang bagaimana kalau kita pengen dapet koneksi ke Internet nya nih?? Pake aja modem atau “alat” yang anda dapatkan dari Internet Service Provider / ISP (hehehe…)
Terus koneksikan modem dengan router… Pasang Default Gateway router dengan Gateway yang PASTI dikasih oleh ISP kepada modem anda… Kalo pake gambar jadi gini deh…
Topologi LAN dengan Koneksi Luar
Topologi LAN dengan Koneksi Luar
Routing table Router anda jadi nambah satu entry dweh…
Source Network from… to Destination Network… via Interface…
192.168.0.X 10.X.X.X m1
10.X.X.X 192.168.0.X m0
X.X.X.X (apapun) X.X.X.X p0

Kenapa gateway ISP kita bisa menjawab IP apapun? Emang gateway ISP tau banyak network? (routing tablenya udah buanyaakk??!) Pertanyaan yang kritis.. hehehe.. Sebenarnya, kalaupun kita mengirim paket ke host tertentu, contoh IP tujuan adalah 65.121.123.232 dari Dono:
  • Pertama, kata PC Dono, ini bukan jaringannya. Jadi kirim aja ke default routernya dia… alias si Supermen…
  • Supermen menerima dan membaca header tujuan Dono adalah 65.121.123.232… di ekstrak, trus dicek di routing table, ternyata bukan di kedua jaringannya. Ya udah terusin ke default gateway supermen (IP Gateway ISP)
  • IP gateway ISP nerima dan membaca header tujuan adalah 65.121.123.232… di ekstrak sesuai konfigurasi subnetmask jaringan sono, trus dicek di routing table, kalo masih belum ada, ya terusin lagi ke default gatewaynya dia..
  • Begitu seterusnya sampai dapat… Ok? Paha? Eh… paham??
Salut buat protokol TCP/IP… Dengan TCP/IP, tak perduli lagi apakah
  • Dono pake GNU/Linux…
  • Kasino pake Microsoft Windows…
  • Indro pake Apple Macintosh…
  • Supermen pake CISCO IOS…
  • Spongebob pake FreeBSD…
  • Patrick pake OpenSolaris…
Yang penting koneeekkk… hahahaha…

4.       COMPUTER NETWORKING (SECURITY EDITION)

Ini bagian terakhir dari judul Computer Networking yang sekedar perkenalan untuk kita-kita. Wah, kenapa langsung ke security?? Bisa apa kitahh?? Ilmu kita aja belum nyampe… Hehehe.. Gapapa lah.. Analoginya yaahh… (lagi-lagi analogi.. biarin lah.. emang cara berpikir yang enak itu pake analogi.. hihi..) seperti analogi: kita harus tau bahwa rumah kita aman atau tidak. Walaupun secara teknis, kita belum tau (atau bahkan ada yang tidak mau tau malah) cara ngegembok rumah itu gimana, berbentuk seperti apa itu makhluk “gembok”, bagian mana yang digembok, pake alat apa biar bisa buka gembok, gimana cara nangkep maling, dsb. Setidaknya kita tau bahwa sebenarnya rumah kita aman atau tidak. Ini penting agar kita tidak menjadi korban kejahatan. Yah, kalaupun jadi korban minimal tau kita udah di apa-apain aja sama si hacker… Gak keliatan bodo banget… Hehehe… Mari kitah kemonnn…
Saya akan bahas keamanan (security) jaringan untuk protokol TCP/IP. Cara bahasnya biar enak dan mudah dimengerti kita per layer-layer aja. Oke?
Layer-Layer dan Protokolnya Pada TCP/IP 
 Layer-Layer dan Protokolnya Pada TCP/IP
 
Layer 1 (Apa hayoo…?? Layer Fisik.. Hehe..)

Layer fisik telah kita ketahui adalah layer yang menghantarkan bit-bit “listrik”. Apa celah keamanan yang ada disini? Celahnya yaitu “listrik” yang di transmit nya! Kalo mau tau isi bit-bit itu apa, kita tangkap aja bit-bit yang lalu-lalang di jaringan… Terus proses (berdasar framework TCP/IP yang udah dicerita2in…) sampe bisa terlihat protokol apa, ke port berapa, isi datanya apa (layer 1).

Bagaimana cara menangkap data yang lalu-lalang? Nah, di Network-Interface, kita pasang mode promiscious, yaitu mode dimana Network-Interface kita akan selalu menangkap SETIAP data yang lewat. Karena, Network-Interface, DEFAULTnya atau dari sononye, sebenernya tidak di setting sebagai promiscious, tetapi di setting dengan mode yang: menerima paket yang HANYA ditujukan kepada dirinya. Nah, sekarang udah tau apa itu promiscious… Kira-kira kalau kita berperan sebagai Router, Bridge, atau Switch, Network-Interface kita promiscious atau bukan?? Hayooo… Kembali lagi ke bahasan… jadi ubah dulu jadi promiscious yaakk.. Sampe sini belum selesai… Itu kan baru promiscious nya.. Kalo baca datanya, pake aja software untuk membaca paket (sniffer).

Layer 1 attack biasanya dilakukan di jaringan yang menggunakan hub. Karena cara kerja hub yang hanya sebagai penghantar listrik (hub bekerja pada layer 1). Sebenarnya, kalo kita pake hub 4 port misalnya, di jaringan kita… Terus ada paket datang dari komputer ke port 3 si hub… Kemudian hub nerusin dah paket dari port 3 hub itu ke setiap port lain yang ada di hub (diterusin ke port 1, 2, dan 4). Karena cara kerja hub adalahmengirimkan seluruh paket yang datang ke semua portnya, kecuali port pengirim tadi. Gak aman yah? Satu-satunya harapan hub adalah: semoga paket ini gak diterima ke orang yang tidak berhak karena defaultNetwork-Interface ‘kan bukan promiscious. Hahahah…

Solusi untuk keamanan ini adalah dengan mengganti peran hub dengan switch. Switch lebih aman karena switch bekerja di layer 2. Switch hanya akan mengirimkan paket ke MAC Address (Layer 2) yang ada di ARP Table Switch (baca lagi posting saya sebelumnya tentang ini). Makanya ada ungkapan yang mengatakan bahasa kasarnya mah switch lebih pintar dari hub…

Layer 2 (Layer Data-Link)

Diposting sebelumnya sudah di jelaskan, bahwa layer 2 untuk pengalamatan device pake MAC Address, dan untuk tau MAC Address node tertentu digunakan ARP. Kira-kira apa celah keamanan di layer ini?

Layer 2 attack, salah satunya adalah ARP Spoofing/Poisoning. Apa itu ARP Spoofing?? Kalo cari dikamus, artinya adalah “lelucon”… Hmm.. adi apa yang dilakukan pada si protokol ARP yah?? Dalam implementasinya ARP Spoofing adalah mengeksploitasi ARP untuk mengubah ARP table pada node-node tertentu menjadi sesuai yang attacker inginkan… Akibatnya ketika ARP meresolv IP menjadi MAC, didapatlah MAC address palsu (yang sudah diubah oleh attacker), atau sebaliknya, ketika ARP meresolv MAC menjadi IP, didapatlah IP address palsu. Inilah leluconnya.. Hehehe..

Contoh lainnya adalah MAC spoofing. Kalo MAC spoofing adalah menipu node tertenu dengan mengganti MAC address kita. Contoh implementasinya adalah ketika kita lagi pengen internetan di hotspot khusus yang AP (Access Point) WiFi nya di setting biar khusus laptop-laptop dengan MAC address tertentu saja yang bisa konek ke AP tersebut. Logika cara biar kita bisa konek adalah minta ke adminnya, entry MAC address laptop kita (jyahhh ya e ya la.. hehe) ATAU monitor jaringan disitu pake promiscious mode di Wireless Card kita, terus liat MAC address siapa aja yang bisa konek (pasti yang bisa konek kesitu berarti udah legitimate MAC addressnya kan?), terus terakhir ubah MAC address kita jadi MAC address yang legitimate itu. Pakai software pengganti MAC address, tentu saja… Nah catatan, ini bukan berarti ganti MAC harus ganti device Wireless Card nya.. Bisa diganti-ganti kok!!

Layer 3 (Layer Network)

Langsung aja… Celah keamanan di layer 3 yang populer adalah IP Spoofing.. Hah.. udah tau spoofing kan? Jadi bayangin sendiri aja kira-kira kayak gimana.. Hehe.. Yah, kalo pake contoh kira-kira adalah mengganti IP kita agar bisa lolos ke node tertentu yang mungkin di nodenya di filter berdasarkan IP tertentu. Jadi sama aja seperti MAC spoofing di atas. Tapi ini untuk layer 3… IP addressnya…
Contoh lain adalah ICMP (ping) flooding. Apa itu flood? Banjir? Jangan ketawa.. emang bener.. banjir.. ICMP flooding adalah teknik mengirimkan paket ICMP ke node yang menjadi target dengan jumlah besar dan terus menerus… Jadi targetnya kasian… kebanjiran paket.. mending kalo penting.. Lah ini isinya sampah semua.. hihihi… Nama lainnya adalah DoS (Denial of Service) attack. Kenapa Denial? Ya analoginya gimana kalo anda lagi kerja di Call Center misalnya… Terus saya iseng-iseng nelpon ke Call Center.. Anda repot ngangkat telepon yang MUNGKIN aja dari saya dong. Akibatnya anda pasti jadi sibuk dong. Penelepon lain (yang bisa jadi emang lagi sangat membutuhkan Call Center) jadi keganggu deh. Bahkan bisa-bisa orang itu ga dilayanin sama anda, karena anda keburu stress dan keluar kantor sambil teriak-teriak.. Hihihi… Nah belum lagi kalo Distributed-DOS attack (DDoS).. Berarti artinya flooding nya terdistribusi.. Makin banyak lagi paket sampah pastinya. Kalo kembali ke analogi, sama aja kyk saya nyuruh semua temen saya buat ikutan juga isengin anda di Call Center tadi… Hahahahahahaha… anda pasti lebih stress nantinya…

Layer 4 (Layer Transport)

Makin kesini makin cepet aja ah… contohnya TCP flooding. Sama kayak ICMP flooding tadi. Tapi ini di layer 4. Di layer yang tugasnya untuk membuat koneksi ke node-node. Prinsip TCP (koneksi yang dapat diandalkan… Baca posting saya sebelumnya) adalah mengirimkan SYN (Synchronize) ke node tujuan, dibalas dengan SYN-ACK (Synchronize-Acknowledgement) dari node tujan. Kemudian dibalas oleh kita dengan ACK lagi. Baru koneksi bisa tercipta. Nah, bagaimana kalau komputer kita iseng… ngirim SYN, terus dibalas dari node target dengan SYN-ACK, terus bukannya dibalas dengan ACK, kita malah minta SYN lagi… Hmm… bagaimana kalau ini dilakukan berulang-ulang dengan frekuensi yang sesempit/sesering mungkin terus dalam waktu yang panjang? Kalo target kita adalah server, tentu dia juga bakal repot. Yak.. anda betul sekali.. ini juga DoS attack berarti ‘kan??

Layer 5 (Layer Application)

Terakhir.. contohnya yang terkenal aja deh. DNS spoofing/poisoning. Yaitu mengubah “database” nama domain dan pemetaan ke IP addressnya. Tapi syaratnya, sang calon korban harus nanya nama domainnya tentu saja ke DNS Server kita. Iya nggak? Biar bisa kayak gitu, teknik DNS spoofing biasanya dikombinasikan dengan eksploitasi layer-layer di bawahnya juga (ex: IP spoofing, ARP spoofing) biar bisa kerja sebagai penipu nama domain. Contoh nyatanya di Internet adalah kasus jadul: klikbca.com dengan domain palsunyaclickbca.com… Tapi jika anda terperangkap di kasus ini emang salah anda juga sih.. Anda gak teliti sih.. :P … Ada lagi DNS spoofing yang bener-bener spoofing tuh.. Lah, maksudnya? Hmm.. kalo kasus BCA itu kan cuma plesetin nama domain aja. Kalo kasus hacker di Irak (klo ga salah) yang melakukan spoof terhadap domain twitter.com ini lebih keren.. Jadi di record DNS server korban si hacker itu, digantilah IP legitimate yang menuju ke hostingan aseli twitter.com menjadi ke IP yang menuju ke hostingan sang hacker. Semua orang yang menggunakan DNS Server yang malang itu pun kena dampaknya. Halaman twitter.com kok warna item.. trus ada gambar tengkorak? :P