• Tidak ada hasil yang ditemukan

SKRIPSI PERBANDINGAN KINERJA OTOMASI MENGGUNAKAN PARAMIKO DAN NAPALM PADA JARINGAN BGP

N/A
N/A
Protected

Academic year: 2022

Membagikan "SKRIPSI PERBANDINGAN KINERJA OTOMASI MENGGUNAKAN PARAMIKO DAN NAPALM PADA JARINGAN BGP"

Copied!
70
0
0

Teks penuh

(1)

SKRIPSI

PERBANDINGAN KINERJA OTOMASI MENGGUNAKAN PARAMIKO DAN NAPALM PADA JARINGAN BGP

COMPARISON OF AUTOMATION PERFORMANCE USING PARAMIKO AND NAPALM ON BGP NETWORK

Disusun Oleh:

Karunia Larasati 17101061

PROGRAM STUDI S1 TEKNIK TELEKOMUNIKASI FAKULTAS TEKNIK TELEKOMUNIKASI DAN ELEKTRO

INSTITUT TEKNOLOGI TELKOM PURWOKERTO

2021

(2)

ii

PERBANDINGAN KINERJA OTOMASI MENGGUNAKAN PARAMIKO DAN NAPALM PADA JARINGAN BGP

COMPARISON OF AUTOMATION PERFORMANCE USING PARAMIKO AND NAPALM ON BGP NETWORK

Skripsi ini digunakan sebagai salah satu syarat untuk memperoleh Gelar Sarjana Teknik (S.T.)

Di Institut Teknologi Telkom Purwokerto 2021

Disusun oleh

KARUNIA LARASATI 17101061

DOSEN PEMBIMBING Dadiek Pranindito, S.T., M.T.

Bongga Arifwidodo, S.ST., M.T.

PROGRAM STUDI S1 TEKNIK TELEKOMUNIKASI FAKULTAS TEKNIK TELEKOMUNIKASI DAN ELEKTRO

INSTITUT TEKNOLOGI TELKOM PURWOKERTO

2021

(3)

HALAMAN PENGESAHAN SKRIPSI

PERBANDINGAN KINERJA OTOMASI MENGGUNAKAN PARAMIKO DAN NAPALM PADA JARINGAN BGP

COMPARISON OF AUTOMATION PERFORMANCE USING PARAMIKO AND NAPALM ON BGP NETWORK

Disusun oleh

KARUNIA LARASATI 17101061

Telah dipertanggungjawabkan dihadapan Tim Penguji pada tanggal Agustus 2021

Susunan Tim Penguji

Pembimbing Utama : Dadiek Pranindito, S.T., M.T.

NIDN. 0626108502

( )

Pembimbing Pendamping : Bongga Arifwidodo, S.ST., M.T.

NIDN. 0603118901

( )

Penguji 1 : ( )

Penguji 2 : ( )

Mengetahui,

Ketua Program Studi S1 Teknik Telekomunikasi Institut Teknologi Telkom Purwokerto

Herryawan Pujiharsono,S.T., M.Eng.

NIDN. 0617068801

(4)

iv

HALAMAN PERNYATAAN ORISINALITAS

Dengan ini saya, Karunia Larasati, menyatakan bahwa skripsi dengan

judul “PERBANDINGAN KINERJA OTOMASI

MENGGUNAKAN PARAMIKO DAN NAPALM PADA JARINGAN BGP” adalah benar-benar karya saya sendiri. Saya tidak melakukan penjiplakan kecuali melalui pengutipan sesuai dengan etika keilmuan yang berlaku. Saya bersedia menanggung risiko ataupun sanksi yang dijatuhkan kepada saya apabila ditemukan pelanggaran terhadap etika keilmuan dalam skripsi saya ini.

Purwokerto, 10 September 2021

Yang menyatakan,

(Karunia Larasati)

(5)

PRAKATA

Puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah melimpahkan kasih dan sayang-Nya sehingga penulis dapat menyelesaikan proposal skripsi yang berjudul ”PERBANDINGAN KINERJA OTOMASI MENGGUNAKAN PARAMIKO DAN NAPALM PADA JARINGAN BGP”.

Maksud dari penyusunan skripsi ini adalah untuk memenuhi salah satu syarat dalam menempuh ujian sarjana Teknik Telekomunikasi pada Fakultas Teknik Telekomunikasi dan Elektro Institut Teknologi Telkom Purwokerto.

Dalam penyusunan skripsi ini, banyak pihak yang sangat membantu penulis dalam berbagai hal. Oleh karena itu, penulis sampaikan rasa terima kasih yang sedalam-dalamnya kepada :

1. Allah SWT dengan segala rahmat serta karunia-Nya yang telah memberikan kemudahan dalam setiap kesulitan yang dihadapi pada saat pembuatan skripsi ini.

2. Kepada kedua orangtua, keluarga dan saudara tercinta yang selalu memberikan dukungan beserta doa yang tidak henti-hentinya.

3. Kepada Bapak Dadiek Pranindito, S.T., M.T., selaku pembimbing I yang selalu memberikan bimbingan serta arahan sehingga skripsi ini dapat terselesaikan.

4. Kepada Bapak Bongga Arifwidodo, S.ST., M.T., selaku pembimbing II yang selalu memberikan bimbingan serta arahan sehingga skripsi ini dapat terselesaikan.

5. Sahabat semasa sekolah hingga sekarang dan rekan-rekan Telcobee seperjuangan yang selalu memberikan dukungan, semangat, motivasi, serta doa sehingga peneliti dapat meneyelesaikan skripsi.

6. Serta masih banyak lagi pihak-pihak yang sangat berpengaruh dalam proses penyelesaian skripsi ini.

Penulis menyadari bahwa dalam penyusunan dan penulisan laporan ini masih banyak terdapat kekurangan, sehingga penulis dengan senang hati menerima saran maupun kritik yang bersifat membangun dari pembaca untuk menjadi bahan

(6)

ii

evaluasi penulis untuk lebih baik di masa mendatang. Akhir kata penulis berharap skripsi ini dapat bermanfaat dan menambah ilmu pengetahuan bagi pembaca.

Purwokerto, 10 September 2021

(Karunia Larasati)

(7)

v

ABSTRAK

Konfigurasi perangkat jaringan dengan skala besar yang dibangun secara manual memiliki proses dengan waktu yang lama, hal ini dapat diatasi dengan melakukan otomatisasi jaringan. Dengan adanya otomatisasi jaringan ini konfigurasi jaringan dapat dilakukan secara otomatis, sehingga konfigurasi routing dapat dilakukan dengan waktu yang singkat serta mengurangi terjadinya human errors. Konfigurasi routing menggunakan bahasa pemrograman Python yang mendukung bahasa pemrograman dengan jenis library yang digunakan pada penelitian ini menggunakan library Paramiko dan Napalm untuk dilakukannya perbandingan.

Paramiko dapat digunakan sebagai SSH Server atau Client, sedangkan Napalm yang mendukung multi vendor akan melakukan perbandingan dimana mengunakan protokol BGP(Border Gateway Protocol) yang dapat digunakan antar AS(Autonomous System) sehingga dapat menjangkau wilayah yang jauh sekalipun.

Pada penelitian ini memperoleh hasil dari waktu konfigurasi BGP secara otomasi dengan menggunakan Paramiko lebih cepat sebesar 5,365 detik dibandingan dengan menggunakan Napalm. Selain itu penggunaan Paramiko dalam melakukan konvergensi BGP antar client memeperoleh nilai yang lebih kecil dibandingkan dengan Napalm yang memiliki selisih sebesar 19 detik. Nilai throughput pada automation menggunakan Paramiko memiliki nilai yang lebih kecil 10,174 Mbps dibandingkan dengan Napalm, namun jika throughput yang dilakukan dengan memeberikan layanan data secara automation maupun secara manual nilai throughput yang diperoleh seimbang atau memiliki hasil yang sama. Pada nilai delay yang dilakukan menggunakan automation dengan library Paramiko memiliki nilai yang lebih kecil disbanding dengan library Napalm dengan nilai 1,475 ms, berbeda dengan nilai delay yang melakukan konfigurasi secara manual diikuti dengan layanan data memperoleh nilai yang lebih kecil dibandingkan konfigurasi secara automation.

Kata kunci : BGP, Paramiko, Napalm

(8)

vi

ABSTRACT

Configuring large-scale network devices that are built manually has a long process, this can be overcome by automating the network. With this network automation, network configuration can be done automatically, so that routing configuration can be done in a short time and reduce the occurrence of human errors. The routing configuration uses the Python programming language that supports the programming language with the type of library used in this study using the Paramiko and Napalm libraries for comparison. Paramiko can be used as an SSH Server or Client, while Napalm, which supports multi-vendors, will compare using the BGP (Border Gateway Protocol) protocol that can be used between AS (Autonomous Systems) so that it can reach even remote areas. In this study, the results of the automatic BGP configuration time using Paramiko were 5.365 seconds faster than using Napalm. In addition, the use of Paramiko in performing BGP convergence between clients obtained a smaller value compared to Napalm which had a difference of 19 seconds. The throughput value in automation using Paramiko has a smaller value of 10,174 Mbps compared to Napalm, but if the throughput is done by providing data services automatically or manually, the throughput value obtained is balanced or has the same results. The delay value carried out using automation with the Paramiko library has a smaller value compared to the Napalm library with a value of 1.475 ms, in contrast to the delay value that is configured manually followed by data services, obtaining a smaller value than the automatic configuration.

