Jumat, 10 Januari 2014

MATERI PRODUKTIF TKJ KELAS XII

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.
clip_image002
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.


clip_image004
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.




clip_image006
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 :
  1. NAT : Secara umum digunakan untuk melakukan Network Address Translation. NAT adalah penggantian field alamat asal atau alamat tujuan dari sebuah paket.
  2. MANGLE : Digunakan untuk melakukan penghalusan (mangle) paket, seperti TTL, TOS dan MARK.
  3. 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