Rabu, Oktober 22, 2008

TCP / IP

1. Bagaimana awalnya keberadaan TCP/IP ?
Konsep TCP/IP berawal dari kebutuhan DoD (Departement of Defense) AS akan suatu komunikasi di antara berbagai variasi komputer yg telah ada. Komputer-komputer DoD ini seringkali harus berhubungan antara satu organisasi peneliti dg organisasi peneliti lainnya, dan harus tetap berhubungan sehingga pertahanan negara tetap berjalan selama terjadi bencana, seperti ledakan nuklir. Oleh karenanya pada tahun 1969 dimulailah penelitian terhadap serangkaian protokol TCP/IP. Di antara tujuan-tujuan penelitian ini adalah sebagai berikut :

1. Terciptanya protokol-protokol umum, DoD memerlukan suatu protokol yg dapat ditentukan untuk semua jaringan.
2. Meningkatkan efisiensi komunikasi data.
3. Dapat dipadukan dengan teknologi WAN (Wide Area Network) yg telah ada.
4. Mudah dikonfigurasikan.

Tahun 1968 DoD ARPAnet (Advanced Reseach Project Agency) memulai penelitian yg kemudian menjadi cikal bakal packet switching . Packet switching inilah yg memungkinkan komunikasi antara lapisan network (dibahas nanti) dimana data dijalankan dan disalurkan melalui jaringan dalam bentuk unit-unit kecil yg disebut packet*. Tiap-tiap packet ini membawa informasi alamatnya masing-masing yg ditangani dengan khusus oleh jaringan tersebut dan tidak tergantung dengan paket-paket lain. Jaringan yg dikembangkan ini, yg menggunakan ARPAnet sebagai tulang punggungnya, menjadi terkenal sebagai internet. Protokol-protokol TCP/IP dikembangkan lebih lanjut pada awal 1980 dan menjadi protokol-protokol standar untuk ARPAnet pada tahun 1983. Protokol-protokol ini mengalami peningkatan popularitas di komunitas pemakai ketika TCP/IP digabungkan menjadi versi 4.2 dari BSD (Berkeley Standard Distribution) UNIX. Versi ini digunakan secara luas pada institusi penelitian dan pendidikan dan digunakan sebagai dasar dari beberapa penerapan UNIX komersial, termasuk SunOS dari Sun dan Ultrix dari Digital. Karena BSD UNIX mendirikan hubungan antara TCP/IP dan sistem operasi UNIX, banyak implementasi UNIX sekarang menggabungkan TCP/IP. Unit informasi yg mana jaringan berkomunikasi. Tiap-tiap paket berisi identitas (header) station pengirim dan penerima, informasi error-control, permintaan suatu layanan dalam lapisan network, informasi bagaimana menangani permintaan dan sembarang data penting yg harus ditransfer.

2. Apa yg membuat TCP/IP menjadi penting ?
Karena TCP/IP merupakan protokol yg telah diterapkan pada hampir semua perangkat keras dan sistem operasi. Tidak ada rangkaian protokol lain yg tersedia pada semua sistem berikut ini : Novel Netware, Mainframe IBM, Sistem digital VMS, Server Microsoft Windows NT, Workstation UNIX, LinuX, FreeBSD, Personal komputer DOS.

3. Layanan apa saja yg diberikan oleh TCP/IP ?
Berikut ini adalah layanan “tradisional” yg dilakukan TCP/IP :

a) Pengiriman file (file transfer). File Transfer Protokol (FTP) memungkinkan pengguna komputer yg satu untuk dapat mengirim ataupun menerima file ke komputer jaringan. Karena masalah keamanan data, maka FTP seringkali memerlukan nama pengguna (user name) dan password, meskipun banyak juga FTP yg dapat diakses melalui anonymous, alias tidak berpassword. (lihat RFC 959 untuk spesifikasi FTP)
b) Remote login. Network terminal Protokol (telnet) memungkinkan pengguna komputer dapat melakukan log in ke dalam suatu komputer didalam suatu jaringan. Jadi hal ini berarti bahwa pengguna menggunakan komputernya sebagai perpanjangan tangan dari komputer jaringan tersebut.( lihat RFC 854 dan 855 untuk spesifikasi telnet lebih lanjut)
c) Computer mail. Digunakan untuk menerapkan sistem elektronik mail. (lihat RFC 821 dan 822)
d) Network File System (NFS). Pelayanan akses file-file jarak jauh yg memungkinkan klien-klien untuk mengakses file-file pada komputer jaringan jarak jauh walaupun file tersebut disimpan secara lokal. (lihat RFC 1001 dan 1002 untuk keterangan lebih lanjut)
e) remote execution. Memungkinkan pengguna komputer untuk menjalankan suatu program didalam komputer yg berbeda. Biasanya berguna jika pengguna menggunakan komputer yg terbatas, sedangkan ia memerlukan sumber yg banyak dalam suatu system komputer. Ada beberapa jenis remote execution, ada yg berupa perintah-perintah dasar saja, yaitu yg dapat dijalankan dalam system komputer yg sama dan ada pula yg menggunakan “prosedure remote call system”, yg memungkinkan program untuk memanggil subroutine yg akan dijalankan di system komputer yg berbeda. (sebagai contoh dalam Berkeley UNIX ada perintah “rsh” dan “rexec”)
f) name servers. Nama database alamat yg digunakan pada internet (lihat RFC 822 dan 823 yg menjelaskan mengenai penggunaan protokol name server yg bertujuan untuk menentukan nama host di internet.) RFC (Request For Comments) adalah merupakan standar yg digunakan dalam internet, meskipun ada juga isinya yg merupakan bahan diskusi ataupun omong kosong belaka. Diterbitkan oleh IAB (Internet Activities Board) yg merupakan komite independen para peneliti dan profesional yg mengerti teknis, kondisi dan evolusi sistem internet. Sebuah surat yg mengikuti nomor RFC menunjukan status RFC :
S : Standard, standar resmi bagi internet
DS : Draft standard, protokol tahap akhir sebelum disetujui sebagai standar
PS : Proposed Standard, protokol pertimbangan untuk standar masa depan
I : Informational, berisikan bahan-bahan diskusi yg sifatnya informasi
E : Experimental, protokol dalam tahap percobaan tetapi bukan pada jalur standar.
H : Historic, protokol-protokol yg telah digantikan atau tidak lagi dipertimbankan untuk standarisasi.

4. Bagaimana TCP dan IP bekerja ?
Seperti yg telah dikemukakan diatas TCP/IP hanyalah merupakan suatu lapisan protokol(penghubung) antara satu komputer dg yg lainnya dalam network, meskipun ke dua komputer tersebut memiliki OS yg berbeda. Untuk mengerti lebih jauh marilah kita tinjau pengiriman sebuah email. Dalam pengiriman email ada beberapa prinsip dasar yg harus dilakukan. Pertama, mencakup hal-hal umum berupa siapa yg mengirim email, siapa yg menerima email tersebut serta isi dari email tersebut. Kedua, bagaimana cara agar email tersebut sampai pada tujuannya.Dari konsep ini kita dapat mengetahui bahwa pengirim email memerlukan “perantara” yg memungkinkan emailnya sampai ke tujuan (seperti layaknya pak pos). Dan ini adalah tugas dari TCP/IP. Antara TCP dan IP ada pembagian tugas masing-masing.
TCP merupakan connection-oriented, yg berarti bahwa kedua komputer yg ikut serta dalam pertukaran data harus melakukan hubungan terlebih dulu sebelum pertukaran data ( dalam hal ini email) berlangsung. Selain itu TCP juga bertanggung jawab untuk menyakinkan bahwa email tersebut sampai ke tujuan, memeriksa kesalahan dan mengirimkan error ke lapisan atas hanya bila TCP tidak berhasil melakukan hubungan (hal inilah yg membuat TCP sukar untuk dikelabuhi). Jika isi email tersebut terlalu besar untuk satu datagram * , TCP akan membaginya kedalam beberapa datagram. IP bertanggung jawab setelah hubungan berlangsung, tugasnya adalah untuk meroute data packet . didalam network. IP hanya bertugas sebagai kurir dari TCP dalam penyampaian datagram dan “tidak bertanggung jawab” jika data tersebut tidak sampai dengan utuh (hal ini disebabkan IP tidak memiliki informasi mengenai isi data yg dikirimkan) maka IP akan mengirimkan pesan kesalahan ICMP*. Jika hal ini terjadi maka IP hanya akan memberikan pesan kesalahan (error message) kembali ke sumber data. Karena IP “hanya” mengirimkan data “tanpa” mengetahui mana data yg akan disusun berikutnya menyebabkan IP mudah untuk dimodifikasi daerah “sumber dan tujuan” datagram. Hal inilah penyebab banyak paket hilang sebelum sampai kembali ke sumber awalnya. (jelas ! sumber dan tujuannya sudah dimodifikasi) Kalimat Datagram dan paket sering dipertukarkan penggunaanya. Secara teknis, datagram adalah kalimat yg digunakan jika kita hendak menggambarkan TCP/IP. Datagram adalah unit dari data, yg tercakup dalam protokol. ICPM adalah kependekan dari Internet Control Message Protocol yg bertugas memberikan pesan dalam IP. Berikut adalah beberapa pesan potensial sering timbul (lengkapnya lihat RFC 792):

1) Destination unreachable, terjadi jika host,jaringan,port atau protokol tertentu tidak dapat dijangkau.
2) Time exceded, dimana datagram tidak bisa dikirim karena time to live habis.
3) Parameter problem, terjadi kesalahan parameter dan letak oktert dimana kesalahan terdeteksi.
4) Source quench, terjadi karena router/host tujuan membuang datagram karena batasan ruang buffer atau karena datagram tidak dapat diproses.
5) Redirect, pesan ini memberi saran kepada host asal datagram mengenai router yang lebih tepat untuk menerima datagram tsb.
6) Echo request dan echo reply message, pesan ini saling mempertukarkan data antara host.
7) Selain RFC 792 ada juga RFC 1256 yg isinya berupa ICMP router discovery message dan merupakan perluasan dari ICMP, terutama membahas mengenai kemampuan bagi host untuk menempatkan rute ke gateway.

5. Apa itu IP Address?
Internet Protocol (IP) adalah metode atau protokol untuk mengirimkan data ke Internet. Setiap komputer (biasanya disebut host) dalam internet setidaknya harus mempunyai sebuah alamat IP yang unik yang mengidentifikasikan komputer tersebut terhadap komputer yang lainnya. Ketika anda mengirimkan atau menerima data (contoh : email atau website), pesan akan dibagi-bagi menjadi beberapa paket. Setiap paket berisikan IP pengirim dan IP penerima. Gateway yang menerimanya akan langsung mem-forward ke tujuan melalui jalur terbaik yang ditemukan sambil mengingat IP pengirim dan penerima. Karena pesan tersebut terbagi-bagi dalam paket dan bisa jadi diterima tidak secara berurutan di tujuan, IP tidak akan pernah memperhatikan, hanya mengirimkan saja. TCP (Transmission Control Protocol) nantinya yang akan meletakkannya dalam urutan yang benar.