Keywords: BGP , Paramiko, Napalm

(9)

vii

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN PENGESAHAN ... iii

HALAMAN PERNYATAAN ORISINALITAS ... iv

PRAKATA ... i

ABSTRAK ... v

ABSTRACT ... vi

DAFTAR ISI... vii

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... x

BAB I PENDAHULUAN ... 1

1.1 LATAR BELAKANG... 1

1.2 RUMUSAN MASALAH ... 2

1.3 BATASAN MASALAH ... 2

1.4 TUJUAN PENELITIAN ... 3

1.5 MANFAAT PENELITIAN ... 3

1.6 SISTEMATIKA PENULISAN ... 3

BAB II LANDASAN TEORI ... 5

2.1 Kajian Pustaka ... 5

2.2 Otomasi Jaringan ... 6

2.3 Library Python ... 7

2.3.1 Paramiko ... 7

2.3.2 Napalm... 8

2.3.3 Perbedaan Paramiko dan Napalm ... 8

2.4 Secure Shell (SSH) ... 9

2.4.1 SSH Server ... 9

2.4.2 SSH Client ... 9

2.5 Routing ... 10

2.5.1 BGP ... 10

BAB III METODOLOGI PENELITIAN ... 12

3.1 Diagram Alur Penelitian... 12

3.2 QoS ... 14

3.2.1 Troughput ... 14

3.2.2 Delay ... 14

(10)

viii

3.3 Alat Yang Digunakan ... 15

3.3.1 Perangkat Keras (Hardware) ... 15

3.3.2 Perangkat Lunak (Software) ... 15

3.4 Rancangan Topologi ... 17

3.5 Konfigurasi Perangkat ... 19

3.5.1 Konfigurasi SSH pada Router ... 19

3.5.2 Konfigurasi Program Library Paramiko ... 20

3.5.3 Konfigurasi Program Library Napalm ... 22

3.6 Pengujian Topologi ... 24

3.7 Pengambilan Data ... 25

3.7.1 Pengambilan Waktu Pemberian Perintah Konfigurasi BGP ... 25

3.7.2 Pengambilan Waktu Konvergensi BGP Setelah Perintah Diberikan ... 25

3.7.3 Pengambilan Data Nilai Throughput dan Delay... 25

BAB IV HASIL DAN PEMBAHASAN ... 27

4.1 Pengukuran Waktu Konvergensi Automation ... 27

4.2 Pengukuran Waktu Konvergensi Jaringan BGP ... 29

4.3 Pengukuran QoS Automation... 30

4.3.1 Throughput ... 30

4.3.2 Delay ... 31

4.4 Pengukuran QoS Layanan ... 32

4.4.1 Throughput ... 32

4.4.2 Delay ... 33

BAB V PENUTUP... 34

5.1 Kesimpulan... 34

5.2 Saran ... 34

DAFTAR PUSTAKA ... 36

LAMPIRAN... 38

(11)

ix

DAFTAR GAMBAR

Gambar 2.1 Klasifikasi Protokol Perutean Dinamis ... 11

Gambar 3.1 Diagram Alur Penelitian ... 13

Gambar 3.2 Topologi Network Automation ... 18

Gambar 3.3 Konfigurasi Alamat IP Router ... 19

Gambar 3.4 Konfigurasi SSH Pada Router... 20

Gambar 3.5 Konfigurasi Alamat IP Ubuntu Network Automation ... 21

Gambar 3.6 Konfigurasi BGP Pada Library Paramiko Network Automation ... 21

Gambar 3.7 Konfigurasi BGP Pada Library Napalm Network Automation ... 23

Gambar 3.8 File Cadidate Napalm ... 24

Gambar 3.9 Perintah Menjalankan File Konfigurasi Library Paramiko... 24

Gambar 4.1 Waktu Pemberian Perintah Konfigurasi SSH ke Router ... 27

Gambar 4.2 Waktu Konfigurasi Jaringan BGP... 29

Gambar 4.3 Perbandingan Nilai Throughput ... 30

Gambar 4.4 Perbandigan Delay ... 31

Gambar 4.5 Perbandingan Throughput Antara Automation dan Manual ... 32

Gambar 4.6 Perbandingan Delay Antara Automation dan Manual... 33

(12)

x

DAFTAR TABEL

Tabel 2.1 Perbedaan Library Paramiko dan Napalm ... 8

Tabel 3.2 Standarisasi Throughput Menurut TIPHON ... 14

Tabel 3.3 Standarisasi Delay Menurut TIPHON ... 14

Tabel 3.4 Spesifikasi PC ... 15

Tabel 3.5 Spesifikasi Perangkat Lunak ... 16

Tabel 3.6 Alamat IP Perangkat Jaringan... 19

(13)

1

BAB I

PENDAHULUAN

1.1 LATAR BELAKANG

Perkembangan teknologi yang terus berkembang mengakibatkan pengaruh yang besar terhadap beberapa hal seperti konfigurasi pada suatu jaringan yang semakin banyak digunakan dan semakin luas jangkauannya serta keamanan data yang lebih. Dalam suatu jaringan tidak hanya memerlukan router yang digunakan sebagai penentu rute yang akan dilalui oleh suatu paket untuk sampai ketujuan, namun perlu mengetahui kualitas layanan-layanan yang diberikan didalamnya.

Selain itu, pada suatu konfigurasi perlu memperoleh rute yang terbaik perlu melakukan routing. Routing terbagi menjadi dua yaitu routing static yang harus menentukan rute secara manual dan routing dynamic yang dapat menentukan rute secara otomatis. Untuk melakukan konfigurasi manual ini memerlukan waktu yang lama dan biaya yang lebih sehingga sangat disarankan untuk menggunakan konfigurasi secara otomatis yang dapat menghemat waktu serta biaya [1].

Penggunaan konfigurasi perangkat jaringan secara otomatis dapat mempermudah dengan menggunakan satu program yang akan digunakan untuk keseluruhan konfigurasi yang dapat disebut dengan otomasi jaringan [2]. Program otomasi jaringan menggunakan bahasa pemrograman seperti Python.

Bahasa pemrograman Python salah satu rekomendasi bahasa pemrograman dikarenakan mudah untuk dimengerti dibandingkan bahasa pemrograman lainnya.

Python sendiri merupakan salah satu bahasa pemrograman yang dapat melakukan eksekusi sejumlah instruksi multi guna secara langsung dengan metode orientasi objek serta menggunakan semantic dinamis untuk memberikan tingkat keterbacaan syntax [3]. Dalam bahasa pemrograman Python memiliki berbagai jenis library yang dapat digunakan pada otomasi jaringan. Library pada Python seperti paramiko dan napalm yang nantinya akan dimasukkan pada skrip sehingga dapat mengontrol prangkat jaringan dengan koneksi SSH. Serta untuk menjalankan suatu jaringan memerlukan konfigurasi protokol agar suatu jaringan yang luas dapat dijalankan secara otomatis, sehinggan disarankan menggunakan konfigurasi BGP yang

(14)

2

merupakan protokol perutean antar domain [4]. Protokol ini memiliki jalur AS untuk mencapai salah satu tujuannya yang terdaftar pada perutean.

Dengan konfigurasi perangkat jaringan ini akan melakukan penelitian penggunaan library paramiko dan napalm dari bahasa pemrograman Python dengan konfigurasi protokol BGP pada 8 buah router, 4 host, 1 buah switch dan 1 buah Ubuntu Network Automation yang akan disimulasikan pada software GNS3. Serta membandingkan penggunaan protokol SSH dalam otomasi BGP. Beberapa hal yang akan diteliti seperti waktu dari proses pemberian perintah konfigurasi BGP ke setiap router yang digunakan pada jaringan. Dengan penggunaan library ini diharapkan dapat meningkatkan efisiensi waktu dan biaya pada konfigurasi BGP serta dapat menentukan hasil kinerja terbaik dalam jaringan BGP berdasarkan parameter konvergensi, nilai throughput dan delay.

1.2 RUMUSAN MASALAH

Rumusan masalah dari penelitian ini adalah:

1) Bagaimana menganalisis waktu yang diperlukan untuk proses pemberian perintah konfigurasi BGP yang dibutuhkan oleh Paramiko dan Napalm ke setiap router menggunakan SSH dalam jaringan?

2) Berapa waktu konvergensi, perolehan nilai throughput dan delay yang dihasilkan pada jaringan BGP pada library Paramiko dan Napalm untuk memberikan perintah konfigurasi BGP oleh Ubuntu Network Automation?

1.3 BATASAN MASALAH

Batasan masalah dari penelitian ini adalah:

1) Otomasi jaringan menggunakan bahasa pemrograman Python pada sistem operasi Linux Ubuntu 18.04.

2) Protokol routing yang digunakan adalah BGP (Border Gateway Protocol) multi AS.

3) Library yang digunakan yaitu Paramiko dan Napalm.

