1. TCP
Pengertian TCP
Transmission Control Protocol (TCP) adalah salah satu jenis protokol
yang memungkinkan kumpulan komputer untuk berkomunikasi dan bertukar
data didalam suatu network (jaringan). TCP merupakan suatu protokol
yang berada di lapisan transpor (baik itu dalam tujuh lapis model
referensi OSI atau model DARPA) yang berorientasi sambungan
(connection-oriented) dan dapat diandalkan (reliable).
TCP dipakai untuk aplikasi-aplikasi yang membutuhkan keandalan data.
Awal Keberadaan TCP
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 :
- Terciptanya protokol-protokol umum, DoD memerlukan suatu protokol yg dapat ditentukan untuk semua jaringan.
- Meningkatkan efisiensi komunikasi data.
- Dapat dipadukan dengan teknologi WAN (Wide Area Network) yg telah ada.
- Mudah dikonfigurasikan.
Karakteristik TCP
Karakteristik dari TCP antara lain yaitu :
- Reliable berarti data ditransfer ke tujuannya dalam suatu urutan seperti ketika dikirim.
- Berorientasi sambungan (connection-oriented): Sebelum data dapat
ditransmisikan antara dua host, dua proses yang berjalan pada lapisan
aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih
dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi
TCP (TCP connection termination).
- Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua
host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk.
Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung
full-duplex, maka data pun dapat secara simultan diterima dan dikirim.
Header TCP berisi nomor urut (TCP sequence number) dari data yang
ditransmisikan dan sebuah acknowledgment dari data yang masuk
- Memiliki layanan flow control: Untuk mencegah data terlalu banyak
dikirimkan pada satu waktu, yang akhirnya membuat “macet” jaringan
internetwork IP, TCP mengimplementasikan layanan flow control yang
dimiliki oleh pihak pengirim yang secara terus menerus memantau dan
membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah
pihak penerima untuk memperoleh data yang tidak dapat disangganya
(buffer), TCP juga mengimplementasikan flow control dalam pihak
penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam
pihak penerima.
- Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
- Mengirimkan paket secara “one-to-one“: hal ini karena memang TCP
harus membuat sebuah sirkuit logis antara dua buah protokol lapisan
aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan
pengiriman data secara one-to-many.
Cara Kerja TCP/IP
Adapun langkah-langkah cara kerja dari protokol TCP/IP ini adalah :
- Pertama, datagram dibagi-bagi ke dalam
bagian-bagian kecil yang sesuai dengan ukuran bandwith (lebar frekuensi)
dimana data tersebut akan dikirimkan.
- Pada lapisan TCP, data tersebut lalu
“dibungkus” dengan informasi header yang dibutuhkan. Misalnya seperti
cara mengarahkan data tersebut ke tujuannya, cara merangkai kembali
kebagian-bagian data tersebut jika sudah sampai pada tujuannya, dan
sebagainya.
- Setelah datagram dibungkus dengan header TCP, datagram tersebut dikirim kepada lapisan IP.
- IP menerima datagram dari TCP dan menambahkan headernya sendiri pada datagram tersebut.
- IP lalu mengarahkan datagram tersebut ke tujuannya.
- Komputer penerima melakukan proses-proses perhitungan, ia memeriksa perhitungan checksum yang sama dengan data yang diterima.
- Jika kedua perhitungan tersebut tidak cocok berarti ada error sewaktu pengiriman dan datagram akan dikirimkan kembali.
Kelebihan TCP/IP
Beberapa kelebihan TCP/IP dibandingkan protokol yang lain antara lain:
- TCP/IP adalah protokol yang bisa diarahkan. Artinya ia bisa
mengirimkan datagram melalui rute-rute yang telah ditentukan sebelumnya.
Hal ini dapat mengurangi kepadatan lalu lintas pada jaringan, serta
dapat membantu jika jaringan mengalami kegagalan, TCP/IP dapat
mengarahkan data melalui jalur lain.
- Memiliki mekanisme pengiriman data yang handal dan efisien.
- Bersifat open platform atau platform independent yaitu tidak terikat oleh jenis perangkat keras atau perangkat lunak tertentu.
- Karena sifatnya yang terbuka, TCP/IP bisa mengirimkan data antara
sistem-sistem komputer yang berbeda yang menjalankan pada sistem-sistem
operasi yang berbeda pula.
- TCP/IP terpisah dari perangkat keras yang mendasarinya. Protokol ini
dapat dijalankan pada jaringan Ethernet, Token ring, X.25, dan bahkan
melalui sambungan telepon.
- TCP/IP menggunakan skema pengalamatan yang umum, maka semua sistem dapat mengirimkan data ke alamat sistem yang lain.
Kegunaan TCP
Beberapa kegunaan dari TCP yaitu :
- Menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda
- protokol transport berjalan pada end systems
- 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 (username) dan password,
meskipun banyak juga FTP yg dapat diakses melalui anonymous, lias tidak
berpassword. (lihat RFC 959 untuk spesifikasi FTP)
- 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)
- Computer mail. Digunakan untuk menerapkan sistem elektronik mail.
- 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)
- 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”)
- 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.)
Manajemen Koneksi TCP :
Pada saat Setup Koneksi
- Client mengirimkan kontrol TCP SYN ke server, dengan memberikan sequence number inisial.
- Server menerima TCP SYN, dan membalasnya dengan kontrol SYNACK.
- ACK yang menyatakan telah menerima SYN.
- Mengalokasikan buffer.
- Menghasilkan sequence number untuk ke client.
Pada saat Menutup Koneksi
- Client mengirim kontrol TCP FIN ke server
- Server menerima FIN, dan membalas dengan ACK. Menutup koneksi dan mengirimkan FIN ke client.
- Client menerima FIN dan membalas ACK
- Masuk pada masa menunggu balasan ACK terhadap dari server
- Server menerima ACK dan koneksi tertutup.
Header TCP
Ukuran dari header TCP adalah bervariasi, yang terdiri atas beberapa
field yang ditunjukkan dalam gambar dan tabel berikut. Ukuran TCP header
paling kecil (ketika tidak ada tambahan opsi TCP) adalah 20 byte.
headerTCP-2
Port TCP
Port TCP mampu mengindikasikan sebuah lokasi tertentu untuk menyampaikan
segmen-segmen TCP yang dikirimkan yang diidentifikasi dengan TCP Port
Number. Nomor-nomor di bawah angka 1024 merupakan port yang umum
digunakan dan ditetapkan oleh IANA (Internet Assigned Number Authority).
Tabel berikut ini menyebutkan beberapa port TCP yang telah umum
digunakan.
Port TCP merupakan hal yang berbeda dibandingkan dengan port UDP,
meskipun mereka memiliki nomor port yang sama. Port TCP
merepresentasikan satu sisi dari sebuah koneksi TCP untuk protokol
lapisan aplikasi, sementara port UDP merepresentasikan sebuah antrean
pesan UDP untuk protokol lapisan aplikasi. Selain itu, protokol lapisan
aplikasi yang menggunakan port TCP dan port UDP dalam nomor yang sama
juga tidak harus sama. Sebagai contoh protokol Extended Filename Server
(EFS) menggunakan port TCP dengan nomor 520, dan protokol Routing
Information Protocol (RIP) menggunakan port UDP juga dengan nomor 520.
Jelas, dua protokol tersebut sangatlah berbeda! Karenanya, untuk
menyebutkan sebuah nomor port, sebutkan juga jenis port yang
digunakannya, karena hal tersebut mampu membingungkan (ambigu).
PORTtcp-1
Aplikasi yang Menggunakan TCP
1. World Wide Web
Aplikasi ini pada prinsipnya mirip dengan aplikasi gopher, yakni
penyediaan database yang dapat diakses tidak hanya berupa text, namun
dapat berupa gambar/image, suara, video. penyajiannya pun dapat
dilakukan secara live. Dengan demikian, jenis informasi yang dapat
disediakan sangat banyak dan dapat dibuat dengan tampilan yang lebih
menarik. Hal ini dimungkinkan karena Web menggunakan teknologi
hypertext. Karena itu, protokol yang digunakan untuk aplikasi ini
dikenal dengan nama Hypertext-transfer-protocol (HTTP).
2. Archie
Aplikasi FTP memungkinkan kita mentransfer file dari manapun di seluruh
dunia. Hal itu dengan anggapan bahwa kita telah mengetahui lokasi di
mana file yang kita cari berada. Namun jika kita belum mengetahui di
mana file yang kita cari berada, kita memerlukan aplikasi untuk membantu
kita mencari di mana file tersebut berada.
Cara kerja Archie dapat dijelaskan sebagai berikut. Server Archie secara
berkala melakukan anonymous ftp ke sejumlah FTP Server dan mengambil
informasi daftar seluruh file yang ada pada FTP Server tersebut. Daftar
ini disusun berdasarkan letak file dalam direktori/sub direktori,
sehingga mudah untuk menemukan file tersebut. File-file yang berisi
daftar file tiap FTP Server ini merupakan database dari Archie Server.
Jika ada query ke Archie Server yang menanyakan suatu file, server
mencari dalam daftar tadi dan mengirimkan seluruh jawaban yang berkaitan
dengan file tersebut. Informasi yang diberikan adalah alamat FTP Server
yang memiliki file tersebut dan letak file tersebut dalam struktur
direktori.
3. Wide Area Information Services (WAIS)
WAIS merupakan salah satu servis pada internet yang memungkinkan kita
mencari melalaui materi yang terindeks dan menemukan dokumen/artikel
berdasarkan isi artikel tersebut. Jadi pada dasarnya, WAIS memberikan
layanan untuk mencari artikel yang berisi kata-kata kunci yang kita
ajukan sebagai dasar pencarian.
Aplikasi WAIS biasanya berbasis text. Untuk membuat suatu dokumen dapat
dicari melalaui WAIS Server, harus dibuat terlebih dahulu index dari
dokumen tersebut. Setiap kata dalam dokumen tersebut diurut dan dihitung
jumlahnya. Jika ada query dari client, index akan diperiksa dan
hasilnya, yakni dokumen yang memiliki kata-kata tersebut ditampilkan.
Karena kemungkinan ada banyak dokumen yang memiliki kata-kata yang kita
ajukan, maka beberapa dokumen yang memiliki kata kunci tersebut diberi
skor/nilai. Dokumen yang paling banyak mengandung kata-kata kunci akan
mendapat skor tertinggi. Dengan demikian, user mendapatkan informasi
kemungkinan terbesar dari bebarapa dokumen yang mengandung kumpulan kata
yang diajukannya.
4. FAX di Internet
Mesin FAX sebagai pengirim dan penerima berita tertulis melalaui telepon
saat ini hampir dimiliki oleh semua kantor. Melalaui gateway Internet
FAX, pengiriman FAX dapat dilakukan melalaui e-mail. Gateway akan
menerjemahkan pesan e-mail tersebut dan menghubungi mesin FAX tujuan
melalui jalur telepon secara otomatis. Tentu saja, akses untuk ini
terbatas (private).
2. UDP
Pengertian UDP
UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol
lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal
(unreliable), tanpa koneksi (connectionless) antara host-host dalam
jaringan yang menggunakan TCP/IP.
Karakteristik UDP
Karakteristik dari UDP antara lain, yaitu :
- Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan
tanpa harus dilakukan proses negosiasi koneksi antara dua host yang
hendak berukar informasi.
- Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai
datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol
lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan
terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol
lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan
keandalan mereka masing-masing, atau mengirim pesan secara periodik atau
dengan menggunakan waktu yang telah didefinisikan.
- UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah
protokol lapisan aplikasi atau proses tertentu di dalam sebuah host
dalam jaringan yang menggunakan TCP/IP. HeaderUDP berisi field Source
Process Identification dan Destination Process Identification.
- UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
Kegunaan UDP:
UDP sering digunakan dalam beberapa tugas berikut:
- Protokol yang “ringan” (lightweight): Untuk menghemat sumber daya
memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan
penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi
spesifik dengan saling bertukar pesan. Contoh dari protokol
- Protokol lapisan aplikasi yang mengimplementasikan layanan
keandalan: Jika protokol lapisan aplikasi menyediakan layanan transfer
data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh
TCP pun menjadi tidak ada. Contoh dari protokol seperti ini adalah
Trivial File Transfer Protocol (TFTP) dan Network File System (NFS)
- Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
- Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu
membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka
transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi
dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan
alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP
yang hanya dapat mengirimkan transmisi one-to-one. Contoh: query nama
dalam protokol NetBIOS Name Service.
Kelemahan UDP
- UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data
yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas
yang harus diimplementasikan oleh protokol lapisan aplikasi yang
berjalan di atas UDP.
- UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam
segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena
itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus
mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai
Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana
data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih
besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja
terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim
dengan benar.
- UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
Header UDP
Header UDP diwujudkan sebagai sebuah header dengan 4 buah field memiliki ukuran yang tetap.
Port UDP
Seperti halnya TCP, UDP juga memiliki saluran untuk mengirimkan
informasi antar host, yang disebut dengan UDP Port. Untuk menggunakan
protokol UDP, sebuah aplikasi harus menyediakan alamat IP dan nomor UDP
Port dari host yang dituju. Sebuah UDP port berfungsi sebagai sebuah
multiplexed message queue, yang berarti bahwa UDP port tersebut dapat
menerima beberapa pesan secara sekaligus. Setiap port diidentifikasi
dengan nomor yang unik, seperti halnya TCP, tetapi meskipun begitu, UDP
Port berbeda dengan TCP Port meskipun memiliki nomor port yang sama.
Tabel di bawah ini mendaftarkan beberapa UDP port yang telah dikenal
secara luas.
Kelemahan UDP
- UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data
yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas
yang harus diimplementasikan oleh protokol lapisan aplikasi yang
berjalan di atas UDP.
- UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam
segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena
itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus
mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai
Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana
data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih
besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja
terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim
dengan benar.
- UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
Aplikasi yang Menggunakan UDP:
Digunakan untuk multimedia streaming, yang sangat memberikan toleransi
kehilangan segment cukup baik dan yang sangat tidak sensitive terhadap
kerusakan atau kehilangan segment
Contoh protokol aplikasi yang menggunakan UDP :
- DNS (Domain Name System) 53
- SNMP, (Simple Network Management Protocol) 161, 162
- TFTP (Trivial File Transfer Protocol) 69
- SunRPC port 111.
3. Perbedaan TCP dan UDP
Berbeda dengan TCP, UDP merupakan connectionless dan tidak ada
keandalan, windowing, serta fungsi untuk memastikan data diterima dengan
benar. Namun, UDP juga menyediakan fungsi yang sama dengan TCP, seperti
transfer data dan multiplexing, tetapi ia melakukannya dengan byte
tambahan yang lebih sedikit dalam header UDP.
UDP melakukan multiplexing UDP menggunakan cara yang sama seperti TCP.
Satu-satunya perbedaan adalah transport protocol yang digunakan, yaitu
UDP. Suatu aplikasi dapat membuka nomor port yang sama pada satu host,
tetapi satu menggunakan TCP dan yang satu lagi menggunakan UDP—hal ini
tidak biasa, tetapi diperbolehkan. Jika suatu layanan mendukung TCP dan
UDP, ia menggunakan nilai yang sama untuk nomor port TCP dan UDP.
UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field
sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP
adalah byte tambahan yang lebih sedikit. Di samping itu, UDP tidak
perlu menunggu penerimaan atau menyimpan data dalam memory sampai data
tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh
proses penerimaan dan memory dapat dibebaskan lebih cepat. Pada tabel,
Anda dapat melihat fungsi yang dilakukan (atau tidak dilakukan) oleh UDP
atau TCP.
Labels: Ilmu Pengetahuan dan Berita