BAB 2 DASAR TEORI -...
Transcript of BAB 2 DASAR TEORI -...
II-1
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-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-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,
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, intra-
domain 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.
2
Intermediate System
Neighbors
IS – IS tetangga (termasuk pseudonode)
dengan keterangan metric apa saja yang
didukung. Terdapat pada LSP
3End System Neighbors ES yang terhubung, dengan keterangan
metric apa saja yang didukung.
4
Partition Designated Level 2
Intermediate System
Level 2 IS yang menjadi jalur perbaikan
dengan virtual link dari sebuah area yang
terpartisi.
5 Prefix Neighbors Prefiks dari NSAP yang bisa dijangkau.
6Intermediate System
Neighbors
Mencatat 6 oktet MAC address dari IS
yang mengirimkan LAN Hello PDU.
7Intermediate System
Neighbors
IS dengan panjang SNPA yang
bervariasi.
8Padding Padding untuk Hello PDU sampai unit
transmisi maksimum.
9 LSP Entries Informasi link state.
10Authentication 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.
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.
II-34
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
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 ( )
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
II-37
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 communication ini.
based communication mendapatkan
modifikasi baik secara horizontal pada suatu lapisan maupun secara vertikal antara
i dapat dilihat pada Gambar
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
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 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.
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
II-39
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
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.