4) Router-router dikendalikan dengan menggunakan protokol SSH.

5) Penelitian dilakukan dengan simulasi pada aplikasi GNS3.

(15)

3

6) Penangkapan trafik menggunakan perangkat lunak Wireshark.

7) Parameter yang digunakan adalah konvergensi, throughput dan delay.

1.4 TUJUAN PENELITIAN Tujuan dari penelitian ini adalah:

1) Menganalisis berapa waktu yang di butuhkan untuk melakukan konfigurasi routing BGP menggunakan Pramiko dan Napalm.

2) Mengukur dan menganalisis waktu konvergensi, throughput dan delay pada jaringan BGP library Paramiko dan Napalm untuk melakukan konfigurasi pada setiap router.

1.5 MANFAAT PENELITIAN

Penelitian ini diharapkan dapat mengetahui kualitas layanan jaringan berdasarkan parameter QoS serta menentukan kinerja library Python terbaik antara library Paramiko atau Napalm pada jaringan BGP. Dengan mengetahui waktu yang dibutuhkan untuk memberikan perintah konfigurasi BGP ke setiap router serta mengetahui kualitas parameter QoS (throughput dan delay) setelah program diberikan oleh Ubuntu Network Automation ke router dalam jaringan, maka diharapkan pembaca yang akan melakukan penelitian dapat menggunakan salah satu dari kedua library tersebut yang memiliki kinerja terbaik dalam jaringan BGP.

1.6 SISTEMATIKA PENULISAN

Penelitian ini terbagi menjadi beberapa bab. Bab 1 membahas mengenai latar belakang dilakukannya penelitian, rumusan masalah, batasan masalah, tujauan penelitian, manfaat penelitian, dan sistematika penulisan. Bab 2 membahasa mengenai landasan-landasan teori yang digunakan dan menjadi acuan bagi penulis dalam menyusun penelitian. Selain itu diuraikan pula mengenai referensi-referensi yang relevan dan berhubungan untuk pembahasan masalah yang dikaji dalam skripsi ini. Bab 3 membahas mengenai alat-alat yang digunakan dalam penelitian, alur penelitian dan konfigurasi pada perangkat. Bab 4 membahas mengenai data yang diperoleh dalam penelitian dan pembahasan mengenai data tersebut.

(16)

4

9Kesimpulan dan saran pengembangan tesis untuk kedepannya dideskripsikan pada bab 5.

(17)

5

BAB II

LANDASAN TEORI

2.1 Kajian Pustaka

Penelitian ini meneliti tentang kinerja otomasi jaringan Border Gateway Protocol (BGP) menggunakan library Python Paramiko dan Napalm pada sistem operasi Linux Ubuntu 18.04. Fungsi dari otomasi jaringan pada penelitian ini sebagai proses mengotomasikan konfigurasi jaringan yang diletakkan pada suatu program menggunakan bahasa pemprograman Python. Terdapat 2 library Python yang nantinya akan dilakukan perbandingan yaitu Paramiko dan Napalm. Penelitian menggunakan parameter konvergensi, nilai throughput dan delay untuk melakukan analisa.

Penelitian sebelumnya Kukuh Nugroho berjudul “Perbandingan Kinerja Paramiko dan Netmiko Dalam Proses Otomasi Jaringan” membahas konfigurasi jaringan secara otomatis (Network Automation) dengan routing OSPF menggunakan script Python library Paramiko dan Netmiko sebagai pembanding dalam penelitian tersebut [5]. Routing dilakukan secara terpusat pada sebuah komputer yaitu Ubuntu Docker yang didalamnya sudah diberikan program Python untuk melakukan konfigurasi ke semua perangkat router. Penelitian yang mejalankan dua library secara otomasi untuk kemudian dibandingkan menggunakan parameter konvergensi, nilai throughput dan delay dengan bantuan software Wireshark untuk menghitung waktu pemberian perintah konfigurasi ke router. Dari hasil penelitian tersebut diperoleh bahwa library paramiko memberikan waktu konvergensi ke perangkat router 4,14 kali lebih cepat dibandingkan library Netmiko.

Penelitian Paul Mihăilă berjudul “Network Automation and Abstraction using Python Programming Methods” membahas konfigurasi jaringan menggunakan network automation pada bahasa pemrograman Python [6]. Penelitian mengontrol perangkat jaringan dengan program library Paramiko dan Netmiko. Pada penelitian ini juga meneliti mengenai standarisasi untuk otomasi perangkat multi vendor programabilitas menggunakan standar NTAF (Network Test Autimation Forum), berdasarkan XMPP dan metode driver yang nanti akan diterapkan juga pada library Napalm dan Napalm mendukung sebagian besar vendor penting. Namun pada

(18)

6

penelitian ini tidak terdapat analisa terhadap perbandingan library Python Napalm, maka dari itu penelitian ini dijadikan dasar penelitian yang akan dilakukan.

Penelitian Song Xing berjudul “On the Application of BGP Routing Views”

membahas pengukuran Web dan penyebaran jaringan untuk memperkirakan jumlah alamat IP server web akif [4]. Dua atribut pada table BGP seperti NEXT_HOP dan AS-PATH yang digunakan untuk mencari tahu server Web yang aktif. Serta terdapat lebih banyak data BGP dari router untuk masuk ke jalur AS agar memperoleh gateway yang efisien untuk komunikasi data.

Penelitian Siti Ummi Masruroh berjudul “Performance Evaluation of Routing Protocol RIPv2, OSPF, EIGRP With BGP” membahas perbandingan kinerja kombinasi internal dengan menggunakan parameter QoS untuk memperoleh nilai [7].

Hasil yang didapat yaitu kombinasi dari protokol routing OSPF-BGP dengan memiliki throughput tinggi, packet loss yang rendah dan nilai jitter terkecil.

Penelitian Selamat Muslimin berjudul “Analisis Performance Routing Border Gateway Protokol (BGP) Pada Jaringan Ipv4 dan Ipv6” membahas penggunaan routing BGP menggunakan protokol jaringan IPv4 dan IPv6 yang melakukan pengujian menggunakan parameter throughput untuk mendapatkan performansi kinerja BGP pada IPv4 dan IPv6 [8]. Penelitian menggunakan bantuan sofrware iperf yang berfungsi mengatur parameter throughput, delay, packet loss untuk mendapatkan parameter terbaik guna meningkatkan performansi jaringan. Dari hasil penelitian memperoleh hasil dari pengukuran throughput IPv4 memiliki ukuran paket yang lebih rendah yaitu rata-rata 66,85 MBps, sedangkan throughput IPv6 mendapatkan ukuran paket yang lebih tinggi dengan rata-rata 68,44 MBps. Nilai yang dihasilkan throughput berpengaruh terhadap ukuran paket yang lebih besar untuk mendapatkan hasil yang maksimal.

2.2 Otomasi Jaringan

Otomasi jaringan merupakan proses pengotomatisan jaringan untuk penyediaan, manajemen, serta keamanan jaringan dari fisik maupun virtual. Otomasi jaringan ini dapat memaksimalkan efisiensi dan fungsional jaringan, serta proses berulang yang dapat dilakukan secara otomatis. Otomasi jaringan sendiri dapat mengikuti perkembangan jaringan yang sangat besar, sehingga dengan digunakannya otomasi jaringan dapat menurunkan biaya operasional dibandingkan melakukkannya secara manual yang juga dapat terjadinya human error yang lebih tinggi saat

(19)

7

konfigurasi jaringan. Cara kerja dari otomasi jaringan sendiri dengan menentukan cara paling efektif untuk dilakukannya konfigurasi dan penglolaan jaringan. Otomasi jaringan ini berbasis API yang menggantikan perintah berjenis line command, API dapat dilakukan menggunakan bahasa pemprograman seperti Python, java dan Go [9].

Otomasi jaringan juga merupakan suatu proses mengotomatisasi konfigurasi perangkat jaringan seperti router dan multi-layer switch yang sudah termasuk dalam suatu program dengan menggunakan bahasa pemrograman tertentu [6].

Program batas jaringan didasarkan pada metode pemrograman umum, seperti java dan Python. Gunakan sistem operasi yang mendukung eksekusi bahasa pemrograman tertentu untuk menjalankan program otomatisasi jaringan. Dengan otomatisasi jaringan, administrator jaringan tidak perlu lagi melakukan konfigurasi perangkat jaringan secara manual, tetapi hanya perlu menggunakan satu program untuk menyelesaikan konfigurasi perangkat. Hasilnya, tugas administrator yang kompleks dapat diselesaikan dalam waktu yang lebih singkat. Otomatisasi jaringan tidak hanya dapat menjalankan fungsi otomatis dari konfigurasi peralatan, tetapi juga dapat mengotomatiskan pengelolaan dan pengoperasian peralatan jaringan. Program dengan berbasis script dapat menyederhanakan waktu, tenaga, dan kesalahan manusia, dan oleh karena itu banyak digunakan di dunia jaringan dan administrator sistem untuk mengotomatiskan tugas konfigurasi [10].

2.3 Library Python

Python merupakan bahasa pemprograman interpretative multiguna yang lebih menekankan pada keterbacaan kode agar lebih mudah untuk memahami sintaks serta mudah untuk dipelajari. Bahasa Python muncul pada tahun 1991, dirancang oleh seorang bernama Guido van Rossum yang sampai saat ini masih dikembangkan oleh Python Software Foundation. Bahasa Python sendiri mendukung system operasi Linux. Python adalah bahasa pemrograman open source yang juga dapat digunakan di berbagai sistem operasi (seperti Linux, Windows, MacOS, dll.) serta dapat dijalankan dengan cara syntax interpreter dan script [11].

2.3.1 Paramiko

Paramiko merupakan salah satu library pada Python yang digunakan sebagai SSHv2 server maupun client [12]. SSHv2 sebagai server dapat menentukan pengguna yang dapat mengakses atau saluran yang izinkan untuk dilalui, sedangkan SSHv2

(20)

8

sebagai client dapat mengotentikasi menggunakan sandi atau password. Library Paramiko pada Python yang membuat koneksi dengan perangkat jarak jauh melalui SSH. Paramiko menggunakan SSH2 sebagai pengganti SSL untuk membuat koneksi yang aman antara dua perangkat [13]. Perintah pada library Paramiko dapat mengeksekusi menggunakan mode privilege, serta dapat melakukan konfigurasi dengan mode global “conn_send”. Selain itu paramiko merupakan library asli Python yang mengakibatkan tidak dapat dikombinasikan selain source code dari bahasa pemrograman Python.

2.3.2 Napalm

NAPALM (Network Automation and Programmability Abstraction Layer with Multi-Vendor Support) adalah sebuah library atau pustaka Python yang dapat kita gunakan untuk keperluan network automation and programmability. NAPALM memiliki sejumlah fungsi yang dapat digunakan untuk memanipulasi konfigurasi atau untuk mengambil data dari perangkat jaringan [14]. Napalm mendukung beberapa OS jaringan seperti, Arista EOS, Cisco IOS, Cisco IOS-XR, Cisco NX-OS and Juniper JunOS. Kebanyakan Napalm digunakan untuk mendapatkan information, misalkan OS version, host name and list interface. Dengan NAPALM dapat melakukan penggantian atau penggabungan konfigurasi lengkap. NAPALM juga memungkinkan untuk mengembalikan perubahan dan melakukan konfigurasi berbeda untuk membantu penyimpangan konfigurasi di jaringan.

2.3.3 Perbedaan Paramiko dan Napalm

Tabel 2.1 Perbedaan Library Paramiko dan Napalm

No Paramiko Napalm

1. Tidak support file JASON Support file JASON

2. Tidak mendukung banyak vendor Mendukung banyak vendor (seperti Arista, Cisco, dan Juniper)

3. File .py mencakup spesifikasi seperti IP add, DHCP, dan routing

File .py mencakup IP Add, DHCP, dan routing secara terpisah

4. Paramiko tidak dapat melihat spesifikasi perangkat

Napalm dapat melihat spesifikasi perangkat (seperti IP Add, DHCP, routing dll)

(21)

9 2.4 Secure Shell (SSH)

SSH (Secure Shell) merupakan protokol jaringan yang berada di lapisan aplikasi pada protokol TCP / IP, memfasilitasi sistem komunikasi yang aman diantara dua sistem yang menggunakan arsitektur klien server dengan memerluka kunci umum dan password yang aman kerahasiaannya. SSH digunakan untuk mengendalikan komputer jarak jauh (remote), mengirim file, membuat terowongan yang terenkripsi (tunnel/port forwarding) dan lain-lain [15]. SSH berada pada port 22 yang merupakan sebuah protokol jaringan kriptografi untuk komunikasi yang aman, login antarmuka baris pemerintah, perintah eksekusi jarak jauh dan layanan jaringan [16]. Port forwarding menyediakan kemampuan untuk mengkonversi koneksi TCP tidak aman ke koneksi SSH aman untuk pengalihan koneksi dari suatu IP ke IP lain sehingga seolah-olah klien menghubungi IP tujuan secara langsung, dengan port forwarding melalui SSH akan membentuk sambungan yang aman antara komputer lokal dengan komputer remote melalui layanan yang disampaikan.

2.4.1 SSH Server

SSH server dapat saling terhubung dengan SSH client dikarenakan memiliki kunci yang sama dengan aman dan terenkripsi pada perangkat jaringan dengan melakukan verifikasi. Koneksi antara SSH server dan client tidak akan terhubung apabila tidak memiliki kunci yang sama untuk melakukan verifikasi. SSH server digunakan sebagai penerima permintaan (request) dari client dan mengeksekusi perintah seperti layanan ataupun command yang diminta oleh client.

2.4.2 SSH Client

SSH client dapat menghubungkan koneksi dengan menggunakan kunci yang sama, kemudian akan melakukan enkripsi yang bertujuan untuk memastikan kerahasiaan dan keutuhan data yang akan ditukar antar client dan server. Dapat disebut bahwa SSH client sebagai awal dilakukannya koneksi dengan memanggil SSH server menggunakan PuTTY, dilanjut dengan SSH server mengirimkan public key ke SSH client dan akan direspon oleh SSH client dengan memberikan jawaban pada SSH server berupa verifikasi.

(22)

10 2.5 Routing

Routing merupakan proses berpindahannya data melalui jaringan dengan melalui beberapa segmen jaringan menggunakan peralatan yang disebut router [17].

Router digunakan untuk memilihkan jalur data yang tepat sesuai tujuan yang dituju.

Router mengolah informasi mengenai arah jalur yang akan dilalui dalam sebuah table routing yang terdiri dari routing statis berupa administrator jaringan akan melakukan update secara manual sehingga hanya dapat digunakan pada jaringan dengan skala yang kecil dan terdapat routing dinamis yang dapat melakukan update table routing secara otomatis dapat digunakan pada jaringan dengan skala yang lebih besar.

Pada protokol routing dinamis terdapat Interior Gateway Protocol (IGP) dan Exterior Gateway Protocol (EGP) . IGP digunakan pada satu jaringan Autonomous System (AS) yang sama, dalam IGP terbagi menjadi dua (2) jenis yaitu Distance Vector merupakan jenis routing protokol yang melakukan pemilihan jalur berdasarkan jarak dri router ke tujuan dan Link State merupakan jenis routing protokol yang memilih jalur berdasarkan kondisi link. Terdapat beberapa jenis Distance Vector seperti RIP dan EIGR, sedangkan pada Link State terdapat OSPF dan IS-IS. Protokol routing EGP digunakan untuk menghubungkan jaringan antar AS seperti Border Gateway Protocol (BGP).

2.5.1 BGP

Border Gateway Protocol (BGP) merupakan satu-satunya yang berfungsi sebagai EGP yang digunakan untuk menghubungkan reouter-router yang berbeda AS.

BGP terletak dibagian terluar dari suatu AS [18]. Border Gateway Protocol adalah protokol perutean area luas yang lazim, internet terdiri dari Autonomous System yang menggunakan BGP untuk mengimplementasikan perutean IP antar-AS dan intra-AS berdasarkan sekumpulan atribut. BGP router bertukar informasi perutean pada pertukaran data awal dan setelah pembaruan tambahan, ketika pembaruan terjadi, router mengirim bagian tabel perutean mereka yang telah berubah. Protokol BGP menggunakan empat jenis pesan yaitu pesan terbuka dengan memulai komunikasi, perbarui pesan yaitu menyediakan pembaruan yang dikirim menggunakan TCP, notification message yaitu untuk menutup sesi aktif dan pesan tetap hidup yaitu memberi tahu rekan BGP bahwa perangkat aktif dan dikirim cukup sering untuk mencegah sesi kedaluarsa. Kelebihan yang dimiliki BGP yaitu

(23)

11

mendukung VLSM dan CIDR [18]. Sedangkan kekurangan yang dimiliki berupa konfigurasi yang lebih kompleks.

Gambar 2.1 Klasifikasi Protokol Perutean Dinamis

(24)

12 BAB III

METODOLOGI PENELITIAN

Metodologi penelitian berisi uraian diagram alur penelitian, diagram simulasi yang akan dijelaskan dalam flowchart, alat yang digunakan dan rancangan topologi jaringan. Diagram alur penelitian menjelaskan mengenai tahap penelitian.

Selanjutnya diagram alur simulasi yang menjelaskan mengenai proses simulasi jaringan penelitian. Dalam proses simulasi membutuhkan alat pendukung yang berfungsi untuk menunjang jalannya penelitian. Penelitian ini juga membutuhkan topologi jaringan yang digunakan sebagai objek pengambilan data untuk proses analisis penelitian.

3.1 Diagram Alur Penelitian

Tahapan pada proses yang akan dilakukan dalam penelitian ini digambarkan dalam diagram alur penelitian pada Gambar 3.1. Pada tahap pertama dimulai dengan melakukan instalasi Ubuntu Network Automation pada GNS3 yang sudah mendukung Network Automation. Pada Ubuntu Network Automation nantinya akan diberikan program konfigurasi menggunakan kedua library Python yaitu Paramiko dan Napalm serta sudah termasuk konfigurasi BGP sesuai dengan bahasa pemrograman Python yang sudah mendukung Network Automation. Kemudian dilanjutkan dengan membuat topologi jaringan pada GNS3 yang terdiri dari 1 buah Ubuntu Network Automation, 1 buah switch, 8 buah router dan 4 buah client.

