1
PENDAHULUAN
Router yang dibuat hanya mengimplementasikan protokol IP, Internet Control Message Protocol (ICMP), Address Resolution Protocol (ARP), User Datagram Protocol (UDP) dan RIP.
Hanya memperhatikan kinerja router berdasarkan forwarding delay, jitter, throughput, utilisasi CPU dan pemakaian memori.
Latar belakang Internet ialah sebuah kombinasi dari jaringan yang dihubungkan oleh router. Ketika sebuah paket dikirim dari pengirim ke penerima, paket mungkin akan melewati banyak router sampai akhirnya mencapai router yang terhubung ke jaringan tujuan (Forouzan & Sophia 2006). Network Address Translation (NAT) adalah salah satu metode untuk mengatasi kekurangan alamat Internet Protocol (IP) dengan cara penggunaan kembali alamat (address reuse). Caranya adalah dengan menempatkan perangkat NAT pada border dari stub domain. Setiap perangkat NAT memiliki tabel yang berisi pasangan alamat lokal dan alamat yang unik secara global. Alamat lokal tidak unik secara global dan dapat digunakan oleh domain lain, sehingga mengatasi permasalahan kekurangan alamat (Egevang & Francis 1994). NAT diimplementasikan sebagai fasilitas dari router. NAT mengikat alamat lokal dan alamat global dengan dua cara, yaitu static address assignment dan dynamic address assignment. Static address asignment memungkinkan host pada jaringan global memulai session ke host yang berada di dalam jaringan lokal. Tujuan Tujuan dari penelitian ini adalah membuat perangkat lunak router yang memiliki kemampuan static NAT, Routing Information Protocol (RIP) dan penyaringan paket IP. Perangkat lunak ini berjalan pada komputer biasa dengan sistem operasi Microsoft Windows XP. Perangkat lunak router yang telah dibuat akan dianalisis kinerjanya dengan melakukan pengukuran terhadap forwarding delay, jitter, throughput, utilisasi CPU dan pemakaian memori. Ruang lingkup Pada penelitian ini dilakukan pembatasan masalah pada:
Router yang dibuat hanya memiliki fasilitas menyimpan konfigurasi, static routing, RIP, static NAT, membuat log, dan penyaringan IP.
TINJAUAN PUSTAKA Router Router adalah sebuah perangkat yang berguna untuk meneruskan paket-paket antara dua atau lebih jaringan. Router bekerja pada lapisan network (layer 3) menurut model referensi Open System Interconnection (OSI) atau lapisan internet pada model referensi TCP/IP (Tanenbaum 2003). Router melakukan tugasnya berdasarkan informasiinformasi yang tersedia pada lapisan tersebut. Gambar 1 memperlihatkan model referensi OSI dan TCP/IP. OSI 7 6 5 4 3 2 1
Application Presentation Session Transport Network Data link Physical
TCP/IP Application Not present in the model
Transport Internet Host-to-network
Gambar 1 Model referensi OSI dan model referensi TCP/IP (Tanenbaum 2003) Router dapat berupa perangkat keras khusus dan dapat juga berupa perangkat lunak. Contoh produsen router perangkat keras yaitu Cisco Systems dan Juniper Networks. Contoh router perangkat lunak yaitu GNU zebra dan freesco. Ethernet Ethernet adalah protokol Local Area Network (LAN) yang paling banyak digunakan. Ethernet distandarkan pada standar IEEE Std 802.3. Ethernet meliputi Data link layer dan Physical layer dalam model referensi OSI (Forouzan & Sophia 2006). Perbandingan antara lapisan-lapisan pada model referensi OSI dan lapisan-lapisan ethernet dapat dilihat pada Gambar 2.
2
OSI Model
Ethernet
Data link layer
Logical Link Control (LLC) Media Access Control (MAC)
Physical layer
Physical layer Transmission medium
Gambar 2 Lapisan-lapisan Ethernet (Forouzan & Sophia 2006) Media Access Control (MAC) mengirim dan menerima data dari dan ke Physical layer dalam bentuk frame. Format dari frame MAC adalah sebagai berikut: 7 OCTETS
PREAMBLE
1 OCTET
SFD
6 OCTETS
DESTINATION ADDRESS
6 OCTETS
SOURCE ADDRESS
2 OCTETS
LENGTH/TYPE
OCTETS WITHIN FRAME TRANSMITTED TOP TO BOTTOM
MAC CLIENT DATA
46-1500 OCTETS
PAD
4 OCTETS FRAME CHECK SEQUENCE EXTENSION LSB
MSB b0
b7 BITS WITHIN FRAME TRANSMITTED LEFT TO RIGHT
Gambar 3 Format frame sublayer MAC (IEEE 2005) Penjelasan dari beberapa field pada frame MAC adalah sebagai berikut:
Alamat tujuan (Destination Address), berisi 48 bit alamat tujuan pengiriman frame. Dapat berupa unicast, multicast atau broadcast.
Alamat sumber (Source Address), berisi 48 bit alamat stasiun yang mengirim frame.
Length/Type, jika bernilai lebih kecil atau sama dengan 1500, field ini diartikan sebagai panjang data. Jika lebih besar dari 1536 diartikan sebagai tipe data.
yang digunakan pada internet (Tanenbaum 2003). IP mengirimkan data dalam paket-paket yang dinamakan datagram. Masing-masing datagram diangkut secara terpisah. Datagram dapat melalui rute yang berbeda dan sampai secara tidak berurutan atau dapat tergandakan (Forouzan & Sophia 2006). IP menyediakan layanan pengiriman datagram yang unreliable dan connectionless. Unreliable artinya tidak ada jaminan datagram sampai ke tujuan. Connectionless artinya tidak menyimpan informasi apa pun mengenai datagram. Masing-masing datagram diperlakukan secara independen terhadap datagram lainnya (Stevens 1994). Setiap host yang menggunakan protokol ini memiliki sebuah alamat logika yang disebut alamat IP (IP Address). Setiap datagram yang dikirim memiliki informasi alamat pengirim dan alamat penerima. Dengan menggunakan alamat ini, routerrouter mem-forward paket-paket berdasarkan informasi yang ada pada tabel rute masingmasing router. Sebuah datagram memiliki panjang 20 sampai 65536 bytes yang terdiri atas header dan data. Gambar 4 memperlihatkan format datagram IP dan Gambar 5 memperlihatkan format header pada datagram IP. 20-65536 bytes 20-60 bytes
Header
Gambar 4 Format datagram IP (Forouzan & Sophia 2006) VER 4 bits
Internet Protocol Internet Protocol adalah protokol yang berada pada lapisan network. Protokol inilah
HLEN 4 bits
DS 8 bits
Identification 16 bits Time to live 8 bits
Data dan pad, berisi data yang hendak dikirim. Jika panjang data lebih kecil dari 46 maka data harus ditambahi data ekstra (yaitu pad) sehingga besarnya 46 octets.
Ethernet menggunakan satu medium yang digunakan secara bersama-sama. Pengaturan akses medium dilakukan oleh sublayer MAC dengan menggunakan metode Carrier Sense Multiple Access With Collision Detection (CSMA/CD).
Data
Total Length 16 bits Flags 3 bits
Protocol 8 bits
Fragmentation offset 13 bits Header checksum 16 bits
Source IP address 32 bits Destination IP address 32 bits Option
Gambar 5 Format header IP (Forouzan & Sophia 2006) Penjelasan dari field-field yang ada pada header IP adalah sebagai berikut:
Versi (VER), berisi versi dari Internet Protocol. Saat ini bernilai 4.
Panjang header (HLEN), berisi panjang header IP dalam satuan empat bytes.
3
Differentiated Service (DS), berisi kode layanan.
Panjang total (Total Length), berisi panjang dari datagram IP dalam satuan bytes.
Identification, berisi kode unik yang membedakan datagram yang satu dengan yang lain dari pengirim yang sama. Digunakan untuk fragmentasi.
Flags, berisi keterangan mengenai sifat datagram. Digunakan untuk fragmentasi. Bit kedua pada flags adalah bit do not fragment (DF).
Fragmentation offset, berisi posisi relatif dari data pada datagram ini terhadap keseluruhan datagram sebelum dilakukan fragmentasi. Dalam satuan delapan bytes.
Setiap host yang ingin mengetahui alamat fisik dari host lain atau router dalam jaringannya akan mengirim paket ARP request. Paket ini berisi alamat fisik pengirim, alamat IP pengirim, dan alamat IP penerima. Karena pengirim tidak tahu alamat fisik penerima maka paket ini dikirim secara broadcast. Setiap host dan router pada jaringan akan menerima paket tersebut, tetapi hanya pemilik alamat IP penerima yang akan membalas dengan paket ARP reply. Paket ini dikirim secara unicast. Format paket ARP disajikan pada Gambar 6. Hardware Type Hardware Length
Protocol, berisi kode jenis protokol yang menggunakan layanan IP.
Header checksum, berisi nilai untuk mendeteksi kesalahan pada header.
Alamat IP sumber (Source IP address), berisi alamat IP dari host yang mengirim datagram.
Alamat IP tujuan (Destination IP address), berisi alamat IP tujuan dari datagram.
Option, field ini boleh ada atau tidak ada. Panjangnya antara nol sampai empat puluh bytes dan harus kelipatan empat.
Address Resolution Protocol Setiap host atau router yang hendak mengirim datagram IP mengetahui alamat IP tujuan, tetapi datagram itu harus dimasukkan ke dalam frame agar dapat melalui jaringan fisik. Ini artinya pengirim harus mengetahui alamat fisik dari tujuan. Sebuah pemetaan dilakukan untuk mengubah alamat logika (alamat IP) menjadi alamat fisik. (Forouzan & Sophia 2006). ARP menyediakan pemetaan secara dinamis dari alamat IP menjadi alamat fisik yang cocok. Istilah dinamis di sini dipakai karena proses pemetaan terjadi secara otomatis dan umumnya tidak memerlukan perhatian dari pengguna aplikasi atau administrator sistem (Stevens 1994).
Protocol Type Operation Request 1, Reply 2
Sender hardware address (For example, 6 bytes for Ethernet) Sender protocol address (For example, 4 bytes for IP)
Time to live (TTL), berisi waktu untuk hidup dari datagram. Field ini dikurangi satu setiap datagram diproses oleh router.
Protocol Length
Target hardware address (For example, 6 bytes for Ethernet) (It is not filled in a request) Target protocol address (For example, 4 bytes for IP)
Gambar 6 Format paket ARP (Forouzan & Sophia 2006) Internet Control Message Protocol IP tidak memiliki mekanisme pelaporan kesalahan (error-reporting) dan juga tidak memiliki mekanisme untuk bertanya (query) kepada host tertentu. ICMP adalah protokol yang didesain untuk menutupi kekurangan tersebut (Forouzan & Sophia 2006). Pesan ICMP (ICMP messages) dibagi menjadi dua kategori: pesan pelaporan kesalahan (error-reporting messages) dan pesan pertanyaan (query messages). Tabel 1 menyajikan pesan ICMP pada masing-masing kategori. Tabel 1 Pesan-pesan ICMP (Forouzan & Sophia 2006) Category Error-reporting messages
Query messages
Type 3 4 11 12 5 8 or 0 13 or 14 17 or 18 10 or 9
Message Destionation unreachable Source quench Time Exceeded Parameter problem Redirection Echo request or reply Timestamp request or reply Address mask request or reply Router solicitation or advertisement
Dalam sebuah pesan ICMP terdapat header sepanjang delapan bytes dan bagian data yang panjangnya bervariasi. Meskipun format umum header berbeda untuk setiap jenis pesan, format empat bytes pertama sama
4
untuk semua jenis pesan. Format umum pesan ICMP dapat dilihat pada Gambar 7. 8 bits
8 bits
Type
Code
8 bits
8 bits
Checksum
Rest of the header Data section
Gambar 7 Format umum pesan ICMP (Forouzan & Sophia 2006) Field pertama menentukan jenis pesan ICMP. Field kedua yang bernama code menentukan alasan untuk jenis pesan tertentu. Field selanjutnya adalah checksum yang berguna untuk mendeteksi kesalahan pada pesan ICMP. Empat bytes selanjutnya tergantung dari jenis pesan. Bagian data pada pesan pelaporan kesalahan berisi header paket IP yang membuat pesan kesalahan dikirim. Jika pesan ICMP adalah pesan query maka bagian data berisi informasi tambahan yang tergantung dari jenis pesan.
digunakan di dalam sistem otonom. RIP adalah protokol yang sederhana yang bekerja berdasarkan distance vector routing (Forouzan & Sophia 2006). Pada distance vector routing, rute pilihan antara dua node adalah rute yang jaraknya paling kecil. Tiap node memiliki tabel untuk menyimpan jarak terkecil ke setiap node. Pada awalnya, tiap node hanya mengetahui rute ke jaringan yang terhubung langsung dengannya. Setelah itu node-node akan saling mengirim informasi rute dan mengubah routing table berdasarkan informasi rute yang datang. WinPcap WinPcap adalah pustaka open source untuk menangkap paket dan analisis jaringan (WinPcap Team 2007). WinPcap menyediakan fasilitas untuk:
Menangkap raw packet, baik yang ditujukan untuk mesin yang menjalankan WinPcap atau untuk host lain (pada medium bersama).
Menyaring paket berdasarkan aturan yang dibuat pengguna.
Mengirim raw packets ke jaringan.
Mengumpulkan network traffic.
Routing Router menghubungkan dua atau lebih logical interfaces, yang direpresentasikan dengan IP subnets. Jadi router setidaknya memiliki satu physical interface. Untuk memforward datagram, router harus memilih alamat dan interface yang relevan dari router selanjutnya atau host tujuan. Pilihan ini, yang disebut relaying atau forwarding bergantung pada basis data rute pada router. Basis data ini disebut juga tabel routing atau tabel forwarding. Istilah “router” datang dari proses pembuatan basis data rute ini; protokol routing dan konfigurasi berinteraksi dalam proses yang dinamakan routing (Baker 1995). Menurut Forouzan dan Sophia (2006) tabel routing dapat berupa static atau dynamic. Tabel routing static berisi informasi yang dimasukkan secara manual. Administrator memasukkan rute dari tiap-tiap tujuan ke dalam tabel. Setelah dimasukkan, tabel tidak akan berubah sendiri kecuali diubah secara manual. Tabel routing dynamic adalah tabel yang diperbarui secara berkala menggunakan satu dari dynamic routing protocol seperti RIP, OSPF, atau BGP. Jika sewaktu-waktu ada perubahan pada internet, seperti ada router yang mati atau jalur yang putus maka dynamic routing protocol akan memperbarui seluruh tabel dari router-router. Salah satu dynamic routing protocol adalah Routing Information Protocol (RIP). RIP adalah intradomain routing protocol yang
informasi
statistik
Fasilitas di atas dimungkinkan dengan cara menggunakan sebuah device driver yang dimasukkan ke dalam bagian jaringan dari kernel Win32, ditambah beberapa DLL. Gambar 8 menunjukkan komponen-komponen utama WinPcap. Application Wpcap.dll Packet.dll
NPF Device Driver
Packets
User Level Kernel Level
Network
Gambar 8 Komponen utama WinPcap (WinPcap Team 2007) Packet.dll menawarkan antarmuka pemrograman tingkat rendah yang dapat digunakan untuk mengakses secara langsung fungsi-fungsi pada driver. Wpcap.dll menawarkan antarmuka pemrograman tingkat tinggi yang kompatibel dengan libpcap, sebuah pustaka penangkapan paket untuk unix yang terkenal. Hal ini memungkinkan penangkapan paket yang tidak bergantung
5
pada perangkat keras dan sistem operasi yang digunakan. WinPcap menerima dan mengirim paketpaket secara terpisah dari protokol pada host, seperti TCP/IP. Ini artinya WinPcap tidak dapat menghalangi, menyaring atau memanipulasi traffic yang dihasilkan oleh program lain pada mesin yang sama: WinPcap hanya “mengendus” paket-paket yang ada pada kabel. Oleh karena itu, WinPcap tidak memyediakan dukungan untuk aplikasi seperti traffic shapers, QoS schedulers dan personal firewalls. Network Address Translator NAT adalah metode yang memetakan alamat IP dari satu ruang alamat ke ruang alamat lain, dalam usaha membuat routing yang transparan bagi host. (Srisuresh & Holdrege 1999) Proses pemetaan alamat ini dilakukan oleh router yang berada di antara jaringan lokal dan global. Jaringan global, atau disebut juga jaringan publik, adalah jaringan yang menggunakan alamat jaringan yang unik dan dialokasikan oleh Internet Assigned Numbers Authority. Jaringan lokal, atau disebut juga jaringan pribadi, adalah jaringan yang menggunakan ruang alamat yang tidak tergantung pada alamat jaringan global. NAT mengikat alamat pada jaringan lokal dengan alamat jaringan global secara transparan. Static NAT memetakan alamat lokal ke alamat global dengan hubungan satuke-satu. Pemetaan ini tidak berubah selama masa hidup perangkat NAT. File Transfer Protocol (FTP) Menurut Forouzan dan Sophia (2006), File Transfer Protocol (FTP) adalah mekanisme standar yang diberikan oleh TCP/IP untuk mengkopi sebuah file dari satu host ke host lain. FTP berbeda dengan aplikasi klien-server lain karena FTP membuat dua koneksi antara host-host. Koneksi pertama digunakan untuk informasi kontrol (perintah [commands] dan jawaban [responses]) dan koneksi kedua untuk transfer data. FTP menggunakan layanan dari TCP. Port 21 untuk koneksi kontrol dan port 20 untuk koneksi data. Menurut Postel dan Reynolds (1985) proses server-FTP terdiri atas sebuah protocol interpreter (PI) dan sebuah proses transfer data (data transfer process, DTP). Proses user-FTP adalah sebuah himpunan fungsi-
fungsi yang terdiri atas sebuah PI, sebuah DTP dan sebuah user interface yang bersamasama membentuk fungsi transfer file dengan cara bekerja sama dengan satu atau lebih proses server-FTP. Gambar 9 menyajikan model layanan FTP. User Interface
Server Protocol Interpreter
File System
Server DTP
FTP Commands FTP Replies
Data Connection
Server-FTP
User
User Protocol Interpreter
User DTP
File System
USER-FTP
NOTES: 1. The data connection may be used in either direction. 2. The data connection need not exist all of the time.
Gambar 9 Model layanan FTP (Postel & Reynolds 1985) Perintah-perintah FTP (FTP Commands) adalah himpunan perintah yang terdiri atas informasi kontrol yang mengalir dari userFTP ke server-FTP. Jawaban FTP (FTP Reply) adalah acknowledgment (positif atau negatif) yang dikirim dari server kepada pengguna melalui koneksi kontrol sebagai balasan dari perintah FTP. Untuk dapat membuat koneksi data, FTP membutuhkan beberapa parameter, diantaranya adalah alamat IP dan nomor port koneksi data. Secara default untuk melakukan transfer data user-DTP akan “listen” pada port yang sama dengan port koneksi kontrol dan server-DTP akan membuat koneksi data ke user-DTP dari port 20. Meskipun demikian FTP menyediakan perintah-perintah untuk mengganti parameter koneksi data. Perintah PORT dapat digunakan untuk mengganti alamat IP dan nomor port yang akan dihubungi oleh server-DTP. Perintah PASV digunakan untuk meminta server-DTP untuk “listen” pada sembarang port dan menunggu dihubungi. Setelah menerima perintah PASV server akan membalas dengan memberitahu alamat IP dan nomor port yang digunakan oleh server. Ukuran Kinerja 1) Forwarding Delay Delay ialah waktu yang diperlukan oleh sebuah paket dikirim mulai dari node pengirim hingga diterima di node penerima (Sukoco 2005). Menurut Stallings (2000), pada proses pengiriman paket, kita bisa melihat tiga jenis delay yang terjadi :
6
Delay propagasi ialah waktu yang dipergunakan sebuah sinyal untuk merambat dari satu simpul ke simpul berikutnya.
Waktu transmisi ialah waktu yang dipergunakan transmitter untuk mengirim sebuah paket data.
Delay node ialah waktu yang dipergunakan sebuah node untuk melakukan fungsi pengolahan saat melakukan switching data.
Forwarding delay adalah selang waktu mulai dari saat bit terakhir dari paket IP masuk ditawarkan ke port masuk alat yang sedang diuji sampai saat bit terakhir dari paket IP keluar diterima dari port keluar alat yang sedang diuji. Forwarding delay harus diamati secara eksternal (Poretsky et al. 2006). Apabila R = Received Time dan S = Sent Time, maka delay dapat ditulis sebagai:
delay (i ) Ri Si 2) Jitter Jitter adalah variasi dari delay yang disebabkan oleh jaringan. Sebuah jaringan dengan jitter nol memerlukan waktu yang sama untuk men-transfer tiap paket, sementara jaringan dengan jitter yang besar memerlukan waktu yang lebih lama untuk mengantar beberapa paket dibandingkan dengan paket lainnya (Comer 2000). Untuk menghitung jitter digunakan rumus (Poretsky et al. 2006):
jitter (i) delay(i ) delay(i 1)
detiknya maka jalan tersebut throughput 5 mobil per detik.
memiliki
4) Utilisasi CPU Merupakan nilai yang menyatakan persentase penggunaan CPU time oleh suatu process dalam rentang waktu tertentu. 5) Pemakaian Memori Merupakan nilai yang menyatakan banyaknya memori yang digunakan oleh suatu process pada saat tertentu. Pemakaian memori dinyatakan dalam satuan byte.
METODE PENELITIAN Pada penelitian ini dilakukan pembuatan router dan dilanjutkan dengan analisis kinerja router. Metodologi yang digunakan pada pembuatan router adalah linear sequential model. Linear sequential model menggunakan pendekatan yang sistematis dan berurutan pada pengembangan perangkat lunak yang dimulai pada tingkat sistem dan berkembang melalui analisis, desain, pengodean, pengujian, dan support (Pressman 2001). Support tidak dilakukan dalam penelitian ini. Gambar 10 menggambarkan tahapan-tahapan yang dilakukan pada penelitian ini. System/information engineering Analysis
Design
Code
Test
Analisis kinerja
Linear Sequential Model (Pressman 2001)
Gambar 10 Tahapan-tahapan penelitian
3) Throughput
Analisis Kebutuhan
Menurut Sukoco (2005), throughput merupakan nilai dari sejumlah data paket (dalam satuan bit) yang diterima di node penerima dalam suatu satuan waktu tertentu. Atau secara sederhana dapat dirumuskan:
Proses analisis dilakukan untuk menentukan apa saja kebutuhan dari perangkat lunak, fungsi yang dibutuhkan, tingkah laku, performa dan antarmuka. Kebutuhan dari router IP versi 4 secara umum distandarkan oleh RFC 1812. Perangkat lunak juga mengimplementasikan protokol RIP yang distandarkan oleh RFC 1058, 1388, dan 1723. Selain itu perangkat lunak juga melakukan proses NAT yang diinformasikan oleh RFC 1631, 2663, dan 3022. Oleh karena itu proses analisis akan didasarkan pada dokumendokumen yang disebutkan di atas.
Throughput
RcvPacket t
Throughput merupakan ukuran dari kapasitas jaringan. Analoginya ialah jika sebuah jaringan diibaratkan sebuah jalan di antara dua buah tempat dan paket yang berjalan pada jaringan sama dengan mobil yang berjalan pada jalan. Maka rate throughput menghitung berapa banyak mobil yang dapat masuk ke jalan setiap detiknya. Sebagai contoh jika sebuah jalan dapat dilewati oleh lima buah mobil setiap
Pada tahap pengujian dan analisis kinerja, penulis menggunakan perangkat lunak sebagai berikut: