Pendalaman TCP/IP dan DNS

TCP/IP merupakan protokol yang paling banyak digunakan dan standar untuk komunikasi di Internet karena memiliki banyak kelebihan. Arsitektur TCP/IP bersifat terbuka sehingga siapapun dapat mengembangkannya. TCP/IP tidak tergantung kepada suatu sistem operasi maupun hardware. TCP/IP saat ini diterapkan di semua sistem operasi dan dapat berjalan di semua hardware jaringan. TCP/IP merupakan protokol yang memiliki fasilitas routing sehingga dapat digunakan pada internetworking. TCP/IP juga merupakan protokol yang handal karena memiliki sistem pengontrol data agar data yang sampai di tempat tujuan benar-benar dalam keadaan baik. Karena kelebihannya tersebut, sangat banyak layanan dan aplikasi yang menggunakan TCP/IP, contohnya yang paling banyak digunakan adalah web. Saat ini terdapat dua versi TCP/IP, yaitu IPv4 (32 bit) dan IPv6 (128 bit). Sistem IPv4 menghasilkan 232 atau 42.949.67.296 namun sudah terpakai lebih dari 85% sehingga dalam waktu yang tidak lama lagi akan diganti dengan IPv6 yang dapat menciptakan lebih banyak alamat.


2.1. Penomoran
Model pengalamatan dalam TCP/IP (IPv4) menggunakan 32 digit bilangan biner yang untuk mempermudah penulisannya diubah ke dalam bentuk empat segmen bilangan desimal yang mana tiap segmen mewakili delapan bit biner sehingga alamat IP berkisar dari 0.0.0.0 sampai 255.255.255.255. Contoh:

167.205.22.123
255.255.255.255

Alamat IP oleh Internic dibagi menjadi lima kelas, yaitu:

kelas A : 1.x.x.x sampai 126.x.x.x
kelas B : 128.0.x.x sampai 191.255.x.x
kelas C : 192.0.0.x sampai 223.255.255.x
kelas D : 224.x.x.x sampai 247.x.x.x
kelas E : 248.x.x.x sampai 255.x.x.x
Kelas D dan E tidak digunakan secara umum. Kelas D digunakan untuk keperluan multicast sedangkan kelas E digunakan untuk riset.

Internic telah menyediakan beberapa alokasi IP yang dapat digunakan secara bebas dalam jaringan lokal dan biasa disebut IP private, yaitu:

10.x.x.x
127.x.x.x
172.x.x.x
192.x.x.x

2.2. Subnetwork
Suatu jaringan yang kecil akan lebih baik kinerjanya daripada jaringan yang besar dan juga memudahkan administrasi. Oleh karena itu jaringan besar biasanya dibagi menjadi jaringan-jaringan kecil. Misalnya jaringan kelas B dengan alokasi IP 156.123.0.0 sampai 156.123.256.256 akan dibagi menjadi jaringan 156.123.0.x, 156.123.1.x, 156.123.2.x, dan seterusnya.

Untuk membedakan jaringan-jaringan yang ada, digunakan alamat jaringan (network address). Alamat jaringan adalah IP pertama dalam alokasi. Jadi jaringan kelas B pada contoh di atas memiliki alamat network 156.123.0.0. Sistem yang sama berlaku juga pada sub jaringannya, misalnya sub jaringan dengan alokasi 156.123.2.x mempunyai alamat network 156.123.2.0. Alamat terakhir pada suatu alokasi disebut IP broadcast (sub jaringan 156.123.2.x mempunyai IP broadcast 156.123.2.255). Jadi sruktur IP address terdiri atas network ID dan host ID. Suatu komputer dengan IP 156.123.2.3 pada jaringan 156.123.2.x akan mempunyai network ID 156.123.2.0 dan host ID 3.

Selain menggunakan alamat network dan broadcast address, identitas jaringan juga ditentukan dengan subnet ID. Berikut ini cara menetukan subnet ID suatu jaringan :

Bit-bit yang berhubungan dengan network ID bernilai satu pada bit-bit subnet ID dan bit-bit sisa di kanan bit-bit ID bernilai nol. Contohnya suatu jaringan 16 komputer dengan alokasi IP 156.123.2.208 sampai 156.123.2.223 akan mempunyai network ID 156.123.2.208. Alamat-alamat IP pada jaringan tersebut memiliki kesamaan sampai bit ke-28 dan baru berbeda pada bit ke-29. Jadi nilai subnet ID pada jaringan tersebut, bit 1 sampai 28 bernilai satu dan bit 29 sampai 32 bernilai 0 sehingga nilai subnet bila didesimalkan 255.255.255.240.

Dengan adanya subnet ID, susunan informasi IP yang disampaikan oleh suatu komputer terdiri atas 64 bit, yaitu bit network ID, 32 bit subnet ID, dan host ID.

2.3. Layer-layer TCP/IP
TCP/IP secara logik terdiri atas beberapa lapisan yang mempunyai fungsi khusus untuk memudahkan implementasinya. Terdapat empat lapisan (layer) dalam TCP/IP, yaitu aplication layer, transport layer, internet layer, dan network interface layer. Setiap layer akan mengganggap data dari layer sebelahnya adalah sebuah data biasa.
Aplication Layer Aplication Layer
Transport Layer Transport Layer
Internet Layer Internet Layer
Network Interface layer Network Interface layer

Dari arah applicaton layer ke bawah setiap melewati satu lapisan, mulai dari transport layer, data ditambah dengan sebuah header. Dan sebaliknya jika data datang dari network interface layer, header dicopot satu persatu ketika naik ke lapisan lain. Gabungan data dengan header disebut datagram.

2.3.1. Aplication layer
Di lapisan ini terdapat aplikasi-aplikasi yang memanfaatkan TCP/IP, misalnya web broser dan FTP server. Agar lapisan Transport layer di bawahnya dapat membedakan aplikasi mana yang akan menerima paket data, setiap aplikasi dalam aplication layer mempunyai nomor port tersendiri. Port di sini dapat diibaratkan pintu-pintu. Pengaturan nomor port dilakukan secara internasional oleh IANA dan dikenal adanya Well Known Port.

2.3.2. Transport layer
Layer ini bertugas mengatur aliran data, analoginya adalah memasukkan surat kedalam amplop dan menuliskan informasi tambahan pada amplop. Terdapat dua komponen pada layer ini, yaitu TCP dan UDP (User Datagram Protokol).
TCP bersifat connection oriented, yaitu dibentuknya hubungan client server sebelum dilakukan pertukaran data. Client pertama kali mengirim paket synchronous (SYN) lalu kemuadian server mengembalikannya dengan sebuah tambahan paket acknowledgement(ACK) dan client membalas dengan mengirim ACK juga. Untuk mengakhiri hubungan, client mengirim paket finish (FIN) yang dibalas dengan ACK oleh server, client mebalas dengan mengirim ACK dan hubungan berakhir.

TCP mempunyai sistem kontrol data yang baik. Data yang yang besar dipecah dan tidak melebihi ukuran maksimum. Setiap paket data diberi nomor urut (sequence number), kode checksum (untuk mengetes kevalidan data) pada data dan header. Paket dikirim secara berurutan dan paket selanjutnya tidak dikirim sebelum ada konfirmasi(ACK) dari penerima bahwa paket sebelumnya sampai dengan keadaan baik. Konfirmasi yang disampaikan berupa permintaan atas paket selanjutnya. Dengan adanya nomor urut tersebut, penerima paket dapat menyusun informasi kembali. Penerima juga memberikan informasi mengenai ukuran data maksimum yang boleh dikirim sesuai kapasitas buffer TCP-nya. Hal ini untuk mencegah komputer yang cepat membanjiri komputer yang lambat.

Header TCP memiliki panjang maksimum 65536 bit dan berisi informasi port asal dan port tujuan (sesuai aplikasi), nomor urut data yang dikirim, acknowledgment number, checksum header, panjang header, ukuran window(buffer), dan checksum data.

UDP memiliki reliabilitas yang lebih rendah daripada TCP. Bersifat connectionless, tidak menggunakn pengurutan data, dan pengiriman ulang. Header UDP berisi informasi port asal dan tujuan, panjang datagram UDP, dan checksum data. Karena tidak reliable, UDP digunakan untuk mengirim data ke beberapa komputer sekaligus (broadcast dan multicast). UDP juga digunakan pada beberapa aplikasi streaming video (video melalui jaringan) yang akan terlalu lambat jika menggunakan TCP.

2.3.3. Internet layer
Lapisan internet layer dapat dianalogikan dengan kantor pos yang hanya bertugas mengirim paket dan tidak peduli dengan isi paket yang dikirim. Di lapisan internet layer terdapat tiga komponen, yaitu IP (internet Protocol), ICMP (Internet Message Control Protocol), dan ARP (Address Resolution Protocol).

IP merupakan komponen utama dalam TCP/IP, bersifat conecctionless dan tidak reliable. IP melakukan usaha sebaik mungkin untuk mengirim paket, namun tidak menjamin paket sampai di tujuan dengan kondisi baik. Setiap datagram IP yang dikirim tidak dipengaruhi oleh datagram yang lain. Header IP berisi informasi versi IP (Ipv4 atau Ipv6), panjang header dalam satuan byte, tipe servis, panjang datagram, informasi pemecahan paket (dimungkinkan adanya perbedaan lebar data jalur-jalur fisik yang dilewati), jumlah maksimum komputer/router yang dilewati (biasa disebut time to live atau TTL, untuk mencegah paket IP terus-menerus berada di jaringan), alamat IP asal dan tujuan, dan opsi-opsi (misalnya router yang harus dilewati).

ICMP bertugas mengirimkan pesan-pesan jika terjadi gangguan di lapisan internet dan transport. Pesan kesalahan yang disampaikan oleh ICMP, misalnya tujuan tidak dapat dicapai, jaringan atau host tujuan tidak tercapai, protokol atau port tujuan tidak ada, dan lompatan antar router sudah melebihi batas. ICMP juga dapat menerima query, misalnya echo dan echo reply untuk mengecek koneksi antara dua host, waktu yang dibutuhkan untuk mencapai suatu host, dan netmask suatu host. Paket ICMP tidak dikirim jika terjadi kegagalan atas suatu paket ICMP dan paket-paket yang bersifat broadcast dan multicast.

ARP adalah komponen yang mencatat nomor hardware network adapter suatu alamat IP pada jaringan lokal. Nomor hardware ini hanya digunakan untuk komunikasi network adapter yang terletak di satu jaringan fisik. Untuk tipe ethernet, nomor hardware terdiri atas 48 bit. Untuk mengetahui nomor hardware suatu IP, ARP mengirim paket ARP request dan host yang IP-nya sesuai dengan permintaan akan mengirim jawabannya. Terdapat juga Reverse ARP (RARP) yang berkebalikan dengan ARP, yaitu menentukan IP dari suatu nomor hardware.

2.3.4. Network Interface Layer
Network interface layer terdiri atas hardware jaringan dan software-software pendukungnya, misalnya driver untuk network adapter. Setiap arsitektur hardware memiliki lebar data yang disebut Maximum Transfer Unit. Untuk ethernet adalah 1500 byte dan untuk PPP adalah 512 byte.

2.4. Routing
Routing pada prinsipnya adalah menemukan jalur terpendek ke tujuan. Routing berjalan pada lapisan internet atau berhubungan dengan IP. Suatu router akan mengecek apakah IP tujuan dari datagram yang diterima adalah IP-nya walaupun nomor hardware tujuan pada paket adalah nomor hardwarenya, jika bukan, router tersebut akan meneruskan (forward) ke host tujuan atau ke router lain. Ada dua kategori routing, yaitu routing statik dan routing dinamis. Pada kategori statik, informasi routing bersifat tetap sedangkan pada kategori dinamik, informasi didapatkan dari router lain dan dapat berubah-ubah sesuai kondisi jaringan.