Setelah membangun topologi jaringan dilanjutkan dengan membuat dua program konfigurasi BGP menggunakan library Paramiko dan Napalm yang diletakkan pada Ubuntu Network Automation dengan menjalankan program library Paramiko terlebih dahulu. Setelah berhasil library Paramiko dijalankan dilakukannya otomasi BGP dari Network Automation melalui switch hingga ke masing-masing interface untuk pengambilan data. Dilanjutkan dengan library Napalm dijalankan hingga pengambilan data dilakukan untuk melakukan analisis dan diambil kesimpulan.

Pengambilan data yang akan hasilkan menggunakan bantuan perangkat lunak Wireshark berupa kinerja waktu yang diperlukan Ubuntu Network Automation untuk berhasil melakukan konfigurasi BGP sampai dengan tersambung router serta

(25)

13

client, nilai throughput dan delay juga akan dilakukan analisis, berikut uraian dari parameter yang digunakan.

Gambar 3.1 Diagram Alur Penelitian

(26)

14 3.2 QoS

Quality of Service (QoS) adalah kemampuan sebuah jaringan untuk menyediakan layanan lebih baik bagi layanan trafik. Parameter QoS terdiri dari throughput, delay, jitter dan packet loss. Penjalasan parameter QoS yang akan digunakan pada penelitian ini yaitu throughput dan delay yang akan diuraikan sebagai berikut.

3.2.1 Troughput

Throughput merupakan kecepatan transfer data. Throughput adalah jumlah total kedatangan paket yang sukses diamati pada tujuan selama interval waktu tertentu dibagi oleh durasi interval waktu tersebut. Perhitungan throughput terdapat pada persamaan 3.1 dan Tabel 3.2 berdasarkan standarisasi TIPHON [19].

Persamaan perhitungan throughput :

𝑇𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝐷𝑎𝑡𝑎 𝑌𝑎𝑛𝑔 𝐷𝑖𝑘𝑖𝑟𝑖𝑚 𝑊𝑎𝑘𝑡𝑢 𝑃𝑒𝑛𝑔𝑖𝑟𝑖𝑚 𝐷𝑎𝑡𝑎

(3.1) Tabel 3.2 Standarisasi Throughput Menurut TIPHON

Kategori Throughput Throughput (bps) Index

Sangat Bagus 100 4

Bagus 75 3

Sedang 50 2

Buruk <25 1

3.2.2 Delay

Delay adalah waktu yang dibutuhkan sebuah data untuk menempuh jarak dari asal ke tujuan. Delay dapat dipengaruhi oleh jarak media fisik, kongesti atau waktu lama proses yang lama. Perhitungan delay terdapat pada persamaan 3.2 dan Tabel 3.3 berdasarkan standarisasi TIPHON [19].

Persamaan perhitungan delay :

𝐷𝑒𝑙𝑎𝑦 = 𝑊𝑎𝑘𝑡𝑢 𝑃𝑎𝑘𝑒𝑡 𝐷𝑖𝑡𝑒𝑟𝑖𝑚𝑎 − 𝑊𝑎𝑘𝑡𝑢 𝑃𝑎𝑘𝑒𝑡 𝐷𝑖𝑘𝑖𝑟𝑖𝑚 (3.2) Tabel 3.3 Standarisasi Delay Menurut TIPHON

Kategori Delay Besar Delay(ms) Index

Sangat Bagus <150 4

(27)

15

Bagus 150 - 300 3

Sedang 300 - 450 2

Jelek >450 1

3.3 Alat Yang Digunakan

Dalam penelitian ini memerlukan beberapa alat penunjang yang digunakan sebagai media dalam membantu proses pengambilan data agar dapat berjalan dengan baik, alat penunjang terdiri dari perangkat keras (hardware) dan perangkat lunak (software).

3.3.1 Perangkat Keras (Hardware)

Perangkat keras atau hardware merupakan perangkat yang memiliki bukti fisik digunakan sebagai perangkat keras utama yang digunakan pada penelitian ini yaitu satu buah PC.

1. PC (Personal Computer)

Pada PC yang digunakan untuk penelitian ini menggunakan system operasi Ubuntu 18.04 64-Bit. PC akan menggunakan GNS3 sebagai penghubung jaringan dalam proses penelitian ini. Untuk spesifikasi PC yang digunakan dalam penelitian ini terdapat pada Tabel 3.4.

Tabel 3.4 Spesifikasi PC Host OS

Sistem Operasi Windows 10 64 bit

Processor Intel(R) Core i3-6006U [email protected]

RAM 8 GB

Hardisk 1 TB

3.3.2 Perangkat Lunak (Software)

Perangkat lunak atau software merupakan perangkat yang tidak memiliki bukti non fisik yang dimana pada penelitian ini akan diinstal pada PC menggunakan beberapa perangkat lunak seperti berikut :

1. GNS3 VM (Virtual Machines)

(28)

16

Untuk menjalankan virtualisasi perangkat dalam jumlah yang banyak akan memerlukan resource yang besar. GNS3 VM (Virtual Machines) sebagai alternatif agar komponen-komponen GNS3 dapat berjalan dengan optimal tanpa memberatkan jalannya CPU komputer fisik dan resiko kehilangan workspace lebih kecil. GNS3 VM sendiri merupakan virtualisasi sistem operasi Linux yang terinstal GNS3 server. Pada GNS3 GUI Windows version memiliki batasan dalam menjalankan virtualisasi Qemu, namun dapat berjalan optimal pada sistem Linux.

GNS3 VM dapat dibangun pada server VPS (Virtual Private Server) ataupun dedicated server jika memerlukan resource yang besar dalam menjalankan simulasi. GNS3 VM yang dibangun pada server VPS atau dedicated server disebut GNS3 remote server, dimana komputer fisik tidak menggunakan resource komputer tetapi menggunakan remote VPN terhadap GNS3 VM tersebut. GNS3 VM sendiri terinstal secara VPS (Virtual Private Server) yang merupakan server fisik yang dibagi menjadi beberapa server virtual atau maya yang menggunakan teknologi virtualisasi sehingga dapat menginstal OS dan software tambahan sesuai kebutuhan.

2. Wireshark

Wireshark digunakan untuk melakukan analisis protokol jaringan dengan menangkap trafik yang dikirimkan pengirim ke penerima yang dituju pada penelitian ini. Untuk spesifikasi perangkat lunak terdapat pada Tabel 3.5.

Tabel 3.5 Spesifikasi Perangkat Lunak

GNS3 VM Sistem Operasi Ubuntu 18.04

RAM 16 GB

Hardisk 32G

CPU 4 Core

Automation Network Sistem Operasi Ubuntu 18.04

RAM 16 GB

Hardisk 32G

CPU 4 Core

Router 1 RAM 700 MB

Router 2 RAM 700 MB

(29)

17

Router 3 RAM 700 MB

Router 4 RAM 700 MB

Router 5 RAM 700 MB

Router 6 RAM 700 MB

Client 1 Sistem Operasi Ubuntu 18.04

RAM 700 MB

CPU 1 Core

Hardisk 30 GB

Client 2 Sistem Operasi Ubuntu 18.04

RAM 700 MB

CPU 1 Core

Hardisk 30 GB

Client 3 Sistem Operasi Ubuntu 18.04

RAM 700 MB

CPU 1 Core

Hardisk 30 GB

Client 4 Sistem Operasi Ubuntu 18.04

RAM 700 MB

CPU 1 Core

Hardisk 30 GB

3.4 Rancangan Topologi

Penelitian ini menggunakan topologi jaringan otomasi BGP dengan perangkat jaringan yang terdiri dari 8 (delapan) buah router Cisco, 1 (satu) buah switch, 4 (empat) buah host dan 1 (satu) buah Ubuntu Network Automation seperti yang terdapat pada Gambar 3.2.

(30)

18

Gambar 3.2 Topologi Network Automation

Gambar 3.3 tertera Ubuntu Network Automation terhubung dengan switch agar dapat tersambung dengan seluruh router pada jaringan saat melakukan pengiriman program otomasi. Untuk melakukan pengiriman program menggunakan ICMP dari satu Client ke Client yang lain untuk memastikan program otomasi yang berasal dari Ubuntu Network Automation berhasil melakukan konfigurasi jaringan BGP ke setiap router pada jaringan. Untuk melakukan konfigurasi memerlukan alamat IP yang sebelumnya sudah di masukkan di setiap PC pada jaringan yang digunakan agar saat melakukan konfigurasi BGP dapat saling terhubung. Alamat IP disetiap interface yang terdiri dari router, host dan Ubuntu Network Automation ditera pada Table 3.6.

Tabel 3.6 Alamat IP Perangkat Jaringan

Perangkat Interface Alamat IP Perangkat Interface Alamat IP

R1 F0/0 10.10.10.2/28 R5 F0/0 10.10.10.6/28

F1/0 192.168.9.1/24 F1/0 192.168.90.1/24

F1/1 192.168.10.1/24 F1/1 192.168.60.2/24

R2 F0/0 10.10.10.3/28 F2/0 192.168.80.1/24

