PENYEMPURNAAN IMPLEMENTASI PROTOKOL JARINGAN BERBASIS ISO 8473 DALAM KERNEL LINUX 2.6 UNTUK PENERBANGAN NASIONAL Tonny Adhi Sabastian1, Gladhi Guarddin1, R. Muhammad Taufik Yuniantoro2, Husni Fahmi2 1. Fakultas Ilmu Komputer, Universitas Indonesia Kampus Baru UI, Depok - Jawa Barat. Indonesia Email :
[email protected].
[email protected] 2. Badan Pengkajian dan Penerapan Teknologi (BPPT) Jl. MH. Thamrin No. 8 Jakarta, Indonesia
[email protected],
[email protected]
ABSTRACT ATN (Aeronautical Telecommunication Network) as a new standard communication protocol on international aviation will be implemented for Asia-Pacific regional including Indonesia in the year 2015 [1]. The ATN development initiated by BPPT since 2007[2][3] leaves some open issues and need some specific completion on conforming the ISO 8473 standard. The functions that have yet to be implemented are packet fragmentation, reassembly and multiple queues. Other finalization would be testing and packaging ATN kernel module so that it can be used by other developers which are free to change, distribute, develop, and use. The complete implementation of ATN will rapidly enhance the local competence on meeting the technology demands of the national aviation industry. Keywords: atn, clnp, kernel, linux, iso 8473
ABSTRAK ATN (Aeronautical Telecommunication Network) sebagai standar protokol komunikasi penerbangan internasional secara berkala akan segera digunakan untuk regional Asia Pasifik termasuk Indonesia mulai tahun 2015 [1]. Dalam menyongsong proses implementasi tersebut, pengembangan ATN yang diinisiasi oleh BPPT sejak tahun 2007 [2][3] masih menyisakan beberapa pekerjaan penyempurnaan implementasi agar sesuai standar ISO 8473. Beberapa fungsi tersisa yang harus diimplementasi adalah fragmentasi paket, reassembly paket, serta multiple queue. Penyempurnaan akhir selain implementasi fungsi adalah pengujian dan pengemasan modul kernel agar dapat digunakan sebagai materi yang dapat diperbaiki, didistribusikan, dikembangkan, dan digunakan oleh pihak lain secara bebas. Implementasi lengkap dari ATN ini akan menciptakan suatu percepatan kompetensi lokal dalam memenuhi kebutuhan teknologi dalam bidang industri penerbangan nasional. Kata kunci: atn, clnp, kernel, linux, iso 8473 1.PENDAHULUAN Seluruh negara anggota ICAO (International Civil Aviation Organization), termasuk Indonesia, telah menyepakati adanya proses migrasi metode telekomunikasi informasi penerbangan dari gabungan antara AFTN (Aeronautical Fixed Telecommunication Network) sebagai air-groundcommunication dan AMHS (Aeronautical Message Handling System) sebagai ground-groundcommunication, menjadi CNS/ATM. Migrasi tersebut pada dasarnya adalah untuk meningkatkan keselamatan penerbangan dan penambahan jumlah lalu lintas udara. CNS/ATM (Communications Navigation Surveillance/Air Traffic Management System) adalah konsep pengaturan lalu lintas udara yang efisien menggunakan semua infrastruktur yang ada termasuk menjadi penghubung antara pesawat udara dengan pusat pengendali (air-groundcommunication) dan antar pusat pengendali satu dengan lainnya (ground-ground-communication).
Salah satu komponen penting dalam implementasi konsep tersebut adalah protokol ATN (Aeronautical Telecommunication Network) sesuai standar ISO 8473.
Gambar 1. Gambaran umum ATN Migrasi berkala akan segera dilaksanakan untuk regional Asia Pasifik mulai tahun 2015 [1], untuk itu Indonesia wajib menyampaikan roadmap dan
rencana implementasi kepada regional ICAO agar rencana regional dan global dapat selaras dengan negara-negara lain. ATN dengan standar ISO 8473 merupakan sebuah spesifikasi terbuka dan sudah diimplementasi oleh beberapa vendor penerbangan dunia dan berlisensi komersial dengan harga yang sangat mahal. Kebutuhan lisensi minimum untuk mencakup seluruh penerbangan nasional dengan total 33 ground station dapat mencapai US$ 22,700,000 per tahun[4][8], untuk itu dibutuhkan sebuah solusi alternatif yang dapat memenuhi seluruh kebutuhan penerbangan nasional. Di Indonesia, ATN sebagai komponen penting dari seluruh sistem ini telah dikembangkan sejak tahun 2007 oleh Badan Pengkajian dan Penerapan Teknologi (BPPT) yang dibantu oleh Swiss German University [2][3][4][5], kemudian dilanjutkan oleh sivitas akademika Universitas Indonesia. Penelitian ini telah menghasilkan sebuah protocol stack sebagai sebuah modul dalam kernel Linux 2.6 pada lapisan network dan transport [2][4][5]. Kode sumber dari penelitian ini juga telah diletakkan pada repository Sourceforge [6] dengan lisensi open source. Secara spesifik manfaat dari penelitian diharapkan dapat meningkatkan efisiensi anggaran nasional dan peningkatan daya saing bangsa dalam teknologi pernerbangan. Selain mampu menerapkan standar yang telah ditentukan oleh ICAO bagi negara – negara anggotanya dan tentunya solusi ekonomis bagi pemerintah Indonesia dalam penerapan standar ini, penelitian ini juga diharapkan membawa Indonesia sebagai negara yang menguasai teknologi komunikasi penerbangan teraktual. Di samping itu penelitian bermanfaat strategis yaitu kendali penuh ruang udara Indonesia. Negara kita selama ini masih memanfaatkan jasa Singapura untuk mengelola dan menginterpretasikan transmisi CNS/ATM [8]. Saat ini implementasi sudah mencapai proses ujicoba kompatibilitas komunikasi dengan sistem ATN berlisensi komersil [2][3][5][13]. Beberapa fungsi akhir yang disempurnakan dari pengembangan ATN ini adalah fragmentasi, reassembly, dan multiple queue. Keberhasilan ujicoba ini akan menciptakan suatu percepatan perkembangan teknologi lokal dalam melayani kebutuhan penerbangan nasional. 2.ANALISA,DESAIN, DAN IMPLEMENTASI Penelitian yang dijabarkan melalui penulisan ini hendak menyempurnakan beberapa penelitian ATN yang telah dilakukan sebelumnya. Fungsi-fungsi yang berkaitan dengan PDU segmentation dan PDU reassembly akan diimplementasikan ke dalam protocol stack ATN. Selain itu penambahan kemampuan penerimaan dari berbagai sumber
pengirim pada ATN protocol stack juga dilakukan dalam penelitian ini. Hasil dari penelitian ini adalah sebuah protocol stack ATN utuh yang siap digunakan untuk transmisi data penerbangan CNS/ATM. Protocol stack ini juga siap untuk diintegrasikan pada distribusi utama (mainstream) dari kernel Linux 2.6. •Detail Desain dan Implementasi ATN Internetwork mengadopsi model jaringan tujuh lapis Open System Interconnection (OSI). Dibandingkan dengan standar Internet yang ada sekarang yakni empat lapisan pada TCP/IP, standar ATN lebih kompleks. Alasan adopsi model OSI beserta keuntungannya dijelaskan oleh komite ICAO yang bernama FANS (Future Air Navigation System) dalam [7] serta oleh Signore & Girard dalam [9]. Beberapa alasan tersebut diantaranya : • Ruang pengalamatan yang luas [7][11] • Utilisasi bandwidth yang rendah [7] • Prioritas terhadap sumber daya jaringan [7] • Dukungan terhadap berbagai infrastrukur mobile network , termasuk dukungan terhadap Aeronautical Mobile Satelite Service (AMSS) Adapun perbandingan model protokol dalam ATN dengan standar Internet sekarang diilustrasikan dalam Gambar 2.
Gambar 2. Perbandingan Model Protokol ATN dan Standar Internet ,PTIK - BPPT, 2006, hal .28 Seperti yang telah diilustrasikan dalam Gambar 2, ATN mengadopsi protokol CLNP (Connectionless Network Protocol) ISO/IEC 8473 sebagai protokol komunikasi di lapisan jaringan (network layer) OSI. Hal ini sesuai dengan standar yang diterapkan FANS dalam [7] . Melalui penelitian yang dilakukan dalam [2], [3] dan [4] telah berhasil dibangun sebuah modul kernel yang mengimplementasikan input serta output maupun routing secara partial untuk protokol CLNP. Dalam [5], implementasi dan
integrasi dengan protokol lapisan transport (transport layer) CLTP (Connectionless Transport Protocol) telah berhasil dilakukan. Penelitian ini menyempurnakan beberapa pekerjaan sebelumnya dengan menambahkan beberapa fungsi penting protokol yang telah disebutkan sebelumnya, yakni PDU segmentation, PDU reassembly dan penerimaan input dari berbagai sumber pengiriman. Adapun secara garis besar pekerjaan yang dilakukan dalam penyempurnaan protokol CLNP diilustrasikan melalui gambar 3. Fungsi PDU segmentation (clnp_segment) diletakkan pada bagian input. Fungsi ini bertujuan memecah PDU menjadi bagian – bagian kecil (segment) agar ukuran PDU yang dikirimkan tidak melebihi ukuran Maximum Transmission Unit (MTU) dari media transmisi yang digunakan. Fungsi ini melalui bantuan analisa ukuran PDU pada clnp_queue_xmit akan mensegmentasi setiap PDU yang melebihi ukuran MTU sesuai dengan standar ISO /IEC 8473-1 [10], yakni kelipatan 8 octet kecuali untuk segmen terakhir. PDU yang telah tersegmentasi dikirimkan ke media transmisi via antarmuka LLC dalam kernel Linux.
menerima PDU dari berbagai sumber pengiriman yang berbeda juga diintegrasikan ke dalam clnp_rcv. Fungsionalitas ini dikenal sebagai multiple queue [12]. Hal ini merupakan kemampuan penting yang harus dimiliki setiap protokol komunikasi data dalam lapisan OSI ketiga (network layer) agar dapat membedakan data yang diterima dari berbagai sumber yang berbeda untuk proses lebih lanjut pada lapisan diatasnya. Fungsionalitas multiple queue bekerja dengan menganalisa alamat sumber dan tujuan dari PDU yang dikirimkan menggunakan protokol CLNP. Analisa tersebut dilakukan dalam fungsi clnp_rcv. Pasangan alamat sumber dan tujuan ini kemudian digunakan untuk mengelompokkan PDU yang datang ke dalam sebuah kelompok antrian khusus sesuai dengan pasangan alamat tersebut. PDU yang telah terkelompokkan ini selanjutnya dapat diproses lebih lanjut, baik mengalami proses reassembly ataupun langsung dikirimkan menuju lapisan OSI diatasnya. Pola pengalamatan yang dianalisa dalam fungsionalitas ini adalah pola pengalamatan NSAP (Network Service Access Point). Alamat ini dapat dianalogikan dengan alamat IP dalam lapisan TCP/IP. Mengenai format dan standarisasi yang digunakan dalam pengalamatan NSAP dapat dilihat dalam [11]. Implementasi penyempurnaan yang telah dilakukan berpedoman kepada rekayasa struktur data yang menjadi abstraksi sebuah paket data atau PDU dalam kernel Linux, yakni socket buffer atau skb. Struktur ini merepresentasikan sebuah paket data selama pemrosesan di dalam kernel, baik pada saat penerimaan maupun pengiriman [12]. Struktur umum dari sebuah skb dapat dilihat pada Gambar 4. Untuk pedoman rekayasa dapat diacu pada [12] bab keempat.
Gambar 3. Penyempurnaan ATN Protocol Stack Fungsi PDU reassembly (clnp_defrag) diintegrasikan pada sisi output dari protocol stack. PDU tersegmentasi yang telah diterima oleh llc_rcv dan melewati analisa penerimaan oleh clnp_rcv akan melewati fungsi ini. Fungsi ini akan menggabungkan setiap segment PDU yang diterima oleh protokol CLNP menjadi sebuah PDU utuh yang siap diproses oleh lapisan yang lebih tinggi yaitu lapisan transport (transport layer).
Gambar 4. Struktur Socket Buffer pada Kernel Linux
Pada bagian input protokol, kemampuan untuk
Seluruh penyempurnaan yang dilakukan telah
diimplementasikan ke dalam modul ATN protocol stack dengan menggunakan bahasa pemrograman C dan diujicobakan dalam mainstream kernel terbaru ketika penulisan ini dibuat, yakni versi 2.6.31. Detail hasil dan ujicoba akan dibahas dalam bagian ketiga. 3.HASIL DAN DISKUSI Dibandingkan dengan hasil penelitian terdahulu [2] [3][5], hasil yang didapatkan dalam penelitian ini sudah membentuk sebuah modul ATN protocol stack yang utuh terutama dalam lapisan ketiga OSI (network layer) dengan protokol CLNP (ISO/IEC 8473). Implementasi protokol CLNP yang disempurnakan dalam penelitian ini telah dapat melakukan fungsi – fungsi penting protokol komunikasi data, seperti PDU segmentation, PDU reassembly , dan multiple queue. Hasil penelitian ini juga telah siap diintegrasikan dengan distribusi utama (mainstream) dari kernel Linux. Beberapa proses pengujian juga telah dilakukan untuk menguji hasil penelitian yang dilakukan. Pengujian yang dilakukan antara lain meliputi pengiriman PDU melebihi ukuran MTU CLNP untuk fungsi segmentation dan reassembly, serta penerimaan PDU dari dua alamat NSAP yang berbeda untuk menguji fungsionalitas multiple queue. Pengujian dilakukan dengan menggunakan tiga unit sistem berbasis Slackware Linux 12.1 dengan menggunakan kernel 2.6.31. Dua unit sistem berfungsi sebagai client ATN sedangkan satu unit berfungsi sebagai server ATN. Ketiga unit tersebut memiliki alamat NSAP yang berbeda. PDU yang terkirim ke media transmisi juga dianalisa dengan menggunakan perangkat bantuan packet sniffer Wireshark [14] untuk menunjukkan PDU yang telah tersegmentasi.
Building modules, stage 2. MODPOST 1 modules CC
/root/atn_develop/module_atn/atn.mod.o
LD [M] /root/atn_develop/module_atn/atn.ko make[1]: Leaving directory `/usr/src/linux-2.6.31' $insmod atn.ko $tail -f /var/log/messages Oct 13 18:13:16 stargazer kernel: NET: Registered protocol family 27 Oct 13 18:13:27 stargazer kernel: NET: Unregistered protocol family 27 Oct 13 18:13:33 stargazer kernel: NET: Registered protocol family 27
Gambar 5. Kompilasi dan Aktifasi Modul Kernel ATN Setelah proses kompilasi dan aktifasi dilakukan, setiap unit sistem yang digunakan dapat langsung menjalankan aplikasi server dan client sederhana yang telah disiapkan dengan menggunakan alamat NSAP yang berbeda. Data yang dikirim berupa untaian karakter dengan panjang melebihi MTU CLNP. Gambar 6 menunjukkan proses pengiriman data dari sisi salah satu client. Gambar 7a dan 7b menunjukkan proses penerimaan pada sisi server dari dua buah NSAP client yang berbeda.
Gambar 6. Pengiriman Data Pada Client
Pengujian dimulai dengan mengkompilasi dan mengaktifasi modul kernel ATN pada sistem yang akan digunakan. Gambar 5 mengilustrasikan salah satu proses kompilasi dan aktifasi pada sistem yang digunakan sebagai server. $make make -C /lib/modules/2.6.31-akane/build M=/root/atn_develop/module_atn modules make[1]: Entering directory `/usr/src/linux-2.6.31' CC [M] /root/atn_develop/module_atn/af_atn.o CC [M] /root/atn_develop/module_atn/clnp_csum.o CC [M] /root/atn_develop/module_atn/clnp_input.o CC [M] /root/atn_develop/module_atn/clnp_output.o CC [M] /root/atn_develop/module_atn/clnp_err.o CC [M] /root/atn_develop/module_atn/clnp_util.o CC [M] /root/atn_develop/module_atn/protocol.o CC [M] /root/atn_develop/module_atn/cltp_output.o CC [M] /root/atn_develop/module_atn/cltp_input.o CC [M] /root/atn_develop/module_atn/atn_raw.o LD [M] /root/atn_develop/module_atn/atn.o
Gambar 7a. Penerimaan Data Pada Server dari NSAP A
kasih kepada Bapak Tahar Agastani, Ibu Haret Faidah, dan Dedy Irawan untuk masukan dan sarannya pada berbagai kesempatan diskusi. Terima kasih kami ucapkan pula kepada Pusat Teknologi Informasi dan Komunikasi, BPPT yang memberikan kesempatan kepada penulis untuk mengembangkan Open Source Software ATN. Gambar 7b. Penerimaan Data Pada Server dari NSAP B Gambar 8 mengilustrasikan contoh analisis protocol header CLNP yang ditangkap oleh packet sniffer Wireshark. Wireshark menunjukkan header dari sebuah PDU yang tersegmentasi.
Gambar 8. Analisa Header PDU CLNP Tersegmentasi pada Wireshark 4.KESIMPULAN Melalui penelitian ini, telah dilakukan penyempurnaan terhadap standar implementasi protokol ISO 8473 CLNP. Sebuah modul ATN protocol stack telah dikemas dan diuji dalam penelitian ini menjadi sebuah kernel modul yang dapat digunakan dan dikembangkan lebih lanjut secara bebas untuk dunia penerbangan sipil nasional khususnya dan komunitas penerbangan sipil dunia pada umumnya. Hasil penelitian ini diharapkan dapat menjadi suatu pemercepat penerapan teknologi CNS/ATM di Indonesia untuk melayani kebutuhan penerbangan nasional. Dalam kesempatan selanjutnya, penelitian yang dilakukan akan berfokus kepada pengembangan sistem routing pada CNS/ATM. Ketiga sistem routing yang akan dikembangkan adalah ES-IS (ISO/IEC 9542) , IS-IS (ISO/IEC 10589) dan IDRP (ISO/IEC 10747). Selain itu penelitian terhadap keamanan data pada CNS/ATM juga akan menjadi fokus penelitian lanjutan. 5.UCAPAN TERIMA KASIH Penulis mengucapkan terima kasih kepada pihakpihak yang telah membantu dalam melaksanakan penelitian. Secara khusus kami mengucapkan terima
6.DAFTAR PUSTAKA [1]. “ASIA/PACIFIC Regional Plan for the New CNS/ATM System”, ICAO, 2005. [2]. Bunga Sugiarto, Husni Fahmi, et.al., “Design and Implementation of the Connectionless Network Protocol (CLNP) as Loadable Kernel Modules in Linux Kernel 2.6,” dipresentasikan pada The 9th International Organization for Information Integration and Web-based Applications & Services (iiWAS2007/MoMM2007),Emerging Research Projects and Work in Progress Symposium (ERPAS), Jakarta, Indonesia, Des. 2007. [3]. Husni Fahmi, Haret Faidah, Tadeus Prastowo, and Charles Lim, “Implementation of CLNP for the ATN with BSD Socket,” dipresentasikan pada International Conference on Telecommunications (ICTel2008), Bandung, Indonesia, Agustus 2008. [4]. Tadeus Prastowo, Implementation of AF_ATN Raw Socket for the ATN TP4/CLNP Networking Suite, Swiss German University, Skripsi, 2008. [5] Dimas Isnayuar, Pierre Dana, Husni Fahmi, et.al. , “Integration Of Transport Layer to Connectionless Mode Network Service in Aeronautical Telecommunication Network (ATN),” dipresentasikan pada The 5th International Conference on Information & Communication Technology and Systems (ICTS), Surabaya, Indonesia, Agustus 2009. [6]. “The ATN TP4/CLNP Networking Suite”, tersedia pada http://atn.sourceforge.net/, diakses pada tanggal 10 Oktober 2009 . [7]. “Comprehensive ATN Manual (CAMAL) Part IV: Communication Services”, FANS Information Services Ltd, 1999. [8]. Michael A. Purwoadi, Program Pengkajian dan Pengujian New CNS/ATM – BPPT, disampaikan dalam Seminar Sinergi dalam Pengembangan dan Implementasi New CNS/ATM di Indonesia, BPPT, Juni 2008. [9] T.L. Signore. and M. Girard , “The Aeronautical Telecommunication Network (ATN)” , The MITRE Corporation, 2005. [10]. Information technology – Protocol for providing the connectionless-mode network service, ISO/IEC 8473-1, 2nd ed., 1994 [11]. “Comprehensive ATN Manual (CAMAL) Part II: ATN System Level Considerations”, FANS Information Services Ltd, 1999. [12].K. Wehrle, H. Ritter, D. Muller, and M. Bechler,
Linux Networking Architechture: Design and Implementation of Network Protocols in the Linux Kernel, Pearson Education Inc., 2005 [13].Cipindo Tanjaya, Implementation of the
Configuration Information Functions of the EIRP (End System Intermediate System
Routing Protocol), Swiss German University, Skripsi, 2008. [14].“Wireshark Protocol Analyzer”, tersedia pada http://www.wireshark.org/, diakses pada tanggal 10 Oktober 2009.