BAB 2 DASAR TEORI Pada bab ini, akan dijelaskan mengenai dasar teori yang mendukung pelaksanaan tugas akhir.
2.1 Aeronautics Telecommunication Network (ATN) Awal dari pengembangan ATN adalah dari munculnya kebutuhan dari dunia penerbangan akan fasilitas yang lebih baik dikarenakan terbatasnya fasilitas yang ada saat itu dan ketidakmampuannya untuk mengelola lalu lintas penerbangan yang terus meningkat.
Berangkat
dari
kebutuhan
diatas,
International
Civil
Aviation
Organization (ICAO) membentuk suatu komite spesial bernama Special Committee on Future Air Navigation Systems (FANS) yang bertugas untuk mempelajari dan membuat suatu konsep dan teknologi yang baru bagi dunia penerbangan. Komite ini kemudian menghasilkan konsep Communications, Navigation, and Surveillance/Air Traffic Management yang lebih dikenal dengan konsep CNS/ATM. Sistem CNS/ATM ini diharapkan bisa menjadi sistem yang memenuhi kebutuhan dunia penerbangan internasional. ATN merupakan protokol komunikasi dalam CNS/ATM. Protokol ATN merupakan suatu arsitektur internetwork yang memungkinkan komunikasi antar subnetwork darat dan udara maupun antar subnetwork darat yang dilakukan melalui suatu layanan antarmuka bersama dan protokol-protokol bersama yang didefinisikan oleh International Standard Organization (ISO). Dari sudut pandang pengguna komunikasi data, ATN menawarkan pelayanan komunikasi antara dua sistem komputer yang dapat diandalkan, tangguh dan terintegrasi (reliable, robust dan high-integrity). ATN dibedakan dari sistem komunikasi data lainnya karena:
Secara spesifik dan eksklusif dibangun untuk menyediakan layanan komunikasi data untuk dunia penerbangan, termasuk untuk penyedia jasa Air Traffic Services (ATS).
II-1
II-2
Menyediakan layanan komunikasi antara sistem komunikasi darat dan udara juga untuk antar sistem komunikasi darat, dimana berbagai mekanisme didalam sistem komunikasi dapat dilihat oleh pengguna.
Menyediakan layanan komunikas yang telah didesain untuk memenuhi keamanan dan keselamatan aplikasi - aplikasi penerbangan.
Mengakomodasi berbagai kelas layanan dan proritas pesan yang dibutuhkan oleh berbagai aplikasi ATN.
Menggunakan dan menyatukan berbagai jaringan data penerbangan, umum dan komersial kedalam suatu infrastruktur komunikasi aeronautikal yang global.
2.1.1
Arsitektur ATN
ATN menggunakan ISO Open System Interconnection (OSI) sebagai acuan untuk pengembangannya. OSI merupakan suatu deskripsi abstrak untuk desain protokol pada jaringan komputer. Desain protokol ini disusun dalam bentuk layer. Terdapat tujuh layer pada OSI yang bisa dilihat pada gamber berikut:
Gambar 2.1 Gambar OSI Model
2.1.1.1 Physical Layer dan Data Link Layer Dalam model OSI, Physical Layer bertugas untuk melakukan transmisi bit per bit melalui sebuah kanal komunikasi. Fokus utamanya adalah untuk memastikan ketika pengirim mengirimkan bit 1, penerima akan menerima juga sebagai bit 1, bukan 0 [TAN03].
II-3 Sementara Data Link Layer bertindak untuk memecah data masukan yang akan dikirim kedalam frame-frame data dan kemudian mengirimkannya secara berurutan. Pada ATN, Physical layer dan Data Link Layer tidak diimplementasikan secara khusus sesuai dengan tujuan awal ATN yakni bertindak sebagai antarmuka yang menyatukan berbagai implementasi fisik dari metode komunikasi yang sudah tersedia sebelumnya. Seperti telah disebutkan pada Bab 1, ada tiga metode komunikasi utama pada komunikasi air-ground; radio VHF (Very High Frequency), radar Mode-S dan Transmisi melalui satelit (SATCOM). Sementara untuk komunikasi ground-ground metode yang tersedia misalnya melalui jaringan LAN. 2.1.1.2 Network Layer Network layer bertugas untuk mengatur operasi dari subnet. Masalah utama dalam pengoperasian subnet adalah menentukan bagaimana suatu paket bisa dikirim dari node asal ke node tujuan dan jalur mana yang harus ditempuh atau dengan kata lain permasalahan routing. Rute – rute bisa berupa tabel statik yang disimpan dalam jaringan dan jarang diubah atau pula bisa ditentukan setiap kali percakapan akan dimulai. Jika terlalu banyak paket yang berada didalam subnet pada waktu yang sama maka paket – paket itu akan saling menghambat satu sama lain yang pada akhirnya mengakibatkan bottleneck. Oleh karena itu, pengelolaan kepadatan juga merupakan tugas dari network layer. Pada lapisan ini, layanan yang diberikan adalah Connectionless-mode Network Service (CLNS). Sesuai namanya, layanan ini medukung transfer datagram antara dua node tanpa terlebih dahulu membangun sebuah koneksi terlebih dahulu[ISO98]. Guna mendukung layanan ini, terdapat beberapa protokol yang harus diimplementasikan, diantaranya routing exchange protocol (REP) yang dispesifikasikan dalam ISO 9542, IS-IS atau intra-domain routing exchange protocol yang dideskripsikan dalam ISO 10589 dan connectionless network protocol (CLNP) yang dideskripsikan dalam ISO 8473. Protokol-protokol ini menambahkan protokol header di depan data yang akan ditransfer. Protokol header ini berisi beberapa informasi yang dibutuhkan untuk melakukan transfer, diantaranya: alamat pengirim, alamat tujuan, prioritas data, dan kualitas layanan yang dibutuhkan untuk data tersebut.
II-4 2.1.1.3 Transport Layer Fungsi dasar dari transport layer adalah untuk menerima data dari lapisan di atasnya kemudian memecahnya menjadi beberapa bagian jika diperlukan, mengirimkannya ke lapisan dibawahnya (network layer), dan memastikan semua bagian sampai dengan benar ditempat tujuan.[TAN03]. Transport layer juga merupakan lapisan dimana percakapan end-to-end benar – benar terjadi. Maksudnya adalah percakapan antara node penerima dan node pengirim benar-benar terjadi disini. Percakapan terjadi dengan cara saling bertukar pesan header dan pesan kontrol. Hal ini berbeda dengan tiga lapisan terbawah, dimana protokolnya memfasilitasi percakapan antara node pengirim dengan node tetangga langsungnya (immediate neighbors), bukan dengan node tujuan akhir. Dalam ATN, ada dua layanan protokol yang terdapat di Transport Layer, yaitu: 1. Connectionless transport service (CLTS) yang didukung oleh protokol connectionless transport protocol (CLTP), dan; 2. Connection oriented transport service (COTS) yang didukung dengan protokol connection oriented transport protocol (COTP). 2.1.1.4 Session Layer Session layer, presentation layer dan application layer dalam ATN merupakan bagian dari upper layer communication service (ULCS). ULCS ini memberikan kemampuan bagi layanan – layanan yang diberikannya untuk memanfaatkan common building block. Layanan – layanan yang diberikan pada lapisan transport, network, data link dan fisik merupakan layanan low-level yang secara aplikatif dapat langsung digunakan untuk penggunaan protokol namun tidak bisa memanfaatkan pendekatan common building block.
Gambar 2.2 ULCS
II-5 Pada model OSI, session layer memungkinkan pengguna – pengguna pada mesin yang berbeda – beda untuk membuat sebuah sesi diantara mereka. Sesi - sesi ini menawarkan beberapa layanan yaitu: kontrol dialog (menjaga pergiliran transimisi pesan antar mesin), manajemen token (mencegah dua atau lebih pihak dari pengaksesan terhadap sebuah operasi kritis secara bersamaan), dan sinkronisasi (melakukan checkpoint pada transmisi dengan durasi panjang untuk memungkinkan transmisi tersebut melanjutkan dari checkpoint terakhir jika terjadi crash ditengah proses transmisi) [TAN03]. Pada ATN, sebuah protokol sesi memiliki dua unit fungsional, yakni kernel session dan no orderly release (NOR) session. Pemilihan NOR pada sebuah sesi pengguna mengindikasikan bahwa pengguna tidak memiliki kebutuhan terhadap pelepesan berdasarkan perintah terhadap sesi dari koneksi yang sedang dimiliki. 2.1.1.5 Presentation Layer Dalam model OSI, presentation layer difokuskan pada sintaksis dan semantik dari informasi yang dikirimkan [TAN03]. Tugas lapisan inilah untuk membuat bit – bit yang dipertukarkan tadi dapat dibaca dan ditampilkan pada aplikasi – aplikasi yang berjalan diatas komputer. Termasuk mengatur struktur data abstrak bagi informasi yang dikirimkan dan memfasilitasi struktur data yang lebih tinggi untuk didefinisikan dan dipertukarkan. Pada presentation layer dari ATN, hanya dilakukan beberapa optimasi beberapa opsi protokol. Opsi – opsi protokol ini berguna untuk mengurangi kuantitas dari protocol control information (PCI) pada lapisan presentasi. Beberapa opsi yang disediakan oleh presentation layer ATN adalah null-encoding protocol option, short-connect protocol option, short-encoding prtotocol option, nominated context protocol option, dan packed encoding protocol option. 2.1.1.6 Application Layer Dalam memahami proses kerja didalam application layer, perlu dipahami dua buah terminologi dibawah ini: 1. Application Process (AP), merupakan sebuah elemen dalam Open System yang memproses aplikasi tertentu. Contoh dari sebuah AP adalah paket software dimana ada elemen yang berfungsi untuk melakukan komunikasi dan
II-6 ada juga yang bertanggung jawab menjalankan fungsi lain yang tidak berhubungan dengan lingkungan OSI, misalnya antarmuka untuk pengguna. AP ini bias dikatakan sebagian berada pada lingkungan OSI dan sebagian berada pada lingkungan system lokal. 2. Application Entity (AE), merupaka bagian dari AP yang berhubungan dengan OSI, bagian ini merupakan bagian yang bertugas untuk melakukan pertukaran informasi menggunakan protocol-protokol yang sudah didefinisikan. Terdapat enam jenis Application Entity pada ATN, yaitu: 1) Context Management (CM) CM merupakan aplikasi yang menyediakan kemampuan untuk membangun suatu koneksi antara dua buah stasiun darat atau antara pesawat terbang dan stasiun darat. Ketika suatu koneksi telah berhasil diciptakan, CM menyediakan informasi data-link, kemampuan untuk bertukar informasi, dan kemampuan untuk memperbaharui informasi yang sudah dipertukarkan sebelumnya. Ada beberapa fitur minimum dari CM yakni: logon, update, contact, registration, dan ground forwarding. 2) Automatic Dependent Surveillance (ADS) Aplikasi ADS ini memungkinkan pengguna untuk mendapatkan informasi posisi dan informasi terkait Surveillance lainnya dari suatu pesawat yang mungkin akan digunakan untuk pengaturan lalu lintas udara. ADS juga dirancang untuk memberikan laporan otomatis tentang pesawat kepada pengguna. 3) Controller-Pilot Data Link Communications (CPDLC) CPDLC merupakan aplikasi yang memungkinkan komunikasi data link antara pilot dan controller. Komunikasi data link ini dibentuk untuk saling bertukar pesan. CPDLC ini memiliki beberapa fungsi: a. Controller-Pilot Message Exchange memungkinkan pertukaran pesan via data link antara pilot dan controller/data authority. b. Transfer of Data Authority menyediakan kemampuan untuk mempersiapkan suatu stasiun darat sebagai data authority berikutnya dari suatu pesawat. Data authority (DA) adalah status suatu stasiun darat yang memiliki otoritas untuk melakukan transfer data dengan
II-7 pesawat. Seiring bergeraknya pesawat, DA-nya bisa berganti. Hal ini dilakukan untuk mencegah kehilangan komunikasi dengan pesawat yang mungkin terjadi jika DA berikutnya dicegah mempersiapkan koneksi sebelumnya. Penentuan DA berikutnya dilakukan dengan pengiriman pesan CPDLC. c. Down Stream Clearance adalah fungsi yang menyediakan suatu pesawat untuk mengontak sebuah unit ATS yang bukan merupakan DA-nya saat itu untuk melakukan pembersihan down stream. d. Ground Forward menyediakan kemampuan
pada DA untuk
meneruskan informasi yang diterima dalam bentuk CPDLC ke stasiun darat lain. Biasanya pesan diteruskan dari current DA ke next DA. Hal ini dilakukan untuk mencegah peenuhan permintaan oleh kedua DA. 4) Flight Information Service (FIS) Aplikasi FIS memungkinkan seorang pilot dari sebuah pesawat terbang yang beroperasi untuk meminta dan menerima layanan FIS dari sebuah sistem FIS di darat. Layanan yang diberikan adalah informasi mengenai informasi mengenai keadaan terminal, informasi peringatan ke petugas udara, informasi jarak pandang di jalur lepas landas, informasi cuaca dan meteorologi, serta informasi lainnya. 5) ATS Message Handling Service (ATSMHS) ATS Message Handling Service atau yang lebih sering disebut dengan ATS Message Service memungkinkan pesan ATS dipertukarkan antara pengguna layanan. Aplikasi ATSMHS terdiri dari dua jenis aplikasi yakni ATS Message Service dan ATN Pass-Through Service. ATS message service adalah sebuah aplikasi yang memberikan layanan penyimpanan dan penerusan (store-andforward) pesan ke jaringan internet ATN sedangkan ATN pass-through service memberikan layanan transmisi pesan pada jaringan internet ATN dan AFTN (Aeronautical Fixed Telecommunication Network). 6) Inter-Center Communication (ICC) Merupakan pengembangan dari ATS Interfacility Data Communication (AIDC) yang kemudian distandarisasi oleh ISO. Dengan demikian, sebuah aplikasi ICC harus dapat memfasilitasi fungsionalitas – fungsionalitas AIDC,
II-8 yakni memberikan layanan operasional berupa notifikasi penerbangan, koordinasi penerbangan, transfer kontrol eksekutif, transfer komunikasi, transfer data pemantauan (surveillance data), dan transfer data generik melalui pesan teks. Berikut merupakan gambaran konseptual dari layer aplikasi dan komponen AE yang menyusunnya .
Gambar 2.3 Gambar Konseptual Application Layer
2.1.2
Komponen ATN
ATN memiliki 3 Komponen utama yakni End System, Intermediate System (ATN router) dan Subnetwork. Gambar 2.4 berikut memberikan ilustrasi yang lebih jelas dari komponen – komponen dasar ATN.
Gambar 2.4 Ilustrasi Komponen ATN
II-9 Dari gambar diatas bisa disimpulkan bahwa : a. Suatu ES merupakan induk dari aplikasi – aplikasi layanan yang ada dalam ATN, ES juga merupakan tempat diimplementasikannya Upper Layer Protocol Stack (Session, Presentation dan Aplication Layer) yang digunakan untuk berkomunikasi dengan ES yang lain. b. ATN Router bertugas untuk menghubungkan berbagai subnetwork yang ada. ATN
Router
ini
disebut
juga
dengan
Intermediate
System
yang
mengimplementasikan 3 layer dasar dari OSI model. c. Subnetwork merupakan bagian dari jaringan komunikasi tapi bukan bagian dari ATN.subnetwork didefinisikan sebagai jaringan komunikasi independen yang berbasiskan teknologi tertentu yang digunakan untuk melakukan pertukaran informasi antara komponen ATN lainnya.
2.2 Routing 2.2.1
Definisi dan Gambaran Umum
Routing merupakan proses pemindahan informasi melalui sebuah internetwork dari suatu sumber ke sebuah tujuan [CIS08]. Biasanya informasi dikirim dalam bentuk paket data. Internet mengunakan model routing hop-by-hop, yaitu setiap host atau router yang memproses paket mengamati dan mencatat kemana paket dikirimkan kemudian meneruskan paket tersebut ke hop selanjutnya yang akan membawa paket semakin dekat menuju tujuan. Proses ini diulang terus menerus hingga paket tiba di tempat tujuan. Routing memerlukan dua buah komponen untuk menjalankan fungsinya: 1. Routing Tables Merupakan tabel yang tersimpan dalam router, yang berfungsi menyimpan informasi jalur yang menuju ke tujuan jaringan yang khusus 2. Routing Protocols Merupakan
sebuah
protokol
yang
memungkinkan
routing
dengan
menggunakan algoritma routing tertentu untuk menentukan jalur terbaik yang ada antara host sumber dengan host tujuan.
II-10 2.2.2
Routing Protocols
Routing Protocols merupakan komponen yang diperlukan dalam proses routing yang berfungsi mencari jalur routing yang terbaik dari node asal menuju tujuan dengan menggunakan algoritma routing. Secara umum, algoritma routing dibagi menjadi dua bagian [TAN03]:
Non-adaptive algorithms / static routing Algoritma routing ini tidak mendasari keputusan jalur routing yang diambilnya dari perkiraan ataupun pengukuran lalu lintas dan topologi terkini dari jaringan. Pengambilan keputusan dilakukan secara offline kemudian dijalankan pada router pada saat jaringan online.
Adaptive algorithms / dynamic routing Sesuai dengan namanya, penentuan jalur routing dalam algoritma ini didasarkan pada kondisi terkini dari jaringan. Adaptive algorithms akan merubah kebijakan routing yang telah ada sebagai respon terhadap perubahan yang terjadi dalam jaringan, baik itu perubahan topologi (contoh: lahir/matinya sebuah node) ataupun perubahan lalu lintas.
Dari dua macam algoritma routing diatas, ada beberapa algoritma yang cukup dikenal diantaranya 2.2.2.1 Shortest Path Routing Shortest Path Routing merupakan algoritma routing yang paling sederhana. Algoritma ini digolongkan kedalam kelompok pertama, yakni non-adaptive algorithm atau static routing. Ide dasar dari algoritmanya yaitu mencari jalur terpendek dari satu simpul ke simpul yang lain. Algoritma ini memodelkan permasalahan kedalam bentuk graf. Untuk kasus jaringan, simpul merepresentasikan router dan sisi merepresentasikan hubungan antar router. 2.2.2.2 Flooding Flooding adalah salah satu jenis algoritma statik yang menyebarkan paket data dengan prinsip, setiap paket yang datang dikirim keseluruh tetangga kecuai tetangga tempat paket itu berasal. Dengan prinsip seperti di atas, jelas bahwa flooding akan mengakibatkan duplikasi paket dalam jumlah yang sangat banyak bahkan tak terhingga jika tidak dilakukan suatu mekanisme untuk mengelolanya.
II-11 Salah satu cara yang bisa dilakukan untuk menekan jumlah duplikasi paket data adalah dengan menggunakan hop counter. Hop counter dikurangi setiap paket data melompat ke hop berikutnya dan paket data dihancurkan ketika hop counter bernilai nol. Hop counter biasanya diisi dengan jumlah hop dari node asal ke tujuan jika dketahui atau panjang diameter dari area pada kasus terburuk. Cara lain yang bisa dilakukan adalah dengan tetap merekam jejak setiap paket untuk mencegah mengirimkan paket yang sama dua kali. Untuk mencapai tujuan itu, router asal memberikan sequence number pada setiap paket yang mereka terima dari node. Oleh karena itu, setiap router akan membutuhkan list untuk setiap router asal yang berisi informasi paket data mana yang sudah sampai. Jika sebuah paket yang datang ada dalam list maka paket tersebut tidak dilanjutkan[TAN03]. 2.2.2.3 Distance Vector Routing Distance vector routing digolongkan menjadi adaptive algorithms atau dynamic routing karena pembentukan jaringan dilakukan tidak hanya di awal inisiasi jaringan saja. Secara berkala router melakukan update informasi topologi. Pada algoritma ini setiap router memiliki table routing yang berisi jalur keluar yang dikehendaki menuju tujuan dan perkiraan waktu atau jarak ke tujuan tersebut [TAN03]. Dalam algoritma ini biasanya diasumsikan bahwa router mengetahui jarak ke setiap tetangga. Jarak yang dimaksud disini umumnya berupa jumlah hops, time delay atau kepadatan lalu lintas paket pada jalur. Prinsip dasar dari cara kerja algoritma distance vector routing yakni setiap router memberikan informasi kepada setiap tetangganya tentang routing table yang dimiliki. 2.2.2.4 Link State Routing Link State Routing dikembangkan untuk menggantikan distance vector routing. Konsep dasar algoritma ini yaitu setiap router menerima peta keterhubungan jaringan berupa graf yang menunjukkan hubungan antar node pada jaringan. Setiap router melakukan perhitungan untuk mencari hop selanjutnya menuju setiap tujuan yang mungkin dalam jaringan [TAN03]. Kumpulan informasi hop terbaik membentuk tabel routing bagi router tersebut. Perbedaan link state routing dengan distance vector routing adalah mengenai informasi yang diberikan kepada router lain. Distance vector routing memberikan
II-12 tabel routing ke routing tetangga sementara link state routing hanya memberikan informasi yang diperlukan untuk pembentukan tabel routing bagi router. 2.2.2.4.1
Algoritma Shortest Path First
Algoritma SPF merupakan satu dari dua algoritma yang cukup popular untuk digunakan dalam penentuan jalur terbaik oleh routing protocol. Algoritma yang kedua merupakan algoritma Bellman-Ford. Pada algoritma SPF, seluruh node diharapkan memiliki informasi topologi yang lengkap. Oleh karena itu, seluruh node dalam satu area akan memiliki basis data link-state yang identik. Basis data link state ini berisi informasi link state dari seluruh node dalam area tersebut[MAR02]. Keuntungan dari algoritma SPF ini adalah memperkecil resiko routing loop. Routing loop merupakan permasalahan yang terjadi ketika link yang akan digunakan tidak lagi tersedia karena link tersebut down. Permasalahan ini jarang muncul dalam SPF karena SPF menggunakan paket-paket link state (atau untuk kasus ATN, Link State PDU) yang disebarkan baik secara periodik ataupun ketika terjadi perubahan topologi untuk memperbaharui basis data link-state mereka. Namun kekurangan dari algoritma ini terdapat pada penggunaan sumber daya untuk menyimpan basis data link-state. 2.2.2.4.2
Operasi SPF
Subbab ini menunjukkan contoh bagaimana algoritma SPF beroperasi dalam graf berarah G = (N, L) dengan node s sebagai node reference yang berada dalam himpunan N dimana:
N = himpunan node
L = himpunan hubungan antar node (arc)
d(i, j) = jarak antara node i dengan j dengan d(i,j) = tak terhingga jika tidak ada hubungan langsung antara i dan j.
P = himpunan node yang jalur terpendek dari node s sudah dihitung.
L(n) = biaya atau cost terrendah dari s ke n saat ini.
Algoritma ini menentukan jalur terdekat dari node reference s ke seluruh node lain dalam graf. Secara umum, terdapat tiga langkah utama dalam algoritma ini, yakni :
II-13 1. Inisialisasi Langkah pertama merupakan fase insialisasi. Karena algoritma ini bersifat iteratif, setiap iterasi ditandai dengan pertambahan nilai i. pada fase insialisasi ini i diberi nilai 0. Komputasi dilakukan relatif terhadap node reference S. tiga list yang berbeda digunakan dalam pengoperasian algoritma ini. -
Unknown (U), himpunan node yang belum diproses.
-
Tentative (T), himpunan node yang sedang diproses.
-
Paths (P), himpunan node yang jalur terpendeknya sudah selesai dihitung.
Pada inisialisasi (i=0), node reference s dimasukkan dalam list P sehingga P0 = {s}. Node sisanya dimasukkan dalam list U. biaya dari s ke dirinya sendiri, L(s) adalah 0. 2. Pemilihan node berikutnya Pada langkah kedua, algoritma akan menentukan node terdekat berikutnya ke node s dari list T, mencatat biaya dan hop selanjutnya dan kemudian memasukkan node tersebut ke himpunan P. sebelum itu, hanya node yang terhubung langsung ke s yang dipindahkan dari list U ke list T. node dengan biaya terrendah dimasukkan ke P. ketika suatu node dimasukkan ke P, seluruh node yang terhubung langsung dengan node tersebut dimasukkan kedalam T untuk dihitung juga (jika mereka belum masuk ke T). 3. Update jalur terpendek Dalam langkah terakhir, biaya terrendah dari s ke setiap node dalam list T diperbaharui relatif terhadap node yang baru saja dimasukkan ke dalam list P. biaya terrendah yang sudah dicatat hanya diganti jika biaya yang dihasilkan dari node terbaru di list P lebih rendah. Kemudian algoritma melakukan iterasi selanjutnya dengan kembali ke langkah kedua lalu langkah ketiga sampai semua node dipindahkan ke dalam list P. jumlah iterasi yang dilakukan adalah sebanyak jumlah node.
2.3 IS-IS Routing Protocol Berdasarkan gambar 2.1 dan penjelasan mengenai network layer pada subcbab 2.1, bisa kita ketahui bahwa dalam network layer terdapat protokol routing. Protokol routing di dalam ATN ini mendukung komunikasi data untuk tipe CLNP terutama dalam masalah routing. Ada tiga jenis protokol routing dasar didalam ATN yang
II-14 memungkinkan sistem yang bertetangga untuk melakukan pertukaran informasi. Tiga jenis routing protokol itu adalah: -
End System to Intermediate System (ES-IS) Routing Protocol disebut juga sebagai Routing Exchange Protocol, diatur dalam ISO 9542. Protokol ini digunakan untuk pertukaran informasi routing antara ES dengan router (IS).
-
Intermediate System to Intermediate System (IS-IS) Routing Protocol disebut juga Intra-Domain Routeing Exchange Protocol, diatur dalam ISO 10589. Protokol ini digunakan untuk melakukan pertukaran informasi antara router yang terhubung dalam satu routing domain.
-
Inter-Domain Routing Protocol (IDRP), diatur dalam ISO 10747. Protokol ini digunakan untuk pertukaran informasi antara router yang terhubung dalam routing domain yang berbeda.
Seperti telah disebutkan sebelumnya, IS-IS diatur dalam ISO 10589. Standarisasi ini ditujukan untuk mendukung routing domain yang besar yang terdiri dari kombinasi berbagai tipe subnetwork atau media transfer, termasuk diantaranya point-to-point, multipoint, X.25 subnetwork dan broadcast subnetwork. Oleh karena itu, intradomain routing diorganisasikan dengan pendekatan hierarkis seperti terdapat pada gambar 2.5.
Gambar 2.5 Hierarki Jaringan dalam satu domain
II-15 Seperti ditunjukkan pada gambar 2.5 diatas, suatu domain terbagi menjadi beberapa area yang pada contoh diatas terbagi menjadi tiga area yakni area 47, area 12 dan area 11. Sebuah sistem menempati tepat satu area. Routing yang dilakukan dalam satu area disebut dengan Level 1 routing. Routing yang dilakukan antara dua area berbeda disebut sebagai Level 2 routing[ISO02]. Contoh kasus untuk menunjukkan perbedaan keduanya adalah, jika suatu PDU ditujukan kepada area yang berbeda, Level 1 IS meneruskan PDU tersebut ke Level 2 IS terdekat. Kemudian PDU itu akan dipindahkan ke area yang dituju melalui level 2 routeing sampai berada di area yang tepat. Setelah berada di area yang tepat, PDU itu diteruskan ke sistem tujuannya dengan Level 1 routing. 2.3.1
IS-IS Routing Protocol dalam ATN
Dalam ATN, IS-IS Routing Protocol (selanjutnya akan disebut dengan IS-IS) merupakan protokol yang berada pada network layer dan mengatur hubungan antara IS yang berada dalam satu routing domain. Untuk memberikan ilustrasi yang lebih jelas, gambar 2.6 menggambarkan posisi seluruh routing protokol dalam ATN. Pada gambar 2.6, IS-IS ditunjukkan oleh garis putus2 kecil dan garis tebal, yang pada legendanya disebut sebagai Level 1 IS-IS routeing dan Level 2 IS-IS routeing.
Gambar 2.6 Posisi IS-IS pada ATN
II-16 2.3.2
Tipe Sistem
Ada beberapa system yang didukung dalam protokol ini, yaitu: -
End Systems: sistem ini mengirimkan PDU ke sistem lain dan menerima PDU dari sistem lain. Sistem ini juga merupakan induk dari aplikasi-aplikasi didalam ATN dan mengimplementasikan seluruh layer dalam ATN.
-
Level 1 Intermediate Systems: Sistem ini mengirimkan dan menerima PDU dari sistem lain kemudian meneruskan (relay) PDU-PDU tersebut ke sistem yang dituju. Sistem ini melakukan fungsi routing secara langsung untuk PDU yang memiliki tujuan didalam area sendiri dan meneruskan PDU ke level 2 Intermediate System jika tujuannya berada di area lain.
-
Level 2 Intermediate Systems: sistem ini bertindak seperti level 1 IS namun memiliki fungsi tambahan untuk bertindak sebagai sebuah sistem dalam subdomain yang berisi beberapa level 2 IS. Sistem ini melakukan fungsi routing didalam areanya sendiri dan juga untuk routing domain lain.
Selain ketiga jenis sistem diatas, terdapat juga satu jenis node lain yakni pseudonode yang dibuat untuk merepresentasikan jaringan pada broadcast subnetwork.
Gambar 2.7 Penggunaan pseoudonode untuk mewakili LAN
Untuk menunjang fungsi – fungsi yang harus dilakukan pseudonode tersebut, salah satu IS diberi tugas tambahan seperti meng-generate Link State PDU. IS ini disebut sebagai designated IS. Gambar 2.6 menunjukkan ilustrasi pseudonode. 2.3.3
Tipe Subnetwork
Ada dua jenis subnetwork yang didukung pada protokol IS-IS ini, yakni broadcast subnetwork dan general topology subnetwork. 2.3.3.1 Broadcast subnetworks Sebuah subnetwork yang mendukung network entity, baik end sistem dan intermediate sistem dalam jumlah yang tidak dibatasi. Subnetwork ini memiliki
II-17 kemampuan untuk melakukan pengalamatan terhadap sebuah kelompok dari sistem yang terhubung (attached) satu sama lain dengan menggunakan sebuah NPDU. Contoh dari subnetwork ini adalah LAN (ISO 8802-3). 2.3.3.2 General topology subnetworks Subnetwork yang mendukung jumlah network entity yang tidak dibatasi juga, namun tidak mendukung fasilitas pengiriman dengan banyak tujuan seperti pada broadcast subnetwork. Ada beberapa tipe dari general topology subnetwork: 1) Multipoint link: link ini merupakan link yang tercipta antara dua atau lebih dengan salah satu menjadi primary system dan sisanya merupakan secondary/slave system. Primary sistem mampu untuk melakukan komunikasi langsung dengan secondary system yang manapun namun secondary system secondary system tidak dapat berkomunikasi secara langsung diantara mereka. 2) Permanent point-to-point link: ini merupakan link yang tetap tersambung sepanjang waktu (kecuali dimatikan atau rusak). 3) Dynamically established data link (DED): ini merupakan link yang melalui fasilitas connection oriented seperti jaringan X.25, X.21, ISDN, atau PSTN. 2.3.4
Sistem Penamaan dan Pengalamatan
Sistem penamaan dan pengalamatan yang digunakan pada ATN mengacu pada model referensi OSI (ISO 7498-3). Prinsip ini digunakan karena mendukung identifikasi objek informasi dan standarisasi pengalamatan global yang bersifat unik dan tidak ambigu[DOC97] Konsep nama (name) dan alamat (address) pada dasarnya bisa dibedakan atas tujuannya. Nama digunakan untuk mengidentifikasi sebuah objek, sedangkan alamat digunakan untuk menentukan lokasi objek tersebut. Berdasarkan tujuannya untuk mengidentifikasi objek, nama biasanya memiliki arti dan oleh karena itu biasa diekspresikan dalam bentuk mnemonik. Sementara alamat diekspresikan dengan bentuk numerik agar memudahkan pemrosesan oleh mesin. Kemudian, untuk memastikan bahwa nama dan alamat ini tidak ambigu, mereka harus didaftarkan oleh
II-18 otoritas pendaftaran dilingkungan dimana mereka akan digunakan. untuk ATN, otoritas yang berhak menentukan penamaan dan pengalamatan ini adalah ICAO. Berdasarkan ISO 7489-3, nama dan alamat diorganisasikan dalam bentuk struktur hierarki pohon dengan tujuan untuk mengelola jaringan yang besar dan kompleks. Oleh karena itu, Naming/addressing domain bisa didekomposisi menjadi subset yang disebut dengan naming/addressing sub-domain. Puncak dari struktur hierarki ini adalah domain OSI global. Sistem pengalamatan yang digunakan dalam IS – IS intra-domain routing protocol mengacu pada OSI Network Service Access Point Addresses yang dideskripsikan pada ISO 8348. Secara umum, sistem pengalamatan ini adalah sebagaimana yang diilustrasikan pada Gambar 2.8.
Gambar 2.8 Sistem Penamaan dan Pengalamatan menurut ISO 8348
Sistem pengalamatan yang digunakan untuk mengakses layer disebut dengan access point. Jadi, secara berturut – turut berdasarkan layer yang ada, sistem pengalamatan yang dimiliki oleh ATN adalah: Presentation Service Access Point (PSAP) Address, Session Service Access Point (SSAP) Address, Transport Service Access Point (TSAP) Address, dan Network Service Access Point (NSAP) Address.
II-19 Alamat dari sebuah ES ATN akan berupa sebuah string panjang yang terdiri dari beberapa oktet. Jika diilustrasikan, maka alamat yang mengimplementasikan tujuh layer OSI tersebut akan terlihat seperti Gambar 2.9.
Gambar 2.9 Alamat Sebuah ES ATN
Berikut penjelasan dari gambar tersebut: 1. NSAP Address adalah sebuah alamat yang digunakan untuk menentukan lokasi dari sebuah pengguna network service ATN. Nilai yang dimiliki oleh NSAP harus unik dalam konteks seluruh ATN. NSAP address ini berupa string dengan panjang 20 oktet yang terdiri dari dua bagian besar: a. Initial Domain Part (IDP) Bagian ini merupakan bagian yang tetap dari NSAP Address, alamat prefiks ini menunjukkan bahwa jaringan ATN addressing domain merupakan sub-domain dari Jaringan Global OSI Addressing domain. Terdiri atas 3 oktet yang dibagi kedalam dua bagian, yakni: i. AFI Authority Format Identifier, terdiri dari satu oktet string dengan nilai desimal 47. Nilai ini tetap dan ditentukan dalam ISO 8348. ii. IDI Initial Domain Identifier, terdiri dari dua oktet dengan nilai desimal 00 27. Otoritas pengalamatan IDI diatur dalam dokumen ISO dengan otoritas pendaftarannya pada British Standards Institute (BSI).
II-20 b. Domain Specific Part (DSP) DSP ini dibagi kedalam tujuh field alamat yang memungkinkan alokasinya dilakukan dengan pendekatan hierarkis. Ketujuh bagian itu adalah: i. VER (Version) Field version (VER) mengidentifikasikan jenis dari entitas network yang menggunakan NSAP address tersebut. Terdiri dari satu oktet, VER bisa memiliki empat macam nilai dalam format heksadesimal. Nilai yang mungkin bisa dilihat di tabel 2.1 berikut.
Tabel 2.1 Nilai field VER
Nilai field VER
Network Addressing Domain
[0000 0001] / 01
Fixed AINSC NSAP Address
[0100 0001] / 41
Mobile AINSC NSAP Address
[1000 0001] / 81
Fixed ATSC NSAP Address
[1100 0001] / c1
Mobile ATSC NSAP Address
ii. ADM (Administration) Field ADM ini terdiri dari tiga oktet. ADM memiliki nilai dalam heksadesimal dengan kisaran 00 00 00 sampai ff ff ff. Nilai ADM mengindikasikan kode negara berdasarkan ISO, atau
identifier
regional
ICAO,
atau
kode
designator
penerbangan IATA. Otoritas pengalamatan untuk field ADM ini diatur dalam dokumen ICAO 9705. Sedangkan otoritas pendaftaran untuk field ADM ada pada ICAO dan IATA. iii. RDF (Reserved Field) RDF merupakan reserved field yang terdiri dari satu oktet. Nilai field RDF adalah 0 dan dipersiapkan sebagai field
II-21 cadangan
bila
terjadi
amandemen
terhadap
format
pengalamatan pada ATN. iv. ARS (Administrative Region Selector) ARS terdiri dari tiga oktet dengan kisaran nilai antara 00 00 00 hingga ff ff ff dalam heksadesimal. Nilai ARS digunakan untuk mengidentifikasi
routing
domain
dari
sistem
yang
menggunakannya. Nilai ARS diatur dalam dokumen ICAO 9705 dan harus merepresentasikan subdomain dari field ADM. v. LOC (Location) LOC terdiri dari dua oktet dengan kisaran nilai antara 00 00 hingga ff ff dalam heksadesimal. Nilai LOC merepresentasikan area routing dari sistem yang menggunakannya. Nilai LOC juga diatur dalam dokumen ICAO 9705 dan menginduk pada nilai ARS sebagai routing domain-nya. vi. SYS SYS terdiri dari enam oktet dengan kisaran nilai antara 00 00 00 00 00 00 hingga ff ff ff ff ff ff dalam heksadesimal. Nilai SYS-lah yang merupakan nilai unik antara satu sistem dengan sistem lainnya dalam satu area routing pada domain routing yang sama. vii. N-SEL N-SEL terdiri dari satu oktet dengan kisaran nilai antara 00 hingga
ff
dalam
heksadesimal.
Nilai
N-SEL
dapat
merepresentasikan sebuah entitas jaringan (network entity) atau sebuah pengguna layanan jaringan (network service user). Pada NSAP, nilai N-SEL merepresentasikan pengguna network service. 2. NET merupakan nama dari sebuah entitas network layer pada ATN. NET memiliki struktur dan format yang sama persis dengan sebuah NSAP address. Perbedaan antara NSAP dan NET hanya pada nilai N-SEL. Pada NET, nilai N-SEL bernilai 00 yang merepresentasikan entitas network.
II-22 3. TSAP Address digunakan untuk mengidentifikasi dan menentukan lokasi dari sebuah pengguna transport service (transport service user). TSAP terdiri dari NSAP ditambahkan dengan T-SEL. T-SEL merupakan sebuah selektor transport lokal yang terdiri dari satu atau dua oktet. T-SEL sendiri mengidentifikasikan dan menentukan lokasi dari sebuah transport service dalam konteksnya dengan NSAP tertentu dalam sebuah ATN. Nilai T-SEL hanya berlaku dalam lingkup lokal dan tidak memerlukan registrasi global. 4. SSAP Address digunakan untuk mengidentifikasi dan menentukan lokasi dari sebuah pengguna session service (session service user). SSAP terdiri dari TSAP ditambahkan dengan S-SEL. S-SEL merupakan sebuah selektor session lokal yang terdiri dari satu oktet. Nilai S-SEL hanya berlaku dalam lingkup lokal dan tidak memerlukan registrasi global. 5. PSAP Address digunakan untuk mengidentifikasi dan menentukan lokasi dari sebuah pengguna transport service (transport service user). PSAP terdiri dari SSAP ditambahkan dengan P-SEL. P-SEL merupakan sebuah selektor presentation lokal yang terdiri dari satu oktet. Nilai P-SEL hanya berlaku dalam lingkup lokal dan tidak memerlukan registrasi global. Dengan demikian, NSAP, TSAP, dan SSAP dari sebuah sistem tertentu dalam ATN dapat diturunkan dari PSAP-nya dengan memotong selektor yang tidak diperlukan. Sebaliknya, TSAP dan SSAP dapat pula dikonstruksi dari NSAP dengan menambahkan nilai – nilai selektor lokal dalam sistem tersebut. Selain itu, ada pula sistem pengalamatan untuk merujuk kepada subnetwork yang berkomunikasi dengan sebuah network layer. Pengalamatan ini berupa Subnetwork Point of Attachment (SNPA) Address. SNPA digunakan pada elemen – elemen subnetwork dari ATN. Beberapa subnetwork yang mungkin digunakan pada ATN diantaranya mencakup X25 Packet Switched Data Network (PSDN), VDL, Aeronautical Mobile Satelite Service (AMSS) dan radar Mode S. SNPA mengidentifikasikan dan menentukan lokasi dimana sebuah sistem berhubungan pada sebuah subnetwork. Kemudian berdasarkan ISO 10589, IS menginterpretasikan NSAP Address kedalam tiga bagian: Area Address, System ID dan SEL. Interpretasi ini digunakan oleh IS
II-23 untuk melakukan routing. Area Address digunakan oleh Level 2 IS dan System ID digunakan oleh Level 1 IS.
Gambar 2.10 Interpretasi NSAP Address oleh ISO 10589
2.3.5
Protocol Data Unit
Protokol Data Unit (PDU) merupakan paket data yang digunakan untuk melakukan transfer informasi dalam ATN. Pada IS-IS ada tiga jenis PDU: Hello PDU, link-state PDU, dan sequence number PDU. Hello PDU digunakan untuk membentuk adjacency antara
node-node
yang
bertetangga.
Link
state
PDU
digunakan
untuk
mendistribusikan informasi routing. Sementara sequence number PDU digunakan untuk mengontrol distribusi dari link-state PDU dan menyediakan mekanisme untuk sinkronisasi basis data - basis data link-state yang berada dalam router-router dalam routing domain. Ketiga kategori itu memiliki beberapa subkategori sebagai berikut: Subkategori untuk Hello PDU: - Level 1 LAN IS to IS Hello PDU - Level 2 LAN IS to IS Hello PDU - Point-to-Point IS to IS Hello PDU Subkategori untuk Link State PDU: - Level 1 Link State PDU - Level 2 Link State PDU Subkategori untuk Sequence Number PDU: - Level 1 Complete Sequence Numbers PDU - Level 2 Complete Sequence Numbers PDU - Level 1 Partial Sequence Numbers PDU
II-24 - Level 2 Partial Sequence Numbers PDU Pada tugas akhir ini, selain PDU yang digunakan untuk mengelola topologi jaringan yang dijelaskan diatas, akan digunakan juga satu jenis PDU lain sebagai paket data untuk pengujian algoritma yang coba diterapkan yang dijelaskan didalam ISO 8473. Selain itu, dikarenakan fungsionalitas yang akan coba diterapkan hanya pada IS level 1 dan tidak menangani subnetwork dependant functions, maka seluruh PDU untuk Level 2 dan Hello PDU tidak akan dijelaskan lebih lanjut. 2.3.5.1 Struktur Umum PDU Secara umum, PDU terdiri dari header dan dan beberapa field yang berisi informasi spesifik yang berhubungan dengan routing. Terdapat perbedaan struktur untuk tipe PDU yang berbeda, namun delapan field pertama dalam header sama untuk seluruh PDU. Sehingga struktur umum dari PDU yang digunakan dalam IS-IS dapat ditunjukkan pada Gambar 2.11.
Gambar 2.11 Struktur Umum PDU untuk IS-IS
Berikut penjelasan dari masing-masing field:
Intradomain Routing Protocol Discriminator, ini merupakan Network Layer Identifier yang di-assign untuk IS-IS yang diatur dalam ISO 9577. Nilainya adalah 10000011 (binary), 0x83 (hexadecimal), atau 131 (decimal).
II-25
Length Indicator, berisi panjang dari header dalam besaran byte/octet dengan nilai maksimal 254.
Version/Protocol ID Extension, bernilai 1
ID Length, mengindikasikan panjang dari field ID dari NSAP dan NET yang digunakan dalam routing domain yang bersangkutan. Nilai yang mungkin adalah:
o
Integer antara 1 – 8 yang mengindikasikan panjang sesuai nilainya
o
0 mengindikasikan panjang 6 byte/octet
o
255 mengindikasikan panjang 0 byte/octet
PDU Type, berisi informasi mengenai tipe dari PDU, apakah hello PDU, link state PDU atau sequence number PDU. Dari panjang keseluruhan 1 byte/octet, field ini hanya menggunakan bit 1 sampai 5. Bit 6 sampai 8 merupakan bit reserved yang bernilai kosong dan diabaikan pada penerimaan. Tabel 2.2 menunjukkan nilai PDU type untuk masing – masing tipe PDU. Tabel 2.2 PDU Type
Protocol Data Unit
PDU Type
Level 1 LAN IS to IS Hello PDU
15 / 01111
Level 2 LAN IS to IS Hello PDU
16 / 10000
Point-to-Point IS to IS Hello PDU
17 / 10001
Level 1 Link State PDU
18 / 10010
Level 2 Link State PDU
20 / 10100
Level 1 Complete Sequence Numbers PDU
24 / 11000
Level 2 Complete Sequence Numbers PDU
25 / 11001
Level 1 Partial Sequence Numbers PDU
26 / 11010
Level 2 Partial Sequence Numbers PDU
27 / 11011
Version, bernilai 1
Reserved, Bagian ini digunakan sebagai cadangan untuk perubahan terhadap header protokol yang mungkin saja terjadi pada amandemen ISO 10589 di masa depan. Dikirim sebagai nol dan diabaikan di sisi penerima.
Maximum Area Addresses, jumlah Area Address maksimum untuk IS terkait. Nilai yang mungkin adalah 1 – 254 yang menunjukan jumlah area
II-26 yang bisa didukung. Namun khusus nilai 0 menunjukkan maksimum tiga address per area.
Additional Header Fields, bagian ini merupakan bagian yang berbeda pada tiap tipe PDU dan akan dijelaskan lebih lanjut pada subbab-subbab berikutnya.
Variable Length Fields, bagian ini terdiri dari tiga field yakni Code, Length dan Value. Oleh karena itu, bagian ini juga disebut CLV (Code, Length Value) atau option part. Field Code berisi nomor yang mengindikasikan jenis isi dari Variable Length Fields, sementara field Length berisi panjang dan Value merupakan isinya. Ada beberapa nilai yang mungkin untuk bagian ini dan ditunjukkan dalam Tabel 2.3. Tabel 2.3 Tipe Value untuk CLV
Tipe
CLV (Code, Length, Value) Deskripsi
1
Area Addresses
Area Address dari node asal.
Intermediate System
IS – IS tetangga (termasuk pseudonode)
Neighbors
dengan keterangan metric apa saja yang
2
didukung. Terdapat pada LSP 3
4
End System Neighbors
ES yang terhubung, dengan keterangan metric apa saja yang didukung.
Partition Designated Level 2
Level 2 IS yang menjadi jalur perbaikan
Intermediate System
dengan virtual link dari sebuah area yang terpartisi.
5 6 7 8 9 10
Prefix Neighbors
Prefiks dari NSAP yang bisa dijangkau.
Intermediate System
Mencatat 6 oktet MAC address dari IS
Neighbors
yang mengirimkan LAN Hello PDU.
Intermediate System
IS dengan panjang SNPA yang
Neighbors
bervariasi.
Padding
Padding untuk Hello PDU sampai unit transmisi maksimum.
LSP Entries
Informasi link state.
Authentication Information
Informasi digunakan untuk melakukan autentifikasi tempat PDU berasal.
II-27 2.3.5.2 Level 1 Link State PDU Level 1 Links State PDU (LSP) dibuat oleh IS baik itu level 1 maupun level 2 yang kemudian disebarkan keseluruh sistem dalam area tempat IS itu berada. Isi dari link state PDU ini mengindikasikan status dari IS, ES maupun pseoudonode yang bertetangga dengan IS tempat PDU ini berasal. Berikut adalah penjelasan dari bagian Additional Addressing Fields untuk level 1 LSP: a. PDU Length, panjang keseluruhan PDU. b. Remaining Lifetime, jumlah waktu sebelum LSP dianggap kadaluarsa, dalam satuan 500 ms. c. LSP ID, system ID dari asal LSP. Terdiri dari tiga bagian, yakni Source ID, Pseudonode ID dan LSP Number. Source ID merupakan System ID dari IS sumber. Pseudonode ID menunjukkan apakah IS sumber merupakan pseudonode atau bukan, angka 0 menunjukkan bahwa IS sumber bukan pseudonode. LSP Number menunjukkan urutan fragment LSP (jika LSP terlalu besar sehingga harus difragmentasi).
Gambar 2.12 Komposisi LSP ID
d. Sequence Number, sequence number dari PDU yang bersangkutan. Parameter ini digunakan untuk mengontrol proses penyebaran LSP. Memiliki panjang 4 oktet. e. Checksum, checksum dari isi LSP dimulai dari LSP ID sampai dengan akhir. Cata penghitungan checksum akan dijelaskan pada Bab Analisis dan Perancangan bagian Update Process. f. P/ATT/LSPDBOL/IS Type, ada beberapa parameter pada byte/octet ini, yakni: 1. P (Partition), parameter ini terdapat pada bit 8 dan memberitahukan apakah sumber dari LSP mendukung partisi atau tidak. 2. ATT (Attached), parameter ini terdapat pada bit 4 sampai 7. Parameter ini berisi informasi mengenai metric mana yang digunakan
II-28 oleh IS. Bit 4 untuk default metric, bit 5 untuk delay metric, bit 6 untuk expense metric dan bit 7 untuk error metric. 3. LSPDBOL (Link State PDU Database Overload), terdapat pada bit 3 dan mengindikasikan apakah terdapat overload basis data atau tidak. 0 jika tidak ada dan 1 jika ada. 4. IS Type, memberitahu jenis IS dari asal LSP, 1 (bit 1 diset) untuk Level 1 IS dan 3 (bit 1 dan 2 diset) untuk level 2 IS. Pada bagian CLV, PDU tipe ini mendukung untuk CLV tipe 1, 2, 3 dan 10. Secara keseluruhan, struktur Level 1 Link State PDU dapat dilihat pada Gambar 2.13.
Gambar 2.13 Level 1 Link State PDU
2.3.5.3 Level 1 Complete Sequence Numbers PDU Pada Level 1 Complete Sequence Numbers PDU (CSNP), isi dari Additional Header Fields terdiri dari: a. PDU Length, panjang keseluruhan PDU. b. Source ID, parameter ini menunjukkan IS yang menciptakan CSNP. Pada point-to-point link, parameter ini diisi dengan System ID dari kedua sisi link. Pada broadcast link, parameter ini diisi dengan System ID dari Designated IS. c. Start LSP ID, LSP ID dari LSP pertama yang berada dalam lingkup CSNP. d. End LSP ID, LSP ID dari LSP terakhir yang berada dalam lingkup CSNP.
II-29 Pada bagian CLV, PDU tipe ini mendukung untuk CLV tipe 9 dan 10. Secara keseluruhan, struktur Level 1 Complete Sequence Numbers PDU dapat dilihat pada Gambar 2.14.
Gambar 2.14 Level 1 Complete Sequence Numbers PDU
2.3.5.4 Level 1 Partial Sequence Numbers PDU Level 1 Partial Sequence Numbers PDU (PSNP) pada umunya tidak berisi seluruh LSP dari source IS. PSNP merupakan pelengkap bagi CSNP pada proses sinkronisasi basis data. PSNP memiliki dua fungsi utama, yakni:
IS menggunakan PSNP sebagai ACK atas penerimaan satu atau lebih LSP pada point-to-point link.
IS meminta pengiriman LSP yang hilang menggunakan PSNP.
Pada Level 1 Partial Sequence Numbers PDU, isi dari Additional Header Fields terdiri dari: a. PDU Length, panjang keseluruhan PDU. b. Source ID, parameter ini menunjukkan IS yang menciptakan CSNP. Pada point-to-point link, parameter ini diisi dengan System ID dari kedua sisi link. Pada broadcast link, parameter ini diisi dengan System ID dari Designated IS.
II-30 Pada bagian CLV, PDU tipe ini mendukung untuk CLV tipe 9 dan 10. Secara keseluruhan, struktur Level 1 Partial Sequence Numbers PDU dapat dilihat pada Gambar 2.15.
Gambar 2.15 Level 1 Partial Sequence Numbers PDU
2.3.5.5 ISO 8473 PDU ISO 8473 PDU merupakan PDU yang akan digunakan untuk pengujian dari hasil implementasi. Struktur dari ISO 8473 PDU (selanjutnya akan disebut sebagai data PDU) dapat dilihat pada gambar 2.16 berikut. Segmentation part dan option part tidak akan diimplementasikan karena merupakan bagian yang bersifat opsional dan hanya digunakan sebagai paket data uji. Berikut penjelasan masing-masing bagian:
Gambar 2.16 Struktur ISO 8473 PDU
II-31 2.3.5.5.1
Fixed Part
Berikut adalah penjelasan dari bagian – bagian di dalam fixed part:
Network layer protocol identifier, nilai dari field ini di set ke 10000001 (binary) atau 129 (decimal) untuk mengindikasikan network protokol yang digunakan yakni CLNP.
Length Indicator, berisi panjang dari header dalam besaran byte/octet dengan nilai maksimal 254.
Version/Protocol ID Extension, bernilai 1 untuk mengidentifikasi versi standard pertama untuk protokol ini.
PDU lifetime, merepresentasikan jumlah waktu sebelum data PDU dianggap kadaluarsa dalam satuan 500 ms.
Flags o
Segmentation permitted (SP), jika nilainya satu berarti segmentasi diperbolehkan dan jika
bernilai nol
maka
segmentasi tidak
diperbolehkan. o
More segment (MS), jika bernilai satu, artinya PDU ini bukan segmen terakhir dan masih akan ada segmen lain yang nantinya harus disambungkan. Jika bernilai nol, artinya segemen tersebut merupakan segmen terakhir dari data PDU.
o
Error report (E/R), Jika bernilai satu maka ketika PDU ini akan dibuang Error Report harus dibuat sebagai notifikasi ke entitas network asal. Jika nol maka notifikasi tidak perlu dibuat.
Type code, menunjukkan tipe PDU. Untuk Data PDU nilainya 11100.
Segment length, panjang dari header ditambah dengan data part.
Checksum, digunakan untuk mendeteksi error pada header. Jika nilainya nol, maka nilai checksum diabaikan.
2.3.5.5.2
Address Part
Address part, yang masih termasuk kedalam bagian dari header PDU terdiri dari:
II-32
Destination address length indicator, field ini berisi panjang dari alamat tujuan. Nilainya bisa bervariasi, tergantung dari pengkodean alamat pada network protocol.
Destination address, field ini berisi alamat dari entitas network yang dituju oleh PDU.
Source address length indicator, field ini berisi panjang dari alamat asal PDU. nilainya juga bervariasi, seperti pada destination address length indicator.
Source address, field ini berisi alamat dari entitas network tempat PDU berasal.
2.3.5.5.3
Data Part
Data part merupakan bagian dimana data yang ingin dikirim oleh user disimpan. Bagian ini memiliki panjang yang bervariasi bergantung dari besarnya data yang ingin dikirim. Dari ketiga bagian diatas, jika digabungkan, akan menghasilkan struktur PDU seperti pada gambar 2.17.
Gambar 2.17 Struktur ISO 8473 PDU yang akan digunakan
II-33 2.3.6
Error Control
Dalam setiap jenis transmisi, diperlukan suatu fungsi error control untuk memastikan paket data yang dikirim sampai dengan benar. Fungsi error control ini disebut juga dengan fungsi checksum. Fungsi checksum yang digunakan didalam jaringan ATN ini telah didefinisikan pada ISO 8473. Rumus yang digunakan adalah:
………(R 2.1)
………(R 2.2)
2.4 Linux Dalam tugas akhir ini, protokol akan diimplementasikan sebagai modul yang dapat digunakan oleh kernel linux. Sehingga dalam sub bab ini akan dijelaskan sekilas tentang Linux. Linux merupakan terminologi yang digunakan untuk mendeskripsikan kernel sistem operasi yang dikembangkan oleh Linus Torvalds pada tahun 1991. Namun, seiring berjalannya waktu terminologi Linux telah berkembang menjadi lebih dari sekedar kernel, namun menjadi system operasi yang lengkap yang mencakup kernel sistem operasi, program – program sistem (library, compiler), GUI, window manager, lingkungan aplikasi (Gnome, KDE) dan aplikasi dari berbagai bidang (aplikasi perkantoran, IDE, browser internet, game dan lain lain). 2.4.1
Struktur Kernel Linux
Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugas utama dari kernel adalah melayani berbagai program aplikasi untuk mengakses perangkat keras secara aman.
II-34
Gambar 2.18 Struktur Kernel Linux
Sebuah kernel Linux dapat dibagi kedalam lima bagian yang berbeda. Kelima bagian ini memiliki fungsionalitas yang berbeda satu sama lain dan dapat menaw menawarkan layanan tersebut rsebut kepada komponen lainnya. Organisasi ini juga dapat dilihat pada source code kernel Linux dimana setiap bagian tersebut distrukturkan dalam sebuah sub pohon sendiri. Kelima bagian ini disebut sebagai komponen kernel dan dengan jelas dipaparkan pada gambar 2.18 diatas. Berikut penjelasan an secara singkat tentang kelima komponen ini: 1. Process management Merupakan komponen yang bertanggung jawab terhadap pengelolaan proses – proses didalam kernel termasuk pembuatan dan terminasi proses – proses dan aktivitas lainnya. Scheduler merupakan bagian utama dari komponen process management. Sesuai namanya, Scheduler bertugas menangani semua proses, baik yang sedang aktif, menunggu, menu maupun yang diblok. 2. Memory management ment Komponen memory management bertanggung jawab mengelola alokasi memori sehingga tidak ada alokasi memori bagi suatu proses untuk diakses oleh proses lainnya.
II-35 3. File system File system merupakan sebuah komponen yang memegang peran penting pada Linux. Tidak hanya berfungsi memberi abstraksi terhadap data yang disimpan pada device penyimpanan data seperti pada sistem operasi Windows, file system pada Linux mengelola hampir seluruh sumber daya pada sistem operasi tersebut. Driver bagi device merupakan contoh dari sekian banyak sumber daya penting lain yang dapat dikelola melalui file system pada Linux. 4. Device drivers Device drivers memberikan abstraksi terhadap perangkat keras yang mendasari sebuah sistem operasi. Device drivers ini juga yang memberikan akses terhadap perangkat keras. 5. Network Dalam komponen inilah protokol ATN berjalan. Komponen network terdiri dari dua bagian yakni hardware support dan software support. Hardware support menyerupai device driver yakni driver namun khusus untuk mendukung perangkat
keras
yang
berhubungan
dengan
networking.
Sedangkan software support berupa protokol – protokol untuk jaringan seperti protokol dari ISO 10589 (IS-IS), ISO 9542 (REP), dan ISO 8473 (CLNP). 2.4.2
Modul Kernel
Kernel linux menggunakan arsitektur kernel monolitik. Kernel monolitik menjalankan keseluruhan fungsionalitas yang telah dijelaskan di sub bab sebelumnya didalam dirinya. Pendekatan lainnya, yakni kernel dengan arsitektur microkernel, memiliki cirri yang sangat berbeda. Pada mikrokernel, hanya fungsionalitas – fungsionalitas tertentu yang dimasukkan sebagai bagian dari kernel. Fungsonalitas lainnya diimplementasikan sebagai proses atau thread independen yang berjalan di luar kernel sistem operasi. Pendekatan monolitik memiliki kelebihan dan kekurangan. Kelebihannya adalah kernel ini berjalan lebih efisiensi karena sumber daya bisa diakses langsung dari kernel sehingga bisa meminimalisir operasi yang memakan biaya (baik resource ataupun waktu) lebih besar seperti system call. Kekurangan utama kernel tipe ini adalah source code dari sebuah kernel monolitik
II-36 dapat menjadi sangat besar dan kompleks karena tidak adanya antarmuka yang didefinisikan di dalam kernel. Hal ini berdampak pada sulitnya pengembangan driver baru. Untuk bisa memasukkan driver baru, codenya harus dimasukkan langsung kedalam kernel dan kemudian kernel harus dikompilasi (compile) ulang agar driver tersebut menjadi bagian dari kernel. Meski demikian, kekurangan ini telah bisa ditangani dengan dikembangkannya antarmuka untuk beberapa fungsional. Pengembangan antarmuka ini dilakukan sejak dari kernel linux versi 2.0. antarmuka yang paling berguna untuk penambahan fungsionalitas kernel linux adalah pengembangan antarmuka untuk modul. Antarmuka ini memungkinkan kita untuk menambahkan fungsionalitas baru dalam bentuk modul sehingga kernel tidak perlu dikompilasi ulang agar bisa menjalankan fungsionalitas barunya. Tabel 2.5 berikut menjelaskan antarmuka yang terdapat pada kernel Linux versi 2.0 keatas. Dengan sistem modularisasi ini, fungsionalitas dapat ditambahkan kedalam kernel pada saat runtime seolah – olah fungsionalitas tersebut sudah dimiliki kernel sejak kernel mulai berjalan. Modul kernel dapat digunakan pada empat komponen dari kernel yakni: device drivers, file systems, network protocols dan network drivers. Tabel 2.4 Antarmuka pada Kernel Linux
Fungsionalitas
Fungsi untuk Registrasi Dinamis
Character devices
(un)register_chrdev( )
Block devices
(un)register_blkdev( )
Binary formats
(un)register_binfmt( )
File systems
(un)register_filesystems( )
Serial interfaces
(un)register_serial( )
Network adapters
(un)register_netdev( )
Layer-3 protocols
dev_add_pack ( ) dev_remove_pack ( )
Console drivers
tty_(un)register_driver( )
Symbol tables
(un)register_symtab( )
Modules
init_module ( ) remove_module ( )
II-37 2.4.3
Implementasi Arsitektur Network pada Linux
Arsitektur network pada Linux menggunakan model layer-based based communication communication. Dengan model ini, sistem komunikasi dikembangkan sebagai sebuah arsitektur berlapis dimana setiap lapisan memiliki tugas spesifik dan mengerjakan tugas tersebut dalam bentuk pemberian layanan. Gambar 2.18 2. menunjukkan sebuah model layerbased communication. Mengacu pada gambar 2.19, 2.19 komunikasi antara dua instansiasi iasi dari lapisan – lapisan yang sama pada mesin yang berbeda diatur melalui seperangkat aturan yang ditentukan sebelumnya. Aturan – aturan ini disebut sebagai protocol (protokol). Seperangkat fungsi juga diatur untuk memberikan keterhubungan antara tiap llapisan dalam satu mesin. Fungsi – fungsi ini diberikan dalam bentuk service (layanan). Model ISO/OSI dan TCP/IP menggunakan arsitektur layer-based based communication ini.
. Gambar 2.19. Model Layer-Based Communication
Dengan demikian, setiap data dalam sebuah layer-based based communication mendapatkan modifikasi baik secara horizontal pada suatu lapisan maupun secara vertikal antara satu lapisan dengan lapisan lainnya. Abstraksi proses ini i i dapat dilihat pada Gambar 2.20.
II-38
Gambar 2.20. Unit Data dalam Komunikasi Vertikal dan Horizontal 1
2
Berikut adalah penjelasan dari gambar diatas: 1. Protocol Data Unit (PDU) merupakan pesan yang dipertukarkan antara dua instansiasi lapisan untuk mengkoordinasikan perilaku kedua instasiasi tersebut. PDU terdiri dari dua elemen yakni: a. Protocol Control Information (PCI) Mengandung informasi kontrol yang digunakan untuk mengkoordinir dua instansiasi protokol. Disebut juga sebagai header paket. b. Service Data Unit (SDU) SDU mengandung informasi payload yang harus ditransmisikan atas perintah lapisan yang berada lebih tinggi daripada lapisan protokol yang sedang bekerja. SDU pada lapisan N terdiri dari SDU pada lapisan N+1 ditambah dengan PCI pada lapisan N+1, dengan kata lain SDU pada lapisan N adalah PDU dari lapisan N+1. 2. Interface Control Information (ICI) ICI dibuat oleh sebuah instansiasi pada layer N dan kemudian diteruskan ke lapisan yang lebih bawah (N-1). Informasi pada ICI dibutuhkan oleh layanan rendering pada layer N-1. 3. Interface Data Unit (IDU) IDU merupakan gabungan dari PDU dan ICI pada sebuah lapisan N. IDU
II-39 kemudian diberikan kepada lapisan N-1 N 1 pada layanan akses poin dan membentuk basis bagi komunikasi horizontal. 2.4.4
Socket Buffer
Salah satu tugas terpenting dari sub sistem network dalam suatu sistem istem operasi adalah untuk memproses paket data sesuai dengan protokol yang digunakan. Menurut [WEH04], dalam merancang sistem yang seperti ini, fleksibilitas sistem untuk memfasilitasi berbagai protokol memerankan an peranan yang sangat penting. Salah satu alasan utama mengapa implementasi jaringan didalam Linux sangat fleksibel adalah arsitektur dari buffer yang mengelola paket jaringan yang disebut dengan socket buffer. Socket buffer yang merupakan struktur utama dari implementasi jaringan dalam Linux ini merepresentasikan sebuah paket selama paket tersebut diproses didalam kernel baik itu paket yang diterima maupun paket yang dikirim. 2.4.4.1 Struktur Socket Buffer Socket buffer terdiri dari dua bagian, bagian yakni packet data yang merupaka merupakan lokasi dimana paket data disimpan dan management data yang merupakan data tambahan yang dibutuhkan oleh kernel untuk memproses paket data. Gambar 2.21 menunjukkan struktur sebuah socket buffer. buffer
Gambar 2.21 Stuktur Socket Buffer
II-40
Berikut penjelasan beberapa parameter penting dari socket buffer: 1. Parameter next dan prev digunakan untuk menyambungkan socket buffer dalam bentuk antrian. 2. Parameter list menunjuk ke antrian dimana socket buffer berada. Bernilai null jika buffer tidak berada dalam antrian 3. Parameter sk menunjuk ke socket yang menciptakan paket terkait. Pada perangkat lunak di dalam router, parameter ini seharusnya mengacu kepada network adapter driver. 4.
Parameter stamp menunjukkan waktu tiba paket ke dalam sistem Linux.
5. Parameter dev dan rx_dev menunjuk ke network device, dev menyatakan network device tempat socket buffer sedang bekerja. Ketika keputusan ruoting sudah diambil, dev akan menunjuk ke network adapter yang akan digunakan untuk meninggalkan komputer. Selama output adapter belum diketahui, dev akan menunjuk ke input adapter dan rx_dev selalu menunjuk ke notwork device yang menerima paket. 6. Parameter h, nh, dan mac merepresentasikan layer-layer dalam jaringan. h menunjuk ke paket header untuk transport layer, nh untuk network layer dan mac untuk MAC layer. 7. Parameter cloned mengindikasikan apakah suatu struktur socket buffer sebuah klon atau bukan. Perbedaan antara hasil klon dengan bukan terdapat pada bagian paket data. Pada struktur socket buffer hasil klon, paket data menunjuk ke alokasi memori yang sama dengan paket data dari socket buffer sumber klon sementara dalam struktur socket buffer hasil operasi salin memiliki alokasi memori tersendiri untuk paket datanya. 8. Parameter pkt_type menunjukkan tipe dari paket, di antaranya: -
PACKET_HOST,merupakan paket untuk localhost.
-
PACKET_BROADCAST, merupakan paket broadcast.
-
PACKET_MULTICAST, merupakan paket multicast.
-
PACKET_OTHERHOST, merupakan paket untuk host lain.
-
PACKET_OUTGOING, merupakan paket yang meninggalkan host.
-
PACKET_LOOPBACK, merupakan paket untuk diri sendiri.
II-41 9. Parameter len menunjukkan panjang dari paket data yang direpresentasikan oleh socket buffer. 10. Parameter data dan tail menunjuk ke awal dan akhir dari paket data yang valid saat itu. Sedangkan head dan end menunjuk ke awal dan akhir lokasi yang bisa digunakan untuk menyimpan paket data dalam struktur ini. Parameter - parameter lain tidak dijelaskan merupakan parameter yang tidak terlalu signifikan. Lebih jelas mengenai operasi-operasi pada socket buffer, dipaparkan pada lampiran A.