F1/0 192.168.20.1/24 F2/1 192.168.30.2/24

F1/1 192.168.40.1/24 R6 F0/0 10.10.10.7/28

F2/0 192.168.30.1/24 F1/0 192.168.100.1/24

F2/1 192.168.10.2/24 F1/1 192.168.80.2/24

R3 F0/0 10.10.10.4/28 F2/0 192.168.20.2/24

F1/0 192.168.49.1/24 F2/1 192.168.70.2/24

(31)

19

F1/1 192.168.50.1/24 R7 F0/0 10.10.10.8/28

R4 F0/0 10.10.10.5/28 F1/0 192.168.101.1/24

F1/0 192.168.40.2/24 F1/1 192.168.100.2/24

F1/1 192.168.70.1/24 R8 F0/0 10.10.10.9/28

F2/0 192.168.60.1/24 F1/0 192.168.89.1/24

F2/1 192.168.50.2/24 F1/1 192.168.90.2/24

Host A Eth0 192.168.9.2/24 Ubuntu Network Automation

Eth0 10.10.10.1/28 Host B Eth0 192.168.49.2/24

Host C Eth0 192.168.89.2/24 Host D Eth0 192.168.101.2/24

Tabel 3.6 menguraikan tentang alamat IP dari perangkat interface pada jaringan yang digunakan yang bertujuan untuk melakukan konfigurasi secara otomatis tanpa memerlukan pemilihan rute lagi. Pada konfigurasi jaringan menggunakan prefix 28 dengan netmask 255.255.255.240 pada network 10.10.10.1 karena pada topologi yang digunakan memiliki router dengan jumlah 8 (delapan) buah.

3.5 Konfigurasi Perangkat

3.5.1 Konfigurasi SSH pada Router

Melakukan konfigurasi SSH (Secure Shell) disetiap router pada jaringan yang sebelumnya sudah diberikan konfigurasi alamat IP pada router yang terhubung dengan Ubuntu Network Automation beserta dengan pemberian username dan password. Hal ini bertujuan agar saat melakukan konfigurasi program Paramiko dan Napalm dapat dilakukan. Konfigurasi SSH ini akan memberikan akses pada kedua library Python tersebut sehingga program dapat melakukan remote beserta konfigurasinya.

Gambar 3.3 Konfigurasi Alamat IP Router

R1(config)# int f0/0

R1(config)# ip add 10.10.10.2 255.255.255.240 R1(config)# no sh

R1(config)# exit

R1(config)# username laras secret proposal123 R1(config)# username laras privilege 15

(32)

20

Gambar 3.4 menjelaskan konfigurasi yang akan dilakukan pada seluruh router berupa IP address pada setiap interface yang akan digunakan beserta dengan username dan password sama agar dapat saling terhubung secara langsung serta memberikan konfigurasi privilege 15 agar dapat langsung tehubung ke mode privileged router.

Gambar 3.4 Konfigurasi SSH Pada Router

Gambar 3.4 melakukan konfigurasi SSH pada setiap router agar library Paramiko dan Napalm dapat memberikan akses. Pada konfigurasi ip domain-name untuk membuat DNS domain name agar dapat menterjemahkan alamat IP ke tujuan.

Konfigurasi crypto key generate rsa modulus 1024 digunakan sebagai kunci yang akan digunakan oleh server dan client saat berkomunikasi dengan panjang data key 1024. Konfigurasi line vty 0 4 sebagai metode autentikasi username dan password.

Konfigurasi SSH dilakukan setiap router yang ada pada topologi agar SSH dapat melakukan remote pada setiap konfigurasi router yang menggunakan library Paramiko dan Napalm.

3.5.2 Konfigurasi Program Library Paramiko

Konfigurasi pada program library Paramiko dibuat dalam Ubuntu Network Automation yang terdapat pada GNS3. Program ini berisikan konfigurasi alamat IP yang sudah dilengkapi dengan username dan password secara manual atau statik oleh admin, routing BGP dan lainnya yang nanti akan disimpan pada satu file dengan format “.py”. Username dan password yang terdapat pada program nantinya akan digunakan sebagai syarat untuk dapat masuk kedalam router dan melakukan konfigurasi Paramiko disetiap router pada jaringan.

R1(config)# ip domain-name telkom.com R1(config)# crypto key generate rsa modulus 1024 R1(config)# line vty 0 4

network:

ethernets:

enp0s3:

addresses: [10.10.10.1/28]

dhcp4 : no version: 2

(33)

21

Gambar 3.5 Konfigurasi Alamat IP Ubuntu Network Automation

Gambar 3.5 merupakan konfigurasi alamat IP pada Ubuntu Network Automation. Konfigurasi alamat IP dilakukan secara manual disimpan dengan format .yaml yang nantinya akan digunakan pada Paramiko dan Napalm saat konfigurasi dijalankan.

Gambar 3.6 Konfigurasi BGP Pada Library Paramiko Network Automation Gambar 3.6 merupakan program konfigurasi routing BGP pada Ubuntu Network Automation menggunakan library Paramiko. Konfigurasi yang dijalankan

R1(config)# transport input ssh R1(config)# login local

import paramiko import time def r1():

#konfigurasi interface router ip_address ="10.10.10.2"

username = "laras"

password = "proposal123"

ssh_client = paramiko.SSHClient()

ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh_client.connect(hostname=ip_address,username=username,password=password) print ("Login Sukses di {0}".format(ip_address))

conn = ssh_client.invoke_shell() conn.send("conf t\n")

conn.send("int lo0\n")

conn.send("ip add 1.1.1.1 255.255.255.255\n") conn.send("int f1/1\n")

conn.send("ip add 192.168.10.1 255.255.255.0\n") conn.send("int 1/0\n")

conn.send("ip add 192.168.9.1 255.255.255.0\n") conn.send("no sh\n")

time.sleep (1) #konfigurasi BGP

conn.send ("router bgp 25\n")

conn.send ("neighbor 192.168.10.2 remote-as 35\n") conn.send ("network 1.1.1.1 mask 255.255.255.255\n") conn.send ("network 192.168.10.0 mask 255.255.255.0\n") conn.send ("network 192.168.9.0 mask 255.255.255.0\n") time.sleep(1)

r1()

(34)

22

berupa pemberian alamat IP untuk setiap interface pada router yang digunakan pada jaringan, pemberian username dan password. Library Paramiko memberikan jeda waktu setelah melakukuan perintah dengan memberikan time .sleep(1) untuk melanjutkan konfigurasi ke router selanjutnya. Script Konfigurasi BGP dilakukan setelah melakukan konfigurasi interface router pada file yang sama dengan disertai AS yang akan dicantumkan BGP agar dapat melakukan konfigurasi secara langsung bersamaan dengan dilakukannya konfigurasi interface router pada jaringan.

3.5.3 Konfigurasi Program Library Napalm

Konfigurasi program library Napalm akan diisikan dengan perintah konfigurasi BGP yang berbeda dengan script library Paramiko yang memerlukan file dengan format “.py” namun juga memerlukan modul .yaml yang digunakan sebagai penyimpan data konfigurasi alamat IP dan routing BGP yang nantinya akan dipanggil saat menjalankan konfigurasi. File program konfigurasi Napalm ini berisikan alamat IP router yang terhubung juga dengan Ubuntu Network Automation. Konfigurasi pada program Library Napalm ini akan menggunakan file candidate terlebih dahulu yang akan digunakan sebagai menyimpan data konfigurasi alamat IP serta routing BGP yang nantinya dipanggil secara otomatis sesuai program yang dibuat.

from napalm import get_network_driver hosts =

[['10.10.10.2','candidate2'],['10.10.10.3','candidate3'],['10.10.10.4','candidate4'],['10.10.10.5','candidate5'], ['10.10.10.6','candidate6'],['10.10.10.7','candidate7'],['10.10.10.8','candidate8'],['10.10.10.9','candidate9']]

for host in hosts:

driver = get_network_driver("ios") others = {

"secret" : "proposal123",

"dest_file_system" : "nvram:", 'inline_transfer': True }

device = driver(hostname=host[0], username="laras", password="proposal123", optional_args=others)

device.open()

print ("Login Sukses di {0}".format(host[0])) device.load_merge_candate(filename=host[1])

(35)

23

Gambar 3.7 Konfigurasi BGP Pada Library Napalm Network Automation Gambar 3.7 merupakan konfigurasi routing BGP pada Ubuntu Network Automation menggunakan library Napalm. Terdapat variabel host berisi alamat IP dan nama file candidate untuk memnaggil file candidate saat file konfigurasi Napalm dijalankan sesuai dengan urutan variabel host, disertai dengan username dan password. Pada file konfigurasi ini terdapat perintah perulangan yang bertujuan untuk melakukan perulangan secara otomatis menjalankan file candidate untuk sertiap konfigurasi router. Selain itu, Napalm dapat menampilkan hasil konfigurasi yang sedang berjalan sesuai urutan dengan memberikan perintah device.load_merge_candidate. Pada file ini tidak dicantumkan konfigurasi interface dan BGP, dikarenakan file konfigurasi ini hanya terdapat perintah untuk memanggil dan manjalankan file candidate.