Informasi pada routing dinamis saling disebarkan oleh setiap router ke router-router tetangganya. Untuk menjalankan routing dinamis digunakan protokol routing yang terbagi atas dua jenis, yaitu interior dan eksterior. Yang digolongkan sebagai interior adalah protokol RIP (Routing Information Protokol) dan OSPF (Open Shortest Path), sedangkan BGP (Border Gateway Protocol) digolongkan sebagai tipe eksterior. Perbedaan antara tipe interior dan eksterior adalah tipe eksterior dirancang untuk bekerja antar autonomous system, sedangkan tipe interior untuk jaringan di dalam suatu autonomous system. Autonomous system adalah jaringan yang berada dalam satu administrasi.

2.4.1. RIP (Routing Information Protocol)
Saat ini terdapat dua versi RIP, yaitu versi 1 dan versi 2. RIP mempunyai cara kerja yang sederhana, yaitu memakai metode vektor jarak. Dengan metode ini, router mencatat lompatan yang dibutuhkan untuk mencapai router lain jika melewati suatu router tetangganya. Jumlah lompatan diberi satuan metrik dengan satu lompatan sama dengan satu metrik.

Contoh:
Router A bertetangga dengan router B dan C. Terdapat router J yang berjarak lima metrik dengan B dan enam metrik dengan C. A yang mendapat informasi mengenai J dari B dan C akan mencatat bahwa untuk mencapai router J, membutuhkan enam lompatan jika melewati B dan tujuh lompatan jika melewati C. Jadi jika ada paket dengan tujuan J, A akan melewatkannya ke B.

Setiap router saling bertukar catatan setiap selang waktu tertentu. Jika jumlah lompatan lebih dari 16, router akan menganggap jaraknya tak hingga dan memilih router default jika ditentukan.

Terbatasnya jumlah hop adalah salah satu kelemahan sistem RIP. Kelemahan yang lain, informasi routing disampaikan secara broadcast sehingga membebani jaringan karena host nonrouter juga dikirimi, namun sudah diperbaharui pada versi dua dengan kemampuan multicast.

Karena bentuk informasi routing yang demikian, adakalanya informasi yang disampaikan dua router tidak sama sehingga menimbulkan routing loop. Contoh routing loop, router A menganggap untuk mencapai router C adalah melewati router B, tetapi router juga menganggap untuk mencapai router C adalah melewati router A. Proses terjadinya routing loop misalnya seperti ini:

Router A, B, dan C saling bertetangga sehingga catatan pada router A dan B untuk mencapai router C:


Router A
ke C : 1
ke C lewat B : 2
Router B
ke C : 1
ke C lewat A: 2


Pada suatu saat, router C mati dan router A mengetahui lebih dahulu daripada router B sehingga catatan untuk router C pada router A dihapus. Sesudah itu terjadi pengiriman data routing dari B yang belum tahu bahwa router C mati sehingga pada router A tercatat kembali “ke C lewat B : 3 (2+1)”. Sesudah itu router B baru menyadari bahwa router C mati dan menghapus data router C namun kemudian datang info routing dari A bahwa “A ke C : 3” sehingga di B terdapat catatan “ke C lewat A : 4”. Router A kembali menyadari bahwa C mati namun kemudian mendapat informasi routing dari B sehingga catatan untuk C muncul kembali, yaitu “ke C lewat B : 5”. Hal ini kan terjadi terus menerus sampai nilai lompatan mencapai 16.

