1. Routing Langsung dan Tidak Langsung
Seperti telah disebutkansebelumnya, proses pengiriman datagram IP
selalu menggunakan tabel routing. Tabel routing berisi informasi yang
diperlukan untuk menentukan ke mana datagram harus di kirim. Datagram
dapat dikirim langsung ke host tujuan atau harus melalui host lain
terlebih dahulu tergantung pada tabel routing.
Gambar Jaringan TCP/IP
Gambar diatas memperlihatkan jaringan TCP/IP yang menggunakan
teknologi Ethernet. Pada jaringan tersebut host osiris mengirimkan data
ke host seth, alamat tujuan datagram adalah seth dan alamat sumber
datagram adalah osiris. Frame yang dikirimkan oleh host osiris juga
memiliki alamat tujuan frame seth dan alamat sumbernya adalah osiris.
Pada saat osiris mengirimkan frame, seth membaca bahwa frame tersebut
ditujukan kepada alamat ethernetnya. Setelah melepas header frame, seth
kemudian mengetahui bahwa IP address tujuan datagram tersebut juga
adalah IP addressnya. Dengan demikian set meneruskan datagram ke lapisan
transport untuk diproses lebih lanjut. Komunikasi model seperti ini
disebut sebagai routing langsung.
Gambar Routing langsung
Pada gambar diatas terlihat bahwa osiris dan anubis terletak pada
jaringan Ethernet yang berbeda. Kedua jaringan tersebut dihubungkan oleh
khensu. Khensu memiliki lebih dari satu interface dan dapat melewatkan
datagram daari satu interface ke intreface lain (atau bertindak sebagai
router). Ketika mengirimkan data ke anubis, osiris memeriksa tabel
routing dan mengetahui bahwa data tersebut harus melewati khensu
terlebih dahulu. Dengan kondisi seperti ini datagram yang dikirim osiris
ke anubis memiliki alamat tujuan anubis dan alamat sumber osiris tetapi
frame ethernet yang dikirimnya diberi alamat tujuan khensu dan alamat
sumber osiris.
Gambar Routing tak langsung
Ketika osiris mengirimkan frame ke jaringan, khensu membaca bahwa
alamat ethernet yang dituju frame tersebut adalah alamat ethernetnya.
Ketika khensu melepas header frame, diketahui bahwa host yang dituju
oleh datagram adalah host anubis. Khensu kemudian memeriksa tabel
routing yang dimilikinya untuk meneruskan datagram tersebut. Dari hasil
pemeriksaan tabel routing, khensu mengetahui bahwa anubis terletak dalam
satu jaringan ethernet dengannya. Dengan demikian datagram tersebut
dapat langsung disampaikan oleh khensu ke anubis. Pada pengiriman data
tersebut, alamat tujuan dan sumber datagram tetap anubis dan osiris
tetapi alamat tujuan dan sumber frame Ethernet menjadi anubis dan
khensu. Komunikasi seperti ini disebut sebagai routing tak langsung
karena untuk mencapai host tujuan, datagram harus melewati host lain
yang bertidak sebagai router.
Pada dua kasus diatas terlihat proses yang terjadi pada lapisan
internet ketika mengirimkan dan menerima datagram. Pada saat mengirimkan
datagram, host harus memeriksa apakah alamat tujuan datagram terletak
pada jaringan yang sama atau tidak. Jika lamat tujuan datagram terletak
pada jaringan yang sama , datagram dapat langsung disampaikan. Jika
ternyata alamat tujuan datagram tidak terletak pada jaringan yang sama,
datagram tersebut harus disampaikan melalui host lain yang bertindak
sebagai router. Pada saat menerima datagram host harus memeriksa apakah
ia merukapakan tujuan dari datagram tersebut. Jika memang demikian maka
data diteruskan ke lapisan transport. Jika ia bukan tujuan dari datagram
tersebut, maka datagram tersebut dibuang. Jika host yang menerima
datagram tersebut sebuah router, maka ia meneruskan datagram ke
interface yang menuju alamat tujuan datagram.
2. Jenis Konfigurasi Routing
Konfigurasi routing secara umum terdiri dari 3 macam yaitu :
2.1 Minimal Routing
Dari namanya dapat diketahui bahwa ini adalah konfigurasi yang paling
sederhana tapi mutlak diperlukan. Biasanya minimal routing dipasang
pada network yang terisolasi dari network lain atau dengan kata lain
hanya pemakaian lokal saja.
2.2 Static Routing
Konfigurasi routing jenis ini biasanya dibangun dalam network yang
hanya mempunyai beberapa gateway, umumnya tidak lebih dari 2 atau 3.
Static routing dibuat secara manual pada masing-masing gateway. Jenis
ini masih memungkinkan untuk jaringan kecil dan stabil. Stabil dalam
arti kata jarang down. Jaringan yang tidak stabil yang dipasang
static routing dapat membuat kacau seluruh routing, karena tabel routing
yang diberikan oleh gateway tidak benar sehingga paket data yang
seharusnya tidak bisa diteruskan masih saja dicoba sehingga menghabiskan
bandwith. Terlebih menyusahkan lagi apabila network semakin berkembang.
Setiap penambahan sebuah router, maka router yang telah ada sebelumnya
harus diberikan tabel routing tambahan secara manual. Jadi jelas, static
routing tidak mungkin dipakai untuk jaringan besar, karena membutuh
effort yang besar untuk mengupdatenya.
2.3 Dynamic Routing
Dalam sebuah network dimana terdapat jalur routing lebih dari satu
rute untuk mencapat tujuan yang sama biasanya menggunakan dynamic
routing. Dan juga selain itu network besar yang terdapat lebih dari 3
gateway. Dengan dynamic routing, tinggal menjalankan routing protokol
yang dipilih dan biarkan bekerja. Secara otomatis tabel routing yang
terbaru akan didapatkan.
Seperti dua sisi uang, dynamic routing selain menguntungkan juga
sedikit merugikan. Dynamic routing memerlukan routing protokol untuk
membuat tabel routing dan routing protokol ini bisa memakan resource
komputer.
3. Routing Protocol
Protokol routing merupakan aturan yang mempertukarkan informasi
routing yang nantinya akan membentuk tabel routing sedangkan routing
adalah aksi pengiriman-pengiriman paket data berdasarkan tabel routing
tadi.
Semua routing protokol bertujuan mencari rute tersingkat untuk
mencapai tujuan. Dan masing-masing protokol mempunyai cara dan metodenya
sendiri-sendiri. Secara garis besar, routing protokol dibagi menjadi
Interior Routing Protocol dan Exterior Routing Protocol. Keduanya akan
diterangkan sebagai berikut :
3.1. Interior Routing Protocol
Sesuai namanya, interior berarti bagian dalam. Dan interior routing
protocol digunakan dalam sebuah network yang dinamakan autonomus systems
(AS) . AS dapat diartikan sebagai sebuah network (bisa besar atau pun
kecil) yang berada dalam satu kendali teknik. AS bisa terdiri dari
beberapa sub network yang masing-masingnya mempunyai gateway untuk
saling berhubungan. Interior routing protocol mempunyai beberapa macam
implemantasi protokol, yaitu :
3.1.1. RIP (Routing Information Protocol)
Merupakan protokol routing yang paling umum dijumpai karena biasanya
sudah included dalam sebuah sistem operasi, biasanya unix atau novell.
RIP memakai metode distance-vector algoritma. Algoritma ini bekerja
dengan menambahkan satu angka metrik kepada ruting apabila melewati satu
gateway. Satu kali data melewati satu gateway maka angka metriknya
bertambah satu ( atau dengan kata lain naik satu hop ). RIP hanya bisa
menangani 15 hop, jika lebih maka host tujuan dianggap tidak dapat
dijangkau.
Oleh karena alasan tadi maka RIP tidak mungkin untuk diterapkan di
sebuah AS yang besar. Selain itu RIP juga mempunyai kekurangan dalam hal
network masking. Namun kabar baiknya, implementasi RIP tidak terlalu
sulit ika dibandingkan dengan OSPF yang akan diterangkan berikut ini.
3.1.2. OSPF (Open Shortest Path First)
Merupakan protokol routing yang kompleks dan memakan resource
komputer. Dengan protokol ini, route dapat dapat dibagi menjadi beberapa
jalan. Maksudnya untuk mencapai host tujuan dimungkinkan untuk
mecapainya melalui dua atau lebih rute secara paralel.
Lebih jauh tentang RIP dan OSPF akan diterangkan lebih lanjut.
3.2. Exterior Protocol
AS merupakan sebuah network dengan sistem policy yang pegang dalam
satu pusat kendali. Internet terdiri dari ribuan AS yang saling
terhubung. Untuk bisa saling berhubungan antara AS, maka tiap-tiap AS
menggunakan exterior protocol untuk pertukaran informasi routingnya.
Informasi routing yang dipertukarkan bernama reachability information
(informasi keterjangkauan). Tidak banyak router yang menjalankan
routing protokol ini. Hanya router utama dari sebuah AS yang
menjalankannya. Dan untuk terhubung ke internet setaip AS harus
mempunyai nomor sendiri. Protokol yang mengimplementasikan exterior :
3.2.1. EGP (Exterior Gateway Protocol)
Protokol ini mengumumkan ke AS lainnya tentang network yang berada di
bawahnya. Pengumumannya kira-kira berbunyi : " Kalau hendak pergi ke AS
nomor sekian dengan nomor network sekian, maka silahkan melewati saya" .
Router utama menerima routing dari router-router AS yang lain tanpa
mengevaluasinya. Maksudnya, rute untuk ke sebuah AS bisa jadi lebih dari
satu rute dan EGP menerima semuanya tanpa mempertimbangkan rute
terbaik.
3.2.2. BGP (Border Gateway Protocol)
BGP sudah mempertimbangkan rute terbaik untuk dipilih. Seperti EGP, BGP juga mepertukarkan reachability information.
INSTALASI WAN
KOMPONEN – KOMPONEN WAN
CO (Central Office)
Pusat pensaklaran dimana hubungan dintara beberapa saluran pelanggan dibuat.
CPE (Costumer Provided Equipment)
Peralatan networking seperti workstation, router, POTS splitter, dll.
yang dipasang pada pelanggan dan dikoneksi ke peralatan networking jasa
telekomunikasi.
CPE (Costumer Provided Equipment) adalah peralatan networking (seperti
workstation, router, POTS splitter, dll) yang dipasang pada pelanggan
dan terhubung dengan peralatan networking jasa telekomunikasi. tetapi
peralatan pelanggan disini terpisah dengan peralatan perusahaan
telekomunikasi tersebut.
Contoh CPE yang dimiliki pelanggan pada umumnya router, switch, dan modem.
CPE juga mengacu pada perangkat yang dapat mentranslasikan data agar
dapat dikenal oleh protokol WAN, misalnya : Frame-Relay, MPLS atau ATM
T-1, dan lain-lain
DCE (Data Circuit Terminating Equipment)
DCE (data circuit terminating equipment) adalah suatu piranti (biasanya
berupa router disisi ISP) yang berkomunikasi dengan DTE dan juga WAN
Cloud. DCE ini merupakan piranti yang memasok clocking (denyut sinyal
sinkronisasi) kepada piranti DTE. Sebuah modem atau CSU/DSU disisi
pelanggan bisa diklasifikasikan sebagai DCE. DTE dan DCE bisa saja beupa
piranti yang serupa / router akan tetapi mempunyai peran dan fungsi
yang berbeda
DCE (Data Circuit Terminating Equipment) adalah perangkat yang terdapat
antara peralatan DTE (Data Terminal Equipment) dan data transmission
circuit. DCE berfungsi mentranslasikan data dari DTE agar dapat
dimengerti oleh protokol WAN, contohnya : PPP, ATM, FrameDelay,
dll).oleh karena itu DCE juga disebut peralatan komunikasi data dan
operator peralatan data.
Dalam fungsinya mentranslasikan data, DCE melakukan konversi sinyal clock sehingga dapat menjadi bagian dari DTE.
pada umumnya DTE adalah komputer, dan DCE adalah modem.
Kedua perangkat tersebut dapat kita hubungkan dengan menggunakan kabel
serial DCE. ketika dihubungkan maka disalah satu sisi antara kedua
perangkat tersebut terdapat sinyal clock. tetapi jika kita menghubungkan
kedua perangkat tersebut tanpa modem atau media penerjemah di antara
kedua perangkat tersebut, maka kita dapat menggunakan crossover cable
ethernet. perbedaannya dengan crossover cable biasa yaitu dalam
mengkonfigurasi interface crossover biasa masih menggunakan
fastethernet, sedangkan untuk crossover cable ethernet menggunakan
ethernet.
DTE(Data Terminal Equipment)
DTE (Data terminal equipment) adalah suatu piranti disisi link jaringan
WAN yang berada pada sisi pelanggan (biasanya gedung / rumah pelanggan)
yang mengirim dan menerima data. DTE (biasanya berupa router jaringan
atau bisa saja berupa komputer atau multiplexer) adalah merupakan tanda
marka antara jaringan WAN dan jaringan LAN. DTE ini merupakan piranti
yang akan berkomunikasi dengan piranti DCE disisi ujung lainnya.
DTE(Data Terminal Equipment) adalah sirkuit akhir yang mengubah
informasi pengguna menjadi sinyal. Perangkat terminal data, biasanya
mengacu pada komputer yang anda gunakan dengan sebuah modem. DTE
berfungsi sebagai sumber data dan komunikasi data.
DTE adalah terminal atau komputer sedangkan DCE adalah modem atau perangkat lain milik operator.
pada umumnya, perangkat DCE menyediakan sinyal clock(clocking internal)
dan perangkat DTE menghubungkan pada clock yang di berikan (clocking
eksternal).
Peralatan terminal data (DTE) adalah instrumen akhir yang mengubah
informasi pengguna ke reconverts sinyal atau sinyal yang diterima. Ini
juga dapat disebut ekor sirkuit. Sebuah perangkat DTE berkomunikasi
dengan data circuit-terminating equipment (DCE). The DTE / DCE
klasifikasi ini diperkenalkan oleh IBM.
Dua jenis perangkat diasumsikan pada masing-masing ujung kabel yang
saling berhubungan untuk kasus hanya menambahkan DTE ke topologi
(misalnya ke sebuah hub, DCE), yang juga membawa kasus sepele yang
kurang interkoneksi perangkat dari jenis yang sama: DTE -DTE atau
DCE-DCE. Kasus-kasus seperti perlu kabel crossover, seperti untuk
Ethernet atau null modem untuk RS-232.
Sebuah DTE adalah unit fungsional stasiun data yang berfungsi sebagai
sumber data atau data yang tenggelam dan menyediakan komunikasi data
fungsi kontrol harus dilakukan sesuai dengan protokol link.
Peralatan terminal data mungkin satu peralatan atau subsistem yang
saling terkait dari berbagai potongan-potongan peralatan yang melakukan
semua fungsi yang diperlukan yang diperlukan untuk mengizinkan pengguna
untuk berkomunikasi. Seorang pengguna berinteraksi dengan DTE (misalnya
melalui antarmuka mesin-manusia), atau mungkin DTE pengguna.
Biasanya, perangkat DTE terminal (atau komputer meniru terminal), dan DCE adalah modem.
DTE biasanya konektor laki-laki dan DCE adalah konektor perempuan.
Sebagai aturan umum, bahwa perangkat DCE menyediakan sinyal clock
(internal clocking) dan mensinkronisasi perangkat DTE pada jam yang
disediakan (clocking eksternal). D-sub konektor mengikuti peraturan lain
untuk pin penugasan.
* 25 pin DTE perangkat transmisi pada pin 2 dan terima pada pin 3.
* 25 pin DCE perangkat transmisi pada pin 3 dan terima pada pin 2.
* 9 pin DTE perangkat transmisi pada pin 3 dan terima pada pin 2.
* 9 pin DCE perangkat transmisi pada pin 2 dan terima pada pin 3.
Istilah ini juga umumnya digunakan dalam peralatan Cisco Telco dan
konteks untuk menunjukkan suatu perangkat [klarifikasi diperlukan] tidak
dapat menghasilkan sinyal clock, maka PC ke PC koneksi Ethernet juga
dapat disebut DTE DTE ke komunikasi. Komunikasi ini dilakukan melalui
kabel "crossover Ethernet sebagai lawan dari PC ke DCE (hub, switch,
atau jembatan) komunikasi yang dilakukan melalui kabel Ethernet lurus.
CSU(Channel Service Unit) / DSU(Data Service Unit)
CSU(Channel Service Unit) / DSU(Data Service Unit) adalah perangkat
digital-interface yang digunakan untuk menghubungkan perangkat DTE
seperti Router ke jalur digital.
CSU/DSU bekerja pada lapisan 1 (lapisan fisik) dari model OSI. CSU
berbeda dengan DSU. DSU merupakan bagian dari kartu antarmuka yang
dimasukkan ke DTE.
Loop Local
Local Loops adalah perpanjangan kabel line telpon dari Demarc menuju
kantor pusat Telco yang mana pemeliharaannya difihak Telco, bukan
tanggung jawab pelanggan. Kabel ini bisa berupa kabel UTP, fiber optic
atau gabungan keduanya dan juga media lainnya.
Loop Local adalah sirkuit atau jalur yang menghubungkan antara demarc
dengan CO (Central Office). loop local dapat menghentikan jalur yang
dimiliki oleh CLEC(Competitif Local Exchange Carrier), dan ditempatkan
dalam sebuah POP yang merupakan salah satu CO.
Demarc
Demarc atau titik demarkasi adalah titik yang merupakan interface
jaringan dimana kabel perusahaan telpon terhubung dengan rumah pelanggan
Demarc adalah batas pemisah antara CPE dan CO. Secara fisikal
demarcation point adalah kotak yang berisi kabel, yang berlokasi di CPE
dan mengubungkan kabel CPE ke local loops. Demarcation point biasanya
diletakkan di tempat dimana teknisi mudah untuk mengaksesnya. Sehingga
akan mudah diketahui dimana yang harus diperbaiki jika suatu saat
terjadi kerusakan.
WAN cloud
merupakan hirarchi Trunk, Switches, dan CO (central office) yang
membentuk jaringan telephone lines. Struktur fisik bisa bervariasi, dan
jaringan-2 yang berbeda dengan titik koneksi bersama bisa saja saling
overlap, makanya direpresentasikan dalam bentuk WAN cloud. Sisi
pentingnya adalah bahwa data masuk melalui jaringan telpon, menjelajah
sepanjang line telpon, dan tiba pada tepat pada alamat tujuannya.
PSE (packet switching exchange)
adalah suatu Switch pada jaringan carrier packet switched. PSE-2 ini merupakan titik-titik penghubung dengan WAN cloud
Perangkat WAN
WAN menghubungkan beberapa LAN melalui jalur komunikasi dari service
provider. Karena jalur komunikasi tidak bisa langsung dimasukkan ke LAN
maka diperlukan beberapa perangkat interface. Perangkat–perangkat
tersebut antara lain:
1) Router
LAN mengirimkan data ke Router, kemudian Router akan menganalisa
berdasarkan informasi alamat pada layer 3. Kemudian Router akan
meneruskan data tersebut ke interface WAN yang sesuai berdasarkan
routing table yang dimilikinya. Router adalah perangkat jaringan yang
aktif dan intelegent dan dapat berpartisipasi dalam manajemen jaringan.
Router mengatur jaringan dengan menyediakan kontrol dinamis melalui
sumber daya dan mendukung tugas dan tujuan dari jaringan. Beberapa
tujuan tersebut antara lain konektivitas, perfomansi yang reliabel,
kontrol manajemen dan fleksibilitas.
Router adalah sebuah komputer khusus, router mempunyai komponen-komponen
dasar yang sama dengan PC desktop, Router mempunyai CPU, memori, sistem
bus, dan banyak interface input/output. Router didisain untuk melakukan
tugas khusus yang tidak dimiliki oleh PC desktop. Contoh, router
menghubungkan dan mengijinkan komunikasi antara dua jaringan dan
menentukan jalur data yang melalui koneksi jaringan.
Sama dengan PC, router membutuhkan operating system untuk menjalankan
fungsinya, yaitu Internetwork Operating System (IOS) software untuk
menjalankan file-file konfigurasinya. Konfigurasi-konfigurasi ini berisi
perintah-perintah dan parameter yang mengontrol aliran trafik yang
masuk dan keluar dari router. Router menggunakan protokol routing untuk
menentukan jalur terbaik.
Komponen utama dari router adalah random-access memory (RAM),
nonvolatile random-access memory (NVRAM), flash memory, read-only memory
(ROM) dan interface-interface.
RAM mempunyai fungsi dan karakteristik sebagai berikut:
− Menyimpan tabel routing
− Menangani cache ARP
− Menangani cache fast-switching
− Menangani packet buffering dan share RAM
− Menangani antrian paket
− Menyediakan temporary memory untuk file konfigurasi pada saat router bekerja
− Data akan hilang pada saat router dimatikan atau restart
NVRAM mempunyai fungsi dan karakteristik sebagai berikut:
− Menyediakan storage untuk file startup configuration
− Data masih ada walaupun router dimatikan atau restart
Flash memory mempunyai fungsi dan karakteristik sebagai berikut:
− Menangani IOS image
− Memberi akses software untuk melakukan update tanpa harus melepas chip pada prosesornya
− Data masih ada ketika router dimatikan atau restart
− Dapat menyimpan beberapa versi software IOS
− Merupakan tipe dari Electrically Erasable Programmable Read-only Memory (EEPROM)
ROM mempunyai fungsi dan karakteristik sebagai berikut:
− Menangani perintah-perintah untuk keperluan diagnosa power-on selt test (POST)
− Menyimpan program bootstap dan dasar operating system
− Membutuhkan melepas chip pada motherboard pada saat melaukan upgrade software
Interface mempunyai fungsi dan karakteristik sebagai berikut:
− Menghubungkan router ke suatu jaringan sebagai keluar masuknya paket data
− Hanya berada dalam motherboard atau sebagai module yang terpisah
2) CSU/DSU
Jalur komunikasi membutuhkan sinyal dengan format yang sesuai. Untuk
jalur digital, sebuah Channel Service Unit (CSU) dan Data Service Unit
(DSU) dibutuhkan. Keduanya sering digabung menjadi sebuah perangkat yang
disebut CSU/DSU.
3) Modem
Modem adalah sebuah perangkat dibutuhkan untuk mempersiapkan data untuk
transmisi melalui local loop. Modem lebih dibutuhkan untuk jalur
komunikasi analog dibandingkan digital. Modem mengirim data melalui
jalur telepon dengan memodulasi dan demodulasi sinyal. Sinyal digital
ditumpangkan ke sinyal suara analog yang dimodulasi untuk ditransmisikan
4)Repeater
Fasilitas paling sederhana dalam internetwork adalah repeater. Fungsi
utama repeater adalah menerima sinyal dari satu segmen kabel LAN dan
memancarkannya kembali dengan kekuatan yang sama dengan sinyal asli pada
segmen (satu atau lebih) kabel LAN yang lain. Repeater beroperasi pada
Physical layer dalam model jaringan OSI. Jumlah repeater biasanya
ditentukan oleh implementasi LAN tertentu. Penggunaan repeater antara
dua atau lebih segmen kabel LAN mengharuskan penggunaan protocol
Physical layer yang sama antara segmen-segmen kabel tersebut. Sebagai
contoh, repeater dapat menghubungkan dua buah segmen kabel Ethernet
10BASE2
5)Bridge
Sebuah bridge juga meneruskan paket dari satu segmen LAN ke segmen lain,
tetapi bridge lebih fleksibel dan lebih cerdas daripada repeater.
Bridge menghubungkan segmen-segmen LAN di Data Link layer pada model
OSI. Beberapa bridge mempelajari alamat Link setiap devais yang
terhubung dengannya pada tingkat Data Link dan dapat mengatur alur frame
berdasarkan alamat tersebut. Semua LAN yang terhubung dengan bridge
dianggap sebagai satu subnetwork dan alamat Data Link setiap devais
harus unik. LAN yang terhubung dengan menggunakan bridge umum disebut
sebagai Extended LAN. Bridge dapat menghubungkan jaringan yang
menggunakan metode transmisi berbeda dan/atau medium access control yang
berbeda. Misalnya, bridge dapat menghubungkan Ethernet baseband dengan
Ethernet broadband. Bridge mungkin juga menghubungkan LAN Ethernet
dengan LAN token ring, untuk fungsi ini, bridge harus mampu mengatasi
perbedaan format paket setiap Data Link. Bridge mampu memisahkan
sebagian trafik karena mengimplementasikan mekanisme pemfilteran frame
(frame filtering). Mekanisme yang digunakan di bridge ini umum disebut
sebagai store and forward sebab frame yang diterima disimpan sementara
di bridge dan kemudian di-forward ke worksation di LAN lain. Walaupun
demikian, broadcast traffic yang dibangkitkan dalam LAN tidak dapat
difilter oleh bridge.
6)Switch
Di samping repeater, bridge, dan router, terdapat sejumlah tipe
peralatan switching lain yang dapat digunakan dalam membangun
internetwork. Tujuan utama menghubungkan LAN menggunakan repeater dan
bridge adalah meningkatkan keleluasaan atas beberapa keterbatasan media
komunikasi LAN. Alat penghubung ini mampu menambah jumlah perangkat
jaringan yang terhubung dalam LAN. Peralatan switch didesain dengan
tujuan yang berbeda dengan repeater, bridge, dan router. Jika perangkat
jaringan yang terhubung dalam sebuah LAN menjadi terlalu banyak maka
kebutuhan transmisi meningkat melebihi kapasitas yang mampu dilayani
oleh medium komunikasi jaringan. Salah satu ide penggunaan router adalah
mengisolasikan group f isik jaringan dengan yang lain. Penggunaan
router cocok pada sistem internetwork dengan kelompok-kelompok kerja
yang terletak dalam lokasi yang kecil. Lalu lintas data dalam jaringan
kelompok-kelompok kerja ini tentu lebih besar dibandingkan dengan lalu
lintas antar kelompok kerja. Dalam kasus kelompok
Sebelum mulai, diharapkan pembaca
sudah memiliki pengetahuan dasar mengenai TCP/IP karena hal ini
merupakan dasar dari penggunaan IPTables. Ada (sangat) banyak resource
yang mendokumentasikan konsep dasar tentang TCP/IP, baik itu secara
online maupun cetak. Silahkan googling untuk mendapatkannya.
Hal
berikutnya yang harus anda persiapkan adalah sebuah komputer yang
terinstall Linux. Akan lebih baik jika komputer anda memiliki 2 buah network interface card, sebab bisa menjalankan fungsi packet forwarding.
Disarankan anda menggunakan linux dengan kernel 2.4 ke atas, karena
(setahu saya) linux dengan kernel 2.4 ke atas sudah memiliki dukungan
IPTables secara default, sehingga anda tidak perlu mengkompilasi ulang
kernel anda. Bagi anda yang menggunakan kernel 2.2 atau sebelumnya, anda
harus melakukan kompilasi kernel untuk memasukkan dukungan IPTables.
Silahkan lihat tutorial Kompilasi kernel 2.4.x di Linux oleh mas Asfik.
Pendahuluan
IPTables memiliki tiga macam daftar aturan bawaan dalam tabel penyaringan, daftar tersebut dinamakan rantai firewall (firewall chain) atau sering disebut chain saja. Ketiga chain tersebut adalah INPUT, OUTPUT dan FORWARD.
Pada
diagram tersebut, lingkaran menggambarkan ketiga rantai atau chain.
Pada saat sebuah paket sampai pada sebuah lingkaran, maka disitulah
terjadi proses penyaringan. Rantai akan memutuskan nasib paket tersebut.
Apabila keputusannnya adalah DROP, maka paket tersebut akan di-drop.
Tetapi jika rantai memutuskan untuk ACCEPT, maka paket akan dilewatkan
melalui diagram tersebut.
Sebuah
rantai adalah aturan-aturan yang telah ditentukan. Setiap aturan
menyatakan “jika paket memiliki informasi awal (header) seperti ini,
maka inilah yang harus dilakukan terhadap paket”. Jika aturan tersebut
tidak sesuai dengan paket, maka aturan berikutnya akan memproses paket
tersebut. Apabila sampai aturan terakhir yang ada, paket tersebut belum
memenuhi salah satu aturan, maka kernel akan melihat kebijakan bawaan
(default) untuk memutuskan apa yang harus dilakukan kepada paket
tersebut. Ada dua kebijakan bawaan yaitu default DROP dan default
ACCEPT.
Jalannya sebuah paket melalui diagram tersebut bisa dicontohkan sebagai berikut:
Perjalanan paket yang diforward ke host yang lain
1. Paket berada pada jaringan fisik, contoh internet.
2. Paket masuk ke interface jaringan, contoh eth0.
3.
Paket masuk ke chain PREROUTING pada table Mangle. Chain ini berfungsi
untuk me-mangle (menghaluskan) paket, seperti merubah TOS, TTL dan
lain-lain.
4.
Paket masuk ke chain PREROUTING pada tabel nat. Chain ini berfungsi
utamanya untuk melakukan DNAT (Destination Network Address Translation).
5. Paket mengalami keputusan routing, apakah akan diproses oleh host lokal atau diteruskan ke host lain.
6. Paket masuk ke chain FORWARD pada tabel filter. Disinlah proses pemfilteran yang utama terjadi.
7.
Paket masuk ke chain POSTROUTING pada tabel nat. Chain ini berfungsi
utamanya untuk melakukan SNAT (Source Network Address Translation).
8. Paket keluar menuju interface jaringan, contoh eth1.
9. Paket kembali berada pada jaringan fisik, contoh LAN.
Perjalanan paket yang ditujukan bagi host lokal
1. Paket berada dalam jaringan fisik, contoh internet.
2. Paket masuk ke interface jaringan, contoh eth0.
3. Paket masuk ke chain PREROUTING pada tabel mangle.
4. Paket masuk ke chain PREROUTING pada tabel nat.
5. Paket mengalami keputusan routing.
6. Paket masuk ke chain INPUT pada tabel filter untuk mengalami proses penyaringan.
7. Paket akan diterima oleh aplikasi lokal.
Perjalanan paket yang berasal dari host lokal
1. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringan.
2. Paket memasuki chain OUTPUT pada tabel mangle.
3. Paket memasuki chain OUTPUT pada tabel nat.
4. Paket memasuki chain OUTPUT pada tabel filter.
5. Paket mengalami keputusan routing, seperti ke mana paket harus pergi dan melalui interface mana.
6. Paket masuk ke chain POSTROUTING pada tabel NAT.
7. Paket masuk ke interface jaringan, contoh eth0.
8. Paket berada pada jaringan fisik, contoh internet.
1. Sintaks IPTables
iptables [-t table] command [match] [target/jump]
1. Table
IPTables
memiliki 3 buah tabel, yaitu NAT, MANGLE dan FILTER. Penggunannya
disesuaikan dengan sifat dan karakteristik masing-masing. Fungsi dari
masing-masing tabel tersebut sebagai berikut :
- NAT
: Secara umum digunakan untuk melakukan Network Address Translation.
NAT adalah penggantian field alamat asal atau alamat tujuan dari sebuah
paket.
- MANGLE : Digunakan untuk melakukan penghalusan (mangle) paket, seperti TTL, TOS dan MARK.
- FILTER
: Secara umum, inilah pemfilteran paket yang sesungguhnya.. Di sini
bisa dintukan apakah paket akan di-DROP, LOG, ACCEPT atau REJECT
2. Command
Command
pada baris perintah IPTables akan memberitahu apa yang harus dilakukan
terhadap lanjutan sintaks perintah. Umumnya dilakukan penambahan atau
penghapusan sesuatu dari tabel atau yang lain.
Command
|
Keterangan
|
-A
--append
|
Perintah
ini menambahkan aturan pada akhir chain. Aturan akan ditambahkan di
akhir baris pada chain yang bersangkutan, sehingga akan dieksekusi
terakhir
|
-D
--delete
|
Perintah
ini menghapus suatu aturan pada chain. Dilakukan dengan cara
menyebutkan secara lengkap perintah yang ingin dihapus atau dengan
menyebutkan nomor baris dimana perintah akan dihapus.
|
-R
--replace
|
Penggunaannya sama seperti --delete, tetapi command ini menggantinya dengan entry yang baru.
|
-I
--insert
|
Memasukkan
aturan pada suatu baris di chain. Aturan akan dimasukkan pada baris
yang disebutkan, dan aturan awal yang menempati baris tersebut akan
digeser ke bawah. Demikian pula baris-baris selanjutnya.
|
-L
--list
|
Perintah
ini menampilkan semua aturan pada sebuah tabel. Apabila tabel tidak
disebutkan, maka seluruh aturan pada semua tabel akan ditampilkan,
walaupun tidak ada aturan sama sekali pada sebuah tabel. Command ini bisa dikombinasikan dengan option –v (verbose), -n (numeric) dan –x (exact).
|
-F
--flush
|
Perintah ini mengosongkan aturan pada sebuah chain. Apabila chain tidak disebutkan, maka semua chain akan di-flush.
|
-N
--new-chain
|
Perintah tersebut akan membuat chain baru.
|
-X
--delete-chain
|
Perintah
ini akan menghapus chain yang disebutkan. Agar perintah di atas
berhasil, tidak boleh ada aturan lain yang mengacu kepada chain
tersebut.
|
-P
--policy
|
Perintah
ini membuat kebijakan default pada sebuah chain. Sehingga jika ada
sebuah paket yang tidak memenuhi aturan pada baris-baris yang telah
didefinisikan, maka paket akan diperlakukan sesuai dengan kebijakan
default ini.
|
-E
--rename-chain
|
Perintah ini akan merubah nama suatu chain.
|
2. Option
Option digunakan dikombinasikan dengan command tertentu yang akan menghasilkan suatu variasi perintah.
Option
| Command Pemakai
|
Keterangan
|
-v
--verbose
| --list
--append
--insert
--delete
--replace
|
Memberikan output yang lebih detail, utamanya digunakan dengan --list. Jika digunakan dengan --list, akan menampilkam K (x1.000), M (1.000.000) dan G (1.000.000.000).
|
-x
--exact
| --list
|
Memberikan output yang lebih tepat.
|
-n
--numeric
| --list
|
Memberikan
output yang berbentuk angka. Alamat IP dan nomor port akan ditampilkan
dalam bentuk angka dan bukan hostname ataupun nama aplikasi/servis.
|
--line-number
| --list
|
Akan
menampilkan nomor dari daftar aturan. Hal ni akan mempermudah bagi kita
untuk melakukan modifikasi aturan, jika kita mau meyisipkan atau
menghapus aturan dengan nomor tertentu.
|
--modprobe
| All
|
Memerintahkan IPTables untuk memanggil modul tertentu. Bisa digunakan bersamaan dengan semua command.
|
3. Generic Matches
Generic
Matches artinya pendefinisian kriteria yang berlaku secara umum. Dengan
kata lain, sintaks generic matches akan sama untuk semua protokol.
Setelah protokol didefinisikan, maka baru didefinisikan aturan yang
lebih spesifik yang dimiliki oleh protokol tersebut. Hal ini dilakukan
karena tiap-tiap protokol memiliki karakteristik yang berbeda, sehingga
memerlukan perlakuan khusus.
Match
|
Keterangan
|
-p
--protocol
|
Digunakan
untuk mengecek tipe protokol tertentu. Contoh protokol yang umum adalah
TCP, UDP, ICMP dan ALL. Daftar protokol bisa dilihat pada /etc/protocols.
Tanda inversi juga bisa diberlakukan di sini, misal kita menghendaki semua protokol kecuali icmp, maka kita bisa menuliskan --protokol ! icmp yang berarti semua kecuali icmp.
|
-s
--src
--source
|
Kriteria
ini digunakan untuk mencocokkan paket berdasarkan alamat IP asal.
Alamat di sini bisa berberntuk alamat tunggal seperti 192.168.1.1, atau
suatu alamat network menggunakan netmask misal
192.168.1.0/255.255.255.0, atau bisa juga ditulis 192.168.1.0/24 yang
artinya semua alamat 192.168.1.x. Kita juga bisa menggunakan inversi.
|
-d
--dst
--destination
|
Digunakan untuk mecocokkan paket berdasarkan alamat tujuan.Penggunaannya sama dengan match –src
|
-i
--in-interface
|
Match ini berguna untuk mencocokkan paket berdasarkan interface di mana paket datang. Match ini hanya berlaku pada chain INPUT, FORWARD dan PREROUTING
|
-o
--out-interface
|
Berfungsi untuk mencocokkan paket berdasarkan interface di mana paket keluar. Penggunannya sama dengan --in-interface. Berlaku untuk chain OUTPUT, FORWARD dan POSTROUTING
|
4. Implicit Matches
Implicit
Matches adalah match yang spesifik untuk tipe protokol tertentu.
Implicit Match merupakan sekumpulan rule yang akan diload setelah tipe
protokol disebutkan. Ada 3 Implicit Match berlaku untuk tiga jenis
protokol, yaitu TCP matches, UDP matches dan ICMP matches.
a. TCP matches
Match
|
Keterangan
|
--sport
--source-port
|
Match ini berguna untuk mecocokkan paket berdasarkan port asal. Dalam hal ini kia bisa mendefinisikan nomor port atau namaservice-nya. Daftar nama service dan nomor port yang bersesuaian dapat dilihat di /etc/services.
--sport juga
bisa dituliskan untuk range port tertentu. Misalkan kita ingin
mendefinisikan range antara port 22 sampai dengan 80, maka kita bisa
menuliskan --sport 22:80.
Jika
bagian salah satu bagian pada range tersebut kita hilangkan maka hal
itu bisa kita artikan dari port 0, jika bagian kiri yang kita hilangkan,
atau 65535 jika bagian kanan yang kita hilangkan. Contohnya --sport :80 artinya paket dengan port asal nol sampai dengan 80, atau --sport 1024: artinya paket dengan port asal 1024 sampai dengan 65535.Match ini juga mengenal inversi.
|
--dport
--destination-port
|
Penggunaan match ini sama dengan match --source-port.
|
--tcp-flags
|
Digunakan untuk mencocokkan paket berdasarkan TCP flags yang ada pada paket tersebut. Pertama, pengecekan akan mengambil daftar flag yang akan diperbandingkan, dan kedua, akan memeriksa paket yang di-set 1, atau on.
Pada kedua list, masing-masing entry-nya harus dipisahkan oleh koma dan tidak boleh ada spasi antar entry, kecuali spasi antar kedua list. Match ini mengenali SYN,ACK,FIN,RST,URG, PSH. Selain itu kita juga menuliskan ALL dan NONE. Match ini juga bisa menggunakan inversi.
|
--syn
|
Match ini akan memeriksa apakah flag SYN di-set dan ACK dan FIN tidak di-set. Perintah ini sama artinya jika kita menggunakan match--tcp-flags SYN,ACK,FIN SYN
Paket dengan match di atas digunakan untuk melakukan requestkoneksi TCP yang baru terhadap server
|
b. UDP Matches
Karena
bahwa protokol UDP bersifat connectionless, maka tidak ada flags yang
mendeskripsikan status paket untuk untuk membuka atau menutup koneksi.
Paket UDP juga tidak memerlukan acknowledgement. Sehingga Implicit Match
untuk protokol UDP lebih sedikit daripada TCP.
Ada dua macam match untuk UDP:
--sport atau --source-port
--dport atau --destination-port
c. ICMP Matches
Paket ICMP digunakan untuk mengirimkan pesan-pesan kesalahan dan kondisi-kondisi jaringan yang lain.Hanya ada satu implicit match untuk tipe protokol ICMP, yaitu :
--icmp-type
6. Explicit Matches
a. MAC Address
Match
jenis ini berguna untuk melakukan pencocokan paket berdasarkan MAC
source address. Perlu diingat bahwa MAC hanya berfungsi untuk jaringan
yang menggunakan teknologi ethernet.
iptables –A INPUT –m mac –mac-source 00:00:00:00:00:01
b. Multiport Matches
Ekstensi
Multiport Matches digunakan untuk mendefinisikan port atau port range
lebih dari satu, yang berfungsi jika ingin didefinisikan aturan yang
sama untuk beberapa port. Tapi hal yang perlu diingat bahwa kita tidak
bisa menggunakan port matching standard dan multiport matching dalam
waktu yang bersamaan.
iptables –A INPUT –p tcp –m multiport --source-port 22,53,80,110
c. Owner Matches
Penggunaan
match ini untuk mencocokkan paket berdasarkan pembuat atau
pemilik/owner paket tersebut. Match ini bekerja dalam chain OUTPUT, akan
tetapi penggunaan match ini tidak terlalu luas, sebab ada beberapa
proses tidak memiliki owner (??).
iptables –A OUTPUT –m owner --uid-owner 500
Kita
juga bisa memfilter berdasarkan group ID dengan sintaks --gid-owner.
Salah satu penggunannya adalah bisa mencegah user selain yang
dikehendaki untuk mengakses internet misalnya.
d. State Matches
Match
ini mendefinisikan state apa saja yang cocok. Ada 4 state yang berlaku,
yaitu NEW, ESTABLISHED, RELATED dan INVALID. NEW digunakan untuk paket
yang akan memulai koneksi baru. ESTABLISHED digunakan jika koneksi telah
tersambung dan paket-paketnya merupakan bagian dari koneki tersebut.
RELATED digunakan untuk paket-paket yang bukan bagian dari koneksi
tetapi masih berhubungan dengan koneksi tersebut, contohnya adalah FTP
data transfer yang menyertai sebuah koneksi TCP atau UDP. INVALID adalah
paket yang tidak bisa diidentifikasi, bukan merupakan bagian dari
koneksi yang ada.
iptables –A INPUT –m state --state RELATED,ESTABLISHED
7. Target/Jump
Target
atau jump adalah perlakuan yang diberikan terhadap paket-paket yang
memenuhi kriteria atau match. Jump memerlukan sebuah chain yang lain
dalam tabel yang sama. Chain tersebut nantinya akan dimasuki oleh paket
yang memenuhi kriteria. Analoginya ialah chain baru nanti berlaku
sebagai prosedur/fungsi dari program utama. Sebagai contoh dibuat sebuah
chain yang bernama tcp_packets. Setelah ditambahkan aturan-aturan ke
dalam chain tersebut, kemudian chain tersebut akan direferensi dari
chain input.
iptables –A INPUT –p tcp –j tcp_packets
Target
|
Keterangan
|
-j ACCEPT
--jump ACCEPT
|
Ketika paket cocok dengan daftar match dan
target ini diberlakukan, maka paket tidak akan melalui baris-baris
aturan yang lain dalam chain tersebut atau chain yang lain yang
mereferensi chain tersebut. Akan tetapi paket masih akan memasuki chain-chain pada tabel yang lain seperti biasa.
|
-j DROP
--jump DROP
|
Target ini men-drop paket dan menolak untuk memproses lebih jauh. Dalam beberapa kasus mungkin hal ini kurang baik, karena akan meninggalkan dead socket antara client dan server.
Paket
yang menerima target DROP benar-benar mati dan target tidak akan
mengirim informasi tambahan dalam bentuk apapun kepada client atau
server.
|
-j RETURN
--jump RETURN
|
Target
ini akan membuat paket berhenti melintasi aturan-aturan pada chain
dimana paket tersebut menemui target RETURN. Jika chain merupakan subchain dari chain yang lain, maka paket akan kembali ke superset chain di atasnya dan masuk ke baris aturan berikutnya. Apabila chain adalah chain utama misalnya INPUT, maka paket akan dikembalikan kepada kebijakan default dari chaintersebut.
|
-j MIRROR
|
Apabila
kompuuter A menjalankan target seperti contoh di atas, kemudian
komputer B melakukan koneksi http ke komputer A, maka yang akan muncul
pada browser adalah website komputer B itu sendiri. Karena fungsi utama
target ini adalah membalik source address dan destination address.
Target ini bekerja pada chain INPUT, FORWARD dan PREROUTING atau chain buatan yang dipanggil melalui chain tersebut.
|
Beberapa target yang lain biasanya memerlukan parameter tambahan:
a. LOG Target
Ada
beberapa option yang bisa digunakan bersamaan dengan target ini. Yang
pertama adalah yang digunakan untuk menentukan tingkat log. Tingkatan
log yang bisa digunakan adalah debug, info, notice, warning, err, crit,
alert dan emerg.Yang kedua adalah -j LOG --log-prefix yang digunakan
untuk memberikan string yang tertulis pada awalan log, sehingga
memudahkan pembacaan log tersebut.
iptables –A FORWARD –p tcp –j LOG --log-level debug
iptables –A INPUT –p tcp –j LOG --log-prefix “INPUT Packets”
b. REJECT Target
Secara
umum, REJECT bekerja seperti DROP, yaitu memblok paket dan menolak
untuk memproses lebih lanjut paket tersebut. Tetapi, REJECT akan
mengirimkan error message ke host pengirim paket tersebut. REJECT
bekerja pada chain INPUT, OUTPUT dan FORWARD atau pada chain tambahan
yang dipanggil dari ketiga chain tersebut.
iptables –A FORWARD –p tcp –dport 22 –j REJECT --reject-with icmp-host-unreachable
Ada
beberapa tipe pesan yang bisa dikirimkan yaitu icmp-net-unreachable,
icmp-host-unreachable, icmp-port-unreachable, icmp-proto-unrachable,
icmp-net-prohibited dan icmp-host-prohibited.
c. SNAT Target
Target
ini berguna untuk melakukan perubahan alamat asal dari paket (Source
Network Address Translation). Target ini berlaku untuk tabel nat pada
chain POSTROUTING, dan hanya di sinilah SNAT bisa dilakukan. Jika paket
pertama dari sebuah koneksi mengalami SNAT, maka paket-paket berikutnya
dalam koneksi tersebut juga akan mengalami hal yang sama.
iptables –t nat –A POSTROUTING –o eth0 –j SNAT --to-source 194.236.50.155-194.236.50.160:1024-32000
d. DNAT Target
Berkebalikan
dengan SNAT, DNAT digunakan untuk melakukan translasi field alamat
tujuan (Destination Network Address Translation) pada header dari
paket-paket yang memenuhi kriteria match. DNAT hanya bekerja untuk tabel
nat pada chain PREROUTING dan OUTPUT atau chain buatan yang dipanggil
oleh kedua chain tersebut.
iptables –t nat –A PREROUTING –p tcp –d 15.45.23.67 --dport 80 –j DNAT --to-destination 192.168.0.2
e. MASQUERADE Target
Secara
umum, target MASQUERADE bekerja dengan cara yang hampir sama seperti
target SNAT, tetapi target ini tidak memerlukan option --to-source.
MASQUERADE memang didesain untuk bekerja pada komputer dengan koneksi
yang tidak tetap seperti dial-up atau DHCP yang akan memberi pada kita
nomor IP yang berubah-ubah.
Seperti halnya pada SNAT, target ini hanya bekerja untuk tabel nat pada chain POSTROUTING.
iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE
f. REDIRECT Target
Target
REDIRECT digunakan untuk mengalihkan jurusan (redirect) paket ke mesin
itu sendiri. Target ini umumnya digunakan untuk mengarahkan paket yang
menuju suatu port tertentu untuk memasuki suatu aplikasi proxy, lebih
jauh lagi hal ini sangat berguna untuk membangun sebuah sistem jaringan
yang menggunakan transparent proxy. Contohnya kita ingin mengalihkan
semua koneksi yang menuju port http untuk memasuki aplikasi http proxy
misalnya squid. Target ini hanya bekerja untuk tabel nat pada chain
PREROUTING dan OUTPUT atau pada chain buatan yang dipanggil dari kedua
chain tersebut.
iptables –t nat –A PREROUTING –i eth1 –p tcp --dport 80 –j REDIRECT --to-port