II-1
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 danhigh-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).
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].
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 nodetanpa 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.
2.1.1.3 Transport Layer
Fungsi dasar dari transport layeradalah 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 layerjuga merupakan lapisan dimana percakapan end-to-endbenar – 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 layerdan application layerdalam 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.
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 layerdari 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
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 jenisApplication Entitypada 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 linkantara pilotdan 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
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 currentDA ke nextDA. 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 ATSMessage Service dan ATNPass-Through Service. ATS message serviceadalah sebuah
aplikasi yang memberikan layanan penyimpanan dan penerusan ( store-and-forward) 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,
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.
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
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 algoritmarouting. Secara umum, algoritma routingdibagi 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 routerpada 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 routingdiatas, ada beberapa algoritma yang cukup dikenal
diantaranya
2.2.2.1 Shortest Path Routing
Shortest Path Routingmerupakan algoritma routingyang paling sederhana. Algoritma
ini digolongkan kedalam kelompok pertama, yakni non-adaptive algorithmatau 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.
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
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 statedari seluruh node dalam area tersebut[MAR02].
Keuntungan dari algoritma SPF ini adalah memperkecil resiko routing loop. Routing loopmerupakan permasalahan yang terjadi ketika linkyang akan digunakan tidak lagi
tersedia karena linktersebut 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 datalink-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 ssudah dihitung. L(n) = biaya atau costterrendah dari ske 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
1. Inisialisasi
Langkah pertama merupakan fase insialisasi. Karena algoritma ini bersifat iteratif, setiap iterasi ditandai dengan pertambahan nilai i. pada fase insialisasi ini idiberi 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
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, intra-domain routing diorganisasikan dengan pendekatan hierarkis seperti terdapat pada
gambar 2.5.
Seperti ditunjukkan pada gambar 2.5 diatas, suatu domain terbagi menjadi beberapa
areayang 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 areadisebut dengan Level 1 routing. Routingyang dilakukan antara dua areaberbeda
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.
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
routingdidalam areanya sendiri dan juga untuk routing domainlain.
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
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 orientedseperti 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
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 domainbisa 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
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).
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 fieldADM ada pada ICAO dan IATA.
iii. RDF (Reserved Field)
RDF merupakan reserved field yang terdiri dari satu oktet.
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 fieldADM.
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.
3. TSAP Addressdigunakan 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
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
- 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).
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
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.
2
Intermediate System Neighbors
IS – IS tetangga (termasuk pseudonode) dengan keterangan metricapa saja yang
didukung. Terdapat pada LSP
3 End System Neighbors ES yang terhubung, dengan keterangan
metricapa saja yang didukung.
4
Partition Designated Level 2 Intermediate System
Level 2 IS yang menjadi jalur perbaikan dengan virtual linkdari sebuah area yang
terpartisi.
5 Prefix Neighbors Prefiks dari NSAP yang bisa dijangkau. 6 Intermediate System
Neighbors
Mencatat 6 oktet MAC address dari IS yang mengirimkan LAN Hello PDU. 7 Intermediate System
Neighbors
IS dengan panjang SNPA yang bervariasi.
8 Padding Padding untuk Hello PDU sampai unit
transmisi maksimum.
9 LSP Entries Informasi link state.
10 Authentication Information Informasi digunakan untuk melakukan autentifikasi tempat PDU berasal.
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.
oleh IS. Bit 4 untuk default metric, bit 5 untuk delay metric, bit 6 untuk expense metricdan 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.
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.
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:
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
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.
2.3.6 Error Control
Dalam setiap jenis transmisi, diperlukan suatu fungsi error controluntuk 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.
Sebuah kernel Linux dapat dibagi kedalam lima
ini memiliki fungsionalitas yang berbeda satu sama lain dan dapat menaw layanan tersebut kepada komponen lainnya.
source code kernel Linux dimana setiap bagian tersebut distrukturkan dalam sebuah
sub pohon sendiri. Kelima
jelas dipaparkan pada gambar 2.18 kelima komponen ini:
1. Process management
Merupakan komponen yang bertanggung jawab terhadap proses didalam kernel termasuk
aktivitas lainnya. Scheduler management. Sesuai namanya,
baik yang sedang aktif, menu 2. Memory management
Komponen memory management
memori sehingga tidak ada alokasi memori bagi suatu proses untuk diakses oleh proses lainnya.
Gambar 2.18 Struktur Kernel Linux
Linux dapat dibagi kedalam lima bagian yang berbeda.
ini memiliki fungsionalitas yang berbeda satu sama lain dan dapat menaw rsebut kepada komponen lainnya. Organisasi ini juga dapat dilihat pada
kernel Linux dimana setiap bagian tersebut distrukturkan dalam sebuah Kelima bagian ini disebut sebagai komponen kernel
dipaparkan pada gambar 2.18 diatas. Berikut penjelasan secara singkat tentang
Process management
Merupakan komponen yang bertanggung jawab terhadap pengelolaan proses proses didalam kernel termasuk pembuatan dan terminasi proses
Scheduler merupakan bagian utama dari komponen
Sesuai namanya, Scheduler bertugas menangani semua proses,
baik yang sedang aktif, menunggu, maupun yang diblok.
ment
memory management bertanggung jawab mengelola alokasi
memori sehingga tidak ada alokasi memori bagi suatu proses untuk diakses oleh proses lainnya.
bagian yang berbeda. Kelima bagian ini memiliki fungsionalitas yang berbeda satu sama lain dan dapat menawarkan Organisasi ini juga dapat dilihat pada kernel Linux dimana setiap bagian tersebut distrukturkan dalam sebuah bagian ini disebut sebagai komponen kernel dan dengan an secara singkat tentang
pengelolaan proses – pembuatan dan terminasi proses – proses dan merupakan bagian utama dari komponen process
bertugas menangani semua proses,
mengelola alokasi memori sehingga tidak ada alokasi memori bagi suatu proses untuk diakses
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 systempada 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 systempada 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 threadindependen 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.
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 protocolsdan 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 ( )
2.4.3 Implementasi Arsitektur
Arsitektur network pada Linux menggunakan model
Dengan model ini, sistem komunikasi dikembangkan sebagai
berlapis dimana setiap lapisan memiliki tugas spesifik dan mengerjakan tugas tersebut dalam bentuk pemberian layanan. Gambar 2.
based communication.
Mengacu pada gambar 2.19
yang sama pada mesin yang berbeda diatur melalui seperangkat aturan yang ditentukan sebelumnya. Aturan
Seperangkat fungsi juga diatur untuk memberikan keterhubungan antara tiap l dalam satu mesin. Fungsi
Model ISO/OSI dan TCP/IP menggunakan arsitektur
.
Gambar
Dengan demikian, setiap data dalam sebuah
modifikasi baik secara horizontal pada suatu lapisan maupun secara vertikal antara satu lapisan dengan lapisan lainnya. Abstraksi proses i
2.20.
Implementasi Arsitektur Network pada Linux
Arsitektur network pada Linux menggunakan model layer-based 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 menunjukkan sebuah model
2.19, komunikasi antara dua instansiasi dari lapisan
yang sama pada mesin yang berbeda diatur melalui seperangkat aturan yang ditentukan sebelumnya. Aturan – aturan ini disebut sebagai protocol
Seperangkat fungsi juga diatur untuk memberikan keterhubungan antara tiap l dalam satu mesin. Fungsi – fungsi ini diberikan dalam bentuk service
Model ISO/OSI dan TCP/IP menggunakan arsitektur layer-based communication
Gambar 2.19. Model Layer-Based Communication
Dengan demikian, setiap data dalam sebuah layer-based communication
modifikasi baik secara horizontal pada suatu lapisan maupun secara vertikal antara satu lapisan dengan lapisan lainnya. Abstraksi proses ini dapat dilihat pada
based communication.
sebuah arsitektur berlapis dimana setiap lapisan memiliki tugas spesifik dan mengerjakan tugas tersebut menunjukkan sebuah model
layer-iasi dari lapisan – lapisan yang sama pada mesin yang berbeda diatur melalui seperangkat aturan yang
protocol (protokol).
Seperangkat fungsi juga diatur untuk memberikan keterhubungan antara tiap lapisan
service (layanan). based communicationini.
based communicationmendapatkan
modifikasi baik secara horizontal pada suatu lapisan maupun secara vertikal antara i dapat dilihat pada Gambar
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 headerpaket.
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
renderingpada layer N-1.
3. Interface Data Unit(IDU)
kemudian diberikan kepada lapisan N membentuk basis bagi komunikasi horizontal. 2.4.4 Socket Buffer
Salah satu tugas terpenting dari sub
untuk memproses paket data sesuai dengan protokol yang digunakan. [WEH04], dalam merancang
memfasilitasi berbagai protokol
Salah satu alasan utama mengapa implementasi jaringan didalam Linux sangat fleksibel adalah arsitektur dari
dengan socket buffer.Socket buffer
jaringan dalam Linux ini
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
dimana paket data disimpan dan
yang dibutuhkan oleh kernel untuk memproses struktur sebuah socket buffer
kemudian diberikan kepada lapisan N-1 pada layanan akses poin dan membentuk basis bagi komunikasi horizontal.
Salah satu tugas terpenting dari sub sistem network dalam suatu sistem operasi adalah untuk memproses paket data sesuai dengan protokol yang digunakan.
[WEH04], dalam merancang sistem yang seperti ini, fleksibilitas memfasilitasi berbagai protokol memerankan peranan yang sangat penting.
utama mengapa implementasi jaringan didalam Linux sangat fleksibel adalah arsitektur dari buffer yang mengelola paket jaringan yang disebut Socket bufferyang 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.
Socket Buffer
terdiri dari dua bagian, yakni packet data yang merupaka
disimpan dan management data yang merupakan
yang dibutuhkan oleh kernel untuk memproses paket data. Gambar 2.21
socket buffer.
Gambar 2.21 Stuktur Socket Buffer
1 pada layanan akses poin dan
istem operasi adalah untuk memproses paket data sesuai dengan protokol yang digunakan. Menurut sistem yang seperti ini, fleksibilitas sistem untuk
an peranan yang sangat penting.
utama mengapa implementasi jaringan didalam Linux sangat yang mengelola paket jaringan yang disebut yang merupakan struktur utama dari implementasi merepresentasikan sebuah paket selama paket tersebut diproses didalam kernel baik itu paket yang diterima maupun paket yang dikirim.
merupakan lokasi yang merupakan data tambahan Gambar 2.21 menunjukkan
Berikut penjelasan beberapa parameter penting dari socket buffer:
1. Parameter next dan prev digunakan untuk menyambungkan socket buffer
dalam bentuk antrian.
2. Parameter listmenunjuk 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, devakan
menunjuk ke input adapter dan rx_devselalu 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, nhuntuk 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.