Upload
doanngoc
View
224
Download
6
Embed Size (px)
Citation preview
6
BAB 2
LANDASAN TEORI
2.1. Teori-teori Dasar / Umum
Pada bagian teori-teori dasar / umum ini, akan dijelaskan mengenai dasar-
dasar teori yang berkaitan dengan jaringan secara mendasar dan umum, dimana
akan dibahas mengenai pengertian jaringan itu sendiri, serta penjelasan-
penjelasan 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):
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 sendiri-
sendiri 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 IPv6:
FE80:0000:0000:0000:02AA:00FF:FE9A:4CA2 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 paket-
paket 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 pengoperasian server yang
memungkinkan menggunakan virtualisasi 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 emulasi, menetapkan seluruh
hardware yang dibutuhkan kemudian 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 emulator komputer. Qemu dapat
mengemulasi sempurna sebuah komputer 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 di-
enkripsi. 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 corss-
paltform 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 halaman-
halaman 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. 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)
b. 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 ( remote-
procedure-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).