2
BAB 2
LANDASAN TEORI
2.1
Open System Interconnection (OSI) 7-layer Model referensi OSI merupakan model jaringan deskriptif yang dibuat pada tahun
1984 oleh International Organization for Standardization (ISO). Model ini menyediakan kumpulan set standar bagi para vendor untuk memastikan kompatibilitas dan interoperabilitas yang lebih baik dari berbagai macam teknologi jaringan yang dibuat oleh perusahaan-perusahaan di seluruh dunia. Model referensi ini juga digunakan sebagai kerangka kerja yang dipakai untuk memahami bagaimana informasi berjalan dalam sebuah jaringan (Cisco System, 2003). Model referensi OSI telah menjadi model utama dalam komunikasi jaringan. Walaupun banyak model lain yang muncul, sebagian besar pengguna dan produsen produk jaringan memakai model ini. Hal ini disebabkan karena model OSI memiliki keuntungan sebagai berikut: •
Mengurangi kompleksitas
•
Standarisasi interface
•
Mempermudah rekayasa secara modular
•
Memastikan interoperabilitas teknologi yang berbeda
•
Mempercepat evolusi
•
Mempermudah pembelajaran dan pengajaran
Model Referensi OSI memiliki tujuh lapisan dengan fungsinya masing-masing. Sebuah data yang melewati model ini akan melalui tujuh lapisan tersebut secara 8
9 berurutan tergantung dari arah data tersebut. Lapisan-lapisan tersebut berikut fungsinya mulai dari lapisan teratas adalah sebagai berikut (Cisco System, 2003): 1. Layer Application Lapisan ini merupakan lapisan ke-7 referensi model OSI, memberikan layanan ke jaringan komputer untuk aplikasi-aplikasi pemakai dan mengadakan komunikasi dan program ke program. Lapisan ini digunakan pada saat pencarian suatu file di file server. Selain itu, email, browsing internet juga bekerja pada lapisan ini. Lapisan ini merupakan lapisan yang paling dekat dengan user. 2. Layer Presentation Agar suatu data dapat dilihat oleh pemakai, informasi tersebut harus dapat ditampilkan dalam bentuk teks maupun grafis pada layar monitor pemakai. Lapisan ini berfungsi untuk menampilkan teks dan grafis. File format yang digunakan antara lain ASCII, EBCDIC, JPEG, MPEG, TIFF, PICT, RTF, MIDI maupun Quick Time. 3. Layer Session Lapisan ini membuka, mengatur dan menutup sesi antara aplikasi aplikasi. Protokol yang berfungsi pada lapisan ini adalah NFS, NETBEUI, RPC, SQL, X Windows System, Apple Talk Session Protocol (ASP) dan Digital Network Architecture Session Control Program (DNASCP). Lapisan ini juga menentukan apakah informasi yang diminta oleh pemakai berasal dari komputer local atau komputer lain dalam jaringan. jika informasi berasal dari komputer lain, session akan memulai koneksi ke jaringan.
10 4. Layer Transport Lapisan ini bertanggung jawab atas keutuhan transmisi data. Lapisan ini sangat penting karena lapisan ini yang memisahkan lapisan tingkat atas dengan lapisan bawah. Pada lapisan ini data diubah menjadi segmen atau data stream. Terdapat 2 jenis koneksi ada lapisan transport yakni connection-oriented dan connectionless-oriented. Pada connection-oriented, digunakan sistem three way handsake untuk melakukan koneksi yakni semua paket yang dikirim mendapat tanda terima (acknowledge) dari penerima dan paket yang tidak diterima akan dikirim ulang dan terjadi pengurutan kembali paket seperti asal waktu pengiriman. Sedangkan pada sistem connectionless-oriented, pengirim tidak mengirimkan tanda terima dan paket-paket tidak diurut kembali seperti asalnya. Namun tipe koneksi ini memiliki keunggulan yaitu penggunaan bandwidth yang efektif karena semua jalur yang tersedia dapat digunakan oleh pemakai-pemakai lain. Oleh karena jalur yang akan digunakan bergantung pada paket per paket, maka jika terjadi kemacetan di jalur satu, paket dapat disalurkan ke jalur lain. 5. Layer Network Lapisan ini menyediakan topologi logika jaringan yang memungkinkan penggunaan alamat logika seperti IP address. Dengan menggunakan alamat logika ini, lapisan network ini berfungsi meneruskan paket-paket dari satu node ke node lain di jaringan komputer dan memilih jalur yang terbaik dalam meneruskan paket di jaringan. Di lapisan ini segmen-segmen diubah menjadi paket-paket dengan menambah informasi mengenai alamat logika yang dituju dan alamat asal dari paket. Router bekerja pada lapisan ini.
11 6. Layer Data Link Lapisan ini mengatur topologi jaringan, notifikasi kesalahan dan flow control. Switch dan bridge bekerja pada lapisan ini. Lapisan ini menyediakan fasilitas alamat hardware dan mengolah paket dari lapisan di atasnya menjadi frame dengan menambahkan informasi mengenai alamat hardware (MAC Address) yang dituju dan alamat asal. 7. Layer Physical Lapisan ini menentukan spesifikasi dari koneksi fisik jaringan seperti tipe kabel, tipe konektor, hubungan pin konektor dengan kabel, dan tipe interface suatu peralatan jaringan. Lapisan ini juga bertanggung jawab untuk mengaktifkan dan mengatur physical interface dari jaringan komputer. Setiap lapisan bertanggung jawab untuk meneruskan data dalam bentuk yang sesuai kepada lapisan diatas dan dibawahnya.
Gambar 2.1 Alur data melewati OSI 7-layer (Cisco System, 2003)
12
Gambar 2.2 Protokol-protokol internet pada masing-masing layer(Cisco System, 2003)
2.2
TCP/IP Dalam komunikasi antara dua atau lebih network device diperlukan sebuah standar
yang saling dimengerti satu sama lain layaknya sebuah bahasa bagi manusia agar dapat berkomunikasi dengan baik antara satu sama lain. Dalam sebuah network istilah “bahasa” tersebut disebut dengan protokol. TCP/IP sendiri sebenarnya mengacu kepada sekumpulan set protokol yang terdiri dari dua protokol utama: Transmission Control Protocol dan Internet Protocol. TCP/IP memungkinkan terjadinya komunikasi antar komputer yang memiliki perbedaan karakteristik dari segi hardware ataupun software.
2.2.1
Sejarah TCP/IP Model TCP/IP dikembangkan oleh U.S. Department of Defense (DoD) dengan
alasan ingin merancang suatu jaringan yang handal. DoD menginginkan suatu pengiriman data yang handal antar jaringan yang luas dengan mengabaikan segala situasi yang terjadi pada salah satu bagian dalam jaringan tersebut. Model TCP/IP memungkinkan hal ini dapat terjadi sehingga model TCP/IP digunakan sebagai standar dalam internet.
13 Model TCP/IP memiliki 4 buah lapisan yakni lapisan application, transport, Internet, dan network access. Lapisan yang terdapat pada model TCP/IP memiliki kesamaan nama dengan lapisan yang terdapat pada model OSI dengan masing-masing fungsi yang berbeda. Versi TCP/IP kemudian distandarisasi pada bulan September tahun 1981. IPv4 (IP versi 4) dengan panjang 32 bit, ditulis dalam bentuk dotted desimal dan dipisahkan dengan tanda titik sedangkan Ipv6 (IP versi 6) memiliki panjang 128 bit dan ditulis dalam bentuk heksadesimal dan dipisahkan dengan tanda titik dua (:). Pada tahun 1992 muncul standarisasi dari generasi IP yang baru yakni IPng yang didukung oleh Internet Engineering Task Force (IETF). IPng kemudian dikenal sebagai IPv6 yang akan banyak digunakan di kemudian hari karena keterbatasan IPv4 yang digunakan sekarang ini.
2.2.2
Arsitektur TCP/IP Sebagai sebuah protokol TCP/IP juga memiliki model referensi sendiri yang terdiri
dari empat lapisan: application layer, transport layer, Internet layer dan network access layer; dengan keterangan sebagai berikut (Cisco System, 2003): 1. Layer Application Lapisan aplikasi menangani protocol tingkat tinggi, issues of representation, proses encoding dan control dialog. Protokol TCP/IP menggabungkan semua aplikasi yang berhubungan dalam satu lapisan dan memastikan data telah dibungkus dalam satu paket sebelum dikirim ke lapisan berikutnya. TCP/IP tidak hanya mencakup spesifikasi untuk lapisan internet dan transport saja seperti IP dan TCP melainkan spesifikasi pada aplikasi umum lainnya. TCP/IP
14 juga memiliki protocol untuk mendukung transfer data, email dan login secara jarak jauh. Selain itu juga mendukung File Transfer Protocol (FTP), Trivial File Transfer Protocol (TFTP), Network File System (NFS), Simple Mail Transfer Protocol (SMTP), Terminal emulation (Telnet), Simple Network Management Protocol (SNMP), dan Domain Name System (DNS).
Gambar 2.3 Protokol internet pada layer Aplication (Cisco System, 2003)
2. Layer Transport Lapisan transport menyediakan layanan pengiriman dari sumber host kepada host tujuan. Lapisan ini membangun koneksi logik antara komputer pengirim dan penerima dalam suatu jaringan. Perpindahan segmen protokol dan aplikasi dari lapisan atas dalam bentuk aliran data yang sama antar komputer pengirim dan penerima. Aliran data pada lapisan transport menyediakan layanan pengiriman secara end to end. Internet sering digambarkan dengan awan. Lapisan transport mengirim data paket dari komputer pengirim ke komputer tujuan melalui awan. Kontrol end to end dilakukan dengan metode sliding window dan ketepatan urutan data dan acknowledgment (ACK) merupakan fungsi utama dari lapisan transport
15 dengan mengggunakan TCP. Apabila ditambah dengan UDP maka lapisan transport dapat berfungsi untuk membagi data aplikasi pada lapisan atas dan mengirimkan segmen dari suatu alat ke alat lainnya.
Gambar 2.4 Protokol internet pada layer transport (Cisco System, 2003)
3. Layer Internet Fungsi dari lapisan internet adalah untuk memilih jalur terbaik dari jaringan yang dilalui dalam pengiriman paket. Protokol utama yang digunakan adalah Internet Protocol (IP). Pemilihan jalur terbaik dan pertukaran paket dilakukan dalam lapisan ini. Protocol-protokol yang beroperasi pada layer internet TCP/IP adalah: ¾ IP menyediakan layanan connectionless, dan pengiriman paket melalui jalur terbaik. IP tidak mengurusi isi dari paket melainkan hanya menentukan jalur untuk sampai ke tujuan. ¾ Internet Control Message Protocol (ICMP) menyediakan layanan kontrol dan pertukaran pesan. ¾ Address Resolution Protocol (ARP) menentukan alamat lapisan data link, alamat MAC untuk alamat IP yang diketahui.
16 ¾ Reverse Address Resolution Protocol (RARP) menentukan alamat IP ketika hanya alamat MAC yang diketahui.
IP melakukan operasi sebagai berikut: ¾ Menentukan paket dan skema pengalamatan. ¾ Mengirimkan data antar lapisan internet dan lapisan network access ¾ Mengirimkan paket ke suatu remote host
IP kadang disebut sebagai protokol yang unreliable, karena IP tidak menyediakan layanan pengecekan kesalahan dan perbaikan. Fungsi tersebut dilakukan oleh lapisan atas dari lapisan transport atau lapisan application.
Gambar 2.5 Protokol internet pada layer Internet (Cisco System, 2003)
4. Layer Network Access Lapisan network access yang disebut juga lapisan host-to-network merupakan lapisan yang berhubungan dengan segala sesuatu yang diperlukan sebuah paket untuk terhubung secara fisik ke dalam jaringan. juga termasuk teknologi LAN
17 dan WAN serta segala detail yang terdapat dalam lapisan physical dan datalink pada OSI. Lapisan network access juga berfungsi memetakan alamat IP ke alamat fisik perangkat keras dan penyatuan paket IP ke dalam frame. Lapisan ini akan melakukan koneksi dengan media fisik jaringan sesuai dengan tipe perangkat keras dan tatap muka dari jaringan tersebut.
Gambar 2.6 Protokol internet pada layer Network Access (Cisco System, 2003)
2.3
Perbandingan Model OSI dan TCP/IP Persamaan model OSI dan TCP/IP: •
Keduanya memiliki lapisan-lapisan.
•
Keduanya memiliki lapisan aplikasi dengan layanan yang berbeda.
•
Menggunakan teknologi packet-switched.
•
Perlu diketahui oleh ahli jaringan.
18 Perbedaan model OSI dan TCP/IP: •
TCP/IP menggabungkan lapisan presentation dan lapisan session ke dalam lapisan application.
•
TCP/IP menggabungkan lapisan data link dan physical pada model OSI ke dalam 1 lapisan network access.
•
TCP/IP tampak lebih sederhana karena memiliki jumlah lapisan yang lebih sedikit.
•
Lapisan transport pada model TCP/IP yang menggunakan UDP tidak selalu menjamin pengiriman paket yang reliable, tidak seperti lapisan transport pada model OSI.
Internet dibangun dengan menggunakan standar pada protokol TCP/IP. Model TCP/IP diakui karena protokolnya sedangkan model OSI digunakan sebagai pedoman untuk memahami proses komunikasi.
Gambar 2.7 Perbandingan antara OSI Model dengan TCP/IP Model (Cisco System, 2003)
19 2.4
IP Address Setiap perangkat keras (host) yang berada dalam suatu jaringan setidaknya
mempunyai satu alamat IP yang bersifat unik yang membedakan dari host lain sehingga mereka dapat ditempatkan dalam suatu jaringan tertentu. Setiap komputer dalam jaringan TCP/IP harus diberi suatu pengenal yang unik atau yang disebut alamat IP yang bekerja pada lapisan 3 pada lapisan OSI. Alamat IP terdiri dari 32 bit di mana dalam penulisannya IP dibagi menjadi 4 bagian. Masing-masing bagian terdiri dari 8 bit dan dibatasi dengan titik. Contoh: “202.155.89.19”. Pengalamatan IP terdiri dari 2 bagian yaitu bagian network number dan host number. Bit-bit network ditandai dengan angka binary 1 dan bit-bit host ditandai dengan angka binary 0. Pembagian bit-bit network dan host ini ditentukan dengan Subnet Mask. Contoh: “202.155.89.19 / 255.255.255.0”, menyatakan bahwa 24 bit pertama menyatakan network dari IP address tersebut, dan sisanya 8 bit merupakan bit-bit host bagi IP tersebut. Dari IP tersebut dapat disimpulkan bahwa network dari IP tersebut adalah 202.155.89.0, sedangkan 202.155.89.19 merupakan alamat IP dari host tersebut. Beberapa teknologi dalam pengalamatan IP adalah IP subnetting, dan Variable-Length Subnet Mask (VLSM). Sebuah paket IP terdiri dari data-data yang berasal dari lapisan di atasnya ditambah dengan IP header. Berikut susunan dari sebuah paket IP:
20
Gambar 2.8 Susunan paket IP (Cisco System, 2003)
Pengalamatan IP terbagi dalam lima kelas yaitu: 1. Kelas A Kelas A merupakan kelas yang memiliki jumlah host number terbanyak, sehingga kelas ini memiliki jumlah network interface terbanyak yang dapat ditampung. Kelas ini biasa digunakan oleh perusahaan yang memiliki jaringan dalam skala yang besar. Alamat IP pada kelas A dimulai dari 1.0.0.0 sampai 126.255.255.255. 2. Kelas B Kelas B memiliki 2 octet host number yang memungkinnya untuk menampung 65534 network interface pada sebuah subnet. Alamat IP kelas B digunakan untuk jaringan dengan skala menengah. Alamat IP pada kelas B berkisar antara 128.0.0.0 sampai 192.167.255.255. 3. Kelas C Kelas C memiliki 1 octet host number yang memungkinkannya untuk menampung 254 network interface pada sebuah subnet. Kelas ini memiliki jumlah network interface yang paling sedikit dan juga paling banyak untuk
21 jaringan berskala kecil. Alamat pada kelas C dimulai dari 192.168.0.0 sampai 223.0.0.0. 4. Kelas D Kelas D merupakan kelas khusus yang tidak dapat dipakai oleh publik karena satu blok kelas ini khusus dipakai untuk keperluan multicast. Multicast adalah jenis transmisi layaknya broadcast, namun dalam skala yang lebih kecil dan dapat ditentukan. 5. Kelas E Kelas E adalah kelas IP yang tidak digunakan dan khusus disimpan dengan tujuan sebagai kelas cadangan untuk keperluan di masa mendatang.
Gambar 2.9 Struktur kelas IP (Cisco System, 2003)
Selain pembagian menurut alamat yang mampu ditampung, IP address juga dibagi menjadi dua macam berdasarkan pemakaiannya di internet: 1. Public IP address Public IP adalah alamat IP yang dipakai untuk koneksi ke jaringan Internet (global). Public IP bersifat unik oleh karena itu tidak boleh ada dua buah
22 public IP yang sama yang terhubung ke internet. Namun demikian, karena terbatasnya jumlah alamat IP yang dapat dialokasikan, maka digunakan alamat private IP untuk pemberian alamat IP. Alamat public IP dapat diperoleh dari suatu Internet Service Provider (ISP) dengan sejumlah biaya tertentu. 2. Private IP address Private IP merupakan solusi dari penggunaan public IP yang terbatas dengan penggunaan alamat IP yang bersifat lokal untuk suatu jaringan. Karena antara suatu jaringan dengan jaringan lainnya tidak terhubung, maka pemberian alamat IP yang sama pada dua jaringan tidak menimbulkan masalah dengan catatan bahwa pemberian alamat IP pada host dalam suatu jaringan lokal private harus tetap bersifat unik. Untuk menghubungkan jaringan lokal tersebut ke jaringan Internet, diperlukan suatu public IP, di mana semua private IP jaringan lokal dalam Internet akan diterjemahkan sebagai public IP tersebut. Prosedur ini disebut NAT (Network Address Translation) yang biasanya dilakukan oleh sebuah router.
2.5
Topologi Jaringan Topologi jaringan mendeskripsikan struktur dari suatu jaringan. Terdapat 2 jenis
topologi yakni topologi fisik dan topologi logik. Topologi fisik merupakan topologi jaringan yang memberikan gambaran tentang jalur kabel atau media, sedangkan topologi logik lebih menjelaskan bagaimana suatu media diakses untuk pengiriman data.
23 Secara umum, topologi fisik terbagi menjadi beberapa jenis, seperti: 1. Topologi bus Topologi ini menggunakan sebuah kabel sebagai backbone yang memiliki alat terminal di kedua sisi ujungnya. Host-host terhubung langsung ke backbone ini. 2. Topologi ring Topologi ini menghubungkan satu host dengan host lainnya dan host terakhir terhubung ke host yang pertama. Topologi ini akan terlihat seperti sebuah lingkaran (ring). 3. Topologi star Topologi ini menghubungkan host-host dengan satu device secara terpusat. 4. Topologi extended-star Topologi ini menghubungkan beberapa jaringan yang menggunakan topologi star. Sebuah line dari masing-masing hub atau switch dihubungkan dengan sebuah device secara terpusat. Keunggulan topologi ini adalah dapat dengan mudah untuk memperluas segmen atau area jaringan. 5. Topologi hierarchical Topologi ini mirip dengan topologi extended-star, akan tetapi topologi ini dihubungkan dengan sebuah komputer yakni seorang administrator untuk mengatur traffic jaringan pada topologi. 6. Topologi mesh Topologi ini menghubungkan satu host ke semua host yang berada di jaringannya. Keunggulan topologi ini adalah jaringan yang reliable, karena bila
24 satu path atau line terputus, tidak akan mempengaruhi jaringan karena masih tersedia path-path lainnya dalam pengiriman data.
Gambar 2.10 Topologi Fisik (Cisco System, 2003)
2.6
Jaringan Nirkabel
Gambar 2.11 Arsitektur Jaringan Nirkabel (Cisco System, 2003)
Jaringan nirkabel adalah suatu jaringan yang menggunakan frekuensi radio untuk komunikasi antara perangkat komputer dan akhirnya titik akses yang merupakan dasar dari komunikasi radio dua arah yang tipikalnya bekerja di bandwidth 2,4 GHz (802.11b,
25 802.11g) atau 5 GHz (802.11a). Kebanyakan peralatan mempunyai kualifikasi Wi-Fi, IEEE 802.11b atau akomodasi IEEE 802.11g dan menawarkan beberapa level keamanan seperti WEP dan atau WPA. Tulang punggung jaringan biasanya menggunakan kabel, dengan satu atau lebih titik akses jaringan menyambungkan pengguna nirkabel ke jaringan berkabel. Jaringan nirkabel memungkinkan orang melakukan komunikasi dan mengakses aplikasi dan informasi tanpa kabel..
2.7
Hotspot Berdasarkan Geier (2005) hotspot adalah lokasi LAN nirkabel publik. Hotspot
terdapat di tempat-tempat umum yang ramai dikunjungi termasuk bandara, hotel, convention center, dan kedai kopi. Di lokasi ini terdapat wireless access point yang menghubungkan perangkat mobile (seperti laptop atau PDA) ke internet dengan menggunakan standar teknologi WLAN (wi-fi). Berdasarkan pendapat Vladimirov et al(2004, p550) access point adalah sebuah peralatan jaringan pada layar dua yang menghubungkan jaringan kabel dan nirkabel dan mengontrol parameter jaringan di jaringan LAN nirkabel. Fitur yang ditawarkan pada hotspot secara komersial dapat berupa: •
Sebuah portal di mana user diarahkan untuk otentikasi dan pembayaran
•
Pilihan pembayaran menggunakan kartu kredit, dll.
•
Mengijinkan akses situs tertentu dengan gratis (walled garden) Meskipun demikian, banyak hotspot terbuka dan digunakan dengan gratis, baik
yang dibuat oleh perusahaan pemerintah atau swasta untuk menarik perhatian
26 pelanggan. Saat ini pun banyak universitas maupun sekolah yang telah memiliki hotspot.
2.8
Dial – up Dial-up adalah sebuah metode untuk mengakses internet dengan menggunakan
modem yang terhubung dengan sebuah komputer dan saluran telepon yang mendial ke node Internet service provider (ISP)
untuk membuat hubungan antara modem ke
modem, yang lalu dirouting ke internet. Walaupun penggunaan akses internet dengan kecepatan yang lebih tinggi sudah banyak digunakan di negara-negara barat, banyak orang masih menggunakan dial-up karena mereka masih belum memiliki akses atau tidak mampu membayarnya. Dial-up tidak memerlukan tambahan infrastruktur lainnya selain jaringan telepon. Karena jaringan telepon tersedia di seluruh dunia, dial-up akan tetap berguna terutama untuk para traveller.
2.9
VPN Kepanjangan dari Virtual Private Network, adalah sebuah jaringan komunikasi
pribadi yang biasanya digunakan di dalam perusahaan, atau oleh beberapa perusahaan berbeda atau organisasi, untuk berkomunikasi melalui jaringan yang lebih luas. Lalu lintas pesan VPN dapat dibawa melalui infrastruktur jaringan publik (internet) pada protokol standar, atau melalui jaringan pribadi service provider yang ditegaskan dengan Service Level Agreement (SLA) antara konsumen VPN dan layanan VPN dari provider.
27 2.10 Client dan Server Model
Gambar 2.12 Cara kerja Sistem berbasis Client Server
Client - Server model adalah bentuk distributed computing dimana sebuah program (client) berkomunikasi dengan program lain (server) dengan tujuan untuk bertukar informasi. Pada umumnya sebuah client memiliki tugas sebagai berikut (Morgan, 2004): 1. Menyediakan user interface. 2. Menterjemahkan permintaan user ke dalam bentuk protokol yang sesuai. 3. Mengirimkan permintaan user ke server. 4. Menunggu respon dari server. 5. Menterjemahkan respon tersebut ke dalam format yang dapat dibaca. 6. Menyajikan hasil format tersebut ke user. Kata client juga sering disebut dengan kata host yang menandakan bahwa device tersebut tersambung dalam sebuah jaringan. Sedangkan sebuah server memiliki tanggung jawab sebagai berikut: 1. Mendengarkan permintaan dari client. 2. Memproses permintaan tersebut. 3. Mengembalikan hasil proses tersebut ke client.
28 Dalam praktek sehari-harinya terdapat berbagai macam server yang ada dalam jaringan. Setiap server tersebut memiliki fungsi khusus sesuai dengan tujuan pembuatan server tersebut. Beberapa contoh server berikut kegunaannya: •
Web Server Web server berfungsi untuk menyediakan layanan web berupa situs kepada user. Web server menggunakan user interface berupa web browser untuk dapat berkomunikasi dengan user dalam jaringan.
•
Database Server Database server adalah sebuah server yang didedikasikan khusus untuk menampung data-data dalam jumlah besar yang disimpan menggunakan perangkat lunak khusus. Database server memiliki tugas utama untuk melayani permintaan data dari user.
2.11 NAT (Network Address Translation) Merupakan suatu mekanisme untuk mengubah suatu alamat IP private yang bersifat internal ke dalam bentuk alamat IP yang bersifat publik pada saat akses eksternal
(internet)
sehingga
NAT
dapat
meningkatkan
keamanan
dengan
menyembunyikan alamat IP internal (private). Pengaturan NAT dapat dilakukan secara statis ataupun dinamis. Pengaturan NAT statis dengan pemetaan alamat IP lokal dan global secara satu-satu banyak digunakan pada host yang memiliki alamat IP yang konsisten yang dapat diakses dari internet seperti pada server, router ataupun switch. Sedangkan pengaturan NAT secara dinamis digunakan untuk memetakan suatu alamat IP private menjadi beberapa alamat IP public.
29 Masing-masing host dengan alamat IP private dapat memiliki beberapa alamat IP public yang digunakan ketika mengakses keluar. PAT (Port Address Translation) merupakan mekanisme NAT secara dinamis dimana beberapa alamat IP private dipetakan ke dalam sebuah alamat IP public. Hal ini dimungkinkan karena setiap alamat IP private dikenal melalui suatu port. Keuntungan NAT: •
Menghilangkan proses perubahan alamat IP pada setiap host ketika terjadi pergantian ISP (perubahan alamat IP publik). NAT dapat menghilangkan proses pengalamatan ulang pada semua host yang memerlukan akses eksternal sehingga dapat menghemat waktu dan uang.
•
Pengalamatan yang menggunakan aplikasi port-level multiplexing. Dengan menggunakan PAT, host internal dapat menggunakan sebuah alamat IP public untuk komunikasi eksternal. Dengan menggunakan sistem ini, maka dapat menghemat penggunaan alamat IP public karena hanya dibutuhkan satu atau beberapa alamat eksternal untuk mendukung komunikasi host internal.
•
Meningkatkan keamanan jaringan. Karena jaringan internal yang bersifat private tidak menampilkan alamat IP atau jaringan topologi ketika menggunakan NAT untuk akses eksternal.
2.12 DHCP (Dynamic Host Configuration Protocol) Merupakan suatu mekanisme yang digunakan untuk pemberian alamat IP atau informasi konfigurasi jaringan secara dinamis dalam suatu jaringan. DHCP merupakan alat untuk menghemat waktu konfigurasi bagi network administrator.
30 DHCP bekerja dalam model client/server. DHCP memungkinkan suatu DHCP client dalam suatu jaringan IP untuk menerima konfigurasi dari sebuah server DHCP. Umumnya, konfigurasi yang paling sering diterima client dari server adalah alamat IP. Alamat IP yang diterima client dari server akan berada dalam suatu selang waktu administrasi tertentu. Ketika waktu berakhir, client akan meminta alamat yang lain, walaupun kadang client tetap diberi alamat IP yang sama dengan yang sebelumnya. Server DHCP juga dapat menawarkan informasi yang lain seperti alamat server DNS, WINS dan nama domain. Kebanyakan DHCP server memungkinkan administrator untuk mendefenisikan secara khusus alamat MAC dari client yang dapat dilayani dan secara otomatis diberi alamat IP yang sama. DHCP menggunakan UDP sebagai protokol transport. Client akan mengirim pesan melalui port 67 dan server mengirim pesan kepada client melalui port 68.
2.13 Teknologi AAA Pada awalnya, sebelum AAA diperkenalkan, peralatan individu digunakan untuk mengotentikasi pengguna, tanpa standar yang resmi, setiap mesin menggunakan metode otentikasi yang berbeda, beberapa menggunakan profil, ada yang menggunakan CHAP (Challenge/Handshake Authentication Protocol), dan yang lainnya menggunakan database SQL. Masalah utama dari model-model tersebut adalah scalability, dimana menyimpan sejumlah data pada satu peralatan jaringan bukanlah penghalang dalam manajemen data, tetapi peningkatan kapasitas dengan menambah peralatan lain (masing-masing dengan metode otentikasinya sendiri), dengan cepat menjadi masalah besar.
31 Tim kerja AAA yang dibentuk oleh IETF menciptakan arsitektur yang dapat mengatasi permasalahan diatas. Lebih jelasnya, ada suatu kebutuhan untuk memfokuskan pada desentralisasi peralatan dan pengawasan peralatan dalam jaringan yang berbeda-beda. ISP mulai menawarkan layanan selain dial up, termasuk ISDN, xDSL, dan konektivitas kabel-modem. Oleh karena itu, sangat diperlukan suatu standard dimana user dapat diverifikasi, logon, dan diawasi selama berada dalam jaringan. Untuk itu muncullah arsitektur AAA. Pertanyaan-pertanyaan dibawah ini dapat mewakili fungsi dari AAA yaitu: 1. Siapakah kamu? 2. Hak apa saja yang saya berikan kepada kamu? 3. Apa saja yang kamu lakukan selama menggunakan hak itu?
2.13.1 Authentication Otentikasi adalah proses untuk memverifikasi seseorang (atau mesin). Metode otentikasi yang familiar adalah mengggunakan kombinasi ID dan password, dimana pengetahuan tentang password adalah menunjukkan bahwa pengguna adalah asli. Perkembangan pesat e-commerce dan transaksi bisnis melalui internet memaksa pemilik untuk memiliki sebuah alat otentikasi yang lebih kuat dan terpercaya. Digital Certificates adalah salah satu solusinya, dan 5 tahun kedepan, diperkirakan digital certificates akan menjadi bagian PKI (Public Key Infrastructure) yang paling diminati pada internet. Aspek penting dari otentikasi adalah untuk mengizinkan 2 objek yang unik membentuk sebuah hubungan percaya, keduanya diasumsikan pengguna yang asli.
32 Kepercayaan antara system mengizinkan fungsi seperti proxy server, dimana sistem memperbolehkan request atas nama sistem yang lain dan mengizinkan implementasi AAA untuk menjangkau jaringan heterogen yang didukung oleh layanan dan client yang berbeda tipe.
2.13.2 Authorization Otorisasi menggunakan sejumlah peraturan atau template untuk memutuskan apa yang dapat dilakukan seorang user yang telah diotentikasi pada sistem. Contohnya, dalam kasus sebuah ISP, ia boleh memutuskan apakah sebuah alamat IP statis bertentangan dengan alamat DHCP. Sistem administrator yang mendefinisikan peraturan ini. Jadi boleh dibilang, implementasi smart dari server AAA memiliki logika yang akan menganalisa sebuah permintaan dan memberi izin akses apa yang diberikan, tidak peduli apakah permintaan yang sisanya valid atau tidak. Contohnya, seorang client dialup melakukan koneksi dan meminta multilink bonding. Sebuah server AAA yang umum akan secara sederhana menolak permintaan sisanya, tetapi implementasi smart akan menelusuri permintaan tersebut, memutuskan apakah client hanya diperbolehkan koneksi dial-up, dan mengizinkan saluran itu bersamaan dengan menolak yang lainnya.
2.13.3 Accounting Accounting berfungsi menghitung dan menyimpan sumber yang diambil oleh pengguna selama akses. Ini termasuk jumlah waktu sistem atau jumlah data yang
33 dikirim dan diterima selama satu sesi. Accounting dijalankan dengan menyimpan statistik suatu sesi dan informasi penggunaan dan digunakan untuk kontrol otorisasi, billing, analisis trend, utilisasi sumber, dan aktivitas perencanaan kapasitas. Data Accounting mempunyai beberapa kegunaan. Seorang administrator dapat menganalisa requests yang sukses untuk menentukan kapasitas dan memprediksi muatan sistem untuk masa depan. Seorang pemilik bisnis dapat menghitung waktu yang digunakan untuk suatu layanan tertentu berdasarkan bill. Seorang security analyzer dapat melihat pada requests yang ditolak, melihat apakah ada suatu pola yang mencurigakan, dan memungkinkan serangan dari seorang hacker atau freeloader. Data accounting memiliki manfaat yang besar pada administrator server AAA.
2.14 Remote Authentication Dial-In User Service (RADIUS) Dalam suatu jaringan yang luas dengan resource yang banyak, proses otentikasi akan lebih mudah jika dilakukan oleh sebuah server dengan menggunakan protokol AAA (Authentication, Authorization, Accounting). Protocol AAA yang banyak digunakan sekarang ini adalah RADIUS. RADIUS merupakan suatu mekanisme clientserver dimana sebuah Network Access Server (NAS) biasanya bertindak sebagai client dari RADIUS. RADIUS dirancang dengan tujuan agar sebuah NAS dapat meneruskan sebuah request pengguna ke server. Dalam proses otentikasi, NAS bertanggungjawab untuk meneruskan informasi dari pengguna yang melakukan request dan menunggu respon dari server yang akan mengolah informasi tersebut. Ketika proses accounting diperlukan, NAS juga bertanggungjawab untuk menyimpan data pemakaian dan mengirimnya ke server. Sedangkan server RADIUS bertugas mengolah request dan
34 otentikasi dari pengguna, mengembalikan informasi yang dibutuhkan untuk konfigurasi NAS agar dapat melayani user.
2.14.1 Sejarah RADIUS muncul untuk memenuhi kebutuhan akan proses otentikasi, otorisasi dan accounting pada pengguna yang ingin mengakses resource dalam suatu jaringan yang luas. Pembuatan RADIUS berawal dari Merit Network yang merupakan salah satu perusahaan terbesar yang bergerak di bidang internet. Awalnya Merit membangun suatu jaringan dial-up untuk mengakses resource di California. Untuk dapat mengakses resource tersebut, proses otentikasi diperlukan. Seiring dengan perkembangan waktu, user juga bertambah banyak akibatnya perusahaan menyadari akan perlunya suatu mekanisme otentikasi yang lebih fleksibel dengan daya jelajah yang lebih luas. Kemudian Merit membuat suatu proposal yang ditujukan kepada perusahaan Livingston. Kemudian kedua perusahaan melakukan pertemuan dan konferensi dan akhirnya menghasilkan versi awal dari RADIUS. Tipe RADIUS yang pertama yakni RADIUS RFC (2039) pertama kali muncul pada bulan Januari 1997. Sedangkan RADIUS RFC (2865) yang merupakan standard radius yang digunakan sekarang ini dikeluarkan pada bulan Juni 2000. Pada penambahan
terhadap
standar
RFC,
spesifikasi
akuntansi
RADIUS
juga
didokumentasikan dalam sebuah RFC yang tidak standar, dan pada bulan Juni 2000 sebuah RFC yang merupakan perluasan RADIUS juga ditulis ke dalam fitur tambahan seperti yang terdapat pada standar resmi RFC. Sejak tahun 1997, RADIUS telah diterima oleh standar IETF. cIETF RADIUS RFC bersamaan dengan sistim akuntansi
35 dan RFC dari perluasan RADIUS telah menjadi standar resmi untuk para pengguna RADIUS.
2.14.2 Struktur paket data RADIUS 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Authenticator | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attributes ... +-+-+-+-+-+-+-+-+-+-+-+-+Gambar 2.13 Struktur Paket Data RADIUS
Struktur paket data RADIUS pada Gambar 1 terdiri dari lima bagian, yaitu: 1. Code Memiliki panjang 1 oktet, digunakan untuk membedakan tipe pesan RADIUS yang dikirimkan melalui paket. Kode-kode tersebut (dalam desimal) ialah: Tabel 2.1 Kode Pesan pada RADIUS
Kode
Penjelasan
1
Access-Request
2
Access-Accept
3
Access-Reject
4
Accounting-Request
5
Accounting-Response
11
Access-Challenge
12
Status-Server (experimental)
13
Status-Client (experimental)
255
Reserved
36 2. Identifier Memiliki panjang satu octet, bertujuan untuk mencocokkan permintaan. 3. Length Memiliki panjang dua oktet, memberikan informasi mengenai panjang paket. 4. Authenticator Memiliki panjang 16 oktet, digunakan untuk membuktikan balasan dari RADIUS server, selain itu digunakan juga untuk algoritma password. 5. Attributes Berisikan informasi yang dibawa pesan RADIUS, setiap pesan dapat membawa satu atau lebih atribut. RADIUS dapat membawa informasi dengan fungsi yang berbedabeda. Informasi tersebut dibawa dalam bentuk atribut. Setiap atribut dapat terdiri dari paket yang di dalamnya terdapat informasi mengenai panjang variabel dan bentuk yang sesuai dengan format tipe (type), panjang (length) dan nilai (value) (TLV). Tipe atribut berisi angka dari 1 sampai 255 (1 oktet) yang menggambarkan tipe dari atribut. Pada tipe atribut juga terdapat suatu nomor khusus yang bertindak sebagai gateway bagi vendor untuk menerapkan suatu atribut khusus. Panjang atribut menggambarkan panjang dari isi atribut secara keseluruhan dengan nilai minimal 3 atau lebih besar. Field ini memiliki kesamaan dengan field Length pada paket data RADIUS. Sedangkan nilai atribut berisi informasi atau karakteristik yang akan dibawa. Secara khusus, keseluruhan proses transaksi pada RADIUS berasal dari AttributeValue Pairs (AVP) dari client ataupun server yang mengandung property dan karakteristik yang mendukung transaksi AAA. Untuk meningkatkan keamanan, RFC
37 RADIUS melarang beberapa atribut dikirim dalam paket tertentu. Misalnya password yang tidak boleh dikirim dalam proses komunikasi pada saat otentikasi ataupun otorisasi sehingga atribut User-Password tidak diperbolehkan untuk dikirim sebagai paket balasan dari server kepada client.
Gambar 2.14 Format atribut standar AVP
Suatu pesan dapat membawa atribut yang berbeda dengan fungsi yang berbeda sesuai dengan tujuan dari pesan tersebut.
2.14.3 Jenis pesan pada RADIUS •
Access-Request Merupakan pesan yang dihasilkan oleh NAS yang ditujukan kepada server untuk meneruskan request dari user.
•
Access Challenge Merupakan pesan yang dikirim server RADIUS kepada NAS dan secara umum digunakan untuk mengetahui keadaan dari NAS ataupun client dengan melakukan metode negosiasi tertentu.
•
Access Accept Merupakan pesan yang dikirim server RADIUS kepada NAS untuk menandakan suatu request yang telah berhasil diterima (pemberian grant).
38 •
Access Reject Merupakan pesan yang dikirim oleh server untuk menolak sebuah request.
•
Accounting request Merupakan pesan yang dikirim oleh NAS kepada server accounting untuk menyampaikan informasi accounting mengenai layanan yang diberikan kepada pengguna.
•
Accounting response Merupakan pesan yang dikirim oleh server kepada NAS untuk memberitahu bahwa informasi accounting yang dikirim telah diterima dan memberikan hasil yang diperoleh dari perhitungan fungsi accounting yang dilakukan oleh server.
•
Status Server dan Client Merupakan pesan yang digunakan untuk melakukan uji coba.
2.14.3.1 Struktur Code pada paket untuk proses otentikasi dan otorisasi 1. Access-Request Tabel 2.2 Struktur paket data pada Access-Request
Tipe Paket
Request
Kode
1
Identifier
Unik untuk setiap request
Panjang
Panjang header ditambah semua tambahan data atribut
Authenticator
Request
Data Atribut
2 atau lebih
39 Paket Access-Request digunakan pada saat melakukan request terhadap suatu layanan dalam suatu jaringan. Client mengirimkan paket request ke server RADIUS dengan meminta layanan apa yang diinginkan. Faktor utama dari pengiriman adalah kode field yang terdapat pada header paket yang diset menjadi 1 yang merupakan nilai desimal unik untuk paket request. Kemudian RFC akan membalas request ke semua paket request yang valid yakni berupa otorisasi atau sebaliknya penolakan.
Payload pada paket Access-Request terdiri dari atribut username untuk mengidentifikasi user yang akan mengakses ke resource jaringan. Selain itu, juga terdapat password yang di-hash dengan menggunakan MD5.
2. Access-Accept Tabel 2.3 Struktur paket data pada Access-Accept
Tipe Paket
Response
Kode
2
Identifier
Sama dengan Access-Request untuk setiap transaksi
Panjang
Panjang header ditambah semua tambahan data atribut
Authenticator
Response
Data Atribut
0 atau lebih
Paket Access-Accept dikirim oleh server RADIUS kepada client untuk memberikan ACK (acknowledge) bahwa request client telah diterima. Jika semua request dalam payload Access-Request diterima, maka server RADIUS akan mengganti kode field pada paket response menjadi 2. ketika client menerima paket accept, akan mencocokkannya dengan paket response dengan menggunakan field identifier. Paket yang tidak sesuai akan dibuang. Dalam paket Access-Accept juga dimungkinkan
40 terdapat beberapa atribut informasi. Atribut ini menggambarkan tipe layanan yang telah diotentifikasi dan otorisasi sehingga client dapat melakukan pengaturan sesuai dengan layanan tersebut.
3. Access-Reject Tabel 2.4 Struktur paket data pada Access-Reject
Tipe Paket
Response
Kode
3
Identifier
Sama dengan Access-Request
Panjang
Panjang header ditambah semua tambahan data atribut
Authenticator
Response
Data Atribut
0 atau lebih
Server RADIUS dibutuhkan untuk mengirimkan paket Access-Reject kembali ke client jika layanan yang diminta ditolak. Penolakan dapat didasarkan pada peraturan sistem, hak akses atau berdasarkan kriteria tertentu. Terdapat 2 jenis atribut untuk payload tipe paket ini yakni Reply-Message dan Proxy-State.
4. Access-Challenge Tabel 2.5 Struktur paket data pada Access-Challenge
Tipe Paket
Response
Kode
11
Identifier
Sama dengan Access-Request
Panjang
Panjang header ditambah semua tambahan data atribut
Authenticator
Response
Data Atribut
0 atau lebih
41 Jika server menerima informasi yang salah dari client atau ingin memperoleh informasi lebih dari client untuk memastikan keabsahan user, server dapat mengirimkan paket Challenge kepada client. Client yang menerima paket ini harus mengirim paket Access-Request yang baru dengan menambahkan beberapa informasi yang dibutuhkan. Seperti pada paket Access-Reject, hanya terdapat dua jenis atribut yang dapat disertakan dalam paket yakni atribut State dan Reply-Message.
2.14.3.2 Struktur Code pada paket untuk proses accounting 1. Accounting-Request Tabel 2.6 Struktur paket data pada Accounting-Request
Tipe Paket
Request
Kode
4
Identifier
Unik untuk setiap request; unik untuk setiap transmisi dari data yang berubah
Authenticator Request Data Atribut
0 atau lebih atribut
Paket Accounting-Request dikirim dari client kepada server dengan kode field 4. Ketika server menerima paket ini, maka server akan mengirim acknowledge kepada client kecuali apabila paket tersebut tidak bisa diproses.
2. Accounting-Response Tabel 2.7 Struktur paket data pada Accounting-Response
Tipe Paket
Response
Kode
5
Identifier
Respon terhadap Accounting-Request
Authenticator
Response
42 Tipe Paket
Response
Data Atribut
0 atau lebih atribut
Paket Accounting-Response merupakan paket acknowledge yang dikirim server accounting kepada client untuk menandakan bahwa request dari client telah diterima. Jika paket tersebut telah diproses dan telah berhasil disimpan, RFC mengeset kode field pada bagian acknowledge menjadi 5 sebagai tanda response. Karena identifier dari paket response sama dengan field Accounting-Request, client dapat dengan mudah mencocokkan kedua paket tersebut bersamaan dan sekaligus dapat mengecek request mana yang telah dipenuhi dan yang belum.
2.14.4 Cara kerja RADIUS 2.14.4.1 Proses Otentikasi RADIUS mendukung beberapa jenis protokol yang berbeda untuk mengirim data user yang khusus baik yang ditujukan ataupun yang berasal dari sebuah server otentikasi. Dua jenis protocol yang paling sering digunakan adalah Password Authentication Protocol (PAP) dan Challenge Handshake Authentification Protocol (CHAP). Selain itu, RADIUS juga mendukung beberapa atribut dan metode yang dikembangkan oleh vendor.
2.14.4.1.1 Password Authentication Protocol (PAP) Protokol PAP menggunakan atribut User-Password dalam melakukan request terhadap paket pada RADIUS server. sedangkan field User-Name tidak digunakan
43 karena ada kemungkinan terjadi perubahan nilai pada field tersebut oleh RADIUS server pada saat melalui suatu rantai proxy. Algoritma yang digunakan untuk menyimpan password user yang sebenarnya terdiri dari beberapa tahapan. Pertama-tama client mendeteksi identifier dan shared secret untuk request yang asli kemudian mengirimkannya pada proses hashing MD5. shared secret merupakan suatu mekanisme untuk meningkatkan keamanan dan integritas dari transaksi. Shared secret dihasilkan dengan cara random yang hanya diketahui oleh client dan server. Shared secret biasanya digunakan dalam operasi yang membutuhkan suatu nilai atau informasi untuk disembunyikan. Berikutnya, password client yang asli diproses dengan melalui proses XOR dan hasil yang didapat dari kedua proses tersebut dan ditempatkan dalam field User-Password. Pada saat server RADIUS menerima field tersebut, field tersebut diproses dengan urutan yang sebaliknya dengan proses pada client untuk menentukan kebenaran dari data tersebut. Langkah-langkah proses otentikasi sebuah client yang ingin mengakses server RADIUS melalui suatu NAS (Network Access Server) adalah sebagai berikut: •
NAS akan meminta username dan password pada client yang mencoba untuk terhubung dengan menggunakan protokol PAP.
•
Pada saat menerima username dan password dari client, NAS akan membuat sebuah pesan Access Request yang ditujukan kepada RADIUS server dengan urutan sebagai berikut: NAS membuat RA (Request Authenticator) dan menggunakannya bersamaan dengan shared secret yang juga digunakan RADIUS server untuk menghasilkan suatu atribut User-Password yang menyembunyikan password user yang sebenarnya. Kemudian NAS akan
44 menunggu respon dari server. NAS akan memasukkan RA ke dalam field Authenticator pada pesan Access Request. •
Jika NAS tidak menerima respon dari server pada jangka waktu tertentu, NAS akan mengirimkan request kembali ke server yang sama atau ke server yang berbeda.
•
Pada saat server RADIUS menerima Access Request, server RADIUS akan mejalankan prosedur tertentu untuk mengecek kebenaran dari request tersebut. Salah satunya adalah mengecek apakah terdapat shared secret. Dan kemudian mengambil password user dari atribut User-Password dan mengecek apakah user terdapat pada database dan memiliki password yang sama dengan yang terdapat pada server.
•
Jika pengecekan berhasil, server RADIUS akan mengirimkan pesan Access Accept kembali ke NAS.
•
Sebaliknya jika gagal, maka server RADIUS akan mengirimkan pesan Access Reject kembali ke NAS.
2.14.4.1.2 Challenge Handshake Authentification Protocol (CHAP) Protokol CHAP setingkat lebih atas dibanding dengan protokol PAP karena memiliki tingkat keamanan yang lebih baik karena password user tidak dikirim pada proses komunikasi antara client dan server sebaliknya client merespon challenge yang dihasilkan server (authenticator) pada proses otentikasi. Langkah-langkahnya adalah sebagai berikut:
45 •
Client yang menggunakan protokol CHAP melakukan request terhadap NAS untuk terhubung ke jaringan.
•
NAS akan menghasilkan suatu challenge yang berukuran 16 oktet dan mengirimkannya kepada client melalui pesan CHAP Challenge. Pada pesan ini juga terdapat ID CHAP.
•
User akan melakukan respon terhadap challenge dengan menggunakan pesan response yang mengikutsertakan ID CHAP yang sama dengan yang terdapat pada pesan CHAP Challenge, username CHAP, dan respon terhadap challenge. Respon ini kemudian akan dihitung dengan menggunakan hashing MD5, dengan secret user (yang diketahui oleh RADIUS server dan client) sebagai kunci. MD5(ID, secret, challenge).
•
NAS kemudian menghasilkan suatu Access Request. NAS memasukkan user name CHAP, ID CHAP, password CHAP yang berasal dari user kemudian mengirimkannya bersamaan dengan Access Request kepada server RADIUS.
•
server RADIUS melihat password berdasarkan username dan menghitung hashing dengan cara yang sama seperti pada user. Jika atribut CHAP-Challenge tidak terdapat pada pesan, server akan menggunakan nilai pada field Request Authenticator pada Access Request. Server kemudian akan membandingkan hasil hashing dengan nilai yang terdapat pada password CHAP. Jika sesuai, maka server mengirim Access Accept kembali ke NAS dan jika tidak, akan mengirimkan paket Access Reject.
46
Gambar 2.15 Proses pengiriman pesan pada RADIUS dengan menggunakan CHAP sebagai protokol otentikasi
2.14.4.2 Proses Accounting RADIUS2865 tidak menyediakan spesifikasi untuk mendukung layanan accounting, sebaliknya accounting pada RADIUS didefenisikan dalam informasi RFC yang terpisah yaitu pada RADACC2866. Proses accounting juga menggunakan model client-server dimana client (NAS) akan mengirim informasi accounting dari user ke server RADIUS yang menjalankan mesin accounting. Terdapat 2 jenis pesan pada accounting RADIUS yakni Accounting Request dan Accounting Response. Accounting Request merupakan pesan yang dikirim dari client RADIUS kepada server RADIUS, dan Accounting Response merupakan pesan yang dihasilkan server RADIUS ketika menerima dan memproses Accounting Request.
Gambar 2.16 Pesan accounting pada RADIUS
47 Proses komunikasi dalam accounting RADIUS dimulai dengan adanya paket Accounting-Request dari client. Client akan menghasilkan paket Accounting Start yang merupakan suatu jenis khusus dari paket Accounting-Request. Paket ini berisi informasi layanan apa yang tersedia dan untuk apa layanan tersebut digunakan. Paket ini kemudian dikirim kepada server accounting RADIUS yang akan memberikan acknowledge sebagai tanda data telah berhasil diterima. Setelah selesai, client akan mengirim paket Accounting Stop (jenis khusus dari paket Accounting-Request) yang akan mengikutsertakan jenis layanan, statistik penggunaan seperti lama waktu, jumlah data yang dikirim, kecepatan rata-rata, dan detail lainnya. Server accounting kemudian akan memberikan acknowledge sebagai tanda paket Accounting Stop telah diterima. Jika server tidak dapat menangani isi dari paket Accounting-Request, server tidak akan mengirimkan acknowledge kepada client atas paket Accounting-Request yang dikirim client. Dalam proses accounting, proxy juga dapat digunakan seperti halnya pada proses otentifikasi dan otorisasi. Server accounting dapat meneruskan request dari client ke server lainnya untuk membantu memproses paket Accounting-Request dari client.
Gambar 2.17 Urutan pertukaran pesan dalam proses accounting RADIUS
48 2.15 Client dan Server Side Scripting Pemrograman web (scripting) terbagi atas dua jenis, yaitu client-side scripting dan server-side scripting. Client-side scripting adalah script yang pengolahannya dilakukan pada komputer client setelah mendownloadnya dari web server dan menampilkannya pada browser. Sedangkan server-side scripting adalah pemrograman web di mana pengolahan script tersebut dilakukan pada web server, dan mengirimkan hasil olahan tersebut berupa halaman web kepada user. Contoh client-side scripting adalah vbscript dan javascript. Sedangkan server-side scripting contohnya adalah ASP, ASP.NET, PHP, JSP.
2.16 Java Server Pages (JSP) dan Servlet JSP merupakan singkatan dari Java Server Pages. JSP merupakan sebuah bahasa teknologi yang didasarkan pada bahasa Java, yang dapat digunakan untuk membentuk halaman-halaman web yang bersifat dinamis. Teknologi ini dikembangkan oleh Sun Microsystems. Berbeda dengan applet, suatu fitur pada bahasa Java yang memungkinkan pengembang membuat aplikasi web yang dieksekusi pada sisi klien, JSP menggunakan pendekatan pemrosesan di sisi server (Web Server). Salah satu keuntungannya adalah memungkinkan untuk membuat aplikasi yang independen terhadap keberadaan sistem Java di sisi client. Servlet adalah kelas-kelas di java yang digunakan untuk memperluas kemampuan server yang menyimpan aplikasi yang akan diakses melalui model pemrograman berbasis request-response. Meskipun servlet dapat merespon berbagai macam tipe request, umumnya digunakan untuk memperluas kemampuan aplikasi yang disimpan di
49 web server. Sebagai contoh, paket javax.servlet dan javax.servlet.http menyediakan antarmuka dan kelas untuk menulis servlet.
2.17 Apache Tomcat Web Server Web Server adalah sebuah aplikasi yang terletak pada sebuah server dan berfungsi untuk menyediakan halaman web kepada web browser pada komputer client dengan menggunakan HyperText Transfer Protocol (HTTP). Apache adalah salah satu aplikasi web server yang dikembangkan dengan tujuan untuk menyediakan sebuah web server yang aman, efisien, dan dapat dikembangkan secara luas. Apache didistribusikan secara gratis kepada seluruh penggunanya (karena berbasis open source).
2.18 MySQL MySQL merupakan sebuah relational database management system (RDBMS) yang bersifat open source (http://www.mysql.com). Dengan menggunakan konsep RDBMS, MySQL tidak menyimpan data ke dalam sebuah area yang besar namun menyimpan data-data ke dalam tabel-tabel database. MySQL tetap menggunakan Structured Query Language (SQL) di dalam memproses data di dalam database. MySQL mengimplementasikan konsep client-server yang terdiri dari daemon mysqld dan beragam jenis aplikasi client dan library. MySQL pertama kali dikeluarkan pada Januari 1998. MySQL telah menjadi sebuah open source database server yang paling populer di seluruh dunia. Hal ini disebabkan karena MySQL memiliki kecepatan pemrosesan data, reliabilitas dan kemudahan di dalam pengembangan yang cukup
50 tinggi. Selain itu MySQL juga dapat digunakan dalam berbagai platform seperti Linux, UNIX, MacOS X dan Microsoft Windows.
2.19 Teori Interaksi Manusia dan Komputer Dalam perancangan UI (User Interface) suatu situs web ataupun portal, perlu diperhatikan beberapa hal yang dapat mempengaruhi user dalam menggunakan web tersebut. Perancangan UI tersebut hendaknya memudahkan dalam mengaksesnya dan menarik bagi user. Berikut ini adalah prinsip – prinsip dalam perancangan UI: ¾ Kenali Perbedaan Yaitu membedakan siapakah yang akan menggunakan rancangan tersebut, apakah pemula (first time user), menengah (knowledgeable intermittent user), ataupun mahir (expert frequent user). Kemudian rancang UI tersebut sesuai kebutuhan masing – masing user tersebut. ¾ Gunakan Delapan Aturan Emas Perancangan UI Adapun Delapan Aturan Emas tersebut adalah:
Berusaha untuk konsisten.
Memungkinkan frequent users menggunakan shortcuts.
Memberikan umpan balik yang informatif.
Merancang dialog yang memberikan penutupan (keadaan akhir).
•
Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana.
Memungkinkan pembalikan aksi yang mudah.
Mendukung pusat kendali internal (internal locus of control).
•
Mengurangi beban ingatan jangka pendek.
51 ¾ Cegah Kesalahan
2.20 Sistem Operasi Linux Sistem operasi merupakan jembatan penghubung antara aplikasi dengan hardware yang menyediakan sebuah level abstraksi sehingga aplikasi yang dibuat tidak tergantung hanya pada hardware tertentu saja. Linux dalam hal ini merupakan salah satu sistem operasi yang cukup dikenal di kalangan pengguna jaringan sebagai salah satu sistem operasi yang handal. Linux pada awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama Linus Torvalds. Semula Linux merupakan proyek hobi yang diinspirasikan dari Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler). Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan dengan sistem operasi komersial (misalnya Windows 9x/NT/2000/ME). Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Sistem operasi Linux menyediakan beberapa keuntungan sebagai berikut: 1. Open Source
52 Sistem operasi linux didistribusikan dengan lisensi open source. Open source disini memiliki arti bahwa kode program dari sistem operasi tersebut terbuka untuk umum. Lisensi ini memperbolehkan modifikasi dari kode program asli sebuah program namun dengan syarat tetap menyertakan kode asli tersebut. Keuntungannya adalah tersedianya versi gratis dari sistem operasi ini, selain itu berkat lisensi ini sistem operasi linux dapat berkembang dengan cepat berkat dukungan dari komunitas di seluruh dunia. Komunitas yang responsif dan kuat menjadi salah satu keuntungan utama mengapa linux menjadi salah satu sistem operasi terkemuka sekarang ini.
2. Stabil Linux relatif lebih stabil dibandingkan dengan sistem operasi lainnya. Server yang menggunakan sistem operasi linux umumnya memiliki down-time yang jauh lebih sedikit dibandingkan server yang menggunakan sistem operasi lainnya. Hal ini disebabkan antara lain karena sistem operasi linux tidak memiliki virus yang dapat membahayakan kegiatan operasional sehari-hari. Hal ini didukung pula oleh dukungan komunitas yang saling membantu apabila ditemukan kerusakan (bug) atau lubang keamanan dalam sebuah program.
3. Transparan dan fleksibel Sistem operasi linux dibuat dengan dukungan komunitas di seluruh dunia, sehingga user dapat mengetahui dengan pasti perkembangan sistem operasi ini, bagaimana
isi
dan
fitur
apa
saja
yang
disertakan,
dan
bagaimana
53 menggunakannya. Perusahaan dapat lebih yakin bahwa data-data yang disimpan pada komputer tidak akan diteruskan ke pihak tertentu, karena perusahaan sendirilah yang menentukan bagaimana isi dan bentuk dari sistem operasi yang akan mereka pakai. Selain itu, user dapat memilih sendiri dari fitur-fitur yang ada, menseleksi aplikasi yang akan mereka pakai sehingga sistem operasi yang terbentuk benar-benar spesifik sesuai dengan kebutuhan mereka masing-masing tanpa memasukkan kode program atau aplikasi lainnya yang tidak penting.
2.21 Activity Diagram Activity Diagram merupakan suatu variasi dari statechart yang memusatkan perhatian pada aliran aktivitas yang dikendalikan oleh proses internal dalam sebuah objek daripada event yang bersifat eksternal. Dalam activity diagram, hampir semua state berupa state aktivitas yang menggambarkan eksekusi dari suatu operasi. Transisi keluaran dari sebuah state secara normal disebabkan dari penyelesaian operasi. Activity diagram menggambarkan perubahan pada state atau aktivitas dalam sebuah prosedur. Activity diagram menyerupai flowcharts dan sangat berguna pada event dengan perubahan state pemicu yang secara internal dihasilkan sehingga dapat menggambarkan aliran kontrol dalam sebuah prosedur.
Activity diagram dapat digunakan untuk beberapa tujuan, diantaranya : •
Untuk menggambarkan tugas manusia (contohnya untuk menggambarkan suatu model bisnis).
54 •
Untuk menggambarkan fungsi dalam suatu sistem yang direpresentasikan dengan menggunakan usecase.
•
Untuk menggambarkan logika dari operasi dalam spesifikasi operasi.
State action merupakan suatu state yang memiliki aksi internal dan paling sedikit memiliki satu transisi keluar yang dipicu oleh penyelesaian dari aksi internal.
2.22 State Transition Diagram (STD) STD menggambarkan keadaan (state) pada suatu keadaan, event yang menyebabkan perubahan suatu keadaan (state) menuju keadaan (state) lain, dan akibat yang dihasilkan akibat perubahan tersebut. Simbol – simbol STD adalah: •
State, simbol: , merepresentasikan keadaan pada suatu waktu.
•
Event / action, symbol: ,
merepresentasikan hubungan antara keadaan (state) yang
berbeda. Pada panah tersebut ditulis dengan event yang menyebabkan perubahaan tersebut dan akibat yang dihasilkan.
55 2.23 Linear Sequential Model
Gambar 2.18 Linear Sequential Model
Berdasarkan pendapat Pressman (2001, p28-30) linear sequential model sering kali disebut classic life cycle atau the waterfall model, menyarankan sebuah pendekatan sistematis, berurutan untuk pembuatan software yang dimulai pada level sistem dan berkembang melalui analisis, desain, koding, testing, dan support. Gambar 2.18 di atas mengilustrasikan urutan langkah pada linear sequential model. Tabel 2.8 Keuntungan dan Kerugian Linear Sequential Model
Keuntungan Menyediakan template (serangkaian template) untuk metode analisis, desain, koding, dan testing Banyak digunakan oleh developer terutama pada aplikasi bisnis dan mudah dimengerti Secara signifikan lebih baik daripada metode lain yang kurang terorganisir
Kerugian Proyek sesungguhnya tidak menggunakan model ini Walau proses iteratif bisa terjadi, tetapi perubahan yang terjadi bisa membingungkan Versi pertama software yang bisa bekerja baru bisa dilihat menjelang projek selesai Model ini dikerjakan secara serial sehingga harus menunggu proses sebelumnya selesai