print ("Load Success {0}".format(host[1])) device.commit_config()

print("Done") device.close()

hostname R1

#konfigurasi interface router interface Lo0

ip address 1.1.1.1 255.255.255.255 no shutdown

interface FastEthernet1/0

ip address 192.168.9.1 255.255.255.0 no shutdown

interface FastEthernet1/1

ip address 192.168.10.1 255.255.255.0 no shutdown

#konfigurasi BGP router bgp 25

neighbor 192.168.10.2 remote-as 35 network 1.1.1.1 mask 255.255.255.255 network 192.168.9.0 mask 255.255.255.0

(36)

24

Gambar 3.8 File Cadidate Napalm

Gambar 3.8 merupakan file candidate yang berisikan konfigurasi interface router dan konfigurasi BGP yang disimpan dengan file yang terpisah setiap routernya dengan nama “candidate2” untuk router pertama. File candidate tersebut tersimpan pada Ubuntu Network Automation sehingga saat file yang berisikan perintah Library Napalm dijalankan maka secara otomatis tersambung dengan file candidate dan memulai menjalankan konfigurasi secara otomatis.

3.6 Pengujian Topologi

Pada tahap pengujian topologi dengan melakukan proses menjalankan program menggunakan Python dengan file yang memiliki format “.py”. Program Paramiko disimpan dengan nama “miko.py” dan program Napalm disimpan dengan nama

“napalam_bismillah.py” serta program yang memiliki jumlah 8 file berisikan konfigurasi menggunakan library Napalm disimpan dengan mana “candidate1”

berurutan sampai dengan file bernama “candidate8”. Program file ini dijalankan menggunakan Python pada mode root Ubuntu Network Automation.

Gambar 3.9 Perintah Menjalankan File Konfigurasi Library Paramiko Sebelum melakukan perintah pada program file, perlu melakukan pengecekan secara manual menggunakan routing BGP pada client 1 ke client 4 menggunakan PING agar dapat melakukan pengambilan data berupa waktu konvergensi yang diperlukan untuk melakukan konfigurasi BGP dari kondisi Destination Host Unreachable (DHU) sampai dengan kondisi Replay. Apabila script konfigurasi BGP sudah berhasil melakukan PING, dilanjutkan dengan program menggunakan library Python. Untuk melakukan konfigurasi menggunakan library Paramiko dengam menggunakan perintah seperti pada Gambar 3.9. Dijalankannya konfigurasi menggunakan library Paramiko bertujuan mengetahui waktu yang diperlukan untuk konvergensi BGP dari kondisi DHU sampai dengan replay dengan menggunakan protokol data Internet Control Message Protocol (ICMP).

root@napalm:~# python3 miko.py

network 192.168.10.0 mask 255.255.255.0

end

(37)

25 3.7 Pengambilan Data

Pada tahap pengambilan data penelitian ini memerlukan waktu yang didapat dalam proses pemberian perintah konfigurasi kemasing-masing router serta dari parameter QoS yaitu nilai throughput dan delay. Dari pengambilan data dari hasil setiap pengujian topologi yang sudah dijalankan akan dibandingkan.

3.7.1 Pengambilan Waktu Pemberian Perintah Konfigurasi BGP

Proses yang diperlukan dalam pengambilan waktu yang akan dihasilkan program saat memberikan perintah konfigurasi BGP ke setiap router pada jaringan dengan menghitung waktu SSH yang didapat Wireshark pada jalur Ubuntu Network Automation menuju switch. Dari hasil yang didapat oleh Wireshark akan dilakukan filterisasi protokol SSH sesuai skenario pada Tabel 3.8, kemudian waktu akhir SSH dikurangi dengan waktu awal mengakses SSH. Perhitungan ini dilakukan untuk memperoleh waktu yang diperlukan library Paramiko dan Napalm dalam memberikan perintah konfigurasi BGP ke setiap router jaringan.

3.7.2 Pengambilan Waktu Konvergensi BGP Setelah Perintah Diberikan Setelah proses pengambilan data waktu konvergensi perintah konfigurasi BGP diberikan pada setiap router dengan menggunakan perhitungan waktu pada traffic client 1 dengan melakukan PING ke client 4 yang memiliki kondisi awal DHU sampai dengan kondisi replay. Perhitungan dilakukan saat program konfigurasi dijalankan sampai dengan client 1 memperoleh replay dari client 4.

Waktu saat kondisi replay pertama dari client 4 dikurangi waktu penangkapan traffic client 1. Setiap menjalankan program, nomor yang terdapat pada penangkapan traffic Wireshark akan tercatat dikarenakan waktu yang tertera digunakan sebagai perhitungan waktu awal.

3.7.3 Pengambilan Data Nilai Throughput dan Delay

Dari hasil dilakukannya penangkapan waktu traffic SSH pada Wireshark dari Ubuntu Network Automation menuju switch akan digunakan sebagai perhitungan throughput dan delay. Untuk dapat melakukan perhitungan ini

(38)

26

diperlukan jumlah data yang dikirim dan waktu pengiriman data. Dengan terkumpulnya data tersebut maka perhitungan throughput dan delay dapat dilakukan. Dalam melakukan perhitungan pengambilan data dari Wireshark yang nantinya akan disimpan dalam bentuk format file CSV yang dapat diakses melalui excel agar mempermudah dalam melakukan perhitungan.

(39)

27

BAB IV

HASIL DAN PEMBAHASAN

Penelitian ini dilakukan untuk menganalisis kinerja otomasi jaringan BGP menggunakan library Paramiko dan Napalm. Data yang diperlukan dalam melakukan pengukuran kinerja pada penelitian ini berupa waktu yang diperlukan dalam memberikan perintah konfigurasi BGP ke jaringan menggunakan library Paramiko dan Napalm, waktu konvergensi BGP setelah perintah diberikan dan pengukursan throughput dan delay. Pengukuran penelitian dengan menangkap traffic menggunakan protokol ICMP aplikasi wireshark.

4.1 Pengukuran Waktu Konvergensi Automation

Pengukuran waktu proses pemberian perintah konfigurasi ke setiap router dilakukan dengan menggunakan data yang diambil dari penangkapan traffic Ubuntu Network Automation. Perhitungan dilakukan dengan waktu akhir komunikasi SSH dikurangi dengan waktu awal komunikasi SSH yang didapat dari penangkapan traffic untuk menentukan waktu yang dibutuhkan program dalam memberikan perintah konfigurasi ke setiap router. Penangkapan traffic SSH dilakukan pada jalur Ubuntu Network Automation ke switch yang akan menghasilkan pengukuran waktu dari pemberian perintah konfigurasi terdapat pada Gambar 4.1.

Gambar 4.1 Waktu Konvergensi Automation

Hasil dari pemberian perintah konfigurasi ke router pada Gambar 4.1 memiliki perbedaan waktu atau selisih waktu antara library Paramiko dan Napalm yang cukup jauh. Pada library Paramiko menghasilkan waktu 5,365 detik, sedangkan

(40)

28

pada library Napalm menghasilkan waktu 8,314 detik. Program yang menggunakan library Paramiko diperoleh waktu yang lebih cepat dibandingkan dengan pemberian perintah konfigurasi menggunakan library Napalm.

Jumlah data konfigurasi BGP yang dikirm dapat mempengaruhi waktu pemberian perintah konfigurasi BGP. Jumlah data perintah konfigurasi BGP yang dikirim oleh library Paramiko dan Napalm memiliki nilai berbeda. Pada library Paramiko jumlah data perintah konfigurasi BGP dari Ubuntu Network Automation pada R2 bernilai sebesar 131103 Bytes, pada R4 sebesar 372535 Bytes, pada R5 sebesar 351218 Bytes dan pada R6 sebesar 436965 Bytes. Hal ini disebabkan karena jumlah konfigurasi router yang dimiliki sama dengan memiliki konfigurasi lima alamat IP di lima interface dan konfigurasi BGP dengan lima alamat network.

Sedangkan jumlah data perintah konfigurasi BGP dari Ubuntu Network Automation pada R1 bernilai sebesar 45740 Bytes, pada R3 sebesar 182272 Bytes, pada R7 sebesar 486306 Bytes dan pada R8 sebesar 533073 Bytes, karena jumlah konfigurasi pada router tersebut yaitu tiga alamat IP di tiga interface dan konfigurasi BGP dengan tiga alamat network. Total data keseluruhan pada proses pemberian perintah konfigurasi BGP oleh library Paramiko yaitu sebesar 485232 Bytes.

Pada jumlah data perintah konfigurasi BGP menggunakan library Napalm ke R1 menghasilkan data sebesar 115044 Bytes, pada R2 sebesar 146286 Bytes, pada R3 sebesar 117220 Bytes, pada R4 sebesar 159769 Bytes, pada R5 sebesar 159270 Bytes, pada R6 sebesar 159583 Bytes, pada R7 sebesar 120166 Bytes, dan pada R8 sebesar 119035 Bytes. Perbedaan pada AS 35 yang terdiri pada R2,R4,R5 dan R6 tidak terlalu besar karena jumlah konfigurasi yang diberikan pada router tersebut sama jumlahnya. Sedangkan pada R1, R3, R7 dan R8 yang memiliki jumlah konfigurasi tiga alamat IP pada tiga interface dan konfigurasi BGP dengan tiga alamat network, namun jumlah data yang dihasilkan berbeda dengan selisih tidak terlalu signifikan. Total data keseluruhan pada proses pemberian perintah konfigurasi BGP oleh library Napalm yaitu 1068722 Bytes.

