Studi dan Implementasi Distributed Adaptive Routing untuk Connection Less Network Protocol pada Aeronautical Telecommunication Network
LAPORAN TUGAS AKHIR
Disusun sebagai syarat kelulusan tingkat sarjana
oleh : Ahmad Zamakhsyari Sidiq / 13504053
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2009
LEMBAR PENGESAHAN Program Studi Sarjana Informatika Studi dan Implementasi Distributed Adaptive Routing untuk Connection Less Network Protocol pada Aeronautical Telecommunication Network
Tugas Akhir Program Studi Sarjana Informatika ITB
Oleh: Nama : Ahmad Zamakhsyari Sidiq / 13504053
Telah disetujui dan disahkan sebagai laporan tugas akhir di Bandung, pada tanggal 16 September 2009
Pembimbing
Dr.Ing.M. Sukrisno Mardiyanto NIP. 130938170 ii
RINGKASAN Aeronautical Telecommunication Network (ATN) merupakan sebuah protokol jaringan yang dirancang untuk menggantikan media komunikasi pada dunia aeronautika yang ada saat ini. Seperti pada protokol jaringan pada umumnya, ATN terdiri dari beberapa protokol turunan yang memiliki lingkup pengaturan tertentu. Salah satu dari protokol bagian dari ATN adalah IS-IS (Intermediate System-toIntermediate System) yang mengatur pertukaran paket antar IS, (yang lebih dikenal dengan router). Fungsi utama IS adalah untuk melakukan routing atau perutean, yakni memastikan paket data sampai ke host tujuan. Dalam implementasi routing pada protokol IS-IS digunakan algoritma terdistribusi link state routing yang mentransformasi informasi lokal tiap IS menjadi informasi keseluruhan topologi jaringan. Dalam pengerjaan tugas akhir ini, IS-IS diimplementasikan sebagai modul kernel dalam sistem operasi linux. Modul ini, dapat memberikan informasi jalur-jalur terpendek dari topologi jaringan yang disediakan. Pengujian dilakukan dengan membuat beberapa aplikasi sederhana simulator intermediate system yang membentuk suatu topologi jaringan. Berdasarkan pengujian yang dilakukan, algoritma perutean yang diimplementasikan telah dapat dijalankan dengan baik meskipun masih dalam tahap simulasi dan belum diintegrasikan dengan protokol ATN secara keseluruhan. Kata Kunci: ATN, IS-IS, protokol routing, link state, algoritma shortest path first, modul kernel, socket programming.
iii
KATA PENGANTAR Puji serta syukur penulis panjatkan kepada Allah SWT atas berkat dan rahmat yang diberikan-Nya sehingga pengerjaan Tugas Akhir yang berjudul “Studi dan Implementasi Distributed Adaptive Routing untuk Connection Less Network Protocol pada Aeronautical Telecommunication Network” ini dapat penulis selesaikan. Penulisan laporan tugas ini disusun untuk memberi gambaran tentang proses pelaksanaan Tugas Akhir yang telah penulis lakukan. Atas terselesaikannya pelaksanaan pengerjaan seluruh proses tugas akhir ini, penulis ingin mengucapkan terimakasih kepada pihak – pihak berikut: 1.
Bapak Dr. Ing. M. Sukrisno Mardiyanto selaku pembimbing Tugas Akhir ini yang dengan penuh kesabaran dan pengertian membimbing penulis dalam menjalankan seluruh proses ini.
2.
Bapak Achmad Imam Kistijantoro S.T., M.Sc., Ph.D selaku penguji pada presentasi proposal, seminar pra-sidang dan sidang.
3.
Bapak Ir. Afwarman Manaf, Msc., Ph.D selaku penguji presentasi sidang.
4.
Ibu Cristine Suryadi selaku dosen wali dari penulis, terima kasih atas bimbingannya selama menjalani perkuliahan di ITB.
5.
Ibunda Ida Nurhalida, Ayahanda Abdul Chobir, Mohammad Sabar Jamil, Ajeng Sabarini dan Hauna Taslima atas do’a dan dukungan moral tiada henti kepada penulis.
6.
Paul Gunawan Hariyanto, S.T. yang telah membantu dan memberikan banyak masukkan teknis dalam penulisan tugas akhir.
7.
Rekan-rekan penghuni MIC: Ronald Penalosa, Anggriawan, Ahmad Zufri, Heryanto, Herianto, Paul Gunawan, Komang Gita, Stefanus Astriyanto, Catherine Tobing, Frilla Ariyani, Ivan Kurniawan yang
menjadi teman
selama pengerjaan tugas akhir. 8.
Anita Agustina, Anindita Rukmi, Farissa Putri, yang rajin mengingatkan penulis dan memberikan semangat dalam menyelesaikan tugas akhir ini.
Kemudian selama penulis berkuliah di kampus ganesha ini, telah banyak pengalaman berharga yang penulis dapatkan. Oleh karena itu, penulis juga ingin mengucapkan terimakasih kepada: iv
9. Rekan-rekan IT-ISIP Ajou University, Fall 2009, Sulistiyo Unggul Wicaksono, Tessa Ramsky, Made Harta Dwijaksara, Siti Halida Akbar, Dina Puspitarini, Nguyen Hieu, Hoang Ngoc Luong, Nguyen Manh Tuan, dan Bui Minh Tuan untuk enam bulan yang tak terlupakan. 10. Rekan-rekan DE HMIF 07/08: Iqbal Farabi, Raymond Ralibi, Twindania Namiesyva, Lovinta Happy, Ernestasia Rahel, Meliza Silalahi, Fajar Dwi Anggara, Halim Munawar, Ginar Santika, Catur Wirawan, Wahyu Adhi, Dwinanto Cahyo, Alsasian Atmoprawiro, dan Winda Winanti. Terimakasih atas hari hari melelahkan namun menyenangkan di HMIF. 11. Rekan-rekan kelompok Pendopo, Ahmy Yulrizka, Eka Yusrianto, Herianto Marbun, Laksito Anindyo, dan Randy Desmond yang telah menjadi tempat berbagi, dan telah menemani penulis baik dalam mengerjakan tugas besar maupun bersenang-senang. Mari kita wujudkan proyek nomor dua. 12. Teman-teman di Starqle Indonesia, Iqbal, Tara, Ibi, Ahmy, Reyhan, Yovan, dan Odit. Terima kasih telah mau direpotkan selama beberapa bulan terakhir. 13. Teman–teman Kabinet Keluarga Mahasiswa 07/08: Zulkaida Akbar, Seterhan Akbar, Dani Mulyana, Adi Iskandar Putra, M Wildan Nurmanna, Rahmat Danu Andika, Raka Wishnu, Shana Fatina, Agus Chandra, Shinta Dwi Handayani, Aulia Yeru, Candrawana atas malam – malam tiada akhir di ujung barat laut kampus ITB. 14. Teman–teman panitia Olimpiade KM 2007: Mohammad Rizal, Dwi Rasti, Dannu Danil, Raissa Almanda, Dwidania Sabarina, Willy Pieseshiwie, Devi Fajar, Intan Ratnasari, Dharma Eka, Rakshi Lestaluhu, Zainul Manan, Alia Noza, Nur Amalina. 15. Rekan - rekan panitia OSKM 2006, Zamzam Badru Zaman, Rahmat Danu Andika, Iwa Kartiwa, Teja Kesuma, Willy Gunari, Robbie Arsyadanie 16. Teman-teman IF 2004, Keluarga yang pertama bagi penulis di ITB 17. HMIF ITB dan Keluarga Mahasiswa ITB, tempat mengaktualisasi diri, terima kasih untuk semuanya. Penulis, September 2009
v
DAFTAR ISI LEMBAR PENGESAHAN .........................................................................................ii RINGKASAN ............................................................................................................. iii KATA PENGANTAR.................................................................................................iv DAFTAR ISI................................................................................................................vi DAFTAR GAMBAR...................................................................................................ix DAFTAR TABEL ........................................................................................................x DAFTAR ALGORITMA ...........................................................................................xi DAFTAR ISTILAH ...................................................................................................xii DAFTAR SINGKATAN...........................................................................................xiv BAB 1
PENDAHULUAN.....................................................................................I-1
1.1
Latar Belakang....................................................................................................................... I-1
1.2
Rumusan Masalah.................................................................................................................. I-3
1.3
Tujuan.................................................................................................................................... I-4
1.4
Batasan Masalah .................................................................................................................... I-4
1.5
Metodologi ............................................................................................................................ I-4
BAB 2 2.1
DASAR TEORI ...................................................................................... II-1 Aeronautics Telecommunication Network (ATN) ............................................................... II-1
2.1.1 2.1.1.1
Physical Layer dan Data Link Layer ........................................................................ II-2
2.1.1.2
Network Layer .......................................................................................................... II-3
2.1.1.3
Transport Layer ........................................................................................................ II-4
2.1.1.4
Session Layer............................................................................................................ II-4
2.1.1.5
Presentation Layer .................................................................................................... II-5
2.1.1.6
Application Layer ..................................................................................................... II-5
2.1.2 2.2
Arsitektur ATN............................................................................................................. II-2
Komponen ATN ........................................................................................................... II-8
Routing .................................................................................................................................II-9
2.2.1
Definisi dan Gambaran Umum ..................................................................................... II-9
2.2.2
Routing Protocols ....................................................................................................... II-10
2.3
2.2.2.1
Shortest Path Routing ............................................................................................. II-10
2.2.2.2
Flooding .................................................................................................................II-10
2.2.2.3
Distance Vector Routing.........................................................................................II-11
2.2.2.4
Link State Routing................................................................................................... II-11
IS-IS Routing Protocol ....................................................................................................... II-13
2.3.1
IS-IS Routing Protocol dalam ATN............................................................................ II-15
2.3.2
Tipe Sistem.................................................................................................................II-16
2.3.3
Tipe Subnetwork......................................................................................................... II-16
vi
2.3.3.1
Broadcast subnetworks ........................................................................................... II-16
2.3.3.2
General topology subnetworks ............................................................................... II-17
2.3.4
Sistem Penamaan dan Pengalamatan .......................................................................... II-17
2.3.5
Protocol Data Unit ...................................................................................................... II-23
2.3.5.1
Struktur Umum PDU .............................................................................................. II-24
2.3.5.2
Level 1 Link State PDU.......................................................................................... II-27
2.3.5.3
Level 1 Complete Sequence Numbers PDU ........................................................... II-28
2.3.5.4
Level 1 Partial Sequence Numbers PDU ................................................................ II-29
2.3.5.5
ISO 8473 PDU........................................................................................................ II-30
2.3.6 2.4
Error Control............................................................................................................... II-33
Linux .................................................................................................................................. II-33
2.4.1
Struktur Kernel Linux.................................................................................................II-33
2.4.2
Modul Kernel.............................................................................................................. II-35
2.4.3
Implementasi Arsitektur Network pada Linux ............................................................ II-37
2.4.4
Socket Buffer............................................................................................................... II-39
2.4.4.1
BAB 3 3.1
ANALISIS DAN PERANCANGAN ....................................................III-1 Analisis Kebutuhan Protokol...............................................................................................III-1
3.1.1
3.2
Subnetwork Independent Functions.............................................................................III-2
3.1.1.1
Decision ...................................................................................................................III-3
3.1.1.2
Update .....................................................................................................................III-5
3.1.1.3
Forward ...................................................................................................................III-8
3.1.1.4
Receive.....................................................................................................................III-9
Analisis Algoritma Routing Shortest Path First...................................................................III-9
3.2.1 3.3
Struktur Socket Buffer............................................................................................. II-39
Perancangan Struktur Data Shortest Path First ..........................................................III-11
Analisis dan Perancangan Aplikasi....................................................................................III-12
3.3.1
Deskripsi Umum Aplikasi IS.....................................................................................III-12
3.3.2
Event..........................................................................................................................III-12
3.3.3
Predikat......................................................................................................................III-13
3.3.4
Aksi............................................................................................................................III-13
3.3.5
Perancangan Aplikasi IS............................................................................................III-15
3.3.5.1 3.3.6
State Chart Diagram dari Aplikasi IS ....................................................................III-16 Perancangan PDU......................................................................................................III-17
3.3.6.1
Perancangan Common Header...............................................................................III-17
3.3.6.2
Perancangan Option Part .......................................................................................III-17
3.3.6.3
Perancangan Link State PDU ................................................................................III-17
3.3.6.4
Perancangan ISO 8473 PDU (Data PDU) .............................................................III-18
3.3.7
Perancangan Basis data..............................................................................................III-19
3.3.7.1
Adjacency Database...............................................................................................III-19
3.3.7.2
Link State Database ...............................................................................................III-19
vii
3.3.7.3
BAB 4 4.1
Forwarding Database .............................................................................................III-20
IMPLEMENTASI DAN PENGUJIAN ............................................... IV-1 Implementasi ...................................................................................................................... IV-1
4.1.1
Lingkungan Implementasi .......................................................................................... IV-1
4.1.2
Batasan Implementasi................................................................................................. IV-1
4.1.3
Implementasi Protokol................................................................................................ IV-2
4.1.3.1
Implementasi PDU.................................................................................................. IV-3
4.1.3.2
Implementasi Sistem Pengalamatan ....................................................................... IV-4
4.1.3.3
Implementasi Basisdata / Tabel Routing ................................................................ IV-4
4.1.4
Implementasi Modul Subnetwork Independent Functions ......................................... IV-5
4.1.5
Implementasi Aplikasi Intermediate System .............................................................. IV-5
4.2
Pengujian ............................................................................................................................ IV-5
4.2.1
Prosedur Pengujian ..................................................................................................... IV-5
4.2.2
Pengujian Fungsi – Fungsi Inisialisasi........................................................................ IV-5
4.2.2.1
Pengujian Pembentukkan Basisdata Adjacency ..................................................... IV-6
4.2.2.2
Pengujian Pembentukan Basisdata Link State ........................................................ IV-6
4.2.2.3
Pengujian Pembentukkan Link State PDU ............................................................. IV-7
4.2.2.4
Pengujian Fungsi untuk Data PDU ......................................................................... IV-7
4.2.2.5
Penghitungan Nilai Checksum................................................................................ IV-8
4.2.3
Pengujian Modul Receive......................................................................................... IV-10
4.2.3.1
Menerima Data PDU ............................................................................................ IV-10
4.2.3.2
Menerima Link State PDU ................................................................................... IV-10
4.2.4
Pengujian Modul Update .......................................................................................... IV-11
4.2.4.1
Menerima Link State PDU Baru........................................................................... IV-11
4.2.4.2
Menerima Link State PDU Lama ......................................................................... IV-12
4.2.5
Pengujian Modul Decision ....................................................................................... IV-12
4.2.5.1 4.2.6
Pengujian Algoritma SPF ..................................................................................... IV-13 Pengujian Modul Forward ........................................................................................ IV-13
4.2.6.1
Meneruskan Data PDU ke IS lain......................................................................... IV-13
4.2.6.2
Menyimpan Data PDU untuk current IS............................................................... IV-14
BAB 5
PENUTUP ..................................................V-Error! Bookmark not defined.
5.1
Kesimpulan...........................................................................................................................V-1
5.2
Saran .....................................................................................................................................V-2
DAFTAR REFERENSI ............................................................................................. iii DAFTAR PUSTAKA...................................................................................................v LAMPIRAN A FUNGSI - FUNGSI SOCKET BUFFER ....................................A-1
viii
DAFTAR GAMBAR Gambar 1.1 Perbandingan Protokol pada ATN dengan Protokol berbasis OSI Lainnya ...................... I-2 Gambar 2.1 Gambar OSI Model........................................................................................................... II-2 Gambar 2.2 ULCS ................................................................................................................................ II-4 Gambar 2.3 Gambar Konseptual Application Layer ............................................................................ II-8 Gambar 2.4 Ilustrasi Komponen ATN.................................................................................................. II-8 Gambar 2.5 Hierarki Jaringan dalam satu domain ............................................................................. II-14 Gambar 2.6 Posisi IS-IS pada ATN.................................................................................................... II-15 Gambar 2.7 Penggunaan pseoudonode untuk mewakili LAN............................................................ II-16 Gambar 2.8 Sistem Penamaan dan Pengalamatan menurut ISO 8348 ............................................... II-18 Gambar 2.9 Alamat Sebuah ES ATN .................................................................................................II-19 Gambar 2.10 Interpretasi NSAP Address oleh ISO 10589.................................................................II-23 Gambar 2.11 Struktur Umum PDU untuk IS-IS.................................................................................II-24 Gambar 2.12 Komposisi LSP ID........................................................................................................ II-27 Gambar 2.13 Level 1 Link State PDU................................................................................................ II-28 Gambar 2.14 Level 1 Complete Sequence Numbers PDU .................................................................II-29 Gambar 2.15 Level 1 Partial Sequence Numbers PDU ...................................................................... II-30 Gambar 2.16 Struktur ISO 8473 PDU................................................................................................ II-30 Gambar 2.17 Struktur ISO 8473 PDU yang akan digunakan ............................................................. II-32 Gambar 2.18 Struktur Kernel Linux................................................................................................... II-34 Gambar 2.19. Model Layer-Based Communication ........................................................................... II-37 Gambar 2.20. Unit Data dalam Komunikasi Vertikal dan Horizontal ................................................ II-38 Gambar 2.21 Stuktur Socket Buffer .................................................................................................... II-39 Gambar 3.1 Data Flow Diagram dalam Subnewtork Independent Functions .....................................III-2 Gambar 3.2 Ilustrasi Penggunaan SRM dan SSN Flag........................................................................III-7 Gambar 3.3 Ilustrasi Algoritma Shortest Path First.............................................................................III-9 Gambar 3.4 State Chart Diagram untuk Aplikasi IS .........................................................................III-16
ix
DAFTAR TABEL Tabel 2.1 Nilai field VER................................................................................................................... II-20 Tabel 2.2 PDU Type........................................................................................................................... II-25 Tabel 2.3 Tipe Value untuk CLV ....................................................................................................... II-26 Tabel 2.4 Antarmuka pada Kernel Linux ........................................................................................... II-36 Tabel 3.1 Event dalam IS-IS routing level 1 .....................................................................................III-12 Tabel 3.2 Predikat dalam IS-IS routing level 1 .................................................................................III-13 Tabel 3.3 Aksi yang terdapat dalam IS-IS routing level 1.................................................................III-14 Tabel 3.4 Tabel State untuk Aplikasi IS ............................................................................................III-15 Tabel 4.1 Prosedur Pengujian Pembentukkan Basisdata Adjacency .................................................. IV-6 Tabel 4.2 Prosedur pengujian pembentukkan Basisdata Link State ................................................... IV-6 Tabel 4.3Prosedur Pengujian Pembentukkan Link State PDU ........................................................... IV-7 Tabel 4.4 Prosedur Pengujian Pembentukkan Data PDU ................................................................... IV-7 Tabel 4.5 Prosedur Pengujian penghitungan Nilai Checksum............................................................ IV-8 Tabel 4.6 Prosedur Pengujian Validasi Nilai Checksum .................................................................... IV-9 Tabel 4.7 Prosedur Pengujian Validasi Nilai Checksum Skenario Alternatif .................................... IV-9 Tabel 4.8 Prosedur Pengujian untuk Menerima Data PDU .............................................................. IV-10 Tabel 4.9 prosedur Pengujian untuk Menerima Link State PDU ..................................................... IV-10 Tabel 4.10 prosedur Pengujian untuk Menerima Link State PDU baru ........................................... IV-11 Tabel 4.11 Prosedur Pengujian untuk Menerima Link State PDU Lama ......................................... IV-12 Tabel 4.12 Prosedur pengujian Algoritma SPF ................................................................................ IV-13 Tabel 4.13 Prosedur Pengujian Skenario Normal untuk Meneruskan Data ke IS lain ..................... IV-13 Tabel 4.14 Prosedur Pengujian Skenario Alternatif untuk Meneruskan Data ke IS lain .................. IV-14 Tabel 4.15 Prosedur Pengujian untuk Menyimpan Data .................................................................. IV-15
x
DAFTAR ALGORITMA Kode 3.1 Struktur List untuk Algoritma SPF ....................................................................................III-11 Kode 3.2 Perancangan Struktur Data Common Header ....................................................................III-17 Kode 3.3 Perancangan Sturktur Data Option Part .............................................................................III-17 Kode 3.4 Struktur Data LS PDU .......................................................................................................III-18 Kode 3.5 Struktur Data Fixed Part dalam Data PDU ........................................................................III-18 Kode 3.6 Struktur Data Address Part dalam Data PDU ....................................................................III-18 Kode 3.7 Struktur Data ISO 8473 PDU / Data PDU .........................................................................III-18 Kode 3.8 Struktur untuk entri dan tabel dalam Adjacency Database ................................................III-19 Kode 3.9 Struktur untuk elemen dan tabel dalam link state database................................................III-20 Kode 3.10 Struktur untuk elemen dan tabel dalam forwarding database ..........................................III-20
xi
DAFTAR ISTILAH Istilah
Definisi
Application Process
Sekelompok sumber daya di dalam sebuah sistem terbuka yang dapat digunakan untuk melakukan aktivitas tertentu untuk memproses informasi
Application Entity
Bagian dari application process yang berhubungan bertanggung jawab mengurusi komunikasi dengan lingkungan OSI.
End System
Sebuah sistem yang mengandung ketujuh layer OSI dan mengandung satu atau lebih application process untuk end user. Sering juga disebut dengan host.
Intermediate System
Sebuah sistem yang mengandung tiga layer terbawah dari OSI layer dan bertugas melakukan fungsionalitas untuk relaying dan routing. Sering juga disebut dengan router.
Protocol Data Unit
Satuan data atau paket yang dipertukarkan/digunakan dalam protokol.
Administrative
Sekumpulan ES dan IS yang berada dalam satu otoritas yang
Domain
sama, terdiri dari satu atau lebih Routing Domain
Routing Domain
Sekumpulan ES dan IS yang menggunakan protokol, algortima dan ukuran (metric) perutean yang sama.
Area
Subdomain yang mengelola informasi routing internal-nya sendiri dan informasi routing untuk mencapai subdomain lain. Disebut juga subdomain level 1.
Level 1 Routing
Perutean yang dilakukan didalam satu area.
Level 2 Routing
Perutean yang dilakukan antar area.
Neighbour
Sistem yang berdekatan yang bisa dicapai melalui suatu subnetwork melalui sebuah PDU.
Adjacency
Sebuah bagian dalam informasi routing local yang berhubungan dengan keterjangkauan dari sebuah tetangga xii
Istilah
Definisi (neighbor) melalui suatu sirkuit (circuit).
Circuit
Suatu himpunan bagian dari informasi routing local yang berhubungan dengan sebuah SNPA local
Link
Sebuah jalur komunikasi antara dua tetangga.
Subnetwork
Merupakan istilah untuk Layer level dua dan satu pada lingkungan TCP/IP. Bagian ini menjadi penghubung/media transfer antar router. Bisa berupa jaringan LAN, wireless dan sebagainya.
xiii
DAFTAR SINGKATAN Singkatan
Kepanjangan
ADS
Automatic Dependent Surveillance
AE
Application entity.
AINSC
Aeronatuical Industry Sercive Communication.
AP
Application process.
ATSC
Air Traffic Services Communications.
ATN SARP
Aeronautical Telecommunication Network Standard and Recommended Practices.
CLNP
Connectionless Network Protocol
CLNS
Connectionless Network Service
CM
Context Management
CNS/ATM
Communicaton, Navigations, and Surveillance / Air Traffic Management.
CPDLC
Controller-Pilot Data Link Communication
ES
End System
FIS
Flight Information Services
ICAO
International Civil Aviation Organization
ICC
Inter-Center Communication
IS
Intermediate System
NET
Network Entity Title
NSAP
Network Service Access Point
OSI
Open System Interconnection
PDU
Protocol Data Unit
PSAP
Presentation Service Access Point
SSAP
Session Service Access Point
TSAP
Transport Service Access Point xiv