BAB. IILANDASAN TEORI
Bab ini akan diawali dengan bahasan teori tentang Jaringan arsitektur komputer, standar jaringan komputer yang terdiri dari lapisan-lapisan protocol model OSI (Open System Internasional) dan Model TCP/IP. Kami menyajikan implementasi protocol TCP Westwood dan Westwood + (Gangadhar,S., Nguyen, T. N., Umapathi, G., Sterbenz, J. P. , March 2013). Pada bahasan teori ini akan dijelaskan mulai dari jaringan komputer khususnya jenis jaringan nirkabel (wireless) dan topologi jaringan, berikut makalah yang menyajikan survey alat simulasi dan system untuk jaringan sensor nirkabel (Abuarqoub, A., Al-Fayez, F., Alsboui, T., Hammoudeh, M., & Nishet, A., 2012). Pembahasan berikutnya dijelaskan NS3 sebagai simulator untuk memodelkan infrastruktur jaringan wireless. Menjelaskan dan menunjukkan penggunaan NS3 sebagai simulator untuk model simulasi MANET ( Irawan, D., Roestam, R., November 2012). Selain itu tulisan ini ditujukan untuk penyebaran konstribusi simulasi untuk transmisi video melalui jaringan nirkabel dilingkungan fedora (Bishnoi, L. C., Singht, D.,& Mishra, S.) Bahasan terakhir akan dijelaskan Top-down approach cocok untuk analisis dan desain jaringan (Kurose, J. F., Ross, K.W., 2003).
7
8
2.1
Jaringan Arsitektur Jaringan arsitektur terdapat dua arsitektur yang paling umum dikenal saat ini adalah protokol TCP/IP dan Open System Interconnection (OSI) model. TCP/IP protocol suite adalah model kerja (saat ini digunakan di Internet), sedangkan model OSI (awalnya dirancang untuk menjadi sebuah model kerja), telah diturunkan sebagai model teoritis.
2.1.1 Model Open System Interconnection
Gambar 2.1.1 Model OSI
Model yang disebut OSI (Open System Interconnection), membagi layer menjadi tujuh lapisan/layer. Model referensi OSI dibagi dalam dua kategori, yaitu lapisan atas dan lapisan bawah. Lapisan atas terdiri atas Application layer, Presentation layer, Session layer, Transport layer, berurusan dengan persoalan aplikasi pada umumnya diimplementasi hanya pada perangkat lunak. Application layer adalah lapisan penutup sebelum ke pengguna. Keduanya, pengguna dan lapisan aplikasi saling berinteraksi proses dengan perangkat lunak aplikasi yang berisi sebuah komponen komunikasi.
9
Lapisan bawah terdiri atas Network layer, Data link layer, Physical layer, mengendalikan persoalan pengiriman data. Lapisan bawah tersebut diimplementasikan ke dalam perangkat keras. Lapisan terbawah, yaitu lapisan fisik adalah lapisan penutup bagi media jaringan fisik (misalnya jaringan kabel) dan sebagai penanggung jawab bagi penempatan informasi bagi media jaringan. Tabel 2.1 OSI Layer Layer
Keterangan
Application
Membuka komunikasi dengan user lain dan memberikan layanan seperti file transfer atau e-mail ke user lain dalam suatu jaringan.
Presentation
Berhubungan dengan perintah dari application layer dan melakukan penterjemahan antara tipe data yang berbeda jika diperlukan.
Session
Membuka, mengatur dan memastikan sesi antar application
Transport
Menyediakan mekanisme untuk pembukaan, pengaturan dan penutupan jika ada permintaan dari sirkuit virtual pada data. Membuka end-to- end connection, dan menjaga keamanan data.
Network
Menyediakan routing paket yang melalui router dari sumber ke tujuan.
Data link
Menjaga sinkronisasi dan kontrol kesalahan antara dua pihak.
Physical
Menyediakan transmisi berbentuk bit melewati channel komunikasi secara elektrik, mekanisme dan spesifikasi prosedur.
Pada model OSI layer yang berhubungan dengan penelitian,dengan memfokuskan pada layer 4 (Transport) berfungsi menyediakan mekanisme untuk pembukaan, pengaturan dan penutupan jika ada permintaan dari sirkuit virtual pada data. Kemudian pada layer 3 (Network) yang menyediakan routing paket yang melalui router dari sumber ke tujuan.
10
2.1.2 Transmission Control Protocol (TCP)/IP
Gambar 2.1.2 TCP/IP
Operasi Internet tergantung pada banyak protokol, beberapa menonjol sebagai yang paling umum digunakan: Internet Protocol (IP), Transmission Control Protocol (TCP), Internet Control Message Protocol (ICMP), User Datagram Protocol (UDP), Address Resolution Protocol (ARP), Dynamic Host Configuration Protocol (DHCP), dan Network Address Translation (NAT).
Lapisan dirancang sehingga pengguna internet yang membutuhkan untuk
menggunakan aplikasi (seperti e-mail, transfer file, atau remote login) memerlukan penggunaan lapisan aplikasi, yang pada gilirannya memerlukan penggunaan lapisan transport, yang memerlukan penggunaan lapisan jaringan, yang memerlukan penggunaan lapisan akses jaringan. Protokol yang berada pada lapisan jaringan dalam protokol TCP/IP disebut Internet Protocol (IP). Fungsi utama IP adalah untuk melakukan routing yang diperlukan untuk memindahkan paket data di Internet. IP merupakan protokol connectionless yang tidak peduli terhadap pelacakan paket yang hilang, diduplikasi, atau tertunda, atau paket yang dikirimkan rusak.
11
Protokol lapisan transport adalah bagian lain dari protokol TCP/IP yang populer. Fungsi utama dari Transmission Control Protocol (TCP) adalah untuk mengubah jaringan yang tidak handal (unreliable) seperti yang dibuat oleh IP, ke jaringan yang handal (reliable) yang bebas dari paket hilang dan duplikasi. Dengan demikian, TCP dasarnya mengisi beberapa kelemahan yang dibuat oleh IP. Untuk membuat jaringan yang lebih handal, TCP melakukan enam fungsi berikut: a) Buat suatu koneksi - Header TCP mencakup alamat port yang menunjukkan sebuah aplikasi tertentu pada sebuah mesin. Digunakan secara bersama, alamat port dan alamat IP mengidentifikasi suatu aplikasi tertentu pada mesin tertentu. Ketika TCP membuat koneksi antara pengirim dan penerima, kedua ujung koneksi menggunakan nomor port untuk mengidentifikasi koneksi aplikasi tertentu. Nomor port ini ditemukan dalam datagram TCP dan dilewatkan bolak-balik antara pengirim dan penerima. b) Lepaskan (release) sebuah koneksi - Perangkat lunak TCP juga dapat menyelesaikan suatu koneksi setelah semua data telah dikirim dan diterima. c) Menerapkan kontrol aliran (flow control) - Untuk memastikan aliran stasiun pengirim tidak membanjiri stasiun penerima dengan data terlalu banyak, header TCP mencakup kolom, disebut nilai Window, yang memungkinkan penerima untuk memberitahu pengirim untuk melambat pengiriman datanya. Nilai Jendela ini mirip operasinya dengan jendela geser yang digunakan pada lapisan data link. Perbedaan antara ke dua
12
operasi jendela ini adalah bahwa jendela geser layer data link beroperasi antara dua node atau antara workstation dan node, sedangkan jendela TCP beroperasi antara kedua ujung/endpoint (pengirim dan penerima) dari sebuah koneksi jaringan. d) Menetapkan multiplexing - Karena header TCP berisi sebuah nomor port (bukan alamat IP), maka adalah mungkin untuk me-multipleks beberapa koneksi melalui koneksi IP tunggal. Multiplexing ini dapat dilakukan dengan membuat sambungan yang berbeda yang memiliki nomor port yang berbeda dari koneksi sebelumnya. e) Lakukan penyelesaian Kesalahan (error recovery) - TCP memberikan nomor kepada setiap byte untuk transmisi dengan nomor urut. Sementara paket byte yang tiba di lokasi tujuan, perangkat lunak TCP yang menerima melakukan pengecekan terhadap angka-angka urutan untuk kontinuitas. Jika ada kehilangan kontinuitas, perangkat lunak TCP yang menerima menggunakan sejumlah pengakuan (cknowledgment) untuk menginformasikan perangkat lunak TCP yang pengiriman terhadap adanya kondisi eror yang mungkin terjadi. f) Menetapkan prioritas - Jika pengirim harus mengirimkan data dengan prioritas yang lebih tinggi, seperti sebuah kondisi kesalahan (error), TCP dapat menetapkan nilai dalam field (Urgent Pointer) yang menunjukkan bahwa semua atau sebagian dari data adalah yang bersifat mendesak (urgent).
13
2.1.3 Perbandingan Model OSI dan TCP/IP
Gambar 2.1.3 Perbandingan OSI dan TCP
Tabel 2.1.3 Perbandingan Model OSI dan TCP/IP Model OSI
TCP/IP
Implementasi model OSI menekankan
Melakukan reliability sebagai end-to-
pada penyediaan layanan transfer data
end
yang reliable. Setiap layer pada OSI mendeteksi dan
Pada TCP/IP, control reliability
menangani kesalahan pada semua data
dikonsetrasikan pada layer transport
yang dikirimkan
yang akan menangani semua yang terdeteksi kesalahan dan memulihkan.
Layer transport pada OSI memeriksa
Layer transport TCP/IP menggunakan
reliability di source -to -destination
checksum, acknowledgment, dan timeout untuk mengontrol trasmisi dan menyediakan verifikasi end-to-end
14
2.2
Koneksi Oriented dan Koneksi Less Membangun suatu aplikasi jaringan yang lengkap, maka kita harus membuat aplikasi
client
maupun
aplikasi
server.Aplikasi yang
menginisialisasi koneksi, disebut aplikasi client. Sedangkan aplikasi yang menerima inisialisasi disebut sebagai aplikasi server.Socket adalah suatu Class yang digunakan oleh aplikasi untuk saling berhubungan. Gambar
2.2
berikut
ini menunjukkan
bagaimana
suatu
aplikasi
berhubungan dengan aplikasi lainnya. Lebih lanjut mengenai socket, ada dua jenis socket yang bisa digunakan untuk membangun aplikasi, yakni TCP Socket dan UDP Socket.
Gambar 2.2 Komunikasi antar aplikasi menggunakan socket
2.2.1 Koneksi Oriented Pada TCP, pengiriman berorientasi koneksi membutuhkan tiga tahap : pembentukan koneksi, transfer data, dan pemutusan koneksi. Proses pembentukan dan pemutusan koneksi menggunakan mekanisme three way handshake. Contoh : aplikasi TCP adalah web browser, Telnet, FTP
15
Gambar 2.2.1 Cara kerja aplikasi client dan server menggunakan TCP
Keterangan gambar 2.2.1 : Untuk bisa melakukan koneksi client server, program server harus berjalan terlebih dahulu Di sisi server disediakan sebuah socket, yang disebut welcoming socket yang fungsinya untuk mendeteksi adanya permintaan koneksi dari sisi client. Di sisi client terdapat client socket. Jika ingin menghubungi server, maka melalui client socket-nya, client membuat inisialisai koneksi ke welcoming socket milik server, dengan mode three-way handshake. Setelah welcoming socket menerima inisialisasi koneksi dari client socket, aplikasi server akan membuat connection socket di sisi server. Dengan connection socket ini, client socket dan connection socket berinteraksi satu sama lain untuk mengirim dan menerima data. Client membaca data yang dikirim oleh server dari client socketnya. Kemudian menampilkan data tersebut di monitor.
2.2.2 Koneksi Less UDP disebut protocol conectionless, protokol transport yang tidak dapat dihandalkan. UDP adalah protokol yang sangat sederhana menggunakan
16
minimum overhead. Contoh : aplikasi UDP adalah Video Converence, SMTP. Aplikasi untuk UDP socket berikut ini menggunakan kasus yang sama dengan kasus yang digunakan oleh TCP socket, yaitu : Client membaca inputan dari keyboard, kemudian mengirimkan hasilnya ke server melalui socket-nya. Server membaca data yang dikirim oleh client di connection socket Server mengubah data menjadi huruf besar Server mengirimkan data yang telah diubah menuju client melalui socket-nya. Client membaca data yang dikirim oleh server dari client socketnya. Kemudian menampilkan data tersebut di monitor
Perbedaan utama antara aplikasi berbasis TCP dengan aplikasi berbasis UDP adalah di aplikasi UDP tidak ada welcoming socket. Pada UDP tidak ada socket khusus untuk permintaan inisialisai koneksi. Setiap data yang datang ditangani lansung oleh server socket.
2.3
Jaringan Nirkabel (Wireless) Menurut Geir, J .T dan Geir, J (2005,p.4) jaringan nirkabel memiliki beberapa kategori, berdasarkan dari besarnya ukuran fisik dari suatu area yang dapat dicover antara lain : Wireless Personal Area Network (WPAN) merupakan koneksi jaringan jarak pendek , juga jaringan ad hoc yang menyediakan koneksi instan untuk pengguna (EC- Council,2011, p6).
17
Wireless Local Area Network (WLAN) dapat terhubung dengan pengguna dalam area lokal. Daerah tersebut dapat berupa kampus atau perkantoran, atau ruang publik seperti bandara (EC-Council,2011, p6). Wireless Metropolitan Area Network (WMAN) memungkinkan pengguna dapat berkomunikasi secara wireless antar lokasi yang berbeda dalam suatu area metropolitan. Areanya dapat meliputi kampus-kampus dalam perguruan tinggi atau beberapa kantor dalan suatu kota. (ECCouncil,2011, p6). Wireless Wide Area Network (WAN) dapat menghubungkan notebook dan komputer genggam ke internet dengan menggunakan jaringan selular digital melintasi wilayah geografis yang luas. (ECCouncil,2011, p6). Jaringan Server Bases memerlukan sebuah komponen khusus sebagai acces point (AP). Masing-masing client mengirimkan data ke acces point. AP merupakan sebuah alat kecil berbentuk seperti kotak kecil yang berantena yang biasanya dipasang pada langit-langit atau dinding. Pada saat AP menerima data dia akan mengirimkan kembali sinyal radio ke client yang berada pada area cakupannya atau mentransfer data ke Ethernet. Jaringan Peer- to- peer atau Ad hoc Wireless LAN, sebuah jaringan area lokal yang tidak didasarkan terutama pada kabel fisik tetapi menggunakan nirkabel transmisi antara workstation adalah wireless LAN atau wireless Ethernet.Pada pemancar/penerima untuk antarmuka kartu
18
jaringan khusus pada workstationatau laptop, dan perangkat keras yang sama pada perangkat yang disebut jalur akses, untuk mengirimkan data antara workstation dan jaringan server dengan kecepatan jutaan bit per detik. Dimana workstation dapat ditempatkan dimana saja dalam jangkauan transmisi yang diterima. Transmisi yang dapat diterima bervariasi dengan teknologi nirkabel yang digunakan, tetapi biasanya jatuh antara beberapa meter sampai 800 meter. Salah satu keuntungan dari wireless LAN adalah tidak ada kabel yang diperlukan untuk perangkat pengguna untuk berkomunikasi dengan jaringan. Hal ini membuat wireless LAN merupakan solusi sempurna untuk aplikasi yang berbeda.Untuk menciptakan jaringan lokal area wireless, ada 3 (tiga) komponen dasar yang diperlukan yaitu : a) Komponen pertama adalah perangkat pengguna (juga disebut stasiun nirkabel), seperti komputer laptop, workstation, atau perangkat genggam. Perangkat pengguna memiliki NIC khusus yang menerima dan mengirimkan sinyal nirkabel. b) Komponen kedua adalah kabel jaringan lokal area adalah komponen jaringan konvensional yang mendukung standar workstation, server, dan kontrol protokol media akses. Sebagian besar dari jaringan nirkabel yang terhubung ke kabel jaringan lokal area. c) Komponen ketiga adalah jalur akses, atau router nirkabel, yang merupakan
komponen
yang
berkomunikasi
dengan
perangkat
pengguna nirkabel. Titik akses pada dasarnya perangkat antarmuka antara perangkat pengguna nirkabel dan kabel jaringan daerah
19
setempat. Jalur akses juga bertindak sebagai switch / bridge dan mendukung mengakses media kontrol protocol. Jaringan wireless lokal area biasanya ditemukandalam tiga konfigurasidasar.Yang pertama adalahwireless LAN sel tunggal (Gambar 2.3). Ditengah seladalahjalur akses, yangterhubung kekabel LAN. Semua perangkatpenggunaberkomunikasidengan satutitik akses ini danbersaing untukfrekuensi set yang sama. Standarwireless LANmenelepon selini, Basic Service Set(BSS).
Gambar 2.3Wireless LAN sel tunggal
Tipe keduakonfigurasiwireless LANadalah konfigurasi beberapa sel(Gambar 2.3.1). Dalam konfigurasi ini, beberapa seldidukung olehmultiple accesspoin, seperti padajaringan teleponselular. Perangkat penggunaberkomunikasidenganjalur aksesterdekatdan dapatberpindah dari satusel ke sel lainnya. Cara lainkonfigurasi inimirip denganjaringan teleponmobile selular adalah bahwasetiap selmenggunakanfrekuensiyang berbedauntuk
komunikasi antarapenggunaperangkat danjalur
akses.
Istilahwireless LAN untuk koleksibeberapaset,Extended Service Set (ESS).
20
Gambar 2.3.1 Konfigurasi beberapa sel wireless LAN
Konfigurasi wirelessLAN ketiga adalahpeer-to-peer, atau ad hoc, (Gambar 2.3.2). Dengan konfigurasi ini,tidak adaakses point ditengahsel. Setiap
perangkatpenggunaberkomunikasi
langsung
denganperangkatpenggunalainnya. Konfigurasiseperti inidapat ditemukan dalampertemuan bisnisdi manasemua perangkatpenggunayangtransmisi danberbagi informasipada saat yang sama.
Gambar 2.3.2 Ad hoc wireless LAN
Untuk mendukung penelitian sesuai topik “ Simulasi NS3 untuk memodelkan infrastruktur jaringan sistem monitoring holtikultural”. Maka pemilihan jaringan nirkabel yang sesuai dengan kondisi remote area yaitu : Jaringan Peer- to- peer atau Ad hoc Wireless LAN. Jaringan
wireless
lokal
area
biasanya
ditemukandalam
tiga
21
konfigurasidasar. Khususnya konfigurasi wirelessLAN ketiga karena setiap
perangkatpenggunaberkomunikasi
langsung
denganperangkatpenggunalainnya.
2.4
Topologi Jaringan Menurut Syahfrizal (2005, p39-43), Topologi jaringan merupakan hal yangmenjelaskan hubungan geometris antara unsur-unsur dasar penyusun jaringan,yaitu node, link, dan station. Topologi jaringan dapat dibagi menjadi 6 kategori utama. Namun pada umumnya yang digunakan yaitu : Topologi star, bus dan Ring.
2.4.1 Topologi Star Dalam topologi star, sebuah terminal pusat bertindak sebagai pengatur dan pengendali semua Komunikasi data dari satu terminal ke terminal lainnya melalui terminal pusat. Dimana terminal pusat menyediakan jalur komunikasi khusus pada dua terminal yang akan berkomunikasi.
Gambar 2.4.1 Topologi Star
22
2.4.2 Topologi Ring LAN dengan topologi ini mirip dengan topologi titik ke titik tetapi semua terminal saling dihubungkan sehingga menyerupai lingkaran.Setiap informasi yang diperoleh, diperiksa alamatnya oleh terminal yang dilewatinya. Jika bukan untuknya, informasi diputar lagi sampai menemukan alamat yang benar.
Gambar 2.4.2 Topologi Ring
2.4.3 Topologi Bus Pada topologi bus semua terminal terhubung ke jalur komunikasi. Informasi yang hendak dikirimkan melewati semua terminal pada jalur tersebut. Jika alamat terminal sesuai dengan alamat pada informasi yang dikirim, maka informasi tersebut akan diterima dan diproses. Jika tidak, informasi tersebut akan diabaikan terminal yang dilewatinya.
Gambar 2.4.3 Topologi Bus
23
2.4.4 Topologi titik ke titik (Point to Point) LAN dengan topologi ini, pada setiap terminal atau simpulnya dihubungkan secara langsung ke terminal lainnya. LAN tidak bergantung pada terminal atau terminal manapun, sehingga hubungan antar terminal hanya diketahui oleh terminal yang bersangkutan.
Gambar 2.4.4 Topologi titik ke titik
2.4.5 Topologi Tree Topologi tree adalah kombinasi karakteristik antara topologi star dantopologi bus . Topologi terdiri dari kumpulan topologi star yang terhubung dalam sebuah topologi bus sebagai tulang punggung.
Gambar 2.4.5 Topologi Tree
24
2.4.6 Topologi Compound /Mesh Adalah jenis topologi yang merupakan campuran dari berbagai jenis topologi – topologi yang ada (disesuaikan dengan kebutuhan). Digunakan pada network/ jaringan yang tidak memiliki terlalu banyak node di dalamnya. Bagaimmanapun, network dengan jaringan mesh cukup mahal, karena dengan setiap kali penambahan suatu station, line komunikasinya harus menjangkau setiap station yang ada dalam jaringan tersebut. Karena alasan inilah jaringan mesh ini jarang digunakan.
Gambar 2.4.6 Topologi Mesh
Sesuai dengan kondisi topologi suatu daerah atau tempat yang berbeda maka topologi jaringan yang sesuai dan mendukung penelitian yaitu Topologi Star dan topologi point-to-point. Pada dasarnya wireless LAN adalah topologi star, karena workstation nirkabel biasanya memancarkan dan mengirimkan data ke titik akses. Bahwa sebenarnya jaringan area lokal nirkabel, kombinasi nirkabel dan Teknologi kabel. Bagian nirkabel terdiri dari workstation nirkabel dan laptop / notebook .
25
2.5 2
Nettwork Sim mulasi (NS S3) Siimulator NS-3 adalah sebuah neetwork simuulator perisstiwa yang mem miliki ciri terrsendiri yangg ditargetkaan secara utaama untuk tujuan t riset dan pendidikan. Proyek NS S-3, dimulai pada tahunn 2006, adallah sebuah proyek open souurce yang diaatur oleh ko omunitas penneliti dan pen ngembang. Denggan NS-3 kiita dapat meenambahkann fungsi-funggsi baru di dalam d core NS-3 3 karena NS--3 bersifat oppen source.
2.5.1 Dasar D Pro osedur Simulasi NS-3
Gamb bar 2.5Dasaar Prosedurr Simulasi N NS-3
Gambar
diatas
meenunjukan
alur
dasaar
proseduur
dalam
jaringaan
yang
pemb buatansimulasi jaringan dengan men nggunakanN NS-3. NS-3Devm merupakan
sebuah
simulatorr
biasaanyadigunakkan dalam penelitian p daan bidang peendidikan. NS-3 N DEV meruupakanperangkat lunak ttidak berbay yar yang berrlisensi di baawah GNU GPLv2.
26
Tujuan dari proyek NS-3 DEV adalah untuk mengembangkan penelitian mengenai jaringan melalui simulasi sehingga mempermudah dalam melakukan penelitian terhadap jaringan yang akan dikembangkan nantinya. Para pengembang NS-3 Dev berkomitmen untuk membuat perangkat simulasi ini agar mudah digunakan sehingga dapat melayani kebutuhan para peneliti dalam mengambangkan jaringan mereka. Selain
itu,
infrastruktur
perangkat
lunak
NS-3
Dev
mendorongpengembangan model simulasi yang cukup realistis yang memungkinkan NS-3 Dev sebagai emulator jaringan realtime. Sebagai toolssimulasi jaringan, NS-3 Dev memiliki alur prosedur yangsama dengan NS-3 dalam membuat simulasi jaringan, berikut merupakan deskripsi dari tahap – tahap tersebut : a. Mengaktifkan Logging Langkah ini bertujuan untuk mengaktifkan fitur logging yang ada di NS-3 yang dapat ditampilkan pada konsol Linux dan juga dapat dicatat pada logging file packet capture yang dapat dibaca oleh aplikasi Wireshark untuk melakukan trace pada paket yang mengalir dalam simulasi yang dibuat. Logging dapat diaktifkan dengan cara menyisipkan kode berikut pada kode program simulasi. NS_LOG_COMPONENT_DEFINE ( “FirstScriptExample” ); LogComponentEnable(“UdpEchoClientApplication”,LOG_LEVEL_IN FO); LogComponentEnable(“UdpEchoServerApplication”,LOG_LEVEL_I NFO);
27
b. Merancang Topologi Jaringan
Gambar 2.5.1Perancangan Topologi Jaringan di NS-3
1)
Pembuatan Node
Node pada NS-3 Dev merupakan abstraksi dari end-system atau lebih seringdikenal dengan host pada suatu jaringan komputer. Abstraksi ini diwakilidalam C++ oleh kelas node yangmenyediakan metode untuk mengelolarepresentasi perangkat komputasi di simulasi. NodeContainer nodes; nodes.Create (2);
Node merepresentasikan komputer yang akanditambahkan sesuatu seperti protokol,
aplikasi,
dan
peripheral
card.
Topology
helper
NodeContainermenyediakansebuahcara yang mudah untuk membuat, mengontrol, danmengakses Node apapun yang telah dibuat untuk dapat menjalankan
sebuahsimulasi.Padabaris
pertama
kodediatasmendeklarasikansebuahNodeContainer yang dipanggil sebagai nodes.Pada baris keduamemanggil metode Create pada objek nodes dan meminta NodeContainer untuk membuat dua buah node.Langkah selanjutnya dalam pembuatan sebuahtopologi jaringan adalah dengan
28
menghubungkan node yang telah dibuat padasebuah jaringan.Bentuk paling sederhana dari sebuah jaringan yang dapatdibuat adalah sebuah jalur point-to-point antara dua node. 2)
Penentuan Topology Helper
Dalam sebuah jaringan simulasi besar akan diperlukan banyak koneksi untuk mengatur node, Net Deviceserta channel. NS-3 Dev menyediakan apa yang disebut objek topology helpersuntuk mengatur simulasi–simulasi jaringan semudah mungkin. Dalam membuat topologi point-to-point, topology helper PointToPointHelperdiperlukan untukmembuat jalur untuk menghubungkan kedua node. Istilah yang akan digunakan dalam hal ini adalah Net DevicedanChannel. Dalam dunia nyata, istilah tersebut sesuai dengan peripheral carddan kabel jaringan. Umumnya, kedua hal ini berhubungan erat dan tidak dapat ditukar-tukar satu samalain, sebagai contoh menggunakan perangkatEthernet tetapi dengan channel wireless. Oleh karena itu, pada pembuatanjalur point-to-point akan menggunakan PointToPointHelperuntukmengkonfigurasi dan menghubungkan objek NS3 PointToPointNetDevice dan PointToPointChannel yang ditunjukan pada kode di bawah ini. PointToPointHelper pointToPoint; pointToPoint.setDeviceAttribute(“DataRate”, StringValue(“5Mbps”)); pointToPoint.setChannelAttribute (“Delay”, StringValue(“2ms”));
Pada baris pertama diinisiasikan objek PointToPointHelper. Lalu pada baris berikutnya kode di atas memberitahu objek PointToPointHelper untuk menggunakan nilai “5Mbps” (lima megabit per detik) sebagai “DataRate”ketikamembuatsebuahobjekPointToPointNetDevice.Kata“Data
29
Rate”merupakan atribut dari PointToPointNetDevice. Lalu pada baris ketiga,PointToPointHelper
diminta
untuk
memakai
nilai“2ms”(dua
milidetik) sebagai besarnya delay transmisi dari setiap channel point-topoint yang dibuat. 3)
Pemasangan Net Device
Untuk terhubung dengan jaringan, komputer harus memiliki perangkat kerasyangdisebutdenganperipheralcard.Peripheral
cardtersebut
diimplementasikan beberapa fungsi jaringan, sehingga disebut Network Interface Cards(NICs). NIC tidak akan berfungsi tanpa sebuah software driveruntuk mengontrol perangkat keras tersebut. Pada Unix (atau Linux), sebuah peripheral hardware disebut sebagai device. Devicedikontrol menggunakan device driver, dan NIC dikontrol menggunakan network device driveryang disebut dengan net device. Di NS-3 Dev, net Devicemeliputi baik software driverdan simulasi hardware. Sebuah net device'di-instalasi'pada
sebuah nodeagar
memungkinkan nodeuntuk
berkomunikasi dengan nodelainnya dengan simulasi melalui channels. Abstraksi net devicedirepresentasikandengan C++ oleh kelas NetDevice. Kelas NetDevicemenyediakan metode untuk mengatur koneksi ke objek nodedan
channel.
Untuk
akandibuat,digunakanlah
menampung
objek
NetDevice
yang
NetDeviceContainer,seperti halnya pada
NodeContainer untuk menampung nodeyangtelah dibuat.Kodedibawah ini akan menyelesaikan pengkonfigurasian device dan channel.
30 NetDeviceContainer devices; devices = pointToPoint.Install (nodes);
Metode install pada PointToPointHelper memiliki parameter yaitu NodeContainer.PointToPointNetDevice akan terbentuk dan tersimpan pada NetDeviceContainersebanyak jumlah node yang ada dalam NodeContainer,dalam hal ini sebanyak dua buah karena untuk topologi point-to-point.SebuahPointToPointChannel telahterbentuk dan dua buah PointToPointNetDevicetelahterpasang. Kedua device akan terkonfigurasi untuk mengirimkan data dengan kecepatan sebesar lima megabit per detik melalui channel yang telah terbentuk yang memiliki delay sebesar dua milidetik. 4)
Pemasangan Protocol Stack Setelah node dan deviceterkonfigurasi dengan baik, langkah
berikutnya yaitu memasang protokol pada node yang telah dibuat. Kode berikut berfungsiuntuk pemasangan protokol tersebut. InternetStackHelper stack; stack.Install (nodes);
InternetStackHelper
adalah
sebuah
topology
helper
yang
berfungsi untuk memasangkan protokol Internet pada point-to-point net device. Metode Install memiliki parameter yakni NodeContainer. Ketika
dijalankan,
akan
sepertiTCP(TransmissionControl
diinstall
stack
Protocol),UDP(User
Internet Datagram
Protocol), IP (Internet Protocol), dan sebagainya pada setiap node yang ada dalam NodeContainer
31
5)
Penentuan alamat IP Berikutnya node yangtelah dibuat akan dipasangkan alamat IP
untuk
dapatberkomunikasiantar
TopologyhelperIPv4AddressHelper pengalokasian dari
node
satu
iniberfungsi
sama untuk
lain. mengatur
alamatIP. Berikut ini kode yangbertujuan untuk
menetapkan alamat IP pada nodeyang telah dibuat. IPv4AddressHelper address; address.SetBase (“10.1.1.0”, “255.255.255.0”);
Pada baris pertama mendeklarasikan sebuah objek address helperyangmemberitahukan agar alamat IP yang dialokasikan adalah dengan jaringan 10.1.1.0 dan menggunakan subnet mask 255.255.255.0. Secara default alamat yang dialokasikan akan dimulai dari satu dan akan bertambah secara statik, maka alamat pertama yang dialokasikan dalam hal ini adalah 10.1.1.1, diikuti dengan 10.1.1.2, dan seterusnya. SistemNS3 dapatmengingat seluruh alamat IP yang telah dialokasikan sehingga bila secara tidak sengajamenetapkan alamat IP yang sama maka akan menimbulkan fatal error. Lalu kode berikutnya adalah seperti berikut : IPv4InterfaceContainer
interfaces = address.Assign
(devices);
Objek IPv4Interface dibutuhkan untuk mengasosiasikan antara alamat IP dengan device. IPv4InterfaceContainer di atas berfungsi untuk menampung daftar dari objek IPv4Interface sebagai referensi yang mungkin akan dipakai di lain kesempatan. Sekarang,sebuah jaringan point-
32
to-point sudah terbentukdenganbaik.Yangdiperlukan selanjutnya adalah aplikasi untukmenghasilkan aliran data. c. Membuat Aplikasi Dalam NS-3 Dev abstraksi dasar untuk program pengguna yang menghasilkan beberapa kegiatan yang akan disimulasikan adalah aplikasi. Abstraksi ini diwakili dalam C++ oleh kelas Application yang menyediakan metode untuk mengelola representasi versi NS-3 DEV pada aplikasi-aplikasi setingkat userdalam simulasi. Pengembang diharapkan untuk mengkhususkan kelas Applicationdalam pengertian pemrograman berorientasi obyek untuk membuat aplikasi baru.Contoh spesialisasi dariclass
Applicationadalahseperti
UdpEchoServerApplicationdanUdpEchoClientApplication. Sama seperti sebelumnya,objekhelper mengendalikan
sebuah
digunakan objek
untukmengkonfigurasi
dengan
lebih
mudah.
dan
Olehkarena
itu,digunakanlah objek UdpEchoServerHelper dan UdpEchoClientHelper. 1) UdpEchoServerHelper Kode di bawah ini adalah untuk melakukan pemasangan sebuah UdpEchoServerApplication pada salah satu dari node yang telah dibuat. UdpEchoServerHelper echoServer (9); ApplicationContainer serverApps = echoServer.Install (nodes.Get (1)); serverApps.Start (Seconds (1.0)); serverApps.Stop (Seconds (10.0));
Barispertama
pada
potongan
kode
diatas
mendeklarasikan
UdpEchoServerHelper. Seperti biasa, ini bukan aplikasi itu sendiri,
33
melainkan
sebuah
objek
yang
dapat
membantu
untuk membuat
aplikasi. Lalu atribut yang ada pada constructor helper adalah nomor port yang diketahui baik server maupun client. Seperti pada objek helper lainnya,objekUdpEchoServerHelper
juga
memiliki
metode
Install.
Dijalankannya metode ini akan menginisiasi aplikasi echo server dan memasangkannya
pada
sebuah
node.
Pada
baris
kedua,ApplicationContainer dideklarasikan danberisi aplikasi server. Metode Install mempunyai parameter NodeContainer yang akan memasang aplikasiserverpada nodeyang berada pada NodeContainer dengan
indeks
1.
Aplikasi
tersebut
membutuhkan
sebuah
waktuuntukmemulai menghasilkan aliran data dan jugawaktuuntuk berhenti. Pada kodedi atas menggunakan casting Seconds untuk mengkonversikan format bilangan pada C++ ke objek Time pada NS-3. Baris 3 dan 4 pada kode di atas akan membuat aplikasi echo server untuk menyalakan pada detik ke-1 pada simulasi dan berhenti pada detik ke-10 pada simulasi. 2)
UdpEchoClientHelper Pemasangan aplikasi echo client sama halnya seperti pada server.
TerdapatUdpEchoClientApplicationyangdikendalikanolehsebuahUdpClient EchoHelper. UdpEchoClientHelper echoClient (interfaces.GetAddress (1), 9); echoClient.SetAttribute (“MaxPackets”, UintegerValue (1)); echoClient.SetAttribute (“Interval”, TimeValue (Seconds (1.))); echoClient.SetAttribute (“PacketSize”, UintegerValue (1024)); ApplicationContainer clientApps = echoClient.Install(nodes.get (0));
34 clientApps.Start (Seconds (2.0)); clientApps.Stop (Seconds (10.0));
Pada baris pertama kode di atas terdapat dua buah atribut yang ditetapkan pada saat pembuatan UdpEchoClientHelper.Secara internal di dalam
helper,
parameter
diteruskanuntukmenetapkanatribut
RemoteAddressdanRemote Port. Dalam contoh ini, RemoteAddress adalah alamat dari server dan paket data akan dikirimkan ke Remote Port 9. AtributMaxPackets memberitahukan kepada client jumlah paket maksimum
yang
diperbolehkan
untukdikirimkanselamasimulasi.AtributIntervalmemberitahu pihak client berapa
lamajeda
waktupengirimanpaket.AtributPacketSize
memberitahukanclient seberapa besar ukuran tiap paket yang akan dikirimkan.Padacontoh kode di atas menunjukan bahwa client akan mengirimkan sebuah paket yang berukuran 1024 byte. Lalu seperti pada echo server, echo client juga memiliki waktu kapan aplikasi client mulai menyala dan kapan akan berhenti. d. Menjalankan Simulasi Untuk menjalankan simulasi NS-3 digunakan fungsi global seperti berikut:
Simulator::Run (); Simulator::Destroy ();
35
2.5.2 Dasar Model Simulasi NS-3
Gambar 2.5.2 Dasar Model Simulasi NS-3
Gambar di atas menunjukan dasar dari model simulasidengan menggunakan NS-3. Semua simulasi jaringan yang dibuat dengan menggunakan NS-3 mengikuti alur model tersebut. Dimana paket yang dihasilkan oleh Application akan melewati berbagai
susunan
protokol
sebelum
dikirimkan
melalui
Channelyangmerupakan sebuah media yang menjadi tempat mengalirnya data dalam suatu jaringan. Dalam NS-3 Dev abstraksi komunikasi dasarsubnetwork disebut channeldan diwakili di C++ oleh kelas channel, oleh NetDevice. Application, Protocol stack, dan NetDevice tersebut terdapat dalam sebuah Node yang telah dibuat. Lalu paket tersebut akan
36
dikirimkan ke Node yang dituju, yang pertama-tama akan diterima oleh NetDevice Node yang dituju, kemudian melewati lapisan protokol, dan akan dibaca dan ditampilkan isi dari paket tersebut oleh Application juga. Channel berfungsi sebagai media perantara yang menjembatani antara Node yang satu dengan yang lain. Fitur-fitur NS3 antara lain : 1. Menggunakan bahasa C++ di lapisan inti dan script python. 2. sistem atribut NS-3 terdokumentasi dengan baik. Setiap objek NS3 memiliki seperangkat atribut (name, type, initial value) 3. Selaras dengan sistem nyata. Model node yang lebih seperti komputer nyata, dukungan utama antarmuka seperti soket API dan IP atau perangkat driver antarmuka (di Linux) 4. Telah meng-update model-model (memuat campuran model baru dan ported model). 5. Terintegrasi dengan software/tools lain seperti wireshark untuk melihat trace output.
Gambar 2.5.3 Tampilan Wireshark
37
6. NS3 mengembangkan dua mode integrasi dengan sistem nyata. a. Mesin virtual yang berjalan diatas perangkat dan channel NS3.
Gambar 2.5.4 NS3 interkonet dengan mesin virtual
b. NS3 berjalan dalam
mode emulasi dan mengerluarkan,
mengkonsumsi paket melalui perangkat nyata.
Gambar 2.5.5Testbeds Interconnect ns-3 stacks
Sebagai tools simulasi jaringan, NS-3 mempunyai model-model untuk semua elemen jaringan yang terdapat pada jaringan real. Element-element jaringan tersebut adalah a. Node. Dalam jargon internet, perangkat komputer yang terhubung ke jaringan disebut host atau terkadang end-system. Dalam NS-3 abstraksi
38
perangkat komputasi dasar atau komputer disebut node. Abstraksi ini diwakili dalam C++ oleh kelas node. Kelas node menyediakan metode untuk mengelola representasi perangkat komputasi di simulasi. Kelas node menyediakan metode untuk mengelola representasi perangkat komputasi di simulasi. b. Aplikasi. Dalam NS-3 abstraksi dasar untuk program pengguna yang menghasilkan beberapa kegiatan yang akan disimulasikan adalah aplikasi. Abstraksi ini diwakili dalam C++ oleh kelas Application. Kelas Application menyediakan metode untuk mengelola representasi versi NS-3 pada aplikasi-aplikasi level user dalam simulasi. Pengembang diharapkan untuk mengkhususkan kelas Application dalam pengertian pemrograman berorientasi obyek untuk membuat aplikasi baru. c. Channel. Media dimana aliran data dalam jaringan mengalir disebut channel. Dalam dunia simulasi NS-3, seseorang menghubungkan sebuah node ke objek yang mewakili sebuah saluran komunikasi. Di NS-3 abstraksi komunikasi dasar subnetwork disebut channel dan diwakili di C++ oleh kelas channel. d. Net Device. Untuk terhubung dengan jaringan, komputer harus memiliki perangkat keras yang disebut dengan peripheral card. Peripheral card tersebut diimplementasikan beberapa fungsi jaringan, sehingga disebut NetworkInterface Cards (NICs). NIC tidak akan berfungsi tanpa sebuah software driver untuk mengontrol perangkat keras tersebut. Pada Unix (atau Linux), sebuah peripheral hardware disebut sebagai device. Device dikontrol menggunakan device driver, dan NIC dikontrol
39
menggunakan network device driver yang disebut dengan net device. Di NS-3, netdevice meliputi baik software driver dan simulasi hardware. Sebuah net device 'di-instalasi' pada sebuah node agar memungkinkan node untuk berkomunikasi dengan node lainnya dengan simulasi melalui channels. Abstraksi net device direpresentasikan dengan C++ oleh kelas NetDevice. Kelas NetDevice menyediakan metode untuk mengatur koneksi ke objek node dan channel. e. Topology Helpers. Dalam sebuah jaringan simulasi besar akan diperlukan banyak koneksi untuk mengatur antara node, NetDevice serta channel. NS-3 menyediakan apa yang disebut objek Topology Helpers untuk mengatur simulasi–simulasi jaringan semudah mungkin
2.6
Top-Down Approach Menurut Goldman (2004, p17-19), Salah satu metodologi terstruktur yang
dikenal sebagai top-down approach. Pendekatan semacam ini dapat digambarkansecara grafis dalam model top-down yang ditunjukkan pada Gambar 2.6 sebagai berikut ini.
Gambar 2.6Top-Down Model
40
Penggunaan dari top-down approach seperti yang digambarkan dalam model top-down adalah relatif mudah. Top-down approach cocok untuk analisis dan desain jaringan yang dilakukan dengan memastikan bahwa desain jaringan yang diimplementasikan memenuhi kebutuhan bisnis dan tujuan yang memotivasi desain di tempat awalnya. Top-down
approach memerlukan analisis jaringan untuk memahami kendala dan tujuan bisnis, serta aplikasi sistem informasi dan data pada aplikasi yang dijalankan, sebelum mempertimbangkan komunikasi data dan option jaringan. Perhatikan network layer yang terdapat dalam model top-down tersebut. Bukan kebetulan bahwa data komunikasi dan jaringan membentuk dasar dari sistem informasi yang canggih saat ini. Jaringan Aproperly dirancang mendukung pengiriman fleksibel data ke program aplikasi yang terdistribusi, yang memungkinkan perusahaan untuk merespon kebutuhan pelanggan dengan cepat dan melakukan perubahan kondisi pasar dengan cepat.Bagaimana penggunaan yang tepat dari topdown model memastikan efektif,analisis berorientasi dengan desain jaringan? Tabel 2.6 merupakan daftar analisisproses yang terkait dengan setiap layer dari model top-down. Seharusnya dimulaidengan tujuan tingkat business. Tanpa pemahaman yang jelas tentang tujuan daritingkat business
hampir
tidak
mungkin
untuk
kita
dapat
mengimplementasikansebuah jaringan dengan baik. Dalam banyak kasus, bisnis mengambil kesempatanini untuk menguji kembali dengan kritis
41
proses bisnis mereka dalam sebuahmetodologi analisis yang dikenal sebagai business process reengineering
Tabel. 2.6Proses setiap layer dari model top-down. Top-down model layer Business Layer
Application Layer
Analisa proses • • • •
Data Layer
¾ ¾ ¾ ¾ ¾ ¾
Network Layer
♦ ♦ ♦ ♦ ♦
Technology Layer
Strategis perencanaan bisnis Rekayasa ulang proses bisnis Mengidentifikasi fungsi bisnis utama Identifikasi proses bisnis Mengidentifikasi peluang bisnis Pengembangan aplikasi Sistem analisis dan desain Mengidentifikasi kebutuhan informasi Diperlukan informasi proses bisnis dan peluang Database analisis dan desain Data modeling Distribusi data analisis Desain arsitektur Client/server Desain Database Terdistribusi Pengumpulan data dan distribusi informasi, serta kebutuhan bisnis Jaringan analisis dan desain Logikal desain jaringan Jaringan implementasi perencanaan Jaringan pengelolaan dan pemantauan kinerja Desain jaringan logis untuk pengumpulan data dan distribusi desain Teknologi analisis grid Media hardware-software teknologi analisis Desain jaringan fisik Implementasi jaringan fisik Desain jaringan fisik ke desain jaringan logis
Setelah application layer dipahami dan telah didokumentasikan, data yang
42
menghasilkan aplikasi harus diperiksa. Dalam hal ini, istilah data yang digunakan dalam pengertian umum, sebagai jaringan saat ini cenderung untuk mengangkut berbagai muatan termasuk suara, video, gambar, dan fax di samping data yang benar. Analisis lalu lintas data harusnya tidak hanya menentukan jumlah data yang akan diangkut, tetapi juga karakteristik penting tentang sifat data. Setelah analisis lalu lintas data selesai, berikut yang harus di ketahui : • Lokasi fisik data (Where?) • Karakteristik data dan masalah kompabilitas (What?) • Jumlah data yang dihasilkan dan diangkut (How much?) Mengingat persyaratan sebagaimana ditentukan oleh layer atas dari topdown model, pekerjaan berikutnya adalah untuk menentukan persyaratan jaringan yang akan memproses kapabilitas untuk memberikan data ini secara tepat waktu, dengan biaya-efektif. Kriteria kinerja network ini dapat disebut sebagai network yang diimplementasikan harus lakukan untuk memenuhi tujuan bisnis yang digariskan pada awal analisis top-down. Persyaratan ini juga disebut sebagai logical network design.Analisis technology layer, sebaliknya, menentukan bagaimana
berbagaikomponen-komponen
hardware
dan
software
yang
digabungkan untukmembangun sebuah jaringan fungsional yang memenuhi tujuan bisnis yang telahditentukan. Penggambaran technology yang dibutuhkan disebut physical networkdesign.Secara keseluruhan, hubungan antara layer dari top-down model dapatdigambarkan sebagai berikut: analisis pada layer atas menghasilkan persyaratanyang diturunkan ke layer yang lebih rendah, sementara solusi yang memenuhipersyaratan ini diteruskan kembali ke layer atas. Jika hubungan antara layerberlaku di seluruh bisnis yang berorientasi analisis jaringan,
43
maka teknologi yangdiimplementasikan (layer bawah) harus memenuhi tujuan bisnis awalnya yangdigariskan (layer atas). Oleh karena itu, namanya, top-down approach.