Dari perhitungan jumlah data yang sudah dihasilkan dari proses pemberian perintah konfigurasi BGP menggungakan library Paramiko dan Napalm berbeda, dimana jumlah data pada library Napalm lebih besar. Hal tersebut dikarenakan

(41)

29

program yang digunakan library Napalm memiliki sebuah masukkan data serta terdapat perulangan pada perintah konfigurasi berupa tambahan file yang berisikan daftar nama alamat IP dan alamat network yaitu terdapat pada file “candidate1”, sedangkan pada Paramiko tidak terdapat file tersebut karena Paramiko tidak mendukung fitur tersebut.

4.2 Pengukuran Waktu Konvergensi Jaringan BGP

Pengukuran waktu konvergensi jaringan BGP setelah program dijalankan dengan mendapatkan informasi pada penangkapan traffic menggunakan aplikasi Wireshark pada jalur Client 1 dan Client 2 secara bergantian. Dimana kondisi Client 1 sebelumnya sudah melakukan PING ke Client 3 sebelum program dijalankan dan begitupun pada Client 2 ke Client 4. Hasil pengukuran waktu konfigurasi jaringan BGP terdapat pada Gambar 4.2.

Gambar 4.2 Waktu Konfigurasi Jaringan BGP

Pada Gambar 4.2 perintah program konfigurasi menggunakan library Paramiko menghasilkan waktu konvergensi jaringan BGP dari kondisi Client 1 DHU sampai dengan replay dari Client 3 yaitu sebesar 184 detik dan untuk Client 2 ke Client 3 yaitu sebesar 181 detik sehingga rata-rata yang diperoleh yaitu sebesar 182,300 detik. Perhitungan diambil dari penangkapan traffic pada jalur Client 1 ke router R1. Sedangkan program konfigurasi menggunakan library Napalm menghasilkan waktu konvergensi jaringan BGP yang didapatkan dari Client 1 ke Client 3 yaitu sebesar 203 detik dan untuk Client 2 ke Client 4 yaitu sebesar 200 detik dengan nilai rata-rata pada library Napalam sebesar 201,750 detik. Hasil

(42)

30

pengukuran waktu konvergensi jaringan BGP antara Paramiko dan Napalm memiliki selisih 19 detik. Selisih waktu ini tidak cukup jauh.

Waktu konvergensi setelah pemberian perintah konfigurasi BGP linier dengan waktu pemberian perintah konfigurasi. Waktu pemberian perintah konfigurasi BGP menggunakan Paramiko menghasilkan waktu yang lebih singkat dibandingkan dengan menggunakan Napalm, begitu juga pada waktu konvergensi setelah pemberian perintah konfigurasi menggunakan Paramiko lebih singkat dibandingkan dengan menggunakan Napalm.

4.3 Pengukuran QoS Automation 4.3.1 Throughput

Pengukuran nilai throughput didapat dari penangkapan traffic SSH menggunakaan aplikasi wireshark pada jalur Ubuntu Network Automation ke switch. Pada program perintah konfigurasi menggunakan library Paramiko, data yang dikirmkan berjumlah 485232 Bytes. Sedangkan pada program perintah yang menggunakan library Napalm memiliki jumlah data yang dikirimkan sebesar 106872 Bytes. Perhitungan dilakukaan dengan bantuan Wireshark yang dihitung dengan jumlah data yang dikirimkan akan dibagi dengan waktu total pengiriman data, maka diperoleh nilai throughput yang dapat diketahui pada Gambar 4.3.

Gambar 4.3 Perbandingan Nilai Throughput

Nilai throughput yang diperoleh dari pengiriman perintah konfigurasi BGP menggunakan library Paramiko memiliki nilai rata-rata sebesar 10,174 Mbps.

sedangkan throughput yang didapatkan menggunakan perintah konfigurasi BGP dengan library Napalm memiliki nilai rata-rata yaitu sebesar 45,970 Mbps.

Bandwidth yang digunakan sama yaitu 100 Mbps karena menggunakan fast

(43)

31

ethernet. Jumlah data yang dihasilkan selama proses pemberian konfigurasi perintah BGP menggunakan Paramiko dan Napalm berbeda, sehingga menyebabkan throughput dari kedua library berbeda. Jumlah data pada proses pengiriman perintah konfigurasi BGP menggunakan Napalm lebih besar seperti yang terdapat pada Gambar 4.3 juga pada pengukuran waktu proses pemberian perintah konfigurasi.

4.3.2 Delay

Pengukuran nilai delay didapat dari penangkapan traffic menggunakan aplikasi Wireshark pada jalur Ubuntu Network Automation ke switch. Perhitungan delay dilakukan untuk merepresentasikan waktu yang dihasilkan paket untuk diterima setelah data dikirimkan. Dengan melakukan perhitungan rata-rata delay yang dihasilkan dari pengiriman perintah konfigurasi BGP dengan menggunakan library Paramiko dan Napalm. Pengukuran rata-rata delay dari perhitungan total delay dibagi dengan jumlah data yang dikirim. Rata-rata delay yang dihasilkan pada pengiriman perintah konfigurasi dengan menggunakan library Paramiko dan Napalm terdapat pada Gambar 4.4.

Gambar 4.4 Perbandingan Delay

Pada pengiriman perintah konfigurasi BGP dengan menggunakan library Paramiko menghasilkan rata-rata delay sebesar 1,475 ms dengan jumlah data yang dikirim 485232 Bytes. Pengiriman perintah konfigurasi BGP dengan menggunakan library Napalm menghasilkan rata-rata delay sebesar 12,145 ms dangan jumlah data yang dikirim 1068722 Bytes. Dengan kedua nilai rata-rata delay yang diperoleh dapat dilihat bahwa nilai rata-rata delay pengiriman perintah konfigurasi dengan menggunakan library Paramiko lebih kecil dibaningkan dengan menggunakan

(44)

32

library Napalm. Nilai rata-rata delay mempengaruhi waktu dari proses pemberian perintah konfigurasi ke setiap router. Delay yang dihasilkan dari keduanya termasuk dalam kategori baik pada standar TIPHON yang terdapat pada Tabel 3.3, namun delay yang dihasilkan pada pengiriman perintah konfigurasi BGP menggunakan library Paramiko lebih kecil dibandingkan menggunakan library Napalm.

4.4 Pengukuran QoS Layanan 4.4.1 Throughput

Pengukuran nilai throughput dengan melakukan konfigurasi secara manual diikuti dengan pemberian layanan data berupa TCP dilakukan antar client 1 ke client 3 yang memperolah nilai rata-rata sebesar 2,943 Mbps dan pada client 2 ke client 4 memperoleh sebesar 2,947 Mbps. Sedangkan perolehan nilai throughput yang dilakukan secara automation yang didapat berdasarkan rata-rata pada client 1 ke client 3 memeperoleh nilai sebesar 2,943 Mbps dan pada client 2 ke client 4 memeperoleh sebesar 2,947 Mbps.

Gambar 4.5 Perbandingan Throughput Antara Automation dan Manual Pada Gambar 4.5 perintah program konfigurasi yang dilakukan secara manual dengan menggunakan layanan data TCP dengan cara automation maupun manual memiliki hasil yang hasil dengan nilai yang sama yaitu sebesar 2,945 Mbps.

Gambar

Tabel 2.1 Perbedaan Library Paramiko dan Napalm
Gambar 2.1 Klasifikasi Protokol Perutean Dinamis
Gambar 3.1 Diagram Alur Penelitian
Tabel 3.4 Spesifikasi PC  Host OS
+7

Referensi

Dokumen terkait

Siswa dibimbing agar dapat menyelesaikan masalah yang  berkaitan dengan luas permukaan prisma pada kegiatan “ayo.. kita amati” buku siswa

Electronic Distance Measurement adalah metode pengukuran jarak tidak langsung dengan ketelitian yang tinggi dan jangkauan cukup jauh dengan menggunakan prinsip

Terdapat banyak faktor yang mempengaruhi pembiayaan mudharabah pada bank umum syariah di Indonesia, tetapi dalam penelitian ini dibatasi pada faktor Net Performing

pembelajaran kooperatif tipe NHT dalam meningkatkan hasil belajar siswa pada materi garis dan sudut di kelas VII SMP Kristen Bala Keselamatan Palu. Desain penelitian

Hasil penelitian tersebut dapat menggambarkan proses pembentukan sedimen dasar pada perilaku sedimen dasar bergerak, yang dinyatakan dengan adanya perubahan

Dimana dampak yang terjadi jika nilai resistansi jaringan semakin besar akan mengakibatkan jatuh tegangan dan rugi daya pada jaringan distribusi semakin besar

1) Keanekaragaman jenis burung diurnal di Hutan Sebadal Taman Nasional Gunung Palung ditemukan 40 jenis yang masuk ke dalam 17 family dan 4 ordo dengan total

ERWAN