Untuk menghindari hal semacam ini, router dipaksa menyampaikan informasi routing begitu ada perubahan dan tidak menunggu waktu yang telah dijadualkan (triggered update). Selain itu juga digunakan sistem split horizon. Contoh penerapan split horizon :
Router A dan C dihubungkan oleh router B. router B menyampaikan informasi ke A bahwa jaraknya ke C adalah satu dan menyampaikan ke C bahwa jaraknya ke A adalah satu. Sehingga pada A, jarak ke C adalah dua melalui B dan pada C, jarak ke A adalah dua melalui B. Dengan split horizon, router A tidak akan menyampaikan informasi ke B mengenai router C pula dengan C, tidak akan menyampaikan informasi ke B mengenai A.

Jadi pada split horizon, router tidak akan akan mengirim informasi mengenai suatu router kepada router pemberi informasi. Split horizon di atas adalah split horizon normal. Terdapat juga split horizon dengan poisonnus reverse, yaitu router tetap mmberikan informasi mengenai suatu router kepada sumber, tetapi memberikan nilai tidak terhingga. Dengan poisonous reverse, router-router tetap dapat mengetahui bahwa suatu jaringan ada.

2.4.2. Routing link state
Routing link state tidak menyimpan informasi dalam bentuk jumlah lompatan yang diperlukan untuk mencapai suatu host atau network, tetapi menyimpan informasi dengan router manakah suatu host bertetangga dan suatu jalur melalui router mana saja. Contoh iformasi : router A bertetangga dengan router router D dan router K, jalur 3 melalui router 9, router 2, dan router 5. Informasi hanya diberikan ke router-router tetangga dan router penerima mengecek terlebih dahulu apakah informasi yang diberikan isinya baru atau tidak, informasi yang tetap tidak akan disamaikan ke router lain. Informasi pada routing link state disebut Link State Advertisement (LSA). Dari data LSA, router kemudian menyusun diagram pohon yang menunjukkan hubungan antar router kemudian menentukan jalur terpendek untuk mencapai suatu host (shortest path first). Protokol routing yang menggunakan sistem link state adalah OSPF. Dengan menggunakan link state, routing loop dapat dihindari.

OSPF dapat juga menjalankan routing dengan sistem area dan backbone. Setiap area dibatasi oleh router backbone dan router-router backbone harus saling berhubungan. Router-router di dalam area hanya menjalankan routing untuk internal areanya dan tidak mengetahui struktur area yang lain.

2.5. Domain Name Service
DNS adalah cara untuk mempermudah akses terhadap suatu komputer di jaringan global. Dengan berkembangnya World Wild Web, semakin banyak orang yang mengakses host-host di internet dan bertambah juga jumlah host di Internet.

Dalam DNS dikenal adanya Top Level Domain (TLD). Contoh TLD adalah com (commercial), edu (pendidikan), dan mil (militer) sehingga terdapat domain, misalnya apple.com, ibm.com, dan mit.edu. TLD seperti di atas berdasarkan jenis organisasi. Dengan meningkatnya jumlah host, jumlah kata yang terpakai semakin banyak, sehingga menyulitkan untuk mendapat domain dengan kata-kata yang pendek dengan sistem TLD berbasis organisasi. Inggris akhirnya memelopori penggunaan TLD berdasarkan negara, contohnya co.uk dan ac.uk. Banyak negara yang mengikuti sistem baru ini atau menggabungkannya dengan sistem lama. Untuk Indonesia, berakhiran id, misalnya itb.ac.id. catcha.co.id. Singapura menggunakan sistem gabungan, misalnya com.sg dan edu.sg. Biasanya hal ini disesuaikan dengan kenyamanan penyebutan. Untuk TLD berdasar negra, organisasi pengaturnya terdapat di negara yang bersangkutan, misalnya IDNIC untuk Indonesia sedangkan untuk TLD sistem organisasi, pengaturannya dilakukan oleh Internic.

Dalam DNS diperlukan adanya DNS server atau biasa disebut name server yang menyimpan kaitan antara suatu IP dengan nama-nama host. Selain berdasarkan kata-kata, ada juga sistem domain berdasarkan IP yang disebut reverse domain dan mempunyai top level domain “in-addr.arpa”, misalnya IP 156.132.5.x tergabung di domain 5.132.156.in-addr.arpa. “itb.ac.id”, “ee.itb.ac.id”, “id”, dan www.microsoft.com dapat menjadi nama host maupun domain atau biasa disebut zona. Setiap zona harus memiliki setidaknya satu DNS server.

