BAB 2 LANDASAN TEORI
2.1.
Teori-teori Dasar / Umum Pada bagian teori-teori dasar / umum ini, akan dijelaskan mengenai dasardasar teori yang berkaitan dengan jaringan secara mendasar dan umum, dimana akan dibahas mengenai pengertian jaringan itu sendiri, serta penjelasanpenjelasan jaringan secara umum dengan lebih detail.
2.1.1. Pengertian Jaringan Jaringan komputer adalah sebuah sistem yang terdiri atas komputer dan perangkat jaringan lainnya yang bekerja bersama-sama untuk mencapai suatu tujuan yang sama. Agar dapat mencapai tujuan yang sama, setiap bagian dari jaringan komputer meminta dan memberikan layanan (service). Pihak yang meminta layanan disebut klien (client) dan yang memberikan layanan disebut pelayan (server). Arsitektur ini disebut dengan sistem client-server, dan digunakan pada hampir seluruh aplikasi jaringan komputer (Doug Lowe, 2005, p10).
2.1.2. Klasifikasi Jaringan Komputer Klasifikasi Jaringan komputer secara umum terbagi menjadi tiga jenis yaitu (William Stallings, 2004, p14):
6
7 a.
Local Area Network (LAN) Local Area Network (LAN), merupakan jaringan milik pribadi di dalam sebuah gedung atau kampus yang berukuran sampai beberapa kilometer. LAN seringkali digunakan untuk menghubungkan komputer-komputer pribadi dan workstation dalam kantor suatu perusahaan atau pabrik-pabrik.
b.
Metropolitan Area Network (MAN) Metropolitan Area Network (MAN), pada dasarnya merupakan versi LAN yang berukuran lebih besar dan biasanya menggunakan teknologi yang sama dengan LAN. MAN dapat mencakup kantor-kantor perusahaan yang letaknya berdekatan atau juga sebuah kota dan dapat dimanfaatkan untuk keperluan pribadi (swasta) atau umum. MAN mampu menunjang data dan suara, bahkan dapat berhubungan dengan jaringan televisi kabel.
c.
Wide Area Network (WAN) Wide Area Network (WAN), jangkauannya mencakup daerah geografis yang luas, seringkali mencakup sebuah negara bahkan benua. WAN terdiri dari kumpulan mesin-mesin yang bertujuan
untuk
menjalankan
program-program
(aplikasi)
pemakai.
2.1.3. Topologi Jaringan Topologi jaringan adalah, hal yang menjelaskan hubungan geometris antara unsur-unsur dasar penyusun jaringan, yaitu node, link,
8 dan lain sebagainya. Topologi jaringan dapat dibagi menjadi 5 kategori utama seperti di bawah ini (William Stallings, 2004, p470): a.
Topologi Bus Pada topologi Bus, kedua unjung jaringan harus diakhiri dengan sebuah terminator. Barel connector dapat digunakan untuk memperluasnya. Jaringan hanya terdiri dari satu saluran kabel yang menggunakan kabel BNC. Komputer yang ingin terhubung ke jaringan dapat mengkaitkan dirinya dengan men-tap Ethernetnya sepanjang kabel. Keunggulan topologi Bus adalah pengembangan jaringan atau penambahan workstation baru dapat dilakukan dengan mudah tanpa mengganggu workstation lain. Kelemahan dari topologi ini adalah bila terdapat gangguan di sepanjang kabel pusat maka keseluruhan jaringan akan mengalami gangguan.
Gambar 2.1 Topologi Bus
9 b.
Topologi Cincin Topologi cincin adalah topologi jaringan berbentuk rangkaian titik yang masing-masing terhubung ke dua titik lainnya, sedemikian sehingga membentuk jalur melingkar membentuk cincin. Pada topologi cincin, komunikasi data dapat terganggu jika satu titik mengalami gangguan. Jaringan FDDI mengantisipasi kelemahan ini dengan mengirim data searah jarum jam dan berlawanan dengan arah jarum jam secara bersamaan
Gambar 2.2 Topologi Cincin c.
Topologi Bintang Topologi bintang merupakan bentuk topologi jaringan yang berupa konvergensi dari node tengah ke setiap node atau pengguna. Kelebihan dari topologi jaringan ini ialah: •
Kerusakan pada satu saluran hanya akan mempengaruhi jaringan pada saluran tersebut.
10 •
Penambahan dan pengurangan node dapat dilakukan dengan mudah
•
Tahan terhadap lalu lintas jaringan yang sibuk Kekurangan dari topologi ini ialah :
•
Jika terjadi kerusakan pada node tengah, maka seluruh jaringan akan berhenti.
Gambar 2.3 Topologi Bintang d.
Topologi Mesh Toplogi Mesh adalah sejenis topologi jaringan yang menerapkan hubungan antarsentral secara penuh. Tingkat kerumitan jaringan ini sebanding dengan meningkatnya jumlah sentral yang terpasang. Topologi ini selain kurang ekonomis juga relatif mahal dalam pengoperasiannya.
11
Gambar 2.4 Topologi Mesh e.
Topologi Hierarchical Topologi jaringan ini disebut juga sebagai topologi jaringan bertingkat. Topologi ini biasanya digunakan untuk interkoneksi antar sentral dengan hirarki yang berbeda. Untuk hirarki yang lebih rendah digambarkan pada lokasi yang rendah dan semakin keatas mempunyai hirarki semakin tinggi. Topologi jaringan jenis ini cocok digunakan pada sistem jaringan komputer.
Gambar 2.5 Topologi Hierarchical
12 2.1.4. Model Referensi TCP/IP Sejarah TCP/IP dimulainya dari lahirnya ARPANET yaitu jaringan paket switching yang didanai oleh DARPA (Defence Advanced Research Projects Agency) pada tahun 1969. TCP/IP dijadikan standard oleh ARPANET pada tahun 1983. Untuk mempermudah konversi, DARPA juga mendanai suatu proyek yang mengimplementasikan protokol ini ke dalam BSD UNIX. Model refisi TCP/IP dibagi menjadi 4 layer, antara lain sebagai berikut (William Stallings, 2004, p38) : a.
Aplication Layer Layer ini menangani protokol tingkat tinggi, misalnya serperti aplikasi SSH untuk remote login, FTP, pengiriman e-mail dengan protokol SNMP, DNS yang berfungsi untuk memetakan nama-nama host menjadi IP address, HTTP untuk web browsing, dan masih banyak lagi protokol lainnya.
b.
Transport Layer Layer ini memungkinkan peer entity-peer entity pada host sumber dan host tujuan untuk melakukan komunikasi. Lapisan ini mendefinisikan bagiamana data yang diproses oleh lapisan aplikasi yang dikirimkan melalui jaringan. Dalam lapisan ini terdapat dua jenis protokol, yaitu TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol). Jenis protokol apa yang digunakan, dan bagaimana suatu data dikirimkan dengan protokol tersebut sangant bergantung pada lapisan aplikasi.
13 c.
Internet Layer Layer ini berfungsi mengijinkan host mengirimkan paket ke network dan memungkinkan paket-paket itu berjalan sendirisendiri ke tempat tujuannya. Selain itu juga, internet layer menentukan format paket yang resmi dan protokol resmi yang disebut Internet Protokol (IP). Ada dua versi IP yang sekarang digunakan, yaitu IPv4 dan IPv6. IPv4 terdiri atas kode sepanjang 32 bit, atau dinyatakan dengan memberi titik di setiap 8 bit-nya. Contoh alamat IPv4: 00000010 00000010 00000001 00000001 atau dalam desimal menjadi 10.10.1.1. Sedangkan pada IPv6 terdiri atas kode sepanjang
128
bit.
Contoh
alamat
FE80:0000:0000:0000:02AA:00FF:FE9A:4CA2
IPv6:
atau
bisa
disederhanakan menjadi FE80:0:0:0:2AA:FF:FE9A:4CA2 atau bisa juga ditulis serperti FE80::2AA:FF:FE9A:4CA2. d.
Network Access Layer Layer
ini
berhubungan
dengan
hal-hal
yang
memungkinkan paket IP untuk membuat hubungan secara fisik, dan kemudian membuat hubungan fisk lainnya. e.
Physical Layer Layer ini berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan. Pada level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.
14
Gambar 2.6 Model Referensi TCP/IP
2.1.5. Model Referensi Open System Interconnection (OSI) Model referensi jaringan terbuka OSI atau OSI Reference Model for open networking adalah sebuah model arsitektural jaringan yang dikembangkan oleh badan International Organization for Standardization (ISO) di Eropa pada tahun 1977. OSI sendiri merupakan singkatan dari Open System Interconnection. Model ini disebut juga dengan model "Model tujuh lapis OSI" (OSI seven layer models). Sebelum munculnya model referensi OSI, sistem jaringan komputer sangat tergantung kepada pemasok (vendor). OSI berupaya membentuk standar umum jaringan komputer untuk menunjang interoperatibilitas antar pemasok yang berbeda. Dalam suatu jaringan yang besar biasanya terdapat banyak protokol jaringan yang berbeda. Tidak adanya suatu protokol yang sama, membuat banyak perangkat
15 tidak bisa saling berkomunikasi. Ketujuh layer OSI adalah (William Stallings, 2004, p27): a.
Physical Layer Layer ini berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan, topologi jaringan dan pengabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.
b.
Data Link Layer Layer ini befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub, bridge, repeater dan switch layer 2 beroperasi.
c.
Network Layer Layer ini berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, dan kemudian melakukan routing melalui internetworking dengan menggunakan router dan switch layer 3.
d.
Transport Layer Layer ini berfungsi untuk memecah data ke dalam paketpaket data serta memberikan nomor urut ke paket-paket tersebut
16 sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadap paket-paket yang hilang di tengah jalan. e.
Session Layer Layer ini berfungsi untuk menyediakan (establish), mengatur (manage), dan memutuskan (terminate) sesi antara dua host yang sedang berkomunikasi.
f.
Presentation Layer Layer ini berisi tentang syntax dan semantics dari informasi yang dikirimkan. Untuk memungkinkan dua buah komputer yang memiliki presentation yang berbeda untuk dapat berkomunikasi, struktur data yang akan ditukar dapat dinyatakan dengan cara abstrak. Di layer ini dilakukan enkripsi, dekripsi dan kompresi data yang ditujukan untuk maksud keamanan.
g.
Application Layer Layer ini berfungsi sebagai antarmuka dengan aplikasi dengan fungsionalitas jaringan, mengatur bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan kesalahan. Protokol yang berada dalam lapisan ini adalah HTTP, FTP, SMTP, NFS, dan lain sebagainya.
17
Gambar 2.7 Model Referensi OSI dan TCP/IP
2.2.
Teori-teori Khusus Pada sub bab ini, akan dijelaskan mengenai teori-teori yang berkaitan dengan perancangan sistem.
2.2.1. Hypervisor Pada bagian ini, akan dijelaskan mengenai teori yang berkaitan dengan sistem Hypervisor secara umum dengan lebih detail.
2.2.1.1.Pengertian Hypervisor Hypervisor atau biasanya lebih dikenal dengan istilah virtual machine monitor (VMM), adalah software komputer atau software dari virtualization platform yang memungkinkan beberapa sistem operasi untuk dijalankan pada sebuah komputer secara bersamaan.
18 Istilah hypervisor berasal dari IBM CP-370, ynag merupakan
implementasi
ulang
dari
CP-67
untuk
IBM
System/370, yang dirilis pada tahun 1972 sebagai VM/370 (Wale Soyinka, 2009, p622).
2.2.1.2.Klasifikasi Hypervisor Hypervisor diklasifikasikan menjadi dua jenis yaitu (Nicholas A. Solter et al 2009, p654): a.
Tipe 1 (native, bare-metal) Hypervisor yang menggunakan software yang berjalan secara langsung dalam host’s hardware sebagai hardware control dan guest operating system monitor. Guest operating system berjalan pada tingkatan yang berbeda di atas sistem hypervisor. Contoh hypervisor yang menggunakan sistem ini adalah
VMware
ESX
Server,
LynxSecure
dari
LynuxWorks, L4 microkernels termasuk OKL4 dari Open Kernel
Labs,
Real-Time
Systems
RTS-hypervisor,
VirtualLogix VLX, Trango (sekarang VMware MVP), IBM POWER hypervisor (PowerVM), IBM System z hypervisor (PR / SM), Microsoft Hyper-V (diluncurkan pada Juni 2008), Xen, Citrix XenServer, Oracle VM Server, Parallels Server (diluncurkan pada tahun 2008), Yayasan ScaleMP vSMP (diluncurkan pada tahun 2005),
19 Sun's Logical Domains hypervisor (dirilis tahun 2005), Wind River 's hypervisor dan VxWorks Mils Platform, XtratuM.
Gambar 2.8 Hypervisor tipe 1 (Nicholas A. Solter et al 2009, p654) b.
Tipe 2 (host) Hypervisor menggunakan software yang berjalan dalam operating system environment. Dalam sistem ini guest operating system berjalan pada tingkatan yang ketiga di atas hardware. Contoh hypervisor yang menggunakan sistem ini adalah VMware Server (sebelumnya dikenal sebagai GSX), VMware Workstation, VMware Fusion, open source QEMU, Microsoft Virtual PC, Sun (sebelumnya Innotek) VirtualBox, dan TenAsys'eVM.
20
Gambar 2.9 Hypervisor tipe 2 (Nicholas A. Solter et al 2009, p654)
2.2.1.3.Server Virtualization Ada tiga jenis utama virtualisasi server, yaitu: virtualisasi sistem operasi, emulasi hardware dan paravirtualisasi. Sistem virtualisasi merupakan konsep baru yang dirancang untuk meringankan banyak aplikasi yang sedang berjalan dalam sebuah komputer serta memiliki kinerja dengan efektifitas yang lebih baik (Bernard Golden and Clark Scheffy, 2008, p6). a.
Virtualisasi sistem operasi Virtualisasi sistem operasi (OS) berjalan di atas host-server
yang
telah
terisi
sistem
operasi
dan
menyediakan kumpulan aplikasi yang dapat saling berinteraksi, aplikasi merupakan program yang berjalan
21 pada komputer untuk membantu mengoptimalkan sebuah mesin (komputer) dan untuk membantu kerja manusia. Dalam virtualisasi, aplikasi tersebut akan berjalan pada sebuah sistem operasi virtual. Dan aplikasi yang berjalan pada sistem virtual akan dapat berinteraksi satu sama lain seolah-olah memiliki sumber daya dari sistem operasi nyata. Dan seharusnya, aplikasi pada sebuah mesin virtual tidak dapat berinteraksi dengan aplikasi yang terletak pada sistem virtual yang lain. Sistem
virtualisasi ini sangat
berguna juga
digunakan untuk menjalankan fungsi-fungsi unik yang hanya ditawarkan oleh sebuah sistem operasi tertentu, dengan cara menggabungkannya ke dalam satu komputer. Sistem Virtualisasi merupakan konsep yang sangat membantu
dalam
memungkinkan
pengoperasian
menggunakan
server
virtualisasi
yang untuk
mendapatkan hak akses penuh pada satu komputer dengan sistem operasi yang berbeda. Tetapi, ada keterbatasan virtualisasi sistem operasi. Keterbatasan ini biasanya disebut sebagai fitur-fitur pilihan sistem operasi atau Containerization. b.
Emulasi Hardware Dalam emulasi hardware, sistem hypervisor menyediakan
suatu
emulasi
hardware
yang
dapat
22 digunakan oleh sebuah sistem operasi. Emulasi hardware ini disebut dengan virtual mesin monitor atau VMM. VMM menyediakan emulasi hardware standar yang dapat digunakan oleh sistem operasi dalam mesin virtual. Sistem operasi dan VMM bekerja dengan sistem transfer antar paket yang memungkinkan paket tersebut dapat dikirimkan ke mesin virtual lain. Aplikasi dasar untuk emulasi hardware adalah aplikasi software development and quality assurance, karena hal itu dapat menjalankan lebih banyak sistem operasi sejenis maupun sistem operasi berbeda pada sistem virtual. Hal ini dapat meningkatkan pengembangan dan pengujian perangkat lunak dalam jumlah lingkungan sistem operasi yang berbeda. Ada beberapa kelemahan dalam emulasi hardware, salah satunya adalah kelemahan dalam kinerja software virtualisasi. Aplikasi yang sering berjalan pada sistem virtualisasi lebih lambat dibandingkan jika mereka berjalan di sistem tanpa virtualisasi. Kelemahan
lain
emulasi
hardware
adalah
virtualisasi menyajikan software antarmuka terhadap standar hardware (VMM) ke sistem operasi yang diisikan ke dalam mesin virtual. Hypervisor menyediakan sebuah
23 antarmuka ke VMM dan kemudian menerjemahkannya ke sumber daya pada mesin. Ini berarti bahwa hypervisor harus menyediakan interface ke sumber daya mesin, interface ini disebut sebagai device driver. Driver harus terinstall ke sistem operasi sehingga hardware baru dan sistem operasi dapat berkomunikasi. Masalah pada driver
untuk emulasi hardware
adalah bahwa suatu hypervisor harus berisi device driver. Jika suatu mesin memiliki sumber daya Hardware dan tidak ada driver dalam sistem operasi hypervisor tersebut, maka software pada sistem operasi tidak dapat bekerja dengan optimal atau bahkan tidak dapat bekerja sama sekali. Hal ini dapat menyebabkan masalah, terutama organisasi yang ingin mengambil keuntungan dalam bidang pengembangan hardware. Perusahaan yang menawarkan software virtualisasi emulasi hardware adalah VMware (dalam dua versi, VMware Server dan ESX Server) dan Microsoft, yang menawarkan produk yang disebut Virtual Server. VMware server x86 hanya mendukung sistem operasi Microsoft. Microsoft
Virtual
Server
sekarang
sudah
digantikan oleh Hyper-V, yang disertakan sebagai komponen
dari
Microsoft
Windows
Server
2008.
24 Alternatif lain adalah Xen dan Qemu, yaitu hypervisor berbasis open source yang dapat digunakan untuk melakukan virtualisasi. c.
Paravirtualisasi Paravirtualisasi adalah nama untuk pendekatan lain untuk virtualisasi server. Dalam pendekatan ini, digunakan software
yang
dapat
berfungsi
sebagai
hardware
(emulasi). Sehingga sistem operasi dapat menggunakan hardware emulasi untuk menjalankan fungsinya. Ada dua keuntungan utama dalam menggunakan pendekatan paravirtualisasi. Pertama, menetapkan kinerja overhead yang kecil karena yang bekerja hanya beberapa program.
Hardware
hardware
yang
emulasi,
dibutuhkan
menetapkan
kemudian
seluruh
diemulasikan
sehingga menciptakan hubungan antara sistem operasi virtual dengan hasil emulasi. Sebuah sistem operasi akan menggunakan hardware atau sumber daya di sebuah mesin komputer. Paravirtualisasi hanya mengijinkan satu sistem operasi untuk mengakses sebuah hardware, jika hardware tersebut sudah digunakan di suatu sistem operasi virtual, maka sistem operasi virtual yang lain tidak akan dapat menggunakan hardware yang sama. Keuntungan kedua dari paravirtualisasi adalah bahwa paravirtualisasi
25 tidak membatasi driver hardware yang terkandung dalam virtualisasi. Namun, ada salah satu kelemahan yang signifikan dalam pendekatan virtualisasi. Karena ringan dan dapat memberikan banyak akses ke perangkat keras, dalam virtualisasi juga terdapat user interface dan interface dari paravirtualisasi dapat diubah sesuai dengan keinginan . Hal ini dapat terjadi apabila akses ke source code paravirtualisasi dari suatu sistem operasi virtual sudah berjalan
sebelumnya.
Akses
ke
source
code
ini
dimungkinkan untuk sistem operasi open source seperti Solaris, Linux dan sistem operasi Microsoft yang menggunakan Microsoft source code access. Salah
satu
contoh
yang
relevan
dengan
paravirtualisasi adalah software open source seperti Xen, yang disponsori oleh perusahaan XenSource dan software Xen hampir terdapat pada semua distro linux.
2.2.1.4.Storage Virtualization Banyaknya jumlah data yang digunakan merupakan dasar utama terbentuknya storage virtualization. Saat ini banyak perusahaan direpotkan dengan masalah penyimpanan data. Penyimpanan data untuk bisnis maupun penyimpanan data untuk hal aplikasi web. Banyaknya jumlah data selalu menyebabkan
26 masalah dalam suatu organisasi atau perusahaan. Seperti banyak aplikasi yang membutuhkan data lebih dari kapasitas maksimum dalam satu server, dan banyak terdapat aplikasi internet yang mempunyai banyak mesin yang berisi satu data yang sama. Menyimpan banyak data dalam sebuah mesin server akan dapat menyebabkan gangguan saat melakukan pengiriman data, sehingga dapat menyebabkan crash atau error pada mesin server. Jika menggunakan banyak mesin untuk menyimpan data, akan terjadi masalah dalam backup data. Hal tersebut merupakan masalah yang terjadi dalam suatu organisasi yang menggunakan banyak data. Storage Virtualisasi merupakan salah satu jalan untuk mengatasi masalah akan banyaknya data yang terjadi. Virtualisasi penyimpanan data ini menggunakan tempat yang bersifat tersentralisasi dan digunakan untuk menanggulangi masalah pada akses data. Dengan menggunakan tempat yang terpusat maka jalur data akan lebih mudah untuk diatur dan efisien serta dapat mengurangi biaya yang digunakan untuk media penyimpanan data (Bernard Golden and Clark Scheffy, 2008, p11).
2.2.1.5.Implementasi Virtualisasi Banyak sekali implementasi menggunakan sistem virtual yang berjalan pada sistem operasi Linux dan Windows. Beberapa diantaranya
memiliki
kelebihan
masing-masing.
Beberapa
27 virtualisasi lebih mudah untuk diterapkan, lebih mudah diatur dan digunakan. Tetapi terdapat juga virtualisasi yang dirasa sulit untuk diimplementasi dan digunakan. Sistem virtualisasi yang populer digunakan sekarang ini diantaranya adalah Qemu, Xen, UML, KVM dan VMware (Wale Soyinka, 2009, p623). a.
Qemu Qemu merupakan program virtualisasi yang biasa disebut
dengan
mengemulasi
emulator
sempurna
komputer. sebuah
Qemu
komputer
dapat dengan
arsitektur komputer yang berbeda dan hasil emulasi tersebut tidak tergantung kepada mesin virtual hasil emulasi yang lain. Qemu dapat mengemulasikan arsitektur komputer ARM dalam host komputer yang menggunakan arsitektur komputer x86. Qemu telah diujicoba dan telah ditetapkan sebagai program virtualisasi yang stabil, sekarang telah dipergunakan sebagai dasar virtualisasi platform. b.
Xen Xen merupakan salah satu program populer dalam implementasi virtualisasi dengan banyak komunitas pendukung. Xen juga merupakan program yang stabil dan telah diujicoba. Xen mendukung virtualisasi secara sempurna maupun virtualisasi dengan menggunakan metode paravirtualisasi. Xen dikatakan sebagai program
28 virtualisasi
yang
berkinerja
tinggi.
Xen
telah
diperjualbelikan secara komersil oleh Citrix System, dan terdapat juga program open sourcenya di www.xen.org. c.
User-Mode Linux (UML) UML merupakan salah satu program virtualisasi pertama untuk sistem operasi linux. Virtualisasi ini menggunakan sistem operasi linux
itu sendiri sebagai
dasar untuk melakukan virtualisasi. Dengan menggunakan dasar linux, virtualisasi ini merupakan virtualisasi yang aman dari pengganggu (secure). Virtualisasi hasil UML menjalankan komponennya dengan menggunakan user biasa dalam linux (regular user) dan bukan menggunakan super user (dalam linux disebut sebagai root). UML berjalan secara penuh dalam satu user, sehingga berakibat menurunnya kinerja dari virtualisasi itu sendiri. d.
Kernel-based Virtual Machines (KVM) KVM merupakan virtualisasi pertama linux yang dinyatakan resmi untuk diimplementasikan ke dalam kernel.
KVM
sampai
sekarang
hanya
mendukung
virtualisasi secara penuh. e.
VMware VMware
merupakan
salah
satu
program
virtualisasi pertama yang telah dikenal secara luas dan komersil dalam hal implementasi virtualisasi. VMware
29 dapat digunakan di berbagai sistem operasi. User dan interface VMware dapat menghasilkan kinerja yang tinggi. Terdapat beberapa produk VMware yang dapat dipilih sesuai dengan kebutuhan pengguna. Untuk aplikasi sistem personal komputer, biasa dipergunakan VMware versi enterprise, sedangkan untuk aplikasi komputer server, VMware server dapat digunakan sebagai aplikasi dasar untuk melakukan virtualisasi. f.
Virtualbox Virtualbox merupakan sistem virtualisasi yang terkenal. Program ini sangat mudah untuk digunakan dan menggunakan
user
interface
yang
sangat
mudah
dimengerti. Performa yang dihasilkan sangat tinggi walaupun digunakan dalam virtualisasi berbagai macam sistem
operasi.
Virtualbox
dapat
digunakan
untuk
melakukan virtualisasi sempurna maupun virtualisasi dengan menggunakan paravirtualisasi. Terdapat dua macam program virtualbox, virtualbox yang bersifat komersil maupun virtualbox yang bersifat open source. Program open source virtualbox ini bersifat personal dan dapat digunakan dalam hal pendidikan. g.
Hyper-V Hyper-V
merupakan
virtualisasi
yang
diimplementasi dalam lingkungan Microsoft. Hanya dapat
30 dipergunakan pada hardware yang mendukung virtualisasi secara penuh (seperti Processor Intel-VT dan AMD-V). Interface dan manajemen data dalam Hyper-V sangat baik dalam hal virtualisasi. Windows Server 2008 telah terintegrasi untuk menggunakan Hyper-V.
2.2.2. OpenVPN OpenVPN merupakan software opensource yang dilengkapi dengan fitur-fitur yang lengkap dari SSL VPN. OpenVPN ini dilengkapi dengan remote access, site-to-site VPNs, Wi-Fi security, dan solusi untuk remote access dengan sekala yang enterprise dengan load balancing, failover, dan fine-grained access-controls. VPN adalah singkatan dari virtual private network, yaitu jaringan pribadi (bukan untuk akses umum) yang menggunakan medium nonpribadi (misalnya internet) untuk menghubungkan antar remote-site secara aman. Perlu penerapan teknologi tertentu agar walaupun menggunakan medium yang umum, tetapi traffic (lalu lintas) antar remote-site tidak dapat disadap dengan mudah, juga tidak memungkinkan pihak lain untuk menyusupkan traffic yang tidak semestinya ke dalam remote-site (Markus Feilner, 2006, p5). Ada empat protokol yang ada di Layer 2 yang digunakan oleh teknologi VPN yang didefenisikan oleh RFC yang menggunaakan metode enkripsi dan telah menyediakan user authentication (Markus Feilner, 2006, p13) :
31 a.
Point to Point Tunneling Protocol (PPTP), yang dikembangkan dengan bantuan dari Microsoft, PPTP adalah kelanjutan dari PPP dan digunakan oleh seluruh produk Microsoft Operating System. PPTP menggunakan GRE untuk enkapsulasi dan dapat melakukan tunnel IP, IPX, dan paket-paket lainnya melalui internet. Kelemahan dari PPTP adalah PPTP hanya dapat melakukan sekali tunnel pada setiap lawan komunikasi
b.
Layer 2 Forwarding (L2F) dikembangkan pada waktu yang bersamaan oleh perusahaan-perusahaan seperti Cisco. L2F lebih baik dari PPTP, khususnya untuk mengamati tunneling network frames dan multiple simultaneous tunnels.
c.
Layer 2 Tunneling Protocol (L2TP) disetujui untuk standard industri dan digunakan secara luar oleh Cisco dan beberapa perusahaan. L2TP ini sangat sukses karena pada kenyataanya didasari oleh kombinasi dari L2F dan PPTP tanpa kekurangan dari masing-masing layer, bahkan L2TP dapat memberikan sebuah security mechanisms, yang dapat dikombinasikan dengan IPsec.
d.
Layer 2 Security Protocol (L2Sec) yang dikembangkan untuk memberikan solusi yang lebih baik dari IPsec. Security mekanisme
yang
digunakan
sangat
rahasia
karena
pada
kenyataanya menggunaakan SSL/TSL. Ipsec sudah menjadi standar dalam implementasi OpenVPN karena sangat cocok untuk lingkungan IP dibandingkan denan PPTP,
32 L2F, dan L2TP yang lebih cocok digunakan dalam multi protokol yang bukan dalam lingkungan IP seperti NetBEUI, IPX, dan Appletalk. Selain itu enkripsi, otentifikasi, dan manajemen kunci sudah menjadi bagian yang integral dalam Ipsec.
Gambar 2.10 Pengiriman Data Sebelum Menggunakan VPN (Markus Feilner, 2006, p9)
Gambar 2.11 Pengiriman Data Setelah Menggunakan VPN (Markus Feilner, 2006, p12) VPN software berada pada lokasi A dan B enkripsi dan dekripsi data dan mengirimkannya melalui tunnel, seperti mobil atau kereta api, data tidak dapat pergi sembarangan melainkan ke tunnel endpoint (Markus Feilner, 2006, p12).
33 2.2.3. Secure Shell (SSH) Implementasi SSH yang banyak dipakai saat ini adalah OpenSSH. Aplikasi ini telah di-port ke berbagai distro Linux. SSH adalah aplikasi pengganti remote login seperti telnet, rsh, dan rlogin, yang jauh lebih aman. Dikembangkan pertamakali oleh OpenBSD project dan kemudian versi rilis p (port) di-manage oleh team porting ke sistem operasi lainnya, termasuk sistem operasi Linux. Fungsi utama aplikasi ini adalah untuk mengakses mesin secara remote. Bentuk akses remote yang bisa diperoleh adalah akses pada mode teks maupun mode grafis/X apabila konfigurasinya mengijinkan. scp yang merupakan anggota keluarga ssh adalah aplikasi pengganti rcp yang aman, keluarga lainnya adalah sftp yang dapat digunakan sebagai pengganti ftp. Dengan SSH, semua percakapan antara server dan klien dienkripsi. Artinya, apabila percakapan tersebut disadap, penyadap tidak mungkin memahami isinya. Lebih jauh lagi, SSH memungkinkan mengamankan koneksi dari pembajakan (Wale Soyinka, 2009, p484).
2.2.4. Firewall Firewall adalah sebuah sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggap aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak aman. Salah satu progarm firewall yang terkenal dalam sistem operasi Linux adalah Iptables. Iptables adalah program konfigurasi filter paket untuk Linux 2.4 dan keatas. Kernel 2.4
34 (2.45, tepatnya) diperkenalkan pertama kali pada Slackware (sebagai opsi) pada versi 8.0 dan mejadi default pada Slackware 8.1. Program iptables memiliki program yang secara default sebagai berikut (Iwan Sofana, 2008, p467) : a.
Filter Tabel default dari iptables, jika opsi -t tidak disebutkan tabel ini yang secara default digunakan, tabel filter digunakan untuk memfilter semua paket yang masuk (chain INPUT), melewati (chain FORWARD) dan keluar (chain OUTPUT) dari sebuah mesin linux, paket2 tersebut dapat diterima (ACCEPT), diblok(DROP) ataupun ditolak (REJECT) dengan beberapa macam alasan.
b.
Nat Table nat (Network Address Translation) berfungsi untuk translasi alamat jaringan, dengan kata lain tabel ini berfungsi ketika kita akan melakukan modifikasi terhadap alamat sebuah paket, dimana kita bisa membelokkan paket ke alamat tujuan yang berbeda, port tujuan / service tujuan yang berbeda, mengubah alamat asal, dan mengubah port / service asal.
c.
Mangle Mangle/mangling paket, tabel ini digunakan untuk melakukan penandaan terhadap suatu paket, setelah paket itu ditandai, penanda paket dapat digabungkan dengan perintah
35 lainnya yang berhubungan dengan routing paket ataupun melakukan pengubahan terhadap paket.
d.
Raw Selain tiga tabel diatas terdapat satu tabel lagi yang jarang digunakan, tabel ini digunakan untuk melakukan connection tracking.
Gambar 2.12 Diagram Hubungan Antara Default Chain dalam program Iptables (Wale Soyinka, 2009, p325)
2.2.5. Virtual Network Computing (VNC) VNC merupakan sebuah program untuk melakukan Remote Desktop Sharing yang menggunakan protokol RFB untuk mengontrol grafis desktop komputer lain. Protokol RFB (Remote Framebuffer) adalah sebuah protokol sederhana untuk melakukan remote access ke sistem
36 Graphical User Interfaces (GUI). Karena berkerja di framebuffer tingkat yang dapat diterapkan pada sistem windowing dan aplikasi, termasuk X11, Windows dan Macintosh. Program VNC dapat mentransmisikan keyboard dan mouse events dari satu komputer ke komputer lain, menyampaikan adanya perubahan grafis layar dalam suatu komputer melalui jaringan. VNC pertama kali dikembangkan di Olivetti Research Laboratory di Cambridge, Inggris. Sebuah sistem VNC terdiri dari Client, Server, dan protokol komunikasi. a.
VNC Server adalah sebuah program yang terinstall dalam suatu komputer, yang berfungsi untuk melakukan screen sharing.
b.
VNC Client (viewer) adalah program yang berfungsi untuk mengontrol, melihat, dan berinteraksi dengan VNC Server.
c.
VNC Protokol (RFB) merupakan protokol sederhana untuk melakukan remote access ke sistem Graphical User Interfaces (GUI). Secara umum, program VNC menggunakan protokol TCP port 5900, untuk berkomunikasi. VNC dapat digunakan sebagai corsspaltform remote desktop (Nicholas A. Solter et al, 2009, p109).
37 2.2.6. Server Web Server web adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halamanhalaman web yang umumnya berbentuk dokumen HTML. Server web yang terkenal diantaranya adalah Apache dan Microsoft Internet Information Service (IIS). Apache merupakan server web antar-platform, sedangkan IIS hanya dapat beroperasi di sistem operasi Windows. Web atau World Wide Web(WWW) merupakan salah satu layanan Internet yang paling populer. Bisa di katakan, Web adalah “wajahnya Internet”. Berbagai hal dapat “ditampilkan” di halaman Web. Mulai dari teks, gambar, video, musik, dan sebagainya. Protokol bernama HTTP(Hyper Text Transfer Protocol) bertanggung jawab menangani proses berkomunikasi antara client Web(browser atau Web browser) dan server Web. Bagaimana koneksi dilakukan dan apa yang terjadi selama proses dapat di jelaskan secara sederhana sebagai berikut (Iwan Sofana, 2008, p16): a.
b.
Web browser memecah URL menjadi 3 bagian, yaitu : •
Bagian protokol (misal: http, ftp, dsb)
•
Hostname Server Web (misal: fedora.net.id)
•
File home page (misal: index.html)
Web browser berkomunikasi dengan resolver (mencari server DNS), meminta informasi IP address, setelah IP address
38 diketahui selanjutnya IP address ini di gunakan untuk koneksi dengan server Web. c.
Web browser kemudian membentuk koneksi dengan server menggunakan IP address dan port 80 (standar port untuk protokol HTTP).
d.
Web browser mengirimkan request GET ke server Web, menanyakan file home page.
e.
Server Web mengirimkan halaman Web yang diminta dalam bentuk tag-tag HTML kepada Web browser.
f.
Web
browser
membaca
tag-tag
HTML,
kemudian
menampilkannya dalam keadaan sudah di format. g.
Server Web memutuskan koneksi dengan client.
2.2.7. Network Attached Storage (NAS) Server Network-Attached Storage (NAS) device adalah sebuah sistem penyimpanan yang mempunyai tujuan khusus yaitu untuk diakses dari jauh melalui data network. Klien mengakses NAS melalui RPC ( remoteprocedure-call) seperti NFS untuk UNIX atau CIFS untuk Windows. RPC dibawa melalui TCP atau UDP (User Datagram Protocol) dari IP network biasanya dalam local-area network (LAN) yang sama dengan yang membawa semua lalu lintas data ke klien. Unit NAS biasanya diimplementasikan sebagai sebuah RAID array dengan software yang mengimplementasikan interface RPC.
39
Gambar 2.13 NAS Server (Christopher Negus, 2008, p715) NAS menyediakan jalan yang cocok untuk setiap komputer dalam sebuah LAN untuk saling berbagi pool penyimpanan dengan kemudahan yang sama seperti menamai dan menikmati akses seperti HAS lokal. Umumnya cenderung untuk lebih tidak efisien dan memiliki peforma yang lebih buruk dari penyimpanan direct-attached. Samba merupakan salah satu aplikasi yang banyak digunakan untuk membangun NAS Server. Samba server merupakan aplikasi yang mengimplementasikan protokol Server Message Block (SMB) atau Common Internet File System (CIFS). SMB merupakan protokol yang dikembangkan oleh Microsoft yang diikutsertakan dengan Sistem Operasi Windows, yang berguna untuk melakukan sharing files dan printers. CIFS merupakan protokol yang dikembangkan secara open source, yang dapat digunakan secara cross-platform yang didasarkan oleh SMB.
40 Samba merupakan program open source yang mengimplementasikan protokol berbasis SMB dan CIFS. Berikut ini merupakan list sistem operasi yang mendukung protokol SMB dan CIFS (Christopher Negus, 2008, p764): •
Windows 9x
•
Windows 2000
•
Windows Server 2003
•
Windows NT
•
Windows ME
•
Windows XP
•
Windows Vista
•
Windows for Workgroups
•
MS Client 3.0 for DOS
•
OS/2
•
Dave for Macintosh Computers
•
Mac OS X
•
Samba for Linux Selain protokol SMB terdapat juga protokol FTP yang bisa
digunakan untuk melakukan Sharing file. Dengan memanfaatkan protokol FTP, user dapat mengirim (upload) dan mengambil (download) file dari server FTP dapat beroperasi dalam dua mode, yaitu mode active FTP dan mode passive FTP (Wale Soyinka, 2009, p417).
41 a.
Active FTP Dalam mode active FTP, client FTP mengirimkan sebuah port secara acak (N>1023) ke FTP server command port, port 21. Kemudian, client mulai listening dari port N+1 dan mengirimkan perintah FTP “PORT N+1” ke FTP Server. Kemudian server akan terhubung kembali ke port data client (port N+1) dari port data lokal server, port 20.
Gambar 2.14 Active FTP b.
Passive FTP Pada mode Passive FTP, client membuka dua port secara acak (N>1023 dan N+1). Port yang pertama akan terhubung dengan port 21 (FTP server command port) pada server. Setelah itu, client akan mengirim perintah “PASV” ke server. Akibat dari perintah “PASV” ini, server akan membuka port secara acak (P > 1023) dan akan mengirimkan perintah “PORT P” kembali ke client. Client kemudian akan memulai koneksi dari port N+1 ke port P pada server untuk memulai transfer data.
42
Gambar 2.15 Passive FTP
2.2.8. Mail Server Simple Mail Transfer Protocol (SMTP) adalah sebuah protocol standar untuk email yang menggunakan Protokol Internet untuk berkomunikasi. SMTP biasanya menggunakan port 25 sebagai jalur utama untuk pertukaran data. Banyak aplikasi email menggunakan SMTP untuk mengirim dan menerima email, tetapi ada juga aplikasi email yang menggunakan SMTP sebagai sarana hanya untuk membuka email (relay). Aplikasi tersebut biasanya menggunakan protokol POP untuk menerima email dan IMAP untuk mengakses kotak email di mail server (Wale Soyinka, 2009, p452). a.
POP – Post Office Protocol Dalam dunia computer, Post Office Protocol (POP) adalah standar protokol internet yang bekerja pada application layer yang digunakan oleh email untuk menerima email dari server melalui koneksi TCP/IP. Protokol ini hanya bersifat menerima
43 dari server (retrieve), tetapi tidak melakukan sinkronisasi terhadap server email (Wale Soyinka, 2009, p466). b.
IMAP – Internet Message Access Protocol Internet Message Access Protocol (IMAP) adalah salah satu dari dua standar protokol internet untuk menerima email, selain protokol POP. Sekarang, email client dan mail server sudah mendukung dua protokol ini sebagai protokol standar untuk penerimaan dan pengiriman email (Wale Soyinka, 2009, p466).