WITH IPv6 PROTOCOL
DEVELOPMENT OF TOOLS named6 BASED
ON SHELL SCRIPT AND PERL
A Thesis
Presented as Partial Fulfillment of the Requirements to Obtain the Sarjana Teknik Degree
in Department of Informatics Technology
by:
Fito Nathius Tatontos
005314029
DEPARTMENT OF INFORMATICS TECHNOLOGY
FACULTY OF ENGINEERING
SANATA DHARMA UNIVERSITY
YOGYAKARTA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, Oktober 2006
Penulis
Fito Nathius Tatontos
This paper dedicated 2 :
My Almighty God (Mr. J)
( )
Dad, Mom, Sister, Kei
&
My Family
I have no special words or something 2 give 4
all of your provisions, prayers, kindnesses,
supports, patient, & etc.
Thank U, never be enough 2 avenge all of your
provisions, prayers, kindnesses, supports,
patient & etc.
With Love, your
Fito
Never stop
…
feel Satisfied
4 what U’ve Got and 4 what U’ve Done
today
…
Tomorrow
……
…
Must Get
D’New Things & Better than Today
My Weakness is My Strength
Pada saat ini jumlah pengguna IP semakin bertambah banyak, dimana
resource yang disediakan untuk alamat IP publik ini semakin sedikit. Oleh karena
itu, Internet Engineering Task Force (IETF) mendesain suatu versi protokol IP
yang baru yaitu IP versi 6 atau IPv6. IPv6 ini menyediakan kombinasi sebanyak
2128 alamat atau sebesar 340282366920938463463374607431768211456 alamat.
Sehingga dengan resource alamat sebesar ini diharapkan komunikasi komputer di
seluruh dunia tidak akan kehabisan alamat.
Hasil dari implementasi dengan pemakaian server DNS berbasis protokol
IPv6 untuk konversi nama ke alamat IPv6 akan menggunakan sistem operasi
Linux yang memiliki layanan aplikasi server DNS (Domain Name System) dari
program BIND (Berkeley Internet Name Domain). Sehingga dimasa mendatang,
layanan DNS dapat membantu layanan, aplikasi atau sistem operasi lain berbasis
protokol IPv6.
Today the use of IP version is increasing more and more, which the
reserved resource of this public IP address is decreasing. Therefore, Internet
Engineering Task Force (IETF) designed a new protocol version of IP that called
IP version 6 or IPv6. This version provides 2128 addresses combination or equal to
340282366920938463463374607431768211456 addresses. With this large of
range IP address resource, expected computer communications in all the world
will not lacks of address resource.
The result of the implementation by using DNS server based on IPv6
protocol to convert name to IPv6 address with Linux operating system which has
DNS (Domain Name System) server application services from BIND (Berkeley
Internet Name Domain) program. In the future, the use of DNS service will be
useful for other applications, services or operating systems which based on IPv6
protocol.
Puji syukur penulis haturkan kepada Tuhan Yang Maha Esa atas segala karunia
yang diberikan, sehingga penulis dapat menyelesaikan tugas akhir yang berjudul
“IMPLEMENTASI SERVER DNS DENGAN PROTOKOL IPv6:
PENGEMBANGAN TOOLS named6 BERBASIS SHELL SCRIPT dan PERL”
ini dengan baik. Penulisan ini merupakan salah satu syarat untuk memperoleh
gelar Sarjana Teknik di Universitas Sanata Dharma pada program studi Teknik
Informatika.
Selama penulisan skripsi ini penulis telah memperoleh bantuan dan
bimbingan dari berbagai pihak. Oleh karena itu penulis mengucapkan terima kasih
kepada:
1. Ibu A.M. Polina, selaku Ketua Jurusan Tenik Informatika Universitas Sanata
Dharma.
2. Bapak Albert A. Hadhiatma selaku pembimbing I yang telah banyak
membantu dan membimbing selama mengerjakan tugas akhir ini.
3. Bapak H. Agung Hernawan selaku pembimbing II yang telah memberi banyak
masukan dan bimbingannya.
4. (Alm.) Papa, Mama, Oyen, Keiko dan saudara-saudara yang telah memberi
dorongan baik moril maupun materi.
5. Bapak Donny yang banyak memberi masukan, ilmu-ilmu di luar kampus dan
dukungan via sms-nya sampai dengan saat ini.
Thanks Pak.
7. Teman-teman TI: Team Lapeks: Wawan “Gundul”, Ninuk “Unino”, Sony
“Sang Poh” + Oenang “Mbeek atau Mbing” thanks buat support dan saat
nemenin nge-garap TA-nya, Teman Asisten Jarkom yang bareng Ariep,
Wawan Suna, Bowcil, Kitul Kids: Joe Wecky KLoN-NenG, I-Pay dan
teman-teman lainnya, thanks a lot guys.
8. Sohib-ku: Oh..Pit & Liendo Mblong @ JKT, Ichpoen & Bgy @ JGY, thanks a
lot bro.
9. Semua pihak yang tidak tersebutkan, yang telah memberikan dukungan serta
bantuannya guna penyusunan karya tulis ini
Penulis menyadari sepenuhnya bahwa Tugas Akhir ini masih jauh dari
kesempurnaan dan masih banyak kekurangan. Oleh karena itu penulis sangat
mengharapkan kritik dan saran yang bersifat membangun demi perbaikan lebih
lanjut. Penulis berharap semoga Tugas akhir ini dapat bermanfaat dan berguna
bagi pembaca.
Yogyakarta, Oktober 2006
Penulis
HALAMAN JUDUL... i
HALAMAN PERSETUJUAN... ii
HALAMAN PENGESAHAN... iii
HALAMAN PERNYATAAN KEASLIAN KARYA... ... iv
HALAMAN PERSEMBAHAN... ...v
HALAMAN MOTTO.. ... vi
ABSTRAKSI.. ... vii
ABSTRACT... viii
KATA PENGANTAR... ... ix
DAFTAR ISI... xi
DAFTAR GAMBAR... ... xvii
DAFTAR TABEL... xix
BAB I PENDAHULUAN...1
1.1. Latar Belakang ...1
1.2. Batasan Masalah ...3
1.3. Rumusan Masalah ...4
1.4. Tujuan Penulisan...5
1.5. Metodologi Penelitian ...6
1.6. Sistematika Penulisan ...7
2.1. Pengertian...9
2.2. Jaringan Komputer... ...10
2.3. TCP/IP (Transfer Control Protocol / Internet Protocol)... ..13
2.3.1. TCP (Transmision Control Protocol) ...15
2.3.2. IP (Internet Protocol) ...16
2.3.3. IPv6 (Internet Protocol versi 6)...19
2.3.3.1. Istilah-Istilah dalam IPv6 ...21
2.3.3.2. Format Header IPv6... ...22
2.3.3.3. Arsitektur Pengalamatan IPv6...23
2.4. UDP (User Datagram Protocol) ...24
2.5. PORT.... ...26
2.6. Sistem Operasi Linux...27
2.6.1. Jenis-Jenis Service pada Linux... ...29
2.6.2. Domain Name System (DNS)...30
2.6.3. BIND pada Sistem Operasi Linux.... ...34
2.6.3.1. Konfigurasi BIND dengan IPv4...36
2.6.3.2. Forward DNS dengan IPv6.. ...36
2.6.3.3. Reverse DNS dengan IPv6...36
2.6.4. Cara Kerja DNS IPv6 dengan BIND... ...37
2.6.4.1. Konversi alamat IPv6 dengan Format Nibble...38
2.6.4.2. Konversi alamat IPv6 ke nama dengan Format Bitstring. ...38
2.7. Pemrograman Shell.. ...39
2.7.2. Bash Shell ...40
2.8. Pemrograman Perl...43
2.8.1. Keuntungan Menggunakan Perl...43
2.8.2. Ekstensi Perl Untuk Database... ...44
2.8.3. Kelemahan Penggunaan Perl.. ...45
2.8.4. Tipe Data Perl.. ...45
2.8.4.1. Tipe Data Scalar...46
2.8.4.2. Tipe Data Array...46
2.8.5. Program Sederhana Perl...47
BAB III ANALISIS DAN PERANCANGAN SISTEM...49
3.1. ANALISIS ... 49
3.1.1. Strategi pada masa Transisi... 49
3.1.2. Kasus Penanganan Porgram BIND-named dengan IPv6... ... 53
3.1.3. Program BIND-named Pada Linux... 58
3.1.4. Analisis Kebutuhan... ... 59
3.1.5. Analisa Proses... ... 60
3.2. DESAIN ... 80
3.2.1. Konfigurasi Jaringan ... 80
3.2.2. Konfigurasi Hardware dan Software... 81
3.2.3.Bentuk Umum Program named6... 82
3.2.3.1. named6 start ... 83
3.2.3.3. named6 stop... ... 84
3.2.3.4. named6 status... ... 84
3.2.3.5. named6 help... ... 84
3.2.3.6. named6 add... ... 85
3.2.3.7. named6 edit... ... 85
3.2.3.8. named6 delete... 86
3.2.3.9. named6 view... ... 87
BAB IV IMPLEMENTASI PROGRAM.. ...88
4.1. Lingkungan Implementasi...88
4.1.1. Lingkungan Perangkat Lunak... ...88
4.1.2. Lingkungan Perangkat Keras... ...89
4.2. Karakteristik Pengguna... ...90
4.3.Implementasi Program named6... ...90
4.3.1. Inisialisasi Lokasi Direktori... ...90
4.3.2. Inisialisasi Passing Parameter... ...91
4.3.3. Proses Utama Program named6.... ...91
4.3.4. Proses Fungsi bantu dan Variabel help... ...92
4.4. Proses Tambah Nama Server dan Host...96
4.4.1. Proses Tambah Server...96
4.4.1.1. Proses Program cekIP.pl... ...100
4.4.1.2. Proses Program ffwdSRV.sh...104
4.4.1.4. Proses Program reSRV.sh.... ...111
4.4.1.5. Proses Program named-resolv.sh... ...112
4.4.2. Proses Tambah Host...114
4.4.2.1. Proses Program cekIP.pl... ...116
4.4.2.2. Proses Program ffwdHST.sh...116
4.4.2.3. Proses Program reHST.pl...117
4.4.2.4. Proses Program reHST.sh... ...117
4.4.3. Proses Ubah Server dan Host...118
4.4.3.1. Proses Ubah Nama Server dan Host... ...118
4.4.3.1.1. Program EditNama6.sh untuk Ubah Nama Server... ...121
4.4.3.1.2. Program EditNama6.sh untuk Ubah Nama Host.... ...124
4.4.3.2. Proses Ubah Alamat Server dan Host... ...125
4.4.3.2.1. Program cekIPB.pl untuk Ubah Alamat/Prefix Server dan Host...129
4.4.3.2.2. Program ReIPL.pl untuk Ubah Alamat/Prefix Server dan Host... ...129
4.4.3.2.3. Program ReIPB.pl untuk Ubah Alamat/Prefix Server dan Host... ...130
4.4.3.2.4. Program EditIP6.sh untuk Ubah Alamat/Prefix Server dan Host.. ...130
4.4.4. Proses Hapus Server dan Host... ...133
4.4.4.1. Program delete6.sh untuk Hapus Server dan Host...136
4.4.5. Proses Tampil...136
BAB V ANALISA HASIL.... ...140
5.1. Analisa Hasil Perangkat Lunak...140
5.3. Analisa File Utama dengan Format IPv6... ...144
5.4. Kelebihan dan Kekurangan... ...144
5.4.1. Kelebihan Program ... ...144
5.4.2. Kekurangan Program.... ...145
BAB VI KESIMPULAN DAN SARAN...146
6.1. Kesimpulan... ...146
6.2. Saran...148
Gambar 2.1 Pemodelan Layer Menurut OSI dan TCP/IP... ...11
Gambar 2.2 Pembagian Protokol menurut OSI...11
Gambar 2.3 Pembagian Protokol menurut TCP/IP ...12
Gambar 2.4 Segment TCP...16
Gambar 2.5 Format Datagram IP ...17
Gambar 2.6 Format Header IPv4 ...22
Gambar 2.7 Format Header IPv6 ...23
Gambar 2.8 Format Daragram UDP ...25
Gambar 2.9 Format 3 layer dalam internet...26
Gambar 2.10 Struktur sistem file Linux...29
Gambar 2.11 Lingkup Kerja sever DNS... ...33
Gambar 2.12 Arsitektur Sistem Linux dan lokasi SHELL ...39
Gambar 3.1. Konfigurasi Jaringan dengan Server DNS... ...53
Gambar 3.2.Flowchart proses tambah server program named6...62
Gambar 3.3.Flowchart program cekIP.pl tambah server.. ...63
Gambar 3.4.Flowchart program ffwdSRV.sh tambah server...64
Gambar 3.5.Flowchart program reSRV.pl tambah server...65
Gambar 3.6.Flowchart program reSRV.sh tambah server... ...66
Gambar 3.7.Flowchart program named-resolv.sh tambah server... ...67
Gambar 3.8.Flowchart program named6 tambah klien host... ...68
Gambar 3.9.Flowchart program ffwdHST.sh tambah klien host.. ...69
Gambar 3.11.Flowchart program named6 ubah nama.. ...71
Gambar 3.12.Flowchart program EditNama6.sh ubah nama...72
Gambar 3.13.Flowchart program named6 ubah alamat/prefix.. ...73
Gambar 3.14.Flowchart program EditIP6.sh ubah alamat/prefix.. ...75
Gambar 3.15.Flowchart program named6 hapus server atau host.. ...76
Gambar 3.16.Flowchart program delete6.sh hapus server atau host...77
Gambar 3.17.Flowchart program named6 untuk tampil server dan host...78
Gambar 3.18. Flowchart Proses Umum Program named6...79
Gambar 3.19. Implementasi Server DNS dengan IPv6 dalam Jaringan... ...80
Tabel 2.1 Keterangan IPv6...23
Tabel 2.2 Well known port...27
Table 2.3 Ekstensi Perl untuk Database...45
PENDAHULUAN
1.1. Latar Belakang
Perkembangan teknologi yang pesat terutama dalam bidang teknologi dan
informasi komputerisasi, memunculkan suatu gagasan komunikasi antar dua atau
lebih perangkat komputer. Protokol TCP/IP (Transfer Control Protocol / Internet
Protocol) adalah sebuah protokol yang dapat menjembatani komunikasi antar
komputer. Pengalamatan yang dipakai sekarang ini adalah pengalamatan Internet
Protocol dengan menggunakan Internet Protokol versi 4 (IPv4) yang sering
digunakan untuk keperluan komunikasi Internet.
Untuk pemakaian alamat dengan IPv4 memberikan sejumlah alokasi
alamat sebanyak 232 atau 4294967296 alamat. Namun perbandingan dari alamat
IPv4 yang ada dengan berkembangnya jumlah pengguna layanan Internet saat ini,
maka sudah dapat dipastikan bahwa alamat yang tersedia akan habis.
Oleh karena itu dikembangkan suatu model pengalamatan IP baru untuk
menggantikan pengalamatan IPv4. Model pengalamatan ini disebut sebagai
pengalamatan IP versi 6 atau IPv6 atau sering juga disebut IPNG (Internet
Protocol New Generation). Alokasi alamat yang disediakan oleh IPv6 sebesar 2128
atau 340282366920938463463374607431768211456 alamat. Dengan Sumber
daya alamat sebanyak ini, diharapkan dapat mengganti atau setidaknya menutupi
kekurangan sumber daya alamat yang ada sekarang ini.
Sehingga format penulisan untuk alamat IPv6 akan berubah dan
mempengaruhi layanan aplikasi lain untuk mendukung protokol tersebut. Salah
satu penanganan layanan aplikasi yang dilakukan untuk konversi nama ke alamat
IPv4 adalah dengan menggunakan sebuah layanan server DNS (Domain Name
System) yang berfungsi untuk mengkonversi alamat ke nama atau sebaliknya.
Sehingga pemakaian server DNS berbasis protokol IPv6 dalam suatu jaringan
akan sangat bermanfaat di masa mendatang sebagai salah satu layanan aplikasi
pendukung protokol tersebut.
Karena format penulisan alamat IPv6 berbeda dari alamat IPv4 maka
seorang administrtor harus mengetahui format penulisan isi file-file utama dan
file-file konfigurasi secara manual agar sebuah komputer dapat digunakan sebagai
server DNS pada sistem operasi Linux berbasis text-mode atau non- GUI
(Graphical User Interface) dengan layanan aplikasi named dari program BIND
(Berkeley Internet Name Domain). Pertimbangan pemilihan sistem operasi Linux
berbasis text-mode dengan alasan pemanfaatan dana dalam penggantian
infrastruktur yang mendukung IPv6.
Dengan mempertimbangkan kesulitan konfigurasi dan pembuatan file-file
dalam format alamat IPv6 yang rumit pada sistem operasi Linux berbasis text
-mode, maka penulis mencoba membuat program bantu (tools) yang dapat
mempermudah administrator dalam mempersiapkan file-file dan konfigurasi yang
dibutuhkan sebuah komputer server DNS berbasis alamat IPv6.
1.2. Batasan Masalah
Beberapa batasan masalah dalam penyusunan skripsi ini adalah:
1. Sistem operasi yang dimanfaatkan untuk layanan aplikasi sebuah server
DNS dengan alamat IPv6 statis adalah sistem operasi Linux berbasis text
-mode dengan memanfaatkan kernel versi 2.4 ke atas.
2. Sistem operasi yang dimanfaatkan untuk klien-klien host server DNS
adalah Linux Fedora Core 2 dan Windows XP Professional SP1 untuk
membandingkan perkembangan fasilitas dukungan protokol IPv6 pada
kedua sistem operasi, pengecekan pada klien dilakukan dengan beberapa
perintah dan melalui browser.
3. Implementasi program bantu (tools) dengan alamat IPv6 dan penamaan
untuk server DNS memanfaatkan servis dari aplikasi BIND versi 9.2.3
dan servis httpd untuk layanan server Web untuk pembuktian penamaan
ke alamat atau sebaliknya, telah didukung untuk layanan lainnya.
4. Penggunaan prefix untuk alamat IPv6 pada program bantu, masih dibatasi
dengan format standard (sering digunakan).
5. Proses pengecekan server DNS telah mendukung protokol IPv6, akan
memanfaatkan perintah ping6, dig, host dan mengaktifkan layanan server
Web pada komputer server DNS untuk pengecekan dari komputer klien.
6. Konsep implementasi DNS server dengan IPv6, masih dilakukan dalam
lingkup jaringan lokal berbasis IPv6 atau tidak memanfaatkan akses
7. Bagian instalasi sistem operasi, trouble shooting, routing, tunneling,
Manajemen jaringan dan keamanan tidak dibahas dalam tulisan.
8. Program bantu named6 berbasis shell script dan perl sebagai tools
tambahan pada servis named dari program BIND digunakan untuk
mengkonfigurasi dan membuat file-file utama server DNS dengan format
alamat IPv6.
1.3. Rumusan Masalah
1. Membuat program bantu named6 berbasis shell script dan perl untuk
mempermudah membuat file-file utama dan file konfigurasi dengan
format alamat IPv6 secara otomatis yang dibutuhkan oleh program named
bawaan (default) dari BIND versi 9 pada sistem operasi Linux berbasis
text-mode untuk server DNS berbasis protokol IPv6.
2. Pada saat komputer server DNS telah berjalan dengan baik, layanan server
Web dengan alamat IPv6 akan diaktifkan untuk mengecek servis
penamaan DNS telah dapat dimanfaatkan juga oleh layanan Web.
3. Melakukan perbandingan melalui pengecekan pada sisi klien yang
menggunakan sistem operasi Linux Fedora Core 2 dan Windows XP
Professional SP1, dengan perintah-perintah pengecekan yang mendukung
protokol IPv6, serta penggunaan browser untuk membuktikan penamaan
1.4. Tujuan Penulisan
Tujuan dari penulisan skripsi ini difokuskan pada program bantu atau
program pendukung (tools) pada level layanan aplikasi DNS yang telah
mendukung protokol IPv6, yaitu aplikasi BIND versi 9.2.3 dengan daemon named
pada sistem operasi Linux Fedora Core 2.
Tools tersebut akan berfungsi untuk menjalankan servis DNS dari aplikasi
yang telah ada dalam sebuah komputer, sehingga komputer dapat berfungsi
sebagai sebuah komputer server DNS yang memanfaatkan alamat IPv6. Dengan
menjalankan tools bantu, server DNS memiliki kemampuan untuk melakukan
pembuatan, penyimpanan dan pencarian informasi dari alamat IPv6 ataupun
nama server dan klien pada komputer dalam jaringan sebuah jaringan lokal
berbasis IPv6.
Dengan adanya perancangan dan implementasi tools pendukung yang
difokuskan pada sebuah layanan aplikasi untuk server DNS dalam jaringan lokal
berbasis IPv6 ini, diharapkan dicapai beberapa manfaat berikut :
1. Memberikan kemudahan dan timing down untuk seorang
administrator dalam membuat file-file utama secara otomatis untuk
servis named dari BIND dengan format alamat IPv6 pada komputer
server DNS yang mengunakan sistem operasi Linux berbasis text
-mode dengan aplikasi BIND versi 9.
2. Server DNS dengan protokol IPv6 telah dapat berfungsi sebagai mesin
konversi dan pemberian nama untuk server maupun klien DNS dalam
berkomunikasi dengan perintah pemanggilan nama dari klien ke server
DNS atau dari klien ke klien lainnya.
3. Server DNS berbasis protokol IPv6 telah dapat membantu layanan
server Web dengan protokol IPv6 yang memanfaatkan layanan server
DNS dalam pemanggilan dengan nama melalui browser, baik dari sisi
klien dengan sistem operasi Linux dan Windows ataupun server DNS
sendiri.
1.5. Metodologi Penelitian
Beberapa tahapan yang dilakukan dalam proses implementasi dan
pembuatan program / tools untuk IPv6 ini adalah :
1. Melakukan studi pustaka.
a. Mempelajari sistematika, arsitektur, dan struktur IPv6.
b. Mempelajari Sistem Operasi serta aplilkasi yang dipakai dalam
membangun jaringan IPv6.
c. Mencari referensi IPv6 di Internet.
2. Melakukan tanya jawab dalam forum Mailing List.
a. Mencari referensi tambahan dari internet.
b. Mencari seting dan konfigurasi untuk mengaktifkan aplikasi BIND
versi 9.2.3 yang telah mendukung IPv6.
3. Melakukan implementasi dan file-file konfigurasi server DNS dengan
IPv6 secara manual.
a. Rancangan sistem secara umum.
i. Sistem Operasi yang akan dipakai.
ii. Aplikasi BIND dengan program named untuk mendukung
program bantu.
iii. Perangkat keras dan lunak yang akan dipakai.
b. Rancangan program.
c. Algoritma program.
5. Membuat program.
a. Mewujudkan rancangan yang telah dibuat dalam bentuk program.
b. Melakukan uji coba program dalam suatu mesin yang akan
difungsikan sebagai server DNS Linux.
6. Mengevaluasi Program.
1.6. Sistematika Penulisan
BAB I PENDAHULUAN
Bab ini membahas tentang latar belakang penulisan skripsi, batasan
masalah yang diambil, rumusan masalah, tujuan penulisan skripsi dan
metodologi penelitian skripsi.
BAB II LANDASAN TEORI
Bab ini membahas tentang konsep dasar jaringan, protokol yang
dipakai, IPv6 dan arsitektur IPv6, sistem operasi yang digunakan,
jenis servis, DNS dengan BIND 9 dan pemrograman dengan shell
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi penjelasan perancangan desain, seting aplikasi dan
langkah-langkah dari program yang akan dibuat. Perancangan meliputi
perancangan program, analisa proses dan bentuk tampilannya.
BAB IV IMPLEMENTASI PROGRAM
Bab ini membahas tentang implementasi perancangan program
kedalam bahasa program. Mengimplementasikan program ke dalam
komputer yang akan digunakan sebagai server DNS untuk menseting
dan mengaktifkan servis program named yang telah mendukung
protokol IPv6 pada progam BIND versi 9.
BAB V ANALISA HASIL
Bab ini membahas mengenai hasil program bantu dan jalannya service
setelah diterapkan pada lingkungan sistem.
BAB VI KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan dari keseluruhan program yang
LANDASAN TEORI
2.1. Pengertian
Jika seorang bekerja pada komputer yang tidak dihubungkan dengan
komputer lain maka dapat dikatakan orang tersebut bekerja secara Stand Alone.
Jika komputer dimana orang tersebut bekerja berhubungan dengan komputer dan
peralatan lain sehingga membentuk suatu group, maka ini disebut sebagai network
(Jaringan). Sedangkan bagaimana komputer tersebut bisa saling berhubungan
serta terdapat pengaturan sumber daya yang ada disebut sistem jaringan
(Networking).
Jaringan komputer merupakan suatu koleksi komputer-komputer terpisah
yang berkomunikasi satu dengan yang lain, dengan memanfaatkan media
komunikasi yang dipakai bersama-sama.
Keuntungan dalam menggunakan jaringan komputer adalah sebagai
berikut:
1. Dapat saling berbagi (Sharing) penggunaan peralatan yang ada, baik itu
harddisk, printer, modem dll, tanpa harus memindahkan
peralatan-peralatan tersebut kepada yang membutuhkan. Dengan demikian terjadi
peningkatan efesiensi waktu dan biaya pembelian hardware.
2. Dapat saling berbagi (Sharing) penggunaan file atau data yang ada pada
server atau pada masing-masing workstation. Dengan demikian untuk
mendapatkan suatu informasi tertentu dapat dilakukan dengan cepat.
Dalam hal ini terjadi peningkatan efesiensi waktu.
3. Aplikasi dapat dipakai bersama-sama (multiuser). Akses ke jaringan
memakai nama, password dan pengaturan hak untuk data-data rahasia.
4. Komunikasi antar pemakai melalui e-mail atau Lan Conference.
5. Pengontrolan para pemakai ataupun pemakaian data-data secara terpusat
dan oleh orang-orang tertentu.
6. System backup yang mudah karena manajemen yang tersentralisasi.
7. Data yang selalu up to date karena server senantiasa menguptodatekan
data begitu ada input (Data Entry).
8. Seorang Supervisor/Aministrator dapat melakukan pengontrolan pemakai
berdasarkan : waktu akses, tempat akses, kapasitas pemakaian harddisk.
Mendeteksi pemakai yang tidak berhak dan/atau memonitor pekerjaan
setiap pemakai.
.
2.2. Jaringan Komputer
Jaringan komputer adalah suatu media transmisi bersama serta rangkaian
hardware dan software untuk menginterfacekan perangkat menjadi media serta
mengatur akses menuju media tersebut dengan tepat1.
Arsitektur jaringan komputer dibagi menjadi beberapa lapisan (layer).
Terdapat dua pemodelan lapisan protokol yang penting dalam arsitektur jaringan.
Yaitu acuan layer dari OSI (Open System Interconnection) dan model protokol Gambar 2.1 Pemodelan Layer Menurut OSI dan TCP/IP
Dalam setiap lapisan tingkatan OSI pasti memiliki protokol yang
digunakan untuk berkomunikasi dengan lapisan yang sederajat pada komputer
lain. Berikut ini adalah diagram lapisan OSI yang menunjukan protokol dalam
tiap-tiap tingkat lapisan OSI.
Session
HTTP, FTP, SMTP, DNS, Telnet, Ssh and Scp
IP, ICMP, IGMP, ARP, RARP, X.25
Electricity, Radio, Laser
Ethernet, Token ring, ATM, Frame Relay TCP, UDP, SCTP, ATP
TLS, SSH, RPC, NET BIOS, ASP
Dengan melihat diagram diatas, pada tiap level menunjukkan fungsi yang
dilakukan oleh protokol. Namun dalam kenyataannya, tiga lapisan teratas dalan
model OSI (Aplication, Presentation, dan Session) biasanya diperlakukan menjadi
satu lapisan tunggal dalam deretan TCP/IP yaitu sebagai lapisan Aplication yang
protokol-protokolnya dianggap menjadi satu kesatuan protokol aplikasi.
Transport 7
Data Link
Physical 3
1 2 4
Network
Aplication HTTP, FTP, SMTP, Telnet, Ssh and Scp
IP, ICMP, IGMP
Electricity, Radio, Laser
Ethernet, Token ring, ATM, Frame Relay TCP, UDP, SCTP
Gambar 2.3 Pembagian Protokol menurut TCP/IP
Diagram lapisan OSI maupun TCP/IP memiliki persamaan pada keempat
layer dasar (Physical, Data Link, Network dan Transport). Dari level Network dan
Transport dapat diketahui bahwa protokol IP yang terletak di layer Network dan
TCP yang terletak di layer Transport digunakan sebagai protokol yang berfungsi
untuk pengalamatan antar komputer dan pengendali transmisi. Layer "physical"
dan "data link" dari susunan TCP/IP sering disebut sebagai satu layer yaitu
2.3. TCP/IP (Transfer Control Protocol/Internet Protokol)
TCP/IP merupakan proyek yang dikembangkan oleh Departement of
Defence (DoD) Defense Advance Research Projects Agency (DARPA) untuk
menghubungkan antar jaringan (network) yang dikembangkan oleh vendor yang
berbeda menjadi suatu jaringan dalam jaringan luas (Network of Networks) atau
sekarang terkenal dengan nama Internet.
Rancangan ini sukses berkembang karena dapat memberikan layanan
dasar yang dibutuhkan oleh orang-orang (file sharing, electronic mail) karena
beberapa komputer dalam suatu departemen kecil dapat menggunakan TCP/IP
(berjalan bersama dengan protokol lainnya) dalam satu jaringan LAN. Komponen
IP menyediakan routing dari satu departemen ke jaringan perusahaan yang lebih
luas, dan pada akhirnya jaringan ini berkembang kepada jaringan global yang
disebut Internet2.
Fungsi yang ada pada protokol TCP/IP adalah :
• File Transfer Protocol (FTP) yaitu fasilitas transfer file antar komputer
• Surat elektronik (E-mail) atau fasilitas surat menyurat antar komputer yang
terdiri atas Simple Mail Transfer Protocol (SMTP) sebagai dasar
komunikasi e-mail, Multi Purpose Internet Mail Extensions (MIME) yaitu
standar format biner grafik, dan suara agar dapat ditransmisikan melalui
e-mail, Post Office Protocol (POP) yaitu sistem penerima e-e-mail, Network
News Transfer Protocol (NNTP) sarana pertukaran berita, artikel dan
diskusi melalui e-mail
• Emulasi terminal jarak jauh (Telnet, Remote Login) yang memungkinkan
suatu komputer (client) untuk masuk dan mengendalikan host yang
terletak jauh darinya, misalnya pada network yang lain atau di Internet.
• Simple Network Management Protocol (SMNP) yaitu protokol
pengendalian peralatan network jarak jauh. Drew Heywood (1996)
menyebutkan : fungsi utama itu masih diikuti dengan fasilitas Domain
Name System (DNS) yaitu metode penamaan dan pengalamatan suatu
network berdasarkan kelompoknya
Seperti halnya protokol komunikasi lainnya, TCP/IP juga dibagi menjadi
beberapa lapisan :
a. IP
IP bertanggung jawab untuk memindahkan paket data dari satu titik ke
titik lainnya. IP meneruskan paket data berdasarkan empat byte alamat tujuan
(IP number / IP address). Otoritas Internet membagi alamat IP menjadi
beberapa organisasi yang berbeda. Setiap organisasi akan mengkelompokkan
alamat itu menjadi beberapa departemen. IP bekerja sebagai pintu gerbang
mesin dalam memindahkan paket data dari satu departemen ke satu organisasi
dan diteruskan ke suatu wilayah regional dan kemudian seluruh dunia ini.
b. TCP
TCP bertanggung jawab untuk pengecekan pengiriman paket data dari
client ke server. Dalam pengirimannya, data dapat hilang ditengah jalan dalam
mengecek kesalahan data atau kehilangan data dan memerintahkan untuk
mengirim ulang data sampai data diterima dalam keadaan benar dan lengkap.
c. Sockets
Sockets adalah suatu nama yang diberikan kepada subrutin paket yang
menyediakan akses TCP/IP pada kebanyakan sistem.
2.3.1. TCP (Transmision Control Protocol)
TCP adalah pengarahan koneksi, protokol handal yang berada pada layer
transport TCP/IP Protokol Stack. TCP bertugas memecah paket data menjadi
beberapa bagian (segment), menyatukan kembali (reassemble) pada stasiun
tujuan. Apabila stasiun tujuan tidak menerima paket, atau menerima paket tetapi
dalam keadaan rusak, TCP bertugas untuk mengirimkan kembali paket tersebut
hingga paket diterima oleh stasiun tujuan secara lengkap dan tanpa kerusakan, dan
menyatukan kembali pesan-pesan tersebut dari beberapa segment menjadi satu
paket utuh. TCP juga bekerja untuk mengatur bagaimana cara membuka
hubungan komunikasi, jenis aplikasi apa yang digunakan dalam komunikasi
tersebut. Dengan kata lain, TCP mengatur seluruh proses koneksi antar satu
3
0 4 1 1
Source Port (16)
Window (16)
Code bits (5)
Reserved (6)
Header Length
Checksum (16)
Data (varies) Options (0 or 32 if any)
Urgent (16) Acknowlegement Number (32)
Sequence Number (32)
Destination Port (16)
Gambar 2.4 Segment TCP
Mekanisme kerja TCP adalah connection oriented yaitu TCP membangun
suatu hubungan secara logik antar satu komputer dengan komputer lainnya. Dalam
waktu yang ditentukan komputer yang sedang berhubungan harus mengirimkan data
atau acknowledge agar hubungan tetap berlangsung. Jika hal ini tidak sanggup
dilakukan maka dapat diasumsikan bahwa komputer yang sedang berhubungan
mengalami gangguan dan hubungan secara logik dapat diputus.
2.3.2. IP (Internet Protocol)
Protokol Internet adalah jalur komunikasi yang dimanfaatkan sebuah
komputer untuk saling berkomunikasi yang teradapat pada network layer.
IP (Internet Protocol) address adalah alamat yang diberikan pada jaringan
komputer dan peralatan jaringan yang menggunakan protokol TCP/IP (fahrial,
2004). IP address terdiri atas 32 bit angka binner yang dapat dituliskan sebagai
empat kelompok angka desimal yang dipisahkan oleh tanda titik seperti
IP (Internet Protocol) merupakan inti dan protokol TCP/IP. Seluruh data
yang berasal dari protokol pada layer di atas IP harus dilewatkan, diolah oleh
protokol IP, dan dipancarkan sebagai paket IP, agar sampai ke tujuan.
Dalam melakukan pengiriman data , IP memiliki sifat yang dikenal sebagai
unreliable, connectionless, datagram delivery service.
• Unreliable, berarti bahwa protokol IP bahwa datagam yang dikirim pasti
sampai pada tempat tujuan.
• Connectionless, berarti dalam pengiriman paket dari tempat asal ketujuan,
pihak pengirim dan penerima tidak mengadakan perjanjian (handshake)
terlebih dahulu.
• Datagram delivery service, berarti setiap data yang terkirim adalah
independen terhadap paket data yang lain.
Version Header Length Type of
Service Total Length of Datagram
Identification Flags Fragment Offset
Time to Live Protocol Header Checksum
Source IP Address Destination IP Address
Options Strict Source Routing, Loose Source Routing DATA
Gambar 2.5 Format datagram IP
Format datagram IP terdiri atas:
1. Version, versi dan protokol IP yang dipakai. Pada saat ini versi IP yang
dipakai adalah IP versi 4.
32 bit word.
3. Type Length of Service, berisi kualitas service yang dapat
mempengaruhi cara penanganan paket IP ini.
4. Total Length of Datagram, panjang IP datagram total dalam ukuran
byte.
5. Identification, Flags, dan Fragment Offset, berisi beberapa data yang
berhubungan dengan fragmentasi (dipecah menjadi beberapa paket yang
lebih kecil).
6. Time to Live, berisi jumlah router atau hup maksimal yang boleh
dilewati paket IP.
7. Protokol, mengandung angka yang mengidentifikasikan protokol layer
atas pengguna isi data dan paket IP ini.
8. Header Checksum, berisi nilai checksum yang dihitung dan seluruh field
dan header paket IP.
9. IP address pengirim dan penerima data, berisi alamat pengirim paket
dan penerima paket.
10. Byte Option, berisi Strict Source Route (SSR) dan Loose Source Route
(LSR). SSR berisi daftar lengkap IP address dan router yang harus
dilalui oleh paket ini dalam perjalanan ke host tujuan. SSR paket yang
dikirim diharuskan singgah di beberapa router.
Format IP Address bisa dinyatakan dalam dua bentuk yaitu :
a. Bentuk Biner
tanda pemisah berupa tanda titik setiap 8 bit. Bentuk alamat IP
adalah sebagai berikut:
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxxx
Simbol “x” dapat digantikan oleh angka 0 dan 1, misalnya:
10000100.1011 l00.1111001.00000001
b. Bentuk dotted decimal
Format penulisan “dotted-decimal notation” (notasi desimal bertitik).
Setiap bilangan desimal tersebut merupakan nilai dari satu oktet (8
bit) alamat IP. Tiap oktet mewakili bilangan desimal dan 0 sampai
255.
bit#0 31
10000100 01011100 01111001 00000001
132 92 121 1
w x y z
penulisan IPv4 menjadi : 132.92.121.1
2.3.3. IPv6 (Internet Protocol versi 6)
Pengalamatan IPv6 memiliki 2128 kombinasi alamat. Sama seperti
halnya IPv4, IPv6 menggunakan bilangan biner yang memiliki panjang 128 bit
dan terbagi menjadi 8 segmen, dengan setiap segmen terdiri dari 16 bit yang
dipresentasikan dalam bilangan hexadesimal 0 sampai FFFF. Dengan kapasitas
tersebut, maka pengalamatan IPv6 adalah dari:
0000:0000:0000:0000:0000:0000:0000:0000
sampai
Terdapat tiga jenis pengalamatan dalam IPv6, yaitu:
a. Unicast : Alamat pengenal satu interface. Paket yang dikirim ke
alamat Unicast akan disampaikan ke interface yang didefinisikan
oleh lamat tersebut.
b. Anycast : Alamat pengenal kumpulan interface. Paket yang dikirim
alamat ini akan disampaikan ke salah satu interface terdekat menuru
routing.
c. Multicast : Alamat pengenal kumpulan interface. Paket yang dikirim
ke alamat ini akan disampaikan ke semua interface dan
menggantikan fungsi alamat broadcast dalam IPv4.
Berikut bentuk representasi alamat IPv6 adalah sebagai berikut :
a. Bentuk x:x:x:x:x:x:x:x, x adalah nilai hexadesimal 8 bagian 16 bit
alamat. Penulisan alamat IPv6 adalah sebagai berikut:
3ffe:419:2ac6:44ff:10ab:f54:a9:34fa
b. Penulisan alamat IPv6 juga dapat menggunakan tanda “::” utnuk
menyederhanakan penulisan. Tanda menunjukkan kumpulan 16 bit
yang terdiri dari bit nol. Tanda ini hanya boleh digunakan sekali
dalam satu buah alamat.
c. Penulisan alamat IPv6 juga dapat digunakan dalam lingkungan
gabungan IPv4 dan IPv6. Alamat dalam lingkungan gabungan dapat
ditulis dengan x:x:x:x:x:x:d.d.d.d, dengan x adalah 6 segmen 16 bit
(desimal). 0:0:0:0:0:0:167.205.22.116 atau dapat ditulis
::167.205.22.116
d. Prefix alamat IPv6 dapat ditulis dalam notasi : Alamat
-IPv6/Panjang-Prefix. Panjang prefix menunjukkan banyaknya bit di
bagian kiri yang dibatasi nilai prefixnya.
Internet Protokol versi 6 (IPv6) adalah protokol internet versi baru yang
didesain sebagai pengganti dari internet protokol versi 4 (IPv4) yang didefinisikan
dalam RFC 791. Perubahan dari IPv4 keIPv6 pada dasarnya terjadi karena
beberapa hal yang dikelompokkan dalam beberapa kategori berikut:
• Kapasitas perluasan alamat
• Penyederhanaan format header
• Peningkatan dukungan untuk header pilihan dan header tambahan
• Kemampuan pelabelan aliran paket
• Autentifikasi dan kemampuan privasi
2.3.3.1. Istilah-Istilah dalam IPv6
Node: peralatan yang dapat mengimplementasikan IPv6
Router: node yang melewatkan paket Ipv6 dimana paket-paket yang
diteruskan tidak hanya terdiri dari paket-paket dengan alamatnya
sendiri.
Upper layer: layer protokol yang secara langsung berada diatas IPv6, yaitu
protokol transport TCP dan UDP, protokol kontrol ICMP, protokol
routing seperti OSPF dan internet.
Link: Fasilitas komunikasi atau medium, yaitu ethernet, link PPP, X.25,
atau jaringan ATM dan layer internet tunnel.
Neighbors: node lain yang dihubungkan dalam link yang sama.
Interface: media penghubung dari node ke jaringan.
Alamat identifikasi paad layer IPv6 untuk interface atau sekumpulan
interface.
Packet: header IPv6 dan payload-nya (isi)
Link MTU: Maximum transmission unit, ukuran maksimum paket dalam ukuran
byte yang dapat disampaikan melalui link.
Path MTU: link MTU yang paling kecil dari semua link dalam path node asal
sampai ke node tujuan.
2.3.3.2. Format Header IPv6
Format header alamat IPv6 merupakan penyederhanaan dari format
header alamat IPv4. Perbandingan header IPv4 dan IPv6 dapat dilihat
pada gambar berikut:
Version Header Length Type of
Service Total Length of Datagram
Identification Flags Fragment Offset
Time to Live Protocol Header Checksum
32 bit Source IP Address 32 bit Destination IP Address
Version Traffic Class Total Length of Datagram
Payload length Next Header Hop Limit
128 bit Source IP Address 128 bit Destination IP Address
Gambar 2.7 format header IPv6
Nama Panjang Kolom
Keterangan
Versi 4 bit Nomor versi protokol internet, yaitu
versi 6
Traffic class 8 bit Kolom kelas atau kasifikasi traffic
(lalu lintas)
Flow Label 20 bit Label aliran dari traffic
Payload Length 16 bit Panjang payload/muatan IPv6,
payload adalah sisa paket setelah header IPv6 dalam bentuk oktet (diluar header IPv6.)
Next Header 8 bit Identifikasi tipe header yang akan ada
setelah header IPv6. Nilai header ini menggunakan tipe header yang sama dengan yang ada pada IPv4
Hop Limit 8 bit Nilai pada kolom ini akan dikurangi
satu jika paket ini melewati node yang
berfungsi melewatkan/mem-forward
paket (router). Paket akan dibuan saat
nilai batas hop telah mencapai nol. Nama Panjang
Kolom
Keterangan
Source Address 128 bit Alamat asal paket IPv6
Destination Address 128 bit Alamat tujuan paket IPv6
Tabel 2.1 keterangan IPv6
2.3.3.3. Arsitektur Pengalamatan IPv6
Alamat IPv6 pengidentifikasi alamat sepanjang 128 bit untuk interface dan
• Unicast : pengidentifikasi untuk interface tunggal. Paket yang dikirimkan
ke alamat unicast adalah paket yang dikirim ke sebuah interface yang
diidentifikasi oleh alamat tersebut.
• Anycast : pengidentifikasi untuk sekumpulan interface (umumnya milik
node yang berbeda). Paket yang dikirimkan ke alamat anycast adalah
paket yang dikirmkan ke salah satu dari sekumpulan interface yang
diidentifikasi oleh alamat tersebut (alamat yang terdekat, mengacu pada
pengukuran jarak dan protokol routing).
• Multicast : pengidentifikasi untuk sekumpulan interface (umumnya milik
node yang berbeda). Paket yang dikirimkan ke alamat multicast adalah
paket yang dikirimkan kesemua interface yang diidentifikasi oleh alamat
tersebut.
IPv6 tidak memiliki alamat broadcast, hal ini disebabkan fungsi dari
alamat broadcast digantikan oleh alamat multicast.
2.4. UDP (User Datagram Protocol)
UDP (User Datagram Protocol) merupakan protokol transport yang
sederhana. Berbeda dengan TCP yang connection oriented, UDP bersifat
connectionless. Dalam UDP tidak memiliki sequencing (pengurutan kembali)
paket yang datang, acknowledgement terhadap paket yang datang atau retransmisi
jika paket mengalami masalah di tengah jalan.
Kemiripan UDP dengan TCP ada pada penggunaan port number.
membedakan pengirimana datagram ke beberapa aplikasi berbeda yang terletak
pada komputer yang sama.
Karena sifatnya yang connectionless dan unreliable, UDP digunakan oleh
aplikasi-aplikasi yang secara periodik melakukan aktivitas tertentu (misalnya
query routing table pada jaringan lokal), serta hilangnya satu data akan dapat
diatasi pada query periode berikutnya dan melakukan pengiriman data ke jaringan
lokal. Pendeknya jarak tempuh datagram akan mengurangi resiko kerusakan data.
Bersifat broadcasting atau multicasting. Pengiriman datagram kebanyak
client sekaligus akan efisien jika prosesnya menggunakan metode connectionless.
Source Port Destination Port
Datagram Length Checksum
Aplication Data
Gambar 2.8 Format datagram UDP
Gambar diatas ditunjukkan format dari datagram UDP. Ssource dan
Destination port memiliki fungsi yang sama seperti pada TCP. DatagramLength
berisi panjang datagram, sedangkan cheksum berisi angka hasil perhitungan
matematis yang digunakan untuk memeriksa kesalahan data. UDP banyak
digunakan pada model Client-Server yang menggunakan model layer internet,
dimana proses dilakukan pada level aplikasi. Contoh aplikasi yang menggunakan
UDP, yaitu : SMTP, NFS, FTP, DNS dan sebagainya. Dapat dilihat pada gambar
TFTP SMTP
Session Presentation
Application Application
NFS DNS
UDP TCP
Transport
RARP ARP
IGMP ICMP
IP Network
Data Link Protocol defined by
the underlying network Physical
Gambar 2.9 format 3 layer dalam internet.
2.5. PORT
Hal penting yang perlu dipahami pada TCP atau UDP adalah port number.
Port number menentukan service yang dilakukan oleh aplikasi diatas TCP atau
UDP. Penomeran port ini telah ditentukan oleh Network Information Center dalam
Request For Comment (RFC) 1010. Prisip kerja TCP didasarkan pada prinsip
Client-Server. Server adalah program yang secara pasif akan mendengarkan (listen) port
number yang telah ditentukan oleh TCP. Sedangkan client adalah program yang
secara aktif akan membuka hubungan TCP ke komputer server untuk meminta
bagian dasar dari koneksi logical (logical connections) atau sebuah servis yang
berjalan dengan terus menerus3.
Tujuannya adalah untuk memberikan sebuah nama pada sebuah servis dan
mendefinisikannya dalam sebuah alamat kontak. Port digunakan untuk melakukan
koneksi antara server dan client-nya. Port yang biasa digunakan oleh server untuk
melakukan koneksi sering disebut dengan ‘well known port’.
Dari total jumlah port yaitu 65535, Port dibagi menjadi 3 bagian yaitu :
• Well known Port : antara 0 sampai 1023 digunakan oleh sevis-servis yang
digunakan server dan client dalam proses komunikasi.
• Registered Port : 1024 sampai 4951 digunakan untuk kepentingan suatu
instansi yang sudah terdaftar untuk menggunakan port tertentu.
• Dynamic/Private Port 4951 sampai 65535 bebas digunakan untuk koneksi
pribadi.
Berikut ini adalah sebagian dari tabel tabel wellknown port :
Port Protocol Keterangan
20
Simple Mail Transfer Protocol Domain Name Server
Hyper Text Transfer Protocol Remote Procedure Call
Tabel 2.2 well known port
2.6. Sistem Operasi Linux
Linux adalah sistem operasi UNIX-like. Linux awalnya dikembangkan
oleh Linus Torvald. Awalnya Linux ini merupakan pengembangan dari sistem
operasi MINIX yang ditulis oleh Tannenbaum. Linux versi awal diluncurkan oleh
Linus pada akhir 1991.
Dengan sifatnya yang open source dan gratis, Linux mudah didapat dan
dikembangkan oleh banyak orang di dunia ini, sehingga perkembangannya pun
sangat pesat. Saat ini Linux dikemas dalam berbagai distribusi yang dikeluarkan
seperti : Redhat, Caldera, Mandrake, Debian, Slackware, Turbolinux dan lainnya.
Linux adalah Sistem-Operasi yang:
• multi-tasking : memungkinkan menangani banyak proses pada saat yang
bersamaan tanpa saling mengganggu.
• multi-program : memungkinkan menangani banyak program pada saat
yang bersamaan.
• multi-user : memungkinkan penggunaan satu aplikasi yang sama atau
berbeda pada dalam satu mesin yang sama pada saat yang bersamaan
• TCP/IP built-in, virtual memory, copy-on-write pages, demand paging dan
lainnnya.
• menganut multiple file system seperti : EXT2fs, EXT3fs, FAT16, FAT32
(DOS), Vfat (win), HPFS (OS2), Minix dan lainnya.
Dari keterangan diatas, dapat dikatakan bahwa sistem operasi Linux
adalah sebuah sistem yang dapat menjadikan sebuah komputer menjadi sebuah
komputer server.
Struktur sistem file Linux adalah berbentuk tree, dengan "pusat"-nya
adalah root (akar) yang dilambangkan dengan tanda "/" (slash). Gambar struktur
tree Linux dapat dilihat seperti berikut :
/(Root)
bin dev etc home lib proc sbin tmp var usr
sbin bin include doc lib man src
Gambar 2.10 Struktur sistem file Linux
Beberapa penjelasan struktur sistem file Linux :
/(Root) : merupakan direktori parent bagi semua direktori.
/bin : berisi program-program dasar Linux
/dev : berisi file-file device, seperti cdrom, floppy, harrdisk, dan lainnya.
/etc : berisi file-file seting dan inisialisasi sistem (konfigurasi).
/home : direktori kerja user
/lib : berisi file-file library untuk program-program sistem
/proc : berisi catatan (log) kondisi sistem pada saat-saat tertentu.
/tmp : direktori sementara
/usr : berisi sejumlah direktori yang berisi program-program yang digunakan pemakai.
2.6.1. Jenis-Jenis Service pada Linux
Jenis-jenis service yang diberikan pada sistem operasi Linux terdapat
banyak macam dan jenisnya. Service-service tersebut sengaja diberikan sesuai
kebutuhan atau kegunaan dari komputer yang akan diisikan sistem operasi Linux,
misalnya sebagai: MAIL server, WEB server, DNS server, FTP server, Proxy
server, FileControl server, Router, Telnet dan lainnya.
Salah satu service yang saat ini sedang dikembangkan adalah service
untuk mendukung protokol internet IPv6, demikian juga untuk aplikasi-aplikasi
yang telah mendukung protokol tersebut.
2.6.2. Domain Name System (DNS)
DNS (Domain Name System) adalah suatu bentuk database yang
terdistribusi, dimana pengelolaan secara lokal terhadap suatu data akan segera
diteruskan ke seluruh jaringan (internet) dengan menggunakan skema
client-server. Suatu program yang dinamakan name server, mengandung semua segmen
informasi dari database dan juga merupakan resolver bagi klien-klien yang
berhubungan ataupun menggunakannya4.
Salah satu aplikasi yang masih dikembangkan agar dapat mendukung
protokol IPv6 tersebut adalah BIND (Berkeley Internet Name Domain) dengan
program named yang berfungsi agar sebuah komputer dapat menjadi sebuah
komputer server DNS yang dapat memberikan nama atas klien-klien yang
dimilikinya.
Kerja dari server DNS sendiri adalah untuk mengkonversi dari alamat
IPv4 dan IPv6 ke nama atau sebaliknya. Sehingga sebuah sever DNS dapat
me-resolve (memberi jawaban) atas query (pertanyaan) dari sebuah namaatau alamat
IPv4 maupun IPv6.
Struktur dari database DNS bisa diibaratkan dengan dengan struktur file
dari sebuah sistem operasi UNIX. Seluruh database digambarkan sebagai sebuah
struktur terbalik dari sebuah pohon (tree) dimana pada puncaknya disebut dengan
root node. Pada setiap node dalam tree tersebut mempunyai keterangan (label)
misalnya, .org, .com, .edu, .net, .id dan lain-lainnya, yang relatif rerhadap
puncaknya (parent).Ini bisa diibaratkan dengan relative pathname pada sistem file
UNIX,seperti direktori bin, usr, var, etc dan lain sebagainya. Pada puncak root
node dalam sebuah sistem DNS dinotasikan dengan "." atau "/" pada sistem file
UNIX.
Pada setiap node juga merupakan root dari subtree, atau pada sistem file
UNIX merupakan root direktori dari sebuah direktori. Hal ini pada sistem DNS
disebut dengan nama domain. Pada tiap domain juga memungkinkan nama
subtree dan bisa berbeda pula, hal ini disebut subdomain atau subdirektori pada
sistem file UNIX. Pada bagian subdomainjuga memungkinkan adanya subtree lagi
Dengan adanya DNS server akan mempermudah seseorang untuk
mengingat sebuah nama dibandangkan alamat IP yang dimiliki. DNS
menggunakan arsitektur hierarki dalam pemberian nama, seperti yang kita kenal
adalah struktur pohon (tree).
Tingkat pertama adalah nama domain yang oleh INTERNIC dikategorikan
sebagai berikut:
• .com dipakai oleh perusahaan-perusahaan
• .edu dipakai oleh perguruan tinggi
• .gov dipakai oleh badan-badan pemerintah
• .org dipakai oleh badan-bada yang lain
• untuk pemakaian untuk suatu negera, misalnya: .id untuk indonesia, .uk
untuk inggris, .au untuk australia dan lainnya
Tingkat berikutnya adalah subdomain dimana suatu domain dapat
diterapkan ke berbagai subdomain yang berupa bagian dari domain tersebut.
DNS bekerja dalam modus client-server. Dengan kata lain ada klien yang
mencari nama atau alamat IP dan sebuah server yang memberikan informasi letak
dimana nama atau alamat IP tersebut dapat diakses. Server DNS yang paling
banyak digunakan untuk lingkungan UNIX menggunakan aplikasi BIND
(Berkeley Internet Name Domain).
Contoh proses kerja DNS: seorang klien ingin mengakses sebuah
komputer yang bernama mobius.mobs.edu dalam sebuah domain mobs.edu dapat
menggunakan beberapa perintah seperti nslookup, dig, atau host. Maka sistem
nslookup
Name server lokal
Name server root (.)
Name server edu (edu.)
Name server mobs (mobs.edu.)
Host support (support.mobs.edu.)
Berikut bentuk umum penempatan sebuah DNS Server dalam suatu
jaringan lokal berbasis IPv4:
Web Server
DNS Server
Mail Server
router1
router2
client
client
INTERNET
Gambar 2.11 LingkupKerja server DNS
2.6.3. BIND pada Sistem Operasi Linux
BIND (Berkeley Internet Name Domain)adalah sebuah aplikasi dari DNS
yang dibuat oleh Paul Mockapetris5. BIND adalah Software DNS terbanyak yang
digunakan pada sistem operasi yang berbasis UNIX. BIND bekerja secara
background dengan mendengarkan permintaan klien pada port 53 dengan setingan
default. BIND mengimplementasikan name server internet untuk sejumlah sistem
operasi.
Salah satu versi yang terbaru dan yang digunakan adalah BIND versi 9.
BIND versi 9 telah mendukung secara penuh pengkonversian nama ke alamat
IPv6 sebaliknya. Dimana BIND veri 9 ini telah dapat melakukan pencarian ke
database DNS berdasarkan alamat IPv6 saat berjalan pada sebuah sistem yang
telah memanfaatkan IPv6. Dua fungsi DNS server pada jaringan lokal , yaitu:
1. meningkatkan performa operasi jaringan, seperti web browsing yang
memerlukan hostname lookup.
2. dapat mengembangkan/memperluas jaringan dengan tempat penyimpanan
(repository) secara terpusat mengenai informasi mesin-mesin lokal tanpa
harus meng-kopi seluruh file dari tiap-tiap jaringan.
2.6.3.1. Konfigurasi BIND dengan IPv4
Bentuk umum untuk konfigurasi file BIND untuk program namedyang
berwewenang (authority) dengan IPv4, terletak pada direktori /etc/named.conf
yang bertugas untuk memberikan BIND name server mengenali file zona yang
akan dilayani dan pada direktori /etc/resolv.conf yang berfungsi sebagai resolver
untuk pencarian domain name serta alamat server DNS. File-file konfigurasi
utama yang dibutuhkan untuk menjalakan program: resolv.conf, named.conf,
named.root, forward dan reverse.
a. Berikut contoh file pada /etc/resolv.conf dengan IPv4:
nameserver mobs.edu
b. Berikut contoh konfigurasi /etc/named.conf dengan IPv4:
options {
directory "/var/named"; // letak direktori file
listen-on {any;}; //untuk set port yang akan
file "localhost.zone"; };
zone "rev.localhost" IN { type master;
file "named.local"; //file reverse localhost };
zone "mobs6.edu" IN { type master;
file "mobs6.edu"; //file forward
};
zone "0.168.192.in-addr.arpa" IN { type master;
file "rev.mobs6"; //file reverse
};
c. Berikut adalah bentuk umum file forward mobs6.edu dengan IPv4
d. Berikut adalah bentuk umum file rev.mobs6 dengan IPv4:
$ORIGIN 0.168.192.in-addr.arpa. $TTL 86400
@ IN SOA lnx1.mobs6.edu. root.localhost. ( 1997022700 ; Serial
28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS lnx1.mobs6.edu.
254 IN PTR lnx1.mobs6.edu.
2 IN PTR client.mobs6.edu.
2.6.3.2. Forward DNS dengan IPv6
Pencarian forward DNS menggunakan sebuah nama internet domain untuk
mencari sebuah alamat IP. Sedangkan untuk pencarian reverse DNS
menggunakan alamat IP internet untuk mencari sebuah nama domain. Saat
melakukan pencarian dengan menggunakan alamat dari sebuah lingkungan web
melalui browser, pencarian alamat tersebut biasanya disebut dengan URL
(Uniform Resource Locator). Pencarian forward DNS adalah model pencarian
yang paling umum digunakan, mengingat manusia lebih mudah mengingat nama
dibandingkan dengan alamat IP (angka).
Untuk lookup forward IPv6 (konvesi dari nama ke alamat IPv6), BIND
versi 9 mendukung record A6 dan AAAA walaupun menggunakan IPv6. Dimana
penggunaan record AAAA yang sebenarnya berjalan pada IPv4, hal ini dilakukan
karena pada saat ini masih banyak sistem yang memanfaatkan pencarian jenis
record AAAA.
Untuk penggunaan record jenis A6 lebih sulit dibandingkan dengan
oleh sistem operasi pada saat ini hanya mendukung pencarian jenis AAAA.
Meskipun record jenis A6 ini memberikan informasi yang sama dengan record
AAAA.
2.6.3.3. Reverse DNS dengan IPv6
Reverse DNS adalah sebuah cara untuk mengasosiasikan sebuah alamat IP
dengan domain name yang telah di bentuk. Untuk mengenali reverse DNS akan
terdapat di dalam porsi PTR (pointer) dari file zona IP yang diisikan. File zona IP
berisikan seluruh IP dan domain name yang dapat diasosiasikan, tiap asosiasi
berguna untuk melayani sebuah kebutuhan yang berbeda. Reverse DNS harus
berda dalam sebuah daftar domain name yang berkualifikasi penuh (
fully-qualified).
Untuk reverse lookup IPv6 (pencarian dari alamat IPv6 ke nama), BIND
versi 9 mendukung pencarian dengan format baru, yaitu bitstring yang digunakan
dalam domain IP6.arpa dan juga mendukung format lama, yaitu format nibble
yang digunakan dalam domain IP6.int.
2.6.4. Cara Kerja DNS dengan IPv6
Ada dua model record pencarian alamat baru dalam DNS untuk IPv6, yang
mendukung untuk mengurangi perawatan dan mobilitas yang telah diresmikan
utnuk IPv6. Dua model record ini telah tersedia didalam BIND versi 9, yang telah
sebelumnya telah dilakukan uji coba terlebih dahulu. A6 dan AAAA records, dan
masukan ke DNS dengan IPv6, tanpa memberikan kesulitan pengkodean (
hard-coding) pada lahan alamat provider.
Jaringan IPv6 juga dapat menggunakan AAAA record untuk masa transisi
antara jaringan IPv4 dan IPv6. AAAA record telah didiukung oleh BIND versi
lama, seperti BIND versi 8. Untuk BIND versi 9 mendukung seluruh daftar IPv6
dan pencarian alamat ke nama (address-to name-lookups). BIND juga dapat
menerima koneksi melalui IPv6 (AF_INET6) dan menggunakan alamat IPv6
untuk melakukan pertanyaan saat menjalankan sistem IPv6.
Sebagai catatan, BIND resolver (pemecah masalah) belum dapat
menempatkan (ported) untuk berkomunikasi melalui koneksi IPv6. Dengan
menggunakan pemanggilan fungsi getaddrinfo() dan getnameinfo(), aplikasi IPv6
dapat mengembalikan informasi alamat IPv6 yang terkandung didalam AAAA
record dan PTR record melalui sebuah jaringan IPv4.
2.6.4.1. Konversi alamat IPv6 dengan Format Nibble
Format nibble yang digunakan dari alamat ke namadalam DNS adalah
format lama. Tetapi format ini masih digunakan dalam mendukung
kompatibilitas kebelakang untuk aplikasi IPv6 yang ada. Hasil pengkonversian
dari alamat ke nama dengan format ini sama dengan hasil pengkonversian pada
IPv4. Dimana format nibble menggunakan pembatasan pada kelipatan 4 bit
dengan label ip6.int.. Contoh penulisan alamat dengan format nibble untuk host
dengan alamat 3ffe:8050:201:1860:42::1. Contoh penulisan alamat dalam format
$ORIGIN 0.6.8.1 .1.0.2.0.5.0.8.e.f.f.3.ip6.int.
1.0.0.0.0.0.0.0.0.0.0.0.2.4.0.0 IN PTR host.mobs.edu.
2.6.4.2. Konversi alamat IPv6 ke nama dengan Format Bitstring
Label bistring dapat dimulai dan diakhiri pada semua batasan bit, hal ini
lebih baik dibandingkan dengan format nibble yang dibatasi tiap kelipatan 4.
Label bistring menggunakan IP6.arpa.. Contoh penulisan alamat dengan format
bitstring untuk host dengan alamat 3ffe:8050:201:1860:42::1. Contoh penulisan
alamat dalam format bitstring dapat dilihat seperti berikut:
$ORIGIN \[x3ffe805002011860/64].ip6.arpa.
\[]x0042000000000001/64] IN PTR host.mobs.edu.
2.7. Pemrograman Shell
Shell merupakan nama yang diberikan untuk suatu program yang
berfungsi untuk menjembatani user dengan sistem operasi UNIX (Susanto, 2001).
Shell adalah bahasa penterjemah perintah (command interpreter language) atau
sebuah prosesor makro yang menjalankan perintah (Rofiq Yuliardi 2002). Shell
menerima setiap perintah dari user dan menjalankan sesuai dengan fungsinya.
Dengan kata lain Shell adalah penterjemah perintah (command interpreter).
Sebagai sebuah interpreter shell juga mempunyai kemampuan untuk
menjalankan sekumpulan perintah. Perintah-perintah itu disimpan dalam satu file
Syscall
Dev Driver
Aplication Utility
SHELL
Kernel
Hardware User
Gambar 2.12 Arsitektur Sistem Linux dan lokasi SHELL
2.7.1. Jenis-jenis Shell
Ada beberapa jenis pemrograman shell pada UNIX antara lain (Budi
Susanto, 2001) :
a. csh (c shell) : suatu shell yang sintaknya mirip dengan bahasa C.
b. tcsh : c shell dengan penambahan karakteristik.
c. ksh (korn shell) : Korn shell merupakan shell yang dikembangkan melalui
laboratorium Bell, AT&T oleh David Korn.
d. zsh, pdksh : keduanya adalah turunan dari korn shell dengan beberapa penambahan seperti TC shell.
e. sh, bash (shell, bourne again shell) : shell yang paling banyak digunakan.
2.7.2. Bash Shell
Bash adalah singkatan dari Bourne AgainShell. Bash adalah suatu bahasa
sistem operasi GNU. Bash kompatibel dengan shell sh dan ditambah dengan
kemampuan atau karakteristik yang dimiliki oleh Korn Shell (ksh) dan C Shell
(csh) (Wahana, 2003).
Sebagai sebuah programming language, bash memungkinkan user dapat
memprogram secara terstruktur. Namun sebagai command language, bash
memungkinkan user untuk mengontrol eksekusi.
Sebagai command language, Bourne Shell memiliki karakteristik sebagai
berikut :
Eksekusi Program : Memungkinkan menjalankan program secara
berurutan maupun paralel.
Pembuatan File : Dapat membuat file yang baru dan menambah isi
dari file yang sudah ada.
Argument Passing : Memungkinkan untuk melewatkan argumen ke
program melalui baris perintah maupun environment variabel.
Eksekusi Program Berkondisi : Memungkinkan untuk menjalankan
program berdasarkan pada keberhasilan atau kegagalan program lain.
Predefined Procedures : User dapat menyusun suatu script yang
mendefinisikan suatu urutan program yang akan di eksekusi.
Sedangkan sebagai programming language, bash memiliki karakteristik
sebagai berikut :
Variables : Dapat mendefinisikan variabel dan melakukan operasi
Structured Language Constructs : Menyediakan struktur sequence,
selection dan iterasi.
Scope : User dapat membatasi ruang lingkup dimana antara variabel
dan program dapat saling mengenal.
Macro Substitution : Bash menyediakan macro dan header file.
Subroutines : User dapat menulis dan memanggil suatu subroutin dan
memungkinkan untuk membuat suatu rekursi didalamnya.
Berikut adalah contoh penulisan bash script dalam suatu konsole :
[root@linux /]# echo “hello world”
Script diatas ditulis langsung dalam konsol dan jika program dijalankan maka
akan langsung menampilkan pesan dalam bentuk sebagai berikut :
[root@linux /]# echo “hello world” hello word
[root@linux /]#
Dan dapat pula program ditulis dalam sebuah script. Penulisan script adalah
sebagai berikut :
#! /bin/sh
echo “hello world” echo “selamat pagi”
Ketika program dijalankan maka program tersebut akan menampilkan tulisan
berupa :
hello world selamat pagi [root@linux /]#
Bash adalah suatu bahasa pemrograman yang dapat dijalankan dengan
digunakan untuk pembatasan akses oleh user (file permission). Untuk dapat
menjalankan script bash, user harus mengganti mode file dengan perintah chmod.
File permission di Linux memiliki tiga mode yang berbeda untuk tiga
pengguna. Yaitu mode baca (read), tulis (write) dan eksekusi (execution). Ketiga
mode ini dimiliki oleh masing-masing pengguna.
User Group Other
chmod rwx rwx rwx
File permission biasanya hanya mengijinkan user untuk mengeksekusi
script, namun tidak menutup kemungkinan penguna lain yang masih berada dalam
satu group atau pengguna lain dapat mengeksekusi program tersebut.
Dari script diatas dimisalkan disimpan dalam file hello di directori home.
Maka untuk mengaktifkan mode eksekusi script hello diatas adalah dengan cara :
[root@linux /]# chmod 755 /home/hello
Dan untuk menjalankan script diatas dapat dituliskan :
[root@linux /]# /home/hello
Namum apabila user berada dalam direktori dimana file itu berada, maka user
dapat menamggil dengan perintah :
[root@linux /]# ./hello
2.8. Pemrograman Perl
Perl singkatan dari “Practical Extraction and Report Language”
ditemukan tahun 1986 oleh Larry Wall, untuk mengatasi kerumitan