Terdapat dua kategori DNS server, yaitu primary server dan secondary server. Secondary server membentuk zona refresh dengan primary server dan hanya menyalin konfigurasi DNS dari primary server setiap selang waktu tertentu sebagai cadangan jika primary server mengalami gangguan.

Beberapa set konfigurasi yang diperlukan oleh sebuah name server adalah file boot script, file zona termasuk untuk reverse domain, dan file cache untuk server cache-only. File cache adalah rujukan menuju root server global yang menangani domain level atas dan digunakan untuk mengetahui host di luar domain lokal. File cache disediakan oleh Internic. Bagian terpenting pada konfigurasi DNS adalah konfigurasi file zona. Dalam file ini, dicatat kaitan antara alamat IP dengan nama-nama host serta kedudukan hot-host tersebut. Sintak zona file adalah:



Beberapa tipe yang banyak dipakai adalah:



a. IN SOA (Start of Authority)
Untuk mendeklarasikan suatu zona dan pengaturnya. Record ini mutlak diperlukan dalam suatu name server
IN SOA (
serial
refresh
retry
expire
minimum
)
-Zona : Mendefinisikan zona DNS
-Origin : Primary DNS server
-Serial : Nomor seri zona file yang merupakan salah satu acuan bagi secondary server, apakah record yang ada lebih baru. Sebaiknya disesuaikan dengan saat pembuatan file, sintak yang dianjurkan adalah YYYYMMDDHHmm (tahun-bulan-tanggal-jam-menit). Sintak seperti di atas akan membantu dalam melacak perubahan.
-Refresh : Selang waktu untuk secondary server mengecek data di primary server.
-Retry : Lama waktu tunggu bagi secondary server untuk mengulangi pengecekan jika usaha pengecekan sebelumnya gagal.
-Expire : Lama waktu data di secondary server kadaluarsa sejak kegagalan refresh.
-Minimum : nilai time to live untuk semua record.

b. IN A (address)
Untuk menunjukkan IP suatu hostname.
IN A
contoh :
salman.itb.ac.id IN A 167.205.206.100
menunjukkan bahwa host salman.itb.ac.id mempunyai IP 167.205.206.100.

c. IN NS (name server)
Untuk menunjukkan name server yang bertanggung jawab terhadap suatu zona.
IN NS
contoh :
salman.itb.ac.id IN NS 167.205.206.100
salman.itb.ac.id IN NS ns2.itb.ac.id
Menunjukkan bahwa zona salman.itb.ac.id mempunyai name server di alamat 167.205,206.97 dan host ns2.itb.ac.id.

d. IN MX (mail exchanger)
Mail exchanger adalah komputer yang bertugas menyimpan email suatu host atau zona tujuan jika email tersebut tidak dapat sampai ke host atau zona tersebut. Sebuah host atau zona biasanya memiliki beberapa mail exchanger yang satu dengan yang lain dibedakan dengan nomor prioritas, makin kecil nomor prioritas, makin diutamakan.
IN MX
contoh :
salman.itb.ac.id IN MX 10 ns2.itb.ac.id
IN MX 20 mx.itb.ac.id

e. IN CNAME (nick name)
IN CNAME digunakan jika suatu host memiliki nama alias
IN CNAME
contoh :
ftp.salman.itb.ac.id IN CNAME www.salman.itb.ac.id

f. IN PTR (pointer)
Opsi ini digunakan pada reverse domain.
IN PTR
contoh:
untuk reverse domain 2.123.156.in-addr.arpa
1 IN PTR r.salman.itb.ac.id
menunjukkan 156.123.2.1 mempunyai hostname r.salman.itb.ac.id


Read Users' Comments (0)

0 Response to "Pendalaman TCP/IP dan DNS"

